-#!/bin/sh
-set -o errexit
-
-# First argument of this script is the package name
-
-# Reading system configuration informations, functions and package versions.
-source ../sysinfos
-source ../functions
-source ../packages-list
-
-# Applying patches (if any)
-apply_patches ${1}
-
-if [ x${INST_TYPE} = "xworkstation" ]; then
- USE_X_OPTION="yes"
-else
- USE_X_OPTION="no"
-fi
-
-hv_groupadd saned
-hv_useradd -c saned -d /dev/null -g saned -s /bin/false saned
-
-# Problem with build directory
-cd ${LFS_TMP}/${1}
-
-# Fixes an obsolete udev parameter:
-sed -i 's/SYSFS/ATTRS/g' tools/sane-desc.c
-
-./configure \
- --prefix=/usr \
- --sysconfdir=/etc \
- --with-x=${USE_X_OPTION}
-make
-make install
-install -m 644 -v tools/udev/libsane.rules /etc/udev/rules.d/65-scanner.rules
-
-# Addition to /etc/services (for both the client and server)
-string_add "sane 6566/tcp saned # SANE Network Scanner Daemon" \
- /etc/services
-
-# Creating '/etc/sane.d/dll.conf' and adding entry 'net'
-echo "net" > /etc/sane.d/dll.conf
-
-if [ -z "${SANE_SERVER}" ]; then
- # If 'SANE_SERVER' is not defined, then we automatically configure for
- # the SANE Network Daemon.
-
- # Adding entry to '/etc/sane.d/dll.conf'
- #######echo "${SANE_DRIVER}" >> /etc/sane.d/dll.conf
-
- # Creating '/etc/sane.d/saned.conf'
- echo "${LAN_NETWORK_MASK}" > /etc/sane.d/saned.conf
-
- # Addition to /etc/inetd.conf
- string_add "sane stream tcp nowait saned /usr/sbin/tcpd saned" \
- /etc/inetd.conf
-else
- # If 'SANE_SERVER' is defined, then we must specify the address of the
- # remote SANE server to use.
- echo "${SANE_SERVER}" > /etc/sane.d/net.conf
-fi
-
-exit $?
+#!/bin/bash
+
+hvconfig_pre()
+{
+ local USE_X_OPTION
+
+ if [ x${INST_TYPE} = "xworkstation" ]; then
+ USE_X_OPTION="yes"
+ else
+ USE_X_OPTION="no"
+ fi
+
+ # Add group for UDEV rules
+ hv_groupadd scanner
+
+ hv_groupadd saned
+ hv_useradd -c saned -d /dev/null -g saned -s /bin/false saned
+
+ # Fixes an obsolete udev parameter:
+ sed -i 's/SYSFS/ATTRS/g' ${LFS_TMP}/${PACKAGE}/tools/sane-desc.c
+
+ CONFIGURE_OPTS=" \
+ ${CONFIGURE_OPTS} \
+ --with-x=${USE_X_OPTION}"
+}
+
+hvbuild_post()
+{
+ install -v -m 644 tools/udev/libsane.rules \
+ /etc/udev/rules.d/65-scanner.rules
+
+ # Addition to /etc/services (for both the client and server)
+ string_add "sane 6566/tcp saned # SANE Network Scanner Daemon" \
+ /etc/services
+
+ # Creating '/etc/sane.d/dll.conf' and adding entry 'net'
+ echo "net" > /etc/sane.d/dll.conf
+
+ if [ -z "${SANE_SERVER}" ]; then
+ # If 'SANE_SERVER' is not defined, then we automatically configure for
+ # the SANE Network Daemon.
+
+ # Adding entry to '/etc/sane.d/dll.conf'
+ #######echo "${SANE_DRIVER}" >> /etc/sane.d/dll.conf
+
+ # Creating '/etc/sane.d/saned.conf'
+ echo "${LAN_NETWORK_MASK}" > /etc/sane.d/saned.conf
+
+ # Addition to xinetd
+ cat > /etc/xinetd.d/saned << "EOF"
+service sane
+{
+ disable = no
+ socket_type = stream
+ protocol = tcp
+ wait = no
+ user = saned
+ server = /usr/sbin/saned
+ log_type = SYSLOG local4 info
+}
+EOF
+ else
+ # If 'SANE_SERVER' is defined, then we must specify the address of the
+ # remote SANE server to use.
+ echo "${SANE_SERVER}" > /etc/sane.d/net.conf
+ fi
+}