?? opennms.spec.in
字號:
## $Id: opennms.spec.in 5172 2006-11-17 23:12:37Z tarus $#%{!?version:%define version @product.version@}%{!?plain_release:%define plain_release @product.release.stamp@}%{!?release:%define release %{plain_release}}%{!?releasenumber:%define releasenumber @product.release@}%{!?instprefix:%define instprefix @rpm.install.dir@}%{!?packagedir:%define packagedir @ant.project.name@-%version-%{releasenumber}}%{!?dbuser:%define dbuser @rpm.database.user@}%{!?dbpass:%define dbpass @rpm.database.password@}%{!?dbname:%define dbname @rpm.database.name@}%{!?profiledir:%define profiledir /etc/profile.d}%{!?sharedir:%define sharedir /var/opennms}%{!?logdir:%define logdir /var/log/opennms}%{!?pidfile:%define pidfile /var/run/opennms.pid}%{!?pglibdir:%define pglibdir %instprefix/lib}%{!?tomcatserverlibs:%define tomcatserverlibs @install.tomcat.serverlibs@}%{!?webappsdir:%define webappsdir %instprefix/webapps}%{!?servletdir:%define servletdir %webappsdir/opennms}# build type modifiers%{!?standalone:%define standalone 1}%{!?builddocs:%define builddocs 1}%{!?buildtests:%define buildtests @rpm.buildtests@}%{!?platform:%define platform @rpm.platform@}%define debug_package %{nil}%define platform_matched %{nil}# Don't put Java or any of the packages that Java might depend on in the# requires line. See bug #1144.%if "%{platform}" == "linux-i386-centos-3"%define initdir /etc%define psql_service rhdb%define requires postgresql-server >= 7.2%define webapp_requires tomcat4 >= 4.1.18%define release_pkg %{release}_centos3%define platform_match true%endif%if "%{platform}" == "linux-i386-centos-4"%define initdir /etc%define psql_service rhdb%define requires postgresql-server >= 7.2%define webapp_requires tomcat4 >= 4.1.18%define release_pkg %{release}_centos4%define platform_match true%endif%if "%{platform}" == "linux-i386-fedora-1"%define initdir /etc%define psql_service postgresql%define requires postgresql-server >= 7.2%define webapp_requires tomcat4 >= 4.1.18%define release_pkg %{release}_fc1%define platform_match true%endif%if "%{platform}" == "linux-i386-fedora-2"%define initdir /etc%define psql_service postgresql%define requires postgresql-server >= 7.2%define webapp_requires tomcat4 >= 4.1.18%define release_pkg %{release}_fc2%define platform_match true%endif%if "%{platform}" == "linux-i386-fedora-3"%define initdir /etc%define psql_service postgresql%define requires postgresql-server >= 7.2%define webapp_requires tomcat4 >= 4.1.18%define release_pkg %{release}_fc3%define platform_match true%endif%if "%{platform}" == "linux-i386-fedora-4"%define initdir /etc%define psql_service postgresql%define requires postgresql-server >= 7.2%define webapp_requires tomcat4 >= 4.1.18%define release_pkg %{release}_fc4%define platform_match true%endif%if "%{platform}" == "linux-i386-mandrake-7"%define initdir /etc%define psql_service postgresql%define requires postgresql-server >= 7.2%define webapp_requires tomcat4 >= 4.1.18%define release_pkg %{release}_mdk7%define platform_match true%endif%if "%{platform}" == "linux-i386-mandrake-8"%define initdir /etc%define psql_service postgresql%define requires postgresql-server >= 7.2%define webapp_requires tomcat4 >= 4.1.18%define release_pkg %{release}_mdk8%define platform_match true%endif%if "%{platform}" == "linux-i386-mandrake-90"%define initdir /etc%define psql_service postgresql%define requires postgresql-server >= 7.2%define webapp_requires tomcat4 >= 4.1.18%define release_pkg %{release}_mdk90%define platform_match true%endif%if "%{platform}" == "linux-i386-mandrake-92"%define initdir /etc%define psql_service postgresql%define requires postgresql-server >= 7.2, postgresql-pl >= 7.2%define webapp_requires tomcat4 >= 4.1.18%define release_pkg %{release}_mdk92%define platform_match true%endif%if "%{platform}" == "linux-i386-mandrake-10"%define initdir /etc%define psql_service postgresql%define requires postgresql-server >= 7.2, postgresql-pl >= 7.2%define webapp_requires tomcat4 >= 4.1.18%define release_pkg %{release}_mdk10%define platform_match true%endif%if "%{platform}" == "linux-i386-redhat-7"%define initdir /etc%define psql_service postgresql%define requires postgresql-server >= 7.2%define webapp_requires tomcat4 >= 4.1.18%define release_pkg %{release}_rhl7%define platform_match true%endif%if "%{platform}" == "linux-i386-redhat-8"%define initdir /etc%define psql_service postgresql%define requires postgresql-server >= 7.2%define webapp_requires tomcat4 >= 4.1.18%define release_pkg %{release}_rhl8%define platform_match true%endif%if "%{platform}" == "linux-i386-redhat-9"%define initdir /etc%define psql_service postgresql%define requires postgresql-server >= 7.2%define webapp_requires tomcat4 >= 4.1.18%define release_pkg %{release}_rhl9%define platform_match true%endif%if "%{platform}" == "linux-i386-rhel-3"%define initdir /etc%define psql_service rhdb%define requires postgresql-server >= 7.2%define webapp_requires tomcat4 >= 4.1.18%define release_pkg %{release}_rhel3%define platform_match true%endif%if "%{platform}" == "linux-i386-rhel-4"%define initdir /etc%define psql_service rhdb%define requires postgresql-server >= 7.2%define webapp_requires tomcat4 >= 4.1.18%define release_pkg %{release}_rhel4%define platform_match true%endif%if "%{platform}" == "linux-i386-suse-7"%define initdir /etc/rc.d%define psql_service postgres%define requires postgres >= 7.2%define webapp_requires tomcat >= 4.1.18%define release_pkg %{release}_suse7%define platform_match true%endif%if "%{platform}" == "linux-i386-suse-8"%define initdir /etc%define psql_service postgresql%define requires postgresql >= 7.2, postgresql-server >= 7.2%define webapp_requires tomcat >= 4.1.18%define release_pkg %{release}_suse8%define platform_match true%endif%if "%{platform}" == "linux-i386-suse-9"%define initdir /etc%define psql_service postgresql%define requires postgresql >= 7.2, postgresql-server >= 7.2%define webapp_requires tomcat >= 4.1.18%define release_pkg %{release}_suse9%define platform_match true%endif%if "%{platform_match}" != "true"%error error - platform macro (or rpm.platform property when building from ant) not defined or set to an invalid platform.%endif%if "%{buildtests}" == "true"%define buildtests 1%endif%if "%{buildtests}" == "yes"%define buildtests 1%endif%if "%{buildtests}" == "false"%define buildtests 0%endif%if "%{buildtests}" == "no"%define buildtests 0%endifName: @ant.project.name@Summary: Enterprise-grade network management platform#Serial: 1Release: %release_pkgVersion: %versionLicense: LGPL/GPLGroup: Applications/SystemSource: %{name}-source-%{version}-%{plain_release}.tar.gzURL: https://sourceforge.net/project/showfiles.php?group_id=4141BuildRoot: %{_tmppath}/%{name}-%{version}-rootAutoReqProv: noRequires: rrdtool, curl, %{requires}%descriptionOpenNMS is an enterprise-grade network management package.This is the 1.2 stable tree.%if "%builddocs" == "1"%package docsSummary: Documentation for the OpenNMS network management platformGroup: Applications/System%description docsThis package contains the API and user documentationfor OpenNMS.%endif%package webappSummary: Web interface servlet for the OpenNMS network management platformGroup: Applications/SystemRequires: rrdtool, %{name} = %{version}-%{release}, %{webapp_requires}%description webappThe web UI for OpenNMS.%prep%if %{standalone}tar -xvzf $RPM_SOURCE_DIR/%{name}-source-%{version}-%{plain_release}.tar.gz -C $RPM_BUILD_DIR%define setupdir %{packagedir}/source%else%define setupdir @root.source@%endif%setup -D -T -n %setupdir############################################################################### building##############################################################################%buildrm -rf $RPM_BUILD_ROOT# nothing necessary############################################################################### installation##############################################################################%install## This next bit is to keep gprintify.py on Mandriva/Mandrake from screwing# up the "echo" statements in the opennms.sh init script. See:# http://qa.mandriva.com/twiki/bin/view/Main/InitscriptHowto?skin=print#DONT_GPRINTIFY="yes, please do not"export DONT_GPRINTIFYif [ x"%{buildtests}" = x"1" ]; then EXTRA_TARGETS="$EXTRA_TARGETS test"fiif [ x"%{builddocs}" = x"1" ]; then EXTRA_TARGETS="$EXTRA_TARGETS docs"fiecho "=== RUNNING INSTALL ==="sh ./build.sh $COMPILER_FLAG -Dinstall.prefix=$RPM_BUILD_ROOT \ -Dinstall.dir=%{instprefix} -Dinstall.init.dir=%{initdir}/init.d \ -Dinstall.webapps.dir=%{webappsdir} -Dinstall.servlet.dir=%{servletdir} \ -Dinstall.share.dir=%{sharedir} -Dinstall.postgresql.dir=%{pglibdir} \ -Dinstall.postgresql.service=%{psql_service} \ -Dinstall.logs.dir=%{logdir} -Dinstall.pid.file=%{pidfile} \ -Dfilter.overwrite="yes" -Disrpm="true" -Dproduct.snapshot=%{snapshot} \ -Dproduct.release=%{releasenumber} \ $EXTRA_TARGETS install || exit $?echo "=== INSTALL COMPLETED ==="mkdir -p $RPM_BUILD_ROOT%{instprefix}mkdir -p $RPM_BUILD_ROOT%{instprefix}/etcmkdir -p $RPM_BUILD_ROOT%{instprefix}/contribmkdir -p $RPM_BUILD_ROOT%{_bindir}cat > $RPM_BUILD_ROOT%{_bindir}/opennms <<EOF#!/bin/sh -exec %{instprefix}/bin/opennms.sh "\$@"EOF### XXX is this needed? (Most of) the current scripts don't use OPENNMS_HOME.### /etc/profile.dmkdir -p $RPM_BUILD_ROOT%{profiledir}cat > $RPM_BUILD_ROOT%{profiledir}/%{name}.sh << END#!/bin/bashOPENNMS_HOME=%{instprefix}if ! echo "\$PATH" | grep "\$OPENNMS_HOME/bin" >/dev/null 2>&1; then PATH="\$PATH:\$OPENNMS_HOME/bin"fiexport OPENNMS_HOME PATHEND%if "%builddocs" == "1"### /usr/share/doc/%{name}-%{version}mkdir -p $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}cp -pr work/docs/* $RPM_BUILD_ROOT%{_docdir}/%{name}-%{version}/rm -rf $RPM_BUILD_ROOT%{instprefix}/docsln -sf %{_docdir}/%{name}-%{version} $RPM_BUILD_ROOT%{instprefix}/docscp CHANGELOG README* $RPM_BUILD_ROOT%{instprefix}/etc/rm -rf $RPM_BUILD_ROOT%{instprefix}/etc/READMErm -rf $RPM_BUILD_ROOT%{instprefix}/etc/README.build%endif### symlinks for system dirs to %{instprefix}ln -sf %{logdir} $RPM_BUILD_ROOT%{instprefix}/logsln -sf %{sharedir} $RPM_BUILD_ROOT%{instprefix}/sharepushd $RPM_BUILD_ROOTfind $RPM_BUILD_ROOT%{instprefix}/etc ! -type d | \ sed -e "s,^$RPM_BUILD_ROOT,%config(noreplace) ," | \ sort > %{_tmppath}/files.etcfind $RPM_BUILD_ROOT%{instprefix}/etc -type d | \ sed -e "s,^$RPM_BUILD_ROOT,%dir ," | \ sort >> %{_tmppath}/files.etcfind $RPM_BUILD_ROOT%{webappsdir} ! -type d | \ sed -e "s,^$RPM_BUILD_ROOT,," | \ grep -v '/WEB-INF/web\.xml$' | \ sort > %{_tmppath}/files.webappfind $RPM_BUILD_ROOT%{webappsdir} -type d | \ sed -e "s,^$RPM_BUILD_ROOT,%dir ," | \ sort >> %{_tmppath}/files.webapppopd%cleanrm -rf $RPM_BUILD_ROOT############################################################################### file setup##############################################################################%files -f %{_tmppath}/files.etc%defattr(664 root root 775)%attr(755,root,root) %{initdir}/init.d/*%attr(755,root,root) %{profiledir}/%{name}.sh%attr(755,root,root) %{_bindir}/*%attr(755,root,root) %{instprefix}/bin %{instprefix}/contrib%if "%builddocs" == "1"%attr(755,root,root) %{instprefix}/docs%endif%attr(755,root,root) %{instprefix}/lib %{instprefix}/logs %{instprefix}/share %{sharedir} %{logdir}%if "%builddocs" == "1"%files docs%defattr(644 root root 755)%{_docdir}/%{name}-%{version}%endif%files webapp -f %{_tmppath}/files.webapp%defattr(644 root root 755)%config %{servletdir}/WEB-INF/web.xml%postecho -e "- moving *.sql.rpmnew files (if any)... \c"if [ `ls %{instprefix}/etc/*.sql.rpmnew 2>/dev/null | wc -l` -gt 0 ]; then for i in %{instprefix}/etc/*.sql.rpmnew; do mv $i ${i%%%%.rpmnew} donefiecho "done"echo -e "- checking for old update files... \c"JAR_UPDATES=`find %{instprefix}/lib/updates -name \*.jar -exec rm -rf {} \; -print 2>/dev/null | wc -l`CLASS_UPDATES=`find %{instprefix}/lib/updates -name \*.class -exec rm -rf {} \; -print 2>/dev/null | wc -l`let TOTAL_UPDATES=`expr $JAR_UPDATES + $CLASS_UPDATES`if [ "$TOTAL_UPDATES" -gt 0 ]; then echo "FOUND" echo "" echo "WARNING: $TOTAL_UPDATES old update files were found in your" echo "%{instprefix}/lib/updates directory. They have been deleted" echo "because they should now be out of date." echo ""else echo "done"firm -f %{instprefix}/etc/configuredecho ""echo " *** Installation complete. You must still run the installer and"echo " *** make a few other changes before you start OpenNMS. See the"echo " *** install guide and release notes for details."%changelog* Thu Jan 20 2005 DJ Gregor <dj@opennms.org>- Remove much of the automatic bits that were performed at install time.* Tue Sep 28 2004 Matt Brozowski <brozow@opennms.org>- Modified to use opennms.xml rather than changes to server.xml* Fri Nov 16 2001 Ben Reed <ben@opennms.org>- Updated symlinks to point to tomcat 4.0.1 dirs* Wed Oct 31 2001 Brian Weaver <weave@oculan.com>- Added more dependencies since the webapp package was being installed BEFORE tomcat which just doesn't work.* Tue Oct 30 2001 Brian Weaver <weave@oculan.com>- Changed support from OpenJMS to JBossMQ* Wed Oct 24 2001 Ben Reed <ben@opennms.org>- changed things around so server.xml clobbers tomcat's server.xml, if one exists in webapps/%{name}/WEB-INF/server.xml* Tue Oct 09 2001 Brian Weaver <weave@oculan.com>- Removed the OpenJMS jar code after build so that it is not installed. This will force the client to use the OpenJMS jar files from /usr/share/java to ensure that the client/server are communicating correctly.* Tue Oct 02 2001 Benjamin Reed <ben@opennms.org>- added /var/tomcat4 to add some opennms jars* Tue Oct 02 2001 Benjamin Reed <ben@opennms.org>- init in temporarily gone until the new startup stuff is worked out* Tue Oct 02 2001 Benjamin Reed <ben@opennms.org>- postun gone, move much of pre into build-time, fix for doc and log link errors* Sun Sep 30 2001 Benjamin Reed <ben@opennms.org>- changed to handle generating a proper .src.rpm that can be built standalone* Tue Sep 11 2001 Benjamin Reed <ben@opennms.org>- Ported the RPM to the experimental build.* Mon Apr 16 2001 Benjamin Reed <ben@opennms.org>- Added a /usr/bin/opennms that calls the opennms script in %{instprefix} for convenience* Tue Apr 04 2001 Benjamin Reed <ben@opennms.org>- Rearranged to work with the new build system.* Mon Nov 27 2000 Benjamin Reed <ben@opennms.org>- Work on actually doing something other than copying files- Addition of distribution-specific conditionals* Wed Nov 8 2000 Benjamin Reed <ben@opennms.org>- Initial RPM
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -