Forgive me if these are obvious, but I've come up with a few questions on
the operation of multistrap while fine tuning my multistrap configuration.
It is now working with Grip much better (thanks all for the previous help on
'components' for dev packages).  For the basis of my questions I have listed
an example config file below.

First, it doesn't seem to matter to multistrap which stanza a package is
listed under.  It downloads it from what I surmise is the latest version
from the collective sources available (the documentation seems to confirm
this behavior).  In this it seems to treat Grip (em1 suffix) sources as
later than Debian sources.  Is this a correct interpretation?  For example,
I currently have wget listed under my Debian stanza (just as a test), yet it
is downloaded from the emdebian Grip repository.

Get:139 http://www.emdebian.org/grip/ squeeze/main wget armel 1.12-2em1
[147kB]

So assuming the above is true, I take it that Grip packages will always be
preferred (if they exist) by multistrap over the Debian fallback, and if one
wanted one package in particular to come from the Debian fallback, one would
need to put it in a local repository and either change the suite (which
multistrap can explicitly key off of), or recompile it to look like a later
version.  (Note this is a hypothetical question, I don't have a particular
need at the moment)

Next, I was trying to separate out the -dev packages so that I can build two
different kinds of root filesystems, one with the -dev packages and one
without.  This brings me to a different question.  I tried putting some of
the -dev packages in a separate stanza (Grip-dev) in a variant file.  That
worked, but elicited a warning that there were duplicate sources.list
entries

W: Duplicate sources.list entry http://www.emdebian.org/grip/ squeeze/main
armel Packages
(/opt/multistrap/fs/squeeze-grip-ilom-dev/var/lib/apt/lists/www.emdebian.org_grip_dists_squeeze_main_binary-armel_Packages)

I then tried the Grip-dev stanza without any extra lines (source, keyring,
suite, components) and got a different warning about uninitialized value

Use of uninitialized value $keyrings{"grip-dev"} in join or string at
/usr/sbin/multistrap line 319.

Is there a way to have multiple packages= lines in different stanzas for the
same repository, so that a cascade can be constructed that either includes
or does not include various packages without ending up with the warnings or
the duplication of sources.list entries?  I have avoided the multiple
entries by listing only one of the stanzas in the aptsources= line, but the
warning caught my eye.

Thank you very much for your time,

-Jim Heck

**** squeeze-grip-ilom.conf ****

[General]
arch=armel
directory=/opt/multistrap/fs/squeeze-grip-ilom
# script to setup the initial root filesystem
setupscript=/opt/multistrap/scripts/initialrootfssetup.bash
# same as --tidy-up option if set to true
cleanup=true
# same as --no-auth option if set to true
# keyring packages listed in each bootstrap will
# still be installed.
noauth=false
# extract all downloaded archives (default is true)
unpack=true
# whether to add the /suite to be explicit about where apt
# needs to look for packages. Default is false.
explicitsuite=false
# aptsources is a list of sections to be used
# the /etc/apt/sources.list.d/multistrap.sources.list
# of the target. Order is not important
aptsources=Grip Debian
# the bootstrap option determines which repository
# is used to calculate the list of Priority: required packages
# and which packages go into the rootfs.
# The order of sections is not important.
bootstrap=Grip Debian

[Grip]
packages=base-files base-passwd bash bc binutils busybox coreutils
debianutils dhcp3-client diff dpkg electric-fence expect file findutils
fuse-utils gawk gcc gdb gettext gettext-base grep gzip hostname
ifenslave-2.6 ifplugd ifupdown initscripts iptables klogd less libc6 libcap2
libdmalloc5 libesmtp5 libncurses5 libnss-ldap libpam0g libpam-ldap
libpam-modules libpam-radius-auth libpam-runtime libradius1 libxml2 login
logrotate lslk lsof ltrace makedev mawk module-init-tools mount mtd-tools
ncurses-base netbase netcat net-tools ntpdate nvi passwd pciutils portmap
procps psmisc radiusclient1 sed ssh strace sysklogd sysstat sysvinit sysv-rc
tar tcl8.4 tclreadline tcpdump tftp-hpa time traceroute util-linux zile
source=http://www.emdebian.org/grip
keyring=emdebian-archive-keyring
suite=squeeze
components=main dev

[Debian]
packages=wget
source=http://ftp.debian.org/debian
keyring=debian-archive-keyring
suite=squeeze


**** squeeze-grip-ilom-dev.conf ****

[General]
include=/opt/multistrap/scripts/squeeze-grip-ilom.conf
directory=/opt/multistrap/fs/squeeze-grip-ilom-dev
# the bootstrap option determines which repository
# is used to calculate the list of Priority: required packages
# and which packages go into the rootfs.
# The order of sections is not important.
bootstrap=Grip Grip-dev Debian

[Grip-dev]
packages=expect-dev libacl1-dev libattr1-dev libblkid-dev libc6-dev
libcap-dev libdaemon-dev libdmalloc-dev libesmtp-dev libfuse-dev
libgcrypt11-dev libgdbm-dev libgpg-error-dev libmagic-dev libncurses5-dev
libpam0g-dev libpcap0.8-dev libpopt-dev libradius1-dev libreadline-dev
libsasl2-dev libssl-dev libwrap0-dev libxml2-dev tcl8.4-dev
source=http://www.emdebian.org/grip
keyring=emdebian-archive-keyring
suite=squeeze
components=main dev

Reply via email to