Add missing yaml files
[grml-infrastructure.git] / repo-cookbook
1 Cookbook for the grml repository software
2 ==========================================
3
4 Preface
5 -------
6
7 This is a short documentation for common tasks with the grml repository. 
8 Notice: reprepro actions have to take place in ~/grml-repo/archive.
9
10 Recipes 
11 -------
12
13 Here are some common tasks: 
14
15 .Add a single deb to a distribution
16 ---------------------------------------
17 #insert the deb   
18 reprepro includedeb `<suite>` `<foo.deb>`  
19 #check the result  
20 reprepro list `<suite>` `<packagename>`  
21 ---------------------------------------
22
23 .Copy all packages from one repo to another 
24 ------------------------------------------------
25 reprepro dumptracks grml-testing  | \ 
26 awk '/ pool\/.*\/.*\.deb/ {print $1}' | \ 
27 xargs -n 1 basename | cut -d _ -f 1 | \ 
28 sort -u | xargs reprepro copy \ 
29 grml-test grml-testing 
30 ------------------------------------------------
31
32 .Move a package from one distribution to another
33 -----------------------------------------------------
34 #move the package 
35 reprepro copy `<source distribution>` `<target distribution>` `<packagename>` 
36 #check the result  
37 reprepro list `<target distribution>`  
38 ------------------------------------------------------
39
40 .Adding users
41 =========================================================
42 Prerequsites: 
43
44 * GPG Key ID of the new user 
45 * ssh public-key of the new user
46
47 Steps to follow to allow uploading for a new user:
48
49 1. Add the public-key to /home/incoming/.ssh/authorized_keys
50 2. As user archive do: ~/grml-repo/bin/importkey.sh `GPGKeyid` 
51
52 =========================================================
53
54 .Wanna release? 
55 =========================================================
56
57 * Add the old distrŅ–bution to /home/archive/grml-repo/archive/conf/distributions:
58
59 ...................................
60 Origin: The grml project
61 Label: grml
62 Suite: grml-2008.11
63 Codename: grml-2008.11
64 Architectures: i386 amd64 powerpc arm source
65 Components: main
66 UDebComponents: main
67 Description: GRML Stable Repository Release 2008.11
68 SignWith: yes
69 DebOverride: override.grml
70 DscOverride: override.grml
71 Contents: . .gz .bz2
72 Tracking: all
73 ...................................
74
75 * Copy grml-stable to the old release: `reprepro copyfilter grml-2008.11 grml-stable 'Architecture'` 
76
77 * Clean old grml-stable: `reprepro grml-stable removefilter 'Architecture'`
78
79 * Copy grml-testing to grml-stable: `reprepro copyfilter grml-stable grml-testing 'Architecture'`
80
81 * [Optional] Create a distribution for the new release like the example above and copy everything from grml-stable the actual release: `reprepro copyfilter grml-2009.05 grml-stable 'Architecture'`
82
83 * Run ~/bin/repodiff.pl: `repodiff.pl
84 http://deb.grml.org/dists/grml-stable/main/source/Sources.gz
85 http://deb.grml.org/dists/grml-testing/main/source/Sources.gz |grep -v 'is
86 the same'`. to check if the source packages are identical. 
87 * Do the same for Packages.gz from i386 and amd64. 
88 * Write some news, celebrate and so on.
89
90 =========================================================
91 About this document
92 -------------------
93
94 (c) Michael Prokop <mika@grml.org> and Alexander Wirt <formorer@grml.org>; HTML version powered by link:http://www.methods.co.nz/asciidoc/[asciidoc].
95
96 // vim: ft=asciidoc autoindent textwidth=75 formatoptions=tcqn