-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathNEWS
9167 lines (8434 loc) · 449 KB
/
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
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
Changes in 2.4.13:
o New Features:
* A trove's getNameVersionFlavor() now returns a
trovetup.TroveTuple. (CNY-3798)
* The syncCapsuleDatabase option now has four modes of operation in
total. The new default is to prevent phantom troves from being
erased during a model operation but permit them to be updated.
See the description in the manpage for details.
o Bug Fixes:
* Remove hard coded icon name for windows package builds. (CNY-3801)
Changes in 2.4.12:
o New Features:
* Improved python dependency analysis. Changes include detecting
explicit and implicit relative imports, creating all requires for
"from" imports rather than just the parent package, and warning on
missing requirements. (CNY-3790)
* Mirroring by group (recursive mode) now starts much more quickly.
(CNY-3446)
* Added to all source actions an "ephemeral" parameter that keeps
autosourced files from being committed to the repository.
(CNY-3794)
o Bug Fixes:
* Fixed a failure when synchronizing capsule databases after a
phantom component, but not the containing package, had been
erased. (CNY-3791)
* Fixed source control snapshots always being recreated when cooking
locally, even if one was already cached.
Changes in 2.4.11:
o New Features:
* Conary operations now succeed through proxies that unilaterally
re-encode as gzip (CNY-3781)
* Added sample WSGI server configuration under extra/repos. The
conary recipe also installs this in the conary-repository:server
component (off by default). gunicorn and nginx are required for
this default configuration.
o Bug Fixes:
* Fixed memory leaks and reference leaks in extension modules,
discovered by Uri Simchoni (CNY-3784)
* Update addGitSnapshot doc string to include information about the
branch option. (CNY-3787)
* Fixed a crash when using the web interface to view a filename
containing non-ASCII characters. (CNY-3775)
Changes in 2.4.10:
o New Features:
* The addArchive source method now takes new preserveSetid and
preserveDirectories keyword arguments to honor setuid/setgid bits,
and to preserve directories that are empty, have non-root owner or
group, or have non-default permissions (not 755). (CNY-3780)
o Bug Fixes:
* Fixed GroupSetRecipe's latestPackages() method crashing when
removed troves are present in the repository (CNY-3779)
* Fix CVS :ext: paths not being recognized as autosource. (CNY-3778)
* Improved performance of path conflict checking when building
groups containing packages with many files and potential path
conflicts. (CNY-3782)
* Fixed Python dep analysis on CentOS being extraordinarily slow
(CNY-3783)
Changes in 2.4.9:
o New Features:
* Conary is now published under the Apache License version 2.0
* Improved proxy server operation in WSGI mode
* Added a "vhost" WSGI entry point that allows serving different
repository configurations depending on the repository the client
requested.
* Conary proxies now use repositoryMap directives in their
configuration to override URLs given by clients
o Bug Fixes:
* Fixed a crash when using "conary repair" on an encapsulated RPM
containing ghost files (CNY-3773)
* Fixed IPv6 literals not being escaped correctly in HTTP "Host"
headers. (CNY-3776)
Changes in 2.4.8:
o New Features:
* Added --replace-modified-files, --replace-managed-files, and
--replace-unmanaged-files options to the "conary rollback" command
(CNY-3748)
* The --replace-files option is now deprecated. Scripts should use
the more specific options --replace-unmanaged-files, --replace-
modified-files, --replace-managed-files, and --replace-config-
files, depending on which scenarios need to be overridden.
Typically only the first two will be useful and are safe other
than that they may overwrite modifications to the system.
(CNY-3763)
o Bug Fixes:
* Fixed createSourceTrove conflicting with markremoved troves when
choosing a new version (CNY-3771)
Changes in 2.4.7:
o Bug Fixes:
* Fixed GroupSetRecipe builds featuring a subgroup containing bare
components. Previously the parent group would not have the
mandatory parent package for those components, making the group
unpromotable. (CNY-3720)
* The 'buildlabel' macro is now set at checkin time, enabling more
straightforward recipes (CNY-3765)
* Fixed "conary sync" not cleaning up an aborted update when no
further operations needed to be performed (CNY-3669)
Changes in 2.4.6:
o Bug Fixes:
* Fixed a crash when migrating from an encapsulated package to a
native package with the same contents. (CNY-3762)
* Fixed an AssertionError crash related to info packages that was
typically seen when migrating an appliance with custom info
packages across repositories, or when migrating from a :user
component containing a group to a separate :group component.
(CNY-3685)
Changes in 2.4.5:
o Bug Fixes:
* r.RemoveCapsuleFiles now works on paths that do not provide a file
dependency. (CNY-3760)
* Fixed all updates on the CentOS 5 unencapsulated platform failing,
due to the presence of an empty RPM database triggering a capsule
sync. (CNY-3756)
Changes in 2.4.4:
o New Features:
* getSystemModel() now returns a SystemModel object, which exposes
the file's contents and the system model path. (CNY-3753)
o Bug Fixes:
* A one-time crash experienced while upgrading from Conary 2.3 or
earlier to Conary 2.4 has been fixed. This retroactively corrects
the problem for prior versions of Conary by making the problematic
module backwards-compatible, so that if it is imported partway
through the upgrade process the upgrade is likely to proceed
safely. (CNY-3752)
* Capsule troves that are too old to have a stored RPM header digest
are now matched correctly during the capsule database sync phase
of the update. Previously, updates to a RHEL 5 system would
recreate many phantom troves on every operation due to the
mismatch. (CNY-3755)
Changes in 2.4.3:
o New Features:
* The Conary client API now exposes a hasSystemModel() call that
returns True if the machine is system modeled, and a
getSystemModel() call to retrieve the text of the model file.
(CNY-3749)
o Bug Fixes:
* Fixed a crash that could occur when applying a multi-job rollback
of capsule troves. (CNY-3747)
* Fixed a bug that caused unusable rollbacks to be generated when
erasing a capsule trove while "localRollbacks True" was
configured. This only fixes newly-generated rollbacks -- any
existing rollbacks created from previous versions still cannot be
applied. (CNY-3751)
Changes in 2.4.2:
o Bug Fixes:
* The 'package' option of addCapsule now properly handles package
names only. (CNY-3743)
* Fixed updates on encapsulated SLES 10 systems always crashing
since 2.4.0 due to a difference in the rpm-python API. (CNY-3745)
Changes in 2.4.1:
o New Features:
* Phantom components are now created with a parent phantom package
for easier querying.
* The date and time at which a trove was installed is now recorded
in the Conary database. This information is visible through
"conary q --info". (CNY-3740)
* Users and groups are now broken down into their own components
rather than having users have the side effect of creating groups.
This allows for handling circular depenedencies in user group
membership. (CNY-3731)
o Bug Fixes:
* Tag and trove scripts no longer run when --test is in effect
Changes in 2.4.0:
o New Features:
* Conary 2.4 includes a new WSGI-based repository stack. Forward-
and backward-compatibility with clients is maintained. However,
Python 2.6 is now the minimum version for repositories that wish
to run on WSGI or that have a web interface, and these also
require the WebOb library ( http://www.webob.org/ )
* Conary can now automatically reconcile its own database with
external capsule databases. If a package is installed in the RPM
database without using Conary, the next Conary update operation
will first fabricate a "phantom" trove as a placeholder. That
trove can then be erased, updated to a regular encapsulated trove,
or left as-is. Similarly, if a Conary-managed package is erased
from the RPM database, the next update operation will also erase
the corresponding Conary trove. This feature can be disabled by
setting the 'syncCapsuleDatabase' configuration option to False.
o Bug Fixes:
* Fixed a bug in the system model dependency solver cache that
caused surprising behavior when more than one trove in the search
path provided the same dependency. (CNY-3735)
* Fixed use of branch specs with system model (CNY-3645)
* Fixed "cvc promote" when buildLabel is not set (CNY-3660)
* Previously, updates could fail with an unhelpful 'TroveNotFound'
error that named the top-level trove when in fact a network
configuration problem had prevented fetching a sub-component of
that trove. This has been corrected so that the original network
error is displayed instead. (CNY-3732)
* Similarly, "File Stream Missing" errors will no longer mask
network problems that prevent reaching a file sourced from another
repository. (CNY-3680)
Changes in 2.3.12:
o New Features:
* Switched r.Properties to taking a full config descriptor rather
than field snippets. (CNY-3730)
Changes in 2.3.11:
o New Features:
* Added a --to-file option to "cvc cook" to write the result of a
repository cook to file instead of committing.
* Added support for specifying config properties that are attached
to files rather than specific components.
o Bug Fixes:
* Fixed refreshing of autosourced URLs that contain a question mark.
(CNY-3722)
* The recipe loader now resolves autoLoadRecipe entries using the
search flavor rather than buildFlavor. (CNY-3725)
Changes in 2.3.10:
o New Features:
* Added support for caching repository passwords with keyutils
(CNY-3718)
* "Hidden" troves committed by a mirror script are now fetchable.
This allows commit mail to be sent from a mirror target.
o Bug Fixes:
* PGP keys will no longer be deleted from the repository if the user
that uploaded the key is deleted. (CNY-3710)
* Changesets generated on systems using Python 2.7 now use a diff
format compatible with Conary running on older versions of Python.
* The never-used "conary updateconary" command, last seen in version
0.71.2, and associated server support have been removed.
* Fixed a crash when updating a capsule package with a changed file
version but the same fileId. (CNY-3719)
Changes in 2.3.9:
o Bug Fixes:
* Fixed the 'rollback' command failing if --from-file was not
specified. (CNY-3711)
Changes in 2.3.8:
o New Features:
* Added an experimental psycopg2 dbstore driver.
o Bug Fixes:
* Added --from-file to rollback command to allow passing a set of
changesets which will be searched for capsule content. This is
only needed/useful for localRollbacks of capsule packages.
(CNY-3705)
* Requests that get or put changesets now send the X-Conary-
Servername header, fixing a proxying issue with some rBuilder
configurations.
Changes in 2.3.7:
o New Features:
* The new rPath Corporate and Designated PGP signing keys have been
added to the default keyring. (CNY-3702)
o Bug Fixes:
* Derived packages no longer build regular expressions for the set
of files in a single component. (CNY-3594)
* Python requires are now resolved against the destdir Python first
even if there is a system Python of the same version. (CNY-3699)
Changes in 2.3.6:
o New Features:
* Added a "reference" section to mirror script configuration. If
provided, the reference repository will be used to determine what
troves are to be mirrored but the content will be downloaded from
the "source" repository. This allows mirroring only the troves
visible on an external mirror while using a closer copy of the
repository contents that might have more troves than desired.
* Added support for new MSI file magic.
o Bug Fixes:
* Conary now preloads all installer modules required for the entire
operation before beginning. This prevents a bug where Conary
updates itself to a new version with incompatible internal APIs,
then attempts to load the now-incompatible module and crashes.
(CNY-3662)
Changes in 2.3.5:
o New Features:
* The 'commitaction' repository commit hook now accepts python
module names, which will be searched for on the regular Python
search path.
o Bug Fixes:
* Fixed a bug that caused downloading PGP keys to always fail.
* getFileContents now succeeds when a capsule itself is requested,
rather than trying to extract contents from the capsule archive.
(CNY-3686)
* r.RemoveCapsuleFiles() now removes the automatically generated
provides for that path (CNY-3695)
* cvc explain now includes reference documentation for CapsuleRecipe
and its policies (CNY-3694)
Changes in 2.3.4:
o New Features:
* `conary rdiff` is now equivalent to changeset/showcs, taking the
same command line arguments and producing the same output
(CNY-3678)
o Bug Fixes:
* Python packages will no longer provide modules with site-packages
in the name. (CNY-3677)
Changes in 2.3.3:
o Bug Fixes:
* Including configuration files over HTTP on Python 2.7 was broken
since 2.3.0, this has been fixed. (CNY-3672)
* A bug in handling launchpad URLs with addBzrSnapshot first
introduced in 2.3.0 has been corrected. (CNY-3674)
Changes in 2.3.2:
o New Features:
* The new "proxyMap" configuration item has been added, making proxy
management now more extensive and configurable. This allows for
load balancing and failover across multiple proxies of the same
type. (CNY-3427)
o Internal Changes:
* The transport code has been refactored into a different module to
simplify subclassing and robustness in flaky network scenarios. To
simplify the code running on different python versions, urlparse
from python 2.7 was backported and internalized. (CNY-3458)
* Changed how fingerprints are calculated to facilitate fingerprint
caching in the future (this invalidates all fingerprints in
existing caches)
* Changeset caches are now one directory deep instead of two.
* Changesets cached by a repository no longer encode full paths to
file contents. This allows content stores to be moved without
flushing the cache.
Changes in 2.2.16:
o New Features:
* Capsule files will no longer conflict at build time due to mtime
differences; the ignoreAllConflictingTimes flag to addCapsule is
now ignored.
* Python modules reachable through multiple sys.path entries are now
provided under each of those paths.
o Bug Fixes:
* Conary 2.2.12 changed the structure of the update.UpdateFlags
object. Since we no longer restart after critical updates,
rpmcapsule.py needs to accept both the old style flags and the new
style ones, in case it has updated from pre-2.2.12. (CNY-3662)
* A bug that caused WIM capsule package builds to fail has been
fixed. (CNY-3663)
* An issue that caused a traceback when building native packages for
a Windows platform has been fixed. (CNY-3664)
* Python modules provided in a directory added using .pth files are
now detected properly when building with a different Python
interpreter than the system Python. (CNY-3667)
* Specifying tags for addBzrSnapshot is now less restrictive, by not
forcing a tag: specification. As a result, one can now specify
tags like revno: or branch: too. See
http://wiki.bazaar.canonical.com/BzrRevisionSpec for revision
specifications. (CNY-3647)
* Importing RPMs that contain a prelinked executable no longer
crashes. (CNY-3671)
Changes in 2.2.15:
o New Features:
* Added support for breaking RPM jobs based on native Conary
dependencies. (CNY-3655)
* Added the capability to white-out the Conary representation of RPM
dependencies. (CNY-3656)
* Added the r.RemoveCapsuleFiles policy to exclude encapsulated
files and directories from Conary package manifests. (CNY-3657)
o Bug Fixes:
* A bug in the dependency ordering code has been corrected. This bug
could cause some troves to be installed before their requirements
are installed, thus temporarily leaving the system in a non-
dependency-closed state. End users are unlikely to be affected by
this bug. (CNY-3654)
Changes in 2.2.14:
o New Features:
* A new command, search, was added, to allow for model searching.
(CNY-3649)
* Repository contents files are now created world-readable by
default. The actual permissions are dependent on the process'
umask parameter.
* Mirror script configuration files now accept an
"excludeCapsuleContents" option which permits mirroring of troves
from repositories that do not contain capsule contents.
* Repositories now log full stack traces to a file in /tmp, the path
of which is logged in the main error log.
Changes in 2.2.13:
o New Features:
* Added support for setting package flavor based on MSI information
from the Windows Build Service when generating MSIs. (CNY-3641)
o Bug Fixes:
* Platform and component information is now properly passed to the
Windows Build Service. (CNY-3642)
* The TroveSet.makeOptional method was inappropriately discarding
all optional troves from the base TroveSet. It now includes those
optional troves in the optional set of the result. (CNY-3646)
Changes in 2.2.12:
o New Features:
* conaryclient.newtrove's createSourceTrove now accepts an
additional keyword argument "metadata", containing key/value
metadata to be stored in the newly created source trove.
(CNY-3628)
* GroupRecipe PathConflicts policy now records the conflicting paths
which were explicitly allowed and the system model based install
code treats those paths as if --replace-managed-files were enabled
whenever that group would be present at the end of the operation
(CNY-3634)
* Added support for building 64bit MSIs based on the build flavor.
(CNY-3617)
* Added support for determining flavor for encapsulated MSI
packages. (CNY-3636)
o Bug Fixes:
* Fixed typo in BuildMSI build action documentation. (CNY-3627)
* Jobs which install shared contents for a file would fail if those
contents were delivered in the update changeset as both a diff and
complete contents (CNY-3631)
* Always use the cached source when building sources from CVS
repositories. (CNY-3336)
* No longer attempt to set the mode of files that are not part of
the package. These files are normally side effects of other policy
actions. (CNY-3607)
* Changed job ordering to install info packages before the critical
section. (CNY-3629)
* Groups implemented as GroupSetRecipe will now build under rMake.
(CNY-3624)
* A single job with overlapping files would erroneously include
local file information on one of the versions of the file in the
rollback, preventing that rollbacks from being applied. (CNY-3637)
* RPM capsule installation no longer fails when file types change.
(CNY-3630)
* Creating rollbacks for individual files being replaced during an
update would fail if multiple incoming troves owned the file in
question. (CNY-3633)
* The GroupSetRecipe SearchPath method is now correctly documented
to take Repository or TroveSet objects as methods, and now checks
its arguments for sanity and reports errors usefully. (CNY-3639)
o Internal Changes:
* The recommended version of SQLite for use with Conary has been
upgraded to 3.7.5
Changes in 2.2.11:
o New Features:
* Added the ability to manually specify configuration properties,
rather than requiring a packaged file. (CNY-3619)
o Bug Fixes:
* Conary 2.2.9 introduced the PathConflict policy, which was added
to allow building groups with intentionally conflicting paths. If
path conflicts were allowed in inner groups, Conary would build
groups lacking weakrefs. This has been fixed, and affects only
Conary 2.2.9 and 2.2.10. (CNY-3625)
Changes in 2.2.10:
o New Features:
* Added basic support for memcached for fingerprints, dependencies,
and troveInfo. The support is for both the proxy and the
repository, but the cache is not actively invalidated.
o Bug Fixes:
* Promoting redirect troves now rewrites versions in redirects when
the target of the redirect has been promoted according to the
promote map, and leaves other redirects untouched. Previously,
it converted the redirect into a redirect to nothing.
Additionally, a script called "promote-redirects" has been added
to automate the process of finding and promoting redirect packages
between labels. (CNY-1900)
* The changemail script will now send mail even if rdiff fails when
attempting to generate a list of changes between versions of
source packages.
* cvc rdiff tried to show changes in autosource files whose names
didn't change, causing a traceback (CNY-3383)
* Several potential SQL injection vulnerabilities have been
eliminated. These vectors require repository administrator
privileges and a non-standard configuration to exploit, so
potential impact is low. (CNY-3612)
* Corrected a bug that would allow authenticated repository users to
grant themselves additional repository privileges including
additional read access and write access, but not administrative
privileges or access to repository mirror services. (CNY-3611)
* Corrected a bug that would allow authenticated repository users
with limited mirror privileges to deny repository mirror services
to other authenticated users. (CNY-3610)
* Conary was too vigilant enforcing file conflict checking during
RPM updates. Many cases need to be caught by the database layer
instead of the capsule installation layer to avoid false
positives. (CNY-3620)
o Internal Changes:
* Some limitations of the "conary repair" command have been
documented. (CNY-3618)
Changes in 2.2.9:
o New Features:
* The "cvc explain" command now honors the PAGER environment
variable, and if PAGER is unset or is set to "less", has
additional formatting that shows more character styles.
* GroupSetRecipe, a new superclass for building groups, has been
added. Documentation is available via "cvc explain"; start with
the command "cvc explain GroupSetRecipe" and follow references to
Repository, TroveSet, and SearchPath documentation.
* The "conary install" command has been added. It is equivalent to
the "conary update --keep-existing" command. While the "--keep-
existing" argument option has been not commonly recommended in the
old update model because it can easily introduce packages with
versions that are unintentionally out of sync, it is commonly
useful with a system model because the search path used for a
system model can keep versions in sync.
* The new group policy PathConflicts has been added, allowing more
granular control over which paths are allowed to conflict.
(CNY-3505)
* Added support for specifying trove requirements on other troves.
(CNY-3517)
* Add support for defining the actions that run based on the target
platform. (CNY-3519)
* Added support for building specially formatted zip archives into
MSIs (CNY-3475)
* The BuildMSI build action has been updated to always store the
Windows Build Service log as part of the package build log.
(CNY-3521)
* Add support for specifying web applications to the Windows Build
Service. (CNY-3522)
* Added support for storing and persisting MSI component
information. (CNY-3523)
* Added support for WIM capsules (CNY-3473)
* In group recipes the add, replace, addAll, and addCopy methods now
take a allowMissing keyword argument that prevents the action from
failing if the trove can not be found. (CNY-3532)
* An experimental implementation of a WSGI conary repository is now
available.
* Added support for specifying and storing msiexec arguments.
(CNY-3550)
* A new Properties policy parses iconfig property description files
and adds the information from them to Conary packages. (CNY-3571)
* Conary now works with python 2.7. (CNY-3582)
* Handle Linux ABI type for sonames by mapping it to SysV (CNY-3584)
* --no-restart is now implied for operations in a chroot (since we
would just run the same conary version anyway), and is allowed
when conary is run on the system's root directory (CNY-3515)
* A new update mechanism called "system model" has been added. In
this model, a file called /etc/conary/system-model describes what
should be installed on the system. This file is modified by
certain conary update commands, and can also be edited with a text
editor. The system model allows a system to be updated relative
to a search path that includes groups as well as labels, leading
to more coherent sets of updated packages. It also allows re-
starting updates with transient failures; the filename /etc/conary
/system-model.next is reserved for storing the system target state
during an update operation. (CNY-3592)
* On systems with a system model, the "conary unpin" command
synchronizes the system to the model after unpinning. (CNY-3591)
* gobject-introspection's gir files are now included in :devel
components by default, because they are non-arch-specific
development artifacts. (CNY-3579)
* Sped up metadata lookups during builds by collapsing many
getTroves() into a single call.
* Sped up path conflict checking when path names conflict and file
signatures need to be compared
* Conary no longer restarts after updating Conary ("critical
restarts") by default. When an alternative root has not been
provided, the --restart option is available to choose to restart.
(CNY-3601)
o API Changes:
* The conary command line handling has been made available as
conary.cmds.conarycmd, and the cvc command line handling has been
moved from conary.cvc to conary.cmds.cvccmd. Similarly,
conary.branch has been renamed to conary.cmds.branch, conary.clone
has been renamed to conary.cmds.clone, conary.commit has been
renamed to conary.cmds.commit, conary.cscmd has been renamed to
conary.cmds.cscmd, conary.fmtroves has been renamed to
conary.cmds.fmtroves, conary.metadata has been renamed to
conary.cmds.metadata, conary.query has been renamed to
conary.cmds.query, conary.queryrep has been renamed to
conary.cmds.queryrep, conary.rollbacks has been renamed to
conary.cmds.rollbacks, conary.showchangeset has been renamed to
conary.cmds.showchangeset, conary.updatecmd has been renamed to
conary.cmds.updatecmd, and conary.verify has been renamed to
conary.cmds.verify. The old locations will be available for
backward compatibility for the foreseeable future. (CNY-3471)
o Bug Fixes:
* Make negative openpgp key cache entries to avoid repeated server
queries for keys which don't exist. (CNY-3450)
* Labels no longer allow equal signs in them.
* Ignore images without Windows content when evaluating results from
the Windows Build Service. These images are normally used for
system rescue. (CNY-3558)
* Add information about MSIs and WMIs to the documentation string of
the addCapsule source action. (CNY-3563)
* Querying RPM deps is now possible if the deps contains a colon.
(CNY-3289)
* The migrate command is now displayed in the basic help text
(CNY-3456)
* Synthesized soname requirements map "Linux" to "SysV" because a
Linux ABI ELF object is capable of using dlopen() to open a SysV
ELF object. (CNY-3604)
* Cleaned up standard conary help and moved least commonly used
sub-commands to verbose help. (CNY-3605)
* The lookaside cache now correctly supports ftp urls with
user/passwords. (CNY-3508)
Changes in 2.1.28:
o Bug Fixes:
* Content injection for capsules is no longer retrieving the
changeset over HTTP when it is available locally. (CNY-3573)
* isEncapsulatedContent is reset when derived capsules overwrite
capsule content. (CNY-3577)
* The proxy layer will now properly include in changesets any files
with isCapsuleOverride() set. (CNY-3578)
* Conary proxies will no longer crash if a changeset is requested
which has more troves than the current process file descriptor
limit. (CNY-3497)
* The getFileContentsCapsuleInfo call no longer returns results in
database order (which is non-deterministic). (CNY-3581)
* The proxy now works around device files inadvertently marked as
overrides of the capsule. (CNY-3583)
* Another case where content overriden outside of a capsule is not
included in the changeset is now fixed. (CNY-3586)
* Deriving large packages no longer runs into regular expression
size limitations. (CNY-3594)
* Capsule-based packages no longer allow their contents to be
changed - that can be achieved in a derived package. (CNY-3590)
Changes in 2.1.27:
o New Features:
* Support for PostgreSQL 9.0 has been added.
* The Requires policy now takes an optional pythonFlagNamespace
keyword argument which, if provided, is attached to flags in
python dependencies generated by Provides and Requires. (CNY-3493)
* The object representing an RPM file header now has additional
methods, getFiles() and getFilesByPath(), which return convenient
file objects. (CNY-3567)
o Bug Fixes:
* Don't execute capsule update operations when the fileId of the
underlying capsule has not changed.
* Another instance where passwords could be exposed in extended
tracebacks has been fixed. (CNY-3552)
* The LZMAFile class can now handle gzip-compressed file streams.
(CNY-3553)
* The read method of util.LZMAFile is now properly dealing with
short reads from the underlying pipe. (CNY-3564)
* The os.getcwd function can raise an exception if the working
directory has been deleted; the internal _freezeFromChangesets
call was changed to no longer call os.getcwd if only absolute
paths are used. (CNY-3557)
Changes in 2.1.26:
o Bug Fixes:
* Make negative openpgp key cache entries to avoid repeated server
queries for keys which don't exist (CNY-3450) (CNY-3450)
* promoting groups which include multiple groups with the same name
(either strongly or weakly) when those groups come from source
components with different names no longer fails (CNY-3525)
* A bug in inspection of the rpm module in rpmExpandMacro has been
fixed. (CNY-3506)
* Fixed perl dependency calculation for the case when perl itself is
being built. (CNY-3077)
Changes in 2.1.25:
o New Features:
* It is now possible to choose whether to merge kernel module
symbols into a single Conary dependency when importing RPM kernels
and modules. The new default is not to merge the symbols, to
enable multiple interdependent kernel modules. (CNY-3518)
o Bug Fixes:
* The repository commit email system now can be given a mailhost
with the --mailhost argument; localhost is used as the default
mailhost. (CNY-3206)
Changes in 2.1.24:
o Bug Fixes:
* Documentation for the "user" configuration option has been added
to the conary.1 man page. (document-user-config)
* Platforms which we need to support rpm's netsharedpath don't
necessarily have expandMacro in their python module; add our own
binding in misc.c (CNY-3506)
* The repository commit email system has been modified to use python
internal email and smtplib modules. It no longer relies on an
external mail program, and handles non-ascii characters correctly.
(CNY-3206)
* Fixed a hard-to-trigger crash when opening a build logger PTY
fails. (CNY-2938)
* Added hardlinked file support to CpioStream. (CNY-3504)
* Bz2File.read() now returns the ammount of data that is requested.
(CNY-3513)
Changes in 2.1.23:
o New Features:
* Support "data.tar.lzma" in .deb files (CNY-3491)
* respect RPM's _netsharedpath macro during capsule handling
(CNY-3503)
o Bug Fixes:
* Derived packages now work with packages containing shared files
and and ghost files. (RBLD-335)
* A bug introduced in Conary 2.1.21 that prevented `cvc promote`
from functioning has been corrected. (CNY-3490)
Changes in 2.1.22:
o Bug Fixes:
* A bug introduced in Conary 2.1.21 that prevented `cvc cook` from
functioning has been corrected. (CNY-3490)
* Fix an inconsistency between Conary and RPM databases when RPM
fails to install a requested package. (CNY-3488)
* Rewrite derived package shadow creation code because the previous
attempt to support capsules was fragile and frankly a bad idea.
(RBLD-326)
* Fix exception when doing a repository cook when the recipe sources
a multiurl of mirrors. (CNY-3485)
Changes in 2.1.21:
o New Features:
* The --no-recurse option is now allowed with the "conary migrate"
command. This can be used to rebuild a system from a manifest
file.
* A no-scripts option has been added. If set, capsule scripts,
trove scripts, and tag scripts are skipped during an update.
(CNY-3452)
* Conary now records in /var/log/conary the order in which RPM
chooses to install encapsulated RPMs. (CNY-3460)
* When RPM fails to unpack a package when being invoked as non-root,
Conary will now warn about the failure but will not fail the
entire transaction. (CNY-3462)
* Conary now validates RPM capsule operations against the RPM
database as early as possible to flag errors when they occur.
(CNY-3455)
o Bug Fixes:
* Make negative openpgp key cache entries to avoid repeated server
queries for keys which don't exist (CNY-3450) (CNY-3450)
* Process directory creation for other file types (CNY-3451)
* Fixed a repository crash when converting a cached changeset for an
older client. (CNY-3453)
* The getCapsulesTroveList function was restored to sqldb for use in
recreatedb.
* Fixed signing of packages with pycrypto 2.1 (CNY-3465)
* Fixed a bug which caused an internal server error when the same
trove permission was applied to more than two roles. (CNY-3469)
* When multiple installed conary components shared an underlying RPM
capsule removing one of those components would result in the
conary database becoming out of sync with the rpm database
(CNY-3470)
* Changesets can contain shared files where one is a diff and the
other is not. The diff will be used (CNY-3483)
o Internal Changes:
* Hotspot profiling hooks have been removed. (CNY-3250)
* added cksig script for verifying (and fixing) signatures in a
repository
* Add argument to the API for cooking troves to allow someone to
specify a changeset file instead of committing the changeset to
the repository. (CNY-3466)
* The transport layer is now handling network errors more reliably.
(CNY-3429)
Changes in 2.1.20:
o Bug Fixes:
* Injector code for relative changesets creates the new trove once
instead of once for every file being merged. (CNY-3444)
* symbol hashes found in RPMs are used by ksym deps as well as
kernel deps (CNY-3442)
* UtilizeUser and UtilizeGroup policies now support macros in the
user and group argument (CNY-3445)
* Make negative openpgp key cache entries to avoid repeated server
queries for keys which don't exist (CNY-3450)
Changes in 2.1.19:
o New Features:
* added --disconnected option as an advanced option for updates
(CNY-3105)
* conary q --path /dir/ (with the ending /) now displays the owners
of all files in /dir. The list of files is sorted before the
owning troves are looked up. (CNY-610)
* The Requires policy can now take an removeFlagsByDependencyClass
keyword argument to customize the set of flags to match platform
behavior. (CNY-3443)
o Bug Fixes:
* Walking troves on the local system no longer walks implied
linkages (CNY-3440)
* sizeOverride metadata has no any effect if it is set to zero.
(CNY-3441)
* cvc now adds recipes as text files even if --binary is specified.
(CNY-3200)
* RPM kernel deps now include the symbol hash if it is defined
within the RPM. (CNY-3442)
Changes in 2.1.18:
o Bug Fixes:
* An optimization introduced in Conary 2.1.0 (CNY-3282) caused
filter expressions using tuples to express required or forbidden
file mode bits at build time. This regression has
been fixed. (CNY-3437)
* sizeOverride metadata is now never copied when a new version of a
trove is created. (CNY-3438)
* addCapsule now fails with a clear error when the same file is
added multiple times.
o Internal Changes:
* When looking for an LGPL libelf, the Conary build process wil now
look for either "Library" or "Lesser" in the name of the license,
and will consider /usr/include/libelf.h as a candidate LGPL
header.
* transport.URLOpener now shares no_proxy support with the lookaside
cache.
Changes in 2.1.17:
o New Features:
* Added a new option to the mirror configuration, matchTroveSpecs
which is a list of regular expressions that are matched against
full troveSpecs in order to select which troves will be mirrored.
(CNY-3334)
* The addCapsule source action now takes a ignoreAllConflictingTimes
boolean argument which causes it to not raise errors when
overlapping paths otherwise allowed have conflicting mtimes.
(CNY-3415)
* Made conary.lib.magic more resiliant to errors that show up only
with certain implementations of libelf. (CNY-3430)
o Bug Fixes:
* Output text for the conary update command has been changed to more
clearly describe dependency resolution problems. (CNY-3154)
* Shared library RPATH entries with a double leading slash (//) no
longer cause paths to be recorded in soname dependencies in
certain circumstances. (CNY-3425)
* Allow RPM packages to create /etc/passwd and /etc/group properly,
even if the files already exist (due to a info- package, for
example) (CNY-3428)
* Running Conary updates in single-threaded mode correctly execute
group trove scripts. (CNY-3431)
* Size stored in troveInfo now excludes any capsules (CNY-3432)
* The sizeOverride metadata field can be used to override the
reported total file size of a trove. (CNY-3432)
o Internal Changes:
* Combined TroveCache and TroveCacheWrapper objects in build code.
Changes in 2.1.16:
o New Features:
* RPM capsule packages can now derived. In addition, capsule
recipes can now be used to modify the contents of a capsule or add
files to the capsule component in the non-derived case as well.
(CNY-3348)
* RPM capsules will now represent the HDRID/SHA1HEADER tag in
troveInfo. This will differentiate RPMs that are not really
the same but have been built with the same NEVRA. (CNY-3410)
* Some unhandled tags will cause errors at build time, to
ensure that any necessary handling is done before such
packages are built into a repository. (CNY-3404)
* Allow automatic sharing of InitialContents files, including ghost
files for encapsulated RPMs
* Allow encapsulated files in /usr/share/doc to silently replace each
other. This mirrors a feature in the patched version of RPM Red Hat
shipped in RHEL4 and RHEL5 which is used for biarch packages.
(CNY-3420)
o Bug Fixes:
* For locale RPM dependencies, RPM flags are now properly converted
to conary dep flags (CNY-3411)
* Clone operations no longer print an error in the callback. (CNY-3413)
* The lookaside now properly handles URLs that include arguments.
(CNY-3418)
* Requests to a capsule-injecting proxy no longer fail if they
contain a mix of uncached capsule and non-capsule troves.
(CNY-3417)
* Pluggable policy can now override internal policy of the same
name. (CNY-3419)
* Tags now only execute the "handler update" command if the
tag handler script is installed. (CNY-3422)
o Internal Changes:
* Tests for 'group-' in a name now check for :, ensuring that the
check doesn't match a group component.
* The "recreatedb" script is now installed as part of "make install".
Changes in 2.1.15:
o New Features:
* Recipes that have a class member list named 'pathIdSearchBranches' will
search the branches defined in the list for pathIds to reuse while
cooking. (CNY-3398)
o Bug Fixes:
* Build groups whose flavors end up identical now causes one of those
builds to be discarded rather than an exception about "maximum
recursion depth exceeded" (CNY-3401)
* Optimized population of lookaside cache for recipes containing large
numbers of source actions such that it is *much* faster. (CNY-3406)
* Conary proxies will no longer cache changesets that were
truncated in transit. Additionally, clients will produce a more
useful error message if they download a truncated changeset. (CNY-3140)
* The filewrap and wrapdir options for r.Run() previously did not
wrap fopen64 or freopen64. (CNY-3405)
* Previously, user and password information for the http/https proxy
were visible in a traceback if a network exception occured. (RBL-5191)
* Split out info packages from jobs even when RPM capsules are
used (CNY-3387)
* Modified lookaside cache file structure to include URL parameters,
fragments and ports to better generate a unique file path for a given
URL (CNY-3408)
Changes in 2.1.14:
o Bug Fixes:
* Disable diff/patch merging for RPM config files (CNY-3399)
o New Features:
* Added support for RPM capsules to ChangesetExploder class
o Internal Changes:
* Added file flags to allow conary to override file contents and attributes
for capsule-based files (such as from RPM).
* Changesets are now loaded incrementally rather than as one big string;
this avoids a potentially large memory spike opening large changesets
* Added slots to various stream and trove objects
* StreamCollections are intialized as if thawing an empty string rather
than instantiating all of the child elements (which are often not needed
anyway). This reduces total ram usage by more than 5% on large
changesets.
Changes in 2.1.13:
o Bug Fixes:
* Fixed crash in lookaside.fetchURL when accessing an authenticated http
URI using python 2.6.5. (CNY-3393)
* Changes for sharing files with different fileIDs are now done for
non-encapsulated files as well. (CNY-3396)
* Installing critical packages as part of jobs which cannot be split
due to capsules no longer causes an exception.
* The Conary command-line client will no longer traceback when command
specific options are given without a command
(e.g. 'conary --what-requires'). (CNY-3364)
Changes in 2.1.12:
o New Features:
* Config files from RPM capsules are now handled by Conary instead of
RPM, including diff/patch merging.
* Emulate RPM file coloring behavior to allow a package to take
ownership of files from another package based on the ABI used
by those binaries. (CNY-3385)
* File sharing no longer requires identical fileIds. Files can now be
shared between troves even if metadata like link groups is different
between the files.
* The caching layer in the Conary proxy will now use locking
to prevent other processes from trying to do the same work.
(CNY-3374)
o Bug Fixes:
* gzip files that are corrupt in the first 4KB of compressed data
no longer cause all policies that check for file type using
conary's "magic" module to trace back. (CNY-3377)
* conary.lib.util now has an fnmatchTranslate function that strips
the end-of-string termination consistently in python 2.6.5 and
in older versions. (CNY-3378)
* dbstore's createIndex() method no longer fails if invoked multiple
times without reloading the schema. (CNY-3380)
* A bug related to Java files containing classes with no requirements
is now fixed. (CNY-3379)
* Unicode representations of flavors are now converted to ASCII
strings before being parsed. (CNY-3381)
* Fixed problem with the lookaside cache when a recipe defines a custom
source action. (CNY-3386)
* Fixed bug in verify which caused traceback with error messages
about incorrect trove signatures.
* Previously, user and password information for Conary repositories
was hidden in backtraces only when the the user and password
information came from separate "user" configuration. Now, even
if the user/password information is provided directly within a
repository URL, it will still be hidden. (RBL-5191)
* Python 2.6.5 now enforces that file objects opened with fdopen be
passed a "w+" mode (instead of plain "w") if read operations
are also intended. (CNY-3388)
o Internal Changes:
* Renamed isPayload file flag to isEncapsulatedContent.
* Added file flags to allow conary to override file contents and
attributes for capsule-based files (such as from RPM).