In emdebian-tools 0.9.3, I'm adding a new script, em_autobuild and I'm extending the embug support to track various issues in Emdebian: 1. Patches that are out of date - these flags will be recorded by emsource when any patch (except emdebian-changelog.patch) fails to apply. There are now too many packages for me to track manually and people wanting to use Emdebian patches for architectures other than ARM need some kind of assurance that the patches will apply or are in the process of being updated. 2. Packages that are older than Debian - these flags are to be recorded by emtargetcmp (which has a few problems of it's own at the moment caused by a regression in the underlying apt support). 3. Packages that need patches applied in Debian to support cross-building - these flags are handled via a SOAP interface to the BTS. (The original purpose of embug and already fully implemented). 4. A sane autobuilder for the target packages. em_autobuild [0] is a new script in 0.9.3 that runs emsource once for each source package listed in our root filesystem scripts. It can easily be extended to run plain emsource *not* emsource -b to run as a cron job merely checking the patches. em_autobuild extends the previous rough idea in the emsandbox manpage into a fully operational script that mixes shell and perl to read the apt-cross cache and convert binary package names in the suite script into source package names for the autobuilder. It can work with any suite script using the standard machine:variant support or explicitly on the command line. Current methods in embug and the (very early) development of em_autobuild are limited to local files, principally on my own systems. I'm interested in ideas on two parts of these scripts: First the expanded embug options and their names: $progname [-v|--verbose] [-q|--quiet] [-p|--package] -f|--flag $progname [-v|--verbose] [-q|--quiet] [-p|--package] -r|--remove $progname [-v|--verbose] [-q|--quiet] [-p|--package] -g|--get-number $progname [-v|--verbose] [-q|--quiet] [-p|--package] -o|--outdated $progname [-v|--verbose] [-q|--quiet] [-p|--package] -d|--debian $progname [-v|--verbose] [-q|--quiet] --prepare $progname [-v|--verbose] [-q|--quiet] -l|--list $progname [-v|--verbose] [-q|--quiet] -u|--update $progname [-v|--verbose] [-q|--quiet] -m|--missing $progname -?|-h|--help|--version Commands: -f|--flag: Flag this package as needing a bug report. -g|--get-number: Get the bug number of the report filed for this package. -l|--list: List all known bug report numbers, with package names. -m|--missing: List all flagged packages without bug reports. -r|--remove: Remove the flag if no bug report has been filed or the package has been updated. -u|--update: Update the list of known cross-building bugs by querying bugs.debian.org. -o|--outdated: Record that the Emdebian SVN patches are out of date. -d|--debian: Record that the Emdebian package is older than the Debian package. --prepare: Create a temporary directory suitable for patch creation and testing. -?|-h|--help: Print this usage message and exit --version: Print this usage message and exit Options: -p|--package: Specify the source package name instead of looking in debian/control. -v|--verbose: be verbose (repeat for more verbosity) -q|--quiet: be quiet [default] $progname assumes that each source package only has one bug tagged with the 'crossbuilt' usertag for user 'codehelp\@debian.org'. embug -o and embug -d are new and I'd like feedback on whether those options are understandable and unambiguous. Secondly, some method of remote support for these flags. Something to which many people can commit and which everyone can read. Something that can be updated whilst doing something else (so that merely running emsource can update the flag that the patches are failing). Now there are a few ways of doing this: A: Run emsource (via em_autobuild) and emtargetcmp regularly on buildd.emdebian.org via cron so that lots of people don't *need* to commit in the first place. As the packages are not *being built*, only patched, this makes it easy to purge the source after testing the patches and prevents the need to look after build dependencies (cross or native). The first run would check the basic rootfs packages, subsequent runs of em_autobuild would only check packages already flagged. Each run of emtargetcmp will ensure that any source package that has been uploaded will be checked against Debian, even ones that are not currently utilised in suite scripts. B: email somewhere ? C: ?? the other standard methods all rely on authentication and thereby limit the number of people who can update this stuff. SVN seems like complete overkill for this flag stuff. D: don't do it at all. E: Actually implement em_autobuild on buildd.emdebian.org to cross build Emdebian target packages and upload them directly to the repository automatically by extending it into a form of sbuild. We tried something approaching that before and quickly ran into file space issues due to the collected size of each build and each set of cross and native build dependencies and em_autobuild isn't yet compatible with standard buildd methods. I think this is the eventual goal but maybe we can do something simple before this is ready. Ideas? Comments? [0] http://linux.codehelp.co.uk/emdebian/man/re10.html -- Neil Williams ============= http://www.data-freedom.org/ http://www.nosoftwarepatents.com/ http://www.linux.codehelp.co.uk/
Attachment:
signature.asc
Description: This is a digitally signed message part