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