as announced in https://twitter.com/yacy_search/status/1414608643241152516 because of lack of community support for these kind of distributions. We will still support tarball, Windows, Mac and Docker releases.pull/419/head
parent
73360ed52b
commit
c4659f0fb0
@ -1,305 +0,0 @@
|
||||
# Author: Franz Brauße <mike-nought@gmx.de>
|
||||
# Date: 14.10.2006
|
||||
# based on the spec-file of 0.48-3
|
||||
# Distributed under the terms of the GNU General Public Licens v2
|
||||
|
||||
Summary: P2P search engine, web-crawler and proxy
|
||||
Name: yacy
|
||||
Version: @REPL_VERSION@_@REPL_REVISION_NR@
|
||||
Release: 3
|
||||
License: GPL
|
||||
Group: Application/Internet
|
||||
Source0: git@github.com:yacy/yacy_search_server.git
|
||||
URL: http://yacy.net
|
||||
Requires: bash
|
||||
Requires: sudo
|
||||
Requires: coreutils
|
||||
Requires: util-linux
|
||||
Requires: grep
|
||||
Requires: sed
|
||||
Requires: wget
|
||||
Requires: jre >= 1.4.2
|
||||
BuildArch: noarch
|
||||
BuildRoot: @REPL_YACY_ROOT_DIR@/RELEASE/BUILD
|
||||
Packager: Franz Brauße <mike-nought@gmx.de>
|
||||
|
||||
%description
|
||||
YaCy is a Java-based peer-2-peer search engine.
|
||||
|
||||
It contains a proxy which gathers all the web-pages
|
||||
you retrieve with it. All private data stays private and
|
||||
is not indexed or processed in any way. Furthermore
|
||||
you'll get a individual .yacy-domain which makes you
|
||||
independent of the traditional DNS system.
|
||||
|
||||
Also included in YaCy is a Wiki, a P2P-message-system, a
|
||||
Blog and a bookmark management system. YaCy can be configured
|
||||
to set special limits for proxy-users i.e. a maximum quota or
|
||||
online-time.
|
||||
|
||||
%package libx
|
||||
Summary: Addon package containing parsers, etc.
|
||||
License: GPL
|
||||
Group: Application/Internet
|
||||
Requires: yacy
|
||||
|
||||
%description libx
|
||||
This package contains the following parsers:
|
||||
OpenDocument V2, MimeType, Rich Text Format, Word Document,
|
||||
vCard, rpm, Bzip2, Acrobat Portable Document, RSS/Atom Feed,
|
||||
Zip, tar, Power Point, gzip
|
||||
|
||||
Additionally it allows port forwarding via secure channel,
|
||||
seed uploading via SCP and provides a SOAP API.
|
||||
|
||||
# %prep # nothing to be done here, ant already prepared everything nicely for us
|
||||
|
||||
# %build # ant did this for us as well... such a nice tool
|
||||
|
||||
%pre
|
||||
# check whether group 'yacy' already exists, if not it will be created
|
||||
#if ! getent group yacy >> /dev/null; then
|
||||
# echo "adding group yacy"
|
||||
# groupadd -r yacy
|
||||
#fi
|
||||
# check whether user 'yacy' already exists, if not it will be created
|
||||
if ! getent passwd yacy >> /dev/null; then
|
||||
echo "adding user yacy"
|
||||
useradd yacy -p `dd count=1 if=/dev/urandom status=noxfer 2> /dev/null | md5sum | cut -c0-15` -r
|
||||
fi
|
||||
|
||||
%install
|
||||
cd ../..
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
# define directories yacy will use
|
||||
YACYCDIR="/usr/share/yacy" # all the other shit
|
||||
YACYDDIR="/usr/share/doc/yacy" # documentation
|
||||
YACYLDIR="/usr/lib/yacy" # classes / jars
|
||||
DATADIR="/var/lib/yacy" # DB, SETTINGS, WORK, etc. - all in DATA
|
||||
LOGDIR="/var/log/yacy" # logs of yacy, basically DATA/LOG
|
||||
|
||||
install -d ${RPM_BUILD_ROOT}{$YACYCDIR,$YACYDDIR,$YACYLDIR/libx,$DATADIR,$LOGDIR}
|
||||
|
||||
# copy all other files
|
||||
cp -r htroot locales ranking skins ${RPM_BUILD_ROOT}$YACYCDIR/
|
||||
cp -r defaults classes lib libx ${RPM_BUILD_ROOT}$YACYLDIR/
|
||||
cp -r doc ${RPM_BUILD_ROOT}$YACYDDIR/
|
||||
cp *.sh build.properties superseed.txt httpd.mime yacy.badwords.example yacy.logging yacy.stopwords* yacy.yellow ${RPM_BUILD_ROOT}$YACYCDIR/
|
||||
cp AUTHORS COPYRIGHT ChangeLog gpl.txt readme.txt ${RPM_BUILD_ROOT}$YACYDDIR/
|
||||
|
||||
install -m 744 *.sh ${RPM_BUILD_ROOT}$YACYCDIR/ # start/stop/kill scripts
|
||||
rm -r `find ${RPM_BUILD_ROOT}/ -type d -name '.svn'` # delete unwanted .svn-folders
|
||||
rm -r `find ${RPM_BUILD_ROOT}/ -type d -name '.git'` # delete unwanted .git-folders
|
||||
|
||||
# location for init-script
|
||||
install -d ${RPM_BUILD_ROOT}/etc/init.d/
|
||||
|
||||
%post
|
||||
# link DATA- and LOG-directories to YaCy-folder
|
||||
ln -s /usr/lib/yacy/classes /usr/share/yacy/classes # classes linken
|
||||
ln -s /usr/lib/yacy/lib /usr/share/yacy/lib # lib linken
|
||||
ln -s /usr/lib/yacy/libx /usr/share/yacy/libx # libx linken
|
||||
|
||||
ln -s /var/lib/yacy /usr/share/yacy/DATA # DATA linken
|
||||
echo "created link /usr/share/yacy/DATA -> /var/lib/yacy" # user-feedback
|
||||
|
||||
if [ ! -L /var/lib/yacy/LOG ]; then
|
||||
ln -s /var/log/yacy /var/lib/yacy/LOG # LOG linken
|
||||
echo "created link /var/lib/yacy/LOG -> /var/log/yacy" # user-feedback
|
||||
fi
|
||||
|
||||
if [ ! -e /var/lib/yacy/SETTINGS ]; then
|
||||
mkdir /var/lib/yacy/SETTINGS;
|
||||
chown yacy /var/lib/yacy/SETTINGS;
|
||||
fi
|
||||
if [ ! -e /etc/yacy ]; then ln -s /var/lib/yacy/SETTINGS /etc/yacy; fi # SETTINGS linken
|
||||
|
||||
chown yacy -R /var/lib/yacy
|
||||
chown yacy -R /var/log/yacy
|
||||
chmod +x /usr/share/yacy/startYACY.sh
|
||||
chmod +x /usr/share/yacy/stopYACY.sh
|
||||
chmod +x /usr/share/yacy/killYACY.sh
|
||||
|
||||
## language check - not wanted
|
||||
#LNG=""
|
||||
#LNT=""
|
||||
#if [ ! -z $LC_TYPE ]; then LNT=${LC_TYPE%_*}; fi
|
||||
#if [ ! -z $LANG ]; then LNT=${LANG%_*}; fi
|
||||
#if [ $LNT == de -o $LNT == it -o $LNT == sk ]; then # translation exists
|
||||
# # test whether settings-directory exists
|
||||
# if [ ! -d /var/lib/yacy/SETTINGS ]; then mkdir /var/lib/yacy/SETTINGS; chown yacy:root /var/lib/yacy/SETTINGS; fi
|
||||
# echo "htLocaleSelection=$LNT.lng" >> /var/lib/yacy/SETTINGS/yacy.conf
|
||||
# chown yacy:root /var/lib/yacy/SETTINGS/yacy.conf
|
||||
#fi
|
||||
|
||||
|
||||
# we need an init-script
|
||||
cat > /etc/init.d/yacy <<EOF
|
||||
#!/bin/sh
|
||||
# YaCy init script
|
||||
# Author: Franz Brauße <mike-nought@gmx.de>
|
||||
# Date: 14.10.2006
|
||||
# License: Distributed under the terms of the GNU General Public Licens v2
|
||||
# This file belongs to the YaCy RPM package
|
||||
|
||||
# TODO
|
||||
# - save PID when started in debug-mode
|
||||
|
||||
### BEGIN INIT INFO
|
||||
# Provides: yacy
|
||||
# Required-Start: $network
|
||||
# Required-Stop: $network
|
||||
# Default-Start: 3 5
|
||||
# Default-Stop:
|
||||
# Description: yacy is a distributed search engine
|
||||
# config-file is /etc/yacy/yacy.conf
|
||||
### END INIT INFO
|
||||
|
||||
YACY_HOME="/usr/share/yacy"
|
||||
DATA_HOME="/var/lib/yacy"
|
||||
PID_FILE="/var/run/yacy.pid"
|
||||
|
||||
JAVA=\`which java\ 2> /dev/null\`
|
||||
if [ ! -x "\$JAVA" ]; then
|
||||
echo "The 'java' command is not executable."
|
||||
echo "Either you have not installed java or it is not in your PATH"
|
||||
#Cron supports setting the path in
|
||||
#echo "Has this script been invoked by CRON?"
|
||||
#echo "if so, please set PATH in the crontab, or set the correct path in the variable in this script."
|
||||
if [ \$1 == "stop" -a \$2 == "--force" ]; then exit 0; else exit 1; fi
|
||||
fi
|
||||
|
||||
# get arguments for java
|
||||
if [ -f \$DATA_HOME/SETTINGS/yacy.conf ]; then
|
||||
i=\`grep javastart_Xmx \$DATA_HOME/SETTINGS/yacy.conf\`;
|
||||
JAVA_MAX="-\${i#javastart_Xmx=}";
|
||||
fi
|
||||
|
||||
CLASSPATH="\$YACY_HOME/classes:."
|
||||
for N in \$YACY_HOME/lib/*.jar; do CLASSPATH="\$CLASSPATH:\$N"; done
|
||||
if [ -d \$YACY_HOME/libx ]; then
|
||||
for N in \$YACY_HOME/libx/*.jar; do CLASSPATH="\$CLASSPATH:\$N"; done
|
||||
fi
|
||||
|
||||
ME=\$0
|
||||
if [ "\$1" = "restart" ]; then
|
||||
shift
|
||||
\$ME stop
|
||||
\$ME start \$*
|
||||
exit 0
|
||||
fi
|
||||
|
||||
WTF=\$1; shift
|
||||
if [ "\$1" == "--max" ]; then JAVA_MAX="-Xmx\$2"; shift; shift; fi
|
||||
if [ "\$1" == "--nice" ]; then NICE="nice -n \$2"; shift; shift; fi
|
||||
if [ "\$1" == "--debug" ]; then DEBUG="-d"; shift; fi
|
||||
shift
|
||||
cd \$YACY_HOME
|
||||
|
||||
if [ "\$JAVA_MAX" == "-" ]; then JAVA_MAX=""; fi
|
||||
if [ "\$JAVA_MIN" == "-" ]; then JAVA_MIN=""; fi
|
||||
|
||||
case "\$WTF" in
|
||||
start)
|
||||
if [ -e \$PID_FILE ]; then
|
||||
echo "YaCy seems to be running. If not, delete the file \$PID_FILE."
|
||||
exit 1
|
||||
fi
|
||||
echo -n "Starting YaCy... "
|
||||
CMD="sudo -u yacy \$NICE \$JAVA -Djava.awt.headless=true \$JAVA_MAX \$JAVA_MIN -classpath \$CLASSPATH yacy \$* & pid=\\\$!; echo \\\$pid > \$PID_FILE"
|
||||
if [ \$DEBUG ]; then
|
||||
\$CMD
|
||||
else
|
||||
eval \$CMD &> /dev/null
|
||||
fi
|
||||
echo "done"
|
||||
exit 0
|
||||
;;
|
||||
stop)
|
||||
echo "Shutting down YaCy, please be patient. Waiting maximal 60 seconds before killing the process... "
|
||||
\$YACY_HOME/stopYACY.sh
|
||||
if [ ! -e \$PID_FILE ]; then
|
||||
echo "PID-file not found: YaCy doesn't appear to be running. You eventually have to kill the process yourself."
|
||||
exit 1
|
||||
else
|
||||
pid=\`cat \$PID_FILE\`
|
||||
fi
|
||||
i=0
|
||||
while test -d /proc/\$pid; do
|
||||
sleep 2;
|
||||
i=\$[i+2];
|
||||
if [ \$i -ge 60 ]; then
|
||||
echo -n "Now killing: ";
|
||||
kill -9 \$pid;
|
||||
echo "done"
|
||||
break;
|
||||
fi
|
||||
done
|
||||
rm \$PID_FILE
|
||||
exit 0
|
||||
;;
|
||||
status)
|
||||
echo -n "YaCy is "
|
||||
if [ ! -e \$PID_FILE -o ! -d /proc/`cat \$PID_FILE` ]; then
|
||||
echo -n "not "
|
||||
fi
|
||||
echo "running."
|
||||
exit 0
|
||||
;;
|
||||
kill)
|
||||
echo -n "Killing YaCy: "
|
||||
kill -9 \`cat \$PID_FILE\`
|
||||
rm \$PID_FILE
|
||||
echo "done"
|
||||
exit 0
|
||||
;;
|
||||
*)
|
||||
echo "Usage: /etc/init.d/yacy {start|restart} [--max RAM] [--min RAM] [--nice LEVEL] [--debug] [YACY_ARGUMENTS]"
|
||||
echo " {stop|kill|status}"
|
||||
echo ""
|
||||
echo " --max RAM[{k|M|G}] Maximum RAM YaCy may use"
|
||||
echo " --min RAM[{k|M|G}] Initial RAM YaCY shall use"
|
||||
echo " --nice LEVEL Enter desired nice-level of YaCy-process"
|
||||
echo " --debug Active mode, process will not be backgrounded"
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
EOF
|
||||
#chmod +x /etc/init.d/yacy
|
||||
chmod 744 /etc/init.d/yacy
|
||||
|
||||
%preun
|
||||
if [ -x /etc/init.d/yacy ]; then /etc/init.d/yacy stop --force; fi
|
||||
|
||||
%postun
|
||||
rm -r /usr/share/yacy
|
||||
rm -r /usr/lib/yacy
|
||||
rm -r /usr/share/doc/yacy
|
||||
if [ -e /etc/init.d/yacy ]; then rm -f /etc/init.d/yacy; fi
|
||||
if [ `getent passwd yacy` ]; then userdel yacy &> /dev/null; fi
|
||||
|
||||
%clean
|
||||
rm -rf $RPM_BUILD_ROOT
|
||||
|
||||
%files
|
||||
%config %dir /var/lib/yacy/
|
||||
%dir /var/log/yacy/
|
||||
%attr (755,root,root) /usr/share/yacy/startYACY.sh
|
||||
%attr (755,root,root) /usr/share/yacy/stopYACY.sh
|
||||
%attr (755,root,root) /usr/share/yacy/killYACY.sh
|
||||
%defattr(644,root,root,755)
|
||||
/usr/share/yacy/*
|
||||
/usr/lib/yacy/lib/*
|
||||
/usr/lib/yacy/classes/*
|
||||
%doc /usr/share/doc/yacy/*
|
||||
|
||||
%changelog
|
||||
* Fri Oct 20 2006 Franz Brauße <mike-nought@gmx.de>
|
||||
- added Packager-Tag
|
||||
- marked documentation-files as such
|
||||
- fixed permissions
|
||||
|
||||
* Sat Oct 14 2006 Franz Brauße <mike-nought@gmx.de>
|
||||
- initial spec file based on yacy-0.48-3.spec
|
||||
- some adaptions for build with ant
|
@ -1,326 +0,0 @@
|
||||
dnl automatically generate initscripts for different distros
|
||||
dnl by Florian Richter <Florian_Richter@gmx.de>
|
||||
dnl
|
||||
define(helptext, `Usage:
|
||||
m4 -DopenSUSE yacyInit.m4 > yacy.init.openSUSE
|
||||
or: m4 -DDebian yacyInit.m4 > yacy.init.Debian
|
||||
or: m4 -DFedora yacyInit.m4 > yacy.init.Fedora
|
||||
or: m4 -DArchLinux yacyInit.m4 > yacy.init.ArchLinux
|
||||
')dnl
|
||||
ifdef(`openSUSE',, ifdef(`ArchLinux',, ifdef(`Fedora',, ifdef(`Debian',,````errprint(helptext())m4exit(0)''''))))dnl
|
||||
#!/bin/bash
|
||||
#
|
||||
# init script for YaCy
|
||||
#
|
||||
# Provided by Matthias Kempka, 26.12.2004
|
||||
# Updated by Florian Richter, 17.7.2008
|
||||
#
|
||||
ifdef(`Fedora', `
|
||||
# chkconfig: - 20 80
|
||||
# description: Distributed web search engine
|
||||
')dnl
|
||||
### BEGIN INIT INFO
|
||||
# Provides: yacy
|
||||
# Required-Start: $network
|
||||
# Required-Stop: $network
|
||||
ifdef(`openSUSE', `
|
||||
# Default-Start: 3 5
|
||||
')dnl
|
||||
ifdef(`Debian', `
|
||||
# Default-Start: 2 3 4 5
|
||||
')dnl
|
||||
ifdef(`Fedora', `
|
||||
# Default-Start: 3 5
|
||||
')dnl
|
||||
ifdef(`Mandriva', `
|
||||
# Default-Start: 3 5
|
||||
')dnl
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: Distributed web search engine
|
||||
# Description: yacy is a distributed search engine
|
||||
# config-file is /etc/yacy/yacy.conf
|
||||
### END INIT INFO
|
||||
|
||||
NAME="yacy"
|
||||
DESC="YaCy P2P Web Search"
|
||||
YACY_HOME="/usr/share/yacy"
|
||||
DATA_HOME="/var/lib/yacy"
|
||||
PID_FILE="/var/run/yacy.pid"
|
||||
USER=yacy
|
||||
|
||||
|
||||
# Set this to the maximum number of seconds the script should try to shutdown
|
||||
# yacy. You might want to increase this on slower peers or for bigger
|
||||
# databases.
|
||||
SHUTDOWN_TIMEOUT=50
|
||||
|
||||
# Default niceness if not set in config file
|
||||
NICE_VAL=0
|
||||
|
||||
JAVA_ARGS="-server -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Dsolr.directoryFactory=solr.MMapDirectoryFactory"
|
||||
|
||||
ifdef(`openSUSE', `dnl
|
||||
. /etc/rc.status
|
||||
rc_reset
|
||||
|
||||
')dnl
|
||||
ifdef(`ArchLinux', `dnl
|
||||
[ -f /etc/profile.d/jre.sh ] && . /etc/profile.d/jre.sh
|
||||
|
||||
[ -f /etc/conf.d/yacy ] && . /etc/conf.d/yacy
|
||||
|
||||
. /etc/rc.conf
|
||||
. /etc/rc.d/functions
|
||||
|
||||
')dnl
|
||||
ifdef(`Fedora', `dnl
|
||||
# Source function library.
|
||||
. /etc/rc.d/init.d/functions
|
||||
|
||||
[ -e /etc/sysconfig/$NAME ] && . /etc/sysconfig/$NAME
|
||||
')dnl
|
||||
if [ "$(id -u)" != "0" -a "$(whoami)" != "$USER" ] ; then
|
||||
echo "please run this script as root!"
|
||||
exit 4
|
||||
fi
|
||||
|
||||
JAVA=$(which java 2> /dev/null)
|
||||
if [ ! -x "$JAVA" ]; then
|
||||
echo "The 'java' command is not executable."
|
||||
echo "Either you have not installed java or it is not in your PATH"
|
||||
if [ $1 == "stop" -a $2 == "--force" ]; then exit 0; else exit 1; fi
|
||||
fi
|
||||
|
||||
cd $YACY_HOME
|
||||
|
||||
#get javastart args
|
||||
if [ -s DATA/SETTINGS/yacy.conf ]
|
||||
then
|
||||
# startup memory
|
||||
for i in Xmx Xms; do
|
||||
j=$(grep javastart_$i DATA/SETTINGS/yacy.conf | sed 's/^[^=]*=//');
|
||||
if [ -n $j ]; then JAVA_ARGS="-$j $JAVA_ARGS"; fi;
|
||||
done
|
||||
|
||||
# Priority
|
||||
j=$(grep javastart_priority DATA/SETTINGS/yacy.conf | sed 's/^[^=]*=//');
|
||||
|
||||
if [ ! -z "$j" ];then
|
||||
if [ -n $j ]; then NICE_VAL=$j; fi;
|
||||
fi
|
||||
|
||||
else
|
||||
JAVA_ARGS="-Xmx120m $JAVA_ARGS"
|
||||
fi
|
||||
|
||||
# generating the proper classpath
|
||||
CP=/usr/share/java/yacy.jar:$YACY_HOME/htroot
|
||||
for name in /usr/share/java/yacy/*.jar; do
|
||||
CP=$CP:$name
|
||||
done
|
||||
ifdef(`Debian', `
|
||||
CP="$CP:/usr/share/java/javatar.jar"
|
||||
CP="$CP:/usr/share/java/commons-httpclient.jar"
|
||||
CP="$CP:/usr/share/java/commons-fileupload.jar"
|
||||
CP="$CP:/usr/share/java/commons-logging.jar"
|
||||
CP="$CP:/usr/share/java/commons-codec.jar"
|
||||
CP="$CP:/usr/share/java/commons-discovery.jar"
|
||||
CP="$CP:/usr/share/java/commons-io.jar"
|
||||
CP="$CP:/usr/share/java/pdfbox.jar"
|
||||
CP="$CP:/usr/share/java/bcprov.jar"
|
||||
CP="$CP:/usr/share/java/bcmail.jar"
|
||||
CP="$CP:/usr/share/java/jakarta-poi.jar"
|
||||
CP="$CP:/usr/share/java/jakarta-poi-scratchpad.jar"
|
||||
CP="$CP:/usr/share/java/oro.jar"
|
||||
CP="$CP:/usr/share/java/xerces.jar"
|
||||
CP="$CP:/usr/share/java/jsch.jar"
|
||||
CP="$CP:/usr/share/java/ant.jar" # bzip-stuff
|
||||
CP="$CP:/usr/share/java/jmimemagic.jar"
|
||||
CP="$CP:/usr/share/java/log4j-1.2.jar"
|
||||
CP="$CP:/usr/share/java/odfutils.jar"
|
||||
CP="$CP:/usr/share/java/jrpm.jar"
|
||||
CP="$CP:/usr/share/java/tmextractors.jar"
|
||||
CP="$CP:/usr/share/java/servlet-api.jar"
|
||||
CP="$CP:/usr/share/java/j7zip.jar"
|
||||
')dnl
|
||||
CLASSPATH=$CP
|
||||
|
||||
if [ -f $PID_FILE ]; then
|
||||
pid=$(cat "$PID_FILE")
|
||||
pidno=$( ps ax | grep "$pid" | awk '{ print $1 }' | grep "$pid" )
|
||||
fi
|
||||
|
||||
RETVAL=0
|
||||
case "$1" in
|
||||
start)
|
||||
if [ -n "$pidno" ]; then
|
||||
echo "already running"
|
||||
exit 0
|
||||
fi
|
||||
ifdef(`openSUSE', `
|
||||
echo -n "Starting $DESC. "
|
||||
')dnl
|
||||
ifdef(`Debian', `
|
||||
echo -n "Starting $DESC: "
|
||||
')dnl
|
||||
ifdef(`Fedora', `
|
||||
echo -n "Starting $DESC: "
|
||||
')dnl
|
||||
ifdef(`ArchLinux', `
|
||||
stat_busy "Starting YaCy Daemon"
|
||||
')dnl
|
||||
ARGS="$JAVA_ARGS -classpath $CLASSPATH net.yacy.yacy"
|
||||
define(`START_YACY_WITH_START_STOP_DAEMON',`
|
||||
/sbin/start-stop-daemon --start --background --make-pidfile --chuid $USER\
|
||||
--pidfile $PID_FILE --chdir $YACY_HOME --startas $JAVA\
|
||||
--nicelevel $NICE_VAL\
|
||||
-- $ARGS
|
||||
')dnl
|
||||
define(`START_YACY_WITH_SUDO', `
|
||||
cmdline="$JAVA $ARGS"
|
||||
if [ "$(whoami)" != "$USER" ]; then
|
||||
nice -$NICE_VAL sudo -u yacy $cmdline &>/dev/null &
|
||||
else
|
||||
nice -$NICE_VAL $cmdline &>/dev/null &
|
||||
fi
|
||||
echo $! >$PID_FILE
|
||||
')dnl
|
||||
ifdef(`ArchLinux', `START_YACY_WITH_SUDO()')dnl
|
||||
ifdef(`openSUSE', `START_YACY_WITH_SUDO()')dnl
|
||||
ifdef(`Fedora', `START_YACY_WITH_SUDO()')dnl
|
||||
ifdef(`Debian', `START_YACY_WITH_START_STOP_DAEMON()')dnl
|
||||
sleep 1
|
||||
ps ax|grep "^ *$(cat $PID_FILE)" > /dev/null
|
||||
if [ "$?" == "0" ]; then
|
||||
ifdef(`Debian', `
|
||||
echo "$NAME."
|
||||
')dnl
|
||||
ifdef(`Fedora', `
|
||||
echo
|
||||
')dnl
|
||||
ifdef(`openSUSE', `
|
||||
rc_status -v
|
||||
')dnl
|
||||
ifdef(`ArchLinux', `
|
||||
add_daemon yacy
|
||||
chown yacy:root /var/run/daemons/yacy
|
||||
stat_done
|
||||
')dnl
|
||||
RETVAL=0
|
||||
chown yacy:root $PID_FILE
|
||||
else
|
||||
ifdef(`Debian', `
|
||||
echo "failed."
|
||||
')dnl
|
||||
ifdef(`Fedora', `
|
||||
echo
|
||||
')dnl
|
||||
ifdef(`openSUSE', `
|
||||
rc_failed
|
||||
rc_status -v
|
||||
')dnl
|
||||
ifdef(`ArchLinux', `
|
||||
stat_fail
|
||||
')dnl
|
||||
RETVAL=1
|
||||
fi
|
||||
;;
|
||||
|
||||
stop)
|
||||
if [ -n "$pidno" ]; then
|
||||
ifdef(`openSUSE', `
|
||||
echo -n "Shutting down $DESC: "
|
||||
')dnl
|
||||
ifdef(`Debian', `
|
||||
echo -n "Stopping $DESC: "
|
||||
')dnl
|
||||
ifdef(`Fedora', `
|
||||
echo -n "Stopping $DESC: "
|
||||
')dnl
|
||||
ifdef(`ArchLinux', `
|
||||
stat_busy "Stopping YaCy Daemon"
|
||||
')dnl
|
||||
cd $YACY_HOME
|
||||
cmdline="$JAVA $JAVA_ARGS -cp $CLASSPATH net.yacy.yacy -shutdown"
|
||||
if [ "$(whoami)" != "$USER" ]; then
|
||||
sudo -u yacy $cmdline &>/dev/null &
|
||||
else
|
||||
$cmdline &>/dev/null &
|
||||
fi
|
||||
shutdown_pid=$!
|
||||
|
||||
timeout=$SHUTDOWN_TIMEOUT
|
||||
while [ -n "$pidno" ]; do
|
||||
let timeout=$timeout-1
|
||||
if [ $timeout -eq 0 ]; then
|
||||
kill -9 $pid &>/dev/null
|
||||
break
|
||||
fi
|
||||
echo -n "."
|
||||
sleep 1
|
||||
pidno=$( ps ax | grep $pid | awk '{ print $1 }' | grep $pid )
|
||||
done
|
||||
|
||||
# dont forget to kill shutdown process if necessary
|
||||
shutdown_pid=$( ps ax | grep $shutdown_pid | awk '{ print $1 }' | grep $shutdown_pid )
|
||||
if [ -n "$shutdown_pid" ] ; then
|
||||
kill -9 $shutdown_pid &>/dev/null
|
||||
fi
|
||||
|
||||
if [ "$2" != "--leave-pidfile" ]; then
|
||||
rm $PID_FILE
|
||||
ifdef(`ArchLinux', `
|
||||
rm_daemon yacy
|
||||
')dnl
|
||||
fi
|
||||
cd - >/dev/null
|
||||
ifdef(`Debian', `
|
||||
echo "$NAME."
|
||||
')dnl
|
||||
ifdef(`Fedora', `
|
||||
echo
|
||||
')dnl
|
||||
ifdef(`openSUSE', `
|
||||
rc_status -v
|
||||
')dnl
|
||||
ifdef(`ArchLinux', `
|
||||
stat_done
|
||||
')dnl
|
||||
exit 0
|
||||
fi
|
||||
echo "not running."
|
||||
;;
|
||||
|
||||
restart)
|
||||
$0 stop --leave-pidfile
|
||||
sleep 3
|
||||
$0 start
|
||||
;;
|
||||
reload)
|
||||
$0 restart
|
||||
;;
|
||||
force-reload)
|
||||
$0 restart
|
||||
;;
|
||||
status)
|
||||
# needed by Fedora
|
||||
if [ -n "$pidno" ]; then
|
||||
echo "is running."
|
||||
exit 0
|
||||
else
|
||||
if [ -f $PID_FILE ]; then
|
||||
echo "is dead, but pid file exists."
|
||||
exit 1
|
||||
else
|
||||
echo "is not running."
|
||||
exit 3
|
||||
fi
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $0 {start|stop|restart}" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit $RETVAL
|
@ -1,35 +0,0 @@
|
||||
yacyInit.sh - start/stop script
|
||||
provided by Matthias Kempka, 26.12.2004
|
||||
|
||||
INSTALLATION:
|
||||
This installation is tested on Debian systems. It is likely that other
|
||||
distributions have other paths.
|
||||
|
||||
1. copy yacyInit.sh (the init skript) to /etc/init.d
|
||||
2. edit /etc/init.d/yacyInit.sh and set the variables
|
||||
DAEMON_DIR - the installation directory of yacy (the direcory
|
||||
where the file startYACY.sh is).
|
||||
USER - the user whose rights the proxy should have. This should not
|
||||
be root. The user must have write access to DAEMON_DIR.
|
||||
PATH - The default path should be ok for most systems. Ensure that java is
|
||||
in the path, though.
|
||||
3. Link /etc/init.d in the runlevel-directories, these are the
|
||||
directories where the scripts reside that are called when entering
|
||||
a runlevel. On Debian systems, these are /etc/rc0.d, /etc/rc1.d and
|
||||
so on. I.e., as root issue the following commands. Note, that these
|
||||
settings are ok for Debian systems and most likely have to be
|
||||
adapted to work on other systems. Please write to lists@mkempka.de
|
||||
for comments on that.
|
||||
|
||||
ln -s /etc/init.d/yacyInit.sh /etc/rc0.d/K05yacyInit.sh
|
||||
ln -s /etc/init.d/yacyInit.sh /etc/rc1.d/K05yacyInit.sh
|
||||
ln -s /etc/init.d/yacyInit.sh /etc/rc2.d/S95yacyInit.sh
|
||||
ln -s /etc/init.d/yacyInit.sh /etc/rc3.d/S95yacyInit.sh
|
||||
ln -s /etc/init.d/yacyInit.sh /etc/rc4.d/S95yacyInit.sh
|
||||
ln -s /etc/init.d/yacyInit.sh /etc/rc5.d/S95yacyInit.sh
|
||||
ln -s /etc/init.d/yacyInit.sh /etc/rc6.d/K05yacyInit.sh
|
||||
|
||||
|
||||
TODO:
|
||||
- find log possibility when starting via the start-skript
|
||||
- create concept which user should start yacy
|
@ -1,120 +0,0 @@
|
||||
#!/usr/bin/env sh
|
||||
#
|
||||
# init script for the HTTP Proxy: YaCy
|
||||
#
|
||||
# Provided by Matthias Kempka, 26.12.2004
|
||||
|
||||
### BEGIN INIT INFO
|
||||
# Provides: yacy
|
||||
# Required-Start: $network
|
||||
# Required-Stop: $network
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: Distributed web search engine
|
||||
# Description: yacy is a distributed search engine config-file is <yacy_search_server>/DATA/SETTINGS/yacy.conf
|
||||
### END INIT INFO
|
||||
|
||||
# ensure java is in the path
|
||||
PATH=/sbin:/bin:/usr/sbin:/usr/local/bin:/usr/bin
|
||||
# installation directory
|
||||
DAEMON_DIR=/opt/yacy
|
||||
# set to the user whose rights the proxy will gain
|
||||
USER=yacy
|
||||
|
||||
# Set this to the maximum number of seconds the script should try to shutdown
|
||||
# yacy. You might want to increase this on slower peers or for bigger
|
||||
# databases.
|
||||
SHUTDOWN_TIMEOUT=20
|
||||
|
||||
# Don't run if not installed
|
||||
test -f $DAEMON_DIR/startYACY.sh || exit 0
|
||||
|
||||
cd $DAEMON_DIR
|
||||
|
||||
# Default niceness if not set in config file
|
||||
NICE_VAL=0
|
||||
|
||||
JAVA_ARGS="-Djava.awt.headless=true"
|
||||
#get javastart args
|
||||
if [ -f DATA/SETTINGS/yacy.conf ]
|
||||
then
|
||||
# startup memory
|
||||
j="`grep javastart_Xmx DATA/SETTINGS/yacy.conf | sed 's/^[^=]*=//'`";
|
||||
if [ -n $j ]; then JAVA_ARGS="-$j $JAVA_ARGS"; fi;
|
||||
|
||||
# Priority
|
||||
j="`grep javastart_priority DATA/SETTINGS/yacy.conf | sed 's/^[^=]*=//'`";
|
||||
|
||||
if [ ! -z "$j" ];then
|
||||
if [ -n $j ]; then NICE_VAL=$j; fi;
|
||||
fi
|
||||
|
||||
fi
|
||||
|
||||
# generating the proper classpath
|
||||
CLASSPATH=""
|
||||
for N in lib/*.jar; do CLASSPATH="$CLASSPATH$N:"; done
|
||||
for N in libx/*.jar; do CLASSPATH="$CLASSPATH$N:"; done
|
||||
CLASSPATH="classes:.:htroot:$CLASSPATH"
|
||||
NAME="yacy"
|
||||
DESC="YaCy HTTP Proxy"
|
||||
PID_FILE=/var/run/$NAME.pid
|
||||
|
||||
JAVA=$(which java)
|
||||
|
||||
if [ -f $PID_FILE ]; then
|
||||
pid=$(cat "$PID_FILE")
|
||||
pidno=$( ps ax | grep "$pid" | awk '{ print $1 }' | grep "$pid" )
|
||||
fi
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
if [ -n "$pidno" ]; then
|
||||
echo "already running"
|
||||
exit 0
|
||||
fi
|
||||
echo -n "Starting $DESC: "
|
||||
start-stop-daemon --start --background --make-pidfile --chuid $USER\
|
||||
--pidfile $PID_FILE --chdir $DAEMON_DIR --startas $JAVA\
|
||||
--nicelevel $NICE_VAL\
|
||||
-- $JAVA_ARGS -classpath $CLASSPATH net.yacy.yacy $DAEMON_DIR
|
||||
echo "$NAME."
|
||||
;;
|
||||
|
||||
stop)
|
||||
if [ -n "$pidno" ]; then
|
||||
echo -n "Stopping $DESC: "
|
||||
cd $DAEMON_DIR
|
||||
./stopYACY.sh
|
||||
timeout=$SHUTDOWN_TIMEOUT
|
||||
while [ -n "$pidno" ]; do
|
||||
let timeout=$timeout-1
|
||||
if [ $timeout -eq 0 ]; then
|
||||
start-stop-daemon --stop --pidfile $PID_FILE --oknodo --verbose
|
||||
break
|
||||
fi
|
||||
echo -n "."
|
||||
sleep 1
|
||||
pidno=$( ps ax | grep $pid | awk '{ print $1 }' | grep $pid )
|
||||
done
|
||||
echo "$NAME."
|
||||
cd -
|
||||
exit 0
|
||||
fi
|
||||
echo "not running."
|
||||
;;
|
||||
|
||||
restart)
|
||||
$0 stop
|
||||
sleep 1
|
||||
$0 start
|
||||
;;
|
||||
*)
|
||||
N=/etc/init.d/yacyInit.sh
|
||||
# echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
|
||||
echo "Usage: $N {start|stop|restart}" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
@ -1,113 +0,0 @@
|
||||
#!/usr/bin/env sh
|
||||
#
|
||||
# init script for the HTTP Proxy: YaCy
|
||||
#
|
||||
# Provided by Matthias Kempka, 26.12.2004
|
||||
# edited by DanielR, 2008-07-21
|
||||
|
||||
# installation directory
|
||||
DAEMON_DIR=/path/to/yacy
|
||||
# set to the user whose rights the proxy will gain
|
||||
USER=yacyUser
|
||||
# Default niceness if not set in config file
|
||||
NICE_VAL=0
|
||||
|
||||
# Set this to the maximum number of minutes the script should try to shutdown
|
||||
# yacy. You might want to increase this on slower peers or for bigger
|
||||
# databases.
|
||||
SHUTDOWN_TIMEOUT=10
|
||||
|
||||
# Don't run if not installed
|
||||
test -f $DAEMON_DIR/startYACY.sh || exit 0
|
||||
|
||||
NAME="yacy"
|
||||
DESC="YaCy HTTP Proxy"
|
||||
PID_FILE="yacy.pid"
|
||||
|
||||
|
||||
cd $DAEMON_DIR
|
||||
|
||||
if [ -f $PID_FILE ]; then
|
||||
pid=$(cat "$PID_FILE")
|
||||
fi
|
||||
|
||||
check_process()
|
||||
{
|
||||
pidno=""
|
||||
if [ $pid -gt 0 ]; then
|
||||
pidno=$( ps ax | grep "$pid" | awk '{ print $1 }' | grep "$pid" )
|
||||
fi
|
||||
}
|
||||
|
||||
# checks if yacy.running exists every 2 seconds for a minute (exits after 60 seconds)
|
||||
# returns true (0) if exists
|
||||
check_runningFile()
|
||||
{
|
||||
iteration=0
|
||||
while [ $iteration -lt 30 ]; do
|
||||
echo -n "."
|
||||
iteration=$(($iteration + 1))
|
||||
sleep 2
|
||||
if [ ! -f DATA/yacy.running ]; then
|
||||
return 1
|
||||
fi
|
||||
done
|
||||
return 0
|
||||
}
|
||||
|
||||
check_process
|
||||
case "$1" in
|
||||
start)
|
||||
if [ -n "$pidno" ]; then
|
||||
echo "already running"
|
||||
exit 0
|
||||
fi
|
||||
echo -n "Starting $DESC: "
|
||||
#./startYACY.sh 2>error.log >/dev/null
|
||||
start-stop-daemon --start --verbose --pidfile $PID_FILE --nicelevel $NICE_VAL\
|
||||
--chuid $USER --chdir $DAEMON_DIR --startas ./startYACY.sh\
|
||||
-- 2>error.log
|
||||
echo "$NAME."
|
||||
;;
|
||||
|
||||
stop)
|
||||
if [ -n "$pidno" ]; then
|
||||
echo -n "Stopping $DESC: "
|
||||
cd $DAEMON_DIR
|
||||
./stopYACY.sh > /dev/null
|
||||
# yacy has per default a delayed shutdown by 5 seconds
|
||||
sleep 6
|
||||
timeout=$SHUTDOWN_TIMEOUT
|
||||
echo "waiting that YaCy has finished (killing YaCy after $timeout minutes)"
|
||||
while [ -n "$pidno" ]; do
|
||||
check_runningFile
|
||||
timeout=$(($timeout-1))
|
||||
if [ $timeout -eq 0 ]; then
|
||||
start-stop-daemon --stop --pidfile $PID_FILE --oknodo --verbose
|
||||
break
|
||||
fi
|
||||
echo -n ":"
|
||||
check_process
|
||||
#pidno=$( ps ax | grep $pid | awk '{ print $1 }' | grep $pid )
|
||||
done
|
||||
echo "$NAME."
|
||||
cd -
|
||||
exit 0
|
||||
fi
|
||||
echo "not running."
|
||||
;;
|
||||
|
||||
restart)
|
||||
$0 stop
|
||||
sleep 1
|
||||
$0 start
|
||||
;;
|
||||
*)
|
||||
N=/etc/init.d/yacyInit.sh
|
||||
# echo "Usage: $N {start|stop|restart|reload|force-reload}" >&2
|
||||
echo "Usage: $N {start|stop|restart}" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
exit 0
|
@ -1,6 +0,0 @@
|
||||
yacy (1.922.10016) unstable; urgency=low
|
||||
|
||||
* SVN Update
|
||||
|
||||
-- Michael Peter Christen <mc@yacy.net> Wed, 28 May 2008 19:15:45 +0200
|
||||
|
@ -1 +0,0 @@
|
||||
5
|
@ -1,89 +0,0 @@
|
||||
#!/bin/sh
|
||||
set -e
|
||||
|
||||
# if we do not have debconf, we just skip this
|
||||
. /usr/share/debconf/confmodule || exit 0
|
||||
|
||||
CONFIGFILE=/var/lib/yacy/SETTINGS/yacy.conf
|
||||
|
||||
if [ ! -e $CONFIGFILE ]; then
|
||||
db_set yacy/peername $(hostname)
|
||||
else
|
||||
db_set yacy/peername $(grep "^peerName=" $CONFIGFILE | sed -e "s/peerName=\(.*\)/\1/")
|
||||
NETWORK_URL=$(grep "^network\.unit\.definition=" $CONFIGFILE | sed -e "s/network\.unit\.definition=\(.*\)/\1/")
|
||||
case "$NETWORK_URL" in
|
||||
defaults/yacy.network.freeworld.unit)
|
||||
db_set yacy/network freeworld
|
||||
;;
|
||||
defaults/yacy.network.intranet.unit)
|
||||
db_set yacy/network intranet
|
||||
;;
|
||||
defaults/yacy.network.allip.unit)
|
||||
db_set yacy/network allip
|
||||
;;
|
||||
defaults/yacy.network.webportal.unit)
|
||||
db_set yacy/network webportal
|
||||
;;
|
||||
*)
|
||||
db_set yacy/network url
|
||||
db_set yacy/network-url "$NETWORK_URL"
|
||||
;;
|
||||
esac
|
||||
db_set yacy/memory-start $(grep "^javastart_Xms=" $CONFIGFILE | sed -e "s/javastart_Xms=Xms\(.*\)m/\1/")
|
||||
db_set yacy/memory-max $(grep "^javastart_Xmx=" $CONFIGFILE | sed -e "s/javastart_Xmx=Xmx\(.*\)m/\1/")
|
||||
fi
|
||||
|
||||
db_capb backup
|
||||
|
||||
# use state machine to support step back
|
||||
|
||||
STATE=1
|
||||
while true; do
|
||||
case "$STATE" in
|
||||
1)
|
||||
# Two unrelated questions.
|
||||
db_input high yacy/peername || true
|
||||
db_input high yacy/password || true
|
||||
db_input high yacy/network || true
|
||||
;;
|
||||
2)
|
||||
# Only ask this question if the
|
||||
# first question was answered with
|
||||
# url
|
||||
db_get yacy/network
|
||||
if [ "$RET" = "url" ]; then
|
||||
db_input high yacy/network-url || true
|
||||
fi
|
||||
;;
|
||||
3)
|
||||
db_input high yacy/memory-start || true
|
||||
db_input high yacy/memory-max || true
|
||||
;;
|
||||
*)
|
||||
# The default case catches when $STATE is greater than the
|
||||
# last implemented state, and breaks out of the loop. This
|
||||
# requires that states be numbered consecutively from 1
|
||||
# with no gaps, as the default case will also be entered
|
||||
# if there is a break in the numbering
|
||||
break # exits the enclosing "while" loop
|
||||
;;
|
||||
esac
|
||||
|
||||
if db_go; then
|
||||
STATE=$(($STATE + 1))
|
||||
else
|
||||
STATE=$(($STATE - 1))
|
||||
fi
|
||||
done
|
||||
|
||||
if [ $STATE -eq 0 ]; then
|
||||
# The user has asked to back up from the first
|
||||
# question. This case is problematical. Regular
|
||||
# dpkg and apt package installation isn't capable
|
||||
# of backing up questions between packages as this
|
||||
# is written, so this will exit leaving the package
|
||||
# unconfigured - probably the best way to handle
|
||||
# the situation.
|
||||
exit 10
|
||||
fi
|
||||
|
@ -1,20 +0,0 @@
|
||||
Source: yacy
|
||||
Section: network
|
||||
Priority: extra
|
||||
Maintainer: Michael Peter Christen <mc@yacy.net>
|
||||
Build-Depends: ant, openjdk-8-jdk, debhelper (>= 5), m4
|
||||
Standards-Version: 3.7.2
|
||||
|
||||
Package: yacy
|
||||
Architecture: all
|
||||
Depends: java8-runtime-headless, sudo, debconf
|
||||
Suggests: curl | wget, wkhtmltopdf, imagemagick, xvfb, ghostscript
|
||||
Description: Peer-to-Peer Web Search Engine
|
||||
YaCy is a Java-based peer-to-peer search engine.
|
||||
It provides a personal web search engine, which is
|
||||
free and decentralized. The search index is distributed
|
||||
over a p2p network. It contains a crawler, an indexer
|
||||
and an own database engine. In the 'robinson-modus', YaCy
|
||||
can be used for a topic-oriented search portal or to index an
|
||||
intranet.
|
||||
Homepage: http://yacy.net/
|
@ -1,30 +0,0 @@
|
||||
This package was debianized by Florian Richter <Florian_Richter@gmx.de> on
|
||||
Wed, 28 May 2008 19:15:45 +0200.
|
||||
|
||||
It was downloaded from <http://yacy.net>
|
||||
|
||||
Upstream Author: Michael Peter Christen <mc@yacy.net>
|
||||
|
||||
Copyright: (C) by Michael Peter Christen; mc@yacy.net
|
||||
|
||||
License:
|
||||
All parts of the software known as YaCy are covered 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 unless stated otherwise.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this software; if not, write to the Free Software
|
||||
Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
|
||||
|
||||
People who have contributed to this software in addition to those
|
||||
mentioned in the source code or other files belonging to YaCy:
|
||||
|
||||
Jakub Steiner (bookmarkpriv.png, bookmarkpub.png)
|
||||
|
||||
|
||||
The Debian packaging is (C) 2008, Florian Richter <Florian_Richter@gmx.de> and
|
||||
is licensed under the GPL, see `/usr/share/common-licenses/GPL'.
|
||||
|
||||
|
||||
Some libraries of yacy have different licenses. Please have a look at lib/
|
@ -1,153 +0,0 @@
|
||||
#!/bin/sh
|
||||
# postinst script for yacy
|
||||
#
|
||||
# see: dh_installdeb(1)
|
||||
|
||||
set -e
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <postinst> `configure' <most-recently-configured-version>
|
||||
# * <old-postinst> `abort-upgrade' <new version>
|
||||
# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
|
||||
# <new-version>
|
||||
# * <postinst> `abort-remove'
|
||||
# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
|
||||
# <failed-install-package> <version> `removing'
|
||||
# <conflicting-package> <version>
|
||||
# for details, see http://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
add_group_if_missing() {
|
||||
if [ -x /usr/sbin/adduser ]; then
|
||||
if ! id -g yacy >/dev/null 2>&1; then
|
||||
addgroup --gid 265 --force-badname yacy
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
add_user_if_missing() {
|
||||
if [ -x /usr/sbin/adduser ]; then
|
||||
if ! id -u yacy > /dev/null 2>&1; then
|
||||
adduser --system --home /var/lib/yacy --no-create-home \
|
||||
--uid 264 --gid 265 --disabled-password --force-badname \
|
||||
yacy
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
||||
add_group_if_missing
|
||||
add_user_if_missing
|
||||
|
||||
###### debconf stuff
|
||||
|
||||
CONFIGFILE=/var/lib/yacy/SETTINGS/yacy.conf
|
||||
|
||||
. /usr/share/debconf/confmodule
|
||||
|
||||
if [ -e $CONFIGFILE ]; then
|
||||
ADMIN_LOGIN=$(grep ^adminAccountUserName= "$CONFIGFILE" | cut -d= -f2 | tr -d '\r\n')
|
||||
ADMIN_REALM=$(grep "^adminRealm=" "$CONFIGFILE" | cut -d= -f2 | tr -d '\r\n')
|
||||
else
|
||||
ADMIN_LOGIN=$(grep ^adminAccountUserName= /usr/share/yacy/defaults/yacy.init | cut -d= -f2 | tr -d '\r\n')
|
||||
ADMIN_REALM=$(grep "^adminRealm=" /usr/share/yacy/defaults/yacy.init | cut -d= -f2 | tr -d '\r\n')
|
||||
fi
|
||||
|
||||
# admin user name and realm should not be empty : by the way, in that case use the same default values as in YaCy application
|
||||
if [ -z "$ADMIN_LOGIN" ]; then
|
||||
ADMIN_LOGIN="admin"
|
||||
fi
|
||||
if [ -z "$ADMIN_REALM" ]; then
|
||||
ADMIN_REALM="YaCy"
|
||||
fi
|
||||
|
||||
# Substitute in the values from the debconf db.
|
||||
# There are obvious optimizations possible here.
|
||||
# The cp before the sed ensures we do not mess up
|
||||
# the config file's ownership and permissions.
|
||||
db_get yacy/peername
|
||||
PEERNAME="$RET"
|
||||
db_get yacy/password
|
||||
PASSWORD="$RET"
|
||||
if [ "$PASSWORD" != "" ]; then
|
||||
B64MD5=$(java -cp /usr/share/java/yacy/yacycore.jar net.yacy.cora.order.Digest -strfhex "$ADMIN_LOGIN:$ADMIN_REALM:$PASSWORD" | head -n 1)
|
||||
PASSWORD_HASH="MD5:$B64MD5"
|
||||
# When entered password is not empty always disable unauthenticated admin access from localhost
|
||||
ADMIN_ACCOUNT_LOCALHOST="false"
|
||||
db_set yacy/password ""
|
||||
else
|
||||
if [ -e $CONFIGFILE ]; then
|
||||
PASSWORD_HASH=$(grep "^adminAccountBase64MD5=" $CONFIGFILE | sed -e "s/^adminAccountBase64MD5=\(.*\)/\1/" | tr -d '\r\n')
|
||||
ADMIN_ACCOUNT_LOCALHOST=$(grep "^adminAccountForLocalhost=" "$CONFIGFILE" | cut -d= -f2 | tr -d '\r\n')
|
||||
else
|
||||
PASSWORD_HASH=""
|
||||
ADMIN_ACCOUNT_LOCALHOST="true"
|
||||
fi
|
||||
fi
|
||||
|
||||
# Generate config file, if it doesn't exist.
|
||||
if [ ! -e $CONFIGFILE ]; then
|
||||
mkdir -p /var/lib/yacy/SETTINGS
|
||||
echo "# Initial configfile from debconf" > $CONFIGFILE
|
||||
echo "peerName=$HOSTNAME" >> $CONFIGFILE
|
||||
echo "adminAccountBase64MD5=" >> $CONFIGFILE
|
||||
echo "adminAccountForLocalhost=$ADMIN_ACCOUNT_LOCALHOST" >> $CONFIGFILE
|
||||
echo "network.unit.definition=defaults/yacy.network.freeworld.unit" >> $CONFIGFILE
|
||||
echo "javastart_Xmx=Xmx600m" >> $CONFIGFILE
|
||||
echo "javastart_Xms=Xmx600m" >> $CONFIGFILE
|
||||
fi
|
||||
|
||||
db_get yacy/network
|
||||
NETWORK="$RET"
|
||||
|
||||
if [ "$NETWORK" = "url" ]; then
|
||||
db_get yacy/network-url
|
||||
NETWORK="$RET"
|
||||
else
|
||||
NETWORK="defaults/yacy\\.network\\.$NETWORK\\.unit"
|
||||
fi
|
||||
|
||||
db_get yacy/memory-start
|
||||
MEMORY_START="$RET"
|
||||
db_get yacy/memory-max
|
||||
MEMORY_MAX="$RET"
|
||||
cp -a -f $CONFIGFILE $CONFIGFILE.tmp
|
||||
|
||||
# If the admin deleted or commented some variables but then set
|
||||
# them via debconf, (re-)add them to the conffile.
|
||||
#test -z "$FOO" || grep -Eq '^ *FOO=' $CONFIGFILE || \
|
||||
# echo "FOO=" >> $CONFIGFILE
|
||||
#test -z "$BAR" || grep -Eq '^ *BAR=' $CONFIGFILE || \
|
||||
# echo "BAR=" >> $CONFIGFILE
|
||||
|
||||
sed -e "s,^ *peerName=.*,peerName=$PEERNAME," \
|
||||
-e "s,^ *adminAccountBase64MD5=.*,adminAccountBase64MD5=$PASSWORD_HASH," \
|
||||
-e "s,^ *adminAccountForLocalhost=.*,adminAccountForLocalhost=$ADMIN_ACCOUNT_LOCALHOST," \
|
||||
-e "s,^ *network\.unit\.definition=.*,network\.unit\.definition=$NETWORK," \
|
||||
-e "s,^ *javastart_Xms=.*,javastart_Xms=Xms${MEMORY_START}m," \
|
||||
-e "s,^ *javastart_Xmx=.*,javastart_Xmx=Xmx${MEMORY_MAX}m," \
|
||||
< $CONFIGFILE > $CONFIGFILE.tmp
|
||||
mv -f $CONFIGFILE.tmp $CONFIGFILE
|
||||
|
||||
#### debconf stuff end
|
||||
|
||||
chown yacy:yacy -R /var/lib/yacy
|
||||
|
||||
case "$1" in
|
||||
configure)
|
||||
;;
|
||||
|
||||
abort-upgrade|abort-remove|abort-deconfigure)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "postinst called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# dh_installdeb will replace this with shell code automatically
|
||||
# generated by other debhelper scripts.
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
@ -1,44 +0,0 @@
|
||||
#!/bin/sh
|
||||
# postrm script for yacy
|
||||
#
|
||||
# see: dh_installdeb(1)
|
||||
|
||||
set -e
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <postrm> `remove'
|
||||
# * <postrm> `purge'
|
||||
# * <old-postrm> `upgrade' <new-version>
|
||||
# * <new-postrm> `failed-upgrade' <old-version>
|
||||
# * <new-postrm> `abort-install'
|
||||
# * <new-postrm> `abort-install' <old-version>
|
||||
# * <new-postrm> `abort-upgrade' <old-version>
|
||||
# * <disappearer's-postrm> `disappear' <overwriter>
|
||||
# <overwriter-version>
|
||||
# for details, see http://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
|
||||
|
||||
case "$1" in
|
||||
purge)
|
||||
rm -rf /var/lib/yacy /etc/init.d/yacy
|
||||
;;
|
||||
|
||||
remove|upgrade|failed-upgrade|abort-install|abort-upgrade|disappear)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "postrm called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# dh_installdeb will replace this with shell code automatically
|
||||
# generated by other debhelper scripts.
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
||||
|
||||
|
@ -1,37 +0,0 @@
|
||||
#!/bin/sh
|
||||
# preinst script for yacy
|
||||
#
|
||||
# see: dh_installdeb(1)
|
||||
|
||||
set -e
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <new-preinst> `install'
|
||||
# * <new-preinst> `install' <old-version>
|
||||
# * <new-preinst> `upgrade' <old-version>
|
||||
# * <old-preinst> `abort-upgrade' <new-version>
|
||||
# for details, see http://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
|
||||
case "$1" in
|
||||
install|upgrade)
|
||||
;;
|
||||
|
||||
abort-upgrade)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "preinst called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# dh_installdeb will replace this with shell code automatically
|
||||
# generated by other debhelper scripts.
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
||||
|
||||
|
@ -1,40 +0,0 @@
|
||||
#!/bin/sh
|
||||
# prerm script for yacy
|
||||
#
|
||||
# see: dh_installdeb(1)
|
||||
|
||||
set -e
|
||||
|
||||
# summary of how this script can be called:
|
||||
# * <prerm> `remove'
|
||||
# * <old-prerm> `upgrade' <new-version>
|
||||
# * <new-prerm> `failed-upgrade' <old-version>
|
||||
# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
|
||||
# * <deconfigured's-prerm> `deconfigure' `in-favour'
|
||||
# <package-being-installed> <version> `removing'
|
||||
# <conflicting-package> <version>
|
||||
# for details, see http://www.debian.org/doc/debian-policy/ or
|
||||
# the debian-policy package
|
||||
|
||||
|
||||
case "$1" in
|
||||
remove|upgrade|deconfigure)
|
||||
;;
|
||||
|
||||
failed-upgrade)
|
||||
;;
|
||||
|
||||
*)
|
||||
echo "prerm called with unknown argument \`$1'" >&2
|
||||
exit 1
|
||||
;;
|
||||
esac
|
||||
|
||||
# dh_installdeb will replace this with shell code automatically
|
||||
# generated by other debhelper scripts.
|
||||
|
||||
#DEBHELPER#
|
||||
|
||||
exit 0
|
||||
|
||||
|
@ -1,55 +0,0 @@
|
||||
#!/usr/bin/make -f
|
||||
# -*- makefile -*-
|
||||
# Sample debian/rules that uses debhelper.
|
||||
# This file was originally written by Joey Hess and Craig Small.
|
||||
# As a special exception, when this file is copied by dh-make into a
|
||||
# dh-make output file, you may use that output file without restriction.
|
||||
# This special exception was added by Craig Small in version 0.37 of dh-make.
|
||||
|
||||
# Uncomment this to turn on verbose mode.
|
||||
#export DH_VERBOSE=1
|
||||
|
||||
|
||||
configure: configure-stamp
|
||||
configure-stamp:
|
||||
# Add here commands to configure the package.
|
||||
|
||||
|
||||
build: build-stamp
|
||||
|
||||
build-stamp: configure-stamp
|
||||
# build yacy
|
||||
ant compile -DPKGMANAGER=true
|
||||
m4 -DDebian addon/yacyInit.m4 >debian/yacy.init
|
||||
|
||||
clean:
|
||||
ant clean
|
||||
rm -f debian/yacy.init
|
||||
dh_clean
|
||||
|
||||
install:
|
||||
# Add here commands to install the package into debian/yacy.
|
||||
ant installonlinux -DDESTDIR=$(CURDIR)/debian/yacy
|
||||
mkdir -p $(CURDIR)/debian/yacy/usr/share/java/yacy/
|
||||
cp lib/*.jar $(CURDIR)/debian/yacy/usr/share/java/yacy/
|
||||
#cp -r classes $(CURDIR)/debian/yacy/usr/share/java/yacy/
|
||||
|
||||
|
||||
# Build architecture-independent files here.
|
||||
binary-indep: install
|
||||
# We have nothing to do by default.
|
||||
|
||||
# Build architecture-dependent files here.
|
||||
binary-arch: install
|
||||
dh_installdebconf
|
||||
dh_installchangelogs
|
||||
dh_installdocs
|
||||
dh_installinit
|
||||
# dh_installman
|
||||
dh_installdeb
|
||||
dh_gencontrol
|
||||
dh_md5sums
|
||||
dh_builddeb
|
||||
|
||||
binary: binary-indep binary-arch
|
||||
.PHONY: build clean binary-indep binary-arch binary install configure
|
@ -1 +0,0 @@
|
||||
misc:Depends=debconf (>= 0.5) | debconf-2.0
|
@ -1,50 +0,0 @@
|
||||
Template: yacy/peername
|
||||
Type: string
|
||||
Description: name for YaCy-peer
|
||||
|
||||
Template: yacy/password
|
||||
Type: password
|
||||
Description: Admin password
|
||||
Please choose an admin password for YaCy
|
||||
.
|
||||
If you leave this blank, YaCy's admin interface is accessible
|
||||
from localhost without password. If you already set
|
||||
a password, the old password won't be changed.
|
||||
|
||||
Template: yacy/network
|
||||
Type: select
|
||||
Choices: freeworld, intranet, allip, webportal, url
|
||||
Default: freeworld
|
||||
Description: Choose network to participate
|
||||
Choose a network:
|
||||
* freeworld: public general purpose YaCy network
|
||||
* intranet: index local (private) ips only
|
||||
* allip: private peer for all websites
|
||||
* webportal: public peer for specific websites
|
||||
* url: give custom network definition file via url
|
||||
|
||||
Template: yacy/network-url
|
||||
Type: string
|
||||
Description: URL for custom network definition file
|
||||
Use this to configure your own YaCy-network
|
||||
|
||||
Template: yacy/memory-start
|
||||
Type: string
|
||||
Default: 180
|
||||
Description: Initial java memory setting
|
||||
Initial memory (in MB) for java virtual machine, you are ask for the maximum memory usage in the next question.
|
||||
.
|
||||
If a high performance for large search indexes is wanted, then setting the values to equal number is recommended.
|
||||
.
|
||||
If YaCy shall be nice in not-only-yacy environments, then the Xms value may be lower
|
||||
|
||||
Template: yacy/memory-max
|
||||
Type: string
|
||||
Default: 600
|
||||
Description: Maximum java memory
|
||||
Maximum memory (in MB) for java virtual machine
|
||||
.
|
||||
If a high performance for large search indexes is wanted, then setting the values to equal number is recommended
|
||||
.
|
||||
If YaCy shall be nice in not-only-yacy environments, then the Xms value may be lower
|
||||
|
@ -0,0 +1,11 @@
|
||||
|
||||
kubectl create -f yacy-deployment.yaml
|
||||
kubectl create -f yacy-service.yaml
|
||||
|
||||
kubectl get pods -l app=yacy-pod -o yaml | grep podIP
|
||||
|
||||
kubectl get nodes -o wide
|
||||
minikube service yacy-service
|
||||
|
||||
kubectl delete -n default deployment yacy-deployment
|
||||
|
Loading…
Reference in new issue