* [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