Mercurial > vanilla
changeset 700:98351d3f57eb
print/cups: initial import, closes #1232
author | David Demelier <markand@malikania.fr> |
---|---|
date | Fri, 02 Aug 2019 20:10:00 +0200 |
parents | 8182d6faba08 |
children | 5bfa4495b02a |
files | core/etc/group core/etc/passwd print/cups/cups.sh print/cups/cups.sha1 print/cups/cupsd |
diffstat | 5 files changed, 195 insertions(+), 19 deletions(-) [+] |
line wrap: on
line diff
--- a/core/etc/group Fri Aug 02 04:53:16 2019 +0200 +++ b/core/etc/group Fri Aug 02 20:10:00 2019 +0200 @@ -7,21 +7,21 @@ messagebus::6: nobody::7: games::8: -mem::9: -kmem::10: -wheel::11:root -adm::12:root,daemon -sys::13:root,bin -mlocate::14: -dialout::15: -tty::16: -audio::17: -video::18: -floppy::19: -tape::20: -scanner::21: -cdrom::22: -input::23: -kvm::24: -disk::25:root -lp::26:daemon +lp::9:daemon +mem::10: +kmem::11: +wheel::12:root +adm::13:root,daemon +sys::14:root,bin +mlocate::15: +dialout::16: +tty::17: +audio::18: +video::19: +floppy::20: +tape::21: +scanner::22: +cdrom::23: +input::24: +kvm::25: +disk::26:root
--- a/core/etc/passwd Fri Aug 02 04:53:16 2019 +0200 +++ b/core/etc/passwd Fri Aug 02 20:10:00 2019 +0200 @@ -6,4 +6,5 @@ www:x:5:5:www:/var/www:/bin/nologin messagebus:x:6:6::/var/empty:/bin/nologin nobody:x:7:7:nobody:/var/empty:/bin/nologin -games:x:7:7:nobody:/var/empty:/bin/nologin +games:x:8:8:nobody:/var/empty:/bin/nologin +lp:x:9:9:nobody:/var/empty:/bin/nologin
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/print/cups/cups.sh Fri Aug 02 20:10:00 2019 +0200 @@ -0,0 +1,100 @@ +#!/bin/sh +# +# Copyright (c) 2019 David Demelier <markand@malikania.fr> +# +# Permission to use, copy, modify, and/or distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +# + +# TODO: add AVAHI option + +PKGNAME=cups +PKGVERSION=2.2.11 +PKGREVISION=1 +PKGLICENSE="GPLv2" +PKGSUMMARY="the CUPS printing system" +PKGDOWNLOAD="https://github.com/apple/cups/releases/download/v$PKGVERSION/$PKGNAME-$PKGVERSION-source.tar.gz" +PKGOPTIONS="ACL DBUS PAM" +PKGPROTECT="etc/cups/cups-files.conf + etc/cups/cupsd.conf + etc/cups/snmp.conf + etc/rc.d/cupsd" + +: ${CHOST:=$(uname -m)-linux-musl} +: ${CBUILD:=$(uname -m)-linux-musl} +: ${CC:=clang} +: ${CFLAGS:=-O2} +: ${CXX:=clang++} +: ${CXXFLAGS:=-O2} +: ${LDFLAGS:=} +: ${LIBS:=} +: ${ACL:=no} +: ${DBUS:=yes} +: ${PAM:=yes} + +if [ "$ACL" = "yes" ]; then + with_acl="--enable-acl" +else + with_acl="--disable-acl" +fi + +if [ "$DBUS" = "yes" ]; then + PKGDEPENDS="network/dbus $PKGDEPENDS" + with_dbus="--enable-dbus" +else + with_dbus="--disable-bus" +fi + +if [ "$PAM" = "yes" ]; then + PKGDEPENDS="security/linux-pam $PKGDEPENDS" + with_pam="--enable-pam" +else + with_pam="--disable-pam" +fi + +build() +{ + rm -rf $PKGNAME-$PKGVERSION + tar xvf $PKGNAME-$PKGVERSION-source.tar.gz + cd $PKGNAME-$PKGVERSION + + # --without-rcdir: do not install custom init scripts. + CC="$CC" \ + CFLAGS="$CFLAGS" \ + CXX="$CXX" \ + CXXFLAGS="$CXXFLAGS" \ + LDFLAGS="$LDFLAGS" \ + LIBS="$LIBS" \ + ./configure \ + --build=$CBUILD \ + --host=$CHOST \ + --prefix= \ + --sbindir=/bin \ + --disable-static \ + --disable-systemd \ + --enable-shared \ + --without-rcdir \ + --with-cups-user=lp \ + --with-cups-group=lp \ + --with-system-groups=wheel \ + --with-icondir=/share/icons \ + --with-menudir=/share/applications \ + $with_acl \ + $with_dbus \ + $with_pam + make + make install BUILDROOT=$DESTDIR + install -Dm0644 ../cupsd $DESTDIR/etc/rc.d/cupsd + + cd .. + rm -rf $PKGNAME-$PKGVERSION +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/print/cups/cups.sha1 Fri Aug 02 20:10:00 2019 +0200 @@ -0,0 +1,1 @@ +b995f520becc6c3e74b89165f689fe8255c86ba5 cups-2.2.11-source.tar.gz
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/print/cups/cupsd Fri Aug 02 20:10:00 2019 +0200 @@ -0,0 +1,74 @@ +#!/bin/sh +# +# /etc/rc.d/cupsd -- run control script for cupsd +# +# Copyright (c) 2019 David Demelier <markand@malikania.fr> +# +# Permission to use, copy, modify, and/or distribute this software for any +# purpose with or without fee is hereby granted, provided that the above +# copyright notice and this permission notice appear in all copies. +# +# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES +# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF +# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR +# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES +# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN +# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF +# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. +# + +if [ -f /etc/rc.conf ]; then + . /etc/rc.conf +fi + +: ${TEMPLATE_CMD:=/bin/cupsd} +: ${TEMPLATE_ARGS:=} +: ${TEMPLATE_PID:=/var/run/cups/cupsd.pid} + +cupsd_start() +{ + echo "Starting cupsd: $TEMPLATE_CMD $TEMPLATE_ARGS" + $TEMPLATE_CMD $TEMPLATE_ARGS -p $TEMPLATE_PID +} + +cupsd_status() +{ + if [ -s $TEMPLATE_PID ]; then + echo "cupsd is running with pid: $(cat $TEMPLATE_PID)" + else + echo "cupsd is not running" + fi +} + +cupsd_stop() +{ + if [ -s $TEMPLATE_PID ]; then + echo "Stopping cupsd." + kill -QUIT $(cat $TEMPLATE_PID) + fi +} + +cupsd_restart() +{ + cupsd_stop + sleep 3 + cupsd_start +} + +case $1 in +start) + cupsd_start + ;; +status) + cupsd_status + ;; +stop) + cupsd_stop + ;; +restart) + cupsd_restart + ;; +*) + echo "usage: $(basename $0) restart|start|status|stop" + ;; +esac