[prosody] Iinitial import
trasher
trasher at fedoraproject.org
Sat Jun 23 18:39:12 UTC 2012
commit d3805ac66e3298400d0862c146d83062327f2435
Author: Johan Cwiklinski <johan at x-tnd.be>
Date: Sat Jun 23 20:36:35 2012 +0200
Iinitial import
.gitignore | 1 +
prosody.config.patch | 39 ++++++++
prosody.init | 75 +++++++++++++++
prosody.service | 12 +++
prosody.spec | 238 ++++++++++++++++++++++++++++++++++++++++++++++++
prosody.sslcerts.patch | 23 +++++
prosody.tmpfiles | 1 +
sources | 1 +
8 files changed, 390 insertions(+), 0 deletions(-)
---
diff --git a/.gitignore b/.gitignore
index e69de29..91f5cd1 100644
--- a/.gitignore
+++ b/.gitignore
@@ -0,0 +1 @@
+/prosody-0.8.2.tar.gz
diff --git a/prosody.config.patch b/prosody.config.patch
new file mode 100644
index 0000000..9eaa215
--- /dev/null
+++ b/prosody.config.patch
@@ -0,0 +1,39 @@
+diff -up prosody-0.8.0/prosody.cfg.lua.dist.patch prosody-0.8.0/prosody.cfg.lua.dist
+--- prosody-0.8.0/prosody.cfg.lua.dist.patch 2011-04-08 14:20:24.508974815 +0200
++++ prosody-0.8.0/prosody.cfg.lua.dist 2011-04-08 14:25:56.159877253 +0200
+@@ -59,7 +59,7 @@ modules_enabled = {
+ --"admin_telnet"; -- Opens telnet console interface on localhost port 5582
+
+ -- Other specific functionality
+- --"posix"; -- POSIX functionality, sends server to background, enables syslog, etc.
++ "posix"; -- POSIX functionality, sends server to background, enables syslog, etc.
+ --"bosh"; -- Enable BOSH clients, aka "Jabber over HTTP"
+ --"httpserver"; -- Serve static files from a directory over HTTP
+ --"groups"; -- Shared roster support
+@@ -86,8 +86,8 @@ allow_registration = false;
+ -- These are the SSL/TLS-related settings. If you don't want
+ -- to use SSL/TLS, you may comment or remove this
+ ssl = {
+- key = "certs/localhost.key";
+- certificate = "certs/localhost.cert";
++ key = "/etc/pki/tls/private/prosody.key";
++ certificate = "/etc/pki/tls/certs/prosody.crt";
+ }
+
+ -- Only allow encrypted streams? Encryption is already used when
+@@ -123,11 +123,12 @@ authentication = "internal_plain"
+ -- Logging configuration
+ -- For advanced logging see http://prosody.im/doc/logging
+ log = {
+- info = "prosody.log"; -- Change 'info' to 'debug' for verbose logging
+- error = "prosody.err";
+- -- "*syslog"; -- Uncomment this for logging to syslog
++ -- info = "prosody.log"; -- Change 'info' to 'debug' for verbose logging
++ -- error = "prosody.err";
++ "*syslog"; -- Uncomment this for logging to syslog
+ -- "*console"; -- Log to the console, useful for debugging with daemonize=false
+ }
++pidfile = "/var/run/prosody/prosody.pid";
+
+ ----------- Virtual hosts -----------
+ -- You need to add a VirtualHost entry for each domain you wish Prosody to serve.
diff --git a/prosody.init b/prosody.init
new file mode 100644
index 0000000..a5a79e1
--- /dev/null
+++ b/prosody.init
@@ -0,0 +1,75 @@
+#!/bin/sh
+#
+# prosody - Flexible communications server for Jabber/XMPP
+#
+# chkconfig: - 90 10
+# description: Flexible communications server for Jabber/XMPP
+
+# http://fedoraproject.org/wiki/FCNewInit/Initscripts
+### BEGIN INIT INFO
+# Provides: prosody
+# Required-Start: network
+# Required-Stop: network
+# Default-Start:
+# Default-Stop: 0 1 6
+# Short-Description: Start and stop prosody
+# Description:
+### END INIT INFO
+
+# Source function library.
+. /etc/rc.d/init.d/functions
+
+exec="/usr/bin/prosodyctl"
+prog="prosody"
+user="prosody"
+
+[ -e /etc/sysconfig/$prog ] && . /etc/sysconfig/$prog
+
+lockfile=/var/lock/subsys/$prog
+
+start() {
+ echo -n $"Starting $prog: "
+ daemon --user $user $exec start
+ retval=$?
+ echo
+ [ $retval -eq 0 ] && touch $lockfile
+ return $retval
+}
+
+stop() {
+ echo -n $"Stopping $prog: "
+ daemon $exec stop 2>/dev/null
+ retval=$?
+ echo
+ [ $retval -eq 0 ] && rm -f $lockfile
+ return $retval
+}
+
+restart() {
+ stop
+ start
+}
+
+case "$1" in
+ start|stop|restart)
+ $1
+ ;;
+ force-reload)
+ restart
+ ;;
+ status)
+ $exec status
+ ;;
+ try-restart|condrestart)
+ if $exec status >/dev/null ; then
+ restart
+ fi
+ ;;
+ reload)
+ action $"Service ${0##*/} does not support the reload action: " /bin/false
+ exit 3
+ ;;
+ *)
+ echo $"Usage: $0 {start|stop|status|restart|try-restart|force-reload}"
+ exit 2
+esac
diff --git a/prosody.service b/prosody.service
new file mode 100644
index 0000000..d8eb11a
--- /dev/null
+++ b/prosody.service
@@ -0,0 +1,12 @@
+[Unit]
+Description=Prosody XMPP (Jabber) server
+After=network.target
+
+[Service]
+Type=forking
+PIDFile=/var/run/prosody/prosody.pid
+ExecStart=/usr/bin/prosodyctl start
+ExecStop=/usr/bin/prosodyctl stop
+
+[Install]
+WantedBy=multi-user.target
diff --git a/prosody.spec b/prosody.spec
new file mode 100644
index 0000000..cd89789
--- /dev/null
+++ b/prosody.spec
@@ -0,0 +1,238 @@
+%{!?_initddir: %{expand: %%global _initddir %{_initrddir}}}
+%if 0%{?rhel} == 5
+%global _sharedstatedir %{_localstatedir}/lib
+%endif
+
+%global sslcert %{_sysconfdir}/pki/tls/certs/prosody.crt
+%global sslkey %{_sysconfdir}/pki/tls/private/prosody.key
+
+%global luaver 5.1
+
+Name: prosody
+Version: 0.8.2
+Release: 5%{?dist}
+Summary: Flexible communications server for Jabber/XMPP
+
+Group: System Environment/Daemons
+License: MIT
+URL: http://prosody.im/
+Source0: http://prosody.im/downloads/source/%{name}-%{version}.tar.gz
+Source1: %{name}.init
+Source2: %{name}.tmpfiles
+Source3: %{name}.service
+Patch0: %{name}.config.patch
+Patch1: %{name}.sslcerts.patch
+BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
+
+BuildRequires: lua-devel
+BuildRequires: libidn-devel
+BuildRequires: openssl-devel
+%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
+BuildRequires: systemd-units
+%endif
+Requires: lua-expat
+Requires: lua-sec
+Requires: lua-filesystem
+Requires: lua-dbi
+%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
+Requires(post): systemd-units
+Requires(preun): systemd-units
+Requires(postun): systemd-units
+%endif
+%if 0%{?fedora} >= 16 || 0%{?rhel} >= 7
+Requires: lua(abi) = %{luaver}
+%else
+Requires: lua >= %{luaver}
+%endif
+
+%description
+Prosody is a flexible communications server for Jabber/XMPP written in Lua.
+It aims to be easy to use, and light on resources. For developers it aims
+to be easy to extend and give a flexible system on which to rapidly
+develop added functionality, or prototype new protocols.
+
+
+%prep
+%setup -q
+%patch0 -p1
+# remove default ssl certificates
+%patch1 -p1
+#do the sed atfer patch1, to avoid a i686 build issue
+sed -e 's|$(PREFIX)/lib|$(PREFIX)/%{_lib}|' -i Makefile
+rm -rf certs/
+# fix wrong end of line encoding
+pushd doc
+sed -i -e 's|\r||g' stanza.txt session.txt roster_format.txt
+popd
+
+
+%build
+./configure \
+ --with-lua='' \
+ --with-lua-include=%{_includedir} \
+ --prefix=%{_prefix}
+make %{?_smp_mflags} CFLAGS="$RPM_OPT_FLAGS -fPIC"
+
+
+%install
+rm -rf $RPM_BUILD_ROOT
+make install DESTDIR=$RPM_BUILD_ROOT
+#fix perms
+chmod -x $RPM_BUILD_ROOT%{_libdir}/%{name}/%{name}.version
+#avoid rpmlint unstripped-binary-or-object warnings
+chmod 0755 $RPM_BUILD_ROOT%{_libdir}/%{name}/util/*.so
+
+#directories for datadir and pids
+mkdir -p $RPM_BUILD_ROOT%{_sharedstatedir}/%{name}
+chmod 0755 $RPM_BUILD_ROOT%{_sharedstatedir}/%{name}
+mkdir -p $RPM_BUILD_ROOT%{_localstatedir}/run/%{name}
+
+%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
+#systemd stuff
+mkdir -p $RPM_BUILD_ROOT%{_unitdir}
+install -p -m 644 %{SOURCE3} $RPM_BUILD_ROOT%{_unitdir}/%{name}.service
+
+#tmpfiles.d stuff
+mkdir -p $RPM_BUILD_ROOT%{_sysconfdir}/tmpfiles.d
+install -p -m 644 %{SOURCE2} $RPM_BUILD_ROOT%{_sysconfdir}/tmpfiles.d/%{name}.conf
+%else
+#install initd script
+mkdir -p $RPM_BUILD_ROOT%{_initddir}
+install -m755 %{SOURCE1} $RPM_BUILD_ROOT%{_initddir}/%{name}
+%endif
+
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+
+%pre
+%{_sbindir}/useradd -d %{_sharedstatedir}/%{name} -r -s /sbin/nologin %{name} 2> /dev/null || :
+
+
+%preun
+if [ $1 = 0 ]; then
+ # Package removal, not upgrade
+ %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
+ /bin/systemctl --no-reload disable %{name}.service > /dev/null 2>&1 || :
+ /bin/systemctl stop %{name}.service > /dev/null 2>&1 || :
+ %else
+ service %{name} stop > /dev/null 2>&1 || :
+ chkconfig --del %{name} || :
+ %endif
+fi
+
+
+%post
+if [ $1 -eq 1 ] ; then
+ # Initial installation
+ %if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
+ /bin/systemctl daemon-reload >/dev/null 2>&1 || :
+ %else
+ chkconfig --add %{name} || :
+ %endif
+fi
+umask 077
+if [ ! -f %{sslkey} ] ; then
+%{_bindir}/openssl genrsa 1024 > %{sslkey} 2> /dev/null
+fi
+
+FQDN=`hostname`
+if [ "x${FQDN}" = "x" ]; then
+ FQDN=localhost.localdomain
+fi
+
+if [ ! -f %{sslcert} ] ; then
+cat << EOF | %{_bindir}/openssl req -new -key %{sslkey} \
+ -x509 -days 365 -set_serial $RANDOM \
+ -out %{sslcert} 2>/dev/null
+--
+SomeState
+SomeCity
+SomeOrganization
+SomeOrganizationalUnit
+${FQDN}
+root@${FQDN}
+EOF
+fi
+
+
+%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
+%postun
+/bin/systemctl daemon-reload >/dev/null 2>&1 || :
+if [ $1 -ge 1 ] ; then
+ # Package upgrade, not uninstall
+ /bin/systemctl try-restart %{name}.service >/dev/null 2>&1 || :
+fi
+%endif
+
+
+%files
+%defattr(-,root,root,-)
+%doc AUTHORS COPYING HACKERS README TODO doc/*
+%{_bindir}/%{name}
+%{_bindir}/%{name}ctl
+%dir %{_libdir}/%{name}
+%{_libdir}/%{name}/*
+%dir %{_sysconfdir}/%{name}
+%config(noreplace) %{_sysconfdir}/%{name}/*
+%if 0%{?fedora} >= 15 || 0%{?rhel} >= 7
+%config(noreplace) %{_sysconfdir}/tmpfiles.d/%{name}.conf
+%{_unitdir}/%{name}.service
+%else
+%{_initddir}/%{name}
+%endif
+%{_mandir}/man1/*.1.gz
+%dir %attr(-, %{name}, %{name}) %{_sharedstatedir}/%{name}
+%dir %attr(-, %{name}, %{name}) %{_localstatedir}/run/%{name}
+
+
+%changelog
+* Mon May 07 2012 Johan Cwiklinski <johan AT x-tnd DOT be> 0.8.2-5
+- Missing rhel %%ifs
+- Change the way SSL certificate is generated
+
+* Sun May 06 2012 Johan Cwiklinski <johan AT x-tnd DOT be> 0.8.2-4
+- ghost %%{_localstatedir}/run/%%{name}
+
+* Sun May 06 2012 Johan Cwiklinski <johan AT x-tnd DOT be> 0.8.2-3
+- Add missing requires
+- Add rhel %%ifs
+
+* Mon Mar 05 2012 Johan Cwiklinski <johan AT x-tnd DOT be> 0.8.2-2
+- Switch to systemd for Fedora >= 15, keep sysv for EPEL builds
+- Remove some macros that should not be used
+
+* Thu Jun 23 2011 Johan Cwiklinski <johan AT x-tnd DOT be> 0.8.2-1.trashy
+- 0.8.2
+
+* Tue Jun 7 2011 Johan Cwiklinski <johan AT x-tnd DOT be> 0.8.1-1.trashy
+- 0.8.1
+
+* Sun May 8 2011 Johan Cwiklinski <johan AT x-tnd DOT be> 0.8.0-3.trashy
+- tmpfiles.d configuration for F-15
+
+* Sat Apr 16 2011 Johan Cwiklinski <johan AT x-tnd DOT be> 0.8.0-2.trashy
+- Now requires lua-dbi
+
+* Fri Apr 8 2011 Johan Cwiklinski <johan AT x-tnd DOT be> 0.8.0-1.trashy
+- 0.8.0
+
+* Sun Jan 23 2011 Johan Cwiklinski <johan AT x-tnd DOT be> 0.7.0-4.trashy
+- Redefine _initddir and _sharedstatedir marcos for EL-5
+
+* Sat Dec 11 2010 Johan Cwiklinski <johan AT x-tnd DOT be> 0.7.0-3
+- Apply ssl patch before sed on libdir; to avoid a patch context issue
+ building on i686
+
+* Sat Sep 11 2010 Johan Cwiklinski <johan AT x-tnd DOT be> 0.7.0-2
+- No longer ships default ssl certificates, generates one at install
+
+* Wed Jul 14 2010 Johan Cwiklinski <johan AT x-tnd DOT be> 0.7.0-1
+- Update to 0.7.0
+
+* Wed Apr 28 2010 Johan Cwiklinski <johan AT x-tnd DOT be> 0.6.2-1
+- Update to 0.6.2
+
+* Thu Dec 31 2009 Johan Cwiklinski <johan AT x-tnd DOT be> 0.6.1-1
+- Initial packaging
diff --git a/prosody.sslcerts.patch b/prosody.sslcerts.patch
new file mode 100644
index 0000000..d5bda62
--- /dev/null
+++ b/prosody.sslcerts.patch
@@ -0,0 +1,23 @@
+diff -up prosody-0.8.0/Makefile.patch prosody-0.8.0/Makefile
+--- prosody-0.8.0/Makefile.patch 2011-04-08 14:27:59.795497482 +0200
++++ prosody-0.8.0/Makefile 2011-04-08 14:29:51.175569107 +0200
+@@ -32,18 +32,16 @@ install: prosody.install prosodyctl.inst
+ install -m644 plugins/*.lua $(MODULES)
+ install -d $(MODULES)/muc
+ install -m644 plugins/muc/* $(MODULES)/muc
+- install -m644 certs/* $(CONFIG)/certs
+ install -d $(MODULES)/adhoc
+ install -m644 plugins/adhoc/*.lua $(MODULES)/adhoc
+ install -m644 man/prosodyctl.man $(MAN)/man1/prosodyctl.1
+- test -e $(CONFIG)/prosody.cfg.lua || install -m644 prosody.cfg.lua.install $(CONFIG)/prosody.cfg.lua
++ test -e $(CONFIG)/prosody.cfg.lua || install -m644 prosody.cfg.lua.dist $(CONFIG)/prosody.cfg.lua
+ test -e prosody.version && install prosody.version $(SOURCE)/prosody.version || true
+ $(MAKE) install -C util-src
+
+ clean:
+ rm -f prosody.install
+ rm -f prosodyctl.install
+- rm -f prosody.cfg.lua.install
+ rm -f prosody.version
+ $(MAKE) clean -C util-src
+
diff --git a/prosody.tmpfiles b/prosody.tmpfiles
new file mode 100644
index 0000000..563f04a
--- /dev/null
+++ b/prosody.tmpfiles
@@ -0,0 +1 @@
+d /var/run/prosody 710 prosody prosody
diff --git a/sources b/sources
index e69de29..29da2f1 100644
--- a/sources
+++ b/sources
@@ -0,0 +1 @@
+6e907bf0d0acf24f1011083020ba6ffb prosody-0.8.2.tar.gz
More information about the scm-commits
mailing list