Tim Starling has uploaded a new change for review. https://gerrit.wikimedia.org/r/284856
Change subject: Debian package 1.0.0 ...................................................................... Debian package 1.0.0 Change-Id: I6be63164d9e38fb62ef561bda671879b84cf54b1 --- A debian/changelog A debian/compat A debian/control A debian/copyright A debian/dirs A debian/docs A debian/etc/html5depurate.conf A debian/etc/logging.properties A debian/etc/security.policy A debian/init.d A debian/install A debian/link-jar.sh A debian/postinst A debian/rules A debian/source/format M pom.xml 16 files changed, 289 insertions(+), 1 deletion(-) git pull ssh://gerrit.wikimedia.org:29418/mediawiki/services/html5depurate refs/changes/56/284856/1 diff --git a/debian/changelog b/debian/changelog new file mode 100644 index 0000000..6dc7dd5 --- /dev/null +++ b/debian/changelog @@ -0,0 +1,5 @@ +html5depurate (1.0.0) unstable; urgency=low + + * Initial release + + -- Tim Starling <tstarl...@wikimedia.org> Thu, 14 Apr 2016 12:11:07 +1000 diff --git a/debian/compat b/debian/compat new file mode 100644 index 0000000..ec63514 --- /dev/null +++ b/debian/compat @@ -0,0 +1 @@ +9 diff --git a/debian/control b/debian/control new file mode 100644 index 0000000..c914c59 --- /dev/null +++ b/debian/control @@ -0,0 +1,12 @@ +Source: html5depurate +Section: web +Priority: optional +Maintainer: Tim Starling <tstarl...@wikimedia.org> +Build-Depends: debhelper (>= 9), openjdk-7-jdk, maven +Standards-Version: 3.9.5 +Vcs-Git: https://gerrit.wikimedia.org/mediawiki/services/html5depurate.git + +Package: html5depurate +Architecture: all +Depends: openjdk-7-jre, jsvc +Description: HTML parser and reserializer which supports MediaWiki diff --git a/debian/copyright b/debian/copyright new file mode 100644 index 0000000..608f6a3 --- /dev/null +++ b/debian/copyright @@ -0,0 +1,35 @@ +Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ +Upstream-Name: html5depurate +Source: https://gerrit.wikimedia.org/mediawiki/services/html5depurate.git +Comment: The build process uses remote source files not covered by this + copyright statement. Apache Commons Daemon and Apache Commons CLI are + available under the Apache 2.0 license. Project Grizzly is available under a + dual license of CDDL and GPL 2 with the classpath exception. + +Files: * +Copyright: 2015-2016 Wikimedia Foundation +License: CC0 + +Files: src/main/java/org/wikimedia/html5depurate/DepurateSerializer.java +Copyright: 2007 Henri Sivonen + 2008-2011 Mozilla Foundation + 2016 Wikimedia Foundation +License: MIT + Permission is hereby granted, free of charge, to any person obtaining a + copy of this software and associated documentation files (the "Software"), + to deal in the Software without restriction, including without limitation + the rights to use, copy, modify, merge, publish, distribute, sublicense, + and/or sell copies of the Software, and to permit persons to whom the + Software is furnished to do so, subject to the following conditions: + . + The above copyright notice and this permission notice shall be included in + all copies or substantial portions of the Software. + . + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR + IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, + FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL + THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER + LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING + FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER + DEALINGS IN THE SOFTWARE. + diff --git a/debian/dirs b/debian/dirs new file mode 100644 index 0000000..9a45bb6 --- /dev/null +++ b/debian/dirs @@ -0,0 +1 @@ +var/log/html5depurate diff --git a/debian/docs b/debian/docs new file mode 100644 index 0000000..6b15549 --- /dev/null +++ b/debian/docs @@ -0,0 +1,2 @@ +LICENSE.TXT +README.md diff --git a/debian/etc/html5depurate.conf b/debian/etc/html5depurate.conf new file mode 100644 index 0000000..ddab21a --- /dev/null +++ b/debian/etc/html5depurate.conf @@ -0,0 +1,7 @@ +# Max POST size, in bytes. +maxPostSize = 100000000 + +# Host or IP and port on which Html5depurate will listen. +# If you change this, you also need to change it in security.policy +host = localhost +port = 4339 diff --git a/debian/etc/logging.properties b/debian/etc/logging.properties new file mode 100644 index 0000000..fba44a8 --- /dev/null +++ b/debian/etc/logging.properties @@ -0,0 +1,7 @@ +handlers = java.util.logging.FileHandler +.level = INFO + +java.util.logging.FileHandler.pattern = /var/log/html5depurate/html5depurate.log +java.util.logging.FileHandler.formatter = java.util.logging.SimpleFormatter +java.util.logging.FileHandler.append = true +java.util.logging.SimpleFormatter.format = %1$tF %1$tT %4$s: %5$s %6$s%n diff --git a/debian/etc/security.policy b/debian/etc/security.policy new file mode 100644 index 0000000..44b2f74 --- /dev/null +++ b/debian/etc/security.policy @@ -0,0 +1,18 @@ +grant { + // Config files + permission java.io.FilePermission "/etc/html5depurate/-", "read"; + + // Resources within jar files + permission java.io.FilePermission "/usr/lib/html5depurate/-", "read"; + + // Listen on the HTTP port + permission java.net.SocketPermission "localhost:4339", "listen"; + + // Accept permissions need to be granted to the remote host on its ephemeral port + permission java.net.SocketPermission "localhost", "accept,resolve"; + + // Other permissions + permission java.util.PropertyPermission "*", "read"; + permission java.lang.RuntimePermission "modifyThread"; +}; + diff --git a/debian/init.d b/debian/init.d new file mode 100644 index 0000000..53cc370 --- /dev/null +++ b/debian/init.d @@ -0,0 +1,130 @@ +#!/bin/sh +### BEGIN INIT INFO +# Provides: html5depurate +# Required-Start: $local_fs $network $remote_fs $syslog +# Required-Stop: $local_fs $network $remote_fs $syslog +# Default-Start: 2 3 4 5 +# Default-Stop: 0 1 6 +# Short-Description: Start/stop html5depurate via jsvc +### END INIT INFO + +# Author: Tim Starling <tstarl...@wikimedia.org> + +PATH=/sbin:/usr/sbin:/bin:/usr/bin +JAVA_HOME=/usr/lib/jvm/default-java +DESC="html5depurate" +NAME=html5depurate +DAEMON=/usr/bin/jsvc +PIDFILE=/var/run/$NAME.pid +JARFILE=/usr/lib/html5depurate/html5depurate.jar +LOGDIR=/var/log/html5depurate +SCRIPTNAME=/etc/init.d/$NAME +JAVA_ARGS="" +HTML5DEPURATE_ARGS="" +VERBOSE=yes + +# Exit if the package is not installed +[ -e "$JARFILE" ] || exit 0 + +# Read configuration variable file if it is present +[ -r /etc/default/$NAME ] && . /etc/default/$NAME + +DAEMON_ARGS="-cp $JARFILE + -pidfile $PIDFILE + -errfile &1 + -outfile SYSLOG + -user html5depurate + -Djava.util.logging.config.file=/etc/html5depurate/logging.properties + -Djava.security.manager + -Djava.security.policy=/etc/html5depurate/security.policy + $JAVA_ARGS + org.wikimedia.html5depurate.DepurateDaemon + $HTML5DEPURATE_ARGS" + +# Load the VERBOSE setting and other rcS variables +. /lib/init/vars.sh + +# Define LSB log_* functions. +# Depend on lsb-base (>= 3.2-14) to ensure that this file is present +# and status_of_proc is working. +. /lib/lsb/init-functions + +# +# Function that starts the daemon/service +# +do_start() +{ + # Return + # 0 if daemon has been started + # 1 if daemon was already running + # 2 if daemon could not be started + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON --test > /dev/null \ + || return 1 + start-stop-daemon --start --quiet --pidfile $PIDFILE --exec $DAEMON -- \ + $DAEMON_ARGS \ + || return 2 +} + +# +# Function that stops the daemon/service +# +do_stop() +{ + # Return + # 0 if daemon has been stopped + # 1 if daemon was already stopped + # 2 if daemon could not be stopped + # other if a failure occurred + start-stop-daemon --stop --quiet --retry=TERM/30/KILL/5 --pidfile $PIDFILE + RETVAL="$?" + [ "$RETVAL" = 2 ] && return 2 + # Many daemons don't delete their pidfiles when they exit. + rm -f $PIDFILE + return "$RETVAL" +} + +case "$1" in + start) + [ "$VERBOSE" != no ] && log_daemon_msg "Starting $DESC" "$NAME" + do_start + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + stop) + [ "$VERBOSE" != no ] && log_daemon_msg "Stopping $DESC" "$NAME" + do_stop + case "$?" in + 0|1) [ "$VERBOSE" != no ] && log_end_msg 0 ;; + 2) [ "$VERBOSE" != no ] && log_end_msg 1 ;; + esac + ;; + status) + status_of_proc -p "$PIDFILE" "$DAEMON" "$NAME" && exit 0 || exit $? + ;; + restart|force-reload) + log_daemon_msg "Restarting $DESC" "$NAME" + do_stop + case "$?" in + 0|1) + do_start + case "$?" in + 0) log_end_msg 0 ;; + 1) log_end_msg 1 ;; # Old process is still running + *) log_end_msg 1 ;; # Failed to start + esac + ;; + *) + # Failed to stop + log_end_msg 1 + ;; + esac + ;; + *) + echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2 + exit 3 + ;; +esac + +: diff --git a/debian/install b/debian/install new file mode 100644 index 0000000..2795a73 --- /dev/null +++ b/debian/install @@ -0,0 +1,2 @@ +target/html5depurate*.jar usr/lib/html5depurate +debian/etc/* etc/html5depurate diff --git a/debian/link-jar.sh b/debian/link-jar.sh new file mode 100755 index 0000000..982ffe6 --- /dev/null +++ b/debian/link-jar.sh @@ -0,0 +1,5 @@ +#!/bin/sh + +set -e +cd $DESTDIR/usr/lib/html5depurate +ln -sf html5depurate-*.jar html5depurate.jar diff --git a/debian/postinst b/debian/postinst new file mode 100644 index 0000000..e65c14f --- /dev/null +++ b/debian/postinst @@ -0,0 +1,45 @@ +#!/bin/sh +# postinst script for html5depurate +# +# 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 + + +case "$1" in + configure) + if ! getent passwd html5depurate > /dev/null; then + adduser --quiet --system --group --no-create-home \ + --home /var/lib/html5depurate html5depurate + fi + install -o html5depurate -g html5depurate -d /var/log/html5depurate + ;; + + 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 diff --git a/debian/rules b/debian/rules new file mode 100755 index 0000000..4e1fb6f --- /dev/null +++ b/debian/rules @@ -0,0 +1,17 @@ +#!/usr/bin/make -f +# See debhelper(7) (uncomment to enable) +# output every command that modifies files on the build system. +#DH_VERBOSE = 1 + +include /usr/share/dpkg/default.mk + +# main packaging script based on dh7 syntax +%: + dh $@ + +override_dh_auto_build: + mvn package + +override_dh_install: + dh_install + DESTDIR=$(CURDIR)/debian/html5depurate $(CURDIR)/debian/link-jar.sh diff --git a/debian/source/format b/debian/source/format new file mode 100644 index 0000000..89ae9db --- /dev/null +++ b/debian/source/format @@ -0,0 +1 @@ +3.0 (native) diff --git a/pom.xml b/pom.xml index 05e6a80..288a30c 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ <groupId>org.wikimedia</groupId> <artifactId>html5depurate</artifactId> <packaging>jar</packaging> - <version>1.0-SNAPSHOT</version> + <version>1.0.0</version> <name>html5depurate</name> <url>http://maven.apache.org</url> <build> -- To view, visit https://gerrit.wikimedia.org/r/284856 To unsubscribe, visit https://gerrit.wikimedia.org/r/settings Gerrit-MessageType: newchange Gerrit-Change-Id: I6be63164d9e38fb62ef561bda671879b84cf54b1 Gerrit-PatchSet: 1 Gerrit-Project: mediawiki/services/html5depurate Gerrit-Branch: debian Gerrit-Owner: Tim Starling <tstarl...@wikimedia.org> _______________________________________________ MediaWiki-commits mailing list MediaWiki-commits@lists.wikimedia.org https://lists.wikimedia.org/mailman/listinfo/mediawiki-commits