xbuilder-1.0.1+nmu1/0000755000000000000000000000000012431174424011073 5ustar xbuilder-1.0.1+nmu1/README0000644000000000000000000001321712431167264011763 0ustar This package contains various scripts and utilities for setting up a batch cross-builder instance 'xbuilder' and bootstrapping a new architecture 'dimstrap'. *xbuilder* The batch cross-builder is very stupid and does not set up any sort of proper build daemon. It just runs through a list of source packages, attempting to cross-build each one for a single host architecture. It can do this for multiple 'flavours' of distro and suite (debian testing, plus ubuntu raring, for example). The tool can be set to build with sbuild, xdeb or pdebuild-cross. A script (buildlogs-summarise) will parse all the logs and make a nice html table summarising the results into 'succeeded/failed/build-deps unsatisfiable'. This tool was originally written to generate https://people.linaro.org/~wookey/buildd/ *Dimstrap* Dimstrap runs sbuild cross-builds on a list (of source packages, annotated with profile stages), using the given build-profiles if specified. If builds succeed then they are uploaded to a repository in order to be used in subsequent builds. This tool has largely been superseded by 'rebootstrap'. See http://wiki.debian.org/rebootstrap Getting started --------------- Install xbuilder package. Decide where you will store your files. xbuilder puts everything below 'Current Working Directory' so run it in the right place. The default config assumes that /srv/buildd is where package lists will go and where xbuilder will be run. (mkdir /srv/buildd, make it writeable by you) Set the package buildlist in /etc/xbuilder.cfg buildlist=/srv/buildd/buildlist-debian-minimal Also set the host arch (arch to build for) and the distro and chrootname passed to sbuild. You can also specify an extrarepository to be passed to sbuild. You can create a minimal package list with: sudo debootstrap --print-debs testing /tmp/testing http://http.debian.net/debian | tr ' ' '\n' > debootstraplist xbuilder -------- A script to crossbuild a set of packages. It supports sbuild multiarch crossbuilding by default, but can also be set to run crossbuilds with the older xdeb or pdebuild-cross tools, which back in 2012 would build a larger proportion of packages. xbuilder will use the list of packages given in the file specified in /etc/xbuilder.cfg, download the source and run the crossbuild on it in the specified chroot, if using sbuild or pdebuild-cross or locally in the case of xdeb. The output is a set of build packages and logfiles. Under the current directory in 'build//' and 'logs///' respectively. Where is the build method used (sbuild, xdeb, pdebuild-cross), and is the date-time that the xbuilder run was started (e.g. 20131104-1423). You can put files anywhere and it should work, The default setup assumes that a /srv/buildd dir will be used to store filelists. xbuilder can be run as: xbuilder so that it is easy to set up multiple build flavours. 'buildd-run' provides an example of doing a series of runs, one for each flavour, using a series of config files. The examples dir has examples for cron configs to run such jobs daily. xbuild-create-chroot ------------------- Yet another chroot-creation script which just wraps sbuild-createchroot with suitable runes for a standard cross-build environment. sbuildlogs-summarise and buildlog-summarise ------------------------------------------- buildlog-summarise parses sbuild or rebuildd logfiles with filenmaes of the form package_version-suite-arch-date-time.log (Both the packages and suites can contain '-' too) sbuildlogs-summarise parses sbuild logs called .log (yes, these scripts should be merged!) They generate a webpage listing the latest builds of each package and the status of that build (OK, FAILED, Dependencies failed, No source), with info on what went wrong and summary counts. The lists can be filtered by a reprepro package list to make different summaries such as 'bootstrap' package-set and 'everything'. See the Makefile and sync-buildlogs scripts in the examples dir to see how it can be used. It is written in perl (which was approximately 100 times faster than the initial awk implementation!) buildd-sync ----------- Is a script to run buildlogs-summarise on a set of logfile dirs and rsync the results to a server to make them public. dimstrap -------- The dimstrap script is a very simple-minded tool which runs a cross-build (using sbuild) on a list of packages (or a single package given on the command line), and uploads the results to a reprepro repository if successful. Things needed to make this work: * A reprepro repository for the built packages to be uploaded to, set up with an incoming rule and package signing key. * ssh access to the machine so that upload processing can be kicked. * A chroot to do the builds in, configured to have the above repository as an apt source, and with the key installed * Local dupload configuration rule pointing to the above repository Config for all that is in /etc/dimstrap.cfg If called as dimstrap then it will build the single package given on the command line. If called as dimstrap it will looks for a file called pkgorder in the hard-coded directory from the config file and run through the builds in that file in order. The package list (pkgorder) is off the form packagename [profile] i.e a bare packagename to build and an optional profile name to use in the build. Note that The profile will currently (Jan 2013) be ignored unless you have a patched sbuild and dpkg. And even then apt knows nothing about profiles and thus will ignore it too so build-dep failures are likely. In practice profile builds need to be done manually until the spec is agreed and sbuild, apt and dpkg are all updated. xbuilder-1.0.1+nmu1/buildd-run0000755000000000000000000000052512053136455013072 0ustar #!/bin/sh base=/srv/buildd for flavour in natty-ppa oneiric-ppa; do # check for a running xbuilder and bail if one is already running cd ${base}/flavours/${flavour} && if pgrep foobuilder > /dev/null; then xbuilder -f xbuilder-${flavour}.cfg else echo "xbuilder still running - not starting new one for $flavour" fi done xbuilder-1.0.1+nmu1/buildd-synclogs0000755000000000000000000000137612431173714014133 0ustar #!/bin/sh #read in config . /etc/xbuilder-synclogs.cfg # Allow for separate reprepro repositories for debian and ubuntu for flavour in ${ubflavourlist}; do BASE=${base} REPO=${ubunturepo} make -s -f ${base}/Makefile -C ${base}/flavours/${flavour}/logs/sbuild status.html status-bootstrap.html status-ubuntucore.html done for flavour in ${debflavourlist}; do BASE=${base} REPO=${debianrepo} make -s -f ${base}/Makefile -C ${base}/flavours/${flavour}/logs/sbuild status.html status-bootstrap.html done for flavour in ${flavourlist}; do # using rsync module #rsync -a ${base}/flavours/${flavour}/logs/ ${server}::${rsyncmodule}/${flavour}/ # using ssh rsync -a ${base}/flavours/${flavour}/logs/ ${uploaduser}@${server}:${serverpath}/${flavour}/ done xbuilder-1.0.1+nmu1/buildlogs-summarise0000755000000000000000000002323112431144356015012 0ustar #!/usr/bin/perl # noddy script to generate html summary page of logs use strict; use warnings; use diagnostics; use POSIX qw(strftime); use Getopt::Long; use vars qw($package $version $arch $date $datestring $buildstate $message $summarystate $today $todayreadable $now %loglist $logname @packages $buildok $unneeded $builddeps $sourcefail $buildfail $packagecount %pkgfilter $pkgfilter $pkg $pkgstatus $logregex $buildtime); # allow specifying a (reprepro) package filter GetOptions( "pkgfilter=s" => \$pkgfilter); # --pkgfilter=filename if ($pkgfilter && -r $pkgfilter) { open (FILTER,"<", "$pkgfilter") or die "Can't open $pkgfilter: $!"; while () { chomp; ($pkg, $pkgstatus)=split; $pkgfilter{$pkg}=1; } close FILTER; } #my ($day, $month, $year) = (localtime)[3,4,5]; #my $today = sprintf("%04d%02d%02d", $year+1900, $month+1, $day); my $today = strftime( "%Y%m%d", localtime); my $todayreadable = readabledate($today); # regex to cope with rebuildd's annoying log-file naming scheme with # dash separators and dashes in version strings and distronames. # dashes in version are always followed by a digit # reponames always start with a letter my $logregex = qr/^ # start ([\S]+) # package ($1) _ # package_ver separator ( # version number ($2) ( [:\w\d\.\+~] # chars in version strings | # or -(?=\d) # a dash with a digit after it ($3, annoyingly) )+ # at least one character ) - # dash separator ([-\w]+) # repo name (including dashes) $4 - # dash separator (\w+) # architecture $5 - # dash separator (\d{8}) # date (20120522) $6 - # dash separator (\d\d)(\d\d).* # hours and minutes $7 $8 $ # end /x ; # (allowing multiline comments) print "Multiarch Cross-buildd logs\n"; print "

Build logs by packagename

Generated $todayreadable

\n"; if ($pkgfilter) {print "

Package list filtered by $pkgfilter.

";} print "

Summary count

\n"; print "
"; print "\n"; # parse all the logfiles, noting one per package my @files =<*.log>; foreach $logname (@files) { $package=$version=$arch=$date=$datestring=""; if ($logname =~ m/$logregex/) { $package=$1; $version=$2; $arch=$5; $date="$6"; $datestring="$6 $7:$8"; } $loglist{$package} = $logname unless ($pkgfilter && ! exists $pkgfilter{$package}); } my $packagecount=$buildok=$unneeded=$builddeps=$sourcefail=0; # parse noted logs and print into page @packages = sort (keys %loglist); foreach $package (@packages) { $logname = $loglist{$package}; $packagecount++; $package=$version=$arch=$date=$datestring=""; if ($logname =~ m/$logregex/) { $package=$1; $version=$2; $arch=$5; $date="$6"; $datestring="$6 $7:$8"; } ($buildstate,$message,$buildtime) = parselog($logname); $summarystate=$buildstate; if ($summarystate eq "BUILD OK") {$buildok++} if ($summarystate eq "NOT ATTEMPTED") {$unneeded++} if ($summarystate eq "BUILD DEPS FAILED") {$builddeps++} if ($summarystate eq "SOURCE FAILED") {$sourcefail++} print "\n"; } $buildfail=$packagecount-($buildok+$unneeded+$builddeps+$sourcefail); print "
PackageVersionArchitectureDateSummaryMessage
$package$version$arch".readabledate($date)."$summarystate$message
\n

