From Fedora Project Wiki

< Changes

Revision as of 16:29, 3 December 2020 by Benzea (talk | contribs) (More adjustments to get consistent names.)


Rename libusb packages and deprecated 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

Current status

  • Targeted release: Fedora 34
  • Last updated: 2020-12-03
  • FESCo issue: #2510
  • Tracker bug: <will be assigned by the Wrangler>
  • Release notes tracker: <will be assigned by the Wrangler>

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:

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 to libusb-compat-0.1-devel
  • Add Provides: deprecated() to the libusb-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. current libusb).


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.

  • 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)

Release Notes