[packages/tomcat] move tomcat configs to /etc symlink to /var (not the opposite); trigger included

glen glen at pld-linux.org
Mon Dec 23 14:05:32 CET 2013


commit 3759fd8b3593e44f7f1b1619e68348c13e014576
Author: Elan Ruusamäe <glen at delfi.ee>
Date:   Mon Dec 23 15:04:47 2013 +0200

    move tomcat configs to /etc symlink to /var (not the opposite); trigger included

 tomcat.spec | 76 ++++++++++++++++++++++++++++++++++++++-----------------------
 1 file changed, 48 insertions(+), 28 deletions(-)
---
diff --git a/tomcat.spec b/tomcat.spec
index 7688b70..802776e 100644
--- a/tomcat.spec
+++ b/tomcat.spec
@@ -13,7 +13,7 @@ Summary:	Web server and Servlet/JSP Engine, RI for Servlet %{servletapiver}/JSP
 Summary(pl.UTF-8):	Serwer www i silnik Servlet/JSP będący wzorcową implementacją API Servlet %{servletapiver}/JSP %{jspapiver}
 Name:		tomcat
 Version:	7.0.41
-Release:	4
+Release:	5
 License:	Apache v2.0
 Group:		Networking/Daemons/Java
 Source0:	http://www.apache.org/dist/tomcat/tomcat-7/v%{version}/src/apache-%{name}-%{version}-src.tar.gz
@@ -112,6 +112,7 @@ Community Process.
 Summary:	The Apache Tomcat Servlet/JSP Container documentation
 Summary(pl.UTF-8):	Dokumentacja do Tomcata - kontenera Servlet/JSP
 Group:		Documentation
+Requires:	%{name} = %{version}-%{release}
 Obsoletes:	apache-tomcat-doc
 Obsoletes:	jakarta-tomcat-doc
 Obsoletes:	tomcat-doc
@@ -316,26 +317,25 @@ CATALINADIR=$RPM_BUILD_ROOT/var/lib/tomcat
 # useful for constructing relative symlinks. Is there a better way?
 TOMCATDIRREV=$(echo %{_tomcatdir} | sed 's#[^/]\+#..#g;s#^/##')
 CATALINADIRREV=$(echo /var/lib/tomcat | sed 's#[^/]\+#..#g;s#^/##')
-SYSCONFDIRREV=$(echo %{_sysconfdir} | sed 's#[^/]\+#..#g;s#^/##')
 
 install -d $TOMCATDIR \
 	    $CATALINADIR/temp \
 	    $RPM_BUILD_ROOT%{_vardir}/webapps \
 	    $RPM_BUILD_ROOT%{_vardir}/work \
-	    $RPM_BUILD_ROOT%{_vardir}/conf \
 	    $RPM_BUILD_ROOT%{_logdir}/tomcat \
+		$RPM_BUILD_ROOT%{_sysconfdir}/%{name}/Catalina/localhost \
 	    $RPM_BUILD_ROOT/etc/{sysconfig,rc.d/init.d,logrotate.d}
 
 install -p %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/tomcat
