Skip to main content
aboutsummaryrefslogtreecommitdiffstats
path: root/dists
diff options
context:
space:
mode:
authorJesse McConnell2012-11-16 22:08:40 +0000
committerJesse McConnell2012-11-16 22:08:45 +0000
commit5e61d136d784bf228f73c9016d721f9ef18bb9df (patch)
tree639d307c572bcef3096fc8f1cb597c43130e2b71 /dists
parentb76669434feb6a2d6e42d489ce2703c13d2c4a7d (diff)
downloadorg.eclipse.jetty.project-5e61d136d784bf228f73c9016d721f9ef18bb9df.tar.gz
org.eclipse.jetty.project-5e61d136d784bf228f73c9016d721f9ef18bb9df.tar.xz
org.eclipse.jetty.project-5e61d136d784bf228f73c9016d721f9ef18bb9df.zip
make user:group on install, adjust the packaging some
Diffstat (limited to 'dists')
-rw-r--r--dists/jetty-deb/pom.xml44
-rw-r--r--dists/jetty-deb/src/main/unix/scripts/postinst18
-rw-r--r--dists/jetty-deb/src/main/unix/scripts/postrm47
-rw-r--r--dists/jetty-deb/src/main/unix/scripts/preinst60
4 files changed, 156 insertions, 13 deletions
diff --git a/dists/jetty-deb/pom.xml b/dists/jetty-deb/pom.xml
index 0c86a28afc..3ebd6de286 100644
--- a/dists/jetty-deb/pom.xml
+++ b/dists/jetty-deb/pom.xml
@@ -35,33 +35,57 @@
<assembly>
<extractArtifact>
<artifact>org.eclipse.jetty:jetty-distribution:zip</artifact>
- <to>/opt/jetty</to>
+ <to>/usr/share/jetty9</to>
<pattern>/jetty-distribution-${project.version}(.*)</pattern>
<replacement>$1</replacement>
<excludes>
- <include>jetty-distribution-*/contexts/javadoc.xml</include>
<exclude>jetty-distribution-*/javadoc</exclude>
<exclude>jetty-distribution-*/javadoc/**</exclude>
- </excludes>
+ <exclude>jetty-distribution-*/logs/**</exclude>
+ <exclude>jetty-distribution-*/bin/**</exclude>
+ <exclude>jetty-distribution-*/webapps/**</exclude>
+ <exclude>jetty-distribution-*/*.html</exclude>
+ <exclude>jetty-distribution-*/*.txt</exclude>
+ </excludes>
+ </extractArtifact>
+ <extractArtifact>
+ <artifact>org.eclipse.jetty:jetty-distribution:zip</artifact>
+ <to>/usr/share/doc/jetty9</to>
+ <pattern>/jetty-distribution-${project.version}(.*)</pattern>
+ <replacement>$1</replacement>
+ <excludes>
+ <include>jetty-distribution-*/*.html</include>
+ <include>jetty-distribution-*/*.txt</include>
+ <exclude>jetty-distribution-*/**</exclude>
+ </excludes>
+ </extractArtifact>
+ <extractArtifact>
+ <artifact>org.eclipse.jetty:jetty-distribution:zip</artifact>
+ <to>/etc/jetty9</to>
+ <pattern>/jetty-distribution-${project.version}(.*)</pattern>
+ <replacement>$1</replacement>
+ <excludes>
+ <include>jetty-distribution-*/etc/**</include>
+ <exclude>jetty-distribution-*/**</exclude>
+ </excludes>
</extractArtifact>
</assembly>
</package>
- <!--package>
- <id>jetty-javadoc</id>
- <classifier>javadoc</classifier>
+ <package>
+ <id>jetty-test-webapp</id>
+ <classifier>test-webapp</classifier>
<assembly>
<extractArtifact>
<artifact>org.eclipse.jetty:jetty-distribution:zip</artifact>
- <to>/opt/jetty</to>
+ <to>/var/lib/jetty9/webapps</to>
<pattern>/jetty-distribution-${project.version}(.*)</pattern>
<replacement>$1</replacement>
<includes>
- <include>jetty-distribution-*/contexts/javadoc.xml</include>
- <include>jetty-distribution-*/javadoc/**</include>
+ <include>jetty-distribution-*/webapps/**</include>
</includes>
</extractArtifact>
</assembly>
- </package-->
+ </package>
</packages>
</configuration>
</plugin>
diff --git a/dists/jetty-deb/src/main/unix/scripts/postinst b/dists/jetty-deb/src/main/unix/scripts/postinst
index cac1ce0985..f6d78139b4 100644
--- a/dists/jetty-deb/src/main/unix/scripts/postinst
+++ b/dists/jetty-deb/src/main/unix/scripts/postinst
@@ -1,6 +1,20 @@
#!/bin/bash
-cp /opt/jetty/bin/jetty.sh /etc/init.d/jetty
+LOG_DIR=/var/lib/jetty9/logs
+WEBAPP_DIR=/var/lib/jetty9/webapps
+# copy the jetty start script into place
+cp /usr/share/jetty9/bin/jetty.sh /etc/init.d/jetty
+
+# make it generally executable
chmod 755 /etc/init.d/jetty
-chmod 755 /opt/jetty/bin/*.sh
+
+# ensure we have a logging directory
+if [ ! -d "$LOG_DIR" ]; then
+ mkdir $LOG_DIR
+fi
+
+# ensure we have a webapps directory
+if [ ! -d "$WEBAPP_DIR" ]; then
+ mkdir $WEBAPP_DIR
+fi
diff --git a/dists/jetty-deb/src/main/unix/scripts/postrm b/dists/jetty-deb/src/main/unix/scripts/postrm
index f080dc8b19..1f7f3e344b 100644
--- a/dists/jetty-deb/src/main/unix/scripts/postrm
+++ b/dists/jetty-deb/src/main/unix/scripts/postrm
@@ -1,3 +1,48 @@
#!/bin/bash
-rm -f /etc/init.d/jetty \ No newline at end of file
+#rm -f /etc/init.d/jetty
+
+ case "$1" in
+ purge)
+ [...]
+ # find first and last SYSTEM_UID numbers
+ for LINE in `grep SYSTEM_UID /etc/adduser.conf | grep -v "^#"`; do
+ case $LINE in
+ FIRST_SYSTEM_UID*)
+ FIST_SYSTEM_UID=`echo $LINE | cut -f2 -d '='`
+ ;;
+ LAST_SYSTEM_UID*)
+ LAST_SYSTEM_UID=`echo $LINE | cut -f2 -d '='`
+ ;;
+ *)
+ ;;
+ esac
+ done
+ # Remove system account if necessary
+ CREATEDUSER="jetty"
+ if [ -n "$FIST_SYSTEM_UID" ] && [ -n "$LAST_SYSTEM_UID" ]; then
+ if USERID=`getent passwd $CREATEDUSER | cut -f 3 -d ':'`; then
+ if [ -n "$USERID" ]; then
+ if [ "$FIST_SYSTEM_UID" -le "$USERID" ] && \
+ [ "$USERID" -le "$LAST_SYSTEM_UID" ]; then
+ echo -n "Removing $CREATEDUSER system user.."
+ deluser --quiet $CREATEDUSER || true
+ echo "..done"
+ fi
+ fi
+ fi
+ fi
+ # Remove system group if necessary
+ CREATEDGROUP="jetty"
+ FIRST_USER_GID=`grep ^USERS_GID /etc/adduser.conf | cut -f2 -d '='`
+ if [ -n "$FIST_USER_GID" ] then
+ if GROUPGID=`getent group $CREATEDGROUP | cut -f 3 -d ':'`; then
+ if [ -n "$GROUPGID" ]; then
+ if [ "$FIST_USER_GID" -gt "$GROUPGID" ]; then
+ echo -n "Removing $CREATEDGROUP group.."
+ delgroup --only-if-empty $CREATEDGROUP || true
+ echo "..done"
+ fi
+ fi
+ fi
+ fi \ No newline at end of file
diff --git a/dists/jetty-deb/src/main/unix/scripts/preinst b/dists/jetty-deb/src/main/unix/scripts/preinst
new file mode 100644
index 0000000000..dccb06608a
--- /dev/null
+++ b/dists/jetty-deb/src/main/unix/scripts/preinst
@@ -0,0 +1,60 @@
+#!/bin/bash
+
+ case "$1" in
+ install|upgrade)
+
+ # If the package has default file it could be sourced, so that
+ # the local admin can overwrite the defaults
+
+ [ -f "/etc/default/packagename" ] && . /etc/default/packagename
+
+ # Sane defaults:
+
+ [ -z "$SERVER_HOME" ] && SERVER_HOME=/usr/share/jetty9
+ [ -z "$SERVER_USER" ] && SERVER_USER=jetty
+ [ -z "$SERVER_NAME" ] && SERVER_NAME="Jetty-9 Http and Servlet Engine"
+ [ -z "$SERVER_GROUP" ] && SERVER_GROUP=jetty
+
+ # Groups that the user will be added to, if undefined, then none.
+ ADDGROUP=""
+
+ # create user to avoid running server as root
+ # 1. create group if not existing
+ if ! getent group | grep -q "^$SERVER_GROUP:" ; then
+ echo -n "Adding group $SERVER_GROUP.."
+ addgroup --quiet --system $SERVER_GROUP 2>/dev/null ||true
+ echo "..done"
+ fi
+ # 2. create homedir if not existing
+ test -d $SERVER_HOME || mkdir $SERVER_HOME
+ # 3. create user if not existing
+ if ! getent passwd | grep -q "^$SERVER_USER:"; then
+ echo -n "Adding system user $SERVER_USER.."
+ adduser --quiet \
+ --system \
+ --ingroup $SERVER_GROUP \
+ --no-create-home \
+ --disabled-password \
+ $SERVER_USER 2>/dev/null || true
+ echo "..done"
+ fi
+ # 4. adjust passwd entry
+ usermod -c "$SERVER_NAME" \
+ -d $SERVER_HOME \
+ -g $SERVER_GROUP \
+ $SERVER_USER
+ # 5. adjust file and directory permissions
+ if ! dpkg-statoverride --list $SERVER_HOME >/dev/null
+ then
+ chown -R $SERVER_USER:$SERVER_GROUP $SERVER_HOME
+ chmod u=rwx,g=rxs,o= $SERVER_HOME
+ fi
+ # 6. Add the user to the ADDGROUP group
+ if test -n $ADDGROUP
+ then
+ if ! groups $SERVER_USER | cut -d: -f2 | \
+ grep -qw $ADDGROUP; then
+ adduser $SERVER_USER $ADDGROUP
+ fi
+ fi
+ ;;

Back to the top