* [PATCH] Core Update 166: Perform spring clean of orphaned files
@ 2022-03-21 15:35 Peter Müller
2022-03-21 15:49 ` Peter Müller
2022-03-21 15:55 ` Michael Tremer
0 siblings, 2 replies; 11+ messages in thread
From: Peter Müller @ 2022-03-21 15:35 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 9925 bytes --]
On an IPFire installation that has been around since Core Update 110
(released April 28, 2017), these files have been identified as being
orphaned, comparing to a fresh installation of Core Update 164.
To avoid such a list of files agglomerating, persons responsible for a
Core Update should check whether an updated package contains deleted
files in its rootfile. If so, they should be deleted on existing systems
via update.sh as well.
Signed-off-by: Peter Müller <peter.mueller(a)ipfire.org>
---
config/rootfiles/core/166/update.sh | 260 +++++++++++++++++++++++++++-
1 file changed, 258 insertions(+), 2 deletions(-)
diff --git a/config/rootfiles/core/166/update.sh b/config/rootfiles/core/166/update.sh
index 1370555b0..b556986a5 100644
--- a/config/rootfiles/core/166/update.sh
+++ b/config/rootfiles/core/166/update.sh
@@ -32,13 +32,269 @@ for (( i=1; i<=$core; i++ )); do
done
# Remove files
-rm -vf \
+rm -rvf \
+ /bin/setserial \
/etc/dracut.conf \
+ /etc/fonts/conf.d/30-urw-aliases.conf \
+ /etc/grub.d/README \
+ /etc/rc.d/init.d/networking/red.up/99-geoip-database \
+ /etc/udev/rules.d/99-fuse.rules \
+ /lib/firmware/amd-ucode/microcode_amd.bin.asc \
+ /lib/firmware/amd-ucode/microcode_amd_fam15h.bin.asc \
+ /lib/firmware/amd-ucode/microcode_amd_fam16h.bin.asc \
+ /lib/firmware/amd-ucode/microcode_amd_fam17h.bin.asc \
+ /lib/firmware/ath10k/QCA4019/hw1.0/notice_ath10k_firmware-5.txt \
+ /lib/firmware/ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt \
+ /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt \
+ /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt \
+ /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt \
+ /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt \
+ /lib/firmware/ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt \
+ /lib/firmware/ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt \
+ /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt \
+ /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt \
+ /lib/firmware/ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt \
+ /lib/firmware/ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt \
+ /lib/firmware/atusb/ChangeLog \
+ /lib/firmware/check_whence.py \
+ /lib/firmware/cis/src \
+ /lib/firmware/copy-firmware.sh \
+ /lib/firmware/cxgb4/t4fw-1.20.8.0.bin \
+ /lib/firmware/cxgb4/t4fw-1.24.3.0.bin \
+ /lib/firmware/cxgb4/t5fw-1.20.8.0.bin \
+ /lib/firmware/cxgb4/t5fw-1.24.3.0.bin \
+ /lib/firmware/cxgb4/t6fw-1.20.8.0.bin \
+ /lib/firmware/cxgb4/t6fw-1.24.3.0.bin \
+ /lib/firmware/GPL-2 \
+ /lib/firmware/GPL-3 \
+ /lib/firmware/isci/README \
+ /lib/firmware/LICENCE.* \
+ /lib/firmware/Makefile \
+ /lib/firmware/qca/NOTICE.txt \
+ /lib/firmware/qcom/NOTICE.txt \
+ /lib/firmware/README \
+ /lib/firmware/WHENCE \
+ /lib/kbd/keymaps/i386/qwerty/fi-latin1.map.gz \
+ /lib/kbd/keymaps/i386/qwerty/fi-latin9.map.gz \
+ /lib/ld-2.29.so \
+ /lib/ld-2.31.so \
+ /lib/ld-2.32.so \
+ /lib/libcap.so \
+ /lib/libhistory.so.5 \
+ /lib/libhistory.so.5.2 \
+ /lib/libip4tc.so.0 \
+ /lib/libip4tc.so.0.1.0 \
+ /lib/libip6tc.so.0 \
+ /lib/libip6tc.so.0.1.0 \
+ /lib/libiptc.so \
+ /lib/libiptc.so.0 \
+ /lib/libiptc.so.0.0.0 \
+ /lib/libnss_nis-2.31.so \
+ /lib/libnss_nisplus-2.31.so \
+ /lib/libnss_nisplus.so.2 \
+ /lib/libnss_nis.so.2 \
+ /lib/libproc-3.2.8.so \
+ /lib/libreadline.so.5 \
+ /lib/libreadline.so.5.2 \
+ /lib/libsysfs.so \
+ /lib/libsysfs.so.1 \
+ /lib/libsysfs.so.1.0.3 \
+ /lib/udev/bluetooth_serial \
+ /lib/udev/rules.d/24-bluetooth.rules \
+ /lib/xtables/libxt_IMQ.so \
/opt/pakfire/pakfire-2007.key \
+ /sbin/mount.fuse \
+ /sbin/raw \
+ /sbin/xfs_scrub \
+ /sbin/xfs_scrub_all \
+ /srv/web/ipfire/cgi-bin/bluetooth.cgi \
+ /usr/bin/ez-ipupdate \
+ /usr/bin/fusermount \
+ /usr/bin/gawk-5.1.0 \
+ /usr/bin/gcov-dump \
+ /usr/bin/getunimap \
/usr/bin/mkinitrd \
+ /usr/bin/mtools \
+ /usr/bin/pango-querymodules \
+ /usr/bin/perl5.30.0 \
+ /usr/bin/setlogcons \
+ /usr/bin/setvesablank \
+ /usr/bin/ulockmgr_server \
+ /usr/include/python2.7 \
+ /usr/lib/cairo \
/usr/lib/dracut \
+ /usr/lib/findutils/bigram \
+ /usr/lib/findutils/code \
+ /usr/lib/gawk/testext.so \
+ /usr/lib/itcl4.2.1 \
+ /usr/lib/libasan.so.5 \
+ /usr/lib/libasan.so.5.0.0 \
+ /usr/lib/libbfd-2.32.so \
+ /usr/lib/libbfd-2.34.so \
+ /usr/lib/libbfd-2.35.1.so \
+ /usr/lib/libbind9-9.16.22.so \
+ /usr/lib/libbind9.so.161 \
+ /usr/lib/libbind9.so.161.0.4 \
+ /usr/lib/libblkid.so \
+ /usr/lib/libdns-9.16.22.so \
+ /usr/lib/libdnssec.so.7 \
+ /usr/lib/libdnssec.so.7.0.0 \
+ /usr/lib/libdns.so.* \
+ /usr/lib/libevent-2.1.so.6 \
+ /usr/lib/libevent-2.1.so.6.0.2 \
+ /usr/lib/libevent_core-2.1.so.6 \
+ /usr/lib/libevent_core-2.1.so.6.0.2 \
+ /usr/lib/libevent_extra-2.1.so.6 \
+ /usr/lib/libevent_extra-2.1.so.6.0.2 \
+ /usr/lib/libevent_openssl-2.1.so.6 \
+ /usr/lib/libevent_openssl-2.1.so.6.0.2 \
+ /usr/lib/libevent_openssl.so \
+ /usr/lib/libevent_pthreads-2.1.so.6 \
+ /usr/lib/libevent_pthreads-2.1.so.6.0.2 \
+ /usr/lib/libevent_pthreads.so \
+ /usr/lib/libexpat.so \
+ /usr/lib/libexslt.so \
+ /usr/lib/libffi.so.6 \
+ /usr/lib/libffi.so.6.0.4 \
+ /usr/lib/libffi.so.7 \
+ /usr/lib/libffi.so.7.1.0 \
+ /usr/lib/libfuse.so \
+ /usr/lib/libfuse.so.2 \
+ /usr/lib/libfuse.so.2.9.7 \
+ /usr/lib/libgdbm_compat.so \
+ /usr/lib/libgdbm_compat.so.3 \
+ /usr/lib/libgdbm_compat.so.3.0.0 \
+ /usr/lib/libgdbm.so \
+ /usr/lib/libgdbm.so.3 \
+ /usr/lib/libgdbm.so.3.0.0 \
+ /usr/lib/libgd.so \
+ /usr/lib/libgd.so.2 \
+ /usr/lib/libgd.so.2.0.0 \
+ /usr/lib/libgettextlib-0.19.8.1.so \
+ /usr/lib/libgettextsrc-0.19.8.1.so \
+ /usr/lib/libhistory.so.6 \
+ /usr/lib/libhistory.so.6.3 \
+ /usr/lib/libhogweed.so.5 \
+ /usr/lib/libhogweed.so.5.0 \
+ /usr/lib/libidn.so \
+ /usr/lib/libidn.so.11 \
+ /usr/lib/libidn.so.11.6.18 \
+ /usr/lib/libirs-9.16.22.so \
+ /usr/lib/libisc-9.16.22.so \
+ /usr/lib/libisccc-9.16.22.so \
+ /usr/lib/libisccc.so.161 \
+ /usr/lib/libisccc.so.161.0.1 \
+ /usr/lib/libisccfg-9.16.22.so \
+ /usr/lib/libisccfg.so.163 \
+ /usr/lib/libisccfg.so.163.0.8 \
+ /usr/lib/libisc.so.1100 \
+ /usr/lib/libisc.so.1100.3.2 \
+ /usr/lib/libisc.so.1104 \
+ /usr/lib/libisc.so.1104.0.0 \
+ /usr/lib/libisc.so.1105 \
+ /usr/lib/libisc.so.1105.1.1 \
+ /usr/lib/libisc.so.1107 \
+ /usr/lib/libisc.so.1107.0.5 \
+ /usr/lib/libixml.so \
+ /usr/lib/libknot.so.10 \
+ /usr/lib/libknot.so.10.0.0 \
+ /usr/lib/libknot.so.11 \
+ /usr/lib/libknot.so.11.0.0 \
+ /usr/lib/libknot.so.9 \
+ /usr/lib/libknot.so.9.0.0 \
+ /usr/lib/liblber-2.3.so.0 \
+ /usr/lib/liblber-2.3.so.0.2.8 \
+ /usr/lib/libldap-2.3.so.0 \
+ /usr/lib/libldap-2.3.so.0.2.8 \
+ /usr/lib/libldap_r-2.3.so.0 \
+ /usr/lib/libldap_r-2.3.so.0.2.8 \
+ /usr/lib/libloc.so.0 \
+ /usr/lib/libloc.so.0.0.0 \
+ /usr/lib/liblua-5.3.so \
+ /usr/lib/liblua.so \
+ /usr/lib/liblwres.so.161 \
+ /usr/lib/liblwres.so.161.0.4 \
+ /usr/lib/libmpfr.so.4 \
+ /usr/lib/libmpfr.so.4.1.5 \
+ /usr/lib/libmpx.so.2 \
+ /usr/lib/libmpx.so.2.0.1 \
+ /usr/lib/libmpxwrappers.so.2 \
+ /usr/lib/libmpxwrappers.so.2.0.1 \
+ /usr/lib/libnettle.so.7 \
+ /usr/lib/libnettle.so.7.0 \
+ /usr/lib/libns-9.16.22.so \
+ /usr/lib/libopcodes-2.32.so \
+ /usr/lib/libopcodes-2.34.so \
+ /usr/lib/libopcodes-2.35.1.so \
+ /usr/lib/libpcre2-posix.so.2 \
+ /usr/lib/libpcre2-posix.so.2.0.3 \
+ /usr/lib/libpng12.so \
+ /usr/lib/libpng12.so.0 \
+ /usr/lib/libpng12.so.0.57.0 \
+ /usr/lib/libpng.so.3 \
+ /usr/lib/libpng.so.3.57.0 \
+ /usr/lib/libpoppler.so.100 \
+ /usr/lib/libpoppler.so.100.0.0 \
+ /usr/lib/libpoppler.so.110 \
+ /usr/lib/libpoppler.so.110.0.0 \
+ /usr/lib/libpoppler.so.111 \
+ /usr/lib/libpoppler.so.111.0.0 \
+ /usr/lib/libpoppler.so.66 \
+ /usr/lib/libpoppler.so.66.0.0 \
+ /usr/lib/libqpdf.so.17 \
+ /usr/lib/libqpdf.so.17.0.0 \
+ /usr/lib/libreadline.so.6 \
+ /usr/lib/libreadline.so.6.3 \
+ /usr/lib/libsensors.so.4 \
+ /usr/lib/libsensors.so.4.4.0 \
+ /usr/lib/libsqlite3.so \
+ /usr/lib/libthreadutil.so \
+ /usr/lib/libthreadutil.so.6 \
+ /usr/lib/libthreadutil.so.6.0.3 \
+ /usr/lib/libulockmgr.so \
+ /usr/lib/libulockmgr.so.1 \
+ /usr/lib/libulockmgr.so.1.0.1 \
+ /usr/lib/libupnp.so \
+ /usr/lib/libuuid.so \
+ /usr/lib/libxml2.so \
+ /usr/lib/libxslt.so \
+ /usr/lib/pango \
+ /usr/lib/perl5/site_perl/5.30.0 \
+ /usr/lib/perl5/site_perl/5.32.1/Net/IP.pm \
+ /usr/lib/python3.8/ensurepip/_bundled/pip-19.2.3-py2.py3-none-any.whl \
+ /usr/lib/python3.8/idlelib/Icons/idle.icns \
+ /usr/lib/python3.8/lib2to3/Grammar3.8.1.final.0.pickle \
+ /usr/lib/python3.8/lib2to3/PatternGrammar3.8.1.final.0.pickle \
+ /usr/lib/sqlite3.34.0 \
+ /usr/lib/squid/basic_nis_auth \
+ /usr/lib/squid/ext_time_quota_acl \
+ /usr/lib/tcl8/8.4/platform-1.0.14.tm \
+ /usr/lib/tcl8/8.4/platform-1.0.15.tm \
+ /usr/lib/tcl8/8.5/msgcat-1.6.0.tm \
+ /usr/lib/tcl8/8.5/tcltest-2.4.0.tm \
+ /usr/lib/tcl8/8.6/http-2.8.9.tm \
+ /usr/lib/tcl8/8.6/tdbc/sqlite3-1.0.4.tm \
+ /usr/lib/tcl8/8.6/tdbc/sqlite3-1.1.2.tm \
+ /usr/lib/tdbc1.1.2 \
+ /usr/lib/tdbcmysql1.1.2 \
+ /usr/lib/tdbcodbc1.1.2 \
+ /usr/lib/tdbcpostgres1.1.2 \
+ /usr/lib/thread2.8.6 \
+ /usr/libexec/xtables-addons \
/usr/local/bin/ovpn-ccd-convert \
- /usr/local/bin/rebuild-initrd
+ /usr/local/bin/rebuild-initrd \
+ /usr/local/bin/xt_geoip_build \
+ /usr/local/bin/xt_geoip_update \
+ /usr/sbin/batctl \
+ /usr/sbin/fbset \
+ /usr/sbin/update-usbids.sh \
+ /usr/sbin/uuidd \
+ /usr/share/doc/fireinfo \
+ /usr/share/GeoIP \
+ /usr/share/zoneinfo/posix/US/Pacific-New \
+ /usr/share/zoneinfo/right/US/Pacific-New \
+ /usr/share/zoneinfo/US/Pacific-New \
+ /var/lib/GeoIP
# Delete old 2007 Pakfire key from GPG keyring
export GNUPGHOME="/opt/pakfire/etc/.gnupg"
--
2.34.1
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Core Update 166: Perform spring clean of orphaned files
2022-03-21 15:35 [PATCH] Core Update 166: Perform spring clean of orphaned files Peter Müller
@ 2022-03-21 15:49 ` Peter Müller
2022-03-21 15:55 ` Michael Tremer
1 sibling, 0 replies; 11+ messages in thread
From: Peter Müller @ 2022-03-21 15:49 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 21990 bytes --]
Hello *,
for the records: On the IPFire installation in question, this would save some
117 MBytes in total:
24K /bin/setserial
4.0K /etc/dracut.conf
0 /etc/fonts/conf.d/30-urw-aliases.conf
4.0K /etc/grub.d/README
4.0K /etc/rc.d/init.d/networking/red.up/99-geoip-database
4.0K /etc/udev/rules.d/99-fuse.rules
4.0K /lib/firmware/amd-ucode/microcode_amd.bin.asc
4.0K /lib/firmware/amd-ucode/microcode_amd_fam15h.bin.asc
4.0K /lib/firmware/amd-ucode/microcode_amd_fam16h.bin.asc
4.0K /lib/firmware/amd-ucode/microcode_amd_fam17h.bin.asc
32K /lib/firmware/ath10k/QCA4019/hw1.0/notice_ath10k_firmware-5.txt
48K /lib/firmware/ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt
80K /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt
56K /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt
48K /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt
56K /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt
16K /lib/firmware/ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt
32K /lib/firmware/ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt
16K /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt
16K /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt
32K /lib/firmware/ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt
32K /lib/firmware/ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt
4.0K /lib/firmware/atusb/ChangeLog
4.0K /lib/firmware/check_whence.py
56K /lib/firmware/cis/src
4.0K /lib/firmware/copy-firmware.sh
548K /lib/firmware/cxgb4/t4fw-1.20.8.0.bin
560K /lib/firmware/cxgb4/t4fw-1.24.3.0.bin
632K /lib/firmware/cxgb4/t5fw-1.20.8.0.bin
648K /lib/firmware/cxgb4/t5fw-1.24.3.0.bin
680K /lib/firmware/cxgb4/t6fw-1.20.8.0.bin
700K /lib/firmware/cxgb4/t6fw-1.24.3.0.bin
20K /lib/firmware/GPL-2
36K /lib/firmware/GPL-3
4.0K /lib/firmware/isci/README
4.0K /lib/firmware/LICENCE.Abilis
48K /lib/firmware/LICENCE.adsp_sst
4.0K /lib/firmware/LICENCE.agere
4.0K /lib/firmware/LICENCE.atheros_firmware
8.0K /lib/firmware/LICENCE.broadcom_bcm43xx
4.0K /lib/firmware/LICENCE.ca0132
4.0K /lib/firmware/LICENCE.cadence
4.0K /lib/firmware/LICENCE.cavium
28K /lib/firmware/LICENCE.cavium_liquidio
4.0K /lib/firmware/LICENCE.chelsio_firmware
4.0K /lib/firmware/LICENCE.cw1200
12K /lib/firmware/LICENCE.cypress
4.0K /lib/firmware/LICENCE.e100
4.0K /lib/firmware/LICENCE.ene_firmware
4.0K /lib/firmware/LICENCE.fw_sst_0f28
20K /lib/firmware/LICENCE.go7007
4.0K /lib/firmware/LICENCE.i2400m
4.0K /lib/firmware/LICENCE.ibt_firmware
4.0K /lib/firmware/LICENCE.IntcSST2
4.0K /lib/firmware/LICENCE.it913x
4.0K /lib/firmware/LICENCE.iwlwifi_firmware
4.0K /lib/firmware/LICENCE.kaweth
4.0K /lib/firmware/LICENCE.Marvell
4.0K /lib/firmware/LICENCE.mediatek
4.0K /lib/firmware/LICENCE.microchip
4.0K /lib/firmware/LICENCE.moxa
4.0K /lib/firmware/LICENCE.myri10ge_firmware
4.0K /lib/firmware/LICENCE.Netronome
8.0K /lib/firmware/LICENCE.nvidia
4.0K /lib/firmware/LICENCE.OLPC
12K /lib/firmware/LICENCE.open-ath9k-htc-firmware
4.0K /lib/firmware/LICENCE.phanfw
4.0K /lib/firmware/LICENCE.qat_firmware
4.0K /lib/firmware/LICENCE.qla1280
4.0K /lib/firmware/LICENCE.qla2xxx
4.0K /lib/firmware/LICENCE.r8a779x_usb3
4.0K /lib/firmware/LICENCE.ralink_a_mediatek_company_firmware
4.0K /lib/firmware/LICENCE.ralink-firmware.txt
4.0K /lib/firmware/LICENCE.rockchip
4.0K /lib/firmware/LICENCE.rtlwifi_firmware.txt
4.0K /lib/firmware/LICENCE.siano
4.0K /lib/firmware/LICENCE.tda7706-firmware.txt
4.0K /lib/firmware/LICENCE.ti-connectivity
4.0K /lib/firmware/LICENCE.ti-keystone
4.0K /lib/firmware/LICENCE.ueagle-atm4-firmware
4.0K /lib/firmware/LICENCE.via_vt6656
4.0K /lib/firmware/LICENCE.wl1251
4.0K /lib/firmware/LICENCE.xc4000
4.0K /lib/firmware/LICENCE.xc5000
4.0K /lib/firmware/LICENCE.xc5000c
4.0K /lib/firmware/Makefile
20K /lib/firmware/qca/NOTICE.txt
24K /lib/firmware/qcom/NOTICE.txt
4.0K /lib/firmware/README
140K /lib/firmware/WHENCE
4.0K /lib/kbd/keymaps/i386/qwerty/fi-latin1.map.gz
4.0K /lib/kbd/keymaps/i386/qwerty/fi-latin9.map.gz
168K /lib/ld-2.29.so
172K /lib/ld-2.31.so
180K /lib/ld-2.32.so
0 /lib/libcap.so
0 /lib/libhistory.so.5
48K /lib/libhistory.so.5.2
0 /lib/libip4tc.so.0
40K /lib/libip4tc.so.0.1.0
0 /lib/libip6tc.so.0
40K /lib/libip6tc.so.0.1.0
0 /lib/libiptc.so
0 /lib/libiptc.so.0
16K /lib/libiptc.so.0.0.0
52K /lib/libnss_nis-2.31.so
60K /lib/libnss_nisplus-2.31.so
0 /lib/libnss_nisplus.so.2
0 /lib/libnss_nis.so.2
68K /lib/libproc-3.2.8.so
0 /lib/libreadline.so.5
308K /lib/libreadline.so.5.2
0 /lib/libsysfs.so
0 /lib/libsysfs.so.1
68K /lib/libsysfs.so.1.0.3
4.0K /lib/udev/bluetooth_serial
4.0K /lib/udev/rules.d/24-bluetooth.rules
20K /lib/xtables/libxt_IMQ.so
4.0K /opt/pakfire/pakfire-2007.key
16K /sbin/mount.fuse
16K /sbin/raw
88K /sbin/xfs_scrub
8.0K /sbin/xfs_scrub_all
8.0K /srv/web/ipfire/cgi-bin/bluetooth.cgi
80K /usr/bin/ez-ipupdate
36K /usr/bin/fusermount
656K /usr/bin/gawk-5.1.0
420K /usr/bin/gcov-dump
16K /usr/bin/getunimap
8.0K /usr/bin/mkinitrd
176K /usr/bin/mtools
20K /usr/bin/pango-querymodules
3.2M /usr/bin/perl5.30.0
16K /usr/bin/setlogcons
16K /usr/bin/setvesablank
16K /usr/bin/ulockmgr_server
44K /usr/include/python2.7
216K /usr/lib/cairo
4.0K /usr/lib/dracut/dracut.conf.d
12K /usr/lib/dracut/modules.d/99shutdown
8.0K /usr/lib/dracut/modules.d/03rescue
60K /usr/lib/dracut/modules.d/90mdraid
16K /usr/lib/dracut/modules.d/99fs-lib
12K /usr/lib/dracut/modules.d/95fstab-sys
8.0K /usr/lib/dracut/modules.d/50drm
32K /usr/lib/dracut/modules.d/10i18n
20K /usr/lib/dracut/modules.d/98integrity
16K /usr/lib/dracut/modules.d/02caps
12K /usr/lib/dracut/modules.d/98pollcdrom
68K /usr/lib/dracut/modules.d/99base
12K /usr/lib/dracut/modules.d/99img-lib
16K /usr/lib/dracut/modules.d/04watchdog
8.0K /usr/lib/dracut/modules.d/95debug
8.0K /usr/lib/dracut/modules.d/00bash
36K /usr/lib/dracut/modules.d/98syslog
8.0K /usr/lib/dracut/modules.d/95terminfo
28K /usr/lib/dracut/modules.d/95rootfs-block
16K /usr/lib/dracut/modules.d/90kernel-modules
20K /usr/lib/dracut/modules.d/99installer
16K /usr/lib/dracut/modules.d/95virtfs
20K /usr/lib/dracut/modules.d/95udev-rules
456K /usr/lib/dracut/modules.d
616K /usr/lib/dracut
32K /usr/lib/findutils/bigram
36K /usr/lib/findutils/code
32K /usr/lib/gawk/testext.so
384K /usr/lib/itcl4.2.1
0 /usr/lib/libasan.so.5
1.6M /usr/lib/libasan.so.5.0.0
1.4M /usr/lib/libbfd-2.32.so
1.3M /usr/lib/libbfd-2.34.so
1.3M /usr/lib/libbfd-2.35.1.so
88K /usr/lib/libbind9-9.16.22.so
0 /usr/lib/libbind9.so.161
76K /usr/lib/libbind9.so.161.0.4
0 /usr/lib/libblkid.so
2.2M /usr/lib/libdns-9.16.22.so
0 /usr/lib/libdnssec.so.7
188K /usr/lib/libdnssec.so.7.0.0
0 /usr/lib/libdns.so.1106
2.4M /usr/lib/libdns.so.1106.0.1
0 /usr/lib/libdns.so.1107
2.3M /usr/lib/libdns.so.1107.1.0
0 /usr/lib/libdns.so.1110
2.3M /usr/lib/libdns.so.1110.0.4
0 /usr/lib/libdns.so.1112
2.3M /usr/lib/libdns.so.1112.0.2
0 /usr/lib/libdns.so.1113
2.3M /usr/lib/libdns.so.1113.0.2
0 /usr/lib/libdns.so.1115
2.3M /usr/lib/libdns.so.1115.0.0
0 /usr/lib/libevent-2.1.so.6
424K /usr/lib/libevent-2.1.so.6.0.2
0 /usr/lib/libevent_core-2.1.so.6
276K /usr/lib/libevent_core-2.1.so.6.0.2
0 /usr/lib/libevent_extra-2.1.so.6
172K /usr/lib/libevent_extra-2.1.so.6.0.2
0 /usr/lib/libevent_openssl-2.1.so.6
40K /usr/lib/libevent_openssl-2.1.so.6.0.2
0 /usr/lib/libevent_openssl.so
0 /usr/lib/libevent_pthreads-2.1.so.6
20K /usr/lib/libevent_pthreads-2.1.so.6.0.2
0 /usr/lib/libevent_pthreads.so
0 /usr/lib/libexpat.so
0 /usr/lib/libexslt.so
0 /usr/lib/libffi.so.6
48K /usr/lib/libffi.so.6.0.4
0 /usr/lib/libffi.so.7
44K /usr/lib/libffi.so.7.1.0
0 /usr/lib/libfuse.so
0 /usr/lib/libfuse.so.2
288K /usr/lib/libfuse.so.2.9.7
0 /usr/lib/libgdbm_compat.so
0 /usr/lib/libgdbm_compat.so.3
20K /usr/lib/libgdbm_compat.so.3.0.0
0 /usr/lib/libgdbm.so
0 /usr/lib/libgdbm.so.3
32K /usr/lib/libgdbm.so.3.0.0
0 /usr/lib/libgd.so
0 /usr/lib/libgd.so.2
328K /usr/lib/libgd.so.2.0.0
1.8M /usr/lib/libgettextlib-0.19.8.1.so
352K /usr/lib/libgettextsrc-0.19.8.1.so
0 /usr/lib/libhistory.so.6
52K /usr/lib/libhistory.so.6.3
0 /usr/lib/libhogweed.so.5
248K /usr/lib/libhogweed.so.5.0
0 /usr/lib/libidn.so
0 /usr/lib/libidn.so.11
216K /usr/lib/libidn.so.11.6.18
48K /usr/lib/libirs-9.16.22.so
612K /usr/lib/libisc-9.16.22.so
44K /usr/lib/libisccc-9.16.22.so
0 /usr/lib/libisccc.so.161
48K /usr/lib/libisccc.so.161.0.1
212K /usr/lib/libisccfg-9.16.22.so
0 /usr/lib/libisccfg.so.163
184K /usr/lib/libisccfg.so.163.0.8
0 /usr/lib/libisc.so.1100
596K /usr/lib/libisc.so.1100.3.2
0 /usr/lib/libisc.so.1104
536K /usr/lib/libisc.so.1104.0.0
0 /usr/lib/libisc.so.1105
548K /usr/lib/libisc.so.1105.1.1
0 /usr/lib/libisc.so.1107
548K /usr/lib/libisc.so.1107.0.5
0 /usr/lib/libixml.so
0 /usr/lib/libknot.so.10
288K /usr/lib/libknot.so.10.0.0
0 /usr/lib/libknot.so.11
248K /usr/lib/libknot.so.11.0.0
0 /usr/lib/libknot.so.9
328K /usr/lib/libknot.so.9.0.0
0 /usr/lib/liblber-2.3.so.0
72K /usr/lib/liblber-2.3.so.0.2.8
0 /usr/lib/libldap-2.3.so.0
264K /usr/lib/libldap-2.3.so.0.2.8
0 /usr/lib/libldap_r-2.3.so.0
284K /usr/lib/libldap_r-2.3.so.0.2.8
0 /usr/lib/libloc.so.0
56K /usr/lib/libloc.so.0.0.0
264K /usr/lib/liblua-5.3.so
0 /usr/lib/liblua.so
0 /usr/lib/liblwres.so.161
88K /usr/lib/liblwres.so.161.0.4
0 /usr/lib/libmpfr.so.4
428K /usr/lib/libmpfr.so.4.1.5
0 /usr/lib/libmpx.so.2
28K /usr/lib/libmpx.so.2.0.1
0 /usr/lib/libmpxwrappers.so.2
24K /usr/lib/libmpxwrappers.so.2.0.1
0 /usr/lib/libnettle.so.7
264K /usr/lib/libnettle.so.7.0
304K /usr/lib/libns-9.16.22.so
1.5M /usr/lib/libopcodes-2.32.so
1.4M /usr/lib/libopcodes-2.34.so
1.4M /usr/lib/libopcodes-2.35.1.so
0 /usr/lib/libpcre2-posix.so.2
16K /usr/lib/libpcre2-posix.so.2.0.3
0 /usr/lib/libpng12.so
0 /usr/lib/libpng12.so.0
240K /usr/lib/libpng12.so.0.57.0
0 /usr/lib/libpng.so.3
256K /usr/lib/libpng.so.3.57.0
0 /usr/lib/libpoppler.so.100
3.8M /usr/lib/libpoppler.so.100.0.0
0 /usr/lib/libpoppler.so.110
3.6M /usr/lib/libpoppler.so.110.0.0
0 /usr/lib/libpoppler.so.111
3.7M /usr/lib/libpoppler.so.111.0.0
0 /usr/lib/libpoppler.so.66
2.8M /usr/lib/libpoppler.so.66.0.0
0 /usr/lib/libqpdf.so.17
1.1M /usr/lib/libqpdf.so.17.0.0
0 /usr/lib/libreadline.so.6
348K /usr/lib/libreadline.so.6.3
0 /usr/lib/libsensors.so.4
76K /usr/lib/libsensors.so.4.4.0
0 /usr/lib/libsqlite3.so
0 /usr/lib/libthreadutil.so
0 /usr/lib/libthreadutil.so.6
32K /usr/lib/libthreadutil.so.6.0.3
0 /usr/lib/libulockmgr.so
0 /usr/lib/libulockmgr.so.1
20K /usr/lib/libulockmgr.so.1.0.1
0 /usr/lib/libupnp.so
0 /usr/lib/libuuid.so
0 /usr/lib/libxml2.so
0 /usr/lib/libxslt.so
316K /usr/lib/pango/1.6.0/modules
320K /usr/lib/pango/1.6.0
324K /usr/lib/pango
24K /usr/lib/perl5/site_perl/5.30.0/Apache
36K /usr/lib/perl5/site_perl/5.30.0/Geo/IP
40K /usr/lib/perl5/site_perl/5.30.0/Geo
28K /usr/lib/perl5/site_perl/5.30.0/Mail/Mailer
16K /usr/lib/perl5/site_perl/5.30.0/Mail/Field
120K /usr/lib/perl5/site_perl/5.30.0/Mail
12K /usr/lib/perl5/site_perl/5.30.0/HTML/Template
196K /usr/lib/perl5/site_perl/5.30.0/HTML
8.0K /usr/lib/perl5/site_perl/5.30.0/WWW/RobotRules
24K /usr/lib/perl5/site_perl/5.30.0/WWW
12K /usr/lib/perl5/site_perl/5.30.0/URI/urn
32K /usr/lib/perl5/site_perl/5.30.0/URI/file
232K /usr/lib/perl5/site_perl/5.30.0/URI
8.0K /usr/lib/perl5/site_perl/5.30.0/CGI/HTML
8.0K /usr/lib/perl5/site_perl/5.30.0/CGI/File
88K /usr/lib/perl5/site_perl/5.30.0/CGI
16K /usr/lib/perl5/site_perl/5.30.0/Digest
20K /usr/lib/perl5/site_perl/5.30.0/LWP/Authen
100K /usr/lib/perl5/site_perl/5.30.0/LWP/Protocol
232K /usr/lib/perl5/site_perl/5.30.0/LWP
24K /usr/lib/perl5/site_perl/5.30.0/Archive/Zip
24K /usr/lib/perl5/site_perl/5.30.0/Archive/Tar
192K /usr/lib/perl5/site_perl/5.30.0/Archive
16K /usr/lib/perl5/site_perl/5.30.0/File
108K /usr/lib/perl5/site_perl/5.30.0/MIME
16K /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Resource/ColorSpace/Indexed
32K /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Resource/ColorSpace
16K /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Resource/XObject/Image/TIFF
84K /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Resource/XObject/Image
28K /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Resource/XObject/Form/BarCode
44K /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Resource/XObject/Form
140K /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Resource/XObject
24K /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Resource/CIDFont/TrueType
1.3M /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Resource/CIDFont/CJKFont
16M /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Resource/CIDFont/CMap
17M /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Resource/CIDFont
1.2M /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Resource/Font/CoreFont
1.3M /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Resource/Font
19M /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Resource
8.0K /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Content
28K /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Basic/PDF/Filter
152K /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Basic/PDF
156K /usr/lib/perl5/site_perl/5.30.0/PDF/API2/Basic
19M /usr/lib/perl5/site_perl/5.30.0/PDF/API2
20M /usr/lib/perl5/site_perl/5.30.0/PDF
28K /usr/lib/perl5/site_perl/5.30.0/GD/Text
176K /usr/lib/perl5/site_perl/5.30.0/GD/Graph
276K /usr/lib/perl5/site_perl/5.30.0/GD
12K /usr/lib/perl5/site_perl/5.30.0/Crypt
260K /usr/lib/perl5/site_perl/5.30.0/IO/Socket/SSL
372K /usr/lib/perl5/site_perl/5.30.0/IO/Socket
488K /usr/lib/perl5/site_perl/5.30.0/IO
28K /usr/lib/perl5/site_perl/5.30.0/Convert
8.0K /usr/lib/perl5/site_perl/5.30.0/Email/Date
12K /usr/lib/perl5/site_perl/5.30.0/Email
16K /usr/lib/perl5/site_perl/5.30.0/Device/Modem/Log
20K /usr/lib/perl5/site_perl/5.30.0/Device/Modem/Protocol
60K /usr/lib/perl5/site_perl/5.30.0/Device/Modem
108K /usr/lib/perl5/site_perl/5.30.0/Device
16K /usr/lib/perl5/site_perl/5.30.0/Font/TTF/Features
12K /usr/lib/perl5/site_perl/5.30.0/Font/TTF/Woff
24K /usr/lib/perl5/site_perl/5.30.0/Font/TTF/Kern
48K /usr/lib/perl5/site_perl/5.30.0/Font/TTF/Mort
900K /usr/lib/perl5/site_perl/5.30.0/Font/TTF
908K /usr/lib/perl5/site_perl/5.30.0/Font
76K /usr/lib/perl5/site_perl/5.30.0/Net/DNS/Resolver
428K /usr/lib/perl5/site_perl/5.30.0/Net/DNS/RR
704K /usr/lib/perl5/site_perl/5.30.0/Net/DNS
32K /usr/lib/perl5/site_perl/5.30.0/Net/Server/Proto
160K /usr/lib/perl5/site_perl/5.30.0/Net/Server
24K /usr/lib/perl5/site_perl/5.30.0/Net/CIDR
24K /usr/lib/perl5/site_perl/5.30.0/Net/HTTP
1.2M /usr/lib/perl5/site_perl/5.30.0/Net
16K /usr/lib/perl5/site_perl/5.30.0/HTTP/Cookies
20K /usr/lib/perl5/site_perl/5.30.0/HTTP/Request
20K /usr/lib/perl5/site_perl/5.30.0/HTTP/Headers
208K /usr/lib/perl5/site_perl/5.30.0/HTTP
100K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/HTML
4.0K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/Linux
12K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/Win32
96K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/Text
12K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/Digest
24K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/DBD/Gofer/Policy
48K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/DBD/Gofer/Transport
76K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/DBD/Gofer
372K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/DBD
36K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/Compress
16K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/Unix
4.0K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/common
76K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/GD
112K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/NetAddr/IP
160K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/NetAddr
20K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/Convert
12K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/BerkeleyDB
104K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/Device
36K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/DBI/SQL
12K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/DBI/Util
84K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/DBI/DBD
84K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/DBI/Const/GetInfo
96K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/DBI/Const
12K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/DBI/ProfileDumper
16K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/DBI/Gofer/Serializer
20K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/DBI/Gofer/Transport
88K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/DBI/Gofer
752K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/DBI
16K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/Net/SSLeay
92K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/Net
24K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/XML/Parser/Style
300K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/XML/Parser/Encodings
368K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/XML/Parser
400K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/XML
8.0K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/Bundle
64K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/HTML/Parser
68K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/HTML
28K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Location
4.0K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Linux/Inotify2
8.0K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Linux
72K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Text/CSV_XS
76K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Text
28K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Digest/SHA1
32K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Digest
848K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/DBD/SQLite
852K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/DBD
68K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Compress/Zlib
72K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Compress
36K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Unix/Syslog
40K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Unix
136K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/GD
40K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/NetAddr/IP/Util
44K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/NetAddr/IP/InetBase
112K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/NetAddr/IP/UtilPP
268K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/NetAddr/IP
272K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/NetAddr
196K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Convert/UUlib
200K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Convert
52K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/RRDs
236K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/BerkeleyDB
24K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Device/SerialPort
28K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Device
140K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/DBI
976K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Net/SSLeay
32K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Net/Oping
24K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Net/DNS
1.1M /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/Net
104K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/XML/Parser/Expat
108K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/XML/Parser
112K /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto/XML
3.4M /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi/auto
6.1M /usr/lib/perl5/site_perl/5.30.0/x86_64-linux-thread-multi
4.0K /usr/lib/perl5/site_perl/5.30.0/Guardian
8.0K /usr/lib/perl5/site_perl/5.30.0/Bundle
8.0K /usr/lib/perl5/site_perl/5.30.0/auto/Net/IPv4Addr
12K /usr/lib/perl5/site_perl/5.30.0/auto/Net
16K /usr/lib/perl5/site_perl/5.30.0/auto
28K /usr/lib/perl5/site_perl/5.30.0/Sort
30M /usr/lib/perl5/site_perl/5.30.0
76K /usr/lib/perl5/site_perl/5.32.1/Net/IP.pm
1.4M /usr/lib/python3.8/ensurepip/_bundled/pip-19.2.3-py2.py3-none-any.whl
60K /usr/lib/python3.8/idlelib/Icons/idle.icns
16K /usr/lib/python3.8/lib2to3/Grammar3.8.1.final.0.pickle
4.0K /usr/lib/python3.8/lib2to3/PatternGrammar3.8.1.final.0.pickle
1.4M /usr/lib/sqlite3.34.0
16K /usr/lib/squid/basic_nis_auth
24K /usr/lib/squid/ext_time_quota_acl
12K /usr/lib/tcl8/8.4/platform-1.0.14.tm
12K /usr/lib/tcl8/8.4/platform-1.0.15.tm
36K /usr/lib/tcl8/8.5/msgcat-1.6.0.tm
100K /usr/lib/tcl8/8.5/tcltest-2.4.0.tm
44K /usr/lib/tcl8/8.6/http-2.8.9.tm
20K /usr/lib/tcl8/8.6/tdbc/sqlite3-1.0.4.tm
20K /usr/lib/tcl8/8.6/tdbc/sqlite3-1.1.2.tm
72K /usr/lib/tdbc1.1.2
72K /usr/lib/tdbcmysql1.1.2
92K /usr/lib/tdbcodbc1.1.2
68K /usr/lib/tdbcpostgres1.1.2
140K /usr/lib/thread2.8.6
16K /usr/libexec/xtables-addons
du: cannot access '/usr/local/bin/ovpn-ccd-convert': No such file or directory
4.0K /usr/local/bin/rebuild-initrd
8.0K /usr/local/bin/xt_geoip_build
8.0K /usr/local/bin/xt_geoip_update
68K /usr/sbin/batctl
40K /usr/sbin/fbset
4.0K /usr/sbin/update-usbids.sh
36K /usr/sbin/uuidd
40K /usr/share/doc/fireinfo
140K /usr/share/GeoIP/bin
2.2M /usr/share/GeoIP
4.0K /usr/share/zoneinfo/posix/US/Pacific-New
4.0K /usr/share/zoneinfo/right/US/Pacific-New
4.0K /usr/share/zoneinfo/US/Pacific-New
16M /var/lib/GeoIP
117M total
Thanks, and best regards,
Peter Müller
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Core Update 166: Perform spring clean of orphaned files
2022-03-21 15:35 [PATCH] Core Update 166: Perform spring clean of orphaned files Peter Müller
2022-03-21 15:49 ` Peter Müller
@ 2022-03-21 15:55 ` Michael Tremer
2022-03-21 16:03 ` Peter Müller
2022-04-03 14:49 ` Why do we ship tcl again? (was: Re: [PATCH] Core Update 166: Perform spring clean of orphaned files) Peter Müller
1 sibling, 2 replies; 11+ messages in thread
From: Michael Tremer @ 2022-03-21 15:55 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 11039 bytes --]
Hello,
This is interesting.
> On 21 Mar 2022, at 15:35, Peter Müller <peter.mueller(a)ipfire.org> wrote:
>
> On an IPFire installation that has been around since Core Update 110
> (released April 28, 2017), these files have been identified as being
> orphaned, comparing to a fresh installation of Core Update 164.
>
> To avoid such a list of files agglomerating, persons responsible for a
> Core Update should check whether an updated package contains deleted
> files in its rootfile. If so, they should be deleted on existing systems
> via update.sh as well.
>
> Signed-off-by: Peter Müller <peter.mueller(a)ipfire.org>
> ---
> config/rootfiles/core/166/update.sh | 260 +++++++++++++++++++++++++++-
> 1 file changed, 258 insertions(+), 2 deletions(-)
>
> diff --git a/config/rootfiles/core/166/update.sh b/config/rootfiles/core/166/update.sh
> index 1370555b0..b556986a5 100644
> --- a/config/rootfiles/core/166/update.sh
> +++ b/config/rootfiles/core/166/update.sh
> @@ -32,13 +32,269 @@ for (( i=1; i<=$core; i++ )); do
> done
>
> # Remove files
> -rm -vf \
> +rm -rvf \
> + /bin/setserial \
> /etc/dracut.conf \
> + /etc/fonts/conf.d/30-urw-aliases.conf \
> + /etc/grub.d/README \
> + /etc/rc.d/init.d/networking/red.up/99-geoip-database \
> + /etc/udev/rules.d/99-fuse.rules \
> + /lib/firmware/amd-ucode/microcode_amd.bin.asc \
> + /lib/firmware/amd-ucode/microcode_amd_fam15h.bin.asc \
> + /lib/firmware/amd-ucode/microcode_amd_fam16h.bin.asc \
> + /lib/firmware/amd-ucode/microcode_amd_fam17h.bin.asc \
> + /lib/firmware/ath10k/QCA4019/hw1.0/notice_ath10k_firmware-5.txt \
> + /lib/firmware/ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt \
> + /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt \
> + /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt \
> + /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt \
> + /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt \
> + /lib/firmware/ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt \
> + /lib/firmware/ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt \
> + /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt \
> + /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt \
> + /lib/firmware/ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt \
> + /lib/firmware/ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt \
> + /lib/firmware/atusb/ChangeLog \
> + /lib/firmware/check_whence.py \
> + /lib/firmware/cis/src \
> + /lib/firmware/copy-firmware.sh \
> + /lib/firmware/cxgb4/t4fw-1.20.8.0.bin \
> + /lib/firmware/cxgb4/t4fw-1.24.3.0.bin \
> + /lib/firmware/cxgb4/t5fw-1.20.8.0.bin \
> + /lib/firmware/cxgb4/t5fw-1.24.3.0.bin \
> + /lib/firmware/cxgb4/t6fw-1.20.8.0.bin \
> + /lib/firmware/cxgb4/t6fw-1.24.3.0.bin \
> + /lib/firmware/GPL-2 \
> + /lib/firmware/GPL-3 \
> + /lib/firmware/isci/README \
> + /lib/firmware/LICENCE.* \
> + /lib/firmware/Makefile \
> + /lib/firmware/qca/NOTICE.txt \
> + /lib/firmware/qcom/NOTICE.txt \
> + /lib/firmware/README \
> + /lib/firmware/WHENCE \
> + /lib/kbd/keymaps/i386/qwerty/fi-latin1.map.gz \
> + /lib/kbd/keymaps/i386/qwerty/fi-latin9.map.gz \
> + /lib/ld-2.29.so \
> + /lib/ld-2.31.so \
> + /lib/ld-2.32.so \
These should have been gone before. Ideally by the filesystem cleanup script.
> + /lib/libcap.so \
> + /lib/libhistory.so.5 \
> + /lib/libhistory.so.5.2 \
> + /lib/libip4tc.so.0 \
> + /lib/libip4tc.so.0.1.0 \
> + /lib/libip6tc.so.0 \
> + /lib/libip6tc.so.0.1.0 \
> + /lib/libiptc.so \
> + /lib/libiptc.so.0 \
> + /lib/libiptc.so.0.0.0 \
> + /lib/libnss_nis-2.31.so \
> + /lib/libnss_nisplus-2.31.so \
> + /lib/libnss_nisplus.so.2 \
> + /lib/libnss_nis.so.2 \
> + /lib/libproc-3.2.8.so \
> + /lib/libreadline.so.5 \
> + /lib/libreadline.so.5.2 \
> + /lib/libsysfs.so \
> + /lib/libsysfs.so.1 \
> + /lib/libsysfs.so.1.0.3 \
> + /lib/udev/bluetooth_serial \
> + /lib/udev/rules.d/24-bluetooth.rules \
> + /lib/xtables/libxt_IMQ.so \
> /opt/pakfire/pakfire-2007.key \
> + /sbin/mount.fuse \
> + /sbin/raw \
> + /sbin/xfs_scrub \
> + /sbin/xfs_scrub_all \
> + /srv/web/ipfire/cgi-bin/bluetooth.cgi \
> + /usr/bin/ez-ipupdate \
LOL
> + /usr/bin/fusermount \
> + /usr/bin/gawk-5.1.0 \
> + /usr/bin/gcov-dump \
> + /usr/bin/getunimap \
> /usr/bin/mkinitrd \
> + /usr/bin/mtools \
> + /usr/bin/pango-querymodules \
> + /usr/bin/perl5.30.0 \
> + /usr/bin/setlogcons \
> + /usr/bin/setvesablank \
> + /usr/bin/ulockmgr_server \
> + /usr/include/python2.7 \
> + /usr/lib/cairo \
> /usr/lib/dracut \
> + /usr/lib/findutils/bigram \
> + /usr/lib/findutils/code \
> + /usr/lib/gawk/testext.so \
> + /usr/lib/itcl4.2.1 \
> + /usr/lib/libasan.so.5 \
> + /usr/lib/libasan.so.5.0.0 \
> + /usr/lib/libbfd-2.32.so \
> + /usr/lib/libbfd-2.34.so \
> + /usr/lib/libbfd-2.35.1.so \
> + /usr/lib/libbind9-9.16.22.so \
> + /usr/lib/libbind9.so.161 \
> + /usr/lib/libbind9.so.161.0.4 \
> + /usr/lib/libblkid.so \
> + /usr/lib/libdns-9.16.22.so \
> + /usr/lib/libdnssec.so.7 \
> + /usr/lib/libdnssec.so.7.0.0 \
> + /usr/lib/libdns.so.* \
These should have been caught by the script as well. Any idea why that didn’t happen?
> + /usr/lib/libevent-2.1.so.6 \
> + /usr/lib/libevent-2.1.so.6.0.2 \
> + /usr/lib/libevent_core-2.1.so.6 \
> + /usr/lib/libevent_core-2.1.so.6.0.2 \
> + /usr/lib/libevent_extra-2.1.so.6 \
> + /usr/lib/libevent_extra-2.1.so.6.0.2 \
> + /usr/lib/libevent_openssl-2.1.so.6 \
> + /usr/lib/libevent_openssl-2.1.so.6.0.2 \
> + /usr/lib/libevent_openssl.so \
> + /usr/lib/libevent_pthreads-2.1.so.6 \
> + /usr/lib/libevent_pthreads-2.1.so.6.0.2 \
> + /usr/lib/libevent_pthreads.so \
> + /usr/lib/libexpat.so \
> + /usr/lib/libexslt.so \
> + /usr/lib/libffi.so.6 \
> + /usr/lib/libffi.so.6.0.4 \
> + /usr/lib/libffi.so.7 \
> + /usr/lib/libffi.so.7.1.0 \
> + /usr/lib/libfuse.so \
> + /usr/lib/libfuse.so.2 \
> + /usr/lib/libfuse.so.2.9.7 \
> + /usr/lib/libgdbm_compat.so \
> + /usr/lib/libgdbm_compat.so.3 \
> + /usr/lib/libgdbm_compat.so.3.0.0 \
> + /usr/lib/libgdbm.so \
> + /usr/lib/libgdbm.so.3 \
> + /usr/lib/libgdbm.so.3.0.0 \
> + /usr/lib/libgd.so \
> + /usr/lib/libgd.so.2 \
> + /usr/lib/libgd.so.2.0.0 \
> + /usr/lib/libgettextlib-0.19.8.1.so \
> + /usr/lib/libgettextsrc-0.19.8.1.so \
> + /usr/lib/libhistory.so.6 \
> + /usr/lib/libhistory.so.6.3 \
> + /usr/lib/libhogweed.so.5 \
> + /usr/lib/libhogweed.so.5.0 \
> + /usr/lib/libidn.so \
> + /usr/lib/libidn.so.11 \
> + /usr/lib/libidn.so.11.6.18 \
> + /usr/lib/libirs-9.16.22.so \
> + /usr/lib/libisc-9.16.22.so \
> + /usr/lib/libisccc-9.16.22.so \
> + /usr/lib/libisccc.so.161 \
> + /usr/lib/libisccc.so.161.0.1 \
> + /usr/lib/libisccfg-9.16.22.so \
> + /usr/lib/libisccfg.so.163 \
> + /usr/lib/libisccfg.so.163.0.8 \
> + /usr/lib/libisc.so.1100 \
> + /usr/lib/libisc.so.1100.3.2 \
> + /usr/lib/libisc.so.1104 \
> + /usr/lib/libisc.so.1104.0.0 \
> + /usr/lib/libisc.so.1105 \
> + /usr/lib/libisc.so.1105.1.1 \
> + /usr/lib/libisc.so.1107 \
> + /usr/lib/libisc.so.1107.0.5 \
See above.
> + /usr/lib/libixml.so \
> + /usr/lib/libknot.so.10 \
> + /usr/lib/libknot.so.10.0.0 \
> + /usr/lib/libknot.so.11 \
> + /usr/lib/libknot.so.11.0.0 \
> + /usr/lib/libknot.so.9 \
> + /usr/lib/libknot.so.9.0.0 \
> + /usr/lib/liblber-2.3.so.0 \
> + /usr/lib/liblber-2.3.so.0.2.8 \
> + /usr/lib/libldap-2.3.so.0 \
> + /usr/lib/libldap-2.3.so.0.2.8 \
> + /usr/lib/libldap_r-2.3.so.0 \
> + /usr/lib/libldap_r-2.3.so.0.2.8 \
> + /usr/lib/libloc.so.0 \
> + /usr/lib/libloc.so.0.0.0 \
> + /usr/lib/liblua-5.3.so \
> + /usr/lib/liblua.so \
> + /usr/lib/liblwres.so.161 \
> + /usr/lib/liblwres.so.161.0.4 \
> + /usr/lib/libmpfr.so.4 \
> + /usr/lib/libmpfr.so.4.1.5 \
> + /usr/lib/libmpx.so.2 \
> + /usr/lib/libmpx.so.2.0.1 \
> + /usr/lib/libmpxwrappers.so.2 \
> + /usr/lib/libmpxwrappers.so.2.0.1 \
> + /usr/lib/libnettle.so.7 \
> + /usr/lib/libnettle.so.7.0 \
> + /usr/lib/libns-9.16.22.so \
> + /usr/lib/libopcodes-2.32.so \
> + /usr/lib/libopcodes-2.34.so \
> + /usr/lib/libopcodes-2.35.1.so \
> + /usr/lib/libpcre2-posix.so.2 \
> + /usr/lib/libpcre2-posix.so.2.0.3 \
> + /usr/lib/libpng12.so \
> + /usr/lib/libpng12.so.0 \
> + /usr/lib/libpng12.so.0.57.0 \
> + /usr/lib/libpng.so.3 \
> + /usr/lib/libpng.so.3.57.0 \
> + /usr/lib/libpoppler.so.100 \
> + /usr/lib/libpoppler.so.100.0.0 \
> + /usr/lib/libpoppler.so.110 \
> + /usr/lib/libpoppler.so.110.0.0 \
> + /usr/lib/libpoppler.so.111 \
> + /usr/lib/libpoppler.so.111.0.0 \
> + /usr/lib/libpoppler.so.66 \
> + /usr/lib/libpoppler.so.66.0.0 \
> + /usr/lib/libqpdf.so.17 \
> + /usr/lib/libqpdf.so.17.0.0 \
> + /usr/lib/libreadline.so.6 \
> + /usr/lib/libreadline.so.6.3 \
> + /usr/lib/libsensors.so.4 \
> + /usr/lib/libsensors.so.4.4.0 \
> + /usr/lib/libsqlite3.so \
> + /usr/lib/libthreadutil.so \
> + /usr/lib/libthreadutil.so.6 \
> + /usr/lib/libthreadutil.so.6.0.3 \
> + /usr/lib/libulockmgr.so \
> + /usr/lib/libulockmgr.so.1 \
> + /usr/lib/libulockmgr.so.1.0.1 \
> + /usr/lib/libupnp.so \
> + /usr/lib/libuuid.so \
> + /usr/lib/libxml2.so \
> + /usr/lib/libxslt.so \
> + /usr/lib/pango \
> + /usr/lib/perl5/site_perl/5.30.0 \
> + /usr/lib/perl5/site_perl/5.32.1/Net/IP.pm \
> + /usr/lib/python3.8/ensurepip/_bundled/pip-19.2.3-py2.py3-none-any.whl \
> + /usr/lib/python3.8/idlelib/Icons/idle.icns \
> + /usr/lib/python3.8/lib2to3/Grammar3.8.1.final.0.pickle \
> + /usr/lib/python3.8/lib2to3/PatternGrammar3.8.1.final.0.pickle \
Why can we not delete /usr/lib/python3.8 as a whole? This should not be needed any more.
> + /usr/lib/sqlite3.34.0 \
> + /usr/lib/squid/basic_nis_auth \
> + /usr/lib/squid/ext_time_quota_acl \
> + /usr/lib/tcl8/8.4/platform-1.0.14.tm \
> + /usr/lib/tcl8/8.4/platform-1.0.15.tm \
> + /usr/lib/tcl8/8.5/msgcat-1.6.0.tm \
> + /usr/lib/tcl8/8.5/tcltest-2.4.0.tm \
> + /usr/lib/tcl8/8.6/http-2.8.9.tm \
> + /usr/lib/tcl8/8.6/tdbc/sqlite3-1.0.4.tm \
> + /usr/lib/tcl8/8.6/tdbc/sqlite3-1.1.2.tm \
Why do we even ship tcl? Is anything reliant on this?
> + /usr/lib/tdbc1.1.2 \
> + /usr/lib/tdbcmysql1.1.2 \
> + /usr/lib/tdbcodbc1.1.2 \
> + /usr/lib/tdbcpostgres1.1.2 \
> + /usr/lib/thread2.8.6 \
> + /usr/libexec/xtables-addons \
> /usr/local/bin/ovpn-ccd-convert \
> - /usr/local/bin/rebuild-initrd
> + /usr/local/bin/rebuild-initrd \
> + /usr/local/bin/xt_geoip_build \
> + /usr/local/bin/xt_geoip_update \
> + /usr/sbin/batctl \
> + /usr/sbin/fbset \
> + /usr/sbin/update-usbids.sh \
> + /usr/sbin/uuidd \
> + /usr/share/doc/fireinfo \
> + /usr/share/GeoIP \
> + /usr/share/zoneinfo/posix/US/Pacific-New \
> + /usr/share/zoneinfo/right/US/Pacific-New \
> + /usr/share/zoneinfo/US/Pacific-New \
> + /var/lib/GeoIP
What method did you use to identify all these files?
-Michael
>
> # Delete old 2007 Pakfire key from GPG keyring
> export GNUPGHOME="/opt/pakfire/etc/.gnupg"
> --
> 2.34.1
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Core Update 166: Perform spring clean of orphaned files
2022-03-21 15:55 ` Michael Tremer
@ 2022-03-21 16:03 ` Peter Müller
2022-03-21 16:06 ` Michael Tremer
2022-04-03 14:49 ` Why do we ship tcl again? (was: Re: [PATCH] Core Update 166: Perform spring clean of orphaned files) Peter Müller
1 sibling, 1 reply; 11+ messages in thread
From: Peter Müller @ 2022-03-21 16:03 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 12577 bytes --]
Hello Michael,
thanks for your reply.
> Hello,
>
> This is interesting.
That's a mild way of putting it, I think. :-)
>
>> On 21 Mar 2022, at 15:35, Peter Müller <peter.mueller(a)ipfire.org> wrote:
>>
>> On an IPFire installation that has been around since Core Update 110
>> (released April 28, 2017), these files have been identified as being
>> orphaned, comparing to a fresh installation of Core Update 164.
>>
>> To avoid such a list of files agglomerating, persons responsible for a
>> Core Update should check whether an updated package contains deleted
>> files in its rootfile. If so, they should be deleted on existing systems
>> via update.sh as well.
>>
>> Signed-off-by: Peter Müller <peter.mueller(a)ipfire.org>
>> ---
>> config/rootfiles/core/166/update.sh | 260 +++++++++++++++++++++++++++-
>> 1 file changed, 258 insertions(+), 2 deletions(-)
>>
>> diff --git a/config/rootfiles/core/166/update.sh b/config/rootfiles/core/166/update.sh
>> index 1370555b0..b556986a5 100644
>> --- a/config/rootfiles/core/166/update.sh
>> +++ b/config/rootfiles/core/166/update.sh
>> @@ -32,13 +32,269 @@ for (( i=1; i<=$core; i++ )); do
>> done
>>
>> # Remove files
>> -rm -vf \
>> +rm -rvf \
>> + /bin/setserial \
>> /etc/dracut.conf \
>> + /etc/fonts/conf.d/30-urw-aliases.conf \
>> + /etc/grub.d/README \
>> + /etc/rc.d/init.d/networking/red.up/99-geoip-database \
>> + /etc/udev/rules.d/99-fuse.rules \
>> + /lib/firmware/amd-ucode/microcode_amd.bin.asc \
>> + /lib/firmware/amd-ucode/microcode_amd_fam15h.bin.asc \
>> + /lib/firmware/amd-ucode/microcode_amd_fam16h.bin.asc \
>> + /lib/firmware/amd-ucode/microcode_amd_fam17h.bin.asc \
>> + /lib/firmware/ath10k/QCA4019/hw1.0/notice_ath10k_firmware-5.txt \
>> + /lib/firmware/ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt \
>> + /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt \
>> + /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt \
>> + /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt \
>> + /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt \
>> + /lib/firmware/ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt \
>> + /lib/firmware/ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt \
>> + /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt \
>> + /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt \
>> + /lib/firmware/ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt \
>> + /lib/firmware/ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt \
>> + /lib/firmware/atusb/ChangeLog \
>> + /lib/firmware/check_whence.py \
>> + /lib/firmware/cis/src \
>> + /lib/firmware/copy-firmware.sh \
>> + /lib/firmware/cxgb4/t4fw-1.20.8.0.bin \
>> + /lib/firmware/cxgb4/t4fw-1.24.3.0.bin \
>> + /lib/firmware/cxgb4/t5fw-1.20.8.0.bin \
>> + /lib/firmware/cxgb4/t5fw-1.24.3.0.bin \
>> + /lib/firmware/cxgb4/t6fw-1.20.8.0.bin \
>> + /lib/firmware/cxgb4/t6fw-1.24.3.0.bin \
>> + /lib/firmware/GPL-2 \
>> + /lib/firmware/GPL-3 \
>> + /lib/firmware/isci/README \
>> + /lib/firmware/LICENCE.* \
>> + /lib/firmware/Makefile \
>> + /lib/firmware/qca/NOTICE.txt \
>> + /lib/firmware/qcom/NOTICE.txt \
>> + /lib/firmware/README \
>> + /lib/firmware/WHENCE \
>> + /lib/kbd/keymaps/i386/qwerty/fi-latin1.map.gz \
>> + /lib/kbd/keymaps/i386/qwerty/fi-latin9.map.gz \
>> + /lib/ld-2.29.so \
>> + /lib/ld-2.31.so \
>> + /lib/ld-2.32.so \
>
> These should have been gone before. Ideally by the filesystem cleanup script.
To be honest, I never had a look at this script, and therefore do not have an idea
what it does and what it does not. I will investigate and get back to you, if necessary.
>> + /lib/libcap.so \
>> + /lib/libhistory.so.5 \
>> + /lib/libhistory.so.5.2 \
>> + /lib/libip4tc.so.0 \
>> + /lib/libip4tc.so.0.1.0 \
>> + /lib/libip6tc.so.0 \
>> + /lib/libip6tc.so.0.1.0 \
>> + /lib/libiptc.so \
>> + /lib/libiptc.so.0 \
>> + /lib/libiptc.so.0.0.0 \
>> + /lib/libnss_nis-2.31.so \
>> + /lib/libnss_nisplus-2.31.so \
>> + /lib/libnss_nisplus.so.2 \
>> + /lib/libnss_nis.so.2 \
>> + /lib/libproc-3.2.8.so \
>> + /lib/libreadline.so.5 \
>> + /lib/libreadline.so.5.2 \
>> + /lib/libsysfs.so \
>> + /lib/libsysfs.so.1 \
>> + /lib/libsysfs.so.1.0.3 \
>> + /lib/udev/bluetooth_serial \
>> + /lib/udev/rules.d/24-bluetooth.rules \
>> + /lib/xtables/libxt_IMQ.so \
>> /opt/pakfire/pakfire-2007.key \
>> + /sbin/mount.fuse \
>> + /sbin/raw \
>> + /sbin/xfs_scrub \
>> + /sbin/xfs_scrub_all \
>> + /srv/web/ipfire/cgi-bin/bluetooth.cgi \
>> + /usr/bin/ez-ipupdate \
>
> LOL
?
>
>> + /usr/bin/fusermount \
>> + /usr/bin/gawk-5.1.0 \
>> + /usr/bin/gcov-dump \
>> + /usr/bin/getunimap \
>> /usr/bin/mkinitrd \
>> + /usr/bin/mtools \
>> + /usr/bin/pango-querymodules \
>> + /usr/bin/perl5.30.0 \
>> + /usr/bin/setlogcons \
>> + /usr/bin/setvesablank \
>> + /usr/bin/ulockmgr_server \
>> + /usr/include/python2.7 \
>> + /usr/lib/cairo \
>> /usr/lib/dracut \
>> + /usr/lib/findutils/bigram \
>> + /usr/lib/findutils/code \
>> + /usr/lib/gawk/testext.so \
>> + /usr/lib/itcl4.2.1 \
>> + /usr/lib/libasan.so.5 \
>> + /usr/lib/libasan.so.5.0.0 \
>> + /usr/lib/libbfd-2.32.so \
>> + /usr/lib/libbfd-2.34.so \
>> + /usr/lib/libbfd-2.35.1.so \
>> + /usr/lib/libbind9-9.16.22.so \
>> + /usr/lib/libbind9.so.161 \
>> + /usr/lib/libbind9.so.161.0.4 \
>> + /usr/lib/libblkid.so \
>> + /usr/lib/libdns-9.16.22.so \
>> + /usr/lib/libdnssec.so.7 \
>> + /usr/lib/libdnssec.so.7.0.0 \
>> + /usr/lib/libdns.so.* \
>
> These should have been caught by the script as well. Any idea why that didn’t happen?
>
>> + /usr/lib/libevent-2.1.so.6 \
>> + /usr/lib/libevent-2.1.so.6.0.2 \
>> + /usr/lib/libevent_core-2.1.so.6 \
>> + /usr/lib/libevent_core-2.1.so.6.0.2 \
>> + /usr/lib/libevent_extra-2.1.so.6 \
>> + /usr/lib/libevent_extra-2.1.so.6.0.2 \
>> + /usr/lib/libevent_openssl-2.1.so.6 \
>> + /usr/lib/libevent_openssl-2.1.so.6.0.2 \
>> + /usr/lib/libevent_openssl.so \
>> + /usr/lib/libevent_pthreads-2.1.so.6 \
>> + /usr/lib/libevent_pthreads-2.1.so.6.0.2 \
>> + /usr/lib/libevent_pthreads.so \
>> + /usr/lib/libexpat.so \
>> + /usr/lib/libexslt.so \
>> + /usr/lib/libffi.so.6 \
>> + /usr/lib/libffi.so.6.0.4 \
>> + /usr/lib/libffi.so.7 \
>> + /usr/lib/libffi.so.7.1.0 \
>> + /usr/lib/libfuse.so \
>> + /usr/lib/libfuse.so.2 \
>> + /usr/lib/libfuse.so.2.9.7 \
>> + /usr/lib/libgdbm_compat.so \
>> + /usr/lib/libgdbm_compat.so.3 \
>> + /usr/lib/libgdbm_compat.so.3.0.0 \
>> + /usr/lib/libgdbm.so \
>> + /usr/lib/libgdbm.so.3 \
>> + /usr/lib/libgdbm.so.3.0.0 \
>> + /usr/lib/libgd.so \
>> + /usr/lib/libgd.so.2 \
>> + /usr/lib/libgd.so.2.0.0 \
>> + /usr/lib/libgettextlib-0.19.8.1.so \
>> + /usr/lib/libgettextsrc-0.19.8.1.so \
>> + /usr/lib/libhistory.so.6 \
>> + /usr/lib/libhistory.so.6.3 \
>> + /usr/lib/libhogweed.so.5 \
>> + /usr/lib/libhogweed.so.5.0 \
>> + /usr/lib/libidn.so \
>> + /usr/lib/libidn.so.11 \
>> + /usr/lib/libidn.so.11.6.18 \
>> + /usr/lib/libirs-9.16.22.so \
>> + /usr/lib/libisc-9.16.22.so \
>> + /usr/lib/libisccc-9.16.22.so \
>> + /usr/lib/libisccc.so.161 \
>> + /usr/lib/libisccc.so.161.0.1 \
>> + /usr/lib/libisccfg-9.16.22.so \
>> + /usr/lib/libisccfg.so.163 \
>> + /usr/lib/libisccfg.so.163.0.8 \
>> + /usr/lib/libisc.so.1100 \
>> + /usr/lib/libisc.so.1100.3.2 \
>> + /usr/lib/libisc.so.1104 \
>> + /usr/lib/libisc.so.1104.0.0 \
>> + /usr/lib/libisc.so.1105 \
>> + /usr/lib/libisc.so.1105.1.1 \
>> + /usr/lib/libisc.so.1107 \
>> + /usr/lib/libisc.so.1107.0.5 \
>
> See above.
>
>> + /usr/lib/libixml.so \
>> + /usr/lib/libknot.so.10 \
>> + /usr/lib/libknot.so.10.0.0 \
>> + /usr/lib/libknot.so.11 \
>> + /usr/lib/libknot.so.11.0.0 \
>> + /usr/lib/libknot.so.9 \
>> + /usr/lib/libknot.so.9.0.0 \
>> + /usr/lib/liblber-2.3.so.0 \
>> + /usr/lib/liblber-2.3.so.0.2.8 \
>> + /usr/lib/libldap-2.3.so.0 \
>> + /usr/lib/libldap-2.3.so.0.2.8 \
>> + /usr/lib/libldap_r-2.3.so.0 \
>> + /usr/lib/libldap_r-2.3.so.0.2.8 \
>> + /usr/lib/libloc.so.0 \
>> + /usr/lib/libloc.so.0.0.0 \
>> + /usr/lib/liblua-5.3.so \
>> + /usr/lib/liblua.so \
>> + /usr/lib/liblwres.so.161 \
>> + /usr/lib/liblwres.so.161.0.4 \
>> + /usr/lib/libmpfr.so.4 \
>> + /usr/lib/libmpfr.so.4.1.5 \
>> + /usr/lib/libmpx.so.2 \
>> + /usr/lib/libmpx.so.2.0.1 \
>> + /usr/lib/libmpxwrappers.so.2 \
>> + /usr/lib/libmpxwrappers.so.2.0.1 \
>> + /usr/lib/libnettle.so.7 \
>> + /usr/lib/libnettle.so.7.0 \
>> + /usr/lib/libns-9.16.22.so \
>> + /usr/lib/libopcodes-2.32.so \
>> + /usr/lib/libopcodes-2.34.so \
>> + /usr/lib/libopcodes-2.35.1.so \
>> + /usr/lib/libpcre2-posix.so.2 \
>> + /usr/lib/libpcre2-posix.so.2.0.3 \
>> + /usr/lib/libpng12.so \
>> + /usr/lib/libpng12.so.0 \
>> + /usr/lib/libpng12.so.0.57.0 \
>> + /usr/lib/libpng.so.3 \
>> + /usr/lib/libpng.so.3.57.0 \
>> + /usr/lib/libpoppler.so.100 \
>> + /usr/lib/libpoppler.so.100.0.0 \
>> + /usr/lib/libpoppler.so.110 \
>> + /usr/lib/libpoppler.so.110.0.0 \
>> + /usr/lib/libpoppler.so.111 \
>> + /usr/lib/libpoppler.so.111.0.0 \
>> + /usr/lib/libpoppler.so.66 \
>> + /usr/lib/libpoppler.so.66.0.0 \
>> + /usr/lib/libqpdf.so.17 \
>> + /usr/lib/libqpdf.so.17.0.0 \
>> + /usr/lib/libreadline.so.6 \
>> + /usr/lib/libreadline.so.6.3 \
>> + /usr/lib/libsensors.so.4 \
>> + /usr/lib/libsensors.so.4.4.0 \
>> + /usr/lib/libsqlite3.so \
>> + /usr/lib/libthreadutil.so \
>> + /usr/lib/libthreadutil.so.6 \
>> + /usr/lib/libthreadutil.so.6.0.3 \
>> + /usr/lib/libulockmgr.so \
>> + /usr/lib/libulockmgr.so.1 \
>> + /usr/lib/libulockmgr.so.1.0.1 \
>> + /usr/lib/libupnp.so \
>> + /usr/lib/libuuid.so \
>> + /usr/lib/libxml2.so \
>> + /usr/lib/libxslt.so \
>> + /usr/lib/pango \
>> + /usr/lib/perl5/site_perl/5.30.0 \
>> + /usr/lib/perl5/site_perl/5.32.1/Net/IP.pm \
>> + /usr/lib/python3.8/ensurepip/_bundled/pip-19.2.3-py2.py3-none-any.whl \
>> + /usr/lib/python3.8/idlelib/Icons/idle.icns \
>> + /usr/lib/python3.8/lib2to3/Grammar3.8.1.final.0.pickle \
>> + /usr/lib/python3.8/lib2to3/PatternGrammar3.8.1.final.0.pickle \
>
> Why can we not delete /usr/lib/python3.8 as a whole? This should not be needed any more.
Yes, good point. I was running the comparison based on Core Update 164, but with
Python being updated to 3.10.x in Core Update 165, this folder won't be necessary
anymore completely.
>
>> + /usr/lib/sqlite3.34.0 \
>> + /usr/lib/squid/basic_nis_auth \
>> + /usr/lib/squid/ext_time_quota_acl \
>> + /usr/lib/tcl8/8.4/platform-1.0.14.tm \
>> + /usr/lib/tcl8/8.4/platform-1.0.15.tm \
>> + /usr/lib/tcl8/8.5/msgcat-1.6.0.tm \
>> + /usr/lib/tcl8/8.5/tcltest-2.4.0.tm \
>> + /usr/lib/tcl8/8.6/http-2.8.9.tm \
>> + /usr/lib/tcl8/8.6/tdbc/sqlite3-1.0.4.tm \
>> + /usr/lib/tcl8/8.6/tdbc/sqlite3-1.1.2.tm \
>
> Why do we even ship tcl? Is anything reliant on this?
I don't know.
>> + /usr/lib/tdbc1.1.2 \
>> + /usr/lib/tdbcmysql1.1.2 \
>> + /usr/lib/tdbcodbc1.1.2 \
>> + /usr/lib/tdbcpostgres1.1.2 \
>> + /usr/lib/thread2.8.6 \
>> + /usr/libexec/xtables-addons \
>> /usr/local/bin/ovpn-ccd-convert \
>> - /usr/local/bin/rebuild-initrd
>> + /usr/local/bin/rebuild-initrd \
>> + /usr/local/bin/xt_geoip_build \
>> + /usr/local/bin/xt_geoip_update \
>> + /usr/sbin/batctl \
>> + /usr/sbin/fbset \
>> + /usr/sbin/update-usbids.sh \
>> + /usr/sbin/uuidd \
>> + /usr/share/doc/fireinfo \
>> + /usr/share/GeoIP \
>> + /usr/share/zoneinfo/posix/US/Pacific-New \
>> + /usr/share/zoneinfo/right/US/Pacific-New \
>> + /usr/share/zoneinfo/US/Pacific-New \
>> + /var/lib/GeoIP
>
> What method did you use to identify all these files?
On the IPFire installation in question, I ran
> find bin/ etc/ lib/ opt/ run/ sbin/ srv/ usr/ var/ | sort > ~/ist
and scp'ed that file onto my workstation. Then, I downloaded the ISO for Core Update 164
(because I wanted to have something stable, which is why I did not choose C165 for this),
installed it in a VM, rebooted it, mounted the root partition and executed the same find
command with a different file name.
A
> diff -Naur soll ist | less
(sorry for the German) outputs a long list, which I vetted manually since some add-ons
were installed on the productive system, and I did not want to pipe the output into the
rm command blindly.
Thanks, and best regards,
Peter Müller
>
> -Michael
>
>>
>> # Delete old 2007 Pakfire key from GPG keyring
>> export GNUPGHOME="/opt/pakfire/etc/.gnupg"
>> --
>> 2.34.1
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Core Update 166: Perform spring clean of orphaned files
2022-03-21 16:03 ` Peter Müller
@ 2022-03-21 16:06 ` Michael Tremer
2022-03-21 19:15 ` Peter Müller
0 siblings, 1 reply; 11+ messages in thread
From: Michael Tremer @ 2022-03-21 16:06 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 13223 bytes --]
Hello,
> On 21 Mar 2022, at 16:03, Peter Müller <peter.mueller(a)ipfire.org> wrote:
>
> Hello Michael,
>
> thanks for your reply.
>
>> Hello,
>>
>> This is interesting.
>
> That's a mild way of putting it, I think. :-)
>
>>
>>> On 21 Mar 2022, at 15:35, Peter Müller <peter.mueller(a)ipfire.org> wrote:
>>>
>>> On an IPFire installation that has been around since Core Update 110
>>> (released April 28, 2017), these files have been identified as being
>>> orphaned, comparing to a fresh installation of Core Update 164.
>>>
>>> To avoid such a list of files agglomerating, persons responsible for a
>>> Core Update should check whether an updated package contains deleted
>>> files in its rootfile. If so, they should be deleted on existing systems
>>> via update.sh as well.
>>>
>>> Signed-off-by: Peter Müller <peter.mueller(a)ipfire.org>
>>> ---
>>> config/rootfiles/core/166/update.sh | 260 +++++++++++++++++++++++++++-
>>> 1 file changed, 258 insertions(+), 2 deletions(-)
>>>
>>> diff --git a/config/rootfiles/core/166/update.sh b/config/rootfiles/core/166/update.sh
>>> index 1370555b0..b556986a5 100644
>>> --- a/config/rootfiles/core/166/update.sh
>>> +++ b/config/rootfiles/core/166/update.sh
>>> @@ -32,13 +32,269 @@ for (( i=1; i<=$core; i++ )); do
>>> done
>>>
>>> # Remove files
>>> -rm -vf \
>>> +rm -rvf \
>>> + /bin/setserial \
>>> /etc/dracut.conf \
>>> + /etc/fonts/conf.d/30-urw-aliases.conf \
>>> + /etc/grub.d/README \
>>> + /etc/rc.d/init.d/networking/red.up/99-geoip-database \
>>> + /etc/udev/rules.d/99-fuse.rules \
>>> + /lib/firmware/amd-ucode/microcode_amd.bin.asc \
>>> + /lib/firmware/amd-ucode/microcode_amd_fam15h.bin.asc \
>>> + /lib/firmware/amd-ucode/microcode_amd_fam16h.bin.asc \
>>> + /lib/firmware/amd-ucode/microcode_amd_fam17h.bin.asc \
>>> + /lib/firmware/ath10k/QCA4019/hw1.0/notice_ath10k_firmware-5.txt \
>>> + /lib/firmware/ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt \
>>> + /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt \
>>> + /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt \
>>> + /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt \
>>> + /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt \
>>> + /lib/firmware/ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt \
>>> + /lib/firmware/ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt \
>>> + /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt \
>>> + /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt \
>>> + /lib/firmware/ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt \
>>> + /lib/firmware/ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt \
>>> + /lib/firmware/atusb/ChangeLog \
>>> + /lib/firmware/check_whence.py \
>>> + /lib/firmware/cis/src \
>>> + /lib/firmware/copy-firmware.sh \
>>> + /lib/firmware/cxgb4/t4fw-1.20.8.0.bin \
>>> + /lib/firmware/cxgb4/t4fw-1.24.3.0.bin \
>>> + /lib/firmware/cxgb4/t5fw-1.20.8.0.bin \
>>> + /lib/firmware/cxgb4/t5fw-1.24.3.0.bin \
>>> + /lib/firmware/cxgb4/t6fw-1.20.8.0.bin \
>>> + /lib/firmware/cxgb4/t6fw-1.24.3.0.bin \
>>> + /lib/firmware/GPL-2 \
>>> + /lib/firmware/GPL-3 \
>>> + /lib/firmware/isci/README \
>>> + /lib/firmware/LICENCE.* \
>>> + /lib/firmware/Makefile \
>>> + /lib/firmware/qca/NOTICE.txt \
>>> + /lib/firmware/qcom/NOTICE.txt \
>>> + /lib/firmware/README \
>>> + /lib/firmware/WHENCE \
>>> + /lib/kbd/keymaps/i386/qwerty/fi-latin1.map.gz \
>>> + /lib/kbd/keymaps/i386/qwerty/fi-latin9.map.gz \
>>> + /lib/ld-2.29.so \
>>> + /lib/ld-2.31.so \
>>> + /lib/ld-2.32.so \
>>
>> These should have been gone before. Ideally by the filesystem cleanup script.
>
> To be honest, I never had a look at this script, and therefore do not have an idea
> what it does and what it does not. I will investigate and get back to you, if necessary.
>
>>> + /lib/libcap.so \
>>> + /lib/libhistory.so.5 \
>>> + /lib/libhistory.so.5.2 \
>>> + /lib/libip4tc.so.0 \
>>> + /lib/libip4tc.so.0.1.0 \
>>> + /lib/libip6tc.so.0 \
>>> + /lib/libip6tc.so.0.1.0 \
>>> + /lib/libiptc.so \
>>> + /lib/libiptc.so.0 \
>>> + /lib/libiptc.so.0.0.0 \
>>> + /lib/libnss_nis-2.31.so \
>>> + /lib/libnss_nisplus-2.31.so \
>>> + /lib/libnss_nisplus.so.2 \
>>> + /lib/libnss_nis.so.2 \
>>> + /lib/libproc-3.2.8.so \
>>> + /lib/libreadline.so.5 \
>>> + /lib/libreadline.so.5.2 \
>>> + /lib/libsysfs.so \
>>> + /lib/libsysfs.so.1 \
>>> + /lib/libsysfs.so.1.0.3 \
>>> + /lib/udev/bluetooth_serial \
>>> + /lib/udev/rules.d/24-bluetooth.rules \
>>> + /lib/xtables/libxt_IMQ.so \
>>> /opt/pakfire/pakfire-2007.key \
>>> + /sbin/mount.fuse \
>>> + /sbin/raw \
>>> + /sbin/xfs_scrub \
>>> + /sbin/xfs_scrub_all \
>>> + /srv/web/ipfire/cgi-bin/bluetooth.cgi \
>>> + /usr/bin/ez-ipupdate \
>>
>> LOL
>
> ?
>
>>
>>> + /usr/bin/fusermount \
>>> + /usr/bin/gawk-5.1.0 \
>>> + /usr/bin/gcov-dump \
>>> + /usr/bin/getunimap \
>>> /usr/bin/mkinitrd \
>>> + /usr/bin/mtools \
>>> + /usr/bin/pango-querymodules \
>>> + /usr/bin/perl5.30.0 \
>>> + /usr/bin/setlogcons \
>>> + /usr/bin/setvesablank \
>>> + /usr/bin/ulockmgr_server \
>>> + /usr/include/python2.7 \
>>> + /usr/lib/cairo \
>>> /usr/lib/dracut \
>>> + /usr/lib/findutils/bigram \
>>> + /usr/lib/findutils/code \
>>> + /usr/lib/gawk/testext.so \
>>> + /usr/lib/itcl4.2.1 \
>>> + /usr/lib/libasan.so.5 \
>>> + /usr/lib/libasan.so.5.0.0 \
>>> + /usr/lib/libbfd-2.32.so \
>>> + /usr/lib/libbfd-2.34.so \
>>> + /usr/lib/libbfd-2.35.1.so \
>>> + /usr/lib/libbind9-9.16.22.so \
>>> + /usr/lib/libbind9.so.161 \
>>> + /usr/lib/libbind9.so.161.0.4 \
>>> + /usr/lib/libblkid.so \
>>> + /usr/lib/libdns-9.16.22.so \
>>> + /usr/lib/libdnssec.so.7 \
>>> + /usr/lib/libdnssec.so.7.0.0 \
>>> + /usr/lib/libdns.so.* \
>>
>> These should have been caught by the script as well. Any idea why that didn’t happen?
>>
>>> + /usr/lib/libevent-2.1.so.6 \
>>> + /usr/lib/libevent-2.1.so.6.0.2 \
>>> + /usr/lib/libevent_core-2.1.so.6 \
>>> + /usr/lib/libevent_core-2.1.so.6.0.2 \
>>> + /usr/lib/libevent_extra-2.1.so.6 \
>>> + /usr/lib/libevent_extra-2.1.so.6.0.2 \
>>> + /usr/lib/libevent_openssl-2.1.so.6 \
>>> + /usr/lib/libevent_openssl-2.1.so.6.0.2 \
>>> + /usr/lib/libevent_openssl.so \
>>> + /usr/lib/libevent_pthreads-2.1.so.6 \
>>> + /usr/lib/libevent_pthreads-2.1.so.6.0.2 \
>>> + /usr/lib/libevent_pthreads.so \
>>> + /usr/lib/libexpat.so \
>>> + /usr/lib/libexslt.so \
>>> + /usr/lib/libffi.so.6 \
>>> + /usr/lib/libffi.so.6.0.4 \
>>> + /usr/lib/libffi.so.7 \
>>> + /usr/lib/libffi.so.7.1.0 \
>>> + /usr/lib/libfuse.so \
>>> + /usr/lib/libfuse.so.2 \
>>> + /usr/lib/libfuse.so.2.9.7 \
>>> + /usr/lib/libgdbm_compat.so \
>>> + /usr/lib/libgdbm_compat.so.3 \
>>> + /usr/lib/libgdbm_compat.so.3.0.0 \
>>> + /usr/lib/libgdbm.so \
>>> + /usr/lib/libgdbm.so.3 \
>>> + /usr/lib/libgdbm.so.3.0.0 \
>>> + /usr/lib/libgd.so \
>>> + /usr/lib/libgd.so.2 \
>>> + /usr/lib/libgd.so.2.0.0 \
>>> + /usr/lib/libgettextlib-0.19.8.1.so \
>>> + /usr/lib/libgettextsrc-0.19.8.1.so \
>>> + /usr/lib/libhistory.so.6 \
>>> + /usr/lib/libhistory.so.6.3 \
>>> + /usr/lib/libhogweed.so.5 \
>>> + /usr/lib/libhogweed.so.5.0 \
>>> + /usr/lib/libidn.so \
>>> + /usr/lib/libidn.so.11 \
>>> + /usr/lib/libidn.so.11.6.18 \
>>> + /usr/lib/libirs-9.16.22.so \
>>> + /usr/lib/libisc-9.16.22.so \
>>> + /usr/lib/libisccc-9.16.22.so \
>>> + /usr/lib/libisccc.so.161 \
>>> + /usr/lib/libisccc.so.161.0.1 \
>>> + /usr/lib/libisccfg-9.16.22.so \
>>> + /usr/lib/libisccfg.so.163 \
>>> + /usr/lib/libisccfg.so.163.0.8 \
>>> + /usr/lib/libisc.so.1100 \
>>> + /usr/lib/libisc.so.1100.3.2 \
>>> + /usr/lib/libisc.so.1104 \
>>> + /usr/lib/libisc.so.1104.0.0 \
>>> + /usr/lib/libisc.so.1105 \
>>> + /usr/lib/libisc.so.1105.1.1 \
>>> + /usr/lib/libisc.so.1107 \
>>> + /usr/lib/libisc.so.1107.0.5 \
>>
>> See above.
>>
>>> + /usr/lib/libixml.so \
>>> + /usr/lib/libknot.so.10 \
>>> + /usr/lib/libknot.so.10.0.0 \
>>> + /usr/lib/libknot.so.11 \
>>> + /usr/lib/libknot.so.11.0.0 \
>>> + /usr/lib/libknot.so.9 \
>>> + /usr/lib/libknot.so.9.0.0 \
>>> + /usr/lib/liblber-2.3.so.0 \
>>> + /usr/lib/liblber-2.3.so.0.2.8 \
>>> + /usr/lib/libldap-2.3.so.0 \
>>> + /usr/lib/libldap-2.3.so.0.2.8 \
>>> + /usr/lib/libldap_r-2.3.so.0 \
>>> + /usr/lib/libldap_r-2.3.so.0.2.8 \
>>> + /usr/lib/libloc.so.0 \
>>> + /usr/lib/libloc.so.0.0.0 \
>>> + /usr/lib/liblua-5.3.so \
>>> + /usr/lib/liblua.so \
>>> + /usr/lib/liblwres.so.161 \
>>> + /usr/lib/liblwres.so.161.0.4 \
>>> + /usr/lib/libmpfr.so.4 \
>>> + /usr/lib/libmpfr.so.4.1.5 \
>>> + /usr/lib/libmpx.so.2 \
>>> + /usr/lib/libmpx.so.2.0.1 \
>>> + /usr/lib/libmpxwrappers.so.2 \
>>> + /usr/lib/libmpxwrappers.so.2.0.1 \
>>> + /usr/lib/libnettle.so.7 \
>>> + /usr/lib/libnettle.so.7.0 \
>>> + /usr/lib/libns-9.16.22.so \
>>> + /usr/lib/libopcodes-2.32.so \
>>> + /usr/lib/libopcodes-2.34.so \
>>> + /usr/lib/libopcodes-2.35.1.so \
>>> + /usr/lib/libpcre2-posix.so.2 \
>>> + /usr/lib/libpcre2-posix.so.2.0.3 \
>>> + /usr/lib/libpng12.so \
>>> + /usr/lib/libpng12.so.0 \
>>> + /usr/lib/libpng12.so.0.57.0 \
>>> + /usr/lib/libpng.so.3 \
>>> + /usr/lib/libpng.so.3.57.0 \
>>> + /usr/lib/libpoppler.so.100 \
>>> + /usr/lib/libpoppler.so.100.0.0 \
>>> + /usr/lib/libpoppler.so.110 \
>>> + /usr/lib/libpoppler.so.110.0.0 \
>>> + /usr/lib/libpoppler.so.111 \
>>> + /usr/lib/libpoppler.so.111.0.0 \
>>> + /usr/lib/libpoppler.so.66 \
>>> + /usr/lib/libpoppler.so.66.0.0 \
>>> + /usr/lib/libqpdf.so.17 \
>>> + /usr/lib/libqpdf.so.17.0.0 \
>>> + /usr/lib/libreadline.so.6 \
>>> + /usr/lib/libreadline.so.6.3 \
>>> + /usr/lib/libsensors.so.4 \
>>> + /usr/lib/libsensors.so.4.4.0 \
>>> + /usr/lib/libsqlite3.so \
>>> + /usr/lib/libthreadutil.so \
>>> + /usr/lib/libthreadutil.so.6 \
>>> + /usr/lib/libthreadutil.so.6.0.3 \
>>> + /usr/lib/libulockmgr.so \
>>> + /usr/lib/libulockmgr.so.1 \
>>> + /usr/lib/libulockmgr.so.1.0.1 \
>>> + /usr/lib/libupnp.so \
>>> + /usr/lib/libuuid.so \
>>> + /usr/lib/libxml2.so \
>>> + /usr/lib/libxslt.so \
>>> + /usr/lib/pango \
>>> + /usr/lib/perl5/site_perl/5.30.0 \
>>> + /usr/lib/perl5/site_perl/5.32.1/Net/IP.pm \
>>> + /usr/lib/python3.8/ensurepip/_bundled/pip-19.2.3-py2.py3-none-any.whl \
>>> + /usr/lib/python3.8/idlelib/Icons/idle.icns \
>>> + /usr/lib/python3.8/lib2to3/Grammar3.8.1.final.0.pickle \
>>> + /usr/lib/python3.8/lib2to3/PatternGrammar3.8.1.final.0.pickle \
>>
>> Why can we not delete /usr/lib/python3.8 as a whole? This should not be needed any more.
>
> Yes, good point. I was running the comparison based on Core Update 164, but with
> Python being updated to 3.10.x in Core Update 165, this folder won't be necessary
> anymore completely.
>
>>
>>> + /usr/lib/sqlite3.34.0 \
>>> + /usr/lib/squid/basic_nis_auth \
>>> + /usr/lib/squid/ext_time_quota_acl \
>>> + /usr/lib/tcl8/8.4/platform-1.0.14.tm \
>>> + /usr/lib/tcl8/8.4/platform-1.0.15.tm \
>>> + /usr/lib/tcl8/8.5/msgcat-1.6.0.tm \
>>> + /usr/lib/tcl8/8.5/tcltest-2.4.0.tm \
>>> + /usr/lib/tcl8/8.6/http-2.8.9.tm \
>>> + /usr/lib/tcl8/8.6/tdbc/sqlite3-1.0.4.tm \
>>> + /usr/lib/tcl8/8.6/tdbc/sqlite3-1.1.2.tm \
>>
>> Why do we even ship tcl? Is anything reliant on this?
>
> I don't know.
>
>>> + /usr/lib/tdbc1.1.2 \
>>> + /usr/lib/tdbcmysql1.1.2 \
>>> + /usr/lib/tdbcodbc1.1.2 \
>>> + /usr/lib/tdbcpostgres1.1.2 \
>>> + /usr/lib/thread2.8.6 \
>>> + /usr/libexec/xtables-addons \
>>> /usr/local/bin/ovpn-ccd-convert \
>>> - /usr/local/bin/rebuild-initrd
>>> + /usr/local/bin/rebuild-initrd \
>>> + /usr/local/bin/xt_geoip_build \
>>> + /usr/local/bin/xt_geoip_update \
>>> + /usr/sbin/batctl \
>>> + /usr/sbin/fbset \
>>> + /usr/sbin/update-usbids.sh \
>>> + /usr/sbin/uuidd \
>>> + /usr/share/doc/fireinfo \
>>> + /usr/share/GeoIP \
>>> + /usr/share/zoneinfo/posix/US/Pacific-New \
>>> + /usr/share/zoneinfo/right/US/Pacific-New \
>>> + /usr/share/zoneinfo/US/Pacific-New \
>>> + /var/lib/GeoIP
>>
>> What method did you use to identify all these files?
>
> On the IPFire installation in question, I ran
>
>> find bin/ etc/ lib/ opt/ run/ sbin/ srv/ usr/ var/ | sort > ~/ist
>
> and scp'ed that file onto my workstation. Then, I downloaded the ISO for Core Update 164
> (because I wanted to have something stable, which is why I did not choose C165 for this),
> installed it in a VM, rebooted it, mounted the root partition and executed the same find
> command with a different file name.
Okay, so this is based on a random system. Not bad, but would be better if we could diff two filelists from two core updates, wouldn’t it?
>
> A
>
>> diff -Naur soll ist | less
>
> (sorry for the German) outputs a long list, which I vetted manually since some add-ons
> were installed on the productive system, and I did not want to pipe the output into the
> rm command blindly.
>
> Thanks, and best regards,
> Peter Müller
>
>>
>> -Michael
>>
>>>
>>> # Delete old 2007 Pakfire key from GPG keyring
>>> export GNUPGHOME="/opt/pakfire/etc/.gnupg"
>>> --
>>> 2.34.1
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Core Update 166: Perform spring clean of orphaned files
2022-03-21 16:06 ` Michael Tremer
@ 2022-03-21 19:15 ` Peter Müller
2022-03-21 19:20 ` Michael Tremer
0 siblings, 1 reply; 11+ messages in thread
From: Peter Müller @ 2022-03-21 19:15 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 14013 bytes --]
Hello Michael,
thanks for your reply.
> Hello,
>
>> On 21 Mar 2022, at 16:03, Peter Müller <peter.mueller(a)ipfire.org> wrote:
>>
>> Hello Michael,
>>
>> thanks for your reply.
>>
>>> Hello,
>>>
>>> This is interesting.
>>
>> That's a mild way of putting it, I think. :-)
>>
>>>
>>>> On 21 Mar 2022, at 15:35, Peter Müller <peter.mueller(a)ipfire.org> wrote:
>>>>
>>>> On an IPFire installation that has been around since Core Update 110
>>>> (released April 28, 2017), these files have been identified as being
>>>> orphaned, comparing to a fresh installation of Core Update 164.
>>>>
>>>> To avoid such a list of files agglomerating, persons responsible for a
>>>> Core Update should check whether an updated package contains deleted
>>>> files in its rootfile. If so, they should be deleted on existing systems
>>>> via update.sh as well.
>>>>
>>>> Signed-off-by: Peter Müller <peter.mueller(a)ipfire.org>
>>>> ---
>>>> config/rootfiles/core/166/update.sh | 260 +++++++++++++++++++++++++++-
>>>> 1 file changed, 258 insertions(+), 2 deletions(-)
>>>>
>>>> diff --git a/config/rootfiles/core/166/update.sh b/config/rootfiles/core/166/update.sh
>>>> index 1370555b0..b556986a5 100644
>>>> --- a/config/rootfiles/core/166/update.sh
>>>> +++ b/config/rootfiles/core/166/update.sh
>>>> @@ -32,13 +32,269 @@ for (( i=1; i<=$core; i++ )); do
>>>> done
>>>>
>>>> # Remove files
>>>> -rm -vf \
>>>> +rm -rvf \
>>>> + /bin/setserial \
>>>> /etc/dracut.conf \
>>>> + /etc/fonts/conf.d/30-urw-aliases.conf \
>>>> + /etc/grub.d/README \
>>>> + /etc/rc.d/init.d/networking/red.up/99-geoip-database \
>>>> + /etc/udev/rules.d/99-fuse.rules \
>>>> + /lib/firmware/amd-ucode/microcode_amd.bin.asc \
>>>> + /lib/firmware/amd-ucode/microcode_amd_fam15h.bin.asc \
>>>> + /lib/firmware/amd-ucode/microcode_amd_fam16h.bin.asc \
>>>> + /lib/firmware/amd-ucode/microcode_amd_fam17h.bin.asc \
>>>> + /lib/firmware/ath10k/QCA4019/hw1.0/notice_ath10k_firmware-5.txt \
>>>> + /lib/firmware/ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt \
>>>> + /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt \
>>>> + /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt \
>>>> + /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt \
>>>> + /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt \
>>>> + /lib/firmware/ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt \
>>>> + /lib/firmware/ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt \
>>>> + /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt \
>>>> + /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt \
>>>> + /lib/firmware/ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt \
>>>> + /lib/firmware/ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt \
>>>> + /lib/firmware/atusb/ChangeLog \
>>>> + /lib/firmware/check_whence.py \
>>>> + /lib/firmware/cis/src \
>>>> + /lib/firmware/copy-firmware.sh \
>>>> + /lib/firmware/cxgb4/t4fw-1.20.8.0.bin \
>>>> + /lib/firmware/cxgb4/t4fw-1.24.3.0.bin \
>>>> + /lib/firmware/cxgb4/t5fw-1.20.8.0.bin \
>>>> + /lib/firmware/cxgb4/t5fw-1.24.3.0.bin \
>>>> + /lib/firmware/cxgb4/t6fw-1.20.8.0.bin \
>>>> + /lib/firmware/cxgb4/t6fw-1.24.3.0.bin \
>>>> + /lib/firmware/GPL-2 \
>>>> + /lib/firmware/GPL-3 \
>>>> + /lib/firmware/isci/README \
>>>> + /lib/firmware/LICENCE.* \
>>>> + /lib/firmware/Makefile \
>>>> + /lib/firmware/qca/NOTICE.txt \
>>>> + /lib/firmware/qcom/NOTICE.txt \
>>>> + /lib/firmware/README \
>>>> + /lib/firmware/WHENCE \
>>>> + /lib/kbd/keymaps/i386/qwerty/fi-latin1.map.gz \
>>>> + /lib/kbd/keymaps/i386/qwerty/fi-latin9.map.gz \
>>>> + /lib/ld-2.29.so \
>>>> + /lib/ld-2.31.so \
>>>> + /lib/ld-2.32.so \
>>>
>>> These should have been gone before. Ideally by the filesystem cleanup script.
>>
>> To be honest, I never had a look at this script, and therefore do not have an idea
>> what it does and what it does not. I will investigate and get back to you, if necessary.
>>
>>>> + /lib/libcap.so \
>>>> + /lib/libhistory.so.5 \
>>>> + /lib/libhistory.so.5.2 \
>>>> + /lib/libip4tc.so.0 \
>>>> + /lib/libip4tc.so.0.1.0 \
>>>> + /lib/libip6tc.so.0 \
>>>> + /lib/libip6tc.so.0.1.0 \
>>>> + /lib/libiptc.so \
>>>> + /lib/libiptc.so.0 \
>>>> + /lib/libiptc.so.0.0.0 \
>>>> + /lib/libnss_nis-2.31.so \
>>>> + /lib/libnss_nisplus-2.31.so \
>>>> + /lib/libnss_nisplus.so.2 \
>>>> + /lib/libnss_nis.so.2 \
>>>> + /lib/libproc-3.2.8.so \
>>>> + /lib/libreadline.so.5 \
>>>> + /lib/libreadline.so.5.2 \
>>>> + /lib/libsysfs.so \
>>>> + /lib/libsysfs.so.1 \
>>>> + /lib/libsysfs.so.1.0.3 \
>>>> + /lib/udev/bluetooth_serial \
>>>> + /lib/udev/rules.d/24-bluetooth.rules \
>>>> + /lib/xtables/libxt_IMQ.so \
>>>> /opt/pakfire/pakfire-2007.key \
>>>> + /sbin/mount.fuse \
>>>> + /sbin/raw \
>>>> + /sbin/xfs_scrub \
>>>> + /sbin/xfs_scrub_all \
>>>> + /srv/web/ipfire/cgi-bin/bluetooth.cgi \
>>>> + /usr/bin/ez-ipupdate \
>>>
>>> LOL
>>
>> ?
>>
>>>
>>>> + /usr/bin/fusermount \
>>>> + /usr/bin/gawk-5.1.0 \
>>>> + /usr/bin/gcov-dump \
>>>> + /usr/bin/getunimap \
>>>> /usr/bin/mkinitrd \
>>>> + /usr/bin/mtools \
>>>> + /usr/bin/pango-querymodules \
>>>> + /usr/bin/perl5.30.0 \
>>>> + /usr/bin/setlogcons \
>>>> + /usr/bin/setvesablank \
>>>> + /usr/bin/ulockmgr_server \
>>>> + /usr/include/python2.7 \
>>>> + /usr/lib/cairo \
>>>> /usr/lib/dracut \
>>>> + /usr/lib/findutils/bigram \
>>>> + /usr/lib/findutils/code \
>>>> + /usr/lib/gawk/testext.so \
>>>> + /usr/lib/itcl4.2.1 \
>>>> + /usr/lib/libasan.so.5 \
>>>> + /usr/lib/libasan.so.5.0.0 \
>>>> + /usr/lib/libbfd-2.32.so \
>>>> + /usr/lib/libbfd-2.34.so \
>>>> + /usr/lib/libbfd-2.35.1.so \
>>>> + /usr/lib/libbind9-9.16.22.so \
>>>> + /usr/lib/libbind9.so.161 \
>>>> + /usr/lib/libbind9.so.161.0.4 \
>>>> + /usr/lib/libblkid.so \
>>>> + /usr/lib/libdns-9.16.22.so \
>>>> + /usr/lib/libdnssec.so.7 \
>>>> + /usr/lib/libdnssec.so.7.0.0 \
>>>> + /usr/lib/libdns.so.* \
>>>
>>> These should have been caught by the script as well. Any idea why that didn’t happen?
>>>
>>>> + /usr/lib/libevent-2.1.so.6 \
>>>> + /usr/lib/libevent-2.1.so.6.0.2 \
>>>> + /usr/lib/libevent_core-2.1.so.6 \
>>>> + /usr/lib/libevent_core-2.1.so.6.0.2 \
>>>> + /usr/lib/libevent_extra-2.1.so.6 \
>>>> + /usr/lib/libevent_extra-2.1.so.6.0.2 \
>>>> + /usr/lib/libevent_openssl-2.1.so.6 \
>>>> + /usr/lib/libevent_openssl-2.1.so.6.0.2 \
>>>> + /usr/lib/libevent_openssl.so \
>>>> + /usr/lib/libevent_pthreads-2.1.so.6 \
>>>> + /usr/lib/libevent_pthreads-2.1.so.6.0.2 \
>>>> + /usr/lib/libevent_pthreads.so \
>>>> + /usr/lib/libexpat.so \
>>>> + /usr/lib/libexslt.so \
>>>> + /usr/lib/libffi.so.6 \
>>>> + /usr/lib/libffi.so.6.0.4 \
>>>> + /usr/lib/libffi.so.7 \
>>>> + /usr/lib/libffi.so.7.1.0 \
>>>> + /usr/lib/libfuse.so \
>>>> + /usr/lib/libfuse.so.2 \
>>>> + /usr/lib/libfuse.so.2.9.7 \
>>>> + /usr/lib/libgdbm_compat.so \
>>>> + /usr/lib/libgdbm_compat.so.3 \
>>>> + /usr/lib/libgdbm_compat.so.3.0.0 \
>>>> + /usr/lib/libgdbm.so \
>>>> + /usr/lib/libgdbm.so.3 \
>>>> + /usr/lib/libgdbm.so.3.0.0 \
>>>> + /usr/lib/libgd.so \
>>>> + /usr/lib/libgd.so.2 \
>>>> + /usr/lib/libgd.so.2.0.0 \
>>>> + /usr/lib/libgettextlib-0.19.8.1.so \
>>>> + /usr/lib/libgettextsrc-0.19.8.1.so \
>>>> + /usr/lib/libhistory.so.6 \
>>>> + /usr/lib/libhistory.so.6.3 \
>>>> + /usr/lib/libhogweed.so.5 \
>>>> + /usr/lib/libhogweed.so.5.0 \
>>>> + /usr/lib/libidn.so \
>>>> + /usr/lib/libidn.so.11 \
>>>> + /usr/lib/libidn.so.11.6.18 \
>>>> + /usr/lib/libirs-9.16.22.so \
>>>> + /usr/lib/libisc-9.16.22.so \
>>>> + /usr/lib/libisccc-9.16.22.so \
>>>> + /usr/lib/libisccc.so.161 \
>>>> + /usr/lib/libisccc.so.161.0.1 \
>>>> + /usr/lib/libisccfg-9.16.22.so \
>>>> + /usr/lib/libisccfg.so.163 \
>>>> + /usr/lib/libisccfg.so.163.0.8 \
>>>> + /usr/lib/libisc.so.1100 \
>>>> + /usr/lib/libisc.so.1100.3.2 \
>>>> + /usr/lib/libisc.so.1104 \
>>>> + /usr/lib/libisc.so.1104.0.0 \
>>>> + /usr/lib/libisc.so.1105 \
>>>> + /usr/lib/libisc.so.1105.1.1 \
>>>> + /usr/lib/libisc.so.1107 \
>>>> + /usr/lib/libisc.so.1107.0.5 \
>>>
>>> See above.
>>>
>>>> + /usr/lib/libixml.so \
>>>> + /usr/lib/libknot.so.10 \
>>>> + /usr/lib/libknot.so.10.0.0 \
>>>> + /usr/lib/libknot.so.11 \
>>>> + /usr/lib/libknot.so.11.0.0 \
>>>> + /usr/lib/libknot.so.9 \
>>>> + /usr/lib/libknot.so.9.0.0 \
>>>> + /usr/lib/liblber-2.3.so.0 \
>>>> + /usr/lib/liblber-2.3.so.0.2.8 \
>>>> + /usr/lib/libldap-2.3.so.0 \
>>>> + /usr/lib/libldap-2.3.so.0.2.8 \
>>>> + /usr/lib/libldap_r-2.3.so.0 \
>>>> + /usr/lib/libldap_r-2.3.so.0.2.8 \
>>>> + /usr/lib/libloc.so.0 \
>>>> + /usr/lib/libloc.so.0.0.0 \
>>>> + /usr/lib/liblua-5.3.so \
>>>> + /usr/lib/liblua.so \
>>>> + /usr/lib/liblwres.so.161 \
>>>> + /usr/lib/liblwres.so.161.0.4 \
>>>> + /usr/lib/libmpfr.so.4 \
>>>> + /usr/lib/libmpfr.so.4.1.5 \
>>>> + /usr/lib/libmpx.so.2 \
>>>> + /usr/lib/libmpx.so.2.0.1 \
>>>> + /usr/lib/libmpxwrappers.so.2 \
>>>> + /usr/lib/libmpxwrappers.so.2.0.1 \
>>>> + /usr/lib/libnettle.so.7 \
>>>> + /usr/lib/libnettle.so.7.0 \
>>>> + /usr/lib/libns-9.16.22.so \
>>>> + /usr/lib/libopcodes-2.32.so \
>>>> + /usr/lib/libopcodes-2.34.so \
>>>> + /usr/lib/libopcodes-2.35.1.so \
>>>> + /usr/lib/libpcre2-posix.so.2 \
>>>> + /usr/lib/libpcre2-posix.so.2.0.3 \
>>>> + /usr/lib/libpng12.so \
>>>> + /usr/lib/libpng12.so.0 \
>>>> + /usr/lib/libpng12.so.0.57.0 \
>>>> + /usr/lib/libpng.so.3 \
>>>> + /usr/lib/libpng.so.3.57.0 \
>>>> + /usr/lib/libpoppler.so.100 \
>>>> + /usr/lib/libpoppler.so.100.0.0 \
>>>> + /usr/lib/libpoppler.so.110 \
>>>> + /usr/lib/libpoppler.so.110.0.0 \
>>>> + /usr/lib/libpoppler.so.111 \
>>>> + /usr/lib/libpoppler.so.111.0.0 \
>>>> + /usr/lib/libpoppler.so.66 \
>>>> + /usr/lib/libpoppler.so.66.0.0 \
>>>> + /usr/lib/libqpdf.so.17 \
>>>> + /usr/lib/libqpdf.so.17.0.0 \
>>>> + /usr/lib/libreadline.so.6 \
>>>> + /usr/lib/libreadline.so.6.3 \
>>>> + /usr/lib/libsensors.so.4 \
>>>> + /usr/lib/libsensors.so.4.4.0 \
>>>> + /usr/lib/libsqlite3.so \
>>>> + /usr/lib/libthreadutil.so \
>>>> + /usr/lib/libthreadutil.so.6 \
>>>> + /usr/lib/libthreadutil.so.6.0.3 \
>>>> + /usr/lib/libulockmgr.so \
>>>> + /usr/lib/libulockmgr.so.1 \
>>>> + /usr/lib/libulockmgr.so.1.0.1 \
>>>> + /usr/lib/libupnp.so \
>>>> + /usr/lib/libuuid.so \
>>>> + /usr/lib/libxml2.so \
>>>> + /usr/lib/libxslt.so \
>>>> + /usr/lib/pango \
>>>> + /usr/lib/perl5/site_perl/5.30.0 \
>>>> + /usr/lib/perl5/site_perl/5.32.1/Net/IP.pm \
>>>> + /usr/lib/python3.8/ensurepip/_bundled/pip-19.2.3-py2.py3-none-any.whl \
>>>> + /usr/lib/python3.8/idlelib/Icons/idle.icns \
>>>> + /usr/lib/python3.8/lib2to3/Grammar3.8.1.final.0.pickle \
>>>> + /usr/lib/python3.8/lib2to3/PatternGrammar3.8.1.final.0.pickle \
>>>
>>> Why can we not delete /usr/lib/python3.8 as a whole? This should not be needed any more.
>>
>> Yes, good point. I was running the comparison based on Core Update 164, but with
>> Python being updated to 3.10.x in Core Update 165, this folder won't be necessary
>> anymore completely.
>>
>>>
>>>> + /usr/lib/sqlite3.34.0 \
>>>> + /usr/lib/squid/basic_nis_auth \
>>>> + /usr/lib/squid/ext_time_quota_acl \
>>>> + /usr/lib/tcl8/8.4/platform-1.0.14.tm \
>>>> + /usr/lib/tcl8/8.4/platform-1.0.15.tm \
>>>> + /usr/lib/tcl8/8.5/msgcat-1.6.0.tm \
>>>> + /usr/lib/tcl8/8.5/tcltest-2.4.0.tm \
>>>> + /usr/lib/tcl8/8.6/http-2.8.9.tm \
>>>> + /usr/lib/tcl8/8.6/tdbc/sqlite3-1.0.4.tm \
>>>> + /usr/lib/tcl8/8.6/tdbc/sqlite3-1.1.2.tm \
>>>
>>> Why do we even ship tcl? Is anything reliant on this?
>>
>> I don't know.
>>
>>>> + /usr/lib/tdbc1.1.2 \
>>>> + /usr/lib/tdbcmysql1.1.2 \
>>>> + /usr/lib/tdbcodbc1.1.2 \
>>>> + /usr/lib/tdbcpostgres1.1.2 \
>>>> + /usr/lib/thread2.8.6 \
>>>> + /usr/libexec/xtables-addons \
>>>> /usr/local/bin/ovpn-ccd-convert \
>>>> - /usr/local/bin/rebuild-initrd
>>>> + /usr/local/bin/rebuild-initrd \
>>>> + /usr/local/bin/xt_geoip_build \
>>>> + /usr/local/bin/xt_geoip_update \
>>>> + /usr/sbin/batctl \
>>>> + /usr/sbin/fbset \
>>>> + /usr/sbin/update-usbids.sh \
>>>> + /usr/sbin/uuidd \
>>>> + /usr/share/doc/fireinfo \
>>>> + /usr/share/GeoIP \
>>>> + /usr/share/zoneinfo/posix/US/Pacific-New \
>>>> + /usr/share/zoneinfo/right/US/Pacific-New \
>>>> + /usr/share/zoneinfo/US/Pacific-New \
>>>> + /var/lib/GeoIP
>>>
>>> What method did you use to identify all these files?
>>
>> On the IPFire installation in question, I ran
>>
>>> find bin/ etc/ lib/ opt/ run/ sbin/ srv/ usr/ var/ | sort > ~/ist
>>
>> and scp'ed that file onto my workstation. Then, I downloaded the ISO for Core Update 164
>> (because I wanted to have something stable, which is why I did not choose C165 for this),
>> installed it in a VM, rebooted it, mounted the root partition and executed the same find
>> command with a different file name.
>
> Okay, so this is based on a random system. Not bad, but would be better if we could diff two filelists from two core updates, wouldn’t it?
I am not sure if I understood you here: The filelist above contains all leftovers that have
agglomerated since Core Update 110. Comparing two filelists would only cover a fraction of
it, since this comparison cannot skip any update.
However: Do you see a feasible way to obtain such lists, and perhaps scipt the generation of
such a list of orphaned files?
Thanks, and best regards,
Peter Müller
>
>>
>> A
>>
>>> diff -Naur soll ist | less
>>
>> (sorry for the German) outputs a long list, which I vetted manually since some add-ons
>> were installed on the productive system, and I did not want to pipe the output into the
>> rm command blindly.
>>
>> Thanks, and best regards,
>> Peter Müller
>>
>>>
>>> -Michael
>>>
>>>>
>>>> # Delete old 2007 Pakfire key from GPG keyring
>>>> export GNUPGHOME="/opt/pakfire/etc/.gnupg"
>>>> --
>>>> 2.34.1
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Core Update 166: Perform spring clean of orphaned files
2022-03-21 19:15 ` Peter Müller
@ 2022-03-21 19:20 ` Michael Tremer
2022-03-22 14:59 ` Peter Müller
0 siblings, 1 reply; 11+ messages in thread
From: Michael Tremer @ 2022-03-21 19:20 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 15110 bytes --]
Hello,
> On 21 Mar 2022, at 19:15, Peter Müller <peter.mueller(a)ipfire.org> wrote:
>
> Hello Michael,
>
> thanks for your reply.
>
>> Hello,
>>
>>> On 21 Mar 2022, at 16:03, Peter Müller <peter.mueller(a)ipfire.org> wrote:
>>>
>>> Hello Michael,
>>>
>>> thanks for your reply.
>>>
>>>> Hello,
>>>>
>>>> This is interesting.
>>>
>>> That's a mild way of putting it, I think. :-)
>>>
>>>>
>>>>> On 21 Mar 2022, at 15:35, Peter Müller <peter.mueller(a)ipfire.org> wrote:
>>>>>
>>>>> On an IPFire installation that has been around since Core Update 110
>>>>> (released April 28, 2017), these files have been identified as being
>>>>> orphaned, comparing to a fresh installation of Core Update 164.
>>>>>
>>>>> To avoid such a list of files agglomerating, persons responsible for a
>>>>> Core Update should check whether an updated package contains deleted
>>>>> files in its rootfile. If so, they should be deleted on existing systems
>>>>> via update.sh as well.
>>>>>
>>>>> Signed-off-by: Peter Müller <peter.mueller(a)ipfire.org>
>>>>> ---
>>>>> config/rootfiles/core/166/update.sh | 260 +++++++++++++++++++++++++++-
>>>>> 1 file changed, 258 insertions(+), 2 deletions(-)
>>>>>
>>>>> diff --git a/config/rootfiles/core/166/update.sh b/config/rootfiles/core/166/update.sh
>>>>> index 1370555b0..b556986a5 100644
>>>>> --- a/config/rootfiles/core/166/update.sh
>>>>> +++ b/config/rootfiles/core/166/update.sh
>>>>> @@ -32,13 +32,269 @@ for (( i=1; i<=$core; i++ )); do
>>>>> done
>>>>>
>>>>> # Remove files
>>>>> -rm -vf \
>>>>> +rm -rvf \
>>>>> + /bin/setserial \
>>>>> /etc/dracut.conf \
>>>>> + /etc/fonts/conf.d/30-urw-aliases.conf \
>>>>> + /etc/grub.d/README \
>>>>> + /etc/rc.d/init.d/networking/red.up/99-geoip-database \
>>>>> + /etc/udev/rules.d/99-fuse.rules \
>>>>> + /lib/firmware/amd-ucode/microcode_amd.bin.asc \
>>>>> + /lib/firmware/amd-ucode/microcode_amd_fam15h.bin.asc \
>>>>> + /lib/firmware/amd-ucode/microcode_amd_fam16h.bin.asc \
>>>>> + /lib/firmware/amd-ucode/microcode_amd_fam17h.bin.asc \
>>>>> + /lib/firmware/ath10k/QCA4019/hw1.0/notice_ath10k_firmware-5.txt \
>>>>> + /lib/firmware/ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt \
>>>>> + /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt \
>>>>> + /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt \
>>>>> + /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt \
>>>>> + /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt \
>>>>> + /lib/firmware/ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt \
>>>>> + /lib/firmware/ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt \
>>>>> + /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt \
>>>>> + /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt \
>>>>> + /lib/firmware/ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt \
>>>>> + /lib/firmware/ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt \
>>>>> + /lib/firmware/atusb/ChangeLog \
>>>>> + /lib/firmware/check_whence.py \
>>>>> + /lib/firmware/cis/src \
>>>>> + /lib/firmware/copy-firmware.sh \
>>>>> + /lib/firmware/cxgb4/t4fw-1.20.8.0.bin \
>>>>> + /lib/firmware/cxgb4/t4fw-1.24.3.0.bin \
>>>>> + /lib/firmware/cxgb4/t5fw-1.20.8.0.bin \
>>>>> + /lib/firmware/cxgb4/t5fw-1.24.3.0.bin \
>>>>> + /lib/firmware/cxgb4/t6fw-1.20.8.0.bin \
>>>>> + /lib/firmware/cxgb4/t6fw-1.24.3.0.bin \
>>>>> + /lib/firmware/GPL-2 \
>>>>> + /lib/firmware/GPL-3 \
>>>>> + /lib/firmware/isci/README \
>>>>> + /lib/firmware/LICENCE.* \
>>>>> + /lib/firmware/Makefile \
>>>>> + /lib/firmware/qca/NOTICE.txt \
>>>>> + /lib/firmware/qcom/NOTICE.txt \
>>>>> + /lib/firmware/README \
>>>>> + /lib/firmware/WHENCE \
>>>>> + /lib/kbd/keymaps/i386/qwerty/fi-latin1.map.gz \
>>>>> + /lib/kbd/keymaps/i386/qwerty/fi-latin9.map.gz \
>>>>> + /lib/ld-2.29.so \
>>>>> + /lib/ld-2.31.so \
>>>>> + /lib/ld-2.32.so \
>>>>
>>>> These should have been gone before. Ideally by the filesystem cleanup script.
>>>
>>> To be honest, I never had a look at this script, and therefore do not have an idea
>>> what it does and what it does not. I will investigate and get back to you, if necessary.
>>>
>>>>> + /lib/libcap.so \
>>>>> + /lib/libhistory.so.5 \
>>>>> + /lib/libhistory.so.5.2 \
>>>>> + /lib/libip4tc.so.0 \
>>>>> + /lib/libip4tc.so.0.1.0 \
>>>>> + /lib/libip6tc.so.0 \
>>>>> + /lib/libip6tc.so.0.1.0 \
>>>>> + /lib/libiptc.so \
>>>>> + /lib/libiptc.so.0 \
>>>>> + /lib/libiptc.so.0.0.0 \
>>>>> + /lib/libnss_nis-2.31.so \
>>>>> + /lib/libnss_nisplus-2.31.so \
>>>>> + /lib/libnss_nisplus.so.2 \
>>>>> + /lib/libnss_nis.so.2 \
>>>>> + /lib/libproc-3.2.8.so \
>>>>> + /lib/libreadline.so.5 \
>>>>> + /lib/libreadline.so.5.2 \
>>>>> + /lib/libsysfs.so \
>>>>> + /lib/libsysfs.so.1 \
>>>>> + /lib/libsysfs.so.1.0.3 \
>>>>> + /lib/udev/bluetooth_serial \
>>>>> + /lib/udev/rules.d/24-bluetooth.rules \
>>>>> + /lib/xtables/libxt_IMQ.so \
>>>>> /opt/pakfire/pakfire-2007.key \
>>>>> + /sbin/mount.fuse \
>>>>> + /sbin/raw \
>>>>> + /sbin/xfs_scrub \
>>>>> + /sbin/xfs_scrub_all \
>>>>> + /srv/web/ipfire/cgi-bin/bluetooth.cgi \
>>>>> + /usr/bin/ez-ipupdate \
>>>>
>>>> LOL
>>>
>>> ?
>>>
>>>>
>>>>> + /usr/bin/fusermount \
>>>>> + /usr/bin/gawk-5.1.0 \
>>>>> + /usr/bin/gcov-dump \
>>>>> + /usr/bin/getunimap \
>>>>> /usr/bin/mkinitrd \
>>>>> + /usr/bin/mtools \
>>>>> + /usr/bin/pango-querymodules \
>>>>> + /usr/bin/perl5.30.0 \
>>>>> + /usr/bin/setlogcons \
>>>>> + /usr/bin/setvesablank \
>>>>> + /usr/bin/ulockmgr_server \
>>>>> + /usr/include/python2.7 \
>>>>> + /usr/lib/cairo \
>>>>> /usr/lib/dracut \
>>>>> + /usr/lib/findutils/bigram \
>>>>> + /usr/lib/findutils/code \
>>>>> + /usr/lib/gawk/testext.so \
>>>>> + /usr/lib/itcl4.2.1 \
>>>>> + /usr/lib/libasan.so.5 \
>>>>> + /usr/lib/libasan.so.5.0.0 \
>>>>> + /usr/lib/libbfd-2.32.so \
>>>>> + /usr/lib/libbfd-2.34.so \
>>>>> + /usr/lib/libbfd-2.35.1.so \
>>>>> + /usr/lib/libbind9-9.16.22.so \
>>>>> + /usr/lib/libbind9.so.161 \
>>>>> + /usr/lib/libbind9.so.161.0.4 \
>>>>> + /usr/lib/libblkid.so \
>>>>> + /usr/lib/libdns-9.16.22.so \
>>>>> + /usr/lib/libdnssec.so.7 \
>>>>> + /usr/lib/libdnssec.so.7.0.0 \
>>>>> + /usr/lib/libdns.so.* \
>>>>
>>>> These should have been caught by the script as well. Any idea why that didn’t happen?
>>>>
>>>>> + /usr/lib/libevent-2.1.so.6 \
>>>>> + /usr/lib/libevent-2.1.so.6.0.2 \
>>>>> + /usr/lib/libevent_core-2.1.so.6 \
>>>>> + /usr/lib/libevent_core-2.1.so.6.0.2 \
>>>>> + /usr/lib/libevent_extra-2.1.so.6 \
>>>>> + /usr/lib/libevent_extra-2.1.so.6.0.2 \
>>>>> + /usr/lib/libevent_openssl-2.1.so.6 \
>>>>> + /usr/lib/libevent_openssl-2.1.so.6.0.2 \
>>>>> + /usr/lib/libevent_openssl.so \
>>>>> + /usr/lib/libevent_pthreads-2.1.so.6 \
>>>>> + /usr/lib/libevent_pthreads-2.1.so.6.0.2 \
>>>>> + /usr/lib/libevent_pthreads.so \
>>>>> + /usr/lib/libexpat.so \
>>>>> + /usr/lib/libexslt.so \
>>>>> + /usr/lib/libffi.so.6 \
>>>>> + /usr/lib/libffi.so.6.0.4 \
>>>>> + /usr/lib/libffi.so.7 \
>>>>> + /usr/lib/libffi.so.7.1.0 \
>>>>> + /usr/lib/libfuse.so \
>>>>> + /usr/lib/libfuse.so.2 \
>>>>> + /usr/lib/libfuse.so.2.9.7 \
>>>>> + /usr/lib/libgdbm_compat.so \
>>>>> + /usr/lib/libgdbm_compat.so.3 \
>>>>> + /usr/lib/libgdbm_compat.so.3.0.0 \
>>>>> + /usr/lib/libgdbm.so \
>>>>> + /usr/lib/libgdbm.so.3 \
>>>>> + /usr/lib/libgdbm.so.3.0.0 \
>>>>> + /usr/lib/libgd.so \
>>>>> + /usr/lib/libgd.so.2 \
>>>>> + /usr/lib/libgd.so.2.0.0 \
>>>>> + /usr/lib/libgettextlib-0.19.8.1.so \
>>>>> + /usr/lib/libgettextsrc-0.19.8.1.so \
>>>>> + /usr/lib/libhistory.so.6 \
>>>>> + /usr/lib/libhistory.so.6.3 \
>>>>> + /usr/lib/libhogweed.so.5 \
>>>>> + /usr/lib/libhogweed.so.5.0 \
>>>>> + /usr/lib/libidn.so \
>>>>> + /usr/lib/libidn.so.11 \
>>>>> + /usr/lib/libidn.so.11.6.18 \
>>>>> + /usr/lib/libirs-9.16.22.so \
>>>>> + /usr/lib/libisc-9.16.22.so \
>>>>> + /usr/lib/libisccc-9.16.22.so \
>>>>> + /usr/lib/libisccc.so.161 \
>>>>> + /usr/lib/libisccc.so.161.0.1 \
>>>>> + /usr/lib/libisccfg-9.16.22.so \
>>>>> + /usr/lib/libisccfg.so.163 \
>>>>> + /usr/lib/libisccfg.so.163.0.8 \
>>>>> + /usr/lib/libisc.so.1100 \
>>>>> + /usr/lib/libisc.so.1100.3.2 \
>>>>> + /usr/lib/libisc.so.1104 \
>>>>> + /usr/lib/libisc.so.1104.0.0 \
>>>>> + /usr/lib/libisc.so.1105 \
>>>>> + /usr/lib/libisc.so.1105.1.1 \
>>>>> + /usr/lib/libisc.so.1107 \
>>>>> + /usr/lib/libisc.so.1107.0.5 \
>>>>
>>>> See above.
>>>>
>>>>> + /usr/lib/libixml.so \
>>>>> + /usr/lib/libknot.so.10 \
>>>>> + /usr/lib/libknot.so.10.0.0 \
>>>>> + /usr/lib/libknot.so.11 \
>>>>> + /usr/lib/libknot.so.11.0.0 \
>>>>> + /usr/lib/libknot.so.9 \
>>>>> + /usr/lib/libknot.so.9.0.0 \
>>>>> + /usr/lib/liblber-2.3.so.0 \
>>>>> + /usr/lib/liblber-2.3.so.0.2.8 \
>>>>> + /usr/lib/libldap-2.3.so.0 \
>>>>> + /usr/lib/libldap-2.3.so.0.2.8 \
>>>>> + /usr/lib/libldap_r-2.3.so.0 \
>>>>> + /usr/lib/libldap_r-2.3.so.0.2.8 \
>>>>> + /usr/lib/libloc.so.0 \
>>>>> + /usr/lib/libloc.so.0.0.0 \
>>>>> + /usr/lib/liblua-5.3.so \
>>>>> + /usr/lib/liblua.so \
>>>>> + /usr/lib/liblwres.so.161 \
>>>>> + /usr/lib/liblwres.so.161.0.4 \
>>>>> + /usr/lib/libmpfr.so.4 \
>>>>> + /usr/lib/libmpfr.so.4.1.5 \
>>>>> + /usr/lib/libmpx.so.2 \
>>>>> + /usr/lib/libmpx.so.2.0.1 \
>>>>> + /usr/lib/libmpxwrappers.so.2 \
>>>>> + /usr/lib/libmpxwrappers.so.2.0.1 \
>>>>> + /usr/lib/libnettle.so.7 \
>>>>> + /usr/lib/libnettle.so.7.0 \
>>>>> + /usr/lib/libns-9.16.22.so \
>>>>> + /usr/lib/libopcodes-2.32.so \
>>>>> + /usr/lib/libopcodes-2.34.so \
>>>>> + /usr/lib/libopcodes-2.35.1.so \
>>>>> + /usr/lib/libpcre2-posix.so.2 \
>>>>> + /usr/lib/libpcre2-posix.so.2.0.3 \
>>>>> + /usr/lib/libpng12.so \
>>>>> + /usr/lib/libpng12.so.0 \
>>>>> + /usr/lib/libpng12.so.0.57.0 \
>>>>> + /usr/lib/libpng.so.3 \
>>>>> + /usr/lib/libpng.so.3.57.0 \
>>>>> + /usr/lib/libpoppler.so.100 \
>>>>> + /usr/lib/libpoppler.so.100.0.0 \
>>>>> + /usr/lib/libpoppler.so.110 \
>>>>> + /usr/lib/libpoppler.so.110.0.0 \
>>>>> + /usr/lib/libpoppler.so.111 \
>>>>> + /usr/lib/libpoppler.so.111.0.0 \
>>>>> + /usr/lib/libpoppler.so.66 \
>>>>> + /usr/lib/libpoppler.so.66.0.0 \
>>>>> + /usr/lib/libqpdf.so.17 \
>>>>> + /usr/lib/libqpdf.so.17.0.0 \
>>>>> + /usr/lib/libreadline.so.6 \
>>>>> + /usr/lib/libreadline.so.6.3 \
>>>>> + /usr/lib/libsensors.so.4 \
>>>>> + /usr/lib/libsensors.so.4.4.0 \
>>>>> + /usr/lib/libsqlite3.so \
>>>>> + /usr/lib/libthreadutil.so \
>>>>> + /usr/lib/libthreadutil.so.6 \
>>>>> + /usr/lib/libthreadutil.so.6.0.3 \
>>>>> + /usr/lib/libulockmgr.so \
>>>>> + /usr/lib/libulockmgr.so.1 \
>>>>> + /usr/lib/libulockmgr.so.1.0.1 \
>>>>> + /usr/lib/libupnp.so \
>>>>> + /usr/lib/libuuid.so \
>>>>> + /usr/lib/libxml2.so \
>>>>> + /usr/lib/libxslt.so \
>>>>> + /usr/lib/pango \
>>>>> + /usr/lib/perl5/site_perl/5.30.0 \
>>>>> + /usr/lib/perl5/site_perl/5.32.1/Net/IP.pm \
>>>>> + /usr/lib/python3.8/ensurepip/_bundled/pip-19.2.3-py2.py3-none-any.whl \
>>>>> + /usr/lib/python3.8/idlelib/Icons/idle.icns \
>>>>> + /usr/lib/python3.8/lib2to3/Grammar3.8.1.final.0.pickle \
>>>>> + /usr/lib/python3.8/lib2to3/PatternGrammar3.8.1.final.0.pickle \
>>>>
>>>> Why can we not delete /usr/lib/python3.8 as a whole? This should not be needed any more.
>>>
>>> Yes, good point. I was running the comparison based on Core Update 164, but with
>>> Python being updated to 3.10.x in Core Update 165, this folder won't be necessary
>>> anymore completely.
>>>
>>>>
>>>>> + /usr/lib/sqlite3.34.0 \
>>>>> + /usr/lib/squid/basic_nis_auth \
>>>>> + /usr/lib/squid/ext_time_quota_acl \
>>>>> + /usr/lib/tcl8/8.4/platform-1.0.14.tm \
>>>>> + /usr/lib/tcl8/8.4/platform-1.0.15.tm \
>>>>> + /usr/lib/tcl8/8.5/msgcat-1.6.0.tm \
>>>>> + /usr/lib/tcl8/8.5/tcltest-2.4.0.tm \
>>>>> + /usr/lib/tcl8/8.6/http-2.8.9.tm \
>>>>> + /usr/lib/tcl8/8.6/tdbc/sqlite3-1.0.4.tm \
>>>>> + /usr/lib/tcl8/8.6/tdbc/sqlite3-1.1.2.tm \
>>>>
>>>> Why do we even ship tcl? Is anything reliant on this?
>>>
>>> I don't know.
>>>
>>>>> + /usr/lib/tdbc1.1.2 \
>>>>> + /usr/lib/tdbcmysql1.1.2 \
>>>>> + /usr/lib/tdbcodbc1.1.2 \
>>>>> + /usr/lib/tdbcpostgres1.1.2 \
>>>>> + /usr/lib/thread2.8.6 \
>>>>> + /usr/libexec/xtables-addons \
>>>>> /usr/local/bin/ovpn-ccd-convert \
>>>>> - /usr/local/bin/rebuild-initrd
>>>>> + /usr/local/bin/rebuild-initrd \
>>>>> + /usr/local/bin/xt_geoip_build \
>>>>> + /usr/local/bin/xt_geoip_update \
>>>>> + /usr/sbin/batctl \
>>>>> + /usr/sbin/fbset \
>>>>> + /usr/sbin/update-usbids.sh \
>>>>> + /usr/sbin/uuidd \
>>>>> + /usr/share/doc/fireinfo \
>>>>> + /usr/share/GeoIP \
>>>>> + /usr/share/zoneinfo/posix/US/Pacific-New \
>>>>> + /usr/share/zoneinfo/right/US/Pacific-New \
>>>>> + /usr/share/zoneinfo/US/Pacific-New \
>>>>> + /var/lib/GeoIP
>>>>
>>>> What method did you use to identify all these files?
>>>
>>> On the IPFire installation in question, I ran
>>>
>>>> find bin/ etc/ lib/ opt/ run/ sbin/ srv/ usr/ var/ | sort > ~/ist
>>>
>>> and scp'ed that file onto my workstation. Then, I downloaded the ISO for Core Update 164
>>> (because I wanted to have something stable, which is why I did not choose C165 for this),
>>> installed it in a VM, rebooted it, mounted the root partition and executed the same find
>>> command with a different file name.
>>
>> Okay, so this is based on a random system. Not bad, but would be better if we could diff two filelists from two core updates, wouldn’t it?
>
> I am not sure if I understood you here: The filelist above contains all leftovers that have
> agglomerated since Core Update 110. Comparing two filelists would only cover a fraction of
> it, since this comparison cannot skip any update.
>
> However: Do you see a feasible way to obtain such lists, and perhaps scipt the generation of
> such a list of orphaned files?
Yes, we could use “git archive” to create a tarball from any branch, so in this case a core update from the past.
We could then only extract (or directly send to stdout) all files in config/rootfiles/command, sort the output and compare it to what is currently in config/rootfiles/common. Stretch goal is doing this for all architectures :)
Here is the command for the main file list:
git archive origin/core160 | tar --extract --to-stdout config/rootfiles/common | grep -v "^#" | sort -u
This could be integrated into make.sh :)
-Michael
>
> Thanks, and best regards,
> Peter Müller
>
>>
>>>
>>> A
>>>
>>>> diff -Naur soll ist | less
>>>
>>> (sorry for the German) outputs a long list, which I vetted manually since some add-ons
>>> were installed on the productive system, and I did not want to pipe the output into the
>>> rm command blindly.
>>>
>>> Thanks, and best regards,
>>> Peter Müller
>>>
>>>>
>>>> -Michael
>>>>
>>>>>
>>>>> # Delete old 2007 Pakfire key from GPG keyring
>>>>> export GNUPGHOME="/opt/pakfire/etc/.gnupg"
>>>>> --
>>>>> 2.34.1
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Core Update 166: Perform spring clean of orphaned files
2022-03-21 19:20 ` Michael Tremer
@ 2022-03-22 14:59 ` Peter Müller
2022-03-22 15:03 ` Michael Tremer
0 siblings, 1 reply; 11+ messages in thread
From: Peter Müller @ 2022-03-22 14:59 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 15631 bytes --]
Hello Michael,
thanks for your reply and the information.
How should we proceed with this patch then?
Thanks, and best regards,
Peter Müller
> Hello,
>
>> On 21 Mar 2022, at 19:15, Peter Müller <peter.mueller(a)ipfire.org> wrote:
>>
>> Hello Michael,
>>
>> thanks for your reply.
>>
>>> Hello,
>>>
>>>> On 21 Mar 2022, at 16:03, Peter Müller <peter.mueller(a)ipfire.org> wrote:
>>>>
>>>> Hello Michael,
>>>>
>>>> thanks for your reply.
>>>>
>>>>> Hello,
>>>>>
>>>>> This is interesting.
>>>>
>>>> That's a mild way of putting it, I think. :-)
>>>>
>>>>>
>>>>>> On 21 Mar 2022, at 15:35, Peter Müller <peter.mueller(a)ipfire.org> wrote:
>>>>>>
>>>>>> On an IPFire installation that has been around since Core Update 110
>>>>>> (released April 28, 2017), these files have been identified as being
>>>>>> orphaned, comparing to a fresh installation of Core Update 164.
>>>>>>
>>>>>> To avoid such a list of files agglomerating, persons responsible for a
>>>>>> Core Update should check whether an updated package contains deleted
>>>>>> files in its rootfile. If so, they should be deleted on existing systems
>>>>>> via update.sh as well.
>>>>>>
>>>>>> Signed-off-by: Peter Müller <peter.mueller(a)ipfire.org>
>>>>>> ---
>>>>>> config/rootfiles/core/166/update.sh | 260 +++++++++++++++++++++++++++-
>>>>>> 1 file changed, 258 insertions(+), 2 deletions(-)
>>>>>>
>>>>>> diff --git a/config/rootfiles/core/166/update.sh b/config/rootfiles/core/166/update.sh
>>>>>> index 1370555b0..b556986a5 100644
>>>>>> --- a/config/rootfiles/core/166/update.sh
>>>>>> +++ b/config/rootfiles/core/166/update.sh
>>>>>> @@ -32,13 +32,269 @@ for (( i=1; i<=$core; i++ )); do
>>>>>> done
>>>>>>
>>>>>> # Remove files
>>>>>> -rm -vf \
>>>>>> +rm -rvf \
>>>>>> + /bin/setserial \
>>>>>> /etc/dracut.conf \
>>>>>> + /etc/fonts/conf.d/30-urw-aliases.conf \
>>>>>> + /etc/grub.d/README \
>>>>>> + /etc/rc.d/init.d/networking/red.up/99-geoip-database \
>>>>>> + /etc/udev/rules.d/99-fuse.rules \
>>>>>> + /lib/firmware/amd-ucode/microcode_amd.bin.asc \
>>>>>> + /lib/firmware/amd-ucode/microcode_amd_fam15h.bin.asc \
>>>>>> + /lib/firmware/amd-ucode/microcode_amd_fam16h.bin.asc \
>>>>>> + /lib/firmware/amd-ucode/microcode_amd_fam17h.bin.asc \
>>>>>> + /lib/firmware/ath10k/QCA4019/hw1.0/notice_ath10k_firmware-5.txt \
>>>>>> + /lib/firmware/ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt \
>>>>>> + /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt \
>>>>>> + /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt \
>>>>>> + /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt \
>>>>>> + /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt \
>>>>>> + /lib/firmware/ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt \
>>>>>> + /lib/firmware/ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt \
>>>>>> + /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt \
>>>>>> + /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt \
>>>>>> + /lib/firmware/ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt \
>>>>>> + /lib/firmware/ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt \
>>>>>> + /lib/firmware/atusb/ChangeLog \
>>>>>> + /lib/firmware/check_whence.py \
>>>>>> + /lib/firmware/cis/src \
>>>>>> + /lib/firmware/copy-firmware.sh \
>>>>>> + /lib/firmware/cxgb4/t4fw-1.20.8.0.bin \
>>>>>> + /lib/firmware/cxgb4/t4fw-1.24.3.0.bin \
>>>>>> + /lib/firmware/cxgb4/t5fw-1.20.8.0.bin \
>>>>>> + /lib/firmware/cxgb4/t5fw-1.24.3.0.bin \
>>>>>> + /lib/firmware/cxgb4/t6fw-1.20.8.0.bin \
>>>>>> + /lib/firmware/cxgb4/t6fw-1.24.3.0.bin \
>>>>>> + /lib/firmware/GPL-2 \
>>>>>> + /lib/firmware/GPL-3 \
>>>>>> + /lib/firmware/isci/README \
>>>>>> + /lib/firmware/LICENCE.* \
>>>>>> + /lib/firmware/Makefile \
>>>>>> + /lib/firmware/qca/NOTICE.txt \
>>>>>> + /lib/firmware/qcom/NOTICE.txt \
>>>>>> + /lib/firmware/README \
>>>>>> + /lib/firmware/WHENCE \
>>>>>> + /lib/kbd/keymaps/i386/qwerty/fi-latin1.map.gz \
>>>>>> + /lib/kbd/keymaps/i386/qwerty/fi-latin9.map.gz \
>>>>>> + /lib/ld-2.29.so \
>>>>>> + /lib/ld-2.31.so \
>>>>>> + /lib/ld-2.32.so \
>>>>>
>>>>> These should have been gone before. Ideally by the filesystem cleanup script.
>>>>
>>>> To be honest, I never had a look at this script, and therefore do not have an idea
>>>> what it does and what it does not. I will investigate and get back to you, if necessary.
>>>>
>>>>>> + /lib/libcap.so \
>>>>>> + /lib/libhistory.so.5 \
>>>>>> + /lib/libhistory.so.5.2 \
>>>>>> + /lib/libip4tc.so.0 \
>>>>>> + /lib/libip4tc.so.0.1.0 \
>>>>>> + /lib/libip6tc.so.0 \
>>>>>> + /lib/libip6tc.so.0.1.0 \
>>>>>> + /lib/libiptc.so \
>>>>>> + /lib/libiptc.so.0 \
>>>>>> + /lib/libiptc.so.0.0.0 \
>>>>>> + /lib/libnss_nis-2.31.so \
>>>>>> + /lib/libnss_nisplus-2.31.so \
>>>>>> + /lib/libnss_nisplus.so.2 \
>>>>>> + /lib/libnss_nis.so.2 \
>>>>>> + /lib/libproc-3.2.8.so \
>>>>>> + /lib/libreadline.so.5 \
>>>>>> + /lib/libreadline.so.5.2 \
>>>>>> + /lib/libsysfs.so \
>>>>>> + /lib/libsysfs.so.1 \
>>>>>> + /lib/libsysfs.so.1.0.3 \
>>>>>> + /lib/udev/bluetooth_serial \
>>>>>> + /lib/udev/rules.d/24-bluetooth.rules \
>>>>>> + /lib/xtables/libxt_IMQ.so \
>>>>>> /opt/pakfire/pakfire-2007.key \
>>>>>> + /sbin/mount.fuse \
>>>>>> + /sbin/raw \
>>>>>> + /sbin/xfs_scrub \
>>>>>> + /sbin/xfs_scrub_all \
>>>>>> + /srv/web/ipfire/cgi-bin/bluetooth.cgi \
>>>>>> + /usr/bin/ez-ipupdate \
>>>>>
>>>>> LOL
>>>>
>>>> ?
>>>>
>>>>>
>>>>>> + /usr/bin/fusermount \
>>>>>> + /usr/bin/gawk-5.1.0 \
>>>>>> + /usr/bin/gcov-dump \
>>>>>> + /usr/bin/getunimap \
>>>>>> /usr/bin/mkinitrd \
>>>>>> + /usr/bin/mtools \
>>>>>> + /usr/bin/pango-querymodules \
>>>>>> + /usr/bin/perl5.30.0 \
>>>>>> + /usr/bin/setlogcons \
>>>>>> + /usr/bin/setvesablank \
>>>>>> + /usr/bin/ulockmgr_server \
>>>>>> + /usr/include/python2.7 \
>>>>>> + /usr/lib/cairo \
>>>>>> /usr/lib/dracut \
>>>>>> + /usr/lib/findutils/bigram \
>>>>>> + /usr/lib/findutils/code \
>>>>>> + /usr/lib/gawk/testext.so \
>>>>>> + /usr/lib/itcl4.2.1 \
>>>>>> + /usr/lib/libasan.so.5 \
>>>>>> + /usr/lib/libasan.so.5.0.0 \
>>>>>> + /usr/lib/libbfd-2.32.so \
>>>>>> + /usr/lib/libbfd-2.34.so \
>>>>>> + /usr/lib/libbfd-2.35.1.so \
>>>>>> + /usr/lib/libbind9-9.16.22.so \
>>>>>> + /usr/lib/libbind9.so.161 \
>>>>>> + /usr/lib/libbind9.so.161.0.4 \
>>>>>> + /usr/lib/libblkid.so \
>>>>>> + /usr/lib/libdns-9.16.22.so \
>>>>>> + /usr/lib/libdnssec.so.7 \
>>>>>> + /usr/lib/libdnssec.so.7.0.0 \
>>>>>> + /usr/lib/libdns.so.* \
>>>>>
>>>>> These should have been caught by the script as well. Any idea why that didn’t happen?
>>>>>
>>>>>> + /usr/lib/libevent-2.1.so.6 \
>>>>>> + /usr/lib/libevent-2.1.so.6.0.2 \
>>>>>> + /usr/lib/libevent_core-2.1.so.6 \
>>>>>> + /usr/lib/libevent_core-2.1.so.6.0.2 \
>>>>>> + /usr/lib/libevent_extra-2.1.so.6 \
>>>>>> + /usr/lib/libevent_extra-2.1.so.6.0.2 \
>>>>>> + /usr/lib/libevent_openssl-2.1.so.6 \
>>>>>> + /usr/lib/libevent_openssl-2.1.so.6.0.2 \
>>>>>> + /usr/lib/libevent_openssl.so \
>>>>>> + /usr/lib/libevent_pthreads-2.1.so.6 \
>>>>>> + /usr/lib/libevent_pthreads-2.1.so.6.0.2 \
>>>>>> + /usr/lib/libevent_pthreads.so \
>>>>>> + /usr/lib/libexpat.so \
>>>>>> + /usr/lib/libexslt.so \
>>>>>> + /usr/lib/libffi.so.6 \
>>>>>> + /usr/lib/libffi.so.6.0.4 \
>>>>>> + /usr/lib/libffi.so.7 \
>>>>>> + /usr/lib/libffi.so.7.1.0 \
>>>>>> + /usr/lib/libfuse.so \
>>>>>> + /usr/lib/libfuse.so.2 \
>>>>>> + /usr/lib/libfuse.so.2.9.7 \
>>>>>> + /usr/lib/libgdbm_compat.so \
>>>>>> + /usr/lib/libgdbm_compat.so.3 \
>>>>>> + /usr/lib/libgdbm_compat.so.3.0.0 \
>>>>>> + /usr/lib/libgdbm.so \
>>>>>> + /usr/lib/libgdbm.so.3 \
>>>>>> + /usr/lib/libgdbm.so.3.0.0 \
>>>>>> + /usr/lib/libgd.so \
>>>>>> + /usr/lib/libgd.so.2 \
>>>>>> + /usr/lib/libgd.so.2.0.0 \
>>>>>> + /usr/lib/libgettextlib-0.19.8.1.so \
>>>>>> + /usr/lib/libgettextsrc-0.19.8.1.so \
>>>>>> + /usr/lib/libhistory.so.6 \
>>>>>> + /usr/lib/libhistory.so.6.3 \
>>>>>> + /usr/lib/libhogweed.so.5 \
>>>>>> + /usr/lib/libhogweed.so.5.0 \
>>>>>> + /usr/lib/libidn.so \
>>>>>> + /usr/lib/libidn.so.11 \
>>>>>> + /usr/lib/libidn.so.11.6.18 \
>>>>>> + /usr/lib/libirs-9.16.22.so \
>>>>>> + /usr/lib/libisc-9.16.22.so \
>>>>>> + /usr/lib/libisccc-9.16.22.so \
>>>>>> + /usr/lib/libisccc.so.161 \
>>>>>> + /usr/lib/libisccc.so.161.0.1 \
>>>>>> + /usr/lib/libisccfg-9.16.22.so \
>>>>>> + /usr/lib/libisccfg.so.163 \
>>>>>> + /usr/lib/libisccfg.so.163.0.8 \
>>>>>> + /usr/lib/libisc.so.1100 \
>>>>>> + /usr/lib/libisc.so.1100.3.2 \
>>>>>> + /usr/lib/libisc.so.1104 \
>>>>>> + /usr/lib/libisc.so.1104.0.0 \
>>>>>> + /usr/lib/libisc.so.1105 \
>>>>>> + /usr/lib/libisc.so.1105.1.1 \
>>>>>> + /usr/lib/libisc.so.1107 \
>>>>>> + /usr/lib/libisc.so.1107.0.5 \
>>>>>
>>>>> See above.
>>>>>
>>>>>> + /usr/lib/libixml.so \
>>>>>> + /usr/lib/libknot.so.10 \
>>>>>> + /usr/lib/libknot.so.10.0.0 \
>>>>>> + /usr/lib/libknot.so.11 \
>>>>>> + /usr/lib/libknot.so.11.0.0 \
>>>>>> + /usr/lib/libknot.so.9 \
>>>>>> + /usr/lib/libknot.so.9.0.0 \
>>>>>> + /usr/lib/liblber-2.3.so.0 \
>>>>>> + /usr/lib/liblber-2.3.so.0.2.8 \
>>>>>> + /usr/lib/libldap-2.3.so.0 \
>>>>>> + /usr/lib/libldap-2.3.so.0.2.8 \
>>>>>> + /usr/lib/libldap_r-2.3.so.0 \
>>>>>> + /usr/lib/libldap_r-2.3.so.0.2.8 \
>>>>>> + /usr/lib/libloc.so.0 \
>>>>>> + /usr/lib/libloc.so.0.0.0 \
>>>>>> + /usr/lib/liblua-5.3.so \
>>>>>> + /usr/lib/liblua.so \
>>>>>> + /usr/lib/liblwres.so.161 \
>>>>>> + /usr/lib/liblwres.so.161.0.4 \
>>>>>> + /usr/lib/libmpfr.so.4 \
>>>>>> + /usr/lib/libmpfr.so.4.1.5 \
>>>>>> + /usr/lib/libmpx.so.2 \
>>>>>> + /usr/lib/libmpx.so.2.0.1 \
>>>>>> + /usr/lib/libmpxwrappers.so.2 \
>>>>>> + /usr/lib/libmpxwrappers.so.2.0.1 \
>>>>>> + /usr/lib/libnettle.so.7 \
>>>>>> + /usr/lib/libnettle.so.7.0 \
>>>>>> + /usr/lib/libns-9.16.22.so \
>>>>>> + /usr/lib/libopcodes-2.32.so \
>>>>>> + /usr/lib/libopcodes-2.34.so \
>>>>>> + /usr/lib/libopcodes-2.35.1.so \
>>>>>> + /usr/lib/libpcre2-posix.so.2 \
>>>>>> + /usr/lib/libpcre2-posix.so.2.0.3 \
>>>>>> + /usr/lib/libpng12.so \
>>>>>> + /usr/lib/libpng12.so.0 \
>>>>>> + /usr/lib/libpng12.so.0.57.0 \
>>>>>> + /usr/lib/libpng.so.3 \
>>>>>> + /usr/lib/libpng.so.3.57.0 \
>>>>>> + /usr/lib/libpoppler.so.100 \
>>>>>> + /usr/lib/libpoppler.so.100.0.0 \
>>>>>> + /usr/lib/libpoppler.so.110 \
>>>>>> + /usr/lib/libpoppler.so.110.0.0 \
>>>>>> + /usr/lib/libpoppler.so.111 \
>>>>>> + /usr/lib/libpoppler.so.111.0.0 \
>>>>>> + /usr/lib/libpoppler.so.66 \
>>>>>> + /usr/lib/libpoppler.so.66.0.0 \
>>>>>> + /usr/lib/libqpdf.so.17 \
>>>>>> + /usr/lib/libqpdf.so.17.0.0 \
>>>>>> + /usr/lib/libreadline.so.6 \
>>>>>> + /usr/lib/libreadline.so.6.3 \
>>>>>> + /usr/lib/libsensors.so.4 \
>>>>>> + /usr/lib/libsensors.so.4.4.0 \
>>>>>> + /usr/lib/libsqlite3.so \
>>>>>> + /usr/lib/libthreadutil.so \
>>>>>> + /usr/lib/libthreadutil.so.6 \
>>>>>> + /usr/lib/libthreadutil.so.6.0.3 \
>>>>>> + /usr/lib/libulockmgr.so \
>>>>>> + /usr/lib/libulockmgr.so.1 \
>>>>>> + /usr/lib/libulockmgr.so.1.0.1 \
>>>>>> + /usr/lib/libupnp.so \
>>>>>> + /usr/lib/libuuid.so \
>>>>>> + /usr/lib/libxml2.so \
>>>>>> + /usr/lib/libxslt.so \
>>>>>> + /usr/lib/pango \
>>>>>> + /usr/lib/perl5/site_perl/5.30.0 \
>>>>>> + /usr/lib/perl5/site_perl/5.32.1/Net/IP.pm \
>>>>>> + /usr/lib/python3.8/ensurepip/_bundled/pip-19.2.3-py2.py3-none-any.whl \
>>>>>> + /usr/lib/python3.8/idlelib/Icons/idle.icns \
>>>>>> + /usr/lib/python3.8/lib2to3/Grammar3.8.1.final.0.pickle \
>>>>>> + /usr/lib/python3.8/lib2to3/PatternGrammar3.8.1.final.0.pickle \
>>>>>
>>>>> Why can we not delete /usr/lib/python3.8 as a whole? This should not be needed any more.
>>>>
>>>> Yes, good point. I was running the comparison based on Core Update 164, but with
>>>> Python being updated to 3.10.x in Core Update 165, this folder won't be necessary
>>>> anymore completely.
>>>>
>>>>>
>>>>>> + /usr/lib/sqlite3.34.0 \
>>>>>> + /usr/lib/squid/basic_nis_auth \
>>>>>> + /usr/lib/squid/ext_time_quota_acl \
>>>>>> + /usr/lib/tcl8/8.4/platform-1.0.14.tm \
>>>>>> + /usr/lib/tcl8/8.4/platform-1.0.15.tm \
>>>>>> + /usr/lib/tcl8/8.5/msgcat-1.6.0.tm \
>>>>>> + /usr/lib/tcl8/8.5/tcltest-2.4.0.tm \
>>>>>> + /usr/lib/tcl8/8.6/http-2.8.9.tm \
>>>>>> + /usr/lib/tcl8/8.6/tdbc/sqlite3-1.0.4.tm \
>>>>>> + /usr/lib/tcl8/8.6/tdbc/sqlite3-1.1.2.tm \
>>>>>
>>>>> Why do we even ship tcl? Is anything reliant on this?
>>>>
>>>> I don't know.
>>>>
>>>>>> + /usr/lib/tdbc1.1.2 \
>>>>>> + /usr/lib/tdbcmysql1.1.2 \
>>>>>> + /usr/lib/tdbcodbc1.1.2 \
>>>>>> + /usr/lib/tdbcpostgres1.1.2 \
>>>>>> + /usr/lib/thread2.8.6 \
>>>>>> + /usr/libexec/xtables-addons \
>>>>>> /usr/local/bin/ovpn-ccd-convert \
>>>>>> - /usr/local/bin/rebuild-initrd
>>>>>> + /usr/local/bin/rebuild-initrd \
>>>>>> + /usr/local/bin/xt_geoip_build \
>>>>>> + /usr/local/bin/xt_geoip_update \
>>>>>> + /usr/sbin/batctl \
>>>>>> + /usr/sbin/fbset \
>>>>>> + /usr/sbin/update-usbids.sh \
>>>>>> + /usr/sbin/uuidd \
>>>>>> + /usr/share/doc/fireinfo \
>>>>>> + /usr/share/GeoIP \
>>>>>> + /usr/share/zoneinfo/posix/US/Pacific-New \
>>>>>> + /usr/share/zoneinfo/right/US/Pacific-New \
>>>>>> + /usr/share/zoneinfo/US/Pacific-New \
>>>>>> + /var/lib/GeoIP
>>>>>
>>>>> What method did you use to identify all these files?
>>>>
>>>> On the IPFire installation in question, I ran
>>>>
>>>>> find bin/ etc/ lib/ opt/ run/ sbin/ srv/ usr/ var/ | sort > ~/ist
>>>>
>>>> and scp'ed that file onto my workstation. Then, I downloaded the ISO for Core Update 164
>>>> (because I wanted to have something stable, which is why I did not choose C165 for this),
>>>> installed it in a VM, rebooted it, mounted the root partition and executed the same find
>>>> command with a different file name.
>>>
>>> Okay, so this is based on a random system. Not bad, but would be better if we could diff two filelists from two core updates, wouldn’t it?
>>
>> I am not sure if I understood you here: The filelist above contains all leftovers that have
>> agglomerated since Core Update 110. Comparing two filelists would only cover a fraction of
>> it, since this comparison cannot skip any update.
>>
>> However: Do you see a feasible way to obtain such lists, and perhaps scipt the generation of
>> such a list of orphaned files?
>
> Yes, we could use “git archive” to create a tarball from any branch, so in this case a core update from the past.
>
> We could then only extract (or directly send to stdout) all files in config/rootfiles/command, sort the output and compare it to what is currently in config/rootfiles/common. Stretch goal is doing this for all architectures :)
>
> Here is the command for the main file list:
>
> git archive origin/core160 | tar --extract --to-stdout config/rootfiles/common | grep -v "^#" | sort -u
>
> This could be integrated into make.sh :)
>
> -Michael
>
>>
>> Thanks, and best regards,
>> Peter Müller
>>
>>>
>>>>
>>>> A
>>>>
>>>>> diff -Naur soll ist | less
>>>>
>>>> (sorry for the German) outputs a long list, which I vetted manually since some add-ons
>>>> were installed on the productive system, and I did not want to pipe the output into the
>>>> rm command blindly.
>>>>
>>>> Thanks, and best regards,
>>>> Peter Müller
>>>>
>>>>>
>>>>> -Michael
>>>>>
>>>>>>
>>>>>> # Delete old 2007 Pakfire key from GPG keyring
>>>>>> export GNUPGHOME="/opt/pakfire/etc/.gnupg"
>>>>>> --
>>>>>> 2.34.1
>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: [PATCH] Core Update 166: Perform spring clean of orphaned files
2022-03-22 14:59 ` Peter Müller
@ 2022-03-22 15:03 ` Michael Tremer
0 siblings, 0 replies; 11+ messages in thread
From: Michael Tremer @ 2022-03-22 15:03 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 16434 bytes --]
I would vote to merge it. There is nothing wrong with it except that it might not be 100% complete, but it is at least doing something.
I would still like you to implement an automatic check for the future as I outlined in my last email. :)
> On 22 Mar 2022, at 14:59, Peter Müller <peter.mueller(a)ipfire.org> wrote:
>
> Hello Michael,
>
> thanks for your reply and the information.
>
> How should we proceed with this patch then?
>
> Thanks, and best regards,
> Peter Müller
>
>> Hello,
>>
>>> On 21 Mar 2022, at 19:15, Peter Müller <peter.mueller(a)ipfire.org> wrote:
>>>
>>> Hello Michael,
>>>
>>> thanks for your reply.
>>>
>>>> Hello,
>>>>
>>>>> On 21 Mar 2022, at 16:03, Peter Müller <peter.mueller(a)ipfire.org> wrote:
>>>>>
>>>>> Hello Michael,
>>>>>
>>>>> thanks for your reply.
>>>>>
>>>>>> Hello,
>>>>>>
>>>>>> This is interesting.
>>>>>
>>>>> That's a mild way of putting it, I think. :-)
>>>>>
>>>>>>
>>>>>>> On 21 Mar 2022, at 15:35, Peter Müller <peter.mueller(a)ipfire.org> wrote:
>>>>>>>
>>>>>>> On an IPFire installation that has been around since Core Update 110
>>>>>>> (released April 28, 2017), these files have been identified as being
>>>>>>> orphaned, comparing to a fresh installation of Core Update 164.
>>>>>>>
>>>>>>> To avoid such a list of files agglomerating, persons responsible for a
>>>>>>> Core Update should check whether an updated package contains deleted
>>>>>>> files in its rootfile. If so, they should be deleted on existing systems
>>>>>>> via update.sh as well.
>>>>>>>
>>>>>>> Signed-off-by: Peter Müller <peter.mueller(a)ipfire.org>
>>>>>>> ---
>>>>>>> config/rootfiles/core/166/update.sh | 260 +++++++++++++++++++++++++++-
>>>>>>> 1 file changed, 258 insertions(+), 2 deletions(-)
>>>>>>>
>>>>>>> diff --git a/config/rootfiles/core/166/update.sh b/config/rootfiles/core/166/update.sh
>>>>>>> index 1370555b0..b556986a5 100644
>>>>>>> --- a/config/rootfiles/core/166/update.sh
>>>>>>> +++ b/config/rootfiles/core/166/update.sh
>>>>>>> @@ -32,13 +32,269 @@ for (( i=1; i<=$core; i++ )); do
>>>>>>> done
>>>>>>>
>>>>>>> # Remove files
>>>>>>> -rm -vf \
>>>>>>> +rm -rvf \
>>>>>>> + /bin/setserial \
>>>>>>> /etc/dracut.conf \
>>>>>>> + /etc/fonts/conf.d/30-urw-aliases.conf \
>>>>>>> + /etc/grub.d/README \
>>>>>>> + /etc/rc.d/init.d/networking/red.up/99-geoip-database \
>>>>>>> + /etc/udev/rules.d/99-fuse.rules \
>>>>>>> + /lib/firmware/amd-ucode/microcode_amd.bin.asc \
>>>>>>> + /lib/firmware/amd-ucode/microcode_amd_fam15h.bin.asc \
>>>>>>> + /lib/firmware/amd-ucode/microcode_amd_fam16h.bin.asc \
>>>>>>> + /lib/firmware/amd-ucode/microcode_amd_fam17h.bin.asc \
>>>>>>> + /lib/firmware/ath10k/QCA4019/hw1.0/notice_ath10k_firmware-5.txt \
>>>>>>> + /lib/firmware/ath10k/QCA6174/hw2.1/notice_ath10k_firmware-5.txt \
>>>>>>> + /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-4.txt \
>>>>>>> + /lib/firmware/ath10k/QCA6174/hw3.0/notice_ath10k_firmware-6.txt \
>>>>>>> + /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-5.txt \
>>>>>>> + /lib/firmware/ath10k/QCA9377/hw1.0/notice_ath10k_firmware-6.txt \
>>>>>>> + /lib/firmware/ath10k/QCA9887/hw1.0/notice_ath10k_firmware-5.txt \
>>>>>>> + /lib/firmware/ath10k/QCA9888/hw2.0/notice_ath10k_firmware-5.txt \
>>>>>>> + /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-4.txt \
>>>>>>> + /lib/firmware/ath10k/QCA988X/hw2.0/notice_ath10k_firmware-5.txt \
>>>>>>> + /lib/firmware/ath10k/QCA9984/hw1.0/notice_ath10k_firmware-5.txt \
>>>>>>> + /lib/firmware/ath10k/QCA99X0/hw2.0/notice_ath10k_firmware-5.txt \
>>>>>>> + /lib/firmware/atusb/ChangeLog \
>>>>>>> + /lib/firmware/check_whence.py \
>>>>>>> + /lib/firmware/cis/src \
>>>>>>> + /lib/firmware/copy-firmware.sh \
>>>>>>> + /lib/firmware/cxgb4/t4fw-1.20.8.0.bin \
>>>>>>> + /lib/firmware/cxgb4/t4fw-1.24.3.0.bin \
>>>>>>> + /lib/firmware/cxgb4/t5fw-1.20.8.0.bin \
>>>>>>> + /lib/firmware/cxgb4/t5fw-1.24.3.0.bin \
>>>>>>> + /lib/firmware/cxgb4/t6fw-1.20.8.0.bin \
>>>>>>> + /lib/firmware/cxgb4/t6fw-1.24.3.0.bin \
>>>>>>> + /lib/firmware/GPL-2 \
>>>>>>> + /lib/firmware/GPL-3 \
>>>>>>> + /lib/firmware/isci/README \
>>>>>>> + /lib/firmware/LICENCE.* \
>>>>>>> + /lib/firmware/Makefile \
>>>>>>> + /lib/firmware/qca/NOTICE.txt \
>>>>>>> + /lib/firmware/qcom/NOTICE.txt \
>>>>>>> + /lib/firmware/README \
>>>>>>> + /lib/firmware/WHENCE \
>>>>>>> + /lib/kbd/keymaps/i386/qwerty/fi-latin1.map.gz \
>>>>>>> + /lib/kbd/keymaps/i386/qwerty/fi-latin9.map.gz \
>>>>>>> + /lib/ld-2.29.so \
>>>>>>> + /lib/ld-2.31.so \
>>>>>>> + /lib/ld-2.32.so \
>>>>>>
>>>>>> These should have been gone before. Ideally by the filesystem cleanup script.
>>>>>
>>>>> To be honest, I never had a look at this script, and therefore do not have an idea
>>>>> what it does and what it does not. I will investigate and get back to you, if necessary.
>>>>>
>>>>>>> + /lib/libcap.so \
>>>>>>> + /lib/libhistory.so.5 \
>>>>>>> + /lib/libhistory.so.5.2 \
>>>>>>> + /lib/libip4tc.so.0 \
>>>>>>> + /lib/libip4tc.so.0.1.0 \
>>>>>>> + /lib/libip6tc.so.0 \
>>>>>>> + /lib/libip6tc.so.0.1.0 \
>>>>>>> + /lib/libiptc.so \
>>>>>>> + /lib/libiptc.so.0 \
>>>>>>> + /lib/libiptc.so.0.0.0 \
>>>>>>> + /lib/libnss_nis-2.31.so \
>>>>>>> + /lib/libnss_nisplus-2.31.so \
>>>>>>> + /lib/libnss_nisplus.so.2 \
>>>>>>> + /lib/libnss_nis.so.2 \
>>>>>>> + /lib/libproc-3.2.8.so \
>>>>>>> + /lib/libreadline.so.5 \
>>>>>>> + /lib/libreadline.so.5.2 \
>>>>>>> + /lib/libsysfs.so \
>>>>>>> + /lib/libsysfs.so.1 \
>>>>>>> + /lib/libsysfs.so.1.0.3 \
>>>>>>> + /lib/udev/bluetooth_serial \
>>>>>>> + /lib/udev/rules.d/24-bluetooth.rules \
>>>>>>> + /lib/xtables/libxt_IMQ.so \
>>>>>>> /opt/pakfire/pakfire-2007.key \
>>>>>>> + /sbin/mount.fuse \
>>>>>>> + /sbin/raw \
>>>>>>> + /sbin/xfs_scrub \
>>>>>>> + /sbin/xfs_scrub_all \
>>>>>>> + /srv/web/ipfire/cgi-bin/bluetooth.cgi \
>>>>>>> + /usr/bin/ez-ipupdate \
>>>>>>
>>>>>> LOL
>>>>>
>>>>> ?
>>>>>
>>>>>>
>>>>>>> + /usr/bin/fusermount \
>>>>>>> + /usr/bin/gawk-5.1.0 \
>>>>>>> + /usr/bin/gcov-dump \
>>>>>>> + /usr/bin/getunimap \
>>>>>>> /usr/bin/mkinitrd \
>>>>>>> + /usr/bin/mtools \
>>>>>>> + /usr/bin/pango-querymodules \
>>>>>>> + /usr/bin/perl5.30.0 \
>>>>>>> + /usr/bin/setlogcons \
>>>>>>> + /usr/bin/setvesablank \
>>>>>>> + /usr/bin/ulockmgr_server \
>>>>>>> + /usr/include/python2.7 \
>>>>>>> + /usr/lib/cairo \
>>>>>>> /usr/lib/dracut \
>>>>>>> + /usr/lib/findutils/bigram \
>>>>>>> + /usr/lib/findutils/code \
>>>>>>> + /usr/lib/gawk/testext.so \
>>>>>>> + /usr/lib/itcl4.2.1 \
>>>>>>> + /usr/lib/libasan.so.5 \
>>>>>>> + /usr/lib/libasan.so.5.0.0 \
>>>>>>> + /usr/lib/libbfd-2.32.so \
>>>>>>> + /usr/lib/libbfd-2.34.so \
>>>>>>> + /usr/lib/libbfd-2.35.1.so \
>>>>>>> + /usr/lib/libbind9-9.16.22.so \
>>>>>>> + /usr/lib/libbind9.so.161 \
>>>>>>> + /usr/lib/libbind9.so.161.0.4 \
>>>>>>> + /usr/lib/libblkid.so \
>>>>>>> + /usr/lib/libdns-9.16.22.so \
>>>>>>> + /usr/lib/libdnssec.so.7 \
>>>>>>> + /usr/lib/libdnssec.so.7.0.0 \
>>>>>>> + /usr/lib/libdns.so.* \
>>>>>>
>>>>>> These should have been caught by the script as well. Any idea why that didn’t happen?
>>>>>>
>>>>>>> + /usr/lib/libevent-2.1.so.6 \
>>>>>>> + /usr/lib/libevent-2.1.so.6.0.2 \
>>>>>>> + /usr/lib/libevent_core-2.1.so.6 \
>>>>>>> + /usr/lib/libevent_core-2.1.so.6.0.2 \
>>>>>>> + /usr/lib/libevent_extra-2.1.so.6 \
>>>>>>> + /usr/lib/libevent_extra-2.1.so.6.0.2 \
>>>>>>> + /usr/lib/libevent_openssl-2.1.so.6 \
>>>>>>> + /usr/lib/libevent_openssl-2.1.so.6.0.2 \
>>>>>>> + /usr/lib/libevent_openssl.so \
>>>>>>> + /usr/lib/libevent_pthreads-2.1.so.6 \
>>>>>>> + /usr/lib/libevent_pthreads-2.1.so.6.0.2 \
>>>>>>> + /usr/lib/libevent_pthreads.so \
>>>>>>> + /usr/lib/libexpat.so \
>>>>>>> + /usr/lib/libexslt.so \
>>>>>>> + /usr/lib/libffi.so.6 \
>>>>>>> + /usr/lib/libffi.so.6.0.4 \
>>>>>>> + /usr/lib/libffi.so.7 \
>>>>>>> + /usr/lib/libffi.so.7.1.0 \
>>>>>>> + /usr/lib/libfuse.so \
>>>>>>> + /usr/lib/libfuse.so.2 \
>>>>>>> + /usr/lib/libfuse.so.2.9.7 \
>>>>>>> + /usr/lib/libgdbm_compat.so \
>>>>>>> + /usr/lib/libgdbm_compat.so.3 \
>>>>>>> + /usr/lib/libgdbm_compat.so.3.0.0 \
>>>>>>> + /usr/lib/libgdbm.so \
>>>>>>> + /usr/lib/libgdbm.so.3 \
>>>>>>> + /usr/lib/libgdbm.so.3.0.0 \
>>>>>>> + /usr/lib/libgd.so \
>>>>>>> + /usr/lib/libgd.so.2 \
>>>>>>> + /usr/lib/libgd.so.2.0.0 \
>>>>>>> + /usr/lib/libgettextlib-0.19.8.1.so \
>>>>>>> + /usr/lib/libgettextsrc-0.19.8.1.so \
>>>>>>> + /usr/lib/libhistory.so.6 \
>>>>>>> + /usr/lib/libhistory.so.6.3 \
>>>>>>> + /usr/lib/libhogweed.so.5 \
>>>>>>> + /usr/lib/libhogweed.so.5.0 \
>>>>>>> + /usr/lib/libidn.so \
>>>>>>> + /usr/lib/libidn.so.11 \
>>>>>>> + /usr/lib/libidn.so.11.6.18 \
>>>>>>> + /usr/lib/libirs-9.16.22.so \
>>>>>>> + /usr/lib/libisc-9.16.22.so \
>>>>>>> + /usr/lib/libisccc-9.16.22.so \
>>>>>>> + /usr/lib/libisccc.so.161 \
>>>>>>> + /usr/lib/libisccc.so.161.0.1 \
>>>>>>> + /usr/lib/libisccfg-9.16.22.so \
>>>>>>> + /usr/lib/libisccfg.so.163 \
>>>>>>> + /usr/lib/libisccfg.so.163.0.8 \
>>>>>>> + /usr/lib/libisc.so.1100 \
>>>>>>> + /usr/lib/libisc.so.1100.3.2 \
>>>>>>> + /usr/lib/libisc.so.1104 \
>>>>>>> + /usr/lib/libisc.so.1104.0.0 \
>>>>>>> + /usr/lib/libisc.so.1105 \
>>>>>>> + /usr/lib/libisc.so.1105.1.1 \
>>>>>>> + /usr/lib/libisc.so.1107 \
>>>>>>> + /usr/lib/libisc.so.1107.0.5 \
>>>>>>
>>>>>> See above.
>>>>>>
>>>>>>> + /usr/lib/libixml.so \
>>>>>>> + /usr/lib/libknot.so.10 \
>>>>>>> + /usr/lib/libknot.so.10.0.0 \
>>>>>>> + /usr/lib/libknot.so.11 \
>>>>>>> + /usr/lib/libknot.so.11.0.0 \
>>>>>>> + /usr/lib/libknot.so.9 \
>>>>>>> + /usr/lib/libknot.so.9.0.0 \
>>>>>>> + /usr/lib/liblber-2.3.so.0 \
>>>>>>> + /usr/lib/liblber-2.3.so.0.2.8 \
>>>>>>> + /usr/lib/libldap-2.3.so.0 \
>>>>>>> + /usr/lib/libldap-2.3.so.0.2.8 \
>>>>>>> + /usr/lib/libldap_r-2.3.so.0 \
>>>>>>> + /usr/lib/libldap_r-2.3.so.0.2.8 \
>>>>>>> + /usr/lib/libloc.so.0 \
>>>>>>> + /usr/lib/libloc.so.0.0.0 \
>>>>>>> + /usr/lib/liblua-5.3.so \
>>>>>>> + /usr/lib/liblua.so \
>>>>>>> + /usr/lib/liblwres.so.161 \
>>>>>>> + /usr/lib/liblwres.so.161.0.4 \
>>>>>>> + /usr/lib/libmpfr.so.4 \
>>>>>>> + /usr/lib/libmpfr.so.4.1.5 \
>>>>>>> + /usr/lib/libmpx.so.2 \
>>>>>>> + /usr/lib/libmpx.so.2.0.1 \
>>>>>>> + /usr/lib/libmpxwrappers.so.2 \
>>>>>>> + /usr/lib/libmpxwrappers.so.2.0.1 \
>>>>>>> + /usr/lib/libnettle.so.7 \
>>>>>>> + /usr/lib/libnettle.so.7.0 \
>>>>>>> + /usr/lib/libns-9.16.22.so \
>>>>>>> + /usr/lib/libopcodes-2.32.so \
>>>>>>> + /usr/lib/libopcodes-2.34.so \
>>>>>>> + /usr/lib/libopcodes-2.35.1.so \
>>>>>>> + /usr/lib/libpcre2-posix.so.2 \
>>>>>>> + /usr/lib/libpcre2-posix.so.2.0.3 \
>>>>>>> + /usr/lib/libpng12.so \
>>>>>>> + /usr/lib/libpng12.so.0 \
>>>>>>> + /usr/lib/libpng12.so.0.57.0 \
>>>>>>> + /usr/lib/libpng.so.3 \
>>>>>>> + /usr/lib/libpng.so.3.57.0 \
>>>>>>> + /usr/lib/libpoppler.so.100 \
>>>>>>> + /usr/lib/libpoppler.so.100.0.0 \
>>>>>>> + /usr/lib/libpoppler.so.110 \
>>>>>>> + /usr/lib/libpoppler.so.110.0.0 \
>>>>>>> + /usr/lib/libpoppler.so.111 \
>>>>>>> + /usr/lib/libpoppler.so.111.0.0 \
>>>>>>> + /usr/lib/libpoppler.so.66 \
>>>>>>> + /usr/lib/libpoppler.so.66.0.0 \
>>>>>>> + /usr/lib/libqpdf.so.17 \
>>>>>>> + /usr/lib/libqpdf.so.17.0.0 \
>>>>>>> + /usr/lib/libreadline.so.6 \
>>>>>>> + /usr/lib/libreadline.so.6.3 \
>>>>>>> + /usr/lib/libsensors.so.4 \
>>>>>>> + /usr/lib/libsensors.so.4.4.0 \
>>>>>>> + /usr/lib/libsqlite3.so \
>>>>>>> + /usr/lib/libthreadutil.so \
>>>>>>> + /usr/lib/libthreadutil.so.6 \
>>>>>>> + /usr/lib/libthreadutil.so.6.0.3 \
>>>>>>> + /usr/lib/libulockmgr.so \
>>>>>>> + /usr/lib/libulockmgr.so.1 \
>>>>>>> + /usr/lib/libulockmgr.so.1.0.1 \
>>>>>>> + /usr/lib/libupnp.so \
>>>>>>> + /usr/lib/libuuid.so \
>>>>>>> + /usr/lib/libxml2.so \
>>>>>>> + /usr/lib/libxslt.so \
>>>>>>> + /usr/lib/pango \
>>>>>>> + /usr/lib/perl5/site_perl/5.30.0 \
>>>>>>> + /usr/lib/perl5/site_perl/5.32.1/Net/IP.pm \
>>>>>>> + /usr/lib/python3.8/ensurepip/_bundled/pip-19.2.3-py2.py3-none-any.whl \
>>>>>>> + /usr/lib/python3.8/idlelib/Icons/idle.icns \
>>>>>>> + /usr/lib/python3.8/lib2to3/Grammar3.8.1.final.0.pickle \
>>>>>>> + /usr/lib/python3.8/lib2to3/PatternGrammar3.8.1.final.0.pickle \
>>>>>>
>>>>>> Why can we not delete /usr/lib/python3.8 as a whole? This should not be needed any more.
>>>>>
>>>>> Yes, good point. I was running the comparison based on Core Update 164, but with
>>>>> Python being updated to 3.10.x in Core Update 165, this folder won't be necessary
>>>>> anymore completely.
>>>>>
>>>>>>
>>>>>>> + /usr/lib/sqlite3.34.0 \
>>>>>>> + /usr/lib/squid/basic_nis_auth \
>>>>>>> + /usr/lib/squid/ext_time_quota_acl \
>>>>>>> + /usr/lib/tcl8/8.4/platform-1.0.14.tm \
>>>>>>> + /usr/lib/tcl8/8.4/platform-1.0.15.tm \
>>>>>>> + /usr/lib/tcl8/8.5/msgcat-1.6.0.tm \
>>>>>>> + /usr/lib/tcl8/8.5/tcltest-2.4.0.tm \
>>>>>>> + /usr/lib/tcl8/8.6/http-2.8.9.tm \
>>>>>>> + /usr/lib/tcl8/8.6/tdbc/sqlite3-1.0.4.tm \
>>>>>>> + /usr/lib/tcl8/8.6/tdbc/sqlite3-1.1.2.tm \
>>>>>>
>>>>>> Why do we even ship tcl? Is anything reliant on this?
>>>>>
>>>>> I don't know.
>>>>>
>>>>>>> + /usr/lib/tdbc1.1.2 \
>>>>>>> + /usr/lib/tdbcmysql1.1.2 \
>>>>>>> + /usr/lib/tdbcodbc1.1.2 \
>>>>>>> + /usr/lib/tdbcpostgres1.1.2 \
>>>>>>> + /usr/lib/thread2.8.6 \
>>>>>>> + /usr/libexec/xtables-addons \
>>>>>>> /usr/local/bin/ovpn-ccd-convert \
>>>>>>> - /usr/local/bin/rebuild-initrd
>>>>>>> + /usr/local/bin/rebuild-initrd \
>>>>>>> + /usr/local/bin/xt_geoip_build \
>>>>>>> + /usr/local/bin/xt_geoip_update \
>>>>>>> + /usr/sbin/batctl \
>>>>>>> + /usr/sbin/fbset \
>>>>>>> + /usr/sbin/update-usbids.sh \
>>>>>>> + /usr/sbin/uuidd \
>>>>>>> + /usr/share/doc/fireinfo \
>>>>>>> + /usr/share/GeoIP \
>>>>>>> + /usr/share/zoneinfo/posix/US/Pacific-New \
>>>>>>> + /usr/share/zoneinfo/right/US/Pacific-New \
>>>>>>> + /usr/share/zoneinfo/US/Pacific-New \
>>>>>>> + /var/lib/GeoIP
>>>>>>
>>>>>> What method did you use to identify all these files?
>>>>>
>>>>> On the IPFire installation in question, I ran
>>>>>
>>>>>> find bin/ etc/ lib/ opt/ run/ sbin/ srv/ usr/ var/ | sort > ~/ist
>>>>>
>>>>> and scp'ed that file onto my workstation. Then, I downloaded the ISO for Core Update 164
>>>>> (because I wanted to have something stable, which is why I did not choose C165 for this),
>>>>> installed it in a VM, rebooted it, mounted the root partition and executed the same find
>>>>> command with a different file name.
>>>>
>>>> Okay, so this is based on a random system. Not bad, but would be better if we could diff two filelists from two core updates, wouldn’t it?
>>>
>>> I am not sure if I understood you here: The filelist above contains all leftovers that have
>>> agglomerated since Core Update 110. Comparing two filelists would only cover a fraction of
>>> it, since this comparison cannot skip any update.
>>>
>>> However: Do you see a feasible way to obtain such lists, and perhaps scipt the generation of
>>> such a list of orphaned files?
>>
>> Yes, we could use “git archive” to create a tarball from any branch, so in this case a core update from the past.
>>
>> We could then only extract (or directly send to stdout) all files in config/rootfiles/command, sort the output and compare it to what is currently in config/rootfiles/common. Stretch goal is doing this for all architectures :)
>>
>> Here is the command for the main file list:
>>
>> git archive origin/core160 | tar --extract --to-stdout config/rootfiles/common | grep -v "^#" | sort -u
>>
>> This could be integrated into make.sh :)
>>
>> -Michael
>>
>>>
>>> Thanks, and best regards,
>>> Peter Müller
>>>
>>>>
>>>>>
>>>>> A
>>>>>
>>>>>> diff -Naur soll ist | less
>>>>>
>>>>> (sorry for the German) outputs a long list, which I vetted manually since some add-ons
>>>>> were installed on the productive system, and I did not want to pipe the output into the
>>>>> rm command blindly.
>>>>>
>>>>> Thanks, and best regards,
>>>>> Peter Müller
>>>>>
>>>>>>
>>>>>> -Michael
>>>>>>
>>>>>>>
>>>>>>> # Delete old 2007 Pakfire key from GPG keyring
>>>>>>> export GNUPGHOME="/opt/pakfire/etc/.gnupg"
>>>>>>> --
>>>>>>> 2.34.1
>>
^ permalink raw reply [flat|nested] 11+ messages in thread
* Why do we ship tcl again? (was: Re: [PATCH] Core Update 166: Perform spring clean of orphaned files)
2022-03-21 15:55 ` Michael Tremer
2022-03-21 16:03 ` Peter Müller
@ 2022-04-03 14:49 ` Peter Müller
2022-04-04 8:49 ` Michael Tremer
1 sibling, 1 reply; 11+ messages in thread
From: Peter Müller @ 2022-04-03 14:49 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 1068 bytes --]
Hello Michael,
hello *,
looking at
>> + /usr/lib/tcl8/8.4/platform-1.0.14.tm \
>> + /usr/lib/tcl8/8.4/platform-1.0.15.tm \
>> + /usr/lib/tcl8/8.5/msgcat-1.6.0.tm \
>> + /usr/lib/tcl8/8.5/tcltest-2.4.0.tm \
>> + /usr/lib/tcl8/8.6/http-2.8.9.tm \
>> + /usr/lib/tcl8/8.6/tdbc/sqlite3-1.0.4.tm \
>> + /usr/lib/tcl8/8.6/tdbc/sqlite3-1.1.2.tm \
>
> Why do we even ship tcl? Is anything reliant on this?
in particular and the tcl rootfile in general, I would like to bring your question up again.
This is especially because the current tcl rootfile ships file I definitely expect in the
sqlite territory, not here:
> #usr/lib/sqlite3.36.0
> usr/lib/sqlite3.36.0/libsqlite3.36.0.so
> usr/lib/sqlite3.36.0/pkgIndex.tcl
To my understanding, this makes it hard to understand if the sqlite version carried out
via tcl takes precedence, or if the _actual_ sqlite version is effective.
Unless anybody has an idea why we actually need to ship tcl, I would like to try out what
happens if we don't. :-)
Thanks, and best regards,
Peter Müller
^ permalink raw reply [flat|nested] 11+ messages in thread
* Re: Why do we ship tcl again? (was: Re: [PATCH] Core Update 166: Perform spring clean of orphaned files)
2022-04-03 14:49 ` Why do we ship tcl again? (was: Re: [PATCH] Core Update 166: Perform spring clean of orphaned files) Peter Müller
@ 2022-04-04 8:49 ` Michael Tremer
0 siblings, 0 replies; 11+ messages in thread
From: Michael Tremer @ 2022-04-04 8:49 UTC (permalink / raw)
To: development
[-- Attachment #1: Type: text/plain, Size: 1655 bytes --]
Hello,
> On 3 Apr 2022, at 15:49, Peter Müller <peter.mueller(a)ipfire.org> wrote:
>
> Hello Michael,
> hello *,
>
> looking at
>
>>> + /usr/lib/tcl8/8.4/platform-1.0.14.tm \
>>> + /usr/lib/tcl8/8.4/platform-1.0.15.tm \
>>> + /usr/lib/tcl8/8.5/msgcat-1.6.0.tm \
>>> + /usr/lib/tcl8/8.5/tcltest-2.4.0.tm \
>>> + /usr/lib/tcl8/8.6/http-2.8.9.tm \
>>> + /usr/lib/tcl8/8.6/tdbc/sqlite3-1.0.4.tm \
>>> + /usr/lib/tcl8/8.6/tdbc/sqlite3-1.1.2.tm \
>>
>> Why do we even ship tcl? Is anything reliant on this?
>
> in particular and the tcl rootfile in general, I would like to bring your question up again.
TCL is required at build time for various packages. However, at runtime there is one:
root(a)michael:/build/ipfire-2.x# grep -r "^#\!.*tcl" build
build/usr/sbin/usb_modeswitch_dispatcher:#!/usr/bin/tclsh
grep: build/usr/share/misc/magic.mgc: binary file matches
That means we will need to ship tcl.
> This is especially because the current tcl rootfile ships file I definitely expect in the
> sqlite territory, not here:
>
>> #usr/lib/sqlite3.36.0
>> usr/lib/sqlite3.36.0/libsqlite3.36.0.so
>> usr/lib/sqlite3.36.0/pkgIndex.tcl
Since that script is not using sqlite, you can disable building both modules.
> To my understanding, this makes it hard to understand if the sqlite version carried out
> via tcl takes precedence, or if the _actual_ sqlite version is effective.
They serve different purposes.
> Unless anybody has an idea why we actually need to ship tcl, I would like to try out what
> happens if we don't. :-)
See above.
> Thanks, and best regards,
> Peter Müller
-Michael
^ permalink raw reply [flat|nested] 11+ messages in thread
end of thread, other threads:[~2022-04-04 8:49 UTC | newest]
Thread overview: 11+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-21 15:35 [PATCH] Core Update 166: Perform spring clean of orphaned files Peter Müller
2022-03-21 15:49 ` Peter Müller
2022-03-21 15:55 ` Michael Tremer
2022-03-21 16:03 ` Peter Müller
2022-03-21 16:06 ` Michael Tremer
2022-03-21 19:15 ` Peter Müller
2022-03-21 19:20 ` Michael Tremer
2022-03-22 14:59 ` Peter Müller
2022-03-22 15:03 ` Michael Tremer
2022-04-03 14:49 ` Why do we ship tcl again? (was: Re: [PATCH] Core Update 166: Perform spring clean of orphaned files) Peter Müller
2022-04-04 8:49 ` Michael Tremer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox