Add deb package (#496)
This commit is contained in:
parent
87ce91ca04
commit
b84ceec183
2 changed files with 311 additions and 10 deletions
301
pom.xml
301
pom.xml
|
@ -59,7 +59,7 @@
|
|||
<utflute.version>0.6.0F</utflute.version>
|
||||
|
||||
<!-- Crawler -->
|
||||
<crawler.version>1.0.9-SNAPSHOT</crawler.version>
|
||||
<crawler.version>1.0.8-SNAPSHOT</crawler.version>
|
||||
|
||||
<!-- Suggest -->
|
||||
<suggest.version>2.1.4-SNAPSHOT</suggest.version>
|
||||
|
@ -71,7 +71,7 @@
|
|||
<!-- Tomcat -->
|
||||
<tomcat.boot.version>0.4.4-B-SNAPSHOT</tomcat.boot.version>
|
||||
|
||||
<!-- RPM build -->
|
||||
<!-- DEB & RPM build -->
|
||||
<packaging.fess.home.dir>/usr/share/fess</packaging.fess.home.dir>
|
||||
<packaging.fess.app.dir>${packaging.fess.home.dir}/app</packaging.fess.app.dir>
|
||||
<packaging.fess.bin.dir>${packaging.fess.home.dir}/bin</packaging.fess.bin.dir>
|
||||
|
@ -266,6 +266,50 @@
|
|||
<artifactId>maven-resources-plugin</artifactId>
|
||||
<version>2.6</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>copy-resources-deb</id>
|
||||
<phase>prepare-package</phase>
|
||||
<goals>
|
||||
<goal>copy-resources</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<outputDirectory>${project.build.directory}/generated-packaging/deb/</outputDirectory>
|
||||
<filters>
|
||||
<filter>${project.basedir}/src/packaging/common/packaging.properties</filter>
|
||||
<filter>${project.basedir}/src/packaging/deb/packaging.properties</filter>
|
||||
</filters>
|
||||
<resources>
|
||||
<resource>
|
||||
<directory>src/packaging/common/</directory>
|
||||
<filtering>true</filtering>
|
||||
<includes>
|
||||
<include>**/*</include>
|
||||
</includes>
|
||||
<excludes>
|
||||
<exclude>packaging.properties</exclude>
|
||||
</excludes>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>src/packaging/deb/</directory>
|
||||
<filtering>true</filtering>
|
||||
<includes>
|
||||
<include>**/*</include>
|
||||
</includes>
|
||||
<excludes>
|
||||
<exclude>packaging.properties</exclude>
|
||||
</excludes>
|
||||
</resource>
|
||||
<resource>
|
||||
<directory>${project.basedir}</directory>
|
||||
<filtering>true</filtering>
|
||||
<includes>
|
||||
<include>bin/fess</include>
|
||||
<include>bin/fess.in.sh</include>
|
||||
</includes>
|
||||
</resource>
|
||||
</resources>
|
||||
</configuration>
|
||||
</execution>
|
||||
<execution>
|
||||
<id>copy-resources-rpm</id>
|
||||
<phase>prepare-package</phase>
|
||||
|
@ -338,6 +382,259 @@
|
|||
</executions>
|
||||
</plugin>
|
||||
|
||||
<!-- deb -->
|
||||
<plugin>
|
||||
<artifactId>jdeb</artifactId>
|
||||
<groupId>org.vafer</groupId>
|
||||
<version>1.4</version>
|
||||
<configuration>
|
||||
<deb>${project.build.directory}/releases/${project.artifactId}-${project.version}.deb</deb>
|
||||
<controlDir>${project.build.directory}/generated-packaging/deb/scripts</controlDir>
|
||||
</configuration>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>jdeb</goal>
|
||||
</goals>
|
||||
<configuration>
|
||||
<!--
|
||||
<signPackage>${deb.sign}</signPackage>
|
||||
<keyring>${gpg.keyring}</keyring>
|
||||
<key>${gpg.key}</key>
|
||||
<passphrase>${gpg.passphrase}</passphrase>
|
||||
<signMethod>${deb.sign.method}</signMethod>
|
||||
-->
|
||||
<dataSet>
|
||||
<!-- Add app directory -->
|
||||
<data>
|
||||
<type>directory</type>
|
||||
<src>${project.build.directory}/fess</src>
|
||||
<excludes>**/fess_config.properties,**/fess_env*.properties</excludes>
|
||||
<mapper>
|
||||
<type>perm</type>
|
||||
<prefix>${packaging.fess.app.dir}</prefix>
|
||||
<filemode>755</filemode>
|
||||
<user>${packaging.fess.user}</user>
|
||||
<group>${packaging.fess.group}</group>
|
||||
</mapper>
|
||||
</data>
|
||||
<!-- Add libs -->
|
||||
<data>
|
||||
<type>directory</type>
|
||||
<src>${project.build.directory}/tomcat-lib</src>
|
||||
<mapper>
|
||||
<type>perm</type>
|
||||
<prefix>${packaging.fess.lib.dir}/classes</prefix>
|
||||
<user>${packaging.fess.user}</user>
|
||||
<group>${packaging.fess.group}</group>
|
||||
</mapper>
|
||||
</data>
|
||||
<data>
|
||||
<type>file</type>
|
||||
<src>${project.build.directory}/fess/WEB-INF/classes/org/codelibs/fess/FessBoot.class</src>
|
||||
<dst>${packaging.fess.lib.dir}/classes/org/codelibs/fess/FessBoot.class</dst>
|
||||
<mapper>
|
||||
<type>perm</type>
|
||||
<user>${packaging.fess.user}</user>
|
||||
<group>${packaging.fess.group}</group>
|
||||
</mapper>
|
||||
</data>
|
||||
<!-- Add configuration files -->
|
||||
<data>
|
||||
<type>files</type>
|
||||
<paths>
|
||||
<path>${project.basedir}/src/main/assemblies/files/tomcat_config.properties</path>
|
||||
<path>${project.basedir}/src/main/assemblies/files/logging.properties</path>
|
||||
</paths>
|
||||
<dst>${packaging.fess.conf.dir}</dst>
|
||||
<mapper>
|
||||
<type>perm</type>
|
||||
<user>${packaging.fess.user}</user>
|
||||
<group>${packaging.fess.group}</group>
|
||||
</mapper>
|
||||
</data>
|
||||
<data>
|
||||
<type>files</type>
|
||||
<paths>
|
||||
<path>${project.build.directory}/fess/WEB-INF/classes/fess_config.properties</path>
|
||||
<path>${project.build.directory}/fess/WEB-INF/classes/fess_env_crawler.properties</path>
|
||||
<path>${project.build.directory}/fess/WEB-INF/classes/fess_env_suggest.properties</path>
|
||||
<path>${project.build.directory}/fess/WEB-INF/classes/fess_env_web.properties</path>
|
||||
</paths>
|
||||
<dst>${packaging.fess.conf.dir}</dst>
|
||||
<mapper>
|
||||
<type>perm</type>
|
||||
<user>${packaging.fess.user}</user>
|
||||
<group>${packaging.fess.group}</group>
|
||||
</mapper>
|
||||
</data>
|
||||
<!-- Add extensions -->
|
||||
<data>
|
||||
<type>directory</type>
|
||||
<src>${project.basedir}/src/main/assemblies/extension</src>
|
||||
<mapper>
|
||||
<type>perm</type>
|
||||
<prefix>${packaging.fess.extension.dir}</prefix>
|
||||
<user>${packaging.fess.user}</user>
|
||||
<group>${packaging.fess.group}</group>
|
||||
</mapper>
|
||||
</data>
|
||||
<!-- Add var directory -->
|
||||
<data>
|
||||
<type>template</type>
|
||||
<paths>
|
||||
<path>${packaging.fess.var.dir}</path>
|
||||
</paths>
|
||||
<mapper>
|
||||
<type>perm</type>
|
||||
<dirmode>755</dirmode>
|
||||
<user>${packaging.fess.user}</user>
|
||||
<group>${packaging.fess.group}</group>
|
||||
</mapper>
|
||||
</data>
|
||||
<!-- Add bin directory -->
|
||||
<data>
|
||||
<type>files</type>
|
||||
<paths>
|
||||
<path>${project.basedir}/src/main/assemblies/files/fess</path>
|
||||
<path>${project.basedir}/src/main/assemblies/files/fess.in.sh</path>
|
||||
</paths>
|
||||
<dst>${packaging.fess.bin.dir}</dst>
|
||||
<mapper>
|
||||
<type>perm</type>
|
||||
<filemode>755</filemode>
|
||||
<user>${packaging.fess.user}</user>
|
||||
<group>${packaging.fess.group}</group>
|
||||
</mapper>
|
||||
</data>
|
||||
<!-- Add log and temp directories -->
|
||||
<data>
|
||||
<type>template</type>
|
||||
<paths>
|
||||
<path>${packaging.fess.log.dir}</path>
|
||||
<path>${packaging.fess.temp.dir}</path>
|
||||
</paths>
|
||||
<mapper>
|
||||
<type>perm</type>
|
||||
<user>${packaging.fess.user}</user>
|
||||
<group>${packaging.fess.group}</group>
|
||||
</mapper>
|
||||
</data>
|
||||
<!-- Add dictionary directory -->
|
||||
<data>
|
||||
<type>template</type>
|
||||
<paths>
|
||||
<path>${packaging.fess.dictionary.dir}</path>
|
||||
</paths>
|
||||
<mapper>
|
||||
<type>perm</type>
|
||||
<user>elasticsearch</user>
|
||||
<group>elasticsearch</group>
|
||||
</mapper>
|
||||
</data>
|
||||
<!-- Add elasicsearch plugins directory-->
|
||||
<data>
|
||||
<type>directory</type>
|
||||
<src>${project.basedir}/plugins</src>
|
||||
<mapper>
|
||||
<type>perm</type>
|
||||
<prefix>${packaging.fess.home.dir}/es/plugins</prefix>
|
||||
<user>${packaging.fess.user}</user>
|
||||
<group>${packaging.fess.group}</group>
|
||||
</mapper>
|
||||
</data>
|
||||
<!-- Add environment vars file -->
|
||||
<data>
|
||||
<type>file</type>
|
||||
<src>${project.build.directory}/generated-packaging/deb/env/fess</src>
|
||||
<dst>/etc/default/fess</dst>
|
||||
<mapper>
|
||||
<type>perm</type>
|
||||
<user>root</user>
|
||||
<group>root</group>
|
||||
</mapper>
|
||||
</data>
|
||||
<!-- Add init.d files -->
|
||||
<data>
|
||||
<type>file</type>
|
||||
<src>${project.build.directory}/generated-packaging/deb/init.d/fess</src>
|
||||
<dst>/etc/init.d/fess</dst>
|
||||
<mapper>
|
||||
<type>perm</type>
|
||||
<filemode>755</filemode>
|
||||
<user>root</user>
|
||||
<group>root</group>
|
||||
</mapper>
|
||||
</data>
|
||||
<!-- Adds systemd file -->
|
||||
<data>
|
||||
<type>file</type>
|
||||
<src>${project.build.directory}/generated-packaging/deb/systemd/fess.service</src>
|
||||
<dst>${packaging.fess.systemd.dir}/fess.service</dst>
|
||||
</data>
|
||||
<!-- Adds systemd/sysctl.d configuration file -->
|
||||
<data>
|
||||
<type>file</type>
|
||||
<src>${project.build.directory}/generated-packaging/deb/systemd/sysctl/fess.conf</src>
|
||||
<dst>${packaging.fess.systemd.sysctl.dir}/fess.conf</dst>
|
||||
</data>
|
||||
<!-- Adds systemd/tmpfiles.d configuration file -->
|
||||
<data>
|
||||
<type>file</type>
|
||||
<src>${project.build.directory}/generated-packaging/deb/systemd/fess.conf</src>
|
||||
<dst>${packaging.fess.tmpfilesd.dir}/fess.conf</dst>
|
||||
</data>
|
||||
<!-- Add lintian files -->
|
||||
<data>
|
||||
<type>directory</type>
|
||||
<src>${project.build.directory}/generated-packaging/deb/lintian</src>
|
||||
<excludes>.DS_Store</excludes>
|
||||
<mapper>
|
||||
<type>perm</type>
|
||||
<prefix>/usr/share/lintian/overrides</prefix>
|
||||
<user>${packaging.fess.user}</user>
|
||||
<group>${packaging.fess.group}</group>
|
||||
</mapper>
|
||||
</data>
|
||||
<!-- Add readme files -->
|
||||
<data>
|
||||
<type>files</type>
|
||||
<paths>
|
||||
<path>${project.basedir}/LICENSE</path>
|
||||
<path>${project.basedir}/README.md</path>
|
||||
</paths>
|
||||
<dst>${packaging.fess.home.dir}</dst>
|
||||
<mapper>
|
||||
<type>perm</type>
|
||||
<user>${packaging.fess.user}</user>
|
||||
<group>${packaging.fess.group}</group>
|
||||
</mapper>
|
||||
</data>
|
||||
<!-- Add license files -->
|
||||
<data>
|
||||
<type>file</type>
|
||||
<src>${project.build.directory}/generated-packaging/deb/copyright</src>
|
||||
<dst>/usr/share/doc/fess/copyright</dst>
|
||||
</data>
|
||||
<!-- Adds and sets permission on default directories -->
|
||||
<data>
|
||||
<type>template</type>
|
||||
<paths>
|
||||
<path>${packaging.fess.pid.dir}</path>
|
||||
</paths>
|
||||
<mapper>
|
||||
<type>perm</type>
|
||||
<user>${packaging.fess.user}</user>
|
||||
<group>${packaging.fess.group}</group>
|
||||
</mapper>
|
||||
</data>
|
||||
</dataSet>
|
||||
</configuration>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
|
||||
<!-- rpm -->
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
|
|
|
@ -39,8 +39,8 @@ fi
|
|||
# The following variables can be overwritten in $DEFAULT
|
||||
|
||||
# Run Fess as this user ID and group ID
|
||||
FESS_USER=fess
|
||||
FESS_GROUP=fess
|
||||
FESS_USER=${packaging.fess.user}
|
||||
FESS_GROUP=${packaging.fess.group}
|
||||
|
||||
# The first existing directory is used for JAVA_HOME (if JAVA_HOME is not defined in $DEFAULT)
|
||||
JDK_DIRS="/usr/lib/jvm/java-8-oracle/ /usr/lib/jvm/j2sdk1.8-oracle/ /usr/lib/jvm/jdk-7-oracle-x64 /usr/lib/jvm/java-7-oracle /usr/lib/jvm/j2sdk1.7-oracle/ /usr/lib/jvm/java-7-openjdk /usr/lib/jvm/java-7-openjdk-amd64/ /usr/lib/jvm/java-7-openjdk-armhf /usr/lib/jvm/java-7-openjdk-i386/ /usr/lib/jvm/default-java"
|
||||
|
@ -54,7 +54,7 @@ done
|
|||
export JAVA_HOME
|
||||
|
||||
# Directory where the Fess binary distribution resides
|
||||
FESS_HOME=/usr/share/$NAME
|
||||
FESS_HOME=${packaging.fess.home.dir}
|
||||
|
||||
# Heap size defaults to 256m min, 1g max
|
||||
# Set FESS_HEAP_SIZE to 50% of available RAM, but no more than 31g
|
||||
|
@ -76,10 +76,13 @@ MAX_OPEN_FILES=65535
|
|||
#MAX_LOCKED_MEMORY=
|
||||
|
||||
# Fess log directory
|
||||
#LOG_DIR=/var/log/$NAME
|
||||
LOG_DIR=${packaging.fess.log.dir}
|
||||
|
||||
# Fess data directory
|
||||
#DATA_DIR=/var/lib/$NAME
|
||||
DATA_DIR=${packaging.fess.var.dir}
|
||||
|
||||
# Fess configuration directory
|
||||
CONF_DIR=${packaging.fess.conf.dir}
|
||||
|
||||
# Maximum number of VMA (Virtual Memory Areas) a process can own
|
||||
MAX_MAP_COUNT=262144
|
||||
|
@ -88,7 +91,7 @@ MAX_MAP_COUNT=262144
|
|||
#FESS_GC_LOG_FILE=/var/log/fess/gc.log
|
||||
|
||||
# Fess PID file directory
|
||||
PID_DIR="${packaging.fess.pid.dir}"
|
||||
PID_DIR=${packaging.fess.pid.dir}
|
||||
|
||||
# End of variables that can be overwritten in $DEFAULT
|
||||
|
||||
|
@ -100,7 +103,7 @@ fi
|
|||
# Define other required variables
|
||||
PID_FILE="$PID_DIR/$NAME.pid"
|
||||
DAEMON=$FESS_HOME/bin/fess
|
||||
DAEMON_OPTS="-d -p $PID_FILE --default.config=$CONF_FILE --default.path.home=$FESS_HOME --default.path.logs=$LOG_DIR --default.path.data=$DATA_DIR"
|
||||
DAEMON_OPTS="-d -p $PID_FILE --default.path.conf=$CONF_DIR --default.path.home=$FESS_HOME --default.path.logs=$LOG_DIR --default.path.data=$DATA_DIR"
|
||||
|
||||
export FESS_HEAP_SIZE
|
||||
export FESS_HEAP_NEWSIZE
|
||||
|
@ -165,7 +168,7 @@ case "$1" in
|
|||
fi
|
||||
|
||||
# Start Daemon
|
||||
start-stop-daemon --start -b --user "$FESS_USER" -c "$FESS_USER" --pidfile "$PID_FILE" --exec $DAEMON -- $DAEMON_OPTS
|
||||
start-stop-daemon -d $FESS_HOME --start -b --user "$FESS_USER" -c "$FESS_USER" --pidfile "$PID_FILE" --exec $DAEMON -- $DAEMON_OPTS
|
||||
return=$?
|
||||
if [ $return -eq 0 ]
|
||||
then
|
||||
|
@ -222,3 +225,4 @@ case "$1" in
|
|||
esac
|
||||
|
||||
exit 0
|
||||
|
||||
|
|
Loading…
Add table
Reference in a new issue