1. Automated Repository Synchronization
  2. rmake

Source

rmake / NEWS

  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
Changes in 1.0.19:
  o Client changes:
     * rMake will now use user-specified conaryProxy, overriding the
       use of rmake's internal proxy. (RMK-850)
  o Bug Fixes:
     * Handle a case where restarting a job would override a package's logPath
       even though the trove before it had no log. (RMK-827)
     * Fixed a logic error wherein a reused variable caused loading jobs 
       with multiple contexts to get slower and slower for each additional 
       context used. (RMK-853)

Changes in 1.0.18:
  o Bug Fixes:
     * Initially, rmake was not compatible with having recipe superclasses
       on the filesystem.  That incompatibility has been removed, although
       currently rmake simply ignores all filesystem superclasses. (RMK-834)
     * Allow building of redirect checkouts. (RMK-841)
     * The robustness of job stopping has been improved. (RMK-843)

Changes in 1.0.17:
  o Bug Fixes:
     * Checkouts of redirects can now be built in rmake. (RMK-754)
     * Fixed an incompatibility between rmake 1.0.16 and conary 2.0.8
       related to signed updates (RMK-702)

Changes in 1.0.16:
  o Client changes:
     * Added the rebuild command and the --ignore-rebuild-deps and
       --ignore-external-rebuild-deps flags.  See the man page for more
       information. (RMK-783)

  o Bug Fixes:
     * Make sure group recipe source files (group scripts) are handled
       correctly when building .recipe files. (RMK-785)
     * A change in the signed key handling in conary 2.0.7 caused the
       installation of signed packages whos keys are not in already in
       /etc/conary/pubring.gpg to fail in rmake.  Signed updates now work
       in rmake with conary 2.0.7. (RMK-702)

Changes in 1.0.15:
  o Bug Fixes:
     * Building a group and its included troves as .recipe files now orders
       the group after the packages correctly. (RMK-770)
     * You may now build a .recipe that references a source file in the 
       current directory that has not been cvc added and rmake will add it
       for you (RMK-771)
     * A backwards incompatibility was added to conary 2.0.5 that caused it
       to no longer work with rMake.  This version of rMake fixes that
       backwards incompatibility.
     * Recipe files that modify the upstream version would fail to build with
       rmake 1.0.14, giving a cryptic error message.  Both the cause of the 
       failure and the error message for similar bugs have been fixed. (RMK-775)
Changes in 1.0.14:
  o Client Changes:
     * Added a "rmake load" command and "--to-file" parameter to build command
       to allow the information about a job to be encapsulated and sent 
       between rmake instances. (RMK-522)
     * A "--show-config" flag was added to "rmake query". This displays the
       configuration used for the specified job. (RMK-624)
     * Added --clear-prebuilt-list option for "rmake restart".  This option
       will run the same job as before but not mark any packages as 
       prebuilt (RMK-729).
     * Removed rmake-xml + rmake.desktop files used for integration w/
       rBuilder.  That integration is being removed and something else will
       replace it. (RMK-749)
  o Bug Fixes:
     * Fixed a traceback when building multiple packages without a parent 
       branch (RMK-732)
     * Added back compatibility with conary < 1.2.6. (RMK-741)
     * restart now will not update the version of groups used to recurse
       when --no-update is used (RMK-735)
     * Prebuilt packages are now displayed in query --troves output. (RMK-707)
     * The Conary database from the chroot is removed before attempting to
       clean up the chroot itself. This helps when the latter fails by not
       leaving a Conary database that could potentially confuse rmake if it
       chooses to reuse the chroot. (RMK-698)
     * the currently running rmake no longer installs itself into
       /usr/lib/python2.4/site-pacakges/rmake, using 
       /usr/share/rmake/rmake instead.
     * The --config option will now correctly override values set in a
       context. (RMK-748)
     * For conary versions 1.2.16 or greater, rMake will do a better job
       of correctly recording the build requirements that it uses when more
       than one version of a package is installed into a chroot. (CNY-2427)
     * Fixed a bug in dependency resolution that would affect rmake repositories
       where an older x86_64 build version was competing with a newer x86 
       version built in the same job. (RMK-761)
     * Chroots that have been removed will no longer show up in "list chroot"
       output (RMK-724)


