summaryrefslogtreecommitdiff
path: root/prunerepo.spec
diff options
context:
space:
mode:
Diffstat (limited to 'prunerepo.spec')
-rw-r--r--prunerepo.spec178
1 files changed, 178 insertions, 0 deletions
diff --git a/prunerepo.spec b/prunerepo.spec
new file mode 100644
index 0000000..356f8e1
--- /dev/null
+++ b/prunerepo.spec
@@ -0,0 +1,178 @@
+Name: prunerepo
+Version: 1.21
+Summary: Remove old packages from rpm-md repository
+Release: 7%{?dist}
+Url: https://pagure.io/prunerepo
+
+# Source is created by:
+# git clone %%url && cd prunerepo
+# tito build --tgz --tag %%name-%%version-%%release
+Source0: %name-%version.tar.gz
+
+License: GPLv2+
+BuildArch: noarch
+BuildRequires: bash
+BuildRequires: python3-devel
+BuildRequires: python3-setuptools
+BuildRequires: python3-rpm
+BuildRequires: createrepo_c
+BuildRequires: asciidoc
+BuildRequires: findutils
+BuildRequires: dnf
+BuildRequires: dnf-plugins-core
+BuildRequires: coreutils
+Requires: createrepo_c
+Requires: dnf-plugins-core
+Requires: python3-rpm
+Requires: python3
+
+%description
+RPM packages that have newer version available in that same
+repository are deleted from filesystem and the rpm-md metadata are
+recreated afterwards. If there is a source rpm for a deleted rpm
+(and they both share the same directory path), then the source rpm
+will be deleted as well.
+
+Support for specific repository structure (e.g. COPR) is also available
+making it possible to additionally remove build logs and whole build
+directories associated with a package.
+
+After deletion of obsoleted packages, the command
+"createrepo_c --database --update" is called
+to recreate the repository metadata.
+
+%prep
+%setup -q
+
+%check
+tests/run.sh
+
+%build
+name="%{name}" version="%{version}" summary="%{summary}" %py3_build
+a2x -d manpage -f manpage man/prunerepo.1.asciidoc
+
+%install
+name="%{name}" version="%{version}" summary="%{summary}" %py3_install
+
+install -d %{buildroot}%{_mandir}/man1
+install -p -m 644 man/prunerepo.1 %{buildroot}/%{_mandir}/man1/
+
+%files
+%license LICENSE
+
+%{python3_sitelib}/*
+%{_bindir}/prunerepo
+%{_mandir}/man1/prunerepo.1*
+
+%changelog
+* Fri Jan 20 2023 Fedora Release Engineering <releng@fedoraproject.org> - 1.21-7
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
+
+* Fri Jul 22 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.21-6
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
+
+* Wed Jun 15 2022 Python Maint <python-maint@redhat.com> - 1.21-5
+- Rebuilt for Python 3.11
+
+* Fri Jan 21 2022 Fedora Release Engineering <releng@fedoraproject.org> - 1.21-4
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
+
+* Fri Jul 23 2021 Fedora Release Engineering <releng@fedoraproject.org> - 1.21-3
+- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
+
+* Fri Jun 04 2021 Python Maint <python-maint@redhat.com> - 1.21-2
+- Rebuilt for Python 3.10
+
+* Fri Apr 30 2021 Pavel Raiskup <praiskup@redhat.com> 1.21-1
+- Don't leak descriptors in Python API call
+- fix misleading /bin/prunerepo message when no rpms are to be removed
+
+* Tue Apr 27 2021 Pavel Raiskup <praiskup@redhat.com> 1.20-1
+- Move the stderr output to log
+- Don't sys.exit() from library function
+
+* Mon Apr 19 2021 Silvie Chlupova <schlupov@redhat.com> 1.19-1
+- api: new api method get_rpms_to_remove
+- Enhance the logging mechanism a bit
+- Faster srpm pairing with rpms
+- Start using functions from helpers
+- Move prunerepo to helpers.py
+- Explicitly depend on python3-setuptools
+
+* Sat Feb 29 2020 clime <clime@fedoraproject.org> 1.18-1
+- add --setopt='skip_if_unavailable=False' to listpkgsbyrepo in testlib
+
+* Tue Dec 17 2019 clime <michal.novotny@comprimato.com> 1.17-1
+- fix changelog
+
+* Mon Dec 16 2019 clime <clime@fedoraproject.org> 1.16-1
+- deprecate --copr
+- avoid additional newlines in stderr
+- skip prunerepo if set(latest_rpms) is empty
+- Use splitlines instead of split for repoquery parsing
+- Set skip_if_unavailable=False to not loose the data
+- Always dump stderr of repoquery (not only in error case)
+- Drop useless double-quote in --queryformat
+
+* Mon Apr 01 2019 clime <clime7@gmail.com> 1.15-1
+- fix changelog
+
+* Fri Oct 19 2018 Miroslav Suchý <msuchy@redhat.com> 1.14-1
+- /usr/bin/env python3 -> /usr/bin/python3
+- use git_dir_archive instead of git_dir_pack
+- fix test non-determinism
+
+* Sat Aug 18 2018 clime <clime@redhat.com> 1.13-1
+- keep all the latest NEVRAS on disk since dnf3
+
+* Mon Aug 06 2018 clime <clime@redhat.com> 1.12-1
+- fix reading spec file values from setup.py
+- rpkg deployment into COPR
+- use builtin cd in tests
+
+* Wed Jan 24 2018 clime <clime@redhat.com> 1.11-1
+- do not recreate repo if there was no change in data unless
+ --alwayscreaterepo is specified
+- add builddep on createrepo_c as well
+- add Builddep on dnf that is no longer present in Builddep chain
+- optimize createrepo_c
+- run tests during build
+- use just --repo instead of --disablerepo= --enablerepo=
+- Spelling fixes
+
+* Wed Apr 19 2017 clime <clime@redhat.com> 1.10-1
+- replace fedorahosted links
+
+* Thu May 26 2016 clime <clime@redhat.com> 1.9-1
+- --days now also influences --cleancopr
+
+* Mon May 23 2016 Miroslav Suchý <msuchy@redhat.com> 1.8-1
+- just skip the missing srpm
+- first remove srpm and then the rpm
+
+* Mon Mar 14 2016 clime <clime@redhat.com> 1.7-1
+- rpm-python3 dependency added back
+
+* Mon Mar 14 2016 Jakub Kadlčík <jkadlcik@redhat.com> 1.6-1
+- removed obsolete dependency on rpm-python
+- doc update
+
+* Fri Feb 26 2016 clime <clime@redhat.com> 1.5-1
+- srpm deletion logic changed
+
+* Mon Feb 22 2016 clime <clime@redhat.com> 1.4-1
+- deletion of srpms when the same rpm is present in multiple dirs and --days is used fixed
+
+* Fri Jan 29 2016 Miroslav Suchý <msuchy@redhat.com> 1.3-1
+- rebuild for release
+
+* Tue Jan 26 2016 clime <clime@redhat.com> 1.2-1
+- bugfix for --cleancopr when a log for the respective dir does not
+ exist (e.g. copr repos with old dir naming)
+
+* Mon Jan 25 2016 clime <clime@redhat.com> 1.1-1
+- test suite finished
+- --quiet, --cleancopr and --days options implemented
+
+* Tue Jan 19 2016 clime <clime@redhat.com> 1.0-1
+- Initial package version