Re: proposed recommendation - missing devel packages

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



That looks great, and very close to what I've done.
I have a couple of variations.
I think the biggest is that I set a variable called rhel_name and then change %{name} to %{rhel_name}.  It looks like you only had two instances of %{name} but I've had a couple with many instances of it, and this makes it easier.
The second is that I usually put a link to the upstream spec file, in comments.  I use the CentOS Stream git repo, because it's publicly available.  This is mainly for me, cuz I never know where to find them.
So, this is at the top of my spec files.

# This spec file is derived from the RHEL8 spec file.
#   They should be kept in sync over time.
# https://git.centos.org/rpms/libpinyin/blob/c8/f/SPECS/libpinyin.spec
%global rhel_name libpinyin
%global _debugsource_template %{nil}

But, that's just my preferences.  I think yours should be fine.

I'm thinking we might want to break this out from a question in the FAQ to it's own page.

Troy


On Wed, Sep 22, 2021 at 8:42 PM Orion Poplawski <orion@xxxxxxxx> wrote:
On 7/1/21 4:05 PM, Troy Dawson wrote:
> I believe this is a recommendation, versus a policy.
> I wanted to get people's thoughts on it, and if ya'll like it, put it in
> the documentation.
> ----
> In Red Hat Enterprise Linux (RHEL) 8, Red Hat decided to not ship all
> packages that are built from RHEL spec files.  This will also be true of
> RHEL 9, and possibly future RHEL releases.  These missing packages are
> usually -devel packages and may impact an EPEL package build.
> If your EPEL package is impacted by a missing -devel package, do the
> following.
>
> 1 - Request the package be added to RHEL 8 and 9 CRB repository.
> -- To initiate this process, please file a bug in
> https://bugzilla.redhat.com <https://bugzilla.redhat.com> and request it
> be added to RHEL 8 and 9. Report the bug against the "CentOS Stream"
> version of the "Red Hat Enterprise Linux 8" and/or "Red Hat Enterprise
> Linux 9" product.
> -- Be sure to say that it is impacting an EPEL build, and which package
> it is impacting.
>
> 2 - Create an epel package that only has the missing packages.
> -- Be prepared to maintain this package as long as it is needed.
> -- It is recommended that you name it <package>-epel
> -- It is recommended that you add the epel-packaging-sig group as a
> co-maintainer
> -- It qualifies for an exception to the review process[1] so you can
> request the repo with
> --- fedpkg request-repo --exception <package>-epel
> -- If you need help building this, ask for help.  We have some examples.
>
> 3 - When/If the missing package(s) are added to RHEL CRB, retire your
> -epel package.
>
> ---
> Sorry, this is a little rushed.  I wanted to get something out sooner,
> rather than later.
>
> Troy

So, I've decided to try this with utf8proc.  I've requested the
utf8proc-epel package and now requested an epel8 branch (and will retire
the rawhide branch).

These are the changes I have made, does this seem correct?  Notes on
changes:

* We are not shipping binaries, so need to disable the debug package
* Need to change Name and %{name}
* Need to explicitly name the devel package
* Need to use relative Requires for the main package.  Both to allow
RHEL to update and (in this case) to deal with module release tags
* Remove the files installed for the main package
* Remove %files and %post* for the main package
* Add %changelog entry

--- SPECS/utf8proc.spec 2021-09-22 21:24:59.304665646 -0600
+++ /export/home/orion/fedora/utf8proc-epel/utf8proc-epel.spec
2021-09-22 21:32:01.568719918 -0600
@@ -1,11 +1,13 @@
+%global debug_package %{nil}
+
  Summary: Library for processing UTF-8 encoded Unicode strings
-Name:    utf8proc
+Name:    utf8proc-epel
  Version: 2.1.1
  Release: 5%{?dist}
  License: Unicode and MIT
  Group:   System Environment/Libraries
  URL:     http://julialang.org/utf8proc/
-Source:
https://github.com/JuliaLang/utf8proc/archive/v%{version}.tar.gz#/%{name}-v%{version}.tar.gz
+Source:
https://github.com/JuliaLang/utf8proc/archive/v%{version}/utf8proc-%{version}.tar.gz
  BuildRequires: gcc

  %description
