Merge remote-tracking branch 'ms/wsdd' into next

This commit is contained in:
Michael Tremer 2024-02-28 16:44:06 +00:00
commit bed265cc5a
7 changed files with 267 additions and 0 deletions

View File

@ -0,0 +1,2 @@
etc/rc.d/init.d/wsdd
usr/bin/wsdd

89
lfs/wsdd Normal file
View File

@ -0,0 +1,89 @@
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2024 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
# #
###############################################################################
###############################################################################
# Definitions
###############################################################################
include Config
VER = 0.7.1
SUMMARY = A Web Service Discovery host daemon.
THISAPP = wsdd-$(VER)
DL_FILE = $(THISAPP).tar.gz
DL_FROM = $(URL_IPFIRE)
DIR_APP = $(DIR_SRC)/$(THISAPP)
TARGET = $(DIR_INFO)/$(THISAPP)
PROG = wsdd
PAK_VER = 1
DEPS =
SERVICES = wsdd
###############################################################################
# Top-level Rules
###############################################################################
objects = $(DL_FILE)
$(DL_FILE) = $(DL_FROM)/$(DL_FILE)
$(DL_FILE)_BLAKE2 = ce43022c3bd9f7ff1fd7169ac0d5ab6b2ff78d35c221c05b2e20908a5772d563ab2aca571d4e6ae48a55d19d4adcb9cde60f720ae47af8ee950198224fcfdb26
install : $(TARGET)
check : $(patsubst %,$(DIR_CHK)/%,$(objects))
download :$(patsubst %,$(DIR_DL)/%,$(objects))
b2 : $(subst %,%_BLAKE2,$(objects))
dist:
@$(PAK)
###############################################################################
# Downloading, checking, b2sum
###############################################################################
$(patsubst %,$(DIR_CHK)/%,$(objects)) :
@$(CHECK)
$(patsubst %,$(DIR_DL)/%,$(objects)) :
@$(LOAD)
$(subst %,%_BLAKE2,$(objects)) :
@$(B2SUM)
###############################################################################
# Installation Details
###############################################################################
$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects))
@$(PREBUILD)
@rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE)
cd $(DIR_APP) && cp src/wsdd.py /usr/bin/wsdd
#install initscripts
$(call INSTALL_INITSCRIPTS,$(SERVICES))
@rm -rf $(DIR_APP)
@$(POSTBUILD)

View File

@ -1711,6 +1711,7 @@ buildipfire() {
lfsmake2 perl-URI-Encode
lfsmake2 rsnapshot
lfsmake2 mympd
lfsmake2 wsdd
# Kernelbuild ... current we have no platform that need
# multi kernel builds so KCFG is empty

View File

@ -0,0 +1,78 @@
#!/bin/sh
###############################################################################
# #
# IPFire.org - A linux based firewall #
# Copyright (C) 2007-2024 IPFire Team <info@ipfire.org> #
# #
# This program is free software: you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation, either version 3 of the License, or #
# (at your option) any later version. #
# #
# This program is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with this program. If not, see <http://www.gnu.org/licenses/>. #
# #
###############################################################################
. /etc/sysconfig/rc
. $rc_functions
eval $(/usr/local/bin/readhash /var/ipfire/ethernet/settings)
PIDFILE="/var/run/wsdd.pid"
case "$1" in
start)
ARGS=(
# Launch as non-privileged user
"--user" "wsdd:wsdd"
# Launch in chroot
"--chroot" "/var/run/wsdd"
# Only use IPv4
"--ipv4only"
# Configure the workgroup
"--workgroup" "$(testparm -s --parameter-name workgroup 2>/dev/null)"
)
# Conditionally add the GREEN/BLUE interface
for intf in GREEN_DEV BLUE_DEV; do
if [ -n "${!intf}" ]; then
ARGS+=( "--interface" "${!intf}" )
fi
done
# Create chroot directory for wsdd
mkdir -p /var/run/wsdd
boot_mesg "Starting Web Service Discovery Host Daemon..."
loadproc -b -p "${PIDFILE}" /usr/bin/wsdd "${ARGS[@]}"
;;
stop)
boot_mesg "Stopping Web Service Discovery Host Daemon..."
killproc -p "${PIDFILE}" /usr/bin/wsdd
;;
status)
statusproc /usr/bin/wsdd
;;
restart)
$0 stop
$0 start
;;
*)
echo "Usage: $0 (start|stop|status|restart)"
exit 1
;;
esac

40
src/paks/wsdd/install.sh Normal file
View File

@ -0,0 +1,40 @@
#!/bin/bash
############################################################################
# #
# This file is part of the IPFire Firewall. #
# #
# IPFire is free software; you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation; either version 2 of the License, or #
# (at your option) any later version. #
# #
# IPFire is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with IPFire; if not, write to the Free Software #
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
# #
# Copyright (C) 2007 IPFire-Team <info@ipfire.org>. #
# #
############################################################################
#
. /opt/pakfire/lib/functions.sh
# If the wsdd user does not exist yet, then create it and add to wsdd group.
if ! getent user wsdd >/dev/null; then
useradd -r -U -d / -s /bin/false -c "wsdd user" wsdd
usermod -a -G wsdd wsdd
fi
extract_files
restore_backup ${NAME}
# Create startlinks
ln -sf ../init.d/wsdd /etc/rc.d/rc0.d/K35wsdd
ln -sf ../init.d/wsdd /etc/rc.d/rc3.d/S65wsdd
ln -sf ../init.d/wsdd /etc/rc.d/rc6.d/K35wsdd
start_service ${NAME}
exit 0

View File

@ -0,0 +1,30 @@
#!/bin/bash
############################################################################
# #
# This file is part of the IPFire Firewall. #
# #
# IPFire is free software; you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation; either version 2 of the License, or #
# (at your option) any later version. #
# #
# IPFire is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with IPFire; if not, write to the Free Software #
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
# #
# Copyright (C) 2007 IPFire-Team <info@ipfire.org>. #
# #
############################################################################
#
. /opt/pakfire/lib/functions.sh
stop_service ${NAME}
make_backup ${NAME}
remove_files
# Remove all start links.
rm -rf /etc/rc.d/rc*.d/*wsdd
exit 0

27
src/paks/wsdd/update.sh Normal file
View File

@ -0,0 +1,27 @@
#!/bin/bash
############################################################################
# #
# This file is part of the IPFire Firewall. #
# #
# IPFire is free software; you can redistribute it and/or modify #
# it under the terms of the GNU General Public License as published by #
# the Free Software Foundation; either version 2 of the License, or #
# (at your option) any later version. #
# #
# IPFire is distributed in the hope that it will be useful, #
# but WITHOUT ANY WARRANTY; without even the implied warranty of #
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
# GNU General Public License for more details. #
# #
# You should have received a copy of the GNU General Public License #
# along with IPFire; if not, write to the Free Software #
# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA #
# #
# Copyright (C) 2007-2020 IPFire-Team <info@ipfire.org>. #
# #
############################################################################
#
. /opt/pakfire/lib/functions.sh
extract_backup_includes
./uninstall.sh
./install.sh