summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--libre-testing/procps-ng/PKGBUILD47
-rw-r--r--libre-testing/procps-ng/install14
-rw-r--r--libre/acpi_call-dkms/PKGBUILD6
-rw-r--r--libre/acpi_call-lts/PKGBUILD6
-rw-r--r--libre/acpi_call/PKGBUILD6
-rw-r--r--libre/freecad/62c3836c.patch83
-rw-r--r--libre/freecad/PKGBUILD37
-rw-r--r--libre/freecad/pyside6.patch121
-rw-r--r--libre/grub/PKGBUILD13
-rw-r--r--libre/libretools/PKGBUILD19
-rw-r--r--libre/netpbm/PKGBUILD184
-rw-r--r--libre/netpbm/keys/pgp/5357F3B111688D88C1D88119FCF2CB179205AC90.asc30
-rw-r--r--libre/netpbm/netpbm-CAN-2005-2471.patch6
-rw-r--r--libre/netpbm/netpbm-security-code.patch168
-rw-r--r--libre/netpbm/netpbm-security-scripts.patch57
-rw-r--r--libre/netpbm/nonfree-licenses-docs.patch51
-rw-r--r--libre/netpbm/reproducible-man-gzip.patch20
-rw-r--r--libre/netpbm/use-source-date-epoch.patch13
-rw-r--r--libre/pacman/1001-arch-MR152.patch86
-rw-r--r--libre/pacman/PKGBUILD192
-rw-r--r--libre/pacman/makepkg.conf.in21
-rw-r--r--libre/parabola-keyring/PKGBUILD4
-rw-r--r--libre/pyside6/PKGBUILD168
-rw-r--r--libre/pyside6/fix-build.patch14
-rw-r--r--libre/tp_smapi-lts/PKGBUILD15
-rw-r--r--libre/tp_smapi/PKGBUILD6
-rw-r--r--libre/your-freedom/PKGBUILD6
-rw-r--r--nonprism/claws-mail/0001_move_OAuth2_to_last_place_in_auto_auth_selection.diff43
-rw-r--r--nonprism/claws-mail/0002_Fancy_crashes_when_opening_an_email.diff23
-rw-r--r--nonprism/claws-mail/PKGBUILD99
-rw-r--r--nonprism/claws-mail/bash_completion30
-rw-r--r--nonprism/claws-mail/claws-mail.install10
-rw-r--r--nonsystemd/dhcpcd-openrc/PKGBUILD20
-rw-r--r--nonsystemd/dhcpcd-openrc/dhcpcd.initd19
-rw-r--r--nonsystemd/elogind/PKGBUILD8
-rw-r--r--nonsystemd/libretools/0001-revert.patch30
-rw-r--r--nonsystemd/libretools/PKGBUILD90
-rw-r--r--nonsystemd/networkmanager/0001-connectivity-Make-curl-timeout-callback-non-repeatin.patch34
-rw-r--r--nonsystemd/networkmanager/PKGBUILD59
-rw-r--r--nonsystemd/pipewire/PKGBUILD39
-rw-r--r--nonsystemd/pipewire/artix-pipewire-launcher66
-rw-r--r--nonsystemd/pipewire/pipewire.desktop13
-rw-r--r--nonsystemd/procps-ng/0001-build-sys-Add-systemd-elogind-to-w.patch43
-rw-r--r--nonsystemd/procps-ng/0002-ps-Don-t-crash-when-using-short-option.patch176
-rw-r--r--nonsystemd/procps-ng/PKGBUILD71
-rw-r--r--nonsystemd/procps-ng/keys/pgp/5D2FB320B825D93904D205193938F96BDF50FEA5.asc68
-rw-r--r--nonsystemd/sddm/PKGBUILD55
-rw-r--r--nonsystemd/util-linux/0001-agetty-resolve-tty-name-even-if-stdin-is-specified.patch104
-rw-r--r--nonsystemd/util-linux/PKGBUILD225
-rw-r--r--nonsystemd/util-linux/keys/pgp/B0C64D14301CC6EFAEDF60E4E4B71D5EEC39C284.asc52
-rw-r--r--nonsystemd/util-linux/pam-login1
-rw-r--r--nonsystemd/util-linux/pam-remote8
-rw-r--r--pcr-testing/scratch-pkg/PKGBUILD107
-rw-r--r--pcr-testing/scratch-pkg/scratch-pkg.install11
-rw-r--r--pcr-testing/scratch-pkg/upstream.patch5
-rw-r--r--pcr/gmid/PKGBUILD16
-rw-r--r--pcr/icedove-bin/PKGBUILD138
-rw-r--r--pcr/icedove-bin/trisquel-archive-signkey.gpg113
-rw-r--r--pcr/zulucrypt/PKGBUILD19
-rw-r--r--pcr/zulucrypt/zulucrypt.install9
-rwxr-xr-xscripts/package-all-acpi_call-tp_smapi8
61 files changed, 1901 insertions, 1304 deletions
diff --git a/libre-testing/procps-ng/PKGBUILD b/libre-testing/procps-ng/PKGBUILD
deleted file mode 100644
index 4f3277812..000000000
--- a/libre-testing/procps-ng/PKGBUILD
+++ /dev/null
@@ -1,47 +0,0 @@
-# Maintainer: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
-# Contributor: Gaetan Bisson <bisson@archlinux.org>
-# Contributor: Eric Bélanger <eric@archlinux.org>
-
-pkgname=procps-ng
-pkgver=3.3.15
-pkgrel=1
-pkgdesc='Utilities for monitoring your system and its processes'
-url='https://gitlab.com/procps-ng/procps'
-license=(GPL LGPL)
-arch=(x86_64 ppc64le)
-groups=(base)
-depends=(ncurses libsystemd)
-makedepends=(systemd)
-conflicts=(procps sysvinit-tools)
-provides=(procps sysvinit-tools)
-replaces=(procps sysvinit-tools)
-install=install
-source=(https://downloads.sourceforge.net/project/$pkgname/Production/${pkgname}-${pkgver}.tar.xz)
-sha256sums=('10bd744ffcb3de2d591d2f6acf1a54a7ba070fdcc432a855931a5057149f0465')
-
-prepare() {
- cd $pkgname-$pkgver
- sed 's:<ncursesw/:<:g' -i watch.c
-}
-
-build() {
- cd $pkgname-$pkgver
- ./configure \
- --prefix=/usr \
- --exec-prefix=/ \
- --sysconfdir=/etc \
- --libdir=/usr/lib \
- --bindir=/usr/bin \
- --sbindir=/usr/bin \
- --enable-watch8bit \
- --with-systemd \
- --disable-modern-top \
- --disable-kill
-
- make
-}
-
-package() {
- cd $pkgname-$pkgver
- make DESTDIR="$pkgdir" install
-}
diff --git a/libre-testing/procps-ng/install b/libre-testing/procps-ng/install
deleted file mode 100644
index 2e6546ecc..000000000
--- a/libre-testing/procps-ng/install
+++ /dev/null
@@ -1,14 +0,0 @@
-post_upgrade() {
- if [[ $(vercmp $2 3.3.8-3) = -1 ]]; then
- cat <<EOF
-
-==> The file /etc/sysctl.conf has been removed from this
-==> package, as all its settings are now kernel defaults.
-
-==> If you had customized it, you need to rename it as
-==> /etc/sysctl.d/99-sysctl.conf since from version 207 on
-==> systemd only applies settings from /etc/sysctl.d/* .
-
-EOF
- fi
-}
diff --git a/libre/acpi_call-dkms/PKGBUILD b/libre/acpi_call-dkms/PKGBUILD
index ac07ff1c8..814955791 100644
--- a/libre/acpi_call-dkms/PKGBUILD
+++ b/libre/acpi_call-dkms/PKGBUILD
@@ -19,14 +19,16 @@
# linux-libre-headers <- acpi_call
# tp_smapi
#
+# NOTE: It is normally not necessary to edit any of these PKGBUILDs.
# These packages may be built as a batch, with the helper script:
# 'scripts/package-all-acpi_call-tp_smapi'
# Simply edit 'KERNEL_VER' and/or 'KERNEL_LTS_VER' in the helper script.
-# It will build only those which the PKGBUILD '_basekernel' differs,
+# It will build any or all of the above packages,
+# but only those for which the PKGBUILD '_basekernel' differs,
# update '_basekernel', and commit the changes to VCS, if successful.
-_basekernel=6.5.8
+_basekernel=6.7.4
pkgname=acpi_call-dkms
_tag='9f1c0b5d046bdfdec769809435257647fd475473' # git rev-parse v${_tag_name}
diff --git a/libre/acpi_call-lts/PKGBUILD b/libre/acpi_call-lts/PKGBUILD
index acf62290d..799198d19 100644
--- a/libre/acpi_call-lts/PKGBUILD
+++ b/libre/acpi_call-lts/PKGBUILD
@@ -19,14 +19,16 @@
# linux-libre-headers <- acpi_call
# tp_smapi
#
+# NOTE: It is normally not necessary to edit any of these PKGBUILDs.
# These packages may be built as a batch, with the helper script:
# 'scripts/package-all-acpi_call-tp_smapi'
# Simply edit 'KERNEL_VER' and/or 'KERNEL_LTS_VER' in the helper script.
-# It will build only those which the PKGBUILD '_basekernel' differs,
+# It will build any or all of the above packages,
+# but only those for which the PKGBUILD '_basekernel' differs,
# update '_basekernel', and commit the changes to VCS, if successful.
-_basekernel=5.15.88
+_basekernel=6.6.14
pkgname=acpi_call-lts
pkgver=1.2.2
diff --git a/libre/acpi_call/PKGBUILD b/libre/acpi_call/PKGBUILD
index 197887fc3..6e31a0378 100644
--- a/libre/acpi_call/PKGBUILD
+++ b/libre/acpi_call/PKGBUILD
@@ -19,14 +19,16 @@
# linux-libre-headers <- acpi_call
# tp_smapi
#
+# NOTE: It is normally not necessary to edit any of these PKGBUILDs.
# These packages may be built as a batch, with the helper script:
# 'scripts/package-all-acpi_call-tp_smapi'
# Simply edit 'KERNEL_VER' and/or 'KERNEL_LTS_VER' in the helper script.
-# It will build only those which the PKGBUILD '_basekernel' differs,
+# It will build any or all of the above packages,
+# but only those for which the PKGBUILD '_basekernel' differs,
# update '_basekernel', and commit the changes to VCS, if successful.
-_basekernel=6.5.8
+_basekernel=6.7.4
pkgname=acpi_call
pkgver=1.2.2
diff --git a/libre/freecad/62c3836c.patch b/libre/freecad/62c3836c.patch
new file mode 100644
index 000000000..fb180755b
--- /dev/null
+++ b/libre/freecad/62c3836c.patch
@@ -0,0 +1,83 @@
+From 62c3836c97a56db24e3ef567a31eba2d0893b945 Mon Sep 17 00:00:00 2001
+From: Ladislav Michl <ladis@linux-mips.org>
+Date: Tue, 23 Jan 2024 12:46:32 +0100
+Subject: [PATCH] Addon Manager: Qt6 fixes
+
+---
+ src/Mod/AddonManager/addonmanager_utilities.py | 4 ++--
+ src/Mod/AddonManager/change_branch.py | 2 +-
+ src/Mod/AddonManager/package_details.py | 7 +++----
+ src/Mod/AddonManager/package_list.py | 7 +++----
+ 4 files changed, 9 insertions(+), 11 deletions(-)
+
+diff --git a/src/Mod/AddonManager/addonmanager_utilities.py b/src/Mod/AddonManager/addonmanager_utilities.py
+index 9ceabc2e9add..183a2047b086 100644
+--- a/src/Mod/AddonManager/addonmanager_utilities.py
++++ b/src/Mod/AddonManager/addonmanager_utilities.py
+@@ -36,7 +36,7 @@
+ from urllib.parse import urlparse
+
+ try:
+- from PySide import QtCore, QtWidgets
++ from PySide import QtCore, QtGui, QtWidgets
+ except ImportError:
+ QtCore = None
+ QtWidgets = None
+@@ -245,7 +245,7 @@ def get_readme_html_url(repo):
+ def is_darkmode() -> bool:
+ """Heuristics to determine if we are in a darkmode stylesheet"""
+ pl = fci.FreeCADGui.getMainWindow().palette()
+- return pl.color(pl.Background).lightness() < 128
++ return pl.color(QtGui.QPalette.Window).lightness() < 128
+
+
+ def warning_color_string() -> str:
+diff --git a/src/Mod/AddonManager/change_branch.py b/src/Mod/AddonManager/change_branch.py
+index 332795a22afc..ebe1819bc755 100644
+--- a/src/Mod/AddonManager/change_branch.py
++++ b/src/Mod/AddonManager/change_branch.py
+@@ -216,7 +216,7 @@ def data(self, index: QtCore.QModelIndex, role: int = QtCore.Qt.DisplayRole):
+ dd = self.display_data[row]
+ if column == 3 or column == 4:
+ if dd[column] is not None:
+- qdate = QtCore.QDateTime.fromTime_t(dd[column])
++ qdate = QtCore.QDateTime.fromSecsSinceEpoch(dd[column])
+ return QtCore.QLocale().toString(qdate, QtCore.QLocale.ShortFormat)
+ elif column < len(dd):
+ return dd[column]
+diff --git a/src/Mod/AddonManager/package_details.py b/src/Mod/AddonManager/package_details.py
+index 93dfb8bee962..8310b5e90343 100644
+--- a/src/Mod/AddonManager/package_details.py
++++ b/src/Mod/AddonManager/package_details.py
+@@ -133,10 +133,9 @@ def display_repo_status(self, status):
+ date = ""
+ installed_version_string = "<h3>"
+ if repo.updated_timestamp:
+- date = (
+- QtCore.QDateTime.fromTime_t(repo.updated_timestamp)
+- .date()
+- .toString(QtCore.Qt.SystemLocaleShortDate)
++ date = QtCore.QLocale().toString(
++ QtCore.QDateTime.fromSecsSinceEpoch(int(round(repo.updated_timestamp, 0))),
++ QtCore.QLocale.ShortFormat,
+ )
+ if version and date:
+ installed_version_string += (
+diff --git a/src/Mod/AddonManager/package_list.py b/src/Mod/AddonManager/package_list.py
+index a9dd3dc59856..d26b4f5489c3 100644
+--- a/src/Mod/AddonManager/package_list.py
++++ b/src/Mod/AddonManager/package_list.py
+@@ -465,10 +465,9 @@ def get_expanded_update_string(repo: Addon) -> str:
+ installed_date_string = (
+ "<br/>" + translate("AddonsInstaller", "Installed on") + ": "
+ )
+- installed_date_string += (
+- QtCore.QDateTime.fromTime_t(repo.updated_timestamp)
+- .date()
+- .toString(QtCore.Qt.SystemLocaleShortDate)
++ installed_date_string += QtCore.QLocale().toString(
++ QtCore.QDateTime.fromSecsSinceEpoch(int(round(repo.updated_timestamp, 0))),
++ QtCore.QLocale.ShortFormat,
+ )
+
+ available_version_string = ""
diff --git a/libre/freecad/PKGBUILD b/libre/freecad/PKGBUILD
index a19490ae6..e78051a71 100644
--- a/libre/freecad/PKGBUILD
+++ b/libre/freecad/PKGBUILD
@@ -10,6 +10,7 @@
# Contributor: gborzi
# Contributor: Adrian Insaurralde
# Maintainer: Parabola Hackers <dev@lists.parabola.nu>
+# Contributor: bill-auger <bill-auger@programmer.net>
# parabola changes and rationale:
@@ -25,33 +26,38 @@
pkgname=freecad
pkgver=0.21.2
-pkgrel=3
-pkgrel+=.parabola2
+pkgrel=16
+pkgrel+=.parabola1
pkgdesc='Feature based parametric 3D CAD modeler'
arch=(x86_64)
arch+=(armv7h) # 'med-openmpi' is unavailable for i686
url='https://freecadweb.org/'
license=(LGPL)
depends=(boost-libs coin fmt glew jsoncpp libspnav med-openmpi netcdf
- opencascade openmpi pugixml pyside2 pyside2-tools python-gitpython
+ opencascade openmpi pugixml pyside6 python-gitpython
python-markdown python-matplotlib python-pip python-pivy python-ply
- python-yaml qt5-svg qt5-tools qt5-webengine qt5-x11extras
- qt5-xmlpatterns xerces-c verdict)
-depends=( ${depends[*]/python-pip/} ) # build without pip
-depends=( ${depends[*]/qt5-webengine/qt5-webkit} ) # build without webengine
+ python-yaml qt6-svg qt6-tools qt6-webengine
+ xerces-c verdict)
+depends=( ${depends[*]/python-pip/} ) # build without pip
+depends=( ${depends[*]/qt6-webengine/} ) # build without webengine
makedepends=(boost cgns cmake eigen git libharu liblas ninja openvdb openvr
- ospray pdal postgresql-libs python-mpi4py python-shiboken2
- qt5-webengine shiboken2 swig utf8cpp nlohmann-json)
-makedepends=( ${makedepends[*]/qt5-webengine/} ) # redundant entry
+ ospray pdal postgresql-libs python-mpi4py
+ shiboken6 swig utf8cpp nlohmann-json)
makedepends=( ${makedepends[*]/git/} ) # build from source-ball
[[ "${CARCH}" == x86_64 ]] || makedepends=( ${makedepends[*]/ospray/} ) # unavailable for i686 and armv7h
optdepends=('graphviz: dependency graph support'
'openscad: OpenSCAD support')
source=(${pkgname}-${pkgver}.tar.gz::https://github.com/${pkgname}/${pkgname}/archive/refs/tags/${pkgver}.tar.gz # build from source-ball
- freecad-vtk9.3.patch) # tag: 0.21.1
+ freecad-vtk9.3.patch
+ pyside6.patch
+ 62c3836c.patch
+ https://github.com/FreeCAD/FreeCAD/commit/6043c904.patch)
source+=(branding.xml)
b2sums=('84a4f8008192cd1a2ee1737b537b2668a8c028aa8c8645e6e412ab9ef79bf3bdd2cb73d96fcfd2dbcff613cdcc59cbab95821406acdc9cd7d4eb4636c081be78'
- 'f0b5a4648eb4befabb2339bae4e42044e436aa50ad1c2a25b243c965272a217b2c1c69c34d0d20bd01c573008de10f733b74857ffecac502b8558a7095e305e5')
+ 'f0b5a4648eb4befabb2339bae4e42044e436aa50ad1c2a25b243c965272a217b2c1c69c34d0d20bd01c573008de10f733b74857ffecac502b8558a7095e305e5'
+ '63bfac252cc813f4e2454b4bbd8b0c55e2882566bd39bf1d0b812bafc305cad6b65293bad4f3c043b58df93a2c685e82e5853059335fe8e90531dcbc23e324e9'
+ 'eb474708c3611293cfe3dfc287418b606f7735f6eb306f44f7394cd7e65256daddcee35984211982f25064e7ec81cc038d4eeb8d34af7399058ecfb6e8e99e9f'
+ 'de4b98c4b488045f9810dce124c271d6f4f629922e026f2d4f1efd6c9060b92309db41f8e0f6ebe5e7a27399911ac908cc8935c2501214326dbb1c4b739d46cc')
b2sums+=('eb678f8bed6e11544bc7fb31205acbeaa0904c63d1828a0574900dcaeae453c7dacf5beaceeac5e2f951b8d46dfc5ae11ccd1b4a876f8809f81d76c71fc22e6a')
@@ -112,6 +118,11 @@ prepare() {
ln -fs FreeCAD-${pkgver} ${pkgname} # link source-ball root dir as VCS root dirname
patch -d freecad -Np1 -i "$srcdir"/freecad-vtk9.3.patch
+ patch -d freecad -Np1 -i ../62c3836c.patch # Fix Qt6 issues in addons manager
+ patch -d freecad -Np1 -i ../pyside6.patch
+ patch -d freecad -Np1 -i ../6043c904.patch # Fix build with Python 3.12
+ sed -e 's|Shiboken::Module::getTypes(requiredModule)|reinterpret_cast<PyTypeObject **>(Shiboken::Module::getTypes(requiredModule))|' \
+ -i freecad/src/Gui/PythonWrapper.cpp # Fix build with PySide 6.7
}
build() {
@@ -123,7 +134,7 @@ build() {
-B build \
-D BUILD_ENABLE_CXX_STD=C++17 \
-D BUILD_FLAT_MESH=ON \
- -D BUILD_QT5=ON \
+ -D FREECAD_QT_VERSION=6 \
-D CMAKE_BUILD_TYPE=Release \
-D CMAKE_C_FLAGS="$CFLAGS -ffat-lto-objects -fPIC -w" \
-D CMAKE_CXX_FLAGS="$CXXFLAGS -ffat-lto-objects -fPIC -w" \
diff --git a/libre/freecad/pyside6.patch b/libre/freecad/pyside6.patch
new file mode 100644
index 000000000..658464682
--- /dev/null
+++ b/libre/freecad/pyside6.patch
@@ -0,0 +1,121 @@
+diff --git a/src/Mod/AddonManager/package_details.py b/src/Mod/AddonManager/package_details.py
+index c9d1ae311a..9c0e040ea5 100644
+--- a/src/Mod/AddonManager/package_details.py
++++ b/src/Mod/AddonManager/package_details.py
+@@ -26,7 +26,7 @@
+ import os
+ from typing import Optional
+
+-from PySide import QtCore, QtGui, QtWidgets
++from PySide6 import QtCore, QtGui, QtWidgets
+
+ import addonmanager_freecad_interface as fci
+
+@@ -51,14 +51,14 @@ translate = fci.translate
+ show_javascript_console_output = False
+
+ try:
+- from PySide import QtWebEngineWidgets
++ from PySide6 import QtWebEngineCore, QtWebEngineWidgets
+
+ HAS_QTWEBENGINE = True
+ except ImportError:
+ fci.Console.PrintWarning(
+ translate(
+ "AddonsInstaller",
+- "Addon Manager Warning: Could not import QtWebEngineWidgets -- README data will display as text-only",
++ "Addon Manager Warning: Could not import QtWebEngineCore -- README data will display as text-only",
+ )
+ + "\n"
+ )
+@@ -715,14 +714,14 @@ class PackageDetails(QtWidgets.QWidget):
+
+ if HAS_QTWEBENGINE:
+
+- class RestrictedWebPage(QtWebEngineWidgets.QWebEnginePage):
++ class RestrictedWebPage(QtWebEngineCore.QWebEnginePage):
+ """A class that follows links to FreeCAD wiki pages, but opens all other
+ clicked links in the system web browser"""
+
+ def __init__(self, parent):
+ super().__init__(parent)
+ self.settings().setAttribute(
+- QtWebEngineWidgets.QWebEngineSettings.ErrorPageEnabled, False
++ QtWebEngineCore.QWebEngineSettings.ErrorPageEnabled, False
+ )
+ self.stored_url = None
+
+@@ -731,7 +730,7 @@ if HAS_QTWEBENGINE:
+ navigation requests to the FreeCAD Wiki (for translation purposes) --
+ anything else will open in a new window.
+ """
+- if _type == QtWebEngineWidgets.QWebEnginePage.NavigationTypeLinkClicked:
++ if _type == QtWebEngineCore.QWebEnginePage.NavigationTypeLinkClicked:
+ # See if the link is to a FreeCAD Wiki page -- if so, follow it,
+ # otherwise ask the OS to open it
+ if (
+@@ -754,11 +753,11 @@ if HAS_QTWEBENGINE:
+ global show_javascript_console_output
+ if show_javascript_console_output:
+ tag = translate("AddonsInstaller", "Page JavaScript reported")
+- if level == QtWebEngineWidgets.QWebEnginePage.InfoMessageLevel:
++ if level == QtWebEngineCore.QWebEnginePage.InfoMessageLevel:
+ fci.Console.PrintMessage(f"{tag} {lineNumber}: {message}\n")
+- elif level == QtWebEngineWidgets.QWebEnginePage.WarningMessageLevel:
++ elif level == QtWebEngineCore.QWebEnginePage.WarningMessageLevel:
+ fci.Console.PrintWarning(f"{tag} {lineNumber}: {message}\n")
+- elif level == QtWebEngineWidgets.QWebEnginePage.ErrorMessageLevel:
++ elif level == QtWebEngineCore.QWebEnginePage.ErrorMessageLevel:
+ fci.Console.PrintError(f"{tag} {lineNumber}: {message}\n")
+
+ def _reload_stored_url(self):
+diff --git a/src/Mod/AddonManager/AddonManager.py b/src/Mod/AddonManager/AddonManager.py
+index cb8bb63d8a..7445173537 100644
+--- a/src/Mod/AddonManager/AddonManager.py
++++ b/src/Mod/AddonManager/AddonManager.py
+@@ -427,15 +427,15 @@ class CommandAddonManager:
+ "You must restart FreeCAD for changes to take effect.",
+ )
+ )
+- m.setIcon(m.Warning)
+- m.setStandardButtons(m.Ok | m.Cancel)
+- m.setDefaultButton(m.Cancel)
++ m.setIcon(m.Icon.Warning)
++ m.setStandardButtons(m.StandardButton.Ok | m.StandardButton.Cancel)
++ m.setDefaultButton(m.StandardButton.Cancel)
+ okBtn = m.button(QtWidgets.QMessageBox.StandardButton.Ok)
+ cancelBtn = m.button(QtWidgets.QMessageBox.StandardButton.Cancel)
+ okBtn.setText(translate("AddonsInstaller", "Restart now"))
+ cancelBtn.setText(translate("AddonsInstaller", "Restart later"))
+ ret = m.exec_()
+- if ret == m.Ok:
++ if ret == m.StandardButton.Ok:
+ # restart FreeCAD after a delay to give time to this dialog to close
+ QtCore.QTimer.singleShot(1000, utils.restart_freecad)
+
+diff --git a/src/Mod/Arch/importIFClegacy.py b/src/Mod/Arch/importIFClegacy.py
+index 8935233f09..20c395ed9d 100644
+--- a/src/Mod/Arch/importIFClegacy.py
++++ b/src/Mod/Arch/importIFClegacy.py
+@@ -1800,7 +1800,7 @@ def explorer(filename,schema="IFC2X3_TC1.exp"):
+ tree.headerItem().setText(1, "")
+ tree.headerItem().setText(2, "Item and Properties")
+ bold = QtGui.QFont()
+- bold.setWeight(75)
++ bold.setWeight(QtGui.QFont.Weight(75))
+ bold.setBold(True)
+
+ #print(ifc.Entities)
+diff --git a/src/Mod/Draft/DraftGui.py b/src/Mod/Draft/DraftGui.py
+index b19101e9ca..b44425e012 100644
+--- a/src/Mod/Draft/DraftGui.py
++++ b/src/Mod/Draft/DraftGui.py
+@@ -406,7 +406,7 @@ class DraftToolBar:
+ self.promptlabel = self._label("promptlabel", self.layout, hide=task)
+ self.cmdlabel = self._label("cmdlabel", self.layout, hide=task)
+ boldtxt = QtGui.QFont()
+- boldtxt.setWeight(75)
++ boldtxt.setWeight(QtGui.QFont.Weight(75))
+ boldtxt.setBold(True)
+ self.cmdlabel.setFont(boldtxt)
+
diff --git a/libre/grub/PKGBUILD b/libre/grub/PKGBUILD
index 74aabd67f..39a19341f 100644
--- a/libre/grub/PKGBUILD
+++ b/libre/grub/PKGBUILD
@@ -22,6 +22,7 @@
# "grub: add armv7h support (U-Boot and UEFI)"
# (2015-09-26, Márcio Alexandre Silva Delgado <coadde@parabola.nu>)
# * --with-platform=uboot (ARM)
+# * --with-platform=emu (enabled _GRUB_EMU_BUILD=1, fixed dependencies)
# + Parabola additions, since
# "grub: rm unused grub-extras in U-Boot, fix msg on U-Boot build; add IEEE1275 (OpenFirmware) and Libreboot support"
# (2015-09-26, Márcio Alexandre Silva Delgado <coadde@parabola.nu>)
@@ -48,7 +49,7 @@ _IA32_EFI_IN_ARCH_X64="1"
_IA32_XEN_IN_ARCH_X64="1"
## "1" to enable EMU build, "0" to disable
-_GRUB_EMU_BUILD="0"
+_GRUB_EMU_BUILD="1"
[[ "${CARCH}" == 'armv7h' ]] && _EFI_ARCH='arm'
[[ "${CARCH}" == 'x86_64' ]] && _EFI_ARCH='x86_64'
@@ -80,7 +81,7 @@ _pkgver=2.12
_unifont_ver='15.1.04'
pkgver=${_pkgver/-/}
pkgrel=1
-pkgrel+=.parabola2
+pkgrel+=.parabola3
url='https://www.gnu.org/software/grub/'
arch=('x86_64')
arch+=('i686')
@@ -119,9 +120,8 @@ if [[ "${CARCH}" = 'x86_64' ]] && [[ "${_XEN}" = '1' ]]; then
fi
if [[ "${_GRUB_EMU_BUILD}" == "1" ]]; then
- makedepends+=('libusbx' 'sdl')
- #optdepends+=('libusbx: For grub-emu USB support' # drop from the device-specific arm-uboot packages
- # 'sdl: For grub-emu SDL support') # drop from the device-specific arm-uboot packages
+ makedepends+=('sdl')
+ #optdepends+=('sdl: For grub-emu SDL support') # drop from the device-specific arm-uboot packages
fi
validpgpkeys=('E53D497F3FA42AD8C9B4D1E835A93B74E82E4209' # Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>
@@ -484,8 +484,7 @@ package_grub() {
'libisoburn: Provides xorriso for generating grub rescue iso using grub-mkrescue')
if [[ "${_GRUB_EMU_BUILD}" = '1' ]]; then
- optdepends+=('libusbx: For grub-emu USB support'
- 'sdl: For grub-emu SDL support')
+ optdepends+=('sdl: For grub-emu SDL support')
fi
cd "${srcdir}/grub/"
diff --git a/libre/libretools/PKGBUILD b/libre/libretools/PKGBUILD
index 2a6c8f173..5b4d02fcb 100644
--- a/libre/libretools/PKGBUILD
+++ b/libre/libretools/PKGBUILD
@@ -7,7 +7,8 @@
pkgbase=libretools
pkgname=(libretools librelib gitget)
-pkgver=20240327
+pkgver=20240403
+_pacman_constraints=( 'pacman<6.2' )
pkgrel=1
pkgdesc="Programs for Parabola development"
arch=('any')
@@ -15,12 +16,11 @@ url="https://git.parabola.nu/packages/libretools.git/"
# license=(GPL-2.0-only GPL-3.0-or-later) # TODO:
license=('GPL2' 'GPL3')
-_pacman_constraintts=( 'pacman>=5.1.1-1.parabola5' 'pacman<6.2' )
makedepends=(ruby-ronn-ng)
checkdepends=(
bats
git
- ${_pacman_constraintts[*]}
+ "${_pacman_constraints[@]}"
expac
openssh
rsync
@@ -28,13 +28,13 @@ checkdepends=(
)
source=(https://repo.parabola.nu/other/$pkgname/$pkgname-$pkgver.tar.gz{,.sig})
-sha256sums=('e3a3aa54322813682414405b9a546274a984470bd40cea10d6349cc582f1f9a3'
+sha256sums=('210fecb2c5113818c685e90dc7e67f0f64995142cecc5eed1ac1284589d5840e'
'SKIP')
validpgpkeys=('99195DD3BB6FE10A2F36ED8445698744D4FFBFC9' # Luke Shumaker
+ '6DB9C4B4F0D8C0DC432CF6E4227CA7C556B2BA78' # David P.
'BFA8008A8265677063B11BF47171986E4B745536' # Andreas Grapentin
'3954A7AB837D0EA9CFA9798925DB7D9B5A8D4B40') # bill-auger
-
build() {
cd "$srcdir"/$pkgbase-$pkgver
@@ -42,8 +42,9 @@ build() {
}
check() {
- cd "$srcdir/$pkgbase-$pkgver"
- SUDO_USER= make check TESTENVFLAGS='--no-network --no-sudo'
+ cd "$srcdir"/$pkgbase-$pkgver
+
+ SUDO_USER= make check BATS_FLAGS='--filter-tags !network,!sudo'
}
package_librelib() {
@@ -95,8 +96,8 @@ package_libretools() {
depends+=( # pinned dependencies
"librelib=$pkgver"
"gitget=$pkgver" # `createworkdir`
- ${_pacman_constraintts[*]}
- 'systemd-tools>=234' # `systemd-nspawn` # TODO: nonsystemd `chroot-run`
+ "${_pacman_constraints[@]}"
+ 'systemd-tools>=234' # `systemd-nspawn` # TODO: merge 'nonsystemd' branch
)
depends=( ${depends[*]/pacutils/} ) # WIP
depends=( ${depends[*]/namcap/} ) # FIXME: Namcap is currently disabled in libremakepkg :-(
diff --git a/libre/netpbm/PKGBUILD b/libre/netpbm/PKGBUILD
index 69ad75e8c..deb443f15 100644
--- a/libre/netpbm/PKGBUILD
+++ b/libre/netpbm/PKGBUILD
@@ -1,95 +1,106 @@
+# Maintainer (arch): Caleb Maclennan <caleb@alerque.com>
# Maintainer: Omar Vega Ramos <ovruni@gnu.org.pe>
# Contributor: André Silva <emulatorman@hyperbola.info>
-# Maintainer (Arch):
+# Contributor: bill-auger <bill-auger@programmer.net>
+
+
# parabola changes and rationale:
# - Added armv7h and i686 support
-# - Removed nonfree parts
+# - Removed non-free parts
+
pkgname=netpbm
-pkgver=10.73.42
-pkgrel=2
+pkgver=10.86.41
+pkgrel=1
pkgrel+=.parabola1
-pkgdesc="A toolkit for manipulation of graphic images"
-pkgdesc+=", without nonfree parts"
-arch=('x86_64')
-arch+=('i686' 'armv7h')
-license=('custom' 'BSD' 'GPL' 'LGPL')
+pkgdesc='A toolkit for manipulation of graphic images'
+arch=(x86_64)
+arch+=(armv7h i686)
+#license=(Artistic-1.0 GPL-2.0-only LGPL-2.0.only MIT) # TODO: SPDX
+license=('custom' 'custom:BSD3' 'GPL' 'LGPL')
url="http://netpbm.sourceforge.net/"
-depends=('perl' 'libpng' 'libtiff' 'libxml2')
-makedepends=('jbigkit' 'subversion')
-options=('!makeflags')
+depends=(bash
+ gcc-libs
+ glibc
+ jbigkit
+ libjpeg-turbo
+ libpng
+ libtiff
+ libxml2
+ perl
+ zlib)
+options=(!makeflags)
# Get docs with: wget --recursive --relative -nH http://netpbm.sourceforge.net/doc/
source=(https://downloads.sourceforge.net/project/netpbm/super_stable/$pkgver/netpbm-$pkgver.tgz
https://sources.archlinux.org/other/packages/netpbm/netpbm-doc-31Jan2014.tar.xz{,.sig}
- netpbm-CAN-2005-2471.patch netpbm-security-code.patch netpbm-security-scripts.patch
- reproducible-man-gzip.patch use-source-date-epoch.patch)
-sha256sums=('f1ddaa753d189aa7760a75265b6f7ab96eeedac3e2493ef57227824d058d528c'
+ netpbm-CAN-2005-2471.patch
+ netpbm-security-code.patch
+ netpbm-security-scripts.patch
+ reproducible-man-gzip.patch)
+sha256sums=('045f7796224a801512efb5e7d6150a321674cbfb566128b21abf8d4ba65b4513'
'74bcf840ee643c6917330c382484010cb99c004a3fcf05391bebcac63815acb3'
'SKIP'
- '991aba7897e0710687369b4e2edfba1397ecd77d62578eac496afbc47b5ca970'
- '343a72eb67edb338bc593d823ced770a0fe44c4c1fa4f4ac1934b84da4431579'
- '2c397588d9cba2c40dee55c07713d5e77e0e04245db939fdc1962d7de4cf4a33'
- '8e3efdb4fcbfdc8e9a5c8e9663c7d6b9ecef3a2379ce38d2acc5669c339f6814'
- '68055341833f482c6910a56c2fdfe046978a1a92fd8442a2a9209c82ce3e4d13')
+ '7348274b72b8285add042d0f45d124c9833206ee3440bd1846cfc792b9b4d5e5'
+ '698645215d46bcee515d75847fc550ce99c5fcb6fae63dacdba1d773f327c80e'
+ '5ee27b4187577cbb9e85f6b36c5e5a421e03927f9195f888be7be2b647a5ac9d'
+ 'b0be94fbfbf247552c5cc3f1cdd93e2d549f59c3d218350ccc1bea44e9bebc9b')
validpgpkeys=('5357F3B111688D88C1D88119FCF2CB179205AC90')
-remove_program() {
+
+# parabola mksource over-rides
+_N_MKSOURCES=3 # number of upstream sources to be isolated for mksource
+mksource=( ${source[*]:0:${_N_MKSOURCES}} )
+mksha256sums=( ${sha256sums[*]:0:${_N_MKSOURCES}} )
+mkvalidpgpkeys=( ${validpgpkeys[*]} )
+mksource+=(nonfree-licenses-docs.patch)
+mksha256sums+=(5ee57bba37dca542df9abea1061d8d343a1ba299038f0e01888210acc08d4779)
+source=(https://repo.parabola.nu/other/${pkgname}-libre/${pkgname}-${pkgver}-parabola.tar.gz{,.sig}
+ ${source[*]:${_N_MKSOURCES}})
+sha256sums=(a75a8530140f0d6b59b2902cef23d388192bd278eb391fbc2cee265fef816917
+ SKIP
+ ${sha256sums[*]:${_N_MKSOURCES}})
+validpgpkeys=(3954A7AB837D0EA9CFA9798925DB7D9B5A8D4B40) # bill-auger
+
+
+_UNLICENSED_FILES=( converter/ppm/ppmtogif.c
+ other/pamchannel.c
+ converter/other/pamtopnm.c
+ converter/pbm/pbmto4425.c
+ converter/pbm/pbmtoln03.c
+ converter/pbm/pbmtolps.c
+ converter/pbm/pbmtopk.c
+ converter/pbm/pktopbm.c
+ converter/ppm/ppmtopjxl.c
+ converter/pgm/spottopgm.c)
+
+
+mksource() {
+ remove_program() {
file="$1"
progname="$(basename ${file} | sed 's/\.c$//')"
rm -v "${file}"
sed -i "s/${progname}//g" "$(dirname ${file})/Makefile"
sed -i "s/${progname}\.1//g" buildtools/manpage.mk
-}
+ }
-prepare() {
- cd $pkgname-$pkgver
- patch -p1 < ../netpbm-CAN-2005-2471.patch
- patch -p1 < ../netpbm-security-code.patch
- patch -p1 < ../netpbm-security-scripts.patch
- patch -p1 < ../reproducible-man-gzip.patch
- patch -p1 < ../use-source-date-epoch.patch
- # sed -i 's|#!/usr/bin/python|#!/usr/bin/python2|' buildtools/makeman
- # sed -i 's|@python|@python2|' buildtools/manpage.mk
-
- cp config.mk.in config.mk
- [ "${CARCH}" = 'x86_64' ] && echo 'CFLAGS_SHLIB = -fPIC' >> config.mk
- [ "${CARCH}" = 'armv7h' ] && echo 'CFLAGS_SHLIB = -fPIC' >> config.mk
- echo "NETPBM_DOCURL = file://${srcdir}/doc" >> config.mk
- echo 'TIFFLIB = libtiff.so' >> config.mk
- echo 'JPEGLIB = libjpeg.so' >> config.mk
- echo 'PNGLIB = libpng.so' >> config.mk
- echo 'ZLIB = libz.so' >> config.mk
- echo 'JBIGLIB = /usr/lib/libjbig.a' >> config.mk
-
- sed -i 's|misc|share/netpbm|' common.mk
- sed -i 's|/link|/lib|' lib/Makefile
- sed -i 's|install.manwebmain install.manweb install.man|install.man|' GNUmakefile
+ cd $pkgname-$pkgver
# Remove the converter/ppm/hpcdtoppm directory:
# - hpcdtoppm: as hpcdtoppm is not even redistributable, this hpcdtoppm only
- # prints a message to steer users toward downloading "the real hpcdtoppm"
- # which is nonfree
- # - pcdovtoppm: no license information
- rm -rv converter/ppm/hpcdtoppm
- sed '/\.\/converter\/ppm\/hpcdtoppm \\/d' -i GNUmakefile
+ # prints a message to download "the real hpcdtoppm" (non-free)
+ # - pcdovtoppm: no licensing information
+ rm -rfv converter/ppm/hpcdtoppm
+ sed '/\.\/converter\/ppm\/hpcdtoppm\/ \\/d' -i GNUmakefile
sed 's/hpcdtoppm//g' -i converter/ppm/Makefile
- # Removing programs without license information
- remove_program converter/other/pamtopnm.c
- remove_program converter/pbm/pbmto4425.c
- remove_program converter/pbm/pbmtoln03.c
- remove_program converter/pbm/pbmtolps.c
- remove_program converter/pbm/pbmtopk.c
- remove_program converter/pbm/pktopbm.c
- remove_program converter/pgm/spottopgm.c
- remove_program converter/ppm/ppmtogif.c
- remove_program converter/ppm/ppmtopjxl.c
- remove_program other/pamchannel.c
+ # Remove programs without licensing information
+ for f in ${_UNLICENSED_FILES[*]} ; do remove_program $f ; done ;
# Tests have no license information
rm -v -rf test/
+
# Remove test from "SUPPORT_SUBDIRS = urt icon buildtools test"
awk '{
if ($1 != "SUPPORT_SUBDIRS") {
@@ -106,9 +117,44 @@ prepare() {
sed -i '/pnmtopnm/d' netpbm.c
- #Removing references about nonfree licenses part
- sed -i '338,383d' doc/copyright_summary
+ # Remove references about non-free licensed parts
+ echo "applying nonfree-licenses-docs.patch"
+ patch -p0 < ../nonfree-licenses-docs.patch
+ unset remove_program
+}
+
+
+prepare() {
+ # delete patches which would apply to deleted files
+ _UNLICENSED_FILES+=(converter/ppm/hpcdtoppm)
+ local files="($(sed 's|/|\\/|g ; s|\.|\\.|g' <<<${_UNLICENSED_FILES[*]} | tr ' ' '|'))"
+ local awk_script="( \$1 !~ /^a\/$files/ ) { print \"diff --git \"\$0 }"
+ awk -i inplace -v INPLACE_SUFFIX=.orig "$awk_script" RS='diff --git ' FS='\n' *.patch
+
+
+ # arch patching ##
+
+ cd $pkgname-$pkgver
+
+ patch -p1 < ../netpbm-CAN-2005-2471.patch
+ patch -p1 < ../netpbm-security-code.patch
+ patch -p1 < ../netpbm-security-scripts.patch
+ patch -p1 < ../reproducible-man-gzip.patch
+
+ cp config.mk.in config.mk
+ [ "${CARCH}" = 'x86_64' ] && echo 'CFLAGS_SHLIB = -fPIC' >> config.mk
+ [ "${CARCH}" = 'armv7h' ] && echo 'CFLAGS_SHLIB = -fPIC' >> config.mk
+ echo "NETPBM_DOCURL = file://${srcdir}/doc" >> config.mk
+ echo 'TIFFLIB = libtiff.so' >> config.mk
+ echo 'JPEGLIB = libjpeg.so' >> config.mk
+ echo 'PNGLIB = libpng.so' >> config.mk
+ echo 'ZLIB = libz.so' >> config.mk
+ echo 'JBIGLIB = /usr/lib/libjbig.a' >> config.mk
+
+ sed -i 's|misc|share/netpbm|' common.mk
+ sed -e 's|/sharedlink|/lib|' -e 's|/staticlink|/lib|' -i lib/Makefile
+ sed -i 's|install.manwebmain install.manweb install.man|install.man|' GNUmakefile
}
build() {
@@ -124,16 +170,16 @@ package() {
cd $pkgname-$pkgver
make pkgdir="${pkgdir}/usr" PKGMANDIR=share/man install-run install-dev
-# Removing dummy man pages
- rm "${pkgdir}"/usr/share/man/man{1,3,5}/*
-
- # make MAKEMAN="${srcdir}/$pkgname-$pkgver/buildtools/makeman" MANDIR="${pkgdir}/usr/share/man" \
- # -C ../doc -f "${srcdir}/$pkgname-$pkgver/buildtools/manpage.mk" installman
-
# Replace obsolete utility
echo -e '#!/bin/sh\npamditherbw $@ | pamtopnm\n' > "${pkgdir}/usr/bin/pgmtopbm"
# Licensing. Note that each program in the package has a separate license.
install -D -m644 "${srcdir}/$pkgname-$pkgver/doc/copyright_summary" \
"${pkgdir}/usr/share/licenses/${pkgname}/copyright_summary.txt"
+
+
+ ## parabola changes ##
+
+ # Remove symlinks to deleted programs
+ rm -v "${pkgdir}"/usr/bin/pnmtopnm
}
diff --git a/libre/netpbm/keys/pgp/5357F3B111688D88C1D88119FCF2CB179205AC90.asc b/libre/netpbm/keys/pgp/5357F3B111688D88C1D88119FCF2CB179205AC90.asc
new file mode 100644
index 000000000..6a31d17a7
--- /dev/null
+++ b/libre/netpbm/keys/pgp/5357F3B111688D88C1D88119FCF2CB179205AC90.asc
@@ -0,0 +1,30 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQENBE2uPGoBCADRwwKRvWByYVE0603LkklzYjpCtfSQRWASQnozo9ZcUMxNXr8x
+zKxzLZKIh6eTCNpizI0e3WNSN/+rDcen9dJiycPKodWTNRjfCgwW5pr92pwXjHIh
+uKGwXrGN4iV0J7E9mLroxjKcSSqMZV7BEK3TGWdSW1dh7D09MexUUfSlKKKVmgY3
+CWhMLYolVVrLIczIvkRi4bRDAQi57nqQvgk//NTjmfZnA/XaxM57bXj/gCKvcRE7
+jPruwANyZ5Vjo/IbEm83J/WJx035KfiXFBYGBVLK9KaqD8UCUClJ7N+niIARikP+
+GxFWY4sTRdtW7yDQ8nAhpQxBBWIaaqB+b8B3ABEBAAG0IkVyaWMgQmVsYW5nZXIg
+PGVyaWNAYXJjaGxpbnV4Lm9yZz6JAU8EEwECACIFAk2uPGoCGwMGCwkIBwMCBhUI
+AgkKCwQWAgMBAh4BAheAACEJEPzyyxeSBayQFiEEU1fzsRFojYjB2IEZ/PLLF5IF
+rJCiSggAolQwd1dvgNVlysaYOT6g8CZO1I5eLxdTyKbyw/ww3e9wtkGW0XcgoNxq
+ZO9cuuyjPAn6hIn3nug2qPVmBfhbO/PMvS+617e66104JmxBhH4hqU2c4CfRJmt9
+0WRHbt3Zsy/0MSQStS/Lda5IFwunpLjwAIvn2L5IPtfAg6s5O5qyhpapm0w++bTS
+1aHjZRZMVdAXm2yVixZ98NQ9S6o7+VrgipYR/oxb1X88yABJXrHF9ca16QQXXDfz
+niR0sv/00/PtVgXZ7fr7jeyrTk96F4+DcRTFFwXASChd3jwHZ7TjBhPBB+gNBwmR
+BihNCnrGf26+8TNB/hAXDDaxcwjzHLkBDQRNrjxqAQgA0XBT84b+ttT/6R/Lt2q1
+uFSb2+CwVkrjyI1DQVg0ATjUKyjgypvi78X3fWfpPX8InnBdd6d8uBrpzr0Jlzto
+7MMp+VaKH1D7hSQPRVn1u00P1Wo7LQigsYgFoMsfR2N/PK6j6EZm9Epsnawz85ic
+Y2qsvXokTtz3tsmeZq8bUc5BNq6fl9rawK2ZPRlZ69xjR564nm2qfN48vqknJIsh
+g5oEAIl20MdbXECju8LYh1PfsB6XPQNMpTRrasJnDhB/20xnflL1X6vf2MYI0VCP
+vGZxoQxqoLUM5MMqzkzW//9M7+eio4WIaYXJzYjQv/ZRFkTGgnZIOSTPaEfhhnLi
+jwARAQABiQE2BBgBAgAJBQJNrjxqAhsMACEJEPzyyxeSBayQFiEEU1fzsRFojYjB
+2IEZ/PLLF5IFrJA2Wwf6Am4E5AvHXSRsRmjwLjptaDp67WerwKwnqzezyxaGj2c5
+mCarysywJa6G7CEgMqIWu9ADSnkKh8Qg+fzdrhuqPONshjDWZJwNlkoIxILvgkxl
+RcQ9BGEi0CWzF2Zk8kxZnXIUVV4XW94JXXJvoW0aWp1bj8iFztf1tMvrk1YXo5Rd
+TiDucTjU27zW0aIjDIr1/r11mO5TfZGc8Kw1TCEWmT6GmJBWI/8vwCxpsvoXKtPV
+xoFwlwBLSVW7gAACvoUbBVycmXW8+j1fczzh+Wn1Y01lxsgGmPwoYjzp8wFm2OCh
+LFcXnCero1/fOThZH15G+l7DuA4hn+yB5A2w38URiQ==
+=NtCF
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/libre/netpbm/netpbm-CAN-2005-2471.patch b/libre/netpbm/netpbm-CAN-2005-2471.patch
index e4e93735b..f7f2ae4ef 100644
--- a/libre/netpbm/netpbm-CAN-2005-2471.patch
+++ b/libre/netpbm/netpbm-CAN-2005-2471.patch
@@ -1,9 +1,9 @@
--- netpbm-10.29/converter/other/pstopnm.c.CAN-2005-2471 2005-08-15 02:39:46.000000000 +0200
+++ netpbm-10.29/converter/other/pstopnm.c 2005-08-16 15:38:15.000000000 +0200
-@@ -818,11 +818,11 @@
+@@ -896,11 +896,11 @@
ghostscriptProg, arg0,
deviceopt, outfileopt, gopt, ropt, textalphabitsopt,
- "-q", "-dNOPAUSE",
+ "-q", "-dNOPAUSE",
- "-dSAFER", "-");
+ "-dPARANOIDSAFER", "-");
}
@@ -11,6 +11,6 @@
execl(ghostscriptProg, arg0, deviceopt, outfileopt, gopt, ropt,
- textalphabitsopt, "-q", "-dNOPAUSE", "-dSAFER", "-", NULL);
+ textalphabitsopt, "-q", "-dNOPAUSE", "-dPARANOIDSAFER", "-", NULL);
-
+
pm_error("execl() of Ghostscript ('%s') failed, errno=%d (%s)",
ghostscriptProg, errno, strerror(errno));
diff --git a/libre/netpbm/netpbm-security-code.patch b/libre/netpbm/netpbm-security-code.patch
index 9e2e259f5..b3b92d4bd 100644
--- a/libre/netpbm/netpbm-security-code.patch
+++ b/libre/netpbm/netpbm-security-code.patch
@@ -32,13 +32,13 @@ index aac7479..5f1a51a 100644
--- a/converter/other/gemtopnm.c
+++ b/converter/other/gemtopnm.c
@@ -106,6 +106,7 @@ main(argc, argv)
-
- pnm_writepnminit( stdout, cols, rows, MAXVAL, type, 0 );
+ else
+ type = PPM_TYPE;
+ overflow_add(cols, padright);
- {
- /* allocate input row data structure */
- int plane;
+ pnm_writepnminit( stdout, cols, rows, MAXVAL, type, 0 );
+
+ {
diff --git a/converter/other/jpegtopnm.c b/converter/other/jpegtopnm.c
index ab3b18e..c324b86 100644
--- a/converter/other/jpegtopnm.c
@@ -318,21 +318,21 @@ index 2f8a42b..1c8d236 100644
--- a/converter/pbm/pbmtoppa/pbm.c
+++ b/converter/pbm/pbmtoppa/pbm.c
@@ -106,6 +106,7 @@ int pbm_readline(pbm_stat* pbm,unsigned char* data)
- return 0;
-
- case P4:
-+ overflow_add(pbm->width, 7);
- tmp=(pbm->width+7)/8;
- tmp2=fread(data,1,tmp,pbm->fptr);
- if(tmp2 == tmp)
-@@ -130,6 +131,7 @@ void pbm_unreadline (pbm_stat *pbm, void *data)
- return;
-
- pbm->unread = 1;
-+ overflow_add(pbm->width, 7);
- pbm->revdata = malloc ((pbm->width+7)/8);
- memcpy (pbm->revdata, data, (pbm->width+7)/8);
- pbm->current_line--;
+ break;
+ case P4: {
+ int tmp, tmp2;
++ overflow_add(pbmStatP->width, 7);
+ tmp = (pbmStatP->width+7)/8;
+ tmp2 = fread(data,1,tmp,pbmStatP->fptr);
+ if (tmp2 == tmp) {
+@@ -185,6 +186,7 @@ void pbm_unreadline (pbm_stat *pbm, void *data)
+
+ if (!pbmStatP->unread) {
+ pbmStatP->unread = 1;
++ overflow_add(pbmStatP->width, 7);
+ pbmStatP->revdata = malloc ((pbmStatP->width+7)/8);
+ memcpy(pbmStatP->revdata, data, (pbmStatP->width+7)/8);
+ --pbmStatP->current_line;
diff --git a/converter/pbm/pbmtoppa/pbmtoppa.c b/converter/pbm/pbmtoppa/pbmtoppa.c
index f43c08a..98e0284 100644
--- a/converter/pbm/pbmtoppa/pbmtoppa.c
@@ -491,7 +491,7 @@ index 662be0b..2a86efc 100644
@@ -1355,6 +1373,9 @@ dcol_to_ppm(FILE * const ifP,
if( redmaxval != maxval || greenmaxval != maxval || bluemaxval != maxval )
pm_message("scaling colors to %d bits", pm_maxvaltobits(maxval));
-
+
+ overflow_add(redmaxval, 1);
+ overflow_add(greenmaxval, 1);
+ overflow_add(bluemaxval, 1);
@@ -500,14 +500,14 @@ index 662be0b..2a86efc 100644
MALLOCARRAY_NOFAIL(bluetable, bluemaxval +1);
@@ -1784,7 +1805,9 @@ PCHG_ConvertSmall(PCHG, cmap, mask, datasize)
ChangeCount32 = *data++;
- datasize -= 2;
+ remDataSize -= 2;
+ overflow_add(ChangeCount16, ChangeCount32);
changes = ChangeCount16 + ChangeCount32;
+ overflow_add(changes, 1);
- for( i = 0; i < changes; i++ ) {
- if( totalchanges >= PCHG->TotalChanges ) goto fail;
- if( datasize < 2 ) goto fail;
+ for (i = 0; i < changes; ++i) {
+ if (totalchanges >= pchgP->TotalChanges) goto fail;
+ if (remDataSize < 2) goto fail;
@@ -2049,6 +2072,9 @@ read_pchg(FILE * const ifP,
cmap->mp_change[i] = NULL;
if( PCHG.StartLine < 0 ) {
@@ -579,51 +579,37 @@ diff --git a/converter/ppm/pjtoppm.c b/converter/ppm/pjtoppm.c
index 7b694fb..62ce77e 100644
--- a/converter/ppm/pjtoppm.c
+++ b/converter/ppm/pjtoppm.c
-@@ -127,20 +127,22 @@ main(argc, argv)
+@@ -127,11 +127,15 @@ main(argc, argv)
case 'V': /* send plane */
case 'W': /* send last plane */
- if (rows == -1 || r >= rows || image == NULL) {
-- if (rows == -1 || r >= rows)
-+ if (rows == -1 || r >= rows) {
-+ overflow_add(rows, 100);
- rows += 100;
+ if (row >= rowsX || image == NULL) {
+- if (row >= rowsX)
++ if (row >= rowsX) {
++ overflow_add(rowsX, 100);
+ rowsX += 100;
+ }
+
if (image == NULL) {
-- MALLOCARRAY(image, rows * planes);
-- MALLOCARRAY(imlen, rows * planes);
+- MALLOCARRAY(image, uintProduct(rowsX, planes));
+- MALLOCARRAY(imlen, uintProduct(rowsX, planes));
+ image = (unsigned char **)
-+ malloc3(rows , planes , sizeof(unsigned char *));
-+ imlen = (int *) malloc3(rows , planes, sizeof(int));
- }
- else {
-- image = (unsigned char **)
-- realloc(image,
-- rows * planes *
-- sizeof(unsigned char *));
-- imlen = (int *)
-- realloc(imlen, rows * planes * sizeof(int));
-- }
-+ overflow2(rows,planes);
-+ image = (unsigned char **)
-+ realloc2(image, rows * planes,
-+ sizeof(unsigned char *));
-+ imlen = (int *) realloc2(imlen, rows * planes, sizeof(int)); }
- }
- if (image == NULL || imlen == NULL)
- pm_error("out of memory");
++ malloc3(rowsX , planes , sizeof(unsigned char *));
++ imlen = (int *) malloc3(rowsX , planes, sizeof(int));
+ } else {
+ REALLOCARRAY(image, uintProduct(rowsX, planes));
+ REALLOCARRAY(imlen, uintProduct(rowsX, planes));
@@ -212,8 +214,10 @@ main(argc, argv)
- for (i = 0, c = 0; c < imlen[p + r * planes]; c += 2)
- for (cmd = image[p + r * planes][c],
- val = image[p + r * planes][c+1];
-- cmd >= 0 && i < newcols; cmd--, i++)
+ col += 2)
+ for (cmd = image[plane + row * planes][col],
+ val = image[plane + row * planes][col+1];
+- cmd >= 0 && i < newcols; cmd--, i++)
+ cmd >= 0 && i < newcols; cmd--, i++) {
buf[i] = val;
+ overflow_add(i, 1);
+ }
- cols = cols > i ? cols : i;
- free(image[p + r * planes]);
- /*
+ cols = MAX(cols, i);
+ free(image[plane + row * planes]);
+ /*
@@ -224,6 +228,7 @@ main(argc, argv)
image[p + r * planes] = (unsigned char *) realloc(buf, i);
}
@@ -831,9 +817,9 @@ index 6ba4cb4..fc6a498 100644
--- a/converter/ppm/sldtoppm.c
+++ b/converter/ppm/sldtoppm.c
@@ -464,6 +464,8 @@ slider(slvecfn slvec,
-
+
/* Allocate image buffer and clear it to black. */
-
+
+ overflow_add(ixdots, 1);
+ overflow_add(iydots, 1);
pixels = ppm_allocarray(pixcols = ixdots + 1, pixrows = iydots + 1);
@@ -869,13 +855,13 @@ index f49c8d9..580e5e0 100644
--- a/editor/pbmreduce.c
+++ b/editor/pbmreduce.c
@@ -94,6 +94,7 @@ main( argc, argv )
- if (halftone == QT_FS) {
- unsigned int col;
- /* Initialize Floyd-Steinberg. */
+
+ unsigned int col;
+
+ overflow_add(newcols, 2);
- MALLOCARRAY(thiserr, newcols + 2);
- MALLOCARRAY(nexterr, newcols + 2);
- if (thiserr == NULL || nexterr == NULL)
+ MALLOCARRAY(fsP->thiserr, newcols + 2);
+ MALLOCARRAY(fsP->nexterr, newcols + 2);
+
diff --git a/editor/pnmgamma.c b/editor/pnmgamma.c
index b357b0d..ec612d3 100644
--- a/editor/pnmgamma.c
@@ -939,12 +925,12 @@ index b2448cb..b924120 100644
MALLOCARRAY(fserrP->thiserr, pamP->depth);
@@ -465,6 +466,7 @@ floydInitRow(struct pam * const pamP, struct fserr * const fserrP) {
- int col;
-
+ unsigned int col;
+
+ overflow_add(pamP->width, 2);
for (col = 0; col < pamP->width + 2; ++col) {
unsigned int plane;
- for (plane = 0; plane < pamP->depth; ++plane)
+ for (plane = 0; plane < pamP->depth; ++plane)
diff --git a/editor/pnmscalefixed.c b/editor/pnmscalefixed.c
index 884ca31..747cd8f 100644
--- a/editor/pnmscalefixed.c
@@ -1004,42 +990,6 @@ index 6cb8d3a..6f4bde9 100644
MALLOCARRAY(hist, inpam.maxval + 1);
if (hist == NULL)
pm_error("Unable to allocate memory for histogram.");
-diff --git a/generator/pbmtext.c b/generator/pbmtext.c
-index 9f4366d..445d718 100644
---- a/generator/pbmtext.c
-+++ b/generator/pbmtext.c
-@@ -96,12 +96,14 @@ parseCommandLine(int argc, const char ** argv,
-
- for (i = 1; i < argc; ++i) {
- if (i > 1) {
-+ overflow_add(totaltextsize, 1);
- totaltextsize += 1;
- text = realloc(text, totaltextsize);
- if (text == NULL)
- pm_error("out of memory allocating space for input text");
- strcat(text, " ");
-- }
-+ }
-+ overflow_add(totaltextsize, strlen(argv[i]));
- totaltextsize += strlen(argv[i]);
- text = realloc(text, totaltextsize);
- if (text == NULL)
-@@ -712,6 +714,7 @@ getText(const char cmdline_text[],
- pm_error("A line of input text is longer than %u characters."
- "Cannot process.", (unsigned)sizeof(buf)-1);
- if (lineCount >= maxlines) {
-+ overflow2(maxlines, 2);
- maxlines *= 2;
- REALLOCARRAY(text_array, maxlines);
- if (text_array == NULL)
-@@ -832,6 +835,7 @@ main(int argc, const char *argv[]) {
- hmargin = fontP->maxwidth;
- } else {
- vmargin = fontP->maxheight;
-+ overflow2(2, fontP->maxwidth);
- hmargin = 2 * fontP->maxwidth;
- }
- }
diff --git a/lib/libpam.c b/lib/libpam.c
index cc6368e..4e10572 100644
--- a/lib/libpam.c
@@ -1049,13 +999,13 @@ index cc6368e..4e10572 100644
tuple * tuplerow;
- tuplerow = malloc(pamP->width * (sizeof(tuple *) + bytesPerTuple));
--
+-
+ overflow_add(sizeof(tuple *), bytesPerTuple);
+ tuplerow = malloc2(pamP->width, (sizeof(tuple *) + bytesPerTuple));
+
if (tuplerow != NULL) {
/* Now we initialize the pointers to the individual tuples
- to make this a regulation C two dimensional array.
+ to make this a regulation C two dimensional array.
diff --git a/lib/libpammap.c b/lib/libpammap.c
index 55e1d3f..04b1ba3 100644
--- a/lib/libpammap.c
@@ -1143,7 +1093,7 @@ index e9f1405..da54391 100644
+void __overflow2(int, int);
+void overflow3(int, int, int);
+void overflow_add(int, int);
-+
++void *realloc2(void*, int, int);
#endif
diff --git a/other/pnmcolormap.c b/other/pnmcolormap.c
diff --git a/libre/netpbm/netpbm-security-scripts.patch b/libre/netpbm/netpbm-security-scripts.patch
index 0dfe84f43..66fd14bea 100644
--- a/libre/netpbm/netpbm-security-scripts.patch
+++ b/libre/netpbm/netpbm-security-scripts.patch
@@ -2,18 +2,6 @@ diff --git a/converter/other/anytopnm b/converter/other/anytopnm
index acf8813..335312a 100755
--- a/converter/other/anytopnm
+++ b/converter/other/anytopnm
-@@ -511,10 +511,7 @@ else
- inputFile="-"
- fi
-
--tempdir="${TMPDIR-/tmp}/anytopnm.$$"
--mkdir -m 0700 $tempdir || \
-- { echo "Could not create temporary file. Exiting."; exit 1;}
--trap 'rm -rf $tempdir' 0
-+tempdir=$(mktemp -d -t anytopnm.XXXXXXXXXX) || exit 1
-
- # Take out all spaces
- # Find the filename extension for last-ditch efforts later
@@ -537,12 +534,17 @@ typeDescription=`file "$file" | cut -d: -f2- | cut -c2-`
determineType "$file" "$mimeType" "$typeDescription" "$fileExtension"
@@ -35,38 +23,10 @@ index acf8813..335312a 100755
+fi
+
exit 0
-diff --git a/editor/pamstretch-gen b/editor/pamstretch-gen
-index ba0e818..250fca0 100755
---- a/editor/pamstretch-gen
-+++ b/editor/pamstretch-gen
-@@ -31,9 +31,7 @@ if [ "$1" = "" ]; then
- exit 1
- fi
-
--tempdir="${TMPDIR-/tmp}/pamstretch-gen.$$"
--mkdir -m 0700 $tempdir || \
-- { echo "Could not create temporary file. Exiting."; exit 1;}
-+tempfile=$(mktemp /tmp/pnmig.XXXXXXXXXX) || exit 1
- trap 'rm -rf $tempdir' 0 1 3 15
-
- tempfile=$tempdir/pnmig
diff --git a/editor/pnmmargin b/editor/pnmmargin
index 0f57d1d..e0d3625 100755
--- a/editor/pnmmargin
+++ b/editor/pnmmargin
-@@ -11,11 +11,7 @@
- # documentation. This software is provided "as is" without express or
- # implied warranty.
-
--tempdir="${TMPDIR-/tmp}/pnmmargin.$$"
--mkdir -m 0700 $tempdir || \
-- { echo "Could not create temporary file. Exiting." 1>&2; exit 1;}
--trap 'rm -rf $tempdir' 0 1 3 15
--
-+tempdir=$(mktemp -d -t ppmmargin.XXXXXXX) || exit 1
- tmp1=$tempdir/pnmm1
- tmp2=$tempdir/pnmm2
- tmp3=$tempdir/pnmm3
@@ -90,6 +86,7 @@ else
-white | -black )
pnmpad $plainopt $color \
@@ -348,22 +308,5 @@ index 027fc79..8eb094f 100755
+system("rm $tmpdir/junk*$$.ppm");
exit(0);
-diff --git a/editor/ppmshadow b/editor/ppmshadow
-index 62cdf8b..72e1b22 100755
---- a/editor/ppmshadow
-+++ b/editor/ppmshadow
-@@ -97,9 +97,10 @@ sub makeConvolutionKernel($$) {
-
-
- my $tmpdir = $ENV{TMPDIR} || "/tmp";
--my $ourtmp = "$tmpdir/ppmshadow$$";
--mkdir($ourtmp, 0777) or
-- die("Unable to create directory for temporary files '$ourtmp");
-+my $ourtmp; chomp($ourtmp = `mktemp -d -t PPMshadow.XXXXXX`);
-+if ($? >> 8) {
-+ die "Can't create directory for temporary files";
-+}
-
- # Process command line options
diff --git a/libre/netpbm/nonfree-licenses-docs.patch b/libre/netpbm/nonfree-licenses-docs.patch
new file mode 100644
index 000000000..2ccaaab25
--- /dev/null
+++ b/libre/netpbm/nonfree-licenses-docs.patch
@@ -0,0 +1,51 @@
+--- doc/copyright_summary 2024-04-13 16:55:26.577301602 -0400
++++ doc/copyright_summary 2024-04-13 16:55:26.580634935 -0400
+@@ -335,48 +335,3 @@
+ yuvsplittoppm: (A) 1993 Marcel Wijkstra <wijkstra@fwi.uva.nl>
+ yuvtoppm: (A) 1987-1991 Jef Poskanzer, Abekas Video Systems Inc., DHD PostImage Inc.
+ zeisstopnm: (A) 1993 Oliver Trepte <oliver@fysik4.kth.se>
+-
+-==============================================================================
+-NON-FREE:
+-
+-The following programs have restrictions on their use or source:
+-
+-hpcdtoppm package:
+-==================
+-hpcdtoppm pcdindex
+-
+-* Copyright (c) 1992, 1993, 1994 by Hadmut Danisch (danisch@ira.uka.de).
+-* Permission to use and distribute this software and its
+-* documentation for noncommercial use and without fee is hereby granted,
+-* provided that the above copyright notice appear in all copies and that
+-* both that copyright notice and this permission notice appear in
+-* supporting documentation. It is not allowed to sell this software in
+-* any way. This software is not public domain.
+-
+-Note that Hpcdtoppm and Pcdindex are not distributed in the main Netpbm
+-package on Sourceforge, as Sourceforge does not offer distribution services
+-for software licensed in this way. These programs are distributed in the
+-supplemental Netpbm package on Ibiblio.
+-
+-filter to create GIFs - patent restricted. (http://www.unisys.com/unisys/lzw/)
+-ppmtogif: (A) 1989 Jef Poskanzer
+-
+-The Unisys patent, at least in the US, expired in 2003.
+-
+-=============================================================================
+-UNKNOWN, SO NOT DISTRIBUTED:
+-
+-The following programs are in the upstream source package, but do not
+-have sufficient copyright and license information to be redistributed:
+-
+-pamchannel: No copyright / license text found
+-pamtopnm: No copyright / license text found
+-pbmto4425: No copyright / license text found
+-pbmtoln03: No copyright / license text found
+-pbmtolps: No copyright / license text found
+-pbmtopk: No copyright / license text found
+-pktopbm: No copyright / license text found
+-ppmtopjxl: No copyright / license text found
+-spottopgm: No copyright / license text found
+-
+-
diff --git a/libre/netpbm/reproducible-man-gzip.patch b/libre/netpbm/reproducible-man-gzip.patch
index f6f4f0df7..ec06eaf1f 100644
--- a/libre/netpbm/reproducible-man-gzip.patch
+++ b/libre/netpbm/reproducible-man-gzip.patch
@@ -2,15 +2,15 @@ diff -aur netpbm-10.73.31.old/buildtools/manpage.mk netpbm-10.73.31/buildtools/m
--- netpbm-10.73.31.old/buildtools/manpage.mk 2020-05-28 18:41:20.400790506 +0200
+++ netpbm-10.73.31/buildtools/manpage.mk 2020-05-28 18:50:50.444143414 +0200
@@ -388,9 +388,9 @@
- # This will install the generated man pages
- installman:
+ .PHONY : installman
+ installman: report
set -x
-- for f in netpbm.1 $(MAN1); do if [ -f $$f ]; then gzip <$$f >$(MANDIR)/man1/$$f.gz; fi; done
-- for f in $(MAN3); do if [ -f $$f ]; then gzip <$$f >$(MANDIR)/man3/$$f.gz; fi; done
-- for f in $(MAN5); do if [ -f $$f ]; then gzip <$$f >$(MANDIR)/man5/$$f.gz; fi; done
-+ for f in netpbm.1 $(MAN1); do if [ -f $$f ]; then gzip -n <$$f >$(MANDIR)/man1/$$f.gz; fi; done
-+ for f in $(MAN3); do if [ -f $$f ]; then gzip -n <$$f >$(MANDIR)/man3/$$f.gz; fi; done
-+ for f in $(MAN5); do if [ -f $$f ]; then gzip -n <$$f >$(MANDIR)/man5/$$f.gz; fi; done
+- for f in $(wildcard $(MAN1)); do if [ -f $$f ]; then gzip <$$f >$(MANDIR)/man1/$$f.gz; fi; done
+- for f in $(wildcard $(MAN3)); do if [ -f $$f ]; then gzip <$$f >$(MANDIR)/man3/$$f.gz; fi; done
+- for f in $(wildcard $(MAN5)); do if [ -f $$f ]; then gzip <$$f >$(MANDIR)/man5/$$f.gz; fi; done
++ for f in $(wildcard $(MAN1)); do if [ -f $$f ]; then gzip -n <$$f >$(MANDIR)/man1/$$f.gz; fi; done
++ for f in $(wildcard $(MAN3)); do if [ -f $$f ]; then gzip -n <$$f >$(MANDIR)/man3/$$f.gz; fi; done
++ for f in $(wildcard $(MAN5)); do if [ -f $$f ]; then gzip -n <$$f >$(MANDIR)/man5/$$f.gz; fi; done
- # This will uninstall them
- uninstallman:
+
+ # This will uninstall the man pages.
diff --git a/libre/netpbm/use-source-date-epoch.patch b/libre/netpbm/use-source-date-epoch.patch
deleted file mode 100644
index 496935fe6..000000000
--- a/libre/netpbm/use-source-date-epoch.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-Only in netpbm-10.73.31/buildtools/: depend.mk
-diff -aur netpbm-10.73.31.old/buildtools/stamp-date netpbm-10.73.31/buildtools/stamp-date
---- netpbm-10.73.31.old/buildtools/stamp-date 2020-05-30 17:34:29.833395465 +0200
-+++ netpbm-10.73.31/buildtools/stamp-date 2020-05-30 17:48:52.910091897 +0200
-@@ -9,7 +9,7 @@
- # documentation. This software is provided "as is" without express or
- # implied warranty.
- #
--DATE=$(date)
-+DATE="$(date --date="@${SOURCE_DATE_EPOCH:-$(date +%s)}")"
- LOGNAME_OR_UNKNOWN=${LOGNAME:-UNKNOWN}
- USER=${USER:-$LOGNAME_OR_UNKNOWN}
- if [ "$USER" = "UNKNOWN" ]; then
diff --git a/libre/pacman/1001-arch-MR152.patch b/libre/pacman/1001-arch-MR152.patch
new file mode 100644
index 000000000..bccfc4b55
--- /dev/null
+++ b/libre/pacman/1001-arch-MR152.patch
@@ -0,0 +1,86 @@
+From 9d99e9c77573560c4f833e7bf4974ac7bb588244 Mon Sep 17 00:00:00 2001
+From: Demi Obenour <demi@invisiblethingslab.com>
+Date: Sun, 17 Mar 2024 16:05:55 +0000
+Subject: [PATCH 1/2] Fetch signature and database from the same URL
+
+Previously, the for loops on lines 1035 and 1037 would advance to the
+next element in the server list, even if downloading the URL succeeded.
+If there are no more servers in the list, `s` would be NULL, causing
+a NULL pointer dereference on line 1046. If there were servers left
+in the list, the signature would be downloaded from a wrong URL.
+
+
+1. Fetching of database signatures is enabled.
+2. There is only one enabled remote repository URL, or fetching from
+ all but the last one fails and fetching from the last one succeeds.
+3. An XferCommand is used.
+
+Qubes OS Arch templates satisfy all of these conditions and trigger the bug.
+---
+ lib/libalpm/dload.c | 9 +++++++--
+ 1 file changed, 7 insertions(+), 2 deletions(-)
+
+diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c
+index 106390a01..8f6b9e4ea 100644
+--- a/lib/libalpm/dload.c
++++ b/lib/libalpm/dload.c
+@@ -1032,13 +1032,18 @@ int _alpm_download(alpm_handle_t *handle,
+ }
+ }
+ } else {
+- for(s = payload->cache_servers; s && ret == -1; s = s->next) {
++ for(s = payload->cache_servers; s; s = s->next) {
+ ret = payload_download_fetchcb(payload, s->data, localpath);
++ if (ret != -1)
++ goto download_signature;
+ }
+- for(s = payload->servers; s && ret == -1; s = s->next) {
++ for(s = payload->servers; s; s = s->next) {
+ ret = payload_download_fetchcb(payload, s->data, localpath);
++ if (ret != -1)
++ goto download_signature;
+ }
+
++download_signature:
+ if (ret != -1 && payload->download_signature) {
+ /* Download signature if requested */
+ char *sig_fileurl;
+--
+GitLab
+
+
+From 43c9365cfe3bc95f0fb1227fd8a75fe420b2ab52 Mon Sep 17 00:00:00 2001
+From: Demi Obenour <demi@invisiblethingslab.com>
+Date: Mon, 18 Mar 2024 04:57:26 +0000
+Subject: [PATCH 2/2] Use braces around goto statements
+
+No functional change.
+---
+ lib/libalpm/dload.c | 6 ++++--
+ 1 file changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/lib/libalpm/dload.c b/lib/libalpm/dload.c
+index 8f6b9e4ea..f2fa1a543 100644
+--- a/lib/libalpm/dload.c
++++ b/lib/libalpm/dload.c
+@@ -1034,13 +1034,15 @@ int _alpm_download(alpm_handle_t *handle,
+ } else {
+ for(s = payload->cache_servers; s; s = s->next) {
+ ret = payload_download_fetchcb(payload, s->data, localpath);
+- if (ret != -1)
++ if (ret != -1) {
+ goto download_signature;
++ }
+ }
+ for(s = payload->servers; s; s = s->next) {
+ ret = payload_download_fetchcb(payload, s->data, localpath);
+- if (ret != -1)
++ if (ret != -1) {
+ goto download_signature;
++ }
+ }
+
+ download_signature:
+--
+GitLab
+
diff --git a/libre/pacman/PKGBUILD b/libre/pacman/PKGBUILD
index 6f3bbd303..662737c80 100644
--- a/libre/pacman/PKGBUILD
+++ b/libre/pacman/PKGBUILD
@@ -18,31 +18,34 @@
# require openssl=1.1 during openssl v3 migration
# also openssl=1.0 for neglected/legacy systems
# TODO: relax after some grace period (~2024)
-# 2022-12-18: arch already dropped openssl-1.0
-# it is now in libre - we could maybe drop it after the grace period
+# 2022-12-18: arch already dropped openssl-1.0
+# it is now in libre - we could maybe drop it after the grace period
+
# archlinuxarm changes and rationale:
-# - arch/host/flags for arm, armv6h, armv7h, and aarch64
+# - arch/host/flags for armv7h, and aarch64
+# - pacman.conf: architecture=armv7h/aarch64, added our aur and alarm repos
+# - makepkg.conf: adjusted C/CXX/LDFLAGS
# - patch to sync filesystem after install/remove
# - reverts to allow scriplet input on stdin
# - patch to fix application/gzip change in file 5.37
pkgname=pacman
-pkgver=6.0.2
-pkgrel=8
-pkgrel+=.parabola1
+pkgver=6.1.0
+pkgrel=3
+pkgrel+=.parabola2
pkgdesc="A library-based package manager with dependency support"
arch=('x86_64')
arch+=('armv7h' 'i686')
url="https://www.archlinux.org/pacman/"
+#license=('GPL-2.0-or-later') # TODO:
license=('GPL')
-groups=('base-devel')
depends=('bash' 'glibc' 'libarchive' 'curl' 'gpgme' 'pacman-mirrorlist'
'gettext' 'gawk' 'coreutils' 'gnupg' 'grep')
_upstream_keyring=$(case ${CARCH} in armv7h) echo 'archlinuxarm-keyring' ;; \
i686 ) echo 'archlinux32-keyring' ;; esac)
depends+=('archlinux-keyring' 'parabola-keyring' ${_upstream_keyring})
-depends+=('openssl>=3' 'openssl-1.0' 'openssl-1.1') # ease migration to openssl v3
+depends+=('openssl>=3' 'openssl-1.0' 'openssl-1.1') # BR #3372 ease migration to openssl v3
makedepends=('meson' 'asciidoc' 'doxygen')
checkdepends=('python' 'fakechroot')
optdepends=('perl-locale-gettext: translation support in makepkg-template')
@@ -53,116 +56,163 @@ options=('strip')
options+=('debug')
validpgpkeys=('6645B0A8C7005E78DB1D7864F99FFE0FEAE999BD' # Allan McRae <allan@archlinux.org>
'B8151B117037781095514CA7BBDFFC92306B1121') # Andrew Gregory (pacman) <andrew@archlinux.org>
-source=(https://sources.archlinux.org/other/pacman/$pkgname-$pkgver.tar.xz{,.sig}
- pacman-always-create-directories-from-debugedit.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/efd0c24c07b86be014a4edb5a8ece021b87e3900.patch
- pacman-always-create-directories-from-debugedit-fixup.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/86981383a2f4380bda26311831be94cdc743649b.patch
- pacman-fix-unique-source-paths.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/478af273dfe24ded197ec54ae977ddc3719d74a0.patch
- pacman-strip-include-o-files-similar-to-kernel-modules.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/de11824527ec4e2561e161ac40a5714ec943543c.patch
- pacman-fix-compatibility-with-bash-5.2-patsub_replacement.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/0e938f188692c710be36f9dd9ea7b94381aed1b4.patch
- pacman-fix-order-of-fakechroot-fakeroot-nesting.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/05f283b5ad8f5b8f995076e93a27c8772076f872.patch
+source=(https://gitlab.archlinux.org/pacman/pacman/-/releases/v$pkgver/downloads/pacman-$pkgver.tar.xz{,.sig}
+ revertme-makepkg-remove-libdepends-and-libprovides.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/354a300cd26bb1c7e6551473596be5ecced921de.patch
+ "$pkgname-fix-msg-unknown-key.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/6bb95c8856437513ee0ab19226bc090d6fd0fb06.patch"
+ "$pkgname-man-gitlab.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/95f148c2222db608a0d72d5c5577d0c71e7fa199.patch"
+ "$pkgname-make-aligned-titles.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/5e0496260b7d3f9c9fcf2b1c4899e4dbcc20ff03.patch"
+ "$pkgname-repo-add-parseopts.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/0571ee82bff0edbd5ffac2228d4e6ac510b9008e.patch"
+ "$pkgname-drop-result-warn.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/111eed0251238a9d3f90e76d62f2ac01aeccce48.patch"
+ "$pkgname-fix-debugedit.patch::https://gitlab.archlinux.org/pacman/pacman/-/commit/bae9594ac1806ce30f2af1de27c49bb101a00d44.patch"
pacman.conf
makepkg.conf)
-source=( ${source[*]/makepkg.conf/makepkg.conf.in} ) # makepkg.conf.in
-source=( ${source[*]/pacman.conf/} $(printf "pacman.conf.%s\n" "${arch[@]}" | sort) ) # pacman.conf.{armv7h,i686,x86_64}
+source=( ${source[*]/pacman.conf/$(printf "pacman.conf.%s\n" ${arch[*]} | sort)} ) # pacman.conf.{armv7h,i686,x86_64}
+source=( ${source[*]/makepkg.conf/makepkg.conf.in} ) # makepkg.conf.in
source+=(dummy.conf
9001-makepkg-Treat-pkgrel-more-similarly-to-pkgver.patch
9002-pacman-key-updatedb.patch)
+source+=(1001-arch-MR152.patch) # parabola BR #3625
source_armv7h=(0001-Sychronize-filesystem.patch
0002-Revert-close-stdin-before-running-install-scripts.patch
0003-Revert-alpm_run_chroot-always-connect-parent2child-p.patch)
-sha256sums=('7d8e3e8c5121aec0965df71f59bedf46052c6cf14f96365c4411ec3de0a4c1a5'
+sha256sums=('5a60ac6e6bf995ba6140c7d038c34448df1f3daa4ae7141d2cad88eeb5f1f9d9'
'SKIP'
- '6fed94326b9ecfbb438ab17a4576b5e9d52ecc0f4574f29d46adfde3886dee03'
- 'd2bc104788290e3de829a232590b66ad745cf5b4762a01acc1191ebf70fef114'
- 'f3d4f39ef24e312f610cbb3439fb02bc6b8829e37bcf1a50ae50cd0a69bde5d0'
- 'd87d0c9957c613fda272553bee58140349d151ae399f346ddaf6d75ee5916312'
- '8641d514ef4cae9e4d1867aadf4b9c850a9e8dc9792c6c559f9d2a0e1713a5a1'
- 'b11f62d4bd9557e9d3e7456bc95f63e9eabab5ecee1368f4a14a84bc94b1c8d1'
- '0e87c4906efe4ac6e39b1a4c0243257092b4ed550e3cbe0739d0e52b8e87021f' # makepkg.conf.in
- '82a696bc3254b3fa2ab2666d239445e1a431b5e7d0152690f4265b82112cc86f' # pacman.conf.armv7h
- '8be3b33a28c74630b74d1997795424a1c0af82c26625a428ec139480fb1115a1' # pacman.conf.i686
- '5be276a68f7ec1d0497e26afba205a9feb14308b6fddc6cae3b32a0b6e9f9bbf') # pacman.conf.x86_64
-sha256sums+=('8fca32bf5ee85b67c93983d7e1c93734de5e715b3bb732f7e48b88da7844f94b'
+ 'b3bce9d662e189e8e49013b818f255d08494a57e13fc264625f852f087d3def2'
+ '94c987046c2ff232fa0d395cddc11644840d767806711e04ef34f876a9baf217'
+ '0774d7035e34661f74b673d4b0a94be877bdc0158a555b873ec6bd4e2c936377'
+ '7bb64910265ce2590f593cdfd302076e49f67a68f8cc792a9aaac572d36fc842'
+ '2bbfe40539513ff5775aaf900644c8985ef618f5df9af856b9d571e2501365b0'
+ '160515b741aadc876a67f213029f5f62a51ff072ea4aaeb687bbe614035bf72f'
+ '1f4e4cc54332e60c9da2bdabf9a80dc11db466535f1a0be298cbf654f0723721'
+ # pacman.conf over-ridden
+ # makepkg.conf over-ridden
+)
+sha256sums+=('82a696bc3254b3fa2ab2666d239445e1a431b5e7d0152690f4265b82112cc86f' # pacman.conf.armv7h
+ '8be3b33a28c74630b74d1997795424a1c0af82c26625a428ec139480fb1115a1' # pacman.conf.i686
+ '5be276a68f7ec1d0497e26afba205a9feb14308b6fddc6cae3b32a0b6e9f9bbf' # pacman.conf.x86_64
+ 'd8d68a71904d3e8015bf4454e1f2ae083c7b70624c5bb4b04331ee450d4285eb') # makepkg.conf.in
+sha256sums+=('8fca32bf5ee85b67c93983d7e1c93734de5e715b3bb732f7e48b88da7844f94b' # dummy.conf
'9ccc7ef5bd27a68d8788f10c6e5b36495c5d9038d4eb160f9ea4dc9901b622d8'
'39e4db3eed5dc522baffb7f853a7dbb7b417cc7a718599d768297adfbe99e263')
+sha256sums+=('19f9500e685ad1472b430b428c76549d5ae5da958e0c5e6e155cdd477a39e357')
sha256sums_armv7h=('8d70fb5094f58aad98b601bbc42be354c2014b9fe734a1ee0b1e14bb041cc9cc'
'0e771370da68c855bfb4eaad4c2ae137883a474886a049b934dac2e775574cb9'
'2f586f72c34150330389854575a21be1d3ef3637c4f94bec2e948c2717a5aecb')
prepare() {
- cd "${pkgname}-${pkgver}"
- # we backport way too often in pacman
- # lets at least make it more convenient
- local src
- for src in "${source[@]}"; do
- src="${src%%::*}"
- src="${src##*/}"
- [[ $src = *.patch ]] || continue
- msg2 "Applying patch $src..."
- patch -Np1 < "../$src"
- done
+ cd "$pkgname-$pkgver"
+
+ # handle patches
+ local -a patches
+ patches=($(printf '%s\n' "${source[@]}" | grep '.patch'))
+ patches=("${patches[@]%%::*}")
+ patches=("${patches[@]##*/}")
+
+ if (( ${#patches[@]} != 0 )); then
+ for patch in "${patches[@]}"; do
+ if [[ $patch =~ revertme-* ]]; then
+ msg2 "Reverting patch $patch..."
+ patch -RNp1 < "../$patch"
+ else
+ msg2 "Applying patch $patch..."
+ patch -Np1 < "../$patch"
+ fi
+ done
+ fi
## Parabola changes ##
# Generate the architecture-specific makepkg.conf files
- local carch chost cflags ldflags ltoflags dbgflags
+ local carch chost cflags cxxflags ldflags ltoflags rustflags dbgflags dbgrustflags
+ local options=() libdirs=()
for carch in ${arch[*]}
do case ${carch} in
aarch64)
chost='aarch64-unknown-linux-gnu'
cflags="-march=armv8-a \
-O2 -pipe -fstack-protector-strong -fno-plt -fexceptions \
- -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
- -fstack-clash-protection"
- ltoflags=''
- dbgflags='-fvar-tracking-assignments'
+ -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security \
+ -fstack-clash-protection \
+ -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"
+ cxxflags="\$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS"
+ ldflags='-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'
+ ltoflags=""
+ rustflags=""
+ dbgflags='-g -fvar-tracking-assignments'
+ dbgrustflags=""
+ options=(strip docs !libtool !staticlibs emptydirs zipman purge debug !lto)
+ libdirs=('lib:usr/lib')
;;
armv7h)
chost='armv7l-unknown-linux-gnueabihf'
cflags="-march=armv7-a -mfloat-abi=hard -mfpu=neon \
-O2 -pipe -fstack-protector-strong -fno-plt -fexceptions \
- -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
- -fstack-clash-protection"
- ltoflags=''
- dbgflags='-fvar-tracking-assignments'
+ -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security \
+ -fstack-clash-protection \
+ -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"
+ cxxflags="\$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS"
+ ldflags='-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'
+ ltoflags=""
+ rustflags=""
+ dbgflags='-g -fvar-tracking-assignments'
+ dbgrustflags=""
+ options=(strip docs !libtool !staticlibs emptydirs zipman purge debug !lto)
+ libdirs=('lib:usr/lib')
;;
i686)
chost='i686-pc-linux-gnu'
cflags="-march=i686 -mtune=generic -O2 -pipe -fno-plt -fexceptions \
-Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
-fstack-clash-protection -fcf-protection"
+ cxxflags="\$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS"
+ ldflags='-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'
ltoflags="-flto=auto"
- dbgflags=''
+ rustflags=""
+ dbgflags='-g'
+ #dbgrustflags=
+ options=(strip docs !libtool !staticlibs emptydirs zipman purge !debug !lto)
+ #libdirs=()
;;
x86_64)
chost='x86_64-pc-linux-gnu'
cflags="-march=x86-64 -mtune=generic -O2 -pipe -fno-plt -fexceptions \
- -Wp,-D_FORTIFY_SOURCE=2 -Wformat -Werror=format-security \
- -fstack-clash-protection -fcf-protection"
+ -Wp,-D_FORTIFY_SOURCE=3 -Wformat -Werror=format-security \
+ -fstack-clash-protection -fcf-protection \
+ -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer"
+ cxxflags="\$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS"
+ ldflags="-Wl,-O1 -Wl,--sort-common -Wl,--as-needed -Wl,-z,relro -Wl,-z,now \
+ -Wl,-z,pack-relative-relocs"
ltoflags="-flto=auto"
- dbgflags=''
+ rustflags="-Cforce-frame-pointers=yes"
+ dbgflags="-g"
+ dbgrustflags="-C debuginfo=2"
+ options=(strip docs !libtool !staticlibs emptydirs zipman purge debug lto)
+ libdirs=('lib:usr/lib' 'lib32:usr/lib32')
;;
esac
- ldflags='-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now'
- # configure the per-arch default makepkg.conf files
sed < "${srcdir}"/makepkg.conf.in > "${srcdir}"/makepkg.conf.${carch} \
- -e "s|@CARCH[@]|${carch}|g" \
- -e "s|@CHOST[@]|${chost}|g" \
- -e "s|@CFLAGS[@]|${cflags}|g" \
- -e "s|@LDFLAGS[@]|${ldflags}|g" \
- -e "s|@LTOFLAGS[@]|${ltoflags}|g" \
- -e "s|@DBGFLAGS[@]|${dbgflags}|g"
+ -e "s|@CARCH@|${carch}|g" \
+ -e "s|@CHOST@|${chost}|g" \
+ -e "s|@CFLAGS@|${cflags}|g" \
+ -e "s|@CXXFLAGS@|${cxxflags}|g" \
+ -e "s|@LDFLAGS@|${ldflags}|g" \
+ -e "s|@LTOFLAGS@|${ltoflags}|g" \
+ -e "s|@RUSTFLAGS@|${rustflags}|g" \
+ -e "s|@DBGFLAGS@|${dbgflags}|g" \
+ -e "s|@DBGRUSTFLAGS@|${dbgrustflags}|g" \
+ -e "s|@OPTIONS@|${options[*]}|g" \
+ -e "s|@LIBDIRS@|${libdirs[*]}|g"
done
- # neutralize tests which require networking
+ # disable or neutralize tests which require networking
local net_check_url=https://repo.parabola.nu/check_network_status.txt
- local tests=() # eg: tests/sync-failover-404-with-body.py
- local sed_rx="s|/PKGBUILD|&$(printf "\\\n'%s': true," "${tests[@]}")|"
+ local fail_tests=() # eg: tests/sync-failover-404-with-body.py
+ local sed_rx="s|xfail_tests = {|&$(printf "\\\n '%s': true," "${fail_tests[@]}")|"
- if (( ${#tests[@]} ))
- then curl ${net_check_url} &> /dev/null || sed -i "${sed_rx}" test/pacman/meson.build
+ if (( ${#fail_tests[@]} )) && ! curl ${net_check_url} &> /dev/null
+ then sed -i "${sed_rx}" test/pacman/meson.build
fi
}
@@ -181,7 +231,7 @@ build() {
# terminate called after throwing an instance of 'ghc::filesystem::filesystem_error'
# what(): Value too large for defined data type: '/build/pacman/src'
# qemu: uncaught target signal 6 (Aborted) - core dumped
- [[ "${CARCH}" != armv7h ]] || meson configure -Ddoxygen=disabled build
+# [[ "${CARCH}" != armv7h ]] || meson configure -Ddoxygen=disabled build
meson compile -C build
}
@@ -205,6 +255,14 @@ package() {
install -m644 "$srcdir/pacman.conf" "$pkgdir/etc"
install -m644 "$srcdir/makepkg.conf" "$pkgdir/etc"
+ local wantsdir="$pkgdir/usr/lib/systemd/system/sockets.target.wants"
+ install -dm755 "$wantsdir"
+
+ local unit
+ for unit in dirmngr gpg-agent gpg-agent-{browser,extra,ssh} keyboxd; do
+ ln -s "../${unit}@.socket" "$wantsdir/${unit}@etc-pacman.d-gnupg.socket"
+ done
+
## install Parabola specific stuff ##
diff --git a/libre/pacman/makepkg.conf.in b/libre/pacman/makepkg.conf.in
index b3121548a..b1627974e 100644
--- a/libre/pacman/makepkg.conf.in
+++ b/libre/pacman/makepkg.conf.in
@@ -1,4 +1,6 @@
#!/hint/bash
+# shellcheck disable=2034
+
#
# /etc/makepkg.conf
#
@@ -39,17 +41,16 @@ CHOST="@CHOST@"
#-- Compiler and Linker Flags
#CPPFLAGS=""
CFLAGS="@CFLAGS@"
-CXXFLAGS="$CFLAGS -Wp,-D_GLIBCXX_ASSERTIONS"
+CXXFLAGS="@CXXFLAGS@"
LDFLAGS="@LDFLAGS@"
LTOFLAGS="@LTOFLAGS@"
-#RUSTFLAGS="-C opt-level=2"
+RUSTFLAGS="@RUSTFLAGS@"
#-- Make Flags: change this for DistCC/SMP systems
#MAKEFLAGS="-j2"
#-- Debugging flags
-DEBUG_CFLAGS="-g"
-DEBUG_CFLAGS+=" @DBGFLAGS@"
+DEBUG_CFLAGS="@DBGFLAGS@"
DEBUG_CXXFLAGS="$DEBUG_CFLAGS"
-#DEBUG_RUSTFLAGS="-C debuginfo=2"
+DEBUG_RUSTFLAGS="@DBGRUSTFLAGS@"
#########################################################################
# BUILD ENVIRONMENT
@@ -78,7 +79,7 @@ BUILDENV=(!distcc color !ccache check !sign)
# These are default values for the options=() settings
#########################################################################
#
-# Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto)
+# Makepkg defaults: OPTIONS=(!strip docs libtool staticlibs emptydirs !zipman !purge !debug !lto !autodeps)
# A negated option will do the opposite of the comments below.
#
#-- strip: Strip symbols from binaries/libraries
@@ -90,9 +91,9 @@ BUILDENV=(!distcc color !ccache check !sign)
#-- purge: Remove files specified by PURGE_TARGETS
#-- debug: Add debugging flags as specified in DEBUG_* variables
#-- lto: Add compile flags for building with link time optimization
+#-- autodeps: Automatically add depends/provides
#
-OPTIONS=(strip docs !libtool !staticlibs emptydirs zipman purge !debug !lto)
-OPTIONS=( ${OPTIONS[*]/\!debug/debug} ) # TODO: implement debuginfod?
+OPTIONS=(@OPTIONS@)
#-- File integrity checks to use. Valid: md5, sha1, sha224, sha256, sha384, sha512, b2
INTEGRITY_CHECK=(sha256)
@@ -110,6 +111,8 @@ DOC_DIRS=(usr/{,local/}{,share/}{doc,gtk-doc} opt/*/{doc,gtk-doc})
PURGE_TARGETS=(usr/{,share}/info/dir .packlist *.pod)
#-- Directory to store source code in for debug packages
DBGSRCDIR="/usr/src/debug"
+#-- Prefix and directories for library autodeps
+LIB_DIRS=(@LIBDIRS@)
#########################################################################
# PACKAGE OUTPUT
@@ -137,7 +140,7 @@ DBGSRCDIR="/usr/src/debug"
COMPRESSGZ=(gzip -c -f -n)
COMPRESSBZ2=(bzip2 -c -f)
COMPRESSXZ=(xz -c -z -)
-COMPRESSZST=(zstd -c -z -q -)
+COMPRESSZST=(zstd -c -T0 --ultra -20 -)
COMPRESSLRZ=(lrzip -q)
COMPRESSLZO=(lzop -q)
COMPRESSZ=(compress -c -f)
diff --git a/libre/parabola-keyring/PKGBUILD b/libre/parabola-keyring/PKGBUILD
index fd521f006..54ab91bf4 100644
--- a/libre/parabola-keyring/PKGBUILD
+++ b/libre/parabola-keyring/PKGBUILD
@@ -18,8 +18,8 @@
pkgname=parabola-keyring
-pkgver=20240226
-_gitrev=65997cbdcc54a7ee10bc0179f2692ca05968e67d
+pkgver=20240330
+_gitrev=d0712d0c691950ba35e587c9ed6b6a4b1771ef5f
pkgrel=1
pkgdesc="Parabola GNU/Linux-libre PGP keyring"
arch=(any)
diff --git a/libre/pyside6/PKGBUILD b/libre/pyside6/PKGBUILD
new file mode 100644
index 000000000..6ec03add6
--- /dev/null
+++ b/libre/pyside6/PKGBUILD
@@ -0,0 +1,168 @@
+# Maintainer (arch): Antonio Rojas <arojas@archlinux.org>
+# Maintainer (arch): Felix Yan <felixonmars@archlinux.org>
+# Maintainer: Parabola Hackers <dev@lists.parabola.nu>
+# Contributor: bill-auger <bill-auger@programmer.net>
+
+
+# parabola changes and rationale:
+# libre:
+# - remove 'qt6-webengine' dependency
+# technical:
+# - add support for armv7h and i686
+# - build from versioned source-ball rather than VCS
+
+
+pkgbase=pyside6
+pkgname=(pyside6
+ pyside6-tools
+ shiboken6)
+_qtver=6.7.0
+_clangver=17.0.6
+pkgver=${_qtver/-/}
+pkgrel=4
+_pkgver_i686=6.4.2
+_pkgrel_i686=5.0
+eval "[[ -v _pkgver_${CARCH} ]] && pkgver=\$_pkgver_${CARCH}" # our different arches do not
+eval "[[ -v _pkgrel_${CARCH} ]] && pkgrel=\$_pkgrel_${CARCH}" # always roll at the same speed
+arch=(x86_64)
+arch+=(armv7h i686)
+url='https://www.qt.io'
+license=(LGPL)
+makedepends=(clang
+ cmake
+ git
+ llvm
+ ninja
+ python-numpy
+ python-setuptools
+ qt6-3d
+ qt6-charts
+ qt6-connectivity
+ qt6-datavis3d
+ qt6-graphs
+ qt6-httpserver
+ qt6-location
+ qt6-multimedia
+ qt6-networkauth
+ qt6-positioning
+ qt6-quick3d
+ qt6-remoteobjects
+ qt6-scxml
+ qt6-sensors
+ qt6-serialbus
+ qt6-serialport
+ qt6-shadertools
+ qt6-speech
+ qt6-svg
+ qt6-tools
+ qt6-webchannel
+ qt6-webengine
+ qt6-websockets)
+makedepends=( ${makedepends[*]/git/} )
+makedepends=( ${makedepends[*]/qt6-webengine/} )
+_src_dir=pyside-setup-everywhere-src-$_qtver
+source=(https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-$pkgver-src/${_src_dir}.tar.xz
+ fix-build.patch)
+sha256sums=('82eae370737df5ecf539c165d09d7c81d5fc6153a541b8d3d37b11275f9e3e8f'
+ '77b83cb164ea87d826259864f6a81fb33199510e1948d6daaf5c8d5ab55735a7')
+
+prepare() {
+ ln -fs ${_src_dir} pyside-setup # link source-ball root dir as VCS root dirname
+
+ patch -d pyside-setup -p1 < fix-build.patch
+}
+
+build() {
+ cmake -B build -S pyside-setup -G Ninja \
+ -DCMAKE_INSTALL_PREFIX=/usr \
+ -DCMAKE_BUILD_TYPE=None \
+ -DSHIBOKEN_PYTHON_LIBRARIES=`pkgconf python3-embed --libs` \
+ -DBUILD_TESTS=OFF \
+ -DFORCE_LIMITED_API=no \
+ -DNO_QT_TOOLS=yes
+ PYTHONPATH="$PWD"/build/sources \
+ cmake --build build
+}
+
+package_shiboken6() {
+ pkgdesc='Generates bindings for C++ libraries using CPython source code'
+ depends=(clang=$_clangver
+ gcc-libs
+ glibc
+ libxml2
+ libxslt
+ llvm
+ python
+ qt6-base)
+ optdepends=('python: Python bindings')
+
+ DESTDIR="$pkgdir" cmake --install build/sources/shiboken6
+
+# Install egg-info
+ export PATH="/usr/lib/qt6/bin:$PATH"
+ cd pyside-setup
+ python setup.py egg_info --build-type=shiboken6
+ python setup.py egg_info --build-type=shiboken6-generator
+ _pythonpath=`python -c "from sysconfig import get_path; print(get_path('platlib'))"`
+ cp -r shiboken6*.egg-info "$pkgdir"/$_pythonpath
+}
+
+package_pyside6() {
+ pkgdesc='Enables the use of Qt6 APIs in Python applications'
+ depends=(gcc-libs
+ glibc
+ python
+ qt6-base
+ qt6-declarative
+ shiboken6)
+ optdepends=('qt6-3d: Qt3D bindings'
+ 'qt6-charts: QtCharts bindings'
+ 'qt6-connectivity: QtBluetooth and QtNfc bindings'
+ 'qt6-datavis3d: QtDataVisualization bindings'
+ 'qt6-graphs: QtGraphs bindings'
+ 'qt6-httpserver: QtHttpServer bindings'
+ 'qt6-location: QtLocation bindings'
+ 'qt6-multimedia: QtMultimedia bindings'
+ 'qt6-networkauth: QtNetworkAuth bindings'
+ 'qt6-positioning: QtPositioning bindings'
+ 'qt6-quick3d: QtQuick3D bindings'
+ 'qt6-remoteobjects: QtRemoteObjects bindings'
+ 'qt6-scxml: QtScxml bindings'
+ 'qt6-sensors: QtSensors bindings'
+ 'qt6-serialbus: QtSerialBus bindings'
+ 'qt6-serialport: QtSerialPort bindings'
+ 'qt6-speech: QtTextToSpeech bindings'
+ 'qt6-svg: QtSvg bindings'
+ 'qt6-tools: QtHelp, QtUiTools bindings'
+ 'qt6-webchannel: QtWebChannel bindings'
+ #'qt6-webengine: QtWebEngine bindings'
+ 'qt6-websockets: QtWebSockets bindings')
+ provides=(qt6-python-bindings)
+
+ DESTDIR="$pkgdir" cmake --install build/sources/pyside6
+
+# Install egg-info
+ export PATH="/usr/lib/qt6/bin:$PATH"
+ cd pyside-setup
+ python setup.py egg_info --build-type=pyside6
+ _pythonpath=`python -c "from sysconfig import get_path; print(get_path('platlib'))"`
+ cp -r PySide6.egg-info "$pkgdir"/$_pythonpath
+
+# Install pyi files
+ install -Dm644 "$srcdir"/build/sources/pyside6/PySide6/*.pyi -t "$pkgdir"/usr/lib/python*/site-packages/PySide6
+}
+
+package_pyside6-tools() {
+ pkgdesc='Tools for pyside6'
+ depends=(pyside6
+ python)
+ optdepends=('nuitka: for deploy.py')
+
+ DESTDIR="$pkgdir" cmake --install build/sources/pyside-tools
+
+# Add convenience pyside6-designer wrapper
+# Entry points in /usr/bin are not installed in the cmake build. This is the only one that does anything besides wrapping the Qt executable
+ echo "export LD_PRELOAD="`python -c "from sysconfig import get_config_var; print(get_config_var('LDLIBRARY'))"` > pyside6-designer
+ echo "exec designer6 \$@" >> pyside6-designer
+ install -Dm755 pyside6-designer -t "$pkgdir"/usr/bin
+}
diff --git a/libre/pyside6/fix-build.patch b/libre/pyside6/fix-build.patch
new file mode 100644
index 000000000..bb3f763ef
--- /dev/null
+++ b/libre/pyside6/fix-build.patch
@@ -0,0 +1,14 @@
+diff --git a/sources/pyside6/qtexampleicons/CMakeLists.txt b/sources/pyside6/qtexampleicons/CMakeLists.txt
+index 1562f7b27..58ecc7c17 100644
+--- a/sources/pyside6/qtexampleicons/CMakeLists.txt
++++ b/sources/pyside6/qtexampleicons/CMakeLists.txt
+@@ -32,6 +32,9 @@ elseif(CMAKE_BUILD_TYPE STREQUAL "Release")
+ target_compile_definitions(QtExampleIcons PRIVATE "-DNDEBUG")
+ endif()
+
++get_property(SHIBOKEN_PYTHON_LIBRARIES GLOBAL PROPERTY shiboken_python_libraries)
++get_property(SHIBOKEN_PYTHON_INCLUDE_DIRS GLOBAL PROPERTY shiboken_python_include_dirs)
++
+ target_include_directories(QtExampleIcons PRIVATE ${SHIBOKEN_PYTHON_INCLUDE_DIRS})
+
+ get_property(SHIBOKEN_PYTHON_LIBRARIES GLOBAL PROPERTY shiboken_python_libraries)
diff --git a/libre/tp_smapi-lts/PKGBUILD b/libre/tp_smapi-lts/PKGBUILD
index c426652eb..4f545af94 100644
--- a/libre/tp_smapi-lts/PKGBUILD
+++ b/libre/tp_smapi-lts/PKGBUILD
@@ -26,16 +26,19 @@
# linux-libre-headers <- acpi_call
# tp_smapi
#
+# NOTE: It is normally not necessary to edit any of these PKGBUILDs.
# These packages may be built as a batch, with the helper script:
# 'scripts/package-all-acpi_call-tp_smapi'
# Simply edit 'KERNEL_VER' and/or 'KERNEL_LTS_VER' in the helper script.
-# It will build only those which the PKGBUILD '_basekernel' differs,
+# It will build any or all of the above packages,
+# but only those for which the PKGBUILD '_basekernel' differs,
# update '_basekernel', and commit the changes to VCS, if successful.
-_basekernel=5.15.88
+_basekernel=6.6.14
-pkgname=tp_smapi
+pkgname=tp_smapi-lts
+_upstream_name=tp_smapi
pkgver=0.44
pkgrel=15
pkgrel+=.parabola1.basekernel${_basekernel}
@@ -46,12 +49,12 @@ arch+=('i686')
url='https://github.com/evgeni/tp_smapi'
license=(GPL)
makedepends=(linux-libre-lts-headers=${_basekernel})
-source=(${pkgname}-${pkgver}.tar.gz::https://github.com/linux-thinkpad/${pkgname}/archive/refs/tags/${pkgname/_/-}/${pkgver}.tar.gz)
+source=(${_upstream_name}-${pkgver}.tar.gz::https://github.com/linux-thinkpad/${_upstream_name}/archive/refs/tags/${_upstream_name/_/-}/${pkgver}.tar.gz)
sha256sums=('ccc317157c71df621ef92e0213c3a813de4a792fa1dce16a1784944edfcb9ea4')
build() {
- cd ${pkgname}-${pkgname/_/-}-${pkgver}
+ cd ${_upstream_name}-${_upstream_name/_/-}-${pkgver}
# https://bugs.archlinux.org/task/54975 (kernel has no _GLOBAL_OFFSET_TABLE_):
# Clear EXTRA_CFLAGS since it defaults to injecting CFLAGS and -fno-plt breaks the modules
@@ -63,7 +66,7 @@ package() {
depends=(linux-libre-lts=${_basekernel})
local extradir=/usr/lib/modules/$(</usr/src/linux-libre-lts/version)/extramodules
- cd ${pkgname}-${pkgname/_/-}-${pkgver}
+ cd ${_upstream_name}-${_upstream_name/_/-}-${pkgver}
find . -name "*.ko" -exec install -Dt "$pkgdir$extradir" {} +
find "$pkgdir" -name "*.ko" -exec strip --strip-debug {} +
diff --git a/libre/tp_smapi/PKGBUILD b/libre/tp_smapi/PKGBUILD
index fba40025c..173def259 100644
--- a/libre/tp_smapi/PKGBUILD
+++ b/libre/tp_smapi/PKGBUILD
@@ -26,14 +26,16 @@
# linux-libre-headers <- acpi_call
# tp_smapi
#
+# NOTE: It is normally not necessary to edit any of these PKGBUILDs.
# These packages may be built as a batch, with the helper script:
# 'scripts/package-all-acpi_call-tp_smapi'
# Simply edit 'KERNEL_VER' and/or 'KERNEL_LTS_VER' in the helper script.
-# It will build only those which the PKGBUILD '_basekernel' differs,
+# It will build any or all of the above packages,
+# but only those for which the PKGBUILD '_basekernel' differs,
# update '_basekernel', and commit the changes to VCS, if successful.
-_basekernel=6.5.8
+_basekernel=6.7.4
pkgname=tp_smapi
pkgver=0.44
diff --git a/libre/your-freedom/PKGBUILD b/libre/your-freedom/PKGBUILD
index 820819fa0..f6725c873 100644
--- a/libre/your-freedom/PKGBUILD
+++ b/libre/your-freedom/PKGBUILD
@@ -11,8 +11,8 @@
pkgname=your-freedom
-pkgver=20240325
-_srcver=42d6537d9100840b69a50e204f2310b188a881be
+pkgver=20240328
+_srcver=4b9246e1ef6bf0a2ab0b1f4709f70927161485a1
pkgrel=1
pkgdesc="This meta-package conflicts with every known non-free Arch package"
arch=(any)
@@ -25,7 +25,7 @@ install=${pkgname}.install
_srcname=${pkgname}-blacklist-${_srcver}.txt
source=(${_srcname}::https://git.parabola.nu/blacklist.git/plain/blacklist.txt?id=${_srcver})
-sha256sums=('b4d114d2c6c00b7c7ceb55a14d545ab5ff4059c232e4e282c7db36ebef540e89')
+sha256sums=('cbae71bcddc8959a12b75b2a0ea50a214b1f7b7537f0f439492ccea0918a40b2')
package()
diff --git a/nonprism/claws-mail/0001_move_OAuth2_to_last_place_in_auto_auth_selection.diff b/nonprism/claws-mail/0001_move_OAuth2_to_last_place_in_auto_auth_selection.diff
deleted file mode 100644
index 472536849..000000000
--- a/nonprism/claws-mail/0001_move_OAuth2_to_last_place_in_auto_auth_selection.diff
+++ /dev/null
@@ -1,43 +0,0 @@
-From: paul <paul@claws-mail.org>
-Date: Mon, 12 Jul 2021 09:08:33 +0000 (+0100)
-Subject: move OAuth2 to last place in auto auth selection
-X-Git-Url: http://git.claws-mail.org/?p=claws.git;a=commitdiff_plain;h=9c2585c58b49815a0eab8d683f0a94f75cbbe64e;hp=fae6b35be779b37270e76ef319128e3bb5251e51
-
-move OAuth2 to last place in auto auth selection
-
-IMAP: when using 'automatic' auth type, if the server offers LOGIN, GSSAPI or plaintext in addition to OAUTH2, yet OAUTH2 is unconfigured, authentication will fail. This broke previously working config
----
-
-diff --git a/src/imap.c b/src/imap.c
-index c486c471a..b72ceea76 100644
---- a/src/imap.c
-+++ b/src/imap.c
-@@ -951,14 +951,14 @@ static gint imap_auth(IMAPSession *session, const gchar *user, const gchar *pass
- ok = imap_cmd_login(session, user, pass, "SCRAM-SHA-1");
- if (ok == MAILIMAP_ERROR_LOGIN && imap_has_capability(session, "PLAIN"))
- ok = imap_cmd_login(session, user, pass, "PLAIN");
-- if (ok == MAILIMAP_ERROR_LOGIN && imap_has_capability(session, "XOAUTH2"))
-- ok = imap_cmd_login(session, user, pass, "XOAUTH2");
- if (ok == MAILIMAP_ERROR_LOGIN && imap_has_capability(session, "LOGIN"))
- ok = imap_cmd_login(session, user, pass, "LOGIN");
- if (ok == MAILIMAP_ERROR_LOGIN && imap_has_capability(session, "GSSAPI"))
- ok = imap_cmd_login(session, user, pass, "GSSAPI");
- if (ok == MAILIMAP_ERROR_LOGIN) /* we always try plaintext login before giving up */
- ok = imap_cmd_login(session, user, pass, "plaintext");
-+ if (ok == MAILIMAP_ERROR_LOGIN && imap_has_capability(session, "XOAUTH2"))
-+ ok = imap_cmd_login(session, user, pass, "XOAUTH2");
- }
-
- if (ok == MAILIMAP_NO_ERROR)
-@@ -994,6 +994,11 @@ static gint imap_auth(IMAPSession *session, const gchar *user, const gchar *pass
- "LOGIN SASL plugin is installed.");
- }
-
-+ if (type == IMAP_AUTH_OAUTH2) {
-+ ext_info = _("\n\nOAuth2 error. Check and correct your OAuth2 "
-+ "account preferences.");
-+ }
-+
- if (time(NULL) - last_login_err > 10) {
- if (!prefs_common.no_recv_err_panel) {
- alertpanel_error_log(_("Connection to %s failed: "
diff --git a/nonprism/claws-mail/0002_Fancy_crashes_when_opening_an_email.diff b/nonprism/claws-mail/0002_Fancy_crashes_when_opening_an_email.diff
deleted file mode 100644
index a12c86a70..000000000
--- a/nonprism/claws-mail/0002_Fancy_crashes_when_opening_an_email.diff
+++ /dev/null
@@ -1,23 +0,0 @@
-From: paul <paul@claws-mail.org>
-Date: Mon, 12 Jul 2021 09:20:21 +0000 (+0100)
-Subject: fix bug 4496 'Fancy crashes when opening an email'
-X-Git-Url: http://git.claws-mail.org/?p=claws.git;a=commitdiff_plain;h=f459d1c27426a10af90f8ef73aef78ec846ebffb;hp=9c2585c58b49815a0eab8d683f0a94f75cbbe64e
-
-fix bug 4496 'Fancy crashes when opening an email'
-
-Patch by Jonathan Boeing
----
-
-diff --git a/src/plugins/fancy/fancy_viewer.c b/src/plugins/fancy/fancy_viewer.c
-index 6ff5f1244..d57d33aa7 100644
---- a/src/plugins/fancy/fancy_viewer.c
-+++ b/src/plugins/fancy/fancy_viewer.c
-@@ -96,7 +96,7 @@ static void fancy_apply_prefs(FancyViewer *viewer)
- #endif
- NULL);
- if (fancy_prefs.stylesheet == NULL || strlen(fancy_prefs.stylesheet) == 0) {
-- gchar **msg_font_params = g_strsplit(prefs_common.textfont, " ", 0);
-+ gchar **msg_font_params = g_strsplit(prefs_common_get_prefs()->textfont, " ", 0);
- guint params_len = g_strv_length(msg_font_params);
-
- if (params_len > 0) {
diff --git a/nonprism/claws-mail/PKGBUILD b/nonprism/claws-mail/PKGBUILD
deleted file mode 100644
index 5e237b8f5..000000000
--- a/nonprism/claws-mail/PKGBUILD
+++ /dev/null
@@ -1,99 +0,0 @@
-# Maintainer (arch): Andreas Radke <andyrtr@archlinux.org>
-# Contributor: Andreas Grapentin <andreas@grapentin.org>
-# Contributor: Márcio Silva <coadde@hyperbola.info>
-# Contributor: bill-auger <bill-auger@programmer.net>
-
-
-# parabola changes and rationale:
-# - removed 'libgdata' support (--help) and optdepends
-# - FIXME: added 'webkit2gtk' dep; but the arch PKGBUILD does not require it
-
-
-pkgname=claws-mail
-pkgver=4.0.0
-pkgrel=3
-pkgrel+=.nonprism2
-pkgdesc="A GTK+ based e-mail client"
-pkgdesc+=", without libgdata support"
-arch=('x86_64')
-arch+=('armv7h' 'i686')
-license=('GPL3')
-url="https://www.claws-mail.org"
-depends=('gtk3' 'gnutls' 'startup-notification' 'enchant' 'gpgme'
- 'libetpan' 'compface' 'libsm' 'dbus-glib')
-makedepends=('spamassassin' 'bogofilter' 'networkmanager' 'valgrind'
- # dependencies for plugins
- 'libgdata' 'libnotify' 'libcanberra' 'poppler-glib' 'libytnef' 'libical'
- 'dillo' 'python' 'gumbo-parser'
- # deps to build the docs
- 'docbook-utils' 'texlive-formatsextra')
-makedepends=(${makedepends[@]/libgdata/})
-makedepends+=('webkit2gtk') # FIXME:
-optdepends=('python: needed for some tools'
- 'perl: needed for some tools and perl plugin'
- 'spamassassin: adds support for spamfiltering'
- 'bogofilter: adds support for spamfiltering'
- 'libnotify: for notification plugin'
- 'libcanberra: for notification plugin'
- 'dbus: for notification plugin'
- 'libxml2: for rssyl plugins'
- 'curl: for vcalendar, rssyl and spamreport plugins'
- 'libarchive: for archive plugin and various other plugins'
- 'libytnef: for tnef_parse plugin'
- 'poppler-glib: for pdf viewer plugin'
- 'ghostscript: for pdf viewer plugin'
- 'libical: for vcalendar plugin'
- 'dillo: for dillo html viewer plugin'
- 'webkit2gtk: for fancy webkit html viewer plugin'
- 'gumbo-parser: for litehtml plugin')
-provides=('claws')
-install=$pkgname.install
-source=(https://www.claws-mail.org/download.php?file=releases/claws-mail-$pkgver.tar.xz{,.asc}
- 0001_move_OAuth2_to_last_place_in_auto_auth_selection.diff
- 0002_Fancy_crashes_when_opening_an_email.diff
- bash_completion)
-sha256sums=('4af2bd26a5d91eacb2a9c09f67a6a46c2222b40817c1f525dc050bdc7b0ee475'
- 'SKIP'
- 'ffd5dfe8929a86667218512095a794263a2ae56fae4add83d3ad987f94e7f786'
- 'f56256a9535958063b966ab52abdf787422ff71ed2a5c41b3d9fea8716defe85'
- '3f6c248b8658cd7a62186bff572cce2525712a498f363cbbda1ed459021c28cb')
-validpgpkeys=('8B3B297A03468356692F8D592CD716D654D6BBD4') # Paul <paul@claws-mail.org>
-
-
-prepare() {
- cd "${pkgname}"-${pkgver}
- # upstream fixes
- patch -Np1 -i ../0001_move_OAuth2_to_last_place_in_auto_auth_selection.diff
- patch -Np1 -i ../0002_Fancy_crashes_when_opening_an_email.diff
-}
-
-build() {
- cd "${pkgname}"-${pkgver}
- ./configure --prefix=/usr --disable-static \
- --enable-enchant \
- --enable-gnutls \
- --enable-ldap \
- --enable-crash-dialog \
- --disable-gdata-plugin \
- --enable-pgpmime-plugin \
- --enable-spamassassin-plugin \
- --enable-bogofilter-plugin \
- --enable-fancy-plugin \
- --enable-manual
- sed -i -e 's/ -shared / -Wl,-O1,--as-needed\0/g' libtool
- make
-}
-
-package() {
- cd "${pkgname}"-${pkgver}
- make DESTDIR="${pkgdir}" install
-
- install -Dm 644 "$srcdir"/bash_completion "${pkgdir}"/usr/share/bash-completion/completions/claws-mail
-
- # install extra tools
- cd tools
- install -m755 -d "${pkgdir}"/usr/lib/claws-mail/tools
- for files in *.pl *.py *.sh *.conf tb2claws-mail update-po uudec uuooffice README; do
- cp -arv $files "${pkgdir}"/usr/lib/claws-mail/tools/
- done
-}
diff --git a/nonprism/claws-mail/bash_completion b/nonprism/claws-mail/bash_completion
deleted file mode 100644
index dcbcc8920..000000000
--- a/nonprism/claws-mail/bash_completion
+++ /dev/null
@@ -1,30 +0,0 @@
-# claws-mail(1) completion
-_claws-mail()
-{
- local cur prev words cword
- _init_completion || return
-
- case $prev in
- --help|-h|--version|-v|--version-full|-V)
- return
- ;;
- --alternate-config-dir)
- COMPREPLY=( $( find . -maxdepth 2 -name clawsrc | sed 's,/clawsrc,,' ) )
- return
- ;;
- --select|--status|--status-full)
- _filedir -d
- return
- ;;
- --compose-from-file|--attach)
- _filedir
- return
- ;;
- esac
-
- if [[ $cur == -* ]]; then
- COMPREPLY=( $( compgen -W '$( _parse_help "$1" )' -- "$cur" ) )
- return
- fi
-} &&
-complete -F _claws-mail claws-mail
diff --git a/nonprism/claws-mail/claws-mail.install b/nonprism/claws-mail/claws-mail.install
deleted file mode 100644
index ecdcf289d..000000000
--- a/nonprism/claws-mail/claws-mail.install
+++ /dev/null
@@ -1,10 +0,0 @@
-post_upgrade() {
- if [ "`vercmp $2 4.0.0`" -lt 0 ]; then
-
-cat << _EOF
- >>> If you are upgrading from the GTK+ 2 version to the GTK+ 3 version
- >>> of Claws Mail, you will need to reload any plugins that you want to use.
-_EOF
-
- fi
-}
diff --git a/nonsystemd/dhcpcd-openrc/PKGBUILD b/nonsystemd/dhcpcd-openrc/PKGBUILD
new file mode 100644
index 000000000..067626b2d
--- /dev/null
+++ b/nonsystemd/dhcpcd-openrc/PKGBUILD
@@ -0,0 +1,20 @@
+# Maintainer: David P. <megver83@parabola.nu>
+# Maintainer (Artix): artoo <artoo@artixlinux.org>
+
+pkgname=dhcpcd-openrc
+pkgver=20210505
+pkgrel=1
+pkgdesc="OpenRC dhcpcd init script"
+arch=('any')
+url="https://gitea.artixlinux.org/artixlinux/packages-openrc"
+license=('GPL2')
+groups=('openrc-system')
+provides=('init-dhcpcd')
+conflicts=('init-dhcpcd')
+source=("dhcpcd.initd")
+sha256sums=('b28359fa2d9ec1a8722e00dd31ed9553658626295ebb182e807390a1dbc4b79b')
+
+package() {
+ depends=('openrc' 'dhcpcd')
+ install -Dm755 "${srcdir}"/dhcpcd.initd "${pkgdir}"/etc/init.d/dhcpcd
+}
diff --git a/nonsystemd/dhcpcd-openrc/dhcpcd.initd b/nonsystemd/dhcpcd-openrc/dhcpcd.initd
new file mode 100644
index 000000000..3be2cd9f1
--- /dev/null
+++ b/nonsystemd/dhcpcd-openrc/dhcpcd.initd
@@ -0,0 +1,19 @@
+#!/usr/bin/openrc-run
+# Copyright 2007-2020 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+command=/usr/bin/dhcpcd
+#pidfile=/run/dhcpcd/pid
+supervisor="supervise-daemon"
+command_args_foreground="--nobackground"
+command_args=-q
+name="DHCP Client Daemon"
+
+depend()
+{
+ provide net
+ need localmount
+ use logger network
+ after bootmisc modules
+ before dns
+}
diff --git a/nonsystemd/elogind/PKGBUILD b/nonsystemd/elogind/PKGBUILD
index 23ce5657d..568b57669 100644
--- a/nonsystemd/elogind/PKGBUILD
+++ b/nonsystemd/elogind/PKGBUILD
@@ -1,10 +1,12 @@
# Maintainer: David P. <megver83@parabola.nu>
# Maintainer (artix): artoo <artoo@artixlinux.org>
+
# Parabola changes and rationale:
-# - provide 'systemd' and 'libsystemd'
+# - provide 'systemd', 'libsystemd', and 'libsystemd-standalone'
# - libelogind: symlinks to libsystemd libs
+
pkgbase=elogind
pkgname=('elogind' 'libelogind')
pkgver=252.9
@@ -36,6 +38,7 @@ build() {
-Dsbat-distro-summary='Parabola GNU/Linux-libre'
-Dsbat-distro-pkgname="${pkgname}"
-Dsbat-distro-version="${pkgver}"
+ -Dsbat-distro-url="https://www.parabola.nu/packages/nonsystemd/${CARCH}/${pkgname}/"
-Drootlibdir=/usr/lib
-Drootlibexecdir=/usr/lib/elogind
@@ -91,7 +94,8 @@ package_libelogind(){
provides=('libelogind.so' 'liblogind')
# libsystemd compatibility
- provides+=('libsystemd.so' "libsystemd=${pkgver}" "systemd-libs=${pkgver}")
+ provides+=('libsystemd.so' "libsystemd=${pkgver}"
+ "libsystemd-standalone=${pkgver}" "systemd-libs=${pkgver}")
conflicts+=('libsystemd.so' 'libsystemd' 'systemd-libs')
install -dm755 "${pkgdir}"/usr/{lib,share/man}
diff --git a/nonsystemd/libretools/0001-revert.patch b/nonsystemd/libretools/0001-revert.patch
new file mode 100644
index 000000000..8cb31eb63
--- /dev/null
+++ b/nonsystemd/libretools/0001-revert.patch
@@ -0,0 +1,30 @@
+From 42cca853176c9ff23a5d2896f9b132630f034fb7 Mon Sep 17 00:00:00 2001
+From: David P <megver83@parabola.nu>
+Date: Sat, 10 Jul 2021 18:33:14 -0400
+Subject: Revert "notify pbot after sccessful publish"
+
+This reverts commit dba8171b8b72790e84a86569ca9be58c324b3f5d.
+---
+ src/abslibre-tools/librerelease | 6 ------
+ 1 file changed, 6 deletions(-)
+
+diff --git a/src/abslibre-tools/librerelease b/src/abslibre-tools/librerelease
+index 8ebdc54..50d9162 100755
+--- a/src/abslibre-tools/librerelease
++++ b/src/abslibre-tools/librerelease
+@@ -296,12 +296,6 @@ release_packages() {
+ )
+ fi
+
+- # notify pbot of the excellent work we have done
+- local packages=${file_list} # TODO: parse package names? - this is gonna be messy
+- local login=${REPODEST_userinfo:-somebody} ; login=${login%%:*} ;
+- ssh ${REPODEST_port:+-p "$REPODEST_port"} "${REPODEST_userhost}" \
+- "which pbot-say && pbot-say ${login} just published: ${packages}"
+-
+ return $EXIT_SUCCESS
+ }
+
+--
+cgit v1.2.2
+
diff --git a/nonsystemd/libretools/PKGBUILD b/nonsystemd/libretools/PKGBUILD
index 9d21ad451..a8132f9d6 100644
--- a/nonsystemd/libretools/PKGBUILD
+++ b/nonsystemd/libretools/PKGBUILD
@@ -3,49 +3,66 @@
# Contributor: Joshua Ismael Haase Hernández (xihh) <hahj87@gmail.com>
# Contributor: fauno <fauno@kiwwwi.com.ar>
# Contributor: Márcio Silva <coadde@hyperbola.info>
+# Contributor: bill-auger <bill-auger@programmer.net>
+
pkgbase=libretools
pkgname=(libretools librelib gitget)
-pkgdesc="Programs for Parabola development"
-url="https://git.parabola.nu/packages/libretools.git/"
-license=('GPL3' 'GPL2')
-
pkgver=20190907
-source=(https://repo.parabola.nu/other/$pkgname/$pkgname-$pkgver-nonsystemd.tar.gz{,.sig}
- "revert.patch::https://git.parabola.nu/packages/libretools.git/patch/?id=42cca853176c9ff23a5d2896f9b132630f034fb7"
- 0002-libremakepkg-pacman_5_2.patch)
-sha256sums=('c9bdc6f422234b6b260349e488266500756857bbb65079783aa5e997b6a2d410'
- 'SKIP'
- '108aa8bbfb1ffe96427540cd8f7788338883b08ad038b2ed426e93ac6c57e91b'
- '8986adf14a81b979b2ff4c4e3e76483115c146782e4ba30640649299f98355df')
-validpgpkeys=('99195DD3BB6FE10A2F36ED8445698744D4FFBFC9' # Luke Shumaker
- '6DB9C4B4F0D8C0DC432CF6E4227CA7C556B2BA78') # David P.
-
+_pacman_constraints=( 'pacman<6.2' )
pkgrel=1
-pkgrel+=.nonsystemd2
-
+pkgrel+=.nonsystemd3
+pkgdesc="Programs for Parabola development"
arch=('any')
-makedepends=(ruby-ronn)
+url="https://git.parabola.nu/packages/libretools.git/"
+# license=(GPL-2.0-only GPL-3.0-or-later) # TODO:
+license=('GPL2' 'GPL3')
+
+makedepends=(ruby-ronn-ng)
checkdepends=(
- bash-bats git
- 'pacman>=5.1.1-1.parabola5' 'pacman<6.1'
+ bats
+ git
+ "${_pacman_constraints[@]}"
expac
openssh
rsync
tokyocabinet
)
+source=(https://repo.parabola.nu/other/$pkgname/$pkgname-$pkgver-nonsystemd.tar.gz{,.sig})
+source+=(0001-revert.patch
+ 0002-libremakepkg-pacman_5_2.patch)
+sha256sums=('c9bdc6f422234b6b260349e488266500756857bbb65079783aa5e997b6a2d410'
+ 'SKIP')
+sha256sums+=('108aa8bbfb1ffe96427540cd8f7788338883b08ad038b2ed426e93ac6c57e91b'
+ '8986adf14a81b979b2ff4c4e3e76483115c146782e4ba30640649299f98355df')
+validpgpkeys=('99195DD3BB6FE10A2F36ED8445698744D4FFBFC9' # Luke Shumaker
+ '6DB9C4B4F0D8C0DC432CF6E4227CA7C556B2BA78' # David P.
+ 'BFA8008A8265677063B11BF47171986E4B745536' # Andreas Grapentin
+ '3954A7AB837D0EA9CFA9798925DB7D9B5A8D4B40') # bill-auger
+
+
prepare() {
- cd "$srcdir/$pkgbase-$pkgver-nonsystemd"
+ cd "$srcdir"/$pkgbase-$pkgver-nonsystemd
patch -N -p1 -i $srcdir/revert.patch
patch -N -p1 -i $srcdir/0002-libremakepkg-pacman_5_2.patch
}
build() {
- cd "$srcdir/$pkgbase-$pkgver-nonsystemd"
+ cd "$srcdir"/$pkgbase-$pkgver-nonsystemd
+
make
}
+check() {
+ cd "$srcdir"/$pkgbase-$pkgver-nonsystemd
+
+ # <= 20240327
+ # SUDO_USER= make check TESTENVFLAGS='--no-network --no-sudo'
+ # >= 20240403
+ # SUDO_USER= make check BATS_FLAGS='--filter-tags !network,!sudo'
+}
+
package_librelib() {
pkgdesc="The shell library portion of libretools"
license=(GPL2)
@@ -55,7 +72,8 @@ package_librelib() {
'wget: for libreblacklist/blacklist.sh'
)
- cd "$srcdir/$pkgbase-$pkgver-nonsystemd"
+ cd "$srcdir"/$pkgbase-$pkgver-nonsystemd
+
make install-librelib DESTDIR="$pkgdir"
}
@@ -64,11 +82,8 @@ package_gitget() {
license=(GPL2)
depends=("librelib=$pkgver" git)
- provides=("libregit=$pkgver")
- conflicts=("libregit")
- replaces=("libregit")
+ cd "$srcdir"/$pkgbase-$pkgver-nonsystemd
- cd "$srcdir/$pkgbase-$pkgver-nonsystemd"
make install-gitget DESTDIR="$pkgdir"
}
@@ -78,29 +93,34 @@ package_libretools() {
etc/libretools.d/libredbdiff.conf
etc/libretools.d/librefetch.conf)
install=libretools.install
- conflicts=(devtools libretools-mips64el)
- replaces=(libretools-mips64el)
+ conflicts=(devtools)
depends=(
- "librelib=$pkgver"
- "gitget=$pkgver" # `createworkdir`
- 'pacman>=5.1.1-1.parabola5' 'pacman<6.1'
arch-install-scripts # `mkarchroot` uses `pacstrap`
- binutils # `libremakepkg` uses `makepkg` uses `strip`
+ binutils # `libremakepkg`->`makepkg` uses `strip`
expac # `libredbdiff`
- fakeroot # `libremakepkg` uses `makepkg` uses `fakeroot`
+ fakeroot # `libremakepkg`->`makepkg` uses `fakeroot`
make # `librefetch`
openssh # `librerelease`
+ pacutils # `librechroot` uses `pacsift`
rsync # `librerelease` and `makechrootpkg.sh`
tokyocabinet # `toru`
- #namcap # Namcap is currently dissabled in libremakepkg :-(
+ namcap # `libremakepkg`
subversion # `diff-unfree`
wget # `aur`, optdepend for librelib:`blacklist`
)
+ depends+=( # pinned dependencies
+ "librelib=$pkgver"
+ "gitget=$pkgver" # `createworkdir`
+ "${_pacman_constraints[@]}"
+ )
+ depends=( ${depends[*]/pacutils/} ) # WIP
+ depends=( ${depends[*]/namcap/} ) # FIXME: Namcap is currently disabled in libremakepkg :-(
optdepends=(
'qemu-user-static-binfmt: To build ARM packages from x86'
)
- cd "$srcdir/$pkgbase-$pkgver-nonsystemd"
+ cd "$srcdir"/$pkgbase-$pkgver-nonsystemd
+
make install-libretools DESTDIR="$pkgdir"
}
diff --git a/nonsystemd/networkmanager/0001-connectivity-Make-curl-timeout-callback-non-repeatin.patch b/nonsystemd/networkmanager/0001-connectivity-Make-curl-timeout-callback-non-repeatin.patch
deleted file mode 100644
index f3f547cd1..000000000
--- a/nonsystemd/networkmanager/0001-connectivity-Make-curl-timeout-callback-non-repeatin.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
-From: Tatsuyuki Ishi <ishitatsuyuki@gmail.com>
-Date: Fri, 13 Oct 2023 16:46:09 +0000
-Subject: [PATCH] connectivity: Make curl timeout callback non-repeating.
-
-The CURLMOPT_TIMERFUNCTION manual says:
- Your callback function timer_callback should install a *non-repeating*
- timer with an expire time of timeout_ms milliseconds.
-
-The previous callback returned G_SOURCE_CONTINUE, resulting in a repeating
-firing callback. curl tweaked some internals in v8.4.0 and started giving
-0 timeouts, which caused this to wreak havoc.
-
-Fix it by making the callback non-repeating as specified by the API contract.
----
- src/core/nm-connectivity.c | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/core/nm-connectivity.c b/src/core/nm-connectivity.c
-index 92de44f17d99..d8b0004c381f 100644
---- a/src/core/nm-connectivity.c
-+++ b/src/core/nm-connectivity.c
-@@ -406,9 +406,10 @@ _con_curl_timeout_cb(gpointer user_data)
- {
- NMConnectivityCheckHandle *cb_data = user_data;
-
-+ cb_data->concheck.curl_timer = 0;
- _con_curl_check_connectivity(cb_data->concheck.curl_mhandle, CURL_SOCKET_TIMEOUT, 0);
- _complete_queued(cb_data->self);
-- return G_SOURCE_CONTINUE;
-+ return G_SOURCE_REMOVE;
- }
-
- static int
diff --git a/nonsystemd/networkmanager/PKGBUILD b/nonsystemd/networkmanager/PKGBUILD
index e6b502c14..c34b8876d 100644
--- a/nonsystemd/networkmanager/PKGBUILD
+++ b/nonsystemd/networkmanager/PKGBUILD
@@ -1,38 +1,43 @@
# Maintainer: David P. <megver83@parabola.nu>
-# Maintainer (Artix): Nathan <ndowens@artixlinux.org>
+# Maintainer (Arch): Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Contributor (Arch): Jan de Groot <jgc@archlinxu.org>
# Contributor (Arch): Wael Nasreddine <gandalf@siemens-mobiles.org>
# Contributor (Arch): Tor Krill <tor@krill.nu>
# Contributor (Arch): Will Rea <sillywilly@gmail.com>
# Contributor (Arch): Valentine Sinitsyn <e_val@inbox.ru>
+# Parabola changes and raationale:
+# • Install python-packaging on build time
+# • Ping https://www.parabola.nu/static/nm-check.txt
+
pkgbase=networkmanager
pkgname=(
networkmanager
libnm
nm-cloud-setup
+ networkmanager-docs
)
-pkgver=1.44.2
-pkgrel=3
+pkgver=1.46.0
+pkgrel=2
pkgrel+=.nonsystemd1
pkgdesc="Network connection manager and user applications"
url="https://networkmanager.dev/"
arch=(x86_64)
arch+=(i686 armv7h)
-license=(GPL)
+license=(LGPL-2.1-or-later)
makedepends=(
audit
- bluez-libs
curl
dhclient
dhcpcd
dnsmasq
+ elogind
git
glib2-docs
gobject-introspection
gtk-doc
iproute2
- iptables-nft
+ iptables
iwd
jansson
libmm-glib
@@ -50,20 +55,20 @@ makedepends=(
polkit
ppp
python-gobject
- elogind
vala
vala
wpa_supplicant
)
+makedepends+=(python-packaging)
checkdepends=(
libx11
python-dbus
)
-_commit=8bee6ef894a27ffc8a464df3b32b03e811e1a15d # tags/1.44.2^0
-source=("git+https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git#commit=$_commit"
- 0001-connectivity-Make-curl-timeout-callback-non-repeatin.patch)
-b2sums=('SKIP'
- '51674577e4a2786b6491fdf90cc90734da3792e0a7e224f0eecc9c485a5f81b68a71bb559b23d294d52dc9065ee82c997c31f9272504c3d753e0ffe1321367e9')
+_commit=e39f48a30a2ef7b445276a859bbd5255e4c5071d # tags/1.46.0^0
+source=(
+ "git+https://gitlab.freedesktop.org/NetworkManager/NetworkManager.git#commit=$_commit"
+)
+b2sums=('SKIP')
pkgver() {
cd NetworkManager
@@ -72,12 +77,13 @@ pkgver() {
prepare() {
cd NetworkManager
- # https://gitlab.freedesktop.org/NetworkManager/NetworkManager/-/merge_requests/1756
- git apply -3 ../0001-connectivity-Make-curl-timeout-callback-non-repeatin.patch
}
build() {
local meson_options=(
+ # build checks this option; injecting just via *FLAGS is broken
+ -D b_lto=true
+
# system paths
-D dbus_conf_dir=/usr/share/dbus-1/system.d
@@ -87,15 +93,15 @@ build() {
-D suspend_resume=elogind
-D modify_system=true
-D selinux=false
+ -D selinux=false
-D systemdsystemunitdir=no
-D session_tracking=elogind
-D systemd_journal=false
+
# features
-D iwd=true
-D teamdctl=true
- -D bluez5_dun=true
- -D ebpf=true
# configuration plugins
-D config_plugins_default=keyfile
@@ -122,7 +128,7 @@ build() {
}
check() {
- meson test -C build --print-errorlogs
+ NMTST_FORCE_REAL_ROOT=1 meson test -C build --print-errorlogs
}
_pick() {
@@ -138,7 +144,6 @@ _pick() {
package_networkmanager() {
depends=(
audit
- bluez-libs
curl
elogind
iproute2
@@ -169,6 +174,9 @@ package_networkmanager() {
)
backup=(etc/NetworkManager/NetworkManager.conf)
+ # NM wants to move to LGPL only, but there's still GPL code left
+ license+=(GPL-2.0-or-later)
+
meson install -C build --destdir "$pkgdir"
cd "$pkgdir"
@@ -192,19 +200,20 @@ END
shopt -s globstar
+ _pick docs usr/share/gtk-doc
+
_pick libnm usr/include/libnm
_pick libnm usr/lib/girepository-1.0/NM-*
_pick libnm usr/lib/libnm.*
_pick libnm usr/lib/pkgconfig/libnm.pc
_pick libnm usr/share/gir-1.0/NM-*
- _pick libnm usr/share/gtk-doc/html/libnm
_pick libnm usr/share/vala/vapi/libnm.*
_pick cloud usr/lib/**/*nm-cloud-setup*
-# _pick cloud usr/share/man/*/nm-cloud-setup*
+ _pick cloud usr/share/man/*/nm-cloud-setup*
# Not actually packaged (https://bugs.archlinux.org/task/69138)
-# _pick ovs usr/lib/systemd/system/NetworkManager.service.d/NetworkManager-ovs.conf
+ # _pick ovs usr/lib/systemd/system/NetworkManager.service.d/NetworkManager-ovs.conf
# Restore empty dir
install -d usr/lib/NetworkManager/dispatcher.d/no-wait.d
@@ -212,7 +221,6 @@ END
package_libnm() {
pkgdesc="NetworkManager client library"
- license=(LGPL)
depends=(
glib2
nss
@@ -231,4 +239,11 @@ package_nm-cloud-setup() {
mv cloud/* "$pkgdir"
}
+package_networkmanager-docs() {
+ pkgdesc+=" (API documentation)"
+ depends=()
+
+ mv docs/* "$pkgdir"
+}
+
# vim:set sw=2 sts=-1 et:
diff --git a/nonsystemd/pipewire/PKGBUILD b/nonsystemd/pipewire/PKGBUILD
index 048814d23..756885621 100644
--- a/nonsystemd/pipewire/PKGBUILD
+++ b/nonsystemd/pipewire/PKGBUILD
@@ -3,9 +3,6 @@
# Maintainer (Arch): Jan Alexander Steffens (heftig) <heftig@archlinux.org>
# Contributor (Arch): Jan de Groot <jgc@archlinux.org>
-# Parabola changes and rationale:
-# - install pipewire.desktop in /etc/xdg/autostart rather than /usr/share/applications
-
pkgbase=pipewire
pkgname=(
pipewire
@@ -26,10 +23,10 @@ pkgname=(
pipewire-session-manager
pulse-native-provider
)
-_commit=6ab86209f23a841de7eac6bc0c1009aceb9ffd87 # tags/1.0.3
-pkgver=1.0.3
+_commit=f2874ad1c2f7f0b9a1da05cc4f402b3ea3761ee6 # tags/1.0.4
+pkgver=1.0.4
_so_ver=0.3
-pkgrel=1
+pkgrel=3
pkgrel+=.nonsystemd1
epoch=1
pkgdesc="Low-latency audio/video router and processor"
@@ -66,6 +63,7 @@ makedepends=(
ncurses
opus
python-docutils
+ python-packaging
readline
roc-toolkit
rtkit
@@ -80,12 +78,8 @@ checkdepends=(
)
source=(
"git+https://gitlab.freedesktop.org/pipewire/pipewire.git#commit=$_commit"
- artix-pipewire-launcher
- pipewire.desktop
)
-b2sums=('SKIP'
- 'b24d6c83d6846dd9de8806ea5cd8da5745a13645cea6e0904c4ce6bfb2f018e189f698e2ff1d44e38538d1233b63fd3ad0c1492e3e3ed0d62ae78282ff696755'
- '9571effe6042a51a9ef770000e65c1f35aaf56bb07eb191407b5038bdee209dd49572b5f457312ea6b6fbab1b04454468d1b9ad57d8fa7e4e0a94773e7c07197')
+b2sums=('a1a9905ec4b09fe7d24bdf08164d96a1b2ee285576b53b941b6c245bf4c63991295398cb14e22555e4ba2bdff8d16523ef27fa05f81a336df3991f2ac9d911e1')
pkgver() {
cd pipewire
@@ -94,8 +88,13 @@ pkgver() {
prepare() {
cd pipewire
- # fix libcamera integration for 0.2.0
- git cherry-pick -n fd33d2d3bb6333c7d6e74cbaa806bff2d908f589
+
+ # Gst plugin fixes
+ git cherry-pick -n \
+ f1b75fc6f803f866d2ed0f7d1366f56ef96f0610 \
+ 8a271a87b77e4508bb698f9b9e9fe3624884bfa6 \
+ 1a6bb994a502d95434e326a35a83a1fb5f4ebad8 \
+ 8848c7e7920618b97016243912bcb20c69a71960
}
build() {
@@ -103,13 +102,13 @@ build() {
-D bluez5-codec-lc3plus=disabled
-D docs=enabled
-D jack-devel=true
- -D systemd=disabled
-D libjack-path=/usr/lib
-D man=enabled
-D rlimits-install=false
-D selinux=disabled
-D session-managers=[]
-D udevrulesdir=/usr/lib/udev/rules.d
+ -D systemd=disabled
)
arch-meson pipewire build "${meson_options[@]}"
@@ -117,7 +116,7 @@ build() {
}
check() {
- meson test -C build --print-errorlogs || :
+ meson test -C build --print-errorlogs
}
_pick() {
@@ -193,14 +192,16 @@ package_pipewire() {
_pick audio usr/lib/pipewire-$_so_ver/libpipewire-module-fallback-sink.so
_pick audio usr/lib/pipewire-$_so_ver/libpipewire-module-filter-chain*.so
_pick audio usr/lib/pipewire-$_so_ver/libpipewire-module-loopback.so
- _pick audio usr/lib/pipewire-$_so_ver/libpipewire-module-netjack2-*.so
+ _pick audio usr/lib/pipewire-$_so_ver/libpipewire-module-netjack2*.so
_pick audio usr/lib/pipewire-$_so_ver/libpipewire-module-pipe-tunnel.so
_pick audio usr/lib/pipewire-$_so_ver/libpipewire-module-protocol-simple.so
_pick audio usr/lib/pipewire-$_so_ver/libpipewire-module-rtp-{sap,sink,source}.so
- _pick audio usr/lib/pipewire-$_so_ver/libpipewire-module-vban-{recv,send}.so
+ _pick audio usr/lib/pipewire-$_so_ver/libpipewire-module-vban*.so
_pick audio usr/lib/spa-0.2/{aec,alsa,audio*,avb,bluez5}
_pick audio usr/share/alsa
_pick audio usr/share/man/man1/pw-{cat,loopback,mididump}.1
+ _pick audio usr/share/man/man1/spa-{acp-tool,resample}.1
+ _pick audio usr/share/man/man5/pipewire-filter-chain.conf.5
_pick audio usr/share/man/man7/libpipewire-module-{avb,echo-cancel,fallback-sink,filter-chain*,loopback,netjack2*,pipe-tunnel,protocol-simple,rtp-{sap,sink,source},vban*}.7
_pick audio usr/share/pipewire/filter-chain*
_pick audio usr/share/pipewire/pipewire-{aes67,avb}.conf
@@ -218,6 +219,7 @@ package_pipewire() {
_pick jack usr/lib/libjack*
_pick jack usr/lib/pkgconfig/jack.pc
_pick jack usr/share/man/man1/pw-jack.1
+ _pick jack usr/share/man/man5/pipewire-jack.conf.5
_pick jack usr/share/pipewire/jack.conf
_pick pulse usr/bin/pipewire-pulse
@@ -239,6 +241,7 @@ package_pipewire() {
_pick zeroconf usr/share/man/man7/libpipewire-module-{raop-*,rtp-session,zeroconf*}.7
_pick v4l2 usr/bin/pw-v4l2 usr/lib/pipewire-$_so_ver/v4l2
+ _pick v4l2 usr/share/man/man1/pw-v4l2.1
_pick x11-bell usr/lib/pipewire-$_so_ver/libpipewire-module-x11-bell.so
_pick x11-bell usr/share/man/man7/libpipewire-module-x11-bell.7
@@ -246,8 +249,6 @@ package_pipewire() {
# directories for overrides
mkdir -p etc/pipewire/{client-rt,client,minimal,pipewire}.conf.d
)
- install -Dm755 "$srcdir"/artix-pipewire-launcher "$pkgdir"/usr/bin/artix-pipewire-launcher
- install -Dm644 "$srcdir"/pipewire.desktop "$pkgdir"/etc/xdg/autostart/pipewire.desktop
install -Dt "$pkgdir/usr/share/licenses/$pkgname" -m644 pipewire/COPYING
}
diff --git a/nonsystemd/pipewire/artix-pipewire-launcher b/nonsystemd/pipewire/artix-pipewire-launcher
deleted file mode 100644
index aafd84b18..000000000
--- a/nonsystemd/pipewire/artix-pipewire-launcher
+++ /dev/null
@@ -1,66 +0,0 @@
-#!/bin/sh
-
-# WARNING: This script assumes being run inside XDG compliant session,
-# which means D-Bus session instance is expected to be correctly set up
-# prior to this script starting. If that is not true, things may break!
-
-DATE_FORMAT='+%Y-%m-%dT%H:%M:%S%Z'
-
-CONF="${XDG_CONFIG_HOME}/artix-pipewire-launcher.conf"
-if [ -f "${CONF}" ]; then
- . "${CONF}"
-else
- ARTIX_PIPEWIRE_LOG='/dev/null'
- ARTIX_PIPEWIRE_PULSE_LOG='/dev/null'
- ARTIX_WIREPLUMBER_LOG='/dev/null'
-fi
-for L in \
- "${ARTIX_PIPEWIRE_LOG}" \
- "${ARTIX_PIPEWIRE_PULSE_LOG}" \
- "${ARTIX_WIREPLUMBER_LOG}"; do
- if [ ! -e "${L}" ]; then
- touch "${L}"
- fi
-done
-
-restart() {
- echo "Terminating PipeWire processes ..."
- pkill -u "${USER}" -x pipewire\|wireplumber 1>/dev/null 2>&1
- pidwait -u "${USER}" -x pipewire\|wireplumber
- echo "PipeWire terminated."
-}
-
-if [ "${#}" -gt 0 ]; then
- if [ "${1}" = 'restart' ]; then
- restart
- else
- echo "Unrecognised argument." >&2
- echo "Usage: artix-pipewire-launcher [restart]" >&2
- exit 1
- fi
-fi
-
-if pgrep -u "${USER}" -x pipewire\|wireplumber 1>/dev/null 2>&1; then
- echo "PipeWire already running, exiting." >&2
- echo "(Use 'artix-pipewire-launcher restart' to restart PipeWire and WirePlumber.)" >&2
- exit 1
-fi
-
-# The core daemon which by itself does probably nothing.
-echo "[/bin/date ${DATE_FORMAT})] Starting PipeWire." 1>>"${ARTIX_PIPEWIRE_LOG}"
-/usr/bin/pipewire 1>>"${ARTIX_PIPEWIRE_LOG}" 2>&1 &
-
-# The so called pipewire-pulse daemon used for PulseAudio compatibility.
-# Commenting this out will stop the PA proxying daemon from starting,
-# however ALSA (with pipewire-alsa), JACK (with jack-sdk) and PW API using
-# clients will still have access to audio and may end up clashing with
-# non-PW apps over HW control (most notably, /usr/bin/pulseaudio daemon).
-echo "[/bin/date ${DATE_FORMAT})] Starting PipeWire-Pulse." 1>>"${ARTIX_PIPEWIRE_PULSE_LOG}"
-/usr/bin/pipewire -c pipewire-pulse.conf 1>>"${ARTIX_PIPEWIRE_PULSE_LOG}" 2>&1 &
-
-# Hack for bug #822498
-sleep 1
-
-# Finally a session manager is required for PipeWire to do anything.
-echo "[/bin/date ${DATE_FORMAT})] Starting WirePlumber." 1>>"${ARTIX_WIREPLUMBER_LOG}"
-exec /usr/bin/wireplumber 1>>"${ARTIX_WIREPLUMBER_LOG}" 2>&1
diff --git a/nonsystemd/pipewire/pipewire.desktop b/nonsystemd/pipewire/pipewire.desktop
deleted file mode 100644
index 99661fdd9..000000000
--- a/nonsystemd/pipewire/pipewire.desktop
+++ /dev/null
@@ -1,13 +0,0 @@
-[Desktop Entry]
-Version=1.0
-Name[de]=PipeWire Mediensystem
-Name=PipeWire Media System
-Categories=Audio;AudioVideo
-Comment[de]=Das PipeWire Mediensystem starten
-Comment=Start the PipeWire Media System
-Exec=/usr/bin/artix-pipewire-launcher restart
-Terminal=false
-Type=Application
-X-GNOME-HiddenUnderSystemd=true
-X-KDE-HiddenUnderSystemd=true
-X-systemd-skip=true
diff --git a/nonsystemd/procps-ng/0001-build-sys-Add-systemd-elogind-to-w.patch b/nonsystemd/procps-ng/0001-build-sys-Add-systemd-elogind-to-w.patch
new file mode 100644
index 000000000..ed02b5a09
--- /dev/null
+++ b/nonsystemd/procps-ng/0001-build-sys-Add-systemd-elogind-to-w.patch
@@ -0,0 +1,43 @@
+From ca004d4657d5e8b468a4552ede429be53193a3a9 Mon Sep 17 00:00:00 2001
+From: Craig Small <csmall@dropbear.xyz>
+Date: Thu, 31 Aug 2023 22:24:23 +1000
+Subject: build-sys: Add systemd/elogind to w
+
+Depending on the compiler flags, w needs to be explictly linked
+to libsystemd or elogind even though libproc2 is linked to it.
+
+Signed-off-by: Craig Small <csmall@dropbear.xyz>
+---
+ Makefile.am | 7 +++++++
+ NEWS | 3 +++
+ 2 files changed, 10 insertions(+)
+
+diff --git a/Makefile.am b/Makefile.am
+index f70c8fb1..ddfc0141 100644
+--- a/Makefile.am
++++ b/Makefile.am
+@@ -149,6 +149,13 @@ endif
+
+ dist_man_MANS += man/w.1
+ src_w_SOURCES = src/w.c local/fileutils.c
++src_w_LDADD = $(LDADD)
++if WITH_SYSTEMD
++src_w_LDADD += @SYSTEMD_LIBS@
++endif
++if WITH_ELOGIND
++src_w_LDADD += @ELOGIND_LIBS@
++endif
+ else
+ EXTRA_DIST += man/w.1
+ endif
+diff --git a/NEWS b/NEWS
+index 3f2158d4..4ad9f74e 100644
+--- a/NEWS
++++ b/NEWS
+@@ -1,3 +1,6 @@
++procps-ng-NEXT
++---------------
++
+ procps-ng-4.0.4
+ ---------------
+ * library (API & ABI unchanged)
diff --git a/nonsystemd/procps-ng/0002-ps-Don-t-crash-when-using-short-option.patch b/nonsystemd/procps-ng/0002-ps-Don-t-crash-when-using-short-option.patch
new file mode 100644
index 000000000..5bfa0d65d
--- /dev/null
+++ b/nonsystemd/procps-ng/0002-ps-Don-t-crash-when-using-short-option.patch
@@ -0,0 +1,176 @@
+From 79042e07fab9956135a21b1df7a69d1fbde7ef79 Mon Sep 17 00:00:00 2001
+From: Craig Small <csmall@dropbear.xyz>
+Date: Tue, 12 Sep 2023 16:59:18 +1000
+Subject: [PATCH] ps: Don't crash when using short option
+
+ps would crash with the -si or -sf options with systemd enabled.
+The issue was the utmp wasn't filled in, the long option checked, the
+short option did not.
+
+Refactored the showinfo() function so instead of a branch with duplicate
+prints for the items in both long and short we just branch on the items
+for long output.
+
+Also, made the function prototypes not dependendent on systemd enabled,
+it was too messy that way and passing a char* NULL is not really going
+to hurt anything.
+
+References:
+ #301
+
+Signed-off-by: Craig Small <csmall@dropbear.xyz>
+---
+ NEWS | 1 +
+ src/w.c | 61 ++++++++++++++++++++-------------------------------------
+ 2 files changed, 22 insertions(+), 40 deletions(-)
+
+diff --git a/NEWS b/NEWS
+index 4ad9f74e..883f9139 100644
+--- a/NEWS
++++ b/NEWS
+@@ -1,5 +1,6 @@
+ procps-ng-NEXT
+ ---------------
++ * w: Don't segfault with -s option issue #301
+
+ procps-ng-4.0.4
+ ---------------
+diff --git a/src/w.c b/src/w.c
+index fd6e75f7..e2d754b5 100644
+--- a/src/w.c
++++ b/src/w.c
+@@ -207,9 +207,7 @@ static void print_display_or_interface(const char *restrict host, int len, int r
+
+ /* This routine prints either the hostname or the IP address of the remote */
+ static void print_from(
+-#if (defined(WITH_SYSTEMD) || defined(WITH_ELOGIND)) && defined(HAVE_SD_SESSION_GET_LEADER)
+ const char *session,
+-#endif
+ const utmp_t *restrict const u, const int ip_addresses, const int fromlen) {
+ #if (defined(WITH_SYSTEMD) || defined(WITH_ELOGIND)) && defined(HAVE_SD_SESSION_GET_LEADER)
+ if (session) {
+@@ -508,11 +506,10 @@ static int find_best_proc(
+ #undef PIDS_GETSTR
+ }
+
++
+ static void showinfo(
+-#if (defined(WITH_SYSTEMD) || defined(WITH_ELOGIND)) && defined(HAVE_SD_SESSION_GET_LEADER)
+ const char *session, const char *name,
+-#endif
+- utmp_t * u, int formtype, int maxcmd, int from,
++ utmp_t * u, const int longform, int maxcmd, int from,
+ const int userlen, const int fromlen, const int ip_addresses,
+ const int pids)
+ {
+@@ -575,25 +572,20 @@ static void showinfo(
+ /* force NUL term for printf */
+ uname[UT_NAMESIZE] = '\0';
+
+- if (formtype) {
+- printf("%-*.*s%-9.8s", userlen + 1, userlen, uname, tty + 5);
++ printf("%-*.*s%-9.8s", userlen + 1, userlen, uname, tty + 5);
++ if (from)
++ print_from(session, NULL, ip_addresses, fromlen);
++
++ /* login time */
++ if (longform) {
+ #if (defined(WITH_SYSTEMD) || defined(WITH_ELOGIND)) && defined(HAVE_SD_SESSION_GET_LEADER)
+ if (session) {
+ uint64_t ltime;
+
+- if (from)
+- print_from(session, NULL, ip_addresses, fromlen);
+-
+ sd_session_get_start_time(session, &ltime);
+ print_logintime(ltime/((uint64_t) 1000000ULL), stdout);
+ } else {
+ #endif
+- if (from)
+- print_from(
+-#if (defined(WITH_SYSTEMD) || defined(WITH_ELOGIND)) && defined(HAVE_SD_SESSION_GET_LEADER)
+- NULL,
+-#endif
+- u, ip_addresses, fromlen);
+
+ #ifdef HAVE_UTMPX_H
+ print_logintime(u->ut_tv.tv_sec, stdout);
+@@ -603,11 +595,16 @@ static void showinfo(
+ #if (defined(WITH_SYSTEMD) || defined(WITH_ELOGIND)) && defined(HAVE_SD_SESSION_GET_LEADER)
+ }
+ #endif
+- if (u && *u->ut_line == ':')
+- /* idle unknown for xdm logins */
+- printf(" ?xdm? ");
+- else
+- print_time_ival7(idletime(tty), 0, stdout);
++ }
++ /* idle */
++ if (u && *u->ut_line == ':')
++ /* idle unknown for xdm logins */
++ printf(" ?xdm? ");
++ else
++ print_time_ival7(idletime(tty), 0, stdout);
++
++ /* jpcpu/pcpu */
++ if (longform) {
+ print_time_ival7(jcpu / hertz, (jcpu % hertz) * (100. / hertz),
+ stdout);
+ if (pcpu > 0)
+@@ -616,20 +613,8 @@ static void showinfo(
+ stdout);
+ else
+ printf(" ? ");
+- } else {
+- printf("%-*.*s%-9.8s", userlen + 1, userlen, uname, tty + 5);
+- if (from)
+- print_from(
+-#if (defined(WITH_SYSTEMD) || defined(WITH_ELOGIND)) && defined(HAVE_SD_SESSION_GET_LEADER)
+- NULL,
+-#endif
+- u, ip_addresses, fromlen);
+- if (u && *u->ut_line == ':')
+- /* idle unknown for xdm logins */
+- printf(" ?xdm? ");
+- else
+- print_time_ival7(idletime(tty), 0, stdout);
+ }
++ /* what */
+ if (pids) {
+ pid_t ut_pid = -1;
+ if (u)
+@@ -798,9 +783,9 @@ int main(int argc, char **argv)
+ * headers. Try to keep alignment intact. */
+ printf(_("%-*s TTY "), userlen, _("USER"));
+ if (from)
+- printf("%-*s", fromlen - 1, _("FROM"));
++ printf("%-*s", fromlen, _("FROM"));
+ if (longform)
+- printf(_(" LOGIN@ IDLE JCPU PCPU WHAT\n"));
++ printf(_(" LOGIN@ IDLE JCPU PCPU WHAT\n"));
+ else
+ printf(_(" IDLE WHAT\n"));
+ }
+@@ -857,9 +842,7 @@ int main(int argc, char **argv)
+ continue;
+ if (!strncmp(u->ut_user, user, UT_NAMESIZE))
+ showinfo(
+-#if (defined(WITH_SYSTEMD) || defined(WITH_ELOGIND)) && defined(HAVE_SD_SESSION_GET_LEADER)
+ NULL, NULL,
+-#endif
+ u, longform, maxcmd, from, userlen,
+ fromlen, ip_addresses, pids);
+ }
+@@ -876,9 +859,7 @@ int main(int argc, char **argv)
+ continue;
+ if (*u->ut_user)
+ showinfo(
+-#if (defined(WITH_SYSTEMD) || defined(WITH_ELOGIND)) && defined(HAVE_SD_SESSION_GET_LEADER)
+ NULL, NULL,
+-#endif
+ u, longform, maxcmd, from, userlen,
+ fromlen, ip_addresses, pids);
+ }
+--
+GitLab
+
diff --git a/nonsystemd/procps-ng/PKGBUILD b/nonsystemd/procps-ng/PKGBUILD
new file mode 100644
index 000000000..496550f02
--- /dev/null
+++ b/nonsystemd/procps-ng/PKGBUILD
@@ -0,0 +1,71 @@
+# Maintainer (arch): Levente Polyak <anthraxx[at]archlinux[dot]org>
+# Contributor: Christian Hesse <eworm@archlinux.org>
+# Contributor: Bartłomiej Piotrowski <bpiotrowski@archlinux.org>
+# Contributor: Gaetan Bisson <bisson@archlinux.org>
+# Contributor: Eric Bélanger <eric@archlinux.org>
+# Maintainer: Parabola Hackers <dev@lists.parabola.nu>
+# Contributor: bill-auger <bill-auger@programmer.net>
+
+
+# parabola changes and rationale:
+# - require nonsystemd providers of 'systemd' 'libsystemd'
+
+
+pkgname=procps-ng
+pkgver=4.0.4
+pkgrel=3
+pkgrel+=.nonsystemd1
+pkgdesc='Utilities for monitoring your system and its processes'
+url='https://gitlab.com/procps-ng/procps'
+license=(GPL LGPL)
+arch=(x86_64)
+arch+=(armv7h i686 ppc64le)
+depends=(glibc ncurses libncursesw.so systemd-libs)
+depends=( ${depends[*]/systemd-libs/libsystemd} )
+makedepends=(systemd)
+conflicts=(procps sysvinit-tools)
+provides=(procps sysvinit-tools libproc2.so)
+replaces=(procps sysvinit-tools)
+options=('!emptydirs')
+validpgpkeys=('5D2FB320B825D93904D205193938F96BDF50FEA5') # Craig Small <csmall@debian.org>
+source=(https://downloads.sourceforge.net/project/$pkgname/Production/${pkgname}-${pkgver}.tar.xz{,.asc}
+ 0001-build-sys-Add-systemd-elogind-to-w.patch
+ 0002-ps-Don-t-crash-when-using-short-option.patch)
+sha256sums=('22870d6feb2478adb617ce4f09a787addaf2d260c5a8aa7b17d889a962c5e42e'
+ 'SKIP'
+ '77ed82ad684c71319704080a09c7d65efa1b06db4f35b240de7c30fef4caafc5'
+ '2331953f1c859b4973b2f99fbc84495b03a2d5e584370da66adbd45cbbf7825a')
+b2sums=('63b972666ef9e92042be96739ffa15c787d0346b2d3ffcb0d240b0a4e999dc90024b2c5b058df683dd9d2c436ceb812abd0b115cc877a6ca1023988b86de443f'
+ 'SKIP'
+ '021b64fac3b48175ec67d180fc294c674088ece483f0ab358c2cfbdbd519ac6dea13274a66624beda79b00c0c770441e7f8369f3a75a90f7cafd469508a81e16'
+ '74a40306c3a1c09d1ad26ae34157803e48e95906febcd4730ac27221e5c6184b9fe1eb7ade77e2da193d4c3491d719b1a1b01f75424722a63602f914aa9db9a8')
+
+prepare() {
+ cd procps-ng-$pkgver
+ sed 's:<ncursesw/:<:g' -i src/watch.c
+ patch -Np1 < ../0001-build-sys-Add-systemd-elogind-to-w.patch
+ patch -Np1 < ../0002-ps-Don-t-crash-when-using-short-option.patch
+ autoreconf -fi
+}
+
+build() {
+ cd procps-ng-$pkgver
+ ./configure \
+ --prefix=/usr \
+ --exec-prefix=/ \
+ --sysconfdir=/etc \
+ --libdir=/usr/lib \
+ --bindir=/usr/bin \
+ --sbindir=/usr/bin \
+ --enable-watch8bit \
+ --with-elogind \
+ --disable-modern-top \
+ --disable-kill
+
+ make
+}
+
+package() {
+ cd procps-ng-$pkgver
+ make DESTDIR="$pkgdir" install
+}
diff --git a/nonsystemd/procps-ng/keys/pgp/5D2FB320B825D93904D205193938F96BDF50FEA5.asc b/nonsystemd/procps-ng/keys/pgp/5D2FB320B825D93904D205193938F96BDF50FEA5.asc
new file mode 100644
index 000000000..8df4b578e
--- /dev/null
+++ b/nonsystemd/procps-ng/keys/pgp/5D2FB320B825D93904D205193938F96BDF50FEA5.asc
@@ -0,0 +1,68 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+=kFPF
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/nonsystemd/sddm/PKGBUILD b/nonsystemd/sddm/PKGBUILD
index 25ca87e41..0d1ee6023 100644
--- a/nonsystemd/sddm/PKGBUILD
+++ b/nonsystemd/sddm/PKGBUILD
@@ -4,16 +4,33 @@
# Contributor (Arch): Andrea Scarpino <andrea@archlinux.org>
pkgname=sddm
-pkgver=0.20.0
-pkgrel=1
+pkgver=0.21.0
+pkgrel=4
pkgrel+=.nonsystemd1
pkgdesc='QML based X11 and Wayland display manager'
arch=(x86_64)
arch+=(i686 armv7h)
url='https://github.com/sddm/sddm'
-license=(GPL)
-depends=(qt5-declarative xorg-xauth xorg-server ttf-font)
-makedepends=(extra-cmake-modules python-docutils qt5-tools)
+license=(GPL-2.0-only)
+depends=(bash
+ gcc-libs
+ glibc
+ libelogind
+ libxau
+ libxcb
+ pam
+ qt6-base
+ qt6-declarative
+ ttf-font
+ xorg-server
+ xorg-xauth)
+makedepends=(extra-cmake-modules
+ python-docutils
+ qt5-base
+ qt5-declarative
+ qt5-tools
+ qt6-tools)
+optdepends=('qt5-declarative: for using Qt5 themes')
backup=('usr/share/sddm/scripts/Xsetup'
'usr/share/sddm/scripts/Xstop'
'etc/pam.d/sddm'
@@ -21,15 +38,16 @@ backup=('usr/share/sddm/scripts/Xsetup'
'etc/pam.d/sddm-greeter')
provides=(display-manager)
source=(https://github.com/$pkgname/$pkgname/archive/v$pkgver/$pkgname-$pkgver.tar.gz
- sddm.sysusers sddm.tmpfiles)
-sha256sums=('467c8bd91e0d4f76d4bc4e57ab334f1f48a33478482ba9476d93b0b3d7ace9fb'
- '9fce66f325d170c61caed57816f4bc72e9591df083e89da114a3bb16b0a0e60f'
- 'db625f2a3649d6d203e1e1b187a054d5c6263cadf7edd824774d8ace52219677')
+ sddm.{tmpfiles,sysusers})
+sha256sums=('f895de2683627e969e4849dbfbbb2b500787481ca5ba0de6d6dfdae5f1549abf'
+ 'db625f2a3649d6d203e1e1b187a054d5c6263cadf7edd824774d8ace52219677'
+ '9fce66f325d170c61caed57816f4bc72e9591df083e89da114a3bb16b0a0e60f')
build() {
cmake -B build -S $pkgname-$pkgver \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBEXECDIR=/usr/lib/sddm \
+ -DBUILD_WITH_QT6=ON \
-DDBUS_CONFIG_DIR=/usr/share/dbus-1/system.d \
-DDBUS_CONFIG_FILENAME=sddm_org.freedesktop.DisplayManager.conf \
-DBUILD_MAN_PAGES=ON \
@@ -37,18 +55,27 @@ build() {
-DNO_SYSTEMD=yes \
-DUID_MAX=60513
cmake --build build
+
+ cmake -B build5 -S $pkgname-$pkgver \
+ -DCMAKE_INSTALL_PREFIX=/usr
+ cmake --build build5/src/greeter
+ cmake --build build5/components
}
package() {
DESTDIR="$pkgdir" cmake --install build
-
- install -Dm644 sddm.sysusers "$pkgdir"/usr/lib/sysusers.d/sddm.conf
- install -Dm644 sddm.tmpfiles "$pkgdir"/usr/lib/tmpfiles.d/sddm.conf
+ DESTDIR="$pkgdir" cmake --install build5/src/greeter
+ DESTDIR="$pkgdir" cmake --install build5/components
install -d "$pkgdir"/usr/lib/sddm/sddm.conf.d
"$pkgdir"/usr/bin/sddm --example-config > "$pkgdir"/usr/lib/sddm/sddm.conf.d/default.conf
-# Don't set PATH in sddm.conf
+
+ # Don't set PATH in sddm.conf
sed -r 's|DefaultPath=.*|DefaultPath=/usr/local/sbin:/usr/local/bin:/usr/bin|g' -i "$pkgdir"/usr/lib/sddm/sddm.conf.d/default.conf
-# Unset InputMethod https://github.com/sddm/sddm/issues/952
+
+ # Unset InputMethod https://github.com/sddm/sddm/issues/952
sed -e "/^InputMethod/s/qtvirtualkeyboard//" -i "$pkgdir"/usr/lib/sddm/sddm.conf.d/default.conf
+
+ install -Dm644 sddm.sysusers "$pkgdir"/usr/lib/sysusers.d/sddm.conf
+ install -Dm644 sddm.tmpfiles "$pkgdir"/usr/lib/tmpfiles.d/sddm.conf
}
diff --git a/nonsystemd/util-linux/0001-agetty-resolve-tty-name-even-if-stdin-is-specified.patch b/nonsystemd/util-linux/0001-agetty-resolve-tty-name-even-if-stdin-is-specified.patch
deleted file mode 100644
index 4f317b034..000000000
--- a/nonsystemd/util-linux/0001-agetty-resolve-tty-name-even-if-stdin-is-specified.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-From 47831cc02ac0d71c335caecef1753f4c8861277c Mon Sep 17 00:00:00 2001
-From: tamz <totemz@protonmail.com>
-Date: Thu, 6 Jan 2022 11:56:58 +0100
-Subject: [PATCH 1/1] agetty: resolve tty name even if stdin is specified
-
-[kzak@redhat.com: - use "const" for options->tty (and friends)
- as expected by get_terminal_name()]
-
-Addresses: https://github.com/util-linux/util-linux/issues/1546
-Signed-off-by: tamz <totemz@protonmail.com>
-Signed-off-by: Karel Zak <kzak@redhat.com>
----
- term-utils/agetty.c | 26 ++++++++++++++++++--------
- 1 file changed, 18 insertions(+), 8 deletions(-)
-
-diff --git a/term-utils/agetty.c b/term-utils/agetty.c
-index 55d373461..22850786d 100644
---- a/term-utils/agetty.c
-+++ b/term-utils/agetty.c
-@@ -190,8 +190,8 @@ struct options {
- char *chroot; /* Chroot before the login */
- char *login; /* login program */
- char *logopt; /* options for login program */
-- char *tty; /* name of tty */
-- char *vcline; /* line of virtual console */
-+ const char *tty; /* name of tty */
-+ const char *vcline; /* line of virtual console */
- char *term; /* terminal type */
- char *initstring; /* modem init string */
- char *issue; /* alternative issue file or directory */
-@@ -203,6 +203,7 @@ struct options {
- int numspeed; /* number of baud rates to try */
- int clocal; /* CLOCAL_MODE_* */
- int kbmode; /* Keyboard mode if virtual console */
-+ int tty_is_stdin; /* is the tty the standard input stream */
- speed_t speeds[MAX_SPEED]; /* baud rates to be tried */
- };
-
-@@ -319,7 +320,7 @@ static void init_special_char(char* arg, struct options *op);
- static void parse_args(int argc, char **argv, struct options *op);
- static void parse_speeds(struct options *op, char *arg);
- static void update_utmp(struct options *op);
--static void open_tty(char *tty, struct termios *tp, struct options *op);
-+static void open_tty(const char *tty, struct termios *tp, struct options *op);
- static void termio_init(struct options *op, struct termios *tp);
- static void reset_vc(const struct options *op, struct termios *tp, int canon);
- static void auto_baud(struct termios *tp);
-@@ -922,6 +923,15 @@ static void parse_args(int argc, char **argv, struct options *op)
- }
- }
-
-+ /* resolve the tty path in case it was provided as stdin */
-+ if (strcmp(op->tty, "-") == 0) {
-+ op->tty_is_stdin = 1;
-+ int fd = get_terminal_name(NULL, &op->tty, NULL);
-+ if (fd < 0) {
-+ log_warn(_("could not get terminal name: %d"), fd);
-+ }
-+ }
-+
- /* On virtual console remember the line which is used for */
- if (strncmp(op->tty, "tty", 3) == 0 &&
- strspn(op->tty + 3, "0123456789") == strlen(op->tty+3))
-@@ -962,8 +972,8 @@ static void update_utmp(struct options *op)
- time_t t;
- pid_t pid = getpid();
- pid_t sid = getsid(0);
-- char *vcline = op->vcline;
-- char *line = op->tty;
-+ const char *vcline = op->vcline;
-+ const char *line = op->tty;
- struct utmpx *utp;
-
- /*
-@@ -1002,7 +1012,7 @@ static void update_utmp(struct options *op)
- str2memcpy(ut.ut_id, vcline, sizeof(ut.ut_id));
- else {
- size_t len = strlen(line);
-- char * ptr;
-+ const char * ptr;
- if (len >= sizeof(ut.ut_id))
- ptr = line + len - sizeof(ut.ut_id);
- else
-@@ -1030,7 +1040,7 @@ static void update_utmp(struct options *op)
- #endif /* SYSV_STYLE */
-
- /* Set up tty as stdin, stdout & stderr. */
--static void open_tty(char *tty, struct termios *tp, struct options *op)
-+static void open_tty(const char *tty, struct termios *tp, struct options *op)
- {
- const pid_t pid = getpid();
- int closed = 0;
-@@ -1040,7 +1050,7 @@ static void open_tty(char *tty, struct termios *tp, struct options *op)
-
- /* Set up new standard input, unless we are given an already opened port. */
-
-- if (strcmp(tty, "-") != 0) {
-+ if (!op->tty_is_stdin) {
- char buf[PATH_MAX+1];
- struct group *gr = NULL;
- struct stat st;
---
-2.34.1
-
diff --git a/nonsystemd/util-linux/PKGBUILD b/nonsystemd/util-linux/PKGBUILD
index 3c86cc828..0d5ea698e 100644
--- a/nonsystemd/util-linux/PKGBUILD
+++ b/nonsystemd/util-linux/PKGBUILD
@@ -1,122 +1,211 @@
# Maintainer: David P. <megver83@parabola.nu>
-# Maintainer (artix): Tom Gundersen <teg@jklm.no>
-# Maintainer (artix): Dave Reisner <dreisner@archlinux.org>
+# Maintainer (artix): Artoo <artoo@artixlinux.org>
+# Maintainer (arch): Tom Gundersen <teg@jklm.no>
+# Maintainer (arch): Dave Reisner <dreisner@archlinux.org>
# Contributor: judd <jvinet@zeroflux.org>
pkgbase=util-linux
pkgname=(util-linux util-linux-libs)
-_pkgmajor=2.37
-_realver=${_pkgmajor}.2
-pkgver=${_realver/-/}
-pkgrel=5
+_tag='2.40-rc2'
+pkgver="${_tag/-/}"
+pkgrel=2
pkgrel+=.nonsystemd1
pkgdesc='Miscellaneous system utilities for Linux'
-url='https://github.com/karelzak/util-linux'
+url='https://github.com/util-linux/util-linux'
arch=('x86_64')
-arch+=('i686' 'armv7h')
-makedepends=('asciidoctor' 'libcap-ng' 'libxcrypt' 'python' 'udev')
+arch+=('armv7h' 'i686')
+makedepends=('asciidoctor'
+ 'bash-completion'
+ 'git'
+ 'libcap-ng'
+ 'libutempter'
+ 'libxcrypt'
+ 'meson'
+ 'python'
+ 'sqlite'
+ 'systemd')
+makedepends=( ${makedepends[*]/systemd/udev} ) # DIFF: non-systemd
+license=(
+ 'BSD-2-Clause'
+ 'BSD-3-Clause'
+ 'BSD-4-Clause-UC'
+ 'GPL-2.0-only'
+ 'GPL-2.0-or-later'
+ 'GPL-3.0-or-later'
+ 'ISC'
+ 'LGPL-2.1-or-later'
+ 'LicenseRef-PublicDomain'
+) # TODO: SPDX
license=('GPL2')
options=('strip')
validpgpkeys=('B0C64D14301CC6EFAEDF60E4E4B71D5EEC39C284') # Karel Zak
-source=("https://www.kernel.org/pub/linux/utils/util-linux/v${_pkgmajor}/${pkgbase}-${_realver}.tar."{xz,sign}
- '0001-agetty-resolve-tty-name-even-if-stdin-is-specified.patch'
- pam-{login,common,runuser,su}
+source=("git+https://github.com/util-linux/util-linux#tag=v${_tag}?signed"
+ $pkgbase-BSD-2-Clause.txt::https://raw.githubusercontent.com/Cyan4973/xxHash/f035303b8a86c1db9be70cbb638678ef6ef4cb2d/LICENSE
+ pam-{login,common,remote,runuser,su}
'util-linux.sysusers'
- '60-rfkill.rules')
-sha256sums=('6a0764c1aae7fb607ef8a6dd2c0f6c47d5e5fd27aa08820abaad9ec14e28e9d9'
- 'SKIP'
- '53395b7e434b32e6fee25f1b6fa59330ab72c1a2f99a17c3d3fd92473379fd9a'
- '99cd77f21ee44a0c5e57b0f3670f711a00496f198fc5704d7e44f5d817c81a0f'
+ '60-rfkill.rules'
+ 'rfkill-unblock_.service'
+ 'rfkill-block_.service')
+source=( ${source[*]/rfkill-unblock_.service/} ) # DIFF: non-systemd
+source=( ${source[*]/rfkill-block_.service/} ) # DIFF: non-systemd
+# source+=('0001-uuid-tmpfiles.patch' ) # DIFF: non-systemd
+sha256sums=('SKIP'
+ '6ffedbc0f7878612d2b23589f1ff2ab15633e1df7963a5d9fc750ec5500c7e7a'
+ 'ee917d55042f78b8bb03f5467e5233e3e2ddc2fe01e302bc53b218003fe22275'
'57e057758944f4557762c6def939410c04ca5803cbdd2bfa2153ce47ffe7a4af'
+ '8bfbee453618ba44d60ba7fb00eced6c62edebfc592f2e75dede08e769ed8931'
'48d6fba767631e3dd3620cf02a71a74c5d65a525d4c4ce4b5a0b7d9f41ebfea1'
'b28f31fcafa401b0eb26bc0c710002acc4f7718f97af45b0d444e4af6dfb15a8'
'10b0505351263a099163c0d928132706e501dd0a008dac2835b052167b14abe3'
- '7423aaaa09fee7f47baa83df9ea6fef525ff9aec395c8cbd9fe848ceb2643f37')
+ '7423aaaa09fee7f47baa83df9ea6fef525ff9aec395c8cbd9fe848ceb2643f37'
+ # DIFF: non-systemd
+ # DIFF: non-systemd
+)
+# sha256sums+=('7fccfdbc22c215104aa0b79afa7491c100623ecbc581ff12b7a44b7ca870096f')
+_backports=(
+ # current stable/v2.40
+ "v${_tag}..175af5cb8e0434bbc6660f7ccbea3a188d8f2d72"
+)
+
+_reverts=(
+)
prepare() {
- cd "${pkgbase}-${_realver}"
-
- patch -Np1 < ../0001-agetty-resolve-tty-name-even-if-stdin-is-specified.patch
+ cd "${pkgbase}"
+
+ local _c _l
+ for _c in "${_backports[@]}"; do
+ 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
+ if [[ "${_c}" == *..* ]]; then _l='--reverse'; else _l='--max-count=1'; fi
+ git log --oneline "${_l}" "${_c}"
+ git revert --mainline 1 --no-commit "${_c}"
+ done
+
+ # fast-forward to current master
+ #git merge master
+
+# patch -Np 1 -i ../0001-uuid-tmpfiles.patch
+ # do not mark dirty
+ sed -i '/dirty=/c dirty=' tools/git-version-gen
}
build() {
- cd "${pkgbase}-${_realver}"
-
- ./configure \
- --prefix=/usr \
- --libdir=/usr/lib \
- --bindir=/usr/bin \
- --sbindir=/usr/bin \
- --localstatedir=/var \
- --enable-usrdir-path \
- --enable-fs-paths-default=/usr/bin:/usr/local/bin \
- --enable-raw \
- --enable-vipw \
- --enable-newgrp \
- --enable-chfn-chsh \
- --enable-write \
- --enable-mesg \
- --without-systemd \
- --with-python=3
-
- make
+ local _meson_options=(
+ -Dfs-search-path=/usr/bin:/usr/local/bin
+
+ -Dlibuser=disabled
+ -Dncurses=disabled
+ -Dncursesw=enabled
+ -Deconf=disabled
+
+ -Dbuild-chfn-chsh=enabled
+ -Dbuild-line=disabled
+ -Dbuild-mesg=enabled
+ -Dbuild-newgrp=enabled
+ -Dbuild-vipw=enabled
+ -Dbuild-write=enabled
+ )
+ _meson_options+=( -Dsystemd=disabled ) # DIFF: non-systemd
+
+ arch-meson "${pkgbase}" build "${_meson_options[@]}"
+
+ meson compile -C build
}
package_util-linux() {
conflicts=('rfkill' 'hardlink')
provides=('rfkill' 'hardlink')
replaces=('rfkill' 'hardlink')
- depends=('pam' 'shadow' 'coreutils' 'libudev' 'libudev.so'
- 'libcap-ng' 'libxcrypt' 'libcrypt.so' 'util-linux-libs'
- 'libmagic.so' 'libncursesw.so' 'libreadline.so')
- optdepends=('python: python bindings to libmount'
- 'words: default dictionary for look')
+ depends=('coreutils'
+ 'file' 'libmagic.so'
+ 'glibc'
+ 'libcap-ng'
+ 'libutempter'
+ 'libxcrypt' 'libcrypt.so'
+ 'ncurses' 'libncursesw.so'
+ 'pam'
+ 'readline'
+ 'shadow'
+ 'systemd-libs' 'libsystemd.so' 'libudev.so'
+ 'util-linux-libs'
+ 'zlib')
+ depends=( ${depends[*]/systemd-libs/libudev} ) # DIFF: non-systemd
+ depends=( ${depends[*]/libsystemd.so/} ) # DIFF: non-systemd
+ optdepends=('words: default dictionary for look')
backup=(etc/pam.d/chfn
etc/pam.d/chsh
etc/pam.d/login
+ etc/pam.d/remote
etc/pam.d/runuser
etc/pam.d/runuser-l
etc/pam.d/su
etc/pam.d/su-l)
- cd "${pkgbase}-${_realver}"
+ _python_stdlib="$(python -c 'import sysconfig; print(sysconfig.get_paths()["stdlib"])')"
+
+ DESTDIR="${pkgdir}" meson install -C build
- make DESTDIR="${pkgdir}" install
+ # remove static libraries
+ rm "${pkgdir}"/usr/lib/lib*.a*
# setuid chfn and chsh
chmod 4755 "${pkgdir}"/usr/bin/{newgrp,ch{sh,fn}}
# install PAM files for login-utils
- install -Dm0644 "${srcdir}/pam-common" "${pkgdir}/etc/pam.d/chfn"
- install -m0644 "${srcdir}/pam-common" "${pkgdir}/etc/pam.d/chsh"
- install -m0644 "${srcdir}/pam-login" "${pkgdir}/etc/pam.d/login"
- install -m0644 "${srcdir}/pam-runuser" "${pkgdir}/etc/pam.d/runuser"
- install -m0644 "${srcdir}/pam-runuser" "${pkgdir}/etc/pam.d/runuser-l"
- install -m0644 "${srcdir}/pam-su" "${pkgdir}/etc/pam.d/su"
- install -m0644 "${srcdir}/pam-su" "${pkgdir}/etc/pam.d/su-l"
-
- # adjust for usrmove
- # TODO(dreisner): fix configure.ac upstream so that this isn't needed
- cd "${pkgdir}"
- mv usr/sbin/* usr/bin
- rmdir usr/sbin
-
- ### runtime libs are shipped as part of util-linux-libs
- rm "${pkgdir}"/usr/lib/lib*.{a,so}*
+ install -Dm0644 pam-common "${pkgdir}/etc/pam.d/chfn"
+ install -m0644 pam-common "${pkgdir}/etc/pam.d/chsh"
+ install -m0644 pam-login "${pkgdir}/etc/pam.d/login"
+ install -m0644 pam-remote "${pkgdir}/etc/pam.d/remote"
+ install -m0644 pam-runuser "${pkgdir}/etc/pam.d/runuser"
+ install -m0644 pam-runuser "${pkgdir}/etc/pam.d/runuser-l"
+ install -m0644 pam-su "${pkgdir}/etc/pam.d/su"
+ install -m0644 pam-su "${pkgdir}/etc/pam.d/su-l"
+
+ # TODO(dreisner): offer this upstream?
+ #sed -i '/ListenStream/ aRuntimeDirectory=uuidd' "${pkgdir}/usr/lib/systemd/system/uuidd.socket"
+
+ # runtime libs are shipped as part of util-linux-libs
+ install -d -m0755 util-linux-libs/lib/
+ mv "$pkgdir"/usr/lib/lib*.so* util-linux-libs/lib/
+ mv "$pkgdir"/usr/lib/pkgconfig util-linux-libs/lib/pkgconfig
+ mv "$pkgdir"/usr/include util-linux-libs/include
+ mv "$pkgdir"/"${_python_stdlib}"/site-packages util-linux-libs/site-packages
+ rmdir "$pkgdir"/"${_python_stdlib}"
+ mv "$pkgdir"/usr/share/man/man3 util-linux-libs/man3
### install sysusers
- install -Dm0644 "${srcdir}/util-linux.sysusers" \
+ install -Dm0644 util-linux.sysusers \
"${pkgdir}/usr/lib/sysusers.d/util-linux.conf"
- install -Dm0644 "${srcdir}/60-rfkill.rules" \
+ install -Dm0644 60-rfkill.rules \
"${pkgdir}/usr/lib/udev/rules.d/60-rfkill.rules"
+
+ # DIFF: system only
+
+ install -vDm 644 $pkgbase/Documentation/licenses/COPYING.{BSD*,ISC} -t "$pkgdir/usr/share/licenses/$pkgname/"
+ install -vDm 644 $pkgbase-BSD-2-Clause.txt -t "$pkgdir/usr/share/licenses/$pkgname/"
}
package_util-linux-libs() {
- pkgdesc="util-linux runtime libraries"
+ pkgdesc='util-linux runtime libraries'
+ depends=('glibc'
+ 'sqlite')
provides=('libutil-linux' 'libblkid.so' 'libfdisk.so' 'libmount.so' 'libsmartcols.so' 'libuuid.so')
conflicts=('libutil-linux')
+ conflicts=('glib2>=2.81.0' 'at-spi2-core>=2.53.0') # the sodep 'libmount.so' is too stable - many GUI things break without this (eg: LXDE)
replaces=('libutil-linux')
+ optdepends=('python: python bindings to libmount')
+
+ install -d -m0755 "$pkgdir"/{"${_python_stdlib}",usr/share/man/}
+ mv util-linux-libs/lib/* "$pkgdir"/usr/lib/
+ mv util-linux-libs/include "$pkgdir"/usr/include
+ mv util-linux-libs/site-packages "$pkgdir"/"${_python_stdlib}"/site-packages
+ mv util-linux-libs/man3 "$pkgdir"/usr/share/man/man3
- make -C "${pkgbase}-${_realver}" DESTDIR="${pkgdir}" install-usrlib_execLTLIBRARIES
+ install -vDm 644 $pkgbase/Documentation/licenses/COPYING.{BSD*,ISC} -t "$pkgdir/usr/share/licenses/$pkgname/"
+ install -vDm 644 $pkgbase-BSD-2-Clause.txt -t "$pkgdir/usr/share/licenses/$pkgname/"
}
diff --git a/nonsystemd/util-linux/keys/pgp/B0C64D14301CC6EFAEDF60E4E4B71D5EEC39C284.asc b/nonsystemd/util-linux/keys/pgp/B0C64D14301CC6EFAEDF60E4E4B71D5EEC39C284.asc
new file mode 100644
index 000000000..306d645e0
--- /dev/null
+++ b/nonsystemd/util-linux/keys/pgp/B0C64D14301CC6EFAEDF60E4E4B71D5EEC39C284.asc
@@ -0,0 +1,52 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+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
+Zh9rvA==
+=cevX
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/nonsystemd/util-linux/pam-login b/nonsystemd/util-linux/pam-login
index 2dac6ab61..28f6fc5de 100644
--- a/nonsystemd/util-linux/pam-login
+++ b/nonsystemd/util-linux/pam-login
@@ -1,6 +1,5 @@
#%PAM-1.0
-auth required pam_securetty.so
auth requisite pam_nologin.so
auth include system-local-login
account include system-local-login
diff --git a/nonsystemd/util-linux/pam-remote b/nonsystemd/util-linux/pam-remote
new file mode 100644
index 000000000..7fce079c1
--- /dev/null
+++ b/nonsystemd/util-linux/pam-remote
@@ -0,0 +1,8 @@
+#%PAM-1.0
+
+auth required pam_securetty.so
+auth requisite pam_nologin.so
+auth include system-remote-login
+account include system-remote-login
+session include system-remote-login
+password include system-remote-login
diff --git a/pcr-testing/scratch-pkg/PKGBUILD b/pcr-testing/scratch-pkg/PKGBUILD
new file mode 100644
index 000000000..9b450fe9f
--- /dev/null
+++ b/pcr-testing/scratch-pkg/PKGBUILD
@@ -0,0 +1,107 @@
+# Maintainer: Your Name <your-email@example.net>
+
+
+# NOTE: This PKGBUILD is for experiments and for testing libretools.
+# Packages built with this PKGBUILD are not intended for distribution.
+# Only the -nonfree source-ball is published, containing two files:
+# $pkgname-$pkgver/non-free $pkgname-$pkgver/buggy
+
+
+# configuration
+_MKSOURCE=true # excersize the mksource mechanism
+_N_MKSOURCES=2 # number of upstream sources to be isolated for mksource
+_SIGN=false # require signature (yours) for libre source-ball
+_WANTS_INTERNET=false # build fails if this expectation is not met
+_REPO_URL=https://repo.parabola.nu/other
+
+
+pkgbase=scratch-pkg
+pkgname=(scratch-pkg{,-split1,-split2})
+pkgver=42
+pkgrel=420.3
+
+pkgdesc="PKGBUILD for testing libretools"
+arch=(any)
+url=
+license=(GPL)
+
+depends=()
+makedepends=()
+
+source=(${_REPO_URL}/${pkgname}/${pkgname}-${pkgver}-nonfree.tar.gz{,.sig}
+ upstream.patch)
+
+sha256sums=(c4a3d2c7dfece8ff1e5f982f7d79d74960271476f6401c7ae5e8adac58bad957
+ SKIP
+ 82126a2be0589ab9b313186d954d5d90183f7b083d986b16d5d7c3587826c7c1)
+validpgpkeys=()
+
+# parabola mksource over-rides
+if $_MKSOURCE
+then mksource=( ${source[*]:0:${_N_MKSOURCES}} )
+ mksha256sums=( ${sha256sums[*]:0:${_N_MKSOURCES}} )
+ mkvalidpgpkeys=( ${validpgpkeys[*]} )
+ source=(${_REPO_URL}/${pkgname}/${pkgname}-${pkgver}-parabola.tar.gz
+ ${source[*]:${_N_MKSOURCES}})
+ sha256sums=(SKIP # the libre source-ball does not exist, intentionally
+ ${sha256sums[*]:${_N_MKSOURCES}})
+ if $_SIGN
+ then source+=(${_REPO_URL}/${pkgname}-libre/${pkgname}-${pkgver}-parabola.tar.gz.sig)
+ sha256sums+=(SKIP) # the libre source-ball signature (yours)
+ validpgpkeys=( 'YOUR GPG KEY' )
+ fi
+fi
+
+
+mksource()
+{
+ cd $pkgname-$pkgver
+
+ rm non-free
+}
+
+prepare()
+{
+ cd $pkgname-$pkgver
+
+ # technical patching
+ patch < "$srcdir"/upstream.patch
+
+ # network check
+ local net_check_url=https://repo.parabola.nu/check_network_status.txt
+ local online_msg="ERROR: the build chroot has internet access"
+ local offline_msg="ERROR: the build chroot does not have internet access"
+ local wants_internet=$($_WANTS_INTERNET ; echo $(( ! $? )) ;)
+ local has_internet=$(curl ${net_check_url} &> /dev/null ; echo $(( ! $? )) ;)
+ if (( wants_internet != has_internet ))
+ then $_WANTS_INTERNET && echo "${offline_msg}" || echo "${online_msg}"
+ return 1
+ fi
+}
+
+build()
+{
+ cd $pkgname-$pkgver
+}
+
+check()
+{
+ cd $pkgname-$pkgver
+
+ local wants_clean=$($_MKSOURCE ; echo $(( ! $? )) ;)
+ local is_clean=$([[ ! -e non-free ]] ; echo $(( ! $? )) ;)
+ (( wants_clean == is_clean ))
+
+ grep -q '^buggy - patched$' buggy
+}
+
+package_scratch-pkg()
+{
+ cd $pkgname-$pkgver
+
+ install=${pkgname}.install
+
+ cp buggy "$pkgdir"/
+}
+package_scratch-pkg-split1() { echo "package_scratch-pkg-split1()" ; }
+package_scratch-pkg-split2() { echo "package_scratch-pkg-split2()" ; }
diff --git a/pcr-testing/scratch-pkg/scratch-pkg.install b/pcr-testing/scratch-pkg/scratch-pkg.install
new file mode 100644
index 000000000..0cb7a812f
--- /dev/null
+++ b/pcr-testing/scratch-pkg/scratch-pkg.install
@@ -0,0 +1,11 @@
+avar=AVAR
+post_install() {
+ echo "post_install() pkgver+rel=$1"
+ echo "post_install() CARCH=$CARCH"
+ echo "post_install() avar=$avar"
+ ls usr/lib/modules/*-gnu-[0-9]-vanilla/vmlinuz
+}
+
+post_remove() {
+ echo "post_remove()=$@"
+}
diff --git a/pcr-testing/scratch-pkg/upstream.patch b/pcr-testing/scratch-pkg/upstream.patch
new file mode 100644
index 000000000..6cd188ed7
--- /dev/null
+++ b/pcr-testing/scratch-pkg/upstream.patch
@@ -0,0 +1,5 @@
+--- buggy 2024-04-03 00:51:42.856666645 -0400
++++ buggy 2024-04-03 00:53:08.229999979 -0400
+@@ -0,1 +1 @@
+-buggy
++buggy - patched
diff --git a/pcr/gmid/PKGBUILD b/pcr/gmid/PKGBUILD
index dcf2c6bee..2f21b17c9 100644
--- a/pcr/gmid/PKGBUILD
+++ b/pcr/gmid/PKGBUILD
@@ -6,11 +6,12 @@
# parabola changes and rationale:
# - delete unlicensed files
# - add openrc service files
+# - add support for armv7h and i686
# - pin to strongly-coupled dependency versions
pkgname=gmid
-pkgver=2.0.1
+pkgver=2.0.2
pkgrel=1
pkgdesc='Fast Gemini server written with security in mind.'
arch=('x86_64')
@@ -22,11 +23,16 @@ backup=(etc/conf.d/${pkgname}
etc/${pkgname}.conf)
depends=('libretls' 'libbsd')
source=(
- "https://ftp.omarpolo.com/$pkgname-$pkgver.tar.gz"
+ "https://ftp.omarpolo.com/$pkgname-$pkgver.tar.gz"
#"gmid.service" # parabola mksource over-ride
#"gmid.conf" # parabola mksource over-ride
)
-sha256sums=('e009e3684906d469fc99d29e5622b73f2eb569a6c93c920f48663aa8df8731e6')
+sha256sums=(
+ '61baf50d3d1c86d4ce4fceea9e422a336db4259b76052bbc8eec1d47abb417c9'
+ # parabola mksource over-ride
+ # parabola mksource over-ride
+)
+
# parabola mksource over-rides
mksource=( ${source[*]} )
@@ -38,7 +44,7 @@ source=(https://repo.parabola.nu/other/${pkgname}-libre/${pkgname}-${pkgver}.par
gmid.initd
gmid.conf
index.gmi)
-sha256sums=('4513e6c4909334626b7af64142b7bf0012e1bc52fd3138c103d0024ca801e9db'
+sha256sums=('d911214d0d4a75f0c9140d892afb3d2dac02c24f3e78cfdb60409afa0c155d3b'
'SKIP'
'946de0766343225068a0e3f38cb39a4a93ef312525dd775226b938cd08706b94'
'4d943727a57dbf5f246963c0f90ccc54919cc2296538457e6b16f29f7580d9d6'
@@ -168,7 +174,7 @@ build() {
package() {
# pin to strongly-coupled dependency versions
- depends=( ${depends[*]/libretls/} $(_version_constraint libretls) )
+ depends=( ${depends[*]/libretls/} $(_version_constraint libretls 3) )
cd "$srcdir"
diff --git a/pcr/icedove-bin/PKGBUILD b/pcr/icedove-bin/PKGBUILD
deleted file mode 100644
index 535238325..000000000
--- a/pcr/icedove-bin/PKGBUILD
+++ /dev/null
@@ -1,138 +0,0 @@
-# Maintainer: bill-auger <bill-auger@programmer.net>
-
-
-# FIXME: https://labs.parabola.nu/issues/3115
-# Binary packages are generally not acceptable.
-# Icedove has been unable to build for a long time though.
-# libre/icedove still works; but is quite out-of-date.
-# Ideally, let's fix libre/icedove and delete this package.
-
-
-# NOTE: Trisquel packages are not signed; but the repo databases are.
-# The database contains checksums of per-repo manifests;
-# and the manifests contain checksums of the packaged files.
-# The check() function verifies the signature of the database,
-# then verifies the manifest against its checksum in the database,
-# then verifies all package files against their checksums in the manifest.
-# That is why the makepkg integrity checks are used only for the signing key.
-
-
-pkgname=icedove-bin
-pkgver=115.8.1
-pkgrel=trisquel21
-pkgdesc="Email, RSS and newsgroup client with integrated spam filter (Trisquel binaries)"
-arch=(x86_64)
-url=http://www.trisquel.info
-# license=('MPL-2.0' 'GPL-2.0-only' 'LGPL-2.1-only') # TODO:
-license=(MPL2 GPL2 LGPL2.1)
-options=('!strip' '!emptydirs')
-
-# The 'depends' array is from the arch package.
-# The Trisquel binaries do not not link to most of these system sodeps.
-depends=(
- glibc
- gtk3 libgdk-3.so libgtk-3.so
- mime-types
- dbus # libdbus-1.so
- dbus-glib
- alsa-lib
- nss
- hunspell
- sqlite
- ttf-font
- libvpx # libvpx.so
- zlib
- bzip2 # libbz2.so
- botan2
- libwebp # libwebp.so libwebpdemux.so
- libevent
- libjpeg-turbo
- libffi # libffi.so
- nspr
- gcc-libs
- libx11
- libxrender
- libxfixes
- libxext
- libxcomposite
- libxdamage
- pango libpango-1.0.so
- cairo
- gdk-pixbuf2
- freetype2 # libfreetype.so
- fontconfig # libfontconfig.so
- glib2 libglib-2.0.so
- pixman # libpixman-1.so
- gnupg
- json-c
- libcanberra
- ffmpeg
- icu # libicui18n.so libicuuc.so
-)
-optdepends=(
- 'hunspell-en_us: Spell checking, American English'
- 'libotr: OTR support for active one-to-one chats'
- 'libnotify: Notification integration'
-)
-
-_upstream_name=icedove
-_deb_pkg=${_upstream_name}_${pkgver}+build1-0ubuntu0.22.04.1+11.0${pkgrel}_amd64.deb
-source=(http://us.archive.trisquel.info/trisquel/dists/aramo-updates/Release{,.gpg}
- http://us.archive.trisquel.info/trisquel/dists/aramo-updates/main/binary-amd64/Packages
- http://us.archive.trisquel.info/trisquel/pool/main/t/thunderbird/${_deb_pkg}
- trisquel-archive-signkey.gpg)
-sha256sums=(SKIP SKIP SKIP SKIP a69f9e3c192d4805c37f2975c59339a5a048057cef3c9bf156d1663305f589ca)
-validpgpkeys=('60364C9869F92450421F0C22B138CA450C05112F') # Trisquel GNU/Linux <trisquel-devel@trisquel.info>
-
-
-build()
-{
- mkdir pkg/
-
- ar x ${_deb_pkg}
- tar xf data.tar.zst --directory=pkg/
-}
-
-check()
-{
- readonly MANIFEST_RX="^ [0-9a-f]{64} [0-9]+ main/binary-amd64/Packages$"
- readonly PACKAGES_AWK="BEGIN { RS = \"Package:\" ; FS = \"\n\" } ( \$1 ~ /^ ${_upstream_name}$/ && \$3 ~ /${pkgver}.*${pkgrel}$/) { split(\$17 , a , \" \") ; split(\$18 , b , \" \") ; print a[2]\" \" b[2] }"
- readonly PKGS_SIZE_ERR="Packages: filesize mismatch"
- readonly PKGS_SUM_ERR="Packages: checksum mismatch"
- readonly DEB_SIZE_ERR=".deb: filesize mismatch"
- readonly DEB_SUM_ERR=".deb: checksum mismatch"
- readonly SUMS_ERR="checksums: not found"
- readonly FILES_SUM_ERR="files: checksum mismatch"
- local sum n_bytes filepath
-
- # validate repo manifest
- echo -e "\n== validating repo manifest =="
- gpg --import trisquel-archive-signkey.gpg
- gpg --verify Release.gpg Release
- read -r sum n_bytes _ < <(grep -E "${MANIFEST_RX}" Release | tail -n 1)
- sum+=" Packages"
- [[ "${n_bytes}" == "$(stat -c %s -L Packages)" ]] || ! echo "${PKGS_SIZE_ERR}" || return 1
- sha256sum --strict --check <(echo ${sum} ) || ! echo "${PKGS_SUM_ERR}" || return 1
-
- # validate binary package
- echo -e "\n== validating binary package =="
- read -r n_bytes sum < <(awk "${PACKAGES_AWK}" Packages)
- sum+=" ${_deb_pkg}"
- [[ "${n_bytes}" == "$(stat -c %s -L ${_deb_pkg})" ]] || ! echo "${DEB_SIZE_ERR}" || return 1
- sha256sum --strict --check <(echo ${sum}) || ! echo "${DEB_SUM_ERR}" || return 1
-
- # validate binary package contents
- echo -e "\n== validating binary package contents =="
- tar xf control.tar.zst ./md5sums
- cat md5sums
- (( $(stat -c %s -L md5sums) )) || ! echo "${SUMS_ERR}" || return 1
- while read sum filepath
- do sum+=" pkg/${filepath}"
- md5sum --strict --check <(echo ${sum}) || ! echo "${FILES_SUM_ERR}" || return 1
- done < md5sums
-}
-
-package()
-{
- cp -a pkg/* "${pkgdir}"/
-}
diff --git a/pcr/icedove-bin/trisquel-archive-signkey.gpg b/pcr/icedove-bin/trisquel-archive-signkey.gpg
deleted file mode 100644
index 54b2cabbb..000000000
--- a/pcr/icedove-bin/trisquel-archive-signkey.gpg
+++ /dev/null
@@ -1,113 +0,0 @@
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1.4.10 (GNU/Linux)
-
-mQGiBEWqgWsRBACyvlHQxUA6RnHvXLZTowvkja5RlfVea0jZze1y4qjmjJ+FKluu
-WKmLr68h0RQaGb6D9drhpDqcGyY/Hcvd4xe/Lbu7rZ2hXXW/7hPdWXLQe9sFnGFZ
-B3L3xy+nMZdQ2HvnYuqLK7gm6SWO6aoV7X8w63hj0pC75TWYY2COJ4O86wCgw0xL
-OORa0TC549VTbgRiAYq9yKsD/j2Y72cuQSfQlKDFb4AbknMCWdH+mUlEL2vcOP4l
-vjTO+0ekMK9QLBeZQQrV8Kbi5r3lWhEZLxEdFMXMrics/Z2DIZ4oOL+zxTatvc2K
-SVJoTjGyk8GxThdpa2WCRIe+Uf0Fm9gucuVkfUuk7W46SLyTYWFDRqa7IUtbnC+G
-QUFnA/986wzmODkuyipMKvFnVd+4/9ubfUV9DZ76StVr9+nx+sOi2GtK3AiHggLG
-yOw1Wnt1HIaopA7Y9olc7S6nnakMq6rpKA+MoFFSUmF18WfTs1ha9T+kTQ8JA00L
-N/9GacaAEDQwKqPWWO9FnRUN46m43ukG6/0uDT3G3ItdRhzewrRSVHJpc3F1ZWwg
-R05VL0xpbnV4IChUcmlzcXVlbCBHTlUvTGludXggc2lnbmluZyBrZXkpIDx0cmlz
-cXVlbC1kZXZlbEB0cmlzcXVlbC5pbmZvPohgBBMRAgAgBQJKqFs1AhsDBgsJCAcD
-AgQVAggDBBYCAwECHgECF4AACgkQtO+5842K6/GptQCgot6ILdUO7k7ZgSAPk4rX
-dYboGsUAnjLTU+Gyqcpk4aGEH7LlEfcLG1GhuQINBEWqgXEQCACs5IoPtgOMBGHu
-iz3Y48caxWNws6XZ2PedsX2GaPyuVTwraaW0pfrxT9pJgsR7NQOabQPUIdvMHAIK
-gowrVWzol3EuF9yoY601Zntzk/HAfMLm6QFQBykIpbRXpf5ts4aHCZuHredoxb+y
-bEvYbgCzEDIA+v8+2H8YvX1ji+fhFoXk0rbYRgUSoHsNsOR+xAvzYBpYtUeHtFua
-I0Yn5A+7AaobzlPRNssOyi5YpPBWKgrnGUi8hZ4S1MxyzEd5IO1uZjX46hP17QSc
-Bv5+iOVFBrsIb1jwVHcJ4RWRgCOwJgVXP6Bqurbp4iSX1H1FmEqTKNAeBGj0kCqZ
-BuLI4Ke7AAMGB/9igeS4U77kpXvG7+NmNhjnZM9hCKoa4a8ND/YBaj4YElR0eXv9
-9ayXVf12mWIKBMRs4qr/6JnuT0EqB3YBcGt2sYFFE/7Oy9/ZmSD1lS9ib9C3LsPa
-AgKSpL+2E/NtZtTjwQ77LCGYP7RMmGCSoLVwa2/KQNCFnWe+dfKR8A8ODHLsBK0U
-mr8j3uPZBFudaK2VcnBKf74kkaa7hcFJo5nkjXDwQdletkUG0RxlF/6QkzA/gphd
-MwRt8LYBs/8CWwJM73NiAB3+qEGJ0khiIct9MpZ/VCc4bKZ/w97qcwQ3zJMtvuCD
-rKzMS+Kyea4Wpy+DaGlAs2ZSUHvG3mo41bnfiEkEGBECAAkFAkWqgXECGwwACgkQ
-tO+5842K6/EoPACffP0BW9s0UyehOrXR0GhkcTEw5iYAoLjJ8WpzucaKz9w4Y1Sb
-7E05kXhA
-=zlqX
------END PGP PUBLIC KEY BLOCK-----
------BEGIN PGP PUBLIC KEY BLOCK-----
-Version: GnuPG v1
-
-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
-McDbwCjFQn2iazszZsg=
-=UAIm
------END PGP PUBLIC KEY BLOCK-----
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mQINBGNQMswBEACpaLnL36fWyve4zXHKrN7AjXl+g5cafQyei4j1saTLfQatdJed
-ubvcscZ3yERB+R0+8xuH2UqvR0E57ohZZaTiwcUWJ3VemxCZhwKy+Xvt1ZUNxBrh
-2qAJBcP0+UCskSfWb+QQ1twNIeQ8Raj+kRPGphlNmjYxF2CFOsw9c56Lz+jNyty9
-RC3Bg4l+Kcdhw23w5XBUXpHOyL6lsG317PWgEHUIQzNhXZfHL9GzwtTVQV8tVPyu
-MOQIa7KDFXUEEnRN31mVLzfNHqKtTgFfP2LnSiD3LsBYsqJUtAnFGyORHgKhddRg
-AKLrn1h0dEzkN+XsMaAWPrJg87ks7qXhhNz3SEI+t7dL4ozfUryRY9/8t/rXuQK+
-ffRO/63i8SaHdu1Sl8MgHsNZRFOlbYGPw73TpdJ3JvfmfPNrRcTzsU1arMML8GWs
-q6/QYDTWVYBYXy0kEqJQmeb3yJRvnIdVfiAdu9fyDPY8FCTUTcsxKe88u2bgrIaY
-pNdoNFXojIC9JvMUM5QakMeog+ocTrZFOyhRMKfq5KEV/IDvsx6BfQzpjvK27LgX
-LcdlP9HUVb9ZkKUgMGV1trqSA7kKrkDtfw+BInReTeSEnr4jsAwwiG62kDmmA4mo
-dFq1MsWTAJTvpeeK+86gYliZukt6076zPrszmDJIyJWwHCLFn1jVkn1tlQARAQAB
-tFpUcmlzcXVlbCBHTlUvTGludXggQXJjaGl2ZSBBdXRvbWF0aWMgU2lnbmluZyBL
-ZXkgKDExL2FyYW1vKSA8dHJpc3F1ZWwtZGV2ZWxAdHJpc3F1ZWwuaW5mbz6JAk4E
-EwEKADgCGwMFCwkIBwMFFQoJCAsFFgMCAQACHgECF4AWIQTSTdrJIm1bpenzvtP1
-2qr3StTJOAUCY1AzAgAKCRD12qr3StTJOIxbD/44B7Kv+26TBW6BIiUlp1iDsvoX
-yHk9yau41g6HjJR53KrFID4uszN9B+Cl+R0PjywfgC9OSSTKOjJq4/yQE00JpuF+
-HtWieshZJs8QFKLD+mZQfRVCQweqj9HZS8AFH02LYkdsXiv4LZLaNljcHEPC3Y34
-61xcg3viATgHL1ZJIPGT/vk425jQkEv9wjCjIvKsMhoE9EcqDBft9jKBC6H8LQwZ
-iIYYNf28WRIW/EbutPe+0B3YOuw3PT/o/x40ySLWIJARODxBCqJ0wEC4PI7lUiLg
-DGV0cUUykZz7BXKaIZIj+3wViR5zDGqIWx5TwdW2MJpDi9ove8N/3HaAc6BwQQXH
-acZohOBqf/BjTKXQufVzx1sMBxB+a5zp284uICX54y/mm9tPHWcOOtl+NYj5qk4A
-qn+vh433kNW622qJ8tt72kbcfaRekBnCj/A10U46TyWgZgMc7XxCc5r8slJWlhYZ
-bRgbWWvkyH1s0mzbkAyNwrNa0vafcxOxO9psc7LG4mLPBqLoKKPmYY5Vgu8fdlbb
-OLLFVvNhuTSX2ugkPfAp/XeWucQPJv3een1C1AWNcufhKYm1DZkYTGBeT8cbsw3T
-0JnpRad+Sm2VhLcQ8PHKHUUeklVqUMjyCHo32sydo+I1MjC3QWycolljno2un9HU
-TNAXG/1k2DzsqFPFjw==
-=LJyh
------END PGP PUBLIC KEY BLOCK-----
diff --git a/pcr/zulucrypt/PKGBUILD b/pcr/zulucrypt/PKGBUILD
index 2a68a315b..972978b7d 100644
--- a/pcr/zulucrypt/PKGBUILD
+++ b/pcr/zulucrypt/PKGBUILD
@@ -2,25 +2,26 @@
# Created: 2013-03-17
# Maintainer: Aurélien Desbrières <aurelien@hackers.camp>
+
# parabola changes and rationale:
-# - added .install file to update desktop database
+# - added support for armv7h
+
pkgname=zulucrypt
-pkgver=5.4.0
+pkgver=6.2.0
pkgrel=1
_altpkgname=zuluCrypt
pkgdesc="A cli and gui frontend to cryptsetup"
-url="http://mhogomchungu.github.io/${_altpkgname}"
-arch=('x86_64' 'i686' 'armv7h')
+url="https://mhogomchungu.github.io/${_altpkgname}"
+arch=('x86_64' 'i686')
+arch+=('armv7h')
license=('GPL')
depends=('cryptsetup' 'qt5-base' 'libpwquality' 'libsecret' 'libxkbcommon-x11' )
optdepends=('kwalletmanager: retrieve volume keys from kde kwallet')
-conflicts=('zulucrypt-git')
makedepends=('cmake')
-source=("https://github.com/mhogomchungu/zuluCrypt/releases/download/${pkgver}/${_altpkgname}-${pkgver}.tar.bz2")
-md5sums=('420a7375229e52a2b8458ceb63ff9ee5')
-sha256sums=('6cb499a1e9ec0f23f9411b192df5260eda601ac33c836e17370de2a33876b3e8')
-install=${pkgname}.install
+source=("https://github.com/mhogomchungu/zuluCrypt/releases/download/${pkgver}/${_altpkgname}-${pkgver}.tar.xz")
+md5sums=('ca53ef782f84ac62d0e95ec0fc03ad1c')
+sha256sums=('090f3d561add1c5a5fc5158bf346155d43e2b42e7c47939a403ae2f8dcf8eaa3')
build() {
cd "${srcdir}/${_altpkgname}-${pkgver}"
diff --git a/pcr/zulucrypt/zulucrypt.install b/pcr/zulucrypt/zulucrypt.install
deleted file mode 100644
index 0113edd54..000000000
--- a/pcr/zulucrypt/zulucrypt.install
+++ /dev/null
@@ -1,9 +0,0 @@
-post_install() {
- update-desktop-database -q
-}
-post_upgrade() {
- post_install
-}
-post_remove() {
- post_install
-}
diff --git a/scripts/package-all-acpi_call-tp_smapi b/scripts/package-all-acpi_call-tp_smapi
index 8ff5f8a7a..8f617e05e 100755
--- a/scripts/package-all-acpi_call-tp_smapi
+++ b/scripts/package-all-acpi_call-tp_smapi
@@ -5,6 +5,7 @@ readonly KERNEL_VER=6.5.8
readonly KERNEL_LTS_VER=5.15.88
readonly CHROOT_NAMES=( armv7h i686 x86_64 )
readonly ABS_ROOT=/var/lib/archbuild/abslibre # no spaces
+readonly ABS_UPSTREAM=parabola
readonly PKG_DIRS=( ${ABS_ROOT}/libre/acpi_call{-dkms,,-lts} # -dkms first
${ABS_ROOT}/libre/tp_smapi{,-lts} ) # no trailing slashes
readonly PKGBUILDS=( ${PKG_DIRS[*]/%/\/PKGBUILD} )
@@ -17,10 +18,12 @@ Main()
local all_pkgs=()
local commit_msg=''
+ echo -e "\nupgrading chroots\n"
for chroot in ${CHROOT_NAMES[*]}
do sudo librechroot -n ${chroot} update || exit 1
done
+ echo -e "\nbuilding packages\n"
for pkg_dir in ${PKG_DIRS[*]}
do kver=$( [[ "${pkg_dir}" =~ -lts$ ]] && echo ${KERNEL_LTS_VER} || echo ${KERNEL_VER} )
pkgs=()
@@ -67,4 +70,7 @@ Main()
}
-Main
+if git pull $ABS_UPSTREAM master &> /dev/null
+then Main
+else echo "failed to synchronize abslibre VCS - is the working tree dirty?"
+fi