Of $packagecount source packages: Build OK: $buildok, Build Failed: $buildfail, Deps failed: $builddeps, Not needed(Arch:all): $unneeded, No Source: $sourcefail

"; print "

  • Build OK: The source package cross-built
  • Build Failed: A cross-build was attempted but did not succeed
  • Deps Failed: The cross-build dependencies could not be installed, so no build attempted
  • Source Failed: the correct version of source was not available (usually a transient issue)

\n"; sub cellcolour { my $state=$_[0]; my $col="#FFFFFF"; if ($state eq "BUILD DEPS FAILED") {$col="#FF6600";} # orange if ($state eq "BUILD OK") {$col="#00FF33";} # green if ($state eq "NOT ATTEMPTED") {$col="#CCFF33";} # light green if ($state eq "BUILD FAILED") {$col="#CC0000";} # red if ($state eq "SOURCE FAILED") {$col="#FFFF66";} # yellow return ("bgcolor=\"$col\""); } sub readabledate { my $date=$_[0]; if ( length($date)==8 ) { return substr($date, 0,4)."-".substr($date, 4,2)."-".substr($date, 6,2); }; } # parse a build log for build-stage info and errors # takes a filehandle sub parselog { my ($enddate,$endtime,$block,$diskspace,$buildtime,$buildstate,$misseddeps,$message,$buildprofile) = ("","","","","","","","",""); open (LOG,"<", "$logname") or die "Can't open $logname: $!"; while () { my $line= $_; # print("parsing line:".$_); if ( $line =~ /^│ (Changes|Package contents|Update chroot|Fetch source files|Install core build dependencies|Install cross build-dependencies|Build environment|Build|Summary|Cleanup) .*$/) { $block = $1 }; SWITCH: { $block eq "Fetch source files" && do { if ( $line =~ /^Can't find source for (.*)$/ ) { $buildstate="SOURCE FAILED"; $message="$line" }; last SWITCH; }; (($block eq "Install cross build-dependencies") || ( $block eq "Install core build dependencies" )) && do { # if ( $line =~ /^$/ ) { }; if ( $line =~ /APT::Build-Profile=(\w+)/ ) { $buildprofile="Build Profile: $1. " }; if ( $line =~ /^ (.*) but it is not (installable|going to be installed)$/ ) { $buildstate="BUILD DEPS FAILED"; $message="$line" }; if ( $line =~ /dpkg: error processing ([\w\.-]+) (--configure):/ ) { $buildstate="BUILD DEPS FAILED"; $message="Build-deps failed to install. Possibly: $1" }; # should only use this if above one failed to get a message - how to do? if ( $line =~ /^E: Failed to process build dependencies$/ && $message eq "" ) { $buildstate="BUILD DEPS FAILED"; $message="Build-deps failed to install" }; # if ( $line =~ /^ (.*) but it is not going to be installed$/ ) { $buildstate="BUILD DEPS FAILED"; $message="$line" }; if ( $line =~ /^E: Build-Depends dependency for ([\w\.-]+) cannot be satisfied because the package ([\w\.-]+) cannot be found$/ ) { $buildstate="BUILD DEPS FAILED"; $message="package $2 cannot be found" }; last SWITCH; }; $block eq "Build" && do { if ( $line =~ /^dpkg-checkbuilddeps: Unmet build dependencies: (.*)$/ ) { $buildstate="BUILD DEPS FAILED"; $message="dpkg-checkbuildeps missing: $1" }; if ( $line =~ /^strip: Unable to recognise the format of the input file/ ) { $buildstate="BUILD FAILED"; $message="Wrong-architecture strip for binary" }; if ( $line =~ /binary-is-wrong-architecture/ ) { $buildstate="BUILD FAILED"; $message="Wrong-architecture binaries found" }; if (( $line =~ /^E: Build failure \(dpkg-buildpackage died\)$/ ) && $message eq "") { $buildstate="BUILD FAILED"; $message="dpkg-buildpackage failed" }; if ( $line =~ /^I: Built successfully/ ) { $buildstate="BUILD OK" }; last SWITCH; }; $block eq "Cleanup" && do { if ( $line =~ /^E: .*: ([\w-]+) not in arch list or does not match any arch wildcards: (.*) -- skipping$/ ) { $buildstate="NOT ATTEMPTED"; $message="$1 not in arch list for this package" }; last SWITCH; }; $block eq "Summary" && do { # if ( $line =~ /^Build started at ([\d-]+) ([\d:]+).\d*$/ ) { ($startday,$starttime) = ($1,$2) }; if ( $line =~ /^Build needed ([\d:]+), (\d+)k disc space$/ ) { ($buildtime, $diskspace) = ($1,$2) }; if ( $line =~ /^Finished at (\d{8})-(\d{4})$/ ) { ($enddate, $endtime) = ($1,$2) }; last SWITCH; }; # Not in sbuild block so probably a manual build log $block eq "" && do { if ( $line =~ /^dpkg-buildpackage: binary only upload/ ) { $buildstate="BUILD OK"; $message="Manual build" }; # for manual builds done outside sbuild if ( $line =~ /^I: Built successfully/ ) { $buildstate="BUILD OK"; $message="Manual build" }; # for manual builds done outside sbuild if ( $line =~ /^Build Profile: (\w+)$/ ) { $buildprofile="Build Profile: $1. " }; if ( $line =~ /DEB_BUILD_PROFILE=(\w+)/ ) { $buildprofile="Build Profile: $1. " }; last SWITCH; }; } if ( $line =~ /^E: ABORT: Received INT signal \(requesting cleanup and shutdown\)$/ ) { $buildstate="ABORTED"; $message="build interrupted" }; } close (LOG); if ( $buildstate eq "" ) { $buildstate="BUILD FAILED"; $message="State not determined - probably failed or aborted" }; if ( $buildprofile ) { $message=$buildprofile . $message }; return ($buildstate, $message, $buildtime) } xbuilder-1.0.1+nmu1/debian/0000755000000000000000000000000013775354543012333 5ustar xbuilder-1.0.1+nmu1/debian/changelog0000644000000000000000000000710013775354543014203 0ustar xbuilder (1.0.1+nmu1) unstable; urgency=medium * Non maintainer upload by the Reproducible Builds team. * No source change upload to rebuild on buildd with .buildinfo files. -- Holger Levsen Wed, 06 Jan 2021 16:38:11 +0100 xbuilder (1.0.1) unstable; urgency=medium * Update standards version * Bump debhelper compat to 9 -- Wookey Mon, 25 Jul 2016 02:44:56 +0100 xbuilder (1.0) unstable; urgency=low * Update for in-archive/PPA cross-toolchains * Add extra-repository option for builds * Rename generate-html to buildlogs-summarise to avoid clashes * Expand README for release -- Wookey Wed, 12 Nov 2014 17:31:21 +0000 xbuilder (0.9.5) precise; urgency=low * Profile builds supported * Will remove source in bootstrap repo if incoming conflicts are seen -- Wookey Mon, 11 Feb 2013 17:08:13 +0000 xbuilder (0.9.4) precise; urgency=low * Dimstrap will now choose newer sources in bootstrap repo to build -- Wookey Mon, 28 Jan 2013 15:55:47 +0000 xbuilder (0.9.3) precise; urgency=low * Dimstrap bugfixes: more than one version returned, packagelist handling -- Wookey Thu, 24 Jan 2013 10:13:40 +0000 xbuilder (0.9.2) precise; urgency=low * Catch the case of 'no buildstate determined' (generate-html) -- Wookey Mon, 21 Jan 2013 03:04:57 +0000 xbuilder (0.9.1) precise; urgency=low * Improve generate-html comments a little -- Wookey Fri, 18 Jan 2013 17:09:06 +0000 xbuilder (0.9) precise; urgency=low * Improve speed and accuracy of logfile parsing by perlification -- Wookey Fri, 18 Jan 2013 12:21:36 +0000 xbuilder (0.8.1ubuntu1) precise; urgency=low * Set default path to /srv/buildd instead of my home dir. -- Wookey Wed, 21 Nov 2012 11:40:35 +0000 xbuilder (0.8.1) precise; urgency=low * Update build-status for one extra string * Add missing sbuild-status -- Wookey Tue, 20 Nov 2012 15:56:19 +0000 xbuilder (0.8) precise; urgency=low * Add xbuilder-create-chroot command -- Wookey Wed, 27 Jun 2012 01:18:21 +0100 xbuilder (0.7.1) quantal; urgency=low * Make generate html do packagefilters and summaries -- Wookey Tue, 29 May 2012 13:35:52 +0100 xbuilder (0.7) oneiric; urgency=low * Include generate-html script for indexing logfiles -- Wookey Mon, 16 Apr 2012 13:47:28 +0100 xbuilder (0.6.1) oneiric; urgency=low * Update build-status parsing to categorise more packages -- Wookey Wed, 08 Feb 2012 21:02:20 +0000 xbuilder (0.6) oneiric; urgency=low * Include buildd-synclogs rsync script -- Wookey Wed, 25 Jan 2012 12:20:46 +0000 xbuilder (0.5) precise; urgency=low * Add sbuild support * use .dsc files instead of unpacked sources -- Wookey Tue, 17 Jan 2012 18:10:49 +0000 xbuilder (0.4) oneiric; urgency=low * use schroot for clean chroots -- Wookey Tue, 29 Nov 2011 18:35:45 +0000 xbuilder (0.3) natty; urgency=low * Add clean chroot functionality for xdeb builds -- Wookey Thu, 20 Oct 2011 18:25:44 +0100 xbuilder (0.2) natty; urgency=low * Use awk for build status parsing -- Wookey Wed, 05 Oct 2011 09:19:11 +0100 xbuilder (0.1) natty; urgency=low * Initial release. -- Wookey Wed, 28 Sep 2011 15:41:23 +0100 xbuilder-1.0.1+nmu1/debian/compat0000644000000000000000000000000212745270137013521 0ustar 9 xbuilder-1.0.1+nmu1/debian/control0000644000000000000000000000154412745271552013734 0ustar Source: xbuilder Section: utils Priority: optional Maintainer: Wookey Build-Depends: debhelper (>= 9) Standards-Version: 3.9.8 Package: xbuilder Section: utils Architecture: all Depends: sbuild | xdeb | pdebuild-cross, dctrl-tools, ${misc:Depends} Recommends: make Description: Tool to cross-build a list of packages using sbuild, xdeb or pdebuild-cross This package contains scripts to run a batch-job of cross-builds, using various methods, on a list of source packages. It also has a simple cross-bootstraping helper (using build-profiles), and scripts for generating html tables summarising the results of a build run, and generating the packagelists to build. . It is not a proper buildd, or smart in any way, just really a collection of scripts wrtten for a particular task. Nevertheless they remain useful for this particular job. xbuilder-1.0.1+nmu1/debian/copyright0000644000000000000000000000155011640630755014256 0ustar Files: * Licence: GPL-3+ Copyright: Copyright 2010-2011 Wookey License: This package is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . On Debian systems, the complete text of the GNU General Public License can be found in `/usr/share/common-licenses/GPL-3'. xbuilder-1.0.1+nmu1/debian/install0000644000000000000000000000055712431170525013713 0ustar xbuilder-simple ./usr/bin/ xbuilder ./usr/bin xbuilder.cfg ./etc/ xbuilder-synclogs.cfg ./etc/ linkify-filelist ./usr/bin examples ./usr/share/xbuilder/ buildd-synclogs ./usr/bin/ sbuildlogs-summarise ./usr/bin buildlogs-summarise ./usr/bin xbuild-chroot-setup ./usr/sbin/ listsources ./usr/bin dimstrap ./usr/bin dimstrap.cfg ./etc/ README ./usr/share/doc/xbuilder/ xbuilder-1.0.1+nmu1/debian/rules0000755000000000000000000000003711437263767013413 0ustar #!/usr/bin/make -f %: dh $* xbuilder-1.0.1+nmu1/dimstrap0000755000000000000000000000574712106222551012653 0ustar #!/bin/sh timestamp=`date +%Y%m%d-%H%M` configfile=/etc/dimstrap.cfg if [ -f "$configfile" ]; then . "$configfile" else echo "config in $configfile not found - exiting" exit 1 fi if [ "$1" = "" ]; then packagefile=$basepath/../pkgorder else package=$1 fi mkdir -p $basepath/build $basepath/logs cd $basepath/build # upload to repo and run processincoming. remove old source first in case of rebuilds. # Removing src removes builds for all arches, not just host. Proper buildd needed... # The remote distro needs to be set up. Make sure above key matches # local dupload config needs to match repopath and machine too upload () { echo "Uploading ${package}_${version} to ${uploadname}" dupload -f -t ${uploadname} ${package}_${version}_${arch}.changes > /dev/null 2>&1 ssh ${uploadmachine} reprepro -b ${uploadrepopath} processincoming ${incomingrule} || \ ( ssh ${uploadmachine} reprepro -b ${uploadrepopath} removesrc ${suitename} $package && \ ssh ${uploadmachine} reprepro -b ${uploadrepopath} processincoming ${incomingrule} ) } getrepoversion () { #get latest version of Sources files and find current version of package repoURL=http://${uploadmachine}/${repourlpath} for component in $components; do ( cd /tmp; wget -N -q ${repoURL}/dists/${suitename}/${component}/source/Sources.bz2 && \ mv /tmp/Sources.bz2 ${suitename}_${component}_source.bz2 ) done rm -f /tmp/reposource for component in $components; do bzcat /tmp/${suitename}_${component}_source.bz2 >> /tmp/reposource done cat /tmp/reposource | grep-dctrl -P -X -s Version $package | awk '{ print $2 }' | uniq } if [ "$package" = "" ] ; then packagelist=$packagefile else echo $package > /tmp/pkgfile packagelist=/tmp/pkgfile fi #use FD5 instead of stdin to stop ssh stealing the rest of the entries while read package profile <&5; do distro_version=`rmadison -u $distro -s $suite -b source $package | grep source | awk '{ print $3 }' | uniq` repo_version=$(getrepoversion) if dpkg --compare-versions $repo_version gt $distro_version > /dev/null 2>&1; then epochversion=$repo_version else echo "Picked version $distro_version from bootstrap repository." epochversion=$distro_version fi version=`echo $epochversion | cut -d: -f2` if [ "$version" = "" ]; then echo "No such package: ${package}" else sbuild_options="--host=$arch --verbose --nolog -d $suite -c $chroot -k${signkey} " echo -n "Building ${package}_${epochversion} " if [ ! "$profile" = "" ] ; then echo -n "(Profile:$profile) "; sbuild_options="$sbuild_options --profile $profile " fi echo -n "in logs/${package}_${epochversion}-${suite}-${arch}-${timestamp}.log :" if sbuild $sbuild_options ${package}_${epochversion} > ../logs/${package}_${epochversion}-${suite}-${arch}-${timestamp}.log 2>&1; then echo "OK" upload else echo "Build of $package_$version failed" exit 1 fi fi ${basepath}/../buildd-synclogs > /dev/null 2>&1 done 5< $packagelist xbuilder-1.0.1+nmu1/dimstrap.cfg0000644000000000000000000000124712101517567013406 0ustar #config file for dimstrap bootstrapping/crossbuild script # location for build files and logs basepath=/srv/buildd # what to build arch=arm64 suite=raring distro=ubuntu # chroot used to do cross-builds in. chroot=raring-amd64-sbuild # key used to sign packages for repo signkey=BEA7C52D # dupload keyword name for repository uploadname=ubuntu-bootstrap #reprepro incoming rule to be used incomingrule=raring-bootstrap #machine/path where reprepro commands are given uploadmachine=people.debian.org uploadrepopath=~/public_html/bootstrap/ubunturepo/ #http access to repository suitename=raring-bootstrap components="main universe" repourlpath=\~wookey/bootstrap/ubunturepoxbuilder-1.0.1+nmu1/examples/0000755000000000000000000000000012076244510012710 5ustar xbuilder-1.0.1+nmu1/examples/alip-orig.packages0000644000000000000000000000142111446400345016271 0ustar alsa-base alsa-utils alsa-lib alsa-utils bzip2 consolekit dbus dhcp3-client e2fsprogs evolution-data-server expat fontconfig gnome-keyring gnome-mime-data gstreamer0.10-x hal hal-info hdparm libcairo2 libcroco3 libfontenc1 libgcrypt11 libglade2-0 libgpg-error0 libicu42 libidl0 libnl1 libnotify1 libogg0 libpciaccess0 libpixman-1-0 libpng12-0 librsvg2-2 libsexy2 libsoup2.4-1 libtasn1-3 libusb-0.1-4 libwnck22 libx11 libxau6 libxcomposite1 libxcursor1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxfont1 libxft2 libxi6 libxinerama1 libxml2 libxmu6 libxpm4 libxrandr2 libxrender1 libxt6 libxtst6 libxv1 libxxf86dga1 libxxf86vm1 ncurses-base notification-daemon openssh-client openssl ppp python2.6 shared-mime-info sqlite totem udev usbutils wpasupplicant xauth xulrunner-1.9.2 zlib1g xbuilder-1.0.1+nmu1/examples/alipprefs0000644000000000000000000000025211642641203014615 0ustar Package: * Pin: release o=LP-PPA-linaro-foundations-cross-alip Pin-Priority: 600 Package: * Pin: release o=LP-PPA-linaro-foundations-cross-build-tools Pin-Priority: 600 xbuilder-1.0.1+nmu1/examples/buildlist-alip-orig0000644000000000000000000000130211647337714016517 0ustar alsa-driver alsa-utils alsa-lib alsa-utils bzip2 consolekit dbus isc-dhcp e2fsprogs evolution-data-server expat fontconfig gnome-keyring gnome-mime-data gst-plugins-base0.10 hal hal-info hdparm cairo libcroco libfontenc libgcrypt11 libglade2 libgpg-error icu libidl libnl libnotify libogg libpciaccess pixman libpng librsvg libsexy libsoup2.4 libtasn1-3 libusb libwnck libx11 libxau libxcomposite libxcursor libxdamage libxdmcp libxext libxfixes libxfont xft libxi libxinerama libxml2 libxmu libxpm libxrandr libxrender libxt libxtst libxv libxxf86dga libxxf86vm ncurses notification-daemon openssh openssl ppp python2.6 shared-mime-info sqlite totem udev usbutils wpasupplicant xauth xulrunner-1.9.2 zlib xbuilder-1.0.1+nmu1/examples/buildlist-linaro-alip0000644000000000000000000000612611647342150017042 0ustar adduser apt apt base-passwd busybox ca-certificates consolekit coreutils cpio gcc-defaults gcc-4.5 dbus dbus debconf debconf debianutils devio dpkg expat findutils fontconfig fontconfig gcc-4.5 gconf gconf gdebi gdebi gobject-introspection gksu glib-networking gnome-icon-theme gnome-keyring gnome-mime-data gst-plugins-base0.10 gst-plugins-good0.10 gst-plugins-base0.10 hal-info hicolor-icon-theme ifupdown initramfs-tools initramfs-tools sysvinit insserv iproute iputils iso-codes console-setup klibc aalib acl libappindicator alsa-lib atk1.0 atk1.0 attr avahi avahi avahi libavc1394 util-linux libbsd bzip2 eglibc eglibc libcaca cairo libcanberra libcanberra libcap2 cdparanoia consolekit cloog-ppl e2fsprogs libcroco cups curl libdatrie db4.8 dbus dbus-glib libdbusmenu libdbusmenu libdrm libdrm libdrm libdrm libdv libedit libelf libevent expat libffi flac fontconfig libfontenc freetype gcc-4.5 gconf gnome-keyring libgcrypt11 gdk-pixbuf gobject-introspection libgksu mesa glib2.0 gmime2.4 gmp gmp libgnome-keyring gnutls26 gnome-keyring libgpg-error gpm krb5 libgssglue gst-plugins-base0.10 gstreamer0.10 gtk+2.0 gtk+2.0 gtk+2.0 libgtop2 libgtop2 udev libice libidl libidn libiec61883 libindicator jackd2 jasper libjpeg6b krb5 keyutils klibc krb5 krb5 launchpad-integration launchpad-integration openldap liblocale-gettext-perl libtool lua5.1 xz-utils mpclib mpfr4 mtdev nautilus ncurses ncurses libnfsidmap libnih libnih libnl network-manager network-manager network-manager libnotify nspr nss libogg orbit2 orc pam pam pam pam pango1.0 libpcap libpciaccess pcre3 pcsc-lite pixman plymouth libpng policykit-1 policykit-1 policykit-1 ppl0.10 ppl0.10 libproxy python2.7 libquvi libraw1394 readline6 librpcsecgss librsvg librsvg cyrus-sasl2 libselinux libsepol libshout slang2 libsm libsoup2.4 libsoup2.4 speex sqlite sqlite3 openssl startup-notification gcc-4.5 sysfsutils taglib taglib libtasn1-3 tdb libtext-charwidth-perl libtext-iconv-perl libtext-wrapi18n-perl libthai libthai libtheora tiff totem-pl-parser udev libunique libusb utouch-evemu utouch-frame utouch-grail util-linux v4l-utils libvisual libvorbis libvorbis libvorbis vte vte wavpack libwnck libwnck tcp-wrappers libx11 libx11 libxau libxaw xcb-util xcb-util xcb-util libxcb libxcb libxcb libxcb libxcomposite libxcursor libxdamage libxdmcp libxext libxfixes libxfont xft libxi libxinerama libxkbfile libxml2 libxmu libxmu libxpm libxrandr libxrender libxres libxt libxtst libxv libxxf86dga libxxf86vm lsb makedev mime-support module-init-tools mountall eglibc ncurses net-tools netbase network-manager nfs-utils notification-daemon openssh openssl shadow perl plymouth policykit-1 policykit-1-gnome portmap ppp procps psmisc python-defaults python-apt python-apt pycairo chardet python-debian pygobject pygtk python-defaults python-support vte python2.6 python2.6 python2.7 python2.7 readline6 sed sensible-utils shared-mime-info sqlite sudo sysvinit sysvinit totem totem tslib ttf-dejavu tzdata ubuntu-keyring ucf udev upstart util-linux wpasupplicant x11-apps xorg x11-utils x11-xkb-utils xauth xkeyboard-config xorg-server xorg-server xserver-xorg-input-evdev xtrans xz-utils zlib xbuilder-1.0.1+nmu1/examples/buildlist-linaro-nano0000644000000000000000000000140711647555312017053 0ustar adduser apt base-passwd bash busybox ca-certificates consolekit coreutils cpio dash debconf debianutils diffutils dpkg e2fsprogs findutils gcc-4.5 eglibc gnupg ifupdown initramfs-tools sysvinit insserv iproute iputils isc-dhcp kbd acl attr bzip2 libcap2 db4.8 dbus libdrm libdrm eglibc glib2.0 klibc liblocale-gettext-perl ncurses newt libnih pam pcre3 plymouth libpng popt readline6 libselinux libsepol slang2 e2fsprogs openssl libtext-charwidth-perl libtext-iconv-perl libtext-wrapi18n-perl libusb shadow lsb makedev mawk module-init-tools mountall net-tools netbase netcat-openbsd ntp shadow perl procps python-defaults python2.7 rsyslog sed sensible-utils sudo sysvinit tar tzdata ubuntu-keyring ucf udev upstart util-linux xfonts-terminus xkeyboard-config xz-utils zlib xbuilder-1.0.1+nmu1/examples/configs/0000755000000000000000000000000012431174373014344 5ustar xbuilder-1.0.1+nmu1/examples/configs/Makefile0000755000000000000000000000106012431174367016007 0ustar #!/usr/bin/make # for use with buildd-synclogs. # Put this at the top of your buildd flavour tree REPOFILTERS=$(BASE)/$(REPO)/conf/filters status.html: *.log sbuildlog-generate-html > status.html status-bootstrap.html: *.log sbuildlog-generate-html --pkgfilter=$(REPOFILTERS)/bootstrap > status-bootstrap.html # status-gsoc.html: *.log # sbuildlog-generate-html --pkgfilter=$(REPOFILTERS)/quantal-gsoc > status-gsoc.html # status-ubuntucore.html: *.log # sbuildlog-generate-html --pkgfilter=$(REPOFILTERS)/ubuntu-core.required > status-ubuntucore.html xbuilder-1.0.1+nmu1/examples/configs/natty-builder.sh0000755000000000000000000000340511651303244017462 0ustar #!/bin/sh set -e # This setup script is an alternative method of adjusting the tarball # contents immediately after multistrap has unpacked the packages. # At this stage, any operations inside the rootfs must not try to # execute any binaries within the rootfs. # The script is called with the following arguments: # $1 = $DIR - the top directory of the debootstrapped system # $2 = $ARCH - the specified architecture, already checked with dpkg-architecture. # setup.sh needs to be executable. TARGET=$1 if [ -x "$TARGET/sbin/initctl" ]; then mv "$TARGET/sbin/start-stop-daemon" "$TARGET/sbin/start-stop-daemon.REAL" echo \ "#!/bin/sh echo echo echo \"Warning: Fake start-stop-daemon called, doing nothing\"" > "$TARGET/sbin/start-stop-daemon" chmod 755 "$TARGET/sbin/start-stop-daemon" fi if [ -x "$TARGET/sbin/initctl" ]; then mv "$TARGET/sbin/initctl" "$TARGET/sbin/initctl.REAL" echo \ "#!/bin/sh echo echo \"Warning: Fake initctl called, doing nothing\"" > "$TARGET/sbin/initctl" chmod 755 "$TARGET/sbin/initctl" fi # put in apt preferences to favour cross-PPA cp alipprefs $TARGET/etc/apt/preferences.d/ cat $TARGET/etc/apt/sources.list.d/* > $TARGET/etc/apt/sources.list rm $TARGET/etc/apt/sources.list.d/* #need to fix up sudo to allow NOPASWD by default #(add to group sudo?) allow apt-get and dpkg -i # and run # update-alternatives --quiet --remove arm-linux-gnueabi-gcc /usr/bin/arm-linux-gnueabi-gcc-4.5 # update-alternatives --quiet --remove arm-linux-gnueabi-gcov /usr/bin/arm-linux-gnueabi-gcov-4.5 #to set-up arm-linux-gnueabi-gcc to be linked to arm-linux-gnueabi-gcc-4.5 #reinstall binutils-multiarch? # set sudo to NOPASSWD #replace #-%sudo ALL=(ALL:ALL) ALL #+%sudo ALL=NOPASSWD: ALL #unsure apt-get update is run once. xbuilder-1.0.1+nmu1/examples/configs/xbuilder-oneiric.conf0000644000000000000000000000100111647603215020447 0ustar [General] arch=amd64 include=/usr/share/multistrap/ubuntu/armel.conf bootstrap=LinaroCrosstools aptsources=LinaroALIPPPA setupscript=buildchroot.sh [LinaroCrosstools] packages=xdeb dpkg-cross source=http://ppa.launchpad.net/linaro-foundations/cross-build-tools/ubuntu suite=natty components=main keyring=linaro-foundations-keyring [LinaroALIPPPA] packages= source=[arch=amd64,armel] http://ppa.launchpad.net/linaro-foundations/cross-alip/ubuntu suite=oneiric components=main keyring=linaro-foundations-keyring xbuilder-1.0.1+nmu1/examples/configs/xbuilder.conf0000644000000000000000000000220211650055156017024 0ustar [General] bootstrap=LinaroCrosstools Ubuntu aptsources=LinaroALIPPPA LinaroCrosstools Ubuntu UbuntuPorts setupscript=/usr/share/xbuilder/exmaples/configs/natty-builder.sh cleanup=true retainsources= unpack=true [LinaroCrosstools] packages=xdeb dpkg-cross source=http://ppa.launchpad.net/linaro-foundations/cross-build-tools/ubuntu suite=natty components=main keyring=linaro-foundations-keyring [LinaroALIPPPA] packages= source=[arch=amd64,armel] http://ppa.launchpad.net/linaro-foundations/cross-alip/ubuntu suite=natty components=main keyring=linaro-foundations-keyring [UbuntuToolchains] packages=g++-arm-linux-gnueabi libc-dev-armel-cross linux-libc-dev-armel-cross source=http://archive.ubuntu.com/ubuntu suite=natty components=main universe keyring=ubuntu-keyring [Ubuntu] packages=dpkg-dev build-essential fakeroot binutils-multiarch dpkg-cross ubuntu-keyring gnupg xapt realpath source=http://archive.ubuntu.com/ubuntu keyring=ubuntu-keyring suite=natty components=main universe omitdebsrc=false [Ubuntuports] packages= source=[arch=armel] http://ports.ubuntu.com/ keyring=ubuntu-keyring suite=natty components=main universe omitdebsrc=false xbuilder-1.0.1+nmu1/examples/dimstrap/0000755000000000000000000000000012076244742014542 5ustar xbuilder-1.0.1+nmu1/examples/dimstrap/dupload.conf0000644000000000000000000000120012076244651017031 0ustar # This is the configuration for dupload. # Note: hooks can also be defined in a per-host basis, this # example snippets to go into a dupload.conf file for use with dimstrap $cfg{'debian-bootstrap'} = { fqdn => "people.debian.org", method => "scpb", incoming => "~/public_html/bootstrap/debianrepo/incoming/", # files pass on to dinstall on ftp-master which sends emails itself dinstall_runs => 1, }; $cfg{'ubuntu-bootstrap'} = { fqdn => "people.debian.org", method => "scpb", incoming => "~/public_html/bootstrap/ubunturepo/incoming/", # files pass on to dinstall on ftp-master which sends emails itself dinstall_runs => 1, }; xbuilder-1.0.1+nmu1/examples/dimstrap/pkgorder0000644000000000000000000000361212073604174016300 0ustar make sure we have libgcc1:arm64 libstc++:arm64 equivs attr acl tcl8.5 zlib libtool pcre3 hostname libsepol mawk gpm ifupdown insserv module-init-tools python-defaults libselinux ncurses bash libpciaccess libpng slang2 base-files makedev make-dfsg xz-utils dpkg time manpages diffutils tar cpio gmp gdbm sed tzdata base-passwd coreutils findutils libnfnetlink libffi iptables libelf debconf debianutils readline6 sqlite3 netbase openssl procps db5.1 expat bzip2 python2.7 lsb netkit-telnet x11proto-core libxau libpthread-stubs libxdmcp libxcb sysvinit sensible-utils x11proto-xf86bigfont x11proto-input x11proto-xext xtrans x11proto-kb libx11 freetype fontconfig dropbear pixman util-linux libice libsm x11proto-render libxrender libxt glib2.0 cairo flex libusb dbus gobject-introspection adduser udev dash sed tcp-wrappers libbsd nano openbsd-inetd libnih bash module-init-tools gzip upstart less sysfsutils iputils librelp cracklib2 db-defaults pam shadow netcat-openbsd console-setup language-support-en libxml2 gdbm initramfs-tools hunspell-en-us langpack-locales language-support-writing-en openoffice.org-dictionaries grep e2fsprogs openoffice.org-en-au scowl update-inetd net-tools perl wget libfile-temp-perl ubuntu-keyring libfile-copy-recursive-perl libcap2 libtext-iconv-perl dialog libcurses-perl liblist-moreutils-perl libcurses-ui-perl libedit netkit-ftp libterm-readkey-perl ntp unixodbc openslp-dfsg libtasn1-3 libgpg-error libgcrypt11 gnutls26 libxslt krb5 sqlite cyrus-sasl2 openldap sudo isc-dhcp linux-atm iproute rsyslog ucf popt libalgorithm-diff-xs-perl fakeroot libtimedate-perl patch apr ossp-uuid freetds mysql-5.1 postgresql-8.4 apr-util keyutils libidn libjpeg8 apache2 file libplrpc-perl tidy libdbi-perl psmisc mysql-5.1 libdbd-mysql-perl aspell libnet-daemon-perl ssl-cert postgresql-common icu curl gnupg build-essential php5 libmcrypt php-mcrypt dbconfig-common mootools phpmyadmin fuse rtsm-fuse xbuilder-1.0.1+nmu1/examples/dimstrap/reprepro/0000755000000000000000000000000012076245352016376 5ustar xbuilder-1.0.1+nmu1/examples/dimstrap/reprepro/debian/0000755000000000000000000000000012076245467017627 5ustar xbuilder-1.0.1+nmu1/examples/dimstrap/reprepro/debian/distributions0000644000000000000000000000070112076245401022436 0ustar Codename: unstable-bootstrap Label: Multiarch cross-bootstrap packages Version: 12.10 Architectures: armel armhf arm64 amd64 source Components: main UdebComponents: main Description: Local Debian unstable multiarch-bootstrap cross-builds SignWith: BEA7C52D Uploaders: uploaders DebIndices: Packages Release . .gz .bz2 DscIndices: Sources Release .gz .bz2 Update: debian-upstream Tracking: all includechanges Log: logfile # --changes bin/upload_log xbuilder-1.0.1+nmu1/examples/dimstrap/reprepro/debian/filters/0000755000000000000000000000000012076245347021274 5ustar xbuilder-1.0.1+nmu1/examples/dimstrap/reprepro/debian/filters/bootstrap0000644000000000000000000000243612076245322023232 0ustar acl install adduser install attr install base-files install base-passwd install bash install binutils install build-essential install busybox install bzip2 install coreutils install cpio install dash install db install dbus install debconf install debianutils install diffutils install dpkg install e2fsprogs install eglibc install file install findutils install fuse install gcc-defaults install gpm install gnupg install grep install gzip install hostname install ifupdown install initramfs-tools install insserv install iproute install iputils install isc-dhcp install klibc install langpack-locales install libdrm install libffi install libnih install libpciaccess install libpng install libselinux install libsepol install libsigsegv install lsb install make-dfsg install mawk install mime-support install module-init-tools install mountall install mpclib install mpfr4 install nano install ncurses install openssl install pam install patch install pcre3 install perl install plymouth install procps install python2.7 install python-defaults install rsyslog install sed install shadow install slang2 install sysvinit install tar install udev install upstart install util-linux install wget install xz-utils install zlib install xbuilder-1.0.1+nmu1/examples/dimstrap/reprepro/debian/incoming0000644000000000000000000000017612076245446021356 0ustar Name: unstable-bootstrap IncomingDir: incoming Allow: unstable->unstable-bootstrap Default: unstable-bootstrap Tempdir: /tmp xbuilder-1.0.1+nmu1/examples/dimstrap/reprepro/debian/options0000644000000000000000000000001012076245310021217 0ustar verbose xbuilder-1.0.1+nmu1/examples/dimstrap/reprepro/debian/updates0000644000000000000000000000033612076245465021217 0ustar Name: unstable-upstream Method: http://ftp.uk.debian.org/debian Suite: unstable Components: main #VerifyRelease: 40976EAF437D05B5 VerifyRelease: blindtrust Architectures: source FilterSrcList: deinstall filters/bootstrap xbuilder-1.0.1+nmu1/examples/dimstrap/reprepro/debian/uploaders0000644000000000000000000000003012076245311021525 0ustar allow * by key BEA7C52D xbuilder-1.0.1+nmu1/examples/dimstrap/reprepro/ubuntu/0000755000000000000000000000000012076245125017716 5ustar xbuilder-1.0.1+nmu1/examples/dimstrap/reprepro/ubuntu/distributions0000644000000000000000000000074312076245053022547 0ustar Codename: raring-bootstrap Label: Multiarch cross-bootstrap packages Version: 12.10 Architectures: armel armhf arm64 amd64 i386 source Components: main universe UdebComponents: main universe Description: Local Raring multiarch-bootstrap cross-builds SignWith: BEA7C52D Uploaders: uploaders DebIndices: Packages Release . .gz .bz2 DscIndices: Sources Release .gz .bz2 Update: raring-upstream Pull: promotetoraring Tracking: all includechanges Log: logfile # --changes bin/upload_log xbuilder-1.0.1+nmu1/examples/dimstrap/reprepro/ubuntu/filters/0000755000000000000000000000000012076245201021361 5ustar xbuilder-1.0.1+nmu1/examples/dimstrap/reprepro/ubuntu/filters/bootstrap0000644000000000000000000000312312076245153023326 0ustar acl install adduser install attr install base-files install base-passwd install bash install binutils install build-essential install busybox install bzip2 install coreutils install cpio install dash install db install dbus install debconf install debianutils install diffutils install dpkg hold e2fsprogs install eglibc install findutils install fuse install gcc-4.7 install gcc-defaults install gdbm install glib2.0 install gmp install gnupg install grep install gzip install hostname install ifupdown install initramfs-tools install insserv install iproute install klibc install langpack-locales install libalgorithm-diff-perl install libalgorithm-diff-xs-perl install libalgorithm-merge-perl install libclass-isa-perl install libdrm install libffi install libfile-fcntllock-perl install libgc install libnih install libpciaccess install libpng install libselinux install libswitch-perl install libtimedate-perl install libusb install libsepol install lsb install makedev install make-dfsg install manpages install mawk install module-init-tools install mountall install mpclib install mpfr4 install nano install ncurses install netbase install openssl install pam install patch install pcre3 install perl install plymouth install procps install python2.7 install python-defaults install sed install sensible-utils install shadow install slang2 install sysvinit install tar install tzdata install ubuntu-keyring install udev install upstart install util-linux install xz-utils install zlib install libblkid install lzma install xbuilder-1.0.1+nmu1/examples/dimstrap/reprepro/ubuntu/filters/pullfilter0000644000000000000000000000003612076245153023473 0ustar crossbuild-essential install xbuilder-1.0.1+nmu1/examples/dimstrap/reprepro/ubuntu/incoming0000644000000000000000000000022012076245064021440 0ustar Name: raring-bootstrap IncomingDir: incoming Allow: raring->raring-bootstrap unstable->raring-bootstrap Default: raring-bootstrap Tempdir: /tmp xbuilder-1.0.1+nmu1/examples/dimstrap/reprepro/ubuntu/options0000644000000000000000000000001012076245026021323 0ustar verbose xbuilder-1.0.1+nmu1/examples/dimstrap/reprepro/ubuntu/pulls0000644000000000000000000000015212076245026020776 0ustar Name: promotetoraring From: quantal-bootstrap Architectures: amd64 FilterList: install filters/pullfilter xbuilder-1.0.1+nmu1/examples/dimstrap/reprepro/ubuntu/updates0000644000000000000000000000033412076245116021306 0ustar Name: raring-upstream Method: http://archive.ubuntu.com/ubuntu Suite: quantal Components: main #VerifyRelease: 40976EAF437D05B5 VerifyRelease: blindtrust Architectures: source FilterSrcList: deinstall filters/bootstrap xbuilder-1.0.1+nmu1/examples/dimstrap/reprepro/ubuntu/uploaders0000644000000000000000000000003012076245027021631 0ustar allow * by key BEA7C52D xbuilder-1.0.1+nmu1/examples/linaro-alip.packages0000644000000000000000000001004411624522130016611 0ustar adduser apt apt-utils base-passwd busybox-initramfs ca-certificates consolekit coreutils cpio cpp cpp-4.5 dbus dbus-x11 debconf debconf-i18n debianutils devio dpkg expat findutils flash-kernel fontconfig fontconfig-config gcc-4.5-base gconf2 gconf2-common gdebi gdebi-core gir1.2-glib-2.0 gksu glib-networking gnome-icon-theme gnome-keyring gnome-mime-data gstreamer0.10-plugins-base gstreamer0.10-plugins-good gstreamer0.10-x hal-info hicolor-icon-theme ifupdown initramfs-tools initramfs-tools-bin initscripts insserv iproute iputils-arping iso-codes keyboard-configuration klibc-utils libaa1 libacl1 libappindicator1 libasound2 libatk1.0-0 libatk1.0-data libattr1 libavahi-client3 libavahi-common-data libavahi-common3 libavc1394-0 libblkid1 libbsd0 libbz2-1.0 libc-bin libc6 libcaca0 libcairo2 libcanberra-gtk0 libcanberra0 libcap2 libcdparanoia0 libck-connector0 libcloog-ppl0 libcomerr2 libcroco3 libcups2 libcurl3-gnutls libdatrie1 libdb4.8 libdbus-1-3 libdbus-glib-1-2 libdbusmenu-glib3 libdbusmenu-gtk3 libdrm-intel1 libdrm-nouveau1a libdrm-radeon1 libdrm2 libdv4 libedit2 libelfg0 libevent-1.4-2 libexpat1 libffi5 libflac8 libfontconfig1 libfontenc1 libfreetype6 libgcc1 libgconf2-4 libgcr0 libgcrypt11 libgdk-pixbuf2.0-0 libgirepository-1.0-1 libgksu2-0 libgl1-mesa-glx libglib2.0-0 libgmime-2.4-2 libgmp3c2 libgmpxx4ldbl libgnome-keyring0 libgnutls26 libgp11-0 libgpg-error0 libgpm2 libgssapi-krb5-2 libgssglue1 libgstreamer-plugins-base0.10-0 libgstreamer0.10-0 libgtk2.0-0 libgtk2.0-bin libgtk2.0-common libgtop2-7 libgtop2-common libgudev-1.0-0 libice6 libidl0 libidn11 libiec61883-0 libindicator3 libjack-jackd2-0 libjasper1 libjpeg62 libk5crypto3 libkeyutils1 libklibc libkrb5-3 libkrb5support0 liblaunchpad-integration-common liblaunchpad-integration1 libldap-2.4-2 liblocale-gettext-perl libltdl7 liblua5.1-0 liblzma2 libmpc2 libmpfr4 libmtdev1 libnautilus-extension1 libncurses5 libncursesw5 libnfsidmap2 libnih-dbus1 libnih1 libnl1 libnm-glib-vpn1 libnm-glib2 libnm-util1 libnotify1 libnspr4 libnss3 libogg0 liborbit2 liborc-0.4-0 libpam-modules libpam-modules-bin libpam-runtime libpam0g libpango1.0-0 libpcap0.8 libpciaccess0 libpcre3 libpcsclite1 libpixman-1-0 libplymouth2 libpng12-0 libpolkit-agent-1-0 libpolkit-backend-1-0 libpolkit-gobject-1-0 libppl-c2 libppl7 libproxy0 libpython2.7 libquvi0 libraw1394-11 libreadline6 librpcsecgss3 librsvg2-2 librsvg2-common libsasl2-2 libselinux1 libsepol1 libshout3 libslang2 libsm6 libsoup-gnome2.4-1 libsoup2.4-1 libspeex1 libsqlite0 libsqlite3-0 libssl0.9.8 libstartup-notification0 libstdc++6 libsysfs2 libtag1-vanilla libtag1c2a libtasn1-3 libtdb1 libtext-charwidth-perl libtext-iconv-perl libtext-wrapi18n-perl libthai-data libthai0 libtheora0 libtiff4 libtotem-plparser17 libudev0 libunique-1.0-0 libusb-0.1-4 libutouch-evemu1 libutouch-frame1 libutouch-grail1 libuuid1 libv4l-0 libvisual-0.4-0 libvorbis0a libvorbisenc2 libvorbisfile3 libvte-common libvte9 libwavpack1 libwnck-common libwnck22 libwrap0 libx11-6 libx11-data libxau6 libxaw7 libxcb-atom1 libxcb-aux0 libxcb-event1 libxcb-render0 libxcb-shape0 libxcb-shm0 libxcb1 libxcomposite1 libxcursor1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxfont1 libxft2 libxi6 libxinerama1 libxkbfile1 libxml2 libxmu6 libxmuu1 libxpm4 libxrandr2 libxrender1 libxres1 libxt6 libxtst6 libxv1 libxxf86dga1 libxxf86vm1 lsb-base makedev mime-support module-init-tools mountall multiarch-support ncurses-bin net-tools netbase network-manager nfs-common notification-daemon openssh-client openssl passwd perl-base plymouth policykit-1 policykit-1-gnome portmap ppp procps psmisc python python-apt python-apt-common python-cairo python-chardet python-debian python-gobject python-gtk2 python-minimal python-support python-vte python2.6 python2.6-minimal python2.7 python2.7-minimal readline-common sed sensible-utils shared-mime-info sqlite sudo sysv-rc sysvinit-utils totem totem-common tsconf ttf-dejavu-core tzdata ubuntu-keyring ucf udev upstart util-linux wpasupplicant x11-apps x11-common x11-utils x11-xkb-utils xauth xkb-data xserver-common xserver-xorg-core xserver-xorg-input-evdev xtrans-dev xz-utils zlib1g xbuilder-1.0.1+nmu1/examples/linaro-nano.packages0000644000000000000000000000157411640140252016626 0ustar adduser apt base-passwd busybox-initramfs ca-certificates consolekit coreutils cpio dash debconf debianutils diffutils dpkg e2fslibs findutils gcc-4.5-base gnupg ifupdown initramfs-tools initscripts insserv iproute iputils-ping isc-dhcp-client kbd klibc-utils libacl1 libattr1 libbz2-1.0 libcap2 libdb4.8 libdbus-1-3 libdrm-intel1 libdrm2 libglib2.0-0 libklibc liblocale-gettext-perl libncurses5 libnewt0.52 libnih-dbus1 libpam0g libpcre3 libplymouth2 libpng12-0 libpopt0 libreadline6 libselinux1 libsepol1 libslang2 libss2 libssl0.9.8 libtext-charwidth-perl libtext-iconv-perl libtext-wrapi18n-perl libusb-0.1-4 login lsb-base makedev mawk module-init-tools mountall net-tools netbase netcat-openbsd ntpdate passwd perl-base procps python-minimal python2.7-minimal rsyslog sed sensible-utils sudo sysvinit-utils tar tzdata ubuntu-keyring ucf udev upstart util-linux xkb-data xz-utils zlib1g xbuilder-1.0.1+nmu1/linkify-filelist0000755000000000000000000000030211712541553014274 0ustar #!/usr/bin/awk -f BEGIN { FS=" : "; print ""; } // { print ""; } END { print "
"$1""$2"
"; }xbuilder-1.0.1+nmu1/listsources0000755000000000000000000000117512041255673013407 0ustar #!/bin/sh here=`pwd` usage() { echo "usage: $@ " echo "inputfile contains a list of packages, binaries, or source" echo "output file will contain a sorted, de-duped list of corresponding source packages" exit 1 } if [ -z "$1" ] || [ -z "$2" ]; then usage; fi rm -f $2 for package in `cat $1` do echo -n "finding source for $package:" sourcepackage=`grep-aptavail -X -FSource -FPackage $package -s Source:Package | awk '{ print $2 }' | sort | uniq` if [ -z "${sourcepackage}" ]; then echo "No source found for $package"; else echo ${sourcepackage} >> $2 echo " ${sourcepackage}" fi donexbuilder-1.0.1+nmu1/sbuildlogs-summarise0000755000000000000000000002365312431154654015207 0ustar #!/usr/bin/perl # noddy script to generate html summary page of logs use strict; use warnings; use diagnostics; use POSIX qw(strftime); use Getopt::Long; use vars qw($package $version $arch $date $datestring $buildstate $message $summarystate $today $todayreadable $now %loglist $logname @packages $buildok $unneeded $builddeps $sourcefail $buildfail $packagecount %pkgfilter $pkgfilter $pkg $pkgstatus $logregex $buildtime); # allow specifying a (reprepro) package filter GetOptions( "pkgfilter=s" => \$pkgfilter); # --pkgfilter=filename if ($pkgfilter && -r $pkgfilter) { open (FILTER,"<", "$pkgfilter") or die "Can't open $pkgfilter: $!"; while () { chomp; ($pkg, $pkgstatus)=split; $pkgfilter{$pkg}=1; } close FILTER; } #my ($day, $month, $year) = (localtime)[3,4,5]; #my $today = sprintf("%04d%02d%02d", $year+1900, $month+1, $day); my $today = strftime( "%Y%m%d", localtime); my $todayreadable = readabledate($today); # regex to cope with rebuildd's annoying log-file naming scheme with # dash separators and dashes in version strings and distronames. # dashes in version are always followed by a digit # reponames always start with a letter my $rebuilddlogregex = qr/^ # start ([\S]+) # package ($1) _ # package_ver separator ( # version number ($2) ( [:\w\d\.\+~] # chars in version strings | # or -(?=\d) # a dash with a digit after it ($3, annoyingly) )+ # at least one character ) - # dash separator ([-\w]+) # repo name (including dashes) $4 - # dash separator (\w+) # architecture $5 - # dash separator (\d{8}) # date (20120522) $6 - # dash separator (\d\d)(\d\d).* # hours and minutes $7 $8 $ # end /x ; # (allowing multiline comments) my $sbuildlogregex = qr/^ # start ([\S]+) # package ($1) .log # package_ver separator $ # end /x ; # (allowing multiline comments) print "Multiarch Cross-buildd logs\n"; print "

