67e94710a73c00402dc2c36cd0e8ae57c158ca14
[util-vserver.git] / util-vserver / util-vserver.spec.in
1 # $Id$
2
3 %define confdir         %_sysconfdir/vservers
4 %define confdefaultdir  %confdir/.defaults
5 %define pkglibdir       %_libdir/%name
6 %define __chattr        /usr/bin/chattr
7 %define chkconfig       /sbin/chkconfig
8
9 Summary:        Linux virtual server utilities
10 Name:           @PACKAGE@
11 Version:        @VERSION@
12 Release:        0.2
13 Epoch:          0
14 License:        GPL
15 Group:          System Environment/Base
16 URL:            http://savannah.nongnu.org/projects/util-vserver/
17 Source0:        http://savannah.nongnu.org/download/util-vserver/stable.pkg/%version/%name-%version.tar.bz2
18 BuildRoot:      %_tmppath/%name-%version-%release-root
19 Requires:       init(@PACKAGE@)
20 Requires:       %name-core = %epoch:%version-%release
21 Requires:       %name-lib  = %epoch:%version-%release
22 Requires:       diffutils mktemp sed
23 Provides:       vserver = %epoch:%version-%release
24 Obsoletes:      vserver < %epoch:%version
25 BuildRequires:  mount vconfig gawk iproute
26 BuildRequires:  gcc-c++ wget
27 BuildRequires:  e2fsprogs-devel
28 BuildRequires:  doxygen tetex-latex
29 Requires(post):         %__chattr
30 Requires(pre):          %pkglibdir
31 Requires(postun):       %pkglibdir
32 %{!?_without_dietlibc:BuildRequires:    dietlibc >= 0:0.24}
33 %{!?_without_xalan:BuildRequires:       xalan-j}
34
35 %package lib
36 Summary:                Dynamic libraries for util-vserver
37 Group:                  System Environment/Libraries
38
39 %package core
40 Summary:                The core-utilities for util-vserver
41 Group:                  Applications/System
42 Requires:               util-linux
43
44 %package build
45 Summary:                Tools which can be used to build vservers
46 Group:                  Applications/System
47 Requires:               rpm apt wget binutils tar e2fsprogs
48 Requires:               %name = %epoch:%version-%release
49 Requires(pre):          %confdir
50 Requires(postun):       %confdir
51
52 %package sysv
53 Summary:                SysV-initscripts for vserver
54 Group:                  System Environment/Base
55 Provides:               init(@PACKAGE@)
56 Requires:               make diffutils
57 Requires:               initscripts
58 Requires:               %name = %epoch:%version-%release
59 Requires(post):         %chkconfig
60 Requires(preun):        %chkconfig
61 Requires(pre):          %_initrddir %pkglibdir
62 requires(postun):       %_initrddir %pkglibdir
63
64 %package legacy
65 Summary:                Legacy utilities for util-vserver
66 Group:                  Applications/System
67 Requires:               %name = %epoch:%version-%release
68 Requires(post):         %chkconfig
69 Requires(preun):        %chkconfig
70 Requires(pre):          %_initrddir %pkglibdir
71 requires(postun):       %_initrddir %pkglibdir
72
73 %package devel
74 Summary:                Header-files and libraries which are needed to develop vserver based applications
75 Group:                  Development/Libraries
76 Requires:               pkgconfig
77
78
79 %description
80 This package provides the components and a framework to setup virtual
81 servers.  A virtual server runs inside a linux server. It is nevertheless
82 highly independent. As such, you can run various services with normal
83 configuration. The various vservers can't interact with each other and
84 can't interact with services in the main server.
85
86 This requires a special kernel supporting the new new_s_context and
87 set_ipv4root system call.
88
89 %description lib
90 %description core
91 %description build
92 %description sysv
93 %description legacy
94 %description devel
95
96
97 %prep
98 %setup -q
99
100
101 %build
102 %configure --with-initrddir=%_initrddir --enable-release \
103            %{?_without_dietlibc:--disable-dietlibc}
104
105 %__make %{?_smp_mflags} all
106 %__make %{?_smp_mflags} doc
107
108
109 %install
110 rm -rf $RPM_BUILD_ROOT
111 %__make DESTDIR="$RPM_BUILD_ROOT" install install-distribution
112
113 rm -f $RPM_BUILD_ROOT/%_libdir/*.la
114
115 contrib/make-manifest %name $RPM_BUILD_ROOT contrib/manifest.dat
116
117
118 %check || :
119 %__make check
120
121
122 %clean
123 rm -rf $RPM_BUILD_ROOT
124
125
126 %post
127 f="%confdefaultdir/vdirbase"; test -L "$f" -o -e "$f" || ln -s /vservers             "$f"
128 f="%confdefaultdir/run.rev";  test -L "$f" -o -e "$f" || ln -s /var/run/vservers.rev "$f"
129
130 %__chattr +t /vservers || :
131
132
133 %define v_services      httpd named portmap sendmail smb sshd xinetd gated
134 %post sysv
135 %chkconfig --add vservers-default
136 %chkconfig --add vprocunhide
137
138 for i in %v_services; do
139         %chkconfig --add v_$i
140 done
141
142
143 %preun sysv
144 test "$1" != 0 || for i in %v_services; do
145         %chkconfig --del v_$i
146 done
147
148 test "$1" != 0 || %_initrddir/vprocunhide stop &>/dev/null || :
149
150 test "$1" != 0 || %chkconfig --del vprocunhide
151 test "$1" != 0 || %chkconfig --del vservers-default
152
153
154 %postun sysv
155 test "$1" = 0  || %_initrddir/vprocunhide condrestart >/dev/null || :
156
157
158 %post   lib -p /sbin/ldconfig
159 %postun lib -p /sbin/ldconfig
160
161
162 %post legacy
163 %chkconfig --add rebootmgr
164 %chkconfig --add vservers-legacy
165
166 %preun legacy
167 test "$1" != 0 || %_initrddir/rebootmgr   stop &>/dev/null || :
168
169 test "$1" != 0 || %chkconfig --del rebootmgr
170 test "$1" != 0 || %chkconfig --del vservers-legacy
171
172 %postun legacy
173 test "$1" = 0  || %_initrddir/rebootmgr   condrestart >/dev/null || :
174
175
176 %files -f %name-base.list
177 %defattr(-,root,root,-)
178 %doc AUTHORS COPYING ChangeLog NEWS README THANKS
179 %doc doc/*.html doc/*.css
180 /sbin/vshelper
181 %dir %confdir
182 %dir %confdefaultdir
183 %dir %confdefaultdir/apps
184 %dir %confdefaultdir/files
185 %dir %pkglibdir/defaults
186 %ghost %confdefaultdir/vdirbase
187 %ghost %confdefaultdir/run.rev
188
189 %attr(000,root,root) %dir /vservers/.pkg
190 %attr(000,root,root) %dir /vservers
191
192 %dir /var/run/vservers
193 %dir /var/run/vservers.rev
194 %dir /var/run/vshelper
195
196
197 %files lib -f %name-lib.list
198 %files sysv -f %name-sysv.list
199
200
201 %files core -f %name-core.list
202 %defattr(-,root,root,-)
203 %dir %pkglibdir
204
205
206 %files build -f %name-build.list
207 %defattr(-,root,root,-)
208 %dir %confdir/.distributions
209 %dir %confdir/.distributions/*
210 %dir %confdir/.distributions/*/apt
211
212
213 %files legacy -f %name-legacy.list
214 %defattr(-,root,root,-)
215 %dir %pkglibdir/legacy
216
217
218 %files devel -f %name-devel.list
219 %defattr(-,root,root,-)
220 %doc lib/apidoc/latex/refman.pdf
221 %doc lib/apidoc/html
222
223
224 %changelog
225 * Mon Mar 15 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.29.202-0
226 - use file-list for sysv scripts also
227
228 * Sat Mar  6 2004 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.29.198-0
229 - added vprocunhide-service support
230 - added doxygen support
231 - updated Requires:
232
233 * Wed Oct  1 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> - 0:0.23.5-0
234 - Initial build.