diff --git a/compat-usrmerge.changes b/compat-usrmerge.changes index 486c239..4572341 100644 --- a/compat-usrmerge.changes +++ b/compat-usrmerge.changes @@ -1,3 +1,8 @@ +------------------------------------------------------------------- +Mon Mar 15 17:41:10 UTC 2021 - Ludwig Nussel + +- update file lists based on current factory data + ------------------------------------------------------------------- Thu Feb 25 10:22:09 UTC 2021 - Ludwig Nussel diff --git a/usrmerge_binsbindeps.lua b/usrmerge_binsbindeps.lua index dd7dcd9..358b92e 100644 --- a/usrmerge_binsbindeps.lua +++ b/usrmerge_binsbindeps.lua @@ -1,112 +1,97 @@ usrmerge_binsbindeps = { --- sgml-skel xorg-x11-Xvnc -["/bin/awk"] = 1, --- glibc-locale-base jfbterm lsb uisp -["/bin/cat"] = 1, --- lsb -["/bin/chgrp"] = 1, --- logdigest lsb -["/bin/chmod"] = 1, --- lsb -["/bin/chown"] = 1, --- lsb lynx -["/bin/cp"] = 1, --- dds2tar dt fpc-src lua-lmod petsc-devel petsc-openmpi1-devel petsc-openmpi2-devel petsc-openmpi3-devel petsc_3_14_1-gnu-mpich-hpc-devel petsc_3_14_1-gnu-mvapich2-hpc-devel petsc_3_14_1-gnu-openmpi1-hpc-devel petsc_3_14_1-gnu-openmpi2-hpc-devel petsc_3_14_1-gnu-openmpi3-hpc-devel python3-pymol rasmol texlive-latexmk-doc texlive-minitoc-doc texlive-seetexk-bin -["/bin/csh"] = 1, --- lsb -["/bin/dd"] = 1, --- lsb -["/bin/df"] = 1, --- lsb -["/bin/echo"] = 1, --- lsb -["/bin/false"] = 1, --- lsb sendmail -["/bin/fuser"] = 1, --- sysconfig-netconfig -["/bin/gawk"] = 1, --- hplip os-prober -["/bin/grep"] = 1, --- lsb mariadb openwsman-server patch2mail xorg-x11-Xvnc xplatproviders -["/bin/hostname"] = 1, --- lsb -["/bin/kill"] = 1, --- compiz-branding-SLED compiz-branding-openSUSE compiz-branding-upstream ini4j-javadoc install-initrd-Kubic install-initrd-MicroOS install-initrd-openSUSE ksh lsb -["/bin/ln"] = 1, --- lsb nagios nagios-www ntp sca-appliance-common sysconfig-netconfig -["/bin/logger"] = 1, --- lsb vnstat -["/bin/ls"] = 1, --- lsb texlive-cjk-latex-extras -["/bin/mkdir"] = 1, --- lsb -["/bin/mknod"] = 1, +-- 2ping 389-ds 389-ds-snmp 4ti2 AppStream ... +["/bin/sh"] = 1, +-- 4store AppCSXCAD Cadence ComputeLibrary HepMC-devel ... +["/bin/bash"] = 1, +-- FreeCAD Herwig-libs Mesa Mesa-libEGL1 Mesa-libGL1 ... +["/sbin/ldconfig"] = 1, -- aaa_base ctdb cvs yast2-printer ["/bin/mktemp"] = 1, --- lsb -["/bin/more"] = 1, --- lsb -["/bin/mount"] = 1, --- lsb -["/bin/mv"] = 1, --- sca-appliance-common -["/bin/ping"] = 1, --- lsb -["/bin/ps"] = 1, --- lsb -["/bin/pwd"] = 1, --- canna compiz-branding-SLED compiz-branding-openSUSE compiz-branding-upstream ini4j-javadoc ksh lsb patch2mail tcl texlive-cjk-latex-extras tk yast2-network -["/bin/rm"] = 1, --- lsb -["/bin/rmdir"] = 1, --- clamav enscript gpm hplip lsb os-prober procmail yast2-bootloader -["/bin/sed"] = 1, --- lsb -["/bin/sleep"] = 1, --- lsb -["/bin/sort"] = 1, --- lsb perl-Term-ReadKey -["/bin/stty"] = 1, --- lsb vnstat -["/bin/su"] = 1, --- lsb -["/bin/sync"] = 1, --- clamav icecream lsb -["/bin/tar"] = 1, --- logdigest lsb sound-theme-freedesktop tei_4 -["/bin/touch"] = 1, --- ksh lsb twin -["/bin/true"] = 1, --- lsb -["/bin/umount"] = 1, --- lsb -["/bin/uname"] = 1, --- kdevplatform -["/bin/zsh"] = 1, --- corosync eid-mw postgresql10-server postgresql11-server postgresql12-server postgresql13-server postgresql95-server postgresql96-server -["/sbin/chkconfig"] = 1, --- sysconfig -["/sbin/ifup"] = 1, --- libgtop-doc -["/sbin/install-info"] = 1, --- vpnc -["/sbin/ip"] = 1, --- setserial -["/sbin/isserial"] = 1, --- mdadm -["/sbin/mkinitrd"] = 1, -- avrdude os-prober uisp ["/sbin/modprobe"] = 1, --- sysconfig -["/sbin/netconfig"] = 1, --- cobbler -["/sbin/service"] = 1, --- lsb -["/sbin/shutdown"] = 1, --- xdm -["/sbin/startproc"] = 1, -- budgie-screensaver xscreensaver ["/sbin/unix2_chkpwd"] = 1, +-- canna compiz-branding-SLED compiz-branding-openSUSE compiz-branding-upstream ini4j-javadoc ... +["/bin/rm"] = 1, +-- clamav enscript gpm hplip lsb ... +["/bin/sed"] = 1, +-- clamav icecream lsb +["/bin/tar"] = 1, +-- cobbler +["/sbin/service"] = 1, +-- compiz-branding-SLED compiz-branding-openSUSE compiz-branding-upstream ini4j-javadoc install-initrd-Kubic ... +["/bin/ln"] = 1, +-- corosync eid-mw postgresql10-server +["/sbin/chkconfig"] = 1, +-- dds2tar dt fpc-src lua-lmod petsc-devel ... +["/bin/csh"] = 1, +-- glibc-locale-base jfbterm lsb uisp +["/bin/cat"] = 1, +-- hplip os-prober +["/bin/grep"] = 1, +-- kdevplatform +["/bin/zsh"] = 1, +-- ksh lsb twin +["/bin/true"] = 1, +-- libgtop-doc +["/sbin/install-info"] = 1, +-- logdigest lsb +["/bin/chmod"] = 1, +-- logdigest lsb sound-theme-freedesktop tei_4 +["/bin/touch"] = 1, +-- lsb +["/bin/chgrp"] = 1, +["/bin/chown"] = 1, +["/bin/dd"] = 1, +["/bin/df"] = 1, +["/bin/echo"] = 1, +["/bin/false"] = 1, +["/bin/kill"] = 1, +["/bin/mknod"] = 1, +["/bin/more"] = 1, +["/bin/mount"] = 1, +["/bin/mv"] = 1, +["/bin/ps"] = 1, +["/bin/pwd"] = 1, +["/bin/rmdir"] = 1, +["/bin/sleep"] = 1, +["/bin/sort"] = 1, +["/bin/sync"] = 1, +["/bin/umount"] = 1, +["/bin/uname"] = 1, +["/sbin/shutdown"] = 1, +-- lsb lynx +["/bin/cp"] = 1, +-- lsb mariadb openwsman-server patch2mail xorg-x11-Xvnc ... +["/bin/hostname"] = 1, +-- lsb nagios nagios-www ntp sca-appliance-common ... +["/bin/logger"] = 1, +-- lsb perl-Term-ReadKey +["/bin/stty"] = 1, +-- lsb sendmail +["/bin/fuser"] = 1, +-- lsb texlive-cjk-latex-extras +["/bin/mkdir"] = 1, +-- lsb vnstat +["/bin/ls"] = 1, +["/bin/su"] = 1, +-- mdadm +["/sbin/mkinitrd"] = 1, -- memtest86+ ["/sbin/update-bootloader"] = 1, +-- sca-appliance-common +["/bin/ping"] = 1, +-- setserial +["/sbin/isserial"] = 1, +-- sgml-skel xorg-x11-Xvnc +["/bin/awk"] = 1, +-- sysconfig +["/sbin/ifup"] = 1, +["/sbin/netconfig"] = 1, +-- sysconfig-netconfig +["/bin/gawk"] = 1, +-- vpnc +["/sbin/ip"] = 1, +-- xdm +["/sbin/startproc"] = 1, } diff --git a/usrmerge_files.lua b/usrmerge_files.lua index bd72b92..134cbc7 100644 --- a/usrmerge_files.lua +++ b/usrmerge_files.lua @@ -18,6 +18,7 @@ usrmerge_files = { ["/sbin/mount.efs"] = 1, -- bash ["/bin/bash"] = 1, +["/bin/sh"] = 1, -- biosdevname ["/sbin/biosdevname"] = 1, -- blktrace @@ -29,6 +30,7 @@ usrmerge_files = { ["/sbin/blogd"] = 1, ["/sbin/blogger"] = 1, ["/sbin/isserial"] = 1, +["/sbin/setconsole"] = 1, ["/sbin/showconsole"] = 1, -- btrfsprogs ["/sbin/btrfs"] = 1, @@ -38,7 +40,12 @@ usrmerge_files = { ["/sbin/btrfstune"] = 1, ["/sbin/fsck.btrfs"] = 1, ["/sbin/mkfs.btrfs"] = 1, --- busybox-coreutils +-- ceph-common +["/sbin/mount.ceph"] = 1, +-- cifs-utils +["/sbin/mount.cifs"] = 1, +["/sbin/mount.smb3"] = 1, +-- coreutils coreutils-single ["/bin/arch"] = 1, ["/bin/basename"] = 1, ["/bin/cat"] = 1, @@ -70,122 +77,8 @@ usrmerge_files = { ["/bin/touch"] = 1, ["/bin/true"] = 1, ["/bin/uname"] = 1, --- busybox-cpio +-- cpio ["/bin/cpio"] = 1, --- busybox-ed -["/bin/ed"] = 1, --- busybox-findutils -["/bin/find"] = 1, --- busybox-gawk -["/bin/awk"] = 1, --- busybox-grep -["/bin/egrep"] = 1, -["/bin/fgrep"] = 1, -["/bin/grep"] = 1, --- busybox-gzip -["/bin/gunzip"] = 1, -["/bin/gzip"] = 1, -["/bin/zcat"] = 1, --- busybox-hostname -["/bin/dnsdomainname"] = 1, -["/bin/hostname"] = 1, --- busybox-iproute2 -["/bin/ip"] = 1, -["/sbin/ip"] = 1, --- busybox-iputils -["/bin/arping"] = 1, -["/bin/ping"] = 1, -["/bin/ping6"] = 1, --- busybox-kbd -["/bin/chvt"] = 1, -["/bin/deallocvt"] = 1, -["/bin/openvt"] = 1, -["/bin/setfont"] = 1, -["/bin/setkeycodes"] = 1, -["/bin/setlogcons"] = 1, -["/bin/showkey"] = 1, -["/sbin/loadkmap"] = 1, --- busybox-kmod -["/bin/lsmod"] = 1, -["/sbin/depmod"] = 1, -["/sbin/insmod"] = 1, -["/sbin/lsmod"] = 1, -["/sbin/modinfo"] = 1, -["/sbin/modprobe"] = 1, -["/sbin/rmmod"] = 1, --- busybox-misc -["/bin/chattr"] = 1, -["/bin/fatattr"] = 1, -["/bin/iostat"] = 1, -["/bin/lsattr"] = 1, -["/bin/lzop"] = 1, -["/bin/makemime"] = 1, -["/bin/mpstat"] = 1, -["/bin/reformime"] = 1, -["/sbin/mdev"] = 1, -["/sbin/mkdosfs"] = 1, -["/sbin/mke2fs"] = 1, -["/sbin/mkfs.ext2"] = 1, -["/sbin/mkfs.vfat"] = 1, -["/sbin/setconsole"] = 1, -["/sbin/uevent"] = 1, -["/sbin/zcip"] = 1, --- busybox-net-tools -["/bin/ifconfig"] = 1, -["/bin/netstat"] = 1, -["/bin/route"] = 1, -["/sbin/arp"] = 1, -["/sbin/ether-wake"] = 1, -["/sbin/iptunnel"] = 1, -["/sbin/nameif"] = 1, -["/sbin/slattach"] = 1, --- busybox-policycoreutils -["/sbin/restorecon"] = 1, -["/sbin/setfiles"] = 1, --- busybox-procps -["/bin/pgrep"] = 1, -["/bin/pkill"] = 1, -["/bin/ps"] = 1, -["/sbin/sysctl"] = 1, --- busybox-psmisc -["/bin/fuser"] = 1, --- busybox-sed -["/bin/sed"] = 1, --- busybox-sh -["/bin/sh"] = 1, --- busybox-sysvinit-tools -["/bin/fsync"] = 1, -["/bin/pidof"] = 1, -["/bin/usleep"] = 1, -["/sbin/killall5"] = 1, -["/sbin/pidof"] = 1, --- busybox-tar -["/bin/tar"] = 1, --- busybox-tunctl -["/sbin/tunctl"] = 1, --- busybox-util-linux -["/bin/dmesg"] = 1, -["/bin/kill"] = 1, -["/bin/logger"] = 1, -["/bin/login"] = 1, -["/bin/more"] = 1, -["/bin/mount"] = 1, -["/bin/su"] = 1, -["/bin/umount"] = 1, -["/sbin/blkid"] = 1, -["/sbin/findfs"] = 1, -["/sbin/fsck"] = 1, -["/sbin/losetup"] = 1, -["/sbin/mkswap"] = 1, -["/sbin/nologin"] = 1, --- busybox-vi -["/bin/vi"] = 1, --- busybox-vlan -["/sbin/vconfig"] = 1, --- ceph-common -["/sbin/mount.ceph"] = 1, --- cifs-utils -["/sbin/mount.cifs"] = 1, -- crda ["/sbin/crda"] = 1, ["/sbin/regdbdump"] = 1, @@ -225,8 +118,10 @@ usrmerge_files = { ["/sbin/fsck.fat"] = 1, ["/sbin/fsck.msdos"] = 1, ["/sbin/fsck.vfat"] = 1, +["/sbin/mkdosfs"] = 1, ["/sbin/mkfs.fat"] = 1, ["/sbin/mkfs.msdos"] = 1, +["/sbin/mkfs.vfat"] = 1, -- dracut ["/sbin/installkernel"] = 1, ["/sbin/mkinitrd"] = 1, @@ -248,6 +143,8 @@ usrmerge_files = { ["/sbin/fsck.ext3"] = 1, ["/sbin/fsck.ext4"] = 1, ["/sbin/logsave"] = 1, +["/sbin/mke2fs"] = 1, +["/sbin/mkfs.ext2"] = 1, ["/sbin/mkfs.ext3"] = 1, ["/sbin/mkfs.ext4"] = 1, ["/sbin/resize2fs"] = 1, @@ -257,6 +154,8 @@ usrmerge_files = { ["/sbin/mount.ecryptfs_private"] = 1, ["/sbin/umount.ecryptfs"] = 1, ["/sbin/umount.ecryptfs_private"] = 1, +-- ed +["/bin/ed"] = 1, -- elilo ["/sbin/elilo"] = 1, ["/sbin/eliloalt"] = 1, @@ -281,29 +180,41 @@ usrmerge_files = { ["/sbin/mount.fedfs"] = 1, -- fillup ["/bin/fillup"] = 1, +-- findutils +["/bin/find"] = 1, -- fuse ["/sbin/mount.fuse"] = 1, -- fuse-exfat ["/sbin/mount.exfat"] = 1, ["/sbin/mount.exfat-fuse"] = 1, --- fuse3 -["/sbin/mount.fuse3"] = 1, -- fxload ["/sbin/fxload"] = 1, -- gawk ["/bin/gawk"] = 1, +-- gawk mawk +["/bin/awk"] = 1, -- glibc ["/sbin/ldconfig"] = 1, -- glusterfs ["/sbin/mount.glusterfs"] = 1, +-- grep +["/bin/egrep"] = 1, +["/bin/fgrep"] = 1, +["/bin/grep"] = 1, -- grubby ["/sbin/grubby"] = 1, ["/sbin/new-kernel-pkg"] = 1, +-- gzip +["/bin/gunzip"] = 1, +["/bin/gzip"] = 1, +["/bin/zcat"] = 1, -- hdparm ["/sbin/hdparm"] = 1, ["/sbin/wiper.sh"] = 1, -- hostname +["/bin/dnsdomainname"] = 1, ["/bin/domainname"] = 1, +["/bin/hostname"] = 1, ["/bin/nisdomainname"] = 1, ["/bin/ypdomainname"] = 1, -- info @@ -315,8 +226,14 @@ usrmerge_files = { -- insserv-compat ["/sbin/chkconfig"] = 1, ["/sbin/insserv"] = 1, +-- iproute2 +["/bin/ip"] = 1, +["/sbin/ip"] = 1, -- iputils +["/bin/arping"] = 1, ["/bin/clockdiff"] = 1, +["/bin/ping"] = 1, +["/bin/ping6"] = 1, ["/bin/tracepath"] = 1, ["/bin/tracepath6"] = 1, ["/sbin/rdisc"] = 1, @@ -324,9 +241,6 @@ usrmerge_files = { ["/sbin/ipvsadm"] = 1, ["/sbin/ipvsadm-restore"] = 1, ["/sbin/ipvsadm-save"] = 1, --- isapnp -["/sbin/isapnp"] = 1, -["/sbin/pnpdump"] = 1, -- iscsiuio ["/sbin/brcm_iscsiuio"] = 1, ["/sbin/iscsiuio"] = 1, @@ -340,7 +254,9 @@ usrmerge_files = { ["/sbin/jfs_tune"] = 1, ["/sbin/mkfs.jfs"] = 1, -- kbd +["/bin/chvt"] = 1, ["/bin/clrunimap"] = 1, +["/bin/deallocvt"] = 1, ["/bin/dumpkeys"] = 1, ["/bin/fgconsole"] = 1, ["/bin/getkeycodes"] = 1, @@ -351,6 +267,7 @@ usrmerge_files = { ["/bin/loadkeys"] = 1, ["/bin/loadunimap"] = 1, ["/bin/mapscrn"] = 1, +["/bin/openvt"] = 1, ["/bin/outpsfheader"] = 1, ["/bin/psfaddtable"] = 1, ["/bin/psfgettable"] = 1, @@ -358,12 +275,16 @@ usrmerge_files = { ["/bin/psfxtable"] = 1, ["/bin/resizecons"] = 1, ["/bin/screendump"] = 1, +["/bin/setfont"] = 1, +["/bin/setkeycodes"] = 1, ["/bin/setleds"] = 1, +["/bin/setlogcons"] = 1, ["/bin/setmetamode"] = 1, ["/bin/setpalette"] = 1, ["/bin/setvesablank"] = 1, ["/bin/setvtrgb"] = 1, ["/bin/showconsolefont"] = 1, +["/bin/showkey"] = 1, ["/bin/spawn_console"] = 1, ["/bin/spawn_login"] = 1, ["/bin/unicode_start"] = 1, @@ -377,10 +298,20 @@ usrmerge_files = { ["/sbin/request-key"] = 1, -- klogd ["/sbin/klogd"] = 1, +-- kmod +["/bin/lsmod"] = 1, +["/sbin/depmod"] = 1, +["/sbin/insmod"] = 1, +["/sbin/lsmod"] = 1, +["/sbin/modinfo"] = 1, +["/sbin/modprobe"] = 1, +["/sbin/rmmod"] = 1, -- kpartx ["/sbin/kpartx"] = 1, -- ksh ["/bin/ksh93"] = 1, +-- ksh mksh +["/bin/ksh"] = 1, -- libewf-tools ["/sbin/mount.ewf"] = 1, ["/sbin/umount.ewf"] = 1, @@ -433,7 +364,7 @@ usrmerge_files = { ["/sbin/vgs"] = 1, ["/sbin/vgscan"] = 1, ["/sbin/vgsplit"] = 1, --- mailx +-- mailutils mailx ["/bin/mail"] = 1, -- makedev ["/sbin/MAKEDEV"] = 1, @@ -447,7 +378,6 @@ usrmerge_files = { -- mingetty ["/sbin/mingetty"] = 1, -- mksh -["/bin/ksh"] = 1, ["/bin/lksh"] = 1, ["/bin/mksh"] = 1, ["/bin/pdksh"] = 1, @@ -461,9 +391,17 @@ usrmerge_files = { -- munin-node ["/sbin/rcmunin-node"] = 1, -- net-tools +["/sbin/ether-wake"] = 1, +["/sbin/nameif"] = 1, ["/sbin/plipconfig"] = 1, +["/sbin/slattach"] = 1, -- net-tools-deprecated +["/bin/ifconfig"] = 1, +["/bin/netstat"] = 1, +["/bin/route"] = 1, +["/sbin/arp"] = 1, ["/sbin/ipmaddr"] = 1, +["/sbin/iptunnel"] = 1, -- netconsole-tools ["/sbin/netconsole-server"] = 1, -- nfs-client @@ -515,6 +453,7 @@ usrmerge_files = { ["/sbin/mkhomedir_helper"] = 1, ["/sbin/pam_namespace_helper"] = 1, ["/sbin/pam_timestamp_check"] = 1, +["/sbin/pwhistory_helper"] = 1, ["/sbin/unix2_chkpwd"] = 1, ["/sbin/unix_chkpwd"] = 1, ["/sbin/unix_update"] = 1, @@ -523,10 +462,8 @@ usrmerge_files = { -- pam_mount ["/sbin/mount.crypt"] = 1, ["/sbin/mount.crypt_LUKS"] = 1, -["/sbin/mount.crypto_LUKS"] = 1, ["/sbin/umount.crypt"] = 1, ["/sbin/umount.crypt_LUKS"] = 1, -["/sbin/umount.crypto_LUKS"] = 1, -- pciutils ["/sbin/lspci"] = 1, ["/sbin/setpci"] = 1, @@ -539,13 +476,22 @@ usrmerge_files = { -- plymouth ["/bin/plymouth"] = 1, -- policycoreutils +["/sbin/restorecon"] = 1, ["/sbin/restorecon_xattr"] = 1, +["/sbin/setfiles"] = 1, -- polkit-default-privs ["/sbin/chkstat-polkit"] = 1, ["/sbin/set_polkit_default_privs"] = 1, -- powerd ["/sbin/detectups"] = 1, ["/sbin/powerd"] = 1, +-- procps +["/bin/pgrep"] = 1, +["/bin/pkill"] = 1, +["/bin/ps"] = 1, +["/sbin/sysctl"] = 1, +-- psmisc +["/bin/fuser"] = 1, -- rarpd ["/sbin/rarpd"] = 1, -- rash @@ -588,6 +534,8 @@ usrmerge_files = { ["/sbin/sas_disk_blink"] = 1, ["/sbin/scsi_ch_swp"] = 1, ["/sbin/sdparm"] = 1, +-- sed +["/bin/sed"] = 1, -- supportutils ["/sbin/analyzevmcore"] = 1, ["/sbin/chkbin"] = 1, @@ -600,8 +548,6 @@ usrmerge_files = { ["/sbin/netconfig"] = 1, -- syslog-ng ["/sbin/syslog-ng"] = 1, --- syslog-service -["/sbin/rcsyslog"] = 1, -- syslogd ["/sbin/syslogd"] = 1, -- systemd-sysvinit @@ -613,8 +559,11 @@ usrmerge_files = { ["/sbin/shutdown"] = 1, ["/sbin/telinit"] = 1, -- sysvinit-tools +["/bin/fsync"] = 1, +["/bin/usleep"] = 1, ["/sbin/checkproc"] = 1, ["/sbin/fstab-decode"] = 1, +["/sbin/killall5"] = 1, ["/sbin/killproc"] = 1, ["/sbin/mkill"] = 1, ["/sbin/pidofproc"] = 1, @@ -622,31 +571,46 @@ usrmerge_files = { ["/sbin/start_daemon"] = 1, ["/sbin/startproc"] = 1, ["/sbin/vhangup"] = 1, +-- tar +["/bin/tar"] = 1, -- tcsh ["/bin/csh"] = 1, ["/bin/tcsh"] = 1, -- tomoyo-tools ["/sbin/tomoyo-init"] = 1, +-- tunctl +["/sbin/tunctl"] = 1, -- udhcp ["/sbin/udhcpc"] = 1, -- util-linux -["/bin/findmnt"] = 1, -["/bin/lsblk"] = 1, +["/bin/dmesg"] = 1, +["/bin/kill"] = 1, +["/bin/login"] = 1, +["/bin/more"] = 1, +["/bin/mount"] = 1, +["/bin/su"] = 1, +["/bin/umount"] = 1, ["/sbin/agetty"] = 1, +["/sbin/blkid"] = 1, ["/sbin/blockdev"] = 1, ["/sbin/cfdisk"] = 1, ["/sbin/chcpu"] = 1, ["/sbin/ctrlaltdel"] = 1, ["/sbin/fdisk"] = 1, +["/sbin/findfs"] = 1, +["/sbin/fsck"] = 1, ["/sbin/fsck.cramfs"] = 1, ["/sbin/fsck.minix"] = 1, ["/sbin/fsfreeze"] = 1, ["/sbin/fstrim"] = 1, ["/sbin/hwclock"] = 1, +["/sbin/losetup"] = 1, ["/sbin/mkfs"] = 1, ["/sbin/mkfs.bfs"] = 1, ["/sbin/mkfs.cramfs"] = 1, ["/sbin/mkfs.minix"] = 1, +["/sbin/mkswap"] = 1, +["/sbin/nologin"] = 1, ["/sbin/pivot_root"] = 1, ["/sbin/raw"] = 1, ["/sbin/sfdisk"] = 1, @@ -655,31 +619,27 @@ usrmerge_files = { ["/sbin/swapon"] = 1, ["/sbin/switch_root"] = 1, ["/sbin/wipefs"] = 1, +-- util-linux-systemd +["/bin/findmnt"] = 1, +["/bin/logger"] = 1, +["/bin/lsblk"] = 1, -- vim ["/bin/ex"] = 1, +["/bin/vi"] = 1, ["/bin/vim"] = 1, -- virtualbox ["/sbin/vboxconfig"] = 1, -- virtualbox-guest-tools ["/sbin/mount.vboxsf"] = 1, -["/sbin/vboxguestconfig"] = 1, -- virtualbox-qt ["/sbin/vbox-fix-usb-rules.sh"] = 1, +-- vlan +["/sbin/vconfig"] = 1, -- wicked-service ["/sbin/ifdown"] = 1, ["/sbin/ifprobe"] = 1, ["/sbin/ifstatus"] = 1, ["/sbin/ifup"] = 1, --- xen-tools-domU -["/bin/domu-xenstore"] = 1, -["/bin/xenstore-chmod"] = 1, -["/bin/xenstore-exists"] = 1, -["/bin/xenstore-list"] = 1, -["/bin/xenstore-ls"] = 1, -["/bin/xenstore-read"] = 1, -["/bin/xenstore-rm"] = 1, -["/bin/xenstore-watch"] = 1, -["/bin/xenstore-write"] = 1, -- xfsdump ["/sbin/xfsdump"] = 1, ["/sbin/xfsrestore"] = 1, diff --git a/usrmergefiles.py b/usrmergefiles.py new file mode 100644 index 0000000..772850d --- /dev/null +++ b/usrmergefiles.py @@ -0,0 +1,158 @@ +#!/usr/bin/python3 +# Copyright (c) 2021 SUSE LLC +# +# Permission is hereby granted, free of charge, to any person obtaining a copy +# of this software and associated documentation files (the "Software"), to deal +# in the Software without restriction, including without limitation the rights +# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +# copies of the Software, and to permit persons to whom the Software is +# furnished to do so, subject to the following conditions: +# +# The above copyright notice and this permission notice shall be included in +# all copies or substantial portions of the Software. +# +# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +# SOFTWARE. + +from itertools import filterfalse, chain, islice +from lxml import etree as ET +from urllib.parse import urljoin +import argparse +import gzip +import hashlib +import io +import logging +import re +import requests +import sys + + +def parse_repomd(baseurl, what, code): + url = urljoin(baseurl, 'repodata/repomd.xml') + repomd = requests.get(url) + if repomd.status_code != requests.codes.ok: + return False + + ns = {'r': 'http://linux.duke.edu/metadata/repo'} + root = ET.fromstring(repomd.content) + filelists = root.find('.//r:data[@type="{}"]'.format(what), ns) + location = filelists.find('r:location', ns).get('href') + sha256_expected = filelists.find('r:checksum[@type="sha256"]', ns).text + + url = urljoin(baseurl, location) + with requests.get(url, stream=True) as res: + if res.status_code != requests.codes.ok: + raise Exception(url + ' does not exist') + sha256 = hashlib.sha256(res.content).hexdigest() + if sha256 != sha256_expected: + raise Exception('checksums do not match {} != {}'.format(sha256, sha256_expected)) + + content = gzip.GzipFile(fileobj=io.BytesIO(res.content)) + + root = ET.fromstring(content.read()) + code(root) + + return False + +def ignored(package): + # busybox has stuff in / that is normally not there + return package.startswith('busybox-') or package.endswith("-32bit") + +def ddd(a, l): + if len(a) < l: + return a + + return chain(islice(a, l), ['...']) + + +def printaslua(files, name): + pkgs = dict() + for fn in sorted(files.keys()): + pkgs.setdefault(' '.join(ddd(sorted(files[fn]), 5)), set()).add(fn) + print('{} = {{'.format(name)) + for p in sorted(pkgs.keys()): + print("-- "+p) + for fn in sorted(pkgs[p]): + print('["{}"] = 1,'.format(fn)) + + print('}') + + +def handle_filelists(root): + files = dict() +# umr = re.compile(r'^\/(s?bin|lib(?:64)?)/([^/]+)') + umr = re.compile(r'^\/(s?bin)/([^/]+)') + ns = {'r': 'http://linux.duke.edu/metadata/filelists'} + for pn in root.findall(".//r:package", ns): + package = pn.get('name') + if ignored(package): + continue + for fn in pn.findall("r:file", ns): + m = umr.match(fn.text) + if m: +# print("{}: {} {}".format(package, m.group(1), m.group(2))) + files.setdefault(fn.text, set()).add(package) + + printaslua(files, 'usrmerge_files') + + +def handle_requires(root): + files = dict() + umr = re.compile(r'^\/(s?bin)/([^/]+)') + ns = {'c': 'http://linux.duke.edu/metadata/common', + 'r': 'http://linux.duke.edu/metadata/rpm' } + for pn in root.findall(".//c:package", ns): + package = pn.find('c:name', ns).text + if ignored(package): + continue + for rn in pn.findall(".//r:requires", ns): + for fn in rn.findall(".//r:entry", ns): + r = fn.get('name') + m = umr.match(r) + if m: + files.setdefault(r,set()).add(package) + + printaslua(files, 'usrmerge_binsbindeps') + +def main(args): + + # do some work here + logger = logging.getLogger("usrmergefiles") + logger.info("main") + + if args.files: + parse_repomd(args.url[0], "filelists", handle_filelists) + + if args.requires: + parse_repomd(args.url[0], "primary", handle_requires) + + return 0 + +if __name__ == '__main__': + parser = argparse.ArgumentParser(description='boilerplate python commmand line program') + parser.add_argument("--dry", action="store_true", help="dry run") + parser.add_argument("--debug", action="store_true", help="debug output") + parser.add_argument("--verbose", action="store_true", help="verbose") + parser.add_argument("--files", action="store_true", help="dump /bin and /sbin files") + parser.add_argument("--requires", action="store_true", help="dump requires of /bin and /sbin") + parser.add_argument("url", nargs='*', help="some file name") + + args = parser.parse_args() + + if args.debug: + level = logging.DEBUG + elif args.verbose: + level = logging.INFO + else: + level = None + + logging.basicConfig(level = level) + + sys.exit(main(args)) + +# vim: sw=4 et