Changes in 1.0.13:
  o Client Changes:
     * If your job is queued, the location in the queue is
       displayed. (RMK-640)
     * A "--clear-build-list" flag to the "rmake restart" command to
       remove all previously specified packages from a
       restart. (RMK-687)
     * A "--to-file" argument as been added to the "rmake commit"
       command.  When used, a changeset file will be created with the
       specified name but the build will not be committed to the
       repository.
  o Server Changes:
     * The server now stores the identity of the person who started a
       job.  (RMK-652)
  o Protocol Changes:
     * The protocol between clients and servers is better versioned,
       to make detection of out-of-date clients of servers
       easier. (RMK-623)
  o Bug Fixes:
     * A bug that could occur when "changing active branch" as part of
       a commit has been fixed.  This occured when two .recipe files
       with the same name were build from two different labels.  This
       fix requires conary 1.2.7 or later. (RMK-685)
     * "rmake restart" now works when you're restarting a build of a
       recipe that was built with a context. (RMK-692)
     * Info .recipe files can be built again. (RMK-662)
     * Files that do not end in ".recipe" are now ignored when trying
       to determine whether to build from a local recipe file or
       search the repository. (RMK-684)
     * A bug that prevented an error from being raised when an old
       version of conary was included in the chroot has been
       fixed. (RMK-689)
     * A better message is displayed when the rMake service is started
       as non-root (RMK-670)
     * "rmake reset" now will handle the case where a filesystem is
       still mounted in a chroot. (RMK-627)
     * If you're using a conary 1.2.8 or later, "rmake build
       group-foo.recipe --recurse --host conary.example.com" will
       build the group itself if group-foo.recipe was checked out from
       conary.example.com. (RMK-705)
     * "rmake-server help" no longer exits with a Traceback
       message. (RMK-726)
     * rmake-server no longer removes and re-adds the rmake Conary
       repository user after each start.  This improves performance
       with Conary 2.0 repositories. (RMK-717)
     * "rmake build --recurse" now succeeds with group .recipe
       files. (RMK-737)
     * A bug that rarely caused duplicate packages to show up as if
       someone in another build had actually built the package has
       been fixed.

Changes in 1.0.12:
  o Client Changes:
     * User and entitlement information is no longer returned to clients on
       getJob calls (RMK-621)
     * A flag named --update-config has been added to the "rmake restart"
       command.  This will allow you to update configuration values from
       the old rmake build with the current values in your configuration files.
       (RMK-619)
     * rmake chroot will now work only the jobId specified if there is only
       one trove in the job.
     * Added --info support to rmake restart
  o Server Changes:
     * Added authentication cache (RMK-648)
  o Build Changes:
     * If a built trove not on your installLabelPath for a trove is available
       and a resolveTrove that is on your installLabelPath is available, 
       dep resolution will now prefer the resolve trove.  Similarly, rmake
       will prefer a resolveTrove that is on your ILP versus one that is not.
       (RMK-647)
     * Changes to loaded superclasses also counts as grounds for rebuilding
       a package on restart. (RMK-618)
  o Bug Fixes:
     * Build logs no longer accumulate after restarts. (RMK-628)
     * loadInstalled lines do not create cross-arch buildreq dependencies
       (RMK-631)
     * fastRestart is now more cautious about marking packages as "prebuilt"
       (RMK-620)
     * /dev/zero is now created correctly in the chroot. (RMK-634)
     * All devices are now owned by root.
     * rMake now freezes conary's OpenErrors correctly. (RMK-636)
     * The /etc/passwd and /etc/group files in the chroot are no longer
       overwritten on install from the root system.  Also, the info-rmake
       and info-rmake-chroot are now installed to ensure that the chroot
       can run. (RMK-635, RMK-547)
     * Don't recommit troves that were committed in earlier jobs (after
       a restart) (RMK-637)
     * rmake chroot --super now works again without having to modify the 
       root first (RMK-641)
     * The checkout in the chroot no longer has a context associated
       with it (RMK-642)
     * deleting a job that was once restarted job will no longer
       result in a traceback when restarting the child job. (RMK-644)
     * rMake correctly recognizes when a binary doesn't need to be committed
       on restart (because another binary from that job conflicted with it
       and was committed). (RMK-643)
     * Building two related packages would not find the first of the two
       as available to resolve a build requirement unless it happened to 
       be on the installLabelPath.  This doesn't fit with the model of  
       development where packages are first built on to <id>-devel and then
       later promoted to devel, so now rmake can find previously built packages
       from other locations. (RMK-649)
     * Deleting a policy in a .recipe file and trying to build the recipe
       with rMake no longer causes a traceback. (RMK-659)
     * Don't crash monitor if grabbing a piece of the log fails. (RMK-648)
     * Workers will no longer hang waiting to read from a pipe when the 
       process is dead.  This should improve the reliability of "rmake 
       stop"

Changes in 1.0.11.1:
  o Bug Fixes:
     * A bug that caused "rmake commit" to traceback unless the --exclude 
       option was passed to it has been fixed. (RMK-622)

Changes in 1.0.11:
  o Client Changes:
     * "rmake chroot" now takes a jobId and a package specifier instead of
       an explicit path (an explicit path can also be specified using the
       --path operator, for cases when the rMake server has been restarted)
       (RMK-569)
     * Only subscriptions in the main build configuration will be used.
       This means that subscribers that are also in subcontexts will no 
       longer be used multiple times. (RMK-558)
     * After "rmake commit" when building recipes, rMake will now attempt
       to update the source directories where the recipes were built.  This
       includes the directories for new packages, which should continue to be 
       usable. (RMK-513, RMK-534)
     * Added -m shortcut for --message
     * Added --no-update, --update, to "rmake restart" command to control
       which packages get updated on restart. (RMK-600)
     * Added --exclude to "rmake restart" to remove troves from an rmake
       build. (RMK-601)
     * "rmake stop" may now be used to mark a trove in the committing state
       as "stopped".  This is useful for when a job is no longer committing.
       Eventually this will be changed as the committing process is more
       tightly tied to the server. (RMK-509)
     * "rmake commit" now takes an --exclude parameter to allow you to not
       commit some packages. (RMK-392)

  o Build Changes:
     * you can now specify matchTroveRules in your configuration file, and also
       in a context.  This allows you to not build certain troves within a
       group based on a the values in the context. (RMK-561)
     * matchTroveRules accept a * for a glob in the package name (RMK-564)
     * removed defaultBuildReqs epdb:python and procps:runtime, as they
       are often not necessary and add build requirement loops.
     * The build logs now give a more detailed explanation about why a
       prebuilt version of a package was not used.
     * Made several changes to dependency resolution code:
        * restarts are now faster when resolveTrovesOnly is True
        * dependency resolution is now more likely to resolve cycles involving
          missing dependencies quickly and correctly (RMK-606 among others)
        * more cycle information is logged
        * rMake is better about allowing multiple contexts with incompatible
          build types (such as x86 and x86_64 packages) build together in
          the same job. (RMK-585)
        * Multiple cycles can be resolved at the same time. (RMK-483)
     * You can now build fileset recipes with rMake. (RMK-519)
     * Packages now display what other packages are blocking then when they
       are delayed due to dependencies (RMK-568)
     * buildgroup is now deprecated (RMK-532)
     * Chroots can now handle when the chroot builder installs a file
       elsewhere in the chroot other than /tmp and /var/tmp. (RMK-611)
  o Server Changes:
     * When loading packages, calls to loadRecipe cache the results
       of the findTroves calls.  This should result in a slight speed increase
       when loading many packages.
     * rMake is now quieter when you run "service rmake stop" when rmake is
       not running (RMK-148)
     * rMake will now complain if it is asked to create a chroot with a conary
       version that is too old for it to use. (RMK-578)
  o Bug Fixes:
     * When building two noarch packages, one for x86 and one for x86_64, 
       as long as they result in the same components, one will be considered
       as a satisfactory replacement for the other. (RMK-495, RMK-497)
     * "rmake restart" now keeps the same recurseGroups setting from the 
       previous build. (RMK-557)
     * Don't copy in nsswitch.conf, as it causes more problems with NIS
       than it solves.  The default one provided by glibc:runtime should 
       suffice.  (RMK-547)
     * Even when the chrootLimit has not been hit, rMake will reuse chroots
       that match closely to the chroot that is being built if reuseChroots
       is set. (RMK-535)
     * Ignore cross requirements when not cross compiling (related to 
       CNY-1950)
     * Fixed bug in jobstore.getJobs(withTroves=False) returning troves w/o
       context information.
     * Make sure that reused chroots are marked as unavailable immediately
       so they are not reused twice.
     * MatchTroveRules can now contain some flavored match rules and some
       unflavored match rules.
     * Fixed a bug in the repository cache that would be hit when two
       jobs tried to cache the same package or file at exactly the same time.
     * r.macros.buildlabel and r.macros.buildbranch are now set as expected
       when building from .recipe files. (RMK-583)
     * Some errors (like chrooting to a non-existant chroot) no longer give
       a traceback but instead give an error message. (RMK-537)
     * When possible, build requirements are updated after the build (This
       is sometimes not possible when multiple versions of a package are
       built) (RMK-499)
     * Derived package recipes can now be built (must be from checkout,
       unowned recipe files will not work, since the derived package must be
       a shadow of somewhere.  Requires conary 1.2) (CNY-1948)
     * matchTroveRules only apply now when building groups recursively (RMK-571)
     * Fixed a bug that caused noarch troves to result in a traceback. (RMK-594)
     * "rmake chroot" will now be more resilient through the restarts of the 
       rmake server (RMK-574)
     * "service rmake reset" will now delete chroots and cached files as well.
       (RMK-478)
     * "service rmake reset" will not start rMake if it was not already
       running (RMK-581)
     * rmake build --commit now works with the monitor plugins provided in 
       extras (RMK-501)
     * Errors that occur while loading buildRequirements will now result
       in a more useful error message (RMK-549)
     * restarts will now have the logs available the for troves that are 
       prebuilt (RMK-607)
     * if a job is already committing and you run "rmake commit" for that
       job again, rMake will complain that the job is already committing.
       (RMK-509)

