From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Tremer To: ipfire-scm@lists.ipfire.org Subject: [git.ipfire.org] IPFire 2.x development tree branch, next, updated. 417263c76c0d428398ee6188c22cee4bce035c87 Date: Wed, 02 Aug 2023 09:22:06 +0000 Message-ID: <4RG61q1qfrz2xYs@people01.haj.ipfire.org> MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1191549197573760113==" List-Id: --===============1191549197573760113== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "IPFire 2.x development tree". The branch, next has been updated via 417263c76c0d428398ee6188c22cee4bce035c87 (commit) via 4ba14aa2ba9f7ca15dd15b6e32c749c556f1b9ed (commit) via db9cecd8db5677f91c931f1cbd2069e4c0cdba0f (commit) via 63fb1beb8148f6142236e4418bf0c38ddc809060 (commit) via fa7641cd88b16ee7a6a71ce4c5d64b6ec7824e09 (commit) via efb6130fd000d5603f84734899e94cf80c303a02 (commit) via 88513c0ef56c0bba4e074d15c49b19af74016c86 (commit) via 80eac2b523c6c4aa682d565899c9de77c22b8e61 (commit) via b49e4eec450674d752fd66442ee037b34bef94e9 (commit) via bd4fd21fd2c4891a2c228a57d6f3dee4559b3b5f (commit) via 569c9ac668e26a496853756a1cd4fb2a6e42a1a7 (commit) via 19a3b883ded2a4960ae841212fb59c4600fca92d (commit) via 65dc35dcf4108eca6f8ed296ad2edf5592fe7777 (commit) via 480c5253d04f4eccdd43b77892e3a1daf8347256 (commit) via 72dfa1b0975bada9bde68fc11aed433c4899235e (commit) via 7907c1e068d62a5bcb3275e35aecf678be50b0be (commit) via fd815c36ea085dd40e4fd8b91dec1a81401369df (commit) via 0aa77c2fd50daccb6dd4d71f05a9fd3a187b993e (commit) via d0a6f9bdb2edc50d5d52fe0273f6fc494c2e75a9 (commit) via 94aeac8a050d1df7f6a59ae7528cdc32c364ac84 (commit) via 56ce3e19e6d894ad3c61db7f4a5adeecf50c3e07 (commit) via a2c88aadef95bda060ca5c04bdbb40abfcb57b50 (commit) via 6ed00db36f45009edafe64780ef38fc7772313bc (commit) via c649a19441aa7e800d5dca2f4af229d72f443503 (commit) via 422fce9cb0cfcc0d784cf5bb84ce39cb641ff6d4 (commit) via 91443f923429d41c79a850295796ccaf1cd8ec4b (commit) from 833b9bc1d18e73b1cfb132d9487f7a1497022c3a (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 417263c76c0d428398ee6188c22cee4bce035c87 Author: Adolf Belka Date: Mon Jul 31 22:36:54 2023 +0200 mpd: Update to version 0.23.13 =20 - Update from version 0.23.12 to 0.23.13 - Update of rootfile not required - mpd needs version 0.23.13 to build with fmt-10.0.0 - Changelog 0.23.13 (2023/05/22) * input - curl: fix busy loop after connection failed - curl: hide "404" log messages for non-existent ".mpdignore" files * archive - zzip: fix crash bug * database - simple: reveal hidden songs after deleting containing CUE * decoder - ffmpeg: reorder to a lower priority than "gme" - gme: require GME 0.6 or later * output - pipewire: fix corruption bug due to missing lock * Linux - shut down if parent process dies in --no-daemon mode - determine systemd unit directories via pkg-config * support libfmt 10 =20 Signed-off-by: Adolf Belka Signed-off-by: Michael Tremer commit 4ba14aa2ba9f7ca15dd15b6e32c749c556f1b9ed Author: Adolf Belka Date: Mon Jul 31 22:36:53 2023 +0200 fmt: Update to version 10.0.0 =20 - Update from version 9.1.0 to 10.0.0 - Update of rootfile - sobump so ran ./make find dependencies. This highlighted mpd but that n= eeds to be updated anyway as the existing version does not build with fmt-10.0.0 - Changelog is too large to include here. See the file ChangeLog.rst in t= he source tarball =20 Signed-off-by: Adolf Belka Signed-off-by: Michael Tremer commit db9cecd8db5677f91c931f1cbd2069e4c0cdba0f Author: Michael Tremer Date: Wed Aug 2 09:18:16 2023 +0000 core178: Ship gettext =20 Signed-off-by: Michael Tremer commit 63fb1beb8148f6142236e4418bf0c38ddc809060 Author: Adolf Belka Date: Mon Jul 31 18:15:43 2023 +0200 procps: Add patch to fix errors that prevent build with gettext-0.22 =20 - Gettext earlier than 0.21 would still build when it found errors in lan= guage files etc. With gettext-0.22 if it finds any errors it now stops. - There were two lines in the french po file in procps that had erros in = them. procps have raised a commit to fix those. The patch included here carries out that= commit. - Update of rootfile not required. - This patch will not be needed when the next update of procps occurs. =20 Signed-off-by: Adolf Belka Signed-off-by: Michael Tremer commit fa7641cd88b16ee7a6a71ce4c5d64b6ec7824e09 Author: Adolf Belka Date: Mon Jul 31 18:15:42 2023 +0200 gettext: Update to version 0.22 =20 - Update from version 0.21 to 0.22 - Update of rootfile - Changelog 0.22 - June 2023 * PO file format: - When a #: line contains references to file names that contain spaces, these file names are surrounded by Unicode characters U+2068 and U+2= 069. This makes it possible to parse such references correctly. * Improvements for maintainers: - The AM_GNU_GETTEXT macro now defines two variables localedir_c and localedir_c_make, that can be used in C code or in Makefiles, respectively, for representing the value of the --localedir configure option. * Programming languages support: - C, C++: o xgettext now supports gettext-like functions that take wide strings (of type 'const wchar_t *', 'const char16_t *', or 'const char32_t= *') as arguments. o xgettext now recognizes numbers with digit separators, as defined = by ISO C 23, as tokens. o xgettext and msgfmt now recognize the format string directive %b (for binary integer output, as defined by ISO C 23) in format stri= ngs. o xgettext and msgfmt now recognize the argument size specifiers w8, w16, w32, w64, wf8, wf16, wf32, wf64 (as defined by ISO C 23) in format strings. o xgettext and msgfmt now recognize C++ format strings, as defined by ISO C++ 20. They are marked as 'c++-format' in POT and PO files. A new example has been added, 'hello-c++20', that illustrates how to use these format strings with gettext. - Java: o The build system and tools now also support Java versions newer th= an Java 11. This is known to work up to Java 20, at least. On the oth= er hand, support for old versions of Java (Java 1.5 and GCJ) has been dropped. - Tcl: xgettext now supports the \x, \u, and \U escapes as defined in Tcl 8.6. * Portability: - On systems with musl libc, the *gettext() functions in libc now work with MO files generated from PO files with an encoding other than UT= F-8. To this effect, the msgfmt program now converts the messages to UTF-8 encoding before storing them in a MO file. You can prevent this by using the msgfmt --no-convert option. - On systems with musl libc, the *gettext() functions in libc now work with MO files generated from PO files with ISO C 99 for= mat string directive macros. To this effect, the msgfmt program pre-exp= ands strings with such macros. You can prevent this by using the msgfmt --no-redundancy option. * xgettext: - The xgettext option '--sorted-output' is now deprecated. - xgettext input files of type PO that are not all ASCII and not UTF-8 encoded are now handled correctly. * The base Unicode standard is now updated to 15.0.0. * Emacs PO mode: Fix an incompatibility with Emacs version 29 or newer. 0.21.1 - October 2022 * Runtime behaviour: - On AIX, locale names with a script or with an uppercase language are= now supported. For example, sr_Cyrl_RS.UTF-8 is treated like sr_RS.UTF-8(a)cyrillic= , and EN_US.UTF-8 is treated like en_US.UTF-8. * The base Unicode standard is now updated to 14.0.0. * Portability: - Building on macOS 11/arm64 is now supported. - Building on Linux/powerpc64le with glibc =E2=89=A5 2.35 is now suppo= rted. =20 Signed-off-by: Adolf Belka Signed-off-by: Michael Tremer commit efb6130fd000d5603f84734899e94cf80c303a02 Author: Michael Tremer Date: Wed Aug 2 09:15:31 2023 +0000 core178: Ship extrahd.pl =20 Signed-off-by: Michael Tremer commit 88513c0ef56c0bba4e074d15c49b19af74016c86 Author: Michael Tremer Date: Wed Aug 2 09:14:15 2023 +0000 extrahd: Do not try to umount if nothing is mounted =20 Signed-off-by: Michael Tremer commit 80eac2b523c6c4aa682d565899c9de77c22b8e61 Author: Michael Tremer Date: Wed Aug 2 09:14:14 2023 +0000 extrahd: Skip relative mountpoints =20 Signed-off-by: Michael Tremer commit b49e4eec450674d752fd66442ee037b34bef94e9 Author: Michael Tremer Date: Wed Aug 2 09:14:13 2023 +0000 extrahd: Rewrite the mount script in shell =20 This is probably a lot easier than calling all sorts of shell commands from Perl. =20 The script has also changed that it will try to mount/umount all configured mountpoints unless a specific mountpoint is being given. =20 An initscript will be needed to mount everything when the system is booting up and umount everything on shutdown. =20 Signed-off-by: Michael Tremer commit bd4fd21fd2c4891a2c228a57d6f3dee4559b3b5f Author: Michael Tremer Date: Wed Aug 2 09:12:48 2023 +0000 core178: Ship extrahd.cgi =20 Signed-off-by: Michael Tremer commit 569c9ac668e26a496853756a1cd4fb2a6e42a1a7 Author: Stefan Schantl Date: Tue Aug 1 17:48:39 2023 +0200 extrahd.cgi: Adjust copyright header =20 Signed-off-by: Stefan Schantl Signed-off-by: Michael Tremer commit 19a3b883ded2a4960ae841212fb59c4600fca92d Author: Stefan Schantl Date: Tue Aug 1 17:48:38 2023 +0200 extrahd.cgi: Do not allow "/mnt" or "/media" as mount points =20 Signed-off-by: Stefan Schantl Signed-off-by: Michael Tremer commit 65dc35dcf4108eca6f8ed296ad2edf5592fe7777 Author: Stefan Schantl Date: Tue Aug 1 17:48:37 2023 +0200 extrahd.cgi: Requires "auto" as hidden FS type to mount a new device =20 Signed-off-by: Stefan Schantl Signed-off-by: Michael Tremer commit 480c5253d04f4eccdd43b77892e3a1daf8347256 Author: Stefan Schantl Date: Tue Aug 1 17:48:36 2023 +0200 extrahd.cgi: Drop select for FS selection. =20 This feature does not have any benefit because the linux kernel knows best which filesystem a device/partition has. =20 So there is no need for a user to specify this by-hand. This also prevents from choosing a wrong fs type and as a direct result in a not mountable device. =20 Signed-off-by: Stefan Schantl Signed-off-by: Michael Tremer commit 72dfa1b0975bada9bde68fc11aed433c4899235e Author: Stefan Schantl Date: Tue Aug 1 17:48:35 2023 +0200 extrahd.cgi: Add missing translation strings =20 Signed-off-by: Stefan Schantl Signed-off-by: Michael Tremer commit 7907c1e068d62a5bcb3275e35aecf678be50b0be Author: Stefan Schantl Date: Tue Aug 1 17:48:34 2023 +0200 extrahd.cgi: Re-order sanity check logic =20 Signed-off-by: Stefan Schantl Signed-off-by: Michael Tremer commit fd815c36ea085dd40e4fd8b91dec1a81401369df Author: Stefan Schantl Date: Tue Aug 1 17:48:33 2023 +0200 extrahd.cgi: Display mount status next to the corresponding drive =20 Signed-off-by: Stefan Schantl Signed-off-by: Michael Tremer commit 0aa77c2fd50daccb6dd4d71f05a9fd3a187b993e Author: Stefan Schantl Date: Tue Aug 1 17:48:32 2023 +0200 extrahd.cgi: Add is_configured function. =20 Signed-off-by: Stefan Schantl Signed-off-by: Michael Tremer commit d0a6f9bdb2edc50d5d52fe0273f6fc494c2e75a9 Author: Stefan Schantl Date: Tue Aug 1 17:48:31 2023 +0200 extrahd.cgi: Store configured drives in a hash =20 Signed-off-by: Stefan Schantl Signed-off-by: Michael Tremer commit 94aeac8a050d1df7f6a59ae7528cdc32c364ac84 Author: Stefan Schantl Date: Tue Aug 1 17:48:30 2023 +0200 extrahd.cgi: Abort if a device could not be umounted. =20 Signed-off-by: Stefan Schantl Signed-off-by: Michael Tremer commit 56ce3e19e6d894ad3c61db7f4a5adeecf50c3e07 Author: Stefan Schantl Date: Tue Aug 1 17:48:29 2023 +0200 extrahd.cgi: Refactor code to use new introduced perl functions. =20 This also gets rid of allmost all unsafe system calls. =20 Signed-off-by: Stefan Schantl Signed-off-by: Michael Tremer commit a2c88aadef95bda060ca5c04bdbb40abfcb57b50 Author: Stefan Schantl Date: Tue Aug 1 17:48:28 2023 +0200 extrahd.cgi: Add various perl functions deal with block devices =20 This functions are going to replace the former used scan/write to file/re= ad from file approach by directly collecting the required informations from the kernel sysfs and devfs. =20 Signed-off-by: Stefan Schantl Signed-off-by: Michael Tremer commit 6ed00db36f45009edafe64780ef38fc7772313bc Merge: 833b9bc1d c649a1944 Author: Michael Tremer Date: Wed Aug 2 09:11:40 2023 +0000 Merge branch 'master' into next ----------------------------------------------------------------------- Summary of changes: config/extrahd/extrahd.pl | 184 +++-- config/rootfiles/common/gettext | 116 +++- config/rootfiles/common/udev | 1 - config/rootfiles/core/178/filelists/files | 2 + .../{oldcore/103 =3D> core/178}/filelists/gettext | 0 config/rootfiles/oldcore/177/filelists/files | 1 + config/rootfiles/oldcore/177/update.sh | 1 + config/rootfiles/packages/fmt | 4 +- config/suricata/ruleset-sources | 2 +- config/udev/90-hwrng.rules | 16 - html/cgi-bin/extrahd.cgi | 748 +++++++++++++++++--= -- langs/de/cgi-bin/de.pl | 5 + langs/en/cgi-bin/en.pl | 5 + lfs/fmt | 8 +- lfs/gettext | 6 +- lfs/mpd | 35 +- lfs/procps | 1 + lfs/rng-tools | 2 +- lfs/udev | 4 - src/initscripts/packages/rngd | 16 +- ..._address_build_failures_with_gettext_0.22.patch | 20 + 21 files changed, 878 insertions(+), 299 deletions(-) copy config/rootfiles/{oldcore/103 =3D> core/178}/filelists/gettext (100%) delete mode 100644 config/udev/90-hwrng.rules create mode 100644 src/patches/procps-v4.0.3_address_build_failures_with_get= text_0.22.patch Difference in files: diff --git a/config/extrahd/extrahd.pl b/config/extrahd/extrahd.pl index 3b57e9230..145a2a43a 100644 --- a/config/extrahd/extrahd.pl +++ b/config/extrahd/extrahd.pl @@ -1,8 +1,8 @@ -#!/usr/bin/perl +#!/bin/bash ############################################################################= ### # = # # IPFire.org - A linux based firewall = # -# Copyright (C) 2010 IPFire Team = # +# Copyright (C) 2023 IPFire Team = # # = # # This program is free software: you can redistribute it and/or modify = # # it under the terms of the GNU General Public License as published by = # @@ -19,75 +19,115 @@ # = # ############################################################################= ### =20 -use strict; -# enable only the following on debugging purpose -# use warnings; - -require '/var/ipfire/general-functions.pl'; -require "${General::swroot}/lang.pl"; -require "${General::swroot}/header.pl"; - -my %extrahdsettings =3D (); -my $ok =3D "true"; -my @devices =3D (); -my @deviceline =3D (); -my $deviceentry =3D ""; -my $devicefile =3D "/var/ipfire/extrahd/devices"; -my $fstab =3D "/var/ipfire/extrahd/fstab"; - -### Values that have to be initialized -$extrahdsettings{'PATH'} =3D ''; -$extrahdsettings{'FS'} =3D ''; -$extrahdsettings{'DEVICE'} =3D ''; -$extrahdsettings{'ACTION'} =3D ''; - -open( FILE, "< $devicefile" ) or die "Unable to read $devicefile"; -(a)devices =3D ; -close FILE; - -############################################################################= ################################################ -############################################################################= ################################################ - -if ( "$ARGV[0]" eq "mount" ) { - system("/bin/cp -f /etc/fstab $fstab"); - - foreach $deviceentry (sort @devices) - { - @deviceline =3D split( /\;/, $deviceentry ); - if ( "$ARGV[1]" eq "$deviceline[2]" ) { - print "Insert $deviceline[0] ($deviceline[1]) --> $deviceline[2] into /et= c/fstab!\n"; - unless ( -d $deviceline[2] ) { system("/bin/mkdir -p $deviceline[2] && ch= mod 0777 $deviceline[2]"); } - open(FILE, ">>$fstab"); - print FILE "$deviceline[0]\t$deviceline[2]\t$deviceline[1]\tdefaults\t0\t= 0\n"; - close(FILE); - } - } - - system("/bin/cp -f $fstab /etc/fstab"); - if ( `/bin/mount -a` ) { - exit(0); - } else { - exit(1); - } - -} elsif ( "$ARGV[0]" eq "umount" ) { - system("/bin/umount $ARGV[1]"); - if ( ! `/bin/mount | /bin/fgrep $ARGV[1]` ) { - system("/bin/cp -f /etc/fstab $fstab"); - system("/bin/fgrep -v $ARGV[1] <$fstab >/etc/fstab"); - print "Successfully umounted $ARGV[1].\n"; - exit(0); - } else { - print "Can't umount $ARGV[1].\n"; - exit(1); - } - -} elsif ( "$ARGV[0]" eq "scanhd") { - system("/usr/local/bin/scanhd $ARGV[1]"); - -} else { - print "Usage: $0 (mount|umount|scanhd) mountpoint\n"; +log() { + local message=3D"${@}" + + logger -t "extrahd" "${message}" +} + +extrahd_mount() { + local _mountpoint=3D"${1}" + + local device + local filesystem + local mountpoint + local rest + local failed=3D0 + + while IFS=3D';' read -r device filesystem mountpoint rest; do + # Filter by mountpoint if set + if [ -n "${_mountpoint}" ] && [ "${mountpoint}" !=3D "${_mountpoint}" ]; t= hen + continue + fi + + # Check that the mountpoint starts with a slash + if [ "${mountpoint:0:1}" !=3D "/" ]; then + log "Skipping invalid mountpoint: ${mountpoint}" + continue + fi + + # Skip mounting if something is already mounted at the mountpoint + if mountpoint "${mountpoint}" &>/dev/null; then + continue + fi + + # Ensure the mountpoint exists + mkdir --parents --mode=3D777 "${mountpoint}" &>/dev/null + + if mount --types "${filesystem}" "${device}" "${mountpoint}"; then + log "Successfully mounted ${device} to ${mountpoint}" + else + log "Could not mount ${device} to ${mountpoint}: $?" + failed=3D1 + fi + done < /var/ipfire/extrahd/devices + + return ${failed} +} + +extrahd_umount() { + local _mountpoint=3D"${1}" + + local device + local filesystem + local mountpoint + local rest + local failed=3D0 + + while IFS=3D';' read -r device filesystem mountpoint rest; do + # Filter by mountpoint if set + if [ -n "${_mountpoint}" ] && [ "${mountpoint}" !=3D "${_mountpoint}" ]; t= hen + continue + fi + + # Do not try to umount if nothing is mounted + if ! mountpoint "${mountpoint}" &>/dev/null; then + continue + fi + + # Umount and try lazy umount if failed + if umount --quiet --recursive "${mountpoint}" || \ + umount --quiet --recursive --lazy "${mountpoint}"; then + log "Successfully umounted ${device} from ${mountpoint}" + else + log "Could not umount ${device} from ${mountpoint}: $?" + failed=3D1 + fi + done < /var/ipfire/extrahd/devices +} + +main() { + local command=3D"${1}" + shift + + local rc=3D0 + + case "${command}" in + mount) + extrahd_mount "${@}" || rc=3D"${?}" + ;; + umount) + extrahd_umount "${@}" || rc=3D"${rc}" + ;; + scanhd) + exec /usr/local/bin/scanhd "${@}" + ;; + + # No command + "") + echo "${0}: No command given" >&2 + rc=3D2 + ;; + + # Unknown command + *) + echo "${0}: Unsupported command: ${command}" >&2 + rc=3D2 + ;; + esac + + return ${rc} } =20 -############################################################################= ################################################ -############################################################################= ################################################ +# Call main() +main "${@}" || exit ${?} diff --git a/config/rootfiles/common/gettext b/config/rootfiles/common/gettext index 04728caa9..3560e9601 100644 --- a/config/rootfiles/common/gettext +++ b/config/rootfiles/common/gettext @@ -38,23 +38,24 @@ usr/bin/gettext.sh #usr/lib/libasprintf.so usr/lib/libasprintf.so.0 usr/lib/libasprintf.so.0.0.0 -usr/lib/libgettextlib-0.21.so +usr/lib/libgettextlib-0.22.so #usr/lib/libgettextlib.la #usr/lib/libgettextlib.so #usr/lib/libgettextpo.a #usr/lib/libgettextpo.la #usr/lib/libgettextpo.so usr/lib/libgettextpo.so.0 -usr/lib/libgettextpo.so.0.5.7 -usr/lib/libgettextsrc-0.21.so +usr/lib/libgettextpo.so.0.5.9 +usr/lib/libgettextsrc-0.22.so #usr/lib/libgettextsrc.la usr/lib/libgettextsrc.so #usr/lib/libtextstyle.a #usr/lib/libtextstyle.la #usr/lib/libtextstyle.so usr/lib/libtextstyle.so.0 -usr/lib/libtextstyle.so.0.1.1 +usr/lib/libtextstyle.so.0.2.0 usr/lib/preloadable_libintl.so +#usr/share/aclocal/build-to-host.m4 #usr/share/aclocal/gettext.m4 #usr/share/aclocal/host-cpu-c-abi.m4 #usr/share/aclocal/iconv.m4 @@ -129,6 +130,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-c++-gnome/po/id.po #usr/share/doc/gettext/examples/hello-c++-gnome/po/it.po #usr/share/doc/gettext/examples/hello-c++-gnome/po/ja.po +#usr/share/doc/gettext/examples/hello-c++-gnome/po/ka.po #usr/share/doc/gettext/examples/hello-c++-gnome/po/ky.po #usr/share/doc/gettext/examples/hello-c++-gnome/po/lv.po #usr/share/doc/gettext/examples/hello-c++-gnome/po/ms.po @@ -213,6 +215,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-c++-kde/po/id.po #usr/share/doc/gettext/examples/hello-c++-kde/po/it.po #usr/share/doc/gettext/examples/hello-c++-kde/po/ja.po +#usr/share/doc/gettext/examples/hello-c++-kde/po/ka.po #usr/share/doc/gettext/examples/hello-c++-kde/po/ky.po #usr/share/doc/gettext/examples/hello-c++-kde/po/lv.po #usr/share/doc/gettext/examples/hello-c++-kde/po/ms.po @@ -270,6 +273,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-c++-qt/po/id.po #usr/share/doc/gettext/examples/hello-c++-qt/po/it.po #usr/share/doc/gettext/examples/hello-c++-qt/po/ja.po +#usr/share/doc/gettext/examples/hello-c++-qt/po/ka.po #usr/share/doc/gettext/examples/hello-c++-qt/po/ky.po #usr/share/doc/gettext/examples/hello-c++-qt/po/lv.po #usr/share/doc/gettext/examples/hello-c++-qt/po/ms.po @@ -326,6 +330,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-c++-wxwidgets/po/id.po #usr/share/doc/gettext/examples/hello-c++-wxwidgets/po/it.po #usr/share/doc/gettext/examples/hello-c++-wxwidgets/po/ja.po +#usr/share/doc/gettext/examples/hello-c++-wxwidgets/po/ka.po #usr/share/doc/gettext/examples/hello-c++-wxwidgets/po/ky.po #usr/share/doc/gettext/examples/hello-c++-wxwidgets/po/lv.po #usr/share/doc/gettext/examples/hello-c++-wxwidgets/po/ms.po @@ -381,6 +386,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-c++/po/id.po #usr/share/doc/gettext/examples/hello-c++/po/it.po #usr/share/doc/gettext/examples/hello-c++/po/ja.po +#usr/share/doc/gettext/examples/hello-c++/po/ka.po #usr/share/doc/gettext/examples/hello-c++/po/ky.po #usr/share/doc/gettext/examples/hello-c++/po/lv.po #usr/share/doc/gettext/examples/hello-c++/po/ms.po @@ -405,6 +411,63 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-c++/po/zh_CN.po #usr/share/doc/gettext/examples/hello-c++/po/zh_HK.po #usr/share/doc/gettext/examples/hello-c++/po/zh_TW.po +#usr/share/doc/gettext/examples/hello-c++20 +#usr/share/doc/gettext/examples/hello-c++20/INSTALL +#usr/share/doc/gettext/examples/hello-c++20/Makefile.am +#usr/share/doc/gettext/examples/hello-c++20/autoclean.sh +#usr/share/doc/gettext/examples/hello-c++20/autogen.sh +#usr/share/doc/gettext/examples/hello-c++20/configure.ac +#usr/share/doc/gettext/examples/hello-c++20/hello.cc +#usr/share/doc/gettext/examples/hello-c++20/m4 +#usr/share/doc/gettext/examples/hello-c++20/m4/Makefile.am +#usr/share/doc/gettext/examples/hello-c++20/po +#usr/share/doc/gettext/examples/hello-c++20/po/LINGUAS +#usr/share/doc/gettext/examples/hello-c++20/po/Makevars +#usr/share/doc/gettext/examples/hello-c++20/po/POTFILES.in +#usr/share/doc/gettext/examples/hello-c++20/po/af.po +#usr/share/doc/gettext/examples/hello-c++20/po/ast.po +#usr/share/doc/gettext/examples/hello-c++20/po/bg.po +#usr/share/doc/gettext/examples/hello-c++20/po/ca.po +#usr/share/doc/gettext/examples/hello-c++20/po/cs.po +#usr/share/doc/gettext/examples/hello-c++20/po/da.po +#usr/share/doc/gettext/examples/hello-c++20/po/de.po +#usr/share/doc/gettext/examples/hello-c++20/po/el.po +#usr/share/doc/gettext/examples/hello-c++20/po/eo.po +#usr/share/doc/gettext/examples/hello-c++20/po/es.po +#usr/share/doc/gettext/examples/hello-c++20/po/fi.po +#usr/share/doc/gettext/examples/hello-c++20/po/fr.po +#usr/share/doc/gettext/examples/hello-c++20/po/ga.po +#usr/share/doc/gettext/examples/hello-c++20/po/gl.po +#usr/share/doc/gettext/examples/hello-c++20/po/hr.po +#usr/share/doc/gettext/examples/hello-c++20/po/hu.po +#usr/share/doc/gettext/examples/hello-c++20/po/id.po +#usr/share/doc/gettext/examples/hello-c++20/po/it.po +#usr/share/doc/gettext/examples/hello-c++20/po/ja.po +#usr/share/doc/gettext/examples/hello-c++20/po/ka.po +#usr/share/doc/gettext/examples/hello-c++20/po/ky.po +#usr/share/doc/gettext/examples/hello-c++20/po/lv.po +#usr/share/doc/gettext/examples/hello-c++20/po/ms.po +#usr/share/doc/gettext/examples/hello-c++20/po/mt.po +#usr/share/doc/gettext/examples/hello-c++20/po/nb.po +#usr/share/doc/gettext/examples/hello-c++20/po/nl.po +#usr/share/doc/gettext/examples/hello-c++20/po/nn.po +#usr/share/doc/gettext/examples/hello-c++20/po/pl.po +#usr/share/doc/gettext/examples/hello-c++20/po/pt.po +#usr/share/doc/gettext/examples/hello-c++20/po/pt_BR.po +#usr/share/doc/gettext/examples/hello-c++20/po/ro.po +#usr/share/doc/gettext/examples/hello-c++20/po/ru.po +#usr/share/doc/gettext/examples/hello-c++20/po/sk.po +#usr/share/doc/gettext/examples/hello-c++20/po/sl.po +#usr/share/doc/gettext/examples/hello-c++20/po/sq.po +#usr/share/doc/gettext/examples/hello-c++20/po/sr.po +#usr/share/doc/gettext/examples/hello-c++20/po/sv.po +#usr/share/doc/gettext/examples/hello-c++20/po/ta.po +#usr/share/doc/gettext/examples/hello-c++20/po/tr.po +#usr/share/doc/gettext/examples/hello-c++20/po/uk.po +#usr/share/doc/gettext/examples/hello-c++20/po/vi.po +#usr/share/doc/gettext/examples/hello-c++20/po/zh_CN.po +#usr/share/doc/gettext/examples/hello-c++20/po/zh_HK.po +#usr/share/doc/gettext/examples/hello-c++20/po/zh_TW.po #usr/share/doc/gettext/examples/hello-c-gnome #usr/share/doc/gettext/examples/hello-c-gnome/INSTALL #usr/share/doc/gettext/examples/hello-c-gnome/Makefile.am @@ -440,6 +503,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-c-gnome/po/id.po #usr/share/doc/gettext/examples/hello-c-gnome/po/it.po #usr/share/doc/gettext/examples/hello-c-gnome/po/ja.po +#usr/share/doc/gettext/examples/hello-c-gnome/po/ka.po #usr/share/doc/gettext/examples/hello-c-gnome/po/ky.po #usr/share/doc/gettext/examples/hello-c-gnome/po/lv.po #usr/share/doc/gettext/examples/hello-c-gnome/po/ms.po @@ -500,6 +564,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-c-gnome3/po/id.po #usr/share/doc/gettext/examples/hello-c-gnome3/po/it.po #usr/share/doc/gettext/examples/hello-c-gnome3/po/ja.po +#usr/share/doc/gettext/examples/hello-c-gnome3/po/ka.po #usr/share/doc/gettext/examples/hello-c-gnome3/po/ky.po #usr/share/doc/gettext/examples/hello-c-gnome3/po/lv.po #usr/share/doc/gettext/examples/hello-c-gnome3/po/ms.po @@ -555,6 +620,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-c/po/id.po #usr/share/doc/gettext/examples/hello-c/po/it.po #usr/share/doc/gettext/examples/hello-c/po/ja.po +#usr/share/doc/gettext/examples/hello-c/po/ka.po #usr/share/doc/gettext/examples/hello-c/po/ky.po #usr/share/doc/gettext/examples/hello-c/po/lv.po #usr/share/doc/gettext/examples/hello-c/po/ms.po @@ -610,6 +676,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-clisp/po/id.po #usr/share/doc/gettext/examples/hello-clisp/po/it.po #usr/share/doc/gettext/examples/hello-clisp/po/ja.po +#usr/share/doc/gettext/examples/hello-clisp/po/ka.po #usr/share/doc/gettext/examples/hello-clisp/po/ky.po #usr/share/doc/gettext/examples/hello-clisp/po/lv.po #usr/share/doc/gettext/examples/hello-clisp/po/ms.po @@ -667,6 +734,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-csharp-forms/po/id.po #usr/share/doc/gettext/examples/hello-csharp-forms/po/it.po #usr/share/doc/gettext/examples/hello-csharp-forms/po/ja.po +#usr/share/doc/gettext/examples/hello-csharp-forms/po/ka.po #usr/share/doc/gettext/examples/hello-csharp-forms/po/ky.po #usr/share/doc/gettext/examples/hello-csharp-forms/po/lv.po #usr/share/doc/gettext/examples/hello-csharp-forms/po/ms.po @@ -721,6 +789,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-csharp/po/id.po #usr/share/doc/gettext/examples/hello-csharp/po/it.po #usr/share/doc/gettext/examples/hello-csharp/po/ja.po +#usr/share/doc/gettext/examples/hello-csharp/po/ka.po #usr/share/doc/gettext/examples/hello-csharp/po/ky.po #usr/share/doc/gettext/examples/hello-csharp/po/lv.po #usr/share/doc/gettext/examples/hello-csharp/po/ms.po @@ -776,6 +845,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-gawk/po/id.po #usr/share/doc/gettext/examples/hello-gawk/po/it.po #usr/share/doc/gettext/examples/hello-gawk/po/ja.po +#usr/share/doc/gettext/examples/hello-gawk/po/ka.po #usr/share/doc/gettext/examples/hello-gawk/po/ky.po #usr/share/doc/gettext/examples/hello-gawk/po/lv.po #usr/share/doc/gettext/examples/hello-gawk/po/ms.po @@ -831,6 +901,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-guile/po/id.po #usr/share/doc/gettext/examples/hello-guile/po/it.po #usr/share/doc/gettext/examples/hello-guile/po/ja.po +#usr/share/doc/gettext/examples/hello-guile/po/ka.po #usr/share/doc/gettext/examples/hello-guile/po/ky.po #usr/share/doc/gettext/examples/hello-guile/po/lv.po #usr/share/doc/gettext/examples/hello-guile/po/ms.po @@ -890,6 +961,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-java-awt/po/id.po #usr/share/doc/gettext/examples/hello-java-awt/po/it.po #usr/share/doc/gettext/examples/hello-java-awt/po/ja.po +#usr/share/doc/gettext/examples/hello-java-awt/po/ka.po #usr/share/doc/gettext/examples/hello-java-awt/po/ky.po #usr/share/doc/gettext/examples/hello-java-awt/po/lv.po #usr/share/doc/gettext/examples/hello-java-awt/po/ms.po @@ -948,6 +1020,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-java-qtjambi/po/id.po #usr/share/doc/gettext/examples/hello-java-qtjambi/po/it.po #usr/share/doc/gettext/examples/hello-java-qtjambi/po/ja.po +#usr/share/doc/gettext/examples/hello-java-qtjambi/po/ka.po #usr/share/doc/gettext/examples/hello-java-qtjambi/po/ky.po #usr/share/doc/gettext/examples/hello-java-qtjambi/po/lv.po #usr/share/doc/gettext/examples/hello-java-qtjambi/po/ms.po @@ -1006,6 +1079,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-java-swing/po/id.po #usr/share/doc/gettext/examples/hello-java-swing/po/it.po #usr/share/doc/gettext/examples/hello-java-swing/po/ja.po +#usr/share/doc/gettext/examples/hello-java-swing/po/ka.po #usr/share/doc/gettext/examples/hello-java-swing/po/ky.po #usr/share/doc/gettext/examples/hello-java-swing/po/lv.po #usr/share/doc/gettext/examples/hello-java-swing/po/ms.po @@ -1060,6 +1134,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-java/po/id.po #usr/share/doc/gettext/examples/hello-java/po/it.po #usr/share/doc/gettext/examples/hello-java/po/ja.po +#usr/share/doc/gettext/examples/hello-java/po/ka.po #usr/share/doc/gettext/examples/hello-java/po/ky.po #usr/share/doc/gettext/examples/hello-java/po/lv.po #usr/share/doc/gettext/examples/hello-java/po/ms.po @@ -1115,6 +1190,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-librep/po/id.po #usr/share/doc/gettext/examples/hello-librep/po/it.po #usr/share/doc/gettext/examples/hello-librep/po/ja.po +#usr/share/doc/gettext/examples/hello-librep/po/ka.po #usr/share/doc/gettext/examples/hello-librep/po/ky.po #usr/share/doc/gettext/examples/hello-librep/po/lv.po #usr/share/doc/gettext/examples/hello-librep/po/ms.po @@ -1175,6 +1251,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-objc-gnome/po/id.po #usr/share/doc/gettext/examples/hello-objc-gnome/po/it.po #usr/share/doc/gettext/examples/hello-objc-gnome/po/ja.po +#usr/share/doc/gettext/examples/hello-objc-gnome/po/ka.po #usr/share/doc/gettext/examples/hello-objc-gnome/po/ky.po #usr/share/doc/gettext/examples/hello-objc-gnome/po/lv.po #usr/share/doc/gettext/examples/hello-objc-gnome/po/ms.po @@ -1233,6 +1310,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-objc-gnustep/po/id.po #usr/share/doc/gettext/examples/hello-objc-gnustep/po/it.po #usr/share/doc/gettext/examples/hello-objc-gnustep/po/ja.po +#usr/share/doc/gettext/examples/hello-objc-gnustep/po/ka.po #usr/share/doc/gettext/examples/hello-objc-gnustep/po/ky.po #usr/share/doc/gettext/examples/hello-objc-gnustep/po/lv.po #usr/share/doc/gettext/examples/hello-objc-gnustep/po/ms.po @@ -1288,6 +1366,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-objc/po/id.po #usr/share/doc/gettext/examples/hello-objc/po/it.po #usr/share/doc/gettext/examples/hello-objc/po/ja.po +#usr/share/doc/gettext/examples/hello-objc/po/ka.po #usr/share/doc/gettext/examples/hello-objc/po/ky.po #usr/share/doc/gettext/examples/hello-objc/po/lv.po #usr/share/doc/gettext/examples/hello-objc/po/ms.po @@ -1343,6 +1422,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-pascal/po/id.po #usr/share/doc/gettext/examples/hello-pascal/po/it.po #usr/share/doc/gettext/examples/hello-pascal/po/ja.po +#usr/share/doc/gettext/examples/hello-pascal/po/ka.po #usr/share/doc/gettext/examples/hello-pascal/po/ky.po #usr/share/doc/gettext/examples/hello-pascal/po/lv.po #usr/share/doc/gettext/examples/hello-pascal/po/ms.po @@ -1399,6 +1479,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-perl/po/id.po #usr/share/doc/gettext/examples/hello-perl/po/it.po #usr/share/doc/gettext/examples/hello-perl/po/ja.po +#usr/share/doc/gettext/examples/hello-perl/po/ka.po #usr/share/doc/gettext/examples/hello-perl/po/ky.po #usr/share/doc/gettext/examples/hello-perl/po/lv.po #usr/share/doc/gettext/examples/hello-perl/po/ms.po @@ -1455,6 +1536,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-php/po/id.po #usr/share/doc/gettext/examples/hello-php/po/it.po #usr/share/doc/gettext/examples/hello-php/po/ja.po +#usr/share/doc/gettext/examples/hello-php/po/ka.po #usr/share/doc/gettext/examples/hello-php/po/ky.po #usr/share/doc/gettext/examples/hello-php/po/lv.po #usr/share/doc/gettext/examples/hello-php/po/ms.po @@ -1510,6 +1592,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-python/po/id.po #usr/share/doc/gettext/examples/hello-python/po/it.po #usr/share/doc/gettext/examples/hello-python/po/ja.po +#usr/share/doc/gettext/examples/hello-python/po/ka.po #usr/share/doc/gettext/examples/hello-python/po/ky.po #usr/share/doc/gettext/examples/hello-python/po/lv.po #usr/share/doc/gettext/examples/hello-python/po/ms.po @@ -1565,6 +1648,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-sh/po/id.po #usr/share/doc/gettext/examples/hello-sh/po/it.po #usr/share/doc/gettext/examples/hello-sh/po/ja.po +#usr/share/doc/gettext/examples/hello-sh/po/ka.po #usr/share/doc/gettext/examples/hello-sh/po/ky.po #usr/share/doc/gettext/examples/hello-sh/po/lv.po #usr/share/doc/gettext/examples/hello-sh/po/ms.po @@ -1620,6 +1704,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-smalltalk/po/id.po #usr/share/doc/gettext/examples/hello-smalltalk/po/it.po #usr/share/doc/gettext/examples/hello-smalltalk/po/ja.po +#usr/share/doc/gettext/examples/hello-smalltalk/po/ka.po #usr/share/doc/gettext/examples/hello-smalltalk/po/ky.po #usr/share/doc/gettext/examples/hello-smalltalk/po/lv.po #usr/share/doc/gettext/examples/hello-smalltalk/po/ms.po @@ -1676,6 +1761,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-tcl-tk/po/id.po #usr/share/doc/gettext/examples/hello-tcl-tk/po/it.po #usr/share/doc/gettext/examples/hello-tcl-tk/po/ja.po +#usr/share/doc/gettext/examples/hello-tcl-tk/po/ka.po #usr/share/doc/gettext/examples/hello-tcl-tk/po/ky.po #usr/share/doc/gettext/examples/hello-tcl-tk/po/lv.po #usr/share/doc/gettext/examples/hello-tcl-tk/po/ms.po @@ -1730,6 +1816,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-tcl/po/id.po #usr/share/doc/gettext/examples/hello-tcl/po/it.po #usr/share/doc/gettext/examples/hello-tcl/po/ja.po +#usr/share/doc/gettext/examples/hello-tcl/po/ka.po #usr/share/doc/gettext/examples/hello-tcl/po/ky.po #usr/share/doc/gettext/examples/hello-tcl/po/lv.po #usr/share/doc/gettext/examples/hello-tcl/po/ms.po @@ -1785,6 +1872,7 @@ usr/lib/preloadable_libintl.so #usr/share/doc/gettext/examples/hello-ycp/po/id.po #usr/share/doc/gettext/examples/hello-ycp/po/it.po #usr/share/doc/gettext/examples/hello-ycp/po/ja.po +#usr/share/doc/gettext/examples/hello-ycp/po/ka.po #usr/share/doc/gettext/examples/hello-ycp/po/ky.po #usr/share/doc/gettext/examples/hello-ycp/po/lv.po #usr/share/doc/gettext/examples/hello-ycp/po/ms.po @@ -1896,16 +1984,16 @@ usr/lib/preloadable_libintl.so #usr/share/doc/libtextstyle/libtextstyle_abt.html #usr/share/doc/libtextstyle/libtextstyle_toc.html #usr/share/gettext -#usr/share/gettext-0.21 -#usr/share/gettext-0.21/its -#usr/share/gettext-0.21/its/glade.loc -#usr/share/gettext-0.21/its/glade1.its -#usr/share/gettext-0.21/its/glade2.its -#usr/share/gettext-0.21/its/gsettings.its -#usr/share/gettext-0.21/its/gsettings.loc -#usr/share/gettext-0.21/its/gtkbuilder.its -#usr/share/gettext-0.21/its/metainfo.its -#usr/share/gettext-0.21/its/metainfo.loc +#usr/share/gettext-0.22 +#usr/share/gettext-0.22/its +#usr/share/gettext-0.22/its/glade.loc +#usr/share/gettext-0.22/its/glade1.its +#usr/share/gettext-0.22/its/glade2.its +#usr/share/gettext-0.22/its/gsettings.its +#usr/share/gettext-0.22/its/gsettings.loc +#usr/share/gettext-0.22/its/gtkbuilder.its +#usr/share/gettext-0.22/its/metainfo.its +#usr/share/gettext-0.22/its/metainfo.loc #usr/share/gettext/ABOUT-NLS #usr/share/gettext/archive.dir.tar.xz #usr/share/gettext/config.rpath diff --git a/config/rootfiles/common/udev b/config/rootfiles/common/udev index 64d33ee6c..e5c9bd01f 100644 --- a/config/rootfiles/common/udev +++ b/config/rootfiles/common/udev @@ -81,7 +81,6 @@ lib/udev/rules.d/75-probe_mtd.rules lib/udev/rules.d/78-sound-card.rules lib/udev/rules.d/80-drivers.rules lib/udev/rules.d/81-net-dhcp.rules -lib/udev/rules.d/90-hwrng.rules lib/udev/rules.d/99-aqm.rules lib/udev/rules.d/99-offloading.rules lib/udev/scsi_id diff --git a/config/rootfiles/core/178/filelists/files b/config/rootfiles/cor= e/178/filelists/files index f7a8b3297..3744bd7a0 100644 --- a/config/rootfiles/core/178/filelists/files +++ b/config/rootfiles/core/178/filelists/files @@ -1 +1,3 @@ +srv/web/ipfire/cgi-bin/extrahd.cgi srv/web/ipfire/cgi-bin/ovpnmain.cgi +var/ipfire/extrahd/bin/extrahd.pl diff --git a/config/rootfiles/core/178/filelists/gettext b/config/rootfiles/c= ore/178/filelists/gettext new file mode 120000 index 000000000..b6c6c6f4f --- /dev/null +++ b/config/rootfiles/core/178/filelists/gettext @@ -0,0 +1 @@ +../../../common/gettext \ No newline at end of file diff --git a/config/rootfiles/oldcore/177/filelists/files b/config/rootfiles/= oldcore/177/filelists/files index 5f0034d81..1b9ce3261 100644 --- a/config/rootfiles/oldcore/177/filelists/files +++ b/config/rootfiles/oldcore/177/filelists/files @@ -238,3 +238,4 @@ lib/firmware/rtw89/rtw8851b_fw.bin lib/firmware/rtw89/rtw8852b_fw-1.bin lib/firmware/rtw89/rtw8852c_fw.bin usr/sbin/unbound-dhcp-leases-bridge +var/ipfire/suricata/ruleset-sources diff --git a/config/rootfiles/oldcore/177/update.sh b/config/rootfiles/oldcor= e/177/update.sh index b2af611c1..2ab1568b9 100644 --- a/config/rootfiles/oldcore/177/update.sh +++ b/config/rootfiles/oldcore/177/update.sh @@ -105,6 +105,7 @@ if [ ! -e "/opt/pakfire/db/installed/meta-rng-tools" ]; t= hen /etc/rc.d/init.d/rngd \ /etc/rc.d/rc*.d/*rngd fi +rm -vf /lib/udev/rules.d/90-hwrng.rules =20 # Extract files extract_files diff --git a/config/rootfiles/packages/fmt b/config/rootfiles/packages/fmt index 49601ca2b..a1dffc8d6 100644 --- a/config/rootfiles/packages/fmt +++ b/config/rootfiles/packages/fmt @@ -18,6 +18,6 @@ #usr/lib/cmake/fmt/fmt-targets-release.cmake #usr/lib/cmake/fmt/fmt-targets.cmake #usr/lib/libfmt.so -usr/lib/libfmt.so.9 -usr/lib/libfmt.so.9.1.0 +usr/lib/libfmt.so.10 +usr/lib/libfmt.so.10.0.0 #usr/lib/pkgconfig/fmt.pc diff --git a/config/suricata/ruleset-sources b/config/suricata/ruleset-sources index 592cbedf0..14d1b865f 100644 --- a/config/suricata/ruleset-sources +++ b/config/suricata/ruleset-sources @@ -43,7 +43,7 @@ our %Providers =3D ( website =3D> "https://www.snort.org", tr_string =3D> "community rules", requires_subscription =3D> "False", - dl_url =3D> "https://www.snort.org/rules/community", + dl_url =3D> "https://www.snort.org/downloads/community/community-rules.tar= .gz", dl_type =3D> "archive", }, =20 diff --git a/config/udev/90-hwrng.rules b/config/udev/90-hwrng.rules deleted file mode 100644 index cbc555c11..000000000 --- a/config/udev/90-hwrng.rules +++ /dev/null @@ -1,16 +0,0 @@ -# do not edit this file, it will be overwritten on update - -SUBSYSTEM!=3D"tty", GOTO=3D"ipfire_hwrng_end" -KERNEL!=3D"ttyACM[0-9]*", GOTO=3D"ipfire_hwrng_end" - -SUBSYSTEMS=3D=3D"usb-serial", ENV{.ID_PORT}=3D"$attr{port_number}" - -IMPORT{builtin}=3D"usb_id" -ENV{ID_SERIAL}=3D=3D"", GOTO=3D"ipfire_hwrng_end" -SUBSYSTEMS=3D=3D"usb", ENV{ID_USB_INTERFACE_NUM}=3D"$attr{bInterfaceNumber}" -ENV{ID_USB_INTERFACE_NUM}=3D=3D"", GOTO=3D"ipfire_hwrng_end" - -ATTRS{manufacturer}=3D=3D"IPFire.org", ATTRS{product}=3D=3D"Random Number Ge= nerator*", ENV{.ID_PORT}=3D=3D"", SYMLINK+=3D"hwrngtty" RUN+=3D"/bin/stty raw= -echo -ixoff -F /dev/hwrngtty 115200" RUN+=3D"/etc/rc.d/init.d/rngd udev-eve= nt" - -LABEL=3D"ipfire_hwrng_end" -ACTION=3D=3D"add|remove", KERNEL=3D=3D"hw_random", RUN+=3D"/etc/rc.d/init.d/= rngd udev-event" diff --git a/html/cgi-bin/extrahd.cgi b/html/cgi-bin/extrahd.cgi index 9dd3a0eee..9cdfc69f8 100644 --- a/html/cgi-bin/extrahd.cgi +++ b/html/cgi-bin/extrahd.cgi @@ -2,7 +2,7 @@ ############################################################################= ### # = # # IPFire.org - A linux based firewall = # -# Copyright (C) 2011 IPFire Team = # +# Copyright (C) 2023 IPFire Team = # # = # # This program is free software: you can redistribute it and/or modify = # # it under the terms of the GNU General Public License as published by = # @@ -29,33 +29,44 @@ require "${General::swroot}/lang.pl"; require "${General::swroot}/header.pl"; =20 my %extrahdsettings =3D (); -my $message =3D ""; my $errormessage =3D ""; -my $size =3D ""; -my $ok =3D "true"; -my @tmp =3D (); -my @tmpline =3D (); -my $tmpentry =3D ""; -my @devices =3D (); -my @deviceline =3D (); -my $deviceentry =3D ""; -my @scans =3D (); -my @scanline =3D (); -my $scanentry =3D ""; -my @partitions =3D (); -my @partitionline =3D (); -my $partitionentry =3D ""; + +# Hash to store the configured drives. +my %configured_drives; + +# SYSFS directory which contains all block device data. +my $sysfs_block_dir =3D "/sys/class/block"; + +# Array which contains the valid mount directories. +# Only mounting to subdirectories inside them is allowed. +my @valid_mount_dirs =3D ( + "/data", + "/media", + "/mnt", +); + +# Grab all available block devices. +my @devices =3D &get_block_devices(); + +# Grab all known UUID's. +my %uuids =3D &get_uuids(); + +# Grab all mountpoints. +my %mountpoints =3D &get_mountpoints(); + +# Omit the file system types of the mounted devices. +my %filesystems =3D &get_mountedfs(); + +# Gather all used swap devices. +my @swaps =3D &get_swaps(); + +# The config file which contains the configured devices. my $devicefile =3D "/var/ipfire/extrahd/devices"; -my $scanfile =3D "/var/ipfire/extrahd/scan"; -my $partitionsfile =3D "/var/ipfire/extrahd/partitions"; =20 #workaround to suppress a warning when a variable is used only once my @dummy =3D ( ${Header::colourgreen}, ${Header::colourred} ); undef (@dummy); =20 -&General::system("/usr/local/bin/extrahdctrl", "scanhd", "ide"); -&General::system("/usr/local/bin/extrahdctrl", "scanhd", "partitions"); - &Header::showhttpheaders(); =20 ### Values that have to be initialized @@ -65,7 +76,6 @@ $extrahdsettings{'DEVICE'} =3D ''; $extrahdsettings{'ACTION'} =3D ''; $extrahdsettings{'UUID'} =3D ''; =20 -&General::readhash("${General::swroot}/extrahd/settings", \%extrahdsettings); &Header::getcgihash(\%extrahdsettings); =20 &Header::openpage('ExtraHD', 1, ''); @@ -74,49 +84,93 @@ $extrahdsettings{'UUID'} =3D ''; ############################################################################= ################################################ ############################################################################= ################################################ =20 -if ($extrahdsettings{'ACTION'} eq $Lang::tr{'add'}) -{ - open( FILE, "< $devicefile" ) or die "Unable to read $devicefile"; - @devices =3D ; - close FILE; - foreach $deviceentry (sort @devices) - { - @deviceline =3D split( /\;/, $deviceentry ); - if ( "$extrahdsettings{'PATH'}" eq "$deviceline[2]" ) { - $ok =3D "false"; - $errormessage =3D "$Lang::tr{'extrahd you cant mount'} $extrahdsettings{'= DEVICE'} $Lang::tr{'extrahd to'} $extrahdsettings{'PATH'}$Lang::tr{'extrahd b= ecause there is already a device mounted'}."; - } - if ( "$extrahdsettings{'PATH'}" eq "/" ) { - $ok =3D "false"; - $errormessage =3D "$Lang::tr{'extrahd you cant mount'} $extrahdsettings{'= DEVICE'} $Lang::tr{'extrahd to root'}."; +# +## Add a new device. +# +if ($extrahdsettings{'ACTION'} eq $Lang::tr{'add'}) { + # Check if a mount path has been given. + if (not $extrahdsettings{'PATH'}) { + $errormessage =3D "$Lang::tr{'extrahd no mount point given'}."; +=09 + # Check if a valid mount path has been choosen. + } elsif(not &is_valid_dir("$extrahdsettings{'PATH'}")) { + $errormessage =3D "$Lang::tr{'extrahd you cant mount'} $extrahdsettings{'D= EVICE'} $Lang::tr{'extrahd to'} $extrahdsettings{'PATH'} $Lang::tr{'extrahd b= ecause it is outside the allowed mount path'}."; + + # Check if the given path allready is mounted somewhere. + } elsif(&is_mounted("$extrahdsettings{'PATH'}")) { + $errormessage =3D "$Lang::tr{'extrahd you cant mount'} $extrahdsettings{'D= EVICE'} $Lang::tr{'extrahd to'} $extrahdsettings{'PATH'} $Lang::tr{'extrahd b= ecause there is already a device mounted'}."; + } + + # Check against may previously configured drives. + unless ($errormessage) { + # Open device file for reading. + open( FILE, "< $devicefile" ) or die "Unable to read $devicefile"; + my @devices =3D ; + close FILE; + + # Loop through the entries line-by-line. + foreach my $entry (sort @devices) { + # Split the line into pieces and assign nice variables. + my ($uuid, $fs, $path) =3D split( /\;/, $entry ); + + # Check if the path is allready used. + if ( "$extrahdsettings{'PATH'}" eq "$path" ) { + $errormessage =3D "$Lang::tr{'extrahd you cant mount'} $extrahdsettings{= 'DEVICE'} $Lang::tr{'extrahd to'} $extrahdsettings{'PATH'} $Lang::tr{'extrahd= because there is already a device mounted'}."; + } + + # Check if the uuid is allready used. + if ("$extrahdsettings{'DEVICE'} eq $uuid") { + $errormessage =3D "$extrahdsettings{'DEVICE'} is allready mounted."; + } } } =20 - if ( "$ok" eq "true" ) { + # Go further if there was no error message. + unless($errormessage) { + # Re-open the device file for writing. open(FILE, ">> $devicefile" ) or die "Unable to write $devicefile"; - print FILE <; - close FILE; - open( FILE, "> $devicefile" ) or die "Unable to write $devicefile"; - foreach $deviceentry (sort @tmp) - { - @tmpline =3D split( /\;/, $deviceentry ); - if ( $tmpline[2] ne $extrahdsettings{'PATH'} ) - { - print FILE $deviceentry; +=09 +# +# Remove an existing one. +# +} elsif ($extrahdsettings{'ACTION'} eq $Lang::tr{'delete'}) { + # Call helper binary to unmount the device. + unless(&General::system("/usr/local/bin/extrahdctrl", "umount", "$extrahdse= ttings{'PATH'}")) { + # Open the device file for reading. + open(FILE, "< $devicefile" ) or die "Unable to read $devicefile"; + + # Read the file content into a temporary array. + my @tmp =3D ; + + # Close file handle. + close(FILE); + + # Re-open device file for writing. + open(FILE, "> $devicefile" ) or die "Unable to write $devicefile"; + + # Loop through the previous read file content. + foreach my $line (sort @tmp) { + # Split line content and assign nice variables. + my ($uuid, $fs, $path) =3D split( /\;/, $line ); + + # Write the line in case it does not contain our element to delete. + if ($path ne $extrahdsettings{'PATH'}) { + print FILE "$line"; } } - close FILE; + + # Close file handle. + close(FILE); } else { $errormessage =3D "$Lang::tr{'extrahd cant umount'} $extrahdsettings{'PATH= '}$Lang::tr{'extrahd maybe the device is in use'}?"; } @@ -132,116 +186,136 @@ if ($errormessage) { ############################################################################= ################################################ ############################################################################= ################################################ =20 +&Header::openbox('100%', 'center', $Lang::tr{'extrahd detected drives'}); + + # Re-read mountpoints. + %mountpoints =3D &get_mountpoints(); + + # Read-in the device config file. open( FILE, "< $devicefile" ) or die "Unable to read $devicefile"; - @devices =3D ; - close FILE; + + # Loop through the file content. + while () { + # Cut the line into pieces. + my ($uuid, $fs, $path) =3D split( /\;/, $_ ); + + # Add the found entry to the hash of configured drives. + $configured_drives{$uuid} =3D $path; + } + + # Close the file handle. + close(FILE); + print < END ; - foreach $deviceentry (sort @devices) - { - @deviceline =3D split( /\;/, $deviceentry ); - my $color=3D"$Header::colourred"; + foreach my $device (sort @devices) { + # Grab the device details. + my $vendor =3D &get_device_vendor($device); + my $model =3D &get_device_model($device); + my $bsize =3D &get_device_size($device); =20 - # Use safe system_output to get mountpoint details. - my @mountpoint =3D &General::system_output("/bin/mountpoint", "$deviceline= [2]"); + # Convert size into human-readable format. + my $size =3D &General::formatBytes($bsize); =20 - if ( ! grep(/not/, @mountpoint)) { - $color=3D$Header::colourgreen; - } print <  - $deviceline[0]<= /td> - $deviceline[1] - $deviceline[2] - -
- - - - - -
-END -; - } - print < -END -; -&Header::openbox('100%', 'center', $Lang::tr{'extrahd detected drives'}); - print < +   + /dev/$device + $vendor $model + + $Lang::tr{'size'} $size +   +   END ; - open( FILE, "< $scanfile" ) or die "Unable to read $scanfile"; - @scans =3D ; - close FILE; - open( FILE, "< $partitionsfile" ) or die "Unable to read $partitionsfile"; - @partitions =3D ; - close FILE; - foreach $scanentry (sort @scans) - { - @scanline =3D split( /\;/, $scanentry ); - # remove wrong entries like usb controller name - if ($scanline[1] ne "\n") - { + + # Grab the known partitions of the current block device. + my @partitions =3D &get_device_partitions($device); + + foreach my $partition (@partitions) { + my $disabled; + + # Omit the partition size. + my $bsize =3D &get_device_size($partition); + + # Convert into human-readable format. + my $size =3D &General::formatBytes($bsize); + + # Try to omit the used filesystem. + my $fs =3D $filesystems{$partition}; + + # Get the mountpoint. + my $mountpoint =3D $mountpoints{$partition}; + + # If no mountpoint could be determined try to grab from + # configured drives. + unless($mountpoint) { + my $uuid =3D $uuids{$partition}; + + # Build uuid string. + $uuid =3D "UUID=3D" . $uuid; + + # Try to obtain a possible moutpoint from configured drives. + $mountpoint =3D $configured_drives{$uuid} if ($configured_drives{$uuid}); + } + + # Check if the mountpoint is used as root or boot device. + if ($mountpoint eq "/" or $mountpoint =3D~ "^/boot") { + $disabled =3D "disabled"; + + # Check if it is mounted. + } elsif(&is_mounted($mountpoint)) { + $disabled =3D "disabled"; + + # Check if the device is used as swap. + } elsif (&is_swap($partition)) { + $disabled =3D "disabled"; + $mountpoint =3D "swap"; + $fs =3D "swap"; + } + print <  - /dev/$scanline[0] - $scanline[1] -END -; =20 - } - foreach $partitionentry (sort @partitions) - { - @partitionline =3D split( /\;/, $partitionentry ); - if ( "$partitionline[0]" eq "$scanline[0]" ) { - $size =3D int($partitionline[1] / 1024); - print <$Lang::tr{'size'} $size MB -   -   +
+ UUID=3D$uuids{$partition} + + /dev/$partition + $Lang::tr{'size'} $size + $fs + + + + END ; - } - } + # Check if the mountpoint refers to a known configured drive. + if(&is_configured($mountpoint)) { + print "\n"; + print "\n"; + + # Check if the device is mounted properly. + if(&is_mounted($mountpoint)) { + print "3D'$La= \n"; + } else { + print "3D'$Lang= = ;\n"; + } + + print "\n"; + } else { + unless($disabled) { + print "\n"; + print "\n"; + print "3D'$Lan=\n"; + } + } =20 - foreach $partitionentry (sort @partitions) - { - @partitionline =3D split( /\;/, $partitionentry ); - if (( "$partitionline[0]" =3D~ /^$scanline[0]/ ) && !( "$partitionline[2]= " eq "" )) { - $size =3D int($partitionline[1] / 1024); print < - UUID=3D$partitionline[2] - - /dev/$partitionline[0] - $Lang::tr{'size'} $size MB - - - - - - - END -; +; } =20 -END -; - } - } } =20 print <; + close(VENDOR); + + # Abort and return nothing if no vendor could be read. + return unless($vendor); + + # Remove any newlines from the vendor string. + chomp($vendor); + + # Return the omited vendor. + return $vendor; +} + +# +## Returns the model name (string) of a given block device. +# +sub get_device_model ($) { + my ($device) =3D @_; + + # Assign device directory. + my $device_dir =3D "$sysfs_block_dir/$device"; + + # Abort and return nothing if the device dir does not exist + # or no model file exists. + return unless(-d "$device_dir"); + return unless(-f "$device_dir/device/model"); + + # Open and read-in the device model. + open(MODEL, "$device_dir/device/model"); + my $model =3D ; + close(MODEL); + + # Abort and return nothing if no model could be read. + return unless($model); + + # Remove any newlines from the model string. + chomp($model); + + # Return the model string. + return $model; +} + +# +## Returns the size of a given device in bytes. +# +sub get_device_size ($) { + my ($device) =3D @_; + + # Assign device directory. + my $device_dir =3D "$sysfs_block_dir/$device"; + + # Abort and return nothing if the device dir does not exist + # or no size file exists. + return unless(-d "$device_dir"); + return unless(-f "$device_dir/size"); + + # Open and read-in the device size. + open(SIZE, "$device_dir/size"); + my $size =3D ; + close(SIZE); + + # Abort and return nothing if the size could not be read. + return unless($size); + + # Remove any newlines for the size string. + chomp($size); + + # The omited size only contains the amount of blocks from the + # given device. To convert this into bytes we have to multiply this + # value with 512 bytes for each block. This is a static value used by + # the linux kernel. + $size =3D $size * 512; + + # Return the size in bytes. + return $size; +} + +# +## Function which returns all currently mounted devices as a hash. +## example: "sda1" -> "/boot" +# +sub get_mountpoints () { + my %mounts; + + # Open and read-in the current mounts from the + # kernel file system. + open(MOUNT, "/proc/mounts"); + + # Loop through the known mounts. + while() { + # Skip mounts which does not belong to a device. + next unless ($_ =3D~ "^/dev"); + + # Cut the line into pieces and assign nice variables. + my ($dev, $mpoint, $fs, $options, $a, $b) =3D split(/ /, $_); + + # Split the device name. + my @tmp =3D split("/", $dev); + + # Assign the plain device name to a new variable. + # It is the last element of the array. + my $device =3D $tmp[-1]; + + # Add the mountpoint to the hash of mountpoints. + $mounts{"$device"} =3D $mpoint; + } + + # Close file handle. + close(MOUNT); + + # Return the hash of known mountpoints. + return %mounts; +} + +sub get_swaps () { + my @swaps; + + # Open and read the swaps file. + open(SWAP, "/proc/swaps"); + + # Loop though the file content. + while() { + # Skip lines which does not belong to a device. + next unless ($_ =3D~ "^/dev"); + + # Split the line and assign nice variables. + my ($dev, $type, $size, $used, $prio) =3D split(/ /, $_); + + # Cut the device line into pieces. + my @tmp =3D split("/", $dev); + + my $device =3D @tmp[-1]; + + # Add the found swap to the array of swaps. + push(@swaps, $device); + } + + # Close file handle. + close(SWAP); + + # Sort the array. + @swaps =3D sort(@swaps); + + # Return the array. + return @swaps; +} + +# +## Function with returns the mounted devices and the used filesystems as a h= ash. +## Example: "sda1" -> "ext4" +# +sub get_mountedfs () { + my %mountedfs; + + # Open and read the current mounts from the kernel + # file system. + open(MOUNT, "/proc/mounts"); + + # Loop through the known mounts. + while() { + # Skip mounts which does not belong to a device. + next unless ($_ =3D~ "^/dev"); + + # Split line and assign nice variables. + my ($dev, $mpoint, $fs, $options, $a, $b) =3D split(/ /, $_); + + # Cut the device line into pieces. + my @tmp =3D split("/", $dev); + + # Assign the plain device name to a variable + # It is the last element of the temporary array. + my $device =3D $tmp[-1]; + + # Convert the filesystem into lower case format. + $fs =3D lc($fs); + + # Add the mounted file system. + $mountedfs{$device} =3D $fs; + } + + # Close file handle. + close(MOUNT); + + # Return the hash with the mounted filesystems. + return %mountedfs; +} + +# +## Function which returns all known UUID's as a hash. +## Example: "sda1" -> "1234-5678-abcd" +# +sub get_uuids () { + my %uuids; + + # Directory where the uuid mappings can be found. + my $uuid_dir =3D "/dev/disk/by-uuid"; + + # Open uuid directory and read-in the current known uuids. + opendir(UUIDS, "$uuid_dir"); + + # Loop through the uuids. + foreach my $uuid (readdir(UUIDS)) { + # Skip . and .. + next if($uuid eq "." or $uuid eq ".."); + + # Skip everything which is not a symbolic link. + next unless(-l "$uuid_dir/$uuid"); + + # Resolve the target of the symbolic link. + my $target =3D readlink("$uuid_dir/$uuid"); + + # Split the link target into pieces. + my @tmp =3D split("/", $target); + + # Assign the last element of the array to the dev variable. + my $dev =3D "$tmp[-1]"; + + # Add the device and uuid to the hash of uuids. + $uuids{$dev} =3D $uuid; + } + + # Close directory handle. + closedir(UUIDS); + + # Return the hash of uuids. + return %uuids; +} + +# +## Returns the device name of a given uuid. +# +sub device_by_uuid ($) { + my ($uuid) =3D @_; + + # Reverse the main uuids hash. + my %uuids =3D reverse %uuids; + + # Lookup and return the device name. + return $uuids{$uuid}; +} + +# +## Returns "True" in case a given path is a known mountpoint. +# +sub is_mounted ($) { + my ($mpoint) =3D @_; + + my %mountpoints =3D reverse %mountpoints; + + # Return "True" if the requested mountpoint is known and + # therefore mounted. + return 1 if($mountpoints{$mpoint}); +} + +# +## Returns "True" if a given mountpoint is a subdirectory of one +## of the directories specified by the valid_mount_dirs array abouve. +# +sub is_valid_dir ($) { + my ($mpoint) =3D @_; + + # Do not allow "/mnt" or "/media" as mount points. + return if($mpoint eq "/mnt"); + return if($mpoint eq "/media"); + + # Split the given mountpoint into pieces and store them + # in a temporay array. + my @tmp =3D split("/", $mpoint); + + # Exit and return nothing if the temporary array is empty. + return unless(@tmp); + + # Build the root path based on the given mount point. + my $root_path =3D "/" . @tmp[1]; + + # Check if the root path is valid. + return 1 if(grep /$root_path/, @valid_mount_dirs); +} + +# +# Returns "True" if a device is used as swap. +# +sub is_swap ($) { + my ($device) =3D @_; + + return 1 if(grep /$device/, @swaps); +} + +# +## Returns "True" if a drive is a configured one. +# +sub is_configured ($) { + my ($path) =3D @_; + + # Loop through the hash of configured drives. + foreach my $uuid (keys %configured_drives) { + return 1 if($configured_drives{$uuid} eq "$path"); + } +} diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl index 33730f0c3..37b17b431 100644 --- a/langs/de/cgi-bin/de.pl +++ b/langs/de/cgi-bin/de.pl @@ -1025,11 +1025,16 @@ 'external access rule removed' =3D> ' Regel f=C3=BCr externen Zugang entfern= t; starte Zugangskontroller neu', 'external aliases configuration' =3D> 'Externe Alias-Konfiguration', 'extrahd' =3D> 'ExtraHD', +'extrahd because it is outside the allowed mount path' =3D> 'mounten, da sic= h das Ziel au=C3=9Ferhalb der erlaubten Pfade befindet', 'extrahd because there is already a device mounted' =3D> ' mounten, weil ber= eits ein Ger=C3=A4t gemountet ist', 'extrahd cant umount' =3D> 'Konnte', 'extrahd detected drives' =3D> 'Gefundene Laufwerke', 'extrahd install or load driver' =3D> 'Wenn Ihre Festplatte nicht angezeigt = wird, m=C3=BCssen Sie zuerst den Treiber laden oder ggf. auch nachinstalliere= n. Wenn diese jedoch angezeigt wird, aber keine Partitionen zu sehen sind, m= =C3=BCssen diese erst angelegt werden.', 'extrahd maybe the device is in use' =3D> 'nicht mounten. Vielleicht wird da= s Ger=C3=A4t bereits verwendet', +'extrahd no mount point given' =3D> 'Kein Pfad zum mounten angegeben', +'extrahd mounted' =3D> 'Gemounted', +'extrahd not mounted' =3D> 'Nicht gemounted', +'extrahd not configured' =3D> 'Nicht konfiguriert', 'extrahd to' =3D> 'nicht nach', 'extrahd to root' =3D> 'nicht nach root mounten', 'extrahd unable to read' =3D> 'Lesefehler von', diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl index 729516538..b00ecc5eb 100644 --- a/langs/en/cgi-bin/en.pl +++ b/langs/en/cgi-bin/en.pl @@ -1072,11 +1072,16 @@ 'external access rule removed' =3D> ' External access rule removed; restarti= ng access controller', 'external aliases configuration' =3D> 'External aliases configuration', 'extrahd' =3D> 'ExtraHD', +'extrahd because it it outside the allowed mount path' =3D> ', because it is= outside the allowed mount path', 'extrahd because there is already a device mounted' =3D> ', because there is= already a device mounted', 'extrahd cant umount' =3D> 'Can\'t umount', 'extrahd detected drives' =3D> 'detected drives', 'extrahd install or load driver' =3D> 'If your device isn\'t listed here, yo= u need to install or load the driver.
If you can see your device but no = partitions you have to create them first.', +'extrahd no mount point given', =3D> 'No mount point given', 'extrahd maybe the device is in use' =3D> '. Maybe the device is in use', +'extrahd mounted' =3D> 'Mounted', +'extrahd not mounted' =3D> 'Not mounted', +'extrahd not configured' =3D> 'Not configured', 'extrahd to' =3D> 'to', 'extrahd to root' =3D> 'to root', 'extrahd unable to read' =3D> 'Unable to read', diff --git a/lfs/fmt b/lfs/fmt index 73da2cab5..21b481863 100644 --- a/lfs/fmt +++ b/lfs/fmt @@ -1,7 +1,7 @@ ############################################################################= ### # = # # IPFire.org - A linux based firewall = # -# Copyright (C) 2007-2022 IPFire Team = # +# Copyright (C) 2007-2023 IPFire Team = # # = # # This program is free software: you can redistribute it and/or modify = # # it under the terms of the GNU General Public License as published by = # @@ -26,7 +26,7 @@ include Config =20 SUMMARY =3D Open-source formatting library for C++ =20 -VER =3D 9.1.0 +VER =3D 10.0.0 =20 THISAPP =3D fmt-$(VER) DL_FILE =3D $(THISAPP).tar.gz @@ -34,7 +34,7 @@ DL_FROM =3D $(URL_IPFIRE) DIR_APP =3D $(DIR_SRC)/$(THISAPP) TARGET =3D $(DIR_INFO)/$(THISAPP) PROG =3D fmt -PAK_VER =3D 2 +PAK_VER =3D 3 SUP_ARCH =3D aarch64 x86_64 =20 DEPS =3D @@ -47,7 +47,7 @@ objects =3D $(DL_FILE) =20 $(DL_FILE) =3D $(DL_FROM)/$(DL_FILE) =20 -$(DL_FILE)_BLAKE2 =3D ff1daa43140615b63aeb1ecd0aa1c32d24decfd5006805080293ef= 3db04d544c0445a30e8da0d985a6f5a25ad48ce4f6ae61e52da5ea4a4d3b031c212da38b18 +$(DL_FILE)_BLAKE2 =3D 4e778fd352ed084b9790b59b4875fc6ed04b7a58a40b3673854dd0= 0763f492cc838970e8faef77b5f9db5e912a2fc77943aedb4ca4afb64a3736129cc4611809 =20 install : $(TARGET) =20 diff --git a/lfs/gettext b/lfs/gettext index adbec52e1..57fead8ad 100644 --- a/lfs/gettext +++ b/lfs/gettext @@ -1,7 +1,7 @@ ############################################################################= ### # = # # IPFire.org - A linux based firewall = # -# Copyright (C) 2007-2018 IPFire Team = # +# Copyright (C) 2007-2023 IPFire Team = # # = # # This program is free software: you can redistribute it and/or modify = # # it under the terms of the GNU General Public License as published by = # @@ -24,7 +24,7 @@ =20 include Config =20 -VER =3D 0.21 +VER =3D 0.22 =20 THISAPP =3D gettext-$(VER) DL_FILE =3D $(THISAPP).tar.xz @@ -49,7 +49,7 @@ objects =3D $(DL_FILE) =20 $(DL_FILE) =3D $(DL_FROM)/$(DL_FILE) =20 -$(DL_FILE)_BLAKE2 =3D e36418323c79f582d13777083b455ae76ccb29e41a8259a2f4d6d9= f5d8e2ac7c8ecc4df1b1fa2e9838c819cb27345fe254772398bdb88b3315410866048f755a +$(DL_FILE)_BLAKE2 =3D e91c82eb793897bd7ed727503e9d6e72a47027adf51ca76cf5c936= 437c434e910508814b1d03b12694c5e87156018683cb2c8cc51637b121313ed41155bcd3e5 =20 install : $(TARGET) =20 diff --git a/lfs/mpd b/lfs/mpd index 9010e70f8..abd560798 100644 --- a/lfs/mpd +++ b/lfs/mpd @@ -26,7 +26,7 @@ include Config =20 SUMMARY =3D Music Player Daemon =20 -VER =3D 0.23.12 +VER =3D 0.23.13 =20 THISAPP =3D mpd-$(VER) DL_FILE =3D $(THISAPP).tar.xz @@ -34,7 +34,7 @@ DL_FROM =3D $(URL_IPFIRE) DIR_APP =3D $(DIR_SRC)/${THISAPP} TARGET =3D $(DIR_INFO)/$(THISAPP) PROG =3D mpd -PAK_VER =3D 31 +PAK_VER =3D 32 SUP_ARCH =3D aarch64 x86_64 =20 DEPS =3D alsa avahi faad2 ffmpeg flac lame libmad libshout libogg libi= d3tag libvorbis opus soxr fmt @@ -49,7 +49,7 @@ objects =3D $(DL_FILE) =20 $(DL_FILE) =3D $(DL_FROM)/$(DL_FILE) =20 -$(DL_FILE)_BLAKE2 =3D b218d9f477e92842638e3fba44c84957a3f656adaaf1ece998847d= b8d64883b8c997703206f74b37043888757f5f628799a3a35b25ea991f9ad00df1c4ad5e71 +$(DL_FILE)_BLAKE2 =3D 02907f08cc504d0fbf703179b333b301c7ad8fc8535d85305faa79= 62dd7faa164f4492286902cb48eaf3db2a1445b541b1261c18a89ca8a73e80016af9581e26 =20 install : $(TARGET) =20 @@ -83,20 +83,21 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) $(UPDATE_AUTOMAKE) - cd $(DIR_APP) && meson --prefix=3D/usr \ - --sysconfdir=3D/etc \ - --libdir=3D/usr/lib \ - -D ipv6=3Ddisabled \ - -D sqlite=3Ddisabled \ - -D smbclient=3Ddisabled \ - -D id3tag=3Denabled \ - -D vorbis=3Denabled \ - -D expat=3Denabled \ - -D ffmpeg=3Denabled \ - -D flac=3Denabled \ - -D lame=3Denabled \ - -D upnp=3Ddisabled \ - -D icu=3Ddisabled \ + cd $(DIR_APP) && meson setup \ + --prefix=3D/usr \ + --sysconfdir=3D/etc \ + --libdir=3D/usr/lib \ + -D ipv6=3Ddisabled \ + -D sqlite=3Ddisabled \ + -D smbclient=3Ddisabled \ + -D id3tag=3Denabled \ + -D vorbis=3Denabled \ + -D expat=3Denabled \ + -D ffmpeg=3Denabled \ + -D flac=3Denabled \ + -D lame=3Denabled \ + -D upnp=3Ddisabled \ + -D icu=3Ddisabled \ builddir/ cd $(DIR_APP) && ninja -C builddir/ $(MAKETUNING) cd $(DIR_APP) && ninja -C builddir/ install diff --git a/lfs/procps b/lfs/procps index a8f1c2c82..7aa41909a 100644 --- a/lfs/procps +++ b/lfs/procps @@ -70,6 +70,7 @@ $(subst %,%_BLAKE2,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/procps-v4.0.3_address_= build_failures_with_gettext_0.22.patch cd $(DIR_APP) && ./autogen.sh cd $(DIR_APP) && ./configure \ --prefix=3D/usr \ diff --git a/lfs/rng-tools b/lfs/rng-tools index c3f1e205c..fb0d729e3 100644 --- a/lfs/rng-tools +++ b/lfs/rng-tools @@ -33,7 +33,7 @@ DL_FROM =3D $(URL_IPFIRE) DIR_APP =3D $(DIR_SRC)/$(THISAPP) TARGET =3D $(DIR_INFO)/$(THISAPP) PROG =3D rng-tools -PAK_VER =3D 3 +PAK_VER =3D 4 =20 DEPS =3D =20 diff --git a/lfs/udev b/lfs/udev index 0046347b3..eb01ae848 100644 --- a/lfs/udev +++ b/lfs/udev @@ -122,10 +122,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) install -v -m 644 $(DIR_SRC)/config/udev/60-net.rules \ /lib/udev/rules.d =20 - # Install hwrng rules. - install -v -m 644 $(DIR_SRC)/config/udev/90-hwrng.rules \ - /lib/udev/rules.d - # Install AQM rules install -v -m 644 $(DIR_SRC)/config/udev/99-aqm.rules \ /lib/udev/rules.d diff --git a/src/initscripts/packages/rngd b/src/initscripts/packages/rngd index ba3e72d3a..61e2821aa 100644 --- a/src/initscripts/packages/rngd +++ b/src/initscripts/packages/rngd @@ -24,18 +24,8 @@ =20 case "${1}" in start) - if pidofproc -s /usr/sbin/rngd; then - boot_mesg "Random Number Generator Daemon is already running..." - echo_ok; - exit 0 - fi - if [ -e /dev/hwrngtty ]; then - HWRNG=3D/dev/hwrngtty - else - HWRNG=3D/dev/hwrng - fi boot_mesg "Starting Random Number Generator Daemon..." - loadproc /usr/sbin/rngd -r $HWRNG --quiet + loadproc /usr/sbin/rngd --quiet ;; =20 stop) @@ -53,10 +43,6 @@ case "${1}" in statusproc /usr/sbin/rngd ;; =20 - udev-event) - $0 restart &>/dev/null - ;; - *) echo "Usage: ${0} {start|stop|restart|status}" exit 1 diff --git a/src/patches/procps-v4.0.3_address_build_failures_with_gettext_0.= 22.patch b/src/patches/procps-v4.0.3_address_build_failures_with_gettext_0.22= .patch new file mode 100644 index 000000000..6552151f2 --- /dev/null +++ b/src/patches/procps-v4.0.3_address_build_failures_with_gettext_0.22.patch @@ -0,0 +1,20 @@ +--- procps-v4.0.3/po/fr.po.orig 2023-02-15 21:26:15.000000000 +0100 ++++ procps-v4.0.3/po/fr.po 2023-07-28 19:45:59.065599580 +0200 +@@ -3800,7 +3800,7 @@ + "Type 'q' or to continue " + msgstr "" + "Aide pour les commandes interactives~2 - %s\n" +-"Fen=C3=AAtre ~1%s~6: ~1Mode cumulatif ~3%s~2. ~1Syst=C3=A8me~6: ~1D=C3=A9= lai ~3%.1lf " ++"Fen=C3=AAtre ~1%s~6: ~1Mode cumulatif ~3%s~2. ~1Syst=C3=A8me~6: ~1D=C3=A9= lai ~3%.1f " + "secs~2; ~1Mode s=C3=BBr ~3%s~2.\n" + "\n" + " Z~5,~1B~5,E,e Global: =C2=AB~1Z~2=C2=BB couleurs; =C2=AB~1B~2=C2=BB gr= as; =C2=AB~1E~2=C2=BB/=C2=AB~1e~2=C2=BB " +@@ -4723,7 +4723,7 @@ + #: src/watch.c:486 + #, c-format + msgid "Every %.1fs: " +-msgstr "Toutes les %.1lfs: " ++msgstr "Toutes les %.1fs: " +=20 + #: src/watch.c:487 + #, c-format hooks/post-receive -- IPFire 2.x development tree --===============1191549197573760113==--