Spec file: https://ueno.fedorapeople.org/libunistring1.0/libunistring1.0.spec SRPM: https://ueno.fedorapeople.org/libunistring1.0/libunistring1.0-1.0-1.fc37.src.rpm Description: This portable C library implements Unicode string types in three flavours: (UTF-8, UTF-16, UTF-32), together with functions for character processing (names, classifications, properties) and functions for string processing (iteration, formatted output, width, word breaks, line breaks, normalization, case folding and regular expressions). This version of libunistring package contains only the library from the 1.0 version and is provided for compatibility with previous versions. See also: https://pagure.io/releng/issue/11175
A diff from libunistring witch my inlined comments. --- libunistring.spec 2023-01-24 13:14:10.423026317 +0100 +++ libunistring1.0.spec 2023-01-24 13:14:07.795011951 +0100 @@ -1,11 +1,13 @@ +%bcond_with devel + I suppose a disabled devel bcond makes sense if we want people to be able to install the lib but not compile against it. +1 # This spec file has been automatically updated -Version: 1.1 -Release: %{?autorelease}%{!?autorelease:1%{?dist}} -Name: libunistring -Summary: GNU Unicode string library +Version: 1.0 +Release: 1%{?dist} I'd keep using %autorelease here as well, but not a big deal. +Name: libunistring1.0 +Summary: Compatibility version of GNU Unicode string library Ack. Please also add: Conflicts: libunistring < 1.1 (as the libunistring package has overlapping files in that version). License: GPLv2+ or LGPLv3+ New packages MUST use SPDX license identifiers, please update both packages while doing so. URL: https://www.gnu.org/software/libunistring/ -Source0: https://ftp.gnu.org/gnu/libunistring/%{name}-%{version}.tar.xz +Source0: https://ftp.gnu.org/gnu/libunistring/libunistring-%{version}.tar.xz Ack. BuildRequires: gcc BuildRequires: make Provides: bundled(gnulib) Consider providing deprecated() here as well. @@ -15,17 +17,23 @@ (UTF-8, UTF-16, UTF-32), together with functions for character processing (names, classifications, properties) and functions for string processing (iteration, formatted output, width, word breaks, line breaks, normalization, -case folding and regular expressions). +case folding and regular expressions). This version of libunistring package +contains only the library from the 1.0 version and is provided for compatibility +with previous versions. I am not a native speaker but the sentence sounds weird to me, how about: This package contains the libunistring library version 1.0 and is intended for compatibility reasons only. Users are advised to update to a newer version of libunistring. +%if %{with devel} %package devel Summary: GNU Unicode string library - development files Requires: %{name}%{?_isa} = %{version}-%{release} +Conflicts: libunistring-devel +Provides: deprecated() %description devel Development files for programs using libunistring. +%endif Please update the summary and description of the devel package (just in case it will need to be enabled). %prep -%autosetup +%autosetup -n libunistring-%{version} Ack. %build %configure --disable-static --disable-rpath @@ -41,8 +49,9 @@ %files %license COPYING COPYING.LIB %doc AUTHORS NEWS README -%{_libdir}/%{name}.so.5* +%{_libdir}/%{name}.so.* I'd hardcode the old version here, to be safe. +%if %{with devel} %files devel %doc HACKING DEPENDENCIES THANKS ChangeLog %doc __doc/* @@ -50,8 +59,11 @@ %{_libdir}/%{name}.so %{_includedir}/unistring %{_includedir}/*.h +%endif %ldconfig_scriptlets This could possibly be removed, but no big deal. %changelog -%autochangelog +* Tue Jan 24 2023 Daiki Ueno <dueno> - 1.0-1 +- Create compat package for libunistring 1.1 ABI bump + What about: - Initial compatibility package with libunistring 1.0 ------------------ Note that compatibility packages don't need a formal review, so treat my comments as recommendations/suggestions and feel free to request the repo: fedpkg request-repo libunistring1.0 --exception (--no-initial-commit) Use --no-initial-commit if you want to push the git history of https://src.fedoraproject.org/rpms/libunistring/tree/f37
Thanks Miro, I've incorporated the suggested changes and confirmed it builds in mock. Will request a repo soon.
The package has been built in rawhide.