From b8316f899070e25a0e9ea290100701bd9fac6660 Mon Sep 17 00:00:00 2001 From: EnumDev Date: Mon, 1 Sep 2025 16:56:14 +0300 Subject: [PATCH] Split package --- pkg.info | 12 +++++++++--- source.sh | 36 +++++++++++++++++++++++++++++------- 2 files changed, 38 insertions(+), 10 deletions(-) diff --git a/pkg.info b/pkg.info index 6ff2da7..2c2d777 100644 --- a/pkg.info +++ b/pkg.info @@ -1,11 +1,17 @@ name: cups description: An open-source printing system version: 2.4.7 -revision: 3 +revision: 4 url: https://openprinting.github.io/cups/ license: Apache2 with LLVM-exception and BSD-3-Clause and Zlib and BSD-2-Clause architecture: any -depends: ["acl", "dbus", "gcc-libs", "glibc", "gnutls", "hicolor-icon-theme", "sysusers", "pam", "udev"] -optional_depends: ["xdg-utils"] +optional_depends: ["libusb","xdg-utils"] +make_depends: ["acl","dbus","gnutls","libusb","pam","udev"] keep: ["etc/cups/client.conf"] type: source +split_packages: + - name: cups + depends: ["acl", "dbus", "gcc-libs", "glibc", "gnutls", "hicolor-icon-theme", "libcups", "sysusers", "pam", "udev"] + - name: libcups + description: Library and header files for the CUPS printing system + depends: ["glibc","gnutls","zlib"] diff --git a/source.sh b/source.sh index b552471..bb60980 100644 --- a/source.sh +++ b/source.sh @@ -15,23 +15,45 @@ prepare() { # The build function is executed in the source directory # This function is used to compile the source code build() { - sed -i 's#@CUPS_HTMLVIEW@#firefox#' desktop/cups.desktop.in + sed -i 's#@CUPS_HTMLVIEW@#xdg-open#' desktop/cups.desktop.in - ./configure --libdir=/usr/lib --localstatedir=/var --disable-systemd --with-rundir=/run/cups --with-system-groups=lpadmin + ./configure --libdir=/usr/lib --localstatedir=/var --disable-systemd --with-rundir=/run/cups make } # The package function is executed in the source directory # This function is used to move the compiled files into the output directory -package() { - make DESTDIR="$BPM_OUTPUT" install - +package_cups() { + make DESTDIR="$BPM_OUTPUT" install-data install-exec + + # Remove program that is installed by libcups + rm "$BPM_OUTPUT"/usr/bin/cups-config + + # Remove SysV files + rm -rf "$BPM_OUTPUT"/etc/rd*.d + rm -rf "$BPM_OUTPUT"/etc/init.d + + # Create default cups client config install -d "$BPM_OUTPUT"/etc/cups echo "ServerName /run/cups/cups.sock" > "$BPM_OUTPUT"/etc/cups/client.conf + # Install sysusesrs install -Dm644 "$BPM_WORKDIR"/sysusers "$BPM_OUTPUT"/usr/lib/sysusers.d/cups.conf - + + # Install ESVM service install -Dm644 "$BPM_WORKDIR"/cupsd.esv "$BPM_OUTPUT"/etc/esvm/services/cupsd.esv - install -Dm644 "$BPM_SOURCE"/LICENSE "$BPM_OUTPUT"/usr/share/licenses/cups/LICENSE + # Install package license + install -d "$BPM_OUTPUT"/usr/share/licenses/ + ln -sf libcups "$BPM_OUTPUT"/usr/share/licenses/cups +} + +package_libcups() { + make DESTDIR="$BPM_OUTPUT" install-libs install-headers + + # Install program required by other software to locate the libraries + install -Dm755 "$BPM_SOURCE"/cups-config "$BPM_OUTPUT"/usr/bin/cups-config + + # Install package license + install -Dm644 "$BPM_SOURCE"/{LICENSE,NOTICE} -t "$BPM_OUTPUT"/usr/share/licenses/libcups/ }