]>
Commit | Line | Data |
---|---|---|
90b60b35 ER |
1 | --- util-vserver-0.30.214/distrib/Makefile.am 2008-03-25 22:59:35.515771366 +0200 |
2 | +++ util-vserver-0.30.214/distrib/Makefile.am 2008-03-25 23:22:53.714374272 +0200 | |
61c3106d ER |
3 | @@ -42,6 +42,7 @@ |
4 | defaults/apt.conf \ | |
5 | defaults/rpm/macros \ | |
6 | defaults/apt/apt.conf \ | |
7 | + defaults/poldek/poldek.conf \ | |
8 | template/initpost template/initpre \ | |
9 | rh9/apt/rpmpriorities rh9/pkgs/01 rh9/pkgs/02 \ | |
10 | fc1/apt/rpmpriorities fc1/pkgs/01 fc1/pkgs/02 \ | |
11 | @@ -73,7 +74,10 @@ | |
67457f13 | 12 | breezy/debootstrap.script dapper/debootstrap.script \ |
13 | edgy/debootstrap.script feisty/debootstrap.script \ | |
14 | gutsy/debootstrap.script hoary/debootstrap.script \ | |
15 | - warty/debootstrap.script | |
16 | + warty/debootstrap.script \ | |
17 | + pld-ac/pkgs/01 pld-ac/rpm/macros \ | |
21e9a651 | 18 | + pld-th/pkgs/01 pld-th/rpm/macros \ |
90b60b35 | 19 | + pld-ti/pkgs/01 pld-ti/rpm/macros |
e7229914 JR |
20 | |
21 | nobase_confdistrib_DATA = rh9/apt/sources.list \ | |
22 | fc1/apt/sources.list \ | |
90b60b35 | 23 | @@ -83,7 +87,10 @@ |
fe9ea50c | 24 | fc5/apt/sources.list \ |
25 | fc6/apt/sources.list \ | |
67457f13 | 26 | f7/apt/sources.list \ |
4fadbbef JR |
27 | - suse91/apt/sources.list |
28 | + suse91/apt/sources.list \ | |
61c3106d ER |
29 | + pld-ac/poldek/repos.d/pld.conf \ |
30 | + pld-th/poldek/repos.d/pld.conf \ | |
90b60b35 | 31 | + pld-ti/poldek/repos.d/pld.conf |
4fadbbef JR |
32 | |
33 | AM_INSTALLCHECK_STD_OPTIONS_EXEMPT \ | |
34 | = $(nobase_distrib_SCRIPTS) | |
ae968e03 ER |
35 | --- /dev/null 2007-11-07 17:05:30.000000000 +0200 |
36 | +++ util-vserver-0.30.214/distrib/defaults/poldek/poldek.conf 2008-03-25 19:36:58.721331962 +0200 | |
37 | @@ -0,0 +1,11 @@ | |
38 | +# poldek configuration file. | |
39 | + | |
40 | +%includedir repos.d | |
41 | + | |
42 | +[global] | |
43 | +particle install = no | |
44 | +choose equivalents manually = yes | |
45 | +unique package names = yes | |
46 | + | |
47 | +#hold = | |
48 | +ignore = kernel* udev devfs | |
9a398558 ER |
49 | --- util-vserver-0.30.214/distrib/pld-ac/pkgs/01 2007-11-15 23:20:48.181172125 +0100 |
50 | +++ util-vserver-0.30.214/distrib/pld-ac/pkgs/01 2008-03-25 23:05:18.538916218 +0200 | |
51 | @@ -0,0 +1,6 @@ | |
452506e7 | 52 | +basesystem |
9a398558 ER |
53 | +filesystem |
54 | +glibc-misc | |
4e5a2018 | 55 | +issue |
f5f1d176 | 56 | +rpm-base |
34158836 | 57 | +vserver-packages |
f0b1d0c6 ER |
58 | --- util-vserver-0.30.214/distrib/pld-ac/poldek/repos.d/pld.conf 2007-11-15 23:20:48.181172125 +0100 |
59 | +++ util-vserver-0.30.214/distrib/pld-ac/poldek/repos.d/pld.conf 2008-03-25 20:34:12.000000000 +0200 | |
60 | @@ -0,0 +1,56 @@ | |
4fadbbef | 61 | +# $Id$ |
f0b1d0c6 | 62 | +# PLD Linux Distribution <http://www.pld-linux.org/>. |
4fadbbef | 63 | + |
f0b1d0c6 | 64 | +# specify our packages architecture |
4fadbbef | 65 | +_pld_arch = %ARCH% |
f0b1d0c6 ER |
66 | + |
67 | +# main PLD-site for often changed things: | |
68 | +_pld_main_prefix = ftp://ftp.ac.pld-linux.org/dists/ac | |
69 | + | |
4fadbbef JR |
70 | +## Some mirrors |
71 | +## You can use them if you have better connection there | |
72 | +# CI TASK: | |
73 | +#_pld_prefix = ftp://ftp.task.pld-linux.org/dists/ac | |
f0b1d0c6 ER |
74 | +#_pld_prefix = %{_pld_main_prefix} |
75 | +_pld_prefix = %{_pld_main_prefix} | |
4fadbbef JR |
76 | + |
77 | +_ac_idxtype = pndir | |
78 | + | |
79 | +# PLD 2.0 (Ac) | |
80 | +[source] | |
f0b1d0c6 ER |
81 | +type = %{_ac_idxtype} |
82 | +name = ac | |
83 | +path = %{_pld_prefix}/PLD/%{_pld_arch}/PLD/RPMS/ | |
84 | +signed = yes | |
85 | +# buggy deps -- use one from updates instead | |
86 | +ignore = msmtp-sendmail* | |
87 | +pri = 1 | |
4fadbbef JR |
88 | + |
89 | +[source] | |
f0b1d0c6 ER |
90 | +type = %{_ac_idxtype} |
91 | +name = ac-updates | |
92 | +path = %{_pld_prefix}/updates/%{_pld_arch}/ | |
93 | +signed = yes | |
94 | +pri = 1 | |
4fadbbef JR |
95 | + |
96 | +[source] | |
f0b1d0c6 ER |
97 | +type = %{_ac_idxtype} |
98 | +name = ac-supported | |
99 | +path = %{_pld_prefix}/supported/%{_pld_arch}/ | |
100 | +auto = no | |
101 | +autoup = no | |
102 | +signed = yes | |
4fadbbef JR |
103 | + |
104 | +[source] | |
f0b1d0c6 ER |
105 | +type = %{_ac_idxtype} |
106 | +name = ac-ready | |
107 | +path = %{_pld_main_prefix}/ready/%{_pld_arch}/ | |
108 | +auto = no | |
109 | +autoup = no | |
4fadbbef JR |
110 | + |
111 | +[source] | |
f0b1d0c6 ER |
112 | +type = %{_ac_idxtype} |
113 | +name = ac-test | |
114 | +path = %{_pld_main_prefix}/test/%{_pld_arch}/ | |
115 | +auto = no | |
116 | +autoup = no | |
521e98dd AM |
117 | --- util-vserver-0.30.214.org/distrib/pld-ac/rpm/macros 1970-01-01 01:00:00.000000000 +0100 |
118 | +++ util-vserver-0.30.214/distrib/pld-ac/rpm/macros 2007-11-15 23:20:48.181172125 +0100 | |
909684f7 AM |
119 | @@ -0,0 +1,4 @@ |
120 | +# Because of https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=52725 | |
121 | +# you have to use at least one language beside 'C' | |
122 | +%_install_langs C:en:pl | |
123 | +%_netsharedpath /dev | |
9a398558 ER |
124 | --- util-vserver-0.30.214/distrib/pld-th/pkgs/01 2007-11-15 23:20:48.181172125 +0100 |
125 | +++ util-vserver-0.30.214/distrib/pld-th/pkgs/01 2008-03-25 23:05:18.538916218 +0200 | |
126 | @@ -0,0 +1,6 @@ | |
909684f7 | 127 | +basesystem |
9a398558 ER |
128 | +filesystem |
129 | +glibc-misc | |
909684f7 AM |
130 | +issue |
131 | +rpm-base | |
132 | +vserver-packages | |
61c3106d ER |
133 | --- util-vserver-0.30.214.org/distrib/pld-th/poldek/repos.d/pld.conf 1970-01-01 01:00:00.000000000 +0100 |
134 | +++ util-vserver-0.30.214/distrib/pld-th/poldek/repos.d/pld.conf 2007-11-15 23:20:48.181172125 +0100 | |
909684f7 AM |
135 | @@ -0,0 +1,51 @@ |
136 | +# PLD <http://www.pld-linux.org/> | |
137 | + | |
138 | +_pld_arch = %ARCH% | |
139 | +_pld_prefix = ftp://ftp.th.pld-linux.org/dists/th | |
140 | +## Some mirrors | |
141 | +## You can use them if you have better connection there | |
142 | +# CI TASK: | |
143 | +#_pld_prefix = ftp://ftp.task.pld-linux.org/dists/th | |
144 | + | |
145 | + | |
146 | +_th_idxtype = pndir | |
147 | + | |
148 | +# PLD 3.0 (Th) | |
149 | +[source] | |
150 | +type = %{_th_idxtype} | |
151 | +name = th | |
152 | +path = %{_pld_prefix}/PLD/%{_pld_arch}/RPMS/ | |
153 | + | |
154 | +[source] | |
155 | +type = %{_th_idxtype} | |
156 | +name = th | |
157 | +path = %{_pld_prefix}/PLD/noarch/RPMS/ | |
158 | + | |
159 | +[source] | |
160 | +type = %{_th_idxtype} | |
161 | +name = th-updates-security | |
162 | +path = %{_pld_prefix}/updates-security/%{_pld_arch}/RPMS/ | |
163 | + | |
164 | +[source] | |
165 | +type = %{_th_idxtype} | |
166 | +name = th-updates-general | |
167 | +path = %{_pld_prefix}/updates-general/%{_pld_arch}/RPMS/ | |
168 | +noauto = yes | |
169 | + | |
170 | +#[source] | |
171 | +#type = %{_th_idxtype} | |
172 | +#name = th-supported | |
173 | +#path = %{_pld_prefix}/supported/%{_pld_arch}/RPMS/ | |
174 | +#noauto = yes | |
175 | + | |
176 | +[source] | |
177 | +type = %{_th_idxtype} | |
178 | +name = th-ready | |
179 | +path = %{_pld_prefix}/ready/%{_pld_arch}/RPMS/ | |
180 | +noauto = yes | |
181 | + | |
182 | +[source] | |
183 | +type = %{_th_idxtype} | |
184 | +name = th-test | |
185 | +path = %{_pld_prefix}/test/%{_pld_arch}/RPMS/ | |
186 | +noauto = yes | |
521e98dd AM |
187 | --- util-vserver-0.30.214.org/distrib/pld-th/rpm/macros 1970-01-01 01:00:00.000000000 +0100 |
188 | +++ util-vserver-0.30.214/distrib/pld-th/rpm/macros 2007-11-15 23:20:48.184505622 +0100 | |
d7090917 | 189 | @@ -0,0 +1,4 @@ |
e7229914 JR |
190 | +# Because of https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=52725 |
191 | +# you have to use at least one language beside 'C' | |
192 | +%_install_langs C:en:pl | |
d7090917 | 193 | +%_netsharedpath /dev |
9a398558 ER |
194 | --- util-vserver-0.30.214/distrib/pld-ti/pkgs/01 2007-11-15 23:20:48.181172125 +0100 |
195 | +++ util-vserver-0.30.214/distrib/pld-ti/pkgs/01 2008-03-25 23:05:18.538916218 +0200 | |
196 | @@ -0,0 +1,6 @@ | |
21e9a651 | 197 | +basesystem |
9a398558 ER |
198 | +filesystem |
199 | +glibc-misc | |
21e9a651 | 200 | +issue |
201 | +rpm-base | |
202 | +vserver-packages | |
61c3106d ER |
203 | --- util-vserver-0.30.214.org/distrib/pld-ti/poldek/repos.d/pld.conf 1970-01-01 01:00:00.000000000 +0100 |
204 | +++ util-vserver-0.30.214/distrib/pld-ti/poldek/repos.d/pld.conf 2007-11-15 23:20:48.217840583 +0100 | |
21e9a651 | 205 | @@ -0,0 +1,46 @@ |
206 | +# PLD Titanium | |
207 | +# Unofficial version of PLD Linux Distribution | |
208 | +# http://www.pld-linux.org/Titanium | |
209 | + | |
210 | +_arch = %ARCH% | |
211 | +_prefix = ftp://ftp.titanium.pld-linux.org/branches/titanium | |
212 | + | |
213 | +_type = pndir | |
214 | + | |
215 | +[source] | |
216 | +type = %{_type} | |
217 | +name = titanium | |
218 | +path = %{_prefix}/PLD/%{_arch}/RPMS/ | |
219 | + | |
220 | +[source] | |
221 | +type = %{_type} | |
222 | +name = titanium | |
223 | +path = %{_prefix}/PLD/noarch/RPMS/ | |
224 | + | |
225 | +[source] | |
226 | +type = %{_type} | |
227 | +name = titanium-ready | |
228 | +path = %{_prefix}/ready/%{_arch}/RPMS/ | |
229 | +auto = no | |
230 | +autoup = no | |
231 | + | |
232 | +[source] | |
233 | +type = %{_type} | |
234 | +name = titanium-ready | |
235 | +path = %{_prefix}/ready/noarch/RPMS/ | |
236 | +auto = no | |
237 | +autoup = no | |
238 | + | |
239 | +[source] | |
240 | +type = %{_type} | |
241 | +name = titanium-test | |
242 | +path = %{_prefix}/test/%{_arch}/RPMS/ | |
243 | +auto = no | |
244 | +autoup = no | |
245 | + | |
246 | +[source] | |
247 | +type = %{_type} | |
248 | +name = titanium-test | |
249 | +path = %{_prefix}/test/noarch/RPMS/ | |
250 | +auto = no | |
251 | +autoup = no | |
521e98dd AM |
252 | --- util-vserver-0.30.214.org/distrib/pld-ti/rpm/macros 1970-01-01 01:00:00.000000000 +0100 |
253 | +++ util-vserver-0.30.214/distrib/pld-ti/rpm/macros 2007-11-15 23:20:48.221174080 +0100 | |
21e9a651 | 254 | @@ -0,0 +1,4 @@ |
255 | +# Because of https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=52725 | |
256 | +# you have to use at least one language beside 'C' | |
257 | +%_install_langs C:en:pl | |
258 | +%_netsharedpath /dev | |
521e98dd AM |
259 | --- util-vserver-0.30.214.org/scripts/functions 2007-09-02 22:06:41.000000000 +0200 |
260 | +++ util-vserver-0.30.214/scripts/functions 2007-11-15 23:20:48.221174080 +0100 | |
21e9a651 | 261 | @@ -403,6 +403,20 @@ |
4fadbbef JR |
262 | fi |
263 | } | |
264 | ||
265 | +function _pkgSetVarsPoldek | |
266 | +{ | |
267 | + if test -n "$PKGDIR"; then | |
268 | + findDir POLDEKETCDIR $PKGDIR/poldeketc $PKGDIR/base/poldek/etc /etc/poldek | |
269 | + findDir POLDEKCACHEDIR $PKGDIR/poldek-cache $PKGDIR/base/poldek/cache | |
270 | + else | |
271 | + findDir POLDEKETCDIR "$VDIR"/etc/poldek /etc/poldek | |
272 | + findDir POLDEKCACHEDIR "$VDIR"/var/tmp/poldek-cache | |
273 | + fi | |
274 | + | |
275 | + findFile POLDEK_CONFIG "$POLDEKETCDIR"/poldek.conf "" | |
276 | + test -z "$POLDEK_CONFIG" || export POLDEK_CONFIG | |
277 | +} | |
278 | + | |
279 | ||
280 | function _pkgMountBase | |
281 | { | |
21e9a651 | 282 | @@ -476,6 +490,7 @@ |
4fadbbef JR |
283 | rpm) _pkgSetVarsRPM;; |
284 | apt) _pkgSetVarsApt;; | |
285 | yum) _pkgSetVarsYum;; | |
286 | + poldek) _pkgSetVarsPoldek;; | |
287 | *) echo "Unknown packaging flavor" >&2; exit 1;; | |
288 | esac | |
289 | done | |
21e9a651 | 290 | @@ -764,6 +779,8 @@ |
4e5a2018 JR |
291 | style=redhat |
292 | elif test -e "$_pgs_vdir"/etc/mandrake-release; then | |
293 | style=mandrake | |
294 | + elif test -e "$_pgs_vdir"/etc/pld-release; then | |
295 | + style=pld | |
296 | elif test -e "$_pgs_vdir"/etc/debian_version; then | |
297 | style=debian | |
298 | elif test -e "$_pgs_vdir"/etc/SuSE-release; then | |
21e9a651 | 299 | @@ -831,6 +848,27 @@ |
4fadbbef JR |
300 | test -n "$have_yum" && return 0 || return 1 |
301 | } | |
302 | ||
303 | +## Usage: pkgmgmt.isPoldekAvailable <cfgdir> <vdir> [<is-internal>] | |
304 | +function pkgmgmt.isPoldekAvailable | |
305 | +{ | |
306 | + local cfgdir="$1" | |
307 | + local vdir="$2" | |
308 | + local is_internal="$3" | |
309 | + | |
310 | + local have_poldek i | |
311 | + if test -n "$is_internal"; then | |
312 | + have_poldek=1 | |
313 | + test -d "$cfgdir"/base/poldek -o -d "$cfgdir"/poldeketc || have_poldek= | |
314 | + else | |
315 | + have_poldek= | |
316 | + for i in /bin /usr/bin /usr/local/bin; do | |
317 | + test ! -x "$vdir$i"/poldek || { have_poldek=1; break; } | |
318 | + done | |
319 | + fi | |
320 | + | |
321 | + test -n "$have_poldek" && return 0 || return 1 | |
322 | +} | |
323 | + | |
324 | ||
325 | function vshelper.doSanityCheck | |
326 | { | |
521e98dd AM |
327 | --- util-vserver-0.30.214.org/scripts/Makefile-files 2007-09-02 22:06:41.000000000 +0200 |
328 | +++ util-vserver-0.30.214/scripts/Makefile-files 2007-11-15 23:20:48.221174080 +0100 | |
909684f7 | 329 | @@ -21,6 +21,7 @@ |
fe9ea50c | 330 | scripts/vapt-get-worker \ |
331 | scripts/vrpm-worker \ | |
332 | scripts/vyum-worker \ | |
333 | + scripts/vpoldek-worker \ | |
334 | scripts/vrpm-preload \ | |
335 | scripts/save_s_context \ | |
336 | scripts/vservers.grabinfo.sh \ | |
909684f7 | 337 | @@ -47,11 +48,13 @@ |
fe9ea50c | 338 | scripts/vserver-build.template \ |
339 | scripts/vserver-build.rsync \ | |
893c90d5 | 340 | scripts/vserver-build.clone \ |
fe9ea50c | 341 | + scripts/vserver-build.poldek \ |
342 | scripts/vserver-build.functions \ | |
343 | scripts/vserver-build.functions.apt \ | |
344 | scripts/vserver-build.functions.rpm \ | |
345 | scripts/vserver-build.functions.pkgmgmt \ | |
346 | scripts/vserver-build.functions.yum \ | |
347 | + scripts/vserver-build.functions.poldek \ | |
348 | scripts/vserver-setup.functions \ | |
349 | scripts/vserver.functions \ | |
350 | scripts/vserver.start \ | |
21e9a651 | 351 | @@ -65,6 +68,7 @@ |
fe9ea50c | 352 | scripts_pkglib_src_SCRPTS = scripts/pkgmgmt \ |
353 | scripts/vapt-get-worker \ | |
354 | scripts/vpkg \ | |
355 | + scripts/vpoldek-worker \ | |
356 | scripts/vrpm-worker \ | |
357 | scripts/vrpm-preload \ | |
358 | scripts/start-vservers \ | |
21e9a651 | 359 | @@ -88,6 +92,7 @@ |
fe9ea50c | 360 | scripts_sbin_src_PRGS = scripts/chbind \ |
361 | scripts/chcontext \ | |
362 | scripts/vapt-get \ | |
363 | + scripts/vpoldek \ | |
364 | scripts/vdispatch-conf \ | |
365 | scripts/vemerge \ | |
366 | scripts/vesync \ | |
521e98dd AM |
367 | --- util-vserver-0.30.214.org/scripts/pkgmgmt 2007-09-02 22:06:41.000000000 +0200 |
368 | +++ util-vserver-0.30.214/scripts/pkgmgmt 2007-11-15 23:20:48.221174080 +0100 | |
909684f7 | 369 | @@ -195,7 +195,7 @@ |
4fadbbef JR |
370 | " |
371 | ||
372 | case $2 in | |
373 | - (RH) pkgs=$(vrpm "$1" -- -q --qf '---%{NAME}---\n' rpm apt yum "${YUM_RELEASEPKGS[@]}") | |
374 | + (RH) pkgs=$(vrpm "$1" -- -q --qf '---%{NAME}---\n' rpm apt yum poldek "${YUM_RELEASEPKGS[@]}") | |
375 | hasSubstring "$pkgs" ---rpm--- || { | |
376 | warning "$ERR | |
377 | * The vserver does not seem to have the 'rpm' package which is required | |
909684f7 | 378 | @@ -205,9 +205,9 @@ |
4fadbbef JR |
379 | ERR= |
380 | } | |
381 | ||
382 | - hasSubstring "$pkgs" ---apt--- ---yum--- || { | |
383 | + hasSubstring "$pkgs" ---apt--- ---yum--- ---poldek--- || { | |
384 | warning "$ERR | |
385 | -* The vserver does not seem to have a depsolver like 'apt' or 'yum' | |
386 | +* The vserver does not seem to have a depsolver like 'apt', 'yum' or 'poldek' | |
387 | installed. It is suggested to install such a program before setting | |
388 | up internal package management." | |
389 | res=1 | |
909684f7 | 390 | @@ -368,6 +368,131 @@ |
4fadbbef JR |
391 | fi |
392 | } | |
393 | ||
394 | +function processVserver_PLD() | |
395 | +{ | |
396 | + local vserver=$1 | |
397 | + local is_internalize=$2 | |
398 | + local cfgdir | |
399 | + local i | |
400 | + | |
401 | + cfgdir=$($_VSERVER_INFO "$vserver" APPDIR pkgmgmt) || \ | |
402 | + cfgdir=$($_VSERVER_INFO "$vserver" APPDIR)/pkgmgmt | |
403 | + | |
404 | + ## Figure out the environment.... | |
405 | + pkgmgmt.isPoldekAvailable "$cfgdir" "$vdir" "$is_internalize" || have_poldek= | |
406 | + | |
407 | + local POLDEKETCDIR= | |
408 | + local POLDEKCACHEDIR= | |
409 | + local RPMETCDIR= | |
410 | + local RPMSTATEDIR= | |
411 | + | |
412 | + ## Create directories and assign variables where configuration | |
413 | + ## can/will be found on the host | |
414 | + if test -n "$is_internalize"; then | |
415 | + verifyInternalPackages "$vserver" RH || test -n "$IS_FORCE" || | |
416 | + panic " | |
417 | +Can not continue; use '--force' to override this check" | |
418 | + | |
419 | + pushd "$vdir" >/dev/null | |
420 | + | |
421 | + test ! -L var/lib/rpm || { | |
422 | + $_EXEC_CD /var/lib $_RM rpm && | |
423 | + $_EXEC_CD /var/lib $_MKDIR -m755 rpm && | |
424 | + $_EXEC_CD /var/lib $_CHOWN rpm:rpm rpm || | |
425 | + : | |
426 | + } </dev/null 2>/dev/null | |
427 | + | |
428 | + for i in var/tmp/poldek-cache etc/rpm etc/poldek; do | |
429 | + test -d "$i" || | |
430 | + $_EXEC_CD /$(dirname "$i") $_MKDIR -m755 $(basename "$i") || : | |
431 | + done #2>/dev/null | |
432 | + | |
433 | + popd >/dev/null | |
434 | + | |
435 | + if test -n "$have_poldek"; then | |
436 | + findDir POLDEKETCDIR "$cfgdir"/poldeketc "$cfgdir"/base/poldek/etc /etc/poldek | |
437 | + fi | |
438 | + | |
439 | + findDir RPMETCDIR "$cfgdir"/rpmetc "$cfgdir"/base/rpm/etc /etc/rpm / | |
440 | + findDir RPMSTATEDIR "$cfgdir"/rpmstate "$cfgdir"/base/rpm/state | |
441 | + else | |
442 | + mkdir -m755 -p "$cfgdir" | |
443 | + local need_base= | |
444 | + | |
445 | + if test -n "$have_poldek"; then | |
446 | + findDir POLDEKETCDIR "$cfgdir"/poldeketc "$cfgdir"/base/poldek/etc / | |
447 | + findDir POLDEKCACHEDIR "$cfgdir"/poldek-cache "$cfgdir"/base/poldek/cache / | |
448 | + | |
449 | + test "$POLDEKETCDIR" != / || POLDEKETCDIR=$cfgdir/base/poldek/etc | |
450 | + test "$POLDEKCACHEDIR" != / || POLDEKCACHEDIR=$cfgdir/base/poldek/cache | |
451 | + | |
452 | + test -d "$cfgdir"/poldeketc -a -d "$cfgdir"/poldek-cache || need_base=1 | |
453 | + fi | |
454 | + | |
455 | + findDir RPMETCDIR "$cfgdir"/rpmetc "$cfgdir"/base/rpm/etc / | |
456 | + findDir RPMSTATEDIR "$cfgdir"/rpmstate "$cfgdir"/base/rpm/state / | |
457 | + | |
458 | + test "$RPMETCDIR" != / || RPMETCDIR=$cfgdir/base/rpm/etc | |
459 | + test "$RPMSTATEDIR" != / || RPMSTATEDIR=$cfgdir/base/rpm/state | |
460 | + | |
461 | + test -d "$cfgdir"/rpmetc -a -d "$cfgdir"/rpmstate || need_base=1 | |
462 | + test ! -e "$cfgdir"/base || need_base= | |
463 | + | |
464 | + test -z "$need_base" || ln -s "$PKGCFGDIR" "$cfgdir"/base | |
465 | + | |
466 | + mkdir -m755 -p "$PKGCFGDIR" | |
467 | + _createDirs "$POLDEKETCDIR" "$POLDEKCACHEDIR" \ | |
468 | + "$RPMETCDIR" "$RPMSTATEDIR" | |
469 | + fi | |
470 | + | |
471 | + ## Copy the files... | |
472 | + if test -n "$is_internalize"; then | |
473 | + if test -n "$have_poldek"; then | |
474 | + _copySecure "$vdir" "$POLDEKETCDIR" /etc/poldek | |
475 | + pushd "$vdir" >/dev/null | |
476 | + _hashAuto /etc/poldek.conf '/' | |
477 | + popd >/dev/null | |
478 | + fi | |
479 | + | |
480 | + _copySecure "$vdir" "$RPMETCDIR" /etc/rpm | |
481 | + _copySecure "$vdir" "$RPMSTATEDIR" /var/lib/rpm | |
482 | + | |
483 | + pushd "$vdir" >/dev/null | |
484 | + ## remove %_dbpath settings | |
485 | + _substFile /etc/rpm/macros '/^%_dbpath[ \t].*/D' | |
486 | + popd >/dev/null | |
487 | + else | |
488 | + if test -n "$have_poldek"; then | |
489 | + _copySecureRev "$vdir" /etc/poldek "$POLDEKETCDIR" | |
490 | + _unhashAuto "$POLDEKETCDIR"/poldek.conf '/' | |
491 | + fi | |
492 | + | |
493 | + _copySecureRev "$vdir" /etc/rpm "$RPMETCDIR" | |
494 | + _copySecureRev "$vdir" /var/lib/rpm "$RPMSTATEDIR" | |
495 | + | |
496 | + echo -e "%_dbpath\t\t$rpmdb_mntpoint" >>$RPMETCDIR/macros | |
497 | + fi | |
498 | + | |
499 | + ## Cleanups... | |
500 | + if test -n "$is_internalize"; then | |
501 | + : | |
502 | + else | |
8d5b8ef9 | 503 | + tmpdir=$($_MKTEMPDIR -p /var/tmp pgmgmt.XXXXXX) |
4fadbbef JR |
504 | + trap "$_RM -rf $tmpdir" EXIT |
505 | + pushd "$vdir" >/dev/null | |
506 | + $_EXEC_CD /var/lib $_MV rpm $tmpdir/ | |
507 | + $_EXEC_CD /var/lib $_LN_S "$rpmdb_mntpoint" rpm | |
508 | + $_RM -rf $tmpdir | |
509 | + fi | |
510 | + | |
511 | + ## Finish it... | |
512 | + if test -n "$is_internalize"; then | |
513 | + $_TOUCH "$cfgdir"/internal | |
514 | + else | |
515 | + $_RM -f "$cfgdir"/internal | |
516 | + fi | |
517 | +} | |
518 | + | |
519 | function processVserver_Debian() | |
520 | { | |
521 | local vserver=$1 | |
21e9a651 | 522 | @@ -422,6 +547,7 @@ |
4fadbbef JR |
523 | |
524 | case "$style" in | |
525 | (redhat|mandrake) processVserver_RH "$vserver" "$IS_INTERNALIZE";; | |
526 | + (pld) processVserver_PLD "$vserver" "$IS_INTERNALIZE";; | |
527 | (debian) processVserver_Debian "$vserver" "$IS_INTERNALIZE";; | |
528 | (*) | |
529 | echo $"Vserver style '$style' is not supported for packagemanagment" >&2 | |
521e98dd AM |
530 | --- util-vserver-0.30.214.org/scripts/util-vserver-vars.pathsubst 2007-09-02 22:06:41.000000000 +0200 |
531 | +++ util-vserver-0.30.214/scripts/util-vserver-vars.pathsubst 2007-11-15 23:20:48.221174080 +0100 | |
21e9a651 | 532 | @@ -53,6 +53,7 @@ |
4fadbbef JR |
533 | _LIB_VSERVER_BUILD_FUNCTIONS_RPM="$__PKGLIBDIR/vserver-build.functions.rpm" |
534 | _LIB_VSERVER_BUILD_FUNCTIONS_YUM="$__PKGLIBDIR/vserver-build.functions.yum" | |
535 | _LIB_VSERVER_BUILD_FUNCTIONS_PKGMGMT="$__PKGLIBDIR/vserver-build.functions.pkgmgmt" | |
536 | +_LIB_VSERVER_BUILD_FUNCTIONS_POLDEK="$__PKGLIBDIR/vserver-build.functions.poldek" | |
537 | _LISTDEVIP="$__LEGACYDIR/listdevip" | |
538 | _LOCKFILE="$__PKGLIBDIR/lockfile" | |
539 | _MASK2PREFIX="$__PKGLIBDIR/mask2prefix" | |
21e9a651 | 540 | @@ -105,6 +106,8 @@ |
4fadbbef JR |
541 | _VUNIFY="$__PKGLIBDIR/vunify" |
542 | _VYUM="$__SBINDIR/vyum" | |
543 | _VYUM_WORKER="$__PKGLIBDIR/vyum-worker" | |
544 | +_VPOLDEK="$__SBINDIR/vpoldek" | |
545 | +_VPOLDEK_WORKER="$__PKGLIBDIR/vpoldek-worker" | |
546 | ||
547 | _AWK="@AWK@" | |
fe9ea50c | 548 | _BZIP2="@BZIP2@" |
521e98dd AM |
549 | --- util-vserver-0.30.214.org/scripts/vpkg 2007-09-02 22:06:41.000000000 +0200 |
550 | +++ util-vserver-0.30.214/scripts/vpkg 2007-11-15 23:20:48.221174080 +0100 | |
909684f7 | 551 | @@ -115,6 +115,44 @@ |
4e5a2018 JR |
552 | fi |
553 | fi | |
554 | ;; | |
555 | + (pld) | |
556 | + rpm_param= | |
557 | + poldek_param= | |
558 | + case "$tag" in | |
559 | + ## rpm outputs sometimes '(contains no files)', so return | |
560 | + ## only the valid output | |
561 | + (get-conffiles) | |
562 | + rpm_param=( -qac --pipe "$_SED '\!^/!p;d'" );; | |
563 | + (install) | |
564 | + rpm_param=( -Uvh "$@" ) | |
565 | + poldek_param=( --install -v "$@" ) | |
566 | + ;; | |
567 | + esac | |
568 | + | |
569 | + if test -n "$is_external"; then | |
570 | + have_poldek=1 | |
571 | + test -d "$cfgdir"/base/poldek -o -d "$cfgdir"/poldeketc || have_poldek= | |
572 | + else | |
573 | + have_poldek= | |
574 | + for i in /bin /usr/bin /usr/local/bin; do | |
575 | + test ! -x "$vdir$i"/poldek || { have_poldek=1; break; } | |
576 | + done | |
577 | + fi | |
578 | + | |
579 | + if test -n "$is_external"; then | |
580 | + if test "$have_poldek" -a "$poldek_param"; then | |
581 | + cmd=( "$_VPOLDEK" "$vserver" -- "${poldek_param[@]}" ) | |
582 | + else | |
583 | + cmd=( "$_VRPM" "$vserver" -- "${rpm_param[@]}" ) | |
584 | + fi | |
585 | + else | |
586 | + if test "$have_poldek" -a "$poldek_param"; then | |
587 | + cmd=( "$_VSERVER" --silent "$vserver" exec poldek "${poldek_param[@]}" ) | |
588 | + else | |
589 | + cmd=( "$_VSERVER" --silent "$vserver" exec rpm "${rpm_param[@]}" ) | |
590 | + fi | |
591 | + fi | |
592 | + ;; | |
593 | (debian) | |
594 | case "$tag" in | |
595 | (get-conffiles) | |
521e98dd AM |
596 | --- util-vserver-0.30.214.org/scripts/vpoldek 1970-01-01 01:00:00.000000000 +0100 |
597 | +++ util-vserver-0.30.214/scripts/vpoldek 2007-11-15 22:00:24.000000000 +0100 | |
598 | @@ -0,0 +1,74 @@ | |
4fadbbef JR |
599 | +#! /bin/bash |
600 | +# $Id$ | |
601 | + | |
521e98dd | 602 | +# Copyright (C) 2007 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> |
4fadbbef JR |
603 | +# |
604 | +# This program is free software; you can redistribute it and/or modify | |
605 | +# it under the terms of the GNU General Public License as published by | |
606 | +# the Free Software Foundation; version 2 of the License. | |
607 | +# | |
608 | +# This program is distributed in the hope that it will be useful, | |
609 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of | |
610 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
611 | +# GNU General Public License for more details. | |
612 | +# | |
613 | +# You should have received a copy of the GNU General Public License | |
614 | +# along with this program; if not, write to the Free Software | |
615 | +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
616 | + | |
617 | +: ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars} | |
618 | +test -e "$UTIL_VSERVER_VARS" || { | |
619 | + echo $"Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2 | |
620 | + exit 1 | |
621 | +} | |
622 | +. "$UTIL_VSERVER_VARS" | |
623 | +. "$_LIB_FUNCTIONS" | |
624 | + | |
625 | + | |
626 | +function showHelp() | |
627 | +{ | |
628 | + echo \ | |
629 | +$"Usage: $0 <vserver-name>* [--all] -- <params>+ | |
630 | + | |
631 | +Report bugs to <$PACKAGE_BUGREPORT>." | |
632 | + exit 0 | |
633 | +} | |
634 | + | |
635 | +function showVersion() | |
636 | +{ | |
637 | + echo \ | |
638 | +$"vpoldek $PACKAGE_VERSION -- poldek for vservers | |
639 | +This program is part of $PACKAGE_STRING | |
640 | + | |
521e98dd | 641 | +Copyright (C) 2007 Enrico Scholz |
4fadbbef JR |
642 | +This program is free software; you may redistribute it under the terms of |
643 | +the GNU General Public License. This program has absolutely no warranty." | |
644 | + exit 0 | |
645 | +} | |
646 | + | |
521e98dd AM |
647 | +tmp=$(getopt -o +q --long help,version,debug,quiet,all -n "$0" -- "$@") || exit 1 |
648 | +eval set -- "$tmp" | |
649 | + | |
650 | +declare -a send_through poldek_opts | |
4fadbbef | 651 | + |
521e98dd | 652 | +while true; do |
4fadbbef | 653 | + case "$1" in |
521e98dd AM |
654 | + (--help) showHelp $0 ;; |
655 | + (--version) showVersion ;; | |
656 | + (--debug) send_through=( "${send_through[@]}" "$1" ); set -x;; | |
657 | + (--quiet|-q) send_through=( "${send_through[@]}" "$1" );; | |
658 | + (--all) poldek_opts=( "${poldek_opts[@]}" "$1" );; | |
659 | + (--) shift; break;; | |
660 | + (*) echo $"vpoldek: internal error; arg=='$1'" >&2; exit 1;; | |
661 | + esac | |
662 | + shift | |
4fadbbef JR |
663 | +done |
664 | + | |
521e98dd AM |
665 | +VSOMETHING_TITLE=vpoldek |
666 | +VSOMETHING_WORKER=$_VPOLDEK_WORKER | |
667 | +VSOMETHING_PKGMGMT=1 | |
4fadbbef | 668 | + |
521e98dd | 669 | +export VSOMETHING_TITLE VSOMETHING_WORKER VSOMETHING_PKGMGMT |
4fadbbef | 670 | + |
521e98dd AM |
671 | +test ${#poldek_opts[@]} -eq 0 || poldek_opts=( "${poldek_opts[@]}" -- ) |
672 | +exec $_VSOMETHING "${send_through[@]}" poldek "${poldek_opts[@]}" "$@" | |
521e98dd AM |
673 | --- util-vserver-0.30.214.org/scripts/vpoldek-worker 1970-01-01 01:00:00.000000000 +0100 |
674 | +++ util-vserver-0.30.214/scripts/vpoldek-worker 2007-11-15 22:58:23.000000000 +0100 | |
4fadbbef JR |
675 | @@ -0,0 +1,45 @@ |
676 | +#! /bin/bash | |
677 | +# $Id$ | |
678 | + | |
679 | +# Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> | |
680 | +# | |
681 | +# This program is free software; you can redistribute it and/or modify | |
682 | +# it under the terms of the GNU General Public License as published by | |
683 | +# the Free Software Foundation; version 2 of the License. | |
684 | +# | |
685 | +# This program is distributed in the hope that it will be useful, | |
686 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of | |
687 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
688 | +# GNU General Public License for more details. | |
689 | +# | |
690 | +# You should have received a copy of the GNU General Public License | |
691 | +# along with this program; if not, write to the Free Software | |
692 | +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
693 | + | |
694 | +set -e | |
695 | + | |
696 | +: ${UTIL_VSERVER_VARS:=/usr/lib/util-vserver/util-vserver-vars} | |
697 | +test -e "$UTIL_VSERVER_VARS" || { | |
698 | + echo $"Can not find util-vserver installation (the file '$UTIL_VSERVER_VARS' would be expected); aborting..." >&2 | |
699 | + exit 1 | |
700 | +} | |
701 | +. "$UTIL_VSERVER_VARS" | |
702 | +. "$_LIB_FUNCTIONS" | |
703 | + | |
704 | + | |
705 | +vserver="$1" | |
706 | +shift | |
707 | + | |
708 | +pkgInit "$vserver" rpm poldek | |
709 | + | |
710 | +test -z "$_POLDEK" || { | |
711 | + warning $"The environment variable \$_POLDEK is not supported anymore; please use \$POLDEK instead of" | |
712 | + ${POLDEK:=$_POLDEK} | |
713 | +} | |
714 | + | |
715 | +exec ${_POLDEK:-poldek} \ | |
716 | + -v --root=$VDIR \ | |
717 | + --cachedir=$POLDEKCACHEDIR \ | |
718 | + --conf=$POLDEK_CONFIG \ | |
719 | + --pmcmd=$RPM_BINARY \ | |
720 | + "$@" | |
521e98dd AM |
721 | --- util-vserver-0.30.214.org/scripts/vserver-build 2007-09-02 22:06:41.000000000 +0200 |
722 | +++ util-vserver-0.30.214/scripts/vserver-build 2007-11-15 23:20:48.224507577 +0100 | |
909684f7 | 723 | @@ -57,6 +57,9 @@ |
fe9ea50c | 724 | yum ... -- -d <distribution> |
4fadbbef JR |
725 | ... installs the base-packages of the given distribution with |
726 | help of 'vyum' | |
fe9ea50c | 727 | + poldek ... -- -d <distribution> |
4fadbbef JR |
728 | + ... installs the base-packages of the given distribution with |
729 | + help of 'vpoldek' | |
fe9ea50c | 730 | rpm ... -- [-d <distribution>] --empty|([--force] [--nodeps] <manifest>)+ |
4fadbbef | 731 | ... installs lists of rpm-packages |
fe9ea50c | 732 | skeleton ... -- [<cmd> <args>*] |
21e9a651 | 733 | @@ -136,7 +139,7 @@ |
4fadbbef JR |
734 | |
735 | case x"$method" in | |
736 | (xlegacy) exec $_VSERVER_LEGACY "$VSERVER_NAME" build "$@" ;; | |
893c90d5 | 737 | - (xapt-rpm|xcopy|xskeleton|xdebootstrap|xyum|xrpm|xtemplate|xfai|xrsync|xclone) |
738 | + (xapt-rpm|xcopy|xskeleton|xdebootstrap|xyum|xrpm|xtemplate|xfai|xrsync|xclone|xpoldek) | |
4fadbbef JR |
739 | . $__PKGLIBDIR/vserver-build.$method |
740 | ;; | |
741 | (x) panic $"No build-method specified";; | |
521e98dd AM |
742 | --- util-vserver-0.30.214.org/scripts/vserver-build.functions 2007-09-02 22:06:41.000000000 +0200 |
743 | +++ util-vserver-0.30.214/scripts/vserver-build.functions 2007-11-15 23:20:48.224507577 +0100 | |
909684f7 | 744 | @@ -167,6 +167,12 @@ |
fe9ea50c | 745 | elif test -e /etc/slackware-version; then |
746 | set -- $(cat /etc/slackware-version) | |
4fadbbef JR |
747 | DISTRIBUTION=slackware$2 |
748 | + elif test -e /etc/pld-release; then | |
749 | + old_IFS=$IFS | |
750 | + IFS='()' | |
751 | + set -- $(cat /etc/pld-release) | |
752 | + DISTRIBUTION=pld-$(echo $2 | tr A-Z a-z) | |
753 | + IFS=$old_IFS | |
754 | elif test -n "$1"; then | |
755 | DISTRIBUTION=$1 | |
756 | else | |
3ec2a3c2 ER |
757 | --- util-vserver-0.30.214/scripts/vserver-build.functions.poldek 2008-03-25 19:20:07.685144000 +0200 |
758 | +++ util-vserver-0.30.214/scripts/vserver-build.functions.poldek 2008-03-25 20:37:09.000000000 +0200 | |
759 | @@ -0,0 +1,82 @@ | |
4fadbbef JR |
760 | +# $Id$ --*- sh -*-- |
761 | + | |
762 | +# Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> | |
763 | +# | |
764 | +# This program is free software; you can redistribute it and/or modify | |
765 | +# it under the terms of the GNU General Public License as published by | |
766 | +# the Free Software Foundation; version 2 of the License. | |
767 | +# | |
768 | +# This program is distributed in the hope that it will be useful, | |
769 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of | |
770 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
771 | +# GNU General Public License for more details. | |
772 | +# | |
773 | +# You should have received a copy of the GNU General Public License | |
774 | +# along with this program; if not, write to the Free Software | |
775 | +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
776 | + | |
777 | +function poldek.installBasePackages | |
778 | +{ | |
779 | + local name="$1" | |
780 | + local dir="$2" | |
781 | + | |
782 | + test "$dir" != / || return 0 | |
783 | + for filelist in "$dir"/*; do | |
784 | + isRegularFile "$filelist" || continue | |
785 | + local idx=0 | |
786 | + local can_fail=false | |
787 | + local flags='--install' | |
788 | + | |
789 | + set -- $(<$filelist) | |
790 | + while test "$#" -gt 0; do | |
791 | + case "$1" in | |
792 | + --reinstall) flags='--reinstall';; | |
793 | + --can-fail) can_fail=true;; | |
794 | + *) break;; | |
795 | + esac | |
796 | + shift | |
797 | + done | |
798 | + "$_VPOLDEK" "$name" -- $flags $* || $can_fail | |
799 | + done | |
800 | +} | |
801 | + | |
802 | +function poldek.initVariables | |
803 | +{ | |
804 | + findFile POLDEKCONFDEFAULT \ | |
805 | + "$__CONFDIR/.distributions/$DISTRIBUTION/poldek/poldek.conf" \ | |
806 | + "$__CONFDIR/.defaults/apps/pkgmgmt/poldek/poldek.conf" \ | |
807 | + "$__DISTRIBDIR/$DISTRIBUTION/poldek/poldek.conf" \ | |
808 | + "$__DISTRIBDIR/defaults/poldek/poldek.conf" \ | |
809 | + '' | |
810 | +} | |
811 | + | |
812 | +function poldek.initFilesystem | |
813 | +{ | |
b7494608 | 814 | + mkdir -p "$PKGCFGDIR"/poldek/etc/repos.d |
4fadbbef JR |
815 | + mkdir -p "$PKGCFGBASE"/poldek-cache |
816 | + | |
817 | + $_LN_S "$PKGCFGBASE"/poldek-cache "$PKGCFGDIR"/poldek/cache | |
818 | + | |
819 | + populateDirectory "$PKGCFGDIR/poldek/etc" \ | |
820 | + "$__DISTRIBDIR/defaults/poldek" \ | |
821 | + "$__DISTRIBDIR/$DISTRIBUTION/poldek" \ | |
822 | + "$__CONFDIR/.distributions/$DISTRIBUTION/poldek" | |
823 | + | |
b7494608 ER |
824 | + populateDirectory "$PKGCFGDIR/poldek/etc/repos.d" \ |
825 | + "$__DISTRIBDIR/defaults/poldek/repos.d" \ | |
826 | + "$__DISTRIBDIR/$DISTRIBUTION/poldek/repos.d" \ | |
827 | + "$__CONFDIR/.distributions/$DISTRIBUTION/poldek/repos.d" | |
828 | + | |
3ec2a3c2 ER |
829 | + if [ -n "$SETUP_MACHINE" ]; then |
830 | + say "Using $SETUP_MACHINE as machine" | |
831 | + sed -i -e "s#^\(_pld_arch\s*\)=.*#\1= $SETUP_MACHINE#" "$PKGCFGDIR"/poldek/etc/repos.d/pld.conf | |
832 | + fi | |
833 | + | |
834 | + if [ -n "$MIRROR" ]; then | |
835 | + say "Using $MIRROR as mirror URL" | |
836 | + sed -i -e "s#^\(_pld_prefix\s*\)=.*#\1= $MIRROR#" "$PKGCFGDIR"/poldek/etc/repos.d/pld.conf | |
837 | + fi | |
838 | + | |
78219c44 JR |
839 | +# test -z "$POLDEKCONFDEFAULT" || \ |
840 | +# $_LN_S "$POLDEKCONFDEFAULT" "$PKGCFGDIR"/poldek/etc/ | |
4fadbbef | 841 | +} |
3ec2a3c2 ER |
842 | --- util-vserver-0.30.214/scripts/vserver-build.poldek 2007-11-15 23:20:48.224507577 +0100 |
843 | +++ util-vserver-0.30.214/scripts/vserver-build.poldek 2008-03-25 20:25:23.000000000 +0200 | |
844 | @@ -0,0 +1,65 @@ | |
4fadbbef JR |
845 | +# $Id$ --*- sh -*-- |
846 | + | |
847 | +# Copyright (C) 2003 Enrico Scholz <enrico.scholz@informatik.tu-chemnitz.de> | |
848 | +# | |
849 | +# This program is free software; you can redistribute it and/or modify | |
850 | +# it under the terms of the GNU General Public License as published by | |
851 | +# the Free Software Foundation; version 2 of the License. | |
852 | +# | |
853 | +# This program is distributed in the hope that it will be useful, | |
854 | +# but WITHOUT ANY WARRANTY; without even the implied warranty of | |
855 | +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | |
856 | +# GNU General Public License for more details. | |
857 | +# | |
858 | +# You should have received a copy of the GNU General Public License | |
859 | +# along with this program; if not, write to the Free Software | |
860 | +# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. | |
861 | + | |
3ec2a3c2 | 862 | +tmp=$(getopt -o +d:,m: --long debug -n "$0" -- "$@") || exit 1 |
4fadbbef JR |
863 | +eval set -- "$tmp" |
864 | + | |
865 | +. "$_LIB_VSERVER_BUILD_FUNCTIONS_RPM" | |
866 | +. "$_LIB_VSERVER_BUILD_FUNCTIONS_POLDEK" | |
867 | +. "$_LIB_VSERVER_BUILD_FUNCTIONS_PKGMGMT" | |
868 | + | |
869 | +while true; do | |
870 | + case "$1" in | |
871 | + (-d) DISTRIBUTION=$2; shift;; | |
3ec2a3c2 | 872 | + (-m) MIRROR=$2; shift;; |
4fadbbef JR |
873 | + (--debug) set -x;; |
874 | + (--) shift; break ;; | |
875 | + (*) echo "vserver-build.poldek: internal error: unrecognized option '$1'" >&2 | |
876 | + exit 1 | |
877 | + ;; | |
878 | + esac | |
879 | + shift | |
880 | +done | |
881 | + | |
882 | +getDistribution | |
883 | + | |
884 | +base.init | |
885 | + | |
886 | +pkgmgmt.initVariables | |
887 | +rpm.initVariables | |
888 | +poldek.initVariables | |
889 | + | |
890 | +base.initFilesystem "$OPTION_FORCE" | |
891 | +pkgmgmt.initFilesystem "$OPTION_FORCE" | |
892 | +rpm.initFilesystem | |
893 | +poldek.initFilesystem | |
894 | + | |
895 | +setup_writeOption "$VSERVER_NAME" | |
896 | +setup_writeInitialFstab | |
897 | + | |
898 | +test -z "$BUILD_INITPRE" || "$BUILD_INITPRE" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS" | |
899 | +rpm.initDB "$SETUP_CONFDIR" | |
900 | +rpm.importGPGPubKeys "$SETUP_CONFDIR" \ | |
901 | + "$__CONFDIR/.distributions/$DISTRIBUTION/pubkeys" \ | |
902 | + "$__CONFDIR/.distributions/.common/pubkeys" \ | |
903 | + "$__DISTRIBDIR/$DISTRIBUTION/pubkeys" | |
904 | + | |
905 | +$_VPOLDEK "$SETUP_CONFDIR" -- --update-whole | |
906 | +poldek.installBasePackages "$SETUP_CONFDIR" "$PKGINSTALLDIR" | |
907 | +test -z "$BUILD_INITPOST" || "$BUILD_INITPOST" "$SETUP_CONFDIR" "$UTIL_VSERVER_VARS" | |
908 | + | |
909 | +base.setSuccess |