Build logs by packagename

Generated $todayreadable

\n"; if ($pkgfilter) {print "

Package list filtered by $pkgfilter.

";} print "

Summary count

\n"; print "
"; print "\n"; # parse all the logfiles, noting one per package my @files =<*.log>; foreach $logname (@files) { $package=$version=$arch=$date=$datestring=""; if ($logname =~ m/$sbuildlogregex/) { $package=$1; } $loglist{$package} = $logname unless ($pkgfilter && ! exists $pkgfilter{$package}); } my $packagecount=$buildok=$unneeded=$builddeps=$sourcefail=0; # parse noted logs and print into page @packages = sort (keys %loglist); foreach $package (@packages) { $logname = $loglist{$package}; $packagecount++; $package=$version=$arch=$date=$datestring=""; if ($logname =~ m/$sbuildlogregex/) { $package=$1; } ($buildstate,$message,$buildtime,$version,$arch,$date) = parselog($logname); $summarystate=$buildstate; if ($summarystate eq "BUILD OK") {$buildok++} if ($summarystate eq "NOT ATTEMPTED") {$unneeded++} if ($summarystate eq "BUILD DEPS FAILED") {$builddeps++} if ($summarystate eq "SOURCE FAILED") {$sourcefail++} print "\n"; } $buildfail=$packagecount-($buildok+$unneeded+$builddeps+$sourcefail); print "
PackageVersionArchitectureDateSummaryMessage
$package$version$arch".readabledate($date)."$summarystate$message
\n

