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.1
package
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)