2 # - cvsadmin uid,gid, evil postun
3 # - $RPM_SOURCE_DIR in %pre???!!!
4 Summary: cvsd, a chroot/suid wrapper for running a cvs pserver
5 Summary(pl): cvsd - nak³adka na cvs pserver korzystaj±ca z chroot/suid
10 Group: Development/Version Control
11 Source0: http://tiefighter.et.tudelft.nl/~arthur/cvsd/%{name}-%{version}.tar.gz
12 # Source0-md5: 2757c59517e59771bd9d249aea760b41
14 Source2: %{name}-passwd
15 URL: http://tiefighter.et.tudelft.nl/~arthur/cvsd/
17 Buildroot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
20 cvsd is a chroot/suid wrapper for running a cvs pserver more securely.
21 cvs is a version control system for managing projects.
24 cvsd jest nak³adk± s³u¿±c± do bezpieczniejszego uruchamiania programu
25 cvs pserver, korzystaj±c± z chroot/suid. cvs jest systemem kontroli
26 wersji zasobów s³u¿±cym do zarz±dzania projektami.
35 rm -rf $RPM_BUILD_ROOT
36 install -d $RPM_BUILD_ROOT{%{_sbindir},{/home/cvsowner/cvsd-root,}%{_sysconfdir}}
38 export PREFIX=${RPM_BUILD_ROOT}
42 rm -rf $RPM_BUILD_ROOT
46 if ! grep -q cvsowner /etc/passwd ; then
47 echo "Creating cvsowner, group cvsadmin, and setting up /home/cvsowner..."
48 mkdir -p /home/cvsowner
49 groupadd -g 2401 cvsadmin
50 useradd -u 2401 -g 2401 -c "CVS UID" -m -k /home/cvsowner -G cvsadmin cvsowner
51 chown -R cvsowner:cvsadmin /home/cvsowner
53 if [ ! -f /home/cvsowner/cvsd-root ] ; then
54 echo "Setting up /home/cvsowner/cvsd-root..."
58 mkdir etc bin lib tmp dev cvsroot
60 install -m755 `ldd /usr/bin/cvs | cut -d " " -f 1` /lib/libnss_files.so.1 /home/cvsowner/cvsd-root/lib/
61 install -m755 /usr/bin/cvs /home/cvsowner/cvsd-root/bin/
62 install -m644 ${RPM_SOURCE_DIR}/cvsd-pass /home/cvsowner/cvsd-root/etc/passwd
63 chown -R cvsowner:cvsadmin /home/cvsowner
64 mknod /home/cvsowner/cvsd-root/dev/null c 1 3
66 if ! grep -q cvspserver /etc/services ; then
67 echo "no existing cvspserver line in /etc/services, adding..."
68 echo -e "cvspserver\t2401/tcp\t\t# CVS pserver auth" >> /etc/services
70 if ! grep -q cvspserver /etc/inetd.conf ; then
71 echo "no existing cvspserver line in /etc/inetd.conf, adding..."
72 echo -e "cvspserver\tstream\ttcp\tnowait\troot\t/usr/sbin/cvsd\tcvsd" >> /etc/inetd.conf
74 echo "Now check out /etc/cvsd.conf, restart inetd (killall -HUP inetd), and "
75 echo "initialise the repository using: "
76 echo "\"cvs -d :pserver:cvsadmin@localhost:/cvsroot init\" "
77 echo "Also edit/modify/whatever the /home/cvsowner/cvsd-root/etc/passwd file."
78 echo "Default user/passwds are cvs/cvs (for ro anon), user/pass. Change these!"
81 /usr/sbin/userdel cvsowner
82 /usr/sbin/groupdel cvsadmin
85 %defattr(644,root,root,755)
88 %attr(-,root,root) %config(noreplace) %{_sysconfdir}/cvsd.conf
89 %config(noreplace) /home/cvsowner/cvsd-root%{_sysconfdir}/passwd
90 %attr(-,root,root) %{_sbindir}/cvsd