fix #498 : deb package support

This commit is contained in:
Shinsuke Sugaya 2016-05-04 07:00:14 +09:00
parent 26f1bfa6be
commit e0e40ec1d4

476
pom.xml
View file

@ -386,253 +386,243 @@
<plugin>
<artifactId>jdeb</artifactId>
<groupId>org.vafer</groupId>
<version>1.4</version>
<version>1.5</version>
<configuration>
<deb>${project.build.directory}/releases/${project.artifactId}-${project.version}.deb</deb>
<controlDir>${project.build.directory}/generated-packaging/deb/scripts</controlDir>
<!--
<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>
<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 -->