Joachim Breitner [Wed, 29 Jul 2009 22:42:50 +0000 (00:42 +0200)]
Make --give-back move package into BD-Uninstallable
If the package is actually buildable, this will be noticed with the next
trigger (max 15 minute delay). The other way around could cause
unsuccesful builds if the buildd grabs the package before the next
trigger.
Joachim Breitner [Wed, 29 Jul 2009 22:36:02 +0000 (00:36 +0200)]
Pass Build-Deps not via the database
It is probably a bad idea to store the Build-Depend in a field in the
database. This reverts that to the way it worked for AutoDepWait. It
also cleans up the current database.
Joachim Breitner [Wed, 29 Jul 2009 22:23:30 +0000 (00:23 +0200)]
Store edos-output in $pkg->{'BD-Reason'}
Just $pkg->{'Reason'} is a bit too generic, when we want that field to
be persistent across state changes.
This patch also introduduces a line to remove obsolete db fields, and
uses it to remove 'Reason'.
Joachim Breitner [Wed, 29 Jul 2009 18:23:50 +0000 (20:23 +0200)]
Use keep-latest in trigger.daily
Just like in trigger.often, trigger.daily calls --merge-all, thus needs
a clean Packages and Source file (without old entries, or Packages from
a different architecture)
Joachim Breitner [Wed, 29 Jul 2009 14:06:57 +0000 (16:06 +0200)]
Use keep-latest in trigger.often
This makes sure the Packages and Sources as passed to wanna-build do not
contain old entries, so that they are not passed to edos-debcheck. They
would not be considered by apt on the buildds for installation anyways.
Joachim Breitner [Wed, 29 Jul 2009 14:01:26 +0000 (16:01 +0200)]
bin/keep-latest: Consider architecture field
Since keep-latest is written to merge incoming’s Packages file, which
contains various arches, into a regular one, one must not remove
packages just because there is a newer version on an other architecture.
Joachim Breitner [Wed, 29 Jul 2009 13:53:36 +0000 (15:53 +0200)]
bin/keep-latest
Usage: ./bin/keep-latest Packages1 Packages2 ..
This perl scripts reads the Packages files given on the command line and
outputs a Packages file which contians each package exactly once, using
the one with the highest version number.
Since it only looks at Package: and Version:, it works with Sources
files as well
Joachim Breitner [Mon, 27 Jul 2009 23:30:58 +0000 (01:30 +0200)]
First beginning of an edos-builddepcheck feature
This replaces auto_depwait by call_edos_depcheck, which feeds the
Sources and Packages files as given to --merge-all to
edos-builddepchange and switches packages between the states
Build-Needed and BD-Uninstallable. It does not touch any other state.
Joachim Breitner [Mon, 27 Jul 2009 22:49:25 +0000 (00:49 +0200)]
edos-builddebcheck
This file from edos-distcheck needs to be made more flexible for our
use. The changes can probably be migrated back to them. We still depend
on edos-distcheck (>= 1.4.2-1) for edos-debcheck support.
Joachim Breitner [Mon, 27 Jul 2009 22:24:55 +0000 (00:24 +0200)]
Simple test-suite for wanna-build
This file runs wanna-build in a clean environment to make sure, certain
features work as expected.
At the moment it
* Uploads a source
* Take the build
* Marks it as uploaded
* Uploads a source with build-depends
- Makes sure the package is marked Dep-Wait
* Uploads a new version of the dependency
- Makes sure the Dep-Wait is cleared
Joachim Breitner [Fri, 24 Jul 2009 12:57:35 +0000 (14:57 +0200)]
Create valid dctrl-like output
Instead of adding the dots for empty lines when reading the input, and
adding the extra space when outputting, save the data as is and create
the correct format when outputting. This makes sure that multi-line-data
passed to -m is also represented correctly.
Joachim Breitner [Fri, 24 Jul 2009 00:41:09 +0000 (02:41 +0200)]
Implement transactions
New parameters:
--start-transaction: Creates a copy of the state of the database, for
use with --transactional. This overrides any previous uncommited
transaction. Should only be used after --lock-for
--commit-transaction: Atomically moves the copy back to the main, thus
commiting the changes
--transactional: Flag to indicate that we want to work on the copy
Joachim Breitner [Thu, 23 Jul 2009 23:45:19 +0000 (01:45 +0200)]
Implement locking for other process
Locking for another process means that a longer running process (most likely
wb) wants to do several steps at once, and manages the locks.
Added parameters are:
--lock-for PID: Locks the database for the process with this pid
--unlock-for PID: Unlocks the database for the process with this pid
--act-on-behalve-of PID: Ignores the log (if it is held by this pid)
Philipp Kern [Thu, 18 Dec 2008 19:04:29 +0000 (19:04 +0000)]
trigger.security: added
trigger.security will be called from security-master to update the
wanna-build database for security. This was previously done on
security-master itself.
Philipp Kern [Thu, 18 Dec 2008 17:42:40 +0000 (17:42 +0000)]
introduce libtrigger.sh and put the architectures into it
Furthermore copy curl_index from trigger.daily into it so that it can
be used by other triggers. libtrigger.sh is included by both
trigger.daily and trigger.often.