Compare commits

...

3 Commits

Author SHA1 Message Date
fbt
b83330dcd5 workflow
All checks were successful
Package builder / BuildPackage (push) Successful in 24m5s
Signed-off-by: fbt <fbt@fleshless.org>
2026-06-22 21:03:47 +00:00
fbt
dc2e068305 libs
Some checks failed
Package builder / BuildPackage (push) Failing after 25s
Signed-off-by: fbt <fbt@fleshless.org>
2026-06-22 20:25:56 +00:00
fbt
d22c068d35 kek
Signed-off-by: fbt <fbt@fleshless.org>
2026-06-22 20:23:53 +00:00
12 changed files with 874 additions and 138 deletions

95
.SRCINFO Normal file
View File

@@ -0,0 +1,95 @@
pkgbase = systemd-libs
pkgver = 261
pkgrel = 1
url = https://www.github.com/systemd/systemd
arch = x86_64
license = LGPL-2.1-or-later
makedepends = acl
makedepends = apparmor
makedepends = cryptsetup
makedepends = docbook-xsl
makedepends = gperf
makedepends = lz4
makedepends = xz
makedepends = pam
makedepends = libelf
makedepends = intltool
makedepends = iptables
makedepends = kmod
makedepends = libarchive
makedepends = libidn2
makedepends = libgcrypt
makedepends = libmicrohttpd
makedepends = libxcrypt
makedepends = libxslt
makedepends = util-linux
makedepends = linux-api-headers
makedepends = python-jinja
makedepends = python-lxml
makedepends = quota-tools
makedepends = shadow
makedepends = git
makedepends = meson
makedepends = libseccomp
makedepends = pcre2
makedepends = audit
makedepends = kexec-tools
makedepends = libxkbcommon
makedepends = bash-completion
makedepends = p11-kit
makedepends = systemd
makedepends = libfido2
makedepends = tpm2-tss
makedepends = rsync
makedepends = bpf
makedepends = libbpf
makedepends = clang
makedepends = llvm
makedepends = curl
makedepends = gnutls
makedepends = python-pyelftools
makedepends = libpwquality
makedepends = qrencode
makedepends = lib32-gcc-libs
makedepends = python-pefile
makedepends = linux-headers
conflicts = mkinitcpio<38-1
source = git+https://github.com/systemd/systemd#tag=v261?signed
source = 0001-Use-Arch-Linux-device-access-groups.patch
validpgpkeys = 63CDA1E5D3FC22B998D20DD6327F26951A015CC4
validpgpkeys = A9EA9081724FFAE0484C35A1A81CEA22BC8C7E2E
validpgpkeys = 9A774DB5DB996C154EBBFBFDA0099A18E29326E1
validpgpkeys = 5C251B5FC54EB2F80F407AAAC54CA336CFEB557E
sha256sums = 3647acaee7daaf2e58432c2c224b61cb477e1580b2278717dbbdeaa55249253f
sha256sums = 3ed6376fa18f9f79413c49ca0a04543476649217365c27cd396c83e867a3dffc
pkgname = systemd-libs-systemd
pkgdesc = systemd client libraries
license = LGPL-2.1-or-later
license = CC0-1.0
license = GPL-2.0-or-later WITH Linux-syscall-note
depends = glibc
depends = libgcc
depends = libgcc_s.so
depends = libgcrypt
depends = lz4
depends = xz
depends = zstd
provides = libsystemd
provides = libsystemd.so
conflicts = libsystemd
replaces = libsystemd
pkgname = systemd-libs-udev
pkgdesc = systemd client libraries, udev
license = LGPL-2.1-or-later
license = CC0-1.0
license = GPL-2.0-or-later WITH Linux-syscall-note
depends = glibc
depends = libgcc
depends = libgcc_s.so
depends = libgcrypt
depends = lz4
depends = xz
depends = zstd
provides = libudev.so

View File

@@ -22,7 +22,7 @@ jobs:
- name: Build the package
run: |
cd ${{ gitea.workspace }}
/build -s --noconfirm
/build ${{ gitea.workspace }} -s --noconfirm
# - name: Upload artifacts
# uses: actions/upload-artifact@v3
# with:

View File

