]>
Commit | Line | Data |
---|---|---|
44cd39c6 | 1 | # TODO: |
48d6bb56 JB |
2 | # - cvsadmin uid,gid |
3 | # - check permissions | |
963538ec | 4 | Summary: cvsd, a chroot/suid wrapper for running a cvs pserver |
464f51ca | 5 | Summary(pl.UTF-8): cvsd - nakładka na cvs pserver korzystająca z chroot/suid |
963538ec | 6 | Name: cvsd |
bd0167db SP |
7 | Version: 1.0.9 |
8 | Release: 0.1 | |
963538ec | 9 | License: GPL |
10 | Group: Development/Version Control | |
bd0167db SP |
11 | Source0: http://ch.tudelft.nl/~arthur/cvsd/%{name}-%{version}.tar.gz |
12 | # Source0-md5: ee67d1a5366f804580c08ca1d48b85fd | |
9a063b09 | 13 | Source1: %{name}.init |
48d6bb56 JB |
14 | #Source1: %{name}.conf |
15 | #Source2: %{name}-passwd | |
bd0167db | 16 | URL: http://ch.tudelft.nl/~arthur/cvsd/ |
c0367833 | 17 | BuildRequires: rpmbuild(macros) >= 1.268 |
3690dca2 | 18 | Requires(post,preun): /sbin/chkconfig |
bd0167db SP |
19 | Requires(postun): /usr/sbin/groupdel |
20 | Requires(postun): /usr/sbin/userdel | |
48d6bb56 | 21 | Requires(pre): /bin/id |
bd0167db SP |
22 | Requires(pre): /usr/bin/getgid |
23 | Requires(pre): /usr/bin/ldd | |
48d6bb56 | 24 | Requires(pre): /usr/sbin/groupadd |
269fff24 | 25 | Requires(pre): /usr/sbin/groupmod |
b9203fdd | 26 | Requires(pre): cvs-client |
48d6bb56 JB |
27 | Requires(pre): fileutils |
28 | Requires(pre): textutils | |
b9203fdd | 29 | Requires: cvs-client |
bd0167db | 30 | Requires: rc-scripts |
269fff24 | 31 | Provides: group(cvsadmin) |
32 | Provides: user(cvsowner) | |
91a57bd3 JB |
33 | Obsoletes: cvs-nserver-pserver |
34 | Obsoletes: cvs-pserver | |
528540b3 | 35 | BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n) |
63c1f2c8 | 36 | |
3fb9548b | 37 | %define homedir /var/lib/cvsowner |
48d6bb56 | 38 | %define rootdir %{homedir}/cvsd-root |
48d6bb56 | 39 | |
63c1f2c8 | 40 | %description |
41 | cvsd is a chroot/suid wrapper for running a cvs pserver more securely. | |
42 | cvs is a version control system for managing projects. | |
43 | ||
93376cf4 JR |
44 | %description -l pl.UTF-8 |
45 | cvsd jest nakładką służącą do bezpieczniejszego uruchamiania programu | |
46 | cvs pserver, korzystającą z chroot/suid. cvs jest systemem kontroli | |
47 | wersji zasobów służącym do zarządzania projektami. | |
963538ec | 48 | |
63c1f2c8 | 49 | %prep |
963538ec | 50 | %setup -q |
63c1f2c8 | 51 | |
52 | %build | |
48d6bb56 JB |
53 | %configure |
54 | ||
55 | %{__make} | |
63c1f2c8 | 56 | |
57 | %install | |
963538ec | 58 | rm -rf $RPM_BUILD_ROOT |
3fb9548b | 59 | install -d $RPM_BUILD_ROOT%{rootdir}/{etc,bin,lib,tmp,dev,cvsroot} \ |
60 | $RPM_BUILD_ROOT/etc/rc.d/init.d | |
63c1f2c8 | 61 | |
48d6bb56 JB |
62 | %{__make} install \ |
63 | DESTDIR=$RPM_BUILD_ROOT | |
64 | ||
9a063b09 | 65 | install %{SOURCE1} $RPM_BUILD_ROOT/etc/rc.d/init.d/%{name} |
c0367833 | 66 | #install %{SOURCE2} $RPM_BUILD_ROOT%{rootdir}%{_sysconfdir}/passwd |
63c1f2c8 | 67 | |
44cd39c6 JB |
68 | %clean |
69 | rm -rf $RPM_BUILD_ROOT | |
70 | ||
63c1f2c8 | 71 | %pre |
7d0a37a9 ER |
72 | %groupadd -g 53 cvsadmin |
73 | %useradd -u 128 -g 53 -c "CVS UID" -d %{homedir} cvsowner | |
74 | ||
48d6bb56 JB |
75 | if [ ! -f %{rootdir}/bin/cvs ] ; then |
76 | echo "Setting up %{rootdir}..." | |
77 | cd /lib | |
78 | install -m755 -o root -g root `ldd /usr/bin/cvs | cut -d " " -f 1` /lib/libnss_files.so.1 \ | |
79 | %{rootdir}/lib | |
80 | install -m755 /usr/bin/cvs %{rootdir}/bin | |
63c1f2c8 | 81 | fi |
9a063b09 | 82 | |
83 | %post | |
84 | /sbin/chkconfig --add cvsd | |
c0367833 ER |
85 | %service cvsd restart "cvsd" |
86 | ||
87 | if [ "$1" = 1 ]; then | |
88 | %banner -e %{name} <<EOF | |
89 | Now check out %{_sysconfdir}/cvsd.conf and initialise the repository using: | |
90 | cvs -d :pserver:cvsadmin@localhost:/cvsroot init | |
9a063b09 | 91 | |
c0367833 ER |
92 | Also edit/modify/whatever the /home/cvsowner/cvsd-root%{_sysconfdir}/passwd file. |
93 | Default user/passwds are cvs/cvs (for ro anon), user/pass. Change these! | |
94 | EOF | |
95 | fi | |
63c1f2c8 | 96 | |
9a063b09 | 97 | %preun |
98 | if [ "$1" = "0" ]; then | |
c0367833 | 99 | %service cvsd stop |
3690dca2 | 100 | /sbin/chkconfig --del cvsd |
9a063b09 | 101 | fi |
102 | ||
63c1f2c8 | 103 | %postun |
48d6bb56 | 104 | if [ "$1" = "0" ]; then |
269fff24 | 105 | %userremove cvsowner |
106 | %groupremove cvsadmin | |
48d6bb56 | 107 | fi |
63c1f2c8 | 108 | |
109 | %files | |
963538ec | 110 | %defattr(644,root,root,755) |
48d6bb56 JB |
111 | %doc AUTHORS ChangeLog FAQ NEWS README TODO |
112 | %attr(755,root,root) %{_sbindir}/cvsd | |
113 | %attr(755,root,root) %{_sbindir}/cvsd-buildroot | |
114 | %attr(755,root,root) %{_sbindir}/cvsd-passwd | |
115 | %dir %{_sysconfdir}/cvsd | |
91a57bd3 | 116 | %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/cvsd/cvsd.conf |
9a063b09 | 117 | %attr(754,root,root) /etc/rc.d/init.d/cvsd |
48d6bb56 JB |
118 | %{_mandir}/man[58]/* |
119 | %dir %{homedir} | |
120 | %dir %{rootdir} | |
121 | %dir %{rootdir}/bin | |
122 | %attr(755,cvsowner,cvsadmin) %dir %{rootdir}/cvsroot | |
123 | %dir %{rootdir}/dev | |
124 | %dev(c,1,3) %{rootdir}/dev/null | |
125 | %dir %{rootdir}/lib | |
126 | %dir %{rootdir}/tmp | |
c0367833 | 127 | #%config(noreplace) %verify(not size mtime md5) %{rootdir}%{_sysconfdir}/passwd |