Rename libusb packages and deprecate old API
Summary
Rename libusb to libusb-compat-0.1 and libusbx to libusb1. Do not provide an automated update path for the old libusb build dependency as packages should–and likely can–be updated to use libusb1.
Owner
- Name: Benjamin Berg
- Email: bberg@redhat.com
Current status
- Targeted release: Fedora Linux 35
- Last updated: 2021-03-03
- FESCo issue: #2510
- Tracker bug: #1906540
- Release notes tracker: #613
Detailed Description
Currently we have two related packages:
- libusb: Containing a compatibility layer of the 0.1 API for libusb 1.0
- libusbx: Containing the libusb 1.0 API, where the name "libusbx" derives from a fork that existed for a while
To make it clear that "libusb" should not be used anymore and as "libusbx" does not exist anymore, it makes sense to rename the packages as follows:
- libusb-compat-0.1 (this *is* the upstream name, see https://github.com/libusb/libusb-compat-0.1)
- libusb1
There should be no/few users left for libusb-compat-0.1, but currently some packages are incorrectly using libusb. As such, the idea is to:
- not add the corresponding
Provides:line for the rename tolibusb-compat-0.1-devel - Add
Provides: deprecated()to thelibusb-compat-0.1package
Feedback
Benefit to Fedora
- We adhere more closely to the upstream naming scheme for libusb.
- We begin sunsetting
libusb-compat-0.1(i.e. currentlibusb).
Scope
- Proposal owners:
Create new libusb-compat-0.1 and libusb1 packages based on the current ones.
- Other developers: N/A (not a System Wide Change)
Review any package that uses BuildRequires: libusb-devel. Many of them will be able to switch to libusb1-devel but some may still require the compatibility layer, i.e. libusb-compat-0.1-devel.
- Release engineering: #Releng issue number (a check of an impact with Release Engineering is needed)
- Policies and guidelines: N/A (not needed for this change)
- Trademark approval: N/A (not needed for this Change)
- Alignment with Objectives: N/A
Upgrade/compatibility impact
No impact is expected.
How To Test
No further testing is needed.
User Experience
Dependencies
Contingency Plan
Add Provides: libusb-devel to libusb-compat-0.1-devel if too many packages are not updated.
- Contingency mechanism: (What to do? Who will do it?) N/A (not a System Wide Change)
- Contingency deadline: N/A (not a System Wide Change)
- Blocks release? N/A (not a System Wide Change), Yes/No
- Blocks product? product
Documentation
N/A (not a System Wide Change)
