]> git.pld-linux.org Git - packages/cvsweb.git/blob - cvsweb.spec
- update webapp triggers due apache1 package split
[packages/cvsweb.git] / cvsweb.spec
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
4 Name:           cvsweb
5 Version:        3.0.6
6 Release:        1
7 Epoch:          1
8 License:        BSD
9 Group:          Development/Tools
10 Source0:        http://people.FreeBSD.org/~scop/cvsweb/%{name}-%{version}.tar.gz
11 # Source0-md5:  0e1eec962b1db00e01b295fff84b6e89
12 Source1:        %{name}-apache.conf
13 URL:            http://www.freebsd.org/projects/cvsweb.html
14 Patch0:         %{name}-config.patch
15 Patch1:         %{name}-emptyscript.patch
16 BuildRequires:  rpmbuild(macros) >= 1.268
17 # for %{_prefix}/lib/cgi-bin
18 Requires:       FHS >= 2.3-8
19 Requires:       rcs
20 # for /etc/mime.types
21 Requires:       mailcap
22 Requires:       webapps
23 Conflicts:      apache-base < 2.2.0-8
24 Conflicts:      apache1 < 1.3.34-6
25 BuildArch:      noarch
26 BuildRoot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
27
28 %define         _webapps        /etc/webapps
29 %define         _webapp         %{name}
30 %define         _sysconfdir     %{_webapps}/%{_webapp}
31 %define         _appdir         %{_datadir}/%{name}
32 %define         _cgibindir      %{_prefix}/lib/cgi-bin
33 %define         _enscriptdir    %{_datadir}/enscript/hl
34
35 %description
36 CVSweb is a WWW interface for CVS repositories with which you can
37 browse a file hierarchy on your browser to view each file's revision
38 history in a very handy manner. CVSweb was originally written by Bill
39 Fenner for the FreeBSD Project. FreeBSD-CVSweb, formerly known as
40 knu-CVSweb, is an enhanced version of CVSweb based on Henner Zeller's
41 CVSweb, which is an extended version of the original CVSweb. This
42 version contains numerous cleanups, bug-fixes, security enhancements
43 and feature improvements.
44
45 %description -l pl
46 CVSweb jest interfejsem WWW dla repozytoriów CVS dziêki któremu mo¿na
47 przegl±daæ ich zawarto¶æ w przegl±darce WWW widz±c pe³n± historiê
48 zmian i numerów rewizji dla ka¿dego z plików. CVSWeb zosta³ stworzony
49 przez Billa Fennera dla projektu FreeBSD. FreeBSD-CVSweb dawniej znany
50 jako knu-CVSweb jest rozszerzon± wersj± opart± na wersji Hennera
51 Zellera, która z kolei by³a oparta na oryginalnej wersji. Kod obecnej
52 wersji zosta³ uporz±dkowany i oczyszczony, usuniêtych zosta³o równie¿
53 wiele b³êdów. Wprowadzono tak¿e du¿o poprawek bezpieczeñstwa oraz
54 rozbudowano funkcjonalno¶æ.
55
56 %package -n enscript-%{name}
57 Summary:        Enscript language files for CVSweb
58 Summary(pl):    Pliki jêzyka Enscript dla CVSweba
59 Group:          Applications/Publishing
60 Requires:       enscript >= 1.6.4-1.2
61
62 %description -n enscript-%{name}
63 Enscript language files for CVSweb.
64
65 %description -n enscript-%{name} -l pl
66 Pliki jêzyka Enscript dla CVSweba.
67
68 %prep
69 %setup -q
70 %patch0 -p1
71 %patch1 -p1
72
73 cp -a cvsweb.conf* samples
74
75 # remove backups
76 find '(' -name '*~' -o -name '*.orig' ')' | xargs -r rm -v
77
78 %install
79 rm -rf $RPM_BUILD_ROOT
80 install -d $RPM_BUILD_ROOT{%{_appdir}/{css,icons},%{_cgibindir},%{_enscriptdir},%{_sysconfdir}}
81
82 install %{name}.cgi     $RPM_BUILD_ROOT%{_cgibindir}
83 install css/*           $RPM_BUILD_ROOT%{_appdir}/css
84 install enscript/*      $RPM_BUILD_ROOT%{_enscriptdir}
85 install icons/*         $RPM_BUILD_ROOT%{_appdir}/icons
86
87 install %{name}.conf    $RPM_BUILD_ROOT%{_sysconfdir}
88 echo '# vim:syn=perl' >> $RPM_BUILD_ROOT%{_sysconfdir}/%{name}.conf
89 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/apache.conf
90 install %{SOURCE1} $RPM_BUILD_ROOT%{_sysconfdir}/httpd.conf
91
92 %clean
93 rm -rf $RPM_BUILD_ROOT
94
95 %post
96 if [ "$1" = 1 ]; then
97 %banner %{name} -e <<'EOF'
98 You might want to install optionally 'cvsgraph' program.
99 EOF
100 fi
101
102 %triggerin -- apache1 < 1.3.37-3, apache1-base
103 %webapp_register apache %{_webapp}
104
105 %triggerun -- apache1 < 1.3.37-3, apache1-base
106 %webapp_unregister apache %{_webapp}
107
108 %triggerin -- apache < 2.2.0, apache-base
109 %webapp_register httpd %{_webapp}
110
111 %triggerun -- apache < 2.2.0, apache-base
112 %webapp_unregister httpd %{_webapp}
113
114 %triggerpostun -- %{name} < 1:3.0.6-0.2
115 # rescue app config
116 if [ -f /etc/%{name}/cvsweb.conf.rpmsave ]; then
117         mv -f %{_sysconfdir}/cvsweb.conf{,.rpmnew}
118         mv -f /etc/%{name}/cvsweb.conf.rpmsave %{_sysconfdir}/cvsweb.conf
119 fi
120
121 # migrate from old config location (only apache2, as there was no apache1 support)
122 if [ -f /etc/httpd/%{name}.conf.rpmsave ]; then
123         cp -f %{_sysconfdir}/httpd.conf{,.rpmnew}
124         mv -f /etc/httpd/%{name}.conf.rpmsave %{_sysconfdir}/httpd.conf
125         httpd_reload=1
126 fi
127
128 # migrate from apache-config macros
129 if [ -f /etc/%{name}/apache.conf.rpmsave ]; then
130         if [ -d /etc/apache/webapps.d ]; then
131                 cp -f %{_sysconfdir}/apache.conf{,.rpmnew}
132                 cp -f /etc/%{name}/apache.conf.rpmsave %{_sysconfdir}/apache.conf
133         fi
134
135         if [ -d /etc/httpd/webapps.d ]; then
136                 cp -f %{_sysconfdir}/httpd.conf{,.rpmnew}
137                 cp -f /etc/%{name}/apache.conf.rpmsave %{_sysconfdir}/httpd.conf
138         fi
139         rm -f /etc/%{name}/apache.conf.rpmsave
140 fi
141
142 if [ -L /etc/apache/conf.d/09_%{name}.conf ]; then
143         rm -f /etc/apache/conf.d/09_%{name}.conf
144         apache_reload=1
145 fi
146 if [ -L /etc/apache/conf.d/79_%{name}.conf ]; then
147         rm -f /etc/apache/conf.d/79_%{name}.conf
148         apache_reload=1
149 fi
150 if [ -L /etc/httpd/httpd.conf/09_%{name}.conf ]; then
151         rm -f /etc/httpd/httpd.conf/09_%{name}.conf
152         httpd_reload=1
153 fi
154
155 if [ "$apache_reload" ]; then
156         /usr/sbin/webapp register apache %{_webapp}
157         %service -q apache reload
158 fi
159 if [ "$httpd_reload" ]; then
160         /usr/sbin/webapp register httpd %{_webapp}
161         %service -q httpd reload
162 fi
163
164 %files
165 %defattr(644,root,root,755)
166 %doc ChangeLog INSTALL NEWS README TODO samples
167 %dir %attr(750,root,http) %{_sysconfdir}
168 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,http) %{_sysconfdir}/%{name}.conf
169 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{_sysconfdir}/apache.conf
170 %config(noreplace) %verify(not md5 mtime size) %attr(640,root,root) %{_sysconfdir}/httpd.conf
171 %attr(755,root,root) %{_cgibindir}/cvsweb.cgi
172 %{_appdir}
173
174 %files -n enscript-%{name}
175 %defattr(644,root,root,755)
176 %{_enscriptdir}/*
This page took 0.094043 seconds and 4 git commands to generate.