Changes in 1.0.10:
  o Build Changes:
     * If two troves already have a dependency relationship caused by
       build requirements, rMake will now ignore runtime requirements.  This
       means that build requirements have priority over runtime requirements.
     * More build output is put in the trove logs, instead of being stored
       in a separate file.  This information is often critical to debugging:
       dependency resolution, and creating the chroot.  This should make it
       easier to debug chroot failures. (RMK-445)
     * Added a --message parameter to build, commit and restart commands 
       (RMK-472)
     * Group cook output is now more verbose. (RMK-525)
  o Server Changes:
     * Cleaned up server configuration options, all repository options now
       start with "repos" as opposed to "server", proxyUrl and reposUrl are
       now consistent in determining whether to rMake should manage
       that service or not.
     * The rmake repository password is now randomly generated every
       time rmake is started up.
     * rMake logs are now rotated when they reach a size of 10 Megabytes
       (RMK-521)
  o Client Changes:
     * The rMakeHelper program no longer depends on reading in the server
       configuration file for determining where the rmake server is.
     * rMake now allows you to shorten group flavors (RMK-466)
     * build now takes an --info command that shows useful information about
       exactly what rmake is building.  With the --verbose parameter added,
       it also displays configurations used. (RMK-456, RMK-500)
     * rmake q now defaults to showing the last 20 jobs.  It takes an --active
       and --all command to show all active jobs and every job respectively
       (RMK-510)
     * rMake can now use entitlements when building in strictMode (RMK-517,
       RMK-196)
  o Bug Fixes:
     * Fixed a bug that caused the chroot to possibly contain different troves
       than resolved. (RMK-447)
     * Fixed a bug that caused groups that contained unflavored packages in 
       the group could to raise a KeyError. (RMK-463)
     * Reenabled adding packages to build to the "restart" command, broken
       in rMake 1.0.9. (RMK-473)
     * rMake now complains if the user tries to start a repository that requires
       ssl without having ssl installed. (RMK-480)
     * The rMake server will no longer drop to an epdb prompt on error when 
       started in daemon mode. (RMK-474)
     * Fixed a bug in freezing that kept builds w/ failures involving build
       requirements that specified more than one flavor from being viewed.
     * Fixed a bug in restarting jobs that would cause runtime dependencies
       to not be added onto prebuilt packages, thus causing poor build 
       ordering. (RMK-498)
     * rMake now works with r.macros.buildlabel in group recipes.
     * The monitor plugin now defaults to using the standard monitor if 
       stdin + stdout are not ttys.
     * rMake now honors macros that are specified in your conarycfg file.
       (RMK-511)
     * Fixed --label for limiting builds to labels, which was broken since
       1.0.9. (RMK-500)
     * Cooks that result in empty packages now fail with a "check logs"
       error message instead of BadContainer (RMK-444)
     * When you build a new, unchecked-in recipe, it is marked as a config.
       (RMK-512)
     * rMake will no longer attempt to chmod /tmp/rmake when building group
       recipes when strictMode is false (RMK-464)
     * rMake group fake chroots now build in a random /tmp subdirectory 
       instead of in /tmp/rmake (RMK-464)
     * The rMake server no longer hangs on startup when the current hostname 
       is unresolvable.  It gives an error message instead. (RMK-494)
     * "rmake q --logs" will no longer hang while displaying logs if the trove
       is "Unbuildable" (RMK-446)
     * Fixed a bug in trove updating logic that would cause status updates 
       to affect all troves with the same name,version,flavor irrespective of 
       their context.
     * When building "Caching" is no longer displayed when not using the 
       changeset cache. (RMK-459)
     * It is now possible to commit multiple jobs that use contexts at the
       same time. (RMK-529) 

Changes in 1.0.9:
  o Server Changes:
     * Added some security enhancements that will make it feasible for
       rMake to allow remote connections (RMK-419).
     * rMake now allows you to specify contexts for particular troves, like
       "rmake build foo{x86} foo{x86_64} to build multiple versions of troves 
       with different install flavors in the same build (RMK-395).
     * rMake now has an internal proxy which it uses for caching results
       instead of an rMake-specific cache. (RMK-341)
     * rMake's internal repository now runs in SSL mode. (RMK-417)
  o Build Changes:
     * You can now build groups in the same job as packages.  This support is 
       EXPERIMENTAL and should not be used for critical group builds.
       File sets and redirects still must be in their own job.  (RMK-169)
     * renamed buildgroup build --recurse.
     * build --recurse now automatically includes the group with the packages 
       it builds, so rmake build group-foo --recurse will build group-foo and
       foo.
     * You can now build recipes that have never been committed before and 
       commit afterwards.  They will be committed to your buildLabel unless
       they have been created via cvc newpkg or just when editing a recipe.
       This requires conary version 1.1.25. (RMK-211)
     * The message for failed build jobs has been improved - it no longer
       just says "Build job had failures".(RMK-286)
     * Added a chrootLimit option that limits the number of chroots that will
       be left around after failed rMake builds.  Defaults to 10.  (RMK-353)
     * Added a --match option that allows you to build troves that only
       match the filter given. (RMK-436)
  o Client Changes:
     * "rmake q" now displays flavor information more often, and also displays
       tag information by default (the part after the : in labels). (RMK-432)
     * "rmake clean" now takes an --all parameter to delete all inactive
       chroots. (RMK-429)
     * "rmake build --quiet" is now _really_ quiet - displaying no output
       except for the job number. (RMK-452)
  o Bug Fixes:
     * rMake now behaves better when an "rmake chroot" command cannot find
       the chroot you're trying to enter. (RMK-438)
     * Clients no longer ignore the Conary configuration parameter
       "conaryProxy" when strictMode is set to True. (RMK-443)
     * rMake now uses socket.gethostname() instead of socket.getfqdn(), 
       which doesn't involve any DNS lookups to determine the hostname to use.
     * The subscriber log now does not print out duplicate messages that
       occur more often than once every 5 minutes. (RMK-10)
     * buildgroup now uses the buildLabel to search for troves to build 
       instead or installLabelPath.

