Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 247687 - =dev-libs/libusb-1.0.0 version bump
Summary: =dev-libs/libusb-1.0.0 version bump
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: New packages (show other bugs)
Hardware: x86 Linux
: High enhancement
Assignee: Robin Johnson
URL:
Whiteboard:
Keywords:
: 256933 (view as bug list)
Depends on:
Blocks: 260303
  Show dependency tree
 
Reported: 2008-11-20 11:20 UTC by justXi
Modified: 2009-05-16 09:52 UTC (History)
13 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Ebuild for libusb-0.9.3_beta (libusb-0.9.3_beta.ebuild,628 bytes, text/plain)
2008-11-20 11:20 UTC, justXi
Details
Ebuild for libusb-1.0.0 (libusb-1.0.0.ebuild,532 bytes, text/plain)
2008-12-14 18:47 UTC, justXi
Details
libusb-1.0.0.ebuild (libusb-1.0.0.ebuild,631 bytes, text/plain)
2009-02-08 22:59 UTC, Robert Buchholz (RETIRED)
Details
libusb-0.1.99.ebuild (libusb-0.1.99.ebuild,319 bytes, text/plain)
2009-02-08 23:00 UTC, Robert Buchholz (RETIRED)
Details
dev-libs/libusb-compat/libusb-compat-0.1.0.ebuild (libusb-compat-0.1.0.ebuild,562 bytes, text/plain)
2009-02-08 23:00 UTC, Robert Buchholz (RETIRED)
Details
dev-libs/libusb-1.0.0.ebuild (libusb-1.0.0.ebuild,838 bytes, text/plain)
2009-03-03 08:01 UTC, Tiziano Müller (RETIRED)
Details
dev-libs/libusb-compat-0.1.0.ebuild (libusb-compat-0.1.0.ebuild,689 bytes, text/plain)
2009-03-03 08:02 UTC, Tiziano Müller (RETIRED)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description justXi 2008-11-20 11:20:09 UTC
A new ebuild for the libusb-0.9.3_beta

Reproducible: Always

Steps to Reproduce:
1. compiles fine
Comment 1 justXi 2008-11-20 11:20:52 UTC
Created attachment 172449 [details]
Ebuild for libusb-0.9.3_beta
Comment 2 justXi 2008-12-14 18:47:46 UTC
Created attachment 175266 [details]
Ebuild for libusb-1.0.0
Comment 3 justXi 2008-12-14 18:48:27 UTC
compiles and installs fine.
Comment 4 Kevin Bowling 2008-12-14 23:34:51 UTC
Maybe it is time to start discussion on migration to libusb-1.0.0 with the compat layer for 0.1?
Comment 5 Robert Buchholz (RETIRED) gentoo-dev 2009-02-08 22:05:08 UTC
*** Bug 256933 has been marked as a duplicate of this bug. ***
Comment 6 Robert Buchholz (RETIRED) gentoo-dev 2009-02-08 22:59:47 UTC
Created attachment 181401 [details]
libusb-1.0.0.ebuild

Ebuild including compat dependencies
Comment 7 Robert Buchholz (RETIRED) gentoo-dev 2009-02-08 23:00:34 UTC
Created attachment 181404 [details]
libusb-0.1.99.ebuild

Meta ebuild providing SLOT 0 (since we cannot provide two slots).
Comment 8 Robert Buchholz (RETIRED) gentoo-dev 2009-02-08 23:00:52 UTC
Created attachment 181406 [details]
dev-libs/libusb-compat/libusb-compat-0.1.0.ebuild

The actual compat ebuild
Comment 9 Tiziano Müller (RETIRED) gentoo-dev 2009-03-03 08:01:59 UTC
Created attachment 183746 [details]
dev-libs/libusb-1.0.0.ebuild

why so complicated?

