From 117a5c2166ece6f0fad3df27932e80b910d93b70 Mon Sep 17 00:00:00 2001 From: Niels Thykier Date: Sat, 21 May 2016 15:32:25 +0000 Subject: [PATCH] Write a short incomplete README Signed-off-by: Niels Thykier --- README | 5 ----- README.md | 46 ++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 46 insertions(+), 5 deletions(-) delete mode 100644 README create mode 100644 README.md diff --git a/README b/README deleted file mode 100644 index 45e9b5b..0000000 --- a/README +++ /dev/null @@ -1,5 +0,0 @@ -README for britney v2.0 -======================= - -Please write here some useful stuff. - diff --git a/README.md b/README.md new file mode 100644 index 0000000..c0bb024 --- /dev/null +++ b/README.md @@ -0,0 +1,46 @@ +# Britney - Keeps suites installable and up to date + +Britney is a program to compute an update of a Debian-based package suite +by feeding it updates from (one or more) source-suite(s). A few known use +cases: + + * Debian uses it to update testing based on unstable + * Ubuntu uses it to update their latest development suite using a "hidden" -proposed suite as source + +Britney's primary goal is too keep packages in the target suite installable +(e.g. Debian testing) while keeping it up to daye with its primary source +suite (e.g. Debian unstable). + +## Quick setup guide + +TODO: Write a quick setup guide (once mirror layout has been tested) + +## Migration items + +Britney generally works with a "migration item", which is a group of binary +packages (and possibly a source package). Packages are bundled into these +migration items under the following rules: + + 1. "source migration": An update of the source package. This will include all the binary packages built from that source version (regardless of architecture). + * Can contain binaries built from earlier source version depending on the setting of "IGNORE_CRUFT" + * Britney refers to these as "${SOURCE_NAME}" + 1. "binary migration": An update of binary packages on a given architecture to an existing source package in the target suite. + * Two common cases: Built for the first time on a new architecture and binNMUs + * Britney refers to all cases of these as "${SOURCE_NAME}/${ARCHITECTURE}" + 1. "removal item": A removal of a source or binary package. + * Note that it is only possible to trigger "source" removals via hints. Binary removals are items generated by Britney to clean up the target suite. + * Britney refers to these as "-${SOURCE_NAME}" or "-${BINARY_NAME}/${ARCHITECTURE}" depending on the case. + +## Migration rules (excuses/policies) + +Britney applies a number of policies to migration items before attempting +to migrate them to the target suite. These policies can "reject" a +package and prevent it from migrating. Some policies/built-in rules: + + * Age policy: Lets source migrations age a bit before they are allowed to migrate + - Supports variable length based on package urgency + * RC Bug policy: Rejects packages with regressions in RC bugs + - Requires an external tool to keep the bug lists up to date + * Keeps architectures in sync: Source migrations updating existing packages only occur if architectures are up to date + - Can be configured to ignore certain architectures. +