Changes in 1.0.8:
  o Client Changes:
     * "rmake commit" now will take multiple jobIds.  This functionality
        requires an unreleased conary to be deployed on all related servers
        before it is fully functional.
     * --reuse now works with strictMode. (RMK-385)
     * strictMode is now off by default, however, a new configuration option,
       copyInConary, has been added, which is default False.  This means that
       while any changes you've made to your useDirs, macros files, etc,
       will be copied in, your conary files will not.  This option will also
       control the copying in of policy files. (RMK-385)
     * resolveTroves can now include source components, if you wish to
       specify a source component to load.
     * buildgroup now searches the source version of the group instead of
       the binary version, unless you specify --binary-search. (RMK-397)
  o Build Changes:
     * the rMake chroot user now has its HOME value set to /tmp/rmake. (RMK-380)
     * rMake now supports cross compiling. (RMK-396)
  o Bug Fixes:
     * Command line flavor overrides now work w/ groups (RMK-382)
     * Make chroot command more resilient against large amounts of data.
       (RMK-381)
     * Fix commit failure with partially built job when the job consisted 
       of more than one branch. (RMK-391)
     * Cache build files now only after the chroot is created, in order
       to avoid a long wait before "creating chroot".  Also, let the user
       know that's what rmake is doing.
     * You can now build packages that require a package on another branch,
       and specify that branch in the buildReqs (RMK-371).
     * loadInstalled always loads the same thing during the initial loading
       and during building.

Changes in 1.0.7:
  o Server Changes:
     * rMake is now set up for committing multiple jobs at once.  This will
       not be exposed through the command line until some conary changes have
       been made to ensure that this will work in all cases.  However, the
       helper client has been enabled to allow this behavior currently.
       (RMK-340)
     * rMake now updates the troves listed as the "binary" troves for a job
       after a commit - it now points to the versions that were cloned in.
       This was done as a part of restart work (RMK-3).
  o Client Changes:
     * rMake now supports a initial version of a "restart" command.  You
       can pass the restart command a jobId and it will act as if you had
       rerun that build command from the command line.  (RMK-3)
     * rMake changeset can now take troveSpec parameters.
  o Bug Fixes:
     * rMake now works correctly with checkouts that have run "cvc refresh".
       (RMK-354)
     * rMake --reuse works once again when the chroot has not changed at all
       between operations.  Also removed an error that could occur in the
       output when erasing troves with --reuse. (RMK-364)
     * Turn off repository caching when building groups as it is
       broken. (RMK-377)
     * Committing an already committed job no longer reverts the trove to 
       "Built". (RMK-252)

Changes in 1.0.6:
  o Server Changes:
     * The rMake server is now forking, making it more responsive to multiple
       simultaneous requests.
     * Dependencies are now resolved in forked processes in slots, making
       the builder process more responsive.
     * Troves are now loaded in sorted order. (RMK-344)
     * Troves are now split into two categories of failed troves, 
       'Failed' and 'Unbuildable'.  Unbuildable troves are caused when another
       trove in the job fails, causing this trove to fail.  That is, they
       are not due directly to a failure to build but of a failure of other
       troves in the job to build.  This distinction is useful when building
       large jobs and trying to figure out what trove is at the heart of a 
       set of failed troves.
  o Bug Fixes:
     * Fixed a bug that caused a traceback when build requirements were
       missing.
     * Fixed a bug in dep resolution that caused troves that were delayed
       due to runtime-only requirements to not be built.
     * allow cleanAfterCook in strictMode.
     * Don't rerun tagscripts when running the "chroot" command.
     * Don't time out when creating chroots after 3 minutes.  The chroot
       is running tag scripts.  Depending on the load and the tag scripts
       in question, this could take much longer.   Allow a generous 2 hours.
       (RMK-363)
     * rMake is now better able to stop jobs that are creating chroots and
       caching changesets. (RMK-342)
     * Improved logging for commands in their respective command files - errors
       are now logged there are well as passed back with the chroot. (RMK-356)
     * Handle case where where user tries to stop a command that is no longer
       active. (RMK-367)
     * Added sanity checks for buildDir for rMake.  This should cause 
       configuration errors to show up when you start rMake instead of in 
       the middle of a build.  (RMK-343)