Adding libusb-1.0.0 with a +compat USE flag and a PDEPEND on dev-libs/libusb-compat seems to work perfectly here (tested with hal and usbutils so far).
Comment 10 Tiziano Müller (RETIRED) gentoo-dev 2009-03-03 08:02:32 UTC
Created attachment 183747 [details]
dev-libs/libusb-compat-0.1.0.ebuild
Comment 11 Robert Buchholz (RETIRED) gentoo-dev 2009-03-03 11:35:53 UTC
(In reply to comment #9)
> Created an attachment (id=183746) [edit]
> dev-libs/libusb-1.0.0.ebuild
> 
> why so complicated?

My intention was to allow ebuilds to depend on SLOT=0 meaning they either need the original libusb or newer libusb with compat support. Using only the useflag the DEPEND string will be more complicated. 
Comment 12 Tiziano Müller (RETIRED) gentoo-dev 2009-03-03 18:15:01 UTC
So you'd just use DEPEND="dev-libs/libusb:0" if either libusb-0 or libusb-compat is needed and DEPEND="dev-libs/libusb:1" otherwise?

The problem is that according to upstream even though libusb-compat is mostly compatible to libusb-0 there may be apps which don't work with libusb-compat due to changed behaviour when interrupting transfers. So we probably need some testing anyway. In case an app works we'd use "|| ( <=dev-libs/libusb-0* dev-libs/libusb-compat )" or ">=dev-libs/libusb-1" otherwise.

Here's a list of revdeps for libusb:

app-accessibility/brltty
app-accessibility/gok
app-crypt/asedriveiiie-serial
app-crypt/asedriveiiie-usb
app-crypt/asekey
app-crypt/ccid
app-crypt/gnupg
app-misc/acdctl
app-misc/digitemp
app-misc/g15daemon
app-misc/ifp-line
app-misc/lcd4linux
app-misc/lcdproc
app-misc/lirc
app-misc/logitech-applet
app-misc/razertool
app-misc/rioutil
app-mobilephone/bitpim
app-mobilephone/gnokii
app-mobilephone/moto4lin
app-mobilephone/obex-data-server
app-mobilephone/openmoko-dfu-util
app-pda/barry
app-pda/coldsync
app-pda/pilot-link
app-text/calibre
dev-embedded/avrdude
dev-embedded/ftdi_eeprom
dev-embedded/libftdi
dev-embedded/openocd
dev-embedded/pk2cmd
dev-libs/cyberjack
dev-libs/libg15
dev-libs/libhid
dev-libs/luise-bin
dev-libs/openct
dev-libs/openobex
dev-libs/serdisplib
dev-util/usb-robot
kde-base/kcontrol
kde-base/kdebase
kde-base/systemsettings
media-gfx/gphoto2
media-gfx/iscan
media-gfx/sane-backends
media-libs/hamlib
media-libs/libdjconsole
media-libs/libgphoto2
media-libs/libifp
media-libs/libkarma
media-libs/libmtp
media-libs/libnjb
media-libs/libptp2
media-sound/ardour
media-tv/linuxtv-dvb-apps
media-video/isight-firmware-tools
net-dialup/umtsmon
net-misc/zaptel
net-print/hplip
net-print/mtink
net-wireless/bluez
net-wireless/bluez-utils
net-wireless/wispy-tools
sci-geosciences/gpsbabel
sci-geosciences/qlandkarte
sci-libs/indilib
sci-libs/libticables2
sys-apps/hal
sys-apps/ifd-gempc
sys-apps/lomoco
sys-apps/pcsc-lite
sys-apps/usb_modeswitch
sys-apps/usbutils
sys-auth/thinkfinger
sys-fs/owfs
sys-libs/libchipcard
sys-power/nut
sys-power/sispmctl
x11-misc/ifpgui
xfce-extra/xfce4-cellmodem
Comment 13 Robert Buchholz (RETIRED) gentoo-dev 2009-03-03 18:36:29 UTC
(In reply to comment #12)
> So you'd just use DEPEND="dev-libs/libusb:0" if either libusb-0 or
> libusb-compat is needed and DEPEND="dev-libs/libusb:1" otherwise?

Maybe I am missing something, but how would libusb-1[compat] fulfill the :0 requirement? As far as I remember, changing SLOT based on a use flag is not allowed, and providing two SLOTs does not work as well. That is why I attached two libusb ebuilds (one to provide SLOT 0 and depend on libusb-compat and one that is SLOT 1 and provides the actual code).

As far as the rest of your plan goes, that is a good idea!
Comment 14 Alin Năstac (RETIRED) gentoo-dev 2009-05-09 10:21:12 UTC
Is this bug going to be solved any time soon? If not, I will bump gammu w/o libusb-1.0 support.
Comment 15 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2009-05-09 22:04:12 UTC
mrness: I haven't seen any further discussion between rbu and dev-zero as to which approach would actually work.
Comment 16 Robert Buchholz (RETIRED) gentoo-dev 2009-05-10 20:41:06 UTC
dev-zero and I discussed this back in March and never documented the outcome of it. I hope I am not misquoting Tiziano, but we came up with this solution:

* keep libusb:0 ebuilds as they are
* bump libusb-1.0.0 in the tree with the :1 SLOT
* add libusb-compat-0.1.0 ebuild to the tree that depends on libusb:1

Then, add
* virtual/libusb:0 with DEPEND="|| ( dev-libs/libusb:0 dev-libs/libusb-compat )"
* virtual/libusb:1 with DEPEND="dev-libs/libusb:1"


and change DEPEND strings of all ebuilds that are in the tree.
We also discussed a virtual/libusb-compat but that seems to be a less clean solution than a properly slotted virtual.
Comment 17 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2009-05-14 23:36:03 UTC
All done:
virtual/libusb-{0,1}
dev-libs/libusb-compat
dev-libs/libusb-1*

Remaining:
Fixing up all existing libusb dependancies to libusb:0 for now, and then testing every single one manually.
Comment 18 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2009-05-15 00:22:22 UTC
rbu/dev-zero: one thing I saw in the previous attachments here, but not in the latest one, is that libusb-compat-0* blocked libusb-0*. I didn't include it since it wasn't in your latest ebuilds, but I'm wondering if we do need it.

See also my mail to -dev about migration.
Comment 19 Florian GYS 2009-05-15 09:48:35 UTC
Hi,

Just sync my portage, and dev-libs/libusb-1.0.1 was there...but now sys-apps/usbutils-0.82 won't compile anymore:

checking for LIBUSB... configure: error: Package requirements (libusb >= 0.1.12) were not met:

No package 'libusb' found

Consider adjusting the PKG_CONFIG_PATH environment variable if you
installed software in a non-standard prefix.

Alternatively, you may set the environment variables LIBUSB_CFLAGS
and LIBUSB_LIBS to avoid the need to call pkg-config.
See the pkg-config man page for more details.

Should I talk about this here, or create a separated bug report for usbutils?
 
Comment 20 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2009-05-15 10:12:37 UTC
florian: usbutils is fixed already.

To clarify from my email:
1. By testing, I mean that the applications needs to be run.
2. Recompiling is NOT needed when switching from libusb-0* to libusb-compat.
Comment 21 Tiziano Müller (RETIRED) gentoo-dev 2009-05-15 10:35:23 UTC
Robbat, yes that blocker is needed: Since libusb-compat installs the same stuff as libusb:0 does, libusb:0 needs a blocker on libusb-compat and vice-versa.
Comment 22 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2009-05-15 10:55:32 UTC
dev-zero: libusb-compat/libusb:0 block each other now.
Comment 23 Torsten Kaiser 2009-05-15 17:16:33 UTC
> usbutils is fixed already.

Sorry to say this: No, its not.
The changed usbutils ebuilds depend on virtual/libusb:0, but both virtual/libusb-0 and virtual/libusb-1 are SLOT 0, so the need for libusb-compat is not visible for portage.

Trying to revdep-rebuild the system after the removal of libusb-0.1.12-r5 the emerge of sys-apps/usbutils-0.82 and media-libs/libgphoto2-2.4.4 failed.

After manually installing libusb-compat the emerge of libgphoto2 worked, so just changing the dependencies of that ebuild should work.
Comment 24 Arfrever Frehtes Taifersar Arahesis (RETIRED) gentoo-dev 2009-05-15 19:07:49 UTC
(In reply to comment #23)

Fixed.
Comment 25 Robin Johnson archtester Gentoo Infrastructure gentoo-dev Security 2009-05-16 09:52:18 UTC
I've opened bug 270039 as a tracker for the package changes needed in the tree (and I fixed a number of the popular packages already).

Closing this bug now, since it this is actually in the tree.