From Fedora Project Wiki

Revision as of 20:10, 24 November 2020 by Bcotton (talk | contribs) (Announcing the Change proposal)


Rename libusb packages and deprecated old API

Summary

Rename libusb to libusb-compat 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-11-24
  • FESCo issue: <will be assigned by the Wrangler>
  • 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:

  • libusb-compat
  • libusb1

In order to ensure that no package is depending on the old libusb (i.e. libusb-compat) without a good reason, the plan is to not add the corresponding Provides: line for the libusb-compat-devel rename.

Feedback

Benefit to Fedora

  • We adhere more closely to the upstream naming scheme for libusb.
  • We begin sunsetting libusb-compat (i.e. current libusb).


Scope

  • Proposal owners:

Create new libusb-compat 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-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-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