fix services variable reference
[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 # bootstrap to avoid BuildRequires of kernel-source
58 for linux in $RPM_BUILD_DIR/linux-* /lib/modules/`uname -r`/build ; do
59    [[ -d $linux/include ]] && %configure --with-kerneldir=$linux --enable-linuxconf && break
60 done
61 %__make %{?_smp_mflags}
62
63
64 %install
65 rm -rf $RPM_BUILD_ROOT
66 %__make DESTDIR=$RPM_BUILD_ROOT install
67
68 mkdir -p $RPM_BUILD_ROOT/vservers
69 test "%_initrddir" = %_sysconfdir/init.d || {
70         mkdir -p ${RPM_BUILD_ROOT}%_initrddir
71         mv ${RPM_BUILD_ROOT}%_sysconfdir/init.d/* ${RPM_BUILD_ROOT}%_initrddir/
72 }
73
74
75 %clean
76 rm -rf $RPM_BUILD_ROOT
77
78
79 %define services vcached
80
81 %pre
82 # 1 = install, 2 = upgrade/reinstall
83 if [ $1 -eq 2 ] ; then
84     for i in %{services} ; do
85         service $i stop
86     done
87 fi
88
89
90 %post
91 # 1 = install, 2 = upgrade/reinstall
92 if [ $1 -eq 1 ] ; then
93     for i in %{services} ; do
94         chkconfig --add $i
95         chkconfig $i on
96     done
97 fi
98 for i in %{services} ; do
99     service $i start
100 done
101
102 %__chattr +t /vservers || :
103
104
105 %preun
106 # 0 = erase, 1 = upgrade
107 if [ $1 -eq 0 ] ; then
108     for i in %{services} ; do
109         service $i stop
110         chkconfig $i off
111         chkconfig --del $i
112     done
113 fi
114
115
116 %files
117 %defattr(-,root,root)
118 %doc AUTHORS COPYING ChangeLog NEWS README THANKS
119 %_sbindir/*
120 %_libdir/%name
121 %_includedir/vserver.h
122 %_libdir/libvserver.a
123 %_mandir/man8/*
124 %config %_initrddir/*
125 %config(noreplace) /etc/vservers.conf
126 %attr(0,root,root) %dir /vservers
127
128 %exclude %_sbindir/newvserver
129 %exclude %_mandir/man8/newvserver*
130
131
132 %files linuxconf
133 %defattr(-,root,root)
134 %config(noreplace) /etc/vservers/newvserver.defaults
135 %_sbindir/newvserver
136 %_mandir/man8/newvserver*
137
138
139 %changelog
140 * Wed Aug 11 2004 Mark Huang <mlhuang@cs.princeton.edu> 0.29-1.planetlab
141 - initial PlanetLab 3.0 build.
142
143 * Thu Mar 18 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.29.3-0
144 - removed '%%doc doc/FAQ.txt' since file does not exist anymore
145
146 * Fri Sep 26 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.23.4-1
147 - initial build.