Changes in 1.0.5:
  o Architecture Changes:
     * rMake now supports plugins, located in /etc/rmake/plugins.d (RMK-186).
     * The builder has been split out into builder and dispatcher to enable
       support for multiple build nodes.
     * Trove builds are now wrapped in a Command object which monitors
       the actual build.  This is a step towards pushing all build actions
       to be done in separate processes.
     * You can now perform multiple cook w/in a single job at the same
       time by setting the "slots" configuration variable to > 1.

  o Client changes:
     * You can now debug failures in a chroot by running 
       "rmake chroot <chroot name>".  You can see the existing chroots by
       running "rmake list chroots".
     * You can archive a chroot by running "rmake archive <chroot> [<newname>]."
       That will ensure the chroot does not get deleted by future builds.
       The chroot will then be available at "archive/<chroot>".
     * You can delete a chroot by running "rmake clean <chroot>"
     * StrictMode is now default True - to get conary to use your local
       conary configuration files, you'll have to set it to False.
     * rMake now requires conary version 1.0.42 or 1.1.15 to run.
     * rMake no longer allows redirects to resolve build requirements. (RMK-337)
     * rMake commits no longer have a "cloned from" reference back to the
       rMake repository - the rMake repository is transient.

  o Server Changes:
     * Dependency resolution against a particular group is now cached.
     * rMake now cleans out the server environment when entering the rmake
       chroot, so that it cannot pollute the behavior of any tag 
       scripts. (RMK-332)

  o Bug Fixes:
     * StrictMode now allows signatureKeys.
     * StrictMode now reads in conary configuration files that are
       installed in the root and uses them for buildcfg (RMK-295).
     * Add more error handling for the case when a build fails after
       being removed from the queue but before starting. (RMK-312)
     * rMake now raises an error when an invalid context is used. (RMK-325)
     * rMake now prints a more useful error message when the internal
       repository dies. (RMK-281)
     * rMake now handles subdirectories and the new file removal syntax.
       (RMK-323) (RMK-296)

Changes in 1.0.4:
  o Bug Fixes:
     * Drop supplemental group permissions in the chroot and in the server 
       (CVE-2007-0536).

Changes in 1.0.3:
  o Server Changes:
     * rMake now supports reusable chroots. Use the --reuse option or the
       reuseRoots config option to cause rMake to modify roots instead of
       starting from scratch when performing builds. (RMK-201)
     * rMake now adds default build requirements to the build requirements 
       recorded for a package when it is built, even if those requirements
       are not listed explicitly in the recipe.
     * rMake now also caches tarballs (and patches and so on) for the packages
       it builds (RMK-250).

  o Client Changes:
     * poll has been renamed "watch".  Poll should continue to work in order 
       to provide backwards compatibility.
     * added read-only repository cache support, as well as a way to get the
       paths to the files in the content store.

  o Bug Fixes:
     * --tracebacks now actually displays tracebacks for failures.
     * rMake will now return a non-zero exit value if a build fails when 
       polling and not committing.
     * rMake buildgroup works again. (RMK-287)

Changes in 1.0.2:
  o Bug Fixes:
     * Conary's new ability to commit relative changesets caused
       rMake to fail because it expected absolute changesets.  rMake
       will now handle relative changesets. (RMK-277)
     * The repository cache now works with loadInstalled, which would
       cause the cache to break earlier. (RMK-276, RMK-278)
     * rMake will now return a non-zero exit value if a commit fails. (RMK-279)

Changes in 1.0.1:
  o Client Changes:
     * rMake now has a new, friendlier usage message and a help command.
       (RMK-268)
     * rMake now installs the packages for buildreqs, as well as for dep 
       resolution. (RMK-189)
     * rMake now cleans up temporary recipe downloads that used to be 
       left in /tmp. (RMK-270)
     * rMake now caches file contents, which speeds up repeated loads of
       the same source package. (RMK-249)

Changes in 1.0:
  o Changed name to 1.0

Changes in 0.9.7 (Release candidate 3):
  o Bug Fixes:
    * loadInstalled in the root will now work correctly (as long as
      the package for the trove in question is installed, not just
      its components). (RMK-259)
    * rmake config output can now be used untouched as an input for
      rmake, now that the default uuid output can be parsed. (RMK-247)
    * chrooting into the build root and running conary will work out 
      of the box even if your context is None. (RMK-246)
    * recommitting already committed builds does not revert state (RMK-252)
    * Don't error unnecessarily when setting flavors when cooking (for 
      example, when setting flags that are unknown). (RMK-243)
    * Fix rMake behavior with multiple resolveTroves entries (before it would
      only use the first one). (RMK-269)
    * Rmake no longer tracebacks when resolveTrovesOnly is True and a dep 
      resolution failure occurs. (RMK-261)
    * rMake no longer delays building itself if the only potential dependency
      it has is circular, e.g. if avahi requires itself be installed to 
      build.  It also accurately displays the number of troves causing the
      delay. (RMK-245)

Changes in 0.9.6 (Release candidate 2):
  o Bug Fixes:
    * rMake no longer uses RMAKE_PATH and CONARY_PATH when loaded.  If you
      wish to make rmake use a particular rMake and Conary, you 
      must instead put them in the PYTHONPATH environment variable.
    * rMake now merges conary configuration files better.  Before, if you
      were using a conary earlier than 1.0.33 (or 1.1.6), it might for example
      think you were overriding installLabelPath in your rmakerc when you 
      weren't.
    * Fix rMake behavior when dealing with unparseable conary version strings.
    * Configuration handling has changed slightly - all values in rmake 
      configuration files override values in conary configuration files - a 
      value in /etc/rmakerc overrides a value in a context in a conaryrc file.

