mirror of
https://git.launchpad.net/ubuntu-dev-tools
synced 2025-08-16 08:24:02 +00:00
Compare commits
2531 Commits
Author | SHA1 | Date | |
---|---|---|---|
|
7dd913fe16 | ||
|
bcf3e153f7 | ||
|
466e2784de | ||
|
ba3f0511f9 | ||
|
2e550ceff2 | ||
|
6c8a5d74bd | ||
|
3d11516599 | ||
|
5a20308ab1 | ||
|
b551877651 | ||
|
4a4c4e0a27 | ||
|
865c1c97bc | ||
|
d09718e976 | ||
|
bff7baecc9 | ||
|
45fbbb5bd1 | ||
|
ca217c035e | ||
|
b5e117788b | ||
|
ddba2d1e98 | ||
|
02d65a5804 | ||
|
bda85fa6a8 | ||
|
86a83bf74d | ||
|
162e758671 | ||
|
049425adb7 | ||
|
f6ca6cad92 | ||
|
3dc17934d6 | ||
|
10a176567a | ||
|
86b366c6c5 | ||
|
50b580b30e | ||
|
6ba0641f63 | ||
|
1e815db9d2 | ||
|
e2f43318bd | ||
|
cdd81232d9 | ||
|
65044d84d9 | ||
|
19e40b49c2 | ||
|
55eb521461 | ||
|
983bb3b70e | ||
|
85f2e46f7d | ||
|
649c3db767 | ||
|
e7ba650414 | ||
|
3bc802a209 | ||
|
92c80d7bb7 | ||
|
d7362d9ed8 | ||
|
c7a855ff20 | ||
|
017941ad70 | ||
|
69914f861e | ||
|
454f1e30c8 | ||
|
55bc403a95 | ||
|
c9339aeae4 | ||
|
c205ee0381 | ||
|
7577e10f13 | ||
|
e328dc05c2 | ||
|
9a94c9dea1 | ||
|
47ab7b608b | ||
|
56044d8eac | ||
|
c523b4cfc4 | ||
|
3df40f6392 | ||
|
6ebffe3f4a | ||
|
f01234e8a5 | ||
|
43891eda88 | ||
|
132866e2ba | ||
|
a0fcac7777 | ||
|
490895075d | ||
|
5186e76d8d | ||
|
bf46f7fbc1 | ||
|
881602c4b9 | ||
|
c869d07f75 | ||
|
59041af613 | ||
|
0ec53180f2 | ||
|
c92fa6502f | ||
|
07d3158ade | ||
|
d5faa9b133 | ||
|
9e710a3d66 | ||
|
010af53d7c | ||
|
0bef4d7352 | ||
|
688202a7cf | ||
|
691c1381db | ||
|
f01502bda2 | ||
|
42f8e5c0d2 | ||
|
bb8a9f7394 | ||
|
a058c716b9 | ||
|
e64fe7e212 | ||
|
f07d3df40c | ||
|
f73f2c1df1 | ||
|
268d082226 | ||
|
6bc59d789e | ||
|
9a4cc312f4 | ||
|
ffc787b454 | ||
|
bce1ef88c5 | ||
|
a9eb902b83 | ||
|
cb7464cf61 | ||
|
19f1df1054 | ||
|
7f64dde12c | ||
|
c2539c6787 | ||
|
fd885ec239 | ||
|
abbc56e185 | ||
|
a2176110f0 | ||
|
a5185e4612 | ||
|
e90ceaf26b | ||
|
47fd5d7cca | ||
|
2f396fe549 | ||
|
5bda35f6b4 | ||
|
db916653cd | ||
|
784e7814e9 | ||
|
bed2dc470d | ||
|
414bc76b50 | ||
|
6f0caf1fc0 | ||
|
4bcc55372a | ||
|
232a73de31 | ||
|
9aab0135a2 | ||
|
23539f28b1 | ||
|
4a09d23db6 | ||
|
534cd254f4 | ||
|
29c3fa98bc | ||
|
7c9c7f2890 | ||
|
739279da3f | ||
|
7c11832ee0 | ||
|
f5512846d6 | ||
|
9e0dff4461 | ||
|
7129e6e27a | ||
|
79d30a9bfc | ||
|
2c6a8b5451 | ||
|
ad014685ea | ||
|
ff1c95e2c0 | ||
|
89e788bf48 | ||
|
a000e9db5e | ||
|
83158d24d9 | ||
|
6e6e1f1e1a | ||
|
c7a7767339 | ||
|
ac2f980e0f | ||
|
ccab82e054 | ||
|
2e4e8b35b2 | ||
|
53fcd577e8 | ||
|
8430d445d8 | ||
|
c8a757eb07 | ||
|
66a2773c1c | ||
|
17d2770451 | ||
|
3136541ca6 | ||
|
f3a0182e1a | ||
|
6498a13f18 | ||
|
d2debf9ed9 | ||
|
a11cb1f630 | ||
|
34578e6a1e | ||
|
21784052ba | ||
|
aa556af89d | ||
|
069a6926c0 | ||
|
444b319c12 | ||
|
4449cf2437 | ||
|
9fa29f6ad5 | ||
|
a160def2ab | ||
|
909d945af4 | ||
|
f6fde2e217 | ||
|
17bed46ffb | ||
|
72add78e9d | ||
|
ab64467f33 | ||
|
b1bc7e1cdc | ||
|
8692bc2b1c | ||
|
a685368ae9 | ||
|
4e27045f49 | ||
|
db0e091e44 | ||
|
3354b526b5 | ||
|
79d24c9df1 | ||
|
932166484b | ||
|
bd770fa6b1 | ||
|
3d54a17403 | ||
|
3bdb827516 | ||
|
0d94b5e747 | ||
|
0f3d2fed2a | ||
|
844d6d942c | ||
|
ae43fd1929 | ||
|
69ac109cdb | ||
|
9f2a53c166 | ||
|
a69c40d403 | ||
|
c1e4b14a98 | ||
|
096d5612e7 | ||
|
b510dbd91e | ||
|
803949ed8b | ||
|
e219eaa5fc | ||
|
60ee986014 | ||
|
dabe475067 | ||
|
0a9e18ed91 | ||
|
7859889438 | ||
|
a3c87e78aa | ||
|
05af489f64 | ||
|
d5fdc00396 | ||
|
7d278cde21 | ||
|
ad402231db | ||
|
562e6b13cd | ||
|
9c1561ff26 | ||
|
06a04f642f | ||
|
8f0005ce1d | ||
|
51ebfb21d3 | ||
|
f83161dcc2 | ||
|
bf5796c69e | ||
|
214da052b2 | ||
|
b9c9a21696 | ||
|
1f3e4a5ad7 | ||
|
835fe258ab | ||
|
5618358870 | ||
|
d1de55b320 | ||
|
87858a4387 | ||
|
cb48d71056 | ||
|
b2d259b415 | ||
|
533b9535aa | ||
|
7d3ea739a2 | ||
|
c53750694f | ||
|
0dde3262d1 | ||
|
3a903ca628 | ||
|
c7058559c5 | ||
|
13123c51c6 | ||
|
009b79224f | ||
|
7fc6788b35 | ||
|
3ef7c4a569 | ||
|
cd4d717551 | ||
|
d903160215 | ||
|
8fe22fbbb6 | ||
|
06038060b0 | ||
|
4d72d184db | ||
|
20261960f6 | ||
|
d05e023dfe | ||
|
de295fe524 | ||
|
1e2036399e | ||
|
85125e3c90 | ||
|
cfa45994d0 | ||
|
a74a49fb81 | ||
|
74867c90f4 | ||
|
b904993e05 | ||
|
000d3c1c2d | ||
|
9a44175a17 | ||
|
a9e2a2689d | ||
|
fec7a72ef7 | ||
|
9360b17bcb | ||
|
5eeb707142 | ||
|
c1b1c106dc | ||
|
266085d587 | ||
|
6ca12331d6 | ||
|
5fcc4b5b46 | ||
|
a3ff68be5a | ||
|
a1b56ac31f | ||
|
ceb020d0fa | ||
|
fbbcee9cc1 | ||
|
511aa3d80c | ||
|
6c8109b6ae | ||
|
296e498fe9 | ||
|
3f0d63d5b6 | ||
|
49527c36e1 | ||
|
14a8005d45 | ||
|
52032eb081 | ||
|
4fc36efcf2 | ||
|
7f227f6264 | ||
|
d598900df7 | ||
|
b4ca04efaa | ||
|
0eaf71737d | ||
|
1b12d8b4e3 | ||
|
be6e09a02b | ||
|
86276665cd | ||
|
3f2983c157 | ||
|
4f6d6bf2d8 | ||
|
df93a225a8 | ||
|
d8df8cc869 | ||
|
243a728d6c | ||
|
6e18d60de4 | ||
|
dbd453876e | ||
|
732ff00cac | ||
|
2ac69a89e3 | ||
|
4e5e6efdb1 | ||
|
e193c30695 | ||
|
6bf3640e8f | ||
|
5dcde81c58 | ||
|
30abe6eacd | ||
|
c0546396bf | ||
|
ef100f6166 | ||
|
3428a65b1c | ||
|
91e0babd93 | ||
|
952b331c22 | ||
|
e44bc63209 | ||
|
c2ea95c067 | ||
|
f25f815bef | ||
|
a0315dac8c | ||
|
ec36c7c792 | ||
|
9be49e7b93 | ||
|
90824e056c | ||
|
1093c372eb | ||
|
ff66707a4c | ||
|
128eca1a5b | ||
|
4f10be3f13 | ||
|
b687e11813 | ||
|
eca442bf35 | ||
|
ede8a77718 | ||
|
85ed9ad1ce | ||
|
f97b19554f | ||
|
a5ee35c812 | ||
|
d784fea1cd | ||
|
728849964e | ||
|
09537bd44d | ||
|
484a668c0a | ||
|
bc24ef23de | ||
|
ea549d6c19 | ||
|
7118411b89 | ||
|
2c6f87acd3 | ||
|
211416d2fd | ||
|
0eeb93ee0c | ||
|
b35712fa40 | ||
|
ee9b8756d9 | ||
|
9792f5b95c | ||
|
d8d4fd9285 | ||
|
9a38ad1b7b | ||
|
db181f4aa6 | ||
|
04ae04e17b | ||
|
ae3837be1d | ||
|
20036e6c36 | ||
|
e13a4eb45e | ||
|
cb865e3b86 | ||
|
61f0023c37 | ||
|
e5a42b1ba1 | ||
|
359cb18d8d | ||
|
b89ad962f4 | ||
|
58ca95e719 | ||
|
a26a154bc9 | ||
|
fed562405d | ||
|
248cf38d79 | ||
|
3d0921ee54 | ||
|
c29b660dbf | ||
|
b2f4ceee8e | ||
|
b6e0b5b388 | ||
|
494e0d6ddd | ||
|
2cfcbdb300 | ||
|
07d7381b4d | ||
|
d19ac157b0 | ||
|
6698b70f98 | ||
|
d464c1ffe8 | ||
|
42c659555c | ||
|
120f15ca50 | ||
|
4e63b2cbb5 | ||
|
f2118d6e7f | ||
|
52739e44ad | ||
|
12c2e6bf42 | ||
|
ae74f71a1e | ||
|
930c05621e | ||
|
48c7130008 | ||
|
3eefdec9b6 | ||
|
e7f0447342 | ||
|
90cb51becb | ||
|
e54a13743c | ||
|
07b81efd24 | ||
|
390be3f0b3 | ||
|
9d7ce2745f | ||
|
f8c0d87b6f | ||
|
02c531dfb5 | ||
|
5a428b462d | ||
|
6cc8040510 | ||
|
5856b6a41f | ||
|
d3a7eac62f | ||
|
a75fb35fc8 | ||
|
c5b5d554bc | ||
|
2720ffa12a | ||
|
bafe94c5c7 | ||
|
6a9bcc6e14 | ||
|
b00aea7aa5 | ||
|
322df409c2 | ||
|
b30df2b227 | ||
|
6c097233a9 | ||
|
4b3e9b8479 | ||
|
097eea7d5f | ||
|
622f550cc9 | ||
|
8d77c72c33 | ||
|
928da0ec02 | ||
|
f5aa75a3a5 | ||
|
529c2870fc | ||
|
ce4d8fb85f | ||
|
0aa7280f94 | ||
|
5a895e9685 | ||
|
8aa2d602c5 | ||
|
8f42fb976f | ||
|
ea30b9f5bc | ||
|
c622c30297 | ||
|
fe4d2f08a5 | ||
|
11429b213c | ||
|
eaa07014e0 | ||
|
8682c44957 | ||
|
20dd65b281 | ||
|
45253b398c | ||
|
e1f2cbf831 | ||
|
8ebd086aac | ||
|
9f428e471b | ||
|
907061c15e | ||
|
ee98423715 | ||
|
d98e16226b | ||
|
53fa2336b8 | ||
|
f5694d7cf6 | ||
|
7900a09763 | ||
|
f2b758f503 | ||
|
2decc105a2 | ||
|
41df9a33a4 | ||
|
36ffc92e00 | ||
|
3d7f542e49 | ||
|
ebe460aad1 | ||
|
5553d98e47 | ||
|
5838fa39ff | ||
|
63f614ebe3 | ||
|
f026b5d597 | ||
|
fe30873247 | ||
|
1e1702e676 | ||
|
f8fa865ab2 | ||
|
6e3d26185c | ||
|
c13988fbeb | ||
|
7b95e4c457 | ||
|
6e4ab93ff9 | ||
|
41345dd546 | ||
|
87f226258a | ||
|
82c8c438f7 | ||
|
1a30454d1e | ||
|
e37e9db7eb | ||
|
87a09640ba | ||
|
90e8fe81e1 | ||
|
c9c7fed1f6 | ||
|
7c097b19ba | ||
|
0f61836b10 | ||
|
b11b83f0e2 | ||
|
7084bfc8bc | ||
|
3491b0cff9 | ||
|
fb750e38bb | ||
|
3a413760f3 | ||
|
41a6c47ac2 | ||
|
e3268a62f4 | ||
|
cdaf5d0761 | ||
|
79b705d235 | ||
|
d7bcb012f6 | ||
|
ec72cf1538 | ||
|
3dabf05370 | ||
|
f4f16f95f7 | ||
|
b96885f05e | ||
|
f944d3146a | ||
|
9f58f5cb80 | ||
|
b0c22e1d57 | ||
|
506e3db601 | ||
|
d3b8d7a1b7 | ||
|
51231f116c | ||
|
d0aa64a51b | ||
|
b5ae0bdca3 | ||
|
463d1f63a8 | ||
|
c7b2149e1a | ||
|
8220accbe8 | ||
|
d3d63d6a59 | ||
|
17cce2602c | ||
|
0931098a2c | ||
|
982ebe6a46 | ||
|
ba2afc6429 | ||
|
21adb8f61f | ||
|
e083529784 | ||
|
9cd3479218 | ||
|
b76201967a | ||
|
dc6e03d38c | ||
|
c8602ba8a2 | ||
|
ec14165262 | ||
|
2c998a6fd2 | ||
|
0d9d78a721 | ||
|
e5c90b986c | ||
|
317b68bc08 | ||
|
7a6b779e77 | ||
|
454737b5bf | ||
|
4438c23a72 | ||
|
228c5710e7 | ||
|
2c4fcfc0b9 | ||
|
68b41fc82f | ||
|
434ca8952e | ||
|
19ba351f57 | ||
|
72a3420944 | ||
|
a7d166b52f | ||
|
06642ef9f7 | ||
|
38632a190e | ||
|
7b2f1a713b | ||
|
8bdf4f839a | ||
|
301569e809 | ||
|
bb765237db | ||
|
3d345113cc | ||
|
66afe7c6fc | ||
|
d681c7dc89 | ||
|
5f3247cfc0 | ||
|
96896fd2c8 | ||
|
16b9311995 | ||
|
6c375255c4 | ||
|
2c8c4d7268 | ||
|
3f5e56c75e | ||
|
76609fde49 | ||
|
673234e449 | ||
|
31d1ae269a | ||
|
b311cebaed | ||
|
81b17cd323 | ||
|
7c0efe2914 | ||
|
0de4509da6 | ||
|
4239d49582 | ||
|
6a60ee963d | ||
|
d1949a72aa | ||
|
118f95b62e | ||
|
3052bfcc16 | ||
|
05ce00a49a | ||
|
071ff40f20 | ||
|
2a0bffc2a0 | ||
|
a41af75643 | ||
|
7f9949fc4c | ||
|
23c7d67425 | ||
|
2d3765522e | ||
|
43ad610a66 | ||
|
9ef7545150 | ||
|
7c5f2431db | ||
|
2138919700 | ||
|
366ff25690 | ||
|
5769a70d02 | ||
|
03d2e89f31 | ||
|
7fd1a6a766 | ||
|
caaea17eec | ||
|
8ab21ea485 | ||
|
e163ee0158 | ||
|
b0421706d5 | ||
|
af622cb71e | ||
|
ae04bcfc43 | ||
|
dc3d2c0c2d | ||
|
6c47c075aa | ||
|
e0f6b6f97b | ||
|
ad6d560a15 | ||
|
c744f7441f | ||
|
3fb7516d72 | ||
|
257b0a8d67 | ||
|
1007bc87e8 | ||
|
cf91180e9a | ||
|
3f87486de3 | ||
|
07f2c179c2 | ||
|
6c404a3557 | ||
|
db13c754a5 | ||
|
9858a03a12 | ||
|
4a4ed663e0 | ||
|
dbbd7fcca0 | ||
|
5cf0f000db | ||
|
ae9c80de37 | ||
|
f9c4aeaae1 | ||
|
7143367610 | ||
|
eb84867721 | ||
|
fec29f22bc | ||
|
3bef7f999b | ||
|
fb22ba116f | ||
|
6b8a75bc99 | ||
|
dc5e586b99 | ||
|
c41f57686b | ||
|
c12595fa61 | ||
|
7d0205011a | ||
|
14a3dd5634 | ||
|
5b6445c1d0 | ||
|
2a620e9aa2 | ||
|
bc0c276364 | ||
|
1481ed8438 | ||
|
ff184c6780 | ||
|
0886e02435 | ||
|
190ad30a7b | ||
|
74df5b3869 | ||
|
468dbc7746 | ||
|
5ebd1eaa8d | ||
|
c5bc971f17 | ||
|
e763606da0 | ||
|
a2aacb28ff | ||
|
0ebcc329a3 | ||
|
105db5752b | ||
|
bdc647404f | ||
|
87e2e1b7aa | ||
|
607f5a712f | ||
|
10299855a5 | ||
|
06fc171980 | ||
|
92822060b2 | ||
|
1f7b7ea4ff | ||
|
eb844a2193 | ||
|
c40050f496 | ||
|
ddbd7f73c3 | ||
|
fc0919ed25 | ||
|
1ea9bce9b1 | ||
|
01906f8371 | ||
|
e88b4905bf | ||
|
afd95915e4 | ||
|
96d698e429 | ||
|
edb49c652c | ||
|
157411a199 | ||
|
224b059e30 | ||
|
0291ad07b0 | ||
|
a761ccfc72 | ||
|
4c66fba4d9 | ||
|
15841a3df6 | ||
|
798a36c2d8 | ||
|
59582ca06e | ||
|
0a3738cfbc | ||
|
d41602ba83 | ||
|
44dc0a9d88 | ||
|
179f45ca9c | ||
|
4471193d9c | ||
|
001d108b96 | ||
|
18ae4d8a39 | ||
|
cc7170eccb | ||
|
3a6cd3ac66 | ||
|
67c353d91b | ||
|
ba16daf56f | ||
|
6ee0915d3f | ||
|
bf52bd6fa3 | ||
|
6fea8fb542 | ||
|
f67601cb0c | ||
|
a6043a6ba8 | ||
|
88fbffaf49 | ||
|
3c138f6fe3 | ||
|
1c6b989590 | ||
|
e55c306a90 | ||
|
572f0f0156 | ||
|
e0c6689cb8 | ||
|
ab1e334e3e | ||
|
15a9f0e328 | ||
|
03fda64eae | ||
|
86b2c25c16 | ||
|
d67090f752 | ||
|
e56c0fce43 | ||
|
f232d121d2 | ||
|
4d07f85874 | ||
|
0575dd0112 | ||
|
53dc45e6e3 | ||
|
a595624527 | ||
|
139346addf | ||
|
bae9b3817d | ||
|
e903bf03d1 | ||
|
3a425de23e | ||
|
6fa16dd85e | ||
|
d140d6423b | ||
|
311f3d9a23 | ||
|
a753fedf7b | ||
|
de109e65c4 | ||
|
f7c0e64843 | ||
|
cb0e15a1e6 | ||
|
0ef87a90fe | ||
|
12c86a8fda | ||
|
a860b7cbaf | ||
|
8ac2c33059 | ||
|
91c5ff3bbf | ||
|
f0d22226a9 | ||
|
c4e998e165 | ||
|
30a6d4e304 | ||
|
ba4e195cde | ||
|
99eb51b4e1 | ||
|
9d09768bd1 | ||
|
dbeddb5559 | ||
|
221867ca37 | ||
|
24d9ce3e7c | ||
|
427ac0d620 | ||
|
149182a3cd | ||
|
124e421b61 | ||
|
646093d74a | ||
|
e162e7d580 | ||
|
8ae64c16e2 | ||
|
866adfd768 | ||
|
5da114b070 | ||
|
ed0cd2c1b5 | ||
|
412afabc1c | ||
|
1bab644191 | ||
|
ddabeed530 | ||
|
d86cacddf9 | ||
|
b8cf7b113e | ||
|
dae4c18c9e | ||
|
a7f4fc202b | ||
|
8b5db046be | ||
|
509b612b0f | ||
|
e959384f02 | ||
|
8c6371a416 | ||
|
c8ec463f7a | ||
|
57ea2cc410 | ||
|
194d23e878 | ||
|
e20d125709 | ||
|
3f512ee337 | ||
|
1d2f7f6d0d | ||
|
ea74634e93 | ||
|
1558b91dde | ||
|
1bbedd4ddd | ||
|
0c211c1bc7 | ||
|
65ab539516 | ||
|
a7dedd9296 | ||
|
d4f6ef320e | ||
|
88e3d1d6ba | ||
|
522030be12 | ||
|
72487d0477 | ||
|
7d70b6b3a3 | ||
|
a46a78b97f | ||
|
cbc2e76c74 | ||
|
7f13148ef4 | ||
|
bd226fc4e6 | ||
|
383cb8afef | ||
|
1c9762c3eb | ||
|
fbf0dcb259 | ||
|
d850fc8cab | ||
|
12ee7e71e3 | ||
|
b0209ce796 | ||
|
50e589a239 | ||
|
ad94031d84 | ||
|
02d3f8f3a0 | ||
|
c1e3ca14dc | ||
|
349ba9ef90 | ||
|
e21f15865c | ||
|
48d0285c93 | ||
|
75fd3b13bf | ||
|
1ecf020703 | ||
|
1ea8a4ef18 | ||
|
b07271fdf8 | ||
|
585902ad87 | ||
|
6f692c08a1 | ||
|
f07c0f8ccb | ||
|
0b6ba08175 | ||
|
5a8b4f9682 | ||
|
06874a8bad | ||
|
cc0e65e51c | ||
|
0ee01ef534 | ||
|
769ccd0f62 | ||
|
79abf8a50f | ||
|
22a7f51a9a | ||
|
2b5e91e32e | ||
|
6b84afdeeb | ||
|
a26129d283 | ||
|
ef37995a71 | ||
|
658946c214 | ||
|
a41422a7f4 | ||
|
0aaa0f1f4a | ||
|
bcdc6abbf8 | ||
|
b809e2deb0 | ||
|
9c28d4db7a | ||
|
19628caf13 | ||
|
eebe632337 | ||
|
7206593bc9 | ||
|
c2aa97dba2 | ||
|
70e79d313c | ||
|
9715d1de0a | ||
|
8440cef85b | ||
|
374d33464c | ||
|
59a79376cb | ||
|
c6c7699c86 | ||
|
77bde6c1c0 | ||
|
8bcad215ef | ||
|
5d02fe7a3e | ||
|
957a73772d | ||
|
a3bd35bd0c | ||
|
d6d933e8d5 | ||
|
8faeb46334 | ||
|
5f3e359ab6 | ||
|
d9763747d3 | ||
|
a23998a8f3 | ||
|
fabb0119ef | ||
|
487bc3a3c9 | ||
|
b84b312f44 | ||
|
71f84d4499 | ||
|
d04722f799 | ||
|
c3baa6ecbb | ||
|
5575d70531 | ||
|
34ca8072ff | ||
|
60e063e484 | ||
|
a9c0df9627 | ||
|
925e1c787e | ||
|
07c09fee81 | ||
|
143027d9fc | ||
|
18c8eaddb4 | ||
|
a87e0b6b80 | ||
|
fd4dde338a | ||
|
266e9a2df1 | ||
|
a8c89ab3fc | ||
|
9ec2dda809 | ||
|
e15667aa2f | ||
|
87d76c813a | ||
|
d826cd20e0 | ||
|
4dc40f4f4a | ||
|
0d32f2f838 | ||
|
6844b5aa48 | ||
|
c6c7cc7c1f | ||
|
cc55071afd | ||
|
1c698ff626 | ||
|
24e1161d3c | ||
|
0adca3f7a1 | ||
|
586197d591 | ||
|
73461fca08 | ||
|
e30a6e51a7 | ||
|
f29e729852 | ||
|
9baf39a262 | ||
|
b3f16cbee2 | ||
|
d3971342d8 | ||
|
73acf77646 | ||
|
c946f9457f | ||
|
4d28dfb9e6 | ||
|
0a5812f168 | ||
|
a8a1eef67a | ||
|
9b5cfb114d | ||
|
fd07e8e831 | ||
|
605b27a550 | ||
|
4056e98a43 | ||
|
fa83ac6b0b | ||
|
139e5dfda7 | ||
|
9f33928d38 | ||
|
4f308cdf62 | ||
|
1804158370 | ||
|
28b475ce7b | ||
|
b51dddcdc4 | ||
|
c0708dd41b | ||
|
3eff164421 | ||
|
d45bb86bcd | ||
|
024e48dcba | ||
|
2861c54ad7 | ||
|
e43486d4a1 | ||
|
885c0f90ec | ||
|
aa2730f07f | ||
|
f521caa013 | ||
|
026272428d | ||
|
337917c4d9 | ||
|
93fbe4c71c | ||
|
c759e49570 | ||
|
cdde59f436 | ||
|
4ef5a12e60 | ||
|
3136efc10d | ||
|
4f66ed834b | ||
|
0f5ab96310 | ||
|
fdbf495f15 | ||
|
055dce8f40 | ||
|
d692d7b79b | ||
|
ebe44bf04e | ||
|
b84c4d8530 | ||
|
314ed77d77 | ||
|
343ac49b39 | ||
|
4dbde5f886 | ||
|
165bb84bf5 | ||
|
e47a99c42a | ||
|
2a2e420353 | ||
|
ed96c35dc1 | ||
|
927947841c | ||
|
d69622fa9c | ||
|
b26dbaee68 | ||
|
083d44f676 | ||
|
b8a2ca9e5a | ||
|
71aab84949 | ||
|
4019f98594 | ||
|
42d9c851f1 | ||
|
b05cbfd8f9 | ||
|
36088bad6c | ||
|
42a76abaa7 | ||
|
d9bf247dee | ||
|
18f3109cee | ||
|
3c81209b34 | ||
|
ecc9501387 | ||
|
6e7a7bac35 | ||
|
c58f620d09 | ||
|
52fc42ca8f | ||
|
872957da4e | ||
|
790fb3a31a | ||
|
63aedf6912 | ||
|
ee569590a6 | ||
|
dead85ee75 | ||
|
2e9d81bdda | ||
|
346aae9d42 | ||
|
0eb6010448 | ||
|
40380a96c4 | ||
|
b5bec951c0 | ||
|
f17b90d30c | ||
|
b1eda34239 | ||
|
767951addb | ||
|
fdbb9b345c | ||
|
2afe15c4a3 | ||
|
f363b745ff | ||
|
30da459114 | ||
|
948032d8a3 | ||
|
aafcbd082e | ||
|
03e13834b9 | ||
|
cb225bd8f2 | ||
|
08754a3c71 | ||
|
d373b65c3e | ||
|
0713ff4f94 | ||
|
4e8e44a788 | ||
|
f245b24f30 | ||
|
a9386ef070 | ||
|
682f5859ae | ||
|
a0a25fc6ea | ||
|
e44205bb33 | ||
|
f124357734 | ||
|
69d226d489 | ||
|
12329170f1 | ||
|
9e1a6f6ff9 | ||
|
bbfbfd8956 | ||
|
e1e13bbfdc | ||
|
705335a220 | ||
|
3f6eb545e2 | ||
|
fb44f55379 | ||
|
edea7a2b9c | ||
|
d3144ea253 | ||
|
3f1644fad6 | ||
|
58e6dfbbdb | ||
|
9482e7b9f9 | ||
|
919f091820 | ||
|
34efc162a2 | ||
|
c4a2361451 | ||
|
3f08738b67 | ||
|
671fcab5c8 | ||
|
067fd52b5c | ||
|
a3f9eeed9f | ||
|
8e341da95c | ||
|
df04e14503 | ||
|
784efd7053 | ||
|
75c139ace8 | ||
|
a55229619e | ||
|
e4fcb01b6a | ||
|
8178324266 | ||
|
73f2273d71 | ||
|
198d5a8720 | ||
|
6ad66e3d42 | ||
|
90628d7ee7 | ||
|
bba53d9f7a | ||
|
c289c20b88 | ||
|
8ca2144a74 | ||
|
b771bf89b0 | ||
|
79e525d260 | ||
|
dc9d6b5bf3 | ||
|
1f2d2e8d62 | ||
|
857778b922 | ||
|
86ba4c99ca | ||
|
b4e0849690 | ||
|
f4793f0df0 | ||
|
7d5efa8a76 | ||
|
89e15a2f5d | ||
|
2da0560c68 | ||
|
973e1b51c1 | ||
|
4988d36ba2 | ||
|
a22f4eebab | ||
|
405a3c3327 | ||
|
ff644a2ca1 | ||
|
25694bdfdd | ||
|
dcef46eeea | ||
|
3a403daf6b | ||
|
09a870fa43 | ||
|
d420a25b94 | ||
|
58ee0de242 | ||
|
0d2d356ddb | ||
|
6ef82feac4 | ||
|
710aa8aa5a | ||
|
3ea5038905 | ||
|
89192f4e69 | ||
|
121af2e631 | ||
|
e68d3a699d | ||
|
9442e2ea30 | ||
|
899d1b5361 | ||
|
8a6502aaa4 | ||
|
32a85dc172 | ||
|
30cb57b32c | ||
|
d18a35c449 | ||
|
12030d99e9 | ||
|
fce947e0f4 | ||
|
2e8f16c972 | ||
|
bb1dcea894 | ||
|
5b8ac8354e | ||
|
ff9305976b | ||
|
9199747fc3 | ||
|
6c36b6dd6c | ||
|
e556fdae00 | ||
|
9c20cc13a3 | ||
|
75067b3cf3 | ||
|
88fe0e1bb8 | ||
|
3fca602809 | ||
|
9d227eb205 | ||
|
0e3a831df9 | ||
|
fc9ddd974e | ||
|
10e9b18ca7 | ||
|
d9c00752c0 | ||
|
1034cd0cb4 | ||
|
677e1b8e4e | ||
|
ea962ee2ac | ||
|
73843307f0 | ||
|
053b4dcc30 | ||
|
5f27c4c1e7 | ||
|
20e757b2a5 | ||
|
42e8c8b643 | ||
|
d0f707f33d | ||
|
83f9fba796 | ||
|
8d551acfb5 | ||
|
7ed4347de5 | ||
|
d30ffe59bc | ||
|
e56edac012 | ||
|
8d83b9b1de | ||
|
430fc81aab | ||
|
9ba1790863 | ||
|
7dfb6c3ed7 | ||
|
70a035f13d | ||
|
b70681960f | ||
|
5920bb9b35 | ||
|
af440c1703 | ||
|
41917433bd | ||
|
8c63520bac | ||
|
31e6991f24 | ||
|
26ff36479a | ||
|
fc669d8645 | ||
|
c85373f911 | ||
|
08afc2a0a9 | ||
|
35b742c1e8 | ||
|
3560b7a7f8 | ||
|
b03fb1f73f | ||
|
697b8d6bd3 | ||
|
82951a2716 | ||
|
2e217ac51e | ||
|
dd7c37e130 | ||
|
6a6f0ca9cb | ||
|
6f9551f1cb | ||
|
1a507e34b0 | ||
|
09e468211a | ||
|
cefbe3ccc2 | ||
|
0838fc6390 | ||
|
3d6d497df3 | ||
|
f0a0d62a5b | ||
|
1f91b015ab | ||
|
629fbd14ad | ||
|
054423d016 | ||
|
d4fbed617f | ||
|
f06bc5b375 | ||
|
cdec3f5868 | ||
|
ad463fb831 | ||
|
ce61a43a13 | ||
|
c4c758cc17 | ||
|
9d493af4b0 | ||
|
391e9c7f07 | ||
|
390d6f5a8d | ||
|
12b5dfd4da | ||
|
45db7b738e | ||
|
8aefff3758 | ||
|
3910b88ee9 | ||
|
6e4c276d1f | ||
|
9bcda8d239 | ||
|
8aa54e7cff | ||
|
885b241709 | ||
|
f6344a01c5 | ||
|
20cb64e557 | ||
|
84e7c2ccab | ||
|
840421c7c6 | ||
|
222ab46cff | ||
|
d125c47081 | ||
|
6155633e85 | ||
|
6ac3640c95 | ||
|
fae3d8db54 | ||
|
7466d8438b | ||
|
bb4f0d4295 | ||
|
c5201e1847 | ||
|
3d2127478d | ||
|
d0149b00d7 | ||
|
8f914adf7a | ||
|
1948b455be | ||
|
ab02df8cd1 | ||
|
c44f53e185 | ||
|
fed4e17188 | ||
|
f712a32238 | ||
|
6be22ce24b | ||
|
532e055b7c | ||
|
da18852892 | ||
|
5b12d0746c | ||
|
a944e7ea7f | ||
|
a9677cbe33 | ||
|
e899e83543 | ||
|
5bf59a2cd7 | ||
|
08513b1897 | ||
|
2ad6ec42dd | ||
|
41319d5069 | ||
|
56220bdd23 | ||
|
09b49cda66 | ||
|
c921d40a9f | ||
|
4f871e64b1 | ||
|
be30dcfdbb | ||
|
2b51da9af7 | ||
|
4750a90f80 | ||
|
fdd01746fe | ||
|
578273e517 | ||
|
b020d4a0fb | ||
|
aab58522ad | ||
|
e7c0233ca6 | ||
|
9b93191e17 | ||
|
fc3d02f28f | ||
|
7abc5b2184 | ||
|
c401cbb150 | ||
|
bf5de3c686 | ||
|
05b3f16f58 | ||
|
7099f9d98d | ||
|
ba472b71d9 | ||
|
663cb5214f | ||
|
5942694e6f | ||
|
268fea2a1c | ||
|
6fdef19b2c | ||
|
1e126f74d1 | ||
|
d52393da1b | ||
|
98617b342b | ||
|
7a08470ca1 | ||
|
05ec1d133d | ||
|
01bc2ab948 | ||
|
46f3f929bc | ||
|
1c814c8ec6 | ||
|
1aabfec757 | ||
|
754b3128a3 | ||
|
2f17d27ca7 | ||
|
cd236932de | ||
|
97634a34d1 | ||
|
ee62d21ba1 | ||
|
98f0ba6bb1 | ||
|
bf0709edf6 | ||
|
8bb4628586 | ||
|
dc962d7a3f | ||
|
f82cd1f2cc | ||
|
a29c6076f7 | ||
|
db2c5f4fbe | ||
|
1fc55fe66d | ||
|
a04a6a9602 | ||
|
ca2abaa613 | ||
|
29f1538d90 | ||
|
de25fb4a6c | ||
|
178456394e | ||
|
6ee66a6efc | ||
|
8543e3c5f9 | ||
|
3a07cf4a74 | ||
|
1dda02513c | ||
|
2663e8c1b2 | ||
|
e591ab20cf | ||
|
ba6bd9186b | ||
|
e9efe8d0f0 | ||
|
dc37cf94b3 | ||
|
5e59f725c0 | ||
|
700d2473a0 | ||
|
ec13baee65 | ||
|
e47bff4bed | ||
|
4f043a34e0 | ||
|
37917959fc | ||
|
b5ca7c1971 | ||
|
0ed7d2466d | ||
|
b35a2611af | ||
|
b314aa599c | ||
|
7c40574cf4 | ||
|
36bc8ee0f7 | ||
|
328e7bb241 | ||
|
cfa2134468 | ||
|
796ad86236 | ||
|
b68895d129 | ||
|
6e719c751d | ||
|
17b287e7bf | ||
|
0d4c692262 | ||
|
54cb83cd4d | ||
|
c9a2b9ac2b | ||
|
7196ad55f1 | ||
|
7c994cefee | ||
|
6f5982b9a7 | ||
|
a3378ee9fc | ||
|
8b273361cb | ||
|
c994254e4b | ||
|
d889f5af5a | ||
|
2b074fb581 | ||
|
5ac091b867 | ||
|
144f957675 | ||
|
8d35759719 | ||
|
01f8a0bd87 | ||
|
32db0692a3 | ||
|
b696cade13 | ||
|
fe102eaa5b | ||
|
59b69d3767 | ||
|
dbda709ce3 | ||
|
497177760b | ||
|
91c70189fd | ||
|
95e5437f44 | ||
|
165279fae9 | ||
|
76fabbe0ba | ||
|
1277344ec8 | ||
|
ed6962c413 | ||
|
26d68da791 | ||
|
1d1f86cb9c | ||
|
e04d4df889 | ||
|
13c0d09c25 | ||
|
13a6851a10 | ||
|
1cb0bfd1e7 | ||
|
ce2f96bc0d | ||
|
3e3b9bcff5 | ||
|
a6b95b7d53 | ||
|
a4000c606c | ||
|
44df5e3081 | ||
|
2aaa7de246 | ||
|
d624e9d18f | ||
|
9bc479dbcb | ||
|
f40db6836e | ||
|
38ade0ea7d | ||
|
189bfa238a | ||
|
1d68d8064c | ||
|
e3693820e5 | ||
|
c55c731237 | ||
|
fc3a05db7a | ||
|
0a2d4b11a8 | ||
|
f91f61f8d4 | ||
|
ff41896cc8 | ||
|
5eb960dd3f | ||
|
d26a7521b0 | ||
|
a3e252dece | ||
|
da15a35063 | ||
|
0ef30ff665 | ||
|
87e1cadcb0 | ||
|
0735ad8de3 | ||
|
f8d4866cbc | ||
|
ecaaa33fdc | ||
|
7386ca4d0c | ||
|
b9353d781a | ||
|
e8b02a39b2 | ||
|
e6bde18b04 | ||
|
2b03e3ca99 | ||
|
91bad45ec1 | ||
|
fdfef34b37 | ||
|
122e711d28 | ||
|
abfdd76f01 | ||
|
0744d360cc | ||
|
3eb727f3ca | ||
|
aa99618dd6 | ||
|
7acdaaf977 | ||
|
e124934502 | ||
|
405141964e | ||
|
04d4e0f3d9 | ||
|
8e8a5d7e52 | ||
|
a8965d486d | ||
|
5f374b192b | ||
|
d0afcbd295 | ||
|
3449fc6a64 | ||
|
5762512710 | ||
|
5f88f85278 | ||
|
5c960d720b | ||
|
ae55aac31b | ||
|
6e05bb7e74 | ||
|
b4a6cf5310 | ||
|
9357415020 | ||
|
40624a2443 | ||
|
798ed69085 | ||
|
a03fa654f3 | ||
|
0737f186fe | ||
|
ebbaada218 | ||
|
61cc8e57ba | ||
|
dfdbce7108 | ||
|
19c33e5e32 | ||
|
be202b94d5 | ||
|
544c21ba3a | ||
|
ba5566c4a1 | ||
|
c1eac4b0a9 | ||
|
dd46215fbe | ||
|
814fba1ade | ||
|
e6e0b97226 | ||
|
24452f43df | ||
|
78a427ad2c | ||
|
ffa4991cb4 | ||
|
71b8bf786f | ||
|
984ebf5e9b | ||
|
5c96b78d72 | ||
|
146b1619f1 | ||
|
de32133e75 | ||
|
0d3b618c0b | ||
|
16300e471f | ||
|
1a6fb270b4 | ||
|
2560aa210b | ||
|
2398d09ba4 | ||
|
d69e21a0af | ||
|
dcad51ec87 | ||
|
4349bcad39 | ||
|
6aee8410eb | ||
|
1c248875b4 | ||
|
c13550bcb6 | ||
|
1cd7d50b85 | ||
|
dfc4566257 | ||
|
7fd1e122d7 | ||
|
d82e65e0e2 | ||
|
6e70eb821e | ||
|
0cb8bf54d8 | ||
|
aa96842c84 | ||
|
3a91cf964d | ||
|
e8b3a18c45 | ||
|
e9b5d0aa20 | ||
|
a3e16b12b6 | ||
|
e6ccf7c66c | ||
|
29307e4566 | ||
|
4e8a631483 | ||
|
f8abc5b881 | ||
|
2d4683260b | ||
|
5287637ffd | ||
|
b6631943f3 | ||
|
7a104714c4 | ||
|
58334ba46d | ||
|
289d9244b0 | ||
|
a5691d4cd1 | ||
|
cf40e7bccf | ||
|
aecd1169fd | ||
|
7a45eede4a | ||
|
d94994b1f4 | ||
|
b4b217ade5 | ||
|
eee6501a18 | ||
|
328def15a2 | ||
|
ccbb9300f4 | ||
|
05f5ce10c8 | ||
|
6f26c6b58e | ||
|
7212902eb8 | ||
|
dceda81ff2 | ||
|
427aad7b15 | ||
|
cd533a92cb | ||
|
72b504ca2e | ||
|
3f06a00904 | ||
|
7218468e18 | ||
|
ebe04d88b0 | ||
|
dfc7a2ce26 | ||
|
11d380cfd8 | ||
|
640663269f | ||
|
f646002543 | ||
|
344cf5b718 | ||
|
7f7289bed9 | ||
|
96381b0ff3 | ||
|
1d36de0fbb | ||
|
c38452bb43 | ||
|
c5f75d2af3 | ||
|
e9cea63f52 | ||
|
4bd2570416 | ||
|
66a1d33481 | ||
|
d0aa685788 | ||
|
4dc91f0366 | ||
|
bfd984568f | ||
|
5ec650697c | ||
|
1ad1e42fb9 | ||
|
097fc7f7b6 | ||
|
a2eece166e | ||
|
87e4d3557a | ||
|
a72810805f | ||
|
2d74893dd2 | ||
|
457a6c6bee | ||
|
3386a80945 | ||
|
f5ce76d52e | ||
|
e3ea0c9b97 | ||
|
5bb84b1548 | ||
|
d9ec09c396 | ||
|
a3381c3724 | ||
|
4465bcd28c | ||
|
11fc1380f7 | ||
|
fd235db083 | ||
|
7f471eb318 | ||
|
69ec667c35 | ||
|
bc54558c3c | ||
|
fdb7a3d716 | ||
|
354b34ea1a | ||
|
d91afb44bb | ||
|
1329a9338d | ||
|
de373f2ddc | ||
|
343d5e97b4 | ||
|
63a99bb3bc | ||
|
1787c499ff | ||
|
24a1820266 | ||
|
010639eba5 | ||
|
280d8c1172 | ||
|
fd49a767bb | ||
|
56b5ee1703 | ||
|
877592d0a4 | ||
|
82187df277 | ||
|
b67cf6e986 | ||
|
e38f84cb64 | ||
|
1fe068de96 | ||
|
914af6bdfe | ||
|
1ce4774db7 | ||
|
6e485c2a7b | ||
|
9736ae4655 | ||
|
989aecd253 | ||
|
aae8cce991 | ||
|
faf30c45ec | ||
|
b354beb244 | ||
|
70d5255a48 | ||
|
abe0b35261 | ||
|
e0bc0afc78 | ||
|
36b422605b | ||
|
c8a854cc4a | ||
|
a93078cb32 | ||
|
7c723753e6 | ||
|
73518f83b5 | ||
|
e85a6f604f | ||
|
bebc67ec72 | ||
|
b4267dc5a7 | ||
|
c409ef2e4d | ||
|
a623269d2f | ||
|
5d7289caad | ||
|
35d3c4aee4 | ||
|
3d7657e466 | ||
|
997fb23b2d | ||
|
fe63eaec05 | ||
|
77c95c7f24 | ||
|
ebe9bfe05b | ||
|
dd7fd86c3d | ||
|
755166deec | ||
|
6bbdecfd7e | ||
|
95e7b5cd44 | ||
|
f797b18618 | ||
|
3887bc06b1 | ||
|
f53448ab4b | ||
|
d054dcf796 | ||
|
ddf4bac12e | ||
|
3ab7f120da | ||
|
834a2947dd | ||
|
5e28efeca2 | ||
|
7f311a2852 | ||
|
bae108a7ae | ||
|
8c0e535b29 | ||
|
5480d7bcef | ||
|
02c7c47ece | ||
|
13fbbcb4f3 | ||
|
c175f31ea7 | ||
|
cfa69ccf43 | ||
|
fef245e07c | ||
|
5ef61615ce | ||
|
186e6f13da | ||
|
b2b37159d5 | ||
|
6265047606 | ||
|
9ebaa17ad8 | ||
|
df38124295 | ||
|
fd6b8cdab0 | ||
|
99e6e3cc27 | ||
|
c896352a20 | ||
|
e1fe418927 | ||
|
2faba4eb3e | ||
|
b5fe00acc2 | ||
|
c4ffe8ad0b | ||
|
5fd32ddc17 | ||
|
dccc33c454 | ||
|
773c5c33e0 | ||
|
f8f79ecf99 | ||
|
8657394219 | ||
|
d80f8248b8 | ||
|
55d8398445 | ||
|
06132eec9b | ||
|
5b7535a628 | ||
|
ad837ae9cf | ||
|
142fcc94a3 | ||
|
526b7e63c6 | ||
|
bc3e647fc3 | ||
|
ce34dff75f | ||
|
19f4f57c8c | ||
|
eff2b11d81 | ||
|
df28e21b54 | ||
|
4faba7c569 | ||
|
b5ede6ab85 | ||
|
0dbaa60945 | ||
|
e84d3ed9db | ||
|
4ac501214d | ||
|
b248387f32 | ||
|
eeb8efc0b1 | ||
|
2c84b5db5b | ||
|
a1cafe8843 | ||
|
574f6a239d | ||
|
9bb93b6fc0 | ||
|
eb22cc206b | ||
|
b64ce68971 | ||
|
3bfd76f9d4 | ||
|
88c4a0fc7f | ||
|
3db76b355a | ||
|
876d8fdd8e | ||
|
013af48c51 | ||
|
6e38700f26 | ||
|
7d6f5ecb56 | ||
|
fd5da7c92b | ||
|
e6f97df7a7 | ||
|
f31ed78711 | ||
|
aa181c12ff | ||
|
1a8951e82d | ||
|
3b97f4f3e5 | ||
|
90b34b936f | ||
|
76876a11f0 | ||
|
4a97dee930 | ||
|
a5c5215959 | ||
|
d68b83af1d | ||
|
19221fd2bc | ||
|
c1a3f11583 | ||
|
038cd428d3 | ||
|
b1b1c9a91a | ||
|
1bc68bd2cf | ||
|
bb718951ed | ||
|
b11d08f6b0 | ||
|
495d14b69d | ||
|
baf7a803ae | ||
|
f4bbff9e9c | ||
|
e48a2c92d4 | ||
|
394d956a37 | ||
|
b62377b374 | ||
|
d7c0cad962 | ||
|
ed91b960e2 | ||
|
a99497b5ce | ||
|
4c299794a9 | ||
|
45317aa8e0 | ||
|
15beff979f | ||
|
8cb609f2b2 | ||
|
8460bb2bdf | ||
|
8871609660 | ||
|
1961071ff3 | ||
|
8d12afe1e9 | ||
|
cdd93a4cd8 | ||
|
b37b898653 | ||
|
1e5b8d0e5b | ||
|
5d642ab042 | ||
|
ec5abfe6f2 | ||
|
9c916053b1 | ||
|
3ef8324ff7 | ||
|
d9a9b4cab4 | ||
|
5ad9ee9f5b | ||
|
c52f0965e7 | ||
|
182cab66c4 | ||
|
6b1ad27167 | ||
|
531aaba3a0 | ||
|
b78922b14a | ||
|
26c2198838 | ||
|
a3b82ff2e9 | ||
|
36f7f7729f | ||
|
620f3fb25a | ||
|
eed9304664 | ||
|
a2da2da87b | ||
|
3013ee034a | ||
|
1fb2545712 | ||
|
6c118ef1fe | ||
|
51fe0a4db8 | ||
|
5553c11ddd | ||
|
adc2b7869d | ||
|
99f78224ac | ||
|
c279a9ba14 | ||
|
9e95b512f5 | ||
|
62073c1085 | ||
|
1b93ed57ed | ||
|
be79f00dff | ||
|
2c27cf68a6 | ||
|
fd667bdd5f | ||
|
cfbc5c16cd | ||
|
2ba510bb89 | ||
|
b09ddfee2f | ||
|
b05b4aa5ce | ||
|
f6cb127479 | ||
|
7b7c84a9fe | ||
|
4215c94b92 | ||
|
f7525d6dd5 | ||
|
086ca39f10 | ||
|
08042bf61f | ||
|
53c5d801f8 | ||
|
c46bb9ed88 | ||
|
c19ff094b1 | ||
|
39e6306364 | ||
|
0c8520ee8c | ||
|
f8d3f9f2f5 | ||
|
a3b5e71547 | ||
|
f2d17d73a5 | ||
|
45a341dfd1 | ||
|
04f52e9de6 | ||
|
76ba39d60b | ||
|
ce3c2f6bee | ||
|
8b659d8fc3 | ||
|
2fa20670c3 | ||
|
d199de5185 | ||
|
0fa022c367 | ||
|
58559d9db8 | ||
|
e47794030f | ||
|
657a57d266 | ||
|
6348bc3df1 | ||
|
1ef75a1a23 | ||
|
d7ee0af9f7 | ||
|
2e9a5c3db6 | ||
|
425b9da534 | ||
|
c8e71cacee | ||
|
3f3018aef2 | ||
|
00faea17e2 | ||
|
b5274624ac | ||
|
18d02c4c39 | ||
|
e39a3565e5 | ||
|
8ebee7e0f2 | ||
|
9f340a7562 | ||
|
df1ae06d30 | ||
|
53faae58dc | ||
|
85f8548d5f | ||
|
1054307414 | ||
|
5182d62de1 | ||
|
0a64cae0da | ||
|
86e940a9ae | ||
|
9033bf7ee7 | ||
|
0d51908f40 | ||
|
088341fa7c | ||
|
3354374972 | ||
|
40aa623ac3 | ||
|
8e27317b65 | ||
|
cf68c75fa8 | ||
|
30b6628910 | ||
|
e9b90a8650 | ||
|
d5c7de285e | ||
|
c28ddf5698 | ||
|
fec33a6a41 | ||
|
401dd27276 | ||
|
f822b7c1d9 | ||
|
0fe7076e88 | ||
|
e0457ff333 | ||
|
2279efb2cf | ||
|
121bc50341 | ||
|
86b7ff977c | ||
|
2de4aecc4f | ||
|
b18aa6209a | ||
|
2a2cd83b74 | ||
|
8351e6876d | ||
|
9fa9f3eb96 | ||
|
3f694feb94 | ||
|
d0ed0d83cc | ||
|
f01beda01c | ||
|
63f418c534 | ||
|
cce5ceb0ec | ||
|
e5ac5620d7 | ||
|
f6335cf993 | ||
|
30df1c0ec8 | ||
|
fe2aa64ea9 | ||
|
dc6b404bc9 | ||
|
8cee545568 | ||
|
b94d134650 | ||
|
bcf9772206 | ||
|
43ec3ff136 | ||
|
b2b0375646 | ||
|
517bc10e3b | ||
|
c6a82f8bc1 | ||
|
f74f07507b | ||
|
48c30e91a6 | ||
|
54c0a88464 | ||
|
34b1991bdd | ||
|
df6b32086b | ||
|
4c0a650052 | ||
|
f55ab3d465 | ||
|
96d72d83e2 | ||
|
9ba4809eed | ||
|
c4de897e2a | ||
|
af2497291f | ||
|
8756577518 | ||
|
8e30fddfae | ||
|
71a1bffba5 | ||
|
715c554e88 | ||
|
b4a245b281 | ||
|
3ac706401f | ||
|
9077c0babd | ||
|
51966025d6 | ||
|
493597a500 | ||
|
2c2aaf90b3 | ||
|
0a35d3d13d | ||
|
d264ee7e97 | ||
|
0184a10c21 | ||
|
b46114c20f | ||
|
c43e9775e0 | ||
|
9ee1a8faa0 | ||
|
bd08a0c423 | ||
|
ff84b6da91 | ||
|
67ad32a06d | ||
|
1e179b1bd6 | ||
|
41cc2fa194 | ||
|
86facf23c2 | ||
|
eedb60b296 | ||
|
3f776be478 | ||
|
692627c771 | ||
|
a435c3234b | ||
|
13cbe49a19 | ||
|
9bf33b330b | ||
|
2e2376d854 | ||
|
82eab1c349 | ||
|
660209473b | ||
|
7977a367fd | ||
|
8dd88f18f8 | ||
|
b1b1e5e332 | ||
|
9dd04a43ba | ||
|
07cb3f5777 | ||
|
f00a490006 | ||
|
d607847d49 | ||
|
47b1393664 | ||
|
8588c064b7 | ||
|
e3654e914c | ||
|
c6578d1ec0 | ||
|
98061bc423 | ||
|
2c1e1c8727 | ||
|
0ad5bd5174 | ||
|
eeb8fd38bf | ||
|
820b8dc0c5 | ||
|
1ef4d149a7 | ||
|
59464226c0 | ||
|
64e51e0617 | ||
|
4f7a5232a2 | ||
|
4336f7442a | ||
|
7229c63dc2 | ||
|
0a272cab3f | ||
|
2a1a48ae56 | ||
|
b038e247d5 | ||
|
5716fa6d50 | ||
|
3d03dcdb3f | ||
|
432ddc28ff | ||
|
4adf0f3eeb | ||
|
9bc2bbf64f | ||
|
887aa1a9ab | ||
|
680a4698d7 | ||
|
254be7bb5d | ||
|
9c62fb8723 | ||
|
453112f342 | ||
|
324c2957fd | ||
|
303e7ae18f | ||
|
af53674200 | ||
|
552892f264 | ||
|
32ed378668 | ||
|
54f082b6e8 | ||
|
686b6a8649 | ||
|
d67edd7c3c | ||
|
d80f54dfa5 | ||
|
3764bd12af | ||
|
4e827697e8 | ||
|
1bb418e02f | ||
|
8b5cd3d045 | ||
|
baae70c001 | ||
|
ae8648282c | ||
|
3a9ffe412c | ||
|
a335ef7949 | ||
|
9ea8f738fc | ||
|
162af93f88 | ||
|
abef3ae37d | ||
|
6558579e7b | ||
|
fab2200666 | ||
|
b76649ea94 | ||
|
45c5d5206b | ||
|
4afe3c8478 | ||
|
a0ef5a7e20 | ||
|
7d47a7679e | ||
|
2057d62aac | ||
|
9f0722dfb3 | ||
|
70a1dbecc7 | ||
|
21355cbf52 | ||
|
cbe6726eb3 | ||
|
735ac962c3 | ||
|
fca3e45826 | ||
|
4479344db0 | ||
|
06446bbd4d | ||
|
a10ca5753f | ||
|
8afda6d3f1 | ||
|
d7ee62e951 | ||
|
5371195caa | ||
|
d635434a5e | ||
|
e69d243a59 | ||
|
32ad889061 | ||
|
5fc7c352cd | ||
|
4c6ee076c2 | ||
|
5144644ba0 | ||
|
0852ffbda9 | ||
|
4178bf7476 | ||
|
9e6a13f5a9 | ||
|
fbe27a7ce4 | ||
|
cec070446f | ||
|
4be074c8fa | ||
|
7e038457bc | ||
|
3ead141240 | ||
|
6aafc793dd | ||
|
9bbcd92ce4 | ||
|
ec60ffc00e | ||
|
1747986a88 | ||
|
409762e55c | ||
|
552b0a1f91 | ||
|
ab0dc4244b | ||
|
5e181b6b8e | ||
|
8627e0a626 | ||
|
8eda0c4326 | ||
|
b50fbb7750 | ||
|
2585452cbb | ||
|
44f2b31a98 | ||
|
82373b169d | ||
|
533b2bf7bd | ||
|
fb0712859c | ||
|
2b37f9bc62 | ||
|
d116ced2ca | ||
|
c0209c5494 | ||
|
a3c7379a9d | ||
|
a8cea3d339 | ||
|
899139ba99 | ||
|
61495065ec | ||
|
4e7c58085e | ||
|
6961cbfb3c | ||
|
ac1260b163 | ||
|
9f6067b68f | ||
|
b01194ef8d | ||
|
ee157d1cd9 | ||
|
3ae9fea935 | ||
|
ccb14b6831 | ||
|
b56b02683b | ||
|
fc7faa9780 | ||
|
aff1d83e02 | ||
|
7dd3ae05d7 | ||
|
71102a4589 | ||
|
7450a5e8bb | ||
|
3ab323805e | ||
|
1a2677b8ef | ||
|
462cd8f4ca | ||
|
dc76d195bf | ||
|
8ec0773201 | ||
|
6e214de3b3 | ||
|
4669ee62af | ||
|
fccec5fab9 | ||
|
0f01b0752c | ||
|
158c4f3693 | ||
|
2befb9ec5a | ||
|
006e8482fc | ||
|
07029e3dfb | ||
|
cb41838b48 | ||
|
53652d8cee | ||
|
133f91bbf9 | ||
|
91239a55f7 | ||
|
100ba7d1b5 | ||
|
1943df29eb | ||
|
daf1535d05 | ||
|
84e2835686 | ||
|
cbbd22fa5b | ||
|
67734216ab | ||
|
f347770b46 | ||
|
516b264a8f | ||
|
27365f9dd4 | ||
|
b2a400fe50 | ||
|
684e340b54 | ||
|
a7677ff836 | ||
|
0dd7a86948 | ||
|
cb64c34c22 | ||
|
282aa33614 | ||
|
15e5ef9a82 | ||
|
76f7079cb1 | ||
|
2fc7208333 | ||
|
a27c19cb5c | ||
|
7e8423a470 | ||
|
17ea793a94 | ||
|
da237f41a9 | ||
|
9d312fbeec | ||
|
fe2867ba1c | ||
|
ba64f36109 | ||
|
b6582c2c6e | ||
|
937e6c3aee | ||
|
ddf5199752 | ||
|
df87493df5 | ||
|
d28b99753e | ||
|
6ce93a9a09 | ||
|
6b187026f5 | ||
|
d814f79fa1 | ||
|
66ad1f5854 | ||
|
952311f101 | ||
|
11d5296e86 | ||
|
b04aa7844f | ||
|
22bae2ac33 | ||
|
76cc07a219 | ||
|
b8f3016eb3 | ||
|
43781fb79a | ||
|
afb27f1e1b | ||
|
b78b21f43e | ||
|
04eb3ada8b | ||
|
7126a9e894 | ||
|
2f4abf3d71 | ||
|
781d077af8 | ||
|
851e96ea23 | ||
|
bd8d28701f | ||
|
623ecc432c | ||
|
5904bbefd3 | ||
|
13b6b4b9a8 | ||
|
d55ea2647f | ||
|
bf8f15471f | ||
|
ab43ddd875 | ||
|
e38e8a0c45 | ||
|
5f78423d35 | ||
|
ffc3968c57 | ||
|
45c8f13d65 | ||
|
7241b30c16 | ||
|
b403dedbfb | ||
|
fffcab6392 | ||
|
3bccd17b81 | ||
|
61303da466 | ||
|
b5b099424f | ||
|
b32dd85a63 | ||
|
e931dada62 | ||
|
230cc212ce | ||
|
87e4054245 | ||
|
e79ddd9c3a | ||
|
cf6c2356b1 | ||
|
47bc5bf351 | ||
|
19399b71c9 | ||
|
356ea9e7db | ||
|
4ab5841b20 | ||
|
2772869fa8 | ||
|
992f710440 | ||
|
ed8529df0a | ||
|
11801d9553 | ||
|
97a70a97cc | ||
|
37e6c07dd8 | ||
|
1e12c1fb7a | ||
|
57dccd844d | ||
|
ba54fe6688 | ||
|
b23792c20f | ||
|
af95fac84c | ||
|
3515d7ac78 | ||
|
a07da2e246 | ||
|
0189b27604 | ||
|
2c2ba94a96 | ||
|
4678bbd765 | ||
|
5bb05bc287 | ||
|
b6648db1ea | ||
|
65efe55972 | ||
|
bf9b7ae3b8 | ||
|
533fac4911 | ||
|
a2a4fc785d | ||
|
e55766b0d9 | ||
|
42e9c465f9 | ||
|
c959bfa577 | ||
|
5fd07993fe | ||
|
7921cac14a | ||
|
3622e2f028 | ||
|
263d6600fb | ||
|
264e526c3d | ||
|
17be6dbcd8 | ||
|
fafd303131 | ||
|
39e44c3167 | ||
|
ebff8fe69f | ||
|
f0db65419b | ||
|
8fda1ebdc1 | ||
|
4ca97770da | ||
|
4b13534eea | ||
|
49986f0b78 | ||
|
ea5ca126c7 | ||
|
05cbdd858f | ||
|
a381fb3cb0 | ||
|
a7a7dec87d | ||
|
df660e9667 | ||
|
1048901abb | ||
|
015d317cdf | ||
|
01265da7eb | ||
|
7e26340170 | ||
|
5e0d815405 | ||
|
0de4797ce0 | ||
|
bee6f01c4a | ||
|
18abd68ec4 | ||
|
456b792297 | ||
|
0327c3816d | ||
|
403a1a9412 | ||
|
0021522956 | ||
|
7746e67d74 | ||
|
4140992fab | ||
|
9064f9eac8 | ||
|
401a907e6e | ||
|
72e0377045 | ||
|
50ff107d7f | ||
|
1c84ef2f93 | ||
|
073e8b1d64 | ||
|
7601649315 | ||
|
5d04f355a1 | ||
|
b0b4faca50 | ||
|
4bd431e1bc | ||
|
44fe4e6205 | ||
|
f2efc000b6 | ||
|
b80904677c | ||
|
fc20065e25 | ||
|
70369b4fa0 | ||
|
8902b0571a | ||
|
794bd9bd13 | ||
|
6828ae2e8c | ||
|
fa0942f136 | ||
|
0b5901506b | ||
|
1c90e2a4f6 | ||
|
1aab6931a6 | ||
|
17af86e051 | ||
|
5579a50ef5 | ||
|
99ddf5fd61 | ||
|
590901e51c | ||
|
4be325d306 | ||
|
fe062e698a | ||
|
05f268065b | ||
|
6f4c4b031f | ||
|
55cd28cb31 | ||
|
6f78086089 | ||
|
4ac351c1f6 | ||
|
9fb63c6224 | ||
|
2c01f17904 | ||
|
9de91675bc | ||
|
c1bdfe3f6d | ||
|
633d60d71d | ||
|
6619e1c0f8 | ||
|
04a2a88c09 | ||
|
5c14871416 | ||
|
660e6256c7 | ||
|
ace0508430 | ||
|
896b1780b4 | ||
|
79fdd2dccb | ||
|
cf1939605e | ||
|
dcaab5fc47 | ||
|
7d53fbf9df | ||
|
c3bd2726c7 | ||
|
3b4c72019a | ||
|
71c25ec898 | ||
|
309bf6d2a3 | ||
|
a3a1a1bc6f | ||
|
19f2e81a3b | ||
|
ed98811342 | ||
|
5d25f96d46 | ||
|
477e6a9430 | ||
|
a5c97797d3 | ||
|
1e7993df3e | ||
|
0cca58d2bb | ||
|
505af8e20c | ||
|
7ad49b91be | ||
|
5c5240519b | ||
|
b9b643afd8 | ||
|
aecf197601 | ||
|
becabaff92 | ||
|
924f910335 | ||
|
2d26fc13a0 | ||
|
a5787e48a1 | ||
|
3b54c5b956 | ||
|
44afef5cd2 | ||
|
8ba73a850e | ||
|
49b1f200a5 | ||
|
54f47409c0 | ||
|
ccc59ee0d7 | ||
|
cbeeb920b2 | ||
|
c696deeff1 | ||
|
ec24eb2c70 | ||
|
85623d625a | ||
|
6acfe02e37 | ||
|
3f944f59b7 | ||
|
f7cf471e93 | ||
|
6f1313e1a4 | ||
|
b813c3ea45 | ||
|
62761f2afd | ||
|
97ed98b22e | ||
|
c88924cfc6 | ||
|
f396485ac4 | ||
|
f3739a77a9 | ||
|
5bbdbed962 | ||
|
31c8c6dfcf | ||
|
de892d4b87 | ||
|
43b5feb087 | ||
|
e7633f6879 | ||
|
bbe51620d4 | ||
|
3ed4038008 | ||
|
f3c6d92b03 | ||
|
499d602ff9 | ||
|
29869d25c6 | ||
|
f74f18f9a3 | ||
|
53cd9f8641 | ||
|
34c6d5a238 | ||
|
ea28be8a95 | ||
|
a706ce2f7e | ||
|
b93d8aa625 | ||
|
5f01f369a9 | ||
|
f35f81dc56 | ||
|
19e2e52d26 | ||
|
518a6006d6 | ||
|
9e74af84e0 | ||
|
6907a384fe | ||
|
3e72a73484 | ||
|
90110bfeac | ||
|
673d3658d7 | ||
|
62a94f1970 | ||
|
1d5ba328d0 | ||
|
de89ada951 | ||
|
cb393d3255 | ||
|
42406c4be8 | ||
|
d54b89e4c1 | ||
|
b86063c27f | ||
|
5964d3d6cb | ||
|
51dc6ffb7e | ||
|
22274ef8aa | ||
|
9e23dfa60c | ||
|
80ea6a5664 | ||
|
db35a2a668 | ||
|
1b907f791c | ||
|
50f05272e5 | ||
|
8e44248758 | ||
|
9594fedc48 | ||
|
683988f987 | ||
|
ed5253a36d | ||
|
9e89a22c58 | ||
|
2b34773630 | ||
|
7292782ef8 | ||
|
082d3aa4a9 | ||
|
8a67e7b8e4 | ||
|
7d465094a0 | ||
|
abd7660c33 | ||
|
5565c16af1 | ||
|
06f8f62948 | ||
|
89766c353b | ||
|
9c5632cb62 | ||
|
a2a92f02d3 | ||
|
299c397d63 | ||
|
7515ca30e3 | ||
|
d3a972de33 | ||
|
c598d35031 | ||
|
2920e58d75 | ||
|
2a08a1f02b | ||
|
4ab0673c80 | ||
|
764290cb9a | ||
|
440ead9328 | ||
|
3f771e4ce8 | ||
|
80f53f4ddc | ||
|
36fd550ab4 | ||
|
4ff65ad731 | ||
|
853f0275a6 | ||
|
0ee66adc16 | ||
|
6c3ae1e29b | ||
|
40ce764ea4 | ||
|
98688b4d88 | ||
|
eafd4a4bff | ||
|
1e27007d44 | ||
|
b875c4e884 | ||
|
e8722696bf | ||
|
a13d42f824 | ||
|
28f7abc2d4 | ||
|
3edf300dd6 | ||
|
24a8eae5c7 | ||
|
f463f63c67 | ||
|
315b12484c | ||
|
1372671779 | ||
|
dfc59c0558 | ||
|
cc8ec956b0 | ||
|
5babcfe869 | ||
|
8f7d07e6bc | ||
|
e4e8f156bd | ||
|
8c5be3eb66 | ||
|
c921eaf947 | ||
|
dcb7ccbaec | ||
|
f84f961805 | ||
|
f9570af63f | ||
|
f77f947359 | ||
|
c5cef06bff | ||
|
5d0197e239 | ||
|
afdf9bfd63 | ||
|
1c04fd9ec0 | ||
|
4430dc01c0 | ||
|
e5862f49c9 | ||
|
510cdbd726 | ||
|
af1d20f51e | ||
|
99414b6d44 | ||
|
72076da069 | ||
|
f76e52e730 | ||
|
95a8fdecb2 | ||
|
1005f7d174 | ||
|
16addfa5ff | ||
|
a2a67eab75 | ||
|
3df7282fc5 | ||
|
e3eaaab755 | ||
|
1cfe684420 | ||
|
8377c6bfa3 | ||
|
f5c6695e13 | ||
|
8c114519e8 | ||
|
0dfe4b4731 | ||
|
caafd18fb9 | ||
|
9420833871 | ||
|
4e104ffcef | ||
|
4da9387f3d | ||
|
cfe30e88e5 | ||
|
e6a7d63ae0 | ||
|
0e10dd4ed4 | ||
|
28891f7d7a | ||
|
ce5dec0c12 | ||
|
47030d4fd7 | ||
|
4a143146c3 | ||
|
3a922e8752 | ||
|
b101712009 | ||
|
4f21ae1cd0 | ||
|
d526cd933f | ||
|
d4667d668e | ||
|
51160d6eb1 | ||
|
16051d01ae | ||
|
79d78376b5 | ||
|
47be819276 | ||
|
4c598a9247 | ||
|
b5d36d7794 | ||
|
acf2ebb924 | ||
|
0dc688ee7e | ||
|
99afb52d19 | ||
|
7a5de7c877 | ||
|
c2fa613721 | ||
|
32d0e916d3 | ||
|
3997415b8f | ||
|
07451d8631 | ||
|
233ceb06b9 | ||
|
ecdba06065 | ||
|
a33a5c106b | ||
|
621b743cab | ||
|
8a0396377b | ||
|
4180affdf1 | ||
|
803ee6582b | ||
|
95487419e7 | ||
|
6661936718 | ||
|
384cba2e19 | ||
|
54b102a92d | ||
|
5a62f49527 | ||
|
bffe719703 | ||
|
5120e41e6a | ||
|
dbfbeea256 | ||
|
c8f27f6cfe | ||
|
dc678ec284 | ||
|
264ba59ffd | ||
|
e7e3d269c1 | ||
|
9e228e499b | ||
|
a8b6ad1d4f | ||
|
1f2127b0cc | ||
|
9e551578fa | ||
|
80ff3827c3 | ||
|
8b1896be9e | ||
|
e98a55a21a | ||
|
d6a8669f61 | ||
|
ddd6372281 | ||
|
df9a4986c5 | ||
|
dc291e72df | ||
|
ee9561ae59 | ||
|
fe9b731b30 | ||
|
aa73abaee5 | ||
|
5bd544b63c | ||
|
c0c9b6d518 | ||
|
977ac4e608 | ||
|
42b618d346 | ||
|
65762755c0 | ||
|
fe3937b755 | ||
|
ae7449ce54 | ||
|
405535d3e8 | ||
|
0d0b21b353 | ||
|
acd67abdb5 | ||
|
0a3d905cf4 | ||
|
a6002f06e0 | ||
|
47abdefae9 | ||
|
3dc0985b0f | ||
|
2ca97407cf | ||
|
2b49d2f131 | ||
|
2fed60d3c4 | ||
|
5343d2348f | ||
|
ae5190c76f | ||
|
eae06eb608 | ||
|
cfa705a863 | ||
|
2cf281ff85 | ||
|
b06cc759d3 | ||
|
dc5c649441 | ||
|
7082fa14ff | ||
|
0f734c5ef8 | ||
|
b059048bd9 | ||
|
4b556e6d3b | ||
|
3eb8f13f35 | ||
|
b7ccb322a3 | ||
|
982cd8bbfd | ||
|
471fb39dbe | ||
|
d97b54fc0a | ||
|
a32b4c0e43 | ||
|
1973bde3e0 | ||
|
6db05720f3 | ||
|
e596fad456 | ||
|
2c4db266b4 | ||
|
25ec8a9092 | ||
|
fdb2e2d4d6 | ||
|
87660fb375 | ||
|
09cd08b58f | ||
|
574d21c916 | ||
|
ea9ee6d0a7 | ||
|
ab78b51a9f | ||
|
c293aa80cf | ||
|
5bdec5b5b2 | ||
|
7e41f58ea6 | ||
|
5f1855196c | ||
|
1275d07e71 | ||
|
cc3c11315d | ||
|
c0ecedb2fe | ||
|
c8d75b6f98 | ||
|
d093c7b35c | ||
|
cc7ad33a4d | ||
|
f83148b000 | ||
|
2c8a198018 | ||
|
4550abc30e | ||
|
d281ff0428 | ||
|
6bc7b8e017 | ||
|
dac4145893 | ||
|
e9bb3f8d1d | ||
|
73cd5897c0 | ||
|
97faca5bbb | ||
|
f536680dd3 | ||
|
05efc70443 | ||
|
2bd5fba0e8 | ||
|
66e5f15f40 | ||
|
3b3d174e23 | ||
|
1580e901de | ||
|
ccc6d698a5 | ||
|
72d3f50be2 | ||
|
eb94bb8f7e | ||
|
e81c4a1ae7 | ||
|
48f591a4bb | ||
|
7fba4ddbd1 | ||
|
0510f340ca | ||
|
1efd85bb5f | ||
|
82899a0f45 | ||
|
30bb23a2b7 | ||
|
f284ee7cd6 | ||
|
966ab3727a | ||
|
d5a19ca5a7 | ||
|
5448add754 | ||
|
e628bfbe34 | ||
|
ec92bb5d75 | ||
|
ea3c45cb16 | ||
|
a1457492b4 | ||
|
0353f952d8 | ||
|
ee3ad27b78 | ||
|
d9dd366665 | ||
|
9842049f21 | ||
|
1028885576 | ||
|
5069952a4a | ||
|
d96e4af643 | ||
|
7ff9aa777a | ||
|
e54ee2d25a | ||
|
aab36b1d41 | ||
|
087fac7ede | ||
|
17c36f9107 | ||
|
c060c48ec8 | ||
|
39594f64e0 | ||
|
6d924143c0 | ||
|
5748f9d64f | ||
|
3e71ff7ab7 | ||
|
ba14d22954 | ||
|
ce4e0932a5 | ||
|
0e4604eeb7 | ||
|
8a29c11904 | ||
|
0db2c71998 | ||
|
5e3e368bb8 | ||
|
c30c4865a4 | ||
|
a0f10bb410 | ||
|
54e9563e92 | ||
|
a49e4f6d43 | ||
|
74e55c2166 | ||
|
b3b816515e | ||
|
fa0b10c274 | ||
|
df881ec2da | ||
|
4779d7b1a7 | ||
|
97bed31aa1 | ||
|
52f9b37eaa | ||
|
f46bca3f23 | ||
|
c1a9323035 | ||
|
a30e797e8c | ||
|
20157940ae | ||
|
6c5a9971fe | ||
|
4f97f5ba15 | ||
|
cdb1292963 | ||
|
b96c73ba64 | ||
|
f3e8c0ee84 | ||
|
ce84101f73 | ||
|
3fb1ca0b7c | ||
|
2c8ac5fb5b | ||
|
76455d8933 | ||
|
558b589715 | ||
|
27cccf9a70 | ||
|
3bcda69839 | ||
|
d062a2f8a6 | ||
|
ddab40c44f | ||
|
ffd08de377 | ||
|
a178201eea | ||
|
fcf86d2ad2 | ||
|
30915541e4 | ||
|
046798d12b | ||
|
d63b782aec | ||
|
adf3557967 | ||
|
f0ca5053fe | ||
|
480bbc9278 | ||
|
884024ddd8 | ||
|
974deb0a9a | ||
|
682d7be285 | ||
|
c397ad9f7b | ||
|
509360d40d | ||
|
685b1ead09 | ||
|
1820a2ccfa | ||
|
6799633ca3 | ||
|
f2c6091a2e | ||
|
89e8d69cbe | ||
|
9c4a6b0988 | ||
|
7d29f31847 | ||
|
e6c5a0fe26 | ||
|
638950f184 | ||
|
a0ae5a2e23 | ||
|
e139944b3a | ||
|
47a2274264 | ||
|
0684698c98 | ||
|
ba0d0664a8 | ||
|
5d0eb21a8f | ||
|
4ba398de53 | ||
|
c6a040f85f | ||
|
f60a86b68d | ||
|
d4f6f9079e | ||
|
5d9ef43b25 | ||
|
d35077e14e | ||
|
81c1cf50df | ||
|
f03f0ec72a | ||
|
edce828ee0 | ||
|
40f749c91b | ||
|
39211b67e0 | ||
|
2ff5ec5ec0 | ||
|
eb189ace78 | ||
|
be68e7465a | ||
|
ac53f8f767 | ||
|
6730937ea3 | ||
|
f01cebdaea | ||
|
7eb81c1185 | ||
|
a58f36a5db | ||
|
fbc1f1f6d8 | ||
|
f760b4e845 | ||
|
fa2a6f3dce | ||
|
85a8659398 | ||
|
6a17e7c6c7 | ||
|
78b7833ea9 | ||
|
ed15916481 | ||
|
5ad8a6ed00 | ||
|
d10afc2732 | ||
|
b85dc1a793 | ||
|
27f83c2602 | ||
|
332b507bc2 | ||
|
5ba877aefd | ||
|
6c2e20d030 | ||
|
a876414c25 | ||
|
c9e4293dea | ||
|
a256eca0b7 | ||
|
fbc5418533 | ||
|
8dd4bf61c2 | ||
|
2cd60187c0 | ||
|
2e747436a7 | ||
|
d131a9d995 | ||
|
2dbdc62166 | ||
|
67fec3a81a | ||
|
3aeb7c88b5 | ||
|
d134469ed3 | ||
|
95708ccc3b | ||
|
1dbc9df337 | ||
|
0a28dbb15d | ||
|
f762242ebb | ||
|
f25358a175 | ||
|
4b8839ef15 | ||
|
b4cd975dc8 | ||
|
dc4750eb91 | ||
|
25488361a5 | ||
|
852700f3d5 | ||
|
865c68bb64 | ||
|
e4da9b9daf | ||
|
23b776e222 | ||
|
57ba754a12 | ||
|
4cc9db7a36 | ||
|
0e83a9c00a | ||
|
f27b248164 | ||
|
0f4f16d6be | ||
|
948eb42287 | ||
|
46c72133dc | ||
|
723abf6259 | ||
|
aa8da91082 | ||
|
719d62ff14 | ||
|
6ed32f4dde | ||
|
ad0ee7b350 | ||
|
4d314779fd | ||
|
f14f840e4a | ||
|
c86b608ab1 | ||
|
58cc975f12 | ||
|
cadae8c549 | ||
|
a0f1b047a7 | ||
|
7105552708 | ||
|
2b7daa462c | ||
|
1a217816e4 | ||
|
a35d5ec515 | ||
|
c64d7e4150 | ||
|
d940bef5dc | ||
|
0bb9ebc0d8 | ||
|
ca10641308 | ||
|
97c43e379f | ||
|
86f51ec2fd | ||
|
1c2dc32484 | ||
|
ba4d1f17e7 | ||
|
53031201e2 | ||
|
863a19276e | ||
|
7d68a1342a | ||
|
5113a9c9e8 | ||
|
f2d32379e5 | ||
|
e2993f68c7 | ||
|
5cf5a784ec | ||
|
0eb1bb372d | ||
|
4a83caf926 | ||
|
c378180b73 | ||
|
c359d6ea5a | ||
|
7530dfe684 | ||
|
7a09536724 | ||
|
6dbb193752 | ||
|
ccd955398f | ||
|
6de5aee07b | ||
|
e97aef9426 | ||
|
2cfb651336 | ||
|
2815680714 | ||
|
fc27dc5caa | ||
|
3d3ad4f42d | ||
|
99f873032b | ||
|
ef2b238290 | ||
|
2ddc572d79 | ||
|
1af28e0d64 | ||
|
81f3805efa | ||
|
540d9e79a4 | ||
|
a070ac34ba | ||
|
0fecbc40ba | ||
|
68e7eafe79 | ||
|
7a5865fd07 | ||
|
2083b8c197 | ||
|
a32574aba0 | ||
|
bc1e0be5d7 | ||
|
dea3df2e40 | ||
|
c8933eb174 | ||
|
d830c5a4c1 | ||
|
b04a9071c0 | ||
|
972aa89548 | ||
|
4283b1534b | ||
|
bc3d9db61e | ||
|
c05f149d67 | ||
|
4276d59cbc | ||
|
f401128b98 | ||
|
957f392e22 | ||
|
18f87873a4 | ||
|
aed22db4c0 | ||
|
f6ea8a9286 | ||
|
f3a07f76d5 | ||
|
4bec0ef246 | ||
|
68458f1cb1 | ||
|
e0036d7e0e | ||
|
0d83a33944 | ||
|
53174fa9aa | ||
|
14ebb357cc | ||
|
ab7001a5a6 | ||
|
95df8ec695 | ||
|
c0e1489fd1 | ||
|
18a289f7ec | ||
|
fdffec3237 | ||
|
a53cac66cd | ||
|
21de3bb377 | ||
|
a6c88f7e6a | ||
|
64a93270d2 | ||
|
afd4082d6f | ||
|
354a42b669 | ||
|
304cd20e8e | ||
|
44d1d459da | ||
|
fc706eafe0 | ||
|
88abaa56cf | ||
|
0bbef6d974 | ||
|
32f8e2b2bc | ||
|
6f0f40360f | ||
|
66e11f7e49 | ||
|
f1901454b5 | ||
|
0e291144a4 | ||
|
07ceae19b3 | ||
|
1fa547d059 |
@ -1,8 +0,0 @@
|
|||||||
/.shelf/
|
|
||||||
/build/
|
|
||||||
/python-build-stamp-*
|
|
||||||
/debian/files
|
|
||||||
/debian/ubuntu-dev-tools/
|
|
||||||
/debian/ubuntu-dev-tools.debhelper.log
|
|
||||||
/debian/ubuntu-dev-tools.*.debhelper
|
|
||||||
/debian/ubuntu-dev-tools.substvars
|
|
2
.gitignore
vendored
Normal file
2
.gitignore
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
__pycache__
|
||||||
|
*.egg-info
|
65
.pylintrc
Normal file
65
.pylintrc
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
[MASTER]
|
||||||
|
|
||||||
|
# A comma-separated list of package or module names from where C extensions may
|
||||||
|
# be loaded. Extensions are loading into the active Python interpreter and may
|
||||||
|
# run arbitrary code.
|
||||||
|
extension-pkg-allow-list=apt_pkg
|
||||||
|
|
||||||
|
# Pickle collected data for later comparisons.
|
||||||
|
persistent=no
|
||||||
|
|
||||||
|
# Use all cpus, to speed up testing
|
||||||
|
jobs=0
|
||||||
|
|
||||||
|
|
||||||
|
[MESSAGES CONTROL]
|
||||||
|
|
||||||
|
# Disable the message, report, category or checker with the given id(s). You
|
||||||
|
# can either give multiple identifiers separated by comma (,) or put this
|
||||||
|
# option multiple times (only on the command line, not in the configuration
|
||||||
|
# file where it should appear only once).You can also use "--disable=all" to
|
||||||
|
# disable everything first and then reenable specific checks. For example, if
|
||||||
|
# you want to run only the similarities checker, you can use "--disable=all
|
||||||
|
# --enable=similarities". If you want to run only the classes checker, but have
|
||||||
|
# no Warning level messages displayed, use"--disable=all --enable=classes
|
||||||
|
# --disable=W"
|
||||||
|
disable=fixme,locally-disabled,missing-docstring,useless-option-value,
|
||||||
|
# TODO: Fix all following disabled checks!
|
||||||
|
invalid-name,
|
||||||
|
consider-using-with,
|
||||||
|
too-many-arguments,
|
||||||
|
too-many-branches,
|
||||||
|
too-many-statements,
|
||||||
|
too-many-locals,
|
||||||
|
duplicate-code,
|
||||||
|
too-many-instance-attributes,
|
||||||
|
too-many-nested-blocks,
|
||||||
|
too-many-lines,
|
||||||
|
|
||||||
|
|
||||||
|
[REPORTS]
|
||||||
|
|
||||||
|
# Tells whether to display a full report or only the messages
|
||||||
|
reports=no
|
||||||
|
|
||||||
|
|
||||||
|
[FORMAT]
|
||||||
|
|
||||||
|
# Maximum number of characters on a single line.
|
||||||
|
max-line-length=99
|
||||||
|
|
||||||
|
# String used as indentation unit. This is usually " " (4 spaces) or "\t" (1
|
||||||
|
# tab).
|
||||||
|
indent-string=' '
|
||||||
|
|
||||||
|
|
||||||
|
[BASIC]
|
||||||
|
|
||||||
|
# Allow variables called e, f, lp
|
||||||
|
good-names=i,j,k,ex,Run,_,e,f,lp,me,to
|
||||||
|
|
||||||
|
|
||||||
|
[IMPORTS]
|
||||||
|
|
||||||
|
# Force import order to recognize a module as part of a third party library.
|
||||||
|
known-third-party=debian
|
125
404main
125
404main
@ -1,125 +0,0 @@
|
|||||||
#!/usr/bin/python
|
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
#
|
|
||||||
# Copyright 2006-2007 (C) Pete Savage <petesavage@ubuntu.com>
|
|
||||||
# Copyright 2007 (C) Siegfried-A. Gevatter <rainct@ubuntu.com>
|
|
||||||
#
|
|
||||||
# ##################################################################
|
|
||||||
#
|
|
||||||
# This program 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 2
|
|
||||||
# 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.
|
|
||||||
#
|
|
||||||
# See file /usr/share/common-licenses/GPL for more details.
|
|
||||||
#
|
|
||||||
# ##################################################################
|
|
||||||
#
|
|
||||||
# This script is used to check if a package and all its build
|
|
||||||
# dependencies are in main or not.
|
|
||||||
|
|
||||||
import subprocess
|
|
||||||
import sys
|
|
||||||
|
|
||||||
def process_deps(deps):
|
|
||||||
"""Takes a list of (build) dependencies and processes it."""
|
|
||||||
|
|
||||||
for package in [ package.split('|')[0] for package in deps ]:
|
|
||||||
|
|
||||||
# Cut package name (from something like "name ( >= version)")
|
|
||||||
name = package.split(' ')[0]
|
|
||||||
|
|
||||||
if not packages.has_key(name) and name != '':
|
|
||||||
# Check the (build) dependencies recursively
|
|
||||||
find_main(name)
|
|
||||||
|
|
||||||
|
|
||||||
def find_main(pack):
|
|
||||||
"""Searches the dependencies and build dependencies of a package recursively
|
|
||||||
to determine if they are all in the 'main' component or not."""
|
|
||||||
|
|
||||||
global packages
|
|
||||||
|
|
||||||
# Retrieve information about the package
|
|
||||||
out = subprocess.Popen('apt-cache madison ' + pack + ' | grep ' + distro + ' | grep -m 1 Packages', shell=True, stdout=subprocess.PIPE).stdout.read()
|
|
||||||
|
|
||||||
if out.find("/main") != -1:
|
|
||||||
packages[pack] = True
|
|
||||||
return 1
|
|
||||||
else:
|
|
||||||
if not packages.has_key(pack):
|
|
||||||
packages[pack] = False
|
|
||||||
|
|
||||||
# Retrive package dependencies
|
|
||||||
deps = subprocess.Popen('apt-cache show ' + pack + ' | grep -m 1 ^Depends', shell=True, stdout=subprocess.PIPE).stdout.read().split('\n')[0].replace('Depends: ', '').split(', ')
|
|
||||||
|
|
||||||
process_deps(deps)
|
|
||||||
|
|
||||||
# Retrieve package build dependencies
|
|
||||||
deps1 = subprocess.Popen('apt-cache showsrc ' + pack + ' | grep -m 1 ^Build-Depends', shell=True, stdout=subprocess.PIPE).stdout.readlines()
|
|
||||||
deps = []
|
|
||||||
|
|
||||||
for builddep in deps1:
|
|
||||||
if builddep.startswith('Build-Depends'):
|
|
||||||
deps += builddep.strip('\n').replace('Build-Depends: ', '').replace('Build-Depends-Indep: ', '').split(', ')
|
|
||||||
|
|
||||||
process_deps(deps)
|
|
||||||
|
|
||||||
|
|
||||||
def main():
|
|
||||||
|
|
||||||
global packages, distro
|
|
||||||
|
|
||||||
# Check if the amount of arguments is correct
|
|
||||||
if len(sys.argv) < 2 or len(sys.argv) > 3 or sys.argv[1] in ('help', '-h', '--help'):
|
|
||||||
print 'Usage: %s <package name> [<distribution>]' % sys.argv[0]
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
if len(sys.argv) == 3 and sys.argv[2]:
|
|
||||||
distro = sys.argv[2]
|
|
||||||
if not subprocess.Popen('apt-cache madison bash | grep ' + distro, shell=True, stdout=subprocess.PIPE).stdout.read():
|
|
||||||
print '«%s» is not a valid distribution.' % distro
|
|
||||||
print 'Remember that for 404main to work with a certain distribution it must be in your /etc/apt/sources.list file.'
|
|
||||||
sys.exit(1)
|
|
||||||
else:
|
|
||||||
distro = subprocess.Popen('lsb_release -cs', shell=True, stdout=subprocess.PIPE).stdout.read().strip('\n')
|
|
||||||
|
|
||||||
if not subprocess.Popen('apt-cache madison ' + sys.argv[1] + ' | grep ' + distro, shell=True, stdout=subprocess.PIPE).stdout.read():
|
|
||||||
print 'Can\'t find package «%s» in distribution «%s».' % (sys.argv[1], distro)
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
print 'Checking package «%s» in distribution «%s»...' % (sys.argv[1], distro)
|
|
||||||
|
|
||||||
find_main(sys.argv[1])
|
|
||||||
|
|
||||||
# True if everything checked until the point is in main
|
|
||||||
all_in_main = True
|
|
||||||
|
|
||||||
for package in packages:
|
|
||||||
if not packages[package]:
|
|
||||||
if all_in_main:
|
|
||||||
print 'The following packages aren\'t in main:'
|
|
||||||
all_in_main = False
|
|
||||||
print ' ', package
|
|
||||||
|
|
||||||
if all_in_main:
|
|
||||||
print 'Package «%s» and all its dependencies and build dependencies are in main.' % sys.argv[1]
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
|
|
||||||
# Global variable to hold the status of all packages
|
|
||||||
packages = {}
|
|
||||||
|
|
||||||
# Global variable to hold the target distribution
|
|
||||||
distro = ''
|
|
||||||
|
|
||||||
try:
|
|
||||||
main()
|
|
||||||
except KeyboardInterrupt:
|
|
||||||
print 'Aborted.'
|
|
||||||
sys.exit(1)
|
|
54
README.updates
Normal file
54
README.updates
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
Updating the ubuntu-dev-tools package
|
||||||
|
-------------------------------------
|
||||||
|
|
||||||
|
Here are the 10 steps that are recommended to take when updating the
|
||||||
|
ubuntu-dev-tools package in Ubuntu.
|
||||||
|
|
||||||
|
1) Make sure there are no new commits to the package's master branch in git:
|
||||||
|
|
||||||
|
git pull
|
||||||
|
|
||||||
|
2) Check to make sure that all approved merges have been merged:
|
||||||
|
|
||||||
|
https://code.launchpad.net/ubuntu-dev-tools/+activereviews
|
||||||
|
|
||||||
|
3) Make sure that there is no low lying fruit that can be fixed at:
|
||||||
|
|
||||||
|
https://bugs.launchpad.net/ubuntu/+source/ubuntu-dev-tools
|
||||||
|
https://bugs.debian.org/src:ubuntu-dev-tools
|
||||||
|
|
||||||
|
4) Check that the test suite passes
|
||||||
|
|
||||||
|
setup.py test
|
||||||
|
|
||||||
|
5) Before uploading the package change the UNRELEASED field in the
|
||||||
|
debian/changelog file to unstable. (ubuntu-dev-tools is maintained in Debian
|
||||||
|
and synced to Ubuntu)
|
||||||
|
|
||||||
|
If there is no UNRELEASED entry, make sure that the version for the current
|
||||||
|
one has not been uploaded by someone else already:
|
||||||
|
|
||||||
|
https://tracker.debian.org/pkg/ubuntu-dev-tools
|
||||||
|
https://launchpad.net/ubuntu/+source/ubuntu-dev-tools/+publishinghistory
|
||||||
|
|
||||||
|
6) Once the target release has been changed, commit it to git (where X.YY is
|
||||||
|
the new package version):
|
||||||
|
|
||||||
|
git commit -a -m "Uploaded X.YY to RELEASE."
|
||||||
|
|
||||||
|
7) Create the new source package and tag the new release in git:
|
||||||
|
|
||||||
|
gbp buildpackage -S --git-tag
|
||||||
|
|
||||||
|
For a full list of tags, please see: 'git tag -l'. This is so we can track
|
||||||
|
which git commit is in which release and makes bug triaging easier.
|
||||||
|
|
||||||
|
8) Upload the package to Debian with dput as normal:
|
||||||
|
|
||||||
|
dput ftp-master ubuntu-dev-tools_X.YY_$arch.changes
|
||||||
|
|
||||||
|
9) Create a new blank entry with dch -i and mark it as UNRELEASED.
|
||||||
|
|
||||||
|
10) After it's been dinstalled in Debian, sync to Ubuntu:
|
||||||
|
|
||||||
|
syncpackage ubuntu-dev-tools
|
9
TODO
9
TODO
@ -1,7 +1,10 @@
|
|||||||
|
TODO for the ubuntu-dev-tools package
|
||||||
|
-------------------------------------
|
||||||
|
|
||||||
- Fix all bugs at Launchpad:
|
- Fix all bugs at Launchpad:
|
||||||
https://bugs.launchpad.net/ubuntu/+source/ubuntu-dev-tools
|
https://bugs.launchpad.net/ubuntu/+source/ubuntu-dev-tools
|
||||||
- Create missing manpages (for all commands).
|
|
||||||
- Modify 404main to use the more robust python-apt module.
|
- Create missing and improve existing manpages (for all commands).
|
||||||
|
|
||||||
- Ask all authors who have used GPL if they are happy with using "or any later"
|
- Ask all authors who have used GPL if they are happy with using "or any later"
|
||||||
versions of the license.
|
versions of the license.
|
||||||
- pull-lp-source: determine the current development distro programatically.
|
|
||||||
|
495
backportpackage
Executable file
495
backportpackage
Executable file
@ -0,0 +1,495 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
# -*- coding: utf-8 -*-
|
||||||
|
# ##################################################################
|
||||||
|
#
|
||||||
|
# Copyright (C) 2010-2011, Evan Broder <evan@ebroder.net>
|
||||||
|
# Copyright (C) 2010, Benjamin Drung <bdrung@ubuntu.com>
|
||||||
|
#
|
||||||
|
# This program 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; version 2.
|
||||||
|
#
|
||||||
|
# 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.
|
||||||
|
#
|
||||||
|
# See file /usr/share/common-licenses/GPL-2 for more details.
|
||||||
|
#
|
||||||
|
# ##################################################################
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import glob
|
||||||
|
import os
|
||||||
|
import shutil
|
||||||
|
import subprocess
|
||||||
|
import sys
|
||||||
|
import tempfile
|
||||||
|
from urllib.parse import quote
|
||||||
|
|
||||||
|
try:
|
||||||
|
import lsb_release
|
||||||
|
except ImportError:
|
||||||
|
lsb_release = None
|
||||||
|
from distro_info import DebianDistroInfo, UbuntuDistroInfo
|
||||||
|
from httplib2 import Http, HttpLib2Error
|
||||||
|
|
||||||
|
from ubuntutools import getLogger
|
||||||
|
from ubuntutools.archive import DebianSourcePackage, DownloadError, UbuntuSourcePackage
|
||||||
|
from ubuntutools.builder import get_builder
|
||||||
|
from ubuntutools.config import UDTConfig, ubu_email
|
||||||
|
from ubuntutools.lp.lpapicache import (
|
||||||
|
Distribution,
|
||||||
|
Launchpad,
|
||||||
|
PackageNotFoundException,
|
||||||
|
SeriesNotFoundException,
|
||||||
|
)
|
||||||
|
from ubuntutools.misc import codename_to_distribution, system_distribution, vendor_to_distroinfo
|
||||||
|
from ubuntutools.question import YesNoQuestion
|
||||||
|
|
||||||
|
Logger = getLogger()
|
||||||
|
|
||||||
|
|
||||||
|
def error(msg, *args):
|
||||||
|
Logger.error(msg, *args)
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
|
def check_call(cmd, *args, **kwargs):
|
||||||
|
Logger.debug(" ".join(cmd))
|
||||||
|
ret = subprocess.call(cmd, *args, **kwargs)
|
||||||
|
if ret != 0:
|
||||||
|
error("%s returned %d.", cmd[0], ret)
|
||||||
|
|
||||||
|
|
||||||
|
def parse(argv):
|
||||||
|
usage = "%(prog)s [options] <source package name or .dsc URL/file>"
|
||||||
|
parser = argparse.ArgumentParser(usage=usage)
|
||||||
|
parser.add_argument(
|
||||||
|
"-d",
|
||||||
|
"--destination",
|
||||||
|
metavar="DEST",
|
||||||
|
dest="dest_releases",
|
||||||
|
default=[],
|
||||||
|
action="append",
|
||||||
|
help="Backport to DEST release (default: current release)",
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"-s",
|
||||||
|
"--source",
|
||||||
|
metavar="SOURCE",
|
||||||
|
dest="source_release",
|
||||||
|
help="Backport from SOURCE release (default: devel release)",
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"-S",
|
||||||
|
"--suffix",
|
||||||
|
metavar="SUFFIX",
|
||||||
|
help="Suffix to append to version number (default: ~ppa1 when uploading to a PPA)",
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"-e",
|
||||||
|
"--message",
|
||||||
|
metavar="MESSAGE",
|
||||||
|
default="No-change",
|
||||||
|
help='Changelog message to use instead of "No-change" '
|
||||||
|
"(default: No-change backport to DEST.)",
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"-b",
|
||||||
|
"--build",
|
||||||
|
default=False,
|
||||||
|
action="store_true",
|
||||||
|
help="Build the package before uploading (default: %(default)s)",
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"-B",
|
||||||
|
"--builder",
|
||||||
|
metavar="BUILDER",
|
||||||
|
help="Specify the package builder (default: pbuilder)",
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"-U",
|
||||||
|
"--update",
|
||||||
|
default=False,
|
||||||
|
action="store_true",
|
||||||
|
help="Update the build environment before attempting to build",
|
||||||
|
)
|
||||||
|
parser.add_argument("-u", "--upload", metavar="UPLOAD", help="Specify an upload destination")
|
||||||
|
parser.add_argument(
|
||||||
|
"-k", "--key", dest="keyid", help="Specify the key ID to be used for signing."
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--dont-sign", dest="keyid", action="store_false", help="Do not sign the upload."
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"-y",
|
||||||
|
"--yes",
|
||||||
|
dest="prompt",
|
||||||
|
default=True,
|
||||||
|
action="store_false",
|
||||||
|
help="Do not prompt before uploading to a PPA",
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"-v", "--version", metavar="VERSION", help="Package version to backport (or verify)"
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"-w",
|
||||||
|
"--workdir",
|
||||||
|
metavar="WORKDIR",
|
||||||
|
help="Specify a working directory (default: temporary dir)",
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"-r",
|
||||||
|
"--release-pocket",
|
||||||
|
default=False,
|
||||||
|
action="store_true",
|
||||||
|
help="Target the release pocket in the .changes file. "
|
||||||
|
"Necessary (and default) for uploads to PPAs",
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"-c", "--close", metavar="BUG", help="Bug to close in the changelog entry."
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"-m", "--mirror", metavar="URL", help="Preferred mirror (default: Launchpad)"
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"-l",
|
||||||
|
"--lpinstance",
|
||||||
|
metavar="INSTANCE",
|
||||||
|
help="Launchpad instance to connect to (default: production)",
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--no-conf",
|
||||||
|
default=False,
|
||||||
|
action="store_true",
|
||||||
|
help="Don't read config files or environment variables",
|
||||||
|
)
|
||||||
|
parser.add_argument("package_or_dsc", help=argparse.SUPPRESS)
|
||||||
|
|
||||||
|
args = parser.parse_args(argv)
|
||||||
|
config = UDTConfig(args.no_conf)
|
||||||
|
if args.builder is None:
|
||||||
|
args.builder = config.get_value("BUILDER")
|
||||||
|
if not args.update:
|
||||||
|
args.update = config.get_value("UPDATE_BUILDER", boolean=True)
|
||||||
|
if args.workdir is None:
|
||||||
|
args.workdir = config.get_value("WORKDIR")
|
||||||
|
if args.lpinstance is None:
|
||||||
|
args.lpinstance = config.get_value("LPINSTANCE")
|
||||||
|
if args.upload is None:
|
||||||
|
args.upload = config.get_value("UPLOAD")
|
||||||
|
if args.keyid is None:
|
||||||
|
args.keyid = config.get_value("KEYID")
|
||||||
|
if not args.upload and not args.workdir:
|
||||||
|
parser.error("Please specify either a working dir or an upload target!")
|
||||||
|
if args.upload and args.upload.startswith("ppa:"):
|
||||||
|
args.release_pocket = True
|
||||||
|
|
||||||
|
return args, config
|
||||||
|
|
||||||
|
|
||||||
|
def find_release_package(mirror, workdir, package, version, source_release, config):
|
||||||
|
srcpkg = None
|
||||||
|
|
||||||
|
if source_release:
|
||||||
|
distribution = codename_to_distribution(source_release)
|
||||||
|
if not distribution:
|
||||||
|
error("Unknown release codename %s", source_release)
|
||||||
|
info = vendor_to_distroinfo(distribution)()
|
||||||
|
source_release = info.codename(source_release, default=source_release)
|
||||||
|
else:
|
||||||
|
distribution = system_distribution()
|
||||||
|
mirrors = [mirror] if mirror else []
|
||||||
|
|
||||||
|
mirrors.append(config.get_value(f"{distribution.upper()}_MIRROR"))
|
||||||
|
|
||||||
|
if not version:
|
||||||
|
archive = Distribution(distribution.lower()).getArchive()
|
||||||
|
try:
|
||||||
|
spph = archive.getSourcePackage(package, source_release)
|
||||||
|
except (SeriesNotFoundException, PackageNotFoundException) as e:
|
||||||
|
error("%s", str(e))
|
||||||
|
version = spph.getVersion()
|
||||||
|
|
||||||
|
if distribution == "Debian":
|
||||||
|
srcpkg = DebianSourcePackage(package, version, workdir=workdir, mirrors=mirrors)
|
||||||
|
elif distribution == "Ubuntu":
|
||||||
|
srcpkg = UbuntuSourcePackage(package, version, workdir=workdir, mirrors=mirrors)
|
||||||
|
|
||||||
|
return srcpkg
|
||||||
|
|
||||||
|
|
||||||
|
def find_package(mirror, workdir, package, version, source_release, config):
|
||||||
|
"Returns the SourcePackage"
|
||||||
|
if package.endswith(".dsc"):
|
||||||
|
# Here we are using UbuntuSourcePackage just because we don't have any
|
||||||
|
# "general" class that is safely instantiable (as SourcePackage is an
|
||||||
|
# abstract class). None of the distribution-specific details within
|
||||||
|
# UbuntuSourcePackage is relevant for this use case.
|
||||||
|
return UbuntuSourcePackage(
|
||||||
|
version=version, dscfile=package, workdir=workdir, mirrors=(mirror,)
|
||||||
|
)
|
||||||
|
|
||||||
|
if not source_release and not version:
|
||||||
|
info = vendor_to_distroinfo(system_distribution())
|
||||||
|
source_release = info().devel()
|
||||||
|
|
||||||
|
srcpkg = find_release_package(mirror, workdir, package, version, source_release, config)
|
||||||
|
if version and srcpkg.version != version:
|
||||||
|
error(
|
||||||
|
"Requested backport of version %s but version of %s in %s is %s",
|
||||||
|
version,
|
||||||
|
package,
|
||||||
|
source_release,
|
||||||
|
srcpkg.version,
|
||||||
|
)
|
||||||
|
|
||||||
|
return srcpkg
|
||||||
|
|
||||||
|
|
||||||
|
def get_backport_version(version, suffix, upload, release):
|
||||||
|
distribution = codename_to_distribution(release)
|
||||||
|
if not distribution:
|
||||||
|
error("Unknown release codename %s", release)
|
||||||
|
if distribution == "Debian":
|
||||||
|
debian_distro_info = DebianDistroInfo()
|
||||||
|
debian_codenames = debian_distro_info.supported()
|
||||||
|
if release in debian_codenames:
|
||||||
|
release_version = debian_distro_info.version(release)
|
||||||
|
if not release_version:
|
||||||
|
error("Can't find the release version for %s", release)
|
||||||
|
backport_version = f"{version}~bpo{release_version}+1"
|
||||||
|
else:
|
||||||
|
error("%s is not a supported release (%s)", release, debian_codenames)
|
||||||
|
elif distribution == "Ubuntu":
|
||||||
|
series = Distribution(distribution.lower()).getSeries(name_or_version=release)
|
||||||
|
|
||||||
|
backport_version = f"{version}~bpo{series.version}.1"
|
||||||
|
else:
|
||||||
|
error("Unknown distribution «%s» for release «%s»", distribution, release)
|
||||||
|
if suffix is not None:
|
||||||
|
backport_version += suffix
|
||||||
|
elif upload and upload.startswith("ppa:"):
|
||||||
|
backport_version += "~ppa1"
|
||||||
|
return backport_version
|
||||||
|
|
||||||
|
|
||||||
|
def get_old_version(source, release):
|
||||||
|
try:
|
||||||
|
distribution = codename_to_distribution(release)
|
||||||
|
archive = Distribution(distribution.lower()).getArchive()
|
||||||
|
pkg = archive.getSourcePackage(
|
||||||
|
source, release, ("Release", "Security", "Updates", "Proposed", "Backports")
|
||||||
|
)
|
||||||
|
return pkg.getVersion()
|
||||||
|
except (SeriesNotFoundException, PackageNotFoundException):
|
||||||
|
pass
|
||||||
|
return None
|
||||||
|
|
||||||
|
|
||||||
|
def get_backport_dist(release, release_pocket):
|
||||||
|
if release_pocket:
|
||||||
|
return release
|
||||||
|
return f"{release}-backports"
|
||||||
|
|
||||||
|
|
||||||
|
def do_build(workdir, dsc, release, builder, update):
|
||||||
|
builder = get_builder(builder)
|
||||||
|
if not builder:
|
||||||
|
return None
|
||||||
|
|
||||||
|
if update:
|
||||||
|
if 0 != builder.update(release):
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
# builder.build is going to chdir to buildresult:
|
||||||
|
workdir = os.path.realpath(workdir)
|
||||||
|
return builder.build(os.path.join(workdir, dsc), release, os.path.join(workdir, "buildresult"))
|
||||||
|
|
||||||
|
|
||||||
|
def do_upload(workdir, package, bp_version, changes, upload, prompt):
|
||||||
|
print(f"Please check {package} {bp_version} in file://{workdir} carefully!")
|
||||||
|
if prompt or upload == "ubuntu":
|
||||||
|
question = f"Do you want to upload the package to {upload}"
|
||||||
|
answer = YesNoQuestion().ask(question, "yes")
|
||||||
|
if answer == "no":
|
||||||
|
return
|
||||||
|
|
||||||
|
check_call(["dput", upload, changes], cwd=workdir)
|
||||||
|
|
||||||
|
|
||||||
|
def orig_needed(upload, workdir, pkg):
|
||||||
|
"""Avoid a -sa if possible"""
|
||||||
|
if not upload or not upload.startswith("ppa:"):
|
||||||
|
return True
|
||||||
|
ppa = upload.split(":", 1)[1]
|
||||||
|
user, ppa = ppa.split("/", 1)
|
||||||
|
|
||||||
|
version = pkg.version.upstream_version
|
||||||
|
|
||||||
|
http = Http()
|
||||||
|
for filename in glob.glob(os.path.join(workdir, f"{pkg.source}_{version}.orig*")):
|
||||||
|
url = (
|
||||||
|
f"https://launchpad.net/~{quote(user)}/+archive/{quote(ppa)}/+sourcefiles"
|
||||||
|
f"/{quote(pkg.source)}/{quote(pkg.version.full_version)}"
|
||||||
|
f"/{quote(os.path.basename(filename))}"
|
||||||
|
)
|
||||||
|
try:
|
||||||
|
headers = http.request(url, "HEAD")[0]
|
||||||
|
if headers.status != 200 or not headers["content-location"].startswith(
|
||||||
|
"https://launchpadlibrarian.net"
|
||||||
|
):
|
||||||
|
return True
|
||||||
|
except HttpLib2Error as e:
|
||||||
|
Logger.debug(e)
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
|
||||||
|
def do_backport(
|
||||||
|
workdir,
|
||||||
|
pkg,
|
||||||
|
suffix,
|
||||||
|
message,
|
||||||
|
close,
|
||||||
|
release,
|
||||||
|
release_pocket,
|
||||||
|
build,
|
||||||
|
builder,
|
||||||
|
update,
|
||||||
|
upload,
|
||||||
|
keyid,
|
||||||
|
prompt,
|
||||||
|
):
|
||||||
|
dirname = f"{pkg.source}-{release}"
|
||||||
|
srcdir = os.path.join(workdir, dirname)
|
||||||
|
|
||||||
|
if os.path.exists(srcdir):
|
||||||
|
question = f"Working directory {srcdir} already exists. Delete it?"
|
||||||
|
if YesNoQuestion().ask(question, "no") == "no":
|
||||||
|
sys.exit(1)
|
||||||
|
shutil.rmtree(srcdir)
|
||||||
|
|
||||||
|
pkg.unpack(dirname)
|
||||||
|
|
||||||
|
bp_version = get_backport_version(pkg.version.full_version, suffix, upload, release)
|
||||||
|
old_version = get_old_version(pkg.source, release)
|
||||||
|
bp_dist = get_backport_dist(release, release_pocket)
|
||||||
|
|
||||||
|
changelog = f"{message} backport to {release}."
|
||||||
|
if close:
|
||||||
|
changelog += f" (LP: #{close})"
|
||||||
|
check_call(
|
||||||
|
[
|
||||||
|
"dch",
|
||||||
|
"--force-bad-version",
|
||||||
|
"--force-distribution",
|
||||||
|
"--preserve",
|
||||||
|
"--newversion",
|
||||||
|
bp_version,
|
||||||
|
"--distribution",
|
||||||
|
bp_dist,
|
||||||
|
changelog,
|
||||||
|
],
|
||||||
|
cwd=srcdir,
|
||||||
|
)
|
||||||
|
|
||||||
|
cmd = ["debuild", "--no-lintian", "-S", "-nc", "-uc", "-us"]
|
||||||
|
if orig_needed(upload, workdir, pkg):
|
||||||
|
cmd.append("-sa")
|
||||||
|
else:
|
||||||
|
cmd.append("-sd")
|
||||||
|
if old_version:
|
||||||
|
cmd.append(f"-v{old_version}")
|
||||||
|
env = os.environ.copy()
|
||||||
|
# An ubuntu.com e-mail address would make dpkg-buildpackage fail if there
|
||||||
|
# wasn't an Ubuntu maintainer for an ubuntu-versioned package. LP: #1007042
|
||||||
|
env.pop("DEBEMAIL", None)
|
||||||
|
check_call(cmd, cwd=srcdir, env=env)
|
||||||
|
|
||||||
|
fn_base = pkg.source + "_" + bp_version.split(":", 1)[-1]
|
||||||
|
changes = fn_base + "_source.changes"
|
||||||
|
|
||||||
|
if build:
|
||||||
|
if 0 != do_build(workdir, fn_base + ".dsc", release, builder, update):
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
# None: sign with the default signature. False: don't sign
|
||||||
|
if keyid is not False:
|
||||||
|
cmd = ["debsign"]
|
||||||
|
if keyid:
|
||||||
|
cmd.append("-k" + keyid)
|
||||||
|
cmd.append(changes)
|
||||||
|
check_call(cmd, cwd=workdir)
|
||||||
|
if upload:
|
||||||
|
do_upload(workdir, pkg.source, bp_version, changes, upload, prompt)
|
||||||
|
|
||||||
|
shutil.rmtree(srcdir)
|
||||||
|
|
||||||
|
|
||||||
|
def main(argv):
|
||||||
|
ubu_email()
|
||||||
|
|
||||||
|
args, config = parse(argv[1:])
|
||||||
|
|
||||||
|
Launchpad.login_anonymously(service=args.lpinstance)
|
||||||
|
|
||||||
|
if not args.dest_releases:
|
||||||
|
if lsb_release:
|
||||||
|
distinfo = lsb_release.get_distro_information()
|
||||||
|
try:
|
||||||
|
current_distro = distinfo["ID"]
|
||||||
|
except KeyError:
|
||||||
|
error("No destination release specified and unable to guess yours.")
|
||||||
|
else:
|
||||||
|
err, current_distro = subprocess.getstatusoutput("lsb_release --id --short")
|
||||||
|
if err:
|
||||||
|
error("Could not run lsb_release to retrieve distribution")
|
||||||
|
|
||||||
|
if current_distro == "Ubuntu":
|
||||||
|
args.dest_releases = [UbuntuDistroInfo().lts()]
|
||||||
|
elif current_distro == "Debian":
|
||||||
|
args.dest_releases = [DebianDistroInfo().stable()]
|
||||||
|
else:
|
||||||
|
error("Unknown distribution %s, can't guess target release", current_distro)
|
||||||
|
|
||||||
|
if args.workdir:
|
||||||
|
workdir = os.path.expanduser(args.workdir)
|
||||||
|
else:
|
||||||
|
workdir = tempfile.mkdtemp(prefix="backportpackage-")
|
||||||
|
|
||||||
|
if not os.path.exists(workdir):
|
||||||
|
os.makedirs(workdir)
|
||||||
|
|
||||||
|
try:
|
||||||
|
pkg = find_package(
|
||||||
|
args.mirror, workdir, args.package_or_dsc, args.version, args.source_release, config
|
||||||
|
)
|
||||||
|
pkg.pull()
|
||||||
|
|
||||||
|
for release in args.dest_releases:
|
||||||
|
do_backport(
|
||||||
|
workdir,
|
||||||
|
pkg,
|
||||||
|
args.suffix,
|
||||||
|
args.message,
|
||||||
|
args.close,
|
||||||
|
release,
|
||||||
|
args.release_pocket,
|
||||||
|
args.build,
|
||||||
|
args.builder,
|
||||||
|
args.update,
|
||||||
|
args.upload,
|
||||||
|
args.keyid,
|
||||||
|
args.prompt,
|
||||||
|
)
|
||||||
|
except DownloadError as e:
|
||||||
|
error("%s", str(e))
|
||||||
|
finally:
|
||||||
|
if not args.workdir:
|
||||||
|
shutil.rmtree(workdir)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
sys.exit(main(sys.argv))
|
@ -21,7 +21,7 @@ _pbuilder-dist()
|
|||||||
|
|
||||||
case $prev in
|
case $prev in
|
||||||
build)
|
build)
|
||||||
COMPREPLY=( $( compgen -o filenames -G "$cur*.dsc" ) )
|
_filedir "dsc"
|
||||||
;;
|
;;
|
||||||
*)
|
*)
|
||||||
COMPREPLY=( $( compgen -W "$options" | grep "^$cur" ) )
|
COMPREPLY=( $( compgen -W "$options" | grep "^$cur" ) )
|
||||||
@ -30,6 +30,17 @@ _pbuilder-dist()
|
|||||||
|
|
||||||
return 0
|
return 0
|
||||||
}
|
}
|
||||||
[ "$have" ] && complete -F _pbuilder-dist -o filenames \
|
[ "$have" ] && _pbuilder-aliases()
|
||||||
pbuilder-{dist,dapper,edgy,feisty,gutsy,hardy,intrepid,sarge,etch,lenny,sid}
|
{
|
||||||
# Make it pbuilder-* if you know how to do it
|
local distro builder arch
|
||||||
|
for distro in $(ubuntu-distro-info --all; debian-distro-info --all) stable testing unstable; do
|
||||||
|
for builder in pbuilder cowbuilder; do
|
||||||
|
echo "$builder-$distro"
|
||||||
|
for arch in i386 amd64 armhf; do
|
||||||
|
echo "$builder-$distro-$arch"
|
||||||
|
done
|
||||||
|
done
|
||||||
|
done
|
||||||
|
return 0
|
||||||
|
}
|
||||||
|
[ "$have" ] && complete -F _pbuilder-dist -o filenames pbuilder-dist cowbuilder-dist $(_pbuilder-aliases)
|
||||||
|
190
buildd
190
buildd
@ -1,190 +0,0 @@
|
|||||||
#!/usr/bin/python
|
|
||||||
#
|
|
||||||
# buildd - command line interface for Launchpad buildd operations.
|
|
||||||
#
|
|
||||||
# Copyright (C) 2007 Canonical Ltd.
|
|
||||||
# Authors:
|
|
||||||
# - Martin Pitt <martin.pitt@canonical.com>
|
|
||||||
# - Jonathan Davies <jpds@ubuntu.com>
|
|
||||||
#
|
|
||||||
# This program 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 <http://www.gnu.org/licenses/>.
|
|
||||||
#
|
|
||||||
|
|
||||||
# Our modules to import.
|
|
||||||
import os
|
|
||||||
import re
|
|
||||||
import sys
|
|
||||||
import urllib2
|
|
||||||
from optparse import OptionGroup
|
|
||||||
from optparse import OptionParser
|
|
||||||
from urllib import urlencode
|
|
||||||
|
|
||||||
# ubuntu-dev-tools modules.
|
|
||||||
from ubuntutools import common
|
|
||||||
|
|
||||||
# Usage.
|
|
||||||
usage = "%prog <srcpackage> <release> <operation>\n\n"
|
|
||||||
usage += "Where operation may be one of: rescore, retry, or status.\n"
|
|
||||||
usage += "Only Launchpad Buildd Admins may rescore package builds."
|
|
||||||
|
|
||||||
# Valid architectures.
|
|
||||||
validArchs = ["armel", "amd64", "hppa", "i386",
|
|
||||||
"ia64", "lpia", "powerpc", "sparc"]
|
|
||||||
|
|
||||||
# Prepare our option parser.
|
|
||||||
optParser = OptionParser(usage)
|
|
||||||
|
|
||||||
# Retry options
|
|
||||||
retryRescoreOptions = OptionGroup(optParser, "Retry and rescore options",
|
|
||||||
"These options may only be used with the 'retry' and 'rescore' operations.")
|
|
||||||
retryRescoreOptions.add_option("-a", "--arch", type = "string",
|
|
||||||
action = "store", dest = "architecture",
|
|
||||||
help = "Rebuild or rescore a specific architecture. " \
|
|
||||||
"Valid architectures include: " \
|
|
||||||
"%s." % ", ".join(validArchs))
|
|
||||||
|
|
||||||
# Add the retry options to the main group.
|
|
||||||
optParser.add_option_group(retryRescoreOptions)
|
|
||||||
|
|
||||||
# Parse our options.
|
|
||||||
(options, args) = optParser.parse_args()
|
|
||||||
|
|
||||||
# 'help' called by itself - show our help.
|
|
||||||
if args[0].lower() in ("help") and len(args) == 1:
|
|
||||||
optParser.print_help()
|
|
||||||
sys.exit(0)
|
|
||||||
|
|
||||||
# Check we have the correct number of arguments.
|
|
||||||
if len(args) < 3:
|
|
||||||
optParser.error("Incorrect number of arguments.")
|
|
||||||
|
|
||||||
package = str(args[0]).lower()
|
|
||||||
release = str(args[1]).lower()
|
|
||||||
op = str(args[2]).lower()
|
|
||||||
|
|
||||||
# Check our operation.
|
|
||||||
if op not in ("rescore", "retry", "status"):
|
|
||||||
print >> sys.stderr, "Invalid operation: %s." % op
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
# If the user has specified an architecture to build, we only wish to rebuild it
|
|
||||||
# and nothing else.
|
|
||||||
if op not in ("retry", 'rescore') and options.architecture:
|
|
||||||
print >> sys.stderr, "Operation %s does not use the --arch option." % op
|
|
||||||
sys.exit(1)
|
|
||||||
elif op in ("retry", "rescore") and options.architecture:
|
|
||||||
if options.architecture not in validArchs:
|
|
||||||
print >> sys.stderr, "Invalid architecture specified: %s." % options.architecture
|
|
||||||
sys.exit(1)
|
|
||||||
else:
|
|
||||||
oneArch = True
|
|
||||||
else:
|
|
||||||
oneArch = False
|
|
||||||
|
|
||||||
# Prepare Launchpad cookie.
|
|
||||||
launchpadCookie = common.prepareLaunchpadCookie()
|
|
||||||
urlopener = common.setupLaunchpadUrlOpener(launchpadCookie)
|
|
||||||
|
|
||||||
# Check the release exists.
|
|
||||||
common.checkReleaseExists(release)
|
|
||||||
|
|
||||||
# Find out the version in given release.
|
|
||||||
(page, version) = common.checkSourceExists(package, release)
|
|
||||||
|
|
||||||
# Get the component the package is in.
|
|
||||||
component = common.packageComponent(package, release)
|
|
||||||
|
|
||||||
# Output details.
|
|
||||||
print "The source version for '%s' in %s (%s) is at %s." % (package,
|
|
||||||
release.capitalize(), component, version)
|
|
||||||
|
|
||||||
# Parse out build URLs, states, and arches.
|
|
||||||
buildstats = {}
|
|
||||||
page = urlopener.open('https://launchpad.net/ubuntu/+source/%s/%s' % (package, version))
|
|
||||||
url = page.geturl()
|
|
||||||
page = page.read()
|
|
||||||
release = release.split('-')[0] # strip off pocket
|
|
||||||
|
|
||||||
print "Current build status for this package:"
|
|
||||||
|
|
||||||
for m in re.finditer('"/ubuntu/\+source/%s/%s(/\+build/\d+)"[^\n]+\n\s*(\w+).*?<span>(\w+)</span>.*?</a>\s*([^\n]+)\n' %
|
|
||||||
(package.replace('+', '\+'), version.replace('+', '\+')), page, re.S):
|
|
||||||
if m.group(2) == release:
|
|
||||||
print '%s: %s.' % (m.group(3), m.group(4))
|
|
||||||
buildstats[url + m.group(1)] = [m.group(3).strip(), m.group(4).strip()]
|
|
||||||
|
|
||||||
# Check that there actually are builds for that release.
|
|
||||||
if len(buildstats) == 0:
|
|
||||||
print "No builds for '%s' found in the %s release - it may have been " \
|
|
||||||
"built in a former release." % (package, release.capitalize())
|
|
||||||
sys.exit(0)
|
|
||||||
|
|
||||||
# Operations.
|
|
||||||
if op == 'status':
|
|
||||||
sys.exit(0)
|
|
||||||
|
|
||||||
# Check if the package in question is architecture independent, and if so; that
|
|
||||||
# i386 has been set as the architecture.
|
|
||||||
if len(buildstats) == 1 and options.architecture != "i386":
|
|
||||||
print "Overriding architecture setting to i386 for architecture " \
|
|
||||||
"independent package..."
|
|
||||||
options.architecture = "i386"
|
|
||||||
|
|
||||||
# Operations that are remaining may only be done by Ubuntu developers (retry)
|
|
||||||
# or buildd admins (rescore). Check if the proper permissions are in place.
|
|
||||||
if op == "rescore": teamNeeded = "launchpad-buildd-admins"
|
|
||||||
if op == "retry":
|
|
||||||
if component in ("main", "restricted"):
|
|
||||||
teamNeeded = "ubuntu-core-dev"
|
|
||||||
else:
|
|
||||||
teamNeeded = "ubuntu-dev"
|
|
||||||
|
|
||||||
necessaryPrivs = common.isLPTeamMember(teamNeeded)
|
|
||||||
|
|
||||||
if not necessaryPrivs:
|
|
||||||
print >> sys.stderr, "You cannot perform the %s operation on a %s package " \
|
|
||||||
"as you are not member of the '%s' team on Launchpad." % (op, component,
|
|
||||||
teamNeeded)
|
|
||||||
print "Should this be incorrect, please log in to Launchpad using Firefox, " \
|
|
||||||
"delete the ~/.lpcookie.txt file and rerun this script."
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
for build, (arch, status) in buildstats.iteritems():
|
|
||||||
if oneArch and not options.architecture == arch:
|
|
||||||
# Skip this architecture.
|
|
||||||
continue
|
|
||||||
|
|
||||||
if op in ('rescore'):
|
|
||||||
if status in ('Needs building'):
|
|
||||||
print 'Rescoring', build, '(%s).' % arch
|
|
||||||
|
|
||||||
try:
|
|
||||||
urlopener.open(build + '/+rescore', urlencode(
|
|
||||||
{'field.priority': '5000', 'field.actions.rescore': '1'}))
|
|
||||||
except:
|
|
||||||
print >> sys.stderr, "Unable to request rescore on %s." % arch
|
|
||||||
else:
|
|
||||||
print "Not rescoring on %s; status is: %s." % (arch, status.lower())
|
|
||||||
|
|
||||||
if op in ('retry'): # Retry requested.
|
|
||||||
if status in ('Failed to build', 'Chroot problem', 'Failed to upload'):
|
|
||||||
print 'Retrying:', build, '(%s).' % arch
|
|
||||||
|
|
||||||
try:
|
|
||||||
urlopener.open(build + '/+retry', urlencode(
|
|
||||||
{'RETRY': '1'}))
|
|
||||||
except: # Error encountered while submitting request.
|
|
||||||
print >> sys.stderr, "Unable to request retry on %s." % arch
|
|
||||||
else: # The package does not require rebuilding.
|
|
||||||
print "Not retrying on %s; status is %s." % (arch, status.lower())
|
|
203
check-mir
Executable file
203
check-mir
Executable file
@ -0,0 +1,203 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
#
|
||||||
|
# Check components of build dependencies and warn about universe/multiverse
|
||||||
|
# ones, for a package destined for main/restricted
|
||||||
|
#
|
||||||
|
# Copyright (C) 2011 Canonical
|
||||||
|
#
|
||||||
|
# Authors:
|
||||||
|
# Martin Pitt
|
||||||
|
#
|
||||||
|
# This program 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; version 3.
|
||||||
|
#
|
||||||
|
# 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, write to the Free Software Foundation, Inc.,
|
||||||
|
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
|
||||||
|
|
||||||
|
# pylint: disable=invalid-name
|
||||||
|
# pylint: enable=invalid-name
|
||||||
|
|
||||||
|
"""Check if any of a package's build or binary dependencies are in universe or multiverse.
|
||||||
|
|
||||||
|
Run this inside an unpacked source package
|
||||||
|
"""
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import os.path
|
||||||
|
import sys
|
||||||
|
|
||||||
|
import apt
|
||||||
|
|
||||||
|
|
||||||
|
def check_support(apt_cache, pkgname, alt=False):
|
||||||
|
"""Check if pkgname is in main or restricted.
|
||||||
|
|
||||||
|
This prints messages if a package is not in main/restricted, or only
|
||||||
|
partially (i. e. source in main, but binary in universe).
|
||||||
|
"""
|
||||||
|
if alt:
|
||||||
|
prefix = " ... alternative " + pkgname
|
||||||
|
else:
|
||||||
|
prefix = " * " + pkgname
|
||||||
|
|
||||||
|
prov_packages = apt_cache.get_providing_packages(pkgname)
|
||||||
|
if pkgname in apt_cache:
|
||||||
|
pkg = apt_cache[pkgname]
|
||||||
|
|
||||||
|
# If this is a virtual package, iterate through the binary packages that
|
||||||
|
# provide this, and ensure they are all in Main. Source packages in and of
|
||||||
|
# themselves cannot provide virtual packages, only binary packages can.
|
||||||
|
elif len(prov_packages) > 0:
|
||||||
|
supported, unsupported = [], []
|
||||||
|
for pkg in prov_packages:
|
||||||
|
candidate = pkg.candidate
|
||||||
|
if candidate:
|
||||||
|
section = candidate.section
|
||||||
|
if section.startswith("universe") or section.startswith("multiverse"):
|
||||||
|
unsupported.append(pkg.name)
|
||||||
|
else:
|
||||||
|
supported.append(pkg.name)
|
||||||
|
|
||||||
|
if len(supported) > 0:
|
||||||
|
msg = "is a virtual package, which is provided by the following "
|
||||||
|
msg += "candidates in Main: " + " ".join(supported)
|
||||||
|
print(prefix, msg)
|
||||||
|
elif len(unsupported) > 0:
|
||||||
|
msg = "is a virtual package, but is only provided by the "
|
||||||
|
msg += "following non-Main candidates: " + " ".join(unsupported)
|
||||||
|
print(prefix, msg, file=sys.stderr)
|
||||||
|
return False
|
||||||
|
else:
|
||||||
|
msg = "is a virtual package that exists but is not provided by "
|
||||||
|
msg += "package currently in the archive. Proceed with caution."
|
||||||
|
print(prefix, msg, file=sys.stderr)
|
||||||
|
return False
|
||||||
|
|
||||||
|
else:
|
||||||
|
print(prefix, "does not exist", file=sys.stderr)
|
||||||
|
return False
|
||||||
|
|
||||||
|
section = pkg.candidate.section
|
||||||
|
if section.startswith("universe") or section.startswith("multiverse"):
|
||||||
|
# check if the source package is in main and thus will only need binary
|
||||||
|
# promotion
|
||||||
|
source_records = apt.apt_pkg.SourceRecords()
|
||||||
|
if not source_records.lookup(pkg.candidate.source_name):
|
||||||
|
print("ERROR: Cannot lookup source package for", pkg.name, file=sys.stderr)
|
||||||
|
print(prefix, "package is in", section.split("/")[0])
|
||||||
|
return False
|
||||||
|
src = apt.apt_pkg.TagSection(source_records.record)
|
||||||
|
if src["Section"].startswith("universe") or src["Section"].startswith("multiverse"):
|
||||||
|
print(prefix, "binary and source package is in", section.split("/")[0])
|
||||||
|
return False
|
||||||
|
|
||||||
|
print(
|
||||||
|
prefix,
|
||||||
|
"is in",
|
||||||
|
section.split("/")[0] + ", but its source",
|
||||||
|
pkg.candidate.source_name,
|
||||||
|
"is already in main; file an ubuntu-archive bug for "
|
||||||
|
"promoting the current preferred alternative",
|
||||||
|
)
|
||||||
|
return True
|
||||||
|
|
||||||
|
if alt:
|
||||||
|
print(prefix, "is already in main; consider preferring it")
|
||||||
|
|
||||||
|
return True
|
||||||
|
|
||||||
|
|
||||||
|
def check_build_dependencies(apt_cache, control):
|
||||||
|
print("Checking support status of build dependencies...")
|
||||||
|
|
||||||
|
any_unsupported = False
|
||||||
|
|
||||||
|
for field in ("Build-Depends", "Build-Depends-Indep"):
|
||||||
|
if field not in control.section:
|
||||||
|
continue
|
||||||
|
for or_group in apt.apt_pkg.parse_src_depends(control.section[field]):
|
||||||
|
pkgname = or_group[0][0]
|
||||||
|
|
||||||
|
# debhelper-compat is expected to be a build dependency of every
|
||||||
|
# package, so it is a red herring to display it in this report.
|
||||||
|
# (src:debhelper is in Ubuntu Main anyway)
|
||||||
|
if pkgname == "debhelper-compat":
|
||||||
|
continue
|
||||||
|
|
||||||
|
if not check_support(apt_cache, pkgname):
|
||||||
|
# check non-preferred alternatives
|
||||||
|
for altpkg in or_group[1:]:
|
||||||
|
if check_support(apt_cache, altpkg[0], alt=True):
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
any_unsupported = True
|
||||||
|
|
||||||
|
return any_unsupported
|
||||||
|
|
||||||
|
|
||||||
|
def check_binary_dependencies(apt_cache, control):
|
||||||
|
any_unsupported = False
|
||||||
|
|
||||||
|
print("\nChecking support status of binary dependencies...")
|
||||||
|
while True:
|
||||||
|
try:
|
||||||
|
next(control)
|
||||||
|
except StopIteration:
|
||||||
|
break
|
||||||
|
|
||||||
|
for field in ("Depends", "Pre-Depends", "Recommends"):
|
||||||
|
if field not in control.section:
|
||||||
|
continue
|
||||||
|
for or_group in apt.apt_pkg.parse_src_depends(control.section[field]):
|
||||||
|
pkgname = or_group[0][0]
|
||||||
|
if pkgname.startswith("$"):
|
||||||
|
continue
|
||||||
|
if not check_support(apt_cache, pkgname):
|
||||||
|
# check non-preferred alternatives
|
||||||
|
for altpkg in or_group[1:]:
|
||||||
|
if check_support(apt_cache, altpkg[0], alt=True):
|
||||||
|
break
|
||||||
|
else:
|
||||||
|
any_unsupported = True
|
||||||
|
|
||||||
|
return any_unsupported
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
parser = argparse.ArgumentParser(description=__doc__)
|
||||||
|
parser.parse_args()
|
||||||
|
apt_cache = apt.Cache()
|
||||||
|
|
||||||
|
if not os.path.exists("debian/control"):
|
||||||
|
print(
|
||||||
|
"debian/control not found. You need to run this tool in a source package directory",
|
||||||
|
file=sys.stderr,
|
||||||
|
)
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
# get build dependencies from debian/control
|
||||||
|
control = apt.apt_pkg.TagFile(open("debian/control", encoding="utf-8"))
|
||||||
|
next(control)
|
||||||
|
|
||||||
|
unsupported_build_deps = check_build_dependencies(apt_cache, control)
|
||||||
|
unsupported_binary_deps = check_binary_dependencies(apt_cache, control)
|
||||||
|
|
||||||
|
if unsupported_build_deps or unsupported_binary_deps:
|
||||||
|
print(
|
||||||
|
"\nPlease check https://wiki.ubuntu.com/MainInclusionProcess if "
|
||||||
|
"this source package needs to get into in main/restricted, or "
|
||||||
|
"reconsider if the package really needs above dependencies."
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
print("All dependencies are supported in main or restricted.")
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
@ -21,22 +21,63 @@
|
|||||||
# This script is used to get a diff of the exported symbols of all .so files in
|
# This script is used to get a diff of the exported symbols of all .so files in
|
||||||
# every binary package of package $1.
|
# every binary package of package $1.
|
||||||
|
|
||||||
|
# Required tools (besides awk, coreutils, grep and sed):
|
||||||
|
# * apt-cache and apt-get (from apt)
|
||||||
|
# * diff (from diffutils)
|
||||||
|
# * dpkg
|
||||||
|
# * lsb_release (from lsb-release)
|
||||||
|
# * nm (from binutils)
|
||||||
|
|
||||||
DISTRO=$(lsb_release -c -s)
|
DISTRO=$(lsb_release -c -s)
|
||||||
VERSION=$(apt-cache madison "$1" | grep -- "$DISTRO"'/.*Sources$' | awk '{print $3}')
|
|
||||||
PACKAGES=$(apt-cache showsrc "$1" | grep-dctrl -s Binary -F Version "$VERSION" | sed 's/Binary\:\ //g;s/\,//g' | sort -u)
|
|
||||||
DEBLINE=""
|
DEBLINE=""
|
||||||
DEBUG=False
|
DEBUG=False
|
||||||
|
|
||||||
if [[ -z $1 ]]; then
|
usage() {
|
||||||
echo "Missing argument: source package name."
|
prog=$(basename $0)
|
||||||
exit 1
|
cat <<EOF
|
||||||
|
Usage: $prog [options] source-package [DEBDIR]
|
||||||
|
|
||||||
|
Get a diff of the exported symbols of all .so files in every binary package of
|
||||||
|
package the source package. The source package will be found in DEBDIR, defaulting to /var/cache/pbuilder/result.
|
||||||
|
|
||||||
|
Options:
|
||||||
|
-h, --help show this help message and exit
|
||||||
|
EOF
|
||||||
|
exit $1
|
||||||
|
}
|
||||||
|
|
||||||
|
PACKAGE=""
|
||||||
|
DEBDIR="/var/cache/pbuilder/result"
|
||||||
|
POSITION=0
|
||||||
|
while [ $# -gt 0 ]; do
|
||||||
|
case "$1" in
|
||||||
|
-h|--help)
|
||||||
|
usage 0
|
||||||
|
;;
|
||||||
|
-*)
|
||||||
|
usage 1
|
||||||
|
;;
|
||||||
|
*)
|
||||||
|
if [ $POSITION -eq 0 ]; then
|
||||||
|
PACKAGE="$1"
|
||||||
|
elif [ $POSITION -eq 1 ]; then
|
||||||
|
DEBDIR="$1"
|
||||||
|
else
|
||||||
|
echo "Too many arguments." >&2
|
||||||
|
usage 1
|
||||||
|
fi
|
||||||
|
POSITION=$(($POSITION+1))
|
||||||
|
esac
|
||||||
|
shift
|
||||||
|
done
|
||||||
|
|
||||||
|
if [ $POSITION -eq 0 ]; then
|
||||||
|
echo "Missing argument: source package name." >&2
|
||||||
|
usage 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [[ -z $2 ]]; then
|
VERSION=$(apt-cache madison "$PACKAGE" | grep -- "$DISTRO"'/.*Sources$' | awk '{print $3}')
|
||||||
DEBDIR="/var/cache/pbuilder/result"
|
PACKAGES=$(apt-cache showsrc "$PACKAGE" | grep-dctrl -s Binary -F Version "$VERSION" | sed 's/Binary\:\ //g;s/\,//g' | sort -u)
|
||||||
else
|
|
||||||
DEBDIR="$2"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ `id -u` != "0" ]
|
if [ `id -u` != "0" ]
|
||||||
then
|
then
|
||||||
@ -60,7 +101,7 @@ do
|
|||||||
done
|
done
|
||||||
|
|
||||||
if [[ -z $DEBLINE ]]; then
|
if [[ -z $DEBLINE ]]; then
|
||||||
echo "Package doesn't exist: $1."
|
echo "Package doesn't exist: $PACKAGE."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
19
dch-repeat
19
dch-repeat
@ -1,6 +1,7 @@
|
|||||||
#!/usr/bin/perl
|
#!/usr/bin/perl
|
||||||
#
|
#
|
||||||
# Copyright (C) 2007-2008 Canonical, Ltd.
|
# Copyright (C) 2007-2008 Canonical, Ltd.,
|
||||||
|
# 2011, Stefano Rivera <stefanor@ubuntu.com>
|
||||||
# Author: Kees Cook <kees@ubuntu.com>
|
# Author: Kees Cook <kees@ubuntu.com>
|
||||||
#
|
#
|
||||||
# ##################################################################
|
# ##################################################################
|
||||||
@ -47,11 +48,11 @@ EOM
|
|||||||
exit(0);
|
exit(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
my @releases = ('dapper', 'gutsy', 'hardy', 'intrepid', 'jaunty');
|
my @releases = undef;
|
||||||
|
our $devel_release = undef;
|
||||||
|
|
||||||
#Getopt::Long::Configure("bundling", "no_ignore_case");
|
#Getopt::Long::Configure("bundling", "no_ignore_case");
|
||||||
our $opt_build_tree = "/scratch/ubuntu/build";
|
our $opt_build_tree = "/scratch/ubuntu/build";
|
||||||
our $opt_devel_release = $releases[$#releases];
|
|
||||||
our $opt_pocket = undef;
|
our $opt_pocket = undef;
|
||||||
our $opt_package = undef;
|
our $opt_package = undef;
|
||||||
our $opt_source_release = undef;
|
our $opt_source_release = undef;
|
||||||
@ -70,6 +71,10 @@ Usage() unless (GetOptions(
|
|||||||
));
|
));
|
||||||
Usage() if ($opt_help);
|
Usage() if ($opt_help);
|
||||||
|
|
||||||
|
@releases = split(/\s+/, `ubuntu-distro-info --supported`);
|
||||||
|
$devel_release = `ubuntu-distro-info --devel`;
|
||||||
|
chomp($devel_release);
|
||||||
|
|
||||||
sub get_changelog($)
|
sub get_changelog($)
|
||||||
{
|
{
|
||||||
my ($path) = @_;
|
my ($path) = @_;
|
||||||
@ -135,8 +140,8 @@ warn "package: '$opt_package\n" if ($opt_verbose);
|
|||||||
|
|
||||||
# By default, take changelog from newer release
|
# By default, take changelog from newer release
|
||||||
if (!defined($opt_source_release)) {
|
if (!defined($opt_source_release)) {
|
||||||
if ($opt_target_release eq $opt_devel_release) {
|
if ($opt_target_release eq $devel_release) {
|
||||||
die "No more recent release than '$opt_devel_release' to take changelog from\n";
|
die "No more recent release than '$devel_release' to take changelog from\n";
|
||||||
}
|
}
|
||||||
foreach my $i (0 .. $#releases) {
|
foreach my $i (0 .. $#releases) {
|
||||||
if ($releases[$i] eq $opt_target_release) {
|
if ($releases[$i] eq $opt_target_release) {
|
||||||
@ -148,11 +153,11 @@ if (!defined($opt_source_release)) {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
warn "source-release: '$opt_source_release\n" if ($opt_verbose);
|
warn "source-release: '$opt_source_release\n" if ($opt_verbose);
|
||||||
warn "devel-release: '$opt_devel_release\n" if ($opt_verbose);
|
warn "devel-release: '$devel_release\n" if ($opt_verbose);
|
||||||
|
|
||||||
# By default, use "security" pocket for non-devel releases
|
# By default, use "security" pocket for non-devel releases
|
||||||
if (!defined($opt_pocket)) {
|
if (!defined($opt_pocket)) {
|
||||||
if ($opt_target_release eq $opt_devel_release) {
|
if ($opt_target_release eq $devel_release) {
|
||||||
$opt_pocket = "";
|
$opt_pocket = "";
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
|
1
debian/.gitignore
vendored
Normal file
1
debian/.gitignore
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
files
|
49
debian/NEWS
vendored
Normal file
49
debian/NEWS
vendored
Normal file
@ -0,0 +1,49 @@
|
|||||||
|
ubuntu-dev-tools (0.135) unstable; urgency=low
|
||||||
|
|
||||||
|
reverse-build-depends was removed from ubuntu-dev-tools. reverse-depends -b
|
||||||
|
is equivalent.
|
||||||
|
|
||||||
|
-- Stefano Rivera <stefanor@debian.org> Sat, 12 Nov 2011 13:11:21 +0200
|
||||||
|
|
||||||
|
ubuntu-dev-tools (0.131) unstable; urgency=low
|
||||||
|
|
||||||
|
get-build-deps was removed from ubuntu-dev-tools. The newer mk-build-deps in
|
||||||
|
devscripts is equivalent (with the -ir options).
|
||||||
|
|
||||||
|
-- Stefano Rivera <stefanor@debian.org> Sat, 10 Sep 2011 00:13:18 +0200
|
||||||
|
|
||||||
|
ubuntu-dev-tools (0.129) unstable; urgency=low
|
||||||
|
|
||||||
|
Several tools that worked against Launchpad but were not specific to Ubuntu
|
||||||
|
have been migrated to the "lptools" project.
|
||||||
|
|
||||||
|
The following tools have moved:
|
||||||
|
- get-branches (renamed to lp-get-branches)
|
||||||
|
- grab-attachments (renamed to lp-grab-attachments)
|
||||||
|
- lp-project-upload
|
||||||
|
- lp-list-bugs
|
||||||
|
- lp-set-dup
|
||||||
|
- lp-shell
|
||||||
|
|
||||||
|
They can now be found in the lptools package (version 0.0.1~bzr28-1 or
|
||||||
|
later).
|
||||||
|
|
||||||
|
-- Jelmer Vernooij <jelmer@debian.org> Fri, 02 Sep 2011 13:43:34 +0200
|
||||||
|
|
||||||
|
ubuntu-dev-tools (0.119) unstable; urgency=low
|
||||||
|
|
||||||
|
launchpadlib 1.9 will cause some issues, as it uses the GNOME Keyring / KDE
|
||||||
|
wallet to store credentials.
|
||||||
|
https://help.launchpad.net/API/ThirdPartyIntegration
|
||||||
|
|
||||||
|
Known issues and workarounds:
|
||||||
|
|
||||||
|
Seeing keyring.backend.PasswordSetError or gnomekeyring.IOError when
|
||||||
|
using ubuntu-dev-tools on a remote machine?
|
||||||
|
Try ssh -X and run export `dbus-launch` in the ssh session.
|
||||||
|
|
||||||
|
Otherwise, uninstalling python-gnomekeyring will force the credentials to be
|
||||||
|
stored in ~/keyring_pass.cfg instead of a keyring, and bypass all these
|
||||||
|
issues.
|
||||||
|
|
||||||
|
-- Stefano Rivera <stefanor@debian.org> Tue, 01 Mar 2011 15:01:01 +0200
|
26
debian/README.source
vendored
Normal file
26
debian/README.source
vendored
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
Changelog generation and releasing
|
||||||
|
----------------------------------
|
||||||
|
|
||||||
|
The changelog is generated by the uploader using `gbp dch' from
|
||||||
|
`git-buildpackage'. To invoke, just run
|
||||||
|
|
||||||
|
$ gbp dch
|
||||||
|
|
||||||
|
and then edit the changelog as appropriate - wrap lines, remove Signed-Off-By,
|
||||||
|
and so on. Then finalise the changelog, e.g.
|
||||||
|
|
||||||
|
$ dch -D unstable --release ""
|
||||||
|
|
||||||
|
commit it
|
||||||
|
|
||||||
|
$ git commit debian/changelog -m "Releasing 0.foo"
|
||||||
|
|
||||||
|
and tag/sign this commit
|
||||||
|
|
||||||
|
$ gbp buildpackage --git-tag-only
|
||||||
|
|
||||||
|
then build using (for example)
|
||||||
|
|
||||||
|
$ gbp buildpackage -S
|
||||||
|
|
||||||
|
and test/upload as normal.
|
3041
debian/changelog
vendored
3041
debian/changelog
vendored
File diff suppressed because it is too large
Load Diff
1
debian/clean
vendored
Normal file
1
debian/clean
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
*.egg-info/
|
1
debian/compat
vendored
1
debian/compat
vendored
@ -1 +0,0 @@
|
|||||||
6
|
|
163
debian/control
vendored
163
debian/control
vendored
@ -1,28 +1,155 @@
|
|||||||
Source: ubuntu-dev-tools
|
Source: ubuntu-dev-tools
|
||||||
Section: devel
|
Section: devel
|
||||||
Priority: optional
|
Priority: optional
|
||||||
Maintainer: Ubuntu MOTU Developers <ubuntu-motu@lists.ubuntu.com>
|
Maintainer: Ubuntu Developers <ubuntu-dev-tools@packages.debian.org>
|
||||||
Vcs-Bzr: http://bazaar.launchpad.net/~ubuntu-dev/ubuntu-dev-tools/trunk
|
Uploaders:
|
||||||
Vcs-Browser: http://codebrowse.launchpad.net/~ubuntu-dev/ubuntu-dev-tools/trunk/changes
|
Benjamin Drung <bdrung@debian.org>,
|
||||||
Build-Depends: cdbs (>= 0.4.49), debhelper (>= 6), python-all-dev (>= 2.4)
|
Stefano Rivera <stefanor@debian.org>,
|
||||||
Build-Depends-Indep: python-central (>= 0.5)
|
Mattia Rizzolo <mattia@debian.org>,
|
||||||
XS-Python-Version: >= 2.5
|
Simon Quigley <tsimonq2@debian.org>,
|
||||||
Homepage: https://launchpad.net/ubuntu-dev-tools/
|
Build-Depends:
|
||||||
Standards-Version: 3.8.0
|
black <!nocheck>,
|
||||||
|
dctrl-tools,
|
||||||
|
debhelper-compat (= 13),
|
||||||
|
devscripts (>= 2.11.0~),
|
||||||
|
dh-make,
|
||||||
|
dh-python,
|
||||||
|
distro-info (>= 0.2~),
|
||||||
|
flake8,
|
||||||
|
isort <!nocheck>,
|
||||||
|
lsb-release,
|
||||||
|
pylint <!nocheck>,
|
||||||
|
python3-all,
|
||||||
|
python3-apt,
|
||||||
|
python3-dateutil,
|
||||||
|
python3-debian,
|
||||||
|
python3-debianbts,
|
||||||
|
python3-distro-info,
|
||||||
|
python3-httplib2,
|
||||||
|
python3-launchpadlib-desktop,
|
||||||
|
python3-pytest,
|
||||||
|
python3-requests <!nocheck>,
|
||||||
|
python3-setuptools,
|
||||||
|
python3-yaml <!nocheck>,
|
||||||
|
Standards-Version: 4.7.2
|
||||||
|
Rules-Requires-Root: no
|
||||||
|
Vcs-Git: https://git.launchpad.net/ubuntu-dev-tools
|
||||||
|
Vcs-Browser: https://git.launchpad.net/ubuntu-dev-tools
|
||||||
|
Homepage: https://launchpad.net/ubuntu-dev-tools
|
||||||
|
|
||||||
Package: ubuntu-dev-tools
|
Package: ubuntu-dev-tools
|
||||||
Architecture: all
|
Architecture: all
|
||||||
Depends: ${python:Depends}, binutils, devscripts, sudo, python-debian,
|
Depends:
|
||||||
python-launchpad-bugs (>= 0.2.25), python-launchpadlib, dctrl-tools,
|
binutils,
|
||||||
lsb-release, diffstat, dpkg-dev, ${misc:Depends}
|
dctrl-tools,
|
||||||
Recommends: bzr, pbuilder | cowdancer | sbuild, reportbug (>= 3.39ubuntu1),
|
devscripts (>= 2.11.0~),
|
||||||
ca-certificates, genisoimage, perl-modules, libwww-perl
|
diffstat,
|
||||||
Conflicts: devscripts (<< 2.10.7ubuntu5)
|
distro-info (>= 0.2~),
|
||||||
Replaces: devscripts (<< 2.10.7ubuntu5)
|
dpkg-dev,
|
||||||
XB-Python-Version: ${python:Versions}
|
dput,
|
||||||
|
lsb-release,
|
||||||
|
python3,
|
||||||
|
python3-apt,
|
||||||
|
python3-debian,
|
||||||
|
python3-debianbts,
|
||||||
|
python3-distro-info,
|
||||||
|
python3-httplib2,
|
||||||
|
python3-launchpadlib-desktop,
|
||||||
|
python3-lazr.restfulclient,
|
||||||
|
python3-ubuntutools (= ${binary:Version}),
|
||||||
|
python3-yaml,
|
||||||
|
sensible-utils,
|
||||||
|
sudo,
|
||||||
|
tzdata,
|
||||||
|
${misc:Depends},
|
||||||
|
${perl:Depends},
|
||||||
|
Recommends:
|
||||||
|
arch-test,
|
||||||
|
ca-certificates,
|
||||||
|
debian-archive-keyring,
|
||||||
|
debian-keyring,
|
||||||
|
debootstrap,
|
||||||
|
genisoimage,
|
||||||
|
lintian,
|
||||||
|
patch,
|
||||||
|
sbuild | pbuilder | cowbuilder,
|
||||||
|
python3-dns,
|
||||||
|
quilt,
|
||||||
|
reportbug (>= 3.39ubuntu1),
|
||||||
|
ubuntu-keyring | ubuntu-archive-keyring,
|
||||||
|
Suggests:
|
||||||
|
bzr | brz,
|
||||||
|
bzr-builddeb | brz-debian,
|
||||||
|
qemu-user-static,
|
||||||
Description: useful tools for Ubuntu developers
|
Description: useful tools for Ubuntu developers
|
||||||
This is a collection of useful tools that Ubuntu developers use to make their
|
This is a collection of useful tools that Ubuntu developers use to make their
|
||||||
packaging work a lot easier.
|
packaging work a lot easier.
|
||||||
.
|
.
|
||||||
Such tools can include bug filing, build rebuilding, packaging preparation
|
Such tools include:
|
||||||
and package analysis, among other things.
|
.
|
||||||
|
- backportpackage - helper to test package backports
|
||||||
|
- bitesize - add the 'bitesize' tag to a bug and comment that you are
|
||||||
|
willing to help fix it.
|
||||||
|
- check-mir - check support status of build/binary dependencies
|
||||||
|
- check-symbols - will compare and give you a diff of the exported symbols of
|
||||||
|
all .so files in a binary package.
|
||||||
|
- dch-repeat - used to repeat a change log into an older release.
|
||||||
|
- grab-merge - grabs a merge from merges.ubuntu.com easily.
|
||||||
|
- grep-merges - search for pending merges from Debian.
|
||||||
|
- import-bug-from-debian - copy a bug from the Debian BTS to Launchpad
|
||||||
|
- merge-changelog - manually merges two Debian changelogs with the same base
|
||||||
|
version.
|
||||||
|
- mk-sbuild - script to create LVM snapshot chroots via schroot and
|
||||||
|
sbuild.
|
||||||
|
- pbuilder-dist, cowbuilder-dist - wrapper script for managing several build
|
||||||
|
chroots (for different Ubuntu and Debian releases) on the same system.
|
||||||
|
- pull-debian-debdiff - attempts to find and download a specific version of
|
||||||
|
a Debian package and its immediate parent to generate a debdiff.
|
||||||
|
- pull-debian-source - downloads the latest source package available in
|
||||||
|
Debian of a package.
|
||||||
|
- pull-lp-source - downloads source package from Launchpad.
|
||||||
|
- pull-lp-debs - downloads debs package(s) from Launchpad.
|
||||||
|
- pull-lp-ddebs - downloads dbgsym/ddebs package(s) from Launchpad.
|
||||||
|
- pull-lp-udebs - downloads udebs package(s) from Launchpad.
|
||||||
|
- pull-debian-* - same as pull-lp-* but for Debian packages.
|
||||||
|
- pull-uca-* - same as pull-lp-* but for Ubuntu Cloud Archive packages.
|
||||||
|
- pull-pkg - common script that provides above pull-* functionality.
|
||||||
|
- requestbackport - file a backporting request.
|
||||||
|
- requestsync - files a sync request with Debian changelog and rationale.
|
||||||
|
- reverse-depends - find the reverse dependencies (or build dependencies) of
|
||||||
|
a package.
|
||||||
|
- running-autopkgtests - lists the currently running and/or queued
|
||||||
|
autopkgtests on the Ubuntu autopkgtest infrastructure
|
||||||
|
- seeded-in-ubuntu - query if a package is safe to upload during a freeze.
|
||||||
|
- setup-packaging-environment - assistant to get an Ubuntu installation
|
||||||
|
ready for packaging work.
|
||||||
|
- sponsor-patch - Downloads a patch from a Launchpad bug, patches the source
|
||||||
|
package, and uploads it (to Ubuntu or a PPA)
|
||||||
|
- submittodebian - automatically send your changes to Debian as a bug report.
|
||||||
|
- syncpackage - helper to prepare .changes file to upload synced packages
|
||||||
|
- ubuntu-build - give commands to the Launchpad build daemons from the
|
||||||
|
command line.
|
||||||
|
- ubuntu-iso - output information of an Ubuntu ISO image.
|
||||||
|
- ubuntu-upload-permission - query / list the upload permissions for a
|
||||||
|
package.
|
||||||
|
- update-maintainer - script to update maintainer field in ubuntu packages.
|
||||||
|
|
||||||
|
Package: python3-ubuntutools
|
||||||
|
Architecture: all
|
||||||
|
Section: python
|
||||||
|
Depends:
|
||||||
|
python3-dateutil,
|
||||||
|
python3-debian,
|
||||||
|
python3-distro-info,
|
||||||
|
python3-httplib2,
|
||||||
|
python3-launchpadlib-desktop,
|
||||||
|
python3-lazr.restfulclient,
|
||||||
|
python3-requests,
|
||||||
|
sensible-utils,
|
||||||
|
${misc:Depends},
|
||||||
|
${python3:Depends},
|
||||||
|
Description: useful APIs for Ubuntu developer tools — Python 3 library
|
||||||
|
This package ships a collection of APIs, helpers and wrappers used to
|
||||||
|
develop useful utilities for Ubuntu developers.
|
||||||
|
.
|
||||||
|
This package installs the library for Python 3.
|
||||||
|
278
debian/copyright
vendored
278
debian/copyright
vendored
@ -1,84 +1,204 @@
|
|||||||
This package was re-debianized by Daniel Holbach <daniel.holbach@ubuntu.com> on
|
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
|
||||||
Fri, 01 Jun 2007 11:30:08 +0200.
|
Upstream-Name: Ubuntu Developer Tools
|
||||||
|
Upstream-Contact: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
|
||||||
|
Source: https://launchpad.net/ubuntu-dev-tools
|
||||||
|
|
||||||
Upstream Authors:
|
Files: backportpackage
|
||||||
|
bash_completion/pbuilder-dist
|
||||||
|
check-symbols
|
||||||
|
debian/*
|
||||||
|
doc/backportpackage.1
|
||||||
|
doc/check-symbols.1
|
||||||
|
doc/requestsync.1
|
||||||
|
doc/ubuntu-iso.1
|
||||||
|
doc/running-autopkgtests.1
|
||||||
|
GPL-2
|
||||||
|
README.updates
|
||||||
|
requestsync
|
||||||
|
setup.py
|
||||||
|
TODO
|
||||||
|
ubuntu-iso
|
||||||
|
ubuntutools/requestsync/*.py
|
||||||
|
Copyright: 2007, Albert Damen <albrt@gmx.net>
|
||||||
|
2010-2024, Benjamin Drung <bdrung@ubuntu.com>
|
||||||
|
2007-2023, Canonical Ltd.
|
||||||
|
2006-2007, Daniel Holbach <daniel.holbach@ubuntu.com>
|
||||||
|
2010, Evan Broder <evan@ebroder.net>
|
||||||
|
2006-2007, Luke Yelavich <themuso@ubuntu.com>
|
||||||
|
2009-2010, Michael Bienia <geser@ubuntu.com>
|
||||||
|
2024-2025, Simon Quigley <tsimonq2@debian.org>
|
||||||
|
2010-2011, Stefano Rivera <stefanor@ubuntu.com>
|
||||||
|
2008, Stephan Hermann <sh@sourcecode.de>
|
||||||
|
2007, Steve Kowalik <stevenk@ubuntu.com>
|
||||||
|
License: GPL-2
|
||||||
|
This program 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, version 2 of the License.
|
||||||
|
.
|
||||||
|
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.
|
||||||
|
.
|
||||||
|
On Debian systems, the complete text of the GNU General Public License
|
||||||
|
version 2 can be found in the /usr/share/common-licenses/GPL-2 file.
|
||||||
|
|
||||||
Albert Damen <albrt@gmx.net>
|
Files: doc/import-bug-from-debian.1
|
||||||
Albin Tonnerre <lut1n.tne@gmail.com>
|
doc/pbuilder-dist-simple.1
|
||||||
Daniel Hahler <ubuntu@thequod.de>
|
doc/pbuilder-dist.1
|
||||||
Daniel Holbach <daniel.holbach@ubuntu.com>
|
doc/submittodebian.1
|
||||||
Iain Lane <iain@orangesquash.org.uk>
|
import-bug-from-debian
|
||||||
Jamin W. Collins <jcollins@asgardsrealm.net>
|
pbuilder-dist
|
||||||
Jonathan Davies <jpds@ubuntu.com>
|
pbuilder-dist-simple
|
||||||
Jordan Mantha <mantha@ubuntu.com>
|
submittodebian
|
||||||
Kees Cook <kees@ubuntu.com>
|
Copyright: 2007-2010, Canonical Ltd.
|
||||||
Luke Yelavich <themuso@ubuntu.com>
|
2009, James Westby <james.westby@ubuntu.com>
|
||||||
Markus Korn <thekorn@gmx.de>
|
2008, Jamin W. Collins <jcollins@asgardsrealm.net>
|
||||||
Martin Pitt <martin.pitt@ubuntu.com>
|
2008, Jordan Mantha <mantha@ubuntu.com>
|
||||||
Matt Zimmerman <mdz@ubuntu.com>
|
2006-2007, Pete Savage <petesavage@ubuntu.com>
|
||||||
Michael Bienia <geser@ubuntu.com>
|
2009, Ryan Kavanagh <ryanakca@kubuntu.org>
|
||||||
Pete Savage <petesavage@ubuntu.com>
|
2007, Siegfried-Angel Gevatter Pujals <rainct@ubuntu.com>
|
||||||
Siegfried-A. Gevatter <rainct@ubuntu.com>
|
2010-2011, Stefano Rivera <stefanor@ubuntu.com>
|
||||||
Soren Hansen <soren@ubuntu.com>
|
2008, Terence Simpson <tsimpson@ubuntu.com>
|
||||||
Steve Kowalik <stevenk@ubuntu.com>
|
License: GPL-2+
|
||||||
Terence Simpson <stdin@stdin.me.uk>
|
This program is free software; you can redistribute it and/or modify
|
||||||
Nathan Handler <nhandler@ubuntu.com>
|
it under the terms of the GNU General Public License as published by
|
||||||
|
the Free Software Foundation; either version 2 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.
|
||||||
|
.
|
||||||
|
On Debian systems, the complete text of the GNU General Public License
|
||||||
|
version 2 can be found in the /usr/share/common-licenses/GPL-2 file.
|
||||||
|
|
||||||
Copyright:
|
Files: doc/lp-bitesize.1
|
||||||
|
doc/check-mir.1
|
||||||
|
doc/grab-merge.1
|
||||||
|
doc/merge-changelog.1
|
||||||
|
doc/pm-helper.1
|
||||||
|
doc/setup-packaging-environment.1
|
||||||
|
doc/syncpackage.1
|
||||||
|
lp-bitesize
|
||||||
|
check-mir
|
||||||
|
GPL-3
|
||||||
|
grab-merge
|
||||||
|
merge-changelog
|
||||||
|
pm-helper
|
||||||
|
pyproject.toml
|
||||||
|
run-linters
|
||||||
|
running-autopkgtests
|
||||||
|
setup-packaging-environment
|
||||||
|
syncpackage
|
||||||
|
ubuntutools/running_autopkgtests.py
|
||||||
|
ubuntutools/utils.py
|
||||||
|
Copyright: 2010-2024, Benjamin Drung <bdrung@ubuntu.com>
|
||||||
|
2007-2024, Canonical Ltd.
|
||||||
|
2008, Jonathan Patrick Davies <jpds@ubuntu.com>
|
||||||
|
2008-2010, Martin Pitt <martin.pitt@canonical.com>
|
||||||
|
2009, Siegfried-Angel Gevatter Pujals <rainct@ubuntu.com>
|
||||||
|
2010-2011, Stefano Rivera <stefanor@ubuntu.com>
|
||||||
|
License: GPL-3
|
||||||
|
This program 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, version 3 of the License.
|
||||||
|
.
|
||||||
|
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.
|
||||||
|
.
|
||||||
|
On Debian systems, the complete text of the GNU General Public License
|
||||||
|
version 3 can be found in the /usr/share/common-licenses/GPL-3 file.
|
||||||
|
|
||||||
(C) 2006-2008, Canonical Ltd.
|
Files: dch-repeat
|
||||||
(C) 2007, Albert Damen <albrt@gmx.net>
|
doc/dch-repeat.1
|
||||||
(C) 2006-2007, Albin Tonnerre <lut1n.tne@gmail.com>
|
doc/grep-merges.1
|
||||||
(C) 2006-2007, Daniel Holbach <daniel.holbach@ubuntu.com>
|
doc/mk-sbuild.1
|
||||||
(C) 2006-2007, Luke Yelavich <themuso@ubuntu.com>
|
doc/pull-pkg.1
|
||||||
(C) 2009, Markus Korn <thekorn@gmx.de>
|
doc/ubuntu-build.1
|
||||||
(C) 2007, Martin Pitt <martin.pitt@ubuntu.com>
|
grep-merges
|
||||||
(C) 2006-2007, Michael Bienia <geser@ubuntu.com>
|
mk-sbuild
|
||||||
(C) 2006-2008, Kees Cook <kees@ubuntu.com>
|
pull-pkg
|
||||||
(C) 2006-2007, Pete Savage <petesavage@ubuntu.com>
|
pull-*debs
|
||||||
(C) 2007-2009, Siegfried-A. Gevatter <rainct@ubuntu.com>
|
pull-*-source
|
||||||
(C) 2007, Terence Simpson <stdin@stdin.me.uk>
|
requirements.txt
|
||||||
(C) 2008, Iain Lane <iain@orangesquash.org.uk>
|
test-requirements.txt
|
||||||
(C) 2008-2009, Jonathan Davies <jpds@ubuntu.com>
|
tox.ini
|
||||||
(C) 2008, Nathan handler <nhandler@ubuntu.com>
|
ubuntu-build
|
||||||
|
ubuntutools/__init__.py
|
||||||
|
ubuntutools/lp/__init__.py
|
||||||
|
ubuntutools/lp/lpapicache.py
|
||||||
|
ubuntutools/lp/udtexceptions.py
|
||||||
|
ubuntutools/misc.py
|
||||||
|
ubuntutools/pullpkg.py
|
||||||
|
Copyright: 2007-2010, Canonical Ltd.
|
||||||
|
2008-2009, Iain Lane <iain@orangesquash.org.uk>
|
||||||
|
2006, John Dong <jdong@ubuntu.com>
|
||||||
|
2009, Jonathan Davies <jpds@ubuntu.com>
|
||||||
|
2009, Markus Korn <thekorn@gmx.de>
|
||||||
|
2009-2010, Michael Bienia <geser@ubuntu.com>
|
||||||
|
2009, Nathan Handler <nhandler@ubuntu.com>
|
||||||
|
2007-2008, Siegfried-Angel Gevatter Pujals <rainct@ubuntu.com>
|
||||||
|
2010-2012, Stefano Rivera <stefanor@ubuntu.com>
|
||||||
|
2012, Steve Langasek <steve.langasek@ubuntu.com>
|
||||||
|
License: GPL-3+
|
||||||
|
This program 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.
|
||||||
|
.
|
||||||
|
On Debian systems, the complete text of the GNU General Public License
|
||||||
|
version 3 can be found in the /usr/share/common-licenses/GPL-3 file.
|
||||||
|
|
||||||
Licenses:
|
Files: doc/pull-debian-debdiff.1
|
||||||
|
doc/requestbackport.1
|
||||||
404main, check-symbols, dgetlp, pbuilder-dist, requestsync,
|
doc/reverse-depends.1
|
||||||
reverse-build-depends, submittodebian, ubuntuiso and update-maintainer are
|
doc/seeded-in-ubuntu.1
|
||||||
licensed under the GNU General Public License, version 2:
|
doc/sponsor-patch.1
|
||||||
|
doc/ubuntu-dev-tools.5
|
||||||
This package is free software; you can redistribute it and/or modify
|
doc/ubuntu-upload-permission.1
|
||||||
it under the terms of the GNU General Public License as published by
|
doc/update-maintainer.1
|
||||||
the Free Software Foundation, at version 2.
|
enforced-editing-wrapper
|
||||||
|
pull-debian-debdiff
|
||||||
This package is distributed in the hope that it will be useful,
|
requestbackport
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
reverse-depends
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
seeded-in-ubuntu
|
||||||
GNU General Public License for more details.
|
sponsor-patch
|
||||||
|
ubuntu-upload-permission
|
||||||
On Debian and Ubuntu systems, the complete text of the GNU General Public
|
ubuntutools/archive.py
|
||||||
License v2 can be found in `/usr/share/common-licenses/GPL-2'.
|
ubuntutools/builder.py
|
||||||
|
ubuntutools/config.py
|
||||||
dch-repeat, get-branches, get-build-deps, manage-credentials, massfile,
|
ubuntutools/question.py
|
||||||
mk-sbuild-lv, ppaput, pull-debian-debdiff, pull-debian-source, pull-lp-source,
|
ubuntutools/rdepends.py
|
||||||
suspicious-source and what-patch are licensed under the GNU General Public
|
ubuntutools/sponsor_patch/*
|
||||||
License, version 3:
|
ubuntutools/test/*
|
||||||
|
ubuntutools/update_maintainer.py
|
||||||
This program is free software: you can redistribute it and/or modify
|
ubuntutools/version.py
|
||||||
it under the terms of the GNU General Public License as published by
|
update-maintainer
|
||||||
the Free Software Foundation, at version 3.
|
.pylintrc
|
||||||
|
Copyright: 2009-2024, Benjamin Drung <bdrung@ubuntu.com>
|
||||||
This program is distributed in the hope that it will be useful,
|
2010, Evan Broder <evan@ebroder.net>
|
||||||
but WITHOUT ANY WARRANTY; without even the implied warranty of
|
2008, Siegfried-Angel Gevatter Pujals <rainct@ubuntu.com>
|
||||||
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
2010-2011, Stefano Rivera <stefanor@ubuntu.com>
|
||||||
GNU General Public License for more details.
|
2017-2021, Dan Streetman <ddstreet@canonical.com>
|
||||||
|
2024, Canonical Ltd.
|
||||||
On Debian and Ubuntu systems, the complete text of the GNU General Public
|
License: ISC
|
||||||
License v3 can be found in `/usr/share/common-licenses/GPL-3'.
|
Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
purpose with or without fee is hereby granted, provided that the above
|
||||||
The following of the scripts can be used, at your option, regarding any
|
copyright notice and this permission notice appear in all copies.
|
||||||
later version of the previously specified license: 404main, dch-repeat, dgetlp,
|
.
|
||||||
get-build-deps, manage-credentials, mk-sbuild-lv, pull-debian-debdiff,
|
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||||
pull-debian-source, pull-lp-source, reverse-build-depends, suspicious-source,
|
REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||||
what-patch.
|
AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||||
|
INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||||
|
LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||||
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||||
|
PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
9
debian/gbp.conf
vendored
Normal file
9
debian/gbp.conf
vendored
Normal file
@ -0,0 +1,9 @@
|
|||||||
|
[DEFAULT]
|
||||||
|
debian-tag = %(version)s
|
||||||
|
debian-branch = master
|
||||||
|
sign-tags = True
|
||||||
|
|
||||||
|
[dch]
|
||||||
|
meta = True
|
||||||
|
auto = True
|
||||||
|
full = True
|
2
debian/links
vendored
Normal file
2
debian/links
vendored
Normal file
@ -0,0 +1,2 @@
|
|||||||
|
/usr/bin/pbuilder-dist /usr/bin/cowbuilder-dist
|
||||||
|
/usr/share/man/man1/pbuilder-dist.1.gz /usr/share/man/man1/cowbuilder-dist.1.gz
|
1
debian/pycompat
vendored
1
debian/pycompat
vendored
@ -1 +0,0 @@
|
|||||||
2
|
|
1
debian/python3-ubuntutools.install
vendored
Normal file
1
debian/python3-ubuntutools.install
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
/usr/lib/python3.*
|
14
debian/rules
vendored
14
debian/rules
vendored
@ -1,8 +1,14 @@
|
|||||||
#!/usr/bin/make -f
|
#!/usr/bin/make -f
|
||||||
|
|
||||||
DEB_PYTHON_SYSTEM := pycentral
|
override_dh_auto_clean:
|
||||||
|
dh_auto_clean
|
||||||
|
rm -f .coverage
|
||||||
|
rm -rf .tox
|
||||||
|
|
||||||
include /usr/share/cdbs/1/rules/debhelper.mk
|
override_dh_auto_test:
|
||||||
include /usr/share/cdbs/1/class/python-distutils.mk
|
ifeq (,$(filter nocheck,$(DEB_BUILD_OPTIONS)))
|
||||||
|
python3 -m pytest -v ubuntutools
|
||||||
|
endif
|
||||||
|
|
||||||
DEB_INSTALL_MANPAGES_ubuntu-dev-tools = doc/*.1
|
%:
|
||||||
|
dh $@ --with python3 --buildsystem=pybuild
|
||||||
|
1
debian/source/format
vendored
Normal file
1
debian/source/format
vendored
Normal file
@ -0,0 +1 @@
|
|||||||
|
3.0 (native)
|
3
debian/source/lintian-overrides
vendored
Normal file
3
debian/source/lintian-overrides
vendored
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
# pyc files are machine-generated; they're expected to have long lines and have unstated copyright
|
||||||
|
source: file-without-copyright-information *.pyc [debian/copyright]
|
||||||
|
source: very-long-line-length-in-source-file * > 512 [*.pyc:*]
|
7
debian/tests/control
vendored
Normal file
7
debian/tests/control
vendored
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
Test-Command: python3 -m pytest -v ubuntutools
|
||||||
|
Depends:
|
||||||
|
dh-make,
|
||||||
|
python3-pytest,
|
||||||
|
python3-setuptools,
|
||||||
|
@,
|
||||||
|
Restrictions: allow-stderr
|
1
debian/ubuntu-dev-tools.examples
vendored
1
debian/ubuntu-dev-tools.examples
vendored
@ -1 +0,0 @@
|
|||||||
examples/*
|
|
3
debian/ubuntu-dev-tools.install
vendored
3
debian/ubuntu-dev-tools.install
vendored
@ -1 +1,2 @@
|
|||||||
bash_completion/* etc/bash_completion.d/
|
/usr/bin
|
||||||
|
/usr/share
|
||||||
|
20
debian/ubuntu-dev-tools.preinst
vendored
20
debian/ubuntu-dev-tools.preinst
vendored
@ -1,20 +0,0 @@
|
|||||||
#!/bin/sh
|
|
||||||
|
|
||||||
set -e
|
|
||||||
|
|
||||||
if [ -e /etc/bash_completion.d/pbuilder-dist/pbuilder-dist ]; then
|
|
||||||
tmp_file="$(mktemp /etc/bash_completion.d/pbuilder-dist.XXXXXX)"
|
|
||||||
mv -fv /etc/bash_completion.d/pbuilder-dist/pbuilder-dist \
|
|
||||||
"$tmp_file"
|
|
||||||
rmdir --ignore-fail-on-non-empty /etc/bash_completion.d/pbuilder-dist
|
|
||||||
# dir non-empty
|
|
||||||
if [ -d /etc/bash_completion.d/pbuilder-dist ]; then
|
|
||||||
echo "W: /etc/bash_completion.d/pbuilder-dist not empty; moving /etc/bash_completion.d/pbuilder-dist out of the way"
|
|
||||||
mv -fv /etc/bash_completion.d/pbuilder-dist /etc/bash_completion.d/pbuilder-dist.dpkg-disabled
|
|
||||||
|
|
||||||
fi
|
|
||||||
mv -fv "$tmp_file" /etc/bash_completion.d/pbuilder-dist
|
|
||||||
fi
|
|
||||||
|
|
||||||
#DEBHELPER#
|
|
||||||
|
|
171
dgetlp
171
dgetlp
@ -1,171 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
# Copyright (C) 2008 Terence Simpson <tsimpson@ubuntu.com>
|
|
||||||
# Modified by Siegfried-A. Gevatter <rainct@ubuntu.com>
|
|
||||||
#
|
|
||||||
# ##################################################################
|
|
||||||
#
|
|
||||||
# This program 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 2
|
|
||||||
# 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.
|
|
||||||
#
|
|
||||||
# See file /usr/share/common-licenses/GPL for more details.
|
|
||||||
#
|
|
||||||
# ##################################################################
|
|
||||||
#
|
|
||||||
# This script simulates «dget»'s behaviour for files hosted at
|
|
||||||
# launchpadlibrarian.net.
|
|
||||||
#
|
|
||||||
# Detailed description:
|
|
||||||
# This script attempts to download the source package in the same
|
|
||||||
# way as dget does, but from launchpadlibrarian.net, which doesn't
|
|
||||||
# store all the files in the same directory. It (the script) assumes
|
|
||||||
# that the files are stored in sequential directories on Launchpad
|
|
||||||
# Librarian and attemps to download and then unpack them.
|
|
||||||
|
|
||||||
GET="wget"
|
|
||||||
UNPACK="dpkg-source -x {dsc-file}"
|
|
||||||
DIRECT_TO_NULL="/dev/null"
|
|
||||||
|
|
||||||
usage()
|
|
||||||
{
|
|
||||||
cat << EOF
|
|
||||||
Usage: $0 [-d] <Launchpad URL>
|
|
||||||
|
|
||||||
This scripts simulates «dget»'s behaviour for files hosted at
|
|
||||||
launchpadlibrarian.net.
|
|
||||||
|
|
||||||
If you specify the -d option then it won't do anything, except download the
|
|
||||||
.dsc file, but just print the commands it would run otherwise.
|
|
||||||
|
|
||||||
Example:
|
|
||||||
$(basename $0) http://launchpadlibrarian.net/10348157/coreutils_5.97-5.4ubuntu1.dsc
|
|
||||||
EOF
|
|
||||||
}
|
|
||||||
|
|
||||||
while [ $# -ne 1 ]; do
|
|
||||||
case "$1" in
|
|
||||||
-d|--debug)
|
|
||||||
# Debug Mode
|
|
||||||
OUTPUT="/tmp/"
|
|
||||||
GET="echo ${GET}"
|
|
||||||
UNPACK="echo ${UNPACK}"
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
-v|--verbose)
|
|
||||||
DIRECT_TO_NULL="$(tty)"
|
|
||||||
shift
|
|
||||||
;;
|
|
||||||
-h|--help)
|
|
||||||
usage
|
|
||||||
exit 0
|
|
||||||
;;
|
|
||||||
-*)
|
|
||||||
echo "Unknown option: \`$1'"
|
|
||||||
usage >&2
|
|
||||||
exit 1
|
|
||||||
;;
|
|
||||||
*)
|
|
||||||
break
|
|
||||||
;;
|
|
||||||
esac
|
|
||||||
done
|
|
||||||
|
|
||||||
if [ $# -ne 1 ]
|
|
||||||
then
|
|
||||||
usage
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
## internal functions
|
|
||||||
getBase() {
|
|
||||||
echo "Getting ${BASE}/${NUMBER}/${FILE}"
|
|
||||||
if [ -f "$FILE" ]; then rm -f $FILE; fi # Remove .dsc incase the last run was with debug
|
|
||||||
if ! wget ${BASE}/${NUMBER}/${FILE} -O ${OUTPUT}${FILE} 2>${DIRECT_TO_NULL}
|
|
||||||
then
|
|
||||||
echo "Failed to fetch «.dsc» file, aborting."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
getUrl() {
|
|
||||||
if [ -f "$2" ]
|
|
||||||
then
|
|
||||||
##Todo: Check the md5sum in the .dsc to see if we should redownload or not
|
|
||||||
echo "Skipping already downloaded ${2}"
|
|
||||||
return 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Getting ${1}${2}"
|
|
||||||
if ! $GET ${1}${2} 2>$DIRECT_TO_NULL
|
|
||||||
then
|
|
||||||
echo "Failed to fetch «${3}»"
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
unpack() {
|
|
||||||
if ! $UNPACK
|
|
||||||
then
|
|
||||||
echo "Failed to unpack source, aborting."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
}
|
|
||||||
|
|
||||||
## begin #!/bin/bash
|
|
||||||
|
|
||||||
# Store download URL into a local variable to be able to modify it
|
|
||||||
URL=$1
|
|
||||||
|
|
||||||
if [ ${URL:0:4} == 'www.' ]
|
|
||||||
then
|
|
||||||
URL="http://"${URL:4}
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ${URL:0:7} != 'http://' ]
|
|
||||||
then
|
|
||||||
URL="http://"$URL
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ${URL:0:30} != 'http://launchpadlibrarian.net/' ]
|
|
||||||
then
|
|
||||||
echo "Error: This utility only works for files on launchpadlibrarian.net."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ ${URL##*.} != 'dsc' ]
|
|
||||||
then
|
|
||||||
echo "You have to provide the URL for the .dsc file."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
#BASE="http://$(echo $URL|cut -d '/' -f 3)" #Not needed as we know the base URL
|
|
||||||
BASE="http://launchpadlibrarian.net"
|
|
||||||
NUMBER="$(echo $URL|cut -d '/' -f 4)"
|
|
||||||
FILE="$(echo $URL|cut -d '/' -f 5)"
|
|
||||||
|
|
||||||
UNPACK=$(echo $UNPACK | sed s/{dsc-file}/${FILE}/g)
|
|
||||||
|
|
||||||
if [ -f "$FILE" ]; then rm -f $FILE; fi
|
|
||||||
getBase;
|
|
||||||
PkgVersion="$(grep -B100 "^Files:" ${OUTPUT}${FILE}|grep "^Version:"|cut -d' ' -f2)"
|
|
||||||
PkgName="$(grep -B100 "^Files:" ${OUTPUT}${FILE}|grep "^Source:"|cut -d' ' -f2)"
|
|
||||||
|
|
||||||
if $(echo ${PkgVersion} | grep '-' >/dev/null)
|
|
||||||
then
|
|
||||||
getUrl ${BASE}/$((${NUMBER}-1))/ "$(echo $FILE|sed 's,\.dsc,.diff.gz,')" "diff.gz"
|
|
||||||
getUrl ${BASE}/$((${NUMBER}-2))/ "${PkgName}_$(echo ${PkgVersion}|sed 's,-[0-9]*[a-z]*[0-9]*,.orig.tar.gz,')" "orig.tar.gz"
|
|
||||||
else
|
|
||||||
getUrl ${BASE}/$((${NUMBER}-1))/ "${PkgName}_${PkgVersion}.tar.gz" "tar.gz"
|
|
||||||
fi
|
|
||||||
|
|
||||||
if [ "x${OUTPUT}" != "x" ]
|
|
||||||
then rm -f ${OUTPUT}${FILE}
|
|
||||||
fi
|
|
||||||
|
|
||||||
unpack;
|
|
@ -1,29 +0,0 @@
|
|||||||
.TH 404main 1 "February 17, 2008" "ubuntu-dev-tools"
|
|
||||||
|
|
||||||
.SH NAME
|
|
||||||
404main \- check if all build dependencies of a package are in main
|
|
||||||
|
|
||||||
.SH SYNOPSIS
|
|
||||||
\fB404main\fP <\fIpackage name\fP> [<\fIdistribution\fP>]
|
|
||||||
|
|
||||||
.SH DESCRIPTION
|
|
||||||
\fB404main\fP is a script that can be used to check if a package and
|
|
||||||
all its build dependencies are in Ubuntu's main component or not.
|
|
||||||
|
|
||||||
.SH CAVEATS
|
|
||||||
\fB404main\fP will take the dependencies and build dependencies of the
|
|
||||||
packages from the distribution you have first in your
|
|
||||||
/etc/apt/sources.list file.
|
|
||||||
.PP
|
|
||||||
Also, because of this the <\fIdistribution\fP> option is NOT trustful, if
|
|
||||||
the dependencies changed YOU WILL GET INCORRECT RESULTS.
|
|
||||||
|
|
||||||
.SH SEE ALSO
|
|
||||||
.BR apt-cache (8)
|
|
||||||
|
|
||||||
.SH AUTHORS
|
|
||||||
\fB404main\fP was written by Pete Savage <petesavage@ubuntu.com> and
|
|
||||||
this manpage by Siegfried-Angel Gevatter Pujals <rainct@ubuntu.com>.
|
|
||||||
.PP
|
|
||||||
Both are released under the GNU General Public License, version 2 or
|
|
||||||
later.
|
|
190
doc/backportpackage.1
Normal file
190
doc/backportpackage.1
Normal file
@ -0,0 +1,190 @@
|
|||||||
|
.TH BACKPORTPACKAGE "1" "December 2010" "ubuntu-dev-tools"
|
||||||
|
.SH NAME
|
||||||
|
backportpackage \- helper to test package backports
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.TP
|
||||||
|
.B backportpackage \fR[\fIadditional options\fR]
|
||||||
|
\-\-upload <\fIupload target\fR>
|
||||||
|
.br
|
||||||
|
<\fIsource package name or .dsc URL/file\fR>
|
||||||
|
.PP
|
||||||
|
.B backportpackage \-h
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBbackportpackage\fR fetches a package from one distribution release
|
||||||
|
or from a specified .dsc path or URL and creates a no-change backport
|
||||||
|
of that package to one or more Ubuntu releases release, optionally
|
||||||
|
doing a test build of the package and/or uploading the resulting
|
||||||
|
backport for testing.
|
||||||
|
.PP
|
||||||
|
Unless a working directory is specified, the backported package is
|
||||||
|
fetched and built in a temporary directory in \fB/tmp\fR, which is
|
||||||
|
removed once the script finishes running.
|
||||||
|
.PP
|
||||||
|
\fBbackportpackage\fR is only recommended for testing backports in a
|
||||||
|
PPA, not uploading backports to the Ubuntu archive.
|
||||||
|
.SH OPTIONS
|
||||||
|
.TP
|
||||||
|
.B \-d \fIDEST\fR, \fB\-\-destination\fR=\fIDEST\fR
|
||||||
|
Backport the package to the specified Ubuntu release. If this option
|
||||||
|
is unspecified, then \fBbackportpackage\fR defaults to the release on
|
||||||
|
which it is currently running.
|
||||||
|
.TP
|
||||||
|
.B \-s \fISOURCE\fR, \fB\-\-source\fR=\fISOURCE\fR
|
||||||
|
Backport the package from the specified release, which can be any
|
||||||
|
release of your distribution or any of your distribution's parent
|
||||||
|
distributions. If neither this option nor \fB\-\-version\fR are
|
||||||
|
specified, then \fBbackportpackage\fR defaults to the current
|
||||||
|
development release for your distribution.
|
||||||
|
.TP
|
||||||
|
.B \-S \fISUFFIX\fR, \fB\-\-suffix\fR=\fISUFFIX\fR
|
||||||
|
Add the specified suffix to the version number when
|
||||||
|
backporting. \fBbackportpackage\fR will always append
|
||||||
|
~ubuntu\fIDESTINATION\fR.1 to the original version number, and if
|
||||||
|
\fISUFFIX\fR is specified, it is appended to that, to get version
|
||||||
|
numbers of the form
|
||||||
|
\fIORIGINAL_VERSION\fR~ubuntu\fIDESTINATION\fR.1\fISUFFIX\fR. If the
|
||||||
|
backported package is being uploaded to a PPA, then \fISUFFIX\fR
|
||||||
|
defaults to \fB~ppa1\fR, otherwise the default is blank.
|
||||||
|
.TP
|
||||||
|
.B \-b\fR, \fB\-\-build
|
||||||
|
Build the package with the specified builder before uploading. Note
|
||||||
|
for \fBcowbuilder\fR(8) and \fBpbuilder\fR(8) users:
|
||||||
|
This assumes the common configuration,
|
||||||
|
where the \fBARCH\fR and \fBDIST\fR environment is read by \fBpbuilderrc\fR(5)
|
||||||
|
to select the correct base image.
|
||||||
|
.TP
|
||||||
|
.B \-B \fIBUILDER\fR, \fB\-\-builder\fR=\fIBUILDER
|
||||||
|
Use the specified builder to build the package. Supported are
|
||||||
|
\fBcowbuilder\fR(8), \fBcowbuilder-dist\fR(1), \fBpbuilder\fR(8),
|
||||||
|
\fBpbuilder-dist\fR(1), and \fBsbuild\fR(1).
|
||||||
|
The default is \fBpbuilder\fR(8).
|
||||||
|
.TP
|
||||||
|
.B \-U\fR, \fB\-\-update
|
||||||
|
Update the build environment before attempting to build.
|
||||||
|
.TP
|
||||||
|
.B \-u \fIUPLOAD\fR, \fB\-\-upload\fR=\fIUPLOAD\fR
|
||||||
|
Upload to \fIUPLOAD\fR with \fBdput\fR(1) (after confirmation).
|
||||||
|
.TP
|
||||||
|
.B \-k \fIKEYID\fR, \fB\-\-key\fR=\fIKEYID\fR
|
||||||
|
Specify the key ID to be used for signing.
|
||||||
|
.TP
|
||||||
|
.B \-\-dont\-sign
|
||||||
|
Do not sign the upload.
|
||||||
|
.TP
|
||||||
|
.B \-y\fR, \fB\-\-yes
|
||||||
|
Do not prompt before uploading to a PPA. For everyone's safety, this
|
||||||
|
option is ignored if \fIUPLOAD\fR is \fBubuntu\fR.
|
||||||
|
.TP
|
||||||
|
.B \-v \fIVERSION\fR, \fB\-\-version\fR=\fIVERSION\fR
|
||||||
|
If the \fB\-\-source\fR option is specified, then
|
||||||
|
\fBbackportpackage\fR verifies that the current version of \fIsource
|
||||||
|
package\fR in \fISOURCE\fR is the same as \fIVERSION\fR. Otherwise,
|
||||||
|
\fBbackportpackage\fR finds version \fIVERSION\fR of \fIsource
|
||||||
|
package\fR in your distribution's publishing history, regardless of
|
||||||
|
the release in which it was published (or if that version is still
|
||||||
|
current). This option is ignored if a .dsc URL or path is passed in
|
||||||
|
instead of a source package name.
|
||||||
|
.TP
|
||||||
|
.B \-w \fIWORKDIR\fR, \fB\-\-workdir\fR=\fIWORKDIR\fR
|
||||||
|
If \fIWORKDIR\fR is specified, then all files are downloaded,
|
||||||
|
unpacked, built into, and otherwise manipulated in
|
||||||
|
\fIWORKDIR\fR. Otherwise, a temporary directory is created, which is
|
||||||
|
deleted before \fIbackportpackage\fR exits.
|
||||||
|
.TP
|
||||||
|
.B \-r\fR, \fB\-\-release\-pocket
|
||||||
|
Target the upload at the release pocket, rather than the
|
||||||
|
\fB\-backports\fR pocket.
|
||||||
|
This is required for Launchpad PPAs, which are pocket-less (and the
|
||||||
|
default, when the upload target is a PPA).
|
||||||
|
.TP
|
||||||
|
.B \-m \fIMIRROR\fR, \fB\-\-mirror\fR=\fIMIRROR\fR
|
||||||
|
Use the specified mirror.
|
||||||
|
Should be in the form \fBhttp://archive.ubuntu.com/ubuntu\fR.
|
||||||
|
If the package isn't found on this mirror, \fBbackportpackage\fR
|
||||||
|
will use Launchpad.
|
||||||
|
.TP
|
||||||
|
.B \-c \fIBUG\fR, \fB\-\-close\fR=\fIBUG\fR
|
||||||
|
Include a Launchpad closer for the specified bug in the auto-generated
|
||||||
|
changelog. In the future, this may actually close the bug, but
|
||||||
|
currently does not.
|
||||||
|
.TP
|
||||||
|
.B \-l \fIINSTANCE\fR, \fB\-\-lpinstance\fR=\fIINSTANCE\fR
|
||||||
|
Use the specified instance of Launchpad (e.g. "staging"), instead of
|
||||||
|
the default of "production".
|
||||||
|
.TP
|
||||||
|
.B \-\-no\-conf
|
||||||
|
Do not read any configuration files, or configuration from environment
|
||||||
|
variables.
|
||||||
|
.SH ENVIRONMENT
|
||||||
|
.TP
|
||||||
|
.BR DEBFULLNAME ", " DEBEMAIL ", " UBUMAIL
|
||||||
|
Used to determine the uploader (if not supplied as options).
|
||||||
|
See
|
||||||
|
.BR ubuntu\-dev\-tools (5)
|
||||||
|
for details.
|
||||||
|
.P
|
||||||
|
All of the \fBCONFIGURATION VARIABLES\fR below are also supported as
|
||||||
|
environment variables.
|
||||||
|
Variables in the environment take precedence to those in configuration
|
||||||
|
files.
|
||||||
|
.SH CONFIGURATION VARIABLES
|
||||||
|
The following variables can be set in the environment or in
|
||||||
|
.BR ubuntu\-dev\-tools (5)
|
||||||
|
configuration files.
|
||||||
|
In each case, the script\-specific variable takes precedence over the
|
||||||
|
package\-wide variable.
|
||||||
|
.TP
|
||||||
|
.BR BACKPORTPACKAGE_BUILDER ", " UBUNTUTOOLS_BUILDER
|
||||||
|
The default value for \fB\-\-builder\fR.
|
||||||
|
.TP
|
||||||
|
.BR BACKPORTPACKAGE_UPDATE_BUILDER ", " UBUNTUTOOLS_UPDATE_BUILDER
|
||||||
|
The default value for \fB--update\fR.
|
||||||
|
.TP
|
||||||
|
.B BACKPORTPACKAGE_UPLOAD
|
||||||
|
The default value for \fB--upload\fR.
|
||||||
|
.TP
|
||||||
|
.BR BACKPORTPACKAGE_WORKDIR ", " UBUNTUTOOLS_WORKDIR
|
||||||
|
The default value for \fB--workdir\fR.
|
||||||
|
.TP
|
||||||
|
.BR BACKPORTPACKAGE_UBUNTU_MIRROR ", " UBUNTUTOOLS_UBUNTU_MIRROR
|
||||||
|
The default value for \fB\-\-mirror\fR if the specified \fISOURCE\fR
|
||||||
|
release is an Ubuntu release.
|
||||||
|
.TP
|
||||||
|
.BR BACKPORTPACKAGE_DEBIAN_MIRROR ", " UBUNTUTOOLS_DEBIAN_MIRROR
|
||||||
|
The default value for \fB\-\-mirror\fR if the specified \fISOURCE\fR
|
||||||
|
release is a Debian release.
|
||||||
|
.TP
|
||||||
|
.BR BACKPORTPACKAGE_LPINSTANCE ", " UBUNTUTOOLS_LPINSTANCE
|
||||||
|
The default value for \fB--lpinstance\fR.
|
||||||
|
.SH EXAMPLES
|
||||||
|
Test-build in your PPA a backport of znc from the current development
|
||||||
|
release to your workstation's release, deleting the build products
|
||||||
|
afterwards:
|
||||||
|
.IP
|
||||||
|
.nf
|
||||||
|
.B backportpackage -u ppa:\fIuser\fR/\fIppa\fB znc
|
||||||
|
.fi
|
||||||
|
.PP
|
||||||
|
Backport squashfs-tools from Maverick to both Karmic and Lucid and
|
||||||
|
test-build both locally, leaving all build products in the current
|
||||||
|
working directory:
|
||||||
|
.IP
|
||||||
|
.nf
|
||||||
|
.B backportpackage -b -s maverick -d karmic -d lucid -w . \\\\
|
||||||
|
.B " "squashfs-tools
|
||||||
|
.fi
|
||||||
|
.PP
|
||||||
|
Fetch a package from a PPA, backport it to Hardy, then upload it back
|
||||||
|
to the same PPA:
|
||||||
|
.IP
|
||||||
|
.nf
|
||||||
|
.B backportpackage -d hardy -u ppa:\fIuser\fR/\fIppa\fR \\\\
|
||||||
|
.B " "https://launchpad.net/\fIsome/file.dsc\fR
|
||||||
|
.fi
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR ubuntu\-dev\-tools (5)
|
||||||
|
.SH AUTHOR
|
||||||
|
\fBbackportpackage\fR and this manpage were written by Evan Broder
|
||||||
|
<evan@ebroder.net>
|
||||||
|
.PP
|
||||||
|
Both are released under GNU General Public License, version 2.
|
51
doc/buildd.1
51
doc/buildd.1
@ -1,51 +0,0 @@
|
|||||||
.TH BUILDD "1" "14 August 2008" "ubuntu-dev-tools"
|
|
||||||
.SH NAME
|
|
||||||
buildd \- command-line interface to Launchpad build operations
|
|
||||||
|
|
||||||
.SH SYNOPSIS
|
|
||||||
.B buildd <srcpackage> <release> <operation>
|
|
||||||
.br
|
|
||||||
.B buildd \-\-help
|
|
||||||
|
|
||||||
.SH DESCRIPTION
|
|
||||||
\fBbuildd\fR provides a command line interface to the Launchpad build
|
|
||||||
operations.
|
|
||||||
|
|
||||||
.PP
|
|
||||||
\fBbuildd\fR uses a cookie file stored at \fI~/.lpcookie.txt\fR to authenticate
|
|
||||||
to Launchpad.
|
|
||||||
This cookie is created on run from the Mozilla Firefox cookie
|
|
||||||
file at \fI~/.mozilla/*/*/cookies.sqlite\fR.
|
|
||||||
|
|
||||||
.SH OPERATIONS
|
|
||||||
Listed below are the available operations for \fBbuildd\fR:
|
|
||||||
.TP
|
|
||||||
.B status
|
|
||||||
Outputs the build status of the package on Launchpad on all architectures.
|
|
||||||
.TP
|
|
||||||
.B retry
|
|
||||||
Requests that the package has another attempt at rebuilding from source.
|
|
||||||
This will only work if the package has \fIFailed to build\fR on Launchpad.
|
|
||||||
.TP
|
|
||||||
.B rescore
|
|
||||||
Requests that the package's build priority be raised in the build queue.
|
|
||||||
Only members of the Launchpad build administrators may issue this operation,
|
|
||||||
and it may only be performed on packages which \fINeed building\fR.
|
|
||||||
|
|
||||||
.SH OPTIONS
|
|
||||||
Listed below are the command line options for \fBbuildd\fR:
|
|
||||||
.TP
|
|
||||||
.B \-h or \-\-help
|
|
||||||
Display a help message and exit.
|
|
||||||
.TP
|
|
||||||
.B \-a or \-\-architecture
|
|
||||||
Only available for \fIrescore\fR and \fIretry\fR operations only.
|
|
||||||
This will only request the rebuilding/rescoring on the specified
|
|
||||||
architecture.
|
|
||||||
|
|
||||||
.SH AUTHORS
|
|
||||||
\fBbuildd\fR was written by Martin Pitt <martin.pitt@canonical.com>, and
|
|
||||||
this manual page was written by Jonathan Patrick Davies <jpds@ubuntu.com>.
|
|
||||||
.PP
|
|
||||||
Both are released under the terms of the GNU General Public License, version 3
|
|
||||||
or (at your option) any later version.
|
|
18
doc/check-mir.1
Normal file
18
doc/check-mir.1
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
.TH check\-mir "1" "13 January 2011" "ubuntu-dev-tools"
|
||||||
|
.SH NAME
|
||||||
|
check\-mir \- check support status of dependencies
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B check\-mir
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
This script checks if any of a package's build or binary dependencies is
|
||||||
|
in universe/multiverse. If the source package is destined for Ubuntu main or
|
||||||
|
restricted, these either need to be eliminated or need to be promoted to main,
|
||||||
|
following \fBhttps://wiki.ubuntu.com/MainInclusionProcess\fR.
|
||||||
|
|
||||||
|
There are no options, just run it in a source package directory.
|
||||||
|
|
||||||
|
.SH AUTHOR
|
||||||
|
.B check\-mir
|
||||||
|
was written by Martin Pitt <martin.pitt@ubuntu.com>.
|
@ -34,7 +34,7 @@ This will:
|
|||||||
\(bu Use \fBnm\fP \-D to determine the exported symbols of the old,
|
\(bu Use \fBnm\fP \-D to determine the exported symbols of the old,
|
||||||
installed versions of the libraries provided by telepathy\-glib.
|
installed versions of the libraries provided by telepathy\-glib.
|
||||||
.TP 2
|
.TP 2
|
||||||
\(bu Install the binary libaries provided by the new version of
|
\(bu Install the binary libraries provided by the new version of
|
||||||
telepathy\-glib.
|
telepathy\-glib.
|
||||||
.TP 2
|
.TP 2
|
||||||
\(bu Compare the output of \fBnm\fP \-D of the new libraries with the
|
\(bu Compare the output of \fBnm\fP \-D of the new libraries with the
|
||||||
|
33
doc/dgetlp.1
33
doc/dgetlp.1
@ -1,33 +0,0 @@
|
|||||||
.TH DGETLP "1" "27 August 2008" "ubuntu-dev-tools"
|
|
||||||
|
|
||||||
.SH NAME
|
|
||||||
dgetlp \- simulate ``dget'' behaviour for files hosted at librarian.launchpad.net
|
|
||||||
|
|
||||||
.SH SYNOPSIS
|
|
||||||
.B dgetlp \fR[\fB\-d\fR] <\fBLaunchpad DSC URL\fR>
|
|
||||||
|
|
||||||
.SH DESCRIPTION
|
|
||||||
\fBdgetlp\fR downloads and optionally extracts the <\fBLaunchpad DSC URL\fR> from Launchpad.
|
|
||||||
|
|
||||||
.SH OPTIONS
|
|
||||||
Listed below are the command line options for dgetlp:
|
|
||||||
.TP
|
|
||||||
.B \-d
|
|
||||||
Download the .dsc file and display the commands that would be run otherwise.
|
|
||||||
.TP
|
|
||||||
.B <Launchpad DSC URL>
|
|
||||||
This is the source package that you would like to be downloaded from Launchpad.
|
|
||||||
|
|
||||||
.SH ENVIRONMENT VARIABLES
|
|
||||||
.TP
|
|
||||||
DIST
|
|
||||||
Specifies the default target.
|
|
||||||
|
|
||||||
.SH EXAMPLE
|
|
||||||
.B dgetlp http://launchpadlibrarian.net/10348157/coreutils_5.97-5.4ubuntu1.dsc
|
|
||||||
|
|
||||||
.SH AUTHOR
|
|
||||||
\fBdgetlp\fR was written by Terence Simpson <tsimpson@ubuntu.com> and
|
|
||||||
modified by Siegfried-A. Gevatter <rainct@ubuntu.com>.
|
|
||||||
This man page was written by Ryan Kavanagh <ryanakca@kubuntu.org>.
|
|
||||||
Both are released under the GNU General Public License, version 2 or later.
|
|
@ -1,40 +0,0 @@
|
|||||||
.TH GET\-BRANCHES "1" "11 August 2008" "ubuntu-dev-tools"
|
|
||||||
.SH NAME
|
|
||||||
get\-branches \- downloads all branches related to a Launchpad team or person
|
|
||||||
|
|
||||||
.SH SYNOPSIS
|
|
||||||
.B get\-branches [\-d directory] [\-o branch|checkout] \-t <team>
|
|
||||||
.br
|
|
||||||
.B get\-branches <team>
|
|
||||||
.br
|
|
||||||
.B get\-branches \-\-help
|
|
||||||
|
|
||||||
.SH DESCRIPTION
|
|
||||||
\fBget\-branches\fR examines the code page of a Launchpad team/person,
|
|
||||||
parses it, and calls Bazaar to download all branches on that page.
|
|
||||||
|
|
||||||
.SH OPTIONS
|
|
||||||
Listed below are the command line options for \fBget\-branches\fR:
|
|
||||||
.TP
|
|
||||||
.B \-h or \-\-help
|
|
||||||
Display a help message and exit.
|
|
||||||
.TP
|
|
||||||
.B \-d or \-\-directory
|
|
||||||
Download branches to a directory other than the current directory.
|
|
||||||
.TP
|
|
||||||
.B \-o or \-\-operation
|
|
||||||
Specifies which Bazaar operation to use when downloading the branches; may be
|
|
||||||
either \fIbranch\fR or \fIcheckout\fR.
|
|
||||||
.TP
|
|
||||||
.B \-t or \-\-team
|
|
||||||
Specifies which Launchpad team/person to download branches from.
|
|
||||||
This option is required.
|
|
||||||
|
|
||||||
.SH AUTHORS
|
|
||||||
\fBget\-branches\fR was written by Daniel Holbach <daniel.holbach@ubuntu.com>,
|
|
||||||
and this manual page was written by Jonathan Patrick Davies <jpds@ubuntu.com>.
|
|
||||||
.PP
|
|
||||||
Both are released under the terms of the GNU General Public License, version 3.
|
|
||||||
|
|
||||||
.SH SEE ALSO
|
|
||||||
.B bzr(1)
|
|
@ -1,60 +0,0 @@
|
|||||||
.TH GET\-BUILD\-DEPS 1 "October 27, 2007" "ubuntu-dev-tools"
|
|
||||||
|
|
||||||
.SH NAME
|
|
||||||
get\-build\-deps \- install build dependencies for one or more packages
|
|
||||||
|
|
||||||
.SH SYNOPSIS
|
|
||||||
\fBget\-build\-deps\fP [\fIpackage name\fR]
|
|
||||||
|
|
||||||
.SH DESCRIPTION
|
|
||||||
\fBget\-build\-deps\fP is a script to install the build dependencies for
|
|
||||||
either a local source package or one or more packages from the repositories.
|
|
||||||
.PP
|
|
||||||
In order to obtain all missing build dependencies for a package on
|
|
||||||
which source you are currently working, just run this script without
|
|
||||||
any argument, and it'll read its debian/control file to determine the
|
|
||||||
missing build dependencies.
|
|
||||||
.PP
|
|
||||||
Alternatively, you can call it with a list of space-separated package
|
|
||||||
names, or the name of a single file which contains the package names
|
|
||||||
each on a line.
|
|
||||||
Then it will install the missing dependencies for those packages using
|
|
||||||
"apt\-get build\-dep".
|
|
||||||
|
|
||||||
.SH EXAMPLES
|
|
||||||
.TP
|
|
||||||
get\-build\-deps
|
|
||||||
Looks for a debian/control file in the current working directory and
|
|
||||||
installs the dependencies listed there.
|
|
||||||
.TP
|
|
||||||
get\-build\-deps geany
|
|
||||||
Installs the build dependencies for the version of \fBgeany\fP that's
|
|
||||||
in the repositories.
|
|
||||||
.TP
|
|
||||||
get\-build\-deps geany epiphany\-browser rhythmbox
|
|
||||||
Same as the previous example but also with the dependencies for
|
|
||||||
.B epiphany\-browser
|
|
||||||
and
|
|
||||||
.BR rhythmbox .
|
|
||||||
.TP
|
|
||||||
get\-build\-deps ./package_list.txt
|
|
||||||
Reads the file
|
|
||||||
.B package_list.txt
|
|
||||||
(relative to the current working directory),
|
|
||||||
where each line contains the name of a package, and installs the
|
|
||||||
dependencies for the versions of all those that are in the repositories.
|
|
||||||
|
|
||||||
.SH KNOWN BUGS AND LIMITATIONS
|
|
||||||
When it's being used to install the missing dependencies for a local
|
|
||||||
source package (i.e., no arguments are passed to it) it doesn't check
|
|
||||||
for the dependencies to match the indicated versions, but just installs
|
|
||||||
the newest one available in the repositories.
|
|
||||||
|
|
||||||
.SH SEE ALSO
|
|
||||||
.BR dpkg\-checkbuilddeps (1),
|
|
||||||
.BR apt\-get (8)
|
|
||||||
|
|
||||||
.SH AUTHORS
|
|
||||||
\fBget\-build\-deps\fP and this manual page have been written by Siegfried-Angel
|
|
||||||
Gevatter Pujals <rainct@ubuntu.com>.
|
|
||||||
They are released under the GNU General Public License, version 3 or later.
|
|
@ -1,26 +0,0 @@
|
|||||||
.TH GRAB\-ATTACHMENTS "1" "10 August 2008" "ubuntu-dev-tools"
|
|
||||||
.SH NAME
|
|
||||||
grab\-attachments \- downloads attachments from a Launchpad bug
|
|
||||||
.SH SYNOPSIS
|
|
||||||
.B grab\-attachments\fR <\fIbug-number\fR>
|
|
||||||
.br
|
|
||||||
.B grab\-attachments \-h
|
|
||||||
.SH DESCRIPTION
|
|
||||||
\fBgrab\-attachments\fR is a script to download all attachments from a
|
|
||||||
Launchpad bug report into the current directory.
|
|
||||||
|
|
||||||
.SH OPTIONS
|
|
||||||
Listed below are the command line options for grab\-attachments:
|
|
||||||
.TP
|
|
||||||
.B \-h
|
|
||||||
Display a help message and exit.
|
|
||||||
.TP
|
|
||||||
.B <bug-number>
|
|
||||||
Specifies the Launchpad bug number that the script should download
|
|
||||||
attachments from.
|
|
||||||
|
|
||||||
.SH AUTHOR
|
|
||||||
\fBgrab\-attachments\fR was written by Daniel Holbach and this manual page
|
|
||||||
was written by Jonathan Patrick Davies.
|
|
||||||
.PP
|
|
||||||
Both are released under the GNU General Public License, version 2.
|
|
18
doc/grab-merge.1
Normal file
18
doc/grab-merge.1
Normal file
@ -0,0 +1,18 @@
|
|||||||
|
.TH grab\-merge 1 "March 26, 2009" "ubuntu-dev-tools"
|
||||||
|
|
||||||
|
.SH NAME
|
||||||
|
grab\-merge \- grabs a merge's files from merges.ubuntu.com.
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
\fBgrab\-merge\fP <\fIpackage name\fP>
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBgrab\-merge\fP is a script that downloads a merge's packaging files and report
|
||||||
|
from merges.ubuntu.com. Placing them in a new directory for working from.
|
||||||
|
|
||||||
|
.SH AUTHORS
|
||||||
|
\fBgrab\-merge\fP was written by Scott James Remnant <scott@ubuntu.com> and
|
||||||
|
this manpage by Jonathan Davies <jpds@ubuntu.com>.
|
||||||
|
.PP
|
||||||
|
Both are released under the GNU General Public License, version 2 or
|
||||||
|
later.
|
26
doc/grep-merges.1
Normal file
26
doc/grep-merges.1
Normal file
@ -0,0 +1,26 @@
|
|||||||
|
.TH grep\-merges 1 "December 15, 2010" "ubuntu-dev-tools"
|
||||||
|
.SH NAME
|
||||||
|
grep\-merges \- search for outstanding merges from Debian
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B grep\-merges
|
||||||
|
.RI [ string ]
|
||||||
|
.SH DESCRIPTION
|
||||||
|
.B grep\-merges
|
||||||
|
searches merges.ubuntu.com for pending merges from Debian.
|
||||||
|
If a
|
||||||
|
.I string
|
||||||
|
is given, it will list all merges whose source package name, last changelog
|
||||||
|
author, or last uploader contain that string.
|
||||||
|
Otherwise, it will list all merges.
|
||||||
|
.SH EXAMPLES
|
||||||
|
.nf
|
||||||
|
$ grep\-merges cjwatson
|
||||||
|
tzsetup Colin Watson <cjwatson@ubuntu.com>
|
||||||
|
console-setup Colin Watson <cjwatson@ubuntu.com>
|
||||||
|
.fi
|
||||||
|
.SH AUTHOR
|
||||||
|
.B grep\-merges
|
||||||
|
and this manual page were written by Colin Watson <cjwatson@ubuntu.com>.
|
||||||
|
.PP
|
||||||
|
Both are released under the terms of the GNU General Public License, version
|
||||||
|
3 or (at your option) any later version.
|
@ -1,26 +0,0 @@
|
|||||||
.TH HUGDAYLIST "1" "August 27, 2008" "ubuntu-dev-tools"
|
|
||||||
|
|
||||||
.SH NAME
|
|
||||||
hugdaylist \- produce MoinMoin wiki formatted tables based on a Launchpad bug list
|
|
||||||
|
|
||||||
.SH SYNOPSIS
|
|
||||||
.B hugdaylist [\fB\-n\fP|\fB\-\-number <NUMBER>\fP] \fBlaunchpad-buglist-url\fP
|
|
||||||
|
|
||||||
.SH DESCRIPTION
|
|
||||||
\fBhugdaylist\fP produces MoinMoin wiki formatted tables based on a
|
|
||||||
Launchpad bug list
|
|
||||||
|
|
||||||
.SH OPTIONS
|
|
||||||
.TP
|
|
||||||
\fB\-\-number=<NUMBER>\fP
|
|
||||||
This option allows you to specify the number of entries to output.
|
|
||||||
.TP
|
|
||||||
\fBlaunchpad-buglist-url\fP
|
|
||||||
Required, this option is a URL pointing to a launchpad bug list.
|
|
||||||
|
|
||||||
.SH AUTHOR
|
|
||||||
\fBhugdaylist\fP has been written by Canonical Ltd., Daniel Holbach
|
|
||||||
<daniel.holbach@canonical.com> and Jonathan Patrick Davies <jpds@ubuntu.com>.
|
|
||||||
This manual page was written by Ryan Kavanagh <ryanakca@kubuntu.org>.
|
|
||||||
.PP
|
|
||||||
Both are released under the GNU General Public License, version 3.
|
|
60
doc/import-bug-from-debian.1
Normal file
60
doc/import-bug-from-debian.1
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
.TH import\-bug\-from\-debian "1" "September 21 2010" "ubuntu-dev-tools"
|
||||||
|
.SH NAME
|
||||||
|
import\-bug\-from\-debian \- Import bugs from Debian's BTS, and file
|
||||||
|
them against Ubuntu in LP.
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B import\-bug\-from\-debian \fR[\fIoptions\fR] \fIbug\fR...
|
||||||
|
.br
|
||||||
|
.B import\-bug\-from\-debian \-h
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBimport\-bug\-from\-debian\fR clones bugs from Debian's BTS into
|
||||||
|
Launchpad. Each \fIbug\fR listed on the command line has its initial
|
||||||
|
report re-filed against the same source package in Ubuntu.
|
||||||
|
The Ubuntu bug is linked back to its Debian counterpart.
|
||||||
|
|
||||||
|
Each \fIbug\fR may be provided either as a bug number or URL.
|
||||||
|
|
||||||
|
.SH OPTIONS
|
||||||
|
.TP
|
||||||
|
.BR \-b ", " \-\-browserless
|
||||||
|
Don't open the bug in a browser at the end.
|
||||||
|
.TP
|
||||||
|
.BR \-h ", " \-\-help
|
||||||
|
Display a help message and exit.
|
||||||
|
.TP
|
||||||
|
.B \-l \fIINSTANCE\fR, \fB\-\-lpinstance\fR=\fIINSTANCE\fR
|
||||||
|
Use the specified instance of Launchpad (e.g. "staging"), instead of
|
||||||
|
the default of "production".
|
||||||
|
.TP
|
||||||
|
.B \-p \fIPACKAGE\fR, \fB\-\-package\fR=\fIPACKAGE\fR
|
||||||
|
Launchpad package to file bug against, if not the same source package
|
||||||
|
name as Debian.
|
||||||
|
Useful for importing removal bugs filed against \fBftp.debian.org\fR.
|
||||||
|
.TP
|
||||||
|
.B \-\-no\-conf
|
||||||
|
Do not read any configuration files, or configuration from environment
|
||||||
|
variables.
|
||||||
|
.SH ENVIRONMENT
|
||||||
|
All of the \fBCONFIGURATION VARIABLES\fR below are also supported as
|
||||||
|
environment variables.
|
||||||
|
Variables in the environment take precedence to those in configuration
|
||||||
|
files.
|
||||||
|
.SH CONFIGURATION VARIABLES
|
||||||
|
The following variables can be set in the environment or in
|
||||||
|
.BR ubuntu\-dev\-tools (5)
|
||||||
|
configuration files.
|
||||||
|
In each case, the script\-specific variable takes precedence over the
|
||||||
|
package\-wide variable.
|
||||||
|
.TP
|
||||||
|
.BR IMPORT_BUG_FROM_DEBIAN_LPINSTANCE ", " UBUNTUTOOLS_LPINSTANCE
|
||||||
|
The default value for \fB--lpinstance\fR.
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR ubuntu\-dev\-tools (5)
|
||||||
|
.SH AUTHORS
|
||||||
|
\fBimport\-bug\-from\-debian\fR was written by James Westby
|
||||||
|
<james.westby@ubuntu.com>,
|
||||||
|
and this manual page was written by Stefano Rivera <stefanor@ubuntu.com>.
|
||||||
|
.PP
|
||||||
|
Both are released under the terms of the GNU General Public License, version 2.
|
54
doc/lp-bitesize.1
Normal file
54
doc/lp-bitesize.1
Normal file
@ -0,0 +1,54 @@
|
|||||||
|
.TH lp-bitesize "1" "May 9 2010" "ubuntu-dev-tools"
|
||||||
|
.SH NAME
|
||||||
|
lp-bitesize \- Add \fBbitesize\fR tag to bugs and add a comment.
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B lp-bitesize \fR<\fIbug number\fR>
|
||||||
|
.br
|
||||||
|
.B lp-bitesize \-\-help
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBlp-bitesize\fR adds a bitesize tag to the bug, if it's not there yet. It
|
||||||
|
also adds a comment to the bug indicating that you are willing to help with
|
||||||
|
fixing it.
|
||||||
|
It checks for permission to operate on a given bug first,
|
||||||
|
then perform required tasks on Launchpad.
|
||||||
|
|
||||||
|
.SH OPTIONS
|
||||||
|
Listed below are the command line options for \fBlp-bitesize\fR:
|
||||||
|
.TP
|
||||||
|
.BR \-h ", " \-\-help
|
||||||
|
Display a help message and exit.
|
||||||
|
.TP
|
||||||
|
.B \-l \fIINSTANCE\fR, \fB\-\-lpinstance\fR=\fIINSTANCE\fR
|
||||||
|
Use the specified instance of Launchpad (e.g. "staging"), instead of
|
||||||
|
the default of "production".
|
||||||
|
.TP
|
||||||
|
.B \-\-no\-conf
|
||||||
|
Do not read any configuration files, or configuration from environment
|
||||||
|
variables.
|
||||||
|
|
||||||
|
.SH ENVIRONMENT
|
||||||
|
All of the \fBCONFIGURATION VARIABLES\fR below are also supported as
|
||||||
|
environment variables.
|
||||||
|
Variables in the environment take precedence to those in configuration
|
||||||
|
files.
|
||||||
|
|
||||||
|
.SH CONFIGURATION VARIABLES
|
||||||
|
The following variables can be set in the environment or in
|
||||||
|
.BR ubuntu\-dev\-tools (5)
|
||||||
|
configuration files.
|
||||||
|
In each case, the script\-specific variable takes precedence over the
|
||||||
|
package\-wide variable.
|
||||||
|
.TP
|
||||||
|
.BR BITESIZE_LPINSTANCE ", " UBUNTUTOOLS_LPINSTANCE
|
||||||
|
The default value for \fB--lpinstance\fR.
|
||||||
|
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR ubuntu\-dev\-tools (5)
|
||||||
|
|
||||||
|
.SH AUTHORS
|
||||||
|
\fBlp-bitesize\fR and this manual page were written by Daniel Holbach
|
||||||
|
<daniel.holbach@canonical.com>.
|
||||||
|
.PP
|
||||||
|
Both are released under the terms of the GNU General Public License, version 3.
|
@ -1,76 +0,0 @@
|
|||||||
.TH MANAGE-CREDENTIALS "1" "13 January 2009" "ubuntu-dev-tools"
|
|
||||||
.SH NAME
|
|
||||||
manage-credentials \- a tool to create (and manage) credentials which
|
|
||||||
are used to access launchpad via the API.
|
|
||||||
.SH SYNOPSIS
|
|
||||||
.B manage-credentials create -c <consumer> [--email <email> --password <password>] [--service <staging|edge>]
|
|
||||||
.br
|
|
||||||
.B manage-credentials \-h
|
|
||||||
.SH DESCRIPTION
|
|
||||||
\fBmanage-credentials\fR is a tool to create (and manage) credentials which
|
|
||||||
are used to access Launchpad via the API.
|
|
||||||
|
|
||||||
.PP
|
|
||||||
Currently this tool can be used
|
|
||||||
to create a token with or without using the web UI. In the future, once
|
|
||||||
related methods are available through the API, this tool can also be used
|
|
||||||
to manage tokens in launchpad and on the users local machine.
|
|
||||||
|
|
||||||
.SH OPTIONS
|
|
||||||
Listed below are the command line options for requestsync:
|
|
||||||
.TP
|
|
||||||
.B \-h
|
|
||||||
Display a help message and exit.
|
|
||||||
.TP
|
|
||||||
.B \-c \-\-consumer
|
|
||||||
.TP
|
|
||||||
.B \-e \-\-email <email>
|
|
||||||
Your email address as registered on Launchpad.
|
|
||||||
.TP
|
|
||||||
.B \-p \-\-password <password>
|
|
||||||
Your Launchpad password.
|
|
||||||
.TP
|
|
||||||
.B \-s \-\-service <edge|staging>
|
|
||||||
If we should use the edge or staging root of the Launchpad API.
|
|
||||||
.TP
|
|
||||||
.B \-\-cache
|
|
||||||
Where to store the cache.
|
|
||||||
.TP
|
|
||||||
.B \-o
|
|
||||||
Which file we should save the credentials to. By default
|
|
||||||
\fBmanage-credentials\fR writes the credentials tokens to the
|
|
||||||
~/.cache/lp_credentials/ directory.
|
|
||||||
.TP
|
|
||||||
.B \-l \-\-level <number>
|
|
||||||
A number representing the access-level you wish to give to the new
|
|
||||||
Launchpad token. 0 is unauthorized, 1 is read public data, 2; write public data,
|
|
||||||
3; read private data and 4; write private data.
|
|
||||||
|
|
||||||
.SH EXAMPLE USAGE
|
|
||||||
There are currently two ways of using \fBmanage-credentials\fR to get
|
|
||||||
Launchpad tokens.
|
|
||||||
.TP
|
|
||||||
1) manage-credentials create \-c CONSUMER \-\-level 2
|
|
||||||
|
|
||||||
.TP
|
|
||||||
This way shall open your webbrowser with a Launchpad login page.
|
|
||||||
|
|
||||||
.TP
|
|
||||||
2) manage-credentials create \-c CONSUMER \-\-level 2 \-\-password BOO \-\-email me@example.com
|
|
||||||
|
|
||||||
.TP
|
|
||||||
This is a hack, but it works and does not require a webbrowser .
|
|
||||||
|
|
||||||
.TP
|
|
||||||
If you intend to use manage-credentials for Ubuntu development (such as
|
|
||||||
the ubuntu-dev-tools package). Please by sure to run the following:
|
|
||||||
|
|
||||||
.TP
|
|
||||||
manage-credentials create \-c ubuntu-dev-tools \-l 2
|
|
||||||
|
|
||||||
.SH AUTHOR
|
|
||||||
.B manage-credentials
|
|
||||||
was written by Markus Korn <thekorn@gmx.de> and this manual page was written by
|
|
||||||
Jonathan Davies <jpds@ubuntu.com>.
|
|
||||||
.PP
|
|
||||||
Both are released under the GNU General Public License, version 3.
|
|
20
doc/merge-changelog.1
Normal file
20
doc/merge-changelog.1
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
.TH merge-changelog 1 "February 15, 2010" "ubuntu-dev-tools"
|
||||||
|
|
||||||
|
.SH NAME
|
||||||
|
merge\-changelog \- merges two changelogs with a common base
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
\fBmerge\-changelog\fP <\fIleft changelog\fP> <\fIright changelog\fP>
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBmerge\-changelog\fP takes two changelogs that once shared a common source,
|
||||||
|
merges them back together, and prints the merged result to stdout. This
|
||||||
|
is useful if you need to manually merge a ubuntu package with a new
|
||||||
|
Debian release of the package.
|
||||||
|
|
||||||
|
.SH AUTHORS
|
||||||
|
\fBmerge\-changelog\fP was written by Scott James Remnant <scott@ubuntu.com>
|
||||||
|
and Bryce Harrington <bryce@ubuntu.com>. This manpage was written by Ryan
|
||||||
|
Kavanagh <ryanakca@kubuntu.org>.
|
||||||
|
.PP
|
||||||
|
Both are released under the GNU General Public License, version 3.
|
@ -1,82 +0,0 @@
|
|||||||
.TH MK\-SBUILD\-LV "1" "27 August 2008" "ubuntu-dev-tools"
|
|
||||||
|
|
||||||
.SH NAME
|
|
||||||
mk\-sbuild\-lv \- creates LVM snapshot chroots via schroot and sbuild
|
|
||||||
|
|
||||||
.SH SYNOPSIS
|
|
||||||
\fBmk\-sbuild\-lv\fR [\fB\-\-arch=ARCH\fR] [\fB\-\-name=NAME\fR]
|
|
||||||
[\fB\-\-personality=PERSONALITY\fR] [\fB\-\-debug\fR] [\fB\-\-source\-template=FILE\fR]
|
|
||||||
[\fB\-\-debootstrap\-mirror=URL\fR] <\fBVG\fR> <\fBRelease\fR>
|
|
||||||
|
|
||||||
.SH DESCRIPTION
|
|
||||||
\fBmk\-sbuild\-lv\fR creates LVM snapshot chroots via schroot and sbuild.
|
|
||||||
|
|
||||||
.SH OPTIONS
|
|
||||||
Listed below are the command line options for mk\-sbuild\-lv:
|
|
||||||
.TP
|
|
||||||
.B \-\-arch=ARCH
|
|
||||||
What architecture to select (defaults to the native architecture).
|
|
||||||
.TP
|
|
||||||
.B \-\-name=NAME
|
|
||||||
Base name for the schroot (arch is appended).
|
|
||||||
.TP
|
|
||||||
.B \-\-personality=PERSONALITY
|
|
||||||
What personality to use (defaults to match \-\-arch).
|
|
||||||
.TP
|
|
||||||
.B \-\-debug
|
|
||||||
Turn on script debugging.
|
|
||||||
.TP
|
|
||||||
.B \-\-skip\-updates
|
|
||||||
Do not include the \-updates pocket in the installed sources.list.
|
|
||||||
.TP
|
|
||||||
.B \-\-source\-template=FILE
|
|
||||||
Use FILE as the sources.list template (defaults to $HOME/.mk\-sbuild\-lv.sources).
|
|
||||||
.TP
|
|
||||||
.B \-\-debootstrap\-mirror=URL
|
|
||||||
Use URL as the debootstrap source (defaults to http://ports.ubuntu.com for lpia,
|
|
||||||
official Ubuntu repositories for the supported architectures).
|
|
||||||
|
|
||||||
.SH ENVIRONMENT VARIABLES
|
|
||||||
.TP
|
|
||||||
.B LV_SIZE
|
|
||||||
Size of source LVs (defaults to 5G).
|
|
||||||
.TP
|
|
||||||
.B SNAPSHOT_SIZE
|
|
||||||
Size of snapshot LVs (defaults to 4G).
|
|
||||||
.TP
|
|
||||||
.B SCHROOT_CONF_SUFFIX
|
|
||||||
Lines to append to schroot entries.
|
|
||||||
.TP
|
|
||||||
.B SKIP_UPDATES
|
|
||||||
Do not include the \-updates pocket in the installed sources.list.
|
|
||||||
|
|
||||||
.SH FILES
|
|
||||||
.TP
|
|
||||||
.B $HOME/.mk\-sbuild\-lv.rc
|
|
||||||
Sourced for environment variables (defined above).
|
|
||||||
.TP
|
|
||||||
.B $HOME/.mk\-sbuild\-lv.sources
|
|
||||||
Can contain a customized sources.list.
|
|
||||||
It will be read when creating the schroot.
|
|
||||||
See sources.list(5) for more details on the format.
|
|
||||||
.TP
|
|
||||||
.B $HOME/.mk\-sbuild\-lv.schroot.conf
|
|
||||||
Can contain a customized configuration section to be inserted into
|
|
||||||
/etc/schroot/schroot.conf.
|
|
||||||
See schroot.conf(5) for more details on the format.
|
|
||||||
.SH USING THE CHROOTS
|
|
||||||
.TP
|
|
||||||
To UPDATE the golden image: \fBschroot \-c ${CHROOT_NAME}\-source \-u root \-\- sh \-c apt\-get update && apt\-get \-y upgrade\fR
|
|
||||||
.TP
|
|
||||||
To ENTER an image snapshot: \fBschroot \-c ${CHROOT_NAME}\fR
|
|
||||||
.TP
|
|
||||||
To BUILD within a snapshot: \fBsbuild \-d ${SCHROOT_NAME} PACKAGE*.dsc\fR
|
|
||||||
|
|
||||||
.SH SEE ALSO
|
|
||||||
sbuild\-setup (7), sources.list (5), schroot.conf (5),
|
|
||||||
https://help.ubuntu.com/community/SbuildLVMHowto
|
|
||||||
|
|
||||||
.SH AUTHOR
|
|
||||||
\fBmk\-sbuild\-lv\fR was written by Kees Cook <kees@ubuntu.com>.
|
|
||||||
This man page was written by Ryan Kavanagh <ryanakca@kubuntu.org>.
|
|
||||||
Both are released under the GNU General Public License, version 3 or later.
|
|
224
doc/mk-sbuild.1
Normal file
224
doc/mk-sbuild.1
Normal file
@ -0,0 +1,224 @@
|
|||||||
|
.TH MK\-SBUILD "1" "09 February 2010" "ubuntu-dev-tools"
|
||||||
|
|
||||||
|
.SH NAME
|
||||||
|
mk\-sbuild \- creates chroots via schroot and sbuild
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
\fBmk\-sbuild\fR [\fIoptions\fR...] <\fIrelease\fR>
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBmk\-sbuild\fR creates chroots via schroot and sbuild.
|
||||||
|
|
||||||
|
.SH OPTIONS
|
||||||
|
Listed below are the command line options for mk\-sbuild:
|
||||||
|
.TP
|
||||||
|
.B \-\-arch\fR=\fIARCH
|
||||||
|
What architecture to select (defaults to the native architecture).
|
||||||
|
.TP
|
||||||
|
.B \-\-target\fR=\fRARCH
|
||||||
|
Set up the chroot as a cross-building environment targeting the specified
|
||||||
|
architecture.
|
||||||
|
.TP
|
||||||
|
.B \-\-name\fR=\fINAME
|
||||||
|
Base name for the schroot (arch is appended).
|
||||||
|
.TP
|
||||||
|
.B \-\-personality\fR=\fIPERSONALITY
|
||||||
|
What personality to use (defaults to match \fB\-\-arch\fR).
|
||||||
|
.TP
|
||||||
|
.B \-\-debug
|
||||||
|
Turn on script debugging.
|
||||||
|
.TP
|
||||||
|
.B \-\-skip\-updates
|
||||||
|
Do not include the \fB\-updates\fR pocket in the installed
|
||||||
|
\fBsources.list\fR.
|
||||||
|
.TP
|
||||||
|
.B \-\-skip\-proposed
|
||||||
|
Do not include the \fB\-proposed\fR pocket in the installed
|
||||||
|
\fBsources.list\fR.
|
||||||
|
.TP
|
||||||
|
.B \-\-source\-template\fR=\fIFILE
|
||||||
|
Use \fIFILE\fR as the \fBsources.list\fR template (defaults to
|
||||||
|
\fI$HOME\fB/.mk\-sbuild.sources\fR).
|
||||||
|
.TP
|
||||||
|
.B \-\-debootstrap\-mirror\fR=\fIURL
|
||||||
|
Use \fIURL\fR as the debootstrap source (defaults to
|
||||||
|
\fBhttp://ports.ubuntu.com\fR where appropriate, official Ubuntu
|
||||||
|
repositories for the supported architectures).
|
||||||
|
.TP
|
||||||
|
.B \-\-debootstrap\-include\fR=\fIalpha,beta
|
||||||
|
Pass along a comma separated list of packages to debootstrap's
|
||||||
|
\fB\-\-include\fR argument. See \fBdebootstrap\fR (8) for more details.
|
||||||
|
.TP
|
||||||
|
.B \-\-debootstrap\-exclude\fR=\fIalpha,beta
|
||||||
|
Pass along a comma separated list of packages to debootstrap's
|
||||||
|
\fB\-\-exclude\fR argument.
|
||||||
|
\fBWARNING:\fR be careful using this option as you can end up
|
||||||
|
excluding essential package. See \fBdebootstrap \fR(8) for more details.
|
||||||
|
.TP
|
||||||
|
.B \-\-debootstrap\-keyring\fR=\fIkeyring
|
||||||
|
Pass along the path to a gpg keyring file to debootsrap's
|
||||||
|
\fB\-\-keyring\fR argument. See \fBdebootstrap\fR (8) for more details.
|
||||||
|
.TP
|
||||||
|
.B \-\-debootstrap\-no\-check\-gpg
|
||||||
|
Disable checking gpg signatures of downloaded Release files by using
|
||||||
|
debootstrap's \fB\-\-no\-check\-gpg\fR option. See \fBdebootstrap\fR (8)
|
||||||
|
for more details.
|
||||||
|
.TP
|
||||||
|
.B \-\-debootstrap\-proxy\fR=\fIPROXY
|
||||||
|
Use \fIPROXY\fR as apt proxy.
|
||||||
|
.TP
|
||||||
|
.B \-\-eatmydata
|
||||||
|
Install and use eatmydata (default)
|
||||||
|
.TP
|
||||||
|
.B \-\-skip\-eatmydata
|
||||||
|
Don't install and use eatmydata
|
||||||
|
.TP
|
||||||
|
.B \-\-distro\fR=\fIDISTRO
|
||||||
|
Enable distro-specific logic.
|
||||||
|
When not provided, the distribution is determined from \fIrelease\fR.
|
||||||
|
Currently known distros: "\fBdebian\fR" and "\fBubuntu\fR".
|
||||||
|
.TP
|
||||||
|
.B \-\-vg\fR=\fIVOLUME_GROUP
|
||||||
|
Specify a volume group, and subsequently use a default \fBSCHROOT_TYPE\fR of
|
||||||
|
"\fBlvm-snapshot\fR" rather than "\fBdirectory\fR" (via overlayfs or
|
||||||
|
aufs) mounts.
|
||||||
|
.TP
|
||||||
|
.B \-\-zfs-dataset=\fIDATASET
|
||||||
|
Specify a zfs dataset, and subsequently use a default \fBSCHROOT_TYPE\fR of
|
||||||
|
"\fBzfs-snapshot\fR" rather than "\fBdirectory\fR" (via overlayfs or
|
||||||
|
aufs) mounts.
|
||||||
|
.TP
|
||||||
|
.B \-\-type\fR=\fISHROOT_TYPE
|
||||||
|
Specify a \fBSCHROOT_TYPE\fR. Supported values are "\fBdirectory\fR"
|
||||||
|
(default if \fB\-\-vg\fR not specified), "\fBlvm-snapshot\fR" (default
|
||||||
|
if \fB\-\-vg\fR specified), "\fBbtrfs-snapshot\fR", "\fBzfs-snapshot\fR"
|
||||||
|
and "\fBfile\fR".
|
||||||
|
.TP
|
||||||
|
.B \-\-ccache
|
||||||
|
Enable usage of \fBccache\fR by default. See \fBccache\fR (1) for
|
||||||
|
more details.
|
||||||
|
.TP
|
||||||
|
.B \-\-ccache-dir=\fIPATH
|
||||||
|
Use \fBPATH\fR as schroot ccache directory. This directory can be
|
||||||
|
safely shared by multiple schroots, but they will all use the same
|
||||||
|
\fBCCACHE_MAXSIZE\fR.
|
||||||
|
Defaults to /var/cache/ccache-sbuild.
|
||||||
|
See \fBccache\fR (1) for more details.
|
||||||
|
.TP
|
||||||
|
.B \-\-ccache-size=\fISIZE
|
||||||
|
Sets \fBSIZE\fR as the schroot \fBCCACHE_DIR\fR max-size used by ccache.
|
||||||
|
See \fBccache\fR (1) for more details.
|
||||||
|
|
||||||
|
.SH ENVIRONMENT VARIABLES
|
||||||
|
.TP
|
||||||
|
.B LV_SIZE
|
||||||
|
Size of source LVs (defaults to 5G).
|
||||||
|
.TP
|
||||||
|
.B SNAPSHOT_SIZE
|
||||||
|
Size of snapshot LVs (defaults to 4G).
|
||||||
|
.TP
|
||||||
|
.B SCHROOT_CONF_SUFFIX
|
||||||
|
Lines to append to schroot entries.
|
||||||
|
.TP
|
||||||
|
.B SCHROOT_PROFILE
|
||||||
|
Profile to use with schroot. (defaults to sbuild)
|
||||||
|
.TP
|
||||||
|
.B SKIP_UPDATES
|
||||||
|
Do not include the \fB\-updates\fR pocket (same as
|
||||||
|
\fB\-\-skip\-updates\fR)
|
||||||
|
.TP
|
||||||
|
.B SKIP_PROPOSED
|
||||||
|
Do not include the \fB\-proposed\fR pocket (same as
|
||||||
|
\fB\-\-skip\-proposed\fR)
|
||||||
|
.TP
|
||||||
|
.B DEBOOTSTRAP_MIRROR
|
||||||
|
Mirror location (same as \fB\-\-debootstrap-mirror\fR)
|
||||||
|
.TP
|
||||||
|
.B DEBOOTSTRAP_INCLUDE
|
||||||
|
Comma separated list of packages to include when bootstrapping (same as
|
||||||
|
\fB\-\-debootstrap-include\fR)
|
||||||
|
.TP
|
||||||
|
.B DEBOOTSTRAP_EXCLUDE
|
||||||
|
Comma separated list of packages to exclude when bootstrapping (same as
|
||||||
|
\fB\-\-debootstrap-exclude\fR; see warning above)
|
||||||
|
.TP
|
||||||
|
.B DEBOOTSTRAP_KEYRING
|
||||||
|
Keyring file to use for checking gpg signatures of retrieved release files
|
||||||
|
(same as \fB\-\-debootstrap\-keyring\fR)
|
||||||
|
.TP
|
||||||
|
.B DEBOOTSTRAP_NO_CHECK_GPG
|
||||||
|
Disable gpg verification of retrieved release files (same as
|
||||||
|
\fB\-\-debootstrap\-no\-check\-gpg\fR)
|
||||||
|
.TP
|
||||||
|
.B DEBOOTSTRAP_PROXY
|
||||||
|
Proxy to use for apt. (same as
|
||||||
|
\fB\-\-debootstrap\-proxy\fR)
|
||||||
|
.TP
|
||||||
|
.B EATMYDATA
|
||||||
|
Enable or disable eatmydata usage, see \fB\-\-eatmydata\fR
|
||||||
|
and \fB\-\-skip\-eatmydata\fR
|
||||||
|
.TP
|
||||||
|
.B SOURCE_CHROOTS_DIR
|
||||||
|
Use \fBSOURCE_CHROOTS_DIR\fR as home of schroot source directories.
|
||||||
|
(default \fB/var/lib/schroot/chroots\fR)
|
||||||
|
.TP
|
||||||
|
.B SOURCE_CHROOTS_TGZ
|
||||||
|
Use \fBSOURCE_CHROOTS_TGZ\fR as home of schroot source tarballs.
|
||||||
|
(default \fB/var/lib/schroot/tarballs\fR)
|
||||||
|
.TP
|
||||||
|
.B CHROOT_SNAPSHOT_DIR
|
||||||
|
Use \fBCHROOT_SNAPSHOT_DIR\fR as home of mounted btrfs snapshots.
|
||||||
|
(default \fB/var/lib/schroot/snapshots\fR)
|
||||||
|
.TP
|
||||||
|
.B CCACHE
|
||||||
|
Enable \fBccache\fR (1) by default.
|
||||||
|
(defaults to \fB0\fR)
|
||||||
|
.TP
|
||||||
|
.B CCACHE_DIR
|
||||||
|
Use \fBCCACHE_DIR\fR as the \fBccache\fR (1) directory.
|
||||||
|
(default \fB/var/cache/ccache-sbuild\fR)
|
||||||
|
.TP
|
||||||
|
.B CCACHE_SIZE
|
||||||
|
Use \fBCCACHE_SIZE\fR as the \fBccache\fR (1) max-size.
|
||||||
|
(defaults to \fB4G\fR)
|
||||||
|
|
||||||
|
|
||||||
|
.SH FILES
|
||||||
|
.TP
|
||||||
|
.IB $HOME /.mk\-sbuild.rc
|
||||||
|
Sourced for environment variables (defined above).
|
||||||
|
.TP
|
||||||
|
.IB $HOME /.mk\-sbuild.sources\fR[\fB. $DISTRO\fR]
|
||||||
|
Can contain a customized \fBsources.list\fR.
|
||||||
|
It will be read when creating the schroot.
|
||||||
|
If a file with "\fB.ubuntu\fR" or "\fB.debian\fR" is found (as
|
||||||
|
appropriate) it will use used instead.
|
||||||
|
See \fBsources.list\fR (5) for more details on the format.
|
||||||
|
.TP
|
||||||
|
.IB $HOME /.mk\-sbuild.schroot.conf\fR[\fB. $SCHROOT_TYPE\fR]
|
||||||
|
Can contain a customized configuration section to be inserted into
|
||||||
|
\fB/etc/schroot/schroot.conf\fR.
|
||||||
|
If a file with "\fB.lvm-snapshot\fR", "\fB.directory\fR", "\fB.file\fR",
|
||||||
|
or "\fBbtrfs-snapshot\fR" is found (as appropriate) that file will use used instead.
|
||||||
|
See \fBschroot.conf\fR (5) for more details on the format.
|
||||||
|
.SH USING THE CHROOTS
|
||||||
|
.TP
|
||||||
|
To CHANGE the golden image: \fBsudo schroot \-c \fI${SCHROOT_NAME}\fB\-source \-u root\fR
|
||||||
|
.TP
|
||||||
|
To ENTER an image snapshot: \fBschroot \-c \fI$SCHROOT_NAME\fR
|
||||||
|
.TP
|
||||||
|
To BUILD within a snapshot: \fBsbuild \-A \-d \fI$SCHROOT_NAME $PACKAGE\fB*.dsc\fR
|
||||||
|
.TP
|
||||||
|
for example, to update the packages in a \fBsid\-amd64\fR golden image:
|
||||||
|
\fBschroot \-c sid\-amd64\-source \-u root -- sh \-c "apt-get \-qq update && apt-get \-qy upgrade && apt-get clean" </dev/null\fR
|
||||||
|
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR sbuild\-setup (7),
|
||||||
|
.BR sources.list (5),
|
||||||
|
.BR schroot.conf (5),
|
||||||
|
.B https://help.ubuntu.com/community/SbuildLVMHowto
|
||||||
|
|
||||||
|
.SH AUTHOR
|
||||||
|
\fBmk\-sbuild\fR was written by Kees Cook <kees@ubuntu.com>.
|
||||||
|
This man page was written by Ryan Kavanagh <ryanakca@kubuntu.org>.
|
||||||
|
Both are released under the GNU General Public License, version 3 or later.
|
@ -1,35 +1,36 @@
|
|||||||
.TH PBUILDER\-DIST 1 "February 25, 2008" "ubuntu-dev-tools"
|
.TH PBUILDER\-DIST\-SIMPLE 1 "February 25, 2008" "ubuntu\-dev\-tools"
|
||||||
|
|
||||||
.SH NAME
|
.SH NAME
|
||||||
pbuilder\-dist\-simple \- simple multi-distribution pbuilder wrapper
|
pbuilder\-dist\-simple \- simple multi\-release pbuilder wrapper
|
||||||
|
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
\fBpbuilder\-\fI<dist>\fR\fP \fIoperation\fR [\fI...\fR]
|
\fBpbuilder\-\fI<dist>\fR\fP \fIoperation\fR [\fI...\fR]
|
||||||
|
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
\fBpbuilder\-dist\fP is a wrapper that makes it easy to use pbuilder with
|
\fBpbuilder\-dist\-simple\fP is a wrapper that makes it easy to use
|
||||||
chroots for many different Ubuntu/Debian distributions.
|
pbuilder with chroots for many different Ubuntu distributions.
|
||||||
If you need more features than \fBpbuilder\-dist\-simple\fP provides, have a
|
If you need more features than \fBpbuilder\-dist\-simple\fP provides, have a
|
||||||
look at \fBpbuilder\-dist\fP.
|
look at
|
||||||
|
.BR pbuilder\-dist (1).
|
||||||
|
|
||||||
.SH USAGE
|
.SH USAGE
|
||||||
Create one symlink to \fBpbuilder\-dist\-simple\fP for each distribution
|
Create one symlink to \fBpbuilder\-dist\-simple\fP for each distribution
|
||||||
for which you want a build environment, naming them like "pbuilder\-hardy",
|
for which you want a build environment, naming them like "pbuilder\-lucid",
|
||||||
"pbuilder\-gutsy", etc.
|
"pbuilder\-natty", etc.
|
||||||
.PP
|
.PP
|
||||||
Replace \fIoperation\fP with the action you want \fBpbuilder\-dist\-simple\fP
|
Replace \fIoperation\fP with the action you want \fBpbuilder\-dist\-simple\fP
|
||||||
to do (create, update, build, clean, login or execute).
|
to do (create, update, build, clean, login or execute).
|
||||||
|
|
||||||
.SH EXAMPLES
|
.SH EXAMPLES
|
||||||
.TP
|
.TP
|
||||||
pbuilder\-gutsy create
|
pbuilder\-natty create
|
||||||
Creates a \fBpbuilder\fP environment for Ubuntu Gutsy.
|
Creates a \fBpbuilder\fP environment for Ubuntu Natty.
|
||||||
.TP
|
.TP
|
||||||
pbuilder\-sid update
|
pbuilder\-lucid update
|
||||||
Updates an existing Debian Sid environment.
|
Updates an existing Ubuntu Lucid environment.
|
||||||
.TP
|
.TP
|
||||||
pbuilder\-hardy build ./sample_1.0\-0ubuntu1.dsc
|
pbuilder\-lucid build ./sample_1.0\-0ubuntu1.dsc
|
||||||
Builds the specified package on an already existing Ubuntu Hardy environment.
|
Builds the specified package on an already existing Ubuntu Lucid environment.
|
||||||
|
|
||||||
.SH FILES
|
.SH FILES
|
||||||
By default, \fBpbuilder\-dist\-simple\fP will store all the files it
|
By default, \fBpbuilder\-dist\-simple\fP will store all the files it
|
||||||
@ -39,12 +40,14 @@ to any other directory you want.
|
|||||||
If the directory doesn't exit, it will be created at runtime.
|
If the directory doesn't exit, it will be created at runtime.
|
||||||
|
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
\fBpbuilder\fR, \fBpbuilderrc\fR
|
.BR pbuilder (1),
|
||||||
|
.BR pbuilderrc (5),
|
||||||
|
.BR pbuilder\-dist (1)
|
||||||
|
|
||||||
.SH AUTHORS
|
.SH AUTHORS
|
||||||
\fBpbuilder\-dist\fP was originally written by Jamin W. Collins
|
\fBpbuilder\-dist\fP was originally written by Jamin W. Collins
|
||||||
<jcollins@asgardsrealm.net> and Jordan Mantha <mantha@ubuntu.com>, and
|
<jcollins@asgardsrealm.net> and Jordan Mantha <mantha@ubuntu.com>, and
|
||||||
this manpage by Siegfried-A. Gevatter <rainct@ubuntu.com>.
|
this manpage by Siegfried\-A. Gevatter <rainct@ubuntu.com>.
|
||||||
.PP
|
.PP
|
||||||
Both are released under the GNU General Public License, version 2 or
|
Both are released under the GNU General Public License, version 2 or
|
||||||
later.
|
later.
|
||||||
|
@ -4,23 +4,23 @@
|
|||||||
pbuilder\-dist, cowbuilder\-dist \- multi-distribution pbuilder/cowbuilder wrapper
|
pbuilder\-dist, cowbuilder\-dist \- multi-distribution pbuilder/cowbuilder wrapper
|
||||||
|
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
\fBpbuilder\-dist\fP \fIdistribution\fR [\fBi386\fP|\fBamd64\fP] [\fBmainonly\fP]
|
\fBpbuilder\-dist\fP \fIdistribution\fR [\fIarchitecture\fR] \fIoperation\fR
|
||||||
\fIoperation\fR [\fI...\fR]
|
[\fBoptions\fP] [\fI...\fR]
|
||||||
|
|
||||||
\fBcowbuilder\-dist\fP \fIdistribution\fR [\fBi386\fP|\fBamd64\fP] [\fBmainonly\fP]
|
\fBcowbuilder\-dist\fP \fIdistribution\fR [\fIarchitecture\fR] \fIoperation\fR
|
||||||
\fIoperation\fR [\fI...\fR]
|
[\fBoptions\fP] [\fI...\fR]
|
||||||
|
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
\fBpbuilder\-dist\fP is a wrapper that makes it easy to use pbuilder with many different
|
\fBpbuilder\-dist\fP is a wrapper that makes it easy to use pbuilder with many different
|
||||||
versions of Ubuntu and/or Debian.
|
versions of Ubuntu and/or Debian.
|
||||||
.PP
|
.PP
|
||||||
It is common to symlink this script in order to give it many names in the form of
|
It is common to symlink this script in order to give it many names in the form of
|
||||||
\fBpbuilder\-\fIdistribution\fP\fR (\fBpbuilder\-\fIdistribution\fR\-\fIarchitecture\fP\fR on amd64
|
\fBpbuilder\-\fIdistribution\fP\fR or \fBpbuilder\-\fIdistribution\fR\-\fIarchitecture\fP\fR,
|
||||||
systems), like for example \fBpbuilder\-feisty\fP, \fBpbuilder\-sid\fP, \fBpbuilder\-gutsy\-i386\fP, etc.
|
like for example \fBpbuilder\-feisty\fP, \fBpbuilder\-sid\fP, \fBpbuilder\-gutsy\-i386\fP, etc.
|
||||||
.PP
|
.PP
|
||||||
The same applies to \fBcowbuilder\-dist\fP, which uses cowbuilder. The main
|
The same applies to \fBcowbuilder\-dist\fP, which uses cowbuilder. The main
|
||||||
difference between both is that pbuilder compresses the created chroot as a
|
difference between both is that pbuilder compresses the created chroot as a
|
||||||
a tarball, thus using less disc space but needing to uncompress (and possibly
|
tarball, thus using less disc space but needing to uncompress (and possibly
|
||||||
compress) its contents again on each run, and cowbuilder doesn't do this.
|
compress) its contents again on each run, and cowbuilder doesn't do this.
|
||||||
|
|
||||||
.SH USAGE
|
.SH USAGE
|
||||||
@ -33,16 +33,15 @@ the name also contains \-\fIarchitecture\fR.
|
|||||||
\fBdistribution\fP
|
\fBdistribution\fP
|
||||||
Replace this with the codename of the version of Ubuntu or Debian you want to use.
|
Replace this with the codename of the version of Ubuntu or Debian you want to use.
|
||||||
.TP
|
.TP
|
||||||
\fBi386\fP / \fBamd64\fP
|
\fBarchitecture\fP
|
||||||
Only available on amd64 systems.
|
This optional parameter will attempt to construct a chroot in a foreign
|
||||||
This is optional; default is \fBamd64\fP.
|
architecture.
|
||||||
If \fBi386\fP is specified, an i386 environment will be used.
|
For some architecture pairs (e.g. i386 on an amd64 install), the chroot
|
||||||
.TP
|
will be created natively.
|
||||||
\fBmainonly\fP
|
For others (e.g. arm64 on an amd64 install), qemu\-user\-static will be
|
||||||
If you specify \fBmainonly\fP, only packages from the main (in Debian) or
|
used.
|
||||||
main and restricted (in Ubuntu) components will be used. By default, all
|
Note that some combinations (e.g. amd64 on an i386 install) require
|
||||||
official components are enabled. This only has effect when creating a new
|
special separate kernel handling, and may break in unexpected ways.
|
||||||
environment.
|
|
||||||
.TP
|
.TP
|
||||||
\fBoperation\fP
|
\fBoperation\fP
|
||||||
Replace this with the action you want \fBpbuilder\fP to do (create, update,
|
Replace this with the action you want \fBpbuilder\fP to do (create, update,
|
||||||
@ -59,12 +58,43 @@ a .dsc file. As a special feature, if you specify a .dsc file you can
|
|||||||
skip the \fBbuild\fP option and this script will automatically assume that
|
skip the \fBbuild\fP option and this script will automatically assume that
|
||||||
building is the action you want to do.
|
building is the action you want to do.
|
||||||
|
|
||||||
|
.SH OPTIONS
|
||||||
|
.TP
|
||||||
|
\fB\-\-main\-only\fP (deprecated: \fBmainonly\fP)
|
||||||
|
If you specify this option, only packages from the \fImain\fP (in Debian) or
|
||||||
|
\fImain\fP and \fIrestricted\fP (in Ubuntu) components will be used. By
|
||||||
|
default, all official components are enabled. This only has effect when
|
||||||
|
creating a new environment.
|
||||||
|
.TP
|
||||||
|
\fB\-\-debug\-echo\fP
|
||||||
|
The generated \fBpbuilder\fP/\fBcowbuilder\fP command will be printed to the
|
||||||
|
standard output instead of being executed. This is useful for debugging.
|
||||||
|
.TP
|
||||||
|
\fB\-\-buildresult\fP \fBDIRECTORY\fP (pbuilder\-dist only)
|
||||||
|
If this option is specified, the resultant files of the \fBpbuilder\fP build
|
||||||
|
are placed in \fBDIRECTORY\fP.
|
||||||
|
.TP
|
||||||
|
\fB\-\-release\-only\fP
|
||||||
|
Only use the release pocket.
|
||||||
|
Default for development releases.
|
||||||
|
.TP
|
||||||
|
\fB\-\-security\-only\fP
|
||||||
|
Only use the release and security pockets.
|
||||||
|
Suitable environment for preparing security updates.
|
||||||
|
.TP
|
||||||
|
\fB\-\-updates\-only\fP
|
||||||
|
Only use the release, security, and updates pocket.
|
||||||
|
Not the proposed\-updates pocket.
|
||||||
|
.TP
|
||||||
|
\fB\-\-backports\fP
|
||||||
|
Also use the backports archive..
|
||||||
|
|
||||||
.SH EXAMPLES
|
.SH EXAMPLES
|
||||||
.TP
|
.TP
|
||||||
pbuilder\-dist gutsy create
|
pbuilder\-dist gutsy create
|
||||||
Creates a \fBpbuilder\fP environment for Ubuntu Gutsy, with all components enabled.
|
Creates a \fBpbuilder\fP environment for Ubuntu Gutsy, with all components enabled.
|
||||||
.TP
|
.TP
|
||||||
pbuilder\-sid mainonly create
|
pbuilder\-sid \-\-main\-only create
|
||||||
Creates a \fBpbuilder\fP environment for Debian Sid, with only the main component.
|
Creates a \fBpbuilder\fP environment for Debian Sid, with only the main component.
|
||||||
.TP
|
.TP
|
||||||
pbuilder\-feisty build ./sample_1.0\-0ubuntu1.dsc
|
pbuilder\-feisty build ./sample_1.0\-0ubuntu1.dsc
|
||||||
@ -81,29 +111,48 @@ Creates a \fBcowbuilder\fP environment for Debian Experimental.
|
|||||||
|
|
||||||
.SH FILES AND ENVIRONMENT VARIABLES
|
.SH FILES AND ENVIRONMENT VARIABLES
|
||||||
By default, \fBpbuilder\-dist\fP will store all the files it generates in
|
By default, \fBpbuilder\-dist\fP will store all the files it generates in
|
||||||
\fB~/pbuilder/\fP. This can be changed by setting the $PBUILDFOLDER global
|
\fB~/pbuilder/\fP. This can be changed by setting the \fBPBUILDFOLDER\fP
|
||||||
variable. If the directory doesn't exist, it will be created on the run.
|
environment variable. If the directory doesn't exist, it will be created on
|
||||||
|
the run.
|
||||||
.PP
|
.PP
|
||||||
A file with the log of the last operation, called last_operation.log, will be
|
A file with the log of the last operation, called last_operation.log, will be
|
||||||
saved in the results subdirectory of each build environment.
|
saved in the results subdirectory of each build environment.
|
||||||
.PP
|
.PP
|
||||||
The default authentication method is \fBsudo\fP. You can change this by
|
The default authentication method is \fBsudo\fP. You can change this by
|
||||||
setting the $PBUILDAUTH variable.
|
setting the \fBPBUILDAUTH\fP variable.
|
||||||
|
.PP
|
||||||
|
By default, \fBpbuilder\-dist\fP use the master Debian and Ubuntu mirrors.
|
||||||
|
The pbuilder \fBMIRRORSITE\fP and \fBOTHERMIRROR\fP variables are
|
||||||
|
supported, as are the standard ubuntu\-dev\-tools variables:
|
||||||
|
\fBUBUNTUTOOLS_DEBIAN_MIRROR\fP, \fBPBUILDER_DIST_DEBIAN_MIRROR\fP,
|
||||||
|
\fBUBUNTUTOOLS_DEBSEC_MIRROR\fP, \fBPBUILDER_DIST_DEBSEC_MIRROR\fP,
|
||||||
|
\fBUBUNTUTOOLS_UBUNTU_MIRROR\fP, \fBPBUILDER_DIST_UBUNTU\fP,
|
||||||
|
\fBUBUNTUTOOLS_UBUNTU_PORTS_MIRROR\fP, and
|
||||||
|
\fBPBUILDER_DIST_UBUNTU_PORTS_MIRROR\fP.
|
||||||
|
See \fBubuntu\-dev\-tools\fP (5) for details.
|
||||||
|
.PP
|
||||||
|
You may also want to know that \fBpbuilder\-dist\fP exports \fBDIST\fP and
|
||||||
|
\fBARCH\fP environment variables to the invoked process, containing the name
|
||||||
|
of the distribution and the architecture targeted by the current build. You
|
||||||
|
can make use of them, for example, in \fBpbuilderrc\fP.
|
||||||
|
|
||||||
.SH BUGS
|
.SH BUGS
|
||||||
If you experience any problem with this script contact me on rainct@ubuntu.com
|
If you experience any problem with this script contact me on rainct@ubuntu.com
|
||||||
or file a bug at https://bugs.launchpad.net/ubuntu/+source/ubuntu-dev-tools.
|
or file a bug at https://bugs.launchpad.net/ubuntu/+source/ubuntu\-dev\-tools.
|
||||||
.PP
|
.PP
|
||||||
Please ensure first that the problem is really this script and not an issue
|
Please ensure first that the problem is really this script and not an issue
|
||||||
with \fBpbuilder\fP or \fBcowbuilder\fP themselves.
|
with \fBpbuilder\fP or \fBcowbuilder\fP themselves.
|
||||||
|
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
\fBpbuilder\fR, \fBpbuilderrc\fR, \fBcowbuilder\fR
|
.BR pbuilder (1),
|
||||||
|
.BR pbuilderrc (5),
|
||||||
|
.BR cowbuilder (1),
|
||||||
|
.BR ubuntu\-dev\-tools (5).
|
||||||
|
|
||||||
.SH AUTHORS
|
.SH AUTHORS
|
||||||
\fBpbuilder\-dist\fP was written by Siegfried-A. Gevatter <rainct@ubuntu.com>
|
\fBpbuilder\-dist\fP and this manual page were written by Siegfried-A. Gevatter
|
||||||
and includes patches by Iain Lane <iain@orangesquash.org.uk>. This manual page
|
<rainct@ubuntu.com>, with contributions from Iain Lane
|
||||||
has been written by Siegfried-A. Gevatter <rainct@ubuntu.com>.
|
<iain@orangesquash.org.uk>, Emmet Hikory <persia@ubuntu.com> and others.
|
||||||
|
|
||||||
\fBpbuilder\-dist\fP is released under the GNU General Public License, version
|
\fBpbuilder\-dist\fP is released under the GNU General Public License, version
|
||||||
2 or later.
|
2 or later.
|
||||||
|
44
doc/pm-helper.1
Normal file
44
doc/pm-helper.1
Normal file
@ -0,0 +1,44 @@
|
|||||||
|
.\" Copyright (C) 2023, Canonical Ltd.
|
||||||
|
.\"
|
||||||
|
.\" This program is free software; you can redistribute it and/or
|
||||||
|
.\" modify it under the terms of the GNU General Public License, version 3.
|
||||||
|
.\"
|
||||||
|
.\" 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 <http://www.gnu.org/licenses/>.
|
||||||
|
.TH pm\-helper 1 "June 2023" ubuntu\-dev\-tools
|
||||||
|
|
||||||
|
.SH NAME
|
||||||
|
pm\-helper \- helper to guide a developer through proposed\-migration work
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B pm\-helper \fR[\fIoptions\fR] [\fIpackage\fR]
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Claim a package from proposed\-migration to work on and get additional
|
||||||
|
information (such as the state of the package in Debian) that may be helpful
|
||||||
|
in unblocking it.
|
||||||
|
.PP
|
||||||
|
This tool is incomplete and under development.
|
||||||
|
|
||||||
|
.SH OPTIONS
|
||||||
|
.TP
|
||||||
|
.B \-l \fIINSTANCE\fR, \fB\-\-launchpad\fR=\fIINSTANCE\fR
|
||||||
|
Use the specified instance of Launchpad (e.g. "staging"), instead of
|
||||||
|
the default of "production".
|
||||||
|
.TP
|
||||||
|
.B \-v\fR, \fB--verbose\fR
|
||||||
|
be more verbose
|
||||||
|
.TP
|
||||||
|
\fB\-h\fR, \fB\-\-help\fR
|
||||||
|
Display a help message and exit
|
||||||
|
|
||||||
|
.SH AUTHORS
|
||||||
|
\fBpm\-helper\fR and this manpage were written by Steve Langasek
|
||||||
|
<steve.langasek@ubuntu.com>.
|
||||||
|
.PP
|
||||||
|
Both are released under the GPLv3 license.
|
1
doc/pull-debian-ddebs.1
Symbolic link
1
doc/pull-debian-ddebs.1
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
pull-pkg.1
|
91
doc/pull-debian-debdiff.1
Normal file
91
doc/pull-debian-debdiff.1
Normal file
@ -0,0 +1,91 @@
|
|||||||
|
.\" Copyright (C) 2010, Stefano Rivera <stefanor@ubuntu.com>
|
||||||
|
.\"
|
||||||
|
.\" Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
.\" purpose with or without fee is hereby granted, provided that the above
|
||||||
|
.\" copyright notice and this permission notice appear in all copies.
|
||||||
|
.\"
|
||||||
|
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||||
|
.\" REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||||
|
.\" AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||||
|
.\" INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||||
|
.\" LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||||
|
.\" OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||||
|
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
.TH PULL-DEBIAN-DEBDIFF "1" "December 2010" "ubuntu-dev-tools"
|
||||||
|
.SH NAME
|
||||||
|
\fBpull-debian-debdiff\fR \- find, download, and generate a debdiff
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
\fBpull-debian-debdiff\fR [\fIoptions\fR] <\fIpackage\fR>
|
||||||
|
<\fIversion\fR> [\fIdistance\fR]
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBpull-debian-debdiff\fR attempts to find and download a specific
|
||||||
|
version of a Debian package and its immediate parent to generate a
|
||||||
|
debdiff.
|
||||||
|
|
||||||
|
.SH OPTIONS
|
||||||
|
.TP
|
||||||
|
.I package
|
||||||
|
The source package to download and diff.
|
||||||
|
.TP
|
||||||
|
.I version
|
||||||
|
The most recent of the two versions you want to diff.
|
||||||
|
.TP
|
||||||
|
.I distance
|
||||||
|
If specified (default \fB1\fR), the debdiff is against that many
|
||||||
|
versions previous.
|
||||||
|
.TP
|
||||||
|
.BR \-h ", " \-\-help
|
||||||
|
Display the usage instructions and exit.
|
||||||
|
.TP
|
||||||
|
.BR \-f ", " \-\-fetch
|
||||||
|
Simply download the specified version and exit.
|
||||||
|
.TP
|
||||||
|
.B \-d \fIDEBIAN_MIRROR\fR, \fB\-\-debian\-mirror\fR=\fIDEBIAN_MIRROR\fR
|
||||||
|
Use the specified mirror.
|
||||||
|
Should be in the form \fBhttp://ftp.debian.org/debian\fR.
|
||||||
|
If the package isn't found on this mirror, \fBpull\-debian\-source\fR
|
||||||
|
will fall back to the default mirror.
|
||||||
|
.TP
|
||||||
|
.B \-s \fIDEBSEC_MIRROR\fR, \fB\-\-debsec\-mirror\fR=\fIDEBSEC_MIRROR\fR
|
||||||
|
Use the specified Debian security mirror.
|
||||||
|
Should be in the form \fBhttp://security.debian.org\fR.
|
||||||
|
If the package isn't found on this mirror, \fBpull\-debian\-source\fR
|
||||||
|
will fall back to the default mirror.
|
||||||
|
.TP
|
||||||
|
.B \-\-no\-conf
|
||||||
|
Do not read any configuration files, or configuration from environment
|
||||||
|
variables.
|
||||||
|
|
||||||
|
.SH ENVIRONMENT
|
||||||
|
All of the \fBCONFIGURATION VARIABLES\fR below are also supported as
|
||||||
|
environment variables.
|
||||||
|
Variables in the environment take precedence to those in configuration
|
||||||
|
files.
|
||||||
|
|
||||||
|
.SH CONFIGURATION VARIABLES
|
||||||
|
The following variables can be set in the environment or in
|
||||||
|
.BR ubuntu\-dev\-tools (5)
|
||||||
|
configuration files.
|
||||||
|
In each case, the script\-specific variable takes precedence over the
|
||||||
|
package\-wide variable.
|
||||||
|
.TP
|
||||||
|
.BR PULL_DEBIAN_DEBDIFF_DEBIAN_MIRROR ", " UBUNTUTOOLS_DEBIAN_MIRROR
|
||||||
|
The default value for \fB\-\-debian\-mirror\fR.
|
||||||
|
.TP
|
||||||
|
.BR PULL_DEBIAN_DEBDIFF_DEBSEC_MIRROR ", " UBUNTUTOOLS_DEBSEC_MIRROR
|
||||||
|
The default value for \fB\-\-debsec\-mirror\fR.
|
||||||
|
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR debdiff (1),
|
||||||
|
.BR dget (1),
|
||||||
|
.BR pull\-debian\-source (1),
|
||||||
|
.BR ubuntu\-dev\-tools (5)
|
||||||
|
|
||||||
|
.SH AUTHORS
|
||||||
|
\fBpull-debian-debdiff\fR was written by Stefano Rivera
|
||||||
|
<stefanor@ubuntu.com>, a clone of a tool by Kees Cook <kees@ubuntu.com>.
|
||||||
|
|
||||||
|
This manual page was written by Stefano Rivera, based on the original by
|
||||||
|
Andrew Starr\-Bochicchio <a.starr.b@gmail.com>.
|
1
doc/pull-debian-debs.1
Symbolic link
1
doc/pull-debian-debs.1
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
pull-pkg.1
|
@ -1,33 +0,0 @@
|
|||||||
.TH PULL\-DEBIAN\-SOURCE "1" "20 December 2008" "ubuntu-dev-tools"
|
|
||||||
|
|
||||||
.SH NAME
|
|
||||||
pull\-debian\-source \- download a source package from Debian
|
|
||||||
|
|
||||||
.SH SYNOPSIS
|
|
||||||
.B pull\-debian\-source \fR[\fB\-h\fR]\fB <\fBsource package\fR> [\fItarget release\fR]
|
|
||||||
|
|
||||||
.SH DESCRIPTION
|
|
||||||
\fBpull\-debian\-source\fR downloads and extracts the latest version of
|
|
||||||
<\fBsource package\fR> from Debian.
|
|
||||||
If the optional parameter [\fItarget release\fR] is specified, the latest
|
|
||||||
version in that release will be downloaded instead.
|
|
||||||
|
|
||||||
.SH OPTIONS
|
|
||||||
Listed below are the command line options for pull\-debian\-source:
|
|
||||||
.TP
|
|
||||||
.B \-h, \-\-help
|
|
||||||
Display the usage instructions and exit.
|
|
||||||
.TP
|
|
||||||
.B <source package>
|
|
||||||
This is the source package that you would like to be downloaded from Debian.
|
|
||||||
.TP
|
|
||||||
.B [target release]
|
|
||||||
This is the release that you would like the source package to be downloaded from.
|
|
||||||
This value defaults to 'unstable'.
|
|
||||||
|
|
||||||
.SH AUTHOR
|
|
||||||
.PP
|
|
||||||
\fBpull\-debian\-source\fR and this manual page were written by Nathan Handler
|
|
||||||
<nhandler@ubuntu.com>. The manual page was based on Iain Lane's manual page for
|
|
||||||
pull-lp-source.
|
|
||||||
Both are released under the GNU General Public License, version 3 or later.
|
|
1
doc/pull-debian-source.1
Symbolic link
1
doc/pull-debian-source.1
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
pull-pkg.1
|
1
doc/pull-debian-udebs.1
Symbolic link
1
doc/pull-debian-udebs.1
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
pull-pkg.1
|
1
doc/pull-lp-ddebs.1
Symbolic link
1
doc/pull-lp-ddebs.1
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
pull-pkg.1
|
1
doc/pull-lp-debs.1
Symbolic link
1
doc/pull-lp-debs.1
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
pull-pkg.1
|
@ -1,37 +0,0 @@
|
|||||||
.TH PULL\-LP\-SOURCE "1" "4 August 2008" "ubuntu-dev-tools"
|
|
||||||
|
|
||||||
.SH NAME
|
|
||||||
pull\-lp\-source \- download a source package from Launchpad
|
|
||||||
|
|
||||||
.SH SYNOPSIS
|
|
||||||
.B pull\-lp\-source \fR[\fB\-h\fR]\fB <\fBsource package\fR> [\fItarget release\fR]
|
|
||||||
|
|
||||||
.SH DESCRIPTION
|
|
||||||
\fBpull\-lp\-source\fR downloads and extracts the latest version of
|
|
||||||
<\fBsource package\fR> from Launchpad.
|
|
||||||
If the optional parameter [\fItarget release\fR] is specified, the latest
|
|
||||||
version in that release will be downloaded instead.
|
|
||||||
|
|
||||||
.SH OPTIONS
|
|
||||||
Listed below are the command line options for pull\-lp\-source:
|
|
||||||
.TP
|
|
||||||
.B \-h, \-\-help
|
|
||||||
Display a help message and exit.
|
|
||||||
.TP
|
|
||||||
.B <source package>
|
|
||||||
This is the source package that you would like to be downloaded from Launchpad.
|
|
||||||
.TP
|
|
||||||
.B [target release]
|
|
||||||
This is the release that you would like the source package to be downloaded from.
|
|
||||||
This value defaults to the current development release.
|
|
||||||
|
|
||||||
.SH ENVIRONMENT VARIABLES
|
|
||||||
.TP
|
|
||||||
DIST
|
|
||||||
Specifies the default target.
|
|
||||||
|
|
||||||
.SH AUTHOR
|
|
||||||
.PP
|
|
||||||
\fBpull\-lp\-source\fR and this manual page were written by Iain Lane
|
|
||||||
<iain@orangesquash.org.uk>.
|
|
||||||
Both are released under the GNU General Public License, version 3 or later.
|
|
1
doc/pull-lp-source.1
Symbolic link
1
doc/pull-lp-source.1
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
pull-pkg.1
|
1
doc/pull-lp-udebs.1
Symbolic link
1
doc/pull-lp-udebs.1
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
pull-pkg.1
|
147
doc/pull-pkg.1
Normal file
147
doc/pull-pkg.1
Normal file
@ -0,0 +1,147 @@
|
|||||||
|
.TH PULL\-PKG "1" "28 August 2017" "ubuntu-dev-tools"
|
||||||
|
|
||||||
|
.SH NAME
|
||||||
|
pull\-pkg \- download a package for Debian, Ubuntu, UCA, or a PPA
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B pull\-pkg \fR[\fIoptions\fR]\fR <\fIpackage name\fR>
|
||||||
|
[\fIrelease\fR|\fIversion\fR]
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBpull\-pkg\fR downloads the specified \fIversion\fR of
|
||||||
|
<\fIpackage name\fR>, or the latest version from the
|
||||||
|
specified \fIrelease\fR. To request a version from
|
||||||
|
a particular pocket say \fIrelease\fB\-\fIpocket\fR (with a magic
|
||||||
|
\fB\-release\fR for only the release pocket). If no \fIpocket\fR is
|
||||||
|
specified, all pockets will be searched except -backports.
|
||||||
|
If no \fIversion\fR or \fIrelease\fR is specified, the latest version in
|
||||||
|
the development release will be downloaded.
|
||||||
|
|
||||||
|
There are convenience scripts that set pull type and distribution
|
||||||
|
appropriately: these are
|
||||||
|
\fBpull\-lp\-source\fR, \fBpull\-lp\-debs\fR, \fBpull\-lp\-ddebs\fR,
|
||||||
|
and \fBpull\-lp\-udebs\fR, which all pull Ubuntu packages;
|
||||||
|
\fBpull\-debian\-source\fR, \fBpull\-debian\-debs\fR, \fBpull\-debian\-ddebs\fR,
|
||||||
|
and \fBpull\-debian\-udebs\fR, which all pull Debian packages;
|
||||||
|
\fBpull\-uca\-source\fR, \fBpull\-uca\-debs\fR, \fBpull\-uca\-ddebs\fR,
|
||||||
|
and \fBpull\-uca\-udebs\fR, which all pull Ubuntu Cloud Archive packages;
|
||||||
|
and \fBpull\-ppa\-source\fR, \fBpull\-ppa\-debs\fR, \fBpull\-ppa\-ddebs\fR,
|
||||||
|
and \fBpull\-ppa\-udebs\fR, which all pull from a specified Personal Package
|
||||||
|
Archive on Launchpad. Each script pulls the file type in its name, i.e.
|
||||||
|
\fIsource\fR, \fIdebs\fR, \fIddebs\fR, or \fIudebs\fR.
|
||||||
|
|
||||||
|
.SH OPTIONS
|
||||||
|
Listed below are the command line options for pull\-pkg:
|
||||||
|
.TP
|
||||||
|
.I package name
|
||||||
|
This is name of the package to downloaded.
|
||||||
|
You can use either the source package name, or binary package name.
|
||||||
|
.TP
|
||||||
|
.I version
|
||||||
|
This is the version of the package to downloaded.
|
||||||
|
.TP
|
||||||
|
.I release
|
||||||
|
This is the release to downloaded from.
|
||||||
|
For debian, you can use either the release name like \fBjessie\fR
|
||||||
|
or \fBsid\fR, or you can use the special release names \fBunstable\fR,
|
||||||
|
\fBstable\fR, or \fBtesting\fR.
|
||||||
|
For ubuntu, you can use either the release name like \fBxenial\fR
|
||||||
|
or the release-pocket like \fBxenial-proposed\fR.
|
||||||
|
For ubuntu cloud archive (uca) you can use either the uca release
|
||||||
|
name like \fBmitaka\fR or the ubuntu and uca release names like
|
||||||
|
\fBtrusty-mitaka\fR. Defaults to the current development release.
|
||||||
|
.TP
|
||||||
|
.BR \-h ", " \-\-help
|
||||||
|
Display a help message and exit.
|
||||||
|
.TP
|
||||||
|
.BR \-v ", " \-\-verbose
|
||||||
|
Be verbose about what is being done.
|
||||||
|
.TP
|
||||||
|
.BR \-d ", " \-\-download\-only
|
||||||
|
Do not extract the source package (applies only to source packages).
|
||||||
|
.TP
|
||||||
|
.B \-m \fIMIRROR\fR, \fB\-\-mirror\fR=\fIMIRROR\fR
|
||||||
|
Use the specified mirror server.
|
||||||
|
Should be in the form \fBhttp://archive.ubuntu.com/ubuntu\fR or
|
||||||
|
\fBhttp://deb.debian.org/debian\fR. If not specified or if the
|
||||||
|
package is not found on the specified mirror, this will fall
|
||||||
|
back to the default mirror(s) and/or mirror(s) from environment
|
||||||
|
variables, and then will fall back to Launchpad or Debian Snapshot.
|
||||||
|
This can be specified multiple times to try multiple mirrors.
|
||||||
|
.TP
|
||||||
|
.B \-\-no\-conf
|
||||||
|
Do not use mirrors from the default configuration, or from
|
||||||
|
any environment variables.
|
||||||
|
.TP
|
||||||
|
.B \-a \fIARCH\fR, \fB\-\-arch\fR=\fIARCH\fR
|
||||||
|
Get binary packages from the \fIARCH\fR architecture.
|
||||||
|
Defaults to the local architecture, if it can be deteected.
|
||||||
|
.TP
|
||||||
|
.B \-p \fIPULL\fR, \fB\-\-pull\fR=\fIPULL\fR
|
||||||
|
What to pull: \fBsource\fR, \fBdebs\fR, \fBddebs\fR, \fBudebs\fR,
|
||||||
|
or \fBlist\fR. The \fBlist\fR action only lists all a package's
|
||||||
|
source and binary files, but does not actually download any.
|
||||||
|
Defaults to \fBsource\fR.
|
||||||
|
.TP
|
||||||
|
.B \-D \fIDISTRO\fR, \fB\-\-distro\fR=\fIDISTRO\fR
|
||||||
|
Pull from: \fBdebian\fR, \fBuca\fR, \fBubuntu\fR, or a \fBppa\fR.
|
||||||
|
\fBlp\fR can be used instead of \fBubuntu\fR.
|
||||||
|
Any string containing \fBcloud\fR can be used instead of \fBuca\fR.
|
||||||
|
If pulling from a ppa, you must specify the PPA. Defaults to \fBubuntu\fR.
|
||||||
|
.TP
|
||||||
|
.B \-\-ppa\fR=ppa:\fIUSER/NAME\fR
|
||||||
|
Applies only when \fBdistro\fR is \fIppa\fR. Can be provided either as
|
||||||
|
a value to the \fB\-\-ppa\fR option parameter, or as a plain option
|
||||||
|
(like \fIrelease\fR or \fIversion\fR). When specified as a plain option,
|
||||||
|
the form must be \fBppa:USER/NAME\fR; when specified as a value to the
|
||||||
|
\fB\-\-ppa\fR option parameter, the leading \fBppa:\fR is optional.
|
||||||
|
|
||||||
|
.SH ENVIRONMENT
|
||||||
|
All of the \fBCONFIGURATION VARIABLES\fR below are also supported as
|
||||||
|
environment variables.
|
||||||
|
Variables in the environment take precedence to those in configuration
|
||||||
|
files.
|
||||||
|
|
||||||
|
.SH CONFIGURATION VARIABLES
|
||||||
|
The following variables can be set in the environment or in
|
||||||
|
.BR ubuntu\-dev\-tools (5)
|
||||||
|
configuration files.
|
||||||
|
In each case, the script\-specific variable takes precedence over the
|
||||||
|
package\-wide variable.
|
||||||
|
.TP
|
||||||
|
.BR UBUNTUTOOLS_UBUNTU_MIRROR
|
||||||
|
The default mirror.
|
||||||
|
.TP
|
||||||
|
.BR PULL_PKG_UBUNTU_MIRROR
|
||||||
|
The default mirror when using the \fBpull\-pkg\fR script.
|
||||||
|
.TP
|
||||||
|
.BR PULL_[LP|DEBIAN|PPA|UCA]_[SOURCE|DEBS|DDEBS|UDEBS]_MIRROR
|
||||||
|
The default mirror when using the associated script.
|
||||||
|
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR dget (1),
|
||||||
|
.BR pull\-lp\-source (1),
|
||||||
|
.BR pull\-lp\-debs (1),
|
||||||
|
.BR pull\-lp\-ddebs (1),
|
||||||
|
.BR pull\-lp\-udebs (1),
|
||||||
|
.BR pull\-debian\-source (1),
|
||||||
|
.BR pull\-debian\-debs (1),
|
||||||
|
.BR pull\-debian\-ddebs (1),
|
||||||
|
.BR pull\-debian\-udebs (1),
|
||||||
|
.BR pull\-ppa\-source (1),
|
||||||
|
.BR pull\-ppa\-debs (1),
|
||||||
|
.BR pull\-ppa\-ddebs (1),
|
||||||
|
.BR pull\-ppa\-udebs (1),
|
||||||
|
.BR pull\-uca\-source (1),
|
||||||
|
.BR pull\-uca\-debs (1),
|
||||||
|
.BR pull\-uca\-ddebs (1),
|
||||||
|
.BR pull\-uca\-udebs (1),
|
||||||
|
.BR pull\-debian\-debdiff (1),
|
||||||
|
.BR ubuntu\-dev\-tools (5)
|
||||||
|
|
||||||
|
.SH AUTHOR
|
||||||
|
.PP
|
||||||
|
\fBpull\-pkg\fR was written by Dan Streetman <ddstreet@canonical.com>,
|
||||||
|
based on the original \fBpull\-lp\-source\fR; it and this manual page
|
||||||
|
were written by Iain Lane <iain@orangesquash.org.uk>.
|
||||||
|
All are released under the GNU General Public License, version 3 or later.
|
1
doc/pull-ppa-ddebs.1
Symbolic link
1
doc/pull-ppa-ddebs.1
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
pull-pkg.1
|
1
doc/pull-ppa-debs.1
Symbolic link
1
doc/pull-ppa-debs.1
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
pull-pkg.1
|
1
doc/pull-ppa-source.1
Symbolic link
1
doc/pull-ppa-source.1
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
pull-pkg.1
|
1
doc/pull-ppa-udebs.1
Symbolic link
1
doc/pull-ppa-udebs.1
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
pull-pkg.1
|
1
doc/pull-uca-ddebs.1
Symbolic link
1
doc/pull-uca-ddebs.1
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
pull-pkg.1
|
1
doc/pull-uca-debs.1
Symbolic link
1
doc/pull-uca-debs.1
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
pull-pkg.1
|
1
doc/pull-uca-source.1
Symbolic link
1
doc/pull-uca-source.1
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
pull-pkg.1
|
1
doc/pull-uca-udebs.1
Symbolic link
1
doc/pull-uca-udebs.1
Symbolic link
@ -0,0 +1 @@
|
|||||||
|
pull-pkg.1
|
57
doc/requestbackport.1
Normal file
57
doc/requestbackport.1
Normal file
@ -0,0 +1,57 @@
|
|||||||
|
.\" Copyright (C) 2011, Stefano Rivera <stefanor@ubuntu.com>
|
||||||
|
.\"
|
||||||
|
.\" Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
.\" purpose with or without fee is hereby granted, provided that the above
|
||||||
|
.\" copyright notice and this permission notice appear in all copies.
|
||||||
|
.\"
|
||||||
|
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||||
|
.\" REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||||
|
.\" AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||||
|
.\" INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||||
|
.\" LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||||
|
.\" OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||||
|
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
.TH requestbackport 1 "November 2011" ubuntu\-dev\-tools
|
||||||
|
|
||||||
|
.SH NAME
|
||||||
|
requestbackport \- File a backport request bug
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B requestbackport \fR[\fIoptions\fR] \fIpackage\fR
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Determine the intermediate releases that \fIpackage\fR needs to be
|
||||||
|
backported to, list all reverse\-dependencies, and file the backporting
|
||||||
|
request.
|
||||||
|
\fBrequestbackport\fR will include a testing checklist in the bug.
|
||||||
|
|
||||||
|
.SH OPTIONS
|
||||||
|
.TP
|
||||||
|
\fB\-d\fR \fIDEST\fR, \fB\-\-destination\fR=\fIDEST\fR
|
||||||
|
Backport to \fIDEST\fR release and necessary intermediate
|
||||||
|
releases. Default: current stable release.
|
||||||
|
.TP
|
||||||
|
\fB\-s\fR \fISOURCE\fR, \fB\-\-source\fR=\fISOURCE\fR
|
||||||
|
Backport from \fISOURCE\fR release.
|
||||||
|
Default: current development release.
|
||||||
|
.TP
|
||||||
|
\fB\-l\fR \fIINSTANCE\fR, \fB\-\-lpinstance\fR=\fIINSTANCE\fR
|
||||||
|
Launchpad instance to connect to.
|
||||||
|
Default: \fBproduction\fR.
|
||||||
|
.TP
|
||||||
|
\fB\-\-no\-conf\fR
|
||||||
|
Don't read config files or environment variables
|
||||||
|
.TP
|
||||||
|
\fB\-h\fR, \fB\-\-help\fR
|
||||||
|
Display a help message and exit.
|
||||||
|
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR backportpackage (1),
|
||||||
|
.BR reverse\-depends (1),
|
||||||
|
.BR https://wiki.ubuntu.com/UbuntuBackports .
|
||||||
|
|
||||||
|
.SH AUTHORS
|
||||||
|
\fBrequestbackport\fR and this manpage were written by Stefano Rivera
|
||||||
|
<stefanor@ubuntu.com>.
|
||||||
|
.PP
|
||||||
|
Both are released under the terms of the ISC License.
|
@ -2,35 +2,39 @@
|
|||||||
.SH NAME
|
.SH NAME
|
||||||
requestsync \- helper to file sync requests for Ubuntu
|
requestsync \- helper to file sync requests for Ubuntu
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.B requestsync\fR [\fB\-d distro\fR] [\fB\-ns\fR] [\fB\-k \fIkeyid\fR] <\fBsource package\fR> <\fBtarget release\fR> [\fIbase version\fR]
|
.B requestsync\fR [\fB\-d \fIdistro\fR] [\fB\-nse\fR] [\fB\-k \fIkeyid\fR] <\fBsource package\fR> [\fBtarget release\fR] [\fIbase version\fR]
|
||||||
.br
|
.br
|
||||||
.B requestsync \-\-lp\fR [\fB\-ns\fR] <\fBsource package\fR> <\fBtarget release\fR> [\fIbase version\fR]
|
.B requestsync \-\-lp\fR [\fB\-nse\fR] <\fBsource package\fR> <\fBtarget release\fR> [\fIbase version\fR]
|
||||||
.br
|
.br
|
||||||
.B requestsync \-h
|
.B requestsync \-h
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
\fBrequestsync\fR looks at the versions of <source package> in Debian and
|
\fBrequestsync\fR looks at the versions of <source package> in Debian and
|
||||||
Ubuntu and prompts for an explanation of why the Ubuntu changes (if there
|
Ubuntu and prompts for an explanation of why the Ubuntu changes (if there
|
||||||
are any) should be dropped.
|
are any) should be dropped.
|
||||||
The changelog entry is then downloaded from packages.debian.org.
|
The changelog entry is then downloaded from packages.debian.org, and the
|
||||||
If the sync request is being filed per email (default), a prompt for your
|
sync request bug is filed in launchpad.
|
||||||
GPG passphrase follows so that it can sign the mail and send it off to
|
Alternatively, the sync request can be filed by GPG\-signed email (option
|
||||||
Launchpad.
|
\fB\-\-email\fR).
|
||||||
Alternatively a sync request can be filed directly using the launchpadlib
|
|
||||||
Python module (option \fB\-\-lp\fR).
|
|
||||||
\fBrequestsync\fR falls back to mail the sync request if submitting using
|
|
||||||
the launchpadlib module fails.
|
|
||||||
|
|
||||||
.PP
|
.PP
|
||||||
\fBrequestsync\fR checks if you have the permissions to request the sync from
|
\fBrequestsync\fR checks if you have the permissions to request the sync from
|
||||||
the archive administrators directly by checking if you are a member of the
|
the archive administrators directly by checking if you have upload permissions
|
||||||
\fI~ubuntu\-dev\fR team (for universe/multiverse syncs) or a member of the
|
for that package through package set permissions or component permissions. If
|
||||||
\fI~ubuntu\-core\-dev\fR team (for main/restricted syncs) on Launchpad.
|
you don't have upload permissions, the script will subscribe the necessary
|
||||||
If you are not a member of the appropriate team, the script will subscribe
|
team with approval rights to the bug report for you.
|
||||||
the necessary team with approval rights to the bug report for you.
|
|
||||||
|
This check is only performed if \fBrequestsync\fR is allowed to use the LP API
|
||||||
|
(not email submission). In the other case \fBrequestsync\fR relies on that you
|
||||||
|
answer the question about upload permissions honestly to determine if a team
|
||||||
|
with approval rights is to be subscribed to the bug.
|
||||||
|
|
||||||
|
If you have permission to upload the package directly, then you may prefer
|
||||||
|
to use \fBsyncpackage\fR instead to copy the package using the Launchpad
|
||||||
|
API. At some future point, \fBrequestsync\fR will be changed to do this
|
||||||
|
automatically.
|
||||||
|
|
||||||
.PP
|
.PP
|
||||||
\fBrequestsync\fR uses launchpadlib authentication to file its requests. Please
|
\fBrequestsync\fR uses launchpadlib authentication to file its requests.
|
||||||
see manage-credentials(1) for more information.
|
|
||||||
|
|
||||||
.SH OPTIONS
|
.SH OPTIONS
|
||||||
Listed below are the command line options for requestsync:
|
Listed below are the command line options for requestsync:
|
||||||
@ -48,19 +52,34 @@ attempt to look it up in Ubuntu since it will not exist.
|
|||||||
.TP
|
.TP
|
||||||
.B \-k \fI<keyid>\fR
|
.B \-k \fI<keyid>\fR
|
||||||
Specifies your GPG key.
|
Specifies your GPG key.
|
||||||
Can also be set with the line `\fIexport GPGKEY=<keyid>\fR' in your shell's
|
|
||||||
configuration (for example: \fI$HOME/.bashrc\fR).
|
|
||||||
This is only used if the sync request is mailed to Launchpad.
|
This is only used if the sync request is mailed to Launchpad.
|
||||||
.TP
|
.TP
|
||||||
.B \-\-lp
|
.B \-\-email
|
||||||
Use the launchpadlib Python module (packaged as python\-launchpadlib) to
|
Use GPG\-signed email to file the bug, rather than launchpadlib.
|
||||||
file the sync request in Launchpad.
|
|
||||||
.TP
|
.TP
|
||||||
.B \-s
|
.B \-s
|
||||||
Specifies that you require sponsorship.
|
Specifies that you require sponsorship.
|
||||||
You need this option if you are not a member of ubuntu-dev for universe or
|
You need this option if you don't have upload permissions for that package.
|
||||||
multiverse, or ubuntu-core-dev for main or restricted. This shall disable the
|
This disables the upload permissions check described above.
|
||||||
Launchpad team membership checking described above.
|
.TP
|
||||||
|
.B \-C
|
||||||
|
Allow changelog to be manually filled in when missing.
|
||||||
|
\fBrequestsync\fR gets Debian changelogs from packages.debian.org, which
|
||||||
|
isn't in sync with the Debian archive.
|
||||||
|
To request a sync before the changelog is available, pass this option,
|
||||||
|
and provide the changelog entries yourself.
|
||||||
|
.TP
|
||||||
|
.B \-e
|
||||||
|
Use this flag after FeatureFreeze for non-bug fix syncs. \fBrequestsync\fR will
|
||||||
|
subscribe ubuntu-release team instead of sponsorship team.
|
||||||
|
.TP
|
||||||
|
.B \-l \fIINSTANCE\fR, \fB\-\-lpinstance\fR=\fIINSTANCE\fR
|
||||||
|
Use the specified instance of Launchpad (e.g. "staging"), instead of
|
||||||
|
the default of "production".
|
||||||
|
.TP
|
||||||
|
.B \-\-no\-conf
|
||||||
|
Do not read any configuration files, or configuration from environment
|
||||||
|
variables.
|
||||||
.TP
|
.TP
|
||||||
.B <source package>
|
.B <source package>
|
||||||
This is the source package that you would like to be synced from Debian.
|
This is the source package that you would like to be synced from Debian.
|
||||||
@ -75,30 +94,45 @@ In some cases, the base version (where the Ubuntu package started differing
|
|||||||
from the Debian package) cannot be automatically determined.
|
from the Debian package) cannot be automatically determined.
|
||||||
Specify this option in this case.
|
Specify this option in this case.
|
||||||
|
|
||||||
.SH ENVIRONMENT VARIABLES
|
.SH ENVIRONMENT
|
||||||
\fBrequestsync\fR uses the following variables which should be set in your
|
\fBrequestsync\fR uses the following variables which should be set in your
|
||||||
shell's configuration by adding \fIexport VARIABLE=\fR lines, where VARIABLE is
|
shell's configuration by adding \fIexport VARIABLE=\fR lines, where VARIABLE is
|
||||||
one of the following:
|
one of the following:
|
||||||
|
|
||||||
.TP
|
.TP
|
||||||
.B GPGKEY
|
.BR UBUMAIL ", " DEBEMAIL
|
||||||
Specifies your GnuPG key ID.
|
|
||||||
.TP
|
|
||||||
.B DEBEMAIL
|
|
||||||
Specifies which email should be used when sending to Launchpad.
|
Specifies which email should be used when sending to Launchpad.
|
||||||
|
.P
|
||||||
|
All of the \fBCONFIGURATION VARIABLES\fR below are also supported as
|
||||||
|
environment variables.
|
||||||
|
Variables in the environment take precedence to those in configuration
|
||||||
|
files.
|
||||||
|
|
||||||
|
.SH CONFIGURATION VARIABLES
|
||||||
.TP
|
.TP
|
||||||
.B DEBSMTP
|
.B REQUESTSYNC_SMTP_SERVER
|
||||||
Set which SMTP server to use when sending mail.
|
Set which SMTP server to use when sending mail.
|
||||||
If unspecified this defaults to fiordland.ubuntu.com.
|
If unspecified this defaults to launchpad's SMTP servers (the
|
||||||
|
eventual destination).
|
||||||
.TP
|
.TP
|
||||||
.B DEBSMTP_PORT
|
.B REQUESTSYNC_SMTP_PORT
|
||||||
Sets which port of the SMTP server to use. Default is 25.
|
Sets which port of the SMTP server to use. Default is 25.
|
||||||
.TP
|
.TP
|
||||||
.B DEBSMTP_USER and DEBSMTP_PASS
|
.BR REQUESTSYNC_SMTP_USER " and " REQUESTSYNC_SMTP_PASS
|
||||||
Sets the username and password to use when authenticating to the SMTP server.
|
Sets the username and password to use when authenticating to the SMTP server.
|
||||||
|
.TP
|
||||||
|
.BR REQUESTSYNC_USE_LPAPI
|
||||||
|
Setting this to \fIno\fR is equivalent to running with \fB--email\fR.
|
||||||
|
.TP
|
||||||
|
.BR REQUESTSYNC_LPINSTANCE ", " UBUNTUTOOLS_LPINSTANCE
|
||||||
|
The default value for \fB--lpinstance\fR.
|
||||||
|
.TP
|
||||||
|
.BR REQUESTSYNC_KEYID ", " UBUNTUTOOLS_KEYID
|
||||||
|
The default value for \fB-k\fR.
|
||||||
|
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
.BR rmadison (1)
|
.BR rmadison (1),
|
||||||
|
.BR syncpackage (1),
|
||||||
|
.BR ubuntu\-dev\-tools (5)
|
||||||
|
|
||||||
.SH AUTHOR
|
.SH AUTHOR
|
||||||
.B requestsync
|
.B requestsync
|
||||||
|
@ -1,36 +0,0 @@
|
|||||||
.TH REVERSE\-BUILD\-DEPENDS 1 "January 17, 2008" "ubuntu-dev-tools"
|
|
||||||
|
|
||||||
.SH NAME
|
|
||||||
reverse\-build\-depends \- find a package's reverse build dependencies
|
|
||||||
|
|
||||||
.SH SYNOPSIS
|
|
||||||
\fBreverse\-build\-depends\fP [\fB\-c\fP|\fB\-s\fP] <\fIpackage name\fR>
|
|
||||||
|
|
||||||
.SH DESCRIPTION
|
|
||||||
\fBreverse\-build\-depends\fP is a little script that prints a list of
|
|
||||||
all those Debian package that have a build dependency upon the package
|
|
||||||
you indicate, that is, they search for its reverse build dependencies.
|
|
||||||
|
|
||||||
.SH OPTIONS
|
|
||||||
.TP
|
|
||||||
\fB\-c\fP
|
|
||||||
This option will disable normal output and print only the number of
|
|
||||||
reverse dependencies instead.
|
|
||||||
.TP
|
|
||||||
\fB\-s\fP
|
|
||||||
If you prefer to see all build dependencies in a single line, use this
|
|
||||||
option.
|
|
||||||
Otherwise, each one will be printed on its own line.
|
|
||||||
|
|
||||||
.SH KNOWN BUGS AND LIMITATIONS
|
|
||||||
Note that to use \fBreverse\-build\-depends\fP it is required for the source
|
|
||||||
repositories (deb\-src lines) to be enabled in your sources.list.
|
|
||||||
|
|
||||||
.SH SEE ALSO
|
|
||||||
\fBgrep\-dctrl\fR, \fBapt\-cache\fR
|
|
||||||
|
|
||||||
.SH AUTHORS
|
|
||||||
\fBreverse\-build\-depends\fP and this manual page were written by
|
|
||||||
Siegfried-Angel Gevatter Pujals <rainct@ubuntu.com> for YOU.
|
|
||||||
Both are released under the terms of the GNU General Public License (version
|
|
||||||
2 or later).
|
|
81
doc/reverse-depends.1
Normal file
81
doc/reverse-depends.1
Normal file
@ -0,0 +1,81 @@
|
|||||||
|
.\" Copyright (C) 2011, Stefano Rivera <stefanor@ubuntu.com>
|
||||||
|
.\"
|
||||||
|
.\" Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
.\" purpose with or without fee is hereby granted, provided that the above
|
||||||
|
.\" copyright notice and this permission notice appear in all copies.
|
||||||
|
.\"
|
||||||
|
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||||
|
.\" REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||||
|
.\" AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||||
|
.\" INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||||
|
.\" LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||||
|
.\" OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||||
|
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
.TH reverse\-depends 1 "November 2011" ubuntu\-dev\-tools
|
||||||
|
|
||||||
|
.SH NAME
|
||||||
|
reverse\-depends \- List the reverse\-dependencies (or
|
||||||
|
build\-dependencies) of a package
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B reverse\-depends \fR[\fIoptions\fR] \fIpackage
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
List reverse\-dependencies (or build\-dependencies) of \fIpackage\fR.
|
||||||
|
If the package name is prefixed with \fBsrc:\fR then the
|
||||||
|
reverse\-dependencies of all the binary packages that the specified
|
||||||
|
source package builds will be listed.
|
||||||
|
|
||||||
|
.SH OPTIONS
|
||||||
|
.TP
|
||||||
|
\fB\-r\fR \fIRELEASE\fR, \fB\-\-release\fR=\fIRELEASE\fR
|
||||||
|
Query dependencies in \fIRELEASE\fR.
|
||||||
|
Default: current development release.
|
||||||
|
.TP
|
||||||
|
\fB\-R\fR, \fB\-\-without\-recommends\fR
|
||||||
|
Only consider Depends relationships, not Recommends.
|
||||||
|
.TP
|
||||||
|
\fB\-s\fR, \fB\-\-with\-suggests\fR
|
||||||
|
Also consider Suggests relationships.
|
||||||
|
.TP
|
||||||
|
\fB\-b\fR, \fB\-\-build\-depends\fR
|
||||||
|
Query build dependencies.
|
||||||
|
Synonym for \fB\-\-arch\fR=\fIsource\fR.
|
||||||
|
.TP
|
||||||
|
\fB\-a\fR \fIARCH\fR, \fB\-\-arch\fR=\fIARCH\fR
|
||||||
|
Query dependencies in \fIARCH\fR.
|
||||||
|
Besides valid architecture names, the special values \fBany\fR and
|
||||||
|
\fBsource\fR may be used.
|
||||||
|
\fBany\fR displays all reverse dependencies, the union across all
|
||||||
|
architecture.
|
||||||
|
\fBsource\fR displays build dependencies.
|
||||||
|
Default: \fBany\fR.
|
||||||
|
.TP
|
||||||
|
\fB\-c\fR \fICOMPONENT\fR, \fB\-\-component\fR=\fICOMPONENT\fR
|
||||||
|
Only consider reverse\-dependencies in \fICOMPONENT\fR. Can
|
||||||
|
be specified multiple times.
|
||||||
|
Default: all components.
|
||||||
|
.TP
|
||||||
|
\fB\-l\fR, \fB\-\-list\fR
|
||||||
|
Display a simple, machine\-readable list.
|
||||||
|
.TP
|
||||||
|
\fB\-u\fR \fIURL\fR, \fB\-\-service\-url\fR=\fIURL\fR
|
||||||
|
Reverse Dependencies web\-service \fIURL\fR.
|
||||||
|
Default: UbuntuWire's service at
|
||||||
|
\fBhttp://qa.ubuntuwire.org/rdepends/\fR.
|
||||||
|
.TP
|
||||||
|
\fB\-h\fR, \fB\-\-help\fR
|
||||||
|
Display a help message and exit
|
||||||
|
|
||||||
|
.SH EXAMPLES
|
||||||
|
All reverse dependencies of source package bash:
|
||||||
|
.IP
|
||||||
|
.nf
|
||||||
|
.B reverse\-depends src:bash
|
||||||
|
.fi
|
||||||
|
|
||||||
|
.SH AUTHORS
|
||||||
|
\fBreverse\-depends\fR and this manpage were written by Stefano Rivera
|
||||||
|
<stefanor@ubuntu.com>.
|
||||||
|
.PP
|
||||||
|
Both are released under the terms of the ISC License.
|
15
doc/running-autopkgtests.1
Normal file
15
doc/running-autopkgtests.1
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
.TH running\-autopkgtests "1" "18 January 2024" "ubuntu-dev-tools"
|
||||||
|
.SH NAME
|
||||||
|
running\-autopkgtests \- dumps a list of currently running autopkgtests
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B running\-autopkgtests
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Dumps a list of currently running and queued tests in Autopkgtest.
|
||||||
|
Pass --running to only see running tests, or --queued to only see
|
||||||
|
queued tests. Passing both will print both, which is the default behavior.
|
||||||
|
|
||||||
|
.SH AUTHOR
|
||||||
|
.B running\-autopkgtests
|
||||||
|
was written by Chris Peterson <chris.peterson@canonical.com>.
|
60
doc/seeded-in-ubuntu.1
Normal file
60
doc/seeded-in-ubuntu.1
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
.\" Copyright (C) 2011, Stefano Rivera <stefanor@ubuntu.com>
|
||||||
|
.\"
|
||||||
|
.\" Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
.\" purpose with or without fee is hereby granted, provided that the above
|
||||||
|
.\" copyright notice and this permission notice appear in all copies.
|
||||||
|
.\"
|
||||||
|
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||||
|
.\" REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||||
|
.\" AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||||
|
.\" INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||||
|
.\" LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||||
|
.\" OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||||
|
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
.TH seeded\-in\-ubuntu 1 "December 2011" ubuntu\-dev\-tools
|
||||||
|
|
||||||
|
.SH NAME
|
||||||
|
seeded\-in\-ubuntu \- Determine whether a package is safe to upload
|
||||||
|
during a freeze
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B seeded\-in\-ubuntu \fR[\fIoptions\fR] \fIpackage\fR...
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
Lists all the current daily images containing the specified packages.
|
||||||
|
Or whether the package is part of the supported seed.
|
||||||
|
.PP
|
||||||
|
If it isn't on an image, it should be safe to upload.
|
||||||
|
During the final freeze, one should avoid packages in the supported seed
|
||||||
|
too.
|
||||||
|
.PP
|
||||||
|
An index of the current manifests is downloaded from UbuntuWire.
|
||||||
|
|
||||||
|
.SH OPTIONS
|
||||||
|
.TP
|
||||||
|
\fB\-b\fR, \fB\-\-binary\fR
|
||||||
|
The packages specified are binary packages.
|
||||||
|
This is faster than source packages, as otherwise we must query LP to
|
||||||
|
determine the binary packages that every specified source package
|
||||||
|
builds.
|
||||||
|
.TP
|
||||||
|
\fB\-u\fR \fIURL\fR, \fB\-\-data\-url\fR=\fIURL\fR
|
||||||
|
URL for index of seeded packages.
|
||||||
|
Default: UbuntuWire's service at
|
||||||
|
\fBhttp://qa.ubuntuwire.org/ubuntu-seeded-packages/seeded.json.gz\fR.
|
||||||
|
.TP
|
||||||
|
\fB\-h\fR, \fB\-\-help\fR
|
||||||
|
Display a help message and exit
|
||||||
|
|
||||||
|
.SH EXAMPLES
|
||||||
|
All the images that contain unity:
|
||||||
|
.IP
|
||||||
|
.nf
|
||||||
|
.B seeded\-in\-ubuntu -b unity
|
||||||
|
.fi
|
||||||
|
|
||||||
|
.SH AUTHORS
|
||||||
|
\fBseeded\-in\-ubuntu\fR and this manpage were written by Stefano Rivera
|
||||||
|
<stefanor@ubuntu.com>.
|
||||||
|
.PP
|
||||||
|
Both are released under the terms of the ISC License.
|
22
doc/setup-packaging-environment.1
Normal file
22
doc/setup-packaging-environment.1
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
.TH PULL-DEBIAN-DEBDIFF "1" "June 2010" "ubuntu-dev-tools"
|
||||||
|
.SH NAME
|
||||||
|
\fBsetup-packaging-environment\fR \- helps one to get started with Ubuntu development
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
\fBsetup-packaging-environment\fR
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBsetup-packaging-environment\fR aims to make it more straightforward for new
|
||||||
|
contributors to get their Ubuntu installation ready for packaging work. It
|
||||||
|
ensures that all four components from Ubuntu's official repositories are enabled
|
||||||
|
along with their corresponding source repositories. It also installs a minimal
|
||||||
|
set of packages needed for Ubuntu packaging work (ubuntu-dev-tools, devscripts,
|
||||||
|
debhelper, patchutils, pbuilder, and build-essential). Finally, it assists
|
||||||
|
in defining the DEBEMAIL and DEBFULLNAME environment variables.
|
||||||
|
|
||||||
|
.SH AUTHORS
|
||||||
|
\fBsetup-packaging-environment\fR was written by Siegfried-A. Gevatter <rainct@ubuntu.com>.
|
||||||
|
|
||||||
|
This manual page was written by Andrew Starr-Bochicchio <a.starr.b@gmail.com>.
|
||||||
|
.PP
|
||||||
|
Both are released under the terms of the GNU General Public License, version 3 or later.
|
166
doc/sponsor-patch.1
Normal file
166
doc/sponsor-patch.1
Normal file
@ -0,0 +1,166 @@
|
|||||||
|
.TH sponsor\-patch "1" "September 21 2010" "ubuntu-dev-tools"
|
||||||
|
.SH NAME
|
||||||
|
sponsor\-patch \- Prepare, test\-build, and sponsor an upload.
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B sponsor\-patch \fR[\fIoptions\fR] \fIbug
|
||||||
|
.br
|
||||||
|
.B sponsor\-patch \-h
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBsponsor\-patch\fR downloads the patch or Bazaar branch linked to an
|
||||||
|
Ubuntu bug, applies it, generates a review diff, (optionally) test
|
||||||
|
builds it, runs
|
||||||
|
.BR lintian (1)
|
||||||
|
and, after review and confirmation, can upload it.
|
||||||
|
|
||||||
|
\fBsponsor\-patch\fR can be used for sponsoring patches, syncs and
|
||||||
|
merges from Debian, SRUs, and creating debdiffs from patches.
|
||||||
|
If \fIbug\fR has multiple patches or branches linked, it will prompt the
|
||||||
|
user to select one.
|
||||||
|
The same applies to bug tasks.
|
||||||
|
If the attached patch is not a debdiff,
|
||||||
|
.BR edit-patch (1)
|
||||||
|
is used to apply it.
|
||||||
|
|
||||||
|
.nr step 1 1
|
||||||
|
Some obvious checks are performed, in particular:
|
||||||
|
.IP \n[step]. 4
|
||||||
|
.BR update\-maintainer (1)
|
||||||
|
is run on the source package to ensure that the \fBMaintainer\fR field
|
||||||
|
meets the Ubuntu policy.
|
||||||
|
.IP \n+[step].
|
||||||
|
The version number must be greater than the current version in the
|
||||||
|
archive.
|
||||||
|
The \fBchanges\fR file is also correctly generated to list all changes
|
||||||
|
since the current version in the archive.
|
||||||
|
.IP \n+[step].
|
||||||
|
The changelog must automatically close the sponsorship bug.
|
||||||
|
.IP \n+[step].
|
||||||
|
The changelog target must be valid.
|
||||||
|
.IP \n+[step].
|
||||||
|
The changelog timestamp is touched.
|
||||||
|
|
||||||
|
.PP
|
||||||
|
Should any checks (or the build) fail, the user has an option to edit
|
||||||
|
the patched source and try building it again.
|
||||||
|
.PP
|
||||||
|
Unless a working directory is specified, the sources and patches will be
|
||||||
|
downloaded into a temporary directory in \fB/tmp\fR, which is removed once the
|
||||||
|
script finishes running.
|
||||||
|
The output of the build tool will be placed in \fIworkdir\fR/\fBbuildresult/\fR.
|
||||||
|
|
||||||
|
.PP
|
||||||
|
One of \fB\-\-upload\fR, \fB\-\-workdir\fR, or \fB--sponsor\fR must be
|
||||||
|
specified.
|
||||||
|
|
||||||
|
.SH OPTIONS
|
||||||
|
.TP
|
||||||
|
.BR \-b ", " \-\-build
|
||||||
|
Build the package with the specified builder. Note for \fBpbuilder\fR(8) and
|
||||||
|
\fBcowbuilder\fR(8) users:
|
||||||
|
This assumes the common configuration, where the \fBARCH\fR and \fBDIST\fR
|
||||||
|
environment is read by \fBpbuilderrc\fR(5) to select the correct base image.
|
||||||
|
.TP
|
||||||
|
.B \-B \fIBUILDER\fR, \fB\-\-builder\fR=\fIBUILDER
|
||||||
|
Use the specify builder to build the package.
|
||||||
|
Supported are \fBcowbuilder\fR(8), \fBcowbuilder-dist\fR(1), \fBpbuilder\fR(8),
|
||||||
|
\fBpbuilder-dist\fR(1), and \fBsbuild\fR(1).
|
||||||
|
The default is \fBpbuilder\fR(8).
|
||||||
|
.TP
|
||||||
|
.BR \-e ", " \-\-edit
|
||||||
|
Launch a sub-shell to allow editing of the patched source before
|
||||||
|
building.
|
||||||
|
.TP
|
||||||
|
.BR \-h ", " \-\-help
|
||||||
|
Display a help message and exit.
|
||||||
|
.TP
|
||||||
|
.B \-k \fIKEY\fR, \fB\-\-key\fR=\fIKEY
|
||||||
|
Specify a key ID for signing the upload.
|
||||||
|
.TP
|
||||||
|
.B \-l \fIINSTANCE\fR, \fB\-\-lpinstance\fR=\fIINSTANCE\fR
|
||||||
|
Use the specified instance of Launchpad (e.g. "staging"), instead of
|
||||||
|
the default of "production".
|
||||||
|
.TP
|
||||||
|
.B \-\-no\-conf
|
||||||
|
Do not read any configuration files, or configuration from environment
|
||||||
|
variables.
|
||||||
|
.TP
|
||||||
|
.BR \-s ", " \-\-sponsor
|
||||||
|
Shortcut for sponsored uploads. Equivalent to \fB\-b \-u ubuntu\fR.
|
||||||
|
.TP
|
||||||
|
.B \-u \fIDEST\fR, \fB\-\-upload\fR=\fIDEST
|
||||||
|
Upload to \fIDEST\fR with \fBdput\fR(1) (after confirmation).
|
||||||
|
.TP
|
||||||
|
.BR \-U ", " \-\-update
|
||||||
|
Update the build environment before attempting to build.
|
||||||
|
.TP
|
||||||
|
.BR \-v ", " \-\-verbose
|
||||||
|
Print more information.
|
||||||
|
.TP
|
||||||
|
.B \-w \fIDIR\fR, \fB\-\-workdir\fR=\fIDIR
|
||||||
|
Use the specified working directory, creating it if necessary.
|
||||||
|
If \fIWORKDIR\fR is not specified, a temporary directory is created, which is
|
||||||
|
deleted before \fIsponsor-patch\fR exits.
|
||||||
|
|
||||||
|
.SH ENVIRONMENT
|
||||||
|
All of the \fBCONFIGURATION VARIABLES\fR below are also supported as environment
|
||||||
|
variables.
|
||||||
|
Variables in the environment take precedence to those in configuration files.
|
||||||
|
|
||||||
|
.SH CONFIGURATION VARIABLES
|
||||||
|
The following variables can be set in the environment or in
|
||||||
|
.BR ubuntu\-dev\-tools (5)
|
||||||
|
configuration files.
|
||||||
|
In each case, the script\-specific variable takes precedence over the
|
||||||
|
package\-wide variable.
|
||||||
|
.TP
|
||||||
|
.BR SPONSOR_PATCH_BUILDER ", " UBUNTUTOOLS_BUILDER
|
||||||
|
The default value for \fB\-\-builder\fR.
|
||||||
|
.TP
|
||||||
|
.BR SPONSOR_PATCH_LPINSTANCE ", " UBUNTUTOOLS_LPINSTANCE
|
||||||
|
The default value for \fB--lpinstance\fR.
|
||||||
|
.TP
|
||||||
|
.BR SPONSOR_PATCH_UPDATE_BUILDER ", " UBUNTUTOOLS_UPDATE_BUILDER
|
||||||
|
The default value for \fB--update\fR.
|
||||||
|
.TP
|
||||||
|
.BR SPONSOR_PATCH_WORKDIR ", " UBUNTUTOOLS_WORKDIR
|
||||||
|
The default value for \fB--workdir\fR.
|
||||||
|
.TP
|
||||||
|
.BR SPONSOR_PATCH_KEYID ", " UBUNTUTOOLS_KEYID
|
||||||
|
The default value for \fB--key\fR.
|
||||||
|
|
||||||
|
.SH EXAMPLES
|
||||||
|
Test-building and sponsoring an upload of bug \fB1234\fR:
|
||||||
|
.IP
|
||||||
|
.nf
|
||||||
|
.B sponsor\-patch -s 1234
|
||||||
|
.fi
|
||||||
|
|
||||||
|
.PP
|
||||||
|
Performing a test build of bug \fB1234\fR in your PPA:
|
||||||
|
.IP
|
||||||
|
.nf
|
||||||
|
.B sponsor\-patch -u ppa:\fIuser\fR/\fIppa\fB 1234
|
||||||
|
.fi
|
||||||
|
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR bzr (1),
|
||||||
|
.BR debchange (1),
|
||||||
|
.BR debdiff (1),
|
||||||
|
.BR dput (1),
|
||||||
|
.BR edit-patch (1),
|
||||||
|
.BR lintian (1),
|
||||||
|
.BR cowbuilder (8),
|
||||||
|
.BR cowbuilder-dist (1),
|
||||||
|
.BR pbuilder (8),
|
||||||
|
.BR pbuilder-dist (1),
|
||||||
|
.BR sbuild (1),
|
||||||
|
.BR ubuntu\-dev\-tools (5),
|
||||||
|
.BR update\-maintainer (1)
|
||||||
|
|
||||||
|
.SH AUTHORS
|
||||||
|
\fBsponsor\-patch\fR was written by Benjamin Drung <bdrung@ubuntu.com>,
|
||||||
|
and this manual page was written by Stefano Rivera <stefanor@ubuntu.com>.
|
||||||
|
.PP
|
||||||
|
Both are released under the terms of the ISC License.
|
@ -1,28 +0,0 @@
|
|||||||
.TH SUSPICIOUS\-SOURCE 1 "September 14, 2007" "ubuntu-dev-tools"
|
|
||||||
|
|
||||||
.SH NAME
|
|
||||||
suspicious\-source \- search for files that are not the GPL's
|
|
||||||
"preferred form of modification"
|
|
||||||
|
|
||||||
.SH SYNOPSIS
|
|
||||||
\fBsuspicious\-source\fP
|
|
||||||
|
|
||||||
.SH DESCRIPTION
|
|
||||||
\fBsuspicious\-source\fP is a script that outputs a list of files which
|
|
||||||
are not common source files.
|
|
||||||
This should be run in the root of a source tree to find files which might
|
|
||||||
not be the "preferred form of modification" that the GPL and other licenses
|
|
||||||
require.
|
|
||||||
.PP
|
|
||||||
Neither the files inside version control system directories (like
|
|
||||||
".bzr/" or "CVS/"), nor those inside "debian/" are considered.
|
|
||||||
|
|
||||||
.SH SEE ALSO
|
|
||||||
.BR find (1)
|
|
||||||
|
|
||||||
.SH AUTHORS
|
|
||||||
\fBsuspicious\-source\fP and this manpage have been written by
|
|
||||||
Siegfried-Angel Gevatter Pujals <rainct@ubuntu.com>, based upon a
|
|
||||||
script with the same name from Martin Pitt <martin.pitt@ubuntu.com>.
|
|
||||||
.PP
|
|
||||||
Both are released under the GNU General Public License, version 3 or later.
|
|
154
doc/syncpackage.1
Normal file
154
doc/syncpackage.1
Normal file
@ -0,0 +1,154 @@
|
|||||||
|
.TH SYNCPACKAGE "1" "June 2010" "ubuntu-dev-tools"
|
||||||
|
.SH NAME
|
||||||
|
syncpackage \- copy source packages from Debian to Ubuntu
|
||||||
|
.\"
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B syncpackage
|
||||||
|
[\fIoptions\fR] \fI<.dsc URL/path or package name(s)>\fR
|
||||||
|
.\"
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBsyncpackage\fR causes one or more source package(s) to be copied from Debian
|
||||||
|
to Ubuntu.
|
||||||
|
.PP
|
||||||
|
\fBsyncpackage\fR allows you to upload files with the same checksums of the
|
||||||
|
Debian ones, as the common script used by Ubuntu archive administrators does,
|
||||||
|
this way you can preserve source files integrity between the two distributions.
|
||||||
|
.PP
|
||||||
|
\fBsyncpackage\fR will detect source tarballs with mismatching
|
||||||
|
checksums, and can perform fake syncs.
|
||||||
|
.\"
|
||||||
|
.SH WARNING
|
||||||
|
The use of \fBsyncpackage \-\-no\-lp\fR, which generates a changes file to
|
||||||
|
be directly uploaded to the Ubuntu primary archive or a PPA, is discouraged
|
||||||
|
by the Ubuntu Archive Administrators, as it introduces an unnecessary window
|
||||||
|
for error.
|
||||||
|
This only exists for backward compatibility, for unusual corner cases
|
||||||
|
(such as fakesyncs), and for uploads to archives other than the Ubuntu
|
||||||
|
primary archive.
|
||||||
|
Omitting this option will cause Launchpad to perform the sync request
|
||||||
|
directly, which is the preferred method for uploads to the Ubuntu primary
|
||||||
|
archive.
|
||||||
|
.\"
|
||||||
|
.SH OPTIONS
|
||||||
|
.TP
|
||||||
|
\fB\-h\fR, \fB\-\-help\fR
|
||||||
|
Show help message and exit
|
||||||
|
.TP
|
||||||
|
\fB\-d\fI DIST\fR, \fB\-\-distribution\fR=\fIDIST\fR
|
||||||
|
Debian distribution to sync from. Default is \fIunstable\fR.
|
||||||
|
.TP
|
||||||
|
\fB\-r\fI RELEASE\fR, \fB\-\-release\fR=\fIRELEASE\fR
|
||||||
|
Specify target Ubuntu release. Default: current development release.
|
||||||
|
.TP
|
||||||
|
\fB\-V\fI DEBVERSION\fR, \fB\-\-debian\-version\fR=\fIDEBVERSION\fR
|
||||||
|
Specify the version to sync from.
|
||||||
|
.TP
|
||||||
|
\fB\-c\fI COMPONENT\fR, \fB\-\-component\fR=\fICOMPONENT\fR
|
||||||
|
Specify the component to sync from.
|
||||||
|
.TP
|
||||||
|
\fB\-b\fI BUG\fR, \fB\-\-bug\fR=\fIBUG\fR
|
||||||
|
Mark a Launchpad bug as being fixed by this upload.
|
||||||
|
.TP
|
||||||
|
\fB\-s\fI USERNAME\fR, \fB\-\-sponsor\fR=\fIUSERNAME\fR
|
||||||
|
Sponsor the sync for \fIUSERNAME\fR (a Launchpad username).
|
||||||
|
.TP
|
||||||
|
\fB\-v\fR, \fB\-\-verbose\fR
|
||||||
|
Display more progress information.
|
||||||
|
.TP
|
||||||
|
\fB\-F\fR, \fB\-\-fakesync\fR
|
||||||
|
Perform a fakesync, to work around a tarball mismatch between Debian and
|
||||||
|
Ubuntu.
|
||||||
|
This option ignores blocklisting, and performs a local sync.
|
||||||
|
It implies \fB\-\-no\-lp\fR, and will leave a signed \fB.changes\fR file
|
||||||
|
for you to upload.
|
||||||
|
.TP
|
||||||
|
\fB\-f\fR, \fB\-\-force\fR
|
||||||
|
Force sync over the top of Ubuntu changes.
|
||||||
|
.TP
|
||||||
|
.B \-\-no\-conf
|
||||||
|
Do not read any configuration files, or configuration from environment
|
||||||
|
variables.
|
||||||
|
.TP
|
||||||
|
\fB\-l\fI INSTANCE\fR, \fB\-\-lpinstance\fR=\fIINSTANCE\fR
|
||||||
|
Launchpad instance to connect to (default: production).
|
||||||
|
.TP
|
||||||
|
.B \-\-simulate
|
||||||
|
Show what would be done, but don't actually do it.
|
||||||
|
.\"
|
||||||
|
.SH LOCAL SYNC PREPARATION OPTIONS
|
||||||
|
.TP
|
||||||
|
Options that only apply when using \fB\-\-no\-lp\fR:
|
||||||
|
.TP
|
||||||
|
.B \-\-no\-lp
|
||||||
|
Construct sync locally, rather than letting Launchpad copy the package
|
||||||
|
directly.
|
||||||
|
It will leave a signed \fB.changes\fR file for you to upload.
|
||||||
|
See the \fBWARNING\fR above.
|
||||||
|
.TP
|
||||||
|
\fB\-n\fI UPLOADER_NAME\fR, \fB\-\-uploader\-name\fR=\fIUPLOADER_NAME\fR
|
||||||
|
Use UPLOADER_NAME as the name of the maintainer for this upload instead
|
||||||
|
of evaluating DEBFULLNAME and UBUMAIL.
|
||||||
|
This option may only be used in \fB\-\-no\-lp\fR mode.
|
||||||
|
.TP
|
||||||
|
\fB\-e\fI UPLOADER_EMAIL\fR, \fB\-\-uploader\-email\fR=\fIUPLOADER_EMAIL\fR
|
||||||
|
Use UPLOADER_EMAIL as the email address of the maintainer for this
|
||||||
|
upload instead of evaluating DEBEMAIL and UBUMAIL.
|
||||||
|
This option may only be used in \fB\-\-no\-lp\fR mode.
|
||||||
|
.TP
|
||||||
|
\fB\-k\fI KEYID\fR, \fB\-\-key\fR=\fIKEYID\fR
|
||||||
|
Specify the key ID to be used for signing.
|
||||||
|
.TP
|
||||||
|
\fB\-\-dont-sign\fR
|
||||||
|
Do not sign the upload.
|
||||||
|
.TP
|
||||||
|
.B \-d \fIDEBIAN_MIRROR\fR, \fB\-\-debian\-mirror\fR=\fIDEBIAN_MIRROR\fR
|
||||||
|
Use the specified mirror.
|
||||||
|
Should be in the form \fBhttp://ftp.debian.org/debian\fR.
|
||||||
|
If the package isn't found on this mirror, \fBsyncpackage\fR will fall
|
||||||
|
back to the default mirror.
|
||||||
|
.TP
|
||||||
|
.B \-s \fIUBUNTU_MIRROR\fR, \fB\-\-debsec\-mirror\fR=\fIUBUNTU_MIRROR\fR
|
||||||
|
Use the specified Debian security mirror.
|
||||||
|
Should be in the form \fBhttp://archive.ubuntu.com/ubuntu\fR.
|
||||||
|
If the package isn't found on this mirror, \fBsyncpackage\fR will fall
|
||||||
|
back to the default mirror.
|
||||||
|
.\"
|
||||||
|
.SH ENVIRONMENT
|
||||||
|
.TP
|
||||||
|
.BR DEBFULLNAME ", " DEBEMAIL ", " UBUMAIL
|
||||||
|
Used to determine the uploader (if not supplied as options).
|
||||||
|
See
|
||||||
|
.BR ubuntu\-dev\-tools (5)
|
||||||
|
for details.
|
||||||
|
.P
|
||||||
|
All of the \fBCONFIGURATION VARIABLES\fR below are also supported as
|
||||||
|
environment variables.
|
||||||
|
Variables in the environment take precedence to those in configuration
|
||||||
|
files.
|
||||||
|
.\"
|
||||||
|
.SH CONFIGURATION VARIABLES
|
||||||
|
The following variables can be set in the environment or in
|
||||||
|
.BR ubuntu\-dev\-tools (5)
|
||||||
|
configuration files.
|
||||||
|
In each case, the script\-specific variable takes precedence over the
|
||||||
|
package\-wide variable.
|
||||||
|
.TP
|
||||||
|
.BR SYNCPACKAGE_DEBIAN_MIRROR ", " UBUNTUTOOLS_DEBIAN_MIRROR
|
||||||
|
The default value for \fB\-\-debian\-mirror\fR.
|
||||||
|
.TP
|
||||||
|
.BR SYNCPACKAGE_UBUNTU_MIRROR ", " UBUNTUTOOLS_DEBSEC_MIRROR
|
||||||
|
The default value for \fB\-\-ubuntu\-mirror\fR.
|
||||||
|
.TP
|
||||||
|
.BR SYNCPACKAGE_KEYID ", " UBUNTUTOOLS_KEYID
|
||||||
|
The default value for \fB\-\-key\fR.
|
||||||
|
.\"
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR requestsync (1),
|
||||||
|
.BR ubuntu\-dev\-tools (5)
|
||||||
|
.\"
|
||||||
|
.SH AUTHOR
|
||||||
|
\fBsyncpackage\fR was written by Martin Pitt <martin.pitt@canonical.com> and Benjamin Drung <bdrung@ubuntu.com>.
|
||||||
|
.PP
|
||||||
|
This manual page was written by Luca Falavigna <dktrkranz@ubuntu.com>
|
||||||
|
.PP
|
||||||
|
Both are released under GNU General Public License, version 3.
|
78
doc/ubuntu-build.1
Normal file
78
doc/ubuntu-build.1
Normal file
@ -0,0 +1,78 @@
|
|||||||
|
.TH UBUNTU-BUILD "1" "Mar 2024" "ubuntu-dev-tools"
|
||||||
|
.SH NAME
|
||||||
|
ubuntu-build \- command-line interface to Launchpad build operations
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.nf
|
||||||
|
\fBubuntu-build\fR <srcpackage> <release> <operation>
|
||||||
|
\fBubuntu-build\fR --batch [--retry] [--rescore \fIPRIORITY\fR] [--arch \fIARCH\fR [...]]
|
||||||
|
[--series \fISERIES\fR] [--state \fIBUILD-STATE\fR]
|
||||||
|
[-A \fIARCHIVE\fR] [pkg]...
|
||||||
|
.fi
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBubuntu-build\fR provides a command line interface to the Launchpad build
|
||||||
|
operations.
|
||||||
|
|
||||||
|
.SH OPERATIONS
|
||||||
|
Listed below are the available operations for \fBubuntu-build\fR:
|
||||||
|
.TP
|
||||||
|
.B status
|
||||||
|
Outputs the build status of the package on Launchpad on all architectures.
|
||||||
|
.TP
|
||||||
|
.B retry
|
||||||
|
Requests that the package has another attempt at rebuilding from source.
|
||||||
|
This will only work if the package has \fIFailed to build\fR on Launchpad.
|
||||||
|
.TP
|
||||||
|
.B rescore
|
||||||
|
Requests that the package's build priority be raised in the build queue.
|
||||||
|
Only members of the Launchpad build administrators may issue this operation,
|
||||||
|
and it may only be performed on packages which \fINeed building\fR.
|
||||||
|
|
||||||
|
.SH OPTIONS
|
||||||
|
Listed below are the command line options for \fBubuntu-build\fR:
|
||||||
|
.TP
|
||||||
|
.B \-h or \-\-help
|
||||||
|
Display a help message and exit.
|
||||||
|
.TP
|
||||||
|
Retry and rescore options:
|
||||||
|
.IP
|
||||||
|
These options may only be used with the 'retry' and 'rescore'
|
||||||
|
operations.
|
||||||
|
.IP
|
||||||
|
\fB\-a\fR ARCHITECTURE, \fB\-\-arch\fR=\fIARCHITECTURE\fR
|
||||||
|
Rebuild or rescore a specific architecture. Valid
|
||||||
|
architectures are:
|
||||||
|
armhf, arm64, amd64, i386, powerpc, ppc64el, riscv64, s390x.
|
||||||
|
.TP
|
||||||
|
Batch processing:
|
||||||
|
.IP
|
||||||
|
These options and parameter ordering is only available in \fB\-\-batch\fR
|
||||||
|
mode. Usage: ubuntu\-build \fB\-\-batch\fR [options] <package>...
|
||||||
|
.IP
|
||||||
|
\fB\-\-batch\fR
|
||||||
|
Enable batch mode
|
||||||
|
.IP
|
||||||
|
\fB\-\-series\fR=\fISERIES\fR
|
||||||
|
Selects the Ubuntu series to operate on (default:
|
||||||
|
current development series)
|
||||||
|
.IP
|
||||||
|
\fB\-\-retry\fR
|
||||||
|
Retry builds (give\-back).
|
||||||
|
.IP
|
||||||
|
\fB\-\-rescore\fR=\fIPRIORITY\fR
|
||||||
|
Rescore builds to <priority>.
|
||||||
|
.IP
|
||||||
|
\fB\-\-arch\fR=\fIARCHITECTURE\fR
|
||||||
|
Affect only 'architecture' (can be used several
|
||||||
|
times). Valid architectures are:
|
||||||
|
arm64, amd64, i386, powerpc, ppc64el, riscv64, s390x.
|
||||||
|
.IP
|
||||||
|
\fB\-A=\fIARCHIVE\fR
|
||||||
|
Act on the named archive (ppa) instead of on the main Ubuntu archive.
|
||||||
|
|
||||||
|
.SH AUTHORS
|
||||||
|
\fBubuntu-build\fR was written by Martin Pitt <martin.pitt@canonical.com>, and
|
||||||
|
this manual page was written by Jonathan Patrick Davies <jpds@ubuntu.com>.
|
||||||
|
.PP
|
||||||
|
Both are released under the terms of the GNU General Public License, version 3.
|
110
doc/ubuntu-dev-tools.5
Normal file
110
doc/ubuntu-dev-tools.5
Normal file
@ -0,0 +1,110 @@
|
|||||||
|
.\" Copyright (C) 2010, Stefano Rivera <stefanor@ubuntu.com>
|
||||||
|
.\"
|
||||||
|
.\" Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
.\" purpose with or without fee is hereby granted, provided that the above
|
||||||
|
.\" copyright notice and this permission notice appear in all copies.
|
||||||
|
.\"
|
||||||
|
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||||
|
.\" REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||||
|
.\" AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||||
|
.\" INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||||
|
.\" LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||||
|
.\" OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||||
|
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
.TH ubuntu\-dev\-tools "5" "December 19 2010" "ubuntu\-dev\-tools"
|
||||||
|
.SH NAME
|
||||||
|
ubuntu\-dev\-tools \- Configuration for the ubuntu\-dev\-tools package.
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
The \fBubuntu\-dev\-tools\fR package is similar in scope to the
|
||||||
|
.BR devscripts (1)
|
||||||
|
package, providing a collection of scripts which may be of use
|
||||||
|
to Ubuntu and Debian developers or others wishing to build Debian packages.
|
||||||
|
|
||||||
|
Some of these scripts have options which may be configured on a
|
||||||
|
system\-wide and per\-user basis.
|
||||||
|
These options are configured in
|
||||||
|
.BR devscripts.conf (5).
|
||||||
|
|
||||||
|
All variables are described in the script's manpages. Package\-wide
|
||||||
|
variables begin with "\fIUBUNTUTOOLS\fR" and are listed below.
|
||||||
|
|
||||||
|
Every script which reads the configuration files can be forced to ignore
|
||||||
|
them by using the \fB\-\-no\-conf\fR command\-line option.
|
||||||
|
|
||||||
|
.SH ENVIRONMENT
|
||||||
|
All \fBubuntu\-dev\-tools\fR configuration variables can be set (and
|
||||||
|
overridden) by setting them in the environment (unlike
|
||||||
|
\fBdevscripts\fR).
|
||||||
|
|
||||||
|
In addition, several scripts use the following environment variables:
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.B UBUMAIL
|
||||||
|
Overrides \fBDEBEMAIL\fR and \fBDEBFULLNAME\fR when the target is
|
||||||
|
clearly Ubuntu.
|
||||||
|
Can either contain an e-mail address or \fBFull Name
|
||||||
|
<email@example.org>\fR.
|
||||||
|
|
||||||
|
.TP
|
||||||
|
.BR DEBEMAIL ", " DEBFULLNAME
|
||||||
|
As in
|
||||||
|
.BR devscripts (1).
|
||||||
|
|
||||||
|
.SH PACKAGE\-WIDE VARIABLES
|
||||||
|
The currently recognised package\-wide variables are:
|
||||||
|
.TP
|
||||||
|
.B UBUNTUTOOLS_BUILDER
|
||||||
|
This specifies the preferred test\-builder, one of
|
||||||
|
.BR pbuilder " (default), " sbuild ", " pbuilder\-dist .
|
||||||
|
.TP
|
||||||
|
.B UBUNTUTOOLS_DEBIAN_MIRROR
|
||||||
|
The preferred Debian archive mirror.
|
||||||
|
Should be of the form \fBhttp://ftp.debian.org/debian\fR (no trailing
|
||||||
|
slash).
|
||||||
|
If not specified, the master will be used.
|
||||||
|
.TP
|
||||||
|
.B UBUNTUTOOLS_DEBSEC_MIRROR
|
||||||
|
The preferred Debian security archive mirror.
|
||||||
|
Should be of the form \fBhttp://security.debian.org\fR (no trailing
|
||||||
|
slash).
|
||||||
|
If not specified, the master will be used.
|
||||||
|
.TP
|
||||||
|
.B UBUNTUTOOLS_UBUNTU_MIRROR
|
||||||
|
The preferred Ubuntu archive mirror.
|
||||||
|
Should be of the form \fBhttp://archive.ubuntu.com/ubuntu\fR (no
|
||||||
|
trailing slash).
|
||||||
|
If not specified, the master will be used.
|
||||||
|
.TP
|
||||||
|
.B UBUNTUTOOLS_UBUNTU_PORTS_MIRROR
|
||||||
|
The preferred Ubuntu archive mirror.
|
||||||
|
Should be of the form \fBhttp://ports.ubuntu.com\fR (no
|
||||||
|
trailing slash).
|
||||||
|
If not specified, the master will be used.
|
||||||
|
.TP
|
||||||
|
.B UBUNTUTOOLS_LPINSTANCE
|
||||||
|
The launchpad instance to communicate with. e.g. \fBproduction\fR
|
||||||
|
(default) or \fBstaging\fR.
|
||||||
|
.TP
|
||||||
|
.B UBUNTUTOOLS_MIRROR_FALLBACK
|
||||||
|
Whether or not to fall\-back to the master archive mirror.
|
||||||
|
This is usually the desired behaviour, as mirrors can lag the masters.
|
||||||
|
If on a private network with only a local mirror, you may want to set
|
||||||
|
this to \fBno\fR.
|
||||||
|
.RB "One of " yes " (default) or " no .
|
||||||
|
.TP
|
||||||
|
.B UBUNTUTOOLS_UPDATE_BUILDER
|
||||||
|
Whether or not to update the test\-builder before each test build.
|
||||||
|
.RB "One of " yes " or " no " (default).
|
||||||
|
.TP
|
||||||
|
.B UBUNTUTOOLS_WORKDIR
|
||||||
|
The directory to use for preparing source packages etc.
|
||||||
|
When unset, defaults to a directory in \fI/tmp/\fR named after the
|
||||||
|
script.
|
||||||
|
|
||||||
|
.SH SEE ALSO
|
||||||
|
.BR devscripts (1),
|
||||||
|
.BR devscripts.conf (5)
|
||||||
|
|
||||||
|
.SH AUTHORS
|
||||||
|
This manpage was written by Stefano Rivera <stefanor@ubuntu.com>.
|
16
doc/ubuntu-iso.1
Normal file
16
doc/ubuntu-iso.1
Normal file
@ -0,0 +1,16 @@
|
|||||||
|
.TH UBUNTU_ISO "1" "June 2010" "ubuntu-dev-tools"
|
||||||
|
.SH NAME
|
||||||
|
\fBubuntu-iso\fR \- tool to examine Ubuntu CD (ISO) installation media
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
\fBubuntu-iso\fR <path to ISO>
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
When given a path to an ISO, \fBubuntu-iso\fR will determine whether it is an Ubuntu ISO or not. If it is, it will extract and display the version information.
|
||||||
|
|
||||||
|
.SH AUTHORS
|
||||||
|
\fBubuntu-iso\fR was written by Matt Zimmerman <mdz@ubuntu.com>.
|
||||||
|
|
||||||
|
This manual page was written by Andrew Starr-Bochicchio <a.starr.b@gmail.com>.
|
||||||
|
.PP
|
||||||
|
Both are released under the terms of the GNU General Public License, version 2.
|
60
doc/ubuntu-upload-permission.1
Normal file
60
doc/ubuntu-upload-permission.1
Normal file
@ -0,0 +1,60 @@
|
|||||||
|
.\" Copyright (C) 2011, Stefano Rivera <stefanor@ubuntu.com>
|
||||||
|
.\"
|
||||||
|
.\" Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
.\" purpose with or without fee is hereby granted, provided that the above
|
||||||
|
.\" copyright notice and this permission notice appear in all copies.
|
||||||
|
.\"
|
||||||
|
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
|
||||||
|
.\" REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
|
||||||
|
.\" AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
|
||||||
|
.\" INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
|
||||||
|
.\" LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
||||||
|
.\" OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
||||||
|
.\" PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
.TH ubuntu\-upload\-permission 1 "November 2011" ubuntu\-dev\-tools
|
||||||
|
|
||||||
|
.SH NAME
|
||||||
|
ubuntu\-upload\-permission \- Query upload rights and (optionally) list
|
||||||
|
the people and teams with upload rights for a package
|
||||||
|
|
||||||
|
.SH SYNOPSIS
|
||||||
|
.B ubuntu\-upload\-permission \fR[\fIoptions\fR] \fIpackage
|
||||||
|
|
||||||
|
.SH DESCRIPTION
|
||||||
|
\fBubuntu\-upload\-permission\fR checks if the user has upload
|
||||||
|
permissions for \fIpackage\fR.
|
||||||
|
If the \fB\-\-list\-uploaders\fR option is provided, all the people and
|
||||||
|
teams that do have upload rights for \fIpackage\fR will be listed.
|
||||||
|
|
||||||
|
.SH OPTIONS
|
||||||
|
.TP
|
||||||
|
\fB\-r\fR \fIRELEASE\fR, \fB\-\-release\fR=\fIRELEASE\fR
|
||||||
|
Query permissions in \fIRELEASE\fR.
|
||||||
|
Default: current development release.
|
||||||
|
.TP
|
||||||
|
\fB\-a\fR, \fB\-\-list\-uploaders\fR
|
||||||
|
List all the people and teams who have upload rights for \fIpackage\fR.
|
||||||
|
.TP
|
||||||
|
\fB\-t\fR, \fB\-\-list\-team\-members\fR
|
||||||
|
List all the members of every team with rights. (Implies
|
||||||
|
\fB\-\-list\-uploaders\fR)
|
||||||
|
.TP
|
||||||
|
\fB\-h\fR, \fB\-\-help\fR
|
||||||
|
Display a help message and exit
|
||||||
|
|
||||||
|
.SH EXIT STATUS
|
||||||
|
.TP
|
||||||
|
.B 0
|
||||||
|
You have the necessary upload rights.
|
||||||
|
.TP
|
||||||
|
.B 1
|
||||||
|
You don't have the necessary upload rights.
|
||||||
|
.TP
|
||||||
|
.B 2
|
||||||
|
There was an error.
|
||||||
|
|
||||||
|
.SH AUTHORS
|
||||||
|
\fBubuntu\-upload\-permission\fR and this manpage were written by
|
||||||
|
Stefano Rivera <stefanor@ubuntu.com>.
|
||||||
|
.PP
|
||||||
|
Both are released under the terms of the ISC License.
|
@ -1,10 +1,26 @@
|
|||||||
.TH UPDATE\-MAINTAINER "1" "August 04, 2008" "ubuntu-dev-tools"
|
.\" Copyright (c) 2008, Siegfried-Angel Gevatter Pujals <rainct@ubuntu.com>
|
||||||
|
.\" 2010, Benjamin Drung <bdrung@ubuntu.com>
|
||||||
|
.\"
|
||||||
|
.\" Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
.\" purpose with or without fee is hereby granted, provided that the above
|
||||||
|
.\" copyright notice and this permission notice appear in all copies.
|
||||||
|
.\"
|
||||||
|
.\" THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
|
.\" WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||||
|
.\" MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||||
|
.\" ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
|
.\" WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||||
|
.\" ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
|
.\" OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
.\"
|
||||||
|
.TH UPDATE\-MAINTAINER "1" "December 2010" "ubuntu-dev-tools"
|
||||||
|
|
||||||
.SH NAME
|
.SH NAME
|
||||||
update\-maintainer \- change the Maintainer field in a Debian source package
|
update\-maintainer \- change the Maintainer field in a Debian source package
|
||||||
|
|
||||||
.SH SYNOPSIS
|
.SH SYNOPSIS
|
||||||
.B update\-maintainer [\fB\-\-path=<PATH>\fP] [\fB\-\-section=<SECTION>\fP]
|
.B update\-maintainer
|
||||||
|
[\fIoptions\fR]
|
||||||
|
|
||||||
.SH DESCRIPTION
|
.SH DESCRIPTION
|
||||||
\fBupdate\-maintainer\fP updates the Maintainer field in the source of
|
\fBupdate\-maintainer\fP updates the Maintainer field in the source of
|
||||||
@ -12,19 +28,20 @@ an Ubuntu package to match the DebianMaintainerField specification.
|
|||||||
|
|
||||||
.SH OPTIONS
|
.SH OPTIONS
|
||||||
.TP
|
.TP
|
||||||
\fB\-\-path=<PATH>\fP
|
\fB\-d \fIPATH\fR, \fB\-\-debian\-directory\fR=\fIPATH\fR
|
||||||
This option allows you to specify the path to the source directory.
|
location of the \fIdebian\fR directory (default: \fB./debian\fR)
|
||||||
.TP
|
.TP
|
||||||
\fB\-\-section=<SECTION>\fP
|
\fB\-h\fR, \fB\-\-help\fR
|
||||||
Manually specify the section of the package. This is necessary if the
|
show a help message and exit
|
||||||
package is not yet in the archive or if you don't have an Internet
|
.TP
|
||||||
connection available when you run \fBupdate\-maintainer\fP.
|
\fB\-q\fR, \fB\-\-quiet\fR
|
||||||
|
print no informational messages
|
||||||
|
|
||||||
.SH SEE ALSO
|
.SH SEE ALSO
|
||||||
See https://wiki.ubuntu.com/DebianMaintainerField for more information.
|
See https://wiki.ubuntu.com/DebianMaintainerField for more information.
|
||||||
|
|
||||||
.SH AUTHOR
|
.SH AUTHOR
|
||||||
\fBupdate-maintainer\fP has been written by Albin Tonnerre <lut1n.tne@gmail.com>
|
\fBupdate-maintainer\fP has been written by Benjamin Drung <bdrung@ubuntu.com>
|
||||||
and this manual page by Siegfried-Angel Gevatter Pujals <rainct@ubuntu.com>.
|
and this manual page by Siegfried-Angel Gevatter Pujals <rainct@ubuntu.com>.
|
||||||
.PP
|
.PP
|
||||||
Both are released under the GNU General Public License, version 2.
|
Both are released under the ISC license.
|
||||||
|
@ -1,40 +0,0 @@
|
|||||||
.TH WHAT\-PATCH "1" "10 August 2008" "ubuntu-dev-tools"
|
|
||||||
.SH NAME
|
|
||||||
what\-patch \- detects which patch system a Debian package uses
|
|
||||||
|
|
||||||
.SH SYNOPSIS
|
|
||||||
.B what\-patch [options]
|
|
||||||
|
|
||||||
.SH DESCRIPTION
|
|
||||||
\fBwhat\-patch\fR examines the debian/rules file to determine which patch
|
|
||||||
system the Debian package is using.
|
|
||||||
.PP
|
|
||||||
\fBwhat\-patch\fR should be run from the root directory of the Debian source
|
|
||||||
package.
|
|
||||||
|
|
||||||
.SH OPTIONS
|
|
||||||
Listed below are the command line options for what\-patch:
|
|
||||||
.TP
|
|
||||||
.B \-h or \-\-help
|
|
||||||
Display a help message and exit.
|
|
||||||
.TP
|
|
||||||
.B \-v
|
|
||||||
Enable verbose mode.
|
|
||||||
This will include the listing of any files modified outside or the debian/
|
|
||||||
directory and report any additional details about the patch system if
|
|
||||||
available.
|
|
||||||
|
|
||||||
.SH AUTHORS
|
|
||||||
\fBwhat\-patch\fR was written by Kees Cook <kees@ubuntu.com>,
|
|
||||||
Siegfried-A. Gevatter <rainct@ubuntu.com>, and Daniel Hahler
|
|
||||||
<ubuntu@thequod.de>, among others.
|
|
||||||
This manual page was written by Jonathan Patrick Davies <jpds@ubuntu.com>.
|
|
||||||
.PP
|
|
||||||
Both are released under the GNU General Public License, version 2.
|
|
||||||
|
|
||||||
.SH SEE ALSO
|
|
||||||
The Ubuntu MOTU team has some documentation about patch systems at the Ubuntu
|
|
||||||
wiki: \fBhttps://wiki.ubuntu.com/PackagingGuide/PatchSystems\fR
|
|
||||||
|
|
||||||
.PP
|
|
||||||
.B cdbs\-edit\-patch(1), dbs\-edit\-patch(1), dpatch\-edit\-patch(1)
|
|
62
enforced-editing-wrapper
Executable file
62
enforced-editing-wrapper
Executable file
@ -0,0 +1,62 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
#
|
||||||
|
# Copyright (C) 2011, Stefano Rivera <stefanor@ubuntu.com>
|
||||||
|
#
|
||||||
|
# Permission to use, copy, modify, and/or distribute this software for any
|
||||||
|
# purpose with or without fee is hereby granted, provided that the above
|
||||||
|
# copyright notice and this permission notice appear in all copies.
|
||||||
|
#
|
||||||
|
# THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
|
||||||
|
# WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
|
||||||
|
# MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
|
||||||
|
# ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
|
||||||
|
# WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
|
||||||
|
# ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
|
||||||
|
# OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
|
||||||
|
#
|
||||||
|
#
|
||||||
|
# Wraps sensisible-editor in checks for remaining boilerplate.
|
||||||
|
# Configured through environment variables:
|
||||||
|
# UDT_EDIT_WRAPPER_EDITOR: The user's usual $EDITOR
|
||||||
|
# UDT_EDIT_WRAPPER_VISUAL: The user's usual $VISUAL
|
||||||
|
# UDT_EDIT_WRAPPER_TEMPLATE_RE: An extra boilerplate-detecting regex.
|
||||||
|
# UDT_EDIT_WRAPPER_FILE_DESCRIPTION: The type of file being edited.
|
||||||
|
|
||||||
|
# pylint: disable=invalid-name
|
||||||
|
# pylint: enable=invalid-name
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import os
|
||||||
|
import re
|
||||||
|
|
||||||
|
from ubuntutools.question import EditFile
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
parser = argparse.ArgumentParser(usage="%(prog)s [options] filename")
|
||||||
|
parser.add_argument("filename", help=argparse.SUPPRESS)
|
||||||
|
args = parser.parse_args()
|
||||||
|
if not os.path.isfile(args.filename):
|
||||||
|
parser.error(f"File {args.filename} does not exist")
|
||||||
|
|
||||||
|
if "UDT_EDIT_WRAPPER_EDITOR" in os.environ:
|
||||||
|
os.environ["EDITOR"] = os.environ["UDT_EDIT_WRAPPER_EDITOR"]
|
||||||
|
else:
|
||||||
|
del os.environ["EDITOR"]
|
||||||
|
|
||||||
|
if "UDT_EDIT_WRAPPER_VISUAL" in os.environ:
|
||||||
|
os.environ["VISUAL"] = os.environ["UDT_EDIT_WRAPPER_VISUAL"]
|
||||||
|
else:
|
||||||
|
del os.environ["VISUAL"]
|
||||||
|
|
||||||
|
placeholders = []
|
||||||
|
if "UDT_EDIT_WRAPPER_TEMPLATE_RE" in os.environ:
|
||||||
|
placeholders.append(re.compile(os.environ["UDT_EDIT_WRAPPER_TEMPLATE_RE"]))
|
||||||
|
|
||||||
|
description = os.environ.get("UDT_EDIT_WRAPPER_FILE_DESCRIPTION", "file")
|
||||||
|
|
||||||
|
EditFile(args.filename, description, placeholders).edit()
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
@ -1,16 +0,0 @@
|
|||||||
subject: [UNMETDEPS] $pack has unmet dependencies
|
|
||||||
assignee:
|
|
||||||
status: confirmed
|
|
||||||
subscribers: motu
|
|
||||||
tags: unmetdeps
|
|
||||||
buglist-url: http://bugs.launchpad.net/ubuntu/+bugs?field.tag=unmetdeps
|
|
||||||
text:
|
|
||||||
A run of
|
|
||||||
.
|
|
||||||
LC_ALL=C apt-cache -i unmet | grep ^Package | cut -d' ' -f2 | grep
|
|
||||||
-v dbgsym | sort -u | xargs apt-cache showsrc | grep ^Directory |
|
|
||||||
sed 's/Package\:\ //g' | grep verse | cut -d'/' -f4
|
|
||||||
indicates that the source package $pack has binary packages that are not
|
|
||||||
installable (on AMD64) at the moment.
|
|
||||||
.
|
|
||||||
Please have a look and make sure it's installable again.
|
|
@ -1,2 +0,0 @@
|
|||||||
z88dk
|
|
||||||
zope-quotafolder
|
|
144
get-branches
144
get-branches
@ -1,144 +0,0 @@
|
|||||||
#!/usr/bin/python
|
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
#
|
|
||||||
# Copyright (C) 2007 Canonical Ltd.
|
|
||||||
# Created by Daniel Holbach <daniel.holbach@ubuntu.com>
|
|
||||||
# Modified by Jonathan Patrick Davies <jpds@ubuntu.com>
|
|
||||||
#
|
|
||||||
# ##################################################################
|
|
||||||
#
|
|
||||||
# This program 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; version 3.
|
|
||||||
#
|
|
||||||
# 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.
|
|
||||||
#
|
|
||||||
# See file /usr/share/common-licenses/GPL-3 for more details.
|
|
||||||
#
|
|
||||||
# ##################################################################
|
|
||||||
#
|
|
||||||
# This script is used to checkout or branch all the Bazaar branches
|
|
||||||
# of a Launchpad team.
|
|
||||||
#
|
|
||||||
|
|
||||||
import os
|
|
||||||
import re
|
|
||||||
import subprocess
|
|
||||||
import sys
|
|
||||||
import urllib2
|
|
||||||
from optparse import OptionParser
|
|
||||||
|
|
||||||
def main():
|
|
||||||
usage = "Usage: %prog [-d <directory>] -t <team> [-o <operation>]"
|
|
||||||
usage += "\nUsage: %prog <team>"
|
|
||||||
optParser = OptionParser(usage)
|
|
||||||
|
|
||||||
# Our options.
|
|
||||||
optParser.add_option("-d", "--directory", action = "store", type = "string",
|
|
||||||
dest = "directory", default = ".",
|
|
||||||
help = "Directory to download branches to.")
|
|
||||||
optParser.add_option("-t", "--team", action = "store", type = "string",
|
|
||||||
dest = "lpteam", help = "Launchpad team to download branches from.")
|
|
||||||
optParser.add_option("-o", "--operation", action = "store", type = "string",
|
|
||||||
dest = "operation", default = "branch",
|
|
||||||
help = "Whether to branch or checkout the Bazaar branches. May be " \
|
|
||||||
"either 'branch' or 'checkout'.")
|
|
||||||
|
|
||||||
(options, args) = optParser.parse_args()
|
|
||||||
|
|
||||||
# Parse our options.
|
|
||||||
if len(args) != 1 and options.lpteam == None:
|
|
||||||
optParser.error("No team has been specified.")
|
|
||||||
|
|
||||||
# Launchpad team setting.
|
|
||||||
if options.lpteam:
|
|
||||||
team = str(options.lpteam).lower()
|
|
||||||
if args:
|
|
||||||
team = str(args[0]).lower()
|
|
||||||
|
|
||||||
directory = options.directory
|
|
||||||
|
|
||||||
# Dictionary settings.
|
|
||||||
if not os.path.isdir(directory): # Check that it is a directory.
|
|
||||||
optParser.error("%s is not a valid directory." % directory)
|
|
||||||
|
|
||||||
# Type of Bazaar operation to perform.
|
|
||||||
operation_type = str(options.operation).lower()
|
|
||||||
|
|
||||||
# Got an argument, check if it is valid.
|
|
||||||
if operation_type not in ("branch", "checkout"):
|
|
||||||
optParser.error("Invalid operation '%s' for '-o' flag." % \
|
|
||||||
operation_type)
|
|
||||||
|
|
||||||
|
|
||||||
# Fetch our current directory to return to later.
|
|
||||||
pwd = os.getcwd()
|
|
||||||
|
|
||||||
# Change to the specified directory.
|
|
||||||
os.chdir(directory)
|
|
||||||
|
|
||||||
# Try to open the teams code page.
|
|
||||||
try:
|
|
||||||
sock = urllib2.urlopen("https://code.launchpad.net/~%s" % team)
|
|
||||||
except urllib2.HTTPError:
|
|
||||||
print >> sys.stderr, "The page https://code.launchpad.net/~%s does " \
|
|
||||||
"not exist." % team
|
|
||||||
print >> sys.stderr, "Perhaps invalid team name?"
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
branch_list_page = sock.read()
|
|
||||||
sock.close()
|
|
||||||
|
|
||||||
branch_page_urls_regex = r'.*<a href="/(~%s/.*)".*' % team
|
|
||||||
branch_page_urls = re.findall(branch_page_urls_regex, branch_list_page)
|
|
||||||
|
|
||||||
# Check the team actually has branches.
|
|
||||||
if len(branch_page_urls) == 0:
|
|
||||||
print "The team '%s' does not have any branches on Launchpad." % team
|
|
||||||
sys.exit(0)
|
|
||||||
|
|
||||||
print "Downloading all branches for the team '%s'. This may take some " \
|
|
||||||
"time." % team
|
|
||||||
|
|
||||||
try:
|
|
||||||
os.makedirs(team)
|
|
||||||
except:
|
|
||||||
pass
|
|
||||||
|
|
||||||
os.chdir(team)
|
|
||||||
|
|
||||||
for url in branch_page_urls:
|
|
||||||
sock = urllib2.urlopen("https://code.launchpad.net/%s" % url)
|
|
||||||
branch_page = sock.read()
|
|
||||||
sock.close()
|
|
||||||
|
|
||||||
branch_url_regex = r'<tt>bzr branch lp:~(.*)</tt>'
|
|
||||||
branch_url = re.findall(branch_url_regex, branch_page)
|
|
||||||
print "Downloading branch: lp:~%s." % branch_url[0]
|
|
||||||
|
|
||||||
if branch_url[0]:
|
|
||||||
product = branch_url[0].split("/")[-2]
|
|
||||||
branch_nick = branch_url[0].split("/")[-1]
|
|
||||||
|
|
||||||
if not os.path.exists(product):
|
|
||||||
os.makedirs(product)
|
|
||||||
os.chdir(product)
|
|
||||||
|
|
||||||
if not os.path.exists(branch_nick):
|
|
||||||
subprocess.call(["bzr", operation_type, "lp:~%s" % branch_url[0]])
|
|
||||||
else:
|
|
||||||
os.chdir(branch_nick)
|
|
||||||
subprocess.call(["bzr", "merge", "--pull", "--remember"])
|
|
||||||
os.chdir(os.path.join(directory, team))
|
|
||||||
|
|
||||||
os.chdir(pwd)
|
|
||||||
sys.exit(0)
|
|
||||||
|
|
||||||
if __name__ == "__main__":
|
|
||||||
try:
|
|
||||||
main()
|
|
||||||
except KeyboardInterrupt:
|
|
||||||
print "Operation was interrupted by user."
|
|
@ -1,95 +0,0 @@
|
|||||||
#!/bin/bash
|
|
||||||
#
|
|
||||||
# Copyright 2007 (C) Siegfried-A. Gevatter <rainct@ubuntu.com>
|
|
||||||
#
|
|
||||||
# ##################################################################
|
|
||||||
#
|
|
||||||
# This program 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.
|
|
||||||
#
|
|
||||||
# See file /usr/share/common-licenses/GPL for more details.
|
|
||||||
#
|
|
||||||
# ##################################################################
|
|
||||||
#
|
|
||||||
# If you don't pass it any argument, this script will check if
|
|
||||||
# there's a control (debian/control) file somewhere in the current
|
|
||||||
# directory, and if it's so, it'll install the build dependencies
|
|
||||||
# listed there.
|
|
||||||
#
|
|
||||||
# If it gets a single argument, and it's the name of a file, it will
|
|
||||||
# read it, supposing that each line contains the name of a package,
|
|
||||||
# and install the build dependencies for all those.
|
|
||||||
#
|
|
||||||
# Otherwise, if there is more than one argument, or the given argument
|
|
||||||
# isn't the name of an existing file, it will suppose that the each
|
|
||||||
# argument is the name of a package, and install the dependencies for
|
|
||||||
# all of them.
|
|
||||||
|
|
||||||
if [ $# -eq 0 ]
|
|
||||||
then
|
|
||||||
#########################################################
|
|
||||||
# Install the dependencies for the source package the
|
|
||||||
# user is working on.
|
|
||||||
|
|
||||||
if [ -f ../debian/control ]; then
|
|
||||||
cd ..
|
|
||||||
elif [ ! -f ./debian/control ]; then
|
|
||||||
echo "\
|
|
||||||
Couldn't find file debian/control. You have to be inside the \
|
|
||||||
source directory of a Debian package or pass the name of the \
|
|
||||||
package(s) whose build dependencies you want to install in order \
|
|
||||||
to use this script."
|
|
||||||
exit 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
filepath="`pwd`/debian/control"
|
|
||||||
missing_dependencies=$(dpkg-checkbuilddeps 2>&1)
|
|
||||||
|
|
||||||
if [ -z "$missing_dependencies" ]; then
|
|
||||||
echo "The build dependencies described in «$filepath» are already satisfied."
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
|
|
||||||
echo "Installing the build dependencies described in «$filepath»..."
|
|
||||||
|
|
||||||
if [ -x /usr/lib/pbuilder/pbuilder-satisfydepends ]
|
|
||||||
then
|
|
||||||
sudo /usr/lib/pbuilder/pbuilder-satisfydepends
|
|
||||||
else
|
|
||||||
echo "Warning: «pbuilder» isn\'t installed, falling back to «dpkg-checkbuilddeps»."
|
|
||||||
sudo aptitude install $(echo $missing_dependencies | awk -F: '{ print $3 }' | sed 's/([^)]*)//g' | sed 's/|\s[^\s]*//g')
|
|
||||||
#' <--- Fix to avoid Geanys markup breaking
|
|
||||||
fi
|
|
||||||
exit 0
|
|
||||||
elif [ $# -eq 1 ]
|
|
||||||
then
|
|
||||||
#########################################################
|
|
||||||
# Check if the given argument is a file name, else
|
|
||||||
# continue after the if.
|
|
||||||
if [ -f $1 ]
|
|
||||||
then
|
|
||||||
packages=''
|
|
||||||
echo "Installing the build dependencies for the following packages:"
|
|
||||||
while read line
|
|
||||||
do
|
|
||||||
echo $line
|
|
||||||
packages="$packages $line"
|
|
||||||
done < $1
|
|
||||||
echo
|
|
||||||
sudo apt-get build-dep $packages
|
|
||||||
exit 0
|
|
||||||
fi
|
|
||||||
fi
|
|
||||||
|
|
||||||
#########################################################
|
|
||||||
# All arguments should be package names, install
|
|
||||||
# their build dependencies.
|
|
||||||
|
|
||||||
sudo apt-get build-dep $*
|
|
@ -1,53 +0,0 @@
|
|||||||
#!/usr/bin/python
|
|
||||||
#
|
|
||||||
# Copyright (C) 2007, Canonical Ltd.
|
|
||||||
# Written by Daniel Holbach
|
|
||||||
#
|
|
||||||
# ##################################################################
|
|
||||||
#
|
|
||||||
# This program 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; version 3.
|
|
||||||
#
|
|
||||||
# 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.
|
|
||||||
#
|
|
||||||
# See file /usr/share/common-licenses/GPL-3 for more details.
|
|
||||||
#
|
|
||||||
# ##################################################################
|
|
||||||
|
|
||||||
import os
|
|
||||||
import sys
|
|
||||||
from ubuntutools.common import get_launchpad
|
|
||||||
|
|
||||||
USAGE = "grab-attachments <bug numbers>"
|
|
||||||
|
|
||||||
def main():
|
|
||||||
if len(sys.argv) == 1:
|
|
||||||
print >> sys.stderr, USAGE
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
if sys.argv[1] in ["--help", "-h"]:
|
|
||||||
print USAGE
|
|
||||||
sys.exit(0)
|
|
||||||
launchpad = get_launchpad("ubuntu-dev-tools")
|
|
||||||
for arg in sys.argv[1:]:
|
|
||||||
try:
|
|
||||||
number = int(arg)
|
|
||||||
except:
|
|
||||||
print >> sys.stderr, "'%s' is not a valid bug number." % arg
|
|
||||||
sys.exit(1)
|
|
||||||
b = launchpad.bugs[number]
|
|
||||||
for a in b.attachments:
|
|
||||||
f = a.data.open()
|
|
||||||
filename = os.path.join(os.getcwd(), f.filename)
|
|
||||||
local_file = open(filename, "w")
|
|
||||||
local_file.write(f.read())
|
|
||||||
f.close()
|
|
||||||
local_file.close()
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
main()
|
|
||||||
|
|
124
grab-merge
Executable file
124
grab-merge
Executable file
@ -0,0 +1,124 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
# grab-merge - grab a merge
|
||||||
|
#
|
||||||
|
# Copyright © 2008 Canonical Ltd.
|
||||||
|
# Author: Scott James Remnant <scott@ubuntu.com>.
|
||||||
|
#
|
||||||
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of version 3 of the GNU General Public License as
|
||||||
|
# published by the Free Software Foundation.
|
||||||
|
#
|
||||||
|
# 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 <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# Uncomment if you have an account on casey
|
||||||
|
#RSYNC=y
|
||||||
|
|
||||||
|
# Uncomment if you know that this deletes all the files in the CWD
|
||||||
|
#EXPERT=y
|
||||||
|
|
||||||
|
# Or uncomment if you want to use named subdirectories
|
||||||
|
SUBDIR=y
|
||||||
|
|
||||||
|
set -e
|
||||||
|
|
||||||
|
MERGE=$1
|
||||||
|
|
||||||
|
if [ -z "$1" -o "$1" = "-h" -o "$1" = "--help" ]; then
|
||||||
|
echo "Usage: $0 <package name>"
|
||||||
|
echo ""
|
||||||
|
echo "grab-merge downloads a merge's packaging files and report from"
|
||||||
|
echo "merges.ubuntu.com, placing them into a new subdirectory for working"
|
||||||
|
echo "from."
|
||||||
|
|
||||||
|
exit 0
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$SUBDIR" = "y" ]; then
|
||||||
|
[ -d "$MERGE" ] || { mkdir $MERGE; CREATED_DIR=1; }
|
||||||
|
cd $MERGE
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$EXPERT" != "y" ] && [ -n "$(ls)" ]; then
|
||||||
|
echo -n "Are you sure you want to delete all the files in $(pwd) [yN]? "
|
||||||
|
read ANSWER
|
||||||
|
[ "$ANSWER" = "y" ] || exit 1
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "${MERGE#lib}" != "${MERGE}" ]; then
|
||||||
|
HASH=${MERGE%${MERGE#????}}
|
||||||
|
else
|
||||||
|
HASH=${MERGE%${MERGE#?}}
|
||||||
|
fi
|
||||||
|
|
||||||
|
if [ "$RSYNC" = "y" ]; then
|
||||||
|
URL="merges.ubuntu.com:/srv/patches.ubuntu.com/merges/$HASH/$MERGE/"
|
||||||
|
rsync --verbose --archive --progress --compress --delete \
|
||||||
|
"$URL" . || { echo "Error while rsyncing $URL"; exit 1; }
|
||||||
|
else
|
||||||
|
rm -rf --one-file-system *
|
||||||
|
wget -nv https://merges.ubuntu.com/$HASH/$MERGE/REPORT || {
|
||||||
|
echo "Package not found on merges.ubuntu.com."
|
||||||
|
[ "$CREATED_DIR" != "1" ] || { cd ..; rmdir $MERGE; }
|
||||||
|
exit 1
|
||||||
|
}
|
||||||
|
|
||||||
|
for NAME in $(sed -n -e "/^ /p" REPORT); do
|
||||||
|
if [ ! -f "$NAME" ]; then
|
||||||
|
echo "Getting $NAME..."
|
||||||
|
URL="https://merges.ubuntu.com/$HASH/$MERGE/$NAME"
|
||||||
|
wget -q "$URL" || { echo "Error downloading $URL"; exit 1; }
|
||||||
|
fi
|
||||||
|
done
|
||||||
|
fi
|
||||||
|
echo
|
||||||
|
|
||||||
|
if grep "^generated: " REPORT >/dev/null; then
|
||||||
|
VERSION=$(sed -n -e "/^generated:/s/^generated: *//p" REPORT)
|
||||||
|
DEB_VENDOR=Ubuntu dpkg-source -x ${MERGE}_${VERSION#*:}.dsc
|
||||||
|
echo
|
||||||
|
else
|
||||||
|
TARBALL=$(sed -n -e "/\.src\.tar\.gz$/p" REPORT)
|
||||||
|
|
||||||
|
echo unpacking $TARBALL
|
||||||
|
tar xf $TARBALL
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
|
||||||
|
if grep "^ C" REPORT; then
|
||||||
|
echo
|
||||||
|
fi
|
||||||
|
|
||||||
|
echo "#!/bin/sh" > merge-genchanges
|
||||||
|
echo "exec $(sed -n -e '/^ $ /s/^ $ //p' REPORT) \"\$@\"" \
|
||||||
|
>> merge-genchanges
|
||||||
|
chmod +x merge-genchanges
|
||||||
|
|
||||||
|
echo "#!/bin/sh" > merge-buildpackage
|
||||||
|
echo "exec $(sed -n -e '/^ $ /s/^ $ dpkg-genchanges/dpkg-buildpackage/p' REPORT) \"\$@\"" \
|
||||||
|
>> merge-buildpackage
|
||||||
|
chmod +x merge-buildpackage
|
||||||
|
|
||||||
|
echo "#!/bin/sh" > merge-debuild
|
||||||
|
echo "exec $(sed -n -e '/^ $ /s/^ $ dpkg-genchanges/debuild/p' REPORT) \"\$@\"" \
|
||||||
|
>> merge-debuild
|
||||||
|
chmod +x merge-debuild
|
||||||
|
|
||||||
|
echo "Run ../merge-genchanges , ../merge-buildpackage or ../merge-debuild when done"
|
||||||
|
|
||||||
|
if grep "^Vcs-" *.dsc >/dev/null; then
|
||||||
|
echo
|
||||||
|
echo "*** WARNING ***"
|
||||||
|
echo
|
||||||
|
echo "It looks like this package is maintained in revision control:"
|
||||||
|
echo
|
||||||
|
grep "^Vcs-" *.dsc
|
||||||
|
echo
|
||||||
|
echo "You almost certainly don't want to continue without investigating."
|
||||||
|
exit 1
|
||||||
|
fi
|
88
grep-merges
Executable file
88
grep-merges
Executable file
@ -0,0 +1,88 @@
|
|||||||
|
#! /usr/bin/python3
|
||||||
|
#
|
||||||
|
# grep-merges - search for pending merges from Debian
|
||||||
|
#
|
||||||
|
# Copyright (C) 2010 Canonical Ltd.
|
||||||
|
# Authors:
|
||||||
|
# - Colin Watson <cjwatson@ubuntu.com>
|
||||||
|
#
|
||||||
|
# This program 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 <http://www.gnu.org/licenses/>.
|
||||||
|
|
||||||
|
# pylint: disable=invalid-name
|
||||||
|
# pylint: enable=invalid-name
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import json
|
||||||
|
import sys
|
||||||
|
|
||||||
|
from httplib2 import Http, HttpLib2Error
|
||||||
|
|
||||||
|
import ubuntutools.misc
|
||||||
|
from ubuntutools import getLogger
|
||||||
|
|
||||||
|
Logger = getLogger()
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
parser = argparse.ArgumentParser(
|
||||||
|
usage="%(prog)s [options] [string]",
|
||||||
|
description="List pending merges from Debian matching string",
|
||||||
|
)
|
||||||
|
parser.add_argument("string", nargs="?", help=argparse.SUPPRESS)
|
||||||
|
args = parser.parse_args()
|
||||||
|
|
||||||
|
ubuntutools.misc.require_utf8()
|
||||||
|
|
||||||
|
for component in (
|
||||||
|
"main",
|
||||||
|
"main-manual",
|
||||||
|
"restricted",
|
||||||
|
"restricted-manual",
|
||||||
|
"universe",
|
||||||
|
"universe-manual",
|
||||||
|
"multiverse",
|
||||||
|
"multiverse-manual",
|
||||||
|
):
|
||||||
|
url = f"https://merges.ubuntu.com/{component}.json"
|
||||||
|
try:
|
||||||
|
headers, page = Http().request(url)
|
||||||
|
except HttpLib2Error as e:
|
||||||
|
Logger.exception(e)
|
||||||
|
sys.exit(1)
|
||||||
|
if headers.status != 200:
|
||||||
|
Logger.error("%s: %s %s", url, headers.status, headers.reason)
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
for merge in json.loads(page):
|
||||||
|
package = merge["source_package"]
|
||||||
|
author, uploader = "", ""
|
||||||
|
if merge.get("user"):
|
||||||
|
author = merge["user"]
|
||||||
|
if merge.get("uploader"):
|
||||||
|
uploader = f"({merge['uploader']})"
|
||||||
|
teams = merge.get("teams", [])
|
||||||
|
|
||||||
|
pretty_uploader = f"{author} {uploader}"
|
||||||
|
if (
|
||||||
|
args.string is None
|
||||||
|
or args.string in package
|
||||||
|
or args.string in author
|
||||||
|
or args.string in uploader
|
||||||
|
or args.string in teams
|
||||||
|
):
|
||||||
|
Logger.info("%s\t%s", package, pretty_uploader)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
132
hugdaylist
132
hugdaylist
@ -1,132 +0,0 @@
|
|||||||
#!/usr/bin/python
|
|
||||||
# -*- coding: utf-8 -*-
|
|
||||||
#
|
|
||||||
# Copyright (C) 2007 Canonical Ltd., Daniel Holbach
|
|
||||||
# Copyright (C) 2008 Jonathan Patrick Davies <jpds@ubuntu.com>
|
|
||||||
#
|
|
||||||
# ##################################################################
|
|
||||||
#
|
|
||||||
# This program 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; version 3.
|
|
||||||
#
|
|
||||||
# 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.
|
|
||||||
#
|
|
||||||
# See file /usr/share/common-licenses/GPL-3 for more details.
|
|
||||||
#
|
|
||||||
# ##################################################################
|
|
||||||
#
|
|
||||||
#
|
|
||||||
# hugdaylist - produces MoinMoin wiki formatted tables based on a Launchpad bug
|
|
||||||
# list.
|
|
||||||
#
|
|
||||||
# hugdaylist <url>
|
|
||||||
# - produces lists like https://wiki.ubuntu.com/UbuntuBugDay/20070912?action=raw
|
|
||||||
#
|
|
||||||
# hugdaylist -n <howmany> <url>
|
|
||||||
# - will only list <howmany> URLs.
|
|
||||||
|
|
||||||
import os
|
|
||||||
import re
|
|
||||||
import string
|
|
||||||
import sys
|
|
||||||
from optparse import OptionParser
|
|
||||||
|
|
||||||
from ubuntutools.common import get_launchpad, translate_web_api, translate_api_web
|
|
||||||
|
|
||||||
def check_args():
|
|
||||||
howmany = -1
|
|
||||||
url = ""
|
|
||||||
|
|
||||||
# Our usage options.
|
|
||||||
usage = "usage: %prog [-n <number>] launchpad-buglist-url"
|
|
||||||
optParser = OptionParser(usage)
|
|
||||||
argsParsed = 0
|
|
||||||
|
|
||||||
# Options - namely just the number of bugs to output.
|
|
||||||
optParser.add_option("-n", "--number", type = "int",
|
|
||||||
dest = "number", help = "Number of entries to output.")
|
|
||||||
|
|
||||||
# Parse arguments.
|
|
||||||
(options, args) = optParser.parse_args()
|
|
||||||
|
|
||||||
# Check if we want a number other than the default.
|
|
||||||
howmany = options.number
|
|
||||||
|
|
||||||
# Check that we have an URL.
|
|
||||||
if not args:
|
|
||||||
print >> sys.stderr, "An URL pointing to a Launchpad bug list is " \
|
|
||||||
"required."
|
|
||||||
optParser.print_help()
|
|
||||||
sys.exit(1)
|
|
||||||
else:
|
|
||||||
url = args[argsParsed]
|
|
||||||
|
|
||||||
return (howmany, url)
|
|
||||||
|
|
||||||
def filter_unsolved(task):
|
|
||||||
# TODO: don't use this filter here, only check status and assignee of
|
|
||||||
# the given task
|
|
||||||
# Filter out special types of bugs:
|
|
||||||
# - https://wiki.ubuntu.com/Bugs/HowToTriage#Special%20types%20of%20bugs
|
|
||||||
subscriptions = set(s.person.name for s in task.bug.subscriptions) #this is expensive, parse name out of self_link instead?
|
|
||||||
if (task.status != "Fix Committed" and
|
|
||||||
(not task.assignee or task.assignee.name in ['motu','desktop-bugs']) and
|
|
||||||
'ubuntu-main-sponsors' not in subscriptions and
|
|
||||||
'ubuntu-universe-sponsors' not in subscriptions and
|
|
||||||
'ubuntu-archive' not in subscriptions):
|
|
||||||
return True
|
|
||||||
return False
|
|
||||||
|
|
||||||
def main():
|
|
||||||
(howmany, url) = check_args()
|
|
||||||
if len(url.split("?", 1)) == 2:
|
|
||||||
# search options not supported, because there is no mapping web ui options <-> API options
|
|
||||||
print >> sys.stderr, "Options in url are not supported, url: %s" %url
|
|
||||||
sys.exit(1)
|
|
||||||
|
|
||||||
launchpad = get_launchpad("ubuntu-dev-tools")
|
|
||||||
api_url = translate_web_api(url, launchpad)
|
|
||||||
try:
|
|
||||||
product = launchpad.load(api_url)
|
|
||||||
except Exception, e:
|
|
||||||
x = getattr(e, "response", {})
|
|
||||||
if response.get("status", None) == "404":
|
|
||||||
print >> sys.stderr, "The URL at '%s' does not appear to be a valid url to a product" %url
|
|
||||||
sys.exit(1)
|
|
||||||
else:
|
|
||||||
raise
|
|
||||||
|
|
||||||
bl = product.searchTasks()
|
|
||||||
|
|
||||||
l = filter(filter_unsolved, bl)
|
|
||||||
|
|
||||||
if not l:
|
|
||||||
print "Bug list of %s is empty." % url
|
|
||||||
sys.exit(0)
|
|
||||||
if howmany == -1:
|
|
||||||
howmany = len(l)
|
|
||||||
|
|
||||||
print """
|
|
||||||
## ||<rowbgcolor="#CCFFCC"> This task is done || somebody || ||
|
|
||||||
## ||<rowbgcolor="#FFFFCC"> This task is assigned || somebody || <status> ||
|
|
||||||
## ||<rowbgcolor="#FFEBBB"> This task isn't || ... || ||
|
|
||||||
## ||<rowbgcolor="#FFCCCC"> This task is blocked on something || somebody || <explanation> ||
|
|
||||||
|
|
||||||
|| Bug || Subject || Triager ||"""
|
|
||||||
|
|
||||||
for i in list(l)[:howmany]:
|
|
||||||
bug = i.bug
|
|
||||||
print '||<rowbgcolor="#FFEBBB"> [%s %s] || %s || ||' % \
|
|
||||||
(translate_api_web(bug.self_link), bug.id, bug.title)
|
|
||||||
|
|
||||||
|
|
||||||
if __name__ == '__main__':
|
|
||||||
try:
|
|
||||||
main()
|
|
||||||
except KeyboardInterrupt:
|
|
||||||
print >> sys.stderr, "Aborted."
|
|
||||||
sys.exit(1)
|
|
256
import-bug-from-debian
Executable file
256
import-bug-from-debian
Executable file
@ -0,0 +1,256 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
|
||||||
|
# Copyright © 2009 James Westby <james.westby@ubuntu.com>,
|
||||||
|
# 2010, 2011 Stefano Rivera <stefanor@ubuntu.com>
|
||||||
|
#
|
||||||
|
# ##################################################################
|
||||||
|
#
|
||||||
|
# This program 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 2
|
||||||
|
# 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, write to the Free Software Foundation, Inc.,
|
||||||
|
# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
|
||||||
|
#
|
||||||
|
# ##################################################################
|
||||||
|
|
||||||
|
# pylint: disable=invalid-name
|
||||||
|
# pylint: enable=invalid-name
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import logging
|
||||||
|
import re
|
||||||
|
import sys
|
||||||
|
import webbrowser
|
||||||
|
from collections.abc import Iterable
|
||||||
|
from email.message import EmailMessage
|
||||||
|
|
||||||
|
import debianbts
|
||||||
|
from launchpadlib.launchpad import Launchpad
|
||||||
|
|
||||||
|
from ubuntutools import getLogger
|
||||||
|
from ubuntutools.config import UDTConfig
|
||||||
|
|
||||||
|
Logger = getLogger()
|
||||||
|
ATTACHMENT_MAX_SIZE = 2000
|
||||||
|
|
||||||
|
|
||||||
|
def parse_args() -> argparse.Namespace:
|
||||||
|
parser = argparse.ArgumentParser()
|
||||||
|
parser.add_argument(
|
||||||
|
"-b",
|
||||||
|
"--browserless",
|
||||||
|
action="store_true",
|
||||||
|
help="Don't open the bug in the browser at the end",
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"-l",
|
||||||
|
"--lpinstance",
|
||||||
|
metavar="INSTANCE",
|
||||||
|
help="LP instance to connect to (default: production)",
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"-v", "--verbose", action="store_true", help="Print info about the bug being imported"
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"-n",
|
||||||
|
"--dry-run",
|
||||||
|
action="store_true",
|
||||||
|
help="Don't actually open a bug (also sets verbose)",
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"-p", "--package", help="Launchpad package to file bug against (default: Same as Debian)"
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--no-conf", action="store_true", help="Don't read config files or environment variables."
|
||||||
|
)
|
||||||
|
parser.add_argument("bugs", nargs="+", help="Bug number(s) or URL(s)")
|
||||||
|
return parser.parse_args()
|
||||||
|
|
||||||
|
|
||||||
|
def get_bug_numbers(bug_list: Iterable[str]) -> list[int]:
|
||||||
|
bug_re = re.compile(r"bug=(\d+)")
|
||||||
|
|
||||||
|
bug_nums = []
|
||||||
|
|
||||||
|
for bug_num in bug_list:
|
||||||
|
if bug_num.startswith("http"):
|
||||||
|
# bug URL
|
||||||
|
match = bug_re.search(bug_num)
|
||||||
|
if match is None:
|
||||||
|
Logger.error("Can't determine bug number from %s", bug_num)
|
||||||
|
sys.exit(1)
|
||||||
|
bug_num = match.groups()[0]
|
||||||
|
bug_num = bug_num.lstrip("#")
|
||||||
|
bug_nums.append(int(bug_num))
|
||||||
|
|
||||||
|
return bug_nums
|
||||||
|
|
||||||
|
|
||||||
|
def walk_multipart_message(message: EmailMessage) -> tuple[str, list[tuple[int, EmailMessage]]]:
|
||||||
|
summary = ""
|
||||||
|
attachments = []
|
||||||
|
i = 1
|
||||||
|
for part in message.walk():
|
||||||
|
content_type = part.get_content_type()
|
||||||
|
|
||||||
|
if content_type.startswith("multipart/"):
|
||||||
|
# we're already iterating on multipart items
|
||||||
|
# let's just skip the multipart extra metadata
|
||||||
|
continue
|
||||||
|
if content_type == "application/pgp-signature":
|
||||||
|
# we're not interested in importing pgp signatures
|
||||||
|
continue
|
||||||
|
|
||||||
|
if part.is_attachment():
|
||||||
|
attachments.append((i, part))
|
||||||
|
elif content_type.startswith("image/"):
|
||||||
|
# images here are not attachment, they are inline, but Launchpad can't handle that,
|
||||||
|
# so let's add them as attachments
|
||||||
|
summary += f"Message part #{i}\n"
|
||||||
|
summary += f"[inline image '{part.get_filename()}']\n\n"
|
||||||
|
attachments.append((i, part))
|
||||||
|
elif content_type.startswith("text/html"):
|
||||||
|
summary += f"Message part #{i}\n"
|
||||||
|
summary += "[inline html]\n\n"
|
||||||
|
attachments.append((i, part))
|
||||||
|
elif content_type == "text/plain":
|
||||||
|
summary += f"Message part #{i}\n"
|
||||||
|
summary += part.get_content() + "\n"
|
||||||
|
else:
|
||||||
|
raise RuntimeError(
|
||||||
|
f"""Unknown message part
|
||||||
|
Your Debian bug is too weird to be imported in Launchpad, sorry.
|
||||||
|
You can fix that by patching this script in ubuntu-dev-tools.
|
||||||
|
Faulty message part:
|
||||||
|
{part}"""
|
||||||
|
)
|
||||||
|
i += 1
|
||||||
|
|
||||||
|
return summary, attachments
|
||||||
|
|
||||||
|
|
||||||
|
def process_bugs(
|
||||||
|
bugs: Iterable[debianbts.Bugreport],
|
||||||
|
launchpad: Launchpad,
|
||||||
|
package: str,
|
||||||
|
dry_run: bool = True,
|
||||||
|
browserless: bool = False,
|
||||||
|
) -> bool:
|
||||||
|
debian = launchpad.distributions["debian"]
|
||||||
|
ubuntu = launchpad.distributions["ubuntu"]
|
||||||
|
lp_debbugs = launchpad.bug_trackers.getByName(name="debbugs")
|
||||||
|
|
||||||
|
err = False
|
||||||
|
for bug in bugs:
|
||||||
|
ubupackage = bug.source
|
||||||
|
if package:
|
||||||
|
ubupackage = package
|
||||||
|
bug_num = bug.bug_num
|
||||||
|
subject = bug.subject
|
||||||
|
log = debianbts.get_bug_log(bug_num)
|
||||||
|
message = log[0]["message"]
|
||||||
|
assert isinstance(message, EmailMessage)
|
||||||
|
attachments: list[tuple[int, EmailMessage]] = []
|
||||||
|
if message.is_multipart():
|
||||||
|
summary, attachments = walk_multipart_message(message)
|
||||||
|
else:
|
||||||
|
summary = str(message.get_payload())
|
||||||
|
|
||||||
|
target = ubuntu.getSourcePackage(name=ubupackage)
|
||||||
|
if target is None:
|
||||||
|
Logger.error(
|
||||||
|
"Source package '%s' is not in Ubuntu. Please specify "
|
||||||
|
"the destination source package with --package",
|
||||||
|
ubupackage,
|
||||||
|
)
|
||||||
|
err = True
|
||||||
|
continue
|
||||||
|
|
||||||
|
description = f"Imported from Debian bug http://bugs.debian.org/{bug_num}:\n\n{summary}"
|
||||||
|
# LP limits descriptions to 50K chars
|
||||||
|
description = (description[:49994] + " [...]") if len(description) > 50000 else description
|
||||||
|
|
||||||
|
Logger.debug("Target: %s", target)
|
||||||
|
Logger.debug("Subject: %s", subject)
|
||||||
|
Logger.debug("Description: ")
|
||||||
|
Logger.debug(description)
|
||||||
|
for i, attachment in attachments:
|
||||||
|
Logger.debug("Attachment #%s (%s)", i, attachment.get_filename() or "inline")
|
||||||
|
Logger.debug("Content:")
|
||||||
|
if attachment.get_content_type() == "text/plain":
|
||||||
|
content = attachment.get_content()
|
||||||
|
if len(content) > ATTACHMENT_MAX_SIZE:
|
||||||
|
content = (
|
||||||
|
content[:ATTACHMENT_MAX_SIZE]
|
||||||
|
+ f" [attachment cropped after {ATTACHMENT_MAX_SIZE} characters...]"
|
||||||
|
)
|
||||||
|
Logger.debug(content)
|
||||||
|
else:
|
||||||
|
Logger.debug("[data]")
|
||||||
|
|
||||||
|
if dry_run:
|
||||||
|
Logger.info("Dry-Run: not creating Ubuntu bug.")
|
||||||
|
continue
|
||||||
|
|
||||||
|
u_bug = launchpad.bugs.createBug(target=target, title=subject, description=description)
|
||||||
|
for i, attachment in attachments:
|
||||||
|
name = f"#{i}-{attachment.get_filename() or "inline"}"
|
||||||
|
content = attachment.get_content()
|
||||||
|
if isinstance(content, str):
|
||||||
|
# Launchpad only wants bytes
|
||||||
|
content = content.encode()
|
||||||
|
u_bug.addAttachment(
|
||||||
|
filename=name,
|
||||||
|
data=content,
|
||||||
|
comment=f"Imported from Debian bug http://bugs.debian.org/{bug_num}",
|
||||||
|
)
|
||||||
|
d_sp = debian.getSourcePackage(name=package)
|
||||||
|
if d_sp is None and package:
|
||||||
|
d_sp = debian.getSourcePackage(name=package)
|
||||||
|
d_task = u_bug.addTask(target=d_sp)
|
||||||
|
d_watch = u_bug.addWatch(remote_bug=bug_num, bug_tracker=lp_debbugs)
|
||||||
|
d_task.bug_watch = d_watch
|
||||||
|
d_task.lp_save()
|
||||||
|
Logger.info("Opened %s", u_bug.web_link)
|
||||||
|
if not browserless:
|
||||||
|
webbrowser.open(u_bug.web_link)
|
||||||
|
|
||||||
|
return err
|
||||||
|
|
||||||
|
|
||||||
|
def main() -> None:
|
||||||
|
options = parse_args()
|
||||||
|
|
||||||
|
config = UDTConfig(options.no_conf)
|
||||||
|
if options.lpinstance is None:
|
||||||
|
options.lpinstance = config.get_value("LPINSTANCE")
|
||||||
|
|
||||||
|
if options.dry_run:
|
||||||
|
launchpad = Launchpad.login_anonymously("ubuntu-dev-tools")
|
||||||
|
options.verbose = True
|
||||||
|
else:
|
||||||
|
launchpad = Launchpad.login_with("ubuntu-dev-tools", options.lpinstance)
|
||||||
|
|
||||||
|
if options.verbose:
|
||||||
|
Logger.setLevel(logging.DEBUG)
|
||||||
|
|
||||||
|
bugs = debianbts.get_status(get_bug_numbers(options.bugs))
|
||||||
|
|
||||||
|
if not bugs:
|
||||||
|
Logger.error("Cannot find any of the listed bugs")
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
if process_bugs(bugs, launchpad, options.package, options.dry_run, options.browserless):
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
105
lp-bitesize
Executable file
105
lp-bitesize
Executable file
@ -0,0 +1,105 @@
|
|||||||
|
#!/usr/bin/python3
|
||||||
|
"""Add 'bitesize' tag to bugs and add a comment."""
|
||||||
|
|
||||||
|
# Copyright (c) 2011 Canonical Ltd.
|
||||||
|
#
|
||||||
|
# bitesize 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, or (at your option) any
|
||||||
|
# later version.
|
||||||
|
#
|
||||||
|
# bitesize 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 bitesize; see the file COPYING. If not, write to the Free
|
||||||
|
# Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
|
||||||
|
# 02110-1301, USA.
|
||||||
|
#
|
||||||
|
# Authors:
|
||||||
|
# Daniel Holbach <daniel.holbach@canonical.com>
|
||||||
|
|
||||||
|
import argparse
|
||||||
|
import sys
|
||||||
|
|
||||||
|
from launchpadlib.errors import HTTPError
|
||||||
|
from launchpadlib.launchpad import Launchpad
|
||||||
|
|
||||||
|
from ubuntutools import getLogger
|
||||||
|
from ubuntutools.config import UDTConfig
|
||||||
|
|
||||||
|
Logger = getLogger()
|
||||||
|
|
||||||
|
|
||||||
|
def error_out(msg, *args):
|
||||||
|
Logger.error(msg, *args)
|
||||||
|
sys.exit(1)
|
||||||
|
|
||||||
|
|
||||||
|
def save_entry(entry):
|
||||||
|
try:
|
||||||
|
entry.lp_save()
|
||||||
|
except HTTPError as error:
|
||||||
|
error_out("%s", error.content)
|
||||||
|
|
||||||
|
|
||||||
|
def tag_bug(bug):
|
||||||
|
bug.tags = bug.tags + ["bitesize"] # LP: #254901 workaround
|
||||||
|
save_entry(bug)
|
||||||
|
|
||||||
|
|
||||||
|
def main():
|
||||||
|
parser = argparse.ArgumentParser(usage="%(prog)s [options] <bug number>")
|
||||||
|
parser.add_argument(
|
||||||
|
"-l",
|
||||||
|
"--lpinstance",
|
||||||
|
metavar="INSTANCE",
|
||||||
|
help="Launchpad instance to connect to (default: production)",
|
||||||
|
dest="lpinstance",
|
||||||
|
default=None,
|
||||||
|
)
|
||||||
|
parser.add_argument(
|
||||||
|
"--no-conf",
|
||||||
|
help="Don't read config files or environment variables.",
|
||||||
|
dest="no_conf",
|
||||||
|
default=False,
|
||||||
|
action="store_true",
|
||||||
|
)
|
||||||
|
parser.add_argument("bug_number", help=argparse.SUPPRESS)
|
||||||
|
args = parser.parse_args()
|
||||||
|
config = UDTConfig(args.no_conf)
|
||||||
|
if args.lpinstance is None:
|
||||||
|
args.lpinstance = config.get_value("LPINSTANCE")
|
||||||
|
|
||||||
|
launchpad = Launchpad.login_with("ubuntu-dev-tools", args.lpinstance)
|
||||||
|
if launchpad is None:
|
||||||
|
error_out("Couldn't authenticate to Launchpad.")
|
||||||
|
|
||||||
|
# check that the new main bug isn't a duplicate
|
||||||
|
try:
|
||||||
|
bug = launchpad.bugs[args.bug_number]
|
||||||
|
except HTTPError as error:
|
||||||
|
if error.response.status == 401:
|
||||||
|
error_out(
|
||||||
|
"Don't have enough permissions to access bug %s. %s",
|
||||||
|
args.bug_number,
|
||||||
|
error.content,
|
||||||
|
)
|
||||||
|
else:
|
||||||
|
raise
|
||||||
|
if "bitesize" in bug.tags:
|
||||||
|
error_out("Bug is already marked as 'bitesize'.")
|
||||||
|
bug.newMessage(
|
||||||
|
content="I'm marking this bug as 'bitesize' as it looks "
|
||||||
|
"like an issue that is easy to fix and suitable "
|
||||||
|
"for newcomers in Ubuntu development. If you need "
|
||||||
|
"any help with fixing it, talk to me about it."
|
||||||
|
)
|
||||||
|
bug.subscribe(person=launchpad.me)
|
||||||
|
tag_bug(launchpad.bugs[bug.id]) # fresh bug object, LP: #336866 workaround
|
||||||
|
|
||||||
|
|
||||||
|
if __name__ == "__main__":
|
||||||
|
main()
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user