diff options
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, <ime); + 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 |