Sync from SUSE:ALP:Source:Standard:1.0 busybox-links revision 5928db82f5966dfe2f71d3d3d5b97374

This commit is contained in:
Adrian Schröter 2023-12-21 13:34:46 +01:00
commit 844efe1763
64 changed files with 1717 additions and 0 deletions

23
.gitattributes vendored Normal file
View File

@ -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

8
Dockerfile Normal file
View File

@ -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

3
busybox-links-rpmlintrc Normal file
View File

@ -0,0 +1,3 @@
addFilter('permissions-symlink')
addFilter('no-url-tag')
addFilter('dangling-symlink .* /usr/bin/busybox')

242
busybox-links.changes Normal file
View File

@ -0,0 +1,242 @@
-------------------------------------------------------------------
Fri Dec 8 14:12:35 UTC 2023 - Thorsten Kukuk <kukuk@suse.com>
- Add new sub-package for udhcpc
-------------------------------------------------------------------
Mon Nov 20 12:58:07 UTC 2023 - Dirk Müller <dmueller@suse.com>
- 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 <kukuk@suse.com>
- Add conflict for coreutils-systemd, package got splitted
-------------------------------------------------------------------
Wed Aug 30 07:06:43 UTC 2023 - Fabian Vogt <fvogt@suse.com>
- Don't build the Dockerfile in OBS, it's for development only
-------------------------------------------------------------------
Mon Aug 14 11:56:07 UTC 2023 - Dan Čermák <dcermak@suse.com>
- Check in filelists instead of buildrequiring all non-busybox utils
-------------------------------------------------------------------
Thu Jun 29 13:34:39 UTC 2023 - Thorsten Kukuk <kukuk@suse.com>
- 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 <lnussel@suse.com>
- Replace transitional %usrmerged macro with regular version check (boo#1206798)
-------------------------------------------------------------------
Fri Sep 16 15:12:44 UTC 2022 - Thorsten Kukuk <kukuk@suse.com>
- Add missing new requires for busybox-sha3sum
-------------------------------------------------------------------
Fri Sep 16 13:14:35 UTC 2022 - Thorsten Kukuk <kukuk@suse.com>
- Create sub-package "hexedit" [bsc#1203399]
- Create sub-package "sha3sum" [bsc#1203397]
-------------------------------------------------------------------
Tue Mar 15 12:58:38 UTC 2022 - Dirk Müller <dmueller@suse.com>
- 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 <kukuk@suse.com>
- Drop update-alternatives support
-------------------------------------------------------------------
Fri Oct 22 15:57:07 UTC 2021 - Stefan Schubert <schubi@suse.de>
- 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 <schubi@suse.com>
- Use libalternatives instead of update-alternatives.
-------------------------------------------------------------------
Mon Aug 2 13:51:13 UTC 2021 - Thorsten Kukuk <kukuk@suse.com>
- Add shadow as BuildRequires
-------------------------------------------------------------------
Thu Jul 1 13:07:07 UTC 2021 - Thorsten Kukuk <kukuk@suse.com>
- Add util-linux-systemd as BuildRequires
-------------------------------------------------------------------
Mon Mar 15 10:50:09 UTC 2021 - Ludwig Nussel <lnussel@suse.de>
- 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 <lnussel@suse.de>
- prepare usrmerge (boo#1029961)
-------------------------------------------------------------------
Tue Feb 2 15:57:47 UTC 2021 - Thorsten Kukuk <kukuk@suse.com>
- Add zmore and zless
-------------------------------------------------------------------
Mon Dec 28 08:37:18 UTC 2020 - Dominique Leuenberger <dimstar@opensuse.org>
- busybox-sendmail also conflicts with the postfix-bdb flavor.
-------------------------------------------------------------------
Wed Dec 9 14:41:57 UTC 2020 - Thorsten Kukuk <kukuk@suse.com>
- busybox-adduser needs "nogroup" for system accounts, which have
no group specified.
-------------------------------------------------------------------
Tue Dec 1 14:38:57 UTC 2020 - Dominique Leuenberger <dimstar@opensuse.org>
- Add conflicts: bridge-utils to busybox-iproute2: both packages
provide /usr/sbin/brctl.
-------------------------------------------------------------------
Tue Sep 29 10:02:38 UTC 2020 - Thorsten Kukuk <kukuk@suse.com>
- Don't fail if rpm will not be build
-------------------------------------------------------------------
Mon Sep 21 07:41:13 UTC 2020 - Thorsten Kukuk <kukuk@suse.com>
- 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 <dimstar@opensuse.org>
- busybox-vi: also conflict with gvim, one more vi variant.
-------------------------------------------------------------------
Fri Sep 11 10:21:46 UTC 2020 - Thorsten Kukuk <kukuk@suse.com>
- busybox-vi: conflict with all vi variants
-------------------------------------------------------------------
Fri Aug 28 08:09:37 UTC 2020 - Thorsten Kukuk <kukuk@suse.com>
- Add zgrep to gzip sub-package
-------------------------------------------------------------------
Thu Aug 13 09:30:48 UTC 2020 - Thorsten Kukuk <kukuk@suse.com>
- Fix typo in spec file
-------------------------------------------------------------------
Wed Aug 12 14:29:02 UTC 2020 - Thorsten Kukuk <kukuk@suse.com>
- Create new sub-packages: selinux-tools and policycoreutils
-------------------------------------------------------------------
Tue Jul 28 12:28:36 UTC 2020 - Thorsten Kukuk <kukuk@suse.com>
- 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 <kukuk@suse.com>
- Create busybox-{dos2unix,telnet,tftp,time,tunctl,vlan,sysvinit-tools}
-------------------------------------------------------------------
Thu Jul 23 12:36:22 UTC 2020 - Thorsten Kukuk <kukuk@suse.com>
- Create busybox-ed, busybox-bc and busybox-netcat
- Fix filelist of busybox-iproute2
-------------------------------------------------------------------
Wed Jul 22 09:49:56 UTC 2020 - Thorsten Kukuk <kukuk@suse.com>
- 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 <kukuk@suse.com>
- Add provides smtp_daemon to busybox-sendmail
-------------------------------------------------------------------
Thu Jun 11 09:48:18 UTC 2020 - Thorsten Kukuk <kukuk@suse.com>
- Create own busybox-adduser sub-package
-------------------------------------------------------------------
Fri May 29 05:13:50 UTC 2020 - Ismail Dönmez <idonmez@suse.com>
- Add conflicts: mawk to busybox-gawk
-------------------------------------------------------------------
Mon May 18 13:42:58 UTC 2020 - Dominique Leuenberger <dimstar@opensuse.org>
- 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 <kukuk@suse.com>
- Create own busybox-sendmail sub-package
-------------------------------------------------------------------
Tue May 12 11:11:27 UTC 2020 - Dominique Leuenberger <dimstar@opensuse.org>
- Specify conflict between busybox-misc and exim: both provide
/usr/sbin/sendmail.
-------------------------------------------------------------------
Mon May 4 11:17:46 UTC 2020 - Thorsten Kukuk <kukuk@suse.com>
- Remove bash conflict from busybox-sh as bash got fixed
-------------------------------------------------------------------
Mon Apr 27 15:13:45 UTC 2020 - Thorsten Kukuk <kukuk@suse.com>
- 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 <kukuk@suse.com>
- Fix update-alternatives usage
-------------------------------------------------------------------
Sat Apr 18 06:38:57 UTC 2020 - Thorsten Kukuk <kukuk@suse.com>
- Use update-alternatives for sh
-------------------------------------------------------------------
Fri Apr 17 09:41:08 UTC 2020 - Thorsten Kukuk <kukuk@suse.com>
- Add conflicts for files to busybox-misc
-------------------------------------------------------------------
Wed Apr 15 07:08:09 UTC 2020 - Thorsten Kukuk <kukuk@suse.com>
- Add missing requires for busybox-sh
-------------------------------------------------------------------
Sat Mar 14 09:03:28 UTC 2020 - Thorsten Kukuk <kukuk@suse.com>
- Initial version

741
busybox-links.spec Normal file
View File

@ -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

137
busybox.install Normal file
View File

@ -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

83
create-filelists.sh Normal file
View File

@ -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

1
filelist-attr.txt Normal file
View File

@ -0,0 +1 @@
/usr/bin/setfattr

1
filelist-bc.txt Normal file
View File

@ -0,0 +1 @@
/usr/bin/bc

1
filelist-bind-utils.txt Normal file
View File

@ -0,0 +1 @@
/usr/bin/nslookup

3
filelist-bzip2.txt Normal file
View File

@ -0,0 +1,3 @@
/usr/bin/bunzip2
/usr/bin/bzcat
/usr/bin/bzip2

90
filelist-coreutils.txt Normal file
View File

@ -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

1
filelist-cpio.txt Normal file
View File

@ -0,0 +1 @@
/usr/bin/cpio

2
filelist-diffutils.txt Normal file
View File

@ -0,0 +1,2 @@
/usr/bin/cmp
/usr/bin/diff

2
filelist-dos2unix.txt Normal file
View File

@ -0,0 +1,2 @@
/usr/bin/dos2unix
/usr/bin/unix2dos

1
filelist-ed.txt Normal file
View File

@ -0,0 +1 @@
/usr/bin/ed

2
filelist-findutils.txt Normal file
View File

@ -0,0 +1,2 @@
/usr/bin/find
/usr/bin/xargs

1
filelist-gawk.txt Normal file
View File

@ -0,0 +1 @@
/usr/bin/awk

3
filelist-grep.txt Normal file
View File

@ -0,0 +1,3 @@
/usr/bin/egrep
/usr/bin/fgrep
/usr/bin/grep

4
filelist-gzip.txt Normal file
View File

@ -0,0 +1,4 @@
/usr/bin/gunzip
/usr/bin/gzip
/usr/bin/uncompress
/usr/bin/zcat

1
filelist-hexedit.txt Normal file
View File

@ -0,0 +1 @@
/usr/bin/hexedit

2
filelist-hostname.txt Normal file
View File

@ -0,0 +1,2 @@
/usr/bin/dnsdomainname
/usr/bin/hostname

12
filelist-iproute2.txt Normal file
View File

@ -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

3
filelist-iputils.txt Normal file
View File

@ -0,0 +1,3 @@
/usr/bin/arping
/usr/bin/ping
/usr/bin/ping6

9
filelist-kbd.txt Normal file
View File

@ -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

7
filelist-kmod.txt Normal file
View File

@ -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

1
filelist-less.txt Normal file
View File

@ -0,0 +1 @@
/usr/bin/less

1
filelist-man.txt Normal file
View File

@ -0,0 +1 @@
/usr/bin/man

36
filelist-misc.txt Normal file
View File

@ -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

View File

@ -0,0 +1,2 @@
/usr/bin/clear
/usr/bin/reset

8
filelist-net-tools.txt Normal file
View File

@ -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

View File

@ -0,0 +1 @@
/usr/bin/nc

1
filelist-patch.txt Normal file
View File

@ -0,0 +1 @@
/usr/bin/patch

View File

@ -0,0 +1,6 @@
/usr/bin/sestatus
/usr/sbin/load_policy
/usr/sbin/restorecon
/usr/sbin/sestatus
/usr/sbin/setfiles
/usr/sbin/setsebool

11
filelist-procps.txt Normal file
View File

@ -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

3
filelist-psmisc.txt Normal file
View File

@ -0,0 +1,3 @@
/usr/bin/fuser
/usr/bin/killall
/usr/bin/pstree

1
filelist-sed.txt Normal file
View File

@ -0,0 +1 @@
/usr/bin/sed

View File

@ -0,0 +1,5 @@
/usr/sbin/getenforce
/usr/sbin/getsebool
/usr/sbin/matchpathcon
/usr/sbin/selinuxenabled
/usr/sbin/setenforce

1
filelist-sendmail.txt Normal file
View File

@ -0,0 +1 @@
/usr/sbin/sendmail

3
filelist-sh.txt Normal file
View File

@ -0,0 +1,3 @@
/usr/bin/ash
/usr/bin/hush
/usr/bin/sh

1
filelist-sha3sum.txt Normal file
View File

@ -0,0 +1 @@
/usr/bin/sha3sum

6
filelist-shadow.txt Normal file
View File

@ -0,0 +1,6 @@
/usr/bin/passwd
/usr/sbin/chpasswd
/usr/sbin/addgroup
/usr/sbin/adduser
/usr/sbin/delgroup
/usr/sbin/deluser

2
filelist-sharutils.txt Normal file
View File

@ -0,0 +1,2 @@
/usr/bin/uudecode
/usr/bin/uuencode

1
filelist-syslogd.txt Normal file
View File

@ -0,0 +1 @@
/usr/sbin/syslogd

View File

@ -0,0 +1,3 @@
/usr/bin/fsync
/usr/bin/usleep
/usr/sbin/killall5

1
filelist-tar.txt Normal file
View File

@ -0,0 +1 @@
/usr/bin/tar

1
filelist-telnet.txt Normal file
View File

@ -0,0 +1 @@
/usr/bin/telnet

1
filelist-tftp.txt Normal file
View File

@ -0,0 +1 @@
/usr/bin/tftp

1
filelist-time.txt Normal file
View File

@ -0,0 +1 @@
/usr/bin/time

2
filelist-traceroute.txt Normal file
View File

@ -0,0 +1,2 @@
/usr/sbin/traceroute
/usr/sbin/traceroute6

1
filelist-tunctl.txt Normal file
View File

@ -0,0 +1 @@
/usr/sbin/tunctl

2
filelist-udhcpc.txt Normal file
View File

@ -0,0 +1,2 @@
/usr/sbin/udhcpc
/usr/sbin/udhcpc6

1
filelist-unzip.txt Normal file
View File

@ -0,0 +1 @@
/usr/bin/unzip

View File

@ -0,0 +1 @@
/usr/bin/logger

36
filelist-util-linux.txt Normal file
View File

@ -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

1
filelist-vim.txt Normal file
View File

@ -0,0 +1 @@
/usr/bin/vi

1
filelist-vlan.txt Normal file
View File

@ -0,0 +1 @@
/usr/sbin/vconfig

1
filelist-wget.txt Normal file
View File

@ -0,0 +1 @@
/usr/bin/wget

1
filelist-which.txt Normal file
View File

@ -0,0 +1 @@
/usr/bin/which

2
filelist-whois.txt Normal file
View File

@ -0,0 +1,2 @@
/usr/bin/mkpasswd
/usr/bin/whois

6
filelist-xz.txt Normal file
View File

@ -0,0 +1,6 @@
/usr/bin/lzcat
/usr/bin/lzma
/usr/bin/unlzma
/usr/bin/unxz
/usr/bin/xz
/usr/bin/xzcat

131
zgrep Normal file
View File

@ -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}"

26
zless Normal file
View File

@ -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 "$@"

25
zmore Normal file
View File

@ -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