@@ -21,12 +23,12 @@

  This package only contains the C library.

-%package devel
+%package -n utf8proc-devel
  Summary:  Header files, libraries and development documentation for
%{name}
  Group:    Development/Libraries
-Requires: %{name}%{?_isa} = %{version}-%{release}
+Requires: utf8proc%{?_isa} >= %{version}-%{release}

-%description devel
+%description -n utf8proc-devel
  Contains header files for developing applications that use the %{name}
  library.

@@ -35,7 +37,7 @@
  strings, unless you want to allocate memory yourself.

  %prep
-%setup -qn %{name}-%{version}
+%setup -qn utf8proc-%{version}
  # Disable slow tests and tests which require network access
  sed -i '/-C bench/d;/\ttest.* data/d' Makefile
  touch data/NormalizationTest.txt data/GraphemeBreakTest.txt
  touch data/NormalizationTest.txt data/GraphemeBreakTest.txt
@@ -50,19 +52,16 @@
  %install
  make install DESTDIR=%{buildroot} prefix=%{_prefix}
includedir=%{_includedir} libdir=%{_libdir}
  rm %{buildroot}%{_libdir}/libutf8proc.a
+rm %{buildroot}%{_libdir}/libutf8proc.so.*

-%post -p /sbin/ldconfig
-%postun -p /sbin/ldconfig
-
-%files
-%doc LICENSE.md NEWS.md README.md
-%{_libdir}/libutf8proc.so.*
-
-%files devel
+%files -n utf8proc-devel
  %{_includedir}/utf8proc.h
  %{_libdir}/libutf8proc.so

  %changelog
+* Wed Sep 22 2021 Orion Poplawski <orion@xxxxxxxx> - 2.1.1-5
+- EPEL -devel only package
+
  * Mon Aug 05 2019 Lubos Uhliarik <luhliari@xxxxxxxxxx> - 2.1.1-5
  - Resolves: #1696354 - Ensure modular RPM upgrade path


Comments?

--
Orion Poplawski
he/him/his - surely the least important thing about me
Manager of NWRA Technical Systems          720-772-5637
NWRA, Boulder/CoRA Office             FAX: 303-415-9702
3380 Mitchell Lane                       orion@xxxxxxxx
Boulder, CO 80301                 https://www.nwra.com/

_______________________________________________
epel-devel mailing list -- epel-devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to epel-devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/epel-devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure
_______________________________________________
epel-devel mailing list -- epel-devel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to epel-devel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/epel-devel@xxxxxxxxxxxxxxxxxxxxxxx
Do not reply to spam on the list, report it: https://pagure.io/fedora-infrastructure

[Index of Archives]     [Fedora Announce]     [Fedora News]     [Fedora Cloud]     [Fedora Advisory Board]     [Fedora Education]     [Fedora Security]     [Fedora Scitech]     [Fedora Robotics]     [Fedora Maintainers]     [Fedora Infrastructure]     [Fedora Websites]     [Anaconda Devel]     [Fedora Devel Java]     [Fedora Legacy]     [Fedora Desktop]     [Fedora Fonts]     [ATA RAID]     [Fedora Marketing]     [Fedora Management Tools]     [Fedora Mentors]     [Fedora Package Announce]     [SSH]     [Fedora Package Review]     [Fedora R Devel]     [Fedora PHP Devel]     [Kickstart]     [Fedora Music]     [Fedora Packaging]     [Centos]     [Fedora SELinux]     [Fedora Legal]     [Fedora Kernel]     [Fedora QA]     [Fedora Triage]     [Fedora OCaml]     [Coolkey]     [Virtualization Tools]     [ET Management Tools]     [Yum Users]     [Tux]     [Yosemite News]     [Linux Apps]     [Gnome Users]     [KDE Users]     [Fedora Tools]     [Fedora Art]     [Fedora Docs]     [Maemo Users]     [Asterisk PBX]     [Fedora Sparc]     [Fedora Universal Network Connector]     [Fedora ARM]

  Powered by Linux