-cp -a %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/tomcat
-
-cp -a conf/* $CATALINADIR/conf
-install -d $CATALINADIR/conf/Catalina/localhost
-cp -a %{SOURCE10} $CATALINADIR/conf/Catalina/localhost/ROOT.xml
-cp -a %{SOURCE11} $CATALINADIR/conf/Catalina/localhost/docs.xml
-cp -a %{SOURCE12} $CATALINADIR/conf/Catalina/localhost/manager.xml
-cp -a %{SOURCE13} $CATALINADIR/conf/Catalina/localhost/host-manager.xml
-cp -a %{SOURCE14} $CATALINADIR/conf/Catalina/localhost/examples.xml
+cp -p %{SOURCE2} $RPM_BUILD_ROOT/etc/sysconfig/tomcat
+
+cp -a conf/* $RPM_BUILD_ROOT%{_sysconfdir}/%{name}
+ln -sf $CATALINADIRREV%{_sysconfdir}/%{name} $RPM_BUILD_ROOT%{_vardir}/conf
+cp -p %{SOURCE10} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/Catalina/localhost/ROOT.xml
+cp -p %{SOURCE11} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/Catalina/localhost/docs.xml
+cp -p %{SOURCE12} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/Catalina/localhost/manager.xml
+cp -p %{SOURCE13} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/Catalina/localhost/host-manager.xml
+cp -p %{SOURCE14} $RPM_BUILD_ROOT%{_sysconfdir}/%{name}/Catalina/localhost/examples.xml
 cp -p %{SOURCE15} $RPM_BUILD_ROOT/etc/logrotate.d/%{name}
 
 cp -a bin lib webapps $TOMCATDIR
@@ -345,7 +345,6 @@ ln -sf $CATALINADIRREV%{_logdir}/tomcat $CATALINADIR/logs
 ln -sf $TOMCATDIRREV%{_logdir}/tomcat $TOMCATDIR/logs
 ln -sf $TOMCATDIRREV%{_vardir}/work $TOMCATDIR/work
 ln -sf $TOMCATDIRREV%{_vardir}/conf $TOMCATDIR/conf
-ln -sf $SYSCONFDIRREV%{_vardir}/conf $RPM_BUILD_ROOT%{_sysconfdir}/tomcat
 
 # symlinks instead of copies
 jars="commons-daemon commons-logging-api"
@@ -398,6 +397,24 @@ ln -s %{_javadir}/jsr109.jar $TOMCATDIR/lib/jsr109.jar
 %clean
 rm -rf $RPM_BUILD_ROOT
 
+%pretrans
+# migrate /var/lib/tomcat/conf to /etc/tomcat
+if [ -d %{_vardir}/conf ] && [ ! -L %{_vardir}/conf ]; then
+	if [ -d %{_sysconfdir}/%{name} ]; then
+		   if [ ! -L %{_sysconfdir}/%{name} ]; then
+				   mv %{_vardir}/conf/* %{_sysconfdir}/%{name}
+				   rmdir %{_vardir}/conf 2>/dev/null || mv -v %{_vardir}/conf{,.rpmsave}
+		   else
+				   mv -v %{_sysconfdir}/%{name}{,.rpmsave}
+				   mv %{_vardir}/conf %{_sysconfdir}/%{name}
+		   fi
+	else
+		   mv %{_vardir}/conf %{_sysconfdir}/%{name}
+	fi
+	ln -s %{_sysconfdir}/%{name} %{_vardir}/conf
+fi
+exit 0
+
 %pre
 %groupadd -g 234 -r -f tomcat
 %groupadd -g 237 -r -f servlet
@@ -426,7 +443,19 @@ fi
 %attr(754,root,root) /etc/rc.d/init.d/tomcat
 %config(noreplace) %verify(not md5 mtime size) /etc/sysconfig/tomcat
 %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/%{name}
-%{_sysconfdir}/tomcat
+
+# these directory has to be writeable because /admin need to modify config
+# files and create temporary files
+%dir %attr(770,root,tomcat) %{_sysconfdir}/%{name}
+%dir %attr(770,root,tomcat) %{_sysconfdir}/%{name}/Catalina
+%dir %{_sysconfdir}/%{name}/Catalina/localhost
+# tomcat config has to be writeable because of tomcat-users.xml file and Catalina dir
+%config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/catalina.policy
+%config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.properties*
+%config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/*.xml
+
+%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/Catalina/localhost/ROOT.xml
+
 %dir %{_tomcatdir}
 %dir %{_tomcatdir}/conf
 %dir %{_tomcatdir}/bin
@@ -461,45 +490,36 @@ fi
 
 %dir %{_tomcatdir}/webapps
 
-%config(noreplace) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/ROOT.xml
 %{_tomcatdir}/webapps/ROOT
 
 %{_tomcatdir}/logs
 %{_tomcatdir}/work
 %dir %attr(770,root,tomcat) %{_vardir}
-# these directory has to be writeable because /admin need to modify config
-# files and create temporary files
-%dir %attr(770,root,tomcat) %{_vardir}/conf
-%dir %attr(770,root,tomcat) %{_vardir}/conf/Catalina
-%dir %{_vardir}/conf/Catalina/localhost
-# tomcat config has to be writeable because of tomcat-users.xml file and Catalina dir
-%config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/catalina.policy
-%config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.properties*
-%config(noreplace) %attr(660,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/*.xml
 %dir %attr(770,root,tomcat) %{_vardir}/work
 %dir %attr(770,root,tomcat) %{_vardir}/webapps
 %dir %attr(770,root,tomcat) %{_vardir}/temp
 %dir %attr(770,root,tomcat) %{_logdir}/tomcat
+%{_vardir}/conf
 %{_vardir}/logs
 
 %files webapp-docs
 %defattr(644,root,root,755)
-%config(noreplace,missingok) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/docs.xml
+%config(noreplace,missingok) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/Catalina/localhost/docs.xml
 %{_tomcatdir}/webapps/docs
 
 %files webapp-manager
 %defattr(644,root,root,755)
-%config(noreplace,missingok) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/manager.xml
+%config(noreplace,missingok) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/Catalina/localhost/manager.xml
 %{_tomcatdir}/webapps/manager
 
 %files webapp-host-manager
 %defattr(644,root,root,755)
-%config(noreplace,missingok) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/host-manager.xml
+%config(noreplace,missingok) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/Catalina/localhost/host-manager.xml
 %{_tomcatdir}/webapps/host-manager
 
 %files webapp-examples
 %defattr(644,root,root,755)
-%config(noreplace,missingok) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_vardir}/conf/Catalina/localhost/examples.xml
+%config(noreplace,missingok) %attr(664,root,tomcat) %verify(not md5 mtime size) %{_sysconfdir}/%{name}/Catalina/localhost/examples.xml
 %{_tomcatdir}/webapps/examples
 
 %files webservices
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/tomcat.git/commitdiff/3759fd8b3593e44f7f1b1619e68348c13e014576



More information about the pld-cvs-commit mailing list