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