So - das Problem ist gelöst - quasi sogar auf zwei Wegen ...
... zum einen hätte mir auffallen können, dass die via PKGBUILD installierte libusb-compat in der Version 0.1.12-1 daherkommt und somit neuer ist als die im core-Repository vorhandene Version 0.1.3-2 - offenbar wird lediglich das Paket dazu nicht mehr gepflegt (siehe
https://bugs.archlinux.org/task/23936 ) - ergo wäre die Variante "IgnorePkg = libusb-compat" über die pacman.conf nicht wirklich problematisch gewesen -
und natürlich ist der Threadtitel dann auch falsch ...
... zum anderen geht es auch wie folgt (ich wollte jetzt wissen wie es geht 🙂 ) - möglicherweise "von hinten durch die Brust ins Auge" - ich bitte um Kommentare, wenn es einfacher geht - z.B. was man in den Makefiles anpassen / ergänzen muss um nur scanbd gegen die alternative lib zu kompilieren.
Ich bin wie folgt vorgegangen:
1. Kompilieren & installieren der libusb-compat mit dem originalen PKGBUILD (siehe Link oben, ich musste bei mir generell noch 'arm' in die arch Zeile schreiben - aber das ist hier nicht wichtig).
2. Kompilieren, Installieren und Testen von scanbd - mit der Version 0.1.12-1 funktioniert es ja bekanntermaßen.
3. System updaten (yyuu) - Ergebnis (eben die Warnung, die mich hätte stutzig machen können):
[root@hydra] ~/libusb (2,4G free)# pacman -Syyuu
:: Synchronisiere Paketdatenbanken...
core 37,8 KiB 350K/s 00:00 [##################################################] 100%
extra 421,9 KiB 777K/s 00:01 [##################################################] 100%
community 370,9 KiB 657K/s 00:01 [##################################################] 100%
aur 9,8 KiB 1877K/s 00:00 [##################################################] 100%
:: Starte komplette Systemaktualisierung...
Warnung: libusb-compat: Downgrade von Version 0.1.12-1 zu Version 0.1.3-2
Löse Abhängigkeiten auf...
Suche nach Zwischenkonflikten...
Pakete (1): libusb-compat-0.1.3-2
(...)
4. nochmaliger Test von scanbd - Ergebnis: es funktioniert nicht mehr (mit dem von mir benötigtem epson Backend) - der Scanner wird mit Version 0.1.3-2 nicht mehr erkannt.
5. Kompilieren & installieren der gleichen libusb-compat mit zwei Anpassungen im PKGBUILD ...
# $Id: PKGBUILD 101197 2010-11-28 15:10:38Z tpowa $
# Maintainer: Tobias Powalowski <
tpowa@archlinux.org>
# Contributor: arjan <
arjan@archlinux.org>
pkgname=libusb-compat
-scbd
srcname=libusb
pkgver=0.1.12
pkgrel=1
pkgdesc="Library to enable user space application programs to communicate with USB devices"
arch=('arm' 'i686' 'x86_64')
depends=('sh')
url="
http://libusb.sourceforge.net/"
license=('LGPL')
source=(
ftp://ftp.slackware.at/slackware-11.0/source/l/libusb/libusb-0.1.12.tar.gz)
options=('!libtool')
md5sums=('caf182cbc7565dac0fd72155919672e6')
build() {
cd ${srcdir}/${srcname}-${pkgver}
./configure --prefix=/usr
/local
make
}
package() {
cd ${srcdir}/${srcname}-${pkgver}
make DESTDIR=${pkgdir} install
}
... die bewirken einfach nur, dass zum einen pacman einen eindeutigen Eintrag zu dieser lib in seiner Datenbank hat und zum anderen das die installierten Dateien nicht von der lib aus dem Repository überschrieben werden.
6. erneutes Testen von scanbd - mit einer kleinen Anpassung:
LD_PRELOAD=/usr/local/lib/libusb.so /usr/local/bin/scanbd -df -c /usr/local/etc/scanbd/scanbd.conf
... und siehe - es klappt.