]> git.pld-linux.org Git - packages/cvsd.git/blob - cvsd.spec
- use SUSv2-compliant chown syntax (user:group) instead of deprecated
[packages/cvsd.git] / cvsd.spec
1 # TODO:
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
6 Name:           cvsd
7 Version:        0.9.19
8 Release:        0.1
9 License:        GPL
10 Group:          Development/Version Control
11 Source0:        http://tiefighter.et.tudelft.nl/~arthur/cvsd/%{name}-%{version}.tar.gz
12 # Source0-md5:  2757c59517e59771bd9d249aea760b41
13 Source1:        %{name}.conf
14 Source2:        %{name}-passwd
15 URL:            http://tiefighter.et.tudelft.nl/~arthur/cvsd/
16 Requires:       cvs
17 Buildroot:      %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
18
19 %description
20 cvsd is a chroot/suid wrapper for running a cvs pserver more securely.
21 cvs is a version control system for managing projects.
22
23 %description -l pl
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.
27
28 %prep
29 %setup -q
30
31 %build
32 %{__make} all
33
34 %install
35 rm -rf $RPM_BUILD_ROOT
36 install -d $RPM_BUILD_ROOT{%{_sbindir},{/home/cvsowner/cvsd-root,}%{_sysconfdir}}
37
38 export PREFIX=${RPM_BUILD_ROOT}
39 #make -e install
40
41 %clean
42 rm -rf $RPM_BUILD_ROOT
43
44 %pre
45 SRCDIR=$PWD
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
52 fi
53 if [ ! -f /home/cvsowner/cvsd-root ] ; then
54         echo "Setting up /home/cvsowner/cvsd-root..."
55         cd /home/cvsowner
56         mkdir cvsd-root
57         cd cvsd-root
58         mkdir etc bin lib tmp dev cvsroot
59         cd /lib
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
65 fi
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
69 fi
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
73 fi
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!"
79
80 %postun
81 /usr/sbin/userdel cvsowner
82 /usr/sbin/groupdel cvsadmin
83
84 %files
85 %defattr(644,root,root,755)
86 %doc README
87 %dir /home/cvsowner
88 %attr(-,root,root) %config(noreplace) %{_sysconfdir}/cvsd.conf
89 %config(noreplace) /home/cvsowner/cvsd-root%{_sysconfdir}/passwd
90 %attr(-,root,root) %{_sbindir}/cvsd
This page took 0.076793 seconds and 3 git commands to generate.