Import and update p910nd package 158/head
authorPhilipp Kerling <pkerling@casix.org>
Sun, 3 Aug 2014 21:28:28 +0000 (23:28 +0200)
committerPhilipp Kerling <pkerling@casix.org>
Sun, 3 Aug 2014 21:28:28 +0000 (23:28 +0200)
Signed-off-by: Philipp Kerling <pkerling@casix.org>
net/p910nd/Makefile [new file with mode: 0644]
net/p910nd/files/p910nd.config [new file with mode: 0644]
net/p910nd/files/p910nd.init [new file with mode: 0644]

diff --git a/net/p910nd/Makefile b/net/p910nd/Makefile
new file mode 100644 (file)
index 0000000..d07ee1a
--- /dev/null
@@ -0,0 +1,59 @@
+#
+# Copyright (C) 2009-2014 OpenWrt.org
+#
+# This is free software, licensed under the GNU General Public License v2.
+# See /LICENSE for more information.
+#
+
+include $(TOPDIR)/rules.mk
+
+PKG_NAME:=p910nd
+PKG_VERSION:=0.97
+PKG_RELEASE:=4
+
+PKG_SOURCE:=$(PKG_NAME)-$(PKG_VERSION).tar.bz2
+PKG_SOURCE_URL:=@SF/p910nd
+PKG_LICENSE:=GPLv2
+PKG_LICENSE_FILES:=COPYING
+PKG_MD5SUM:=69461a6c54dca0b13ecad5b83864b43e
+PKG_MAINTAINER:=Philipp Kerling <pkerling@casix.org>
+
+PKG_INSTALL:=1
+
+include $(INCLUDE_DIR)/package.mk
+
+define Package/p910nd
+  SECTION:=net
+  CATEGORY:=Network
+  SUBMENU:=Printing
+  TITLE:=A small non-spooling printer server
+  URL:=http://p910nd.sourceforge.net
+endef
+
+define Package/p910nd/conffiles
+/etc/config/p910nd
+endef
+
+define Package/p910nd/description
+ p910nd is a small daemon that copies any data received on
+ the port it is listening on to the corresponding printer
+ port. It is primarily intended for diskless Linux hosts
+ running as printer drivers but there is no reason why it
+ could not be used on diskful hosts. Port 9100 is copied
+ to /dev/lp0, 9101 to /dev/lp1 and 9102 to /dev/lp2. The
+ default is port 9100 to /dev/lp0.
+endef
+
+MAKE_FLAGS += \
+       CFLAGS="$(TARGET_CFLAGS) -DLOCKFILE_DIR=\"\\\"/tmp\"\\\""
+
+define Package/p910nd/install
+       $(INSTALL_DIR) $(1)/usr/sbin
+       $(CP) $(PKG_INSTALL_DIR)/usr/sbin/p910nd $(1)/usr/sbin/
+       $(INSTALL_DIR) $(1)/etc/config
+       $(INSTALL_DATA) ./files/p910nd.config $(1)/etc/config/p910nd
+       $(INSTALL_DIR) $(1)/etc/init.d
+       $(INSTALL_BIN) ./files/p910nd.init $(1)/etc/init.d/p910nd
+endef
+
+$(eval $(call BuildPackage,p910nd))
diff --git a/net/p910nd/files/p910nd.config b/net/p910nd/files/p910nd.config
new file mode 100644 (file)
index 0000000..d509035
--- /dev/null
@@ -0,0 +1,5 @@
+config p910nd
+       option device        /dev/usb/lp0
+       option port          0
+       option bidirectional 1
+       option enabled       0
diff --git a/net/p910nd/files/p910nd.init b/net/p910nd/files/p910nd.init
new file mode 100644 (file)
index 0000000..8757551
--- /dev/null
@@ -0,0 +1,51 @@
+#!/bin/sh /etc/rc.common
+# Copyright (C) 2007 OpenWrt.org
+START=50
+
+append_bool() {
+       local section="$1"
+       local option="$2"
+       local value="$3"
+       local _val
+       config_get_bool _val "$section" "$option" '0'
+       [ "$_val" -gt 0 ] && append args "$3"
+}
+
+append_string() {
+       local section="$1"
+       local option="$2"
+       local value="$3"
+       local _val
+       config_get _val "$section" "$option"
+       [ -n "$_val" ] && append args "$3$_val"
+}
+
+start_service() {
+       local section="$1"
+       args=""
+
+       append_bool "$section" bidirectional "-b"
+       append_string "$section" device "-f "
+       append_string "$section" bind "-i "
+       append_string "$section" port ""
+       config_get_bool "enabled" "$section" "enabled" '1'
+       [ "$enabled" -gt 0 ] && /usr/sbin/p910nd $args
+}
+
+stop_service() {
+       local section="$1"
+       config_get port "$section" port
+
+       PID_F=/var/run/p910${port}d.pid
+       [ -f $PID_F ] && kill $(cat $PID_F)
+}
+
+start() {
+       config_load "p910nd"
+       config_foreach start_service p910nd
+}
+
+stop() {
+       config_load "p910nd"
+       config_foreach stop_service p910nd
+}