-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathNEWS-buildd
1415 lines (1081 loc) · 61.1 KB
/
NEWS-buildd
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
2004-09-05 Ryan Murray <[email protected]>
* buildd-mail: get filelist from changes file first when processing
ACCEPTED/INSTALLED mail. Limit filename pattern to valid filename
characters if the changes file doesn't exist. Solves possible
remote execution vulnerability (non-existant in default setup).
2003-11-05 Ryan Murray <[email protected]>
* sbuild: display toolchain package versions
* sbuild: get build-essential information from the chroot, not
the root.
* sbuild: new --use-snapshot option that installs the gcc-snapshot
package as a build-depends, and sets the environment variables needed
to use it.
* buildd-mail: attempt to move installed packages to the apt cache dir
rather than deleting them. This saves bandwidth, as they will not
need to be downloaded again if they are build-depends, but uses a lot
of diskspace.
* wanna-build: add --clean-db option to free unused space in the dbm
file
* sbuild: set the state of installed build-dependencies to purge after
installation, so that in case of a crash, dpkg -P --pending should
remove all packages that no longer need to be there.
* sbuild: add $conf::build_env_cmnd to setup the build environment
for sparc32 building on sparc64 (and other things?)
* sbuild: add --binNMU=# parameter for use with --make-binNMU
for the case where more than one binNMU is needed between
upstream releases. defaults to 1.
* sbuild: remove unused --store-built-packages
* buildd: don't call sbuild with --store-built-packages
* sourcedeps-makerev: disable for now, needs a rewrite for apt
* update-sourcedeps: comment call to sourcedeps-makerev for now
* buildd-mail: check for a Distribution: line in signed changes files,
and at least one file.
* buildd: call apt-get autoclean after an apt-get update that updates
the apt package cache.
* buildd-uploader: don't upload what's in the current directory if we
can't chdir to the upload dir.
* buildd: fork and call setsid so we don't have a controlling terminal.
* abort-current-build: use /bin/kill instead of shell builtin
* add EXIT-DAEMON-PLEASE flagfile. buildd checks it once per loop
and will exit if found, taking the file with it. sbuild checks it
after finishing each build, and will exit when finished a job.
* Patch from Anthony Towns <[email protected]> to sort standard and higher
priorities higher, and add it to the front of the default order
characters (the new character is S). This has the effect of making
standard and higher uncompiled sort higher than all optional and
extra, which is ideal for Debian.
2001-01-11 Roman Hodek <[email protected]>
* FetchFile.pm: Various fixes for package pools (tnx to Dan for
patches).
* sbuild.conf.local: New variable %dist_aliases can be used to
translate distribution names (entries under dists/ on a mirror).
Currently needed for strange unstable -> sid symlink, which IMHO
should point to woody instead.
2000-10-19 Roman Hodek <[email protected]>
* sbuild: By Dan: Make sure that /etc/ld.so.conf is readable
before building.
* sbuild: Introduced local source dependency overrides with
%conf::srcdep_over defined in some config file. You can replace
deps on arbitrary packages with something else, e.g.
$srcdep_over{'libfoo1-dev'} = [qw(libfoo2 >= 2.0)];
* buildd-mail: Added preliminary PGP/MIME support by Dan.
2000-06-27 Roman Hodek <[email protected]>
* sbuild: There are two new section types for special
dependencies. The first is 'prepre', which contains a shell script
like 'pre', but the script is run *before* dependencies are
installed ('pre' is run afterwards).
The second new section is 'unpack'. You can list a number of
source package names there. sbuild will fetch the .dsc files and
unpack the source trees in the build dir. After the build, those
trees will be removed again. This can replace the dpkg-source
calls that were used in pre scripts. Their problem were that they
needed access to a local mirror, which can't be guaranteed now
with chroot environments.
2000-06-20 Roman Hodek <[email protected]>
* sbuild: For chrooted builds, call apt-get with a bunch of
options to relocate all relevant files instead of chrooting apt
itself. This makes it unnecessary to have the Debian archive to be
available from inside the chroot environment. Also dpkg and
apt-cache calls are chrooted with options now.
* buildd-addpkg: Also here apt-get is called with options instead
of chrooting it.
2000-06-19 Roman Hodek <[email protected]>
* buildd-addpkg: New option --chroot=DIR (can be given multiple
times). Causes apt-get update to be run chrooted for that dirs,
too.
* sbuild: If build was chrooted and produced source-deps, call
buildd-addpkg with --chroot options for all dists greater or
equal to the current one to get apt caches correctly updated.
* sbuild, sbuild.conf: New config var
@ignore_watches_no_build_deps. Watch packages listed there aren't
reported if the package has no Build-Depends. This is for things
like debhelper and debstd which are considered essential with
the central source deps but not with Build-Depends.
2000-06-13 Roman Hodek <[email protected]>
* sbuild: Also execute shell scripts of special dependencies in
chroot environment.
2000-06-09 Roman Hodek <[email protected]>
* rbuilder: Has been modified to use chroot environments. So you
finally can build stable packages on kullervo now without shared
library version problems!
It also uses wanna-build again, but doesn't give back packages
anymore so that the stable build daemon won't take them.
2000-06-08 Roman Hodek <[email protected]>
* sbuild: Implemented building in chroot environments. See
README.chroot-building for details.
* buildd-setup-chroot: New script for setting up a chroot
environment for sbuild. See README.chroot-building for details.
* README.chroot-building: New documentation for the above.
2000-06-06 Roman Hodek <[email protected]>
* sbuild: New option --source (-s): Also build source package,
i.e. don't call dpkg-buildpackage with -b or -B. Also
automatically switches on --purge=never.
2000-05-30 Roman Hodek <[email protected]>
* do-merge-{packages,quinn}: Rewritten in Perl and moved all
configuration to /etc/wanna-build.conf.local. It was really a mess
that those two scripts still had to be edited by hand... Also,
they support local mirrors and quinn-diff files now.
* buildd-addpkg: Local packages are now installed separated by
distributions to ~/AddPkg/DIST. With this, you can exclude e.g.
unstable packages from being installed on a frozen system by
excluding that directory from /etc/apt/sources.list. buildd-addpkg
has a new --dist option that defaults to unstable. --clean mode
always operates on all distributions.
* sbuild: Now calls buildd-addpkg with --dist option. Also does
automatically install freshly built packages only if
$conf::system_level is a "greater" or equal distribution that the
distro the pkg was built for. For example, if the system level is
"frozen", packages built for unstable won't be installed
automatically.
2000-05-16 Roman Hodek <[email protected]>
* sbuild: Do a chmod -R go+rX on the build tree before building,
so that files are readable. Some .orig.tar.gz's contain rather
restrictive permissions that are simply inconvenient.
2000-03-03 Roman Hodek <[email protected]>
* wanna-build: The deleting of Arch: all packages was a really Bad
Idea (TM)... It deleted all entries where *at least* one binary
packages was Arch: all, and that really wasn't what I meant...
Reverted this.
The correct solution: There's a --merge-source now that reads the
Sources.gz file (uncompressed) for a distribution and looks at
Arch: all packages. If such a package also exists in the database
with a less or equal version, the entry is deleted.
2000-03-02 Roman Hodek <[email protected]>
* wanna-build: If a package with Architecture: all appears in the
database, it probably just has changed to this arch. Just delete
it, it's not needed anymore.
* wanna-build: If a package disappears from quinn-diff in states
Building or Upload, delete is as well as it would have been
Needs-Build, Failed, or Dep-Wait.
* buildd-mail: Fixed a bug that caused check_building_any_dist to
fail. As a consequence, a package still could be deleted if it
became outdated and still was building in another dist.
2000-03-01 Roman Hodek <[email protected]>
* wanna-build: Introduced new concept of failed categories. See
README.failcat for more details. (New option --category == -c)
* README.failcat: new file.
* wanna-build: New options --min-age=DAYS (-a DAYS) and
--max-age=DAYS to restrict listed package depending on the time of
last state change.
* buildd-reply.el:There are two new functions:
buildd-bug-change-category changes the failed category of a failed
package; you use it from a mail buffer with a reply to the bug
report (if the maintainer hasn't changed the subject...); you are
prompted for a new category, which can be TAB-expanded.
buildd-bug-comment adds next text to the fail message of a
package; used the same way as buildd-bug-change-category above,
but you can insert arbitrary text; with [CAT] you can also
set/change the category.
I've also changed keybindings: C-c C-a (formerly
buildd-bug-ack-append) is now a prefix for 3 bindings that append
something to fail messages:
C-c C-a C-n -> buildd-bug-ack-append (i.e., append a bug number)
C-c C-a C-a -> buildd-bug-comment (append arbitrary text)
C-c C-a C-c -> buildd-bug-change-category
* buildd: In get_changelog, remove an epoch if using the package
name as part of a file name.
* sbuild: Also match error message "dpkg: status database area is
locked" from apt and retry call later.
2000-02-23 Roman Hodek <[email protected]>
* wanna-build: Added a warning for packages that have a newer
version in the database than in quinn-diff, and the state is one
of Installed, Install-Wait, Reupload-Wait, or Not-For-Us. In those
cases, the newer version is questionable... it could be caused by
a lame mirror, or it is an error in the db. During --merge-quinn,
wanna-build now checks for such cases and if it detects some, it
sends a mail about them to the admin.
2000-02-16 Roman Hodek <[email protected]>
* sbuild: Fix support for !needs-no-XXX deps (should now work as
advertised :-)
* sbuild: A package log contains now the version number of sbuild.
2000-02-15 Roman Hodek <[email protected]>
* sbuild: Improved warnings about missing central source
dependencies: The list of package build dependencies is now not
only dependency-expanded, but also virtual packages among them are
expanded to an alternative of all providing packages. That way, a
concrete package in the central deps shouldn't any longer be
reported as missing if the build deps contain a corresponding
virtual package. (E.g.: build dep is libncurses-dev, central deps
contain libncurses5-dev.)
2000-02-11 Roman Hodek <[email protected]>
* sbuild: Do not show warnings that !this-package-does-not-exist
or !needs-no-XXX type dependencies are missing in the package
build dependencies.
* sbuild: Do not activate watches for dependencies of build deps
and not for packages where a !needs-no-XXX dep exists.
2000-02-04 Roman Hodek <[email protected]>
* wanna-build: --no-build now also propagates the new state to
other distributions, which makes it consistent to the other
actions.
* wanna-build: new options --no-propagation (-N) and
--no-down-propagation (-D) which suppress state propagation at all
or to ``smaller'' distributions, resp. The former is sometimes
useful for manually fixing things (e.g. a package fails only in
stable due to the build environment, but not in unstable).
--no-down-propagation is useful for the build daemon to avoid
unwanted propagations.
* buildd, buildd-mail, buildd-uploader, sbuild: Use
--no-down-propagation in wanna-build calls.
2000-01-28 Roman Hodek <[email protected]>
* sbuild: Finally let it also accept abbrevs for distributions (s,
f, and u).
* buildd-reupload: Now finally can completely reconstruct a
.changes from the source package and the existing binary packages
that should be re-uploaded for different distributions. This
finally makes the script usable :-)
* buildd-reupload added to install and update-buildd scripts.
* sbuild: New option --make-binNMU='message'. This will create a
new changelog entry for a binary-only NMU. The message in the
option will be used as description in the changelog (it may
contain newlines and will be formatted properly). Please note that
the version number in the package argument(s) still must be the
existing, non-NMU versions so that sources can be downloaded. The
version in the logfile etc. will be modified automatically. An
bin-NMU entry won't be created twice in the same build tree.
2000-01-27 Roman Hodek <[email protected]>
* buildd: Remove $DISPLAY from the environment. The variable
doesn't make sense when running in the background.
2000-01-20 Roman Hodek <[email protected]>
* buildd-mail: Allow "give-back" as answer to a Should-I-Build
question.
2000-01-18 Roman Hodek <[email protected]>
* buildd-mail: "not-for-us" or "no-build" are now valid answers to
a Should-I-Build question. This is handy if a package is now arch
specific or the like.
* buildd-mail: Fix outdated handling (packages are only outdated
in a distrib if they were reported to be so...)
* buildd-mail: If a package is reported as being outdated now,
skip the build and/or delete the files only if we're not still
building it in any other distribution.
2000-01-13 Roman Hodek <[email protected]>
* sbuild: Pass the --force-confold option to dpkg only if the
version is before 1.4.1.18. Those old versions don't understand
the option and fail. Newer versions need it, because they fail if
they ask the conffile question and stdin is /dev/zero.
1999-12-17 Roman Hodek <[email protected]>
* sbuild: even more improved printout of missing central
dependencies check. First sbuild reads the list of build-essential
packages (as according to policy, from the build-essential
package) and expands its dependencies. Those packages are filtered
out and separately. They should never be mentioned in
Build-Depends. Next, dependencies of the Build-Depends are
expanded and those missing deps are also printed separately. It
depends on the circumstances if those should be reported. This all
together should make bug reports based on the sbuild warnings more
reliable.
1999-12-08 Roman Hodek <[email protected]>
* sbuild: allow multi-line build dependencies when reading a .dsc.
Those are actually forbidden is you look into packaging manual
closely, but too many packages use them...
* sbuild: Fix a bug in reading packages status: If a name was both
provided and a real pkg name (probably an old one), the
"not-installed" on the real pkg could set the installed status to 0.
* sbuild: Special dependencies (those with a '*') are always
implicitly overrides, i.e. they're added to package-supplied build
dependencies.
1999-12-03 Roman Hodek <[email protected]>
* sbuild: When using source deps from a .dsc, compare them with
the central deps and report any missing things. It seems that many
packages lack some deps at the first try, and this aids reporting
bugs.
1999-11-30 Roman Hodek <[email protected]>
* sbuild: When a package has its own source dependencies in the
.dsc, store them in a file debian/.sbuild-build-deps in the build
tree. This is needed when the package is later built again and the
.dsc isn't available anymore. If a sbuild argument is a directory
(building from tree without .dsc), look if this file exists and if
yes, read build deps from it.
* sbuild: Print a message to the log if package build deps are
used. It already happened sometimes that I searched for an error
in madd_sd-* or andrea, but the bad dependencies came from the
packages :-) Such a message at least reminds you where to look...
1999-11-12 Roman Hodek <[email protected]>
* buildd: There's a new config variable, $secondary_daemon_threshold,
in buildd.conf. It's intended for secondary daemons that should
start building only if the primary daemon(s) are overloaded. The
threshold gives a number of Needs-Build packages that must be
reached before the secondary starts off.
1999-10-29 Roman Hodek <[email protected]>
* Fixed buildd statistics: The packages given back by sbuild
weren't recorded, so some figures were a bit corrupted (specially
processed). sbuild now appends 1 for each given-back pkg if it's
given the new option --stats-dir. buildd passes that option.
buildd-watcher knows about the new stats file and prints it in the
summary.
* buildd-addpkg: If apt-get update fails with "E: Could not get
lock", try again a minute later.
* sbuild: Make apt always pass --force-confold to dpkg. The
</dev/null trick doesn't work anymore with dpkg >= 1.4.1.18 (it
gives an error on the conffile question if it read EOF.)
* sbuild: If using an already unpacked source tree, check if it's
really the version we want to build. (The requested version could
be different in the Debian revision, and you can't see that on the
directory's name.)
1999-10-25 Roman Hodek <[email protected]>
* New script buildd-clean-upload: It removes all jobs (.changes +
associated files + .upload) that are installed in the archive
(must be local or NFS mounted). I needed this now, because
INSTALLED mails from maor-installer don't come through at the
moment. But it's more a quick fix that can be useful later, too,
than a real part of buildd.
1999-10-21 Roman Hodek <[email protected]>
* New script buildd-addpkg that maintains a private package
archive for apt. buildd-addpkg copies a list of (reshly built)
packages to ~/AddPkg and updates the Packages file there. Older
versions of the pkg that existed in AddPkg/ are removed. Then
apt-get update is called to make the installed pkgs available for
apt. If called with --clean, buildd-addpkg checks apt knows about
the packages in AddPkg/ from somewhere else and removes those.
~buildd/AddPkg should be in the last line of your
/etc/apt/sources.list.
* sourcedeps-makerev: New script that builds a reverse index of
source dependencies, i.e. a list of all packages that are a
referenced as source dependency. It is called now by
update-sourcedeps after installing a new file, and the reverse
index is stored as /etc/source-dependencies-DIST.rev. It is read
by sbuild if called with --store-built-packages.
* sbuild: New option --store-built-packages=PROG. PROG is a
program that makes built packages available for apt and is usually
buildd-addpkg. If this option is given, sbuild checks after each
build if any of the produced packages is a source dependency. If
yes, it is scheduled for installation. Also installed are packages
that already scheduled packages depend on (maybe via Provides:)
and that were also built. All those packages are passed to PROG,
which makes the available for apt.
Finally, if one of the src-dep packages is already installed and
it's not in @conf::no_auto_upgrade, apt is called to install the
new version.
* buildd: Now calls sbuild with --store-built-packages=buildd-addpkg
if that tool exists and $conf::no_store_packages isn't set
(default).
1999-10-06 Roman Hodek <[email protected]>
* buildd-mail: before actions on retry, fail, dep-ret, man,
give-back and should-I-build replies are executed, check that the
state is Building in the given version. This should avoid that old
mails (stalled in a queue somewhere) cause wrong things to be done
on outdated stuff. Little exception: If a "fail" answer appends a
bug number, the required state is Failed instead.
Also, on should-I-build replies there is a check for outdated
packages.
* buildd-mail: There are now different error messages for the
reply mail and the log. Often the messages were too verbose for
the log.
* buildd-mail: Logging of queue daemon messages can be turned off
by $log_queued_messages = 0 in ~/buildd.conf.
* buildd-mail: Before moving a package to the upload dir, every
.deb is checked for correct md5 checksum. It happened in the past
that a package was built twice (due to errors) overwriting the
.debs. And if you then acknowledged the older log the md5sums didn't
match, resulting in later errors in the queue or on master.
* buildd: Removed message "DEBUG: not taking ... because given
back recently".
1999-09-22 Roman Hodek <[email protected]>
* buildd-mail: Fix a bug that caused outdated packages to be added
to REDO sometimes on "retry" mails.
1999-09-02 Roman Hodek <[email protected]>
* finish-build: I've added this script I'm using for some time to
CVS now. It's used to finish builds that aborted and that were
fixed manually. It runs the binary-arch if no debian/files exists,
generates a .changes and sends a mail like sbuild would have done.
1999-09-01 Roman Hodek <[email protected]>
* {wanna-build,sbuild,buildd}.conf: All config files split into
local and shared parts. The shared parts are to be modified by the
buildd author only. The local parts contains some variables of
local nature (mail addresses etc.) and also can override shared
values. To keep compability with the previous names, the local and
shared files are named as follows:
| shared file | local file
-------------+-------------------------+----------------------------
wanna-build | /etc/wanna-build.conf | /etc/wanna-build.conf.local
sbuild | /etc/sbuild.conf | /etc/sbuild.conf.local
buildd | /etc/buildd.conf.global | ~buildd/buildd.conf
Except for buildd.conf, the shared file reads in the local file at
the end. For buildd.conf, it's the other way round.
On installation the shared files can be replaced without
questions, so don't make modifications there. These should go into
the local files.
* buildd: Additionally check /etc/buildd.conf.global for changes
and re-read configuration then.
* buildd-mail, buildd-watcher: Add a special check for error
mails: If more than 5 mails from a mailer daemon are received
within less than $conf::error_mail_window (default 8 hours),
they're not forwarded anymore to avoid possible mail loops. (This
happens if the error is about the admin address itself.) The dates
of error mails are stored in the new file ~buildd/mail-errormails.
buildd-watcher regularily purges old entries from this file and
removes it if it becomes empty.
1999-08-27 Roman Hodek <[email protected]>
* sbuild: --auto-give-back has a new optional argument giving the
user and hostname where to call wanna-build (like $conf::sshcmd of
buildd). This is needed that sbuild can do give-backs when there's
no local wanna-build. If the argument is missing, wanna-build is
called locally. Otherwise, it's used like
--auto-give-back=[[WBUSER@]USER@]HOST
An ssh calls is made as USER to HOST, and wanna-build called there
with --user=WBUSER. If WBUSER is missing, it's the same as USER.
If both are missing, the local username is used for both.
* buildd: Passes the new --auto-give-back arg to sbuild now if
$conf::sshcmd is set. Also correctly uses
--user=$conf::wanna_build_user when taking packages.
1999-08-26 Roman Hodek <[email protected]>
* buildd-reply.el: Fixed several problems of alphabetical ordering
with buildd-edit-manual-source-deps (C-c C-s). New function
buildd-add-sd-map (C-c C-v) for editing sd_map files.
1999-08-23 Roman Hodek <[email protected]>
* wanna-build: When merging a Packages file, ignore entries for
foreign architectures (including Arch: all). This is necessary for
merging the Packages from proposed-updates, and this includes
.debs for all archs.
* do-merge-packages: Also merge Packages from proposed-updates.
* Many changes in sbuild:
* Support for alternatives in src-deps. This means you can have
dependencies like "foo | bar (>= 1.2)". The installation is
handled as follows:
- If at least one alternative is installed in a matching version,
nothing has to be done.
- If at least one alternative is installed, but in the wrong
version, the first such alternative is tried to upgrade.
- If no alternative is installed, the first one is installed.
- If all alternatives would need a downgrade to satisfy the
version constraint, sbuild bails out that it can't do this.
The decision which package to install or upgrade is made before
apt is called and can't be changed later (yet). This means that,
e.g., if the first alternative is not installable but the second
would be, the package fails nevertheless. I might work on this in
future...
* Src-deps can now contain the [ARCH1 !ARCH2] architecture
restrictions that will be used soon by the Build-Depends: field in
the .dsc. The semantics are: The dependency is ignored if the
current build arch isn't mentioned in the list, or if it's
mentioned with a '!' prefix. The arch restrictions come after the
version relation (if present) and apply to single alternatives.
Example:
foo: svgalib (>= 1.3) [i386 alpha] | svgalib-dummy [!i386 !alpha]
* sbuild now checks the .dsc file for Build-{Depends,Conflicts}:
fields and uses those as src-deps if present. (The *-Indep variants
are also used if the --arch-all option is given.) The deps from
the .dsc override the ones from /etc/source-dependencies*, as they
are considered to be newer and/or more exact. However, there's
still a way to add dependencies to packages that come already with
src-deps: If you prefix a dep with '&' in the central src-dep
file, those deps won't be thrown away.
* There's a new feature of abbreviations in src-deps. You can
define them by
abbrev FOO = foo, bar, yxy
anywhere in the source-dependencies-* file. Then FOO can be used
just like any other package name. It will be replaced by "foo,
bar, yxy" later. Abbrevs can't be used with version relations and
inside alternatives.
* New options: --arch-all (-A) also builds Arch: all packages
(uses dpkg-buildpackage -b instead of -B); --add-depends (-a)
like -f, but doesn't override existing deps completely but adds to
them.
* sbuild now only parses the src-deps for package which should be
compiled. This should reduce the start-up time a bit.
1999-08-10 Roman Hodek <[email protected]>
* wanna-build: Allow section names like non-US/non-free when
parsing a quinn-diff. (The section can contain letters, digits, -,
and / now.)
* do-merge-{packages,quinn}: New config var $section, can be more
than just main (default is "main non-US/main"). Both scripts now
import data from all sections in $section. ftp.uni-erlangen.de
provides the necessary quinn-diff data.
Both scripts now also print the names of the files downloaded and
which will be merged.
* sbuild: Virtual packages as source dependencies didn't really
work yet... An alternative was installed ok, but the following
consistency check didn't see the provided package, because it used
dpkg --status, and that doesn't know virtual packages.
Solution: get_dpkg_status() now directly reads
/var/lib/dpkg/status (which should be a bit faster, too) and
parses the Provides: fields of installed packages. Provided
packages are considered installed for src-dep purposes.
* sbuild: Make some more messages go to the package log (instead
of the sbuild log, where they didn't belong). Also fix the
stdout/stderr redirecting when running scripts of special deps.
* FetchFile.pm: Redirect output of ftpget (lftp code).
* Buildd.pm: Increase lock_interval from 5s to 15s, giving a total
try time of 30m. I've seen cases where a valid lock has been
broken because it existed too long. This shouldn't happen.
1999-08-09 Roman Hodek <[email protected]>
* buildd-mail, buildd-uploader: support for non-US packages
There's a new dir upload-non-US for packages that should go to the
non-US server. buildd-mail automatically recognizes such packages
if the .deb sections contain the string "non-US"
(case-insensitive). Also packages listed in @conf::non_us_packages
are moved to this upload dir.
Acknowledged packages are moved to the appropriate upload dir
(upload/ or upload-non-US/). When removing a job from the upload
dir (either if it has been installed into the archive, or on the
upload-rem command), check if the changes file is in upload-non-US
and use this dir then.
buildd-uploader simply uploads packages from both dirs. The
dupload in upload-non-US use a --to option of
$conf::dupload_to_non_us (default "non-us"). Please make sure you
can upload there without questions for passwords etc.
* buildd.conf: New config vars $dupload_to_non_us and
@non_us_packages.
* sbuild.conf: Add non-US/main to @do_dists, remove non-us (seems
obsolete).
1999-08-04 Roman Hodek <[email protected]>
* wanna-build: When taking a package, print the warning that
previous version failed also if the previous state was
Failed-Removed.
* buildd*: Implemented the collecting of some statistical data.
All the figures are written to files in ~/stats, where some script
will pick them up. Written files are: taken, builds, uploads,
failed, dep-wait, no-build, idle-time, and build-time.
* buildd-watcher: Implemented statistics summary, which is mailed
once per week.
* buildd.conf: two new config vars: $statistics_period and
$statistics_mail.
1999-08-03 Roman Hodek <[email protected]>
* wanna-build: I hope I've found out now what caused the
HASH(0x........): fields which corrupted the databases from time
to time. (It is something between unexpected Perl behaviour and a
proper bug in perl-5.005.)
1999-07-28 Roman Hodek <[email protected]>
* rbuilder: Don't use wanna-build anymore at all -- it caused too
many problems (If a package was given back, the new version was
Needs-Build and the daemon grabbed it, but couldn't download the
source; often distribution lines confused users; ...) The code is
still there, but deactivated by $main::use_wb = 0.
* rbuilder: Don't remove the build dir if upload failed or on
.changes inconsistencies. Such stuff can probably be fixed
manually and the packages doesn't need be rebuilt.
1999-07-27 Roman Hodek <[email protected]>
* buildd: New config variable $idle_sleep_time (in buildd.conf)
instead of hardwired pause of 5 minutes between list-needs-build
calls.
* wanna-build: --info -dist=all created non-existing databases
(e.g. for frozen); fixed.
1999-07-23 Roman Hodek <[email protected]>
* wanna-build: Avoid that MTAs add domains to From: or To:
addresses: Add the local domain to the to addr if it doesn't
contain a domain yet. Also add a explicit From: header, as the MTA
might use the plain username otherwise.
* rbuilder: If the package can't be built or uploaded
successfully, give it back so it can be retried later.
1999-07-21 Roman Hodek <[email protected]>
* FetchFile.pm: Made the FTP downloading (via the Perl-internal
Net::FTP module, not lftp) more fault-tolerant. If the received
file is smaller than expected, it is retried as long as each try
increases the file size.
* buildd-mail-wrapper now sets the umask to 022, because some
mailers seem use 077, which makes the files in ~/upload unreadable
for others.
1999-07-09 Roman Hodek <[email protected]>
* check-security-uploaded: New script; to be run from crontab of
wanna-build db admin. It downloads the Packages files from
security.debian.org and compares the packages there with the ones
that 'rbuilder' is currently building. If such packages are found
to be installed, they're set to 'Uploaded' to avoid old-build
mails.
* rbuilder: Now maintains a file "builders" where it stores
package names + versions and the email addresses of the people who
requested to build those packages. The addresses are used for
old-build mails: They're forwarded to the responsible person
instead of being rejected because they're not PGP-signed.
1999-06-21 Roman Hodek <[email protected]>
* sbuild: Also recognize new message "Package file ... is out of
sync" from apt-get and run apt-get update.
1999-06-18 Roman Hodek <[email protected]>
* rbuilder, wanna-build-mail: Both now support also GnuPG for
signing the mails.
* wanna-build-mail: Now can also parse mails signed with MIME/PGP,
like rbuilder.
1999-06-14 Roman Hodek <[email protected]>
* wanna-build: Now packages can also changed from Installed to
Installed if a newer version than registered in the database
appears in the Packages file. This can happen if someone uploads a
package without any wanna-build interaction. Formerly, only the
Installed-Version: was updated, but not Version:.
* wanna-build: Don't use getlogin() anymore for determining the
user name; it returns wrong results if su has been used (returns
the user you su-ed from).
* rbuilder: Keep the logs for all requested builds for 100 days in
a logs/ subdir.
* rbuilder: In error replies, quote the mail that caused the
error.
* rbuilder: If taking a package fails, report the wanna-build
messages to the user.
* rbuilder: Fix silly syntax error ($main::wanna-build instead of
$main::wanna_build).
1999-06-09 Roman Hodek <[email protected]>
* sbuild: Fixed some silly errors with global patches: Accept them
at all when parsing the source-dependencies file; fix the loop in
apply_patches to handle the args consistently; don't let the build
fail if a global patch didn't apply.
1999-06-08 Roman Hodek <[email protected]>
* wanna-build: When reading quinn-diff output, accept empty
sections and priorities. (Those are generated by quinn-diff now on
packages from proposed-updates.) The empty values are replaced by
"unknown".
1999-06-04 Roman Hodek <[email protected]>
* sbuild: When giving back a package, don't forget the --dist
option to wanna-build.
* sbuild: Added support for virtual packages in source
dependencies. When sbuild tries to install such a package, apt-get
will tell it which alternatives exist. One of these is substitued
for the virtual package and apt-get will be retried. Which one to
use is either determined by %conf::alternatives or more or less by
random (first one listed).
1999-06-02 Roman Hodek <[email protected]>
* sbuild: Removed as many die's as possible. The error exit status
caused by die can let buildd retry all jobs of this sbuild run,
even if some have already been finished.
* sbuild: Make sure that we're in the correct directory after a
build (some chdir()s in error cases were missing). Also don't use
chdir(".."), because we may have followed a symlink; better use
the absolute path of the wanted dir.
* sbuild: If the directory where a package should be unpacked
already exists but is a symlink, then complain.
* sbuild: With --batch write each finished job to a file
SBUILD-FINISHED. buildd can look at this file if sbuild crashed
for jobs that need not be rebuilt.
* buildd: If sbuild exited with error status and hasn't dumped
unfinished jobs to REDO itself, look for SBUILD-FINISHED to sort
out jobs that don't need rebuilding.
* check-old-builds: Add /usr/local/bin to $PATH if not included yet.
1999-06-01 Roman Hodek <[email protected]>
* buildd-mail: Now creates the upload directory if it didn't exist
yet. And if not all files belonging to an upload could be moved
there, abort with an error.
* Removed some more hardcoded paths to binaries in buildd and
buildd-watcher.
1999-05-31 Roman Hodek <[email protected]>
* sbuild: The du after the build (to get the total space required)
is now run under sudo, because under some debian/tmp-like some
dirs can not be accessible to normal users.
* buildd.conf: Added build/{HOLD-BACK,Attic} to $no_warn_pattern.
* In all scripts remove calls to aliases of wanna-build (the
list-needs-build, build-info etc. symlinks) and use wanna-build
itself with appropriate option instead. This removes the necessity
to have the symlinks; you may still want them for typing
convenience...
* Removed hardcoded /usr/local paths.
* Removed hardcoded /usr/local/var/debbuild paths from do-merge-*
scripts. They extract the database dir now from
/etc/wanna-build.conf.
1999-05-26 Roman Hodek <[email protected]>
* wanna-build: Introduced epochs in the database (they were
ignored until now); now finally packages that have changed epoch
go to state Needs-Build automatically. You're still allowed to
omit the epoch in the usual commands (version comparison is fuzzy
here) to still be able to pass file names as arguments. However,
the input of --merge-packages and --merge-quinn must be exact can
contain epochs.
Caution #1: If the quinn-diff piped into wanna-build ignores epochs,
you need to set $ignore_epochs in /etc/wanna-build.conf.
Caution #2: When you install this wanna-build version (1.102) and
have an existing database without epochs, run --merge-packages and
--merge-quinn once with the --introduce-epochs option.
Caution #3: Epochs are also added for currently building packages.
buildd-mail might be confused by this if in the subjects of mails
the epoch is still missing. You must add the epoch manually in
this case.
Caution #4: The automatic adding of epochs fails in one case: If
someone has taken a version newer than what quinn-diff knows (e.g.
a NMU planned) and that version was meant already with the epoch.
In this case wanna-build will reset the state to Needs-Build and
send you a new-version-while-building notice. Just re-take the
package.
* sbuild: Ignore epochs when fetching source files.
* sbuild: If dpkg-source -x fails, remove the .tmp-nest dir if
it's left over.
* buildd-mail: Fix extraction of error message again (for replies
to should-I-build mails): ignore empty parts between separators.
* buildd-mail: Ignore epochs when constructing the name of a
changes file or the name of a build directory.
* wanna-build: If you take a package you have already taken, you
don't get an error message anymore ("NOT OK; already taken by
USER") but a notice instead that you already own the package and
an ok.
1999-05-17 Roman Hodek <[email protected]>
* Fixed /tmp insecurity on wanna-build --manual-edit.
1999-05-04 Roman Hodek <[email protected]>
* sbuild: After a build the disk space required for it is
determined (final size of build dir before purging + size of
generated .deb's) and printed in the package log. Additionally,
the figure is stored in a new database avg-build-space, analogous
to avg-build-time. However, the calculation of the "average" is
different. Since disk space isn't expected to vary as much as
times, the last figure seems more important than later ones.
Therefore, max. 4 numbers are stored, and when calculating the
average, the latest is weighted with factor 4, the next with 3 and
so on.
* avg-pkg-build-time: Can now dump the space db, too, with option
--space (-s), or if called as avg-pkg-build-space. Output format
for space is a bit different, but adding, dumping, sorting etc.
works as usual.
1999-05-03 Roman Hodek <[email protected]>
* sbuild: After unpacking a source, run "chmod -R g-s" on it. Some
.orig.tar.gz files seems to be packaged with the setgid bit on,
which causes the debian dir and its subdirs (e.g. debian/tmp) to
be created setgid, too; and later dpkg-deb --build complains about
bad permissions.
1999-04-26 Roman Hodek <[email protected]>
* rbuilder: Now can also parse mails signed with MIME/PGP.
1999-04-21 Roman Hodek <[email protected]>
* sbuild: sbuild can now check if certain binaries have been used
during a package build (to update the source dependencies). The
check just looks for access time of the binary being later than
the start of the build, so it could be fooled by parallel
activities on the machine. So better check manually...
There's a new config var %watches where one can list all the
packages and binaries therein to watch for.
1999-03-12 Roman Hodek <[email protected]>
* sbuild: New option --force-depends (-f) to override source
dependencies of a package, in case they're wrong. The argument
should be a line in the same format as used in
/etc/source-dependencies.
1999-03-08 Roman Hodek <[email protected]>
* wanna-build: On --merge-packages, it can happen that multiple
versions exist for one source package (if old binary packages
from the same source haven't been removed from the archive yet).
So skip a package in Packages not always if the same (source)
packages has already been processed, but only if also the versions
match. That way, all versions will be processed.
* wanna-build: New option --pretend-avail. The packages given on
the command line (versions required) are treated as if they're
installed, and packages waiting for them are moved from Dep-Wait
to Needs-Build (if other dependencies are available, too, of
course).
To make implementation of this easier, the Depends: list of a
package in state Dep-Wait is now shortened each time a dependency
is available.
1999-03-07 James Troup <[email protected]>
* andrea, merger: new option --architecture (-a) to define the
architecture and override the default as set by the output of dpkg
--print-architecture.
1999-03-05 Roman Hodek <[email protected]>
* FetchFile: Bigger redesign of caching: Do not cache all file
names anymore, but only directory names. Building a full cache
takes some time, specially if for a FTP site. And most of the
infos is never needed, specially if compiling only one package.
Additionally, the full cache must be cleared rather often after
"not found" results, because the mirror might have changed. This
isn't necessary if caching dir names, because they're very
unlikely to change. The new cache should be a major speedup for
single-package builds and/or if several source packages must be
fetched from a FTP site.
* sbuild: No not remove build-progress if not writing it (no
--batch).
* sbuild: New option --purge (-p) to define build dir purge mode