diff --git a/README.md b/README.md deleted file mode 100644 index bfc4d05..0000000 --- a/README.md +++ /dev/null @@ -1,7 +0,0 @@ -# gap-pkg-scscp - -[This package](https://gap-packages.github.io/scscp/) implements the Symbolic -Computation Software Composability Protocol (SCSCP) for the -[GAP](https://www.gap-system.org/) system in accordance with the -[SCSCP specification](https://openmath.org/standard/scscp/) and OpenMath -dictionaries scscp1 and scscp2. diff --git a/changelog b/changelog deleted file mode 100644 index 1c297e8..0000000 --- a/changelog +++ /dev/null @@ -1,99 +0,0 @@ -* Wed Jan 24 2024 Fedora Release Engineering - 2.4.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Fri Jan 19 2024 Fedora Release Engineering - 2.4.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild - -* Wed Jul 19 2023 Fedora Release Engineering - 2.4.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild - -* Sun Feb 26 2023 Jerry James - 2.4.1-1 -- Version 2.4.1 - -* Thu Jan 19 2023 Fedora Release Engineering - 2.4.0-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild - -* Thu Jan 12 2023 Jerry James - 2.4.0-2 -- Update for split GAP directories - -* Sun Dec 11 2022 Jerry James - 2.4.0-1 -- Version 2.4.0 - -* Thu Nov 10 2022 Jerry James - 2.3.1-8 -- Clarify license of the doc subpackage - -* Tue Sep 27 2022 Jerry James - 2.3.1-8 -- Update for gap 4.12.0 -- Convert License tag to SPDX -- Use systemd-sysusers to create the daemon user - -* Thu Jul 21 2022 Fedora Release Engineering - 2.3.1-7 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild - -* Thu Jan 20 2022 Fedora Release Engineering - 2.3.1-6 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild - -* Wed Jul 21 2021 Fedora Release Engineering - 2.3.1-5 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild - -* Tue Jan 26 2021 Fedora Release Engineering - 2.3.1-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild - -* Mon Jul 27 2020 Fedora Release Engineering - 2.3.1-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild - -* Tue Jan 28 2020 Fedora Release Engineering - 2.3.1-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild - -* Wed Jan 22 2020 Jerry James - 2.3.1-1 -- Version 2.3.1 -- Depend on logrotate instead of owning its config directory - -* Thu Jul 25 2019 Fedora Release Engineering - 2.3.0-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild - -* Tue Jun 25 2019 Jerry James - 2.3.0-1 -- New upstream version -- Drop upstreamed -ref patch -- Add -makedoc patch to fix documentation building -- Fix creation of the daemon home dir - -* Fri Mar 8 2019 Tim Landscheidt - 2.2.3-6 -- Remove obsolete requirement for %%postun scriptlet - -* Sat Feb 2 2019 Jerry James - 2.2.3-5 -- Rebuild for gap 4.10.0 -- Add -ref patch -- Add -doc subpackage - -* Thu Jan 31 2019 Fedora Release Engineering - 2.2.3-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild - -* Fri Jul 13 2018 Fedora Release Engineering - 2.2.3-3 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild - -* Wed Feb 07 2018 Fedora Release Engineering - 2.2.3-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild - -* Tue Sep 26 2017 Jerry James - 2.2.3-1 -- New upstream version - -* Wed Jul 26 2017 Fedora Release Engineering - 2.2.2-2 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild - -* Sat Apr 1 2017 Jerry James - 2.2.2-1 -- New upstream version -- New URLs - -* Fri Feb 10 2017 Fedora Release Engineering - 2.1.4-4 -- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild - -* Wed Jul 20 2016 Jerry James - 2.1.4-3 -- Own the logrotate directory -- Do not delete the user in postun - -* Thu May 26 2016 Jerry James - 2.1.4-2 -- Improved service integration - -* Fri Apr 22 2016 Jerry James - 2.1.4-1 -- Initial RPM diff --git a/gap-pkg-scscp-makedoc.patch b/gap-pkg-scscp-makedoc.patch index 257e736..0bd2792 100644 --- a/gap-pkg-scscp-makedoc.patch +++ b/gap-pkg-scscp-makedoc.patch @@ -1,5 +1,5 @@ ---- makedoc.g.orig 2022-12-10 08:28:31.000000000 -0700 -+++ makedoc.g 2022-12-11 09:27:37.593145344 -0700 +--- makedoc.g.orig 2019-05-19 14:48:52.000000000 -0600 ++++ makedoc.g 2019-06-25 13:46:16.209738296 -0600 @@ -6,7 +6,7 @@ ########################################################################### @@ -19,4 +19,4 @@ + if pos2 <> fail then pos := pos2; fi; comment := location{[ pos+3 .. Length(location) ]}; fi; - AppendTo(output, "# ", comment, ":", a[2][2], "-", a[2][3], "\n", StripBeginEnd(a[1], "\n"), "\n\n"); + AppendTo(output, "# ", comment, ":", a[2][2], "-", a[2][3], a[1]); diff --git a/gap-pkg-scscp.rpmlintrc b/gap-pkg-scscp.rpmlintrc new file mode 100644 index 0000000..f872ac1 --- /dev/null +++ b/gap-pkg-scscp.rpmlintrc @@ -0,0 +1,8 @@ +# THIS FILE IS FOR WHITELISTING RPMLINT ERRORS AND WARNINGS IN TASKOTRON +# https://fedoraproject.org/wiki/Taskotron/Tasks/dist.rpmlint#Whitelisting_errors + +# The documentation package has no binary bits +addFilter(r'gap-pkg-scscp-doc\.noarch: W: only-non-binary-in-usr-lib') + +# The documentation subpackage is the documentation +addFilter(r'gap-pkg-scscp-doc\.noarch: W: no-documentation') diff --git a/gap-pkg-scscp.spec b/gap-pkg-scscp.spec index 5657ca9..06bcdae 100644 --- a/gap-pkg-scscp.spec +++ b/gap-pkg-scscp.spec @@ -1,33 +1,25 @@ -%global gap_pkgname scscp -%global gap_upname SCSCP -%global usrname gapd -%global giturl https://github.com/gap-packages/scscp +%global pkgname scscp +%global PKGNAME SCSCP +%global usrname gapd -Name: gap-pkg-%{gap_pkgname} -Version: 2.4.4 -Release: %autorelease +Name: gap-pkg-%{pkgname} +Version: 2.3.1 +Release: 3%{?dist} Summary: Symbolic Computation Software Composability Protocol in GAP -License: GPL-2.0-or-later +License: GPLv2+ URL: https://gap-packages.github.io/scscp/ -VCS: git:%{giturl}.git -Source0: %{giturl}/releases/download/v%{version}/%{gap_upname}-%{version}.tar.gz +BuildArch: noarch +Source0: https://github.com/gap-packages/%{pkgname}/releases/download/v%{version}/%{PKGNAME}-%{version}.tar.gz Source1: %{usrname}.sh Source2: gap-scscp.service Source3: %{usrname}.logrotate Source4: %{usrname}.conf Source5: %{usrname}.h2m Source6: server.g -Source7: %{name}.sysusers # Fix a typo in makedoc.g. -Patch: %{name}-makedoc.patch - -BuildArch: noarch -BuildSystem: gap -BuildOption(build): --packagedirs .. -BuildOption(install): *.sh demo example lib par tracing tst -BuildOption(check): tst/testall.g +Patch0: %{name}-makedoc.patch BuildRequires: gap-devel BuildRequires: GAPDoc-latex @@ -35,26 +27,20 @@ BuildRequires: gap-pkg-io-doc BuildRequires: gap-pkg-openmath-doc BuildRequires: gap-pkg-smallgrp-doc BuildRequires: help2man -BuildRequires: systemd-rpm-macros +BuildRequires: systemd %{?systemd_requires} -Requires: gap-pkg-io +Requires(pre): shadow-utils Requires: gap-pkg-openmath Requires: logrotate %description This package implements the Symbolic Computation Software Composability Protocol (SCSCP) for the GAP system in accordance with the SCSCP -specification, described at https://openmath.org/standard/scscp/, and OpenMath -dictionaries scscp1 and scscp2. +specification, described at http://www.symbolic-computing.org/scscp, and +OpenMath dictionaries scscp1 and scscp2. %package doc -# The content is GPL-2.0-or-later. The remaining licenses cover the various -# fonts embedded in PDFs. -# CM: Knuth-CTAN -# CM-Super: GPL-1.0-or-later -# Nimbus: AGPL-3.0-only -License: GPL-2.0-or-later AND Knuth-CTAN AND GPL-1.0-or-later AND AGPL-3.0-only Summary: SCSCP documentation Requires: %{name} = %{version}-%{release} Requires: gap-pkg-io-doc @@ -62,24 +48,34 @@ Requires: gap-pkg-openmath-doc Requires: gap-pkg-smallgrp-doc %description doc -This package contains documentation for gap-pkg-%{gap_pkgname}. +This package contains documentation for gap-pkg-%{pkgname}. %prep -%autosetup -p0 -n %{gap_upname}-%{version} +%autosetup -p0 -n %{PKGNAME}-%{version} -%install -a -cp -a doc/img %{buildroot}%{gap_libdir}/pkg/%{gap_upname}/doc +%build +# Link to main GAP documentation +ln -s %{_gap_dir}/doc ../../doc +mkdir ../pkg +ln -s ../%{PKGNAME}-%{version} ../pkg/%{PKGNAME} +ln -s %{_gap_dir}/pkg/io-* ../pkg +ln -s %{_gap_dir}/pkg/OpenMath-* ../pkg +ln -s %{_gap_dir}/pkg/SmallGrp-* ../pkg +gap -l "$PWD/..;%{_gap_dir}" makedoc.g +rm -fr ../../doc ../pkg + +%install +mkdir -p %{buildroot}%{_gap_dir}/pkg +cp -a ../%{PKGNAME}-%{version} %{buildroot}%{_gap_dir}/pkg/%{PKGNAME} +rm -f %{buildroot}%{_gap_dir}/pkg/%{PKGNAME}/{COPYING,README.md,todo.txt} +rm -f %{buildroot}%{_gap_dir}/pkg/%{PKGNAME}/doc/*.{aux,bbl,blg,brf,idx,ilg,ind,log,out,pnr,tex} # Replace upstream's launcher script with our own. -install -p -m 0755 %{SOURCE1} %{buildroot}%{gap_libdir}/pkg/%{gap_upname} +install -p -m 0755 %{SOURCE1} %{buildroot}%{_gap_dir}/pkg/%{PKGNAME} # Make the daemon's home directory mkdir -p %{buildroot}%{_sharedstatedir}/%{usrname} -# Install the sysusers file -mkdir -p %{buildroot}%{_sysusersdir} -cp -p %{SOURCE7} %{buildroot}%{_sysusersdir}/%{usrname}.conf - # Install the systemd unit mkdir -p %{buildroot}%{_unitdir} install -p -m 0644 -p %{SOURCE2} %{buildroot}%{_unitdir} @@ -94,31 +90,40 @@ install -p -m 0644 %{SOURCE4} %{buildroot}%{_sysconfdir} # Install the man page mkdir -p %{buildroot}%{_mandir}/man8 -help2man -m 'GAP SCSCP package' -S 'GAP SCSCP (Fedora %{version}-%{release})' \ - -n 'GAP Daemon' -I %{SOURCE5} -o %{buildroot}%{_mandir}/man8/%{usrname}.8 \ +help2man -m "GAP SCSCP package" -S "GAP SCSCP (Fedora %{version}-%{release})" \ + -n "GAP Daemon" -I %{SOURCE5} -o %{buildroot}%{_mandir}/man8/%{usrname}.8 \ -N -s 8 %{SOURCE1} # Move the config files to their new home mkdir -p %{buildroot}%{_sysconfdir}/scscp/gap install -p -m 0644 %{SOURCE6} %{buildroot}%{_sysconfdir}/scscp/gap -mv %{buildroot}%{gap_libdir}/pkg/%{gap_upname}/config.g \ - %{buildroot}%{gap_libdir}/pkg/%{gap_upname}/configpar.g \ +mv %{buildroot}%{_gap_dir}/pkg/%{PKGNAME}/config.g \ + %{buildroot}%{_gap_dir}/pkg/%{PKGNAME}/configpar.g \ %{buildroot}%{_sysconfdir}/scscp/gap -ln -s %{_sysconfdir}/scscp/gap/config.g %{buildroot}%{gap_libdir}/pkg/%{gap_upname} -ln -s %{_sysconfdir}/scscp/gap/configpar.g %{buildroot}%{gap_libdir}/pkg/%{gap_upname} + +# Tell the package where to look for its configuration +sed -e 's,ReadPackage("scscp/\(config\.g\)"),Read("/etc/scscp/gap/\1"),' \ + -e 's,ReadPackage("scscp/\(configpar\.g\)"),Read("/etc/scscp/gap/\1"),' \ + -i %{buildroot}%{_gap_dir}/pkg/%{PKGNAME}/init.g +touch -r init.g %{buildroot}%{_gap_dir}/pkg/%{PKGNAME}/init.g %check # We only run the offline test as the others require network access and two # servers to be setup and running. -cd tst -gap --packagedirs ../.. << EOF +mkdir ../pkg +ln -s ../%{PKGNAME}-%{version} ../pkg/%{PKGNAME} +pushd tst +gap -l "$PWD/../..;%{_gap_dir}" << EOF LoadPackage("scscp"); GAP_EXIT_CODE(Test("offline.tst", rec(compareFunction := "uptowhitespace") )); EOF -cd - +popd +rm -fr ../pkg %pre -%sysusers_create_package %{usrname} %{SOURCE7} +getent passwd %{usrname} >/dev/null || \ + useradd -c "GAP SCSCP server daemon" -d %{_sharedstatedir}/%{usrname} \ + -r -s /sbin/nologin -U %{usrname} || : %preun %systemd_preun gap-scscp.service @@ -126,18 +131,17 @@ cd - %post %systemd_post gap-scscp.service +%posttrans +chown %{usrname}:%{usrname} %{_sharedstatedir}/%{usrname} + %files %doc README.md todo.txt %license COPYING -%dir %{gap_libdir}/pkg/%{gap_upname}/ -%{gap_libdir}/pkg/%{gap_upname}/*.g -%{gap_libdir}/pkg/%{gap_upname}/*.sh -%{gap_libdir}/pkg/%{gap_upname}/lib/ -%{gap_libdir}/pkg/%{gap_upname}/par/ -%{gap_libdir}/pkg/%{gap_upname}/tracing/ -%{gap_libdir}/pkg/%{gap_upname}/tst/ +%{_gap_dir}/pkg/%{PKGNAME}/ +%exclude %{_gap_dir}/pkg/%{PKGNAME}/demo/ +%exclude %{_gap_dir}/pkg/%{PKGNAME}/doc/ +%exclude %{_gap_dir}/pkg/%{PKGNAME}/example/ %{_mandir}/man8/%{usrname}.8* -%{_sysusersdir}/%{usrname}.conf %{_unitdir}/gap-scscp.service %dir %{_sysconfdir}/scscp/ %dir %{_sysconfdir}/scscp/gap/ @@ -149,12 +153,69 @@ cd - %attr(755,%{usrname},%{usrname}) %{_sharedstatedir}/%{usrname}/ %files doc -%docdir %{gap_libdir}/pkg/%{gap_upname}/demo/ -%docdir %{gap_libdir}/pkg/%{gap_upname}/doc/ -%docdir %{gap_libdir}/pkg/%{gap_upname}/example/ -%{gap_libdir}/pkg/%{gap_upname}/demo/ -%{gap_libdir}/pkg/%{gap_upname}/doc/ -%{gap_libdir}/pkg/%{gap_upname}/example/ +%docdir %{_gap_dir}/pkg/%{PKGNAME}/demo/ +%docdir %{_gap_dir}/pkg/%{PKGNAME}/doc/ +%docdir %{_gap_dir}/pkg/%{PKGNAME}/example/ +%{_gap_dir}/pkg/%{PKGNAME}/demo/ +%{_gap_dir}/pkg/%{PKGNAME}/doc/ +%{_gap_dir}/pkg/%{PKGNAME}/example/ %changelog -%autochangelog +* Mon Jul 27 2020 Fedora Release Engineering - 2.3.1-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild + +* Tue Jan 28 2020 Fedora Release Engineering - 2.3.1-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild + +* Wed Jan 22 2020 Jerry James - 2.3.1-1 +- Version 2.3.1 +- Depend on logrotate instead of owning its config directory + +* Thu Jul 25 2019 Fedora Release Engineering - 2.3.0-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild + +* Tue Jun 25 2019 Jerry James - 2.3.0-1 +- New upstream version +- Drop upstreamed -ref patch +- Add -makedoc patch to fix documentation building +- Fix creation of the daemon home dir + +* Fri Mar 8 2019 Tim Landscheidt - 2.2.3-6 +- Remove obsolete requirement for %%postun scriptlet + +* Sat Feb 2 2019 Jerry James - 2.2.3-5 +- Rebuild for gap 4.10.0 +- Add -ref patch +- Add -doc subpackage + +* Thu Jan 31 2019 Fedora Release Engineering - 2.2.3-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild + +* Fri Jul 13 2018 Fedora Release Engineering - 2.2.3-3 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild + +* Wed Feb 07 2018 Fedora Release Engineering - 2.2.3-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild + +* Tue Sep 26 2017 Jerry James - 2.2.3-1 +- New upstream version + +* Wed Jul 26 2017 Fedora Release Engineering - 2.2.2-2 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild + +* Sat Apr 1 2017 Jerry James - 2.2.2-1 +- New upstream version +- New URLs + +* Fri Feb 10 2017 Fedora Release Engineering - 2.1.4-4 +- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild + +* Wed Jul 20 2016 Jerry James - 2.1.4-3 +- Own the logrotate directory +- Do not delete the user in postun + +* Thu May 26 2016 Jerry James - 2.1.4-2 +- Improved service integration + +* Fri Apr 22 2016 Jerry James - 2.1.4-1 +- Initial RPM diff --git a/gap-pkg-scscp.sysusers b/gap-pkg-scscp.sysusers deleted file mode 100644 index 6972630..0000000 --- a/gap-pkg-scscp.sysusers +++ /dev/null @@ -1,2 +0,0 @@ -#Type Name ID GECOS Home directory Shell -u gapd - "GAP SCSCP server daemon" /var/lib/gapd /sbin/nologin diff --git a/sources b/sources index 5b1d4d5..50d2028 100644 --- a/sources +++ b/sources @@ -1 +1 @@ -SHA512 (SCSCP-2.4.4.tar.gz) = 694d6f5e1e6b23748359e085dac4ca819a542f2a083cacd18473407f6e90403bd9c66da83699ac62748ae70afc18ff74ca166a02133dbe679332efdd45ad1dae +SHA512 (SCSCP-2.3.1.tar.gz) = 94193341de0ae2f33a32bb96406d7954ca84f58c9e7bca1e141e8072df217d9a4eaf5f507abcf3abf41bb44fe2e7162575e325f0779642493af4b4ad6e898ebb