summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--user/cmus/APKBUILD2
-rw-r--r--user/elogind/APKBUILD2
-rw-r--r--user/gmime/APKBUILD2
-rw-r--r--user/horizon/APKBUILD21
-rw-r--r--user/horizon/fix-qt-runner.patch25
-rw-r--r--user/horizon/git.patch660
-rw-r--r--user/i3status/APKBUILD2
-rw-r--r--user/kde-system/APKBUILD2
-rw-r--r--user/networkmanager/01-org.freedesktop.NetworkManager.rules6
-rw-r--r--user/networkmanager/APKBUILD4
-rw-r--r--user/nftables/APKBUILD2
-rw-r--r--user/ntpsec/APKBUILD26
-rw-r--r--user/polkit/APKBUILD11
-rw-r--r--user/polkit/polkit-0.115-elogind.patch28
-rw-r--r--user/py3-bcrypt/APKBUILD32
-rw-r--r--user/py3-decorator/APKBUILD31
-rw-r--r--user/py3-invoke/APKBUILD33
-rw-r--r--user/py3-monotonic/APKBUILD31
-rw-r--r--user/py3-ncclient/APKBUILD49
-rw-r--r--user/py3-netconf/APKBUILD31
-rw-r--r--user/py3-paramiko/APKBUILD32
-rw-r--r--user/py3-pyang/APKBUILD40
-rw-r--r--user/py3-pynacl/APKBUILD32
-rw-r--r--user/py3-pytest-relaxed/APKBUILD32
-rw-r--r--user/py3-sshutil/APKBUILD31
25 files changed, 458 insertions, 709 deletions
diff --git a/user/cmus/APKBUILD b/user/cmus/APKBUILD
index 3b888a47b..a6f7ac075 100644
--- a/user/cmus/APKBUILD
+++ b/user/cmus/APKBUILD
@@ -61,4 +61,4 @@ package() {
}
sha512sums="cf359dfcefa833a5b10a2d16ac405672bea762b62b7177c115560127035682fba65c15b9a8710179a343d1f99212a0260b5c095542982202e2cd1bef5b0c17fc cmus-2.8.0.tar.gz
-06a91da06cc916aa475467aa90bd7170c7288b68459706c3416700e79ba8707fd7a85bded0c0d5d51d805c15f59ff395670f11318ca5a419d17ab1070a48775f ppc-libatomic.patch"
+1993e5c891d1f88105373a448cf3841cdded4aeef5268ea0591f5940228f9eb5a638cd16e37d5127dcdf76bfd15563c632f780834ee3c0748d2e5015bc292285 ppc-libatomic.patch"
diff --git a/user/elogind/APKBUILD b/user/elogind/APKBUILD
index 30dd59823..ac15c029f 100644
--- a/user/elogind/APKBUILD
+++ b/user/elogind/APKBUILD
@@ -7,7 +7,7 @@ pkgdesc="Session manager system"
url=" "
arch="all"
license="LGPL-2.1+"
-depends="dbus eudev polkit utmps"
+depends="dbus eudev utmps"
makedepends="meson ninja acl-dev dbus-dev docbook-xsl eudev-dev gperf libcap-dev
libxslt-dev linux-headers linux-pam-dev m4 skalibs-libs-dev
utmps-libs-dev"
diff --git a/user/gmime/APKBUILD b/user/gmime/APKBUILD
index 00424fc47..913f6801d 100644
--- a/user/gmime/APKBUILD
+++ b/user/gmime/APKBUILD
@@ -43,4 +43,4 @@ package() {
}
sha512sums="2c8fecd6eb74c9e956c419ce111bef6280916ea3756a534b6b800a273f0fff260717cda7fefd4bd4c6ddb27973112ec6e73fa971fa74bb9aa04cfe587d45f10b gmime-3.2.7.tar.xz
-443e768e15eb25116368739957ac31a30cd10a921c113b76af1a0baf0c690ca1346463577289d24ce8f46deb014dd014040033bc1f3d02d8a2190c70dd4c2a74 3.2.3-broken-tests.patch"
+19395defdb4287cb0f605676b1431db4d218258e9c6183cc0bec49ceaf75e7966fb2a7e41529e80595d71306870d20424454ef4e9fb836a364f9d44df78fa96a 3.2.3-broken-tests.patch"
diff --git a/user/horizon/APKBUILD b/user/horizon/APKBUILD
index 8fc42436a..4fb711bbb 100644
--- a/user/horizon/APKBUILD
+++ b/user/horizon/APKBUILD
@@ -1,8 +1,8 @@
# Contributor: A. Wilcox <awilfox@adelielinux.org>
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=horizon
-pkgver=0.9.3
-pkgrel=2
+pkgver=0.9.4
+pkgrel=0
pkgdesc="Installation tools for Adélie Linux"
url="https://horizon.adelielinux.org/"
arch="all"
@@ -17,9 +17,7 @@ makedepends="bcnm-dev boost-dev cmake curl-dev eudev-dev libarchive-dev
libcap-dev libx11-dev libxkbfile-dev qt5-qtbase-dev"
subpackages="$pkgname-image $pkgname-dbg $pkgname-dev $pkgname-doc $pkgname-qt5
$pkgname-tools $pkgname-wizard $pkgname-boot"
-source="https://distfiles.adelielinux.org/source/horizon-$pkgver.tar.xz
- git.patch
- "
+source="https://distfiles.adelielinux.org/source/horizon-$pkgver.tar.xz"
build() {
if [ "$CBUILD" != "$CHOST" ]; then
@@ -63,7 +61,7 @@ package() {
image() {
pkgdesc="Tools for generating images using HorizonScript"
- depends="mtools"
+ depends="dracut mtools"
mkdir -p "$subpkgdir"/usr/bin
mkdir -p "$subpkgdir"/usr/lib
mkdir -p "$subpkgdir"/usr/share/horizon
@@ -108,7 +106,9 @@ boot() {
depends="horizon-qt5 horizon kwin qt5ct sddm
netsurf partitionmanager xterm"
+ mkdir -p "$subpkgdir"/etc/init.d
mkdir -p "$subpkgdir"/etc/profile.d
+ mkdir -p "$subpkgdir"/etc/runlevels/default
mkdir -p "$subpkgdir"/etc/sddm.conf.d
mkdir -p "$subpkgdir"/etc/xdg/qt5ct
mkdir -p "$subpkgdir"/usr/bin
@@ -135,6 +135,12 @@ GLOBALS
install -D -m644 "$builddir"/boot/horizon.sddm.conf \
"$subpkgdir"/etc/sddm.conf.d/horizon.conf
+ install -D -m755 "$builddir"/boot/gfxdetect \
+ "$subpkgdir"/etc/init.d/gfxdetect
+
+ ln -s ../../init.d/gfxdetect \
+ "$subpkgdir"/etc/runlevels/default/gfxdetect
+
install -D -m755 "$builddir"/boot/start-horizon-qt5 \
"$subpkgdir"/usr/bin/start-horizon-qt5
@@ -150,5 +156,4 @@ GLOBALS
"$subpkgdir"/usr/share/xsessions/horizon.desktop
}
-sha512sums="99c1d939abc33c4a072712e75c6c8ada16deb1fe59b9da839dffd695a0d40dbf48499cc00751285300127a7fc701e8e1c434e9f8a222f1981ccbebd6ee72e43e horizon-0.9.3.tar.xz
-7c7c4297ae8d0d879a01ac38c0699dd9338e9b9675a0804dc3ec915e98900343e001d0a0558fcaccbf9f5cfafbf9ae869c7ec194d1529683b5874941a77b0125 git.patch"
+sha512sums="202830a4e1313d0761484aeb65bef1e2a109917d4bec8f963672f4017a5fda2dac1383be6dfe2ed9aa3daa913cc62f816e88d2e760824957dbc18070ca901f76 horizon-0.9.4.tar.xz"
diff --git a/user/horizon/fix-qt-runner.patch b/user/horizon/fix-qt-runner.patch
deleted file mode 100644
index 39cab1181..000000000
--- a/user/horizon/fix-qt-runner.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 9f737dbab8b9ed9fa57bdf15542cc00a8363d98b Mon Sep 17 00:00:00 2001
-From: "A. Wilcox" <AWilcox@Wilcox-Tech.com>
-Date: Thu, 4 Jun 2020 21:29:37 -0500
-Subject: [PATCH] Qt UI: Ensure log is opened when built in release modes
-
----
- ui/qt5/runner/executepage.cc | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/ui/qt5/runner/executepage.cc b/ui/qt5/runner/executepage.cc
-index 999731a..d5788df 100644
---- a/ui/qt5/runner/executepage.cc
-+++ b/ui/qt5/runner/executepage.cc
-@@ -48,7 +48,7 @@ ExecutePage::ExecutePage(QWidget *parent) : HorizonWizardPage(parent) {
- });
-
- log.setFileName("/var/log/horizon/executor.log");
-- Q_ASSERT(log.open(QFile::Append));
-+ log.open(QFile::Append);
-
- this->current = Prepare;
- markRunning(this->current);
---
-2.25.4
-
diff --git a/user/horizon/git.patch b/user/horizon/git.patch
deleted file mode 100644
index 3f15448bf..000000000
--- a/user/horizon/git.patch
+++ /dev/null
@@ -1,660 +0,0 @@
-diff --git a/devel/script/2_keys.xml b/devel/script/2_keys.xml
-index 4438881..9ffeba8 100644
---- a/devel/script/2_keys.xml
-+++ b/devel/script/2_keys.xml
-@@ -655,7 +655,7 @@ svcenable udev-trigger boot
- <title>The <literal>svcenable</literal> Key &mdash; Typical Desktop</title>
- <programlisting>
- svcenable dbus
--svcenable consolekit
-+svcenable elogind
- svcenable sddm
- </programlisting>
- <para>This configures the target computer to start up a display manager and its required daemons during system boot, enabling graphical logins.</para>
-diff --git a/devel/script/4_json.xml b/devel/script/4_json.xml
-new file mode 100644
-index 0000000..b0234a4
---- /dev/null
-+++ b/devel/script/4_json.xml
-@@ -0,0 +1,451 @@
-+<?xml version="1.0" encoding="utf-8"?>
-+<chapter label="4" id="json">
-+ <title>JSON Schema</title>
-+ <para>The Horizon system supports converting JSON files to HorizonScript. This chapter describes the JSON schema supported by the Horizon JSON tooling.</para>
-+ <para>It is important to note that not all features of Horizon are available from JSON. For more advanced use cases, consider writing HorizonScript files directly. However, it is felt that supporting JSON interchange is important for interoperability with external systems.</para>
-+ <section id="js_doc_structure">
-+ <title>Overall document structure</title>
-+ <para>There are two document formats supported by the Horizon JSON tooling. The most common is a simple structure where a single root object contains the Horizon JSON keys. The second, and less common, describes multiple configurations called "images" in a single JSON file. The root object contains a single key/value pair, <literal>images</literal>, which is an array of objects containing Horizon JSON keys. See <xref linkend="js_examples" /> for more information.</para>
-+ </section>
-+ <section id="js_keys">
-+ <title>Supported keys</title>
-+ <para/>
-+ <section id="js_hostname">
-+ <title><literal>hostname</literal></title>
-+ <formalpara id="js_hostname.format">
-+ <title>Format</title>
-+ <para>String</para>
-+ </formalpara>
-+ <formalpara id="js_hostname.desc">
-+ <title>Short Description</title>
-+ <para>The device's host name.</para>
-+ </formalpara>
-+ <formalpara id="js_hostname.xref">
-+ <title>Corresponding HorizonScript key</title>
-+ <para><link linkend="hostname"><literal>hostname</literal></link></para>
-+ </formalpara>
-+ </section>
-+ <section id="js_packages">
-+ <title><literal>packages</literal></title>
-+ <formalpara id="js_packages.format">
-+ <title>Format</title>
-+ <para>Array of String</para>
-+ </formalpara>
-+ <formalpara id="js_packages.desc">
-+ <title>Short Description</title>
-+ <para>A list of packages to install to the device.</para>
-+ </formalpara>
-+ <formalpara id="js_packages.xref">
-+ <title>Corresponding HorizonScript key</title>
-+ <para><link linkend="pkginstall"><literal>pkginstall</literal></link></para>
-+ </formalpara>
-+ </section>
-+ <section id="js_rootpw">
-+ <title><literal>rootpw</literal></title>
-+ <formalpara id="js_rootpw.format">
-+ <title>Format</title>
-+ <para>String</para>
-+ </formalpara>
-+ <formalpara id="js_rootpw.desc">
-+ <title>Short Description</title>
-+ <para>The encrypted root password for the device.</para>
-+ </formalpara>
-+ <formalpara id="js_rootpw.xref">
-+ <title>Corresponding HorizonScript key</title>
-+ <para><link linkend="rootpw"><literal>rootpw</literal></link></para>
-+ </formalpara>
-+ </section>
-+ <section id="js_arch">
-+ <title><literal>arch</literal></title>
-+ <formalpara id="js_arch.format">
-+ <title>Format</title>
-+ <para>String</para>
-+ </formalpara>
-+ <formalpara id="js_arch.desc">
-+ <title>Short Description</title>
-+ <para>The device's CPU architecture.</para>
-+ </formalpara>
-+ <formalpara id="js_arch.xref">
-+ <title>Corresponding HorizonScript key</title>
-+ <para><link linkend="arch"><literal>arch</literal></link></para>
-+ </formalpara>
-+ </section>
-+ <section id="js_language">
-+ <title><literal>language</literal></title>
-+ <formalpara id="js_language.format">
-+ <title>Format</title>
-+ <para>String</para>
-+ </formalpara>
-+ <formalpara id="js_language.desc">
-+ <title>Short Description</title>
-+ <para>The language to use for the device's interface.</para>
-+ </formalpara>
-+ <formalpara id="js_language.xref">
-+ <title>Corresponding HorizonScript key</title>
-+ <para><link linkend="language"><literal>language</literal></link></para>
-+ </formalpara>
-+ </section>
-+ <section id="js_keymap">
-+ <title><literal>keymap</literal></title>
-+ <formalpara id="js_keymap.format">
-+ <title>Format</title>
-+ <para>String</para>
-+ </formalpara>
-+ <formalpara id="js_keymap.desc">
-+ <title>Short Description</title>
-+ <para>The keyboard map to use for the device's hardware inputs.</para>
-+ </formalpara>
-+ <formalpara id="js_keymap.xref">
-+ <title>Corresponding HorizonScript key</title>
-+ <para><link linkend="keymap"><literal>keymap</literal></link></para>
-+ </formalpara>
-+ </section>
-+ <section id="js_firmware">
-+ <title><literal>firmware</literal></title>
-+ <formalpara id="js_firmware.format">
-+ <title>Format</title>
-+ <para>String or Boolean</para>
-+ </formalpara>
-+ <formalpara id="js_firmware.desc">
-+ <title>Short Description</title>
-+ <para>Determines whether or not the device will have non-free firmware installed.</para>
-+ </formalpara>
-+ <formalpara id="js_firmware.xref">
-+ <title>Corresponding HorizonScript key</title>
-+ <para><link linkend="firmware"><literal>firmware</literal></link></para>
-+ </formalpara>
-+ </section>
-+ <section id="js_services">
-+ <title><literal>services</literal></title>
-+ <formalpara id="js_services.format">
-+ <title>Format</title>
-+ <para>Array of Object</para>
-+ </formalpara>
-+ <formalpara id="js_services.desc">
-+ <title>Short Description</title>
-+ <para>Specifies additional services to start on device boot.</para>
-+ </formalpara>
-+ <formalpara id="js_services.struct">
-+ <title>Object Structure</title>
-+ <para>
-+ <variablelist>
-+ <varlistentry>
-+ <term><literal>service</literal></term>
-+ <listitem><para>(String) The name of the service to start.</para></listitem>
-+ </varlistentry>
-+ <varlistentry>
-+ <term><literal>runlevel</literal></term>
-+ <listitem><para>(String) The runlevel that the service should start under. If no <literal>runlevel</literal> is specified, <literal>default</literal> is used.</para></listitem>
-+ </varlistentry>
-+ </variablelist>
-+ </para>
-+ </formalpara>
-+ <formalpara id="js_services.xref">
-+ <title>Corresponding HorizonScript key</title>
-+ <para><link linkend="svcenable"><literal>svcenable</literal></link></para>
-+ </formalpara>
-+ </section>
-+ <section id="js_netconfig">
-+ <title><literal>netconfig</literal></title>
-+ <formalpara id="js_netconfig.format">
-+ <title>Format</title>
-+ <para>String</para>
-+ </formalpara>
-+ <formalpara id="js_netconfig.desc">
-+ <title>Short Description</title>
-+ <para>Determines the network configuration system used on the device.</para>
-+ </formalpara>
-+ <formalpara id="js_netconfig.xref">
-+ <title>Corresponding HorizonScript key</title>
-+ <para><link linkend="netconfigtype"><literal>netconfigtype</literal></link></para>
-+ </formalpara>
-+ </section>
-+ <section id="js_netaddresses">
-+ <title><literal>netaddresses</literal></title>
-+ <formalpara id="js_netaddresses.format">
-+ <title>Format</title>
-+ <para>Array of Object</para>
-+ </formalpara>
-+ <formalpara id="js_netaddresses.desc">
-+ <title>Short Description</title>
-+ <para>Specifies the device's network addressing configuration.</para>
-+ </formalpara>
-+ <formalpara id="js_netaddresses.struct">
-+ <title>Object Structure</title>
-+ <para>
-+ <variablelist>
-+ <varlistentry>
-+ <term><literal>id</literal></term>
-+ <listitem><para>(String) This connection's identifier. This field is for operator reference only - it will not appear in the HorizonScript or in the device's configuration.</para></listitem>
-+ </varlistentry>
-+ <varlistentry>
-+ <term><literal>interface</literal></term>
-+ <listitem><para>(String) The network interface to use for this address.</para></listitem>
-+ </varlistentry>
-+ <varlistentry>
-+ <term><literal>addr-type</literal></term>
-+ <listitem><para>(String) The type of this address: <literal>none</literal> to bring up the interface without an address (common for bridging), <literal>dhcp</literal> for DHCP, or <literal>static</literal> for static addressing.</para></listitem>
-+ </varlistentry>
-+ <varlistentry>
-+ <term><literal>address</literal></term>
-+ <listitem><para>(Object) The network address. Only valid if <literal>addr-type</literal> is <literal>static</literal>.</para></listitem>
-+ </varlistentry>
-+ </variablelist>
-+ If static addressing is desired, the <literal>address</literal> object is described below.
-+ <variablelist>
-+ <varlistentry>
-+ <term><literal>ip-address</literal></term>
-+ <listitem><para>(String) The IPv4 or IPv6 address for this connection.</para></listitem>
-+ </varlistentry>
-+ <varlistentry>
-+ <term><literal>net-prefix</literal></term>
-+ <listitem><para>(Number) The network prefix for this connection. Valid values are 1-32 for IPv4, and 1-128 for IPv6.</para></listitem>
-+ </varlistentry>
-+ <varlistentry>
-+ <term><literal>gateway</literal></term>
-+ <listitem><para>(String) The IPv4 or IPv6 address for the gateway for this connection.</para></listitem>
-+ </varlistentry>
-+ </variablelist>
-+ </para>
-+ </formalpara>
-+ <formalpara id="js_netaddresses.xref">
-+ <title>Corresponding HorizonScript key</title>
-+ <para><link linkend="netaddress"><literal>netaddress</literal></link></para>
-+ </formalpara>
-+ </section>
-+ <section id="js_pppoe_links">
-+ <title><literal>pppoe_links</literal></title>
-+ <formalpara id="js_pppoe_links.format">
-+ <title>Format</title>
-+ <para>Array of Object</para>
-+ </formalpara>
-+ <formalpara id="js_pppoe_links.desc">
-+ <title>Short Description</title>
-+ <para>Specifies the device's PPPoE configuration.</para>
-+ </formalpara>
-+ <formalpara id="js_pppoe_links.struct">
-+ <title>Object Structure</title>
-+ <para>
-+ <variablelist>
-+ <varlistentry>
-+ <term><literal>interface</literal></term>
-+ <listitem><para>(String) The network interface to use for this PPPoE link.</para></listitem>
-+ </varlistentry>
-+ <varlistentry>
-+ <term><literal>mtu</literal></term>
-+ <listitem><para>(Number) The MTU for this PPPoE link. Default is 1472.</para></listitem>
-+ </varlistentry>
-+ <varlistentry>
-+ <term><literal>username</literal></term>
-+ <listitem><para>(String) The username to use for authenticating this PPPoE link.</para></listitem>
-+ </varlistentry>
-+ <varlistentry>
-+ <term><literal>password</literal></term>
-+ <listitem><para>(String) The passphrase/secret to use for authenticating this PPPoE link.</para></listitem>
-+ </varlistentry>
-+ <varlistentry>
-+ <term><literal>lcp-echo-interval</literal></term>
-+ <listitem><para>(Number) The number of seconds between LCP echo requests.</para></listitem>
-+ </varlistentry>
-+ <varlistentry>
-+ <term><literal>lcp-echo-failure</literal></term>
-+ <listitem><para>(Number) The number of echo request failures before this link is failed.</para></listitem>
-+ </varlistentry>
-+ </variablelist>
-+ </para>
-+ </formalpara>
-+ <formalpara id="js_pppoe_links.xref">
-+ <title>Corresponding HorizonScript key</title>
-+ <para><link linkend="pppoe"><literal>pppoe</literal></link></para>
-+ </formalpara>
-+ </section>
-+ <section id="js_nameservers">
-+ <title><literal>nameservers</literal></title>
-+ <formalpara id="js_nameservers.format">
-+ <title>Format</title>
-+ <para>Array of String</para>
-+ </formalpara>
-+ <formalpara id="js_nameservers.desc">
-+ <title>Short Description</title>
-+ <para>IP addresses used for Domain Name System (DNS) resolution.</para>
-+ </formalpara>
-+ <formalpara id="js_nameservers.xref">
-+ <title>Corresponding HorizonScript key</title>
-+ <para><link linkend="nameserver"><literal>nameserver</literal></link></para>
-+ </formalpara>
-+ </section>
-+ <section id="js_access-points">
-+ <title><literal>access-points</literal></title>
-+ <formalpara id="js_access-points.format">
-+ <title>Format</title>
-+ <para>Array of Object</para>
-+ </formalpara>
-+ <formalpara id="js_access-points.desc">
-+ <title>Short Description</title>
-+ <para>Specifies the device's wireless networking configuration.</para>
-+ </formalpara>
-+ <formalpara id="js_access-points.struct">
-+ <title>Object Structure</title>
-+ <para>
-+ <variablelist>
-+ <varlistentry>
-+ <term><literal>interface</literal></term>
-+ <listitem><para>(String) The wireless network interface to use for this access point.</para></listitem>
-+ </varlistentry>
-+ <varlistentry>
-+ <term><literal>ssid</literal></term>
-+ <listitem><para>(String) The SSID for this access point.</para></listitem>
-+ </varlistentry>
-+ <varlistentry>
-+ <term><literal>security</literal></term>
-+ <listitem><para>(String) The security type to use for this access point: <literal>none</literal>, <literal>wep</literal>, or <literal>wpa</literal>.</para></listitem>
-+ </varlistentry>
-+ <varlistentry>
-+ <term><literal>password</literal></term>
-+ <listitem><para>(String) The shared secret to use for authenticating this wireless link.</para></listitem>
-+ </varlistentry>
-+ </variablelist>
-+ </para>
-+ </formalpara>
-+ <formalpara id="js_access-points.xref">
-+ <title>Corresponding HorizonScript key</title>
-+ <para><link linkend="netssid"><literal>netssid</literal></link></para>
-+ </formalpara>
-+ </section>
-+ <section id="js_timezone">
-+ <title><literal>timezone</literal></title>
-+ <formalpara id="js_timezone.format">
-+ <title>Format</title>
-+ <para>String</para>
-+ </formalpara>
-+ <formalpara id="js_timezone.desc">
-+ <title>Short Description</title>
-+ <para>The time zone to use on the device.</para>
-+ </formalpara>
-+ <formalpara id="js_timezone.xref">
-+ <title>Corresponding HorizonScript key</title>
-+ <para><link linkend="timezone"><literal>timezone</literal></link></para>
-+ </formalpara>
-+ </section>
-+ <section id="js_repositories">
-+ <title><literal>repositories</literal></title>
-+ <formalpara id="js_repositories.format">
-+ <title>Format</title>
-+ <para>Array of String</para>
-+ </formalpara>
-+ <formalpara id="js_repositories.desc">
-+ <title>Short Description</title>
-+ <para>The APK repositories to use for package installation on the device.</para>
-+ </formalpara>
-+ <formalpara id="js_repositories.xref">
-+ <title>Corresponding HorizonScript key</title>
-+ <para><link linkend="repository"><literal>repository</literal></link></para>
-+ </formalpara>
-+ </section>
-+ <section id="js_signingkeys">
-+ <title><literal>signingkeys</literal></title>
-+ <formalpara id="js_signingkeys.format">
-+ <title>Format</title>
-+ <para>Array of String</para>
-+ </formalpara>
-+ <formalpara id="js_signingkeys.desc">
-+ <title>Short Description</title>
-+ <para>The location of the signing key(s) used by the device's APK repositories.</para>
-+ </formalpara>
-+ <formalpara id="js_signingkeys.xref">
-+ <title>Corresponding HorizonScript key</title>
-+ <para><link linkend="signingkey"><literal>signingkey</literal></link></para>
-+ </formalpara>
-+ </section>
-+ <section id="js_users">
-+ <title><literal>users</literal></title>
-+ <formalpara id="js_users.format">
-+ <title>Format</title>
-+ <para>Array of Object</para>
-+ </formalpara>
-+ <formalpara id="js_users.desc">
-+ <title>Short Description</title>
-+ <para>Specifies the device's user accounts.</para>
-+ </formalpara>
-+ <formalpara id="js_users.struct">
-+ <title>Object Structure</title>
-+ <para>
-+ <variablelist>
-+ <varlistentry>
-+ <term><literal>username</literal></term>
-+ <listitem><para>(String) The login name of this account.</para></listitem>
-+ </varlistentry>
-+ <varlistentry>
-+ <term><literal>alias</literal></term>
-+ <listitem><para>(String) The friendly name/GECOS of this account.</para></listitem>
-+ </varlistentry>
-+ <varlistentry>
-+ <term><literal>passphrase</literal></term>
-+ <listitem><para>(String) The encrypted passphrase to use to authenticate to this account. See <xref linkend="userpw" /> for information about the format of <literal>passphrase</literal>.</para></listitem>
-+ </varlistentry>
-+ <varlistentry>
-+ <term><literal>groups</literal></term>
-+ <listitem><para>(String) Comma-separated list of this account's member groups.</para></listitem>
-+ </varlistentry>
-+ </variablelist>
-+ </para>
-+ </formalpara>
-+ <formalpara id="js_users.xref">
-+ <title>Corresponding HorizonScript keys</title>
-+ <para><link linkend="username"><literal>username</literal></link>, <link linkend="useralias"><literal>useralias</literal></link>, <link linkend="userpw"><literal>userpw</literal></link>, <link linkend="usergroups"><literal>usergroups</literal></link></para>
-+ </formalpara>
-+ </section>
-+ </section>
-+ <section id="js_examples">
-+ <title>Examples</title>
-+ <para>
-+ <example id="js_0001-basic">
-+ <title>Basic example of Horizon JSON file</title>
-+ <programlisting>
-+{
-+ "hostname": "horizon-json-testmachine.adelielinux.org",
-+ "packages": ["adelie-base-posix", "easy-kernel", "easy-kernel-modules",
-+ "netifrc", "openrc", "s6-linux-init"],
-+ "rootpw": "<userinput>...</userinput>",
-+ "root": "/dev/sda1",
-+ "netaddresses": [{"id":"eth0", "interface":"eth0", "addr-type":"dhcp"}],
-+ "nameservers": ["9.9.9.9"],
-+ "timezone": "America/Chicago",
-+ "repositories": ["https://distfiles.adelielinux.org/adelie/1.0/system",
-+ "https://distfiles.adelielinux.org/adelie/1.0/user"],
-+ "signingkeys": ["/etc/apk/keys/powerpc-1@packages.adelielinux.org.pub",
-+ "/etc/apk/keys/powerpc-2@packages.adelielinux.org.pub"]
-+}
-+ </programlisting>
-+ </example>
-+ <example id="js_0002-fuller">
-+ <title>Example of multi-configuration Horizon JSON file</title>
-+ <programlisting>
-+{"images":
-+ [
-+ {"name": "Test Image",
-+ "hostname": "horizon-json-testmachine.adelielinux.org",
-+ "packages": ["adelie-base-posix", "easy-kernel", "easy-kernel-modules",
-+ "netifrc", "openrc", "s6-linux-init"],
-+ "rootpw": "<userinput>...</userinput>",
-+ "root": "/dev/sda1",
-+ "arch": "ppc64",
-+ "language": "en_GB.UTF-8",
-+ "keymap": "us",
-+ "firmware": false,
-+ "netconfig": "netifrc",
-+ "netaddresses": [{"id":"eth0", "interface":"eth0", "addr-type":"dhcp"}],
-+ "nameservers": ["9.9.9.9"],
-+ "timezone": "America/Chicago",
-+ "repositories": ["https://distfiles.adelielinux.org/adelie/1.0/system",
-+ "https://distfiles.adelielinux.org/adelie/1.0/user"],
-+ "signingkeys": ["/etc/apk/keys/powerpc-1@packages.adelielinux.org.pub",
-+ "/etc/apk/keys/powerpc-2@packages.adelielinux.org.pub"]
-+ }
-+ ]
-+}
-+ </programlisting>
-+ </example>
-+ </para>
-+ </section>
-+</chapter>
-diff --git a/devel/script/script.xml b/devel/script/script.xml
-index f8c1a65..bf82a06 100644
---- a/devel/script/script.xml
-+++ b/devel/script/script.xml
-@@ -4,6 +4,7 @@
- <!ENTITY chap1 SYSTEM "1_introduction.xml">
- <!ENTITY chap2 SYSTEM "2_keys.xml">
- <!ENTITY chap3 SYSTEM "3_ondisk.xml">
-+ <!ENTITY chap4 SYSTEM "4_json.xml">
- ]>
- <book>
- <bookinfo>
-@@ -11,8 +12,8 @@
- <authorgroup>
- <author><firstname>A.</firstname><surname>Wilcox</surname><affiliation><orgname>Adélie Linux</orgname></affiliation></author>
- </authorgroup>
-- <edition>Specification for HorizonScript (Horizon release 1.0)</edition>
-- <pubdate>2020-06-13</pubdate>
-+ <edition>Specification for HorizonScript (Horizon release 1.0) + JSON specification 1.0</edition>
-+ <pubdate>2020-07-20</pubdate>
- <copyright>
- <year>2019</year><year>2020</year>
- <holder>Adélie Linux</holder>
-@@ -26,4 +27,5 @@
- &chap1;
- &chap2;
- &chap3;
-+ &chap4;
- </book>
-diff --git a/hscript/meta.cc b/hscript/meta.cc
-index d79f3f5..1227e60 100644
---- a/hscript/meta.cc
-+++ b/hscript/meta.cc
-@@ -722,6 +722,18 @@ const std::string my_arch(const Horizon::Script *script) {
- return "pmmx";
- # elif defined(__x86_64__)
- return "x86_64";
-+# elif defined(__mips64)
-+# if defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
-+ return "mips64el";
-+# else /* If byte order is not defined, default to big endian. */
-+ return "mips64";
-+# endif
-+# elif defined(__mips__)
-+# if defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
-+ return "mipsel";
-+# else /* If byte order is not defined, default to big endian. */
-+ return "mips";
-+# endif
- # else
- # error Unknown architecture.
- # endif
-@@ -755,6 +767,10 @@ bool Bootloader::validate() const {
- const static std::set<std::string> valid_x86 = {"grub-bios",
- "grub-efi"};
- return valid_x86.find(this->value()) != valid_x86.end();
-+ } else if(arch == "mips64" || arch == "mips" ||
-+ arch == "mips64el" || arch == "mipsel") {
-+ const static std::set<std::string> valid_mips = {};
-+ return valid_mips.find(this->value()) != valid_mips.end();
- } else {
- output_error(pos, "bootloader: unknown architecture", arch);
- return false;
-diff --git a/hscript/script.cc b/hscript/script.cc
-index 20ccbe5..6e436b7 100644
---- a/hscript/script.cc
-+++ b/hscript/script.cc
-@@ -225,7 +225,12 @@ Script *Script::load(std::istream &sstream, const ScriptOptions &opts,
- char nextline[SCRIPT_LINE_MAX];
- const std::string delim(" \t");
- int errors = 0, warnings = 0;
-- std::string curr_name = fs::canonical(fs::path(name));
-+ std::string curr_name;
-+ if(name == "/dev/stdin") {
-+ curr_name = "<stdin>";
-+ } else {
-+ curr_name = fs::canonical(fs::path(name));
-+ }
- std::set<std::string> seen = {curr_name};
- bool inherit = false;
- std::istream *my_stream = &sstream;
-@@ -311,7 +316,7 @@ Script *Script::load(std::istream &sstream, const ScriptOptions &opts,
- }
-
- if(my_stream->fail() && !my_stream->eof()) {
-- output_error("installfile:" + std::to_string(lineno + 1),
-+ output_error(curr_name + ":" + std::to_string(lineno + 1),
- "line exceeds maximum length",
- "Maximum line length is " +
- std::to_string(SCRIPT_LINE_MAX));
-@@ -319,14 +324,14 @@ Script *Script::load(std::istream &sstream, const ScriptOptions &opts,
- }
-
- if(my_stream->bad() && !my_stream->eof()) {
-- output_error("installfile:" + std::to_string(lineno),
-+ output_error(curr_name + ":" + std::to_string(lineno),
- "I/O error while reading installfile", "");
- errors++;
- }
-
- /* Ensure all required keys are present. */
- #define MISSING_ERROR(key) \
-- output_error(name, "expected value for key '" + std::string(key) + "'",\
-+ output_error(curr_name, "expected value for key '" + std::string(key) + "'",\
- "this key is required");\
- errors++;
-
-@@ -349,7 +354,7 @@ Script *Script::load(std::istream &sstream, const ScriptOptions &opts,
- }
- #undef MISSING_ERROR
-
-- output_log("parser", "0", name,
-+ output_log("parser", "0", curr_name,
- std::to_string(errors) + " error(s), " +
- std::to_string(warnings) + " warning(s).", "");
-
-diff --git a/ui/qt5/horizonwizard.cc b/ui/qt5/horizonwizard.cc
-index 6c2ea9e..92b81db 100644
---- a/ui/qt5/horizonwizard.cc
-+++ b/ui/qt5/horizonwizard.cc
-@@ -352,6 +352,18 @@ HorizonWizard::HorizonWizard(QWidget *parent) : QWizard(parent) {
- arch = pmmx;
- # elif defined(__x86_64__)
- arch = x86_64;
-+# elif defined(__mips64)
-+# if defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
-+ arch = mips64el;
-+# else /* If byte order is not defined, default to big endian. */
-+ arch = mips64;
-+# endif
-+# elif defined(__mips__)
-+# if defined(__BYTE_ORDER__) && __BYTE_ORDER__ == __ORDER_LITTLE_ENDIAN__
-+ arch = mipsel;
-+# else /* If byte order is not defined, default to big endian. */
-+ arch = mips;
-+# endif
- # else
- # error You are attempting to compile the Installation Environment UI \
- on an unknown architecture. Please add a definition to horizonwizard.hh, a \
-@@ -551,6 +563,19 @@ QString HorizonWizard::toHScript() {
- lines << "signingkey https://distfiles.adelielinux.org/adelie/keys/x86-1@packages.adelielinux.org.pub";
- lines << "signingkey https://distfiles.adelielinux.org/adelie/keys/x86-2@packages.adelielinux.org.pub";
- break;
-+ case mips64:
-+ lines << "arch mips64";
-+ /* XXX: MIPS signing keys are needed before we ship anything. */
-+ break;
-+ case mips:
-+ lines << "arch mips";
-+ break;
-+ case mips64el:
-+ lines << "arch mips64el";
-+ break;
-+ case mipsel:
-+ lines << "arch mipsel";
-+ break;
- case UnknownCPU:
- /* no arch line. hopefully it's run on the target. */
- break;
-@@ -608,13 +633,13 @@ QString HorizonWizard::toHScript() {
- lines << "pkginstall adelie-base-posix firefox-esr libreoffice "
- "thunderbird vlc kde x11 bluez sddm";
- lines << "svcenable bluetooth";
-- lines << "svcenable consolekit";
-+ lines << "svcenable elogind";
- lines << "svcenable sddm";
- break;
- case Compact:
- lines << "pkginstall adelie-base netsurf featherpad lxqt-desktop "
- "abiword gnumeric sddm xorg-apps xorg-drivers xorg-server";
-- lines << "svcenable consolekit";
-+ lines << "svcenable elogind";
- lines << "svcenable sddm";
- break;
- case TextOnly:
-diff --git a/ui/qt5/horizonwizard.hh b/ui/qt5/horizonwizard.hh
-index bf53ae0..8af9df7 100644
---- a/ui/qt5/horizonwizard.hh
-+++ b/ui/qt5/horizonwizard.hh
-@@ -96,6 +96,10 @@ public:
- enum Arch {
- aarch64,
- armv7,
-+ mips,
-+ mips64,
-+ mipsel,
-+ mips64el,
- pmmx,
- ppc,
- ppc64,
diff --git a/user/i3status/APKBUILD b/user/i3status/APKBUILD
index c71e9205b..01e567cee 100644
--- a/user/i3status/APKBUILD
+++ b/user/i3status/APKBUILD
@@ -39,5 +39,5 @@ package() {
}
sha512sums="6dadff19e53499d169ba4f491e1f821014b4f92fc3c93d7947c85cbbbdeaba538d02bd8ab98fe266a8f80756a287fd5803ec77a8cd874d50082b5cad309875c2 i3status-2.13.tar.bz2
-26527b9a0053d363f2b2991f9be3a15cb5fbf5553dca9498a9cff1c1a65e887f392215b60a484e329e6ef8efd63f9b67727826fb6ccfe1033c653feef34aaab8 asciidoctor.patch
+7677e5f13f0b0e369775449a4097057cd709630f010790fa8601840858ab31ebe0455ecbfa764e6e4861e5a669cdc39e434c2c72513d45eb9705a49cc03953e5 asciidoctor.patch
765a5b64d79f61cd68280d77a7316e7f571a3c2e385d9a227885cde5fc057b1a892e92a65c0fc54832bfdda30743df6e9f82a847b55c9e7389575c7fbad9e0d4 glob_tilde.patch"
diff --git a/user/kde-system/APKBUILD b/user/kde-system/APKBUILD
index 4aa4bdc4a..fe04cd486 100644
--- a/user/kde-system/APKBUILD
+++ b/user/kde-system/APKBUILD
@@ -9,7 +9,7 @@ arch="noarch"
options="!check" # Empty meta package, no point in testing.
license="NCSA"
depends="dolphin kdf khelpcenter kinfocenter konsole krfb ksysguard ksystemlog
- kwalletmanager partitionmanager xdg-utils yakuake"
+ kwalletmanager partitionmanager systemsettings xdg-utils yakuake"
makedepends=""
source="org.adelie-linux.about-system.desktop"
diff --git a/user/networkmanager/01-org.freedesktop.NetworkManager.rules b/user/networkmanager/01-org.freedesktop.NetworkManager.rules
index d00b26853..a8aea44cb 100644
--- a/user/networkmanager/01-org.freedesktop.NetworkManager.rules
+++ b/user/networkmanager/01-org.freedesktop.NetworkManager.rules
@@ -1,7 +1,7 @@
-// Let users in plugdev group modify NetworkManager
+// Let users in netdev group modify NetworkManager
polkit.addRule(function(action, subject) {
- if (action.id == "org.freedesktop.NetworkManager.settings.modify.system" &&
- subject.isInGroup("plugdev") && subject.active) {
+ if (action.id.indexOf("org.freedesktop.NetworkManager.") == 0 &&
+ subject.isInGroup("netdev") && subject.active) {
return "yes";
}
});
diff --git a/user/networkmanager/APKBUILD b/user/networkmanager/APKBUILD
index 006e1a1e1..84ca876f8 100644
--- a/user/networkmanager/APKBUILD
+++ b/user/networkmanager/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=networkmanager
pkgver=1.22.14
-pkgrel=1
+pkgrel=2
pkgdesc="Network management daemon"
url="https://wiki.gnome.org/Projects/NetworkManager"
arch="all"
@@ -97,7 +97,7 @@ b0b85294c19510893ba30cf3d0e1984430c451273d4eb545760de52c69866a5ed0385f9c14a9bc18
5142bf14ac5574a3ae4bc8753055c534702892871ca45a1bc4d48d4d5c07d11bd54e52861458a673c328d129cdd6f1f749a9546eba1c16fea5173f92840506de qsort_r.patch
d81a962e32e696ca713dfcf1f8dbd9a146f94473c391f1977198ca67e11a6d427a265bacbe43197e42b442cfaa882e9fd2bba7548872586d53d3caca76263e79 random.patch
602859c1c7b63984b3b9d9597772e4bff496b3838eb0131ad1d707ae9226c5bdd703080683e48bc93b9c1a6572505dad0332d63c57e6320e63c011931877233a tests.patch
-22dfa5b071891ba16b9a8b90a1964d56e370cb640d78191934ae802e568f92c299b9d4d965f7081fb36a8c09378bfb0b33193b2332cbdc28c6799b152128c214 01-org.freedesktop.NetworkManager.rules
+5ae288073ddc818cc5a0103a9320ebcbd80bccbba9f823335c1c602c25e48e041990370e6d091d9796e543222a7a58625ce832022d450b9a9dd49df4ed6e1ed9 01-org.freedesktop.NetworkManager.rules
26f962cea0b6a75549d16c19a71e3559239b08b001927882702f5d9355a2cc95f7b13c581439f758a950d9a5bfb73b86ba61a5ffb22c9abe19f5b05fe5f5834a 10-openrc-status
f8c9331834cbc66ab0e4e6f4a120fde6a08a435d680a1e1087718fdbb2b9843a313e7ec30b7008822999dafd98e152aa7d2a96f87320ba9c91c3adb63e0b7c9a nm.confd
9a5ab7d317797489a555b185d103d3c526cd6963c6586da2f5212b41e68a9bf5dedd52d1fe58718fb686379b6e2434924d06d7da8070a62a3ec3e5626ab90d14 nm.initd"
diff --git a/user/nftables/APKBUILD b/user/nftables/APKBUILD
index 2d0a12bb4..56a056dee 100644
--- a/user/nftables/APKBUILD
+++ b/user/nftables/APKBUILD
@@ -48,6 +48,6 @@ package() {
}
sha512sums="ca6524ff1cb1e79d636afeb96f54e4699773e1cbda8e9a3ec5728f4d5b764c0df16b195cdcc0e304ae5643c8761b6b5a6685c737965a7415aec07aeb9f3dc5df nftables-0.9.6.tar.bz2
-f7b18945f0ab8be2a8725fa902cb2499de0a886076ae4cc337ebd845b3ae08f05a75b1680b428075d42558e7953014a227405e748741e6ebc3a7ac84bbf4beaa asciidoctor.patch
+282434bf685647ef823db610660c96c15bcf9eb694ab7f3e7d9a05b9ed77c572562d0eed4adda5d5adc579378e625f92762b945ac5d0f93f81900c9472382583 asciidoctor.patch
4eb1adf003dfcaad65c91af6ca88d91b7904c471aefae67e7d3c2f8e053e1ac196d3437a45d1fed5a855b876a0f1fc58a724e381d2acf1164d9120cadee73eef nftables.confd
58daafb012b7cd0248a7db6e10f6a667e683347aaea7eaa78cb88780272f334e00913cea3fd39a22a4a72acc27fabd101944b40916f4b534ddeb509bd0232017 nftables.initd"
diff --git a/user/ntpsec/APKBUILD b/user/ntpsec/APKBUILD
new file mode 100644
index 000000000..f95a7ed3d
--- /dev/null
+++ b/user/ntpsec/APKBUILD
@@ -0,0 +1,26 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=ntpsec
+pkgver=1.1.9
+pkgrel=0
+pkgdesc="Secure implementation of Network Time Protocol (NTP)"
+url="https://www.ntpsec.org/"
+arch="all"
+options="!check" # No test suite.
+license="NTP AND BSD-2-Clause AND BSD-3-Clause AND MIT"
+depends="python3 py3-psutil"
+makedepends="asciidoctor bison libbsd-dev libexecinfo-dev m4 openssl-dev
+ python3-dev"
+subpackages="$pkgname-doc"
+source="ftp://ftp.ntpsec.org/pub/releases/ntpsec-$pkgver.tar.gz"
+
+build() {
+ python3 waf configure --prefix=/usr
+ python3 waf build
+}
+
+package() {
+ python3 waf install --destdir="$pkgdir"
+}
+
+sha512sums="e04267aa675a5b528f3478d00329a569ecb9bbe2b6ad18697020854d2ee451bc188c4603cd5f420a08a7e3bf047d2db1301416f57f9156df23aceb1f57303b0b ntpsec-1.1.9.tar.gz"
diff --git a/user/polkit/APKBUILD b/user/polkit/APKBUILD
index 26d66a893..c6d0cac92 100644
--- a/user/polkit/APKBUILD
+++ b/user/polkit/APKBUILD
@@ -2,7 +2,7 @@
# Maintainer: A. Wilcox <awilfox@adelielinux.org>
pkgname=polkit
pkgver=0.116
-pkgrel=0
+pkgrel=1
pkgdesc="Toolkit for controlling system-wide privileges"
url="https://www.freedesktop.org/wiki/Software/polkit/"
arch="all"
@@ -10,7 +10,7 @@ options="!check suid" # Requires running ConsoleKit and PolKit for JS backend
license="LGPL-2.0+"
depends=""
makedepends="glib-dev gobject-introspection-dev gtk-doc intltool linux-pam-dev
- mozjs-dev autoconf automake libtool"
+ mozjs-dev autoconf automake libtool elogind-dev"
pkgusers="polkitd"
pkggroups="polkitd"
install="$pkgname.pre-install $pkgname.pre-upgrade"
@@ -19,6 +19,7 @@ source="https://www.freedesktop.org/software/polkit/releases/polkit-$pkgver.tar.
0001-make-netgroup-support-optional.patch
fix-consolekit-db-stat.patch
fix-test-fgetpwent.patch
+ polkit-0.115-elogind.patch
"
# secfixes:
@@ -47,8 +48,7 @@ build() {
--with-pam-include=base-auth \
--disable-gtk-doc-html \
--disable-gtk-doc-pdf \
- --disable-libsystemd-login \
- --disable-libelogind
+ --enable-libelogind=yes
make
}
@@ -64,4 +64,5 @@ package() {
sha512sums="b66b01cc2bb4349de70147f41f161f0f6f41e7230b581dfb054058b48969ec57041ab05b51787c749ccfc36aa5f317952d7e7ba337b4f6f6c0a923ed5866c2d5 polkit-0.116.tar.gz
f13a350a040a80b705d28e2ce3fac183409f593dc360879ce1bc9ec85faa7796cf0f4e054098b737fb816369de6c9d598449f6908316484aac99a44a68102ae6 0001-make-netgroup-support-optional.patch
95493ef842b46ce9e724933a5d86083589075fb452435057b8f629643cac7c7eff67a24fd188087987e98057f0130757fad546d0c090767da3d71ebaf8485a24 fix-consolekit-db-stat.patch
-966825aded565432f4fda9e54113a773b514ebf7ee7faa83bcb8b97d218ae84a8707d6747bbc3cb8a828638d692fdef34c05038f150ad38e02a29f2c782aba5b fix-test-fgetpwent.patch"
+966825aded565432f4fda9e54113a773b514ebf7ee7faa83bcb8b97d218ae84a8707d6747bbc3cb8a828638d692fdef34c05038f150ad38e02a29f2c782aba5b fix-test-fgetpwent.patch
+06432fa56788699762c6978484640554f91728a1cb40679eb47b8514b3c7aa23aac5b9c26586eb4d7043a0af1b319bbe7f869d24844d9151317299b74a8e8f7f polkit-0.115-elogind.patch"
diff --git a/user/polkit/polkit-0.115-elogind.patch b/user/polkit/polkit-0.115-elogind.patch
new file mode 100644
index 000000000..93d672015
--- /dev/null
+++ b/user/polkit/polkit-0.115-elogind.patch
@@ -0,0 +1,28 @@
+From 08bb656496cd3d6213bbe9473f63f2d4a110da6e Mon Sep 17 00:00:00 2001
+From: Rasmus Thomsen <cogitri@exherbo.org>
+Date: Wed, 11 Apr 2018 13:14:14 +0200
+Subject: [PATCH] configure: fix elogind support
+
+HAVE_LIBSYSTEMD is used to determine which source files to use.
+We have to check if either have_libsystemd or have_libelogind is
+true, as both of these need the source files which are used when
+HAVE_LIBSYSTEMD is true.
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index 36df239..da47ecb 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -221,7 +221,7 @@ AS_IF([test "x$cross_compiling" != "xyes" ], [
+
+ AC_SUBST(LIBSYSTEMD_CFLAGS)
+ AC_SUBST(LIBSYSTEMD_LIBS)
+-AM_CONDITIONAL(HAVE_LIBSYSTEMD, [test "$have_libsystemd" = "yes"], [Using libsystemd])
++AM_CONDITIONAL(HAVE_LIBSYSTEMD, [test "$have_libsystemd" = "yes" || test "$have_libelogind" = "yes" ], [Using libsystemd])
+
+ dnl ---------------------------------------------------------------------------
+ dnl - systemd unit / service files
+--
+2.17.0
diff --git a/user/py3-bcrypt/APKBUILD b/user/py3-bcrypt/APKBUILD
new file mode 100644
index 000000000..852f2275b
--- /dev/null
+++ b/user/py3-bcrypt/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=py3-bcrypt
+_pkgname=bcrypt
+_p="${_pkgname#?}"
+_p="${_pkgname%"$_p"}"
+pkgver=3.2.0
+pkgrel=0
+pkgdesc="bcrypt password hashing library for Python"
+url="https://pypi.org/project/bcrypt/"
+arch="all"
+license="Apache-2.0"
+depends="python3 py3-cffi"
+checkdepends="py3-six py3-pytest"
+makedepends="python3-dev"
+subpackages=""
+source="https://files.pythonhosted.org/packages/source/$_p/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/bcrypt-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ python3 setup.py test
+}
+
+package() {
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="aa782aa6a725434e0b0737973e33e6c2bf4e82d39e8dfba0913da5d7dd051d55217adab8004c3eaf896fc3c3e145ba543da1b5162a667a3d82a4eb6b07430b80 bcrypt-3.2.0.tar.gz"
diff --git a/user/py3-decorator/APKBUILD b/user/py3-decorator/APKBUILD
new file mode 100644
index 000000000..ac00bece2
--- /dev/null
+++ b/user/py3-decorator/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=py3-decorator
+_pkgname=decorator
+_p="${_pkgname#?}"
+_p="${_pkgname%"$_p"}"
+pkgver=4.4.2
+pkgrel=0
+pkgdesc="Python decorators for humans"
+url="https://pypi.org/project/decorator/"
+arch="noarch"
+license="BSD-2-Clause"
+depends="python3"
+makedepends=""
+subpackages=""
+source="https://files.pythonhosted.org/packages/source/$_p/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/decorator-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ python3 setup.py test
+}
+
+package() {
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="c068efd4e70764ac447b772c9c29625c2180dad256b2b4e46a50a8479fc1d7de09b114c2ba11bb37dd58774ed9460d2e0ea9fa76061833a2d3c2676ac91a0db1 decorator-4.4.2.tar.gz"
diff --git a/user/py3-invoke/APKBUILD b/user/py3-invoke/APKBUILD
new file mode 100644
index 000000000..df5373408
--- /dev/null
+++ b/user/py3-invoke/APKBUILD
@@ -0,0 +1,33 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=py3-invoke
+_pkgname=invoke
+_p="${_pkgname#?}"
+_p="${_pkgname%"$_p"}"
+pkgver=1.4.1
+pkgrel=0
+pkgdesc="Pythonic task execution"
+url="https://www.pyinvoke.org/"
+arch="noarch"
+options="!check" # Terribly broken.
+license="Apache-2.0"
+depends="python3"
+makedepends=""
+subpackages=""
+source="https://files.pythonhosted.org/packages/source/$_p/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/invoke-$pkgver"
+
+prepare() {
+ default_prepare
+ rm -r "$builddir"/invoke/vendor/yaml2
+}
+
+build() {
+ python3 setup.py build
+}
+
+package() {
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="9076a1e643e3496b180d486de48efe599eddafc3e8ac32ab5cfcb27c5aabfd4ea360c0e2e59f96aceb65f3453b5ff2c228bf7d76635fe62854fe092b1ebdf3b2 invoke-1.4.1.tar.gz"
diff --git a/user/py3-monotonic/APKBUILD b/user/py3-monotonic/APKBUILD
new file mode 100644
index 000000000..473c12f1e
--- /dev/null
+++ b/user/py3-monotonic/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=py3-monotonic
+_pkgname=monotonic
+_p="${_pkgname#?}"
+_p="${_pkgname%"$_p"}"
+pkgver=1.5
+pkgrel=0
+pkgdesc="Monotonic clock for Python"
+url="https://pypi.org/project/monotonic/"
+arch="noarch"
+license="Apache-2.0"
+depends="python3"
+makedepends=""
+subpackages=""
+source="https://files.pythonhosted.org/packages/source/$_p/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/monotonic-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ python3 setup.py test
+}
+
+package() {
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="05485e0baa51df95f9812d463306ce0bbe7228170b43aed8faa9d77d2b613ffede6b57b3dd273c352e0d1c04782043bec2f36be88cb1acde182a5aeb0538f970 monotonic-1.5.tar.gz"
diff --git a/user/py3-ncclient/APKBUILD b/user/py3-ncclient/APKBUILD
new file mode 100644
index 000000000..5131a4137
--- /dev/null
+++ b/user/py3-ncclient/APKBUILD
@@ -0,0 +1,49 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=py3-ncclient
+_pkgname=ncclient
+_p="${_pkgname#?}"
+_p="${_pkgname%"$_p"}"
+pkgver=0.6.9
+pkgrel=0
+pkgdesc="Python library for NETCONF clients"
+url="https://pypi.org/project/ncclient/"
+arch="noarch"
+license="Apache-2.0"
+depends="python3 py3-lxml py3-paramiko"
+checkdepends="py3-pytest py3-mock"
+makedepends="libxml2-dev libxslt-dev"
+subpackages=""
+source="https://files.pythonhosted.org/packages/source/$_p/$_pkgname/$_pkgname-$pkgver.tar.gz
+ https://raw.githubusercontent.com/ncclient/ncclient/v${pkgver}/test/unit/transport/rpc-reply/get-software-information-rfc.xml
+ https://raw.githubusercontent.com/ncclient/ncclient/v${pkgver}/test/unit/transport/rpc-reply/get-software-information.xml
+ https://raw.githubusercontent.com/ncclient/ncclient/v${pkgver}/test/unit/ssh_config
+ "
+builddir="$srcdir/ncclient-$pkgver"
+
+unpack() {
+ default_unpack
+ mkdir -p "$builddir"/test/unit/transport/rpc-reply
+ mv "$srcdir"/*.xml "$builddir"/test/unit/transport/rpc-reply/
+ mv "$srcdir"/ssh_config "$builddir"/test/unit/
+}
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ # Requires nose
+ rm "$builddir"/test/unit/test_xml_.py
+
+ pytest
+}
+
+package() {
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="ea5abc0dae81c337dbb22b8a15a63b6af8a3d5fbae9b621137957cc33c4688c4930a941f568a02be10256bcead9047bbe4a3fd8b29639f6a7626bb28244358a9 ncclient-0.6.9.tar.gz
+88cdb37bcc1991abdb09d71ee182754f881247ae580fdb866e16047d7ec0117daa2916405504ee92e9defb398794dc8fb8e5d2fb937498c5cfacae203b721979 get-software-information-rfc.xml
+c89ef648818e0c7e815b96a923fb48f8a7f3f72ef4d3e4a1dc6d5d5a368327ff06a4a2870d81bd5076ad0f25e8849ae00faa5fbf74294c7ebada8a5a84aa9a1a get-software-information.xml
+d94e0263c757647a14771fb5e12e843a4bcda1cc4f5ac0afa87d07f5abe8050c464867dc0a70f1f4c6503be844b2fb0701b449d1d89a358bc74139a543087be3 ssh_config"
diff --git a/user/py3-netconf/APKBUILD b/user/py3-netconf/APKBUILD
new file mode 100644
index 000000000..1108f9102
--- /dev/null
+++ b/user/py3-netconf/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=py3-netconf
+_pkgname=netconf
+_p="${_pkgname#?}"
+_p="${_pkgname%"$_p"}"
+pkgver=2.1.0
+pkgrel=0
+pkgdesc="NETCONF library for Python"
+url="https://pypi.org/project/netconf/"
+arch="noarch"
+license="Apache-2.0"
+depends="python3 py3-lxml py3-monotonic py3-paramiko py3-sshutil"
+makedepends=""
+subpackages=""
+source="https://files.pythonhosted.org/packages/source/$_p/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/netconf-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ python3 setup.py test
+}
+
+package() {
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="a641538a4ea55e66205a5568cc1df80ff704c8b5b53dff7f6809cfe7c532c66996892e3aeb3aaaadd224012b4ad8e2ba1b14c1d6b66fc3fd5079a1969d49a122 netconf-2.1.0.tar.gz"
diff --git a/user/py3-paramiko/APKBUILD b/user/py3-paramiko/APKBUILD
new file mode 100644
index 000000000..45134063b
--- /dev/null
+++ b/user/py3-paramiko/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=py3-paramiko
+_pkgname=paramiko
+_p="${_pkgname#?}"
+_p="${_pkgname%"$_p"}"
+pkgver=2.7.1
+pkgrel=0
+pkgdesc="Python implementation of the SSHv2 protocol"
+url="https://www.paramiko.org/"
+arch="noarch"
+license="LGPL-2.1+"
+depends="python3 py3-cryptography py3-bcrypt py3-pynacl"
+checkdepends="py3-mock py3-pytest py3-invoke py3-pytest-relaxed"
+makedepends=""
+subpackages=""
+source="https://files.pythonhosted.org/packages/source/$_p/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/paramiko-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ pytest -k "not TestMatch and not TestHostname and not TestComplexMatching and not TestSSHConfig"
+}
+
+package() {
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="80068c8f72ab8c98d84188caa074deecead9fb459b1a71cedb3cfa627736730928a2b9c6eb2b5a8b60acb9bccb0f68aefbef9d0d55554001c835b5cf897751ab paramiko-2.7.1.tar.gz"
diff --git a/user/py3-pyang/APKBUILD b/user/py3-pyang/APKBUILD
new file mode 100644
index 000000000..6ac07ef7f
--- /dev/null
+++ b/user/py3-pyang/APKBUILD
@@ -0,0 +1,40 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=py3-pyang
+_pkgname=pyang
+_p="${_pkgname#?}"
+_p="${_pkgname%"$_p"}"
+pkgver=2.3.2
+pkgrel=0
+pkgdesc="YANG tooling for Python"
+url="https://pypi.org/project/pyang/"
+arch="noarch"
+license="ISC"
+depends="python3 py3-lxml"
+makedepends=""
+subpackages="$pkgname-doc $pkgname-bash-completion:bashcomp"
+source="https://files.pythonhosted.org/packages/source/$_p/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/pyang-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ python3 setup.py test
+}
+
+package() {
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+bashcomp() {
+ pkgdesc="$pkgdesc (Bash completions)"
+ depends="py3-pyang"
+ install_if="$pkgname=$pkgver-r$pkgrel bash-completion"
+
+ mkdir "$subpkgdir"
+ mv "$pkgdir"/usr/etc "$subpkgdir"/
+}
+
+sha512sums="11f4e0531bea85eab63bf20c4ee785e24c81988333abb90a9ab076704fde8617eaa12f8b3f6f162ddbb4f83ffc2d20b9941311a529b296c198cb2ecd665ad63f pyang-2.3.2.tar.gz"
diff --git a/user/py3-pynacl/APKBUILD b/user/py3-pynacl/APKBUILD
new file mode 100644
index 000000000..5374d7d58
--- /dev/null
+++ b/user/py3-pynacl/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=py3-pynacl
+_pkgname=PyNaCl
+_p="${_pkgname#?}"
+_p="${_pkgname%"$_p"}"
+pkgver=1.4.0
+pkgrel=0
+pkgdesc="Python binding to the Networking and Cryptography library (NaCl)"
+url="https://pypi.org/project/PyNaCl/"
+arch="all"
+license="Apache-2.0"
+depends="python3 py3-cffi"
+checkdepends="py3-six py3-hypothesis py3-pytest"
+makedepends="python3-dev libsodium-dev"
+subpackages=""
+source="https://files.pythonhosted.org/packages/source/$_p/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/PyNaCl-$pkgver"
+
+build() {
+ SODIUM_INSTALL=system python3 setup.py build
+}
+
+check() {
+ python3 setup.py test
+}
+
+package() {
+ SODIUM_INSTALL=system python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="355b974010f94d551f631a2dd5ae792da3d4d0abf8ed70b6decc78aad24a9f965636988aebd14947b137ea14cdcbb73531775f08b1b4d5a9d72b5df3dba0b022 PyNaCl-1.4.0.tar.gz"
diff --git a/user/py3-pytest-relaxed/APKBUILD b/user/py3-pytest-relaxed/APKBUILD
new file mode 100644
index 000000000..9f280b080
--- /dev/null
+++ b/user/py3-pytest-relaxed/APKBUILD
@@ -0,0 +1,32 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=py3-pytest-relaxed
+_pkgname=pytest-relaxed
+_p="${_pkgname#?}"
+_p="${_pkgname%"$_p"}"
+pkgver=1.1.5
+pkgrel=0
+pkgdesc="Relaxed test discovery for pytest"
+url="https://pytest-relaxed.readthedocs.io/en/latest/"
+arch="noarch"
+options="!check" # of course a test lib fails its own tests.
+license="BSD-2-Clause"
+depends="python3 py3-pytest py3-six py3-decorator"
+makedepends=""
+subpackages=""
+source="https://files.pythonhosted.org/packages/source/$_p/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/pytest-relaxed-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ PYTHONPATH=. pytest
+}
+
+package() {
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="c4eb981e8969ec9e85c5f390227b5ee2e1c88da6bb331ac4ce7b97b0e0fc435a388f592439281e60d41be9e2858601bee11b527f5c29e496445f7d072e14eaad pytest-relaxed-1.1.5.tar.gz"
diff --git a/user/py3-sshutil/APKBUILD b/user/py3-sshutil/APKBUILD
new file mode 100644
index 000000000..674b8b3b4
--- /dev/null
+++ b/user/py3-sshutil/APKBUILD
@@ -0,0 +1,31 @@
+# Contributor: A. Wilcox <awilfox@adelielinux.org>
+# Maintainer: A. Wilcox <awilfox@adelielinux.org>
+pkgname=py3-sshutil
+_pkgname=sshutil
+_p="${_pkgname#?}"
+_p="${_pkgname%"$_p"}"
+pkgver=1.5.0
+pkgrel=0
+pkgdesc="SSH utility functions for Python"
+url="https://pypi.org/project/sshutil/"
+arch="noarch"
+license="Apache-2.0"
+depends="python3 py3-paramiko"
+makedepends=""
+subpackages=""
+source="https://files.pythonhosted.org/packages/source/$_p/$_pkgname/$_pkgname-$pkgver.tar.gz"
+builddir="$srcdir/sshutil-$pkgver"
+
+build() {
+ python3 setup.py build
+}
+
+check() {
+ python3 setup.py test
+}
+
+package() {
+ python3 setup.py install --prefix=/usr --root="$pkgdir"
+}
+
+sha512sums="14cc921e52e1f8f6c7b3031e57d6fc416d6e469c5b1b026ffc64078c51a8d05590579bf25515cda2e1224b7ca7d39e712738742a0cd9f05eb42639b25ecce27c sshutil-1.5.0.tar.gz"