Changes in 0.9.5 (Release candidate 1):
  This is a release candidate version of rMake.  If this version does not have
  major bugs in it, it will be rereleased as rMake version 1.0.

  o Bug Fixes:
    * rMake now transmits all text logs encoded in base-64 when transmitting 
       them over xmlrpc so no attempt is made to encode non-utf8 character as
       utf8. (RMK-137)
    * CvcErrors and ConaryErrors found when calling setup or commit for local
      cooks are now wrapped. (RMK-191)
    * Don't copy in entitlements, they should not generally be used when
      building, instead, username and passwords should be used (RMK-196).
    * Fixed a bug when internal errors cause a build to fail - conary will now
      store that internal error correctly (RMK-203).
    * Sometimes chroot processes will not die nicely, and so chroot cleanups
      will fail.  In that case, make sure rMake finds that case earlier, so
      that after all rogue rMake processes are cleaned up, rMake can clean
      up the root. (RMK-216)
    * Prioritize troves that are runtime reqs of buildreqs for other packages
      that are being built - this should avoid some of the waiting that can
      occur when many packages depend on the same runtime req of
      buildreqs.  (RMK-218)
    * Require busybox, and use it to avoid relying on a working chroot when 
      cleaning up the chroot. (RMK-216).
    * Don't bother cleaning up the chroot for group cooks that are using a
      fake chroot. (also part of RMK-216)
    * Fully mark troves as built/failed before beginning dep resolution 
      for the next set of troves. (RMK-217)
    * Dep resolution when no resolveTroves are set now uses the same intraTrove
      dependency resolution algorithm as the resolveTroves code (RMK-220).
    * rMake now handles --flavor correctly on x86_64 boxes - by just overriding
      the flavors specified in the installLabelPath with the given flavor,
      not reducing the flavor list to one. (RMK-228)
    * rMake now handles --config to specify a change to the build configuration.
      (RMK-192)
    * Only one job is dequeued at once now. (RMK-227)
    * rMake now handles building a recipe with no CONARY file when a recipe 
      template is used (RMK-233).

  o Client Changes:
    * rMake now supports the cleanAfterCook configuration - if set to False,
      the build root will not be cleaned after a successful build.  (RMK-194)
    * rMake now complains if you try to commit a source component when a 
      commit to the upstream version has been done (RMK-157).
    * Added a --commit option to build and poll.  "rmake commit" also waits
      for the build to complete if it has not already. (RMK-146)
    * add some verbosity to buildlogs during dep resolution
    * Rmake now prints out a message for each trove it tries to resolve 
      deps for when resolving build req dependencies. (RMK-219)
    * rMake now takes a --build-config-file, --server-config-file, and 
      --conary-config-file to specify the config files to read for the 
      build, server, and conary config files. (RMK-192)
    * You can now set contexts in rmake config files.  Values set in rmake
      contexts will override values in conary contexts (RMK-58).
    * rMake now displays trove counts when displaying the trove lists in
      query output. (RMK-144)
    * Added --source-only flag to "rmake commit", to commit only sources
      from a successful build.  (RMK-151)
    * Added --no-clean and --macro flags to "rmake build" to match 
      cvc. (RMK-212)

Changes in 0.9:

  o Client Changes:
    * Add an explicit error message for redirect and group recipes, which 
      rMake cannot cook. (RMK-9)
    * rMake now tells you when a job is queued. (RMK-88)
    * rMake now has has callbacks to tell you how a commit is proceeding.  It
      also now asks you for a message for a recipe build on commit, not when 
      you start to build the recipe (depends on conary 1.0.30).
    * added a strictMode config option that does not copy in configuration
      files or conary from your local system, but instead uses the conary
      and configuration in the chroot (RMK-167).
    * Added resolveTrovesOnly config option, it does not use your 
      installLabelPath to resolve dependencies but instead limits itself to 
      only the resolveTroves list (RMK-166).
    * You can now build groups and redirect recipes with rMake, as long as
      the group or redirect recipe is the only this requested to be built
      in the job (RMK-125).
    * As a part of the changes needed for building groups, recursively building
      the contents of a group has been renamed "buildgroup".
    * You can now commit partial builds (if the commit fails, rMake will
      move the status back to failed).
    * rMake now will sign troves with the available signature keys on commit
      (RMK-149).
    * rMake client config is now renamed to rmakerc, and reads
      /etc/rmakerc, ~/.rmakerc, and ./rmakerc on startup.
    * rMake now supports the CONARY file format used in conary 
      1.0.31 and forward. (RMK-176)
    * rMake's pygtk dependencies are split out into a :gtk component. (RMK-177)

  o Server Changes:
    * Added 'rmake-server reset' command, to delete the entire contents
      of the rmake internal repository as well as the job list.
    * Change repository to be based off of hostname.
    * Added the ability to use an external repository for as the internal
      rMake repository by specifying the serverName, serverUrl and user 
      parameters (RMK-165).
    * Added a useTmpfs configuration option.  If used, the build will
      be done on a tmpfs filesystem within the chroot. (RMK-163)

  o Bug Fixes:
    * Don't include the trove's label in the search path automatically -
      let the user do that explicitly.
    * Don't die if /etc/localtime doesn't exist (RMK-126)
    * Fix password prompter to work with contexts (RMK-89)
    * Fix dep resolution handling of cases where more than one
      trove of different flavors in a group could resolve buildreq (RMK-152).
    * Resolve troves no longer show up in the resolve trove list twice.
    * 'rmake build' without any troves returns a usage message (RMK-155).
    * In some cases rMake must choose between x86 and x86_64 troves that
      both solve intraTrove dependencies but conflict.  In this case,
      conary should pick one using normal dep resolution rules.
    * If the rMake internal repository cannot start or if it dies, the
      rMake server will shut down (RMK-185).
    * rMake now handles cooks that die due a signal (a segfault, e.g.)
      gracefully (RMK-181).
    * rMake will now fail cooks when it runs into an internal error, in the
      cook checking code.  The cook will be stopped at that point (RMK-179).
    * When a needed file cannot be copied into the chroot, rMake will now
      fail with a user-friendly error (RMK-156).

