Add support for LTS versioned sub-packages
This change allows you to use one common spec file for two purposes: 1. If the name is set to "make" you get the same make-X.Y packages as before. 2. If the name is set to "make-latest" you get a make-latest meta-package and a makeXY subpackage on which it depends. The subpackage installs in /opt (or elsewhere) to avoid conflict with an installed make-X.Y. In this case, the user should edit: %global make make43 <-- to match the version being installed %global _prefix /opt/rh/%{make} <-- to where you want it
This commit is contained in:
parent
00a29b7cdd
commit
b3884b6199
52
make.spec
52
make.spec
@ -1,13 +1,31 @@
|
||||
# -*- coding: utf-8 -*-
|
||||
Summary: A GNU tool which simplifies the build process for users
|
||||
# This decides the SRPM name. Set to "make" for a rolling release
|
||||
# (like Fedora) or "make-latest" for a long term release that needs
|
||||
# optional versioned updates.
|
||||
Name: make
|
||||
Epoch: 1
|
||||
Version: 4.3
|
||||
Release: 8%{?dist}
|
||||
Release: 9%{?dist}
|
||||
License: GPLv3+
|
||||
URL: http://www.gnu.org/software/make/
|
||||
Source: ftp://ftp.gnu.org/gnu/make/make-%{version}.tar.gz
|
||||
|
||||
%if "%{name}" != "make"
|
||||
# Set this to the sub-package base name, for "make-latest"
|
||||
%global make make43
|
||||
%if 0%{?rhel} > 0
|
||||
%global _prefix /opt/rh/%{make}
|
||||
%else
|
||||
# We intentionally do not define a case for Fedora, as it should not
|
||||
# need this functionality, and letting it error avoids accidents.
|
||||
%{error:"Each downstream must specify its own /opt namespace"}
|
||||
%endif
|
||||
Summary: Meta package to include latest version of make
|
||||
%else
|
||||
%global make %{name}
|
||||
Summary: A GNU tool which simplifies the build process for users
|
||||
%endif
|
||||
|
||||
%if 0%{?rhel} > 0
|
||||
# This gives the user the option of saying --with guile, but defaults to WITHOUT
|
||||
%bcond_with guile
|
||||
@ -46,7 +64,18 @@ BuildRequires: pkgconfig(guile-2.2)
|
||||
%endif
|
||||
BuildRequires: gcc
|
||||
|
||||
%description
|
||||
%if "%{name}" != "make"
|
||||
# We're still on the make-latest package
|
||||
Requires: %{make}
|
||||
%description -n make-latest
|
||||
The latest GNU Make, with a version-specific install
|
||||
%files -n make-latest
|
||||
|
||||
%package -n %{make}
|
||||
Summary: A GNU tool which simplifies the build process for users
|
||||
%endif
|
||||
|
||||
%description -n %{make}
|
||||
A GNU tool for controlling the generation of executables and other
|
||||
non-source files of a program from the program's source files. Make
|
||||
allows users to build and install packages without any significant
|
||||
@ -54,14 +83,14 @@ knowledge about the details of the build process. The details about
|
||||
how the program should be built are provided for make in the program's
|
||||
makefile.
|
||||
|
||||
%package devel
|
||||
%package -n %{make}-devel
|
||||
Summary: Header file for externally visible definitions
|
||||
|
||||
%description devel
|
||||
The make-devel package contains gnumake.h.
|
||||
%description -n %{make}-devel
|
||||
The %{make}-devel package contains gnumake.h.
|
||||
|
||||
%prep
|
||||
%autosetup -p1
|
||||
%autosetup -n make-%{version} -p1
|
||||
|
||||
rm -f tests/scripts/features/parallelism.orig
|
||||
|
||||
@ -83,14 +112,14 @@ ln -sf make ${RPM_BUILD_ROOT}/%{_bindir}/gmake
|
||||
ln -sf make.1 ${RPM_BUILD_ROOT}/%{_mandir}/man1/gmake.1
|
||||
rm -f ${RPM_BUILD_ROOT}/%{_infodir}/dir
|
||||
|
||||
%find_lang %name
|
||||
%find_lang make
|
||||
|
||||
%check
|
||||
echo ============TESTING===============
|
||||
/usr/bin/env LANG=C make check && true
|
||||
echo ============END TESTING===========
|
||||
|
||||
%files -f %{name}.lang
|
||||
%files -n %{make} -f make.lang
|
||||
%license COPYING
|
||||
%doc NEWS README AUTHORS
|
||||
%{_bindir}/*
|
||||
@ -98,10 +127,13 @@ echo ============END TESTING===========
|
||||
%{_infodir}/*.info*
|
||||
%{_includedir}/gnumake.h
|
||||
|
||||
%files devel
|
||||
%files -n %{make}-devel
|
||||
%{_includedir}/gnumake.h
|
||||
|
||||
%changelog
|
||||
* Wed Jun 29 2022 DJ Delorie <dj@redhat.com> - 1:4.3-9
|
||||
- Enable long-term supported builds.
|
||||
|
||||
* Fri Apr 8 2022 DJ Delorie <dj@redhat.com> - 1:4.3-8
|
||||
- Rewrite filter/filter-out to avoid large stack usage. BZ #2010506
|
||||
- Require perl core modules for testsuite
|
||||
|
Loading…
Reference in New Issue
Block a user