First commit
This commit is contained in:
@@ -0,0 +1,122 @@
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>net.sourceforge.subsonic</groupId>
|
||||
<artifactId>subsonic-installer-rpm</artifactId>
|
||||
<packaging>pom</packaging>
|
||||
<name>Subsonic Installer for RPM</name>
|
||||
|
||||
<parent>
|
||||
<groupId>net.sourceforge.subsonic</groupId>
|
||||
<artifactId>subsonic</artifactId>
|
||||
<version>5.3</version>
|
||||
</parent>
|
||||
|
||||
<profiles>
|
||||
|
||||
<profile>
|
||||
<id>rpm</id>
|
||||
<activation>
|
||||
<property>
|
||||
<name>rpm</name>
|
||||
</property>
|
||||
</activation>
|
||||
|
||||
<build>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<groupId>org.codehaus.mojo</groupId>
|
||||
<artifactId>buildnumber-maven-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>validate</phase>
|
||||
<goals>
|
||||
<goal>create</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<doCheck>false</doCheck>
|
||||
<doUpdate>false</doUpdate>
|
||||
</configuration>
|
||||
</plugin>
|
||||
|
||||
<plugin>
|
||||
<artifactId>maven-antrun-plugin</artifactId>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>rpm</id>
|
||||
<phase>compile</phase>
|
||||
<configuration>
|
||||
<target>
|
||||
<echo>Creating RPM package...</echo>
|
||||
|
||||
<copy file="${basedir}/src/subsonic.spec"
|
||||
todir="${project.build.directory}/rpm/SPECS">
|
||||
<filterset>
|
||||
<filter token="VERSION" value="${project.version}"/>
|
||||
<filter token="BUILD_NUMBER" value="${buildNumber}"/>
|
||||
</filterset>
|
||||
</copy>
|
||||
|
||||
<!--Remove ".beta" suffix from version tag.-->
|
||||
<replace file="${project.build.directory}/rpm/SPECS/subsonic.spec">
|
||||
<replacetoken>.beta1</replacetoken>
|
||||
<replacetoken>.beta2</replacetoken>
|
||||
<replacetoken>.beta3</replacetoken>
|
||||
<replacetoken>.beta4</replacetoken>
|
||||
</replace>
|
||||
|
||||
<mkdir dir="${project.build.directory}/rpm/RPMS/i386"/>
|
||||
|
||||
<copy file="${basedir}/src/etc/init.d/subsonic"
|
||||
todir="${project.build.directory}/rpm/buildroot/etc/init.d"/>
|
||||
<copy file="${basedir}/src/etc/sysconfig/subsonic"
|
||||
todir="${project.build.directory}/rpm/buildroot/etc/sysconfig"/>
|
||||
<copy file="../subsonic-booter/src/main/script/subsonic.sh"
|
||||
todir="${project.build.directory}/rpm/buildroot/usr/share/subsonic"/>
|
||||
<copy file="../subsonic-booter/target/subsonic-booter-jar-with-dependencies.jar"
|
||||
todir="${project.build.directory}/rpm/buildroot/usr/share/subsonic"/>
|
||||
<copy file="../subsonic-main/target/subsonic.war"
|
||||
todir="${project.build.directory}/rpm/buildroot/usr/share/subsonic"/>
|
||||
<copy file="../subsonic-transcode/linux/ffmpeg"
|
||||
todir="${project.build.directory}/rpm/buildroot/var/subsonic/transcode"/>
|
||||
<copy file="../subsonic-transcode/linux/lame"
|
||||
todir="${project.build.directory}/rpm/buildroot/var/subsonic/transcode"/>
|
||||
|
||||
<exec executable="rpmbuild">
|
||||
<arg value="-bb"/>
|
||||
<arg value="--buildroot"/>
|
||||
<arg value="${project.build.directory}/rpm/buildroot"/>
|
||||
<arg value="--define"/>
|
||||
<arg value="_topdir ${project.build.directory}/rpm"/>
|
||||
<arg value="--target"/>
|
||||
<arg value="i386"/>
|
||||
<arg value="${project.build.directory}/rpm/SPECS/subsonic.spec"/>
|
||||
</exec>
|
||||
|
||||
<copy tofile="${project.build.directory}/subsonic-${project.version}.rpm">
|
||||
<fileset dir="${project.build.directory}/rpm/RPMS/i386">
|
||||
<include name="*.rpm"/>
|
||||
</fileset>
|
||||
</copy>
|
||||
|
||||
<exec executable="rpmlint">
|
||||
<arg value="${project.build.directory}/subsonic-${project.version}.rpm"/>
|
||||
</exec>
|
||||
</target>
|
||||
</configuration>
|
||||
<goals>
|
||||
<goal>run</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
|
||||
</executions>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
</profile>
|
||||
</profiles>
|
||||
|
||||
</project>
|
||||
@@ -0,0 +1,104 @@
|
||||
#!/bin/bash
|
||||
#
|
||||
# subsonic This shell script takes care of starting and stopping Subsonic
|
||||
#
|
||||
# chkconfig: - 80 20
|
||||
#
|
||||
### BEGIN INIT INFO
|
||||
# Provides: subsonic
|
||||
# Required-Start: $network $syslog
|
||||
# Required-Stop: $network $syslog
|
||||
# Default-Start: 2 3 4 5
|
||||
# Default-Stop: 0 1 6
|
||||
# Short-Description: Subsonic daemon
|
||||
# Description: Starts the Subsonic daemon. Subsonic is a web-based
|
||||
# music streamer, jukebox and Podcast receiver.
|
||||
# See http://subsonic.org for more details.
|
||||
### END INIT INFO
|
||||
|
||||
# Author: Sindre Mehus <sindre@activeobjects.no>
|
||||
|
||||
# To change the startup parameters of Subsonic, modify the service
|
||||
# configuration file /etc/sysconfig/subsonic rather than this file.
|
||||
[ -r /etc/sysconfig/subsonic ] && . /etc/sysconfig/subsonic
|
||||
|
||||
PATH=/sbin:/usr/sbin:/bin:/usr/bin
|
||||
DESC="Subsonic Daemon"
|
||||
NAME=subsonic
|
||||
PIDFILE=/var/run/$NAME.pid
|
||||
LOCKFILE=/var/lock/subsys/$NAME
|
||||
DAEMON=/usr/bin/$NAME
|
||||
DAEMON_ARGS="--pidfile=$PIDFILE $SUBSONIC_ARGS"
|
||||
SCRIPTNAME=/etc/init.d/$NAME
|
||||
|
||||
# Exit if the package is not installed.
|
||||
[ -x "$DAEMON" ] || exit 0
|
||||
|
||||
# Run as root if SUBSONIC_USER is not set.
|
||||
[ "$SUBSONIC_USER" = "" ] && SUBSONIC_USER=root
|
||||
|
||||
# Source function library.
|
||||
. /etc/init.d/functions
|
||||
|
||||
#
|
||||
# Function that starts the daemon/service
|
||||
#
|
||||
do_start()
|
||||
{
|
||||
# Check if daemon is already running.
|
||||
if [ -e $PIDFILE ]
|
||||
then
|
||||
ps -p $(cat $PIDFILE) > /dev/null
|
||||
[ "$?" = 0 ] && return 1
|
||||
fi
|
||||
|
||||
touch $PIDFILE
|
||||
chown $SUBSONIC_USER $PIDFILE
|
||||
[ -e /var/subsonic ] && chown -R $SUBSONIC_USER /var/subsonic
|
||||
[ -e /tmp/subsonic ] && chown -R $SUBSONIC_USER /tmp/subsonic
|
||||
|
||||
echo $"Starting $NAME ..."
|
||||
su -c "$DAEMON $DAEMON_ARGS" $SUBSONIC_USER
|
||||
RETVAL=$?
|
||||
echo
|
||||
[ $RETVAL -eq 0 ] && touch $LOCKFILE
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
#
|
||||
# Function that stops the daemon/service
|
||||
#
|
||||
do_stop()
|
||||
{
|
||||
# Check if pidfile exists
|
||||
[ ! -e $PIDFILE ] && return 1
|
||||
|
||||
echo -n $"Stopping $NAME ..."
|
||||
killproc -p $PIDFILE $DAEMON
|
||||
RETVAL=$?
|
||||
echo
|
||||
[ $RETVAL -eq 0 ] && rm -f $LOCKFILE
|
||||
return $RETVAL
|
||||
}
|
||||
|
||||
case "$1" in
|
||||
start)
|
||||
do_start
|
||||
;;
|
||||
stop)
|
||||
do_stop
|
||||
;;
|
||||
status)
|
||||
status -p $PIDFILE "$NAME"
|
||||
;;
|
||||
restart|force-reload)
|
||||
do_stop
|
||||
do_start
|
||||
;;
|
||||
*)
|
||||
echo "Usage: $SCRIPTNAME {start|stop|status|restart|force-reload}" >&2
|
||||
exit 3
|
||||
;;
|
||||
esac
|
||||
|
||||
:
|
||||
@@ -0,0 +1,25 @@
|
||||
#
|
||||
# This is the configuration file for the Subsonic service
|
||||
# (/etc/init.d/subsonic)
|
||||
#
|
||||
# To change the startup parameters of Subsonic, modify
|
||||
# the SUBSONIC_ARGS variable below.
|
||||
#
|
||||
# Type "/usr/share/subsonic/subsonic.sh --help" on the command line to read an
|
||||
# explanation of the different options.
|
||||
#
|
||||
# For example, to specify that Subsonic should use port 80 (for http)
|
||||
# and 443 (for https), and use a Java memory heap size of 200 MB, use
|
||||
# the following:
|
||||
#
|
||||
# SUBSONIC_ARGS="--port=80 --https-port=443 --max-memory=200"
|
||||
|
||||
SUBSONIC_ARGS="--max-memory=150"
|
||||
|
||||
|
||||
# The user which should run the Subsonic process. Default "root".
|
||||
# Note that non-root users are by default not allowed to use ports
|
||||
# below 1024. Also make sure to grant the user write permissions in
|
||||
# the music directories, otherwise changing album art and tags will fail.
|
||||
|
||||
SUBSONIC_USER=root
|
||||
@@ -0,0 +1,78 @@
|
||||
Name: subsonic
|
||||
Version: @VERSION@
|
||||
Release: @BUILD_NUMBER@
|
||||
Summary: A web-based music streamer, jukebox and Podcast receiver
|
||||
|
||||
Group: Applications/Multimedia
|
||||
License: GPLv3
|
||||
URL: http://subsonic.org
|
||||
|
||||
%description
|
||||
Subsonic is a web-based music streamer, jukebox and Podcast receiver,
|
||||
providing access to your music collection wherever you are. Use it
|
||||
to share your music with friends, or to listen to your music while away
|
||||
from home.
|
||||
|
||||
Apps for Android, iPhone and Windows Phone are also available.
|
||||
|
||||
Java 1.6 or higher is required to run Subsonic.
|
||||
|
||||
Subsonic can be found at http://subsonic.org
|
||||
|
||||
%files
|
||||
%defattr(644,root,root,755)
|
||||
/usr/share/subsonic/subsonic-booter-jar-with-dependencies.jar
|
||||
/usr/share/subsonic/subsonic.war
|
||||
%attr(755,root,root) /usr/share/subsonic/subsonic.sh
|
||||
%attr(755,root,root) /etc/init.d/subsonic
|
||||
%attr(755,root,root) /var/subsonic/transcode/ffmpeg
|
||||
%attr(755,root,root) /var/subsonic/transcode/lame
|
||||
%config(noreplace) /etc/sysconfig/subsonic
|
||||
|
||||
%pre
|
||||
# Stop Subsonic service.
|
||||
if [ -e /etc/init.d/subsonic ]; then
|
||||
service subsonic stop
|
||||
fi
|
||||
|
||||
# Backup database.
|
||||
if [ -e /var/subsonic/db ]; then
|
||||
rm -rf /var/subsonic/db.backup
|
||||
cp -R /var/subsonic/db /var/subsonic/db.backup
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
||||
%post
|
||||
ln -sf /usr/share/subsonic/subsonic.sh /usr/bin/subsonic
|
||||
chmod 750 /var/subsonic
|
||||
|
||||
# Clear jetty cache.
|
||||
rm -rf /var/subsonic/jetty
|
||||
|
||||
# For SELinux: Set security context
|
||||
chcon -t java_exec_t /etc/init.d/subsonic 2>/dev/null
|
||||
|
||||
# Configure and start Subsonic service.
|
||||
chkconfig --add subsonic
|
||||
service subsonic start
|
||||
|
||||
exit 0
|
||||
|
||||
%preun
|
||||
# Only do it if uninstalling, not upgrading.
|
||||
if [ $1 = 0 ] ; then
|
||||
|
||||
# Stop the service.
|
||||
[ -e /etc/init.d/subsonic ] && service subsonic stop
|
||||
|
||||
# Remove symlink.
|
||||
rm -f /usr/bin/subsonic
|
||||
|
||||
# Remove startup scripts.
|
||||
chkconfig --del subsonic
|
||||
|
||||
fi
|
||||
|
||||
exit 0
|
||||
|
||||
Reference in New Issue
Block a user