Of $packagecount source packages: Build OK: $buildok, Build Failed: $buildfail, Deps failed: $builddeps, Not needed(Arch:all): $unneeded, No Source: $sourcefail

"; print "

  • Build OK: The source package cross-built
  • Build Failed: A cross-build was attempted but did not succeed
  • Deps Failed: The cross-build dependencies could not be installed, so no build attempted
  • Source Failed: the correct version of source was not available (usually a transient issue)

\n"; sub cellcolour { my $state=$_[0]; my $col="#FFFFFF"; if ($state eq "BUILD DEPS FAILED") {$col="#FF6600";} # orange if ($state eq "BUILD OK") {$col="#00FF33";} # green if ($state eq "NOT ATTEMPTED") {$col="#CCFF33";} # light green if ($state eq "BUILD FAILED") {$col="#CC0000";} # red if ($state eq "SOURCE FAILED") {$col="#FFFF66";} # yellow return ("bgcolor=\"$col\""); } sub readabledate { my $date=$_[0]; if ( length($date)==8 ) { return substr($date, 0,4)."-".substr($date, 4,2)."-".substr($date, 6,2); }; } # parse a build log for build-stage info and errors # takes a filehandle sub parselog { my ($enddate,$endtime,$block,$diskspace,$buildtime,$buildstate,$misseddeps,$message,$buildprofile) = ("","","","","","","","",""); my ($arch,$version,$date) = ("","",""); open (LOG,"<", "$logname") or die "Can't open $logname: $!"; while () { my $line= $_; # print("parsing line:".$_); if ( $line =~ /^│ (Changes|Package contents|Update chroot|Fetch source files|Install core build dependencies|Install cross build-dependencies|Build environment|Build|Summary|Cleanup) .*$/) { $block = $1 }; SWITCH: { $block eq "Fetch source files" && do { if ( $line =~ /^Can't find source for (.*)$/ ) { $buildstate="SOURCE FAILED"; $message="$line" }; last SWITCH; }; (($block eq "Install cross build-dependencies") || ( $block eq "Install core build dependencies" )) && do { # if ( $line =~ /^$/ ) { }; if ( $line =~ /APT::Build-Profile=(\w+)/ ) { $buildprofile="Build Profile: $1. " }; if ( $line =~ /^ (.*) but it is not (installable|going to be installed)$/ ) { $buildstate="BUILD DEPS FAILED"; $message="$line" }; if ( $line =~ /dpkg: error processing ([\w\.-]+) (--configure):/ ) { $buildstate="BUILD DEPS FAILED"; $message="Build-deps failed to install. Possibly: $1" }; # should only use this if above one failed to get a message - how to do? if ( $line =~ /^E: Failed to process build dependencies$/ && $message eq "" ) { $buildstate="BUILD DEPS FAILED"; $message="Build-deps failed to install" }; # if ( $line =~ /^ (.*) but it is not going to be installed$/ ) { $buildstate="BUILD DEPS FAILED"; $message="$line" }; if ( $line =~ /^E: Build-Depends dependency for ([\w\.-]+) cannot be satisfied because the package ([\w\.-]+) cannot be found$/ ) { $buildstate="BUILD DEPS FAILED"; $message="package $2 cannot be found" }; last SWITCH; }; $block eq "Build" && do { if ( $line =~ /^dpkg-checkbuilddeps: Unmet build dependencies: (.*)$/ ) { $buildstate="BUILD DEPS FAILED"; $message="dpkg-checkbuildeps missing: $1" }; if ( $line =~ /^strip: Unable to recognise the format of the input file/ ) { $buildstate="BUILD FAILED"; $message="Wrong-architecture strip for binary" }; if ( $line =~ /binary-is-wrong-architecture/ ) { $buildstate="BUILD FAILED"; $message="Wrong-architecture binaries found" }; if (( $line =~ /^E: Build failure \(dpkg-buildpackage died\)$/ ) && $message eq "") { $buildstate="BUILD FAILED"; $message="dpkg-buildpackage failed" }; if ( $line =~ /^I: Built successfully/ ) { $buildstate="BUILD OK" }; last SWITCH; }; $block eq "Cleanup" && do { if ( $line =~ /^E: .*: ([\w-]+) not in arch list or does not match any arch wildcards: (.*) -- skipping$/ ) { $buildstate="NOT ATTEMPTED"; $message="$1 not in arch list for this package" }; last SWITCH; }; $block eq "Summary" && do { # if ( $line =~ /^Build started at ([\d-]+) ([\d:]+).\d*$/ ) { ($startday,$starttime) = ($1,$2) }; if ( $line =~ /^Version: ([\S]+)$/ ) { $version=$1 }; if ( $line =~ /^Host Architecture: ([\S]+)$/ ) { $arch=$1 }; if ( $line =~ /^Build needed ([\d:]+), (\d+)k disc space$/ ) { ($buildtime, $diskspace) = ($1,$2) }; if ( $line =~ /^Finished at (\d{8})-(\d{4})$/ ) { ($enddate, $endtime) = ($1,$2) }; last SWITCH; }; # Not in sbuild block so probably a manual build log $block eq "" && do { if ( $line =~ /^dpkg-buildpackage: binary only upload/ ) { $buildstate="BUILD OK"; $message="Manual build" }; # for manual builds done outside sbuild if ( $line =~ /^I: Built successfully/ ) { $buildstate="BUILD OK"; $message="Manual build" }; # for manual builds done outside sbuild if ( $line =~ /^Build Profile: (\w+)$/ ) { $buildprofile="Build Profile: $1. " }; if ( $line =~ /DEB_BUILD_PROFILE=(\w+)/ ) { $buildprofile="Build Profile: $1. " }; last SWITCH; }; } if ( $line =~ /^E: ABORT: Received INT signal \(requesting cleanup and shutdown\)$/ ) { $buildstate="ABORTED"; $message="build interrupted" }; } close (LOG); if ( $buildstate eq "" ) { $buildstate="BUILD FAILED"; $message="State not determined - probably failed or aborted" }; if ( $buildprofile ) { $message=$buildprofile . $message }; return ($buildstate, $message, $buildtime, $version, $arch, $enddate) } xbuilder-1.0.1+nmu1/xbuild-chroot-setup0000755000000000000000000000567312430713662014757 0ustar #!/bin/bash -e USER=`whoami` ARCH=`dpkg-architecture -qDEB_BUILD_ARCH` MIRROR=http://http.debian.net/debian PORTMIROR=http://http.debian.net/debian #SUITE=testing #MIRROR=http://archive.ubuntu.com/ubuntu #PORTMIRROR=http://ports.ubuntu.com/ubuntu-ports #DIR=/srv/chroots/precise-cross #SUITE=precise if [ "$(id -u)" != "0" ]; then echo "This script must be run as root" 1>&2 exit 1 fi # script to set up a Multiarch sbuild cross-chroot usage() { echo "Usage: ${0##*/} distro chroot-path [--with-qemu] [--mirror=mirror]" exit 1 } if [ -z "$1" ] || [ -z "$2" ]; then usage 1 NEEDSUITETARGET "You must specify a suite and a target." fi SUITE="$1" DIR="$2" if [ $# != 0 ] ; then while true ; do case "$1" in --help) usage exit 0 ;; --with-qemu) QEMU=true shift ;; --mirror|--mirror=?*) if [ "$1" = "--mirror" -a -n "$2" ] ; then MIRROR="$2" shift 2 elif [ "$1" != "${1#--mirror=}" ]; then MIRROR="${1#--mirror=}" shift else error 1 NEEDARG "option requires an argument %s" "$1" fi ;; --*) error 1 BADARG "unrecognized or invalid option %s" "$1" ;; *) break ;; esac done fi echo -e "Making multiarch cross-building chroot for use with sbuild\n Distro: $SUITE\n Chroot created in: $DIR\nPackages retreived from: $MIRROR" if [ "QEMU" = "true" ]; then echo "with qemu set up in chroot" fi if [ -e $DIR ] ; then echo "$DIR already exists - This command will overwrite it. Confirm (Y/N)" read a if [[ $a == "Y" || $a == "y" || $a = "" ]]; then : else exit 0 fi fi add-apt-repository "deb http://ppa.launchpad.net/linaro-foundations/cross-build-tools/ubuntu $SUITE main" apt-get -q update || : apt-get -q install schroot sbuild if [ "QEMU" = "true" ]; then apt-get -q install qemu-user-static fi sbuild-createchroot --components=main,universe $SUITE $DIR $MIRROR echo "Giving user $USER permissions in the chroot" sbuild-adduser $USER > /dev/null echo "Setting up chroot sources.list:" if [ -n $DIR -a -d $DIR/etc/apt ]; then echo "deb [arch=amd64,i386] $MIRROR $SUITE main universe" | tee $DIR/etc/apt/sources.list echo "deb [arch=armhf,armel] $PORTMIRROR $SUITE main universe" |tee -a $DIR/etc/apt/sources.list echo "deb-src $MIRROR $SUITE main universe" | tee -a $DIR/etc/apt/sources.list else echo "$DIR/etc/apt/ does not look like a suitable dir to put deb sources.list - skipped. Set up chroot apt sources manually." fi if [ "QEMU" = "true" ]; then cp /usr/bin/qemu-arm-static $DIR/usr/bin/qemu-arm-static fi #sbuild-update --keygen echo "Your chroot is now ready to use - with: 'sbuild --host= -d $SUITE -c $SUITE-$ARCH-sbuild '" xbuilder-1.0.1+nmu1/xbuilder0000755000000000000000000000710412431127154012637 0ustar #!/bin/sh here=`pwd` timestamp=`date +%Y%m%d-%H%M` configfile=/etc/xbuilder.cfg if [ -n "$2" ]; then if [ -f "$2" ]; then configfile="$2" else echo "Usage: $0 [configfile]" fi fi if [ -f "$configfile" ]; then . "$configfile" else echo "config in $configfile not found - exiting" exit 1 fi mkdir -p "$here/build/${buildmethod}" "$here/logs/${buildmethod}/${timestamp}" dosbuild() { #should only use extrarepo option if it is set echo "Using sbuild multiarch" echo "running sbuild --host=$arch -d $distro --extra-repository="${extrarepo}" --nolog -c $chrootname in $here/build/${buildmethod}/${sourcepackage}" cd $here/build/${buildmethod} && apt-get source --download-only $sourcepackage ( cd $here/build/${buildmethod} && sbuild --host=$arch -d $distro --extra-repository="${extrarepo}" --build-dep-resolver=aptitude --nolog --verbose -c $chrootname $sourcepackage*.dsc > $here/logs/${buildmethod}/${timestamp}/${package}.log 2>&1 ) } doxapt() { echo "Using sbuild xapt" cd $here/build/${buildmethod} && apt-get source --download-only $sourcepackage ( cd $here/build/${buildmethod} && sbuild --host=$arch --build-dep-resolver=xapt -d $distro --nolog --verbose -c $chrootname $sourcepackage*.dsc > $here/logs/${buildmethod}/${timestamp}/${package}.log 2>&1 ) } dopdebuild() { echo "Using pdebuild-cross" cd $here/build/${buildmethod} && apt-get source $sourcepackage ( cd $here/build/${buildmethod}/${sourcepackage}-* && pdebuild-cross > $here/logs/${buildmethod}/${timestamp}/${package}.log 2>&1 ) } doxdeb() { echo "Using xdeb" #go back to base chroot for clean builds if [ -n "$cleanbuild" ]; then # echo "cleaning chroot" # replace this with cow or lvm-foo # if [ -z "$chrootpath" ]; then echo "No path for build chroot specified ($chrootpath)"; exit 1; fi # if [ "$chrootpath" = "/" ]; then echo "Refusing to delete everything"; exit 1; fi # if [ -e "$chrootpath" -a -n "$chrootpath" ]; then sudo rm -rf "$chrootpath"; fi # mkdir -p "$chrootpath" && sudo tar -C "$chrootpath" -zxf "${cleantarballs}/${chrootname}.tgz" cleanprefix="schroot -c $chrootname -- sh -c" fi cd $here/build/xdeb # tidy up any -cross packages except the base toolchain stuff # for a really clean build get rid of the local package cache too # rm -rf * # Do this stuff if using a persistent chroot if [ ! -n "$cleanbuild" ]; then rm -f pkgcache.apt echo "Removing previously-installed -cross packages" rm -f *armel-cross* *armel.changes dpkg --get-selections | grep -E "$arch-cross.*install" | grep -E -v "(libgcc1|linux-libc|libc6|libstdc++.*|libgomp1)(-dev)*-$arch-cross" | awk '{ print $1}' | sudo xargs apt-get -qq -y remove fi echo "Doing the build. Log in $here/logs/xdeb/$package-$timestamp.log" #clean build runs this in schroot via $cleanprefix $cleanprefix "xdeb --only-explicit -a $arch --prefer-apt --apt-source --debug --force-rebuild $sourcepackage > $here/logs/xdeb/${timestamp}/${package}.log 2>&1" } parselog() { #echo "Parsing build log for build status" /usr/lib/xbuilder/build-status-single $here/logs/${buildmethod}/${timestamp}/${package}.log } for package in `cat $buildlist` do sourcepackage=`grep-aptavail -X -FSource -FPackage $package -s Source:Package | awk '{ print $2 }' | uniq` if [ -z $sourcepackage ]; then echo "No source found corresponding to $package, skipping" continue else echo "*********************************************" echo "********* building $package from $sourcepackage" echo "*********************************************" do$buildmethod parselog fi donexbuilder-1.0.1+nmu1/xbuilder-simple0000755000000000000000000000347511650066602014137 0ustar #!/bin/sh here=`pwd` timestamp=`date +%Y%m%d-%H%M` configfile=/etc/xbuilder.cfg if [ -f $configfile ]; then . $configfile else echo "config in $configfile not found - exiting" exit 1 fi mkdir -p $here/build/${buildmethod} $here/logs/${buildmethod}/${timestamp} dopdebuild() { echo "Using pdebuild-cross" cd $here/build/pdebuild && apt-get source $sourcepackage ( cd $here/build/pdebuild/${sourcepackage}-* && pdebuild-cross > $here/logs/pdebuild/${timestamp}/${package}.log 2>&1 ) } doxdeb() { echo "Using xdeb" cd $here/build/xdeb # tidy up any -cross packages except the base toolchain stuff # for a really clean build get rid of the local package cache too # rm -rf * echo "Removing previously-installed -cross packages" rm -f *armel-cross* *armel.changes rm -f pkgcache.apt dpkg --get-selections | grep -E "$arch-cross.*install" | grep -E -v "(libgcc1|linux-libc|libc6|libstdc++.*|libgomp1)(-dev)*-$arch-cross" | awk '{ print $1}' | sudo xargs apt-get -qq -y remove echo "Doing the build. Log in $here/logs/xdeb/$package-$timestamp.log" xdeb --only-explicit -a $arch --prefer-apt --apt-source --debug --force-rebuild $sourcepackage > $here/logs/xdeb/${timestamp}/${package}.log 2>&1 } parselog() { #echo "Parsing build log for build status" /usr/lib/xbuilder/build-status-single $here/logs/xdeb/${timestamp}/${package}.log } for package in `cat $buildlist` do sourcepackage=`grep-aptavail -X -FSource -FPackage $package -s Source:Package | awk '{ print $2 }' | uniq` if [ -z $sourcepackage ]; then echo "No source found corresponding to $package, skipping" continue else echo "*********************************************" echo "********* building $package from $sourcepackage" echo "*********************************************" do$buildmethod parselog fi donexbuilder-1.0.1+nmu1/xbuilder-synclogs.cfg0000644000000000000000000000056012431174421015227 0ustar #config file for uploading xbuilder build-logs # Sourced by buildd-synclogs base="/srv/buildd" uploaduser="wookey" server="people.linaro.org" rsyncmodule="autobuilder-logs" #base path on server to copy to serverpath="public_html/buildd" debflavourlist="testing" #ubflavourlist="quantal quantal-arm64" ubflavourlist="" flavourlist="${debflavourlist} ${ubflavourlist}" xbuilder-1.0.1+nmu1/xbuilder.cfg0000644000000000000000000000127412431167476013407 0ustar #select buildmethod from sbuild, xdeb, pdebuild (pdebuild-cross) buildmethod=sbuild #buildmethod=xdeb #buildmethod=pdebuild base=/srv/buildd #Choose arch to build for arch=armhf #Filename of list of packages to build buildlist=${base}/buildlist-debian-minimal #If cleanbuild is set then each build will be done in a clean chroot #this is recommended for repeatable builds #unset it to disable cleanbuild=true #Configure chroot used for clean builds - must match schroot config distro=testing chrootname=testing-amd64-sbuild #chrootpath=${base}/chroots/precise-build #cleantarballs=${base}/tarballs #extrarepo="deb https://people.debian.org/~wookey/tools/debian testing main" #extrabuildopts=""