1 %include /usr/lib/rpm/macros.perl
2 Summary: Visual (www) interface to explore a CVS repository
3 Summary(pl): Wizualny (WWW) interfejs do przegl±dania repozytorium CVS
9 Group: Development/Tools
10 Source0: http://people.FreeBSD.org/~scop/cvsweb/%{name}-%{version}.tar.gz
11 # Source0-md5: 572dbb2d66ad6487c0a3536f93023086
12 URL: http://www.freebsd.org/projects/cvsweb.html
13 Patch0: %{name}-config.patch
14 BuildRequires: rpmbuild(macros) >= 1.223
15 # for %{_libdir}/cgi-bin
16 Requires: FHS >= 2.3-8
21 # because of wrong module load order
22 Conflicts: apache1 < 1.3.33-6.3
24 BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
26 %define _sysconfdir /etc/%{name}
27 %define _appdir %{_datadir}/%{name}
30 CVSweb is a WWW interface for CVS repositories with which you can
31 browse a file hierarchy on your browser to view each file's revision
32 history in a very handy manner. CVSweb was originally written by Bill
33 Fenner for the FreeBSD Project. FreeBSD-CVSweb, formerly known as
34 knu-CVSweb, is an enhanced version of CVSweb based on Henner Zeller's
35 CVSweb, which is an extended version of the original CVSweb. This
36 version contains numerous cleanups, bug-fixes, security enhancements
37 and feature improvements.
40 CVSweb jest interfejsem WWW dla repozytoriów CVS dziêki któremu mo¿na
41 przegl±daæ ich zawarto¶æ w przegl±darce WWW widz±c pe³n± historiê
42 zmian i numerów rewizji dla ka¿dego z plików. CVSWeb zosta³ stworzony
43 przez Billa Fennera dla projektu FreeBSD. FreeBSD-CVSweb dawniej znany
44 jako knu-CVSweb jest rozszerzon± wersj± opart± na wersji Hennera
45 Zellera, która z kolei by³a oparta na oryginalnej wersji. Kod obecnej
46 wersji zosta³ uporz±dkowany i oczyszczony, usuniêtych zosta³o równie¿
47 wiele b³êdów. Wprowadzono tak¿e du¿o poprawek bezpieczeñstwa oraz
48 rozbudowano funkcjonalno¶æ.
54 install cvsweb.conf* samples
57 find '(' -name '*~' -o -name '*.orig' ')' | xargs -r rm -v
60 rm -rf $RPM_BUILD_ROOT
62 install -d $RPM_BUILD_ROOT{%{_appdir}/{css,enscript,icons},%{_sysconfdir}}
64 install %{name}.cgi $RPM_BUILD_ROOT%{_appdir}
65 install css/* $RPM_BUILD_ROOT%{_appdir}/css
66 install enscript/* $RPM_BUILD_ROOT%{_appdir}/enscript
67 install icons/* $RPM_BUILD_ROOT%{_appdir}/icons
69 install %{name}.conf $RPM_BUILD_ROOT%{_sysconfdir}
70 echo '# vim:syn=perl' >> $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.conf
72 cat <<EOF > $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
73 Alias /%{name}/css/ %{_appdir}/css/
74 Alias /%{name}/enscript/ %{_appdir}/enscript/
75 Alias /%{name}/icons/ %{_appdir}/icons/
76 ScriptAlias /cgi-bin/%{name}.cgi %{_appdir}/%{name}.cgi
78 <Location /cgi-bin/%{name}.cgi>
79 # See also $charset in cvsweb.conf.
80 #AddDefaultCharset UTF-8
84 SetHandler perl-script
85 PerlResponseHandler ModPerl::Registry
86 PerlOptions +ParseHeaders
96 # vim: filetype=apache ts=4 sw=4
100 if [ "$1" = 1 ]; then
101 %banner %{name} -e <<'EOF'
102 You might want to install optionally 'cvsgraph' program.
107 rm -rf $RPM_BUILD_ROOT
109 # 79_ instead of 99_ because
110 # - ScriptAlias /cgi-bin/ is in 80_mod_alias.conf
111 # - SSL is in 40_mod_ssl.conf
112 # - mod_auth 51_mod_ssl.conf
113 # - mod_rewrite is 70
114 # - TODO: fix apache.spec to have ScriptAlias in 80
115 %triggerin -- apache1 >= 1.3.33-2
116 %apache_config_install -v 1 -c %{_sysconfdir}/apache.conf -n 79
118 %triggerun -- apache1 >= 1.3.33-2
119 %apache_config_uninstall -v 1 -n 79
121 %triggerin -- apache >= 2.0.0
122 %apache_config_install -v 2 -c %{_sysconfdir}/apache.conf -n 09
124 %triggerun -- apache >= 2.0.0
125 %apache_config_uninstall -v 2 -n 09
127 %triggerpostun -- %{name} < 1:3.0.5-0.20
128 # migrate from old config location (only apache2, as there was no apache1 support)
129 if [ -f /etc/httpd/%{name}.conf.rpmsave ]; then
130 cp -f %{_sysconfdir}/apache.conf{,.rpmnew}
131 mv -f /etc/httpd/%{name}.conf.rpmsave %{_sysconfdir}/apache.conf
132 if [ -f /var/lock/subsys/httpd ]; then
133 /etc/rc.d/init.d/httpd restart 1>&2
137 # place new config location, as trigger puts config only on first install, do it here.
139 if [ -d /etc/apache/conf.d ]; then
140 rm -f /etc/apache/conf.d/09_%{name}.conf # old slot
141 ln -sf %{_sysconfdir}/apache.conf /etc/apache/conf.d/79_%{name}.conf
142 if [ -f /var/lock/subsys/apache ]; then
143 /etc/rc.d/init.d/apache restart 1>&2
147 if [ -d /etc/httpd/httpd.conf ]; then
148 ln -sf %{_sysconfdir}/apache.conf /etc/httpd/httpd.conf/09_%{name}.conf
149 if [ -f /var/lock/subsys/httpd ]; then
150 /etc/rc.d/init.d/httpd restart 1>&2
155 %defattr(644,root,root,755)
156 %doc ChangeLog INSTALL NEWS README TODO samples
157 %dir %attr(750,root,http) %{_sysconfdir}
158 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{_sysconfdir}/%{name}.conf
159 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{_sysconfdir}/apache.conf
164 %attr(755,root,root) %{_appdir}/cvsweb.cgi