katusha-m247-sc.sh 1.56 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67
#!/bin/sh

TAR="$1"
RETURNTARNAME="$2"

. $(dirname $0)/common.sh

untar_payload()
{
    match=$(grep --text --line-number '^PAYLOAD:$' $1 | cut -d ':' -f 1)
    payload_start=$((match + 1))
    tail -n +$payload_start $1 | tar -zxvf -
}

ROOTDIR=$(pwd)

# Linux-драйвер-сканирования-Катюша-M247.zip
erc unpack $TAR || fatal 
cd * # Linux драйвер сканирования Катюша M247

# Katusha_Scanner_M247_ubuntu64_V110.tar.gz
erc unpack Katusha_Scanner_M247_ubuntu64_*.tar.gz || fatal
rm Katusha_Scanner_M247_ubuntu64_*.tar.gz

cd * # Katusha_Scanner_M247_ubuntu64_V110

# needed to extract deb package
untar_payload LinuxInstaller_x86_64.sh

# sane-1.0-27.x86-64
cd sane*

# check if sane-1.0-27.x86-64.deb exist
DEBNAME="$(echo sane*.deb)"
[ -s "$DEBNAME" ] || fatal

BASENAME=$(basename $DEBNAME deb)
VERSION=$(echo $BASENAME | sed -e 's|sane-||'| sed -e 's|.x86-64.||')
PKGNAME=${PRODUCT}-${VERSION}

# needed because the path contains spaces
mv $DEBNAME $ROOTDIR/$PKGNAME.deb

cd $ROOTDIR

# needed because the control file have issues
erc unpack $PKGNAME.deb || fatal
# avoid cd to deb
rm katusha*.deb
cd katusha*

mv usr/lib/x86_64-linux-gnu/sane usr/lib/
rm -r usr/lib/x86_64-linux-gnu

pushd usr/lib/sane/
ln -s libsane-katusham247.so.1.0.27 libsane-katusham247.so
ln -s libsane-katusham247.so.1.0.27 libsane-katusham247.so.1
rm libsane-katusham247.la
popd

mkdir -p etc/sane.d/dll.d
echo "katusham247" > etc/sane.d/dll.d/katusham247
chmod a+rw etc/udev/rules.d/65-scanner.rules


erc pack $PKGNAME.tar etc usr || fatal
return_tar $PKGNAME.tar