Peter Thoms
2022-07-30 14:37:46 UTC
Hallo,
unter
https://www.canon.de/support/consumer_products/products/fax__multifunctionals/inkjet/pixma_ts_series/pixma_ts705a.html?type=drivers&driverdetailid=tcm:83-1821460&os=&language=
bekommt man folgenden Linux-Treiber für Debian und RPM angeboten
https://gdlp01.c-wss.com/gds/3/0100010273/01/cnijfilter2-source-5.80-1.tar.gz
$ rpmbuild -tb cnijfilter2-source-5.80-1.tar.gz
+++
Falls im weiteren Verlauf eine fehlende libusb.h angemäkelt wird,
einfach einen kleinen Ausflug zur Installation der libusb-1_0-devel
einlegen:
$ sudo zypper install libusb-1_0-devel
+++
Zügig gehts weiter mit der vorgesehenen install.sh
$
/usr/src/packages/BUILD/cnijfilter2-source-5.80-/scripts/install_rpm/install.sh
Leider kommt es im weiteren Verlauf zur Fehlermeldung:
"
==================================================
Canon Inkjet Printer Driver
Version 5.80
Copyright CANON INC. 2001-2019
==================================================
An error occurred. A necessary package could not be found in the proper
location.
Offenbar wird der Verzeichnispfad "C_pkg_path" nicht richtig bezeichnet.
Dazu der Auszug der "install.sh"
...
L_INST_COM_01_03="An error occurred. A necessary package could not be
found in the proper location.\n"
...
############################
### Check file structure ###
############################
## Get full path of script and packages ##
C_pkg_path=`echo $(dirname $0)`/packages
if [ ! -d $C_pkg_path ]; then
###
# ---> Ausstieg zur o.a. Fehlermeldung:
###
printf "$L_INST_COM_01_03"
exit
fi
## Count total files and check the filename ##
C_file_cnt=0
C_files=$C_pkg_path/*${C_arch}*
for filename in $C_files; do
if [ $filename != $C_pkg_path ]; then
# Count number of C_files #
C_file_cnt=`expr $C_file_cnt + 1`
fi
done
## Check number of C_files ##
if [ $C_file_cnt -ne 1 ]; then
printf "$L_INST_COM_01_03"
exit
fi
## Recheck package names ##
C_pkgname_common=$C_main_module
if [ $C_system = "rpm" ]; then
C_fpath_common=$C_pkg_path/$C_pkgname_common-$C_version.$C_arch.$C_system
else
C_fpath_common=$C_pkg_path/${C_pkgname_common}_${C_version}_$C_arch.$C_system
fi
## Check having common and depend package files ##
if [ ! -f $C_fpath_common ]; then
printf "$L_INST_COM_01_03"
exit
fi
...
Eine Abfrage kommt zu folgendem Ergebnis:
$ dirname $0
$ /bin
$
Von der Scriptzeile
"C_pkg_path=`echo $(dirname $0)`/packages"
Welches Verzeichnis "/bin" der Script-Zeile
könnte gemeint sein, etwa das im Root?
Aber dort gibt es kein "/packages"
Was ich sehr wohl hätte, das wäre das Verzeichnis
$ /usr/src/packages
Frage:
======
Was müsste an den drei If-Abfragen in "install.sh" am Wert "C_pkg_path"
schrauben?
Peter
unter
https://www.canon.de/support/consumer_products/products/fax__multifunctionals/inkjet/pixma_ts_series/pixma_ts705a.html?type=drivers&driverdetailid=tcm:83-1821460&os=&language=
bekommt man folgenden Linux-Treiber für Debian und RPM angeboten
https://gdlp01.c-wss.com/gds/3/0100010273/01/cnijfilter2-source-5.80-1.tar.gz
$ rpmbuild -tb cnijfilter2-source-5.80-1.tar.gz
+++
Falls im weiteren Verlauf eine fehlende libusb.h angemäkelt wird,
einfach einen kleinen Ausflug zur Installation der libusb-1_0-devel
einlegen:
$ sudo zypper install libusb-1_0-devel
+++
Zügig gehts weiter mit der vorgesehenen install.sh
$
/usr/src/packages/BUILD/cnijfilter2-source-5.80-/scripts/install_rpm/install.sh
Leider kommt es im weiteren Verlauf zur Fehlermeldung:
"
==================================================
Canon Inkjet Printer Driver
Version 5.80
Copyright CANON INC. 2001-2019
==================================================
An error occurred. A necessary package could not be found in the proper
location.
Offenbar wird der Verzeichnispfad "C_pkg_path" nicht richtig bezeichnet.
Dazu der Auszug der "install.sh"
...
L_INST_COM_01_03="An error occurred. A necessary package could not be
found in the proper location.\n"
...
############################
### Check file structure ###
############################
## Get full path of script and packages ##
C_pkg_path=`echo $(dirname $0)`/packages
if [ ! -d $C_pkg_path ]; then
###
# ---> Ausstieg zur o.a. Fehlermeldung:
###
printf "$L_INST_COM_01_03"
exit
fi
## Count total files and check the filename ##
C_file_cnt=0
C_files=$C_pkg_path/*${C_arch}*
for filename in $C_files; do
if [ $filename != $C_pkg_path ]; then
# Count number of C_files #
C_file_cnt=`expr $C_file_cnt + 1`
fi
done
## Check number of C_files ##
if [ $C_file_cnt -ne 1 ]; then
printf "$L_INST_COM_01_03"
exit
fi
## Recheck package names ##
C_pkgname_common=$C_main_module
if [ $C_system = "rpm" ]; then
C_fpath_common=$C_pkg_path/$C_pkgname_common-$C_version.$C_arch.$C_system
else
C_fpath_common=$C_pkg_path/${C_pkgname_common}_${C_version}_$C_arch.$C_system
fi
## Check having common and depend package files ##
if [ ! -f $C_fpath_common ]; then
printf "$L_INST_COM_01_03"
exit
fi
...
Eine Abfrage kommt zu folgendem Ergebnis:
$ dirname $0
$ /bin
$
Von der Scriptzeile
"C_pkg_path=`echo $(dirname $0)`/packages"
Welches Verzeichnis "/bin" der Script-Zeile
könnte gemeint sein, etwa das im Root?
Aber dort gibt es kein "/packages"
Was ich sehr wohl hätte, das wäre das Verzeichnis
$ /usr/src/packages
Frage:
======
Was müsste an den drei If-Abfragen in "install.sh" am Wert "C_pkg_path"
schrauben?
Peter