From 558977cc38369653e618a70a9bf900cd1e926173 Mon Sep 17 00:00:00 2001 From: Miro Hrončok Date: Jun 15 2020 10:46:23 +0000 Subject: Add pkgname helper Fixes https://pagure.io/fedora-packager/issue/162 Suggestion by Adam in https://lists.fedoraproject.org/archives/list/devel@lists.fedoraproject.org/message/N444O6WJKADAQN77A4Y5KNBUH2543LAD/ Signed-off-by: Miro Hrončok Consider this script public domain, hence the license of fedora-packager is not affected. --- diff --git a/.gitignore b/.gitignore index e0a10f8..5248390 100644 --- a/.gitignore +++ b/.gitignore @@ -13,6 +13,7 @@ fedora-cvs .project .pydevproject *.pyc +pkgname py-compile /src/pyrpkg/*.py* *~ diff --git a/Makefile.am b/Makefile.am index 05c7bae..c65cd48 100644 --- a/Makefile.am +++ b/Makefile.am @@ -3,6 +3,7 @@ bin_SCRIPTS = \ fedora-cert \ fedora-getsvn \ fedora-hosted \ + pkgname \ rpmbuild-md5 \ s390-koji \ stg-koji @@ -17,6 +18,7 @@ EXTRA_DIST = \ src/fedora-getsvn \ src/fedora-hosted.py \ src/fedora-burn-yubikey.py \ + src/pkgname.py \ src/rpmbuild-md5 \ src/secondary-koji @@ -40,6 +42,10 @@ fedora-burn-yubikey: $(srcdir)/src/fedora-burn-yubikey.py rm -f fedora-burn-yubikey install -p -m 755 -T $(srcdir)/src/fedora-burn-yubikey.py fedora-burn-yubikey +pkgname: $(srcdir)/src/pkgname.py + rm -f pkgname + install -p -m 755 -T $(srcdir)/src/pkgname.py pkgname + rpmbuild-md5: $(srcdir)/src/rpmbuild-md5 rm -f rpmbuild-md5 install -p -m 755 -T $(srcdir)/src/rpmbuild-md5 rpmbuild-md5 diff --git a/src/pkgname.py b/src/pkgname.py new file mode 100644 index 0000000..eb0ad3a --- /dev/null +++ b/src/pkgname.py @@ -0,0 +1,32 @@ +#!/usr/bin/python3 +""" +Pipe package NEVRAs into this script to get package names. + +NEVRA stands for Name, Epoch, Version, Release, Architecture. E.g.: + + $ echo fedora-packager-0:0.6.0.4-1.fc32.noarch | pkgname + fedora-packager + +You can omit epoch and/or architecture: + + $ echo fedora-packager-0.6.0.4-1.fc32 | pkgname + fedora-packager + +But, if version and release is omitted, the script can produce invalid results: + + $ echo fedora-packager | pkgname + fedora + +Created by Miro Hrončok, with suggestions from Adam Williamson. + +This script is trivial, consider it Public Domain. +""" +import fileinput +import sys + + +if len(sys.argv) > 1: + sys.exit(__doc__.strip()) + +for line in fileinput.input(): + print(line.rsplit("-", 2)[0])