- install /etc/vservers/vserver-reference.conf
[util-vserver.git] / util-vserver.spec
1 %define name util-vserver
2 %define version 0.30
3 %define release 1.planetlab%{?date:.%{date}}
4
5 Vendor: PlanetLab
6 Packager: PlanetLab Central <support@planet-lab.org>
7 Distribution: PlanetLab 3.0
8 URL: http://www.planet-lab.org
9
10 %define __chattr        /usr/bin/chattr
11
12 Summary:        Linux virtual server utilities
13 Name:           %{name}
14 Version:        %{version}
15 Release:        %{release}
16 Epoch:          0
17 Copyright:      GPL
18 Group:          System Environment/Base
19 Source0:        http://savannah.nongnu.org/download/util-vserver/stable.pkg/%version/%name-%version.tar.bz2
20 Provides:       %name-devel = %epoch:%version-%release
21 BuildRoot:      %_tmppath/%name-%version-%release-root
22 Provides:       vserver = %epoch:%version-%release
23 Conflicts:      vserver < %epoch:%version-%release
24 Conflicts:      vserver > %epoch:%version-%release
25 BuildRequires:  e2fsprogs-devel
26 Requires(post): %__chattr
27
28 %package linuxconf
29 Summary:        Linuxconf administration modules for vservers
30 Group:          Applications/System
31 Requires:       %name = %epoch:%version-%release
32 Provides:       vserver-admin = %epoch:%version-%release
33 Conflicts:      vserver-admin < %epoch:%version-%release
34 Conflicts:      vserver-admin > %epoch:%version-%release
35
36 %description
37 This package provides the components and a framework to setup virtual
38 servers.  A virtual server runs inside a linux server. It is nevertheless
39 highly independent. As such, you can run various services with normal
40 configuration. The various vservers can't interact with each other and
41 can't interact with services in the main server.
42
43 This requires a special kernel supporting the new new_s_context and
44 set_ipv4root system call.
45
46
47 %description linuxconf
48 This package provides the components to setup virtual servers with
49 linuxconf.
50
51
52 %prep
53 %setup -q
54
55
56 %build
57 aclocal -I m4
58 autoconf
59 automake
60 # bootstrap to avoid BuildRequires of kernel-source
61 for linux in $RPM_BUILD_DIR/linux-* /lib/modules/`uname -r`/build ; do
62    [[ -d $linux/include ]] && %configure --with-kerneldir=$linux --enable-linuxconf && break
63 done
64 %__make %{?_smp_mflags}
65
66
67 %install
68 rm -rf $RPM_BUILD_ROOT
69 %__make DESTDIR=$RPM_BUILD_ROOT install
70
71 mkdir -p $RPM_BUILD_ROOT/vservers
72 test "%_initrddir" = %_sysconfdir/init.d || {
73         mkdir -p ${RPM_BUILD_ROOT}%_initrddir
74         mv ${RPM_BUILD_ROOT}%_sysconfdir/init.d/* ${RPM_BUILD_ROOT}%_initrddir/
75 }
76
77 install -m 644 -D distrib/sample.conf $RPM_BUILD_ROOT/etc/vservers/vserver-reference.conf
78
79
80 %clean
81 rm -rf $RPM_BUILD_ROOT
82
83
84 %define services vcached
85
86 %pre
87 # 1 = install, 2 = upgrade/reinstall
88 if [ $1 -eq 2 ] ; then
89     for i in %{services} ; do
90         [ "`/sbin/runlevel`" = "unknown" ] || service $i stop || :
91     done
92 fi
93
94
95 %post
96 # 1 = install, 2 = upgrade/reinstall
97 if [ $1 -eq 1 ] ; then
98     for i in %{services} ; do
99         chkconfig --add $i
100         chkconfig $i on
101     done
102 fi
103 for i in %{services} ; do
104     [ "`/sbin/runlevel`" = "unknown" ] || service $i start
105 done
106
107 %__chattr +t /vservers || :
108
109
110 %preun
111 # 0 = erase, 1 = upgrade
112 if [ $1 -eq 0 ] ; then
113     for i in %{services} ; do
114         [ "`/sbin/runlevel`" = "unknown" ] || service $i stop || :
115         chkconfig $i off
116         chkconfig --del $i
117     done
118 fi
119
120
121 %files
122 %defattr(-,root,root)
123 %doc AUTHORS COPYING ChangeLog NEWS README THANKS
124 %_sbindir/*
125 %_libdir/%name
126 %_includedir/vserver.h
127 %_libdir/libvserver.a
128 %_mandir/man8/*
129 %config %_initrddir/*
130 %config(noreplace) /etc/vservers.conf
131 %dir /etc/vservers
132 %config(noreplace) /etc/vservers/vserver-reference.conf
133 %attr(0,root,root) %dir /vservers
134
135 %exclude %_sbindir/newvserver
136 %exclude %_mandir/man8/newvserver*
137
138
139 %files linuxconf
140 %defattr(-,root,root)
141 %config(noreplace) /etc/vservers/newvserver.defaults
142 %_sbindir/newvserver
143 %_mandir/man8/newvserver*
144
145
146 %changelog
147 * Wed Aug 11 2004 Mark Huang <mlhuang@cs.princeton.edu> 0.29-1.planetlab
148 - initial PlanetLab 3.0 build.
149
150 * Thu Mar 18 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.29.3-0
151 - removed '%%doc doc/FAQ.txt' since file does not exist anymore
152
153 * Fri Sep 26 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.23.4-1
154 - initial build.