ltib
[Top][All Lists]
Advanced

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

ISO release work flow changes (was Re: [Ltib] ./ltib -m release # extern


From: Stuart Hughes
Subject: ISO release work flow changes (was Re: [Ltib] ./ltib -m release # externally distributable error)
Date: Sun, 25 Oct 2009 11:00:25 +0000
User-agent: Thunderbird 2.0.0.16 (X11/20080707)

Hi Peter,

Some of these ISO questions are bordering on commercial support requests (new features to fit your work flow). You can get this from Zee2, or you may consider sponsoring the project. Currently only Zee2 sponsor LTIB, which means the effort available to enhance it is limited.

I would ask anyone else who can encourage sponsorship of this project by their employers or customers to do so. You can also help the project in other ways such as taking support contracts with Zee2, by contributing patches and by answering questions on the list.

Thanks to all those who have made code contributions and answered questions so far.

So far as your questions go: localdir_nobuild is the same as localdir except the BSP is not build, so there are no pre-built rpms. This is useful if you just want to capture a complete BSP with LTIB source + package payload.

Fundamentally until you get to using a current version of LTIB you're at a fork/dead-end. Many of the things you suggest (forcing md5 verification) are already in place in the later versions, not to mention a slew of bug-fixes.

ldirs is one way of adding search paths when looking for source, but these are local caches, not authoritative sources. What would be better is to have your own package pools (PPP = private). This allows you to have verified private content as well as using the GPP. The problem with what your work flow does is that if you copy content from /opt/.../pkgs (a local package pool), it has not been checked against any master package pool. The whole idea of forcing network connection during ISO creation is to ensure anything that is on the GPP is verified (the md5sum is forcibly re-downloaded and checked). So disconnecting the network is a bad idea. I do understand though the end user may want to install the ISO disconnected from any network, which you can of course do.

Regards, Stuart


Peter Barada wrote:
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!





reply via email to

[Prev in Thread] Current Thread [Next in Thread]