Wed, 24 Nov 2010 14:48:04 +0100
Update version of awl vendor software and introduce iconv dependency.
michael@290 | 1 | ## |
michael@290 | 2 | ## davical.spec -- OpenPKG RPM Package Specification |
michael@290 | 3 | ## Copyright (c) 2000-2010 OpenPKG Foundation e.V. <http://openpkg.net/> |
michael@290 | 4 | ## |
michael@290 | 5 | ## Permission to use, copy, modify, and distribute this software for |
michael@290 | 6 | ## any purpose with or without fee is hereby granted, provided that |
michael@290 | 7 | ## the above copyright notice and this permission notice appear in all |
michael@290 | 8 | ## copies. |
michael@290 | 9 | ## |
michael@290 | 10 | ## THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESSED OR IMPLIED |
michael@290 | 11 | ## WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF |
michael@290 | 12 | ## MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. |
michael@290 | 13 | ## IN NO EVENT SHALL THE AUTHORS AND COPYRIGHT HOLDERS AND THEIR |
michael@290 | 14 | ## CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
michael@290 | 15 | ## SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT |
michael@290 | 16 | ## LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF |
michael@290 | 17 | ## USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND |
michael@290 | 18 | ## ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, |
michael@290 | 19 | ## OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT |
michael@290 | 20 | ## OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF |
michael@290 | 21 | ## SUCH DAMAGE. |
michael@290 | 22 | ## |
michael@290 | 23 | |
michael@290 | 24 | # package version |
michael@290 | 25 | %define V_opkg 0.9.9.3 |
michael@290 | 26 | %define V_davical 0.9.9.3 |
michael@302 | 27 | %define V_awl 0.45 |
michael@290 | 28 | |
michael@290 | 29 | # package information |
michael@290 | 30 | Name: davical |
michael@290 | 31 | Summary: CalDAV Server |
michael@290 | 32 | URL: http://rscds.sourceforge.net/ |
michael@290 | 33 | Vendor: Andrew McMillan |
michael@290 | 34 | Packager: OpenPKG Foundation e.V. |
michael@290 | 35 | Distribution: OpenPKG Community |
michael@290 | 36 | Class: EVAL |
michael@290 | 37 | Group: Network |
michael@290 | 38 | License: GPL |
michael@290 | 39 | Version: %{V_opkg} |
michael@302 | 40 | Release: 20101124 |
michael@290 | 41 | |
michael@290 | 42 | # package options |
michael@290 | 43 | %define with_ssl no |
michael@290 | 44 | |
michael@290 | 45 | # list of sources |
michael@290 | 46 | Source0: http://debian.mcmillan.net.nz/packages/davical/davical-%{V_davical}.tar.gz |
michael@302 | 47 | Source1: http://debian.mcmillan.net.nz/packages/awl/awl-%{V_awl}.tar.gz |
michael@290 | 48 | Source2: davical-config.php |
michael@290 | 49 | Source3: davical-apache.conf |
michael@290 | 50 | Source4: davical-setup.sh |
michael@290 | 51 | Source5: rc.davical |
michael@290 | 52 | Patch0: davical.patch |
michael@290 | 53 | |
michael@290 | 54 | # build information |
michael@291 | 55 | Prefix: %{l_prefix} |
michael@291 | 56 | BuildRoot: %{l_buildroot} |
michael@291 | 57 | BuildPreReq: OpenPKG, openpkg >= 20060823 |
michael@291 | 58 | PreReq: OpenPKG, openpkg >= 20060823 |
michael@290 | 59 | PreReq: pcre, pcre::with_utf8 |
michael@290 | 60 | PreReq: apache |
michael@290 | 61 | %if "%{with_ssl}" == "yes" |
michael@290 | 62 | PreReq: apache::with_mod_ssl = yes, x509 |
michael@290 | 63 | %endif |
michael@290 | 64 | PreReq: apache-php |
michael@290 | 65 | PreReq: apache-php::with_pgsql = yes |
michael@290 | 66 | PreReq: apache-php::with_gettext = yes |
michael@302 | 67 | PreReq: apache-php::with_iconv = yes |
michael@290 | 68 | PreReq: postgresql |
michael@293 | 69 | PreReq: apg |
michael@290 | 70 | |
michael@290 | 71 | %description |
michael@290 | 72 | The DAViCal CalDAV Server is a repository for calendar, schedule, |
michael@290 | 73 | todo and journal entries which may be accessed with CalDAV capable |
michael@290 | 74 | client software. |
michael@290 | 75 | |
michael@290 | 76 | %track |
michael@290 | 77 | prog davical:davical = { |
michael@290 | 78 | version = %{V_davical} |
michael@290 | 79 | url = http://debian.mcmillan.net.nz/packages/davical/ |
michael@290 | 80 | regex = davical-(__VER__)\.tar\.gz |
michael@290 | 81 | } |
michael@290 | 82 | prog davical:awl = { |
michael@290 | 83 | version = %{V_awl} |
michael@290 | 84 | url = http://debian.mcmillan.net.nz/packages/awl/ |
michael@290 | 85 | regex = awl_(__VER__)\.tar\.gz |
michael@290 | 86 | } |
michael@290 | 87 | |
michael@290 | 88 | %prep |
michael@290 | 89 | %setup -q -c |
michael@290 | 90 | %setup -q -T -D -a 1 |
michael@290 | 91 | %patch -p0 |
michael@290 | 92 | |
michael@290 | 93 | %build |
michael@299 | 94 | cd davical-%{V_davical} && %{l_make} %{l_mflags} htdocs/always.php |
michael@290 | 95 | |
michael@290 | 96 | %install |
michael@290 | 97 | # create installation hierarchy |
michael@290 | 98 | %{l_shtool} mkdir -f -p -m 755 \ |
michael@290 | 99 | $RPM_BUILD_ROOT%{l_prefix}/sbin \ |
michael@290 | 100 | $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d \ |
michael@290 | 101 | $RPM_BUILD_ROOT%{l_prefix}/etc/davical \ |
michael@290 | 102 | $RPM_BUILD_ROOT%{l_prefix}/lib/davical/davical \ |
michael@290 | 103 | $RPM_BUILD_ROOT%{l_prefix}/lib/davical/awl \ |
michael@290 | 104 | $RPM_BUILD_ROOT%{l_prefix}/var/davical/db \ |
michael@290 | 105 | $RPM_BUILD_ROOT%{l_prefix}/var/davical/run \ |
michael@290 | 106 | $RPM_BUILD_ROOT%{l_prefix}/var/davical/log |
michael@290 | 107 | |
michael@290 | 108 | # install program components |
michael@290 | 109 | find . -name "*.orig" -print | xargs rm -f |
michael@290 | 110 | cp -r \ |
michael@290 | 111 | awl-%{V_awl}/dba \ |
michael@290 | 112 | awl-%{V_awl}/inc \ |
michael@290 | 113 | $RPM_BUILD_ROOT%{l_prefix}/lib/davical/awl/ |
michael@290 | 114 | rm -f davical-%{V_davical}/inc/always.php.in |
michael@290 | 115 | %{l_shtool} subst %{l_value -s -a} \ |
michael@299 | 116 | davical-%{V_davical}/htdocs/always.php |
michael@290 | 117 | cp -r \ |
michael@290 | 118 | davical-%{V_davical}/dba \ |
michael@290 | 119 | davical-%{V_davical}/inc \ |
michael@290 | 120 | davical-%{V_davical}/htdocs \ |
michael@290 | 121 | $RPM_BUILD_ROOT%{l_prefix}/lib/davical/davical/ |
michael@290 | 122 | |
michael@290 | 123 | # install DAViCal application configuration file |
michael@290 | 124 | %{l_shtool} install -c -m 644 %{l_value -s -a} \ |
michael@290 | 125 | %{SOURCE davical-config.php} \ |
michael@290 | 126 | $RPM_BUILD_ROOT%{l_prefix}/etc/davical/ |
michael@290 | 127 | |
michael@290 | 128 | # install DAViCal Apache configuration file |
michael@290 | 129 | %{l_shtool} install -c -m 644 %{l_value -s -a} \ |
michael@290 | 130 | %{SOURCE davical-apache.conf} \ |
michael@290 | 131 | $RPM_BUILD_ROOT%{l_prefix}/etc/davical/ |
michael@290 | 132 | |
michael@290 | 133 | # install run-command script |
michael@290 | 134 | %if "%{with_ssl}" == "yes" |
michael@290 | 135 | with_ssl="-DSSL" |
michael@290 | 136 | %else |
michael@290 | 137 | with_ssl="" |
michael@290 | 138 | %endif |
michael@290 | 139 | %{l_shtool} install -c -m 755 %{l_value -s -a} \ |
michael@290 | 140 | -e "s;@with_ssl@;$with_ssl;" \ |
michael@290 | 141 | %{SOURCE rc.davical} \ |
michael@290 | 142 | $RPM_BUILD_ROOT%{l_prefix}/etc/rc.d/ |
michael@290 | 143 | |
michael@290 | 144 | # install RDBMS setup script |
michael@290 | 145 | %{l_shtool} install -c -m 755 %{l_value -s -a} \ |
michael@290 | 146 | %{SOURCE davical-setup.sh} \ |
michael@290 | 147 | $RPM_BUILD_ROOT%{l_prefix}/sbin/davical-setup |
michael@290 | 148 | |
michael@290 | 149 | # determine installation files |
michael@290 | 150 | %{l_rpmtool} files -v -ofiles -r$RPM_BUILD_ROOT \ |
michael@290 | 151 | %{l_files_std} \ |
michael@290 | 152 | '%config %{l_prefix}/etc/davical/*' \ |
michael@290 | 153 | '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/davical' \ |
michael@290 | 154 | '%attr(-,%{l_rusr},%{l_rgrp}) %{l_prefix}/var/davical/*' |
michael@290 | 155 | |
michael@290 | 156 | %files -f files |
michael@290 | 157 | |
michael@290 | 158 | %clean |
michael@291 | 159 | rm -rf $RPM_BUILD_ROOT |
michael@290 | 160 | |
michael@290 | 161 | %post |
michael@290 | 162 | if [ $1 -eq 1 ]; then |
michael@290 | 163 | # display final hints on initial installation |
michael@292 | 164 | ( echo "1. To complete this installation of DAViCal please start" |
michael@292 | 165 | echo " PostgreSQL and initialize the DAViCal database like this:" |
michael@290 | 166 | echo " \$ $RPM_INSTALL_PREFIX/bin/openpkg rc postgresql start" |
michael@290 | 167 | echo " \$ $RPM_INSTALL_PREFIX/sbin/davical-setup install" |
michael@290 | 168 | echo "" |
michael@290 | 169 | echo "2. By default, DAViCal runs its own SSL/TLS based Apache server" |
michael@290 | 170 | echo " under 127.0.0.1, TCP port 8443. Please change this by editing" |
michael@290 | 171 | echo " the \"Listen 127.0.0.1:8443\" directive in:" |
michael@290 | 172 | echo " $RPM_INSTALL_PREFIX/etc/davical/davical-apache.conf" |
michael@290 | 173 | echo "" |
michael@290 | 174 | echo "3. Now start DAViCal by running the command" |
michael@290 | 175 | echo " \$ $RPM_INSTALL_PREFIX/bin/openpkg rc davical start" |
michael@290 | 176 | echo " and connect with a browser to the URL" |
michael@290 | 177 | %if "%{with_ssl}" == "yes" |
michael@290 | 178 | echo " https://127.0.0.1:8443/" |
michael@290 | 179 | %else |
michael@290 | 180 | echo " https://127.0.0.1:8080/" |
michael@290 | 181 | %endif |
michael@290 | 182 | echo " and create user accounts." |
michael@290 | 183 | echo "" |
michael@290 | 184 | echo "4. Now you are able to subscribe to user \"example\"'s \"home\"" |
michael@290 | 185 | echo " calendar with a CalDAV client through the URL" |
michael@290 | 186 | %if "%{with_ssl}" == "yes" |
michael@290 | 187 | echo " https://127.0.0.1:8443/caldav/example/home" |
michael@290 | 188 | %else |
michael@290 | 189 | echo " http://127.0.0.1:8080/caldav/example/home" |
michael@290 | 190 | %endif |
michael@290 | 191 | ) | %{l_rpmtool} msg -b -t notice |
michael@290 | 192 | fi |
michael@290 | 193 | if [ $1 -eq 2 ]; then |
michael@290 | 194 | # after upgrade, restart service |
michael@290 | 195 | eval `%{l_rc} davical status 2>/dev/null` |
michael@290 | 196 | [ ".$davical_active" = .yes ] && %{l_rc} davical restart |
michael@290 | 197 | fi |
michael@290 | 198 | exit 0 |
michael@290 | 199 | |
michael@290 | 200 | %preun |
michael@290 | 201 | if [ $1 -eq 0 ]; then |
michael@290 | 202 | # before erase, stop service and remove log files |
michael@290 | 203 | %{l_rc} davical stop 2>/dev/null |
michael@290 | 204 | $RPM_INSTALL_PREFIX/sbin/davical-setup uninstall >/dev/null 2>&1 || true |
michael@290 | 205 | rm -f $RPM_INSTALL_PREFIX/var/davical/log/* >/dev/null 2>&1 || true |
michael@290 | 206 | rm -f $RPM_INSTALL_PREFIX/var/davical/run/* >/dev/null 2>&1 || true |
michael@290 | 207 | rm -f $RPM_INSTALL_PREFIX/var/davical/db/* >/dev/null 2>&1 || true |
michael@290 | 208 | fi |
michael@290 | 209 | exit 0 |
michael@290 | 210 |