target-finish packages
Stefan Fiedler <e0155490-oe7qfRrRQffzPE21tAIdciO7C/[email protected]> Fri, 15 Feb 2008 16:29:38 +0100
| Newsgroups | gmane.linux.distributions.rock.devel |
|---|---|
| Message-ID | <[email protected]> |
Hi all, today I'd like to write a bit about the packages in the target-finish repository. They have been in trunk for a while but so far haven't been used in any target by default. In ROCK Linux, targets can perform additional actions after all packages have been built (by adapting target/*/build.sh). The bootdisk, crystal and livecd targets extensively use this to e.g. prepare files for boot media and create package selections. target-finish packages are intended to provide the same feature but avoid code duplication between targets. The current implementation consists of slightly modified code from the bootdisk, crystal and livecd targets grouped by functionality into seven packages, e.g. bootloader, initramfs or packagedb. These packages can be used in any target to e.g. create files for a bootable install or live CD. It is noteworthy that this implementation does not require any changes to the build scripts. target-finish packages have a few things in common: - no binary packages are created for these. This simply follows from the fact that these packages do not (or shouldn't) touch any files in the directories considered for binary package creation (as defined by the flistroot variable); target-finish packages create files below the directory build/<build-id>/ROCK/target-finish instead. - they are build after other packages and in a separate stage (currently stage 8). Atm. stage 9 is the rebuild stage, but it should really be the other way round (which would require a few changes to the build scripts). - target-finish packages can only be built using Build-Target since they are only useful when building complete targets. In the related SubMaster journal (https://www.rocklinux.net/submaster/index.websplb?mode=journal&id=52) I have sucessfully replaced the build.sh scripts of the bootdisk, crystal and livecd targets with target-finish packages. The journal is tested at build- and run-time and unless there are any objections it is ready to be applied. Have fun, Stefan Fiedler