SPECS: viewvc.spec (NEW) - viewvc: viewcvs successor - spec based ...

twittner twittner at pld-linux.org
Sat Sep 30 22:25:04 CEST 2006


Author: twittner                     Date: Sat Sep 30 20:25:04 2006 GMT
Module: SPECS                         Tag: HEAD
---- Log message:
- viewvc: viewcvs successor
- spec based on template-webapp.spec

---- Files affected:
SPECS:
   viewvc.spec (NONE -> 1.1)  (NEW)

---- Diffs:

================================================================
Index: SPECS/viewvc.spec
diff -u /dev/null SPECS/viewvc.spec:1.1
--- /dev/null	Sat Sep 30 22:25:04 2006
+++ SPECS/viewvc.spec	Sat Sep 30 22:24:59 2006
@@ -0,0 +1,358 @@
+# $Revision$, $Date$
+#
+# TODO:	- release cgi, mod_python and, mayby admin part in subpackages
+#	- mod_python configuration example in apache configuration snippet
+#
+Summary:	Browser interface for CVS and subversion version control repositories
+#Summary(pl):
+Name:		viewvc
+Version:	1.0.2
+Release:	0.1
+License:	distributable
+Group:		Applications/WWW
+Source0:	http://viewvc.tigris.org/files/documents/3330/34450/%{name}-%{version}.tar.gz
+# Source0-md5:	47569c8ab2ac67831340e460e685c3a9
+URL:		http://www.viewvc.org/
+BuildRequires:	python-modules
+BuildRequires:	rpmbuild(macros) >= 1.268
+Requires:	webapps
+%if %{with trigger}
+Requires(triggerpostun):	sed >= 4.0
+%endif
+#Requires:	webserver(access)
+#Requires:	webserver(alias)
+#Requires:	webserver(auth)
+#Requires:	webserver(cgi)
+#Requires:	webserver(indexfile)
+Obsoletes:	viewcvs
+BuildArch:	noarch
+BuildRoot:	%{tmpdir}/%{name}-%{version}-root-%(id -u -n)
+
+%define		_webapps	/etc/webapps
+%define		_webapp		%{name}
+%define		_sysconfdir	/etc/%{_webapp}
+%define		_appdir		%{_datadir}/%{_webapp}
+
+%description
+ViewVC is a browser interface for CVS and Subversion version control
+repositories. It generates templatized HTML to present navigable
+directory, revision, and change log listings. It can display specific
+versions of files as well as diffs between those versions. Basically,
+ViewVC provides the bulk of the report-like functionality you expect
+out of your version control tool, but much more prettily than the
+average textual command-line program output.
+
+Here are some of the additional features of ViewVC:
+ Support for filesystem-accessible CVS and Subversion repositories.
+ Individually configurable virtual host support.
+ Line-based annotation/blame display.
+ Revision graph capabilities (via integration with CvsGraph) (CVS only).
+ Syntax highlighting support (via integration with GNU enscript or Highlight).
+ Bonsai-like repository query facilities.
+ Template-driven output generation.
+ Colorized, side-by-side differences.
+ Tarball generation (by tag/branch for CVS, by revision for Subversion).
+ I18N support based on the Accept-Language request header.
+ Ability to run either as CGI script or as a standalone server.
+ Regexp-based file searching.
+ INI-like configuration file (as opposed to requiring actual code tweaks).
+
+#%%description -l pl
+
+%prep
+%setup -q
+
+cat > apache.conf <<'EOF'
+
+<Directory %{_appdir}>
+    AllowOverride None
+    Allow from all
+</Directory>
+
+# Version1 (default): under /cgi-bin/viewvc.cgi address
+ScriptAlias /cgi-bin/viewvc.cgi %{_appdir}/bin/cgi/viewvc.cgi
+ScriptAlias /cgi-bin/viewvc-query.cgi %{_appdir}/bin/cgi/query.cgi
+
+<Location /cgi-bin/viewvc.cgi>
+    Allow from all
+
+# TODO: make mod_python example instead mod_perl
+# if using apache2 mod_perl:
+#   <IfModule mod_perl.c>
+#       SetHandler perl-script
+#       PerlResponseHandler ModPerl::Registry
+#       PerlOptions +ParseHeaders
+#       Options ExecCGI
+#   </IfModule>
+</Location>
+
+# Version 2: viewvc as handler to whole vhost:
+#<VirtualHost *:80>
+#   ServerName cvs
+#
+#   Alias /viewvc/ %{_appdir}
+#   DocumentRoot %{_appdir}/bin/cgi/viewvc.cgi
+#   <Location />
+#       Options ExecCGI
+#       Allow from all
+#   </Location>
+#</VirtualHost>
+
+EOF
+
+%install
+rm -rf $RPM_BUILD_ROOT
+install -d $RPM_BUILD_ROOT{%{_webapps}/%{_webapp},%{_appdir},%{_sysconfdir}}
+
+#install %{SOURCE1} $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
+install apache.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/apache.conf
+install apache.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/httpd.conf
+#install lighttpd.conf $RPM_BUILD_ROOT%{_webapps}/%{_webapp}/lighttpd.conf
+
+cp -Rf bin lib templates	$RPM_BUILD_ROOT%{_appdir}
+cp -f cvsgraph.conf.dist	$RPM_BUILD_ROOT%{_sysconfdir}/cvsgraph.conf
+cp -f viewvc.conf.dist		$RPM_BUILD_ROOT%{_sysconfdir}/viewvc.conf
+ln -sf %{_sysconfdir}/cvsgraph.conf $RPM_BUILD_ROOT%{_appdir}/cvsgraph.conf
+ln -sf %{_sysconfdir}/viewvc.conf $RPM_BUILD_ROOT%{_appdir}/viewvc.conf
+
+# compile the scripts
+%{py_comp} $RPM_BUILD_ROOT%{_appdir}/lib
+
+# %webapp_* macros usage extracted from /usr/lib/rpm/macros.build:
+#
+# Usage:
+#   %%webapp_register HTTPD WEBAPP
+#   %%webapp_unregister HTTPD WEBAPP
+
+%triggerin -- apache1 < 1.3.37-3, apache1-base
+%webapp_register apache %{_webapp}
+
+%triggerun -- apache1 < 1.3.37-3, apache1-base
+%webapp_unregister apache %{_webapp}
+
+%triggerin -- apache < 2.2.0, apache-base
+%webapp_register httpd %{_webapp}
+
+%triggerun -- apache < 2.2.0, apache-base
+%webapp_unregister httpd %{_webapp}
+
+%triggerin -- lighttpd
+%webapp_register lighttpd %{_webapp}
+
+%triggerun -- lighttpd
+%webapp_unregister lighttpd %{_webapp}
+
+%if 00000000000000000000000000000000000
+# SAMPLE TRIGGER FOR MIGRATION PURPOSES
+%triggerpostun -- %{name} < 1.3.9-1.4
+# rescue app configs. issue this in old config dir to get a list:
+# rpm -qfl .|grep `pwd`/|awk -F/ '{print $NF}'|egrep -v 'apache|httpd'|xargs
+for i in config.inc.php; do
+	if [ -f /etc/%{name}/$i.rpmsave ]; then
+		mv -f %{_webapps}/%{_webapp}/$i{,.rpmnew}
+		mv -f /etc/%{name}/$i.rpmsave %{_webapps}/%{_webapp}/$i
+	fi
+done
+
+# nuke very-old config location (this mostly for Ra)
+if [ -f /etc/httpd/httpd.conf ]; then
+	sed -i -e "/^Include.*%{name}.conf/d" /etc/httpd/httpd.conf
+	httpd_reload=1
+fi
+
+# migrate from httpd (apache2) config dir
+if [ -f /etc/httpd/%{name}.conf.rpmsave ]; then
+	cp -f %{_webapps}/%{_webapp}/httpd.conf{,.rpmnew}
+	mv -f /etc/httpd/%{name}.conf.rpmsave %{_webapps}/%{_webapp}/httpd.conf
+	httpd_reload=1
+fi
+
+# migrate from apache-config macros
+if [ -f /etc/%{name}/apache.conf.rpmsave ]; then
+	if [ -d /etc/apache/webapps.d ]; then
+		cp -f %{_webapps}/%{_webapp}/apache.conf{,.rpmnew}
+		cp -f /etc/%{name}/apache.conf.rpmsave %{_webapps}/%{_webapp}/apache.conf
+	fi
+
+	if [ -d /etc/httpd/webapps.d ]; then
+		cp -f %{_webapps}/%{_webapp}/httpd.conf{,.rpmnew}
+		cp -f /etc/%{name}/apache.conf.rpmsave %{_webapps}/%{_webapp}/httpd.conf
+	fi
+	rm -f /etc/%{name}/apache.conf.rpmsave
+fi
+
+# same but without separate %{_webapps}/%{_webapp} for package
+if [ -f /etc/apache-%{name}.conf.rpmsave ]; then
+	if [ -d /etc/apache/webapps.d ]; then
+		cp -f %{_webapps}/%{_webapp}/apache.conf{,.rpmnew}
+		cp -f /etc/apache-%{name}.conf.rpmsave %{_webapps}/%{_webapp}/apache.conf
+	fi
+
+	if [ -d /etc/httpd/webapps.d ]; then
+		cp -f %{_webapps}/%{_webapp}/httpd.conf{,.rpmnew}
+		cp -f /etc/apache-%{name}.conf.rpmsave %{_webapps}/%{_webapp}/httpd.conf
+	fi
+	rm -f /etc/apache-%{name}.conf.rpmsave
+fi
+
+# update htpasswd path
+#sed -i -e 's,/etc/%{name},%{_webapps}/%{_webapp},' %{_webapps}/%{_webapp}/{apache,httpd}.conf
+
+# migrating from earlier apache-config?
+if [ -L /etc/apache/conf.d/99_%{name}.conf ] || [ -L /etc/httpd/httpd.conf/99_%{name}.conf ]; then
+	if [ -L /etc/apache/conf.d/99_%{name}.conf ]; then
+		rm -f /etc/apache/conf.d/99_%{name}.conf
+		apache_reload=1
+	fi
+	if [ -L /etc/httpd/httpd.conf/99_%{name}.conf ]; then
+		rm -f /etc/httpd/httpd.conf/99_%{name}.conf
+		httpd_reload=1
+	fi
+else
+	# no earlier registration. assume migration from Ra
+	if [ -d /etc/apache/webapps.d ]; then
+		apache_reload=1
+	fi
+	if [ -d /etc/httpd/webapps.d ]; then
+		httpd_reload=1
+	fi
+fi
+
+if [ "$apache_reload" ]; then
+%{_sbindir}/webapp register apache %{_webapp}
+	%service -q apache reload
+fi
+if [ "$httpd_reload" ]; then
+%{_sbindir}/webapp register httpd %{_webapp}
+	%service -q httpd reload
+fi
+%endif # END OF SAMPLE TRIGGER
+
+%clean
+rm -rf $RPM_BUILD_ROOT
+
+%files
+%defattr(644,root,root,755)
+%doc CHANGES COMMITTERS README TODO viewvc.org/license-1.html
+%dir %attr(750,root,http) %{_webapps}/%{_webapp}
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/apache.conf
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/httpd.conf
+#%%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_webapps}/%{_webapp}/lighttpd.conf
+%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/*.conf
+%dir %{_appdir}/bin
+%dir %{_appdir}/bin/cgi
+%attr(750,root,http) %{_appdir}/bin/cgi/viewvc.cgi
+%attr(750,root,http) %{_appdir}/bin/cgi/query.cgi
+%dir %{_appdir}/bin/mod_python
+%{_appdir}/bin/mod_python/viewvc.py
+%{_appdir}/bin/mod_python/query.py
+%{_appdir}/bin/mod_python/handler.py
+%attr(640,root,http) %config(noreplace) %verify(not md5 mtime size) %{_appdir}/bin/mod_python/.htaccess
+%attr(750,root,http) %{_appdir}/bin/standalone.py
+%attr(750,root,http) %{_appdir}/bin/loginfo-handler
+%attr(750,root,http) %{_appdir}/bin/cvsdbadmin
+%attr(750,root,http) %{_appdir}/bin/svndbadmin
+%attr(750,root,http) %{_appdir}/bin/make-database
+%{_appdir}/viewvc.conf
+%{_appdir}/cvsgraph.conf
+%dir %{_appdir}/lib
+%{_appdir}/lib/PyFontify.py[co]
+%{_appdir}/lib/accept.py[co]
+%{_appdir}/lib/blame.py[co]
+%{_appdir}/lib/compat.py[co]
+%{_appdir}/lib/compat_difflib.py[co]
+%{_appdir}/lib/compat_ndiff.py[co]
+%{_appdir}/lib/config.py[co]
+%{_appdir}/lib/cvsdb.py[co]
+%{_appdir}/lib/dbi.py[co]
+%{_appdir}/lib/debug.py[co]
+%{_appdir}/lib/ezt.py[co]
+%{_appdir}/lib/idiff.py[co]
+%{_appdir}/lib/popen.py[co]
+%{_appdir}/lib/py2html.py[co]
+%{_appdir}/lib/query.py[co]
+%{_appdir}/lib/sapi.py[co]
+%dir %{_appdir}/lib/vclib
+%{_appdir}/lib/vclib/__init__.py[co]
+%dir %{_appdir}/lib/vclib/bincvs
+%{_appdir}/lib/vclib/bincvs/__init__.py[co]
+%dir %{_appdir}/lib/vclib/ccvs
+%{_appdir}/lib/vclib/ccvs/__init__.py[co]
+%{_appdir}/lib/vclib/ccvs/blame.py[co]
+%dir %{_appdir}/lib/vclib/ccvs/rcsparse
+%{_appdir}/lib/vclib/ccvs/rcsparse/__init__.py[co]
+%{_appdir}/lib/vclib/ccvs/rcsparse/common.py[co]
+%{_appdir}/lib/vclib/ccvs/rcsparse/debug.py[co]
+%{_appdir}/lib/vclib/ccvs/rcsparse/default.py[co]
+%{_appdir}/lib/vclib/ccvs/rcsparse/texttools.py[co]
+%dir %{_appdir}/lib/vclib/svn
+%{_appdir}/lib/vclib/svn/__init__.py[co]
+%dir %{_appdir}/lib/vclib/svn_ra
+%{_appdir}/lib/vclib/svn_ra/__init__.py[co]
+%{_appdir}/lib/viewvc.py[co]
+%dir %{_appdir}/templates
+%{_appdir}/templates/annotate.ezt
+%{_appdir}/templates/diff.ezt
+%{_appdir}/templates/dir_new.ezt
+%{_appdir}/templates/directory.ezt
+%dir %{_appdir}/templates/docroot
+%{_appdir}/templates/docroot/help.css
+%{_appdir}/templates/docroot/help_dirview.html
+%{_appdir}/templates/docroot/help_log.html
+%{_appdir}/templates/docroot/help_query.html
+%{_appdir}/templates/docroot/help_rootview.html
+%dir %{_appdir}/templates/docroot/images
+%{_appdir}/templates/docroot/images/annotate.png
+%{_appdir}/templates/docroot/images/back.png
+%{_appdir}/templates/docroot/images/back_small.png
+%{_appdir}/templates/docroot/images/broken.png
+%{_appdir}/templates/docroot/images/chalk.jpg
+%{_appdir}/templates/docroot/images/cvsgraph_16x16.png
+%{_appdir}/templates/docroot/images/cvsgraph_32x32.png
+%{_appdir}/templates/docroot/images/diff.png
+%{_appdir}/templates/docroot/images/dir.png
+%{_appdir}/templates/docroot/images/down.png
+%{_appdir}/templates/docroot/images/download.png
+%{_appdir}/templates/docroot/images/feed-icon-16x16.jpg
+%{_appdir}/templates/docroot/images/forward.png
+%{_appdir}/templates/docroot/images/list.png
+%{_appdir}/templates/docroot/images/log.png
+%{_appdir}/templates/docroot/images/logo.png
+%{_appdir}/templates/docroot/images/text.png
+%{_appdir}/templates/docroot/images/up.png
+%{_appdir}/templates/docroot/images/view.png
+%{_appdir}/templates/docroot/styles.css
+%{_appdir}/templates/error.ezt
+%{_appdir}/templates/graph.ezt
+%dir %{_appdir}/templates/include
+%{_appdir}/templates/include/diff_form.ezt
+%{_appdir}/templates/include/dir_footer.ezt
+%{_appdir}/templates/include/dir_header.ezt
+%{_appdir}/templates/include/file_header.ezt
+%{_appdir}/templates/include/footer.ezt
+%{_appdir}/templates/include/header.ezt
+%{_appdir}/templates/include/log_footer.ezt
+%{_appdir}/templates/include/log_header.ezt
+%{_appdir}/templates/include/paging.ezt
+%{_appdir}/templates/include/pathrev_form.ezt
+%{_appdir}/templates/include/sort.ezt
+%{_appdir}/templates/log.ezt
+%{_appdir}/templates/log_table.ezt
+%{_appdir}/templates/markup.ezt
+%{_appdir}/templates/query.ezt
+%{_appdir}/templates/query_form.ezt
+%{_appdir}/templates/query_results.ezt
+%{_appdir}/templates/revision.ezt
+%{_appdir}/templates/roots.ezt
+%{_appdir}/templates/rss.ezt
+
+%define date	%(echo `LC_ALL="C" date +"%a %b %d %Y"`)
+%changelog
+* %{date} PLD Team <feedback at pld-linux.org>
+All persons listed below can be reached at <cvs_login>@pld-linux.org
+
+$Log$
+Revision 1.1  2006/09/30 20:24:59  twittner
+- viewvc: viewcvs successor
+- spec based on template-webapp.spec
+
================================================================


More information about the pld-cvs-commit mailing list