summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorjosch <j.schauer@email.de>2014-12-12 15:48:09 +0100
committerHolger Levsen <holger@layer-acht.org>2014-12-16 12:49:12 +0100
commit84083399693d0c9cdd19b880afa14c03d98ea0bc (patch)
treefefc151ceaaf9cba382f9c5a37a17199adb2aa35
parent976c31c210642f29e52d3263727c107884b93073 (diff)
downloadjenkins.debian.net-84083399693d0c9cdd19b880afa14c03d98ea0bc.tar.xz
add README.md
-rw-r--r--README.md89
-rwxr-xr-xsetup.sh3
2 files changed, 90 insertions, 2 deletions
diff --git a/README.md b/README.md
new file mode 100644
index 00000000..71beeea0
--- /dev/null
+++ b/README.md
@@ -0,0 +1,89 @@
+Running
+=======
+
+Just start `./setup.sh`. It will do the following:
+
+ 1. download apt sources and apt-file data for the amd64 Debian sid snapshot at
+ 20141211T041251Z and store them in a directory tree rooted at
+ `./debian-sid-amd64`
+ 2. go through all binary packages which have a file `DEBIAN/triggers` in their
+ control archive (the list is stored in the file `control_triggers_packages`)
+ and for each package:
+ 2.0. download and unpack its control archive
+ 2.1. store all interest-await file triggers in the file `interested-file`
+ 2.2. store all interest-await explicit triggers in the file `interested-explicit`
+ 2.1. store all activate-await file triggers in the file `activated-file`
+ 2.1. store all activate-await explicit triggers in the file `activated-explicit`
+ 2.6. remove the downloaded binary package and unpacked control archive
+ 3. go through `interested-file` and for each line:
+ 3.1. calculate the dependency closure for the binary package and for
+ each package in the closure:
+ 3.1.1. use `apt-file` to get all files of the package
+ 3.1.2. check if the current file trigger matches any file in the package
+ 3.1.3. store any hits in the file `result-file`
+ 4. go through `interested-file` and for each line:
+ 4.1. calculate the dependency closure for the binary package and for
+ each package in the closure:
+ 4.1.1. check if the package activates the current file trigger
+ 3.1.3. append any hits to the file `result-file`
+ 5. go through `interested-explicit` and for each line:
+ 5.1. calculate the dependency closure for the binary package and for
+ each package in the closure:
+ 5.1.1. check if the package activate the current explicit trigger
+ 3.1.3. store any hits in the file `result-explicit`
+
+Files
+=====
+
+control_triggers_packages
+-------------------------
+
+The currently known files that ship a `DEBIAN/triggers` file in their control
+metadata. In the future, this list should be autogenerated.
+
+interested-file
+---------------
+
+Associates binary packages to file triggers they are interested in. The first
+column is the binary package, the second column is either `interest` or
+`interest-await` and the last column the path they are interested in.
+
+interested-explicit
+-------------------
+
+Associates binary packages to explicit triggers they are interested in. The
+first column is the binary package, the second column is either `interest` or
+`interest-await` and the last column the name of the explicit trigger they are
+interested in.
+
+activated-file
+--------------
+
+Associates binary packages to file triggers they activate. The first column is
+the binary package, the second column is either `activate` or `activate-await`
+and the last column the path they activate.
+
+activate-explicit
+-----------------
+
+Associates binary packages to explicit triggers they activate. The first column
+is the binary package, the second column is either `activate` or
+`activate-await` and the last column the explicit trigger they activate.
+
+result-file
+-----------
+
+Associates binary packages with other binary packages they can form a file
+trigger cycle with. The first column is the binary package containing the file
+trigger, the second column is the file trigger, the third column is a binary
+package providing a path that triggers the binary package in the first column,
+the fourth column is the triggering path of provided by the binary package in
+the third column.
+
+result-explicit
+---------------
+
+Associates binary packages with other binary packages they can form an explicit
+trigger cycle with. The first column is the binary package interested in the
+explicit trigger, the second column is the name of the explicit trigger, the
+third column is the binary package activating the trigger.
diff --git a/setup.sh b/setup.sh
index c698b989..fd401389 100755
--- a/setup.sh
+++ b/setup.sh
@@ -122,8 +122,7 @@ printf "" > result-explicit
# go through those that are interested in an explicit trigger and check them
# against the packages in their dependency closure which activate it
-#cat interested-explicit | while read pkg ttype iname; do
-echo wims-modules interest wims-reindex | while read pkg ttype iname; do
+cat interested-explicit | while read pkg ttype iname; do
echo "working on $pkg..." >&2
echo "getting dependency closure..." >&2
# go through all packages in the dependency closure and check if any of