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 b317b60a3e27253c6df4b2189cbeba8f603d91f5 (commit)
via a93d06297947a68e598b1a8478e79714427da247 (commit)
via 20d4c7293a0ee7d0eb229911898a24dd941536a5 (commit)
from 284efdbfb1e9ba9aeba17eb327cdd3f97ba0d1e5 (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 b317b60a3e27253c6df4b2189cbeba8f603d91f5
Author: Peter Müller <peter.mueller(a)ipfire.org>
Date: Wed Jul 6 19:21:32 2022 +0000
Core Update 170: Ship lsof
Signed-off-by: Peter Müller <peter.mueller(a)ipfire.org>
commit a93d06297947a68e598b1a8478e79714427da247
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Tue May 10 12:31:40 2022 +0200
lsof: Update to version 4.95.0
- Update from version 4.91 to 4.95.0
- version 4.91 was the last version provided bia purdue.edu after which they stopped
maintaining it. It is now taken over ny the lsof-org team at Github.
https://github.com/lsof-org/lsof
- Update of rootfile not required - only one line in the rootfile
- Changelog
lsof-4.95.0-linux
[n+obsd] fix syntax error
Corrected end of comment.
This change closes #138.
@albert-github reported this issue in #138,
and provided the fix in #140
Don't ignore failures in test/Makefile
Tobias Geerinckx-Rice <me(a)tobias.gr> provides the fix.
Update perl scripts for the past few decades of progress
Generally, perl is available on base systems - people who are manually
installing perl into /usr/local/bin are the exception rather than the
rule. In addition, Perl 5 was release in 1994, so Perl 4 isn't relevant
any more. We've also standardized on the .pl extension, rather than
.perl5 or whatever.
Provided by @dilinger (Andres Salomon) in #149.
A commit in the pull request includes work of Nicholas Bamber.
Drop LSOF_CCDATE across all dialects to ensure reproducible builds
Simplify things for reproducible builds by just getting rid of
the embedded date/time string. With LSOF_CCDATE gone, keeping
SOURCE_DATE_EPOCH around doesn't make much sense, so drop that as
well. Folks doing reproducible builds should still override the
LSOF_HOST, LSOF_LOGNAME, LSOF_SYSINFO, and LSOF_USER variables (as
they were previously doing before SOURCE_DATE_EPOCH).
Provided by @dilinger (Andres Salomon) in #150.
[FreeBSD] get the ISO9660 filesystem working again
The ISO9660 filesystem broke starting with FreeBSD 7 due to the header
location changing. Fix the header search path to get it to be detected
again. Fix the header inclusion order. Also add the new way of finding
dev_t on more recent FreeBSD versions.
Provided by Damjan Jovanovic in #151.
[FreeBSD] add support for msdosfs on FreeBSD
Provided by Damjan Jovanovic in #151.
Fix FD field description.
In 811dc78 the output format was changed to not printf the `f`
field by default, however the field description in `lsof_fields.h`,
as seen in `-F?` output still included the `(always selected)` text.
Provided by @algorythmic (Grisha Levit) in #158.
Adjust alignment of buffer passed to stat().
The original code passes char[] buffer to stat(). This can be cause
a SIGBUS. #160 reported an actual crash on armv7a + glibc-2.33 platform.
See also https://sourceware.org/bugzilla/show_bug.cgi?id=27993.
Reported by @10ne1 in #160.
Clean up source code and documentats.
- remove trailing whitespace,
- fix some issues in scripts found through shellcheck, and
- fix spelling
Provided by @a1346054 in #163.
man page: fix hyphen issues
Properly use '-' and '\-' in the man page, ensuring that users
can cut & paste commandline options without issue. Original
patch from Raoul Gunnar Borenius <borenius(a)dfn.de>, and
submitted/expanded by @dilinger (Andres Salomon) in #168.
[FreeBSD] update for FreeBSD 13 & 14, and various internal changes
submitted by @DmitryAndric & @emaste.
[FreeBSD] remove various old FreeBSD versions from support
submitted by @emaste
[FreeBSD] configure: suggest variable to set if FreeBSD sys not
found
submitted by @emaste
Fix broken LSOF_CFLAGS_OVERRIDE.
Provided by Fabrice Fontaine in #172.
[linux] Remove sysvlegacy function.
Provided by Fabrice Fontaine in #195.
[linux] use close_range instead of calling close repeatedly
At the starting up, lsof closes its file descriptors greater
than 2 by calling close(2) repeatedly. As reported in #186,
it can take long time. Linux 5.9 introduced close_range(2).
The new system call can close multiple file descriptors faster.
@qianzhangyl reported the original issue (#186).
Add -Q option for adjusting exit status when failed to find a
search item (#129)
In the original code, lsof returned 1 when it failed to find a
search item. With the new option, lsof returns 0 in the case.
Document -Q option in manpage/00QUICKSTART, and adjust -h
output by @dilinger (Andres Salomon) in #129.
Improve readability of complex adverbial clause by adding a
comma.
Provided by Danny Fowler in #156.
lsof-4.94.0-linux
(All changes in this version are ported from
lsof-org/lsof-linux repository at GitHub).
Introduced a new test harness. The harness can run
test cases specific to a dialect. It is designed for
running test cases on CI environment like Travis-CI.
However, it is runnable locally with following command
line:
$ ./check.sh DIALECT
after making lsof executable.
[linux] Fixed a bug +|-E options output for pipe.
If two processes use the same fd number for a pipe
connecting them, the option didn't print the
information about it.
[linux] Fixed a bug +|-E options output for PTY.
If two processes use the same fd number for a PTY
connecting them, the option didn't print the
information about it.
[linux] Fixed a bug +|-E options output for PTY.
The code for detecting a slave device was incorrect.
[linux] Fixed a potential bug +|-E options output for
PTY. A structure field for the feature was not
initialized.
[linux] Added a code for decoding O_PATH flag in +fg
option.
[linux] Added a code for decoding O_CLOEXEC flag as CX
in +fg option.
[linux] Added a code for decoding O_TMPFILE flag as
TMPF in +fg option.
[linux] Added Linux display of INET socket endpoint
information with +|-E option. The option handles
INET sockets using IPC.
[linux] Added support for POSIX MQ of Linux
implementation. A POSIX message queue (MQ) is
represented in a fd on Linux. lsof reported it as a
regular file. lsof with this change reports it as a
file with PSXMQ type if mqueue file system is mounted.
[linux] Added Linux display of POSIX message queue
endpoint information with +|-E option. mqueue file system
must be mounted to display the information.
[linux] Added Linux display of INET6 socket endpoint
information with +|-E option. The option handles
INET6 sockets using IPC.
[FreeBSD] update to include <sys/_lock.h> on recent -CURRENT
since it is no longer implicitly included via header pollution.
[linux] Added Linux display of eventfd endpoint information
with +|-E option. The option handles eventfd using IPC.
[FreeBSD] include <stdbool.h> for recent change requiring
refcount(9).
Enhanced -r option. With `c<N>' specifier, lsof can stop itself
when the number of iterations reaches at <N>.
[linux] Fixed accessing an uninitialized local variable.
Detected by valgrind.
[linux] fix a crash when printing the endpoint for unaccepted
unix socket with +E option.
This closes the github issue #74 reported by @jolmg.
[linux] abort execution when failing in memory allocation for
socket private data.
[linux] decode the name of DCCP socket type.
[linux] decode more netlink protocol numbers (RDMA, CRYPTO, and
SMC).
[linux] print the connection state of unix domain socket
Lsof can print the state of TCP socket like:
nc 22247 yamato 3u IPv4 471409 0t0 TCP localhost:38802->localhost:9999 (ESTABLISHED)
This change exnteds this feature to support unix domain sockets.
LISTEN, UNCONNECTED, CONNECTING, CONNECTED, DISCONNECTING,
and UNKNOWN can be taken as a state.
An example of output:
evince 17333 yamato 1u unix 0x0000000054183795 0t0 89141 type=STREAM (CONNECTED)
This feature is enabled by default.
To turn off printing state information, use -T option.
Don't display command usage even when a file (or directory) listed
in command line doesn't exist.
This closes the github issue #90 reported by @rowlap.
[FreeBSD] merge all the FreeBSD specific fixes from the FreeBSD sysutils/lsof port
[linux] allow reproducible builds
In a reproducible build all varied information is removed. This
change does so, by checking if the standard SOURCE_DATE_EPOCH
variable is set. If it is, we are attempting a reproducible build
and will strip varying information.
About the standard, see https://reproducible-builds.org/specs/source-date-epoch/
Provided in github pull request #93 by @T4cC0re.
[freebsd] update for r363214
- no user visible changes
Added the way to include (or exclude) all numbered file descriptors
in -d option. "fd" is a pseudo file descriptor name for the purpose.
See the following output on Linux; lsof doesn't print cwd, rtd, txt,
and mem files.
# ./lsof -p $$ -a -d fd
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
bash 866421 root 0u CHR 136,1 0t0 4 /dev/pts/1
bash 866421 root 1u CHR 136,1 0t0 4 /dev/pts/1
bash 866421 root 2u CHR 136,1 0t0 4 /dev/pts/1
bash 866421 root 255u CHR 136,1 0t0 4 /dev/pts/1
docs: fixed minor grammatical error in instructions in Customize file
The change is provided by @hardikpnsp.
man page: improve phrasing and add examples
The change is provided by Martin D Kealey.
man page: improve explanation of -t implying -w
The change is provided by Martin D Kealey.
test cases, [linux]: fix tests for large inode-numbers (i >= 2^32)
The change is provided by Henry Peteet.
[linux] handle ffff:ffff in ipv6 addr correctly
The listen address and port of an AF_INET6 socket were not display if
the socket listened at an ipv6 address including ffff:ffff.
Here is a command session demonstrating the bug:
# ip -6 addr add abcd:ef10:ffff:ffff:ffff:ffff:ffff:ff62 dev lo
# nc -6 -l abcd:ef10:ffff:ffff:ffff:ffff:ffff:ff62 8888 &
[1] 6762
# ./lsof -p 6762 -a -d fd -P -n
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
nc 6762 yamato 0u CHR 136,6 0t0 9 /dev/pts/6
nc 6762 yamato 1u CHR 136,6 0t0 9 /dev/pts/6
nc 6762 yamato 2u CHR 136,6 0t0 9 /dev/pts/6
nc 6762 yamato 3u sock 0,9 0t0 5833594 protocol: TCPv6
The last line should be:
nc 6762 yamato 3u IPv6 5833594 0t0 TCP [abcd:ef10:ffff:ffff:ffff:ffff:ffff:ff62]:8888 (LISTEN)
The original code decoding an ipv6 address uses UINT32_MAX constant
incorrect way.
@zhrf2020 reported this bug in #102.
@zhrf2020 provided the initial version of fix, #109.
man page,[linux]: enumerate abbreviated flags printed with '+f g' option
Make -Fo option work
-Fo option is for printing file offset. For regular files,
the option didn't work.
Here is a command session demonstrating the fix:
# ./lsof -Fo -o0| grep ^o | sort | uniq -c
90586 o0t0
87 o0t101
84 o0t103
...
@JustAnotherArchivist reported this bug in #118.
man page: fix definition of the `o` field on programmatic output
The change is provided by @JustAnotherArchivist who reported
the original issue in #118.
[linux]: show the pid monitored by a pidfd
With this change, lsof prints pidfd in the following form:
[pidfd:%d]
where %d represents the pid monitored by the pidfd.
Example output:
# ./lsof -p 12573 -p 12710 | grep pidfd
dbus-brok 12573 jet 11u a_inode 0,13 0 13312 [pidfd:12575]
dbus-brok 12710 jet 10u a_inode 0,13 0 13312 [pidfd:12711]
fd 11 of pid 12573 monitors pid 12575.
fd 10 of pid 12710 monitors pid 12711.
This change closed #116.
Don't select the file descriptor field by default.
The version 4.88 introduced the change for selecting the file
descriptor field by default. However, the change is not
suitable for users who wants to print only PID field.
@po5857 suggests the use case and the way to improve the man page.
[linux]: enumerate fds monitored by an eventpoll fd
With this change, lsof prints an eventpoll fd in the following form:
[eventpoll:<fd0>,<fd1>,...,<fdn>...]
Here fdX is a file descriptor monitored by the eventpoll fd.
If an eventpoll fd monitors too many file descriptors, lsof
truncates the list of fds. "..." at the end of list implies
the truncation.
Example output:
# sudo ./lsof -p 1 -a -d 10,11,12
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
systemd 1 root 10u a_inode 0,13 0 11624 [eventpoll:11,12]
systemd 1 root 11r REG 0,4 0 17680 /proc/1/mountinfo
systemd 1 root 12r a_inode 0,13 0 11624 inotify
systemd monitors fd 11 and fd 12 via eventpoll fd 10.
[linux]: implement "make check"
The target runs check.bash.
4.93.2 May 8, 2019
Update the version number embedded in lsof executable.
lsof-4.93.1
4.93.0 May 7, 2019
[freebsd] Made FreeBSD 13 adjustment.
[darwin] Fix a typo causing a build error.
Fix a potential memory leak.
[linux] use tirpc for rpc if libc doesn't provide rpc.h.
Fix a typo in man page.
[linux] fix memory leaks detected by valgrind about unix
endpoint information.
Update the description about -fg and -fG options on linux.
4.93.1 May 7, 2019
Fix a broken symbolic link.
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
Reviewed-by: Peter Müller <peter.mueller(a)ipfire.org>
commit 20d4c7293a0ee7d0eb229911898a24dd941536a5
Author: Peter Müller <peter.mueller(a)ipfire.org>
Date: Wed Jul 6 12:37:29 2022 +0000
Run ./make.sh update-contributors
Signed-off-by: Peter Müller <peter.mueller(a)ipfire.org>
-----------------------------------------------------------------------
Summary of changes:
config/rootfiles/core/170/filelists/lsof | 1 +
html/cgi-bin/credits.cgi | 4 ++--
lfs/lsof | 13 ++++++-------
3 files changed, 9 insertions(+), 9 deletions(-)
create mode 120000 config/rootfiles/core/170/filelists/lsof
Difference in files:
diff --git a/config/rootfiles/core/170/filelists/lsof b/config/rootfiles/core/170/filelists/lsof
new file mode 120000
index 000000000..1353d33e5
--- /dev/null
+++ b/config/rootfiles/core/170/filelists/lsof
@@ -0,0 +1 @@
+../../../common/lsof
\ No newline at end of file
diff --git a/html/cgi-bin/credits.cgi b/html/cgi-bin/credits.cgi
index 13d0005e3..1eb774b1d 100644
--- a/html/cgi-bin/credits.cgi
+++ b/html/cgi-bin/credits.cgi
@@ -88,18 +88,18 @@ Marcus Scholz,
Ersan Yildirim,
Jörn-Ingo Weigert,
Alexander Koch,
+Robin Roevens,
Wolfgang Apolinarski,
Alfred Haas,
Lars Schuhmacher,
Rene Zingel,
Sascha Kilian,
Bernhard Bitsch,
+Jon Murphy,
Ronald Wiesinger,
Florian Bührle,
-Jon Murphy,
Justin Luth,
Michael Eitelwein,
-Robin Roevens,
Alex Koch,
Dominik Hassler,
Larsen,
diff --git a/lfs/lsof b/lfs/lsof
index 8ea9e6c56..eefaf35f5 100644
--- a/lfs/lsof
+++ b/lfs/lsof
@@ -24,10 +24,10 @@
include Config
-VER = 4.91
+VER = 4.95.0.linux
THISAPP = lsof_$(VER)
-DL_FILE = $(THISAPP).tar.gz
+DL_FILE = $(THISAPP).tar.bz2
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 = b727acd6064b1c1d20b13311756c8bcb1cf20f5d68b4295b2a5fe8fcc0dbf35a2957017763212b48c338f5ac251d905f648a9c0df1babd30809676b1aa657b5c
+$(DL_FILE)_BLAKE2 = 6a7d6353ec7f0f1e14416bff98867e64009c3f3901110c947f845bb3dcf9af3d40755c7ac6d586412a61778bc8ac355d2388cf2cfa8a975dbf4870c339c75a8c
install : $(TARGET)
@@ -70,9 +70,8 @@ $(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) && tar axf lsof_$(VER)_src.tar
- cd $(DIR_APP)/lsof_$(VER)_src && ./Configure linux -n
- cd $(DIR_APP)/lsof_$(VER)_src && make $(MAKETUNING) CC="cc $(CFLAGS) $(LDFLAGS)"
- cd $(DIR_APP)/lsof_$(VER)_src && install -m 755 -o root -g root lsof /usr/bin
+ cd $(DIR_APP) && ./Configure linux
+ cd $(DIR_APP) && make $(MAKETUNING) CC="cc $(CFLAGS) $(LDFLAGS)"
+ cd $(DIR_APP) && install -m 755 -o root -g root lsof /usr/bin
@rm -rf $(DIR_APP)
@$(POSTBUILD)
hooks/post-receive
--
IPFire 2.x development tree
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 284efdbfb1e9ba9aeba17eb327cdd3f97ba0d1e5 (commit)
via 72696db892c8dcc8533f7b1813316592111cb46a (commit)
via 6395bed8a4d621e2ed5b4e1417934c34ddc9a9a3 (commit)
via f704d76e089604e94045b7ea83f2315dbddf52ca (commit)
via 50fdf0ee9c4a212a7c446dc47ca94af0193c2612 (commit)
via 1898c66a4826b46056e598d04911e537b1e41f86 (commit)
via 092330b128e39a548f37a9bd38b809fc3be62adb (commit)
via e2d54d57d49439e8e4227bf09e38301b3e4a63b4 (commit)
via 1d00837e7ec11cc8fd88f9bb0cbbfc152012b793 (commit)
via 9497d862baa8c3ea632147527fe5af6efa28a387 (commit)
via 8ac8abb2695f0a780d078ed4f21412fc0113e29d (commit)
from 801143615a8c8e68adad8cd6e9ffa4a07b7ae0b0 (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 284efdbfb1e9ba9aeba17eb327cdd3f97ba0d1e5
Author: Peter Müller <peter.mueller(a)ipfire.org>
Date: Wed Jul 6 10:03:16 2022 +0000
Core Update 170: Ship files affected by "aliases" changes
Signed-off-by: Peter Müller <peter.mueller(a)ipfire.org>
commit 72696db892c8dcc8533f7b1813316592111cb46a
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date: Wed Jun 29 18:27:24 2022 +0000
aliases: Don't call arpping to announce new IP addresses
I am not sure what the rationale is here, but we should probably not do
this. Other hosts on the network will be able to update their ARP caches
properly.
Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>
Acked-by: Peter Müller <peter.mueller(a)ipfire.org>
commit 6395bed8a4d621e2ed5b4e1417934c34ddc9a9a3
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date: Wed Jun 29 18:27:23 2022 +0000
aliases: Add support to assign aliases to multiple RED interfaces
This is a little patch which will extend the aliases page to offer an
interface selection if there are more than one RED interfaces.
This is a little hack to make configuration easier for users who have
manually set up more than one RED interface (e.g. for load balancing or
fail-over) and want to use the UI to configure firewall rules.
As a little benefit on the side, I had to rewrite setaliases.c to use
ip(8) instead of ifconfig(8).
Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>
Acked-by: Peter Müller <peter.mueller(a)ipfire.org>
commit f704d76e089604e94045b7ea83f2315dbddf52ca
Author: Peter Müller <peter.mueller(a)ipfire.org>
Date: Wed Jul 6 10:00:57 2022 +0000
dnsdist: Bump package version
https://lists.ipfire.org/pipermail/development/2022-July/013794.html
Signed-off-by: Peter Müller <peter.mueller(a)ipfire.org>
commit 50fdf0ee9c4a212a7c446dc47ca94af0193c2612
Author: Robin Roevens <robin.roevens(a)disroot.org>
Date: Thu Jun 30 12:15:55 2022 +0200
zabbix_agentd: Add IPFire specific userparameters
Provide IPFire specific items for the Zabbix server to monitor:
- ipfire.net.gateway.pingtime: Internet Line Quality
- ipfire.net.gateway.ping: Internet connection
- ipfire.net.fw.hits.raw: JSON formatted list of Firewall hits/chain
- ipfire.dhcpd.clients: Number of active DHCP leases
- ipfire.captive.clients: Number of Captive Portal clients
Signed-off-by: Robin Roevens <robin.roevens(a)disroot.org>
commit 1898c66a4826b46056e598d04911e537b1e41f86
Author: Robin Roevens <robin.roevens(a)disroot.org>
Date: Thu Jun 30 12:15:54 2022 +0200
zabbix_agentd: By default only listen on GREEN ip
- Change zabbix_agentd.conf during install to only listen on the
GREEN ip by default.
Signed-off-by: Robin Roevens <robin.roevens(a)disroot.org>
commit 092330b128e39a548f37a9bd38b809fc3be62adb
Author: Robin Roevens <robin.roevens(a)disroot.org>
Date: Thu Jun 30 12:15:53 2022 +0200
zabbix_agentd: Sudoers file reorganization
- Remove sudoers file 'zabbix' in favour of new IPFire managed
'zabbix_agentd' and user managed 'zabbix_agentd_user' which is
included in the backup
- Provide migration of old sudoers file 'zabbix' or 'zabbix.user' to
new zabbix_agentd_user sudoers file if it was modified by user.
Signed-off-by: Robin Roevens <robin.roevens(a)disroot.org>
commit e2d54d57d49439e8e4227bf09e38301b3e4a63b4
Author: Robin Roevens <robin.roevens(a)disroot.org>
Date: Thu Jun 30 12:15:52 2022 +0200
zabbix_agentd: Configfile reorganization
- Restrict default main config to only the bare minimum options
and add upstream provided config as example file.
- Remove /etc/zabbix_agentd from backup and instead add only
zabbix_agentd.conf and subdirs 'scripts' and 'zabbix_agentd.d' to
the backup.
- Move ipfire managed userparameter_pakfire.conf from
user managed dir /etc/zabbix_agentd/zabbix_agent.d to
ipfire managed dir /var/ipfire/zabbix_agentd/userparameters
- Add Include line to existing zabbix_agentd.conf to include
the new ipfire managed config dir /var/ipfire/zabbix_agentd/...
- Add and include mandatory IPFire specific agent configuration
which should never be changed by the user.
Signed-off-by: Robin Roevens <robin.roevens(a)disroot.org>
commit 1d00837e7ec11cc8fd88f9bb0cbbfc152012b793
Author: Robin Roevens <robin.roevens(a)disroot.org>
Date: Thu Jun 30 12:15:51 2022 +0200
zabbix_agentd: Fix agent modules dir and few minor bugs
- Add agent modules-dir to backup
- Remove original, not used agent modules dir from rootfile
- Create modules-dir during install if it not already exists
- bugfix: Add existence check before creating log-dir, avoiding error
messages if it already exists from a previous install
- bugfix: add extract_backup_includes to update.sh script to make
sure backup includes exist when backup is taken.
Signed-off-by: Robin Roevens <robin.roevens(a)disroot.org>
commit 9497d862baa8c3ea632147527fe5af6efa28a387
Author: Robin Roevens <robin.roevens(a)disroot.org>
Date: Thu Jun 30 12:15:50 2022 +0200
zabbix_agentd: Update to v6.0.6 (LTS)
- Update from 4.2.6 to latest LTS version 6.0.6
See release notes: https://www.zabbix.com/rn/rn6.0.6
Signed-off-by: Robin Roevens <robin.roevens(a)disroot.org>
commit 8ac8abb2695f0a780d078ed4f21412fc0113e29d
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date: Thu Jun 30 13:21:15 2022 +0000
stripper: Strip any PIE executables
Fixes: #12894
Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>
Reviewed-by: Peter Müller <peter.mueller(a)ipfire.org>
-----------------------------------------------------------------------
Summary of changes:
config/backup/includes/zabbix_agentd | 7 +-
config/cfgroot/network-functions.pl | 20 +
config/rootfiles/core/170/filelists/files | 3 +
config/rootfiles/packages/zabbix_agentd | 12 +-
config/zabbix_agentd/sudoers | 16 +-
config/zabbix_agentd/{sudoers => sudoers_user} | 7 +-
config/zabbix_agentd/userparameter_ipfire.conf | 12 +
config/zabbix_agentd/zabbix_agentd.conf | 406 +--------------------
.../zabbix_agentd_ipfire_mandatory.conf | 11 +
html/cgi-bin/aliases.cgi | 63 +++-
langs/en/cgi-bin/en.pl | 1 +
lfs/dnsdist | 4 +-
lfs/zabbix_agentd | 31 +-
src/misc-progs/setaliases.c | 39 +-
src/paks/zabbix_agentd/install.sh | 48 ++-
src/paks/zabbix_agentd/update.sh | 23 +-
src/stripper | 4 +
17 files changed, 256 insertions(+), 451 deletions(-)
copy config/zabbix_agentd/{sudoers => sudoers_user} (80%)
create mode 100644 config/zabbix_agentd/userparameter_ipfire.conf
create mode 100644 config/zabbix_agentd/zabbix_agentd_ipfire_mandatory.conf
Difference in files:
diff --git a/config/backup/includes/zabbix_agentd b/config/backup/includes/zabbix_agentd
index cba18d772..834766992 100644
--- a/config/backup/includes/zabbix_agentd
+++ b/config/backup/includes/zabbix_agentd
@@ -1,2 +1,5 @@
-/etc/sudoers.d/zabbix
-/etc/zabbix_agentd/*
+/etc/sudoers.d/zabbix_agentd_user
+/etc/zabbix_agentd/zabbix_agentd.conf
+/etc/zabbix_agentd/scripts/
+/etc/zabbix_agentd/zabbix_agentd.d/
+/usr/lib/zabbix/
\ No newline at end of file
diff --git a/config/cfgroot/network-functions.pl b/config/cfgroot/network-functions.pl
index d50322823..4ac6d8670 100644
--- a/config/cfgroot/network-functions.pl
+++ b/config/cfgroot/network-functions.pl
@@ -332,6 +332,26 @@ sub setup_upstream_proxy() {
}
}
+sub get_red_interfaces() {
+ my $default = &General::get_red_interface();
+
+ my @intfs = (
+ $default,
+ );
+
+ opendir(INTERFACES, "/sys/class/net");
+
+ while (my $intf = readdir(INTERFACES)) {
+ if ($intf =~ m/^red[0-9]+$/) {
+ push(@intfs, $intf);
+ }
+ }
+
+ closedir(INTERFACES);
+
+ return &General::uniq(@intfs);
+}
+
sub list_wireless_interfaces() {
my %interfaces = ();
diff --git a/config/rootfiles/core/170/filelists/files b/config/rootfiles/core/170/filelists/files
index e71417ae0..a27d8561b 100644
--- a/config/rootfiles/core/170/filelists/files
+++ b/config/rootfiles/core/170/filelists/files
@@ -1 +1,4 @@
opt/pakfire/lib/functions.pl
+srv/web/ipfire/cgi-bin/aliases.cgi
+usr/local/bin/setaliases
+var/ipfire/network-functions.pl
diff --git a/config/rootfiles/packages/zabbix_agentd b/config/rootfiles/packages/zabbix_agentd
index 4420bda05..6f2c831d7 100644
--- a/config/rootfiles/packages/zabbix_agentd
+++ b/config/rootfiles/packages/zabbix_agentd
@@ -1,18 +1,24 @@
etc/logrotate.d/zabbix_agentd
etc/rc.d/init.d/zabbix_agentd
-etc/sudoers.d/zabbix
+etc/sudoers.d/zabbix_agentd
+etc/sudoers.d/zabbix_agentd_user
etc/zabbix_agentd
etc/zabbix_agentd/scripts
etc/zabbix_agentd/zabbix_agentd.conf
+etc/zabbix_agentd/zabbix_agentd.conf.example
etc/zabbix_agentd/zabbix_agentd.d
-etc/zabbix_agentd/zabbix_agentd.d/userparameter_pakfire.conf
usr/bin/zabbix_get
usr/bin/zabbix_sender
-usr/lib/modules
+#usr/lib/modules
usr/lib/zabbix
usr/sbin/zabbix_agentd
#usr/share/man/man1/zabbix_get.1
#usr/share/man/man1/zabbix_sender.1
#usr/share/man/man8/zabbix_agentd.8
var/ipfire/backup/addons/includes/zabbix_agentd
+var/ipfire/zabbix_agentd
+var/ipfire/zabbix_agentd/zabbix_agentd_ipfire_mandatory.conf
+var/ipfire/zabbix_agentd/userparameters
+var/ipfire/zabbix_agentd/userparameters/userparameter_pakfire.conf
+var/ipfire/zabbix_agentd/userparameters/userparameter_ipfire.conf
#var/log/zabbix
diff --git a/config/zabbix_agentd/sudoers b/config/zabbix_agentd/sudoers
index 1b362a4fd..2d71ae78f 100644
--- a/config/zabbix_agentd/sudoers
+++ b/config/zabbix_agentd/sudoers
@@ -1,17 +1,11 @@
# Include file for sudoers file
#
-# This is needed for some userparameters to be able to execute commands that only run as root (using sudo)
-# e.g. /usr/bin/openssl or /usr/sbin/smartctl
+# This is needed for some IPFire specific userparameters to be able to execute commands that only run as root (using sudo)
#
-# USE AT YOU'RE OWN RISK. USING THIS WRONG CAN RESULT IN A SECURITY BREACH!
+# DO NOT CHANGE THIS FILE. This file is managed by IPFire, will be overwritten on next addon upgrade and is not
+# included in the backup.
#
-# Some hints:
-# - It is strongly recommended to edit this file only using the visudo -f <filename> command. If you mess up this file,
-# you might end up locking yourself out of your system!
-# - Append the full path incl. parameters to each command, using "," as separator.
-# - Only add commands you really need. Zabbix should not have more rights than it has to.
-#
-# Append / edit the following list of commands to fit your needs:
+# To add more sudo rights to zabbix agent, you should modify the sudoers file zabbix_agentd_user
#
Defaults:zabbix !requiretty
-zabbix ALL=(ALL) NOPASSWD: /opt/pakfire/pakfire status
+zabbix ALL=(ALL) NOPASSWD: /opt/pakfire/pakfire status, /usr/sbin/fping, /usr/local/bin/getipstat
diff --git a/config/zabbix_agentd/sudoers_user b/config/zabbix_agentd/sudoers_user
new file mode 100644
index 000000000..61cbc417b
--- /dev/null
+++ b/config/zabbix_agentd/sudoers_user
@@ -0,0 +1,16 @@
+# Include file for sudoers file
+#
+# This is needed for some userparameters to be able to execute commands that only run as root (using sudo)
+# e.g. /usr/bin/openssl or /usr/sbin/smartctl
+#
+# USE AT YOU'RE OWN RISK. USING THIS WRONG CAN RESULT IN A SECURITY BREACH!
+#
+# Some hints:
+# - It is strongly recommended to edit this file only using the visudo -f <filename> command. If you mess up this file,
+# you might end up locking yourself out of your system!
+# - Append the full path incl. parameters to each command, using "," as separator.
+# - Only add commands you really need. Zabbix should not have more rights than it has to.
+#
+# Uncomment the following line and edit the example of commands to fit your needs:
+
+#zabbix ALL=(ALL) NOPASSWD: <custom command 1>, <custom command 2>, ...
diff --git a/config/zabbix_agentd/userparameter_ipfire.conf b/config/zabbix_agentd/userparameter_ipfire.conf
new file mode 100644
index 000000000..10c09c25d
--- /dev/null
+++ b/config/zabbix_agentd/userparameter_ipfire.conf
@@ -0,0 +1,12 @@
+# Parameters for monitoring IPFire specific metrics
+#
+# Internet Gateway ping timings, can be used to measure "Internet Line Quality"
+UserParameter=ipfire.net.gateway.pingtime,sudo /usr/sbin/fping -c 3 gateway 2>&1 | tail -n 1 | awk '{print $NF}' | cut -d '/' -f2
+# Internet Gateway availability, can be used to check Internet connection
+UserParameter=ipfire.net.gateway.ping,sudo /usr/sbin/fping -q -r 3 gateway; [ ! $? ]; echo $?
+# Firewall Filter Forward chain drops in bytes/chain (JSON), can be used for discovery of firewall chains and monitoring of firewall hits on each chain
+UserParameter=ipfire.net.fw.hits.raw,sudo /usr/local/bin/getipstat -xf | grep "\/\* DROP_.* \*\/$" | awk 'BEGIN { ORS = ""; print "["} { printf "%s{\"chain\": \"%s\", \"bytes\": \"%s\"}", separator, substr($11, 6), $2; separator = ", "; } END { print"]" }'
+# Number of currently Active DHCP leases
+UserParameter=ipfire.dhcpd.clients,grep -s -E 'lease|bind' /var/state/dhcp/dhcpd.leases | sed ':a;/{$/{N;s/\n//;ba}' | grep "state active" | wc -l
+# Number of Captive Portal clients
+UserParameter=ipfire.captive.clients,awk -F ',' 'length($2) == 17 {sum += 1} END {if (length(sum) == 0) print 0; else print sum}' /var/ipfire/captive/clients
\ No newline at end of file
diff --git a/config/zabbix_agentd/zabbix_agentd.conf b/config/zabbix_agentd/zabbix_agentd.conf
index 21b8e0122..4480e43f2 100644
--- a/config/zabbix_agentd/zabbix_agentd.conf
+++ b/config/zabbix_agentd/zabbix_agentd.conf
@@ -1,399 +1,27 @@
# This is a configuration file for Zabbix agent daemon (Unix)
# To get more information about Zabbix, visit http://www.zabbix.com
-
-############ GENERAL PARAMETERS #################
-
-### Option: PidFile
-# Name of PID file.
-#
-# Mandatory: no
-# Default:
-# PidFile=/tmp/zabbix_agentd.pid
-
-PidFile=/var/run/zabbix/zabbix_agentd.pid
-
-### Option: LogType
-# Specifies where log messages are written to:
-# system - syslog
-# file - file specified with LogFile parameter
-# console - standard output
-#
-# Mandatory: no
-# Default:
-# LogType=file
-
-### Option: LogFile
-# Log file name for LogType 'file' parameter.
-#
-# Mandatory: yes, if LogType is set to file, otherwise no
-# Default:
-# LogFile=
-
-LogFile=/var/log/zabbix/zabbix_agentd.log
-
-### Option: LogFileSize
-# Maximum size of log file in MB.
-# 0 - disable automatic log rotation.
#
-# Mandatory: no
-# Range: 0-1024
-# Default:
-# LogFileSize=1
-
-LogFileSize=0
+# For possible configuration options,
+# see /etc/zabbix_agentd/zabbix_agentd.conf.example
-### Option: DebugLevel
-# Specifies debug level:
-# 0 - basic information about starting and stopping of Zabbix processes
-# 1 - critical information
-# 2 - error information
-# 3 - warnings
-# 4 - for debugging (produces lots of information)
-# 5 - extended debugging (produces even more information)
-#
-# Mandatory: no
-# Range: 0-5
-# Default:
-# DebugLevel=3
-
-### Option: SourceIP
-# Source IP address for outgoing connections.
-#
-# Mandatory: no
-# Default:
-# SourceIP=
-
-### Option: EnableRemoteCommands
-# Whether remote commands from Zabbix server are allowed.
-# 0 - not allowed
-# 1 - allowed
-#
-# Mandatory: no
-# Default:
-# EnableRemoteCommands=0
-
-### Option: LogRemoteCommands
-# Enable logging of executed shell commands as warnings.
-# 0 - disabled
-# 1 - enabled
-#
-# Mandatory: no
-# Default:
-# LogRemoteCommands=0
-
-##### Passive checks related
-
-### Option: Server
-# List of comma delimited IP addresses, optionally in CIDR notation, or DNS names of Zabbix servers and Zabbix proxies.
-# Incoming connections will be accepted only from the hosts listed here.
-# If IPv6 support is enabled then '127.0.0.1', '::127.0.0.1', '::ffff:127.0.0.1' are treated equally
-# and '::/0' will allow any IPv4 or IPv6 address.
-# '0.0.0.0/0' can be used to allow any IPv4 address.
-# Example: Server=127.0.0.1,192.168.1.0/24,::1,2001:db8::/32,zabbix.example.com
-#
-# Mandatory: yes, if StartAgents is not explicitly set to 0
-# Default:
-# Server=
+# To make sure all Zabbix configuration is correctly included in IPFire backups:
+# - Put custom userparameters in /etc/zabbix_agentd/zabbix_agentd.d/*.conf
+# - Put custom scripts in /etc/zabbix_agentd/scripts
+# - Put custom modules in /usr/lib/zabbix
+# Set your Zabbix Server IP or hostname here (Passive and/or Active):
Server=127.0.0.1
-
-### Option: ListenPort
-# Agent will listen on this port for connections from the server.
-#
-# Mandatory: no
-# Range: 1024-32767
-# Default:
-# ListenPort=10050
-
-### Option: ListenIP
-# List of comma delimited IP addresses that the agent should listen on.
-# First IP address is sent to Zabbix server if connecting to it to retrieve list of active checks.
-#
-# Mandatory: no
-# Default:
-# ListenIP=0.0.0.0
-
-### Option: StartAgents
-# Number of pre-forked instances of zabbix_agentd that process passive checks.
-# If set to 0, disables passive checks and the agent will not listen on any TCP port.
-#
-# Mandatory: no
-# Range: 0-100
-# Default:
-# StartAgents=3
-
-##### Active checks related
-
-### Option: ServerActive
-# List of comma delimited IP:port (or DNS name:port) pairs of Zabbix servers and Zabbix proxies for active checks.
-# If port is not specified, default port is used.
-# IPv6 addresses must be enclosed in square brackets if port for that host is specified.
-# If port is not specified, square brackets for IPv6 addresses are optional.
-# If this parameter is not specified, active checks are disabled.
-# Example: ServerActive=127.0.0.1:20051,zabbix.domain,[::1]:30051,::1,[12fc::1]
-#
-# Mandatory: no
-# Default:
-# ServerActive=
-
ServerActive=127.0.0.1
-### Option: Hostname
-# Unique, case sensitive hostname.
-# Required for active checks and must match hostname as configured on the server.
-# Value is acquired from HostnameItem if undefined.
-#
-# Mandatory: no
-# Default:
-# Hostname=
-
-### Option: HostnameItem
-# Item used for generating Hostname if it is undefined. Ignored if Hostname is defined.
-# Does not support UserParameters or aliases.
-#
-# Mandatory: no
-# Default:
-# HostnameItem=system.hostname
-
-### Option: HostMetadata
-# Optional parameter that defines host metadata.
-# Host metadata is used at host auto-registration process.
-# An agent will issue an error and not start if the value is over limit of 255 characters.
-# If not defined, value will be acquired from HostMetadataItem.
-#
-# Mandatory: no
-# Range: 0-255 characters
-# Default:
-# HostMetadata=
-
-### Option: HostMetadataItem
-# Optional parameter that defines an item used for getting host metadata.
-# Host metadata is used at host auto-registration process.
-# During an auto-registration request an agent will log a warning message if
-# the value returned by specified item is over limit of 255 characters.
-# This option is only used when HostMetadata is not defined.
-#
-# Mandatory: no
-# Default:
-# HostMetadataItem=
-
-### Option: RefreshActiveChecks
-# How often list of active checks is refreshed, in seconds.
-#
-# Mandatory: no
-# Range: 60-3600
-# Default:
-# RefreshActiveChecks=120
+# List of comma delimited IP addresses that the agent should listen on.
+ListenIP=GREEN_ADDRESS
-### Option: BufferSend
-# Do not keep data longer than N seconds in buffer.
-#
-# Mandatory: no
-# Range: 1-3600
-# Default:
-# BufferSend=5
-
-### Option: BufferSize
-# Maximum number of values in a memory buffer. The agent will send
-# all collected data to Zabbix Server or Proxy if the buffer is full.
-#
-# Mandatory: no
-# Range: 2-65535
-# Default:
-# BufferSize=100
-
-### Option: MaxLinesPerSecond
-# Maximum number of new lines the agent will send per second to Zabbix Server
-# or Proxy processing 'log' and 'logrt' active checks.
-# The provided value will be overridden by the parameter 'maxlines',
-# provided in 'log' or 'logrt' item keys.
-#
-# Mandatory: no
-# Range: 1-1000
-# Default:
-# MaxLinesPerSecond=20
+# This line activates IPFire specific userparameters.
+# See IPFire wiki for details.
+# To deactivate them: Comment this line out.
+# (DO NOT REMOVE OR ALTER IT as then it will be re-added on next upgrade)
+Include=/var/ipfire/zabbix_agentd/userparameters/*.conf
-############ ADVANCED PARAMETERS #################
-
-### Option: Alias
-# Sets an alias for an item key. It can be used to substitute long and complex item key with a smaller and simpler one.
-# Multiple Alias parameters may be present. Multiple parameters with the same Alias key are not allowed.
-# Different Alias keys may reference the same item key.
-# For example, to retrieve the ID of user 'zabbix':
-# Alias=zabbix.userid:vfs.file.regexp[/etc/passwd,^zabbix:.:([0-9]+),,,,\1]
-# Now shorthand key zabbix.userid may be used to retrieve data.
-# Aliases can be used in HostMetadataItem but not in HostnameItem parameters.
-#
-# Mandatory: no
-# Range:
-# Default:
-
-### Option: Timeout
-# Spend no more than Timeout seconds on processing
-#
-# Mandatory: no
-# Range: 1-30
-# Default:
-# Timeout=3
-
-### Option: AllowRoot
-# Allow the agent to run as 'root'. If disabled and the agent is started by 'root', the agent
-# will try to switch to the user specified by the User configuration option instead.
-# Has no effect if started under a regular user.
-# 0 - do not allow
-# 1 - allow
-#
-# Mandatory: no
-# Default:
-# AllowRoot=0
-
-### Option: User
-# Drop privileges to a specific, existing user on the system.
-# Only has effect if run as 'root' and AllowRoot is disabled.
-#
-# Mandatory: no
-# Default:
-# User=zabbix
-
-### Option: Include
-# You may include individual files or all files in a directory in the configuration file.
-# Installing Zabbix will create include directory in /usr/local/etc, unless modified during the compile time.
-#
-# Mandatory: no
-# Default:
-# Include=
-
-Include=/etc/zabbix_agentd/zabbix_agentd.d/*.conf
-
-
-####### USER-DEFINED MONITORED PARAMETERS #######
-
-### Option: UnsafeUserParameters
-# Allow all characters to be passed in arguments to user-defined parameters.
-# The following characters are not allowed:
-# \ ' " ` * ? [ ] { } ~ $ ! & ; ( ) < > | # @
-# Additionally, newline characters are not allowed.
-# 0 - do not allow
-# 1 - allow
-#
-# Mandatory: no
-# Range: 0-1
-# Default:
-# UnsafeUserParameters=0
-
-### Option: UserParameter
-# User-defined parameter to monitor. There can be several user-defined parameters.
-# Format: UserParameter=<key>,<shell command>
-# See 'zabbix_agentd' directory for examples.
-#
-# Mandatory: no
-# Default:
-# UserParameter=
-
-####### LOADABLE MODULES #######
-
-### Option: LoadModulePath
-# Full path to location of agent modules.
-# Default depends on compilation options.
-# To see the default path run command "zabbix_agentd --help".
-#
-# Mandatory: no
-# Default:
-# LoadModulePath=/usr/lib/modules
-
-LoadModulePath=/usr/lib/zabbix
-
-### Option: LoadModule
-# Module to load at agent startup. Modules are used to extend functionality of the agent.
-# Formats:
-# LoadModule=<module.so>
-# LoadModule=<path/module.so>
-# LoadModule=</abs_path/module.so>
-# Either the module must be located in directory specified by LoadModulePath or the path must precede the module name.
-# If the preceding path is absolute (starts with '/') then LoadModulePath is ignored.
-# It is allowed to include multiple LoadModule parameters.
-#
-# Mandatory: no
-# Default:
-# LoadModule=
-
-####### TLS-RELATED PARAMETERS #######
-
-### Option: TLSConnect
-# How the agent should connect to server or proxy. Used for active checks.
-# Only one value can be specified:
-# unencrypted - connect without encryption
-# psk - connect using TLS and a pre-shared key
-# cert - connect using TLS and a certificate
-#
-# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
-# Default:
-# TLSConnect=unencrypted
-
-### Option: TLSAccept
-# What incoming connections to accept.
-# Multiple values can be specified, separated by comma:
-# unencrypted - accept connections without encryption
-# psk - accept connections secured with TLS and a pre-shared key
-# cert - accept connections secured with TLS and a certificate
-#
-# Mandatory: yes, if TLS certificate or PSK parameters are defined (even for 'unencrypted' connection)
-# Default:
-# TLSAccept=unencrypted
-
-### Option: TLSCAFile
-# Full pathname of a file containing the top-level CA(s) certificates for
-# peer certificate verification.
-#
-# Mandatory: no
-# Default:
-# TLSCAFile=
-
-### Option: TLSCRLFile
-# Full pathname of a file containing revoked certificates.
-#
-# Mandatory: no
-# Default:
-# TLSCRLFile=
-
-### Option: TLSServerCertIssuer
-# Allowed server certificate issuer.
-#
-# Mandatory: no
-# Default:
-# TLSServerCertIssuer=
-
-### Option: TLSServerCertSubject
-# Allowed server certificate subject.
-#
-# Mandatory: no
-# Default:
-# TLSServerCertSubject=
-
-### Option: TLSCertFile
-# Full pathname of a file containing the agent certificate or certificate chain.
-#
-# Mandatory: no
-# Default:
-# TLSCertFile=
-
-### Option: TLSKeyFile
-# Full pathname of a file containing the agent private key.
-#
-# Mandatory: no
-# Default:
-# TLSKeyFile=
-
-### Option: TLSPSKIdentity
-# Unique, case sensitive string used to identify the pre-shared key.
-#
-# Mandatory: no
-# Default:
-# TLSPSKIdentity=
-
-### Option: TLSPSKFile
-# Full pathname of a file containing the pre-shared key.
-#
-# Mandatory: no
-# Default:
-# TLSPSKFile=
+# Mandatory Zabbix Agent configuration to start and run on IPFire correctly
+# DO NOT REMOVE OR MODIFY THIS LINE:
+Include=/var/ipfire/zabbix_agentd/zabbix_agentd_ipfire_mandatory.conf
\ No newline at end of file
diff --git a/config/zabbix_agentd/zabbix_agentd_ipfire_mandatory.conf b/config/zabbix_agentd/zabbix_agentd_ipfire_mandatory.conf
new file mode 100644
index 000000000..c6be948be
--- /dev/null
+++ b/config/zabbix_agentd/zabbix_agentd_ipfire_mandatory.conf
@@ -0,0 +1,11 @@
+PidFile=/var/run/zabbix/zabbix_agentd.pid
+
+# Log rotation is managed by logrotate
+LogFile=/var/log/zabbix/zabbix_agentd.log
+LogFileSize=0
+
+# These paths are included in the IPFire backups. Do not put user modules
+# or configuration files in other locations if you want them included in the
+# backups.
+LoadModulePath=/usr/lib/zabbix
+Include=/etc/zabbix_agentd/zabbix_agentd.d/*.conf
\ No newline at end of file
diff --git a/html/cgi-bin/aliases.cgi b/html/cgi-bin/aliases.cgi
index 7b80b3c84..def03ff9b 100644
--- a/html/cgi-bin/aliases.cgi
+++ b/html/cgi-bin/aliases.cgi
@@ -34,6 +34,7 @@ require '/var/ipfire/general-functions.pl'; # replace /var/ipcop with /var/ipcop
require "${General::swroot}/lang.pl";
require "${General::swroot}/header.pl";
require "${General::swroot}/ids-functions.pl";
+require "${General::swroot}/network-functions.pl";
my $configfwdfw = "${General::swroot}/firewall/config";
my $configinput = "${General::swroot}/firewall/input";
@@ -52,6 +53,11 @@ undef (@dummy);
my $setting = "${General::swroot}/ethernet/settings";
our $datafile = "${General::swroot}/ethernet/aliases";
+# Fetch the name of the main RED interface
+my $RED_INTERFACE = &General::get_red_interface();
+
+# Fetch all RED interfaces
+my @RED_INTERFACES = &Network::get_red_interfaces();
our %settings=();
#Settings1
@@ -61,7 +67,8 @@ our %settings=();
$settings{'IP'} = '';
$settings{'ENABLED'} = 'off'; # Every check box must be set to off
$settings{'NAME'} = '';
-my @nosaved=('IP','ENABLED','NAME'); # List here ALL setting2 fields. Mandatory
+$settings{'INTERFACE'} = '';
+my @nosaved=('IP','ENABLED','NAME','INTERFACE'); # List here ALL setting2 fields. Mandatory
$settings{'ACTION'} = ''; # add/edit/remove
$settings{'KEY1'} = ''; # point record for ACTION
@@ -215,10 +222,10 @@ if ($settings{'ACTION'} eq $Lang::tr{'add'}) {
}
unless ($errormessage) {
if ($settings{'KEY1'} eq '') { #add or edit ?
- unshift (@current, "$settings{'IP'},$settings{'ENABLED'},$settings{'NAME'}\n");
+ unshift (@current, "$settings{'IP'},$settings{'ENABLED'},$settings{'NAME'},$settings{'INTERFACE'}\n");
&General::log($Lang::tr{'ip alias added'});
} else {
- @current[$settings{'KEY1'}] = "$settings{'IP'},$settings{'ENABLED'},$settings{'NAME'}\n";
+ @current[$settings{'KEY1'}] = "$settings{'IP'},$settings{'ENABLED'},$settings{'NAME'},$settings{'INTERFACE'}\n";
$settings{'KEY1'} = ''; # End edit mode
&General::log($Lang::tr{'ip alias changed'});
}
@@ -250,6 +257,7 @@ if ($settings{'ACTION'} eq $Lang::tr{'edit'}) {
$settings{'IP'}=$temp[0]; # Prepare the screen for editing
$settings{'ENABLED'}=$temp[1];
$settings{'NAME'}=$temp[2];
+ $settings{'INTERFACE'}=$temp[3];
}
if ($settings{'ACTION'} eq $Lang::tr{'remove'}) {
@@ -295,6 +303,7 @@ if ($settings{'ACTION'} eq '' ) { # First launch from GUI
&Header::openpage($Lang::tr{'external aliases configuration'}, 1, '');
&Header::openbigbox('100%', 'left', '', $errormessage);
my %checked =(); # Checkbox manipulations
+my %selected = ();
if ($errormessage) {
&Header::openbox('100%', 'left', $Lang::tr{'error messages'});
@@ -320,6 +329,11 @@ END
#
$checked{'ENABLED'}{'on'} = ($settings{'ENABLED'} eq 'on') ? "checked='checked'" : '' ;
+$selected{'INTERFACE'} = ();
+foreach my $intf (@RED_INTERFACES) {
+ $selected{'INTERFACE'}{$intf} = ($settings{'INTERFACE'} eq $intf) ? "selected" : "";
+}
+
my $buttontext = $Lang::tr{'add'};
if ($settings{'KEY1'} ne '') {
$buttontext = $Lang::tr{'update'};
@@ -329,7 +343,7 @@ if ($settings{'KEY1'} ne '') {
}
#Edited line number (KEY1) passed until cleared by 'save' or 'remove' or 'new sort order'
-print <<END
+print <<END;
<form method='post' action='$ENV{'SCRIPT_NAME'}'>
<input type='hidden' name='KEY1' value='$settings{'KEY1'}' />
<input type='hidden' name='OLDNAME' value='$settings{'NAME'}' />
@@ -340,6 +354,33 @@ print <<END
<td><input type='text' name='NAME' value='$settings{'NAME'}' size='32' /></td>
<td class='base' style='text-align:right; color:${Header::colourred};'>$Lang::tr{'alias ip'}: </td>
<td><input type='text' name='IP' value='$settings{'IP'}' size='16' /></td>
+END
+
+if (scalar @RED_INTERFACES >= 2) {
+ print <<END;
+ <td class='base' style='color:${Header::colourred};'>$Lang::tr{'interface'}:</td>
+ <td>
+ <select name="INTERFACE">
+ <option value="">$Lang::tr{'aliases default interface'}</option>
+END
+
+ # Print an option for each RED interface
+ foreach my $intf (@RED_INTERFACES) {
+ # Skip the default one
+ next if ($RED_INTERFACE eq $intf);
+
+ print <<END;
+ <option value="$intf" $selected{'INTERFACE'}{$intf}>$intf</option>
+END
+ }
+
+ print <<END;
+ </select>
+ </td>
+END
+}
+
+print <<END;
<td class='base' style='text-align:right;'>$Lang::tr{'enabled'} </td>
<td><input type='checkbox' name='ENABLED' $checked{'ENABLED'}{'on'} /></td>
</tr>
@@ -353,7 +394,7 @@ print <<END
</table>
</form>
END
-;
+
&Header::closebox();
# Add visual indicators to column headings to show sort order - EO
@@ -419,9 +460,15 @@ foreach my $line (@current) {
}
print "<tr style='$col'>";
+ my $address = $temp[0];
+
+ if ($temp[3] ne "") {
+ $address .= " @ $temp[3]";
+ }
+
print <<END
<td style='text-align:center; $col'>$temp[2]</td>
-<td style='text-align:center; $col'>$temp[0]</td>
+<td style='text-align:center; $col'>$address</td>
<td style='text-align:center; $col'>
<form method='post' action='$ENV{'SCRIPT_NAME'}'>
@@ -542,7 +589,7 @@ sub SortDataFile
# The KEY,key record permits doublons. If removed, then F1 becomes the key without doublon permitted.
- my @record = ('KEY',$key++,'IP',$temp[0],'ENABLED',$temp[1],'NAME',$temp[2]);
+ my @record = ('KEY',$key++,'IP',$temp[0],'ENABLED',$temp[1],'NAME',$temp[2],'INTERFACE',$temp[3]);
my $record = {}; # create a reference to empty hash
%{$record} = @record; # populate that hash with @record
$entries{$record->{KEY}} = $record; # add this to a hash of hashes
@@ -552,7 +599,7 @@ sub SortDataFile
# Each field value is printed , with the newline ! Don't forget separator and order of them.
foreach my $entry (sort fixedleasesort keys %entries) {
- print FILE "$entries{$entry}->{IP},$entries{$entry}->{ENABLED},$entries{$entry}->{NAME}\n";
+ print FILE "$entries{$entry}->{IP},$entries{$entry}->{ENABLED},$entries{$entry}->{NAME},$entries{$entry}->{INTERFACE}\n";
}
close(FILE);
diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl
index 2c79f1cbc..99698948d 100644
--- a/langs/en/cgi-bin/en.pl
+++ b/langs/en/cgi-bin/en.pl
@@ -422,6 +422,7 @@
'alcatelusb upload' => 'Upload Speedtouch USB firmware',
'alias ip' => 'Alias IP',
'aliases' => 'Aliases',
+'aliases default interface' => '- Default Interface -',
'aliases not active' => 'Aliases will not be active unless your RED interface is STATIC',
'all' => 'All',
'all interfaces' => 'All Interfaces',
diff --git a/lfs/dnsdist b/lfs/dnsdist
index 9b668f40a..790505751 100644
--- a/lfs/dnsdist
+++ b/lfs/dnsdist
@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2021 IPFire Team <info(a)ipfire.org> #
+# Copyright (C) 2007-2022 IPFire Team <info(a)ipfire.org> #
# #
# 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 #
@@ -34,7 +34,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = dnsdist
-PAK_VER = 12
+PAK_VER = 13
SUP_ARCH = x86_64 aarch64
diff --git a/lfs/zabbix_agentd b/lfs/zabbix_agentd
index 63566c1a7..73c5dc0b6 100644
--- a/lfs/zabbix_agentd
+++ b/lfs/zabbix_agentd
@@ -1,7 +1,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2019 IPFire Team <info(a)ipfire.org> #
+# Copyright (C) 2007-2022 IPFire Team <info(a)ipfire.org> #
# #
# 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
SUMMARY = Zabbix Agent
-VER = 4.2.6
+VER = 6.0.6
THISAPP = zabbix-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -34,8 +34,9 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = zabbix_agentd
-PAK_VER = 4
-DEPS =
+PAK_VER = 5
+
+DEPS = fping
SERVICES = zabbix_agentd
@@ -47,7 +48,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 = 644bb9fd3afaa26c572f97018039d564a7ce156d0bf8d2449a1d3d04fdfaca05087d71e6a5ddcf3ed13a5719256865780f180dd3488bab470816dac7af70ff09
+$(DL_FILE)_BLAKE2 = f9d07ca8938ae4e5e47048c32872644caeda0ecdef17513c63c63d1ce2aaa4ac0c92e6c70932bc598ff908419dae05bab32924f5973a5528b5668f7c7c2c5a17
install : $(TARGET)
@@ -84,7 +85,8 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
--prefix=/usr \
--enable-agent \
--sysconfdir=/etc/zabbix_agentd \
- --with-openssl
+ --with-openssl \
+ --with-libcurl
cd $(DIR_APP) && make
cd $(DIR_APP) && make install
@@ -93,10 +95,21 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
-rmdir /etc/zabbix_agentd/zabbix_agentd.conf.d
-mkdir -pv /etc/zabbix_agentd/zabbix_agentd.d
-mkdir -pv /etc/zabbix_agentd/scripts
+ # Move upstream supplied config out of the way for reference
+ # and install our own version of the config.
+ -mv /etc/zabbix_agentd/zabbix_agentd.conf \
+ /etc/zabbix_agentd/zabbix_agentd.conf.example
install -v -m 644 $(DIR_SRC)/config/zabbix_agentd/zabbix_agentd.conf \
/etc/zabbix_agentd/zabbix_agentd.conf
+
+ # Install IPFire-specific Zabbix Agent config
+ -mkdir -pv /var/ipfire/zabbix_agentd/userparameters
+ install -v -m 644 $(DIR_SRC)/config/zabbix_agentd/zabbix_agentd_ipfire_mandatory.conf \
+ /var/ipfire/zabbix_agentd/zabbix_agentd_ipfire_mandatory.conf
install -v -m 644 $(DIR_SRC)/config/zabbix_agentd/userparameter_pakfire.conf \
- /etc/zabbix_agentd/zabbix_agentd.d/userparameter_pakfire.conf
+ /var/ipfire/zabbix_agentd/userparameters/userparameter_pakfire.conf
+ install -v -m 644 $(DIR_SRC)/config/zabbix_agentd/userparameter_ipfire.conf \
+ /var/ipfire/zabbix_agentd/userparameters/userparameter_ipfire.conf
# Create directory for additional agent modules
-mkdir -pv /usr/lib/zabbix
@@ -114,7 +127,9 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
# Install sudoers include file
install -v -m 640 $(DIR_SRC)/config/zabbix_agentd/sudoers \
- /etc/sudoers.d/zabbix
+ /etc/sudoers.d/zabbix_agentd
+ install -v -m 640 $(DIR_SRC)/config/zabbix_agentd/sudoers_user \
+ /etc/sudoers.d/zabbix_agentd_user
# Install include file for backup
install -v -m 644 $(DIR_SRC)/config/backup/includes/zabbix_agentd \
diff --git a/src/misc-progs/setaliases.c b/src/misc-progs/setaliases.c
index 4ba6816af..a541a4fd2 100644
--- a/src/misc-progs/setaliases.c
+++ b/src/misc-progs/setaliases.c
@@ -28,6 +28,8 @@
struct keyvalue *kv = NULL;
FILE *file = NULL;
+#define SCOPE 128
+
void exithandler(void)
{
if (kv) freekeyvalues(kv);
@@ -45,6 +47,7 @@ int main(void)
char *enabled;
char *sptr;
char *comment;
+ char* intf = NULL;
int alias;
int count;
@@ -118,13 +121,12 @@ int main(void)
exit(1);
}
- /* down the aliases in turn until ifconfig complains */
- alias=0;
- do
- {
- memset(command, 0, STRING_SIZE);
- snprintf(command, STRING_SIZE-1, "/sbin/ifconfig %s:%d down 2>/dev/null", red_dev, alias++);
- } while (safe_system(command)==0);
+ // Flush all previous aliases
+ alias = 0;
+ do {
+ snprintf(command, STRING_SIZE - 1,
+ "ip addr flush dev red%d scope %d 2>/dev/null", alias++, SCOPE);
+ } while (safe_system(command) == 0);
/* Now set up the new aliases from the config file */
if (!(file = fopen(CONFIG_ROOT "/ethernet/aliases", "r")))
@@ -144,15 +146,18 @@ int main(void)
aliasip = NULL;
enabled = NULL;
comment = NULL;
+ intf = NULL;
sptr = strtok(s, ",");
while (sptr)
{
if (count == 0)
aliasip = sptr;
- if (count == 1)
+ else if (count == 1)
enabled = sptr;
- else
+ else if (count == 2)
comment = sptr;
+ else if (count == 3)
+ intf = sptr;
count++;
sptr = strtok(NULL, ",");
}
@@ -175,16 +180,14 @@ int main(void)
exit(1);
}
- memset(command, 0, STRING_SIZE);
- snprintf(command, STRING_SIZE-1,
- "/sbin/ifconfig %s:%d %s netmask %s up",
- red_dev, alias, aliasip, red_netmask);
- safe_system(command);
- memset(command, 0, STRING_SIZE);
- snprintf(command, STRING_SIZE-1,
- "/usr/sbin/arping -q -c 1 -w 1 -i %s -S %s %s",
- red_dev, aliasip, default_gateway);
+ // Default to RED_DEV if intf isn't set
+ if (!intf)
+ intf = red_dev;
+
+ snprintf(command, STRING_SIZE - 1, "ip addr add %s/%s dev %s scope %d",
+ aliasip, red_netmask, intf, SCOPE);
safe_system(command);
+
alias++;
}
return 0;
diff --git a/src/paks/zabbix_agentd/install.sh b/src/paks/zabbix_agentd/install.sh
index e1450a1d8..80632d1ec 100644
--- a/src/paks/zabbix_agentd/install.sh
+++ b/src/paks/zabbix_agentd/install.sh
@@ -39,8 +39,52 @@ ln -sf ../init.d/zabbix_agentd /etc/rc.d/rc0.d/K02zabbix_agentd
ln -sf ../init.d/zabbix_agentd /etc/rc.d/rc6.d/K02zabbix_agentd
# Create additonal directories and set permissions
-mkdir -pv /var/log/zabbix
-chown zabbix.zabbix /var/log/zabbix
+[ -d /var/log/zabbix ] || ( mkdir -pv /var/log/zabbix && chown zabbix.zabbix /var/log/zabbix )
+[ -d /usr/lib/zabbix ] || ( mkdir -pv /usr/lib/zabbix && chown zabbix.zabbix /usr/lib/zabbix )
restore_backup ${NAME}
+
+# Check if old IPFire specifc userparameters exist and move out of the way
+if [ -f /etc/zabbix_agentd/zabbix_agentd.d/userparameter_pakfire.conf ]; then
+ mv /etc/zabbix_agentd/zabbix_agentd.d/userparameter_pakfire.conf \
+ /etc/zabbix_agentd/zabbix_agentd.d/userparameter_pakfire.conf.save
+fi
+
+# Check if new IPFire specific config is included in restored config
+# and add if required.
+grep -q "Include=/var/ipfire/zabbix_agentd/userparameters/\*.conf" /etc/zabbix_agentd/zabbix_agentd.conf
+if [ $? -eq 1 ]; then
+ echo "" >> /etc/zabbix_agentd/zabbix_agentd.conf
+ echo "# This line activates IPFire specific userparameters. " >> /etc/zabbix_agentd/zabbix_agentd.conf
+ echo "# See IPFire wiki for details." >> /etc/zabbix_agentd/zabbix_agentd.conf
+ echo "# To deactivate them: Comment this line out." >> /etc/zabbix_agentd/zabbix_agentd.conf
+ echo "# (DO NOT REMOVE OR ALTER IT as then it will be re-added on next upgrade)" >> /etc/zabbix_agentd/zabbix_agentd.conf
+ echo "Include=/var/ipfire/zabbix_agentd/userparameters/*.conf" >> /etc/zabbix_agentd/zabbix_agentd.conf
+fi
+
+grep -q "Include=/var/ipfire/zabbix_agentd/zabbix_agentd_ipfire_mandatory.conf" /etc/zabbix_agentd/zabbix_agentd.conf
+if [ $? -eq 1 ]; then
+ # Remove settings that are now in our own config
+ sed -i -e "\|^PidFile=.*$|d" /etc/zabbix_agentd/zabbix_agentd.conf
+ sed -i -e "\|^LogFile=.*$|d" /etc/zabbix_agentd/zabbix_agentd.conf
+ sed -i -e "\|^LogFileSize=.*$|d" /etc/zabbix_agentd/zabbix_agentd.conf
+ sed -i -e "\|^LoadModulePath=.*$|d" /etc/zabbix_agentd/zabbix_agentd.conf
+ sed -i -e "\|^Include=/etc/zabbix_agentd/zabbix_agentd\.d/\*\.conf$|d" /etc/zabbix_agentd/zabbix_agentd.conf
+ # Include our own config in main config
+ echo "" >> /etc/zabbix_agentd/zabbix_agentd.conf
+ echo "# Mandatory Zabbix Agent configuration to start and run on IPFire correctly" >> /etc/zabbix_agentd/zabbix_agentd.conf
+ echo "# DO NOT REMOVE OR MODIFY THIS LINE:" >> /etc/zabbix_agentd/zabbix_agentd.conf
+ echo "Include=/var/ipfire/zabbix_agentd/zabbix_agentd_ipfire_mandatory.conf" >> /etc/zabbix_agentd/zabbix_agentd.conf
+fi
+
+# By default, only listen on GREEN
+(
+ eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
+ if [ -n "${GREEN_ADDRESS}" ]; then
+ sed -i -e "s|ListenIP=GREEN_ADDRESS|ListenIP=${GREEN_ADDRESS}|g" /etc/zabbix_agentd/zabbix_agentd.conf
+ else
+ sed -i -e "\|ListenIP=GREEN_ADDRESS|d" /etc/zabbix_agentd/zabbix_agentd.conf
+ fi
+) || :
+
start_service --background ${NAME}
diff --git a/src/paks/zabbix_agentd/update.sh b/src/paks/zabbix_agentd/update.sh
index 7fc1c96fb..a41e72ab4 100644
--- a/src/paks/zabbix_agentd/update.sh
+++ b/src/paks/zabbix_agentd/update.sh
@@ -22,10 +22,25 @@
############################################################################
#
. /opt/pakfire/lib/functions.sh
-./uninstall.sh
-./install.sh
-# Ensure /etc/sudoers.d/zabbix.user is renamed to /etc/sudoers.d/zabbix
-if [ -e /etc/sudoers.d/zabbix.user ]; then
+# Check if old sudoers file exists and remove if it was not modified
+# or rename to the new zabbix_agentd_user file if it was.
+if [ -f /etc/sudoers.d/zabbix.user ]; then
mv -v /etc/sudoers.d/zabbix.user /etc/sudoers.d/zabbix
fi
+
+if [ -f /etc/sudoers.d/zabbix ]; then
+ blake2=$(b2sum /etc/sudoers.d/zabbix | cut -f1 -d" ")
+ # from commits 5737a22 & 06fc617
+ if [ "$blake2" == "b0f73b107fd3842efc7ef3e30f6d948235aa07d533715476c2d3f58c08379193fdde9ff69aa6e0f5eb6cf4a98b2ed2a6f003f23078a57aff239b34cc29e62a98" ] || \
+ [ "$blake2" == "0628c416a1f217b0962a8ce6d1e339bdb0f0427d86fc06b2e40b63487ffc1a3543562d16f7f954d7fb92cee9764f0261c1663a39dd50bc73fd9b772575c56cfc" ]; then
+ rm -vf /etc/sudoers.d/zabbix
+ else
+ mv -v /etc/sudoers.d/zabbix /etc/sudoers.d/zabbix_agentd_user
+ fi
+fi
+
+extract_backup_includes
+./uninstall.sh
+./install.sh
+
diff --git a/src/stripper b/src/stripper
index fadbc514b..4014f03a4 100755
--- a/src/stripper
+++ b/src/stripper
@@ -38,6 +38,10 @@ function _strip() {
args+=( "--strip-all" )
;;
+ *Type:*"DYN (Position-Independent Executable file)"*)
+ args+=( "--strip-all" )
+ ;;
+
# Binaries
*Type:*"EXEC (Executable file)"*)
args+=( "--strip-all" )
hooks/post-receive
--
IPFire 2.x development tree
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 f42dc99758f90700fc0fd1a12bb1768fb6a3f9e1 (commit)
via 5503a18d716c42c68b5ffab7b29a19710afa4646 (commit)
via 53eb573f27effd3fa9e6f116c90ccbacdc9e54a7 (commit)
via 8ce729457d736aee35fc5f731cc6aa17ff549c73 (commit)
via 0eaaa300d8c4d682d7302c39d36ffba1fde18ef7 (commit)
via 541f938d8b3f991c12c866c94e0803ffb940c2ef (commit)
via ccddf4ce8d2bd728a307455155b75baf7dc4d5fd (commit)
via fdb3fb1565879a5b541d96c91e231796a0f4be94 (commit)
via 023ed8cefd6f3511263dfddb298fba5613f159cc (commit)
via 1cc86b66ecae3866ac0b58044874a05605a759fb (commit)
via e09731d5e4eda69ed37286c7e9de3cce07141ec9 (commit)
via c5706bf1efaea76b9d42225093a4d56e4bc5ef35 (commit)
via 79781dda3fe241002c39046c15dc6f5aa0ee1e50 (commit)
via fe6afd5ccc14706fc9646b19bf84bc58a7d45c97 (commit)
via 44daf2f5ee6bf240d6738494c93095ce6122b597 (commit)
via 5b855a903ec098222b65f93c4f06e793239cd240 (commit)
via d6626067a7044c4a06df637fdf8cefc6adb3684c (commit)
via bc9673ded3d8d997f2d9dd1b1a84d7744fc1bf66 (commit)
via 09c2a2ec0e3c6c1057ac7a23115185f027168f5a (commit)
via 1d14e5a23a056cf2b315f8ff8ee7ec2eb97960d3 (commit)
via 98eac192ad4071d74e5a4c4f5631f9edfd3f0715 (commit)
via 7230084809ea5704e56aec4bb1173845e4567e55 (commit)
via 4ccf0c9ddc5c8e76147abfe6cfd316360e9e3502 (commit)
via 8024cc05a10dff90e2c3d0069d1ff27e1b6a3ce2 (commit)
via cacf78e8ccce668a85fb347de398958de6d15568 (commit)
via 34ebd4e5f1431c5c4f6da4a011f896212d234118 (commit)
via 643871d4a79791e469b798414778669a3cf67ce9 (commit)
via 34e16b8653a3e770523035a4c898acaee762d5c4 (commit)
via 2296698ec46d297520584f67936be3d81c20feb4 (commit)
via a8344bbac55279517848f33214da9016d49d08de (commit)
via ef03abb15d8ca7811472e99a72b1afc8dc17ac84 (commit)
via f653df852ad45a19e686c0c8d833a1fcbfd4faac (commit)
from 8000bc0a4375ee7afdc1d56023681b8ac9502c3d (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 f42dc99758f90700fc0fd1a12bb1768fb6a3f9e1
Merge: 5503a18d7 8000bc0a4
Author: Peter Müller <peter.mueller(a)ipfire.org>
Date: Wed Jul 6 06:14:54 2022 +0000
Merge branch 'next' into temp-c170-development
commit 5503a18d716c42c68b5ffab7b29a19710afa4646
Merge: 53eb573f2 f5117ab51
Author: Peter Müller <peter.mueller(a)ipfire.org>
Date: Mon Jun 27 13:29:18 2022 +0000
Merge branch 'next' into temp-c170-development
Signed-off-by: Peter Müller <peter.mueller(a)ipfire.org>
commit 53eb573f27effd3fa9e6f116c90ccbacdc9e54a7
Author: Peter Müller <peter.mueller(a)ipfire.org>
Date: Sat Jun 25 11:15:43 2022 +0000
Core Update 170: Ship Pakfire functions.pl
Signed-off-by: Peter Müller <peter.mueller(a)ipfire.org>
commit 8ce729457d736aee35fc5f731cc6aa17ff549c73
Author: Robin Roevens <robin.roevens(a)disroot.org>
Date: Wed Feb 23 21:21:30 2022 +0100
pakfire: Better errorhandling on downloads
- Add true/false return codes to fetchfile, getmetafile and getmirrors
indicating succes or failure.
- Check on those return codes and fail gracefully with clean
error message(s) when downloads fail.
- Replace duplicate meta-file fetching code in dbgetlist with
getmetafile function (fixing possibly missed cariage return
conversion in meta-files).
- Remove pointless 5 retries to download server-list.db in
selectmirror as fetchfile already retries 5 times.
commit 0eaaa300d8c4d682d7302c39d36ffba1fde18ef7
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Fri Jun 17 11:42:43 2022 +0200
rust-time: Required for update of python3-cryptography
- lfs and rootfile created
- Patch created to remove requirement for winapi and related windows dependencies
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
commit 541f938d8b3f991c12c866c94e0803ffb940c2ef
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Fri Jun 17 11:42:42 2022 +0200
rust-stable_deref_trait: Required for update of python3-cryptography
- lfs and rootfile created
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
commit ccddf4ce8d2bd728a307455155b75baf7dc4d5fd
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Fri Jun 17 11:42:41 2022 +0200
rust-proc-macro-error-attr: Required for update of python3-cryptography
- lfs and rootfile created
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
commit fdb3fb1565879a5b541d96c91e231796a0f4be94
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Fri Jun 17 11:42:40 2022 +0200
rust-proc-macro-error: Required for update of python3-cryptography
- lfs and rootfile created
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
commit 023ed8cefd6f3511263dfddb298fba5613f159cc
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Fri Jun 17 11:42:39 2022 +0200
rust-pem: Required for update of python3-cryptography
- lfs and rootfile created
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
commit 1cc86b66ecae3866ac0b58044874a05605a759fb
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Fri Jun 17 11:42:38 2022 +0200
rust-paste-0.1.18: Required for update of python3-cryptography
- lfs and rootfile created
- python3-cryptography build requires older version than was already installed.
Therefore named version 0.1.18 created, leaving original rust-paste in place
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
commit e09731d5e4eda69ed37286c7e9de3cce07141ec9
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Fri Jun 17 11:42:37 2022 +0200
rust-ouroboros_macro: Required for update of python3-cryptography
- lfs and rootfile created
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
commit c5706bf1efaea76b9d42225093a4d56e4bc5ef35
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Fri Jun 17 11:42:36 2022 +0200
rust-ouroboros: Required for update of python3-cryptography
- lfs and rootfile created
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
commit 79781dda3fe241002c39046c15dc6f5aa0ee1e50
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Fri Jun 17 11:42:35 2022 +0200
rust-num_threads: Required for update of python3-cryptography
- lfs and rootfile created
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
commit fe6afd5ccc14706fc9646b19bf84bc58a7d45c97
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Fri Jun 17 11:42:34 2022 +0200
rust-num-traits: Required for update of python3-cryptography
- lfs and rootfile created
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
commit 44daf2f5ee6bf240d6738494c93095ce6122b597
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Fri Jun 17 11:42:33 2022 +0200
rust-num-integer: Required for update of python3-cryptography
- lfs and rootfile created
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
commit 5b855a903ec098222b65f93c4f06e793239cd240
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Fri Jun 17 11:42:32 2022 +0200
rust-indoc-0.3.6: Required for update of python3-cryptography
- lfs and rootfile created
- python3-cryptography build requires older version than was already installed.
Therefore named version 0.3.6 created, leaving original rust-indoc in place
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
commit d6626067a7044c4a06df637fdf8cefc6adb3684c
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Fri Jun 17 11:42:31 2022 +0200
rust-chrono: Required for update of python3-cryptography
- lfs and rootfile created
- Patch created to remove requirement for winapi and related windows dependencies
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
commit bc9673ded3d8d997f2d9dd1b1a84d7744fc1bf66
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Fri Jun 17 11:42:30 2022 +0200
rust-base64: Required for update of python3-cryptography
- lfs and rootfile created
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
commit 09c2a2ec0e3c6c1057ac7a23115185f027168f5a
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Fri Jun 17 11:42:29 2022 +0200
rust-asn1_derive: Required for update of python3-cryptography
- lfs and rootfile created
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
commit 1d14e5a23a056cf2b315f8ff8ee7ec2eb97960d3
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Fri Jun 17 11:42:28 2022 +0200
rust-asn1: Required for update of python3-cryptography
- lfs and rootfile created
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
commit 98eac192ad4071d74e5a4c4f5631f9edfd3f0715
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Fri Jun 17 11:42:27 2022 +0200
rust-aliasable: Required for update of python3-cryptography
- lfs and rootfile created
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
commit 7230084809ea5704e56aec4bb1173845e4567e55
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Fri Jun 17 11:42:26 2022 +0200
rust-Inflector: Required for update of python3-cryptography
- lfs and rootfile created
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
commit 4ccf0c9ddc5c8e76147abfe6cfd316360e9e3502
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Fri Jun 17 11:42:25 2022 +0200
rust-pyo3-macros-backend: Update to version 0.15.1 - required for python3-cryptography update
- Update from version 0.13.1 to 0.15.1
Required to be at same version as rust-pyo3
- Update of rootfile
- Changelog not available
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
commit 8024cc05a10dff90e2c3d0069d1ff27e1b6a3ce2
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Fri Jun 17 11:42:24 2022 +0200
rust-pyo3-macros: Update to version 0.15.1 - required for python3-cryptography update
- Update from version 0.13.1 to 0.15.1
Required to be at same version as rust-pyo3
- Update of rootfile
- Changelog not available
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
commit cacf78e8ccce668a85fb347de398958de6d15568
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Fri Jun 17 11:42:23 2022 +0200
rust-pyo3: Update to version 0.15.1 - required for python3-cryptography
- Update from version 0.13.1 to 0.15.1
- Update of rootfile
- Changelog is too long to include here. For details see CHANGELOG.md file in source
tarball
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
commit 34ebd4e5f1431c5c4f6da4a011f896212d234118
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Fri Jun 17 11:42:22 2022 +0200
make.sh: New rust dependencies for python3-cryptography
- New rust dependencies added for python3-cryptography
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
commit 643871d4a79791e469b798414778669a3cf67ce9
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Fri Jun 17 11:42:21 2022 +0200
python3-cryptography: Update to version 36.0.2
- Update from version 3.4.7 to 36.0.2
After version 3.4.8 the numbering scheme changed to 35.0.0 in Sept 2021
See Chanelog section 35.0.0 below
- New release requires a lot of rust packages - see Changelog sections 35.0.0 & 36.0.0
below. The required rust packages are installed in separate patches in this series
- Update of rootfile
- Changelog
36.0.2 - 2022-03-15¶
Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 1.1.1n.
36.0.1 - 2021-12-14¶
Updated Windows, macOS, and Linux wheels to be compiled with OpenSSL 1.1.1m.
36.0.0 - 2021-11-21¶
FINAL DEPRECATION Support for verifier and signer on our asymmetric key
classes was deprecated in version 2.0. These functions had an extended
deprecation due to usage, however the next version of cryptography will drop
support. Users should migrate to sign and verify.
The entire X.509 layer is now written in Rust. This allows alternate
asymmetric key implementations that can support cloud key management
services or hardware security modules provided they implement the necessary
interface (for example: EllipticCurvePrivateKey).
Deprecated the backend argument for all functions.
Added support for AESOCB3.
Added support for iterating over arbitrary request attributes.
Deprecated the get_attribute_for_oid method on CertificateSigningRequest in
favor of get_attribute_for_oid() on the new Attributes object.
Fixed handling of PEM files to allow loading when certificate and key are in
the same file.
Fixed parsing of CertificatePolicies extensions containing legacy BMPString
values in their explicitText.
Allow parsing of negative serial numbers in certificates. Negative serial
numbers are prohibited by RFC 5280 so a deprecation warning will be raised
whenever they are encountered. A future version of cryptography will drop
support for parsing them.
Added support for parsing PKCS12 files with friendly names for all
certificates with load_pkcs12(), which will return an object of type
PKCS12KeyAndCertificates.
rfc4514_string() and related methods now have an optional attr_name_overrides
parameter to supply custom OID to name mappings, which can be used to match
vendor-specific extensions.
BACKWARDS INCOMPATIBLE: Reverted the nonstandard formatting of email address
fields as E in rfc4514_string() methods from version 35.0.
The previous behavior can be restored with:
name.rfc4514_string({NameOID.EMAIL_ADDRESS: "E"})
Allow X25519PublicKey and X448PublicKey to be used as public keys when
parsing certificates or creating them with CertificateBuilder. These key
types must be signed with a different signing algorithm as X25519 and X448
do not support signing.
Extension values can now be serialized to a DER byte string by calling
public_bytes().
Added experimental support for compiling against BoringSSL. As BoringSSL
does not commit to a stable API, cryptography tests against the latest
commit only. Please note that several features are not available when
building against BoringSSL.
Parsing CertificateSigningRequest from DER and PEM now, for a limited time
period, allows the Extension critical field to be incorrectly encoded. See
the issue for complete details. This will be reverted in a future
cryptography release.
When OCSPNonce are parsed and generated their value is now correctly wrapped
in an ASN.1 OCTET STRING. This conforms to RFC 6960 but conflicts with the
original behavior specified in RFC 2560. For a temporary period for
backwards compatibility, we will also parse values that are encoded as
specified in RFC 2560 but this behavior will be removed in a future release.
35.0.0 - 2021-09-29¶
Changed the version scheme. This will result in us incrementing the major
version more frequently, but does not change our existing backwards
compatibility policy.
BACKWARDS INCOMPATIBLE: The X.509 PEM parsers now require that the PEM
string passed have PEM delimiters of the correct type. For example, parsing
a private key PEM concatenated with a certificate PEM will no longer be
accepted by the PEM certificate parser.
BACKWARDS INCOMPATIBLE: The X.509 certificate parser no longer allows
negative serial numbers. RFC 5280 has always prohibited these.
BACKWARDS INCOMPATIBLE: Additional forms of invalid ASN.1 found during X.509
parsing will raise an error on initial parse rather than when the malformed
field is accessed.
Rust is now required for building cryptography, the
CRYPTOGRAPHY_DONT_BUILD_RUST environment variable is no longer respected.
Parsers for X.509 no longer use OpenSSL and have been rewritten in Rust.
This should be backwards compatible (modulo the items listed above) and
improve both security and performance.
Added support for OpenSSL 3.0.0 as a compilation target.
Added support for SM3 and SM4, when using OpenSSL 1.1.1. These algorithms
are provided for compatibility in regions where they may be required, and
are not generally recommended.
We now ship manylinux_2_24 and musllinux_1_1 wheels, in addition to our
manylinux2010 and manylinux2014 wheels. Users on distributions like Alpine
Linux should ensure they upgrade to the latest pip to correctly receive
wheels.
Added rfc4514_attribute_name attribute to x509.NameAttribute.
Added KBKDFCMAC.
3.4.8 - 2021-08-24¶
Updated Windows, macOS, and manylinux wheels to be compiled with
OpenSSL 1.1.1l.
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
commit 34e16b8653a3e770523035a4c898acaee762d5c4
Author: Peter Müller <peter.mueller(a)ipfire.org>
Date: Sat Jun 25 11:12:44 2022 +0000
Core Update 170: Ship sudo
Signed-off-by: Peter Müller <peter.mueller(a)ipfire.org>
commit 2296698ec46d297520584f67936be3d81c20feb4
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Wed Jun 22 09:10:59 2022 +0200
sudo: Update to version 1.9.11p3
- Update from version 1.9.10 to 1.9.11p3
- Update of rootfile required
- Changelog
What's new in Sudo 1.9.11p3
* Fixed "connection reset" errors on AIX when running shell scripts
with the "intercept" or "log_subcmds" sudoers options enabled.
Bug #1034.
* Fixed very slow execution of shell scripts when the "intercept"
or "log_subcmds" sudoers options are set on systems that enable
Nagle's algorithm on the loopback device, such as AIX.
Bug #1034.
What's new in Sudo 1.9.11p2
* Fixed a compilation error on Linux/x86_64 with the x32 ABI.
* Fixed a regression introduced in 1.9.11p1 that caused a warning
when logging to sudo_logsrvd if the command returned no output.
What's new in Sudo 1.9.11p1
* Correctly handle EAGAIN in the I/O read/right events. This fixes
a hang seen on some systems when piping a large amount of data
through sudo, such as via rsync. Bug #963.
* Changes to avoid implementation or unspecified behavior when
bit shifting signed values in the protobuf library.
* Fixed a compilation error on Linux/aarch64.
* Fixed the configure check for seccomp(2) support on Linux.
* Corrected the EBNF specification for tags in the sudoers manual
page. GitHub issue #153.
What's new in Sudo 1.9.11
* Fixed a crash in the Python module with Python 3.9.10 on some
systems. Additionally, "make check" now passes for Python 3.9.10.
* Error messages sent via email now include more details, including
the file name and the line number and column of the error.
Multiple errors are sent in a single message. Previously, only
the first error was included.
* Fixed logging of parse errors in JSON format. Previously,
the JSON logger would not write entries unless the command and
runuser were set. These may not be known at the time a parse
error is encountered.
* Fixed a potential crash parsing sudoers lines larger than twice
the value of LINE_MAX on systems that lack the getdelim() function.
* The tests run by "make check" now unset the LANGUAGE environment
variable. Otherwise, localization strings will not match if
LANGUAGE is set to a non-English locale. Bug #1025.
* The "starttime" test now passed when run under Debian faketime.
Bug #1026.
* The Kerberos authentication module now honors the custom password
prompt if one has been specified.
* The embedded copy of zlib has been updated to version 1.2.12.
* Updated the version of libtool used by sudo to version 2.4.7.
* Sudo now defines _TIME_BITS to 64 on systems that define __TIMESIZE
in the header files (currently only GNU libc). This is required
to allow the use of 64-bit time values on some 32-bit systems.
* Sudo's "intercept" and "log_subcmds" options no longer force the
command to run in its own pseudo-terminal. It is now also
possible to intercept the system(3) function.
* Fixed a bug in sudo_logsrvd when run in store-first relay mode
where the commit point messages sent by the server were incorrect
if the command was suspended or received a window size change
event.
* Fixed a potential crash in sudo_logsrvd when the "tls_dhparams"
configuration setting was used.
* The "intercept" and "log_subcmds" functionality can now use
ptrace(2) on Linux systems that support seccomp(2) filtering.
This has the advantage of working for both static and dynamic
binaries and can work with sudo's SELinux RBAC mode. The following
architectures are currently supported: i386, x86_64, aarch64,
arm, mips (log_subcmds only), powerpc, riscv, and s390x. The
default is to use ptrace(2) where possible; the new "intercept_type"
sudoers setting can be used to explicitly set the type.
* New Georgian translation from translationproject.org.
* Fixed creating packages on CentOS Stream.
* Fixed a bug in the intercept and log_subcmds support where
the execve(2) wrapper was using the current environment instead
of the passed environment pointer. Bug #1030.
* Added AppArmor integration for Linux. A sudoers rule can now
specify an APPARMOR_PROFILE option to run a command confined by
the named AppArmor profile.
* Fixed parsing of the "server_log" setting in sudo_logsrvd.conf.
Non-paths were being treated as paths and an actual path was
treated as an error.
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
Reviewed-by: Peter Müller <peter.mueller(a)ipfire.org>
commit a8344bbac55279517848f33214da9016d49d08de
Author: Peter Müller <peter.mueller(a)ipfire.org>
Date: Sat Jun 25 11:12:14 2022 +0000
Core Update 170: Ship xfsprogs
Signed-off-by: Peter Müller <peter.mueller(a)ipfire.org>
commit ef03abb15d8ca7811472e99a72b1afc8dc17ac84
Author: Adolf Belka <adolf.belka(a)ipfire.org>
Date: Tue Jun 21 20:52:24 2022 +0200
xfsprogs: Update to version 5.18.0
- Update from version 5.16.0 to 5.18.0
- Update of rootfile not required
- Changelog
Release v5.18.0
xfsprogs: more autoconf modernisation
Release v5.18.0-rc1
mkfs: Fix memory leak
xfsprogs: autoconf modernisation
xfs_io: add a quiet option to bulkstat
metadump: be careful zeroing corrupt inode forks
metadump: handle corruption errors without aborting
xfs_db: take BB cluster offset into account when using 'type' cmd
xfs_scrub: don't revisit scanned inodes when reprocessing a stale inode
xfs_scrub: balance inode chunk scan across CPUs
xfs_scrub: prepare phase3 for per-inogrp worker threads
xfs_scrub: widen action list length variables
xfs_scrub: in phase 3, use the opened file descriptor for repair calls
xfs_scrub: make phase 4 go straight to fstrim if nothing to fix
xfs_scrub: don't try any file repairs during phase 3 if AG metadata bad
xfs_scrub: fall back to scrub-by-handle if opening handles fails
xfs_scrub: in phase 3, use the opened file descriptor for scrub calls
xfs_scrub: collapse trivial file scrub helpers
xfs_repair: check the ftype of dot and dotdot directory entries
xfs_repair: improve error reporting when checking rmap and refcount btrees
xfs_repair: detect v5 featureset mismatches in secondary supers
mkfs: don't trample the gid set in the protofile
mkfs: round log size down if rounding log start up causes overflow
mkfs: improve log extent validation
mkfs: don't let internal logs bump the root dir inode chunk to AG 1
mkfs: reduce internal log size when log stripe units are in play
mkfs: fix missing validation of -l size against maximum internal log size
xfs_repair: fix sizing of the incore rt space usage map calculation
xfs_db: report absolute maxlevels for each btree type
xfs_db: support computing btheight for all cursor types
xfs_repair: warn about suspicious btree levels in AG headers
xfs_db: warn about suspicious finobt trees when metadumping
xfs: note the removal of XFS_IOC_FSSETDM in the documentation
xfs_db: fix a complaint about a printf buffer overrun
xfs_scrub: move to mallinfo2 when available
debian: support multiarch for libhandle
debian: bump compat level to 11
debian: refactor common options
Release v5.18.0-rc0
mm/fs: delete PF_SWAPWRITElibxfs-5.18-sync
xfs: document the XFS_ALLOC_AGFL_RESERVE constant
xfs: constify xfs_name_dotdot
xfs: constify the name argument to various directory functions
xfs: remove the XFS_IOC_{ALLOC,FREE}SP* definitions
xfs: remove the XFS_IOC_FSSETDM definitions
xfs: pass the mapping flags to xfs_bmbt_to_iomap
Release v5.16.0
libxfs: remove kernel stubs from xfs_shared.h
debian: Generate .gitcensus instead of .census (Closes: #999743)
Release v5.16.0-rc0
xfs: Fix the free logic of state in xfs_attr_node_hasname
xfs: #ifdef out perag code for userspace
xfs: use swap() to make dabtree code cleaner
xfs: remove unused parameter from refcount code
xfs: reduce the size of struct xfs_extent_free_item
xfs: rename xfs_bmap_add_free to xfs_free_extent_later
xfs: create slab caches for frequently-used deferred items
xfs: compact deferred intent item structures
xfs: rename _zone variables to _cache
xfs: remove kmem_zone typedef
xfs: use separate btree cursor cache for each btree type
xfs: compute absolute maximum nlevels for each btree type
xfs: kill XFS_BTREE_MAXLEVELS
xfs_repair: stop using XFS_BTREE_MAXLEVELS
xfs_db: stop using XFS_BTREE_MAXLEVELS
xfs: compute the maximum height of the rmap btree when reflink enabled
xfs: clean up xfs_btree_{calc_size,compute_maxlevels}
xfs: compute maximum AG btree height for critical reservation calculation
xfs: rename m_ag_maxlevels to m_allocbt_maxlevels
xfs: dynamically allocate cursors based on maxlevels
xfs: encode the max btree height in the cursor
xfs: refactor btree cursor allocation function
xfs: rearrange xfs_btree_cur fields for better packing
xfs: prepare xfs_btree_cur for dynamic cursor heights
xfs: reduce the size of nr_ops for refcount btree cursors
xfs: remove xfs_btree_cur.bc_blocklog
xfs: fix perag reference leak on iteration race with growfs
xfs: terminate perag iteration reliably on agcount
xfs: rename the next_agno perag iteration variable
xfs: fold perag loop iteration logic into helper function
xfs: remove the xfs_dqblk_t typedef
xfs: remove the xfs_dsb_t typedef
xfs: remove the xfs_dinode_t typedef
xfs: check that bc_nlevels never overflows
xfs: remove xfs_btree_cur_t typedef
xfs: fix maxlevels comparisons in the btree staging code
xfs: port the defer ops capture and continue to resource capture
xfs: formalize the process of holding onto resources across a defer roll
xfs: use kmem_cache_free() for kmem_cache objects
xfs_repair: fix AG header btree level comparisons
xfs_db: fix metadump level comparisons
Signed-off-by: Adolf Belka <adolf.belka(a)ipfire.org>
Reviewed-by: Peter Müller <peter.mueller(a)ipfire.org>
commit f653df852ad45a19e686c0c8d833a1fcbfd4faac
Author: Peter Müller <peter.mueller(a)ipfire.org>
Date: Sat Jun 25 11:07:09 2022 +0000
Start Core Update 170
Signed-off-by: Peter Müller <peter.mueller(a)ipfire.org>
-----------------------------------------------------------------------
Summary of changes:
config/rootfiles/common/rust-Inflector | 54 ++
config/rootfiles/common/rust-aliasable | 12 +
config/rootfiles/common/rust-asn1 | 17 +
config/rootfiles/common/rust-asn1_derive | 7 +
config/rootfiles/common/rust-base64 | 36 ++
config/rootfiles/common/rust-chrono | 44 ++
config/rootfiles/common/rust-indoc-0.3.6 | 30 ++
config/rootfiles/common/rust-num-integer | 20 +
config/rootfiles/common/rust-num-traits | 31 ++
config/rootfiles/common/rust-num_threads | 11 +
config/rootfiles/common/rust-ouroboros | 6 +
config/rootfiles/common/rust-ouroboros_macro | 21 +
config/rootfiles/common/rust-paste-0.1.18 | 41 ++
config/rootfiles/common/rust-pem | 14 +
config/rootfiles/common/rust-proc-macro-error | 53 ++
config/rootfiles/common/rust-proc-macro-error-attr | 11 +
config/rootfiles/common/rust-pyo3 | 547 ++++++++++++---------
config/rootfiles/common/rust-pyo3-macros | 14 +-
config/rootfiles/common/rust-pyo3-macros-backend | 41 +-
config/rootfiles/common/rust-stable_deref_trait | 9 +
config/rootfiles/common/rust-time | 13 +
config/rootfiles/common/sudo | 3 +-
config/rootfiles/core/{169 => 170}/core-files | 0
config/rootfiles/core/{169 => 170}/exclude | 0
.../core/{169 => 170}/filelists/core-files | 0
.../armv6l/pakfire => core/170/filelists/files} | 0
.../{oldcore/112 => core/170}/filelists/sudo | 0
.../rootfiles/core/{169 => 170}/filelists/xfsprogs | 0
config/rootfiles/core/170/update.sh | 67 +++
config/rootfiles/{core => oldcore}/169/core-files | 0
config/rootfiles/{core => oldcore}/169/exclude | 0
.../169/filelists/aarch64/binutils | 0
.../{core => oldcore}/169/filelists/aarch64/gcc | 0
.../{core => oldcore}/169/filelists/aarch64/glibc | 0
.../{core => oldcore}/169/filelists/aarch64/linux | 0
.../169/filelists/aarch64/linux-initrd | 0
.../{core => oldcore}/169/filelists/apache2 | 0
.../169/filelists/armv6l/binutils | 0
.../{core => oldcore}/169/filelists/armv6l/gcc | 0
.../{core => oldcore}/169/filelists/armv6l/glibc | 0
.../{core => oldcore}/169/filelists/armv6l/linux | 0
.../169/filelists/armv6l/linux-initrd | 0
.../rootfiles/{core => oldcore}/169/filelists/bind | 0
.../{core => oldcore}/169/filelists/core-files | 0
.../rootfiles/{core => oldcore}/169/filelists/curl | 0
.../{core => oldcore}/169/filelists/files | 0
.../rootfiles/{core => oldcore}/169/filelists/fuse | 0
.../{core => oldcore}/169/filelists/iptables | 0
.../{core => oldcore}/169/filelists/keyutils | 0
.../rootfiles/{core => oldcore}/169/filelists/krb5 | 0
.../169/filelists/libnetfilter_cthelper | 0
.../169/filelists/libnetfilter_cttimeout | 0
.../{core => oldcore}/169/filelists/libtiff | 0
.../{core => oldcore}/169/filelists/libxml2 | 0
.../{core => oldcore}/169/filelists/libxslt | 0
.../{core => oldcore}/169/filelists/libyang | 0
.../rootfiles/{core => oldcore}/169/filelists/lmdb | 0
.../{core => oldcore}/169/filelists/logrotate | 0
.../rootfiles/{core => oldcore}/169/filelists/lzip | 0
.../{core => oldcore}/169/filelists/misc-progs | 0
.../{core => oldcore}/169/filelists/oath-toolkit | 0
.../{core => oldcore}/169/filelists/openssl | 0
.../{core => oldcore}/169/filelists/openvpn | 0
.../169/filelists/perl-File-Remove | 0
.../{core => oldcore}/169/filelists/perl-Imager | 0
.../169/filelists/perl-Imager-QRCode | 0
.../169/filelists/perl-MIME-Base32 | 0
.../169/filelists/perl-Module-Build | 0
.../169/filelists/perl-Module-Install | 0
.../169/filelists/perl-Module-ScanDeps | 0
.../169/filelists/perl-URI-Encode | 0
.../{core => oldcore}/169/filelists/perl-YAML-Tiny | 0
.../{core => oldcore}/169/filelists/poppler | 0
.../{core => oldcore}/169/filelists/qrencode | 0
.../{core => oldcore}/169/filelists/sqlite | 0
.../{core => oldcore}/169/filelists/squid | 0
.../{core => oldcore}/169/filelists/tzdata | 0
.../{core => oldcore}/169/filelists/unbound | 0
.../169/filelists/x86_64/binutils | 0
.../{core => oldcore}/169/filelists/x86_64/gcc | 0
.../{core => oldcore}/169/filelists/x86_64/glibc | 0
.../{core => oldcore}/169/filelists/x86_64/linux | 0
.../169/filelists/x86_64/linux-initrd | 0
.../{core => oldcore}/169/filelists/xfsprogs | 0
config/rootfiles/{core => oldcore}/169/update.sh | 0
config/rootfiles/packages/python3-cryptography | 25 +-
lfs/python3-cryptography | 6 +-
lfs/{rust-pyo3 => rust-Inflector} | 6 +-
lfs/{rust-pyo3 => rust-aliasable} | 6 +-
lfs/{rust-pyo3 => rust-asn1} | 6 +-
lfs/{rust-pyo3 => rust-asn1_derive} | 6 +-
lfs/{rust-pyo3 => rust-base64} | 6 +-
lfs/{rust-pyo3-macros-backend => rust-chrono} | 7 +-
lfs/{rust-pyo3 => rust-indoc-0.3.6} | 8 +-
lfs/{rust-pyo3 => rust-num-integer} | 6 +-
lfs/{rust-pyo3 => rust-num-traits} | 6 +-
lfs/{rust-pyo3 => rust-num_threads} | 6 +-
lfs/{rust-pyo3 => rust-ouroboros} | 6 +-
lfs/{rust-pyo3 => rust-ouroboros_macro} | 6 +-
lfs/{rust-pyo3 => rust-paste-0.1.18} | 6 +-
lfs/{rust-pyo3 => rust-pem} | 6 +-
lfs/{rust-pyo3 => rust-proc-macro-error} | 6 +-
...3-macros-backend => rust-proc-macro-error-attr} | 6 +-
lfs/rust-pyo3 | 4 +-
lfs/rust-pyo3-macros | 4 +-
lfs/rust-pyo3-macros-backend | 4 +-
lfs/{rust-pyo3 => rust-stable_deref_trait} | 6 +-
lfs/{rust-pyo3-macros-backend => rust-time} | 7 +-
lfs/sudo | 4 +-
lfs/xfsprogs | 4 +-
make.sh | 18 +
src/pakfire/lib/functions.pl | 84 ++--
src/patches/rust-chrono-0.4.19-fix-metadata.patch | 23 +
src/patches/rust-time-0.1.43-fix-metadata.patch | 13 +
114 files changed, 1022 insertions(+), 381 deletions(-)
create mode 100644 config/rootfiles/common/rust-Inflector
create mode 100644 config/rootfiles/common/rust-aliasable
create mode 100644 config/rootfiles/common/rust-asn1
create mode 100644 config/rootfiles/common/rust-asn1_derive
create mode 100644 config/rootfiles/common/rust-base64
create mode 100644 config/rootfiles/common/rust-chrono
create mode 100644 config/rootfiles/common/rust-indoc-0.3.6
create mode 100644 config/rootfiles/common/rust-num-integer
create mode 100644 config/rootfiles/common/rust-num-traits
create mode 100644 config/rootfiles/common/rust-num_threads
create mode 100644 config/rootfiles/common/rust-ouroboros
create mode 100644 config/rootfiles/common/rust-ouroboros_macro
create mode 100644 config/rootfiles/common/rust-paste-0.1.18
create mode 100644 config/rootfiles/common/rust-pem
create mode 100644 config/rootfiles/common/rust-proc-macro-error
create mode 100644 config/rootfiles/common/rust-proc-macro-error-attr
create mode 100644 config/rootfiles/common/rust-stable_deref_trait
create mode 100644 config/rootfiles/common/rust-time
copy config/rootfiles/core/{169 => 170}/core-files (100%)
copy config/rootfiles/core/{169 => 170}/exclude (100%)
copy config/rootfiles/core/{169 => 170}/filelists/core-files (100%)
copy config/rootfiles/{oldcore/159/filelists/armv6l/pakfire => core/170/filelists/files} (100%)
copy config/rootfiles/{oldcore/112 => core/170}/filelists/sudo (100%)
copy config/rootfiles/core/{169 => 170}/filelists/xfsprogs (100%)
create mode 100644 config/rootfiles/core/170/update.sh
rename config/rootfiles/{core => oldcore}/169/core-files (100%)
rename config/rootfiles/{core => oldcore}/169/exclude (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/aarch64/binutils (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/aarch64/gcc (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/aarch64/glibc (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/aarch64/linux (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/aarch64/linux-initrd (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/apache2 (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/armv6l/binutils (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/armv6l/gcc (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/armv6l/glibc (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/armv6l/linux (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/armv6l/linux-initrd (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/bind (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/core-files (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/curl (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/files (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/fuse (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/iptables (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/keyutils (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/krb5 (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/libnetfilter_cthelper (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/libnetfilter_cttimeout (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/libtiff (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/libxml2 (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/libxslt (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/libyang (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/lmdb (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/logrotate (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/lzip (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/misc-progs (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/oath-toolkit (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/openssl (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/openvpn (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/perl-File-Remove (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/perl-Imager (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/perl-Imager-QRCode (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/perl-MIME-Base32 (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/perl-Module-Build (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/perl-Module-Install (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/perl-Module-ScanDeps (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/perl-URI-Encode (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/perl-YAML-Tiny (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/poppler (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/qrencode (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/sqlite (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/squid (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/tzdata (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/unbound (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/x86_64/binutils (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/x86_64/gcc (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/x86_64/glibc (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/x86_64/linux (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/x86_64/linux-initrd (100%)
rename config/rootfiles/{core => oldcore}/169/filelists/xfsprogs (100%)
rename config/rootfiles/{core => oldcore}/169/update.sh (100%)
copy lfs/{rust-pyo3 => rust-Inflector} (93%)
copy lfs/{rust-pyo3 => rust-aliasable} (93%)
copy lfs/{rust-pyo3 => rust-asn1} (94%)
copy lfs/{rust-pyo3 => rust-asn1_derive} (93%)
copy lfs/{rust-pyo3 => rust-base64} (93%)
copy lfs/{rust-pyo3-macros-backend => rust-chrono} (91%)
copy lfs/{rust-pyo3 => rust-indoc-0.3.6} (92%)
copy lfs/{rust-pyo3 => rust-num-integer} (93%)
copy lfs/{rust-pyo3 => rust-num-traits} (93%)
copy lfs/{rust-pyo3 => rust-num_threads} (93%)
copy lfs/{rust-pyo3 => rust-ouroboros} (93%)
copy lfs/{rust-pyo3 => rust-ouroboros_macro} (93%)
copy lfs/{rust-pyo3 => rust-paste-0.1.18} (93%)
copy lfs/{rust-pyo3 => rust-pem} (94%)
copy lfs/{rust-pyo3 => rust-proc-macro-error} (93%)
copy lfs/{rust-pyo3-macros-backend => rust-proc-macro-error-attr} (93%)
copy lfs/{rust-pyo3 => rust-stable_deref_trait} (93%)
copy lfs/{rust-pyo3-macros-backend => rust-time} (91%)
create mode 100644 src/patches/rust-chrono-0.4.19-fix-metadata.patch
create mode 100644 src/patches/rust-time-0.1.43-fix-metadata.patch
Difference in files:
diff --git a/config/rootfiles/common/rust-Inflector b/config/rootfiles/common/rust-Inflector
new file mode 100644
index 000000000..d97372ab4
--- /dev/null
+++ b/config/rootfiles/common/rust-Inflector
@@ -0,0 +1,54 @@
+#usr/share/cargo/registry/Inflector-0.11.4
+#usr/share/cargo/registry/Inflector-0.11.4/.cargo-checksum.json
+#usr/share/cargo/registry/Inflector-0.11.4/Cargo.toml
+#usr/share/cargo/registry/Inflector-0.11.4/README.md
+#usr/share/cargo/registry/Inflector-0.11.4/src
+#usr/share/cargo/registry/Inflector-0.11.4/src/cases
+#usr/share/cargo/registry/Inflector-0.11.4/src/cases/camelcase
+#usr/share/cargo/registry/Inflector-0.11.4/src/cases/camelcase/mod.rs
+#usr/share/cargo/registry/Inflector-0.11.4/src/cases/case
+#usr/share/cargo/registry/Inflector-0.11.4/src/cases/case/mod.rs
+#usr/share/cargo/registry/Inflector-0.11.4/src/cases/classcase
+#usr/share/cargo/registry/Inflector-0.11.4/src/cases/classcase/mod.rs
+#usr/share/cargo/registry/Inflector-0.11.4/src/cases/kebabcase
+#usr/share/cargo/registry/Inflector-0.11.4/src/cases/kebabcase/mod.rs
+#usr/share/cargo/registry/Inflector-0.11.4/src/cases/mod.rs
+#usr/share/cargo/registry/Inflector-0.11.4/src/cases/pascalcase
+#usr/share/cargo/registry/Inflector-0.11.4/src/cases/pascalcase/mod.rs
+#usr/share/cargo/registry/Inflector-0.11.4/src/cases/screamingsnakecase
+#usr/share/cargo/registry/Inflector-0.11.4/src/cases/screamingsnakecase/mod.rs
+#usr/share/cargo/registry/Inflector-0.11.4/src/cases/sentencecase
+#usr/share/cargo/registry/Inflector-0.11.4/src/cases/sentencecase/mod.rs
+#usr/share/cargo/registry/Inflector-0.11.4/src/cases/snakecase
+#usr/share/cargo/registry/Inflector-0.11.4/src/cases/snakecase/mod.rs
+#usr/share/cargo/registry/Inflector-0.11.4/src/cases/tablecase
+#usr/share/cargo/registry/Inflector-0.11.4/src/cases/tablecase/mod.rs
+#usr/share/cargo/registry/Inflector-0.11.4/src/cases/titlecase
+#usr/share/cargo/registry/Inflector-0.11.4/src/cases/titlecase/mod.rs
+#usr/share/cargo/registry/Inflector-0.11.4/src/cases/traincase
+#usr/share/cargo/registry/Inflector-0.11.4/src/cases/traincase/mod.rs
+#usr/share/cargo/registry/Inflector-0.11.4/src/lib.rs
+#usr/share/cargo/registry/Inflector-0.11.4/src/numbers
+#usr/share/cargo/registry/Inflector-0.11.4/src/numbers/deordinalize
+#usr/share/cargo/registry/Inflector-0.11.4/src/numbers/deordinalize/mod.rs
+#usr/share/cargo/registry/Inflector-0.11.4/src/numbers/mod.rs
+#usr/share/cargo/registry/Inflector-0.11.4/src/numbers/ordinalize
+#usr/share/cargo/registry/Inflector-0.11.4/src/numbers/ordinalize/mod.rs
+#usr/share/cargo/registry/Inflector-0.11.4/src/string
+#usr/share/cargo/registry/Inflector-0.11.4/src/string/constants
+#usr/share/cargo/registry/Inflector-0.11.4/src/string/constants/mod.rs
+#usr/share/cargo/registry/Inflector-0.11.4/src/string/deconstantize
+#usr/share/cargo/registry/Inflector-0.11.4/src/string/deconstantize/mod.rs
+#usr/share/cargo/registry/Inflector-0.11.4/src/string/demodulize
+#usr/share/cargo/registry/Inflector-0.11.4/src/string/demodulize/mod.rs
+#usr/share/cargo/registry/Inflector-0.11.4/src/string/mod.rs
+#usr/share/cargo/registry/Inflector-0.11.4/src/string/pluralize
+#usr/share/cargo/registry/Inflector-0.11.4/src/string/pluralize/mod.rs
+#usr/share/cargo/registry/Inflector-0.11.4/src/string/singularize
+#usr/share/cargo/registry/Inflector-0.11.4/src/string/singularize/mod.rs
+#usr/share/cargo/registry/Inflector-0.11.4/src/suffix
+#usr/share/cargo/registry/Inflector-0.11.4/src/suffix/foreignkey
+#usr/share/cargo/registry/Inflector-0.11.4/src/suffix/foreignkey/mod.rs
+#usr/share/cargo/registry/Inflector-0.11.4/src/suffix/mod.rs
+#usr/share/cargo/registry/Inflector-0.11.4/tests
+#usr/share/cargo/registry/Inflector-0.11.4/tests/lib.rs
diff --git a/config/rootfiles/common/rust-aliasable b/config/rootfiles/common/rust-aliasable
new file mode 100644
index 000000000..e994b8dae
--- /dev/null
+++ b/config/rootfiles/common/rust-aliasable
@@ -0,0 +1,12 @@
+#usr/share/cargo/registry/aliasable-0.1.3
+#usr/share/cargo/registry/aliasable-0.1.3/.cargo-checksum.json
+#usr/share/cargo/registry/aliasable-0.1.3/CHANGELOG.md
+#usr/share/cargo/registry/aliasable-0.1.3/Cargo.toml
+#usr/share/cargo/registry/aliasable-0.1.3/LICENSE
+#usr/share/cargo/registry/aliasable-0.1.3/README.md
+#usr/share/cargo/registry/aliasable-0.1.3/src
+#usr/share/cargo/registry/aliasable-0.1.3/src/boxed.rs
+#usr/share/cargo/registry/aliasable-0.1.3/src/lib.rs
+#usr/share/cargo/registry/aliasable-0.1.3/src/mut_ref.rs
+#usr/share/cargo/registry/aliasable-0.1.3/src/string.rs
+#usr/share/cargo/registry/aliasable-0.1.3/src/vec.rs
diff --git a/config/rootfiles/common/rust-asn1 b/config/rootfiles/common/rust-asn1
new file mode 100644
index 000000000..941f2ddaa
--- /dev/null
+++ b/config/rootfiles/common/rust-asn1
@@ -0,0 +1,17 @@
+#usr/share/cargo/registry/asn1-0.8.7
+#usr/share/cargo/registry/asn1-0.8.7/.cargo-checksum.json
+#usr/share/cargo/registry/asn1-0.8.7/Cargo.toml
+#usr/share/cargo/registry/asn1-0.8.7/Cargo.toml.deps
+#usr/share/cargo/registry/asn1-0.8.7/LICENSE
+#usr/share/cargo/registry/asn1-0.8.7/README.md
+#usr/share/cargo/registry/asn1-0.8.7/examples
+#usr/share/cargo/registry/asn1-0.8.7/examples/no_std.rs
+#usr/share/cargo/registry/asn1-0.8.7/src
+#usr/share/cargo/registry/asn1-0.8.7/src/bit_string.rs
+#usr/share/cargo/registry/asn1-0.8.7/src/lib.rs
+#usr/share/cargo/registry/asn1-0.8.7/src/object_identifier.rs
+#usr/share/cargo/registry/asn1-0.8.7/src/parser.rs
+#usr/share/cargo/registry/asn1-0.8.7/src/types.rs
+#usr/share/cargo/registry/asn1-0.8.7/src/writer.rs
+#usr/share/cargo/registry/asn1-0.8.7/tests
+#usr/share/cargo/registry/asn1-0.8.7/tests/derive_test.rs
diff --git a/config/rootfiles/common/rust-asn1_derive b/config/rootfiles/common/rust-asn1_derive
new file mode 100644
index 000000000..67a57cca9
--- /dev/null
+++ b/config/rootfiles/common/rust-asn1_derive
@@ -0,0 +1,7 @@
+#usr/share/cargo/registry/asn1_derive-0.8.7
+#usr/share/cargo/registry/asn1_derive-0.8.7/.cargo-checksum.json
+#usr/share/cargo/registry/asn1_derive-0.8.7/Cargo.toml
+#usr/share/cargo/registry/asn1_derive-0.8.7/Cargo.toml.deps
+#usr/share/cargo/registry/asn1_derive-0.8.7/LICENSE
+#usr/share/cargo/registry/asn1_derive-0.8.7/src
+#usr/share/cargo/registry/asn1_derive-0.8.7/src/lib.rs
diff --git a/config/rootfiles/common/rust-base64 b/config/rootfiles/common/rust-base64
new file mode 100644
index 000000000..3607db7aa
--- /dev/null
+++ b/config/rootfiles/common/rust-base64
@@ -0,0 +1,36 @@
+#usr/share/cargo/registry/base64-0.13.0
+#usr/share/cargo/registry/base64-0.13.0/.cargo-checksum.json
+#usr/share/cargo/registry/base64-0.13.0/Cargo.toml
+#usr/share/cargo/registry/base64-0.13.0/Cargo.toml.deps
+#usr/share/cargo/registry/base64-0.13.0/LICENSE-APACHE
+#usr/share/cargo/registry/base64-0.13.0/LICENSE-MIT
+#usr/share/cargo/registry/base64-0.13.0/README.md
+#usr/share/cargo/registry/base64-0.13.0/RELEASE-NOTES.md
+#usr/share/cargo/registry/base64-0.13.0/benches
+#usr/share/cargo/registry/base64-0.13.0/benches/benchmarks.rs
+#usr/share/cargo/registry/base64-0.13.0/examples
+#usr/share/cargo/registry/base64-0.13.0/examples/base64.rs
+#usr/share/cargo/registry/base64-0.13.0/examples/make_tables.rs
+#usr/share/cargo/registry/base64-0.13.0/icon_CLion.svg
+#usr/share/cargo/registry/base64-0.13.0/src
+#usr/share/cargo/registry/base64-0.13.0/src/chunked_encoder.rs
+#usr/share/cargo/registry/base64-0.13.0/src/decode.rs
+#usr/share/cargo/registry/base64-0.13.0/src/display.rs
+#usr/share/cargo/registry/base64-0.13.0/src/encode.rs
+#usr/share/cargo/registry/base64-0.13.0/src/lib.rs
+#usr/share/cargo/registry/base64-0.13.0/src/read
+#usr/share/cargo/registry/base64-0.13.0/src/read/decoder.rs
+#usr/share/cargo/registry/base64-0.13.0/src/read/decoder_tests.rs
+#usr/share/cargo/registry/base64-0.13.0/src/read/mod.rs
+#usr/share/cargo/registry/base64-0.13.0/src/tables.rs
+#usr/share/cargo/registry/base64-0.13.0/src/tests.rs
+#usr/share/cargo/registry/base64-0.13.0/src/write
+#usr/share/cargo/registry/base64-0.13.0/src/write/encoder.rs
+#usr/share/cargo/registry/base64-0.13.0/src/write/encoder_string_writer.rs
+#usr/share/cargo/registry/base64-0.13.0/src/write/encoder_tests.rs
+#usr/share/cargo/registry/base64-0.13.0/src/write/mod.rs
+#usr/share/cargo/registry/base64-0.13.0/tests
+#usr/share/cargo/registry/base64-0.13.0/tests/decode.rs
+#usr/share/cargo/registry/base64-0.13.0/tests/encode.rs
+#usr/share/cargo/registry/base64-0.13.0/tests/helpers.rs
+#usr/share/cargo/registry/base64-0.13.0/tests/tests.rs
diff --git a/config/rootfiles/common/rust-chrono b/config/rootfiles/common/rust-chrono
new file mode 100644
index 000000000..f30695b97
--- /dev/null
+++ b/config/rootfiles/common/rust-chrono
@@ -0,0 +1,44 @@
+#usr/share/cargo/registry/chrono-0.4.19
+#usr/share/cargo/registry/chrono-0.4.19/.cargo-checksum.json
+#usr/share/cargo/registry/chrono-0.4.19/AUTHORS.txt
+#usr/share/cargo/registry/chrono-0.4.19/CHANGELOG.md
+#usr/share/cargo/registry/chrono-0.4.19/Cargo.toml
+#usr/share/cargo/registry/chrono-0.4.19/Cargo.toml.deps
+#usr/share/cargo/registry/chrono-0.4.19/LICENSE.txt
+#usr/share/cargo/registry/chrono-0.4.19/README.md
+#usr/share/cargo/registry/chrono-0.4.19/benches
+#usr/share/cargo/registry/chrono-0.4.19/benches/chrono.rs
+#usr/share/cargo/registry/chrono-0.4.19/benches/serde.rs
+#usr/share/cargo/registry/chrono-0.4.19/rustfmt.toml
+#usr/share/cargo/registry/chrono-0.4.19/src
+#usr/share/cargo/registry/chrono-0.4.19/src/date.rs
+#usr/share/cargo/registry/chrono-0.4.19/src/datetime.rs
+#usr/share/cargo/registry/chrono-0.4.19/src/div.rs
+#usr/share/cargo/registry/chrono-0.4.19/src/format
+#usr/share/cargo/registry/chrono-0.4.19/src/format/locales.rs
+#usr/share/cargo/registry/chrono-0.4.19/src/format/mod.rs
+#usr/share/cargo/registry/chrono-0.4.19/src/format/parse.rs
+#usr/share/cargo/registry/chrono-0.4.19/src/format/parsed.rs
+#usr/share/cargo/registry/chrono-0.4.19/src/format/scan.rs
+#usr/share/cargo/registry/chrono-0.4.19/src/format/strftime.rs
+#usr/share/cargo/registry/chrono-0.4.19/src/lib.rs
+#usr/share/cargo/registry/chrono-0.4.19/src/naive
+#usr/share/cargo/registry/chrono-0.4.19/src/naive/date.rs
+#usr/share/cargo/registry/chrono-0.4.19/src/naive/datetime.rs
+#usr/share/cargo/registry/chrono-0.4.19/src/naive/internals.rs
+#usr/share/cargo/registry/chrono-0.4.19/src/naive/isoweek.rs
+#usr/share/cargo/registry/chrono-0.4.19/src/naive/time.rs
+#usr/share/cargo/registry/chrono-0.4.19/src/offset
+#usr/share/cargo/registry/chrono-0.4.19/src/offset/fixed.rs
+#usr/share/cargo/registry/chrono-0.4.19/src/offset/local.rs
+#usr/share/cargo/registry/chrono-0.4.19/src/offset/mod.rs
+#usr/share/cargo/registry/chrono-0.4.19/src/offset/utc.rs
+#usr/share/cargo/registry/chrono-0.4.19/src/oldtime.rs
+#usr/share/cargo/registry/chrono-0.4.19/src/round.rs
+#usr/share/cargo/registry/chrono-0.4.19/src/sys
+#usr/share/cargo/registry/chrono-0.4.19/src/sys.rs
+#usr/share/cargo/registry/chrono-0.4.19/src/sys/stub.rs
+#usr/share/cargo/registry/chrono-0.4.19/src/sys/unix.rs
+#usr/share/cargo/registry/chrono-0.4.19/src/sys/windows.rs
+#usr/share/cargo/registry/chrono-0.4.19/tests
+#usr/share/cargo/registry/chrono-0.4.19/tests/wasm.rs
diff --git a/config/rootfiles/common/rust-indoc-0.3.6 b/config/rootfiles/common/rust-indoc-0.3.6
new file mode 100644
index 000000000..b4ba2d7c6
--- /dev/null
+++ b/config/rootfiles/common/rust-indoc-0.3.6
@@ -0,0 +1,30 @@
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6/.cargo-checksum.json
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6/Cargo.toml
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6/Cargo.toml.deps
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6/LICENSE-APACHE
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6/LICENSE-MIT
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6/README.md
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6/src
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6/src/lib.rs
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6/tests
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6/tests/compiletest.rs
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6/tests/run-pass.rs
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6/tests/ui-stable
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6/tests/ui-stable/no-arguments.rs
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6/tests/ui-stable/no-arguments.stderr
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6/tests/ui-stable/non-lit.rs
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6/tests/ui-stable/non-lit.stderr
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6/tests/ui-stable/non-string.rs
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6/tests/ui-stable/non-string.stderr
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6/tests/ui-stable/two-arguments.rs
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6/tests/ui-stable/two-arguments.stderr
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6/tests/ui-unstable
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6/tests/ui-unstable/no-arguments.rs
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6/tests/ui-unstable/no-arguments.stderr
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6/tests/ui-unstable/non-lit.rs
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6/tests/ui-unstable/non-lit.stderr
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6/tests/ui-unstable/non-string.rs
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6/tests/ui-unstable/non-string.stderr
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6/tests/ui-unstable/two-arguments.rs
+#usr/share/cargo/registry/indoc-0.3.6-0.3.6/tests/ui-unstable/two-arguments.stderr
diff --git a/config/rootfiles/common/rust-num-integer b/config/rootfiles/common/rust-num-integer
new file mode 100644
index 000000000..dcc056a45
--- /dev/null
+++ b/config/rootfiles/common/rust-num-integer
@@ -0,0 +1,20 @@
+#usr/share/cargo/registry/num-integer-0.1.45
+#usr/share/cargo/registry/num-integer-0.1.45/.cargo-checksum.json
+#usr/share/cargo/registry/num-integer-0.1.45/Cargo.toml
+#usr/share/cargo/registry/num-integer-0.1.45/Cargo.toml.deps
+#usr/share/cargo/registry/num-integer-0.1.45/LICENSE-APACHE
+#usr/share/cargo/registry/num-integer-0.1.45/LICENSE-MIT
+#usr/share/cargo/registry/num-integer-0.1.45/README.md
+#usr/share/cargo/registry/num-integer-0.1.45/RELEASES.md
+#usr/share/cargo/registry/num-integer-0.1.45/benches
+#usr/share/cargo/registry/num-integer-0.1.45/benches/average.rs
+#usr/share/cargo/registry/num-integer-0.1.45/benches/gcd.rs
+#usr/share/cargo/registry/num-integer-0.1.45/benches/roots.rs
+#usr/share/cargo/registry/num-integer-0.1.45/build.rs
+#usr/share/cargo/registry/num-integer-0.1.45/src
+#usr/share/cargo/registry/num-integer-0.1.45/src/average.rs
+#usr/share/cargo/registry/num-integer-0.1.45/src/lib.rs
+#usr/share/cargo/registry/num-integer-0.1.45/src/roots.rs
+#usr/share/cargo/registry/num-integer-0.1.45/tests
+#usr/share/cargo/registry/num-integer-0.1.45/tests/average.rs
+#usr/share/cargo/registry/num-integer-0.1.45/tests/roots.rs
diff --git a/config/rootfiles/common/rust-num-traits b/config/rootfiles/common/rust-num-traits
new file mode 100644
index 000000000..faae900a2
--- /dev/null
+++ b/config/rootfiles/common/rust-num-traits
@@ -0,0 +1,31 @@
+#usr/share/cargo/registry/num-traits-0.2.15
+#usr/share/cargo/registry/num-traits-0.2.15/.cargo-checksum.json
+#usr/share/cargo/registry/num-traits-0.2.15/Cargo.toml
+#usr/share/cargo/registry/num-traits-0.2.15/Cargo.toml.deps
+#usr/share/cargo/registry/num-traits-0.2.15/LICENSE-APACHE
+#usr/share/cargo/registry/num-traits-0.2.15/LICENSE-MIT
+#usr/share/cargo/registry/num-traits-0.2.15/README.md
+#usr/share/cargo/registry/num-traits-0.2.15/RELEASES.md
+#usr/share/cargo/registry/num-traits-0.2.15/build.rs
+#usr/share/cargo/registry/num-traits-0.2.15/src
+#usr/share/cargo/registry/num-traits-0.2.15/src/bounds.rs
+#usr/share/cargo/registry/num-traits-0.2.15/src/cast.rs
+#usr/share/cargo/registry/num-traits-0.2.15/src/float.rs
+#usr/share/cargo/registry/num-traits-0.2.15/src/identities.rs
+#usr/share/cargo/registry/num-traits-0.2.15/src/int.rs
+#usr/share/cargo/registry/num-traits-0.2.15/src/lib.rs
+#usr/share/cargo/registry/num-traits-0.2.15/src/macros.rs
+#usr/share/cargo/registry/num-traits-0.2.15/src/ops
+#usr/share/cargo/registry/num-traits-0.2.15/src/ops/checked.rs
+#usr/share/cargo/registry/num-traits-0.2.15/src/ops/euclid.rs
+#usr/share/cargo/registry/num-traits-0.2.15/src/ops/inv.rs
+#usr/share/cargo/registry/num-traits-0.2.15/src/ops/mod.rs
+#usr/share/cargo/registry/num-traits-0.2.15/src/ops/mul_add.rs
+#usr/share/cargo/registry/num-traits-0.2.15/src/ops/overflowing.rs
+#usr/share/cargo/registry/num-traits-0.2.15/src/ops/saturating.rs
+#usr/share/cargo/registry/num-traits-0.2.15/src/ops/wrapping.rs
+#usr/share/cargo/registry/num-traits-0.2.15/src/pow.rs
+#usr/share/cargo/registry/num-traits-0.2.15/src/real.rs
+#usr/share/cargo/registry/num-traits-0.2.15/src/sign.rs
+#usr/share/cargo/registry/num-traits-0.2.15/tests
+#usr/share/cargo/registry/num-traits-0.2.15/tests/cast.rs
diff --git a/config/rootfiles/common/rust-num_threads b/config/rootfiles/common/rust-num_threads
new file mode 100644
index 000000000..8497a3042
--- /dev/null
+++ b/config/rootfiles/common/rust-num_threads
@@ -0,0 +1,11 @@
+#usr/share/cargo/registry/num_threads-0.1.5
+#usr/share/cargo/registry/num_threads-0.1.5/.cargo-checksum.json
+#usr/share/cargo/registry/num_threads-0.1.5/Cargo.toml
+#usr/share/cargo/registry/num_threads-0.1.5/LICENSE-Apache
+#usr/share/cargo/registry/num_threads-0.1.5/LICENSE-MIT
+#usr/share/cargo/registry/num_threads-0.1.5/src
+#usr/share/cargo/registry/num_threads-0.1.5/src/apple.rs
+#usr/share/cargo/registry/num_threads-0.1.5/src/freebsd.rs
+#usr/share/cargo/registry/num_threads-0.1.5/src/imp.rs
+#usr/share/cargo/registry/num_threads-0.1.5/src/lib.rs
+#usr/share/cargo/registry/num_threads-0.1.5/src/linux.rs
diff --git a/config/rootfiles/common/rust-ouroboros b/config/rootfiles/common/rust-ouroboros
new file mode 100644
index 000000000..6c93e73cf
--- /dev/null
+++ b/config/rootfiles/common/rust-ouroboros
@@ -0,0 +1,6 @@
+#usr/share/cargo/registry/ouroboros-0.13.0
+#usr/share/cargo/registry/ouroboros-0.13.0/.cargo-checksum.json
+#usr/share/cargo/registry/ouroboros-0.13.0/Cargo.toml
+#usr/share/cargo/registry/ouroboros-0.13.0/Cargo.toml.deps
+#usr/share/cargo/registry/ouroboros-0.13.0/src
+#usr/share/cargo/registry/ouroboros-0.13.0/src/lib.rs
diff --git a/config/rootfiles/common/rust-ouroboros_macro b/config/rootfiles/common/rust-ouroboros_macro
new file mode 100644
index 000000000..31002c72f
--- /dev/null
+++ b/config/rootfiles/common/rust-ouroboros_macro
@@ -0,0 +1,21 @@
+#usr/share/cargo/registry/ouroboros_macro-0.13.0
+#usr/share/cargo/registry/ouroboros_macro-0.13.0/.cargo-checksum.json
+#usr/share/cargo/registry/ouroboros_macro-0.13.0/Cargo.toml
+#usr/share/cargo/registry/ouroboros_macro-0.13.0/Cargo.toml.deps
+#usr/share/cargo/registry/ouroboros_macro-0.13.0/src
+#usr/share/cargo/registry/ouroboros_macro-0.13.0/src/covariance_detection.rs
+#usr/share/cargo/registry/ouroboros_macro-0.13.0/src/generate
+#usr/share/cargo/registry/ouroboros_macro-0.13.0/src/generate/constructor.rs
+#usr/share/cargo/registry/ouroboros_macro-0.13.0/src/generate/derives.rs
+#usr/share/cargo/registry/ouroboros_macro-0.13.0/src/generate/into_heads.rs
+#usr/share/cargo/registry/ouroboros_macro-0.13.0/src/generate/mod.rs
+#usr/share/cargo/registry/ouroboros_macro-0.13.0/src/generate/struc.rs
+#usr/share/cargo/registry/ouroboros_macro-0.13.0/src/generate/summon_borrowchk.rs
+#usr/share/cargo/registry/ouroboros_macro-0.13.0/src/generate/try_constructor.rs
+#usr/share/cargo/registry/ouroboros_macro-0.13.0/src/generate/type_asserts.rs
+#usr/share/cargo/registry/ouroboros_macro-0.13.0/src/generate/with_all.rs
+#usr/share/cargo/registry/ouroboros_macro-0.13.0/src/generate/with_each.rs
+#usr/share/cargo/registry/ouroboros_macro-0.13.0/src/info_structures.rs
+#usr/share/cargo/registry/ouroboros_macro-0.13.0/src/lib.rs
+#usr/share/cargo/registry/ouroboros_macro-0.13.0/src/parse.rs
+#usr/share/cargo/registry/ouroboros_macro-0.13.0/src/utils.rs
diff --git a/config/rootfiles/common/rust-paste-0.1.18 b/config/rootfiles/common/rust-paste-0.1.18
new file mode 100644
index 000000000..0b7609d47
--- /dev/null
+++ b/config/rootfiles/common/rust-paste-0.1.18
@@ -0,0 +1,41 @@
+#usr/share/cargo/registry/paste-0.1.18-0.1.18
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/.cargo-checksum.json
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/Cargo.toml
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/Cargo.toml.deps
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/LICENSE-APACHE
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/LICENSE-MIT
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/README.md
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/src
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/src/lib.rs
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/compiletest.rs
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/test.rs
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/ui
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/ui/case-warning.rs
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/ui/case-warning.stderr
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/ui/env-empty.rs
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/ui/env-empty.stderr
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/ui/env-non-string.rs
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/ui/env-non-string.stderr
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/ui/env-suffix.rs
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/ui/env-suffix.stderr
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/ui/env-unexpected.rs
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/ui/env-unexpected.stderr
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/ui/invalid-ident.rs
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/ui/invalid-ident.stderr
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/ui/missing-paren-on-env.rs
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/ui/missing-paren-on-env.stderr
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/ui/no-env-var.rs
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/ui/no-env-var.stderr
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/ui/no-ident-after-colon.rs
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/ui/no-ident-after-colon.stderr
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/ui/unexpected-group.rs
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/ui/unexpected-group.stderr
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/ui/unexpected-modifier.rs
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/ui/unexpected-modifier.stderr
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/ui/unexpected-punct.rs
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/ui/unexpected-punct.stderr
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/ui/unsupported-literal.rs
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/ui/unsupported-literal.stderr
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/ui/unsupported-modifier.rs
+#usr/share/cargo/registry/paste-0.1.18-0.1.18/tests/ui/unsupported-modifier.stderr
diff --git a/config/rootfiles/common/rust-pem b/config/rootfiles/common/rust-pem
new file mode 100644
index 000000000..042dbb7d8
--- /dev/null
+++ b/config/rootfiles/common/rust-pem
@@ -0,0 +1,14 @@
+#usr/share/cargo/registry/pem-1.0.2
+#usr/share/cargo/registry/pem-1.0.2/.cargo-checksum.json
+#usr/share/cargo/registry/pem-1.0.2/CHANGELOG.md
+#usr/share/cargo/registry/pem-1.0.2/Cargo.toml
+#usr/share/cargo/registry/pem-1.0.2/Cargo.toml.deps
+#usr/share/cargo/registry/pem-1.0.2/LICENSE.md
+#usr/share/cargo/registry/pem-1.0.2/README.md
+#usr/share/cargo/registry/pem-1.0.2/benches
+#usr/share/cargo/registry/pem-1.0.2/benches/pem_benchmark.rs
+#usr/share/cargo/registry/pem-1.0.2/rustfmt.toml
+#usr/share/cargo/registry/pem-1.0.2/src
+#usr/share/cargo/registry/pem-1.0.2/src/errors.rs
+#usr/share/cargo/registry/pem-1.0.2/src/lib.rs
+#usr/share/cargo/registry/pem-1.0.2/src/parser.rs
diff --git a/config/rootfiles/common/rust-proc-macro-error b/config/rootfiles/common/rust-proc-macro-error
new file mode 100644
index 000000000..850479af1
--- /dev/null
+++ b/config/rootfiles/common/rust-proc-macro-error
@@ -0,0 +1,53 @@
+#usr/share/cargo/registry/proc-macro-error-1.0.4
+#usr/share/cargo/registry/proc-macro-error-1.0.4/.cargo-checksum.json
+#usr/share/cargo/registry/proc-macro-error-1.0.4/CHANGELOG.md
+#usr/share/cargo/registry/proc-macro-error-1.0.4/Cargo.toml
+#usr/share/cargo/registry/proc-macro-error-1.0.4/Cargo.toml.deps
+#usr/share/cargo/registry/proc-macro-error-1.0.4/LICENSE-APACHE
+#usr/share/cargo/registry/proc-macro-error-1.0.4/LICENSE-MIT
+#usr/share/cargo/registry/proc-macro-error-1.0.4/README.md
+#usr/share/cargo/registry/proc-macro-error-1.0.4/build.rs
+#usr/share/cargo/registry/proc-macro-error-1.0.4/src
+#usr/share/cargo/registry/proc-macro-error-1.0.4/src/diagnostic.rs
+#usr/share/cargo/registry/proc-macro-error-1.0.4/src/dummy.rs
+#usr/share/cargo/registry/proc-macro-error-1.0.4/src/imp
+#usr/share/cargo/registry/proc-macro-error-1.0.4/src/imp/delegate.rs
+#usr/share/cargo/registry/proc-macro-error-1.0.4/src/imp/fallback.rs
+#usr/share/cargo/registry/proc-macro-error-1.0.4/src/lib.rs
+#usr/share/cargo/registry/proc-macro-error-1.0.4/src/macros.rs
+#usr/share/cargo/registry/proc-macro-error-1.0.4/src/sealed.rs
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/macro-errors.rs
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ok.rs
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/runtime-errors.rs
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/abort.rs
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/abort.stderr
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/append_dummy.rs
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/append_dummy.stderr
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/children_messages.rs
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/children_messages.stderr
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/dummy.rs
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/dummy.stderr
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/emit.rs
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/emit.stderr
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/explicit_span_range.rs
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/explicit_span_range.stderr
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/misuse.rs
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/misuse.stderr
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/multiple_tokens.rs
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/multiple_tokens.stderr
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/not_proc_macro.rs
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/not_proc_macro.stderr
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/option_ext.rs
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/option_ext.stderr
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/proc_macro_hack.rs
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/proc_macro_hack.stderr
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/result_ext.rs
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/result_ext.stderr
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/to_tokens_span.rs
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/to_tokens_span.stderr
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/unknown_setting.rs
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/unknown_setting.stderr
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/unrelated_panic.rs
+#usr/share/cargo/registry/proc-macro-error-1.0.4/tests/ui/unrelated_panic.stderr
diff --git a/config/rootfiles/common/rust-proc-macro-error-attr b/config/rootfiles/common/rust-proc-macro-error-attr
new file mode 100644
index 000000000..17da5873f
--- /dev/null
+++ b/config/rootfiles/common/rust-proc-macro-error-attr
@@ -0,0 +1,11 @@
+#usr/share/cargo/registry/proc-macro-error-attr-1.0.4
+#usr/share/cargo/registry/proc-macro-error-attr-1.0.4/.cargo-checksum.json
+#usr/share/cargo/registry/proc-macro-error-attr-1.0.4/Cargo.toml
+#usr/share/cargo/registry/proc-macro-error-attr-1.0.4/Cargo.toml.deps
+#usr/share/cargo/registry/proc-macro-error-attr-1.0.4/LICENSE-APACHE
+#usr/share/cargo/registry/proc-macro-error-attr-1.0.4/LICENSE-MIT
+#usr/share/cargo/registry/proc-macro-error-attr-1.0.4/build.rs
+#usr/share/cargo/registry/proc-macro-error-attr-1.0.4/src
+#usr/share/cargo/registry/proc-macro-error-attr-1.0.4/src/lib.rs
+#usr/share/cargo/registry/proc-macro-error-attr-1.0.4/src/parse.rs
+#usr/share/cargo/registry/proc-macro-error-attr-1.0.4/src/settings.rs
diff --git a/config/rootfiles/common/rust-pyo3 b/config/rootfiles/common/rust-pyo3
index 8d49a81b1..4c4913c9a 100644
--- a/config/rootfiles/common/rust-pyo3
+++ b/config/rootfiles/common/rust-pyo3
@@ -1,239 +1,308 @@
-#usr/share/cargo/registry/pyo3-0.13.1
-#usr/share/cargo/registry/pyo3-0.13.1/.cargo-checksum.json
-#usr/share/cargo/registry/pyo3-0.13.1/CHANGELOG.md
-#usr/share/cargo/registry/pyo3-0.13.1/Cargo.toml
-#usr/share/cargo/registry/pyo3-0.13.1/Cargo.toml.deps
-#usr/share/cargo/registry/pyo3-0.13.1/Code-of-Conduct.md
-#usr/share/cargo/registry/pyo3-0.13.1/Contributing.md
-#usr/share/cargo/registry/pyo3-0.13.1/LICENSE
-#usr/share/cargo/registry/pyo3-0.13.1/Makefile
-#usr/share/cargo/registry/pyo3-0.13.1/README.md
-#usr/share/cargo/registry/pyo3-0.13.1/benches
-#usr/share/cargo/registry/pyo3-0.13.1/benches/bench_call.rs
-#usr/share/cargo/registry/pyo3-0.13.1/benches/bench_dict.rs
-#usr/share/cargo/registry/pyo3-0.13.1/benches/bench_list.rs
-#usr/share/cargo/registry/pyo3-0.13.1/benches/bench_pyobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/benches/bench_set.rs
-#usr/share/cargo/registry/pyo3-0.13.1/benches/bench_tuple.rs
-#usr/share/cargo/registry/pyo3-0.13.1/build.rs
-#usr/share/cargo/registry/pyo3-0.13.1/codecov.yml
-#usr/share/cargo/registry/pyo3-0.13.1/guide
-#usr/share/cargo/registry/pyo3-0.13.1/guide/book.toml
-#usr/share/cargo/registry/pyo3-0.13.1/guide/src
-#usr/share/cargo/registry/pyo3-0.13.1/guide/src/SUMMARY.md
-#usr/share/cargo/registry/pyo3-0.13.1/guide/src/advanced.md
-#usr/share/cargo/registry/pyo3-0.13.1/guide/src/building_and_distribution.md
-#usr/share/cargo/registry/pyo3-0.13.1/guide/src/changelog.md
-#usr/share/cargo/registry/pyo3-0.13.1/guide/src/class
-#usr/share/cargo/registry/pyo3-0.13.1/guide/src/class.md
-#usr/share/cargo/registry/pyo3-0.13.1/guide/src/class/protocols.md
-#usr/share/cargo/registry/pyo3-0.13.1/guide/src/conversions
-#usr/share/cargo/registry/pyo3-0.13.1/guide/src/conversions.md
-#usr/share/cargo/registry/pyo3-0.13.1/guide/src/conversions/tables.md
-#usr/share/cargo/registry/pyo3-0.13.1/guide/src/conversions/traits.md
-#usr/share/cargo/registry/pyo3-0.13.1/guide/src/debugging.md
-#usr/share/cargo/registry/pyo3-0.13.1/guide/src/exception.md
-#usr/share/cargo/registry/pyo3-0.13.1/guide/src/faq.md
-#usr/share/cargo/registry/pyo3-0.13.1/guide/src/features.md
-#usr/share/cargo/registry/pyo3-0.13.1/guide/src/function.md
-#usr/share/cargo/registry/pyo3-0.13.1/guide/src/index.md
-#usr/share/cargo/registry/pyo3-0.13.1/guide/src/logging.md
-#usr/share/cargo/registry/pyo3-0.13.1/guide/src/migration.md
-#usr/share/cargo/registry/pyo3-0.13.1/guide/src/module.md
-#usr/share/cargo/registry/pyo3-0.13.1/guide/src/parallelism.md
-#usr/share/cargo/registry/pyo3-0.13.1/guide/src/pypy.md
-#usr/share/cargo/registry/pyo3-0.13.1/guide/src/python_from_rust.md
-#usr/share/cargo/registry/pyo3-0.13.1/guide/src/rust_cpython.md
-#usr/share/cargo/registry/pyo3-0.13.1/guide/src/trait_bounds.md
-#usr/share/cargo/registry/pyo3-0.13.1/guide/src/types.md
-#usr/share/cargo/registry/pyo3-0.13.1/pyproject.toml
-#usr/share/cargo/registry/pyo3-0.13.1/src
-#usr/share/cargo/registry/pyo3-0.13.1/src/buffer.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/callback.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/class
-#usr/share/cargo/registry/pyo3-0.13.1/src/class/basic.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/class/buffer.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/class/context.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/class/descr.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/class/gc.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/class/iter.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/class/macros.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/class/mapping.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/class/methods.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/class/mod.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/class/number.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/class/proto_methods.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/class/pyasync.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/class/sequence.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/conversion.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/derive_utils.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/err
-#usr/share/cargo/registry/pyo3-0.13.1/src/err/err_state.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/err/impls.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/err/mod.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/exceptions.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/LICENSE
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/README.md
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/bltinmodule.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/boolobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/bytearrayobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/bytesobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/ceval.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/code.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/codecs.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/compile.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/complexobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/context.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/cpython
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/cpython/abstract_.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/cpython/bytesobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/cpython/ceval.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/cpython/code.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/cpython/dictobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/cpython/frameobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/cpython/mod.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/datetime.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/descrobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/dictobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/enumobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/eval.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/fileobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/floatobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/funcobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/genobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/import.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/initconfig.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/intrcheck.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/iterobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/listobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/longobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/marshal.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/memoryobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/methodobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/mod.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/modsupport.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/moduleobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/object.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/objectabstract.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/objimpl.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/osmodule.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/pyarena.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/pycapsule.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/pydebug.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/pyerrors.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/pyframe.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/pyhash.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/pylifecycle.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/pymem.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/pyport.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/pystate.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/pystrtod.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/pythonrun.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/rangeobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/setobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/sliceobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/structmember.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/structseq.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/sysmodule.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/traceback.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/tupleobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/typeslots.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/unicodeobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/warnings.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/ffi/weakrefobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/freelist.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/gil.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/instance.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/internal_tricks.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/lib.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/marshal.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/once_cell.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/panic.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/prelude.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/pycell.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/pyclass.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/pyclass_init.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/pyclass_slots.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/python.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/type_object.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/types
-#usr/share/cargo/registry/pyo3-0.13.1/src/types/any.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/types/boolobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/types/bytearray.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/types/bytes.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/types/complex.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/types/datetime.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/types/dict.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/types/floatob.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/types/function.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/types/iterator.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/types/list.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/types/mod.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/types/module.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/types/num.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/types/sequence.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/types/set.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/types/slice.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/types/string.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/types/tuple.rs
-#usr/share/cargo/registry/pyo3-0.13.1/src/types/typeobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests
-#usr/share/cargo/registry/pyo3-0.13.1/tests/common.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/test_arithmetics.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/test_buffer_protocol.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/test_bytes.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/test_class_attributes.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/test_class_basics.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/test_class_conversion.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/test_class_new.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/test_compile_error.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/test_datetime.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/test_dict_iter.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/test_dunder.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/test_exceptions.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/test_frompyobject.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/test_gc.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/test_getter_setter.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/test_inheritance.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/test_mapping.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/test_methods.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/test_module.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/test_pyfunction.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/test_pyself.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/test_sequence.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/test_string.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/test_text_signature.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/test_unsendable_dict.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/test_variable_arguments.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/test_various.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/ui
-#usr/share/cargo/registry/pyo3-0.13.1/tests/ui/abi3_nativetype_inheritance.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/ui/abi3_nativetype_inheritance.stderr
-#usr/share/cargo/registry/pyo3-0.13.1/tests/ui/invalid_frompy_derive.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/ui/invalid_frompy_derive.stderr
-#usr/share/cargo/registry/pyo3-0.13.1/tests/ui/invalid_macro_args.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/ui/invalid_macro_args.stderr
-#usr/share/cargo/registry/pyo3-0.13.1/tests/ui/invalid_need_module_arg_position.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/ui/invalid_need_module_arg_position.stderr
-#usr/share/cargo/registry/pyo3-0.13.1/tests/ui/invalid_property_args.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/ui/invalid_property_args.stderr
-#usr/share/cargo/registry/pyo3-0.13.1/tests/ui/invalid_pyclass_args.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/ui/invalid_pyclass_args.stderr
-#usr/share/cargo/registry/pyo3-0.13.1/tests/ui/invalid_pymethod_names.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/ui/invalid_pymethod_names.stderr
-#usr/share/cargo/registry/pyo3-0.13.1/tests/ui/invalid_pymethod_receiver.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/ui/invalid_pymethod_receiver.stderr
-#usr/share/cargo/registry/pyo3-0.13.1/tests/ui/invalid_result_conversion.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/ui/invalid_result_conversion.stderr
-#usr/share/cargo/registry/pyo3-0.13.1/tests/ui/missing_clone.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/ui/missing_clone.stderr
-#usr/share/cargo/registry/pyo3-0.13.1/tests/ui/pyclass_send.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/ui/pyclass_send.stderr
-#usr/share/cargo/registry/pyo3-0.13.1/tests/ui/reject_generics.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/ui/reject_generics.stderr
-#usr/share/cargo/registry/pyo3-0.13.1/tests/ui/static_ref.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/ui/static_ref.stderr
-#usr/share/cargo/registry/pyo3-0.13.1/tests/ui/wrong_aspyref_lifetimes.rs
-#usr/share/cargo/registry/pyo3-0.13.1/tests/ui/wrong_aspyref_lifetimes.stderr
-#usr/share/cargo/registry/pyo3-0.13.1/tox.ini
+#usr/share/cargo/registry/pyo3-0.15.1
+#usr/share/cargo/registry/pyo3-0.15.1/.cargo-checksum.json
+#usr/share/cargo/registry/pyo3-0.15.1/Architecture.md
+#usr/share/cargo/registry/pyo3-0.15.1/CHANGELOG.md
+#usr/share/cargo/registry/pyo3-0.15.1/Cargo.toml
+#usr/share/cargo/registry/pyo3-0.15.1/Cargo.toml.deps
+#usr/share/cargo/registry/pyo3-0.15.1/Code-of-Conduct.md
+#usr/share/cargo/registry/pyo3-0.15.1/Contributing.md
+#usr/share/cargo/registry/pyo3-0.15.1/LICENSE
+#usr/share/cargo/registry/pyo3-0.15.1/README.md
+#usr/share/cargo/registry/pyo3-0.15.1/benches
+#usr/share/cargo/registry/pyo3-0.15.1/benches/bench_call.rs
+#usr/share/cargo/registry/pyo3-0.15.1/benches/bench_dict.rs
+#usr/share/cargo/registry/pyo3-0.15.1/benches/bench_err.rs
+#usr/share/cargo/registry/pyo3-0.15.1/benches/bench_gil.rs
+#usr/share/cargo/registry/pyo3-0.15.1/benches/bench_list.rs
+#usr/share/cargo/registry/pyo3-0.15.1/benches/bench_pyclass.rs
+#usr/share/cargo/registry/pyo3-0.15.1/benches/bench_pyobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/benches/bench_set.rs
+#usr/share/cargo/registry/pyo3-0.15.1/benches/bench_tuple.rs
+#usr/share/cargo/registry/pyo3-0.15.1/build.rs
+#usr/share/cargo/registry/pyo3-0.15.1/examples
+#usr/share/cargo/registry/pyo3-0.15.1/examples/README.md
+#usr/share/cargo/registry/pyo3-0.15.1/guide
+#usr/share/cargo/registry/pyo3-0.15.1/guide/book.toml
+#usr/share/cargo/registry/pyo3-0.15.1/guide/pyo3_version.py
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/SUMMARY.md
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/advanced.md
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/building_and_distribution
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/building_and_distribution.md
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/building_and_distribution/multiple_python_versions.md
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/changelog.md
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/class
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/class.md
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/class/protocols.md
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/conversions
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/conversions.md
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/conversions/tables.md
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/conversions/traits.md
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/debugging.md
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/ecosystem
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/ecosystem.md
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/ecosystem/async-await.md
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/ecosystem/logging.md
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/exception.md
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/faq.md
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/features.md
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/function.md
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/index.md
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/memory.md
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/migration.md
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/module.md
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/parallelism.md
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/python_from_rust.md
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/python_typing_hints.md
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/rust_cpython.md
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/trait_bounds.md
+#usr/share/cargo/registry/pyo3-0.15.1/guide/src/types.md
+#usr/share/cargo/registry/pyo3-0.15.1/rust-toolchain.toml
+#usr/share/cargo/registry/pyo3-0.15.1/src
+#usr/share/cargo/registry/pyo3-0.15.1/src/buffer.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/callback.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/class
+#usr/share/cargo/registry/pyo3-0.15.1/src/class/basic.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/class/buffer.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/class/context.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/class/descr.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/class/gc.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/class/impl_.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/class/iter.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/class/macros.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/class/mapping.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/class/methods.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/class/mod.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/class/number.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/class/pyasync.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/class/sequence.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/conversion.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/conversions
+#usr/share/cargo/registry/pyo3-0.15.1/src/conversions/anyhow.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/conversions/array.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/conversions/eyre.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/conversions/hashbrown.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/conversions/indexmap.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/conversions/mod.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/conversions/num_bigint.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/conversions/num_complex.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/conversions/osstr.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/conversions/path.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/conversions/serde.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/derive_utils.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/err
+#usr/share/cargo/registry/pyo3-0.15.1/src/err/err_state.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/err/impls.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/err/mod.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/exceptions.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/LICENSE
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/README.md
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/abstract_.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/bltinmodule.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/boolobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/bytearrayobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/bytesobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/ceval.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/code.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/codecs.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/compile.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/complexobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/context.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/cpython
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/cpython/abstract_.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/cpython/bytesobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/cpython/ceval.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/cpython/code.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/cpython/compile.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/cpython/dictobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/cpython/frameobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/cpython/import.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/cpython/initconfig.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/cpython/listobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/cpython/mod.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/cpython/object.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/cpython/pydebug.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/cpython/pylifecycle.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/cpython/pymem.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/cpython/pystate.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/cpython/pythonrun.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/cpython/tupleobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/cpython/unicodeobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/datetime.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/descrobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/dictobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/enumobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/eval.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/fileobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/fileutils.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/floatobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/funcobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/genobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/import.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/intrcheck.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/iterobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/listobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/longobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/marshal.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/memoryobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/methodobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/mod.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/modsupport.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/moduleobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/object.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/objimpl.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/osmodule.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/pyarena.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/pycapsule.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/pyerrors.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/pyframe.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/pyhash.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/pylifecycle.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/pymem.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/pyport.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/pystate.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/pystrtod.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/pythonrun.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/rangeobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/setobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/sliceobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/structmember.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/structseq.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/sysmodule.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/traceback.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/tupleobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/typeslots.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/unicodeobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/warnings.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/ffi/weakrefobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/gil.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/impl_
+#usr/share/cargo/registry/pyo3-0.15.1/src/impl_.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/impl_/deprecations.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/impl_/freelist.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/instance.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/internal_tricks.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/lib.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/macros.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/marshal.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/once_cell.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/panic.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/prelude.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/pycell.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/pyclass.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/pyclass_init.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/pyclass_slots.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/python.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/type_object.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/types
+#usr/share/cargo/registry/pyo3-0.15.1/src/types/any.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/types/boolobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/types/bytearray.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/types/bytes.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/types/complex.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/types/datetime.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/types/dict.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/types/floatob.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/types/function.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/types/iterator.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/types/list.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/types/mapping.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/types/mod.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/types/module.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/types/num.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/types/sequence.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/types/set.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/types/slice.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/types/string.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/types/traceback.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/types/tuple.rs
+#usr/share/cargo/registry/pyo3-0.15.1/src/types/typeobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests
+#usr/share/cargo/registry/pyo3-0.15.1/tests/common.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/hygiene
+#usr/share/cargo/registry/pyo3-0.15.1/tests/hygiene/misc.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/hygiene/pyclass.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/hygiene/pyfunction.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/hygiene/pymethods.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/hygiene/pymodule.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/hygiene/pyproto.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/not_msrv
+#usr/share/cargo/registry/pyo3-0.15.1/tests/not_msrv/requires_1_54.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_anyhow.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_arithmetics.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_arithmetics_protos.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_buffer.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_buffer_protocol.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_bytes.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_class_attributes.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_class_basics.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_class_conversion.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_class_new.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_compile_error.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_datetime.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_dict_iter.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_exceptions.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_frompyobject.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_gc.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_getter_setter.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_hygiene.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_inheritance.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_macros.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_mapping.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_methods.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_module.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_multiple_pymethods.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_not_msrv.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_proto_methods.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_py36_init.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_pyfunction.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_pyproto.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_pyself.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_sequence.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_serde.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_string.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_text_signature.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_unsendable_dict.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_variable_arguments.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_various.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/test_wrap_pyfunction_deduction.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/abi3_nativetype_inheritance.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/abi3_nativetype_inheritance.stderr
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/deprecations.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/deprecations.stderr
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/invalid_argument_attributes.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/invalid_argument_attributes.stderr
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/invalid_closure.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/invalid_closure.stderr
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/invalid_frompy_derive.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/invalid_frompy_derive.stderr
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/invalid_macro_args.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/invalid_macro_args.stderr
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/invalid_need_module_arg_position.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/invalid_need_module_arg_position.stderr
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/invalid_property_args.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/invalid_property_args.stderr
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/invalid_pyclass_args.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/invalid_pyclass_args.stderr
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/invalid_pyfunctions.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/invalid_pyfunctions.stderr
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/invalid_pymethod_names.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/invalid_pymethod_names.stderr
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/invalid_pymethod_receiver.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/invalid_pymethod_receiver.stderr
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/invalid_pymethods.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/invalid_pymethods.stderr
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/invalid_result_conversion.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/invalid_result_conversion.stderr
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/missing_clone.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/missing_clone.stderr
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/pyclass_send.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/pyclass_send.stderr
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/reject_generics.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/reject_generics.stderr
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/static_ref.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/static_ref.stderr
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/wrong_aspyref_lifetimes.rs
+#usr/share/cargo/registry/pyo3-0.15.1/tests/ui/wrong_aspyref_lifetimes.stderr
diff --git a/config/rootfiles/common/rust-pyo3-macros b/config/rootfiles/common/rust-pyo3-macros
index 912674772..c25fbb0b7 100644
--- a/config/rootfiles/common/rust-pyo3-macros
+++ b/config/rootfiles/common/rust-pyo3-macros
@@ -1,7 +1,7 @@
-#usr/share/cargo/registry/pyo3-macros-0.13.1
-#usr/share/cargo/registry/pyo3-macros-0.13.1/.cargo-checksum.json
-#usr/share/cargo/registry/pyo3-macros-0.13.1/Cargo.toml
-#usr/share/cargo/registry/pyo3-macros-0.13.1/Cargo.toml.deps
-#usr/share/cargo/registry/pyo3-macros-0.13.1/LICENSE
-#usr/share/cargo/registry/pyo3-macros-0.13.1/src
-#usr/share/cargo/registry/pyo3-macros-0.13.1/src/lib.rs
+#usr/share/cargo/registry/pyo3-macros-0.15.1
+#usr/share/cargo/registry/pyo3-macros-0.15.1/.cargo-checksum.json
+#usr/share/cargo/registry/pyo3-macros-0.15.1/Cargo.toml
+#usr/share/cargo/registry/pyo3-macros-0.15.1/Cargo.toml.deps
+#usr/share/cargo/registry/pyo3-macros-0.15.1/LICENSE
+#usr/share/cargo/registry/pyo3-macros-0.15.1/src
+#usr/share/cargo/registry/pyo3-macros-0.15.1/src/lib.rs
diff --git a/config/rootfiles/common/rust-pyo3-macros-backend b/config/rootfiles/common/rust-pyo3-macros-backend
index 9c81e674c..069fb8a77 100644
--- a/config/rootfiles/common/rust-pyo3-macros-backend
+++ b/config/rootfiles/common/rust-pyo3-macros-backend
@@ -1,19 +1,22 @@
-#usr/share/cargo/registry/pyo3-macros-backend-0.13.1
-#usr/share/cargo/registry/pyo3-macros-backend-0.13.1/.cargo-checksum.json
-#usr/share/cargo/registry/pyo3-macros-backend-0.13.1/Cargo.toml
-#usr/share/cargo/registry/pyo3-macros-backend-0.13.1/Cargo.toml.deps
-#usr/share/cargo/registry/pyo3-macros-backend-0.13.1/LICENSE
-#usr/share/cargo/registry/pyo3-macros-backend-0.13.1/src
-#usr/share/cargo/registry/pyo3-macros-backend-0.13.1/src/defs.rs
-#usr/share/cargo/registry/pyo3-macros-backend-0.13.1/src/from_pyobject.rs
-#usr/share/cargo/registry/pyo3-macros-backend-0.13.1/src/konst.rs
-#usr/share/cargo/registry/pyo3-macros-backend-0.13.1/src/lib.rs
-#usr/share/cargo/registry/pyo3-macros-backend-0.13.1/src/method.rs
-#usr/share/cargo/registry/pyo3-macros-backend-0.13.1/src/module.rs
-#usr/share/cargo/registry/pyo3-macros-backend-0.13.1/src/proto_method.rs
-#usr/share/cargo/registry/pyo3-macros-backend-0.13.1/src/pyclass.rs
-#usr/share/cargo/registry/pyo3-macros-backend-0.13.1/src/pyfunction.rs
-#usr/share/cargo/registry/pyo3-macros-backend-0.13.1/src/pyimpl.rs
-#usr/share/cargo/registry/pyo3-macros-backend-0.13.1/src/pymethod.rs
-#usr/share/cargo/registry/pyo3-macros-backend-0.13.1/src/pyproto.rs
-#usr/share/cargo/registry/pyo3-macros-backend-0.13.1/src/utils.rs
+#usr/share/cargo/registry/pyo3-macros-backend-0.15.1
+#usr/share/cargo/registry/pyo3-macros-backend-0.15.1/.cargo-checksum.json
+#usr/share/cargo/registry/pyo3-macros-backend-0.15.1/Cargo.toml
+#usr/share/cargo/registry/pyo3-macros-backend-0.15.1/Cargo.toml.deps
+#usr/share/cargo/registry/pyo3-macros-backend-0.15.1/LICENSE
+#usr/share/cargo/registry/pyo3-macros-backend-0.15.1/src
+#usr/share/cargo/registry/pyo3-macros-backend-0.15.1/src/attributes.rs
+#usr/share/cargo/registry/pyo3-macros-backend-0.15.1/src/defs.rs
+#usr/share/cargo/registry/pyo3-macros-backend-0.15.1/src/deprecations.rs
+#usr/share/cargo/registry/pyo3-macros-backend-0.15.1/src/from_pyobject.rs
+#usr/share/cargo/registry/pyo3-macros-backend-0.15.1/src/konst.rs
+#usr/share/cargo/registry/pyo3-macros-backend-0.15.1/src/lib.rs
+#usr/share/cargo/registry/pyo3-macros-backend-0.15.1/src/method.rs
+#usr/share/cargo/registry/pyo3-macros-backend-0.15.1/src/module.rs
+#usr/share/cargo/registry/pyo3-macros-backend-0.15.1/src/params.rs
+#usr/share/cargo/registry/pyo3-macros-backend-0.15.1/src/proto_method.rs
+#usr/share/cargo/registry/pyo3-macros-backend-0.15.1/src/pyclass.rs
+#usr/share/cargo/registry/pyo3-macros-backend-0.15.1/src/pyfunction.rs
+#usr/share/cargo/registry/pyo3-macros-backend-0.15.1/src/pyimpl.rs
+#usr/share/cargo/registry/pyo3-macros-backend-0.15.1/src/pymethod.rs
+#usr/share/cargo/registry/pyo3-macros-backend-0.15.1/src/pyproto.rs
+#usr/share/cargo/registry/pyo3-macros-backend-0.15.1/src/utils.rs
diff --git a/config/rootfiles/common/rust-stable_deref_trait b/config/rootfiles/common/rust-stable_deref_trait
new file mode 100644
index 000000000..be542c52f
--- /dev/null
+++ b/config/rootfiles/common/rust-stable_deref_trait
@@ -0,0 +1,9 @@
+#usr/share/cargo/registry/stable_deref_trait-1.2.0
+#usr/share/cargo/registry/stable_deref_trait-1.2.0/.cargo-checksum.json
+#usr/share/cargo/registry/stable_deref_trait-1.2.0/Cargo.toml
+#usr/share/cargo/registry/stable_deref_trait-1.2.0/Cargo.toml.deps
+#usr/share/cargo/registry/stable_deref_trait-1.2.0/LICENSE-APACHE
+#usr/share/cargo/registry/stable_deref_trait-1.2.0/LICENSE-MIT
+#usr/share/cargo/registry/stable_deref_trait-1.2.0/README.md
+#usr/share/cargo/registry/stable_deref_trait-1.2.0/src
+#usr/share/cargo/registry/stable_deref_trait-1.2.0/src/lib.rs
diff --git a/config/rootfiles/common/rust-time b/config/rootfiles/common/rust-time
new file mode 100644
index 000000000..08aaa8980
--- /dev/null
+++ b/config/rootfiles/common/rust-time
@@ -0,0 +1,13 @@
+#usr/share/cargo/registry/time-0.1.43
+#usr/share/cargo/registry/time-0.1.43/.cargo-checksum.json
+#usr/share/cargo/registry/time-0.1.43/Cargo.toml
+#usr/share/cargo/registry/time-0.1.43/Cargo.toml.deps
+#usr/share/cargo/registry/time-0.1.43/LICENSE-APACHE
+#usr/share/cargo/registry/time-0.1.43/LICENSE-MIT
+#usr/share/cargo/registry/time-0.1.43/README.md
+#usr/share/cargo/registry/time-0.1.43/src
+#usr/share/cargo/registry/time-0.1.43/src/display.rs
+#usr/share/cargo/registry/time-0.1.43/src/duration.rs
+#usr/share/cargo/registry/time-0.1.43/src/lib.rs
+#usr/share/cargo/registry/time-0.1.43/src/parse.rs
+#usr/share/cargo/registry/time-0.1.43/src/sys.rs
diff --git a/config/rootfiles/common/sudo b/config/rootfiles/common/sudo
index 1cb0d2bf7..93d9cbce2 100644
--- a/config/rootfiles/common/sudo
+++ b/config/rootfiles/common/sudo
@@ -80,6 +80,7 @@ usr/sbin/visudo
#usr/share/locale/it/LC_MESSAGES/sudoers.mo
#usr/share/locale/ja/LC_MESSAGES/sudo.mo
#usr/share/locale/ja/LC_MESSAGES/sudoers.mo
+#usr/share/locale/ka/LC_MESSAGES/sudo.mo
#usr/share/locale/ko/LC_MESSAGES/sudo.mo
#usr/share/locale/ko/LC_MESSAGES/sudoers.mo
#usr/share/locale/lt/LC_MESSAGES/sudoers.mo
@@ -120,11 +121,11 @@ usr/sbin/visudo
#usr/share/man/man5/sudo.conf.5
#usr/share/man/man5/sudo_logsrv.proto.5
#usr/share/man/man5/sudo_logsrvd.conf.5
+#usr/share/man/man5/sudo_plugin.5
#usr/share/man/man5/sudoers.5
#usr/share/man/man5/sudoers_timestamp.5
#usr/share/man/man8/sudo.8
#usr/share/man/man8/sudo_logsrvd.8
-#usr/share/man/man8/sudo_plugin.8
#usr/share/man/man8/sudo_sendlog.8
#usr/share/man/man8/sudoedit.8
#usr/share/man/man8/sudoreplay.8
diff --git a/config/rootfiles/core/169/core-files b/config/rootfiles/core/170/core-files
similarity index 100%
rename from config/rootfiles/core/169/core-files
rename to config/rootfiles/core/170/core-files
diff --git a/config/rootfiles/core/169/exclude b/config/rootfiles/core/170/exclude
similarity index 100%
rename from config/rootfiles/core/169/exclude
rename to config/rootfiles/core/170/exclude
diff --git a/config/rootfiles/core/169/filelists/core-files b/config/rootfiles/core/170/filelists/core-files
similarity index 100%
rename from config/rootfiles/core/169/filelists/core-files
rename to config/rootfiles/core/170/filelists/core-files
diff --git a/config/rootfiles/core/170/filelists/files b/config/rootfiles/core/170/filelists/files
new file mode 100644
index 000000000..e71417ae0
--- /dev/null
+++ b/config/rootfiles/core/170/filelists/files
@@ -0,0 +1 @@
+opt/pakfire/lib/functions.pl
diff --git a/config/rootfiles/core/170/filelists/sudo b/config/rootfiles/core/170/filelists/sudo
new file mode 120000
index 000000000..0d3c45e04
--- /dev/null
+++ b/config/rootfiles/core/170/filelists/sudo
@@ -0,0 +1 @@
+../../../common/sudo
\ No newline at end of file
diff --git a/config/rootfiles/core/169/filelists/xfsprogs b/config/rootfiles/core/170/filelists/xfsprogs
similarity index 100%
rename from config/rootfiles/core/169/filelists/xfsprogs
rename to config/rootfiles/core/170/filelists/xfsprogs
diff --git a/config/rootfiles/core/170/update.sh b/config/rootfiles/core/170/update.sh
new file mode 100644
index 000000000..8edb5ff2e
--- /dev/null
+++ b/config/rootfiles/core/170/update.sh
@@ -0,0 +1,67 @@
+#!/bin/bash
+############################################################################
+# #
+# This file is part of the IPFire Firewall. #
+# #
+# IPFire is free software; you can redistribute it and/or modify #
+# it under the terms of the GNU General Public License as published by #
+# the Free Software Foundation; either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# IPFire is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with IPFire; if not, write to the Free Software #
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
+# #
+# Copyright (C) 2022 IPFire-Team <info(a)ipfire.org>. #
+# #
+############################################################################
+#
+. /opt/pakfire/lib/functions.sh
+/usr/local/bin/backupctrl exclude >/dev/null 2>&1
+
+core=170
+
+# Remove old core updates from pakfire cache to save space...
+for (( i=1; i<=$core; i++ )); do
+ rm -f /var/cache/pakfire/core-upgrade-*-$i.ipfire
+done
+
+# Stop services
+
+# Remove files
+
+# Extract files
+extract_files
+
+# update linker config
+ldconfig
+
+# Update Language cache
+/usr/local/bin/update-lang-cache
+
+# Filesytem cleanup
+/usr/local/bin/filesystem-cleanup
+
+# Start services
+
+# This update needs a reboot...
+#touch /var/run/need_reboot
+
+# Finish
+/etc/init.d/fireinfo start
+sendprofile
+
+# Update grub config to display new core version
+if [ -e /boot/grub/grub.cfg ]; then
+ grub-mkconfig -o /boot/grub/grub.cfg
+fi
+
+sync
+
+# Don't report the exitcode last command
+exit 0
diff --git a/config/rootfiles/oldcore/169/core-files b/config/rootfiles/oldcore/169/core-files
new file mode 100644
index 000000000..0dec37e53
--- /dev/null
+++ b/config/rootfiles/oldcore/169/core-files
@@ -0,0 +1,5 @@
+etc/system-release
+etc/issue
+etc/os-release
+srv/web/ipfire/cgi-bin/credits.cgi
+var/ipfire/langs
diff --git a/config/rootfiles/oldcore/169/exclude b/config/rootfiles/oldcore/169/exclude
new file mode 100644
index 000000000..b22e5e943
--- /dev/null
+++ b/config/rootfiles/oldcore/169/exclude
@@ -0,0 +1,35 @@
+boot/config.txt
+boot/grub/grub.cfg
+boot/grub/grubenv
+boot/uEnv.txt
+etc/alternatives
+etc/collectd.custom
+etc/default/grub
+etc/ipsec.conf
+etc/ipsec.secrets
+etc/ipsec.user.conf
+etc/ipsec.user.secrets
+etc/localtime
+etc/shadow
+etc/snort/snort.conf
+etc/ssl/openssl.cnf
+etc/sudoers
+etc/sysconfig/firewall.local
+etc/sysconfig/rc.local
+etc/udev/rules.d/30-persistent-network.rules
+srv/web/ipfire/html/proxy.pac
+usr/share/xt_geoip
+var/ipfire/dma
+var/ipfire/time
+var/ipfire/firewall/locationblock
+var/ipfire/fwhosts/customlocationgrp
+var/ipfire/ovpn
+var/ipfire/urlfilter/blacklist
+var/ipfire/urlfilter/settings
+var/lib/alternatives
+var/lib/location/database.db
+var/log/cache
+var/log/dhcpcd.log
+var/log/messages
+var/state/dhcp/dhcpd.leases
+var/updatecache
diff --git a/config/rootfiles/core/169/filelists/aarch64/binutils b/config/rootfiles/oldcore/169/filelists/aarch64/binutils
similarity index 100%
rename from config/rootfiles/core/169/filelists/aarch64/binutils
rename to config/rootfiles/oldcore/169/filelists/aarch64/binutils
diff --git a/config/rootfiles/core/169/filelists/aarch64/gcc b/config/rootfiles/oldcore/169/filelists/aarch64/gcc
similarity index 100%
rename from config/rootfiles/core/169/filelists/aarch64/gcc
rename to config/rootfiles/oldcore/169/filelists/aarch64/gcc
diff --git a/config/rootfiles/core/169/filelists/aarch64/glibc b/config/rootfiles/oldcore/169/filelists/aarch64/glibc
similarity index 100%
rename from config/rootfiles/core/169/filelists/aarch64/glibc
rename to config/rootfiles/oldcore/169/filelists/aarch64/glibc
diff --git a/config/rootfiles/core/169/filelists/aarch64/linux b/config/rootfiles/oldcore/169/filelists/aarch64/linux
similarity index 100%
rename from config/rootfiles/core/169/filelists/aarch64/linux
rename to config/rootfiles/oldcore/169/filelists/aarch64/linux
diff --git a/config/rootfiles/core/169/filelists/aarch64/linux-initrd b/config/rootfiles/oldcore/169/filelists/aarch64/linux-initrd
similarity index 100%
rename from config/rootfiles/core/169/filelists/aarch64/linux-initrd
rename to config/rootfiles/oldcore/169/filelists/aarch64/linux-initrd
diff --git a/config/rootfiles/core/169/filelists/apache2 b/config/rootfiles/oldcore/169/filelists/apache2
similarity index 100%
rename from config/rootfiles/core/169/filelists/apache2
rename to config/rootfiles/oldcore/169/filelists/apache2
diff --git a/config/rootfiles/core/169/filelists/armv6l/binutils b/config/rootfiles/oldcore/169/filelists/armv6l/binutils
similarity index 100%
rename from config/rootfiles/core/169/filelists/armv6l/binutils
rename to config/rootfiles/oldcore/169/filelists/armv6l/binutils
diff --git a/config/rootfiles/core/169/filelists/armv6l/gcc b/config/rootfiles/oldcore/169/filelists/armv6l/gcc
similarity index 100%
rename from config/rootfiles/core/169/filelists/armv6l/gcc
rename to config/rootfiles/oldcore/169/filelists/armv6l/gcc
diff --git a/config/rootfiles/core/169/filelists/armv6l/glibc b/config/rootfiles/oldcore/169/filelists/armv6l/glibc
similarity index 100%
rename from config/rootfiles/core/169/filelists/armv6l/glibc
rename to config/rootfiles/oldcore/169/filelists/armv6l/glibc
diff --git a/config/rootfiles/core/169/filelists/armv6l/linux b/config/rootfiles/oldcore/169/filelists/armv6l/linux
similarity index 100%
rename from config/rootfiles/core/169/filelists/armv6l/linux
rename to config/rootfiles/oldcore/169/filelists/armv6l/linux
diff --git a/config/rootfiles/core/169/filelists/armv6l/linux-initrd b/config/rootfiles/oldcore/169/filelists/armv6l/linux-initrd
similarity index 100%
rename from config/rootfiles/core/169/filelists/armv6l/linux-initrd
rename to config/rootfiles/oldcore/169/filelists/armv6l/linux-initrd
diff --git a/config/rootfiles/core/169/filelists/bind b/config/rootfiles/oldcore/169/filelists/bind
similarity index 100%
rename from config/rootfiles/core/169/filelists/bind
rename to config/rootfiles/oldcore/169/filelists/bind
diff --git a/config/rootfiles/oldcore/169/filelists/core-files b/config/rootfiles/oldcore/169/filelists/core-files
new file mode 120000
index 000000000..709d6c14c
--- /dev/null
+++ b/config/rootfiles/oldcore/169/filelists/core-files
@@ -0,0 +1 @@
+../core-files
\ No newline at end of file
diff --git a/config/rootfiles/core/169/filelists/curl b/config/rootfiles/oldcore/169/filelists/curl
similarity index 100%
rename from config/rootfiles/core/169/filelists/curl
rename to config/rootfiles/oldcore/169/filelists/curl
diff --git a/config/rootfiles/core/169/filelists/files b/config/rootfiles/oldcore/169/filelists/files
similarity index 100%
rename from config/rootfiles/core/169/filelists/files
rename to config/rootfiles/oldcore/169/filelists/files
diff --git a/config/rootfiles/core/169/filelists/fuse b/config/rootfiles/oldcore/169/filelists/fuse
similarity index 100%
rename from config/rootfiles/core/169/filelists/fuse
rename to config/rootfiles/oldcore/169/filelists/fuse
diff --git a/config/rootfiles/core/169/filelists/iptables b/config/rootfiles/oldcore/169/filelists/iptables
similarity index 100%
rename from config/rootfiles/core/169/filelists/iptables
rename to config/rootfiles/oldcore/169/filelists/iptables
diff --git a/config/rootfiles/core/169/filelists/keyutils b/config/rootfiles/oldcore/169/filelists/keyutils
similarity index 100%
rename from config/rootfiles/core/169/filelists/keyutils
rename to config/rootfiles/oldcore/169/filelists/keyutils
diff --git a/config/rootfiles/core/169/filelists/krb5 b/config/rootfiles/oldcore/169/filelists/krb5
similarity index 100%
rename from config/rootfiles/core/169/filelists/krb5
rename to config/rootfiles/oldcore/169/filelists/krb5
diff --git a/config/rootfiles/core/169/filelists/libnetfilter_cthelper b/config/rootfiles/oldcore/169/filelists/libnetfilter_cthelper
similarity index 100%
rename from config/rootfiles/core/169/filelists/libnetfilter_cthelper
rename to config/rootfiles/oldcore/169/filelists/libnetfilter_cthelper
diff --git a/config/rootfiles/core/169/filelists/libnetfilter_cttimeout b/config/rootfiles/oldcore/169/filelists/libnetfilter_cttimeout
similarity index 100%
rename from config/rootfiles/core/169/filelists/libnetfilter_cttimeout
rename to config/rootfiles/oldcore/169/filelists/libnetfilter_cttimeout
diff --git a/config/rootfiles/core/169/filelists/libtiff b/config/rootfiles/oldcore/169/filelists/libtiff
similarity index 100%
rename from config/rootfiles/core/169/filelists/libtiff
rename to config/rootfiles/oldcore/169/filelists/libtiff
diff --git a/config/rootfiles/core/169/filelists/libxml2 b/config/rootfiles/oldcore/169/filelists/libxml2
similarity index 100%
rename from config/rootfiles/core/169/filelists/libxml2
rename to config/rootfiles/oldcore/169/filelists/libxml2
diff --git a/config/rootfiles/core/169/filelists/libxslt b/config/rootfiles/oldcore/169/filelists/libxslt
similarity index 100%
rename from config/rootfiles/core/169/filelists/libxslt
rename to config/rootfiles/oldcore/169/filelists/libxslt
diff --git a/config/rootfiles/core/169/filelists/libyang b/config/rootfiles/oldcore/169/filelists/libyang
similarity index 100%
rename from config/rootfiles/core/169/filelists/libyang
rename to config/rootfiles/oldcore/169/filelists/libyang
diff --git a/config/rootfiles/core/169/filelists/lmdb b/config/rootfiles/oldcore/169/filelists/lmdb
similarity index 100%
rename from config/rootfiles/core/169/filelists/lmdb
rename to config/rootfiles/oldcore/169/filelists/lmdb
diff --git a/config/rootfiles/core/169/filelists/logrotate b/config/rootfiles/oldcore/169/filelists/logrotate
similarity index 100%
rename from config/rootfiles/core/169/filelists/logrotate
rename to config/rootfiles/oldcore/169/filelists/logrotate
diff --git a/config/rootfiles/core/169/filelists/lzip b/config/rootfiles/oldcore/169/filelists/lzip
similarity index 100%
rename from config/rootfiles/core/169/filelists/lzip
rename to config/rootfiles/oldcore/169/filelists/lzip
diff --git a/config/rootfiles/core/169/filelists/misc-progs b/config/rootfiles/oldcore/169/filelists/misc-progs
similarity index 100%
rename from config/rootfiles/core/169/filelists/misc-progs
rename to config/rootfiles/oldcore/169/filelists/misc-progs
diff --git a/config/rootfiles/core/169/filelists/oath-toolkit b/config/rootfiles/oldcore/169/filelists/oath-toolkit
similarity index 100%
rename from config/rootfiles/core/169/filelists/oath-toolkit
rename to config/rootfiles/oldcore/169/filelists/oath-toolkit
diff --git a/config/rootfiles/core/169/filelists/openssl b/config/rootfiles/oldcore/169/filelists/openssl
similarity index 100%
rename from config/rootfiles/core/169/filelists/openssl
rename to config/rootfiles/oldcore/169/filelists/openssl
diff --git a/config/rootfiles/core/169/filelists/openvpn b/config/rootfiles/oldcore/169/filelists/openvpn
similarity index 100%
rename from config/rootfiles/core/169/filelists/openvpn
rename to config/rootfiles/oldcore/169/filelists/openvpn
diff --git a/config/rootfiles/core/169/filelists/perl-File-Remove b/config/rootfiles/oldcore/169/filelists/perl-File-Remove
similarity index 100%
rename from config/rootfiles/core/169/filelists/perl-File-Remove
rename to config/rootfiles/oldcore/169/filelists/perl-File-Remove
diff --git a/config/rootfiles/core/169/filelists/perl-Imager b/config/rootfiles/oldcore/169/filelists/perl-Imager
similarity index 100%
rename from config/rootfiles/core/169/filelists/perl-Imager
rename to config/rootfiles/oldcore/169/filelists/perl-Imager
diff --git a/config/rootfiles/core/169/filelists/perl-Imager-QRCode b/config/rootfiles/oldcore/169/filelists/perl-Imager-QRCode
similarity index 100%
rename from config/rootfiles/core/169/filelists/perl-Imager-QRCode
rename to config/rootfiles/oldcore/169/filelists/perl-Imager-QRCode
diff --git a/config/rootfiles/core/169/filelists/perl-MIME-Base32 b/config/rootfiles/oldcore/169/filelists/perl-MIME-Base32
similarity index 100%
rename from config/rootfiles/core/169/filelists/perl-MIME-Base32
rename to config/rootfiles/oldcore/169/filelists/perl-MIME-Base32
diff --git a/config/rootfiles/core/169/filelists/perl-Module-Build b/config/rootfiles/oldcore/169/filelists/perl-Module-Build
similarity index 100%
rename from config/rootfiles/core/169/filelists/perl-Module-Build
rename to config/rootfiles/oldcore/169/filelists/perl-Module-Build
diff --git a/config/rootfiles/core/169/filelists/perl-Module-Install b/config/rootfiles/oldcore/169/filelists/perl-Module-Install
similarity index 100%
rename from config/rootfiles/core/169/filelists/perl-Module-Install
rename to config/rootfiles/oldcore/169/filelists/perl-Module-Install
diff --git a/config/rootfiles/core/169/filelists/perl-Module-ScanDeps b/config/rootfiles/oldcore/169/filelists/perl-Module-ScanDeps
similarity index 100%
rename from config/rootfiles/core/169/filelists/perl-Module-ScanDeps
rename to config/rootfiles/oldcore/169/filelists/perl-Module-ScanDeps
diff --git a/config/rootfiles/core/169/filelists/perl-URI-Encode b/config/rootfiles/oldcore/169/filelists/perl-URI-Encode
similarity index 100%
rename from config/rootfiles/core/169/filelists/perl-URI-Encode
rename to config/rootfiles/oldcore/169/filelists/perl-URI-Encode
diff --git a/config/rootfiles/core/169/filelists/perl-YAML-Tiny b/config/rootfiles/oldcore/169/filelists/perl-YAML-Tiny
similarity index 100%
rename from config/rootfiles/core/169/filelists/perl-YAML-Tiny
rename to config/rootfiles/oldcore/169/filelists/perl-YAML-Tiny
diff --git a/config/rootfiles/core/169/filelists/poppler b/config/rootfiles/oldcore/169/filelists/poppler
similarity index 100%
rename from config/rootfiles/core/169/filelists/poppler
rename to config/rootfiles/oldcore/169/filelists/poppler
diff --git a/config/rootfiles/core/169/filelists/qrencode b/config/rootfiles/oldcore/169/filelists/qrencode
similarity index 100%
rename from config/rootfiles/core/169/filelists/qrencode
rename to config/rootfiles/oldcore/169/filelists/qrencode
diff --git a/config/rootfiles/core/169/filelists/sqlite b/config/rootfiles/oldcore/169/filelists/sqlite
similarity index 100%
rename from config/rootfiles/core/169/filelists/sqlite
rename to config/rootfiles/oldcore/169/filelists/sqlite
diff --git a/config/rootfiles/core/169/filelists/squid b/config/rootfiles/oldcore/169/filelists/squid
similarity index 100%
rename from config/rootfiles/core/169/filelists/squid
rename to config/rootfiles/oldcore/169/filelists/squid
diff --git a/config/rootfiles/core/169/filelists/tzdata b/config/rootfiles/oldcore/169/filelists/tzdata
similarity index 100%
rename from config/rootfiles/core/169/filelists/tzdata
rename to config/rootfiles/oldcore/169/filelists/tzdata
diff --git a/config/rootfiles/core/169/filelists/unbound b/config/rootfiles/oldcore/169/filelists/unbound
similarity index 100%
rename from config/rootfiles/core/169/filelists/unbound
rename to config/rootfiles/oldcore/169/filelists/unbound
diff --git a/config/rootfiles/core/169/filelists/x86_64/binutils b/config/rootfiles/oldcore/169/filelists/x86_64/binutils
similarity index 100%
rename from config/rootfiles/core/169/filelists/x86_64/binutils
rename to config/rootfiles/oldcore/169/filelists/x86_64/binutils
diff --git a/config/rootfiles/core/169/filelists/x86_64/gcc b/config/rootfiles/oldcore/169/filelists/x86_64/gcc
similarity index 100%
rename from config/rootfiles/core/169/filelists/x86_64/gcc
rename to config/rootfiles/oldcore/169/filelists/x86_64/gcc
diff --git a/config/rootfiles/core/169/filelists/x86_64/glibc b/config/rootfiles/oldcore/169/filelists/x86_64/glibc
similarity index 100%
rename from config/rootfiles/core/169/filelists/x86_64/glibc
rename to config/rootfiles/oldcore/169/filelists/x86_64/glibc
diff --git a/config/rootfiles/core/169/filelists/x86_64/linux b/config/rootfiles/oldcore/169/filelists/x86_64/linux
similarity index 100%
rename from config/rootfiles/core/169/filelists/x86_64/linux
rename to config/rootfiles/oldcore/169/filelists/x86_64/linux
diff --git a/config/rootfiles/core/169/filelists/x86_64/linux-initrd b/config/rootfiles/oldcore/169/filelists/x86_64/linux-initrd
similarity index 100%
rename from config/rootfiles/core/169/filelists/x86_64/linux-initrd
rename to config/rootfiles/oldcore/169/filelists/x86_64/linux-initrd
diff --git a/config/rootfiles/oldcore/169/filelists/xfsprogs b/config/rootfiles/oldcore/169/filelists/xfsprogs
new file mode 120000
index 000000000..91032964d
--- /dev/null
+++ b/config/rootfiles/oldcore/169/filelists/xfsprogs
@@ -0,0 +1 @@
+../../../common/xfsprogs
\ No newline at end of file
diff --git a/config/rootfiles/core/169/update.sh b/config/rootfiles/oldcore/169/update.sh
similarity index 100%
rename from config/rootfiles/core/169/update.sh
rename to config/rootfiles/oldcore/169/update.sh
diff --git a/config/rootfiles/packages/python3-cryptography b/config/rootfiles/packages/python3-cryptography
index 9f63606fb..a9ee32faf 100644
--- a/config/rootfiles/packages/python3-cryptography
+++ b/config/rootfiles/packages/python3-cryptography
@@ -1,20 +1,18 @@
usr/lib/python3.10/site-packages/cryptography
-#usr/lib/python3.10/site-packages/cryptography-3.4.7-py3.10.egg-info
-#usr/lib/python3.10/site-packages/cryptography-3.4.7-py3.10.egg-info/PKG-INFO
-#usr/lib/python3.10/site-packages/cryptography-3.4.7-py3.10.egg-info/SOURCES.txt
-#usr/lib/python3.10/site-packages/cryptography-3.4.7-py3.10.egg-info/dependency_links.txt
-#usr/lib/python3.10/site-packages/cryptography-3.4.7-py3.10.egg-info/not-zip-safe
-#usr/lib/python3.10/site-packages/cryptography-3.4.7-py3.10.egg-info/requires.txt
-#usr/lib/python3.10/site-packages/cryptography-3.4.7-py3.10.egg-info/top_level.txt
+#usr/lib/python3.10/site-packages/cryptography-36.0.2-py3.10.egg-info
+#usr/lib/python3.10/site-packages/cryptography-36.0.2-py3.10.egg-info/PKG-INFO
+#usr/lib/python3.10/site-packages/cryptography-36.0.2-py3.10.egg-info/SOURCES.txt
+#usr/lib/python3.10/site-packages/cryptography-36.0.2-py3.10.egg-info/dependency_links.txt
+#usr/lib/python3.10/site-packages/cryptography-36.0.2-py3.10.egg-info/not-zip-safe
+#usr/lib/python3.10/site-packages/cryptography-36.0.2-py3.10.egg-info/requires.txt
+#usr/lib/python3.10/site-packages/cryptography-36.0.2-py3.10.egg-info/top_level.txt
usr/lib/python3.10/site-packages/cryptography/__about__.py
usr/lib/python3.10/site-packages/cryptography/__init__.py
usr/lib/python3.10/site-packages/cryptography/exceptions.py
usr/lib/python3.10/site-packages/cryptography/fernet.py
usr/lib/python3.10/site-packages/cryptography/hazmat
usr/lib/python3.10/site-packages/cryptography/hazmat/__init__.py
-usr/lib/python3.10/site-packages/cryptography/hazmat/_der.py
usr/lib/python3.10/site-packages/cryptography/hazmat/_oid.py
-usr/lib/python3.10/site-packages/cryptography/hazmat/_types.py
usr/lib/python3.10/site-packages/cryptography/hazmat/backends
usr/lib/python3.10/site-packages/cryptography/hazmat/backends/__init__.py
usr/lib/python3.10/site-packages/cryptography/hazmat/backends/interfaces.py
@@ -33,7 +31,6 @@ usr/lib/python3.10/site-packages/cryptography/hazmat/backends/openssl/ed448.py
usr/lib/python3.10/site-packages/cryptography/hazmat/backends/openssl/encode_asn1.py
usr/lib/python3.10/site-packages/cryptography/hazmat/backends/openssl/hashes.py
usr/lib/python3.10/site-packages/cryptography/hazmat/backends/openssl/hmac.py
-usr/lib/python3.10/site-packages/cryptography/hazmat/backends/openssl/ocsp.py
usr/lib/python3.10/site-packages/cryptography/hazmat/backends/openssl/poly1305.py
usr/lib/python3.10/site-packages/cryptography/hazmat/backends/openssl/rsa.py
usr/lib/python3.10/site-packages/cryptography/hazmat/backends/openssl/utils.py
@@ -43,8 +40,12 @@ usr/lib/python3.10/site-packages/cryptography/hazmat/backends/openssl/x509.py
usr/lib/python3.10/site-packages/cryptography/hazmat/bindings
usr/lib/python3.10/site-packages/cryptography/hazmat/bindings/__init__.py
usr/lib/python3.10/site-packages/cryptography/hazmat/bindings/_openssl.abi3.so
-usr/lib/python3.10/site-packages/cryptography/hazmat/bindings/_padding.abi3.so
+usr/lib/python3.10/site-packages/cryptography/hazmat/bindings/_rust
usr/lib/python3.10/site-packages/cryptography/hazmat/bindings/_rust.abi3.so
+usr/lib/python3.10/site-packages/cryptography/hazmat/bindings/_rust/__init__.pyi
+usr/lib/python3.10/site-packages/cryptography/hazmat/bindings/_rust/asn1.pyi
+usr/lib/python3.10/site-packages/cryptography/hazmat/bindings/_rust/ocsp.pyi
+usr/lib/python3.10/site-packages/cryptography/hazmat/bindings/_rust/x509.pyi
usr/lib/python3.10/site-packages/cryptography/hazmat/bindings/openssl
usr/lib/python3.10/site-packages/cryptography/hazmat/bindings/openssl/__init__.py
usr/lib/python3.10/site-packages/cryptography/hazmat/bindings/openssl/_conditional.py
@@ -63,6 +64,7 @@ usr/lib/python3.10/site-packages/cryptography/hazmat/primitives/asymmetric/ed255
usr/lib/python3.10/site-packages/cryptography/hazmat/primitives/asymmetric/ed448.py
usr/lib/python3.10/site-packages/cryptography/hazmat/primitives/asymmetric/padding.py
usr/lib/python3.10/site-packages/cryptography/hazmat/primitives/asymmetric/rsa.py
+usr/lib/python3.10/site-packages/cryptography/hazmat/primitives/asymmetric/types.py
usr/lib/python3.10/site-packages/cryptography/hazmat/primitives/asymmetric/utils.py
usr/lib/python3.10/site-packages/cryptography/hazmat/primitives/asymmetric/x25519.py
usr/lib/python3.10/site-packages/cryptography/hazmat/primitives/asymmetric/x448.py
@@ -97,7 +99,6 @@ usr/lib/python3.10/site-packages/cryptography/hazmat/primitives/twofactor
usr/lib/python3.10/site-packages/cryptography/hazmat/primitives/twofactor/__init__.py
usr/lib/python3.10/site-packages/cryptography/hazmat/primitives/twofactor/hotp.py
usr/lib/python3.10/site-packages/cryptography/hazmat/primitives/twofactor/totp.py
-usr/lib/python3.10/site-packages/cryptography/hazmat/primitives/twofactor/utils.py
usr/lib/python3.10/site-packages/cryptography/py.typed
usr/lib/python3.10/site-packages/cryptography/utils.py
usr/lib/python3.10/site-packages/cryptography/x509
diff --git a/lfs/python3-cryptography b/lfs/python3-cryptography
index f3090bc6a..77e5f06b0 100644
--- a/lfs/python3-cryptography
+++ b/lfs/python3-cryptography
@@ -24,7 +24,7 @@
include Config
-VER = 3.4.7
+VER = 36.0.2
THISAPP = cryptography-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -32,7 +32,7 @@ DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = python3-cryptography
-PAK_VER = 1
+PAK_VER = 2
DEPS = python3-cffi
@@ -46,7 +46,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 = 49bc1e098ed1ba0181059b645f6668cda6332d196eaca55270ebce6e07e5bb6ab6724c5050fde20e89b7025773960d74ec782bb875badbbd5dc9a04db0a536f1
+$(DL_FILE)_BLAKE2 = b34b994e44b1ccd099a56fba4a167d563a29652f86ab0f0000ef78b4093a15cbfb82a9cebecdcaf6bca782a5fdd20f6c7d2206d68a219626a9fe8ae13e9aec5e
install : $(TARGET)
diff --git a/lfs/rust-Inflector b/lfs/rust-Inflector
new file mode 100644
index 000000000..eb8a3fa5b
--- /dev/null
+++ b/lfs/rust-Inflector
@@ -0,0 +1,80 @@
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2007-2018 IPFire Team <info(a)ipfire.org> #
+# #
+# 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 #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER = 0.11.4
+
+THISAPP = Inflector-$(VER)
+DL_FILE = $(THISAPP).tar.gz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_BLAKE2 = eaf0c7f983b3186e9bc89353021a10592f2877e46585bd50b96db9b087343d1199c7b6cf3fa53cd274fb6d33de025a904b8aa31a7ac9599ae3689ecdbcec34cd
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+b2 : $(subst %,%_BLAKE2,$(objects))
+
+dist:
+ @$(PAK)
+
+###############################################################################
+# Downloading, checking, b2sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+ @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+ @$(LOAD)
+
+$(subst %,%_BLAKE2,$(objects)) :
+ @$(B2SUM)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+ @$(PREBUILD)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && $(CARGO_PREPARE)
+ cd $(DIR_APP) && $(CARGO_BUILD)
+ cd $(DIR_APP) && $(CARGO_INSTALL)
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
diff --git a/lfs/rust-aliasable b/lfs/rust-aliasable
new file mode 100644
index 000000000..fbb487288
--- /dev/null
+++ b/lfs/rust-aliasable
@@ -0,0 +1,80 @@
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2007-2018 IPFire Team <info(a)ipfire.org> #
+# #
+# 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 #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER = 0.1.3
+
+THISAPP = aliasable-$(VER)
+DL_FILE = $(THISAPP).tar.gz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_BLAKE2 = c23840c7f1df86109e004aa1929d7355bd815c69ce8c5a316c9e2810851b7faf91c7480924d67cf83520e94b86dc0cc1b90b0dcc84b446a15ba5cccc1bae95ca
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+b2 : $(subst %,%_BLAKE2,$(objects))
+
+dist:
+ @$(PAK)
+
+###############################################################################
+# Downloading, checking, b2sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+ @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+ @$(LOAD)
+
+$(subst %,%_BLAKE2,$(objects)) :
+ @$(B2SUM)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+ @$(PREBUILD)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && $(CARGO_PREPARE)
+ cd $(DIR_APP) && $(CARGO_BUILD)
+ cd $(DIR_APP) && $(CARGO_INSTALL)
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
diff --git a/lfs/rust-asn1 b/lfs/rust-asn1
new file mode 100644
index 000000000..fa9817ed4
--- /dev/null
+++ b/lfs/rust-asn1
@@ -0,0 +1,80 @@
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2007-2018 IPFire Team <info(a)ipfire.org> #
+# #
+# 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 #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER = 0.8.7
+
+THISAPP = asn1-$(VER)
+DL_FILE = $(THISAPP).tar.gz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_BLAKE2 = 702fdd34d5489b74cad023969c8873c6d469bd58376fc86fc124638ffe677f2d7f2592d28219ba741597d3791716b1303cff1fa6352f5df0fa41fdd0add628fd
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+b2 : $(subst %,%_BLAKE2,$(objects))
+
+dist:
+ @$(PAK)
+
+###############################################################################
+# Downloading, checking, b2sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+ @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+ @$(LOAD)
+
+$(subst %,%_BLAKE2,$(objects)) :
+ @$(B2SUM)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+ @$(PREBUILD)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && $(CARGO_PREPARE)
+ cd $(DIR_APP) && $(CARGO_BUILD)
+ cd $(DIR_APP) && $(CARGO_INSTALL)
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
diff --git a/lfs/rust-asn1_derive b/lfs/rust-asn1_derive
new file mode 100644
index 000000000..b7dd21c43
--- /dev/null
+++ b/lfs/rust-asn1_derive
@@ -0,0 +1,80 @@
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2007-2018 IPFire Team <info(a)ipfire.org> #
+# #
+# 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 #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER = 0.8.7
+
+THISAPP = asn1_derive-$(VER)
+DL_FILE = $(THISAPP).tar.gz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_BLAKE2 = cc1fe4a8c27730e65164daaed5d2d346364f08a47439e012f670db82190dba50cfbdf720cb253d7a057cb4b560b8ce73c557c639e90856e27d632995643dc45f
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+b2 : $(subst %,%_BLAKE2,$(objects))
+
+dist:
+ @$(PAK)
+
+###############################################################################
+# Downloading, checking, b2sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+ @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+ @$(LOAD)
+
+$(subst %,%_BLAKE2,$(objects)) :
+ @$(B2SUM)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+ @$(PREBUILD)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && $(CARGO_PREPARE)
+ cd $(DIR_APP) && $(CARGO_BUILD)
+ cd $(DIR_APP) && $(CARGO_INSTALL)
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
diff --git a/lfs/rust-base64 b/lfs/rust-base64
new file mode 100644
index 000000000..1b2d547c4
--- /dev/null
+++ b/lfs/rust-base64
@@ -0,0 +1,80 @@
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2007-2018 IPFire Team <info(a)ipfire.org> #
+# #
+# 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 #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER = 0.13.0
+
+THISAPP = base64-$(VER)
+DL_FILE = $(THISAPP).tar.gz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_BLAKE2 = b957f65cdb1e28baeca0cefc92fa98be797409b7dabd15e0e88db6cdfb89779b662cba9f2270fbf3b7b66948fdc46c118b8040a78ab72049c48a928fa802bee0
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+b2 : $(subst %,%_BLAKE2,$(objects))
+
+dist:
+ @$(PAK)
+
+###############################################################################
+# Downloading, checking, b2sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+ @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+ @$(LOAD)
+
+$(subst %,%_BLAKE2,$(objects)) :
+ @$(B2SUM)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+ @$(PREBUILD)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && $(CARGO_PREPARE)
+ cd $(DIR_APP) && $(CARGO_BUILD)
+ cd $(DIR_APP) && $(CARGO_INSTALL)
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
diff --git a/lfs/rust-chrono b/lfs/rust-chrono
new file mode 100644
index 000000000..cac6a8033
--- /dev/null
+++ b/lfs/rust-chrono
@@ -0,0 +1,81 @@
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2007-2018 IPFire Team <info(a)ipfire.org> #
+# #
+# 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 #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER = 0.4.19
+
+THISAPP = chrono-$(VER)
+DL_FILE = $(THISAPP).tar.gz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_BLAKE2 = c92c273fb6475bbb2546dfb75eaa23321bc8f9a5fa8a7c652f527649b96ff8718fa932f52b500b02a4acae7837df5bdb14f69cb821d4962be2790dbd1d023a54
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+b2 : $(subst %,%_BLAKE2,$(objects))
+
+dist:
+ @$(PAK)
+
+###############################################################################
+# Downloading, checking, b2sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+ @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+ @$(LOAD)
+
+$(subst %,%_BLAKE2,$(objects)) :
+ @$(B2SUM)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+ @$(PREBUILD)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/rust-chrono-0.4.19-fix-metadata.patch
+ cd $(DIR_APP) && $(CARGO_PREPARE)
+ cd $(DIR_APP) && $(CARGO_BUILD)
+ cd $(DIR_APP) && $(CARGO_INSTALL)
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
diff --git a/lfs/rust-indoc-0.3.6 b/lfs/rust-indoc-0.3.6
new file mode 100644
index 000000000..d8eff0bf4
--- /dev/null
+++ b/lfs/rust-indoc-0.3.6
@@ -0,0 +1,80 @@
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2007-2018 IPFire Team <info(a)ipfire.org> #
+# #
+# 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 #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER = 0.3.6
+
+THISAPP = indoc-$(VER)
+DL_FILE = $(THISAPP).tar.gz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/indoc-0.3.6-$(VER)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_BLAKE2 = ca7a1f4d3cbedbee0ba0a3f19c4b3352ff90927eef744b7e4f1d60855d4dc4265202972e81e0fc06d1222d8d5fb322efc4ef669af7396b251248a1e45c91def2
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+b2 : $(subst %,%_BLAKE2,$(objects))
+
+dist:
+ @$(PAK)
+
+###############################################################################
+# Downloading, checking, b2sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+ @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+ @$(LOAD)
+
+$(subst %,%_BLAKE2,$(objects)) :
+ @$(B2SUM)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+ @$(PREBUILD)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && $(CARGO_PREPARE)
+ cd $(DIR_APP) && $(CARGO_BUILD)
+ cd $(DIR_APP) && $(CARGO_INSTALL)
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
diff --git a/lfs/rust-num-integer b/lfs/rust-num-integer
new file mode 100644
index 000000000..2fd539b19
--- /dev/null
+++ b/lfs/rust-num-integer
@@ -0,0 +1,80 @@
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2007-2018 IPFire Team <info(a)ipfire.org> #
+# #
+# 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 #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER = 0.1.45
+
+THISAPP = num-integer-$(VER)
+DL_FILE = $(THISAPP).tar.gz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_BLAKE2 = 4da3e801f71ba8f92c692497e200bfc8d32183c94eaad91260683b09f4697c03175fec7cff5a9ff3782d5db5d514d74f22f7a61a102c0f0d2e67a7a4b4f29222
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+b2 : $(subst %,%_BLAKE2,$(objects))
+
+dist:
+ @$(PAK)
+
+###############################################################################
+# Downloading, checking, b2sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+ @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+ @$(LOAD)
+
+$(subst %,%_BLAKE2,$(objects)) :
+ @$(B2SUM)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+ @$(PREBUILD)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && $(CARGO_PREPARE)
+ cd $(DIR_APP) && $(CARGO_BUILD)
+ cd $(DIR_APP) && $(CARGO_INSTALL)
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
diff --git a/lfs/rust-num-traits b/lfs/rust-num-traits
new file mode 100644
index 000000000..cf4438214
--- /dev/null
+++ b/lfs/rust-num-traits
@@ -0,0 +1,80 @@
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2007-2018 IPFire Team <info(a)ipfire.org> #
+# #
+# 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 #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER = 0.2.15
+
+THISAPP = num-traits-$(VER)
+DL_FILE = $(THISAPP).tar.gz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_BLAKE2 = 942ab170b2acce1cb40e6847f766bf810a79edd293d34f3a27864f464c16fe2b99fb13171ba429cc6d584248de879434beaadf1b231a4001b0e8389ed6c1be04
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+b2 : $(subst %,%_BLAKE2,$(objects))
+
+dist:
+ @$(PAK)
+
+###############################################################################
+# Downloading, checking, b2sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+ @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+ @$(LOAD)
+
+$(subst %,%_BLAKE2,$(objects)) :
+ @$(B2SUM)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+ @$(PREBUILD)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && $(CARGO_PREPARE)
+ cd $(DIR_APP) && $(CARGO_BUILD)
+ cd $(DIR_APP) && $(CARGO_INSTALL)
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
diff --git a/lfs/rust-num_threads b/lfs/rust-num_threads
new file mode 100644
index 000000000..dc6f8e203
--- /dev/null
+++ b/lfs/rust-num_threads
@@ -0,0 +1,80 @@
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2007-2018 IPFire Team <info(a)ipfire.org> #
+# #
+# 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 #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER = 0.1.5
+
+THISAPP = num_threads-$(VER)
+DL_FILE = $(THISAPP).tar.gz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_BLAKE2 = b5a1055937a87c3f3b758ad527fce0a14c812b40c3bbda530bfc0e03f43dd3155c17e1eaa210c512a98919da802d9d48fec4e3c8464072fe4d309b9a402d9b61
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+b2 : $(subst %,%_BLAKE2,$(objects))
+
+dist:
+ @$(PAK)
+
+###############################################################################
+# Downloading, checking, b2sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+ @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+ @$(LOAD)
+
+$(subst %,%_BLAKE2,$(objects)) :
+ @$(B2SUM)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+ @$(PREBUILD)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && $(CARGO_PREPARE)
+ cd $(DIR_APP) && $(CARGO_BUILD)
+ cd $(DIR_APP) && $(CARGO_INSTALL)
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
diff --git a/lfs/rust-ouroboros b/lfs/rust-ouroboros
new file mode 100644
index 000000000..0b4739466
--- /dev/null
+++ b/lfs/rust-ouroboros
@@ -0,0 +1,80 @@
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2007-2018 IPFire Team <info(a)ipfire.org> #
+# #
+# 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 #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER = 0.13.0
+
+THISAPP = ouroboros-$(VER)
+DL_FILE = $(THISAPP).tar.gz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_BLAKE2 = ff54f4ed318f7a1875612a4ed5762c60de516f43825f0ecf23e5343958e5c8af68ae4aecc1daf913e58d21183ac037af047be015ef1e5c227ab4750e763ed4ab
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+b2 : $(subst %,%_BLAKE2,$(objects))
+
+dist:
+ @$(PAK)
+
+###############################################################################
+# Downloading, checking, b2sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+ @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+ @$(LOAD)
+
+$(subst %,%_BLAKE2,$(objects)) :
+ @$(B2SUM)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+ @$(PREBUILD)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && $(CARGO_PREPARE)
+ cd $(DIR_APP) && $(CARGO_BUILD)
+ cd $(DIR_APP) && $(CARGO_INSTALL)
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
diff --git a/lfs/rust-ouroboros_macro b/lfs/rust-ouroboros_macro
new file mode 100644
index 000000000..6a4374550
--- /dev/null
+++ b/lfs/rust-ouroboros_macro
@@ -0,0 +1,80 @@
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2007-2018 IPFire Team <info(a)ipfire.org> #
+# #
+# 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 #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER = 0.13.0
+
+THISAPP = ouroboros_macro-$(VER)
+DL_FILE = $(THISAPP).tar.gz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_BLAKE2 = 16b65a6417ef147d15083c51c96b382a96a71fae124f1baae91432c5de7585edf7ca3f3f8e35b303d3e3c17a411f740d1dccc3382d541c0e7ded22bda81a838e
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+b2 : $(subst %,%_BLAKE2,$(objects))
+
+dist:
+ @$(PAK)
+
+###############################################################################
+# Downloading, checking, b2sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+ @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+ @$(LOAD)
+
+$(subst %,%_BLAKE2,$(objects)) :
+ @$(B2SUM)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+ @$(PREBUILD)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && $(CARGO_PREPARE)
+ cd $(DIR_APP) && $(CARGO_BUILD)
+ cd $(DIR_APP) && $(CARGO_INSTALL)
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
diff --git a/lfs/rust-paste-0.1.18 b/lfs/rust-paste-0.1.18
new file mode 100644
index 000000000..138d45ec9
--- /dev/null
+++ b/lfs/rust-paste-0.1.18
@@ -0,0 +1,80 @@
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2007-2018 IPFire Team <info(a)ipfire.org> #
+# #
+# 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 #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER = 0.1.18
+
+THISAPP = paste-$(VER)
+DL_FILE = $(THISAPP).tar.gz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_BLAKE2 = ed72b93a27166b0989743c2528d4a41f4b87ffdd0c588557d11a5f37f85d5b8f03ced86150af6209f9fa8d0f6efee705769b26a2f4dc3363f35cc3ac12c0e6ad
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+b2 : $(subst %,%_BLAKE2,$(objects))
+
+dist:
+ @$(PAK)
+
+###############################################################################
+# Downloading, checking, b2sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+ @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+ @$(LOAD)
+
+$(subst %,%_BLAKE2,$(objects)) :
+ @$(B2SUM)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+ @$(PREBUILD)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && $(CARGO_PREPARE)
+ cd $(DIR_APP) && $(CARGO_BUILD)
+ cd $(DIR_APP) && $(CARGO_INSTALL)
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
diff --git a/lfs/rust-pem b/lfs/rust-pem
new file mode 100644
index 000000000..59c51943b
--- /dev/null
+++ b/lfs/rust-pem
@@ -0,0 +1,80 @@
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2007-2018 IPFire Team <info(a)ipfire.org> #
+# #
+# 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 #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER = 1.0.2
+
+THISAPP = pem-$(VER)
+DL_FILE = $(THISAPP).tar.gz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_BLAKE2 = 17c3457a90807bdcc75795161e244a7c531449d0679212394a76601c2bc1b353d8c18d34c5cccae3a728387c834a23011b17a8a1bace15a1aae26de30adb1c8a
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+b2 : $(subst %,%_BLAKE2,$(objects))
+
+dist:
+ @$(PAK)
+
+###############################################################################
+# Downloading, checking, b2sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+ @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+ @$(LOAD)
+
+$(subst %,%_BLAKE2,$(objects)) :
+ @$(B2SUM)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+ @$(PREBUILD)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && $(CARGO_PREPARE)
+ cd $(DIR_APP) && $(CARGO_BUILD)
+ cd $(DIR_APP) && $(CARGO_INSTALL)
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
diff --git a/lfs/rust-proc-macro-error b/lfs/rust-proc-macro-error
new file mode 100644
index 000000000..7260b3f93
--- /dev/null
+++ b/lfs/rust-proc-macro-error
@@ -0,0 +1,80 @@
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2007-2018 IPFire Team <info(a)ipfire.org> #
+# #
+# 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 #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER = 1.0.4
+
+THISAPP = proc-macro-error-$(VER)
+DL_FILE = $(THISAPP).tar.gz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_BLAKE2 = ef918c5efaf2545ab38787c8d0c07315af00431139e4dff66346bf798e3a429f91d12a79776c150412fdda0b158a72badd5e1044ac4d6917f8482d4b5a7110b7
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+b2 : $(subst %,%_BLAKE2,$(objects))
+
+dist:
+ @$(PAK)
+
+###############################################################################
+# Downloading, checking, b2sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+ @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+ @$(LOAD)
+
+$(subst %,%_BLAKE2,$(objects)) :
+ @$(B2SUM)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+ @$(PREBUILD)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && $(CARGO_PREPARE)
+ cd $(DIR_APP) && $(CARGO_BUILD)
+ cd $(DIR_APP) && $(CARGO_INSTALL)
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
diff --git a/lfs/rust-proc-macro-error-attr b/lfs/rust-proc-macro-error-attr
new file mode 100644
index 000000000..37c76b170
--- /dev/null
+++ b/lfs/rust-proc-macro-error-attr
@@ -0,0 +1,80 @@
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2007-2018 IPFire Team <info(a)ipfire.org> #
+# #
+# 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 #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER = 1.0.4
+
+THISAPP = proc-macro-error-attr-$(VER)
+DL_FILE = $(THISAPP).tar.gz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_BLAKE2 = 98e2925881c2be186e22c2c439697e91d43f807eb61a5d13e3b0b4321ed50a74f3d699942c04b89b6fea0f156bb5d19ebcf22f9cd4b98a7e6917c437600ed823
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+b2 : $(subst %,%_BLAKE2,$(objects))
+
+dist:
+ @$(PAK)
+
+###############################################################################
+# Downloading, checking, b2sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+ @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+ @$(LOAD)
+
+$(subst %,%_BLAKE2,$(objects)) :
+ @$(B2SUM)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+ @$(PREBUILD)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && $(CARGO_PREPARE)
+ cd $(DIR_APP) && $(CARGO_BUILD)
+ cd $(DIR_APP) && $(CARGO_INSTALL)
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
diff --git a/lfs/rust-pyo3 b/lfs/rust-pyo3
index cce8e55dd..9b5a179c7 100644
--- a/lfs/rust-pyo3
+++ b/lfs/rust-pyo3
@@ -24,7 +24,7 @@
include Config
-VER = 0.13.1
+VER = 0.15.1
THISAPP = pyo3-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 = 9f64e5ba53a2af2120518bb219088798bfbfbab9ff52af6109cd61a50b06ad377880b4bfafabc7a2fd554c7685bd3ba41a08c1e25fae6eae551842e918812289
+$(DL_FILE)_BLAKE2 = b755c93d8dca8e778b886ed1d16e83ddca483d0f6c932b3241edb2e1211306cb0257d2a6bc31ba4298335f277898e59aad67e9f675ed4ad9a2bb9d596400bda3
install : $(TARGET)
diff --git a/lfs/rust-pyo3-macros b/lfs/rust-pyo3-macros
index f6bdd98f1..367394067 100644
--- a/lfs/rust-pyo3-macros
+++ b/lfs/rust-pyo3-macros
@@ -24,7 +24,7 @@
include Config
-VER = 0.13.1
+VER = 0.15.1
THISAPP = pyo3-macros-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 = 3e5dc613edd7e9007c92ef83384e2379e3500f48d9d03f9875261b1af320a6d1d41eacff64c14b966561d9bb8b8b932f4dcc437480b91adaa64a8dd747cb89ac
+$(DL_FILE)_BLAKE2 = c7d87c150678efbb5dd6ef98da9997676ef3e7f8628a79f01a3ecbf94cc8b2d0752573d894fd769fb8791f30bcfd03a5c9f76cce73c00be90c1488faed63198d
install : $(TARGET)
diff --git a/lfs/rust-pyo3-macros-backend b/lfs/rust-pyo3-macros-backend
index d8dfa3569..5f79d7834 100644
--- a/lfs/rust-pyo3-macros-backend
+++ b/lfs/rust-pyo3-macros-backend
@@ -24,7 +24,7 @@
include Config
-VER = 0.13.1
+VER = 0.15.1
THISAPP = pyo3-macros-backend-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 = f05e6834cd3d717f298e2ce66f4bb73786a9e996d6a9ef83f9e2c0e6538c8c4262ba332307478c086bc69b47a65c0596110ac792ba379ba6e7a97a2b7a7ba871
+$(DL_FILE)_BLAKE2 = fabde516114a001e7f9ec1a1f422c5819ad5bceb4db36ecf2ef5dfde397d4d3c7dc7a8acf11cafde4156594e90a4f95d51dbefa43ee8bc172441d3f81eb299b2
install : $(TARGET)
diff --git a/lfs/rust-stable_deref_trait b/lfs/rust-stable_deref_trait
new file mode 100644
index 000000000..9030d3bf2
--- /dev/null
+++ b/lfs/rust-stable_deref_trait
@@ -0,0 +1,80 @@
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2007-2018 IPFire Team <info(a)ipfire.org> #
+# #
+# 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 #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER = 1.2.0
+
+THISAPP = stable_deref_trait-$(VER)
+DL_FILE = $(THISAPP).tar.gz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_BLAKE2 = 287a65c3e5b47213544a43e57c60a54add60b4c2e3c8d042407d860cc950ba7ca01a2e67ce56aed6744992b61ec1f9aed3321e3d88482e33129548b7d51df205
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+b2 : $(subst %,%_BLAKE2,$(objects))
+
+dist:
+ @$(PAK)
+
+###############################################################################
+# Downloading, checking, b2sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+ @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+ @$(LOAD)
+
+$(subst %,%_BLAKE2,$(objects)) :
+ @$(B2SUM)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+ @$(PREBUILD)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && $(CARGO_PREPARE)
+ cd $(DIR_APP) && $(CARGO_BUILD)
+ cd $(DIR_APP) && $(CARGO_INSTALL)
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
diff --git a/lfs/rust-time b/lfs/rust-time
new file mode 100644
index 000000000..2ea396c79
--- /dev/null
+++ b/lfs/rust-time
@@ -0,0 +1,81 @@
+###############################################################################
+# #
+# IPFire.org - A linux based firewall #
+# Copyright (C) 2007-2018 IPFire Team <info(a)ipfire.org> #
+# #
+# 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 #
+# the Free Software Foundation, either version 3 of the License, or #
+# (at your option) any later version. #
+# #
+# This program is distributed in the hope that it will be useful, #
+# but WITHOUT ANY WARRANTY; without even the implied warranty of #
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
+# GNU General Public License for more details. #
+# #
+# You should have received a copy of the GNU General Public License #
+# along with this program. If not, see <http://www.gnu.org/licenses/>. #
+# #
+###############################################################################
+
+###############################################################################
+# Definitions
+###############################################################################
+
+include Config
+
+VER = 0.1.43
+
+THISAPP = time-$(VER)
+DL_FILE = $(THISAPP).tar.gz
+DL_FROM = $(URL_IPFIRE)
+DIR_APP = $(DIR_SRC)/$(THISAPP)
+TARGET = $(DIR_INFO)/$(THISAPP)
+
+###############################################################################
+# Top-level Rules
+###############################################################################
+
+objects = $(DL_FILE)
+
+$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
+
+$(DL_FILE)_BLAKE2 = 95fe69647e8d52784be1fd3457578896aa38279d00f51f1070eadab111d39450583c63854c73d4384f2e4349b0250f1c9bff9901529b776c596846c057c93335
+
+install : $(TARGET)
+
+check : $(patsubst %,$(DIR_CHK)/%,$(objects))
+
+download :$(patsubst %,$(DIR_DL)/%,$(objects))
+
+b2 : $(subst %,%_BLAKE2,$(objects))
+
+dist:
+ @$(PAK)
+
+###############################################################################
+# Downloading, checking, b2sum
+###############################################################################
+
+$(patsubst %,$(DIR_CHK)/%,$(objects)) :
+ @$(CHECK)
+
+$(patsubst %,$(DIR_DL)/%,$(objects)) :
+ @$(LOAD)
+
+$(subst %,%_BLAKE2,$(objects)) :
+ @$(B2SUM)
+
+###############################################################################
+# Installation Details
+###############################################################################
+
+$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
+ @$(PREBUILD)
+ @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE)
+ cd $(DIR_APP) && patch -Np1 < $(DIR_SRC)/src/patches/rust-time-0.1.43-fix-metadata.patch
+ cd $(DIR_APP) && $(CARGO_PREPARE)
+ cd $(DIR_APP) && $(CARGO_BUILD)
+ cd $(DIR_APP) && $(CARGO_INSTALL)
+ @rm -rf $(DIR_APP)
+ @$(POSTBUILD)
diff --git a/lfs/sudo b/lfs/sudo
index 4d73db639..ce9649d79 100644
--- a/lfs/sudo
+++ b/lfs/sudo
@@ -24,7 +24,7 @@
include Config
-VER = 1.9.10
+VER = 1.9.11p3
THISAPP = sudo-$(VER)
DL_FILE = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 = 94d97379e31b41917616a829cbece3d3fce7dd6ab9d04791b928981c14249c306508298655c19dc59a054ccf7deed4e69e65367cbfe9f6d8b5aba8895cfa6064
+$(DL_FILE)_BLAKE2 = f8508f65b514abd9979a11628d8bc0e085b2625993281e7d1f8794a576e88970bda6939d2f2f50d9485f00276970aba3489b19c102eca5625e389c9610f338dd
install : $(TARGET)
diff --git a/lfs/xfsprogs b/lfs/xfsprogs
index fb2047800..b9ea1f694 100644
--- a/lfs/xfsprogs
+++ b/lfs/xfsprogs
@@ -24,7 +24,7 @@
include Config
-VER = 5.16.0
+VER = 5.18.0
THISAPP = xfsprogs-$(VER)
DL_FILE = $(THISAPP).tar.xz
@@ -40,7 +40,7 @@ objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
-$(DL_FILE)_BLAKE2 = da328fe0c146a7b8ba866c5872f26ce95010939e05da51c73ed6374f00474605a81f4a822d65b60a132a4de47fff286e9f5f1ac809c1aa29420633f573b61aef
+$(DL_FILE)_BLAKE2 = a2a2835d53ee6ac55279636f3f3cdcecab8757911ce5c1ea5f350a4da9ff4c1ca64b2aba1c0e5424c0c0a01fd0504396d5fecca12e4689c372ed5bb76b9ac24e
install : $(TARGET)
diff --git a/make.sh b/make.sh
index ff58c75a9..4c2dc10b5 100755
--- a/make.sh
+++ b/make.sh
@@ -1270,6 +1270,7 @@ buildipfire() {
lfsmake2 rust-proc-macro-hack
lfsmake2 rust-indoc-impl
lfsmake2 rust-indoc
+ lfsmake2 rust-indoc-0.3.6
lfsmake2 rust-instant
lfsmake2 rust-lock_api
lfsmake2 rust-smallvec
@@ -1277,6 +1278,7 @@ buildipfire() {
lfsmake2 rust-parking_lot
lfsmake2 rust-paste-impl
lfsmake2 rust-paste
+ lfsmake2 rust-paste-0.1.18
lfsmake2 rust-ctor
lfsmake2 rust-ghost
lfsmake2 rust-inventory-impl
@@ -1285,6 +1287,22 @@ buildipfire() {
lfsmake2 rust-pyo3-macros-backend
lfsmake2 rust-pyo3-macros
lfsmake2 rust-pyo3
+ lfsmake2 rust-num-traits
+ lfsmake2 rust-num-integer
+ lfsmake2 rust-num_threads
+ lfsmake2 rust-time
+ lfsmake2 rust-chrono
+ lfsmake2 rust-asn1_derive
+ lfsmake2 rust-asn1
+ lfsmake2 rust-proc-macro-error-attr
+ lfsmake2 rust-proc-macro-error
+ lfsmake2 rust-Inflector
+ lfsmake2 rust-ouroboros_macro
+ lfsmake2 rust-aliasable
+ lfsmake2 rust-stable_deref_trait
+ lfsmake2 rust-ouroboros
+ lfsmake2 rust-base64
+ lfsmake2 rust-pem
lfsmake2 gdb
lfsmake2 grub
lfsmake2 efivar
diff --git a/src/pakfire/lib/functions.pl b/src/pakfire/lib/functions.pl
index d4e338f23..24c55fd4a 100644
--- a/src/pakfire/lib/functions.pl
+++ b/src/pakfire/lib/functions.pl
@@ -2,7 +2,7 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2021 IPFire Team <info(a)ipfire.org> #
+# Copyright (C) 2007-2022 IPFire Team <info(a)ipfire.org> #
# #
# 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 #
@@ -206,7 +206,7 @@ sub fetchfile {
if ( $code eq "500" ) {
message("Giving up: There was no chance to get the file \"$getfile\" from any available server.\nThere was an error on the way. Please fix it.");
- return 1;
+ return 0;
}
if ($response->is_success) {
@@ -226,7 +226,7 @@ sub fetchfile {
}
logger("DOWNLOAD FINISHED: $file");
$allok = 1;
- return 0;
+ return 1;
} else {
logger("DOWNLOAD ERROR: Could not open $Conf::tmpdir/$bfile for writing.");
}
@@ -235,7 +235,7 @@ sub fetchfile {
}
}
message("DOWNLOAD ERROR: There was no chance to get the file \"$getfile\" from any available server.\nMay be you should run \"pakfire update\" to get some new servers.");
- return 1;
+ return 0;
}
sub getmirrors {
@@ -256,9 +256,14 @@ sub getmirrors {
}
if ("$force" eq "force") {
- fetchfile("$Conf::version/lists/server-list.db", "$Conf::mainserver");
- move("$Conf::cachedir/server-list.db", "$Conf::dbdir/lists/server-list.db");
+ if (fetchfile("$Conf::version/lists/server-list.db", "$Conf::mainserver")) {
+ move("$Conf::cachedir/server-list.db", "$Conf::dbdir/lists/server-list.db");
+ } elsif (! -e "$Conf::dbdir/lists/server-list.db" ) {
+ # if we end up with no server-list at all, return failure
+ return 0;
+ }
}
+ return 1;
}
sub getcoredb {
@@ -279,8 +284,9 @@ sub getcoredb {
}
if ("$force" eq "force") {
- fetchfile("lists/core-list.db", "");
- move("$Conf::cachedir/core-list.db", "$Conf::dbdir/lists/core-list.db");
+ if (fetchfile("lists/core-list.db", "")) {
+ move("$Conf::cachedir/core-list.db", "$Conf::dbdir/lists/core-list.db");
+ }
}
}
@@ -318,15 +324,13 @@ sub selectmirror {
### Check if there is a current server list and read it.
# If there is no list try to get one.
- my $count = 0;
- while (!(open(FILE, "<$Conf::dbdir/lists/server-list.db")) && ($count lt 5)) {
- $count++;
- getmirrors("noforce");
- }
- if ($count == 5) {
- message("MIRROR ERROR: Could not find or download a server list");
- exit 1;
+ unless (open(FILE, "<$Conf::dbdir/lists/server-list.db")) {
+ unless (getmirrors("noforce")) {
+ message("MIRROR ERROR: Could not find or download a server list");
+ exit 1;
+ }
}
+
my @lines = <FILE>;
close(FILE);
@@ -390,8 +394,13 @@ sub dbgetlist {
}
if ("$force" eq "force") {
- fetchfile("lists/packages_list.db", "");
- move("$Conf::cachedir/packages_list.db", "$Conf::dbdir/lists/packages_list.db");
+ if (fetchfile("lists/packages_list.db", "")) {
+ move("$Conf::cachedir/packages_list.db", "$Conf::dbdir/lists/packages_list.db");
+ } elsif ( -e "$Conf::dbdir/lists/packages_list.db" ) {
+ # If we end up with no db file after download error there
+ # is nothing more we can do here.
+ return 0;
+ }
}
# Update the meta database if new packages was in the package list
@@ -419,8 +428,7 @@ sub dbgetlist {
@templine = split(/\;/,$prog);
if (("$metadata{'Name'}" eq "$templine[0]") && ("$metadata{'Release'}" ne "$templine[2]")) {
move("$Conf::dbdir/meta/meta-$metadata{'Name'}","$Conf::dbdir/meta/old_meta-$metadata{'Name'}");
- fetchfile("meta/meta-$metadata{'Name'}", "");
- move("$Conf::cachedir/meta-$metadata{'Name'}", "$Conf::dbdir/meta/meta-$metadata{'Name'}");
+ getmetafile($metadata{'Name'});
}
}
}
@@ -532,11 +540,14 @@ sub dblist {
sub resolvedeps_one {
my $pak = shift;
-
- getmetafile("$pak");
-
+
message("PAKFIRE RESV: $pak: Resolving dependencies...");
+ unless (getmetafile("$pak")) {
+ message("PAKFIRE ERROR: Error retrieving dependency information on $pak. Unable to resolve dependencies.");
+ exit 1;
+ };
+
my %metadata = parsemetafile("$Conf::dbdir/meta/meta-$pak");
my @all;
my @deps = split(/ /, $metadata{'Dependencies'});
@@ -629,14 +640,10 @@ sub cleanup {
sub getmetafile {
my $pak = shift;
-
- unless ( -e "$Conf::dbdir/meta/meta-$pak" ) {
- fetchfile("meta/meta-$pak", "");
- move("$Conf::cachedir/meta-$pak", "$Conf::dbdir/meta/meta-$pak");
- }
-
- if ( -z "$Conf::dbdir/meta/meta-$pak" ) {
- fetchfile("meta/meta-$pak", "");
+
+ # Try to download meta-file if we don't have one yet, or it is empty for some reason
+ if ((! -e "$Conf::dbdir/meta/meta-$pak" ) || ( -z "$Conf::dbdir/meta/meta-$pak" )) {
+ return 0 unless (fetchfile("meta/meta-$pak", ""));
move("$Conf::cachedir/meta-$pak", "$Conf::dbdir/meta/meta-$pak");
}
@@ -651,6 +658,7 @@ sub getmetafile {
print FILE $string;
}
close(FILE);
+
return 1;
}
@@ -713,8 +721,11 @@ sub getpak {
my $pak = shift;
my $force = shift;
- getmetafile("$pak");
-
+ unless (getmetafile("$pak")) {
+ message("PAKFIRE ERROR: Unable to retrieve $pak metadata.");
+ exit 1;
+ }
+
my %metadata = parsemetafile("$Conf::dbdir/meta/meta-$pak");
my $file = $metadata{'File'};
@@ -728,8 +739,11 @@ sub getpak {
return $file;
}
}
-
- fetchfile("paks/$file", "");
+
+ unless (fetchfile("paks/$file", "")) {
+ message("PAKFIRE ERROR: Unable to download $pak.");
+ exit 1;
+ }
return $file;
}
diff --git a/src/patches/rust-chrono-0.4.19-fix-metadata.patch b/src/patches/rust-chrono-0.4.19-fix-metadata.patch
new file mode 100644
index 000000000..cf6861693
--- /dev/null
+++ b/src/patches/rust-chrono-0.4.19-fix-metadata.patch
@@ -0,0 +1,23 @@
+--- chrono-0.4.19/Cargo.toml.original 2020-09-30 17:06:24.000000000 +0200
++++ chrono-0.4.19/Cargo.toml 2022-06-16 17:27:21.440234723 +0200
+@@ -93,7 +93,7 @@
+ __doctest = []
+ __internal_bench = []
+ alloc = []
+-clock = ["libc", "std", "winapi"]
++clock = ["libc", "std"]
+ default = ["clock", "std", "oldtime"]
+ oldtime = ["time"]
+ std = []
+@@ -108,10 +108,7 @@
+ optional = true
+ [target."cfg(all(target_arch = \"wasm32\", not(any(target_os = \"emscripten\", target_os = \"wasi\"))))".dev-dependencies.wasm-bindgen-test]
+ version = "0.3"
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3.0"
+-features = ["std", "minwinbase", "minwindef", "timezoneapi"]
+-optional = true
++
+ [badges.appveyor]
+ repository = "chronotope/chrono"
+
diff --git a/src/patches/rust-time-0.1.43-fix-metadata.patch b/src/patches/rust-time-0.1.43-fix-metadata.patch
new file mode 100644
index 000000000..342281750
--- /dev/null
+++ b/src/patches/rust-time-0.1.43-fix-metadata.patch
@@ -0,0 +1,13 @@
+--- time-0.1.43/Cargo.toml.original 2020-04-20 00:31:10.000000000 +0200
++++ time-0.1.43/Cargo.toml 2022-06-16 15:21:19.210090045 +0200
+@@ -29,10 +29,3 @@
+ optional = true
+ [dev-dependencies.log]
+ version = "0.4"
+-
+-[dev-dependencies.winapi]
+-version = "0.3.0"
+-features = ["std", "processthreadsapi", "winbase"]
+-[target."cfg(windows)".dependencies.winapi]
+-version = "0.3.0"
+-features = ["std", "minwinbase", "minwindef", "ntdef", "profileapi", "sysinfoapi", "timezoneapi"]
hooks/post-receive
--
IPFire 2.x development tree
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 b55842c26a94e9ff42d4f9010bdfcc51cd311dea (commit)
via 255873a5f9a564036092a20e4bec7f4965cbd149 (commit)
from 5086ed681da4784474f0f71aaa70ec1d4940897c (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 b55842c26a94e9ff42d4f9010bdfcc51cd311dea
Author: Peter Müller <peter.mueller(a)ipfire.org>
Date: Wed Jun 29 20:13:11 2022 +0000
Core Update 169: Delete "random" initscript
Signed-off-by: Peter Müller <peter.mueller(a)ipfire.org>
commit 255873a5f9a564036092a20e4bec7f4965cbd149
Author: Michael Tremer <michael.tremer(a)ipfire.org>
Date: Wed Jun 29 18:32:17 2022 +0000
random: Drop busy-loop script
This is no longer required because the kernel will now try to
generate some randomness in an easier way when needed.
This has been added in: b923dd3de0acbf415cee193191250347b733fab8
Signed-off-by: Michael Tremer <michael.tremer(a)ipfire.org>
Reviewed-by: Peter Müller <peter.mueller(a)ipfire.org>
-----------------------------------------------------------------------
Summary of changes:
config/rootfiles/common/aarch64/initscripts | 2 --
config/rootfiles/common/armv6l/initscripts | 2 --
config/rootfiles/common/x86_64/initscripts | 2 --
config/rootfiles/core/169/update.sh | 2 ++
lfs/initscripts | 1 -
src/initscripts/system/random | 51 -----------------------------
6 files changed, 2 insertions(+), 58 deletions(-)
delete mode 100644 src/initscripts/system/random
Difference in files:
diff --git a/config/rootfiles/common/aarch64/initscripts b/config/rootfiles/common/aarch64/initscripts
index 4e607012a..d0c01c006 100644
--- a/config/rootfiles/common/aarch64/initscripts
+++ b/config/rootfiles/common/aarch64/initscripts
@@ -71,7 +71,6 @@ etc/rc.d/init.d/networking/wpa_supplicant.exe
etc/rc.d/init.d/ntp
etc/rc.d/init.d/pakfire
etc/rc.d/init.d/partresize
-etc/rc.d/init.d/random
etc/rc.d/init.d/rc
etc/rc.d/init.d/reboot
etc/rc.d/init.d/rngd
@@ -187,7 +186,6 @@ etc/rc.d/rcsysinit.d/S45udev_retry
etc/rc.d/rcsysinit.d/S50cleanfs
etc/rc.d/rcsysinit.d/S60setclock
etc/rc.d/rcsysinit.d/S65rngd
-etc/rc.d/rcsysinit.d/S66random
etc/rc.d/rcsysinit.d/S70console
etc/rc.d/rcsysinit.d/S71pakfire
etc/rc.d/rcsysinit.d/S73swconfig
diff --git a/config/rootfiles/common/armv6l/initscripts b/config/rootfiles/common/armv6l/initscripts
index 4e607012a..d0c01c006 100644
--- a/config/rootfiles/common/armv6l/initscripts
+++ b/config/rootfiles/common/armv6l/initscripts
@@ -71,7 +71,6 @@ etc/rc.d/init.d/networking/wpa_supplicant.exe
etc/rc.d/init.d/ntp
etc/rc.d/init.d/pakfire
etc/rc.d/init.d/partresize
-etc/rc.d/init.d/random
etc/rc.d/init.d/rc
etc/rc.d/init.d/reboot
etc/rc.d/init.d/rngd
@@ -187,7 +186,6 @@ etc/rc.d/rcsysinit.d/S45udev_retry
etc/rc.d/rcsysinit.d/S50cleanfs
etc/rc.d/rcsysinit.d/S60setclock
etc/rc.d/rcsysinit.d/S65rngd
-etc/rc.d/rcsysinit.d/S66random
etc/rc.d/rcsysinit.d/S70console
etc/rc.d/rcsysinit.d/S71pakfire
etc/rc.d/rcsysinit.d/S73swconfig
diff --git a/config/rootfiles/common/x86_64/initscripts b/config/rootfiles/common/x86_64/initscripts
index dba397e73..628b59969 100644
--- a/config/rootfiles/common/x86_64/initscripts
+++ b/config/rootfiles/common/x86_64/initscripts
@@ -71,7 +71,6 @@ etc/rc.d/init.d/networking/wpa_supplicant.exe
etc/rc.d/init.d/ntp
etc/rc.d/init.d/pakfire
etc/rc.d/init.d/partresize
-etc/rc.d/init.d/random
etc/rc.d/init.d/rc
etc/rc.d/init.d/reboot
etc/rc.d/init.d/rngd
@@ -186,7 +185,6 @@ etc/rc.d/rcsysinit.d/S45udev_retry
etc/rc.d/rcsysinit.d/S50cleanfs
etc/rc.d/rcsysinit.d/S60setclock
etc/rc.d/rcsysinit.d/S65rngd
-etc/rc.d/rcsysinit.d/S66random
etc/rc.d/rcsysinit.d/S70console
etc/rc.d/rcsysinit.d/S71pakfire
etc/rc.d/rcsysinit.d/S74cloud-init
diff --git a/config/rootfiles/core/169/update.sh b/config/rootfiles/core/169/update.sh
index abca6c336..8af8120ce 100644
--- a/config/rootfiles/core/169/update.sh
+++ b/config/rootfiles/core/169/update.sh
@@ -88,6 +88,8 @@ rm -rvf \
# Remove files
rm -rvf \
+ /etc/rc.d/init.d/random \
+ /etc/rc.d/rcsysinit.d/S66random \
/lib/firmware/ath10k/QCA99X0/hw2.0/board.bin \
/lib/firmware/intel/ice/ddp/ice-1.3.26.0.pkg \
/lib/firmware/iwlwifi-3160-10.ucode \
diff --git a/lfs/initscripts b/lfs/initscripts
index 97220cd4d..c6a5f3835 100644
--- a/lfs/initscripts
+++ b/lfs/initscripts
@@ -171,7 +171,6 @@ $(TARGET) :
ln -sf ../init.d/setclock /etc/rc.d/rc0.d/K47setclock
ln -sf ../init.d/setclock /etc/rc.d/rc6.d/K47setclock
ln -sf ../init.d/rngd /etc/rc.d/rcsysinit.d/S65rngd
- ln -sf ../init.d/random /etc/rc.d/rcsysinit.d/S66random
ln -sf ../init.d/console /etc/rc.d/rcsysinit.d/S70console
ln -sf ../init.d/pakfire /etc/rc.d/rcsysinit.d/S71pakfire
ln -sf ../init.d/cloud-init /etc/rc.d/rcsysinit.d/S74cloud-init
diff --git a/src/initscripts/system/random b/src/initscripts/system/random
deleted file mode 100644
index 60b508738..000000000
--- a/src/initscripts/system/random
+++ /dev/null
@@ -1,51 +0,0 @@
-#!/bin/sh
-###############################################################################
-# #
-# IPFire.org - A linux based firewall #
-# Copyright (C) 2007-2022 IPFire Team <info(a)ipfire.org> #
-# #
-# 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 #
-# the Free Software Foundation, either version 3 of the License, or #
-# (at your option) any later version. #
-# #
-# This program is distributed in the hope that it will be useful, #
-# but WITHOUT ANY WARRANTY; without even the implied warranty of #
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
-# GNU General Public License for more details. #
-# #
-# You should have received a copy of the GNU General Public License #
-# along with this program. If not, see <http://www.gnu.org/licenses/>. #
-# #
-###############################################################################
-
-. /etc/sysconfig/rc
-. $rc_functions
-
-if [ -e /proc/sys/kernel/random/poolsize ]; then
- poolsize=$(</proc/sys/kernel/random/poolsize);
- poolsize=$(expr $poolsize / 8 );
-else
- poolsize=512;
-fi
-
-case "$1" in
- start)
-
- #CRNG init need 128bit so wait until there is more)
- avail=$(</proc/sys/kernel/random/entropy_avail)
- while [ $avail -lt 130 ]; do
- avail=$(</proc/sys/kernel/random/entropy_avail)
- boot_mesg -n "\rWait for entropy: $avail/130 "
- # Generate some disc access to gather entropy
- echo avail > /var/tmp/random-tmpfile
- sync
- rm -f /var/tmp/random-tmpfile
- done;
- ;;
-
- *)
- echo "Usage: $0 {start}"
- exit 1
- ;;
-esac
hooks/post-receive
--
IPFire 2.x development tree
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 5086ed681da4784474f0f71aaa70ec1d4940897c (commit)
from 2fcfe2e1f339c868b5800b61433c803023686371 (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 5086ed681da4784474f0f71aaa70ec1d4940897c
Author: Peter Müller <peter.mueller(a)ipfire.org>
Date: Wed Jun 29 19:43:08 2022 +0000
sysctl: Permit ptrace usage for processes with CAP_SYS_PTRACE
https://lists.ipfire.org/pipermail/development/2022-June/013763.html
Reported-by: Michael Tremer <michael.tremer(a)ipfire.org>
Signed-off-by: Peter Müller <peter.mueller(a)ipfire.org>
-----------------------------------------------------------------------
Summary of changes:
config/etc/sysctl.conf | 4 ++--
1 file changed, 2 insertions(+), 2 deletions(-)
Difference in files:
diff --git a/config/etc/sysctl.conf b/config/etc/sysctl.conf
index 4d4f765ea..31a220e38 100644
--- a/config/etc/sysctl.conf
+++ b/config/etc/sysctl.conf
@@ -109,5 +109,5 @@ kernel.core_uses_pid = 1
# Block non-uid-0 profiling
kernel.perf_event_paranoid = 3
-# Deny any ptrace use as there is no legitimate use-case for it on IPFire
-kernel.yama.ptrace_scope = 3
+# Only processes with CAP_SYS_PTRACE may use ptrace
+kernel.yama.ptrace_scope = 2
hooks/post-receive
--
IPFire 2.x development tree