From 81c7032b880253789eb13b836c41ce914a6c971d Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Adrian=20Schr=C3=B6ter?= Date: Thu, 21 Dec 2023 13:34:46 +0100 Subject: [PATCH] Sync from SUSE:ALP:Source:Standard:1.0 busybox-links revision 5928db82f5966dfe2f71d3d3d5b97374 --- .gitattributes | 23 + Dockerfile | 8 + busybox-links-rpmlintrc | 3 + busybox-links.changes | 242 +++++++++++ busybox-links.spec | 741 ++++++++++++++++++++++++++++++++ busybox.install | 137 ++++++ create-filelists.sh | 83 ++++ filelist-attr.txt | 1 + filelist-bc.txt | 1 + filelist-bind-utils.txt | 1 + filelist-bzip2.txt | 3 + filelist-coreutils.txt | 90 ++++ filelist-cpio.txt | 1 + filelist-diffutils.txt | 2 + filelist-dos2unix.txt | 2 + filelist-ed.txt | 1 + filelist-findutils.txt | 2 + filelist-gawk.txt | 1 + filelist-grep.txt | 3 + filelist-gzip.txt | 4 + filelist-hexedit.txt | 1 + filelist-hostname.txt | 2 + filelist-iproute2.txt | 12 + filelist-iputils.txt | 3 + filelist-kbd.txt | 9 + filelist-kmod.txt | 7 + filelist-less.txt | 1 + filelist-man.txt | 1 + filelist-misc.txt | 36 ++ filelist-ncurses-utils.txt | 2 + filelist-net-tools.txt | 8 + filelist-netcat-openbsd.txt | 1 + filelist-patch.txt | 1 + filelist-policycoreutils.txt | 6 + filelist-procps.txt | 11 + filelist-psmisc.txt | 3 + filelist-sed.txt | 1 + filelist-selinux-tools.txt | 5 + filelist-sendmail.txt | 1 + filelist-sh.txt | 3 + filelist-sha3sum.txt | 1 + filelist-shadow.txt | 6 + filelist-sharutils.txt | 2 + filelist-syslogd.txt | 1 + filelist-sysvinit-tools.txt | 3 + filelist-tar.txt | 1 + filelist-telnet.txt | 1 + filelist-tftp.txt | 1 + filelist-time.txt | 1 + filelist-traceroute.txt | 2 + filelist-tunctl.txt | 1 + filelist-udhcpc.txt | 2 + filelist-unzip.txt | 1 + filelist-util-linux-systemd.txt | 1 + filelist-util-linux.txt | 36 ++ filelist-vim.txt | 1 + filelist-vlan.txt | 1 + filelist-wget.txt | 1 + filelist-which.txt | 1 + filelist-whois.txt | 2 + filelist-xz.txt | 6 + zgrep | 131 ++++++ zless | 26 ++ zmore | 25 ++ 64 files changed, 1717 insertions(+) create mode 100644 .gitattributes create mode 100644 Dockerfile create mode 100644 busybox-links-rpmlintrc create mode 100644 busybox-links.changes create mode 100644 busybox-links.spec create mode 100644 busybox.install create mode 100644 create-filelists.sh create mode 100644 filelist-attr.txt create mode 100644 filelist-bc.txt create mode 100644 filelist-bind-utils.txt create mode 100644 filelist-bzip2.txt create mode 100644 filelist-coreutils.txt create mode 100644 filelist-cpio.txt create mode 100644 filelist-diffutils.txt create mode 100644 filelist-dos2unix.txt create mode 100644 filelist-ed.txt create mode 100644 filelist-findutils.txt create mode 100644 filelist-gawk.txt create mode 100644 filelist-grep.txt create mode 100644 filelist-gzip.txt create mode 100644 filelist-hexedit.txt create mode 100644 filelist-hostname.txt create mode 100644 filelist-iproute2.txt create mode 100644 filelist-iputils.txt create mode 100644 filelist-kbd.txt create mode 100644 filelist-kmod.txt create mode 100644 filelist-less.txt create mode 100644 filelist-man.txt create mode 100644 filelist-misc.txt create mode 100644 filelist-ncurses-utils.txt create mode 100644 filelist-net-tools.txt create mode 100644 filelist-netcat-openbsd.txt create mode 100644 filelist-patch.txt create mode 100644 filelist-policycoreutils.txt create mode 100644 filelist-procps.txt create mode 100644 filelist-psmisc.txt create mode 100644 filelist-sed.txt create mode 100644 filelist-selinux-tools.txt create mode 100644 filelist-sendmail.txt create mode 100644 filelist-sh.txt create mode 100644 filelist-sha3sum.txt create mode 100644 filelist-shadow.txt create mode 100644 filelist-sharutils.txt create mode 100644 filelist-syslogd.txt create mode 100644 filelist-sysvinit-tools.txt create mode 100644 filelist-tar.txt create mode 100644 filelist-telnet.txt create mode 100644 filelist-tftp.txt create mode 100644 filelist-time.txt create mode 100644 filelist-traceroute.txt create mode 100644 filelist-tunctl.txt create mode 100644 filelist-udhcpc.txt create mode 100644 filelist-unzip.txt create mode 100644 filelist-util-linux-systemd.txt create mode 100644 filelist-util-linux.txt create mode 100644 filelist-vim.txt create mode 100644 filelist-vlan.txt create mode 100644 filelist-wget.txt create mode 100644 filelist-which.txt create mode 100644 filelist-whois.txt create mode 100644 filelist-xz.txt create mode 100644 zgrep create mode 100644 zless create mode 100644 zmore diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..fecc750 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,23 @@ +## Default LFS +*.7z filter=lfs diff=lfs merge=lfs -text +*.bsp filter=lfs diff=lfs merge=lfs -text +*.bz2 filter=lfs diff=lfs merge=lfs -text +*.gem filter=lfs diff=lfs merge=lfs -text +*.gz filter=lfs diff=lfs merge=lfs -text +*.jar filter=lfs diff=lfs merge=lfs -text +*.lz filter=lfs diff=lfs merge=lfs -text +*.lzma filter=lfs diff=lfs merge=lfs -text +*.obscpio filter=lfs diff=lfs merge=lfs -text +*.oxt filter=lfs diff=lfs merge=lfs -text +*.pdf filter=lfs diff=lfs merge=lfs -text +*.png filter=lfs diff=lfs merge=lfs -text +*.rpm filter=lfs diff=lfs merge=lfs -text +*.tbz filter=lfs diff=lfs merge=lfs -text +*.tbz2 filter=lfs diff=lfs merge=lfs -text +*.tgz filter=lfs diff=lfs merge=lfs -text +*.ttf filter=lfs diff=lfs merge=lfs -text +*.txz filter=lfs diff=lfs merge=lfs -text +*.whl filter=lfs diff=lfs merge=lfs -text +*.xz filter=lfs diff=lfs merge=lfs -text +*.zip filter=lfs diff=lfs merge=lfs -text +*.zst filter=lfs diff=lfs merge=lfs -text diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000..20d2709 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,8 @@ +#!ExclusiveArch: do_not_build +FROM registry.opensuse.org/opensuse/tumbleweed-dnf as builder + +WORKDIR /rpm/ + +COPY create-filelists.sh . + +RUN ./create-filelists.sh diff --git a/busybox-links-rpmlintrc b/busybox-links-rpmlintrc new file mode 100644 index 0000000..7bc721e --- /dev/null +++ b/busybox-links-rpmlintrc @@ -0,0 +1,3 @@ +addFilter('permissions-symlink') +addFilter('no-url-tag') +addFilter('dangling-symlink .* /usr/bin/busybox') diff --git a/busybox-links.changes b/busybox-links.changes new file mode 100644 index 0000000..74378df --- /dev/null +++ b/busybox-links.changes @@ -0,0 +1,242 @@ +------------------------------------------------------------------- +Fri Dec 8 14:12:35 UTC 2023 - Thorsten Kukuk + +- Add new sub-package for udhcpc + +------------------------------------------------------------------- +Mon Nov 20 12:58:07 UTC 2023 - Dirk Müller + +- zgrep: don't set the label option as only the real grep + supports it (bsc#1215943) + +------------------------------------------------------------------- +Thu Sep 7 11:46:36 UTC 2023 - Thorsten Kukuk + +- Add conflict for coreutils-systemd, package got splitted + +------------------------------------------------------------------- +Wed Aug 30 07:06:43 UTC 2023 - Fabian Vogt + +- Don't build the Dockerfile in OBS, it's for development only + +------------------------------------------------------------------- +Mon Aug 14 11:56:07 UTC 2023 - Dan Čermák + +- Check in filelists instead of buildrequiring all non-busybox utils + +------------------------------------------------------------------- +Thu Jun 29 13:34:39 UTC 2023 - Thorsten Kukuk + +- Make sure last stays in busybox-util-linux, even if we moved + the original binary from util-linux to wtmpdb + +------------------------------------------------------------------- +Tue Dec 27 10:28:04 UTC 2022 - Ludwig Nussel + +- Replace transitional %usrmerged macro with regular version check (boo#1206798) + +------------------------------------------------------------------- +Fri Sep 16 15:12:44 UTC 2022 - Thorsten Kukuk + +- Add missing new requires for busybox-sha3sum + +------------------------------------------------------------------- +Fri Sep 16 13:14:35 UTC 2022 - Thorsten Kukuk + +- Create sub-package "hexedit" [bsc#1203399] +- Create sub-package "sha3sum" [bsc#1203397] + +------------------------------------------------------------------- +Tue Mar 15 12:58:38 UTC 2022 - Dirk Müller + +- replace copy from buildroot's gzip with a reimplementation + that is not GPLv3 (jsc#SLE-24210 or jsc#SLE-24211) + +------------------------------------------------------------------- +Thu Feb 10 15:10:02 UTC 2022 - Thorsten Kukuk + +- Drop update-alternatives support + +------------------------------------------------------------------- +Fri Oct 22 15:57:07 UTC 2021 - Stefan Schubert + +- Removed libalternatives machanism. Using direct link from + /usr/bin/busybox to /usr/bin/sh. The package is conflicting with + the new packages bash-sh which has a link for /usr/bin/sh too. + +------------------------------------------------------------------- +Wed Aug 18 14:00:55 UTC 2021 - Stefan Schubert + +- Use libalternatives instead of update-alternatives. + +------------------------------------------------------------------- +Mon Aug 2 13:51:13 UTC 2021 - Thorsten Kukuk + +- Add shadow as BuildRequires + +------------------------------------------------------------------- +Thu Jul 1 13:07:07 UTC 2021 - Thorsten Kukuk + +- Add util-linux-systemd as BuildRequires + +------------------------------------------------------------------- +Mon Mar 15 10:50:09 UTC 2021 - Ludwig Nussel + +- busybox-misc needs to conflict with lzop and sysstat as it + replaces files of those. Usrmerge reveals that conflict. + +------------------------------------------------------------------- +Tue Mar 2 14:40:42 UTC 2021 - Ludwig Nussel + +- prepare usrmerge (boo#1029961) + +------------------------------------------------------------------- +Tue Feb 2 15:57:47 UTC 2021 - Thorsten Kukuk + +- Add zmore and zless + +------------------------------------------------------------------- +Mon Dec 28 08:37:18 UTC 2020 - Dominique Leuenberger + +- busybox-sendmail also conflicts with the postfix-bdb flavor. + +------------------------------------------------------------------- +Wed Dec 9 14:41:57 UTC 2020 - Thorsten Kukuk + +- busybox-adduser needs "nogroup" for system accounts, which have + no group specified. + +------------------------------------------------------------------- +Tue Dec 1 14:38:57 UTC 2020 - Dominique Leuenberger + +- Add conflicts: bridge-utils to busybox-iproute2: both packages + provide /usr/sbin/brctl. + +------------------------------------------------------------------- +Tue Sep 29 10:02:38 UTC 2020 - Thorsten Kukuk + +- Don't fail if rpm will not be build + +------------------------------------------------------------------- +Mon Sep 21 07:41:13 UTC 2020 - Thorsten Kukuk + +- Add post/postun requires for busybox to busybox-sh + (/usr/bin/ash is a symlink to busybox) + +------------------------------------------------------------------- +Wed Sep 16 15:33:21 UTC 2020 - Dominique Leuenberger + +- busybox-vi: also conflict with gvim, one more vi variant. + +------------------------------------------------------------------- +Fri Sep 11 10:21:46 UTC 2020 - Thorsten Kukuk + +- busybox-vi: conflict with all vi variants + +------------------------------------------------------------------- +Fri Aug 28 08:09:37 UTC 2020 - Thorsten Kukuk + +- Add zgrep to gzip sub-package + +------------------------------------------------------------------- +Thu Aug 13 09:30:48 UTC 2020 - Thorsten Kukuk + +- Fix typo in spec file + +------------------------------------------------------------------- +Wed Aug 12 14:29:02 UTC 2020 - Thorsten Kukuk + +- Create new sub-packages: selinux-tools and policycoreutils + +------------------------------------------------------------------- +Tue Jul 28 12:28:36 UTC 2020 - Thorsten Kukuk + +- busybox-syslogd: add conflict with syslogd +- busybox-iproute2: add conflict with wicked-service for ifup +- busybox-sh: remove bogus %ghost entry + +------------------------------------------------------------------- +Fri Jul 24 08:46:53 UTC 2020 - Thorsten Kukuk + +- Create busybox-{dos2unix,telnet,tftp,time,tunctl,vlan,sysvinit-tools} + +------------------------------------------------------------------- +Thu Jul 23 12:36:22 UTC 2020 - Thorsten Kukuk + +- Create busybox-ed, busybox-bc and busybox-netcat +- Fix filelist of busybox-iproute2 + +------------------------------------------------------------------- +Wed Jul 22 09:49:56 UTC 2020 - Thorsten Kukuk + +- Create busybox-less, busybox-unzip, busybox-whois, busybox-wget, + busybox-syslogd and busybox-vi +- Merge all shells into busybox-sh (to fix update-alternative for sh) + +------------------------------------------------------------------- +Tue Jul 14 16:05:43 UTC 2020 - Thorsten Kukuk + +- Add provides smtp_daemon to busybox-sendmail + +------------------------------------------------------------------- +Thu Jun 11 09:48:18 UTC 2020 - Thorsten Kukuk + +- Create own busybox-adduser sub-package + +------------------------------------------------------------------- +Fri May 29 05:13:50 UTC 2020 - Ismail Dönmez + +- Add conflicts: mawk to busybox-gawk + +------------------------------------------------------------------- +Mon May 18 13:42:58 UTC 2020 - Dominique Leuenberger + +- Add conclicts: msmtp-mta to busybox-sendmail: there is one more + provider of /usr/sbin/sendmail. + +------------------------------------------------------------------- +Tue May 12 14:40:14 UTC 2020 - Thorsten Kukuk + +- Create own busybox-sendmail sub-package + +------------------------------------------------------------------- +Tue May 12 11:11:27 UTC 2020 - Dominique Leuenberger + +- Specify conflict between busybox-misc and exim: both provide + /usr/sbin/sendmail. + +------------------------------------------------------------------- +Mon May 4 11:17:46 UTC 2020 - Thorsten Kukuk + +- Remove bash conflict from busybox-sh as bash got fixed + +------------------------------------------------------------------- +Mon Apr 27 15:13:45 UTC 2020 - Thorsten Kukuk + +- Split busybox-sh from busybox-ash as workaround for broken + update-alternatives usage in bash + +------------------------------------------------------------------- +Sun Apr 19 07:54:47 UTC 2020 - Thorsten Kukuk + +- Fix update-alternatives usage + +------------------------------------------------------------------- +Sat Apr 18 06:38:57 UTC 2020 - Thorsten Kukuk + +- Use update-alternatives for sh + +------------------------------------------------------------------- +Fri Apr 17 09:41:08 UTC 2020 - Thorsten Kukuk + +- Add conflicts for files to busybox-misc + +------------------------------------------------------------------- +Wed Apr 15 07:08:09 UTC 2020 - Thorsten Kukuk + +- Add missing requires for busybox-sh + +------------------------------------------------------------------- +Sat Mar 14 09:03:28 UTC 2020 - Thorsten Kukuk + +- Initial version diff --git a/busybox-links.spec b/busybox-links.spec new file mode 100644 index 0000000..4eb40b1 --- /dev/null +++ b/busybox-links.spec @@ -0,0 +1,741 @@ +# +# spec file for package busybox-links +# +# Copyright (c) 2023 SUSE LLC +# +# All modifications and additions to the file contributed by third parties +# remain the property of their copyright owners, unless otherwise agreed +# upon. The license for this file, and modifications and additions to the +# file, is the same license as for the pristine package itself (unless the +# license for the pristine package is not an Open Source License, in which +# case the license is the MIT License). An "Open Source License" is a +# license that conforms to the Open Source Definition (Version 1.9) +# published by the Open Source Initiative. + +# Please submit bugfixes or comments via https://bugs.opensuse.org/ +# + + +Name: busybox-links +Version: %(rpm -q busybox --qf '%%{VERSION}') +Release: 0 +Summary: Links for busybox applets +License: GPL-2.0-or-later +Source: busybox-links-rpmlintrc +Source1: zless +Source2: zmore +Source3: zgrep +Source4: busybox.install +Source5: filelist-attr.txt +Source6: filelist-bc.txt +Source7: filelist-bind-utils.txt +Source8: filelist-bzip2.txt +Source9: filelist-coreutils.txt +Source10: filelist-cpio.txt +Source11: filelist-diffutils.txt +Source12: filelist-dos2unix.txt +Source13: filelist-ed.txt +Source14: filelist-findutils.txt +Source15: filelist-gawk.txt +Source16: filelist-grep.txt +Source17: filelist-gzip.txt +Source18: filelist-hexedit.txt +Source19: filelist-hostname.txt +Source20: filelist-iproute2.txt +Source21: filelist-iputils.txt +Source22: filelist-kbd.txt +Source23: filelist-kmod.txt +Source24: filelist-less.txt +Source25: filelist-man.txt +Source26: filelist-misc.txt +Source27: filelist-ncurses-utils.txt +Source28: filelist-net-tools.txt +Source29: filelist-netcat-openbsd.txt +Source30: filelist-patch.txt +Source31: filelist-policycoreutils.txt +Source32: filelist-procps.txt +Source33: filelist-psmisc.txt +Source34: filelist-sed.txt +Source35: filelist-selinux-tools.txt +Source36: filelist-sendmail.txt +Source37: filelist-sh.txt +Source38: filelist-sha3sum.txt +Source39: filelist-shadow.txt +Source40: filelist-sharutils.txt +Source41: filelist-syslogd.txt +Source42: filelist-sysvinit-tools.txt +Source43: filelist-tar.txt +Source44: filelist-telnet.txt +Source45: filelist-tftp.txt +Source46: filelist-time.txt +Source47: filelist-traceroute.txt +Source48: filelist-tunctl.txt +Source49: filelist-unzip.txt +Source50: filelist-util-linux-systemd.txt +Source51: filelist-util-linux.txt +Source52: filelist-vim.txt +Source53: filelist-vlan.txt +Source54: filelist-wget.txt +Source55: filelist-which.txt +Source56: filelist-whois.txt +Source57: filelist-xz.txt +Source58: filelist-udhcpc.txt +# used for creating the above filelists and busybox.install: +# build the container locally and then copy filelist-*txt and busybox.install +# out ouf WORKDIR into the package directory +Source98: create-filelists.sh +Source99: Dockerfile +Requires: busybox = %{version} +Requires: busybox-adduser = %{version} +Requires: busybox-attr = %{version} +Requires: busybox-bc = %{version} +Requires: busybox-bind-utils = %{version} +Requires: busybox-bzip2 = %{version} +Requires: busybox-coreutils = %{version} +Requires: busybox-cpio = %{version} +Requires: busybox-diffutils = %{version} +Requires: busybox-dos2unix = %{version} +Requires: busybox-ed = %{version} +Requires: busybox-findutils = %{version} +Requires: busybox-gawk = %{version} +Requires: busybox-grep = %{version} +Requires: busybox-gzip = %{version} +Requires: busybox-hexedit = %{version} +Requires: busybox-hostname = %{version} +Requires: busybox-iproute2 = %{version} +Requires: busybox-iputils = %{version} +Requires: busybox-kbd = %{version} +Requires: busybox-less = %{version} +Requires: busybox-man = %{version} +Requires: busybox-misc = %{version} +Requires: busybox-ncurses-utils = %{version} +Requires: busybox-net-tools = %{version} +Requires: busybox-netcat = %{version} +Requires: busybox-patch = %{version} +Requires: busybox-policycoreutils = %{version} +Requires: busybox-procps = %{version} +Requires: busybox-psmisc = %{version} +Requires: busybox-sed = %{version} +Requires: busybox-selinux-tools = %{version} +Requires: busybox-sendmail = %{version} +Requires: busybox-sh = %{version} +Requires: busybox-sha3sum = %{version} +Requires: busybox-sharutils = %{version} +Requires: busybox-syslogd = %{version} +Requires: busybox-sysvinit-tools = %{version} +Requires: busybox-tar = %{version} +Requires: busybox-telnet = %{version} +Requires: busybox-tftp = %{version} +Requires: busybox-time = %{version} +Requires: busybox-traceroute = %{version} +Requires: busybox-tunctl = %{version} +Requires: busybox-udhcpc = %{version} +Requires: busybox-unzip = %{version} +Requires: busybox-util-linux = %{version} +Requires: busybox-vi = %{version} +Requires: busybox-vlan = %{version} +Requires: busybox-wget = %{version} +Requires: busybox-which = %{version} +Requires: busybox-whois = %{version} +Requires: busybox-xz = %{version} +BuildArch: noarch + +%description +This is a meta package requireing all packages providing busybox applets. + +%package -n busybox-misc +Summary: Busybox applets not fitting anywhere else +Requires: busybox = %{version} +Conflicts: binutils +Conflicts: blog +Conflicts: dosfstools +Conflicts: e2fsprogs +Conflicts: lsof +Conflicts: lsscsi +Conflicts: lzop +Conflicts: nbd +Conflicts: sysstat +Conflicts: usbutils +Conflicts: xterm-bin + +%description -n busybox-misc +This package contains the symlinks to provide various busybox applets which +do not fit really to any other package. + +%package -n busybox-attr +Summary: Busybox applets replacing attr +Requires: busybox = %{version} +Conflicts: attr + +%description -n busybox-attr +This package contains the symlinks to replace attr with busybox. + +%package -n busybox-sh +Summary: Busybox sh, ash and hush +Requires: busybox = %{version} +Requires(post): busybox +Requires(preun):busybox +Provides: alternative(sh) +Conflicts: alternative(sh) +Obsoletes: busybox-ash < %{version} + +%description -n busybox-sh +This package contains the busybox sh, ash and hush. + +%package -n busybox-bind-utils +Summary: Busybox applets replacing bind-utils +Requires: busybox = %{version} +Conflicts: bind-utils + +%description -n busybox-bind-utils +This package contains the symlinks to replace bind-utils with busybox. + +%package -n busybox-coreutils +Summary: Busybox applets replacing coreutils +Requires: busybox = %{version} +Conflicts: coreutils +Conflicts: coreutils-systemd + +%description -n busybox-coreutils +This package contains the symlinks to replace coreutils with busybox. + +%package -n busybox-diffutils +Summary: Busybox applets replacing diffutils +Requires: busybox = %{version} +Conflicts: diffutils + +%description -n busybox-diffutils +This package contains the symlinks to replace diffutils with busybox. + +%package -n busybox-findutils +Summary: Busybox applets replacing findutils +Requires: busybox = %{version} +Conflicts: findutils + +%description -n busybox-findutils +This package contains the symlinks to replace findutils with busybox. + +%package -n busybox-util-linux +Summary: Busybox applets replacing util-linux +Requires: busybox = %{version} +# wtmpdb contains now /usr/bin/last +Conflicts: wtmpdb +Conflicts: util-linux +Conflicts: util-linux-systemd + +%description -n busybox-util-linux +This package contains the symlinks to replace util-linux with busybox. + +%package -n busybox-iputils +Summary: Busybox applets replacing iputils +Requires: busybox = %{version} +Conflicts: iputils + +%description -n busybox-iputils +This package contains the symlinks to replace iputils with busybox. + +%package -n busybox-iproute2 +Summary: Busybox applets replacing iproute2 +Requires: busybox = %{version} +Conflicts: bridge-utils +Conflicts: iproute2 +Conflicts: wicked-service + +%description -n busybox-iproute2 +This package contains the symlinks to replace iproute2 with busybox. + +%package -n busybox-gawk +Summary: Busybox applets replacing gawk +Requires: busybox = %{version} +Conflicts: gawk +Conflicts: mawk + +%description -n busybox-gawk +This package contains the symlinks to replace gawk with busybox. + +%package -n busybox-grep +Summary: Busybox applets replacing grep +Requires: busybox = %{version} +Conflicts: grep + +%description -n busybox-grep +This package contains the symlinks to replace grep with busybox. + +%package -n busybox-gzip +Summary: Busybox applets replacing gzip +Requires: busybox = %{version} +Conflicts: gzip + +%description -n busybox-gzip +This package contains the symlinks to replace gzip with busybox. + +%package -n busybox-sed +Summary: Busybox applets replacing sed +Requires: busybox = %{version} +Conflicts: sed + +%description -n busybox-sed +This package contains the symlinks to replace sed with busybox. + +%package -n busybox-cpio +Summary: Busybox applets replacing cpio +Requires: busybox = %{version} +Conflicts: cpio + +%description -n busybox-cpio +This package contains the symlinks to replace cpio with busybox. + +%package -n busybox-patch +Summary: Busybox applets replacing patch +Requires: busybox = %{version} +Conflicts: patch + +%description -n busybox-patch +This package contains the symlinks to replace patch with busybox. + +%package -n busybox-procps +Summary: Busybox applets replacing procps +Requires: busybox = %{version} +Conflicts: procps + +%description -n busybox-procps +This package contains the symlinks to replace procps with busybox. + +%package -n busybox-which +Summary: Busybox applets replacing which +Requires: busybox = %{version} +Conflicts: which + +%description -n busybox-which +This package contains the symlinks to replace which with busybox. + +%package -n busybox-xz +Summary: Busybox applets replacing xz +Requires: busybox = %{version} +Conflicts: xz + +%description -n busybox-xz +This package contains the symlinks to replace xz with busybox. + +%package -n busybox-bzip2 +Summary: Busybox applets replacing bzip2 +Requires: busybox = %{version} +Conflicts: bzip2 + +%description -n busybox-bzip2 +This package contains the symlinks to replace bzip2 with busybox. + +%package -n busybox-psmisc +Summary: Busybox applets replacing psmisc +Requires: busybox = %{version} +Conflicts: psmisc + +%description -n busybox-psmisc +This package contains the symlinks to replace psmisc with busybox. + +%package -n busybox-kbd +Summary: Busybox applets replacing kbd +Requires: busybox = %{version} +Conflicts: kbd + +%description -n busybox-kbd +This package contains the symlinks to replace kbd with busybox. + +%package -n busybox-less +Summary: Busybox applets replacing less +Requires: busybox = %{version} +Conflicts: less + +%description -n busybox-less +This package contains the symlinks to replace less with busybox. + +%package -n busybox-sharutils +Summary: Busybox applets replacing sharutils +Requires: busybox = %{version} +Conflicts: sharutils + +%description -n busybox-sharutils +This package contains the symlinks to replace sharutils with busybox. + +%package -n busybox-syslogd +Summary: Busybox applets providing syslogd +Requires: busybox = %{version} +Conflicts: syslogd + +%description -n busybox-syslogd +This package contains the symlinks to provide syslogd with busybox. + +%package -n busybox-hexedit +Summary: Busybox applets replacing hexedit +Requires: busybox = %{version} +Conflicts: hexedit + +%description -n busybox-hexedit +This package contains the symlinks to replace hexedit with busybox. + +%package -n busybox-hostname +Summary: Busybox applets replacing hostname +Requires: busybox = %{version} +Conflicts: hostname + +%description -n busybox-hostname +This package contains the symlinks to replace hostname with busybox. + +%package -n busybox-man +Summary: Busybox applets replacing man +Requires: busybox = %{version} +Conflicts: man +Conflicts: mandoc + +%description -n busybox-man +This package contains the symlinks to replace man with busybox. + +%package -n busybox-net-tools +Summary: Busybox applets replacing net-tools +Requires: busybox = %{version} +Conflicts: net-tools +Conflicts: net-tools-deprecated + +%description -n busybox-net-tools +This package contains the symlinks to replace net-tools with busybox. + +%package -n busybox-traceroute +Summary: Busybox applets replacing traceroute +Requires: busybox = %{version} +Conflicts: traceroute + +%description -n busybox-traceroute +This package contains the symlinks to replace traceroute with busybox. + +%package -n busybox-ncurses-utils +Summary: Busybox applets replacing ncurses-utils +Requires: busybox = %{version} +Conflicts: ncurses-utils + +%description -n busybox-ncurses-utils +This package contains the symlinks to replace ncurses-utils with busybox. + +%package -n busybox-kmod +Summary: Busybox applets replacing kmod +Requires: busybox = %{version} +Conflicts: kmod + +%description -n busybox-kmod +This package contains the symlinks to replace kmod with busybox. + +%package -n busybox-tar +Summary: Busybox applets replacing tar +Requires: busybox = %{version} +Conflicts: tar + +%description -n busybox-tar +This package contains the symlinks to replace tar with busybox. + +%package -n busybox-sendmail +Summary: Busybox applets replacing sendmail +Requires: busybox = %{version} +Provides: smtp_daemon +Conflicts: exim +Conflicts: msmtp-mta +Conflicts: postfix +Conflicts: postfix-bdb +Conflicts: sendmail + +%description -n busybox-sendmail +This package contains the symlinks to replace sendmail with busybox. + +%package -n busybox-adduser +Summary: Busybox applets containing adduser and some shadow tools +Requires: busybox = %{version} +Requires: group(nogroup) +Conflicts: shadow + +%description -n busybox-adduser +This package contains the symlinks for adduser and some tools from the +shadow suite. + +%package -n busybox-sha3sum +Summary: Busybox applets replacing sha3sum +Requires: busybox = %{version} +Conflicts: perl-Digest-SHA3 +Conflicts: sha3sum + +%description -n busybox-sha3sum +This package contains the symlinks to replace sha3sum with busybox. + +%package -n busybox-whois +Summary: Busybox applets replacing whois +Requires: busybox = %{version} +Conflicts: whois + +%description -n busybox-whois +This package contains the symlinks to replace whois with busybox. + +%package -n busybox-unzip +Summary: Busybox applets replacing unzip +Requires: busybox = %{version} +Conflicts: unzip + +%description -n busybox-unzip +This package contains the symlinks to replace unzip with busybox. + +%package -n busybox-wget +Summary: Busybox applets replacing wget +Requires: busybox = %{version} +Conflicts: wget + +%description -n busybox-wget +This package contains the symlinks to replace wget with busybox. + +%package -n busybox-vi +Summary: Busybox applets replacing vim +Requires: busybox = %{version} +Conflicts: gvim +Conflicts: vim +Conflicts: vim-nox11 +Conflicts: vim-small + +%description -n busybox-vi +This package contains the symlinks to provide vi with busybox. + +%package -n busybox-ed +Summary: Busybox applets replacing ed +Requires: busybox = %{version} +Conflicts: ed + +%description -n busybox-ed +This package contains the symlinks to provide ed with busybox. + +%package -n busybox-bc +Summary: Busybox applets replacing bc +Requires: busybox = %{version} +Conflicts: bc + +%description -n busybox-bc +This package contains the symlinks to provide bc with busybox. + +%package -n busybox-netcat +Summary: Busybox applets replacing netcat +Requires: busybox = %{version} +Conflicts: netcat-openbsd + +%description -n busybox-netcat +This package contains the symlinks to provide nc with busybox. + +%package -n busybox-dos2unix +Summary: Busybox applets replacing dos2unix +Requires: busybox = %{version} +Conflicts: dos2unix + +%description -n busybox-dos2unix +This package contains the symlinks to provide dos2unix with busybox. + +%package -n busybox-telnet +Summary: Busybox applets replacing telnet +Requires: busybox = %{version} +Conflicts: telnet + +%description -n busybox-telnet +This package contains the symlinks to provide telnet with busybox. + +%package -n busybox-tftp +Summary: Busybox applets replacing tftp +Requires: busybox = %{version} +Conflicts: tftp + +%description -n busybox-tftp +This package contains the symlinks to provide tftp with busybox. + +%package -n busybox-time +Summary: Busybox applets replacing time +Requires: busybox = %{version} +Conflicts: time + +%description -n busybox-time +This package contains the symlinks to provide time with busybox. + +%package -n busybox-tunctl +Summary: Busybox applets replacing tunctl +Requires: busybox = %{version} +Conflicts: tunctl + +%description -n busybox-tunctl +This package contains the symlinks to provide tunctl with busybox. + +%package -n busybox-vlan +Summary: Busybox applets replacing vlan +Requires: busybox = %{version} +Conflicts: vlan + +%description -n busybox-vlan +This package contains the symlinks to provide vlan with busybox. + +%package -n busybox-sysvinit-tools +Summary: Busybox applets replacing sysvinit-tools +Requires: busybox = %{version} +Conflicts: sysvinit-tools + +%description -n busybox-sysvinit-tools +This package contains the symlinks to provide sysvinit-tools with busybox. + +%package -n busybox-selinux-tools +Summary: Busybox applets replacing selinux-tools +Requires: busybox = %{version} +Conflicts: selinux-tools + +%description -n busybox-selinux-tools +This package contains the symlinks to provide selinux-tools with busybox. + +%package -n busybox-policycoreutils +Summary: Busybox applets replacing policycoreutils +Requires: busybox = %{version} +Conflicts: policycoreutils + +%description -n busybox-policycoreutils +This package contains the symlinks to provide policycoreutils with busybox. + +%package -n busybox-udhcpc +Summary: Busybox applets providing udhcp client +Requires: busybox = %{version} + +%description -n busybox-udhcpc +This package contains the symlinks to provide the udhcp clients with busybox. +For using udhcpc scripts to setup the network are required, they are not +provided with this package. + +%prep +%setup -q -c -T +cp %{_sourcedir}/filelist*.txt . + +%build +%if 0%{?suse_version} < 1550 +echo "/bin/sh" >> filelist-sh.txt +echo -e "/sbin/loadkmap" >> filelist-kbd.txt +%endif + +cat filelist-*.txt | sort -u > filelist.txt + +%install +mkdir -p %{buildroot}%{_bindir} +bash %{_sourcedir}/busybox.install %{buildroot} --symlinks +rm %{buildroot}%{_bindir}/busybox +ln -sf %{_bindir}/busybox %{buildroot}%{_bindir}/sh +%if 0%{?suse_version} < 1550 +ln -sf %{_bindir}/sh %{buildroot}/bin/sh +%endif +install -m 755 %{SOURCE1} %{buildroot}%{_bindir}/zless +install -m 755 %{SOURCE2} %{buildroot}%{_bindir}/zmore +install -m 755 %{SOURCE3} %{buildroot}%{_bindir}/zgrep + +%files + +%files -n busybox-adduser -f filelist-shadow.txt + +%files -n busybox-attr -f filelist-attr.txt + +%files -n busybox-bc -f filelist-bc.txt + +%files -n busybox-bind-utils -f filelist-bind-utils.txt + +%files -n busybox-bzip2 -f filelist-bzip2.txt + +%files -n busybox-coreutils -f filelist-coreutils.txt + +%files -n busybox-cpio -f filelist-cpio.txt + +%files -n busybox-diffutils -f filelist-diffutils.txt + +%files -n busybox-dos2unix -f filelist-dos2unix.txt + +%files -n busybox-ed -f filelist-ed.txt + +%files -n busybox-findutils -f filelist-findutils.txt + +%files -n busybox-gawk -f filelist-gawk.txt + +%files -n busybox-grep -f filelist-grep.txt + +%files -n busybox-gzip -f filelist-gzip.txt +%{_bindir}/zgrep +%{_bindir}/zless +%{_bindir}/zmore + +%files -n busybox-hexedit -f filelist-hexedit.txt + +%files -n busybox-hostname -f filelist-hostname.txt + +%files -n busybox-iproute2 -f filelist-iproute2.txt + +%files -n busybox-iputils -f filelist-iputils.txt + +%files -n busybox-kbd -f filelist-kbd.txt + +%files -n busybox-kmod -f filelist-kmod.txt + +%files -n busybox-less -f filelist-less.txt + +%files -n busybox-man -f filelist-man.txt + +%files -n busybox-misc -f filelist-misc.txt + +%files -n busybox-ncurses-utils -f filelist-ncurses-utils.txt + +%files -n busybox-net-tools -f filelist-net-tools.txt + +%files -n busybox-netcat -f filelist-netcat-openbsd.txt + +%files -n busybox-patch -f filelist-patch.txt + +%files -n busybox-policycoreutils -f filelist-policycoreutils.txt + +%files -n busybox-procps -f filelist-procps.txt + +%files -n busybox-psmisc -f filelist-psmisc.txt + +%files -n busybox-sed -f filelist-sed.txt + +%files -n busybox-selinux-tools -f filelist-selinux-tools.txt + +%files -n busybox-sendmail -f filelist-sendmail.txt + +%files -n busybox-sha3sum -f filelist-sha3sum.txt + +%files -n busybox-sharutils -f filelist-sharutils.txt + +%files -n busybox-syslogd -f filelist-syslogd.txt + +%files -n busybox-sysvinit-tools -f filelist-sysvinit-tools.txt + +%files -n busybox-tar -f filelist-tar.txt + +%files -n busybox-telnet -f filelist-telnet.txt + +%files -n busybox-tftp -f filelist-tftp.txt + +%files -n busybox-time -f filelist-time.txt + +%files -n busybox-traceroute -f filelist-traceroute.txt + +%files -n busybox-tunctl -f filelist-tunctl.txt + +%files -n busybox-udhcpc -f filelist-udhcpc.txt + +%files -n busybox-unzip -f filelist-unzip.txt + +%files -n busybox-util-linux -f filelist-util-linux.txt -f filelist-util-linux-systemd.txt + +%files -n busybox-vi -f filelist-vim.txt + +%files -n busybox-vlan -f filelist-vlan.txt + +%files -n busybox-wget -f filelist-wget.txt + +%files -n busybox-which -f filelist-which.txt + +%files -n busybox-whois -f filelist-whois.txt + +%files -n busybox-xz -f filelist-xz.txt + +%files -n busybox-sh -f filelist-sh.txt + +%changelog diff --git a/busybox.install b/busybox.install new file mode 100644 index 0000000..ec35ded --- /dev/null +++ b/busybox.install @@ -0,0 +1,137 @@ +#!/usr/bin/busybox sh + +export LC_ALL=POSIX +export LC_CTYPE=POSIX + +prefix=$1 +if [ -z "$prefix" ]; then + echo "usage: busybox.install DESTINATION TYPE [OPTS ...]" + echo " TYPE is one of: --symlinks --hardlinks --binaries --scriptwrapper --none" + echo " OPTS is one or more of: --cleanup --noclobber" + exit 1 +fi +shift # Keep only remaining options + +# Source the configuration +#. ./.config + +h=`sort filelist.txt | uniq` + +sharedlib_dir="0_lib" + +linkopts="" +scriptwrapper="n" +binaries="n" +cleanup="0" +noclobber="0" +while [ ${#} -gt 0 ]; do + case "$1" in + --hardlinks) linkopts="-f";; + --symlinks) linkopts="-fs";; + --binaries) binaries="y";; + --scriptwrapper) scriptwrapper="y"; swrapall="y";; + --sw-sh-hard) scriptwrapper="y"; linkopts="-f";; + --sw-sh-sym) scriptwrapper="y"; linkopts="-fs";; + --cleanup) cleanup="1";; + --noclobber) noclobber="1";; + --none) h="";; + *) echo "Unknown install option: $1"; exit 1;; + esac + shift +done + +if [ -n "$DO_INSTALL_LIBS" ] && [ x"$DO_INSTALL_LIBS" != x"n" ]; then + # get the target dir for the libs + # assume it starts with lib + libdir=$($CC -print-file-name=libc.so | \ + sed -n 's%^.*\(/lib[^\/]*\)/libc.so%\1%p') + if test -z "$libdir"; then + libdir=/lib + fi + + mkdir -p "$prefix/$libdir" || exit 1 + for i in $DO_INSTALL_LIBS; do + rm -f "$prefix/$libdir/$i" || exit 1 + if [ -f "$i" ]; then + echo " Installing $i to the target at $prefix/$libdir/" + cp -pPR "$i" "$prefix/$libdir/" || exit 1 + chmod 0644 "$prefix/$libdir/`basename $i`" || exit 1 + fi + done +fi + +if [ x"$cleanup" = x"1" ] && [ -e "$prefix/usr/bin/busybox" ]; then + inode=`ls -i "$prefix/usr/bin/busybox" | awk '{print $1}'` + sub_shell_it=` + cd "$prefix" + for d in usr/sbin usr/bin sbin bin; do + pd=$PWD + if [ -d "$d" ]; then + cd "$d" + ls -iL . | grep "^ *$inode" | awk '{print $2}' | env -i xargs rm -f + fi + cd "$pd" + done + ` + exit 0 +fi + +rm -f "$prefix/usr/bin/busybox" || exit 1 +mkdir -p "$prefix/bin" || exit 1 +install -m 755 /usr/bin/busybox "$prefix/usr/bin/busybox" || exit 1 + +for i in $h; do + appdir=`dirname "$i"` + app=`basename "$i"` + if [ x"$noclobber" = x"1" ] && ([ -e "$prefix/$i" ] || [ -h "$prefix/$i" ]); then + echo " $prefix/$i already exists" + continue + fi + mkdir -p "$prefix/$appdir" || exit 1 + if [ x"$scriptwrapper" = x"y" ]; then + if [ x"$swrapall" != x"y" ] && [ x"$i" = x"/bin/sh" ]; then + ln $linkopts busybox "$prefix/$i" || exit 1 + else + rm -f "$prefix/$i" + echo "../usr/bin/busybox" >"$prefix/$i" + chmod +x "$prefix/$i" + fi + echo " $prefix/$i" + elif [ x"$binaries" = x"y" ]; then + # Copy the binary over rather + if [ -e "$sharedlib_dir/$app" ]; then + echo " Copying $sharedlib_dir/$app to $prefix/$i" + cp -pPR "$sharedlib_dir/$app" "$prefix/$i" || exit 1 + else + echo "Error: Could not find $sharedlib_dir/$app" + exit 1 + fi + else + if [ x"$linkopts" = x"-f" ]; then + bb_path="$prefix/usr/bin/busybox" + else + case "$appdir" in + /) + bb_path="../usr/bin/busybox" + ;; + /bin) + bb_path="../usr/bin/busybox" + ;; + /sbin) + bb_path="../usr/bin/busybox" + ;; + /usr/bin | /usr/sbin) + bb_path="../bin/busybox" + ;; + *) + echo "Unknown installation directory: $appdir" + exit 1 + ;; + esac + fi + echo " $prefix/$i -> $bb_path" + ln $linkopts "$bb_path" "$prefix/$i" || exit 1 + fi +done + +exit 0 diff --git a/create-filelists.sh b/create-filelists.sh new file mode 100644 index 0000000..2dafa80 --- /dev/null +++ b/create-filelists.sh @@ -0,0 +1,83 @@ +#!/bin/bash + +set -euxo pipefail + +mkdir {apps,used,missing} + +dnf --refresh install -y busybox +busybox_links=$(rpm -ql busybox|grep busybox.links) +for i in $(cat $busybox_links); do touch apps/$(basename $i); done + +# No rpm/rpm2cpio, will break build service +rm -f apps/rpm apps/rpm2cpio; \ +# No /linuxrc +rm -f apps/linuxrc; \ +# Does not really fit +rm apps/[[ + +for package in coreutils diffutils findutils grep util-linux util-linux-systemd iputils iproute2 gzip sed cpio procps xz bzip2 psmisc kbd sharutils hexedit hostname net-tools net-tools-deprecated traceroute ncurses-utils kmod tar gawk patch attr which bind-utils man sendmail sha3sum shadow less whois unzip vim wget ed bc netcat-openbsd dos2unix telnet tftp time tunctl vlan sysvinit-tools selinux-tools policycoreutils; do + for i in $(dnf rq -l $package |grep "bin/") ; do + prog=$(basename $i) + if [ -f apps/$prog ]; then + touch used/$prog; + echo $i >> filelist-$package.txt + else + touch missing/$prog + fi + done +done + +BINDIR=$(rpm -E %_bindir) +SBINDIR=$(rpm -E %{_sbindir}) +DATADIR=$(rpm -E %{_datadir}) + +# Merge net-tools sub-packages +cat filelist-net-tools-deprecated.txt >> filelist-net-tools.txt +rm filelist-net-tools-deprecated.txt +# Create some extra sub-packages +echo -e "$BINDIR/ash" > filelist-sh.txt +touch used/ash +echo -e "$BINDIR/hush" >> filelist-sh.txt +touch used/hush +echo -e "$BINDIR/sh" >> filelist-sh.txt +touch used/sh +echo -e "$SBINDIR/loadfont" >> filelist-kbd.txt +touch used/loadkmap used/loadfont + +echo -e "/usr/sbin/addgroup\n/usr/sbin/adduser\n/usr/sbin/delgroup\n/usr/sbin/deluser" >> filelist-shadow.txt +touch used/addgroup used/adduser used/delgroup used/deluser + +echo -e "/usr/sbin/syslogd" > filelist-syslogd.txt +touch used/syslogd + +# Some iproute2 commands are named sligthly different +echo -e "/usr/sbin/ifdown\n/usr/sbin/ifenslave\n/usr/sbin/ifup\n/usr/sbin/ipaddr\n/usr/sbin/iplink\n/usr/sbin/ipneigh\n/usr/sbin/iproute\n/usr/sbin/iprule\n/usr/sbin/brctl" >> filelist-iproute2.txt +touch used/ifdown used/ifenslave used/ifup used/ipaddr used/iplink used/ipneigh used/iproute used/iprule used/brctl + +for i in $(/bin/ls used/); do + rm apps/$i +done + +# /usr/bin/last is now in wtmpdb, but should stay in busybox-util-linux +if [ -e apps/last ]; then + echo -e "/usr/bin/last" >> filelist-util-linux.txt + touch used/last + rm -f apps/last +fi + +for i in `cat $DATADIR/busybox/busybox.links` ; do + prog=`basename $i` + if [ -f apps/$prog ]; then + echo $i >> filelist-misc.txt + fi +done + +sed -e 's|$prefix/bin/busybox|$prefix/usr/bin/busybox|g' \ + -e "s|\"bin/busybox\"|\"..$BINDIR/busybox\"|g" \ + -e "s|\"busybox\"|\"..$BINDIR/busybox\"|g" \ + -e "s|\"../bin/busybox\"|\"..$BINDIR/busybox\"|g" \ + -e 's|"../../bin/busybox"|"../bin/busybox"|g' \ + -e "s|$DATADIR/busybox/busybox.links|filelist.txt|g" \ + $BINDIR/busybox.install > busybox.install + +cat filelist-*.txt | sort -u > filelist.txt diff --git a/filelist-attr.txt b/filelist-attr.txt new file mode 100644 index 0000000..812bb8f --- /dev/null +++ b/filelist-attr.txt @@ -0,0 +1 @@ +/usr/bin/setfattr diff --git a/filelist-bc.txt b/filelist-bc.txt new file mode 100644 index 0000000..b809694 --- /dev/null +++ b/filelist-bc.txt @@ -0,0 +1 @@ +/usr/bin/bc diff --git a/filelist-bind-utils.txt b/filelist-bind-utils.txt new file mode 100644 index 0000000..a132f76 --- /dev/null +++ b/filelist-bind-utils.txt @@ -0,0 +1 @@ +/usr/bin/nslookup diff --git a/filelist-bzip2.txt b/filelist-bzip2.txt new file mode 100644 index 0000000..27e5b68 --- /dev/null +++ b/filelist-bzip2.txt @@ -0,0 +1,3 @@ +/usr/bin/bunzip2 +/usr/bin/bzcat +/usr/bin/bzip2 diff --git a/filelist-coreutils.txt b/filelist-coreutils.txt new file mode 100644 index 0000000..1e5dccc --- /dev/null +++ b/filelist-coreutils.txt @@ -0,0 +1,90 @@ +/usr/bin/[ +/usr/bin/arch +/usr/bin/base32 +/usr/bin/base64 +/usr/bin/basename +/usr/bin/cat +/usr/bin/chcon +/usr/bin/chgrp +/usr/bin/chmod +/usr/bin/chown +/usr/bin/chroot +/usr/bin/cksum +/usr/bin/comm +/usr/bin/cp +/usr/bin/cut +/usr/bin/date +/usr/bin/dd +/usr/bin/df +/usr/bin/dirname +/usr/bin/du +/usr/bin/echo +/usr/bin/env +/usr/bin/expand +/usr/bin/expr +/usr/bin/factor +/usr/bin/false +/usr/bin/fold +/usr/bin/groups +/usr/bin/head +/usr/bin/hostid +/usr/bin/id +/usr/bin/install +/usr/bin/link +/usr/bin/ln +/usr/bin/logname +/usr/bin/ls +/usr/bin/md5sum +/usr/bin/mkdir +/usr/bin/mkfifo +/usr/bin/mknod +/usr/bin/mktemp +/usr/bin/mv +/usr/bin/nice +/usr/bin/nl +/usr/bin/nohup +/usr/bin/nproc +/usr/bin/od +/usr/bin/paste +/usr/bin/printenv +/usr/bin/printf +/usr/bin/pwd +/usr/bin/readlink +/usr/bin/realpath +/usr/bin/rm +/usr/bin/rmdir +/usr/bin/runcon +/usr/bin/seq +/usr/bin/sha1sum +/usr/bin/sha256sum +/usr/bin/sha512sum +/usr/bin/shred +/usr/bin/shuf +/usr/bin/sleep +/usr/bin/sort +/usr/bin/split +/usr/bin/stat +/usr/bin/stty +/usr/bin/sum +/usr/bin/sync +/usr/bin/tac +/usr/bin/tail +/usr/bin/tee +/usr/bin/test +/usr/bin/timeout +/usr/bin/touch +/usr/bin/tr +/usr/bin/true +/usr/bin/truncate +/usr/bin/tsort +/usr/bin/tty +/usr/bin/uname +/usr/bin/unexpand +/usr/bin/uniq +/usr/bin/unlink +/usr/bin/uptime +/usr/bin/users +/usr/bin/wc +/usr/bin/who +/usr/bin/whoami +/usr/bin/yes diff --git a/filelist-cpio.txt b/filelist-cpio.txt new file mode 100644 index 0000000..410ea05 --- /dev/null +++ b/filelist-cpio.txt @@ -0,0 +1 @@ +/usr/bin/cpio diff --git a/filelist-diffutils.txt b/filelist-diffutils.txt new file mode 100644 index 0000000..9830c63 --- /dev/null +++ b/filelist-diffutils.txt @@ -0,0 +1,2 @@ +/usr/bin/cmp +/usr/bin/diff diff --git a/filelist-dos2unix.txt b/filelist-dos2unix.txt new file mode 100644 index 0000000..2711b7f --- /dev/null +++ b/filelist-dos2unix.txt @@ -0,0 +1,2 @@ +/usr/bin/dos2unix +/usr/bin/unix2dos diff --git a/filelist-ed.txt b/filelist-ed.txt new file mode 100644 index 0000000..e56bf92 --- /dev/null +++ b/filelist-ed.txt @@ -0,0 +1 @@ +/usr/bin/ed diff --git a/filelist-findutils.txt b/filelist-findutils.txt new file mode 100644 index 0000000..a3b7909 --- /dev/null +++ b/filelist-findutils.txt @@ -0,0 +1,2 @@ +/usr/bin/find +/usr/bin/xargs diff --git a/filelist-gawk.txt b/filelist-gawk.txt new file mode 100644 index 0000000..36178d1 --- /dev/null +++ b/filelist-gawk.txt @@ -0,0 +1 @@ +/usr/bin/awk diff --git a/filelist-grep.txt b/filelist-grep.txt new file mode 100644 index 0000000..d092e4e --- /dev/null +++ b/filelist-grep.txt @@ -0,0 +1,3 @@ +/usr/bin/egrep +/usr/bin/fgrep +/usr/bin/grep diff --git a/filelist-gzip.txt b/filelist-gzip.txt new file mode 100644 index 0000000..6fbf20d --- /dev/null +++ b/filelist-gzip.txt @@ -0,0 +1,4 @@ +/usr/bin/gunzip +/usr/bin/gzip +/usr/bin/uncompress +/usr/bin/zcat diff --git a/filelist-hexedit.txt b/filelist-hexedit.txt new file mode 100644 index 0000000..e80c5fe --- /dev/null +++ b/filelist-hexedit.txt @@ -0,0 +1 @@ +/usr/bin/hexedit diff --git a/filelist-hostname.txt b/filelist-hostname.txt new file mode 100644 index 0000000..ac40bd3 --- /dev/null +++ b/filelist-hostname.txt @@ -0,0 +1,2 @@ +/usr/bin/dnsdomainname +/usr/bin/hostname diff --git a/filelist-iproute2.txt b/filelist-iproute2.txt new file mode 100644 index 0000000..680b353 --- /dev/null +++ b/filelist-iproute2.txt @@ -0,0 +1,12 @@ +/usr/bin/ip +/usr/sbin/ip +/usr/sbin/tc +/usr/sbin/ifdown +/usr/sbin/ifenslave +/usr/sbin/ifup +/usr/sbin/ipaddr +/usr/sbin/iplink +/usr/sbin/ipneigh +/usr/sbin/iproute +/usr/sbin/iprule +/usr/sbin/brctl diff --git a/filelist-iputils.txt b/filelist-iputils.txt new file mode 100644 index 0000000..a15a911 --- /dev/null +++ b/filelist-iputils.txt @@ -0,0 +1,3 @@ +/usr/bin/arping +/usr/bin/ping +/usr/bin/ping6 diff --git a/filelist-kbd.txt b/filelist-kbd.txt new file mode 100644 index 0000000..5299350 --- /dev/null +++ b/filelist-kbd.txt @@ -0,0 +1,9 @@ +/usr/bin/chvt +/usr/bin/deallocvt +/usr/bin/openvt +/usr/bin/setfont +/usr/bin/setkeycodes +/usr/bin/setlogcons +/usr/bin/showkey +/usr/bin/vlock +/usr/sbin/loadfont diff --git a/filelist-kmod.txt b/filelist-kmod.txt new file mode 100644 index 0000000..e2e6cf2 --- /dev/null +++ b/filelist-kmod.txt @@ -0,0 +1,7 @@ +/usr/bin/lsmod +/usr/sbin/depmod +/usr/sbin/insmod +/usr/sbin/lsmod +/usr/sbin/modinfo +/usr/sbin/modprobe +/usr/sbin/rmmod diff --git a/filelist-less.txt b/filelist-less.txt new file mode 100644 index 0000000..427440a --- /dev/null +++ b/filelist-less.txt @@ -0,0 +1 @@ +/usr/bin/less diff --git a/filelist-man.txt b/filelist-man.txt new file mode 100644 index 0000000..ab54f68 --- /dev/null +++ b/filelist-man.txt @@ -0,0 +1 @@ +/usr/bin/man diff --git a/filelist-misc.txt b/filelist-misc.txt new file mode 100644 index 0000000..ae17428 --- /dev/null +++ b/filelist-misc.txt @@ -0,0 +1,36 @@ +/usr/bin/ar +/usr/bin/lzop +/usr/bin/resize +/usr/sbin/setconsole +/usr/bin/chattr +/usr/bin/lsattr +/usr/bin/cryptpw +/usr/bin/ascii +/usr/bin/beep +/usr/bin/lsscsi +/usr/sbin/seedrng +/usr/bin/strings +/usr/bin/tree +/usr/bin/ttysize +/usr/sbin/nbd-client +/usr/bin/pscan +/usr/bin/ssl_client +/usr/sbin/zcip +/usr/bin/iostat +/usr/bin/lsof +/usr/bin/mpstat +/usr/bin/nmeter +/usr/bin/smemcap +/usr/bin/envdir +/usr/bin/fatattr +/usr/bin/xxd +/usr/bin/lspci +/usr/bin/lsusb +/usr/sbin/mdev +/usr/bin/mesg +/usr/sbin/mke2fs +/usr/sbin/mkfs.ext2 +/usr/sbin/mkdosfs +/usr/sbin/mkfs.vfat +/usr/sbin/uevent +/usr/bin/wall diff --git a/filelist-ncurses-utils.txt b/filelist-ncurses-utils.txt new file mode 100644 index 0000000..2193842 --- /dev/null +++ b/filelist-ncurses-utils.txt @@ -0,0 +1,2 @@ +/usr/bin/clear +/usr/bin/reset diff --git a/filelist-net-tools.txt b/filelist-net-tools.txt new file mode 100644 index 0000000..42594d8 --- /dev/null +++ b/filelist-net-tools.txt @@ -0,0 +1,8 @@ +/usr/sbin/ether-wake +/usr/sbin/nameif +/usr/sbin/slattach +/usr/bin/ifconfig +/usr/bin/netstat +/usr/bin/route +/usr/sbin/arp +/usr/sbin/iptunnel diff --git a/filelist-netcat-openbsd.txt b/filelist-netcat-openbsd.txt new file mode 100644 index 0000000..4341781 --- /dev/null +++ b/filelist-netcat-openbsd.txt @@ -0,0 +1 @@ +/usr/bin/nc diff --git a/filelist-patch.txt b/filelist-patch.txt new file mode 100644 index 0000000..cf8ea5d --- /dev/null +++ b/filelist-patch.txt @@ -0,0 +1 @@ +/usr/bin/patch diff --git a/filelist-policycoreutils.txt b/filelist-policycoreutils.txt new file mode 100644 index 0000000..2bda995 --- /dev/null +++ b/filelist-policycoreutils.txt @@ -0,0 +1,6 @@ +/usr/bin/sestatus +/usr/sbin/load_policy +/usr/sbin/restorecon +/usr/sbin/sestatus +/usr/sbin/setfiles +/usr/sbin/setsebool diff --git a/filelist-procps.txt b/filelist-procps.txt new file mode 100644 index 0000000..8e8ec75 --- /dev/null +++ b/filelist-procps.txt @@ -0,0 +1,11 @@ +/usr/bin/free +/usr/bin/pgrep +/usr/bin/pidof +/usr/bin/pkill +/usr/bin/pmap +/usr/bin/ps +/usr/bin/pwdx +/usr/bin/top +/usr/bin/w +/usr/bin/watch +/usr/sbin/sysctl diff --git a/filelist-psmisc.txt b/filelist-psmisc.txt new file mode 100644 index 0000000..c51f34f --- /dev/null +++ b/filelist-psmisc.txt @@ -0,0 +1,3 @@ +/usr/bin/fuser +/usr/bin/killall +/usr/bin/pstree diff --git a/filelist-sed.txt b/filelist-sed.txt new file mode 100644 index 0000000..bee61aa --- /dev/null +++ b/filelist-sed.txt @@ -0,0 +1 @@ +/usr/bin/sed diff --git a/filelist-selinux-tools.txt b/filelist-selinux-tools.txt new file mode 100644 index 0000000..b98e2be --- /dev/null +++ b/filelist-selinux-tools.txt @@ -0,0 +1,5 @@ +/usr/sbin/getenforce +/usr/sbin/getsebool +/usr/sbin/matchpathcon +/usr/sbin/selinuxenabled +/usr/sbin/setenforce diff --git a/filelist-sendmail.txt b/filelist-sendmail.txt new file mode 100644 index 0000000..baa49ef --- /dev/null +++ b/filelist-sendmail.txt @@ -0,0 +1 @@ +/usr/sbin/sendmail diff --git a/filelist-sh.txt b/filelist-sh.txt new file mode 100644 index 0000000..94a69c5 --- /dev/null +++ b/filelist-sh.txt @@ -0,0 +1,3 @@ +/usr/bin/ash +/usr/bin/hush +/usr/bin/sh diff --git a/filelist-sha3sum.txt b/filelist-sha3sum.txt new file mode 100644 index 0000000..29c525e --- /dev/null +++ b/filelist-sha3sum.txt @@ -0,0 +1 @@ +/usr/bin/sha3sum diff --git a/filelist-shadow.txt b/filelist-shadow.txt new file mode 100644 index 0000000..a4f6a36 --- /dev/null +++ b/filelist-shadow.txt @@ -0,0 +1,6 @@ +/usr/bin/passwd +/usr/sbin/chpasswd +/usr/sbin/addgroup +/usr/sbin/adduser +/usr/sbin/delgroup +/usr/sbin/deluser diff --git a/filelist-sharutils.txt b/filelist-sharutils.txt new file mode 100644 index 0000000..371a52a --- /dev/null +++ b/filelist-sharutils.txt @@ -0,0 +1,2 @@ +/usr/bin/uudecode +/usr/bin/uuencode diff --git a/filelist-syslogd.txt b/filelist-syslogd.txt new file mode 100644 index 0000000..ebb389d --- /dev/null +++ b/filelist-syslogd.txt @@ -0,0 +1 @@ +/usr/sbin/syslogd diff --git a/filelist-sysvinit-tools.txt b/filelist-sysvinit-tools.txt new file mode 100644 index 0000000..012d10e --- /dev/null +++ b/filelist-sysvinit-tools.txt @@ -0,0 +1,3 @@ +/usr/bin/fsync +/usr/bin/usleep +/usr/sbin/killall5 diff --git a/filelist-tar.txt b/filelist-tar.txt new file mode 100644 index 0000000..76bf8ad --- /dev/null +++ b/filelist-tar.txt @@ -0,0 +1 @@ +/usr/bin/tar diff --git a/filelist-telnet.txt b/filelist-telnet.txt new file mode 100644 index 0000000..c9e66c7 --- /dev/null +++ b/filelist-telnet.txt @@ -0,0 +1 @@ +/usr/bin/telnet diff --git a/filelist-tftp.txt b/filelist-tftp.txt new file mode 100644 index 0000000..6b010bc --- /dev/null +++ b/filelist-tftp.txt @@ -0,0 +1 @@ +/usr/bin/tftp diff --git a/filelist-time.txt b/filelist-time.txt new file mode 100644 index 0000000..0d3cdd0 --- /dev/null +++ b/filelist-time.txt @@ -0,0 +1 @@ +/usr/bin/time diff --git a/filelist-traceroute.txt b/filelist-traceroute.txt new file mode 100644 index 0000000..ab1df0f --- /dev/null +++ b/filelist-traceroute.txt @@ -0,0 +1,2 @@ +/usr/sbin/traceroute +/usr/sbin/traceroute6 diff --git a/filelist-tunctl.txt b/filelist-tunctl.txt new file mode 100644 index 0000000..4e18d6b --- /dev/null +++ b/filelist-tunctl.txt @@ -0,0 +1 @@ +/usr/sbin/tunctl diff --git a/filelist-udhcpc.txt b/filelist-udhcpc.txt new file mode 100644 index 0000000..5362694 --- /dev/null +++ b/filelist-udhcpc.txt @@ -0,0 +1,2 @@ +/usr/sbin/udhcpc +/usr/sbin/udhcpc6 diff --git a/filelist-unzip.txt b/filelist-unzip.txt new file mode 100644 index 0000000..5703e00 --- /dev/null +++ b/filelist-unzip.txt @@ -0,0 +1 @@ +/usr/bin/unzip diff --git a/filelist-util-linux-systemd.txt b/filelist-util-linux-systemd.txt new file mode 100644 index 0000000..fb341a4 --- /dev/null +++ b/filelist-util-linux-systemd.txt @@ -0,0 +1 @@ +/usr/bin/logger diff --git a/filelist-util-linux.txt b/filelist-util-linux.txt new file mode 100644 index 0000000..1ca3011 --- /dev/null +++ b/filelist-util-linux.txt @@ -0,0 +1,36 @@ +/usr/bin/cal +/usr/bin/dmesg +/usr/bin/fallocate +/usr/bin/flock +/usr/bin/getopt +/usr/bin/hexdump +/usr/bin/ipcrm +/usr/bin/ipcs +/usr/bin/kill +/usr/bin/linux32 +/usr/bin/linux64 +/usr/bin/login +/usr/bin/more +/usr/bin/mount +/usr/bin/mountpoint +/usr/bin/nsenter +/usr/bin/renice +/usr/bin/rev +/usr/bin/script +/usr/bin/scriptreplay +/usr/bin/setarch +/usr/bin/setpriv +/usr/bin/setsid +/usr/bin/su +/usr/bin/umount +/usr/bin/unshare +/usr/sbin/blkid +/usr/sbin/fdisk +/usr/sbin/findfs +/usr/sbin/fsck +/usr/sbin/losetup +/usr/sbin/mkswap +/usr/sbin/nologin +/usr/sbin/sulogin +/usr/sbin/switch_root +/usr/bin/last diff --git a/filelist-vim.txt b/filelist-vim.txt new file mode 100644 index 0000000..8be4d5d --- /dev/null +++ b/filelist-vim.txt @@ -0,0 +1 @@ +/usr/bin/vi diff --git a/filelist-vlan.txt b/filelist-vlan.txt new file mode 100644 index 0000000..da98dc2 --- /dev/null +++ b/filelist-vlan.txt @@ -0,0 +1 @@ +/usr/sbin/vconfig diff --git a/filelist-wget.txt b/filelist-wget.txt new file mode 100644 index 0000000..2d65c3c --- /dev/null +++ b/filelist-wget.txt @@ -0,0 +1 @@ +/usr/bin/wget diff --git a/filelist-which.txt b/filelist-which.txt new file mode 100644 index 0000000..83eaa14 --- /dev/null +++ b/filelist-which.txt @@ -0,0 +1 @@ +/usr/bin/which diff --git a/filelist-whois.txt b/filelist-whois.txt new file mode 100644 index 0000000..c3f0bf0 --- /dev/null +++ b/filelist-whois.txt @@ -0,0 +1,2 @@ +/usr/bin/mkpasswd +/usr/bin/whois diff --git a/filelist-xz.txt b/filelist-xz.txt new file mode 100644 index 0000000..846eb05 --- /dev/null +++ b/filelist-xz.txt @@ -0,0 +1,6 @@ +/usr/bin/lzcat +/usr/bin/lzma +/usr/bin/unlzma +/usr/bin/unxz +/usr/bin/xz +/usr/bin/xzcat diff --git a/zgrep b/zgrep new file mode 100644 index 0000000..98022f7 --- /dev/null +++ b/zgrep @@ -0,0 +1,131 @@ +#!/bin/sh +# +# Copyright (c) 2003 Thomas Klausner. +# +# Redistribution and use in source and binary forms, with or without +# modification, are permitted provided that the following conditions +# are met: +# 1. Redistributions of source code must retain the above copyright +# notice, this list of conditions and the following disclaimer. +# 2. Redistributions in binary form must reproduce the above copyright +# notice, this list of conditions and the following disclaimer in the +# documentation and/or other materials provided with the distribution. +# +# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR +# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, +# INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +# NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +# THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + +endofopts=0 +pattern_found=0 +grep_args="" +hyphen=0 +silent=0 + +prog=${0##*/} + +# handle being called 'zegrep' or 'zfgrep' +case $prog in + *egrep*) prog=zegrep; grep_args='-E';; + *fgrep*) prog=zfgrep; grep_args='-F';; + *) prog=zgrep;; +esac + +# skip all options and pass them on to grep taking care of options +# with arguments, and if -e was supplied + +while [ "$#" -gt 0 ] && [ "${endofopts}" -eq 0 ]; do + case "$1" in + # from GNU grep-2.5.1 -- keep in sync! + -[ABCDXdefm]) + if [ "$#" -lt 2 ]; then + printf '%s: missing argument for %s flag\n' "${prog}" "$1" >&2 + exit 1 + fi + case "$1" in + -e) + pattern="$2" + pattern_found=1 + shift 2 + break + ;; + -f) + pattern_found=2 + ;; + *) + ;; + esac + grep_args="${grep_args} $1 $2" + shift 2 + ;; + --) + shift + endofopts=1 + ;; + -) + hyphen=1 + shift + ;; + -h) + silent=1 + shift + ;; + -*) + grep_args="${grep_args} $1" + shift + ;; + *) + # pattern to grep for + endofopts=1 + ;; + esac +done + +# if no -e option was found, take next argument as grep-pattern +if [ "${pattern_found}" -lt 1 ]; then + if [ "$#" -ge 1 ]; then + pattern="$1" + shift + elif [ "${hyphen}" -gt 0 ]; then + pattern="-" + else + printf '%s: missing pattern\n' "${prog}" >&2 + exit 1 + fi +fi + +EXIT_CODE=0 +# call grep ... +if [ "$#" -lt 1 ]; then + # ... on stdin + set -f # Disable file name generation (globbing). + # shellcheck disable=SC2086 + "zcat" - | "grep" ${grep_args} -- "${pattern}" - + EXIT_CODE=$? + set +f +else + # ... on all files given on the command line + if [ "${silent}" -lt 1 ] && [ "$#" -gt 1 ]; then + grep_args="-H ${grep_args}" + fi + set -f + while [ "$#" -gt 0 ]; do + # shellcheck disable=SC2086 + if [ $pattern_found -eq 2 ]; then + "zcat" -- "$1" | "grep" ${grep_args} -- - + else + "zcat" -- "$1" | "grep" ${grep_args} -- "${pattern}" - + fi + [ "$?" -ne 0 ] && EXIT_CODE=1 + shift + done + set +f +fi + +exit "${EXIT_CODE}" diff --git a/zless b/zless new file mode 100644 index 0000000..f969d72 --- /dev/null +++ b/zless @@ -0,0 +1,26 @@ +#!/bin/sh +# Copyright (c) 2022 SUSE LLC +# +# Redistribution and use in source and binary forms, with or without modification, +# are permitted provided that the following conditions are met: + +# * Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. + +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +export LESSOPEN="|-gzip -cdfq %s" +exec less "$@" diff --git a/zmore b/zmore new file mode 100644 index 0000000..adb39a3 --- /dev/null +++ b/zmore @@ -0,0 +1,25 @@ +#!/bin/sh +# Copyright (c) 2022 SUSE LLC +# +# Redistribution and use in source and binary forms, with or without modification, +# are permitted provided that the following conditions are met: + +# * Redistributions of source code must retain the above copyright notice, this +# list of conditions and the following disclaimer. +# * Redistributions in binary form must reproduce the above copyright notice, +# this list of conditions and the following disclaimer in the documentation +# and/or other materials provided with the distribution. + +# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" +# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE +# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE +# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE +# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR +# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF +# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS +# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN +# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) +# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE +# POSSIBILITY OF SUCH DAMAGE. + +exec zcat "$@" | more