@@ -1,10 +1,7 @@
From 0e8c18bc2639da328274d02d9222ee2c1f6bf696 Mon Sep 17 00:00:00 2001
From 774ed0e86d4cc33884cd82c2b4063f368afe5aff Mon Sep 17 00:00:00 2001
From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com>
Date: Tue, 6 Mar 2018 23:39:47 +0100
Subject: [PATCH] Use Arch Linux' device access groups
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
cdrom → optical
dialout → uucp
@@ -17,16 +14,18 @@ Content-Transfer-Encoding: 8bit
4 files changed, 19 insertions(+), 19 deletions(-)
diff --git a/meson.build b/meson.build
index 76ad51d3fb..5cf679b088 100644
index 599d2a3217..536ddb1ae2 100644
--- a/meson.build
+++ b/meson.build
@@ -915,19 +915,19 @@ conf.set_quoted('NOBODY_GROUP_NAME', nobody_group)
@@ -906,21 +906,21 @@ conf.set_quoted('NOBODY_GROUP_NAME', nobody_group)
static_ugids = []
foreach option : ['adm-gid',
'audio-gid',
- 'cdrom-gid',
'clock-gid',
- 'dialout-gid',
'disk-gid',
'empower-gid',
'input-gid',
'kmem-gid',
'kvm-gid',
@@ -44,21 +43,23 @@ index 76ad51d3fb..5cf679b088 100644
'wheel-gid',
'systemd-journal-gid',
diff --git a/meson_options.txt b/meson_options.txt
index 814f340840..253a77ecb3 100644
index 1d7c4f4bd2..e63b709397 100644
--- a/meson_options.txt
+++ b/meson_options.txt
@@ -257,10 +257,6 @@ option('adm-gid', type : 'integer', value : 0,
@@ -287,12 +287,8 @@ option('adm-gid', type : 'integer', value : 0,
description : 'soft-static allocation for the "adm" group')
option('audio-gid', type : 'integer', value : 0,
description : 'soft-static allocation for the "audio" group')
-option('cdrom-gid', type : 'integer', value : 0,
- description : 'soft-static allocation for the "cdrom" group')
option('clock-gid', type : 'integer', value : 0,
description : 'soft-static allocation for the "clock" group')
-option('dialout-gid', type : 'integer', value : 0,
- description : 'soft-static allocation for the "dialout" group')
option('disk-gid', type : 'integer', value : 0,
description : 'soft-static allocation for the "disk" group')
option('input-gid', type : 'integer', value : 0,
@@ -271,18 +267,22 @@ option('kvm-gid', type : 'integer', value : 0,
option('empower-gid', type : 'integer', value : 0,
@@ -305,18 +301,22 @@ option('kvm-gid', type : 'integer', value : 0,
description : 'soft-static allocation for the "kvm" group')
option('lp-gid', type : 'integer', value : 0,
description : 'soft-static allocation for the "lp" group')
@@ -84,19 +85,19 @@ index 814f340840..253a77ecb3 100644
description : 'soft-static allocation for the "video" group')
option('wheel-gid', type : 'integer', value : 0,
diff --git a/rules.d/50-udev-default.rules.in b/rules.d/50-udev-default.rules.in
index 843bdaf9ce..a192f091df 100644
index 9264b8e021..67cb9c43c7 100644
--- a/rules.d/50-udev-default.rules.in
+++ b/rules.d/50-udev-default.rules.in
@@ -26,7 +26,7 @@ SUBSYSTEM=="tty", KERNEL=="sclp_line[0-9]*", GROUP="tty", MODE="0620"
SUBSYSTEM=="tty", KERNEL=="ttysclp[0-9]*", GROUP="tty", MODE="0620"
SUBSYSTEM=="tty", KERNEL=="3270/tty[0-9]*", GROUP="tty", MODE="0620"
@@ -43,7 +43,7 @@ SUBSYSTEM=="tty", KERNEL=="ptmx", GROUP="tty", MODE="0666"
SUBSYSTEM=="tty", KERNEL=="tty", GROUP="tty", MODE="0666"
SUBSYSTEM=="tty", KERNEL=="tty[0-9]*|hvc[0-9]*|sclp_line[0-9]*|ttysclp[0-9]*|3270/tty[0-9]*", GROUP="tty", MODE="{{TTY_MODE}}"
SUBSYSTEM=="vc", KERNEL=="vcs*|vcsa*", GROUP="tty"
-KERNEL=="tty[A-Z]*[0-9]|ttymxc[0-9]*|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="dialout"
+KERNEL=="tty[A-Z]*[0-9]|ttymxc[0-9]*|pppox[0-9]*|ircomm[0-9]*|noz[0-9]*|rfcomm[0-9]*", GROUP="uucp"
SUBSYSTEM=="mem", KERNEL=="mem|kmem|port", GROUP="kmem", MODE="0640"
@@ -72,13 +72,13 @@ KERNEL=="irlpt[0-9]*", GROUP="lp"
@@ -90,13 +90,13 @@ KERNEL=="irlpt[0-9]*", GROUP="lp"
SUBSYSTEM=="usb", ENV{DEVTYPE}=="usb_device", ENV{ID_USB_INTERFACES}=="*:0701??:*", GROUP="lp"
SUBSYSTEM=="block", GROUP="disk"
@@ -117,14 +118,15 @@ index 843bdaf9ce..a192f091df 100644
KERNEL=="qft[0-9]*|nqft[0-9]*|zqft[0-9]*|nzqft[0-9]*|rawqft[0-9]*|nrawqft[0-9]*", GROUP="disk"
KERNEL=="loop-control", GROUP="disk", OPTIONS+="static_node=loop-control"
diff --git a/sysusers.d/basic.conf.in b/sysusers.d/basic.conf.in
index a602b872e4..8d38febb6a 100644
index cf200fb14f..d922f12f7f 100644
--- a/sysusers.d/basic.conf.in
+++ b/sysusers.d/basic.conf.in
@@ -23,17 +23,17 @@ g utmp {{UTMP_GID }} - -
@@ -25,18 +25,18 @@ g utmp {{UTMP_GID }} - -
# Physical and virtual hardware access groups
g audio {{AUDIO_GID }} - -
-g cdrom {{CDROM_GID }} - -
g clock {{CLOCK_GID }} - -
-g dialout {{DIALOUT_GID}} - -
g disk {{DISK_GID }} - -
g input {{INPUT_GID }} - -
@@ -141,41 +143,3 @@ index a602b872e4..8d38febb6a 100644
g video {{VIDEO_GID }} - -
# Default group for normal users
From 9e2987a7b4d09d7b554141e9ef2c911cb3fda570 Mon Sep 17 00:00:00 2001
From: Christian Hesse <mail@eworm.de>
Date: Mon, 27 Dec 2021 23:32:42 +0100
Subject: [PATCH] generate tmpfiles.d/legacy.conf
---
tmpfiles.d/legacy.conf.in | 3 ---
tmpfiles.d/meson.build | 2 +-
2 files changed, 1 insertion(+), 4 deletions(-)
diff --git a/tmpfiles.d/legacy.conf.in b/tmpfiles.d/legacy.conf.in
index 4f2c0d7c43..62e2ae0986 100644
--- a/tmpfiles.d/legacy.conf.in
+++ b/tmpfiles.d/legacy.conf.in
@@ -12,9 +12,6 @@
d /run/lock 0755 root root -
L /var/lock - - - - ../run/lock
-{% if CREATE_LOG_DIRS %}
-L /var/log/README - - - - ../..{{DOC_DIR}}/README.logs
-{% endif %}
# /run/lock/subsys is used for serializing SysV service execution, and
# hence without use on SysV-less systems.
diff --git a/tmpfiles.d/meson.build b/tmpfiles.d/meson.build
index ca1abbf3fe..25e2b53402 100644
--- a/tmpfiles.d/meson.build
+++ b/tmpfiles.d/meson.build
@@ -29,7 +29,7 @@ foreach pair : files
endforeach
in_files = [['etc.conf', ''],
- ['legacy.conf', 'HAVE_SYSV_COMPAT'],
+ ['legacy.conf', ''],
['static-nodes-permissions.conf', ''],
['systemd.conf', ''],
['var.conf', ''],

12
LICENSE Normal file
View File

@@ -0,0 +1,12 @@
Copyright Arch Linux Contributors
Permission to use, copy, modify, and/or distribute this software for
any purpose with or without fee is hereby granted.
THE SOFTWARE IS PROVIDED “AS IS” AND THE AUTHOR DISCLAIMS ALL
WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE
FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY
DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN
AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.

1
LICENSES/0BSD.txt Symbolic link
View File

@@ -0,0 +1 @@
../LICENSE

View File

@@ -0,0 +1,176 @@
GNU LESSER GENERAL PUBLIC LICENSE
Version 2.1, February 1999
Copyright (C) 1991, 1999 Free Software Foundation, Inc.
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
Everyone is permitted to copy and distribute verbatim copies of this license document, but changing it is not allowed.
[This is the first released version of the Lesser GPL. It also counts as the successor of the GNU Library Public License, version 2, hence the version number 2.1.]
Preamble
The licenses for most software are designed to take away your freedom to share and change it. By contrast, the GNU General Public Licenses are intended to guarantee your freedom to share and change free software--to make sure the software is free for all its users.
This license, the Lesser General Public License, applies to some specially designated software packages--typically libraries--of the Free Software Foundation and other authors who decide to use it. You can use it too, but we suggest you first think carefully about whether this license or the ordinary General Public License is the better strategy to use in any particular case, based on the explanations below.
When we speak of free software, we are referring to freedom of use, not price. Our General Public Licenses are designed to make sure that you have the freedom to distribute copies of free software (and charge for this service if you wish); that you receive source code or can get it if you want it; that you can change the software and use pieces of it in new free programs; and that you are informed that you can do these things.
To protect your rights, we need to make restrictions that forbid distributors to deny you these rights or to ask you to surrender these rights. These restrictions translate to certain responsibilities for you if you distribute copies of the library or if you modify it.
For example, if you distribute copies of the library, whether gratis or for a fee, you must give the recipients all the rights that we gave you. You must make sure that they, too, receive or can get the source code. If you link other code with the library, you must provide complete object files to the recipients, so that they can relink them with the library after making changes to the library and recompiling it. And you must show them these terms so they know their rights.
We protect your rights with a two-step method: (1) we copyright the library, and (2) we offer you this license, which gives you legal permission to copy, distribute and/or modify the library.
To protect each distributor, we want to make it very clear that there is no warranty for the free library. Also, if the library is modified by someone else and passed on, the recipients should know that what they have is not the original version, so that the original author's reputation will not be affected by problems that might be introduced by others.
Finally, software patents pose a constant threat to the existence of any free program. We wish to make sure that a company cannot effectively restrict the users of a free program by obtaining a restrictive license from a patent holder. Therefore, we insist that any patent license obtained for a version of the library must be consistent with the full freedom of use specified in this license.
Most GNU software, including some libraries, is covered by the ordinary GNU General Public License. This license, the GNU Lesser General Public License, applies to certain designated libraries, and is quite different from the ordinary General Public License. We use this license for certain libraries in order to permit linking those libraries into non-free programs.
When a program is linked with a library, whether statically or using a shared library, the combination of the two is legally speaking a combined work, a derivative of the original library. The ordinary General Public License therefore permits such linking only if the entire combination fits its criteria of freedom. The Lesser General Public License permits more lax criteria for linking other code with the library.
We call this license the "Lesser" General Public License because it does Less to protect the user's freedom than the ordinary General Public License. It also provides other free software developers Less of an advantage over competing non-free programs. These disadvantages are the reason we use the ordinary General Public License for many libraries. However, the Lesser license provides advantages in certain special circumstances.
For example, on rare occasions, there may be a special need to encourage the widest possible use of a certain library, so that it becomes a de-facto standard. To achieve this, non-free programs must be allowed to use the library. A more frequent case is that a free library does the same job as widely used non-free libraries. In this case, there is little to gain by limiting the free library to free software only, so we use the Lesser General Public License.
In other cases, permission to use a particular library in non-free programs enables a greater number of people to use a large body of free software. For example, permission to use the GNU C Library in non-free programs enables many more people to use the whole GNU operating system, as well as its variant, the GNU/Linux operating system.
Although the Lesser General Public License is Less protective of the users' freedom, it does ensure that the user of a program that is linked with the Library has the freedom and the wherewithal to run that program using a modified version of the Library.
The precise terms and conditions for copying, distribution and modification follow. Pay close attention to the difference between a "work based on the library" and a "work that uses the library". The former contains code derived from the library, whereas the latter must be combined with the library in order to run.
GNU LESSER GENERAL PUBLIC LICENSE
TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
0. This License Agreement applies to any software library or other program which contains a notice placed by the copyright holder or other authorized party saying it may be distributed under the terms of this Lesser General Public License (also called "this License"). Each licensee is addressed as "you".
A "library" means a collection of software functions and/or data prepared so as to be conveniently linked with application programs (which use some of those functions and data) to form executables.
The "Library", below, refers to any such software library or work which has been distributed under these terms. A "work based on the Library" means either the Library or any derivative work under copyright law: that is to say, a work containing the Library or a portion of it, either verbatim or with modifications and/or translated straightforwardly into another language. (Hereinafter, translation is included without limitation in the term "modification".)
"Source code" for a work means the preferred form of the work for making modifications to it. For a library, complete source code means all the source code for all modules it contains, plus any associated interface definition files, plus the scripts used to control compilation and installation of the library.
Activities other than copying, distribution and modification are not covered by this License; they are outside its scope. The act of running a program using the Library is not restricted, and output from such a program is covered only if its contents constitute a work based on the Library (independent of the use of the Library in a tool for writing it). Whether that is true depends on what the Library does and what the program that uses the Library does.
1. You may copy and distribute verbatim copies of the Library's complete source code as you receive it, in any medium, provided that you conspicuously and appropriately publish on each copy an appropriate copyright notice and disclaimer of warranty; keep intact all the notices that refer to this License and to the absence of any warranty; and distribute a copy of this License along with the Library.
You may charge a fee for the physical act of transferring a copy, and you may at your option offer warranty protection in exchange for a fee.
2. You may modify your copy or copies of the Library or any portion of it, thus forming a work based on the Library, and copy and distribute such modifications or work under the terms of Section 1 above, provided that you also meet all of these conditions:
a) The modified work must itself be a software library.
b) You must cause the files modified to carry prominent notices stating that you changed the files and the date of any change.
c) You must cause the whole of the work to be licensed at no charge to all third parties under the terms of this License.
d) If a facility in the modified Library refers to a function or a table of data to be supplied by an application program that uses the facility, other than as an argument passed when the facility is invoked, then you must make a good faith effort to ensure that, in the event an application does not supply such function or table, the facility still operates, and performs whatever part of its purpose remains meaningful.
(For example, a function in a library to compute square roots has a purpose that is entirely well-defined independent of the application. Therefore, Subsection 2d requires that any application-supplied function or table used by this function must be optional: if the application does not supply it, the square root function must still compute square roots.)
These requirements apply to the modified work as a whole. If identifiable sections of that work are not derived from the Library, and can be reasonably considered independent and separate works in themselves, then this License, and its terms, do not apply to those sections when you distribute them as separate works. But when you distribute the same sections as part of a whole which is a work based on the Library, the distribution of the whole must be on the terms of this License, whose permissions for other licensees extend to the entire whole, and thus to each and every part regardless of who wrote it.
Thus, it is not the intent of this section to claim rights or contest your rights to work written entirely by you; rather, the intent is to exercise the right to control the distribution of derivative or collective works based on the Library.
In addition, mere aggregation of another work not based on the Library with the Library (or with a work based on the Library) on a volume of a storage or distribution medium does not bring the other work under the scope of this License.
3. You may opt to apply the terms of the ordinary GNU General Public License instead of this License to a given copy of the Library. To do this, you must alter all the notices that refer to this License, so that they refer to the ordinary GNU General Public License, version 2, instead of to this License. (If a newer version than version 2 of the ordinary GNU General Public License has appeared, then you can specify that version instead if you wish.) Do not make any other change in these notices.
Once this change is made in a given copy, it is irreversible for that copy, so the ordinary GNU General Public License applies to all subsequent copies and derivative works made from that copy.
This option is useful when you wish to copy part of the code of the Library into a program that is not a library.
4. You may copy and distribute the Library (or a portion or derivative of it, under Section 2) in object code or executable form under the terms of Sections 1 and 2 above provided that you accompany it with the complete corresponding machine-readable source code, which must be distributed under the terms of Sections 1 and 2 above on a medium customarily used for software interchange.
If distribution of object code is made by offering access to copy from a designated place, then offering equivalent access to copy the source code from the same place satisfies the requirement to distribute the source code, even though third parties are not compelled to copy the source along with the object code.
5. A program that contains no derivative of any portion of the Library, but is designed to work with the Library by being compiled or linked with it, is called a "work that uses the Library". Such a work, in isolation, is not a derivative work of the Library, and therefore falls outside the scope of this License.
However, linking a "work that uses the Library" with the Library creates an executable that is a derivative of the Library (because it contains portions of the Library), rather than a "work that uses the library". The executable is therefore covered by this License. Section 6 states terms for distribution of such executables.
When a "work that uses the Library" uses material from a header file that is part of the Library, the object code for the work may be a derivative work of the Library even though the source code is not. Whether this is true is especially significant if the work can be linked without the Library, or if the work is itself a library. The threshold for this to be true is not precisely defined by law.
If such an object file uses only numerical parameters, data structure layouts and accessors, and small macros and small inline functions (ten lines or less in length), then the use of the object file is unrestricted, regardless of whether it is legally a derivative work. (Executables containing this object code plus portions of the Library will still fall under Section 6.)
Otherwise, if the work is a derivative of the Library, you may distribute the object code for the work under the terms of Section 6. Any executables containing that work also fall under Section 6, whether or not they are linked directly with the Library itself.
6. As an exception to the Sections above, you may also combine or link a "work that uses the Library" with the Library to produce a work containing portions of the Library, and distribute that work under terms of your choice, provided that the terms permit modification of the work for the customer's own use and reverse engineering for debugging such modifications.
You must give prominent notice with each copy of the work that the Library is used in it and that the Library and its use are covered by this License. You must supply a copy of this License. If the work during execution displays copyright notices, you must include the copyright notice for the Library among them, as well as a reference directing the user to the copy of this License. Also, you must do one of these things:
a) Accompany the work with the complete corresponding machine-readable source code for the Library including whatever changes were used in the work (which must be distributed under Sections 1 and 2 above); and, if the work is an executable linked with the Library, with the complete machine-readable "work that uses the Library", as object code and/or source code, so that the user can modify the Library and then relink to produce a modified executable containing the modified Library. (It is understood that the user who changes the contents of definitions files in the Library will not necessarily be able to recompile the application to use the modified definitions.)
b) Use a suitable shared library mechanism for linking with the Library. A suitable mechanism is one that (1) uses at run time a copy of the library already present on the user's computer system, rather than copying library functions into the executable, and (2) will operate properly with a modified version of the library, if the user installs one, as long as the modified version is interface-compatible with the version that the work was made with.
c) Accompany the work with a written offer, valid for at least three years, to give the same user the materials specified in Subsection 6a, above, for a charge no more than the cost of performing this distribution.
d) If distribution of the work is made by offering access to copy from a designated place, offer equivalent access to copy the above specified materials from the same place.
e) Verify that the user has already received a copy of these materials or that you have already sent this user a copy.
For an executable, the required form of the "work that uses the Library" must include any data and utility programs needed for reproducing the executable from it. However, as a special exception, the materials to be distributed need not include anything that is normally distributed (in either source or binary form) with the major components (compiler, kernel, and so on) of the operating system on which the executable runs, unless that component itself accompanies the executable.
It may happen that this requirement contradicts the license restrictions of other proprietary libraries that do not normally accompany the operating system. Such a contradiction means you cannot use both them and the Library together in an executable that you distribute.
7. You may place library facilities that are a work based on the Library side-by-side in a single library together with other library facilities not covered by this License, and distribute such a combined library, provided that the separate distribution of the work based on the Library and of the other library facilities is otherwise permitted, and provided that you do these two things:
a) Accompany the combined library with a copy of the same work based on the Library, uncombined with any other library facilities. This must be distributed under the terms of the Sections above.
b) Give prominent notice with the combined library of the fact that part of it is a work based on the Library, and explaining where to find the accompanying uncombined form of the same work.
8. You may not copy, modify, sublicense, link with, or distribute the Library except as expressly provided under this License. Any attempt otherwise to copy, modify, sublicense, link with, or distribute the Library is void, and will automatically terminate your rights under this License. However, parties who have received copies, or rights, from you under this License will not have their licenses terminated so long as such parties remain in full compliance.
9. You are not required to accept this License, since you have not signed it. However, nothing else grants you permission to modify or distribute the Library or its derivative works. These actions are prohibited by law if you do not accept this License. Therefore, by modifying or distributing the Library (or any work based on the Library), you indicate your acceptance of this License to do so, and all its terms and conditions for copying, distributing or modifying the Library or works based on it.
10. Each time you redistribute the Library (or any work based on the Library), the recipient automatically receives a license from the original licensor to copy, distribute, link with or modify the Library subject to these terms and conditions. You may not impose any further restrictions on the recipients' exercise of the rights granted herein. You are not responsible for enforcing compliance by third parties with this License.
11. If, as a consequence of a court judgment or allegation of patent infringement or for any other reason (not limited to patent issues), conditions are imposed on you (whether by court order, agreement or otherwise) that contradict the conditions of this License, they do not excuse you from the conditions of this License. If you cannot distribute so as to satisfy simultaneously your obligations under this License and any other pertinent obligations, then as a consequence you may not distribute the Library at all. For example, if a patent license would not permit royalty-free redistribution of the Library by all those who receive copies directly or indirectly through you, then the only way you could satisfy both it and this License would be to refrain entirely from distribution of the Library.
If any portion of this section is held invalid or unenforceable under any particular circumstance, the balance of the section is intended to apply, and the section as a whole is intended to apply in other circumstances.
It is not the purpose of this section to induce you to infringe any patents or other property right claims or to contest validity of any such claims; this section has the sole purpose of protecting the integrity of the free software distribution system which is implemented by public license practices. Many people have made generous contributions to the wide range of software distributed through that system in reliance on consistent application of that system; it is up to the author/donor to decide if he or she is willing to distribute software through any other system and a licensee cannot impose that choice.
This section is intended to make thoroughly clear what is believed to be a consequence of the rest of this License.
12. If the distribution and/or use of the Library is restricted in certain countries either by patents or by copyrighted interfaces, the original copyright holder who places the Library under this License may add an explicit geographical distribution limitation excluding those countries, so that distribution is permitted only in or among countries not thus excluded. In such case, this License incorporates the limitation as if written in the body of this License.
13. The Free Software Foundation may publish revised and/or new versions of the Lesser General Public License from time to time. Such new versions will be similar in spirit to the present version, but may differ in detail to address new problems or concerns.
Each version is given a distinguishing version number. If the Library specifies a version number of this License which applies to it and "any later version", you have the option of following the terms and conditions either of that version or of any later version published by the Free Software Foundation. If the Library does not specify a license version number, you may choose any version ever published by the Free Software Foundation.
14. If you wish to incorporate parts of the Library into other free programs whose distribution conditions are incompatible with these, write to the author to ask for permission. For software which is copyrighted by the Free Software Foundation, write to the Free Software Foundation; we sometimes make exceptions for this. Our decision will be guided by the two goals of preserving the free status of all derivatives of our free software and of promoting the sharing and reuse of software generally.
NO WARRANTY
15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES PROVIDE THE LIBRARY "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
16. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR REDISTRIBUTE THE LIBRARY AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE THE LIBRARY (INCLUDING BUT NOT LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD PARTIES OR A FAILURE OF THE LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.
END OF TERMS AND CONDITIONS
How to Apply These Terms to Your New Libraries
If you develop a new library, and you want it to be of the greatest possible use to the public, we recommend making it free software that everyone can redistribute and change. You can do so by permitting redistribution under these terms (or, alternatively, under the terms of the ordinary General Public License).
To apply these terms, attach the following notices to the library. It is safest to attach them to the start of each source file to most effectively convey the exclusion of warranty; and each file should have at least the "copyright" line and a pointer to where the full notice is found.
one line to give the library's name and an idea of what it does.
Copyright (C) year name of author
This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version.
This library 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 Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA Also add information on how to contact you by electronic and paper mail.
You should also get your employer (if you work as a programmer) or your school, if any, to sign a "copyright disclaimer" for the library, if necessary. Here is a sample; alter the names:
Yoyodyne, Inc., hereby disclaims all copyright interest in
the library `Frob' (a library for tweaking knobs) written
by James Random Hacker.
signature of Ty Coon, 1 April 1990
Ty Coon, President of Vice
That's all there is to it!

203
PKGBUILD
View File

@@ -1,29 +1,60 @@
# Adapted from the Arch Linux systemd build script.
# Maintainer: Jack L. Frost <fbt@fleshless.org>
# Maintainer: Christian Hesse <mail@eworm.de>
# ➡️ Pushing pre-releases to [core-testing] can cause havoc, especially
# as all [core] packages are built there, and may be moved before.
# Anyway, pre-release packages may be available in my personal testing
# repository. Brave souls add it with:
# [eworm-testing]
# SigLevel = Required
# Server = https://pkgbuild.com/~eworm/$repo/$arch/
pkgbase=systemd-libs
pkgname=('systemd-libs-systemd' 'systemd-libs-udev')
_tag='42f5ba1e56ddb81c244e0d85f13109acdb14cbee' # git rev-parse v${_tag_name}
_tag_name=254.5
pkgver="${_tag_name/-/}"
pkgname=( 'systemd-libs-systemd' 'systemd-libs-udev' )
# Upstream versioning is incompatible with pacman's version comparisons, one
# way or another. We use proper version for pacman here (no dash for rc
# release!), and change in source array below.
pkgver=261
pkgrel=1
arch=('x86_64')
license=('LGPL-2.1-or-later')
url='https://www.github.com/systemd/systemd'
makedepends=('acl' 'cryptsetup' 'docbook-xsl' 'gperf' 'lz4' 'xz' 'pam' 'libelf'
'intltool' 'iptables' 'kmod' 'libcap' 'libidn2' 'libgcrypt'
makedepends=('acl' 'apparmor' 'cryptsetup' 'docbook-xsl' 'gperf' 'lz4' 'xz' 'pam' 'libelf'
'intltool' 'iptables' 'kmod' 'libarchive' 'libidn2' 'libgcrypt'
'libmicrohttpd' 'libxcrypt' 'libxslt' 'util-linux' 'linux-api-headers'
'python-jinja' 'python-lxml' 'quota-tools' 'shadow' 'git'
'meson' 'libseccomp' 'pcre2' 'audit' 'kexec-tools' 'libxkbcommon'
'bash-completion' 'p11-kit' 'systemd' 'libfido2' 'tpm2-tss' 'rsync'
'bpf' 'libbpf' 'clang' 'llvm' 'curl' 'gnutls' 'python-pyelftools'
'lib32-gcc-libs')
options=('strip')
#validpgpkeys=('63CDA1E5D3FC22B998D20DD6327F26951A015CC4' # Lennart Poettering <lennart@poettering.net>
# '5C251B5FC54EB2F80F407AAAC54CA336CFEB557E') # Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
source=("git+https://github.com/systemd/systemd-stable#tag=${_tag}"
"git+https://github.com/systemd/systemd#tag=v${_tag_name%.*}"
'libpwquality' 'qrencode' 'lib32-gcc-libs' 'python-pefile' 'linux-headers')
conflicts=("mkinitcpio<38-1")
validpgpkeys=('63CDA1E5D3FC22B998D20DD6327F26951A015CC4' # Lennart Poettering <lennart@poettering.net>
'A9EA9081724FFAE0484C35A1A81CEA22BC8C7E2E' # Luca Boccassi <luca.boccassi@gmail.com>
'9A774DB5DB996C154EBBFBFDA0099A18E29326E1' # Yu Watanabe <watanabe.yu+github@gmail.com>
'5C251B5FC54EB2F80F407AAAC54CA336CFEB557E') # Zbigniew Jędrzejewski-Szmek <zbyszek@in.waw.pl>
# For pacman's version comparisons $pkgver is missing the dash that would be
# in an upstream rc version so add it back when fetching the tag from github.
source=("git+https://github.com/systemd/systemd#tag=v${pkgver/rc/-rc}?signed"
'0001-Use-Arch-Linux-device-access-groups.patch')
sha256sums=('3647acaee7daaf2e58432c2c224b61cb477e1580b2278717dbbdeaa55249253f'
'3ed6376fa18f9f79413c49ca0a04543476649217365c27cd396c83e867a3dffc')
_meson_version="${pkgver}-${pkgrel}"
_systemd_src_dir=systemd
if ((_systemd_UPSTREAM)); then
_meson_version="${pkgver}"
fi
# Some heuristics to detect that we are building on OBS, with no network access. Skip
# git verification, and use the OBS-provided tarball instead. The sources will be
# unpacked by OBS in $package-$version/
if [ -f /.build/build.dist ] && [ -d /usr/src/packages/SOURCES ] && [ -d /usr/src/packages/BUILD ] && [ -d /usr/src/packages/OTHER ]; then
source[0]="$(find . -name "${pkgbase}-${pkgver}.tar.*" -print -quit)"
sha512sums[0]='SKIP'
_systemd_src_dir="${pkgbase}-${pkgver}"
fi
_backports=(
)
@@ -31,23 +62,23 @@ _reverts=(
)
prepare() {
cd "systemd-stable"
cd "${_systemd_src_dir}"
# add upstream repository for cherry-picking
git remote add -f upstream ../systemd
# return if not a git repository
if ! git status >/dev/null 2>&1; then
return
fi
local _c
local _c _l
for _c in "${_backports[@]}"; do
if [[ $_c == *..* ]]; then
git log --oneline --reverse "${_c}"
else
git log --oneline -1 "${_c}"
fi
git cherry-pick -n -m1 "${_c}"
if [[ "${_c}" == *..* ]]; then _l='--reverse'; else _l='--max-count=1'; fi
git log --oneline "${_l}" "${_c}"
git cherry-pick --mainline 1 --no-commit "${_c}"
done
for _c in "${_reverts[@]}"; do
git log --oneline -1 "${_c}"
git revert -n "${_c}"
if [[ "${_c}" == *..* ]]; then _l='--reverse'; else _l='--max-count=1'; fi
git log --oneline "${_l}" "${_c}"
git revert --mainline 1 --no-commit "${_c}"
done
# Replace cdrom/dialout/tape groups with optical/uucp/storage
@@ -57,40 +88,43 @@ prepare() {
build() {
local _timeservers=({0..3}.arch.pool.ntp.org)
local _nameservers=(
# We use these public name services, ordered by their
# privacy policy (hopefully):
# * Cloudflare (https://1.1.1.1/)
# * Quad9 without filtering (https://www.quad9.net/)
# * Google (https://developers.google.com/speed/public-dns/)
1.1.1.1
9.9.9.10
8.8.8.8
2606:4700:4700::1111
2620:fe::10
2001:4860:4860::8888
# We use these public name services, ordered by their privacy policy (hopefully):
# * Quad9 (https://quad9.net/privacy/policy/)
'9.9.9.9#dns.quad9.net'
'2620:fe::9#dns.quad9.net'
# * Cloudflare (https://developers.cloudflare.com/1.1.1.1/privacy/public-dns-resolver/)
'1.1.1.1#cloudflare-dns.com'
'2606:4700:4700::1111#cloudflare-dns.com'
# * Google (https://developers.google.com/speed/public-dns/privacy)
'8.8.8.8#dns.google'
'2001:4860:4860::8888#dns.google'
# You do not agree? Fine, change it in your local configuration.
)
local _meson_options=(
# internal version comparison is incompatible with pacman:
# 249~rc1 < 249 < 249.1 < 249rc
-Dversion-tag="${_tag_name/-/\~}-${pkgrel}-arch"
-Dshared-lib-tag="${pkgver}-${pkgrel}"
-Dversion-tag="${_meson_version}-arch"
-Dvcs-tag=false
-Dshared-lib-tag="${_meson_version}"
-Dmode=release
-Dbootloader=true
-Dbpf-framework=true
-Dapparmor=enabled
-Dbootloader=enabled
-Dxenctrl=disabled
-Dbpf-framework=enabled
-Dima=false
-Dlibidn2=true
-Dlz4=true
-Dman=true
-Dnscd=false
# We disable DNSSEC by default, it still causes trouble:
# https://github.com/systemd/systemd/issues/10579
-Dinstall-tests=true
-Dlibidn2=enabled
-Dlz4=enabled
-Dman=enabled
-Dselinux=disabled
-Dsshdprivsepdir=/usr/share/empty.sshd
-Dsysupdated=enabled
-Dvmlinux-h=provided
-Dvmlinux-h-path=/usr/src/linux/vmlinux.h
-Dcompat-sysv-interfaces=false
-Ddbuspolicydir=/usr/share/dbus-1/system.d
-Ddefault-dnssec=no
-Ddefault-hierarchy=unified
-Ddefault-kill-user-processes=false
-Ddefault-locale='C.UTF-8'
-Dlocalegen-path=/usr/bin/locale-gen
@@ -100,58 +134,63 @@ build() {
-Dntp-servers="${_timeservers[*]}"
-Ddns-servers="${_nameservers[*]}"
-Drpmmacrosdir=no
-Dsysvinit-path=
-Dsysvrcnd-path=
-Dsbat-distro='arch'
-Dsbat-distro-summary='Arch Linux'
-Dsbat-distro-pkgname="systemd"
-Dsbat-distro-pkgname="${pkgname}"
-Dsbat-distro-version="${pkgver}"
-Dsbat-distro-url="https://archlinux.org/packages/core/x86_64/systemd/"
-Dsbat-distro-url="https://archlinux.org/packages/core/x86_64/${pkgname}/"
)
# this uses malloc_usable_size, which is incompatible with fortification level 3
export CFLAGS="${CFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
export CXXFLAGS="${CXXFLAGS/_FORTIFY_SOURCE=3/_FORTIFY_SOURCE=2}"
arch-meson "systemd-stable" build "${_meson_options[@]}"
arch-meson "${_systemd_src_dir}" build "${_meson_options[@]}" $MESON_EXTRA_CONFIGURE_OPTIONS
meson compile -C build
}
#check() { meson test -C build; }
package_systemd-libs-systemd() {
pkgdesc='systemd client libraries'
depends=('glibc' 'libcap' 'libgcrypt' 'lz4' 'xz' 'zstd')
license=('LGPL2.1')
provides=('libsystemd' 'libsystemd.so' 'systemd-libs')
depends=('glibc' 'libgcc' 'libgcc_s.so' 'libgcrypt' 'lz4' 'xz' 'zstd')
license+=(
'CC0-1.0' # siphash
'GPL-2.0-or-later WITH Linux-syscall-note' # src/basic/linux/*
)
provides=('libsystemd' 'libsystemd.so')
conflicts=('libsystemd')
replaces=('libsystemd')
DESTDIR="$srcdir/full-install" meson install -C build
meson install -C build --no-rebuild --destdir "${srcdir}/pkg" --quiet
install -d -m0755 "$pkgdir"/usr/lib
cp --archive "$srcdir/full-install/usr/lib/"lib{nss,systemd}*.so* "$pkgdir/usr/lib/"
# We don't need the whole thing
install -d -m0755 systemd-libs/lib/
mv "${srcdir}/pkg"/usr/lib/lib{nss,systemd,udev}*.so* systemd-libs/lib/
mv "${srcdir}/pkg"/usr/lib/pkgconfig systemd-libs/lib/pkgconfig
mv "${srcdir}/pkg"/usr/include systemd-libs/include
mv "${srcdir}/pkg"/usr/share/man/man3 systemd-libs/man3
install -d -m0755 "$pkgdir"/usr/lib/include
cp --archive "$srcdir/full-install/usr/include/systemd" "$pkgdir/usr/include/"
install -d -m0755 "$pkgdir/usr/share/man"
install -d -m0755 "$pkgdir/usr/lib"
install -d -m0755 "$pkgdir/usr/include"
mv systemd-libs/lib/lib{nss,systemd}*.so* "$pkgdir/usr/lib"
mv systemd-libs/include/systemd "$pkgdir/usr/include/systemd"
mv systemd-libs/man3 "$pkgdir/usr/share/man/man3"
}
package_systemd-libs-udev() {
pkgdesc="udev client libraries"
depends=('glibc' 'libcap' 'libgcrypt' 'lz4' 'xz')
license=('LGPL2.1')
provides=('libudev' 'libudev.so')
pkgdesc='systemd client libraries, udev'
depends=('glibc' 'libgcc' 'libgcc_s.so' 'libgcrypt' 'lz4' 'xz' 'zstd')
license+=(
'CC0-1.0' # siphash
'GPL-2.0-or-later WITH Linux-syscall-note' # src/basic/linux/*
)
provides=('libudev.so')
# udev libs
install -d -m0755 "$pkgdir"/usr/lib
cp --archive "$srcdir/full-install/usr/lib/"libudev* "$pkgdir/usr/lib/"
install -d -m0755 "$pkgdir/usr/lib/pkgconfig"
install -d -m0755 "$pkgdir/usr/include"
install -d -m0755 "$pkgdir"/usr/include
cp --archive "$srcdir/full-install/usr/include/libudev.h" "$pkgdir/usr/include/"
mv systemd-libs/lib/libudev*.so* "$pkgdir/usr/lib"
mv systemd-libs/lib/pkgconfig/libudev.pc "$pkgdir/usr/lib/pkgconfig/libudev.pc"
mv systemd-libs/include/libudev.h "$pkgdir/usr/include/libudev.h"
}
sha1sums=('SKIP'
'SKIP'
'0486ab66087de95ac304d6f599d914172d740a7c')
# vim:ft=sh syn=sh et sw=2:

33
REUSE.toml Normal file
View File

@@ -0,0 +1,33 @@
version = 1
[[annotations]]
path = [
"PKGBUILD",
"README.md",
"arch.conf",
"keys/**",
"loader.conf",
"splash-arch.bmp",
"systemd-hook",
".SRCINFO",
".nvchecker.toml",
"*.install",
"*.sysusers",
"*.tmpfiles",
"*.logrotate",
"*.pam",
"*.service",
"*.socket",
"*.timer",
"*.desktop",
"*.hook",
]
SPDX-FileCopyrightText = "Arch Linux contributors"
SPDX-License-Identifier = "0BSD"
[[annotations]]
path = [
"0001-Use-Arch-Linux-device-access-groups.patch",
]
SPDX-FileCopyrightText = "systemd contributors"
SPDX-License-Identifier = "LGPL-2.1-or-later"

View File

@@ -0,0 +1,51 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
NHq9Ahd8L7JVIsbKtcoP
=a25g
-----END PGP PUBLIC KEY BLOCK-----

View File

@@ -0,0 +1,72 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
mQGiBDjDxTgRBADILCd6h0DKdoY0bkATA20IBHAQ8axjpzVFocYco9w90jWRYj0y
5JntFUdXB20qh/tr1+H3p7Wr/9MNJDX/k+EJ8LCbqouFItfyE1m5k2iaqlGn3MBG
z+gbadL5x+01zZcuJmkhMa/xogs3OGvuw4QU0lRf/3VRgEvGQxh/DCQI7wCg91fQ
X5nGmLfaEajvZk622f4cmXED/jCtmntvBwk9J8jkYDrINEeglEcF8naA/qr20AkD
hvupalZDEL8CJVh+jKA9HcF584mQzV9BURxaWsU89sT7Jg7incdsOOSOJkCyaasO
slt7vGKlUjHBqYCUCp336BVDOY5k2c6U52bsMvfywVAAFf4cDn3S9QHDyaYkur2R
aqMrA/4giC+bF/K1sn4MHacr97QxEeeGNM6KG4z4QDmLeNdAANmJOLQaQFH+84Qj
r8KyRV0zd0sioh3419AsZ/o41W4cIahovJKWyDcNwKI0tP2y3KZDVtmD26RQ/BO4
aFEqv3Uii0Cop6j495XmSvteL7CZHLEog90hexe9ExI0xIIBs7QqTGVubmFydCBQ
b2V0dGVyaW5nIDxsZW5uYXJ0QHBvZXR0ZXJpbmcuZGU+iF4EExECABYECwoEAwMV
AwIDFgIBAheABQJGZKVoABIHZUdQRwABAQkQMn8mlRoBXMSoAACcCNTEt7jdZvVV
eAYZQu5caidHZvUAnArwD7mJLWddEUK2XXWOeyOY+0WmtCtMZW5uYXJ0IFBvZXR0
ZXJpbmcgPGxlbm5hcnRAcG9ldHRlcmluZy5uZXQ+iGMEExECACMCGwMGCwkIBwMC
BBUCCAMEFgIDAQIeAQIXgAUCRmSlaQIZAQAKCRAyfyaVGgFcxNX0AKDeFj3gF+Fl
CMgnw1JWu/fM5H8pYgCg7VRzOxtpEEiDSw37hv4eifyo7P60L0xlbm5hcnQgUG9l
dHRlcmluZyAoTGlzYSkgPGxwb2V0dGVyaW5nQGxpc2EuZGU+iEkEMBECAAkFAk6K
PXcCHSAACgkQMn8mlRoBXMSZNgCgjKt+QUMXVT1a2h25RkUyiiBPeAYAnRpV0f+q
i9N55hov5qCieRGUdvVctDJMZW5uYXJ0IFBvZXR0ZXJpbmcgKFJlZCBIYXQpIDxs
cG9ldHRlckByZWRoYXQuY29tPohgBBMRAgAgAhsDBgsJCAcDAgQVAggDBBYCAwEC
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
sDadOQCg30tdWRaNvasUMaTQL+fqE/pFzeI=
=mDgC
-----END PGP PUBLIC KEY BLOCK-----

View File

@@ -0,0 +1,52 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
HcRCOxTr2xTemQ==
=+88M
-----END PGP PUBLIC KEY BLOCK-----

View File

@@ -0,0 +1,241 @@
-----BEGIN PGP PUBLIC KEY BLOCK-----
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
=OCJO
-----END PGP PUBLIC KEY BLOCK-----