On Sat, 2009-10-24 at 16:53 +0100, Stuart Hughes wrote:
Hi Aaron,
The .md5 bug is fixed now. If you do a trelease with localdir you
should get warnings about content that is not available remotely, but it
should still make the ISO provided those files are present locally.
Note md5sums are still checked.
Stuart,
What is the difference between "localdir" and "localdir_nobuild"?
Since I figured out how to make LTIB work with my current workflow
(and/or adapted my workflow to LTIB), I'm worried change sin this area
will affect how I generate .iso files.
Since most of my LTIB work conforms to ISO 13485, I need to create a
.iso that is placed in Agile w/o using any network access to ensure the
.iso that is created is from the pristine sources I've used to create
all the production images burned into our product(s).
I've modified ltib to allow %ldirs to have a relative prefix (by making
the following change in bin/LTIButils.pm::get_file):
--- software/products/linux/LTIB/logic/ltib/bin/Ltibutils.pm 2009/03/09
05:59:33 6251
+++ software/products/linux/LTIB/logic/ltib/bin/Ltibutils.pm 2009/03/16
17:55:13 6354
@@ -280,6 +280,12 @@
my @ldirs = grep { ! m,^\s*$, && ! m,\s*#, } split(/\s+/, $cf->{ldirs});
my @sdirs = ($cf->{lpp}, @ldirs, "$cf->{top}/pkgs");
foreach my $dir ( @sdirs ) {
+ # If $dir does not start with '/' then prefix it with "$cf->{top}/"
+ # as its relative to the LTIB build directory
+ if ($dir !~ m/^\//) {
+ $dir = "$cf->{top}/$dir";
+ }
+
$path = "$dir/$file";
if(-f $path) {
return $path unless $force_md5;
This allows me to have an %ldirs specification in .ltibrc of:
# Local directories, these are searched before the Local Package Pool
# for files. This can be a whitespace separated list (including new-lines)
%ldirs
/var/tmp/pkgs
lpd-CUSTOMER-package-pool
lpd-IP-package-pool
lpd-BASE-package-pool
which allows me to take everything pulled in for the build from the GPP
that goes into /opt/ltib/pkgs and move it into "lpd-BASE-package-pool",
then populate "lpd-IP-package-pool" with tarballs/patches/.md5 files for
work that I do, and separate it from customer work that ends up in
"lpd-CUSTOMER-package-pool". of course any patchmerge I do will put the
resultant patches into /opt/ltib/pkgs and I have to clean them up/move
them into the appropriate pool (along with associated .md5 file).
Then I can drop offline, remove /opt/ltib/pkgs, and build my world from
scratch to verify that I have captured all the necessary components.
Then its all checked into SVN (thankfully disk space is dirt cheap these
days).
What I'd like to do is to create a .iso using this layout, one that on
install will recreate it, but I haven't yet figured a way to modify LTIB
to automagically do it. I previously used the "localdir_nobuild" option
and a MANIFEST file (as well as hacked LTIB to suppress the .md5
reconstruction) to make sure the .iso I create is created *only* from
the exported sources.
So far this seems to work, but this was with LTIB version 8.4.1, and
after I get my current release out the door I want to update to the
latest LTIB to pickup all the package work done in the last year.
1) How can I modify LTIB to create teh package tarball such that it
follows my %ldir setup so I can move away from a MANIFEST file and have
LTIB pull in the appropriate pieces?
2) In my main.lkc files, I've rolled through multiple kernel versions
and leave the old specifications in place, but have a "depends never" to
suppress alternate kernels/packages, but leave everything there in case
I need to pull them in again (w/o going back in SVN revisions of the
world). Unfortuantely LTIBs .iso generation apparently can't see that
the dependency is impossible - I've tried commenting out the entries,
but LTIB still picks them up in the .iso generation. How can I suppress
this?
3) Is there an option to LTIB to abort if a .md5 is bad or missing - to
make sure I have all the proper .md5 files in place in my verification
builds?
Any thoughts/ideas? Thanks in advance!