summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
l---------remote/modules/printergui/data/etc/systemd/system/network.target.wants/printergui.service1
-rw-r--r--remote/modules/printergui/data/etc/systemd/system/printergui.service8
-rwxr-xr-xremote/modules/printergui/data/opt/openslx/scripts/systemd-printergui_preparation20
-rw-r--r--remote/modules/printergui/printergui.build10
-rw-r--r--remote/modules/printergui/printergui.conf4
-rwxr-xr-xremote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-run_virt2
6 files changed, 39 insertions, 6 deletions
diff --git a/remote/modules/printergui/data/etc/systemd/system/network.target.wants/printergui.service b/remote/modules/printergui/data/etc/systemd/system/network.target.wants/printergui.service
new file mode 120000
index 00000000..40453c80
--- /dev/null
+++ b/remote/modules/printergui/data/etc/systemd/system/network.target.wants/printergui.service
@@ -0,0 +1 @@
+../printergui.service \ No newline at end of file
diff --git a/remote/modules/printergui/data/etc/systemd/system/printergui.service b/remote/modules/printergui/data/etc/systemd/system/printergui.service
new file mode 100644
index 00000000..8b00514c
--- /dev/null
+++ b/remote/modules/printergui/data/etc/systemd/system/printergui.service
@@ -0,0 +1,8 @@
+[Unit]
+Description=Printergui - bwLehrpool printing system
+Requires=network.target graphical.target
+After=network.target
+Before=cups.service
+
+[Service]
+ExecStart=/opt/openslx/scripts/systemd-printergui_preparation
diff --git a/remote/modules/printergui/data/opt/openslx/scripts/systemd-printergui_preparation b/remote/modules/printergui/data/opt/openslx/scripts/systemd-printergui_preparation
new file mode 100755
index 00000000..33a861e6
--- /dev/null
+++ b/remote/modules/printergui/data/opt/openslx/scripts/systemd-printergui_preparation
@@ -0,0 +1,20 @@
+#!/bin/ash
+
+ERR=0
+SRCDIR=/usr/lib/cups/backend
+DESTDIR=/opt/openslx/cups/backend
+PRINTPWGUI=/opt/openslx/cups/printpwgui
+
+if [ ! -d "$DESTDIR" ]; then
+ mkdir -p "$DESTDIR" || exit 1
+fi
+
+mv "$SRCDIR"/* "$DESTDIR"
+
+cd "$SRCDIR"
+for i in "$DESTDIR"/*; do
+ ln -sf "$PRINTPWGUI" $(basename "$i")
+done
+
+exit 0
+
diff --git a/remote/modules/printergui/printergui.build b/remote/modules/printergui/printergui.build
index a11469d2..62b7c103 100644
--- a/remote/modules/printergui/printergui.build
+++ b/remote/modules/printergui/printergui.build
@@ -9,13 +9,15 @@ fetch_source() {
build() {
local SRCDIR="${MODULE_DIR}/src/"
+ local DESTDIR="$MODULE_BUILD_DIR/opt/openslx/cups"
- mkdir -p "$MODULE_BUILD_DIR/opt/openslx/bin"
- cd "${MODULE_BUILD_DIR}/opt/openslx/bin" || perror "Could not cd!"
- pinfo "Running qmake"
- qmake "$SRCDIR/src/printergui.pro" -r -spec linux-g++ || perror "'qmake' failed (e.g. not installed)."
+ mkdir -p "$DESTDIR"
+ cd "$DESTDIR" || perror "Could not cd to $DESTDIR!"
+ pinfo "Running cmake"
+ cmake "$SRCDIR/" || perror "'cmake' failed (e.g. not installed)."
pinfo "Running make"
make || perror "'make' failed."
+ chmod 0700 "$DESTDIR/printpwgui" # So picky cupsd won't drop privileges to lp
}
post_copy() {
mkdir -p "${TARGET_BUILD_DIR}/var/spool/STANDARD"
diff --git a/remote/modules/printergui/printergui.conf b/remote/modules/printergui/printergui.conf
index c556444e..7abb1899 100644
--- a/remote/modules/printergui/printergui.conf
+++ b/remote/modules/printergui/printergui.conf
@@ -1,7 +1,9 @@
REQUIRED_GIT="git://git.openslx.org/openslx-ng/printergui.git"
-REQUIRED_COMMIT="e36d365f291702528f8bd47d2f9"
+#REQUIRED_COMMIT="e36d365f291702528f8bd47d2f9"
+REQUIRED_COMMIT="HEAD"
REQUIRED_BINARIES="
printergui
+ printpwgui
"
REQUIRED_SYSTEM_FILES="
"
diff --git a/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-run_virt b/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-run_virt
index 49fd98d4..9442635a 100755
--- a/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-run_virt
+++ b/remote/modules/vmchooser/data/opt/openslx/scripts/vmchooser-run_virt
@@ -445,7 +445,7 @@ QUEUE="STANDARD"
# FixMe: Solution for general printer redirection in other cases (iptables on outgoing port)
tcpsvd -E 192.168.101.1 5515 \
lpd "$SPOOLDIR" \
- sh -c "printergui $USER $SPOOLDIR/$QUEUE/\$DATAFILE" &
+ sh -c "/opt/openslx/cups/printergui $USER $SPOOLDIR/$QUEUE/\$DATAFILE" &
# PID to kill the process
PID_LPD="$!"