I've now finished the restructuring of the massbuild script.
With these changes, the script is now solid enough to also be safely used
by D-I porters for building and uploading kernel and module udebs, which
means that you no longer need to install kernel packages on your system
just to be able to build these udebs.
The following changes were already listed in my earlier mail.
- Desired version of dependencies is no longer passed as a parameter,
but read from a file 'massbuild.versions'.
- The --incoming option will now make the build try incoming _after_
trying the regular mirror.
- A separate line is added in the changelog for each build dependency
and specifies the version the package was built against.
- The '-m <changelog text>' option will now _add_ an extra line in the
changelog instead of overruling the default entries. If multiple
lines are passed, they will be added as separate entries.
In addition, we now have the following changes.
- Take architectures as arguments instead of directory names
This means that instead of
massbuild kbuild linux-kernel-di-s390-2.6
you now use
massbuild kbuild s390
- Build udebs for unofficial architectures if explicitly requested.
So 'massbuild kbuild armel ppc64' is now supported.
If no architecture is passed, these unofficial arches will be skipped.
- dpkg-cross is no longer required if you are building only for a
single architecture and that architecture matches the system you
are using.
- You can now define which mirrors to use in a user config file [1]:
~/.d-i_massbuildrc
- Add support for using a local mirror; the order in which mirrors are
tried is: local mirror, official mirror, incoming (the last only if
the --incoming parameter was passed).
- Built packages are now moved to ./massbuild.out.{kernel,module}.
This has the advantage of uncluttering the ./kernel directory and
ensures that the "[km]clean" operations do not remove other files
then they should.
I hope that in this new version this script will help to further reduce
the work needed for kernel updates in the installer.
Cheers,
FJP
[1] Example:
$ cat ~/.d-i_massbuildrc
# RC file for D-I kernel massbuild script
MIRROR=http://ftp.nl.debian.org/debian
LMIRROR=http://mymirror/debian
Attachment:
pgpkKiZxit0b9.pgp
Description: PGP signature