Changes in 0.5 (BETA):
  We are now calling this the BETA of rMake 1.

  o Client Changes:
    * rMake now supports a password helper for its xml interface, that
      will pop up a gui window to ask you for username/passord (RMK-89)
    * rMake now supports a "reset" option (RMK-5).
    * allow resolveTroves entries to be ordered (RMK-59).
    * tell users to look at the buildlog when their chroot server didn't
      start. (RMK-116)

  o Bug Fixes:
    * Fixed a bug in commit behavior where builds with troves on different 
      branches would not commit all troves from that build (RMK-106).
    * You can now cook recipes with flavors
    * Fixed a bug where trying to commit a failed job would result in the
      job's state being set to BUILT (RMK-113)
    * rmake start should not return STARTED unless the start is actually
      successful (RMK-111)
    * rmake now setuids before killing processes both ensure no incorrect
      processes are killed and also to make sure logfile is owned by the right
      user. (RMK-102)
    * Stopping a job will set all troves in "INIT" state to failed (RMK-83)
    * Fixed a bug that kept building from groups from working. (RMK-118)
    * Don't traceback with IOError on broken pipe (RMK-120)

Changes in 0.4:
  o Client Changes:
    * The rMake server now tracks a "Committing" and "Committed" state.
      It will send out state updated messages to subscribers when committing
      troves (RMK-54).
    * Added support for a stop command (RMK-76).
    * Subscribers are now passed an apiVersion as the first parameter, allowing
      their behavior to change based on the version of rmake they are
      dealing with (RMK-77)

  o Bug Fixes:
    * Fixed bug that caused rmake to fail to build troves with names that were 
      2 characters long (RMK-86)
    * Environment variables in configurations are now expanded before they
      are sent over to the server, since the environment there isn't the
      same (Requires conary 1.0.21 or newer) (RMK-80)
    * Handle unicode in logs from builds by converting to escaped utf-8 
      (RMK-91)
    * Do a better job of updating internal shadow to source changes
      when performing a cook of a local file.  Adds and removes are now
      handled correctly. (RMK-95)
    * rmake commands now print an error message when passed an invalid 
      jobId or UUID (RMK-101)
    * rMake's home directory in the build chroot is now set to something
      that rmake can write to.

Changes in 0.3:
  o Client Changes:
    * rMake can now perform builds using local Conary recipes and
      sources.  If the recipe is associated with a source component,
      you can commit the source component and binary together.  This
      association is determined through the CONARY file, which is
      normally created by running "cvc checkout".  The CONARY file and
      the conary recipe file must be in the same directory.  This
      feature requires Conary 1.0.19. (RMK-40)
    * rMake supports a specifying a uuid with a build, needed for integrating 
      rMake with rBuilder Online (RMK-73)
    * Slightly delay output of emit events in order to collate them

  o Bug Fixes:
    * rMake now uses the "buildLabel" and "buildFlavor" configuration
      variables to find troves to build, and "installLabelPath" and
      "flavor" variables to find solutions to build
      dependencies. (RMK-53)
    * The "/sbin/service rmake status" status message has been
      fixed. Thanks to David Coulthart for the bug report and fix. (RMK-69)
    * The default use flag and policy directories are now copied into
      the build chroot so that locally defined use flags and policies
      are available to build against. (RMK-68)
    * Build requirement dependency resolution is now calculated by the
      rMake client instead of the rMake server. (RMK-46, RMK-60)
    * Newly created checkouts (created with the cvc newpkg command) can now be
      cooked (RMK-81)
    * chroothelper would access nonexistant variable and segfault on cleanup,
      now all chroothelper exit statuses are checked (RMK-66)

Changes in 0.2:
  o Client Changes:
    * Query output fixup: only display the full list of troves for a job 
      when no trove is specified.
    * Add rmake q <jobId> --poll for convenience

  o Bug Fixes:
    * Fixed traceback if reading conary config results in a parse error
    * Improved traceback output message
    * rMake no longer tries to sign troves at build time, since passwords 
      cannot be read at that time.
    * rmake changeset and rmake commit were broken
    * a change in conary caused rmake builds to fail with conary 1.0.18.

Changes in 0.1:
    * Initial test release