[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: priorities



On Fri, Dec 07, 2007 at 08:25:05AM +0100, NN_il_Confusionario wrote:
> Question: is there somewhere on the net a script (*) such that:
> * it installs required/essential packages (_all_ of them but _only_
>   them) of such a release as a chroot in that directory

You could create a variant for debootstrap. That's not very hard,
depending on your mood:

# cp /usr/share/debootstrap/scripts/sid my-sid
# patch <<EOF
@@ -9,7 +9,7 @@
 mirror_style release
 download_style apt
 finddebs_style from-indices
-variants - buildd fakechroot
+variants - buildd fakechroot minbase
 
 if doing_variant fakechroot; then
     test "$FAKECHROOT" = "true" || error 1 FAKECHROOTREQ "This variant requires fakechroot environment to be started"
@@ -37,6 +37,8 @@
       # ldd.fake needs binutils
       required="$required binutils"
     fi
+
+    if doing_variant minbase; then base="apt"; fi
 }
 
 first_stage_install () {
EOF
# debootstrap --variant=minbase sid target/ http://mirror.internode.on.net/pub/debian/ 

If you don't want apt and its dependencies, you can add "--include=ed
--exclude=apt" as arguments, or similar. If you don't have anything
at all in base, you'll get some ugly error messages, but I think it'll
still work.

OTOH, there's not much reason not to have that in debootstrap by default,
afaics. What the hey, patch committed. Look for it in version 1.0.8 when
it gets released.

> Every time I do someting like that, too much time is spent for
> dependency hunting. Ad every time I forget to save the list of packages :-(

debootstrap --print-debs will give you a list of packages. It includes
both required and base in the same list, so you have to look for the split
yourselve (zlibg1 and adduser atm), but that's not too hard hopefully.

Cheers,
aj

Attachment: signature.asc
Description: Digital signature


Reply to: