aboutsummaryrefslogtreecommitdiff
path: root/NEWS
blob: 947b2fa3729fc110c73c0c02ee2927d6ddd4e7b3 (plain)
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
News for Paludis
================

This file lists the major changes between versions. For a more detailed list
of every change, see the ChangeLog.

0.20.0:
    * Merging is now handled by the destination repository. The new merger
    code does a two pass merge to catch most errors before the filesystem
    is modified. New merger hooks allow for much more flexibility.

    * Hooks returning non-zero will now usually cause an abort rather than
    a warning.

    * Various new QA checks.

    * Lots of internal code cleanups.

0.18.1:
    * use.conf etc now automatically includes use.conf.d/*.conf.

    * New configuration key for ebuild repositories, master_repository. If set,
    the specified repository will be used as a 'master' for profiles/, eclasses,
    PORTDIR etc.

    * qualudis now supports --master-repository-dir for checking of
    non-standalone repositories.

    * Compile fixes for g++-3.4, g++-4.2, selinux.

0.18.0:
    * Huge code cleanup. If your compiler does not implement tr1, you will now
    need boost installed.

    * Much faster adjutrix --what-needs-keywording when the system set includes
    blocks.

    * New client, inquisitio, for searching.

    * Sets can now appear in world, and can be uninstalled.

    * Support post-install configuration via paludis --config.

    * Write cache is now cleared after a sync.

    * The repository name is now appended to the names_cache path. When
    upgrading, you will be told to manually remove any old names_cache files.

    * A bug with overwriting stale symlinks with objects has been fixed.

0.16.2:
    * Defaults for repository conf files can now be specified via
    repository_defaults.conf.

    * Hooks can now determine which client is being used via the PALUDIS_CLIENT
    environment variable.

    * For unmerging, VDB parsing of Portage-generated entries is less strict.

    * Various bug fixes.

0.16.1:
    * 0.16.0 had a bug that would cause blocks to be reported incorrectly for
    certain virtuals. This is now fixed.

    * paludis --list-* now supports a --repository-format option for
    restricting output.

    * g++-3.4 ships with broken iterators. We now work around this.

0.16.0:
    * Enhanced DepList. Most blocks are now shown as errors in the list.
    Suggested dependencies are now supported. Paludis can continue resolving
    dependencies when encountering a masked package, and show a summary of
    everything that needs to be unmasked as part of the output. Post
    dependencies can now be installed much later on if necessary to resolve
    cycles. Deps in the form || ( a =b-2 ) where b-1 is installed are handled
    more elegantly. Deps in the form || ( =a-1 =a-2 ) are rewritten to a single
    package dependency. Blockers are now handled correctly. Downgrades are now
    user controllable.

    * New adjutrix --what-needs-keywording action, for use by arch and security
    teams to obtain a full list of what would need to be keyworded to mark a
    target to a particular keyword level.

    * In repository configurations, format=portage is deprecated in favour of
    format=ebuild, and format=nothing is deprecated in favour of hooks.

    * A bug whereby Paludis would sometimes use the default virtual provider
    even when an alternate virtual provider is installed is fixed.

    * We now work around a sandbox 'feature' that results in PATH being
    clobbered. This fixes build issues with openoffice, dev86 and probably
    others.

    * Emulate Portage's silly and highly limited hooks system so that
    misbehaving Java ebuilds still work. Users should not use these hooks for
    anything.

    * Syncers are now pluggable. Syncing via darcs and tar+http is now possible.
    Syncers can now take various options via the sync_options key (use
    --list-sync-protocols for a list), and sync_exclude is deprecated. Multiple
    syncers can be specifed, in which case later syncers are used as a fallback.

    * Paludis now has a logo.

0.14.3:
    * Updated zsh completion

    * The QA metadata check now handles the cached dtd properly.

    * Packages that were updated inconsistently by Portage can now be
    uninstalled without strange errors.

    * Hooks now have access to the parsed commandline via various environment
    variables.

0.14.2:
    * Various performance tweaks.

    * keywords.conf can now use * to accept packages that brokenly set only "-*"
    in KEYWORDS.

    * Installing and uninstalling set*id files is now done differently to
    prevent exploitation of supposedly uninstalled vulnerable applications.

    * Profile incremental variables are now handled in compliance with the
    current PMS draft.

    * Various extensions to the Ruby interface.

0.14.1:
    * Versions can include -rx.y, -rx.y.z etc.

    * Paludis can now be told to pull in new slots only where really necessary,
    via --dl-new-slots as-needed. This must be used in conjunction with the
    existing --dl-upgrade.

    * Paludis can now uninstall all versions of a package by --uninstall
    --all-versions.

    * Paludis now supports resuming of interrupted downloads. Consult the FAQ
    for how to use this.

    * --show-install-reasons is now called --show-reasons.

    * qualudis now supports --archs and --exclude-archs.

    * Documentation on sets and hooks is now provided.

    * Set names can now be used for the atom column in use.conf, keywords.conf,
    licenses.conf, package_unmask.conf, package_mask.conf.  use.conf and
    licenses.conf atomed entries can now override less specific entries'
    contents by using "-*".

    * The adjutrix keywords graph now indicates unused packages visually.

0.14.0:
    * The merge and unmerge utilities are now called with an explicit path.

    * The documentation has been tidied up and extended. Documentation for
    the Ruby interface is now available.

    * paludis --report now also reports unused packages.

    * Various demonstration hooks (show new packages after a sync,
    run report automatically after a sync, enhanced elog message logging)
    are now included.

    * Support for ranged dep atoms and the ~> version operator is now
    available.

    * QA now checks package visibility and profiles. The various QA blacklists
    are now in text files rather than hard coded.

    * A new client for handling cross toolchains, contrarius, is supplied.

    * Completion for ZSH is now available.

    * CVS can now be used in sync keys for repositories.

    * The paludis client can now display a description of USE flags shown
    in a --install --pretend session. The --dl-deps-default parameter can
    be used to specify default values for all six dependency classes.

    * Various icc and BSD portability fixes.

    * The uninstall_ hooks are now called only for real uninstalls. When
    cleaning a package, clean_ is used instead.

    * Paludis handles upgrading itself much more elegantly.

0.12.0:
    * The QA library now has a Ruby interface.

    * Huge performance increases for various common tasks, assisted by optional
    new cache methods. This requires changes to repository files (documented in
    CacheFiles.html).

    * Packages named -live are now recognised as SCM packages.

0.10.1:
    * Package origins and install times can now be queried.

    * Packages with version 9999, or with names ending in "-cvs" or "-svn", are
    now considered to be SCM packages for reinstall purposes.

    * Paludis will now compile with g++-3.4 again.

    * A new --report action, which displays warnings about installed packages
    that are insecure, masked or no longer available, has been added to the
    paludis client.

0.10.0:
    * Uninstall with dependencies and uninstalling unused packages is now
    supported.

    * SCM (CVS, subversion, ...) packages can now be flagged for reinstall after
    a given period of time.

    * Paludis now has options for automatically making debug or split debug
    builds.

    * The resume command can now be written to a file.

    * Cache can be written to a named directory.

    * Various ebuild compatibility tweaks.

    * When to fall back to installed packages to resolve a dependency is now
    configurable.

    * Users can define their own fetchers.

0.8.4:
    * With 0.8.3, 'make doxygen' at top level would fail. This is now fixed.

0.8.3:
    * More work on the Ruby interface.

    * paludis --query now always shows SLOT information.

    * qualudis now has a --quiet option and checks for certain illegal variable
    assignments.

    * Old-style virtual packages are no longer displayed in dep lists.

    * Bash 3.2's different =~ syntax is now supported.

    * PALUDIS_OPTIONS now only applies to paludis. ADJUTRIX_OPTIONS etc can be
    used for other clients.

0.8.2:
    * Lots of documentation updates. A new "Programming with Paludis" document
    is available.

    * NoConfigEnvironment, and by extension adjutrix, can now work with VDB
    repositories where appropriate.

    * More work on the Ruby interface.

    * Various minor Portage compatibility tweaks.

0.8.1:
    * Various autotools-related bugs are fixed. The Ruby Paludis.so should now
    be built and installed correctly on most systems.

    * A -blah in profile files now removes all blah lines, rather than just the
    first.

    * Pre-0.8 command line options are now available again, marked as
    deprecated.

0.8.0:
    * A Ruby interface is now available.

    * qualudis: Various deprecated functions are flagged. Maintainer
    information is now included in the output.

    * The deplist has been rewritten to be much cleaner and much more sensible
    in its handling of virtuals. It can now reinstall packages if USE flags have
    changed, and can display why a package is being installed.

    * The security set for Portage format repositories no longer requires an
    external preprocessor. paludis -pi security will now work off a raw sync.

0.6.7:
    * The qualudis client now checks that Manifest files are signed.

    * Various minor bug fixes.

    * We now define a PKGMANAGER environment variable and vdb entry.

0.6.6:
    * Using * -* in use.conf no longer implies -* for USE_EXPAND variables.

    * A new NoConfigEnvironment is provided to make things easier for tool
    writers.

    * The adjutrix client now has a reverse dependencies search facility.

0.6.5:
    * The USE_EXPAND code has been simplified, and numerous bugs fixed in the
    process.

    * A new --list-sets action is available.

    * For --query, visible packages are now chosen over invisible packages.

    * When a package install fails, the paludis client now displays a command
    that can be used to resume the current task.

0.6.4:
    * A bug that could cause highly strange behaviour with virtuals when using
    multiple profiles is fixed.

    * All package sets are now composite. Previously some were instead selected
    from only one repository, which was confusing behaviour and not as useful as
    originally suspected.

0.6.3:
    * -* now works properly.

    * The adjutrix keywords graph is now SLOT aware.

0.6.2:
    * A bug preventing recursion from behaving correctly in dohtml is fixed.

    * Ebuild hooks can now use 'die'.

    * The eselect news client has several new options.

    * Portage doesn't always add a newline to the last line in world. We now
    work around this.

    * use.conf now supports -*, to prevent inheriting profile defaults.

    * CONFIG_PROTECT and CONFIG_PROTECT_MASK now recognise -target and -*.

    * The adjutrix client has several new actions that will be of use to arch
    and release teams.

0.6.1:
    * A bug in dosym is fixed, meaning that Java packages, amongst others, can
    now be installed.

    * Profile package.mask files can now remove entries from inherited profiles.

    * libdir is now set properly by econf when an ebuild specifies --prefix.
    This should fix installing of KDE, amongst others.

    * More sanity checking is now done both of the build environment and at
    runtime.

0.6.0:
    * elog will now write to PALUDIS_ELOG_FILE, if defined, as well as
    displaying on screen.

    * Virtuals are now handled entirely dynamically and are not written to vdb.

    * Support for CRAN (the Comprehensive R Archive Network) repositories is now
    available.

    * Manual (man) pages are now provided.

    * Logic for complex operations such as installing and uninstalling has been
    moved out of the client code and into separate task classes.

    * Repository formats are now dynamically loaded from .so files rather than
    being compiled in.

    * libwrapiter is now used to simplify iterator interfaces and reduce compile
    times.

    * Much better handling of Portage-generated VDB entries.

    * For VDB repository entries, all USE flags are marked as masked / forced.

    * --query on virtuals is more useful. USE flags are displayed for --query.
    Sets can be shown with --query.

    * New client: adjutrix, a tool for developers and arch teams.

0.4.4:
    * In key/value configuration files, line continuations inside a quoted
    string with no backslash is now a warning, not an error.

    * REAL_CHOST is now exported automatically, to avoid problems with
    gcc-config when Portage is not installed.

    * Support for newer libselinux /proc voodoo.

    * svn+https:// is recognised for syncing.

    * Huge speed improvements when merging.

    * portageq vdb_path is now emulated.

    * Fail hooks for ebuild phases are available.

0.4.3:
    * An infinite loop on unmerge bug has been fixed.

0.4.2:
    * CONFIG_PROTECT now works as expected for ROOT=/.

    * Unmerging Portage-installed packages with ROOT=/ will no longer have
    strange eclass issues.

0.4.1:
    * Unmerging Portage-installed packages with ROOT=/ will no longer trigger
    sandbox problems.

    * Category names can now include dot characters (crossdev requires this for
    some CHOST values).

    * Use of colour is more consistent.

    * Lots of doxygen and code cleanup.

0.4.0:
    * Lots of internal code cleanup.

    * Doxygen generated documentation is much cleaner. Documentation about
    configuration file formats is now provided.

    * The build directory for Portage format repositories is now configurable
    using a parameter named 'buildroot'.

    * --pretend --install now displays detailed counts ('1 upgrade, 3 new')
    rather than just a raw number. USE_EXPAND flags are displayed in a much
    more useful manner.

    * As part of the test suite, various full installs of test packages are
    now performed.

    * Multiple eclass directories and multiple profile directories can now
    be specified for Portage format repositories. The 'eclassdir' and
    'profiledir' keys are now deprecated in favour of 'eclassdirs' and
    'profiledirs'.

    * New commandline options: --list-vulnerabilities, mostly for use by
    tree maintainers; --dl-no-unnecessary-upgrades, for avoiding upgrades of
    dependencies; --environment-variable which can be used to print
    the value of an environment variable for an installed or uninstalled
    package; similarly, --configuration-variable can be used to get a repository
    configuration variable; --info, as per portage.

    * A new repository format named "nothing" is available. It does not
    contain any packages, but supports a sync parameter to make automatically
    syncing other directories simpler.

    * Fetching is now handled via wrapper scripts. Support for file:/// URLs
    has been added.

    * If the user mirrors.conf file contains an entry with a mirror named '*',
    first try fetching everything from that location.

    * A warning is now emitted when dropping circular dependencies.

    * The merge / unmerge code is now written in C++ rather than bash, and the
    MD5 implementation is now internal rather than relying upon 'md5sum', which
    works around problems when upgrading libc. When upgrading and downgrading,
    sh breakages due to library version changes are less likely to be a problem.

    * xterm titles are now updated for syncing, similar to previous behaviour
    for installing.

    * Syncing via Subversion over HTTP (svn+http://) has been enabled.

    * Improved Portage compatibility: .tar.Z files are now unpacked correctly;
    the 'date' command in ebuild global scope now works with a warning, rather
    than being a hard failure; use of * with operators other than equals in dep
    atoms is now a QA warning rather than a fatal error; PVR and AA are
    supported, and A and AA do not include extra whitespace; dosym now calls
    dodir as necessary as per Portage 2.1; elog is available.

    * Some log messages include program context, to make finding the cause
    of the problem simpler.

    * The repository whence a package originates is saved in VDB. Portage
    compatible environment saving is now used. VDB_FORMAT is now "paludis-2".

    * SELinux is supported.

    * Backtraces are now displayed from 'die'.

    * World file updates are now carried out for packages that are unrestricted
    except where --preserve-world is specified, regardless of whether the
    package was previously installed. World updates are carried out after
    packages are installed rather than before.

    * Dependency errors due to [use] requirements now have more friendly error
    messages.

0.2.5:
    * Syncing via Git is possible (git://, git+http://, git+ssh://).

    * A new mirrors.conf configuration file can be used by the user to specify
    favourite mirrors. It has the same format as thirdpartymirrors from the
    repository.

    * Error condition handling is improved in many places.

    * Versions can now include -try.

    * Initial work towards FreeBSD support has been started.

0.2.4:
    * An ebuild metadata generation bug has been fixed.

    * For Portage format repositories, the location of security advisories is
    now a configuration option.

0.2.3:
    * Added support for repository-level global and per-package USE forcing.

    * Added --repository, --category, and --package filter options for --list
      actions.

    * Added an eselect-based newsreader. Paludis now provides a reference
      implementation of GLEP 42.

    * Various bugfixes -- reinstalling glibc and coreutils should work now,
      amongst others.

0.2.2:
    * Deplist tags are now used for all package sets.

    * The --query output now includes a key explaining the mask symbols.

    * News items can now be delivered via repositories (GLEP 42).

    * Various sandbox issues have been fixed.

    * Various bugfixes.

0.2.1:
    * Build issues caused by trying to invoke sandbox from inside sandbox have
      been fixed.

    * The value of EAPI is now shown in the --install mask reasons.

    * User and repository defined package sets are supported.

    * The hook script interface has been enhanced. A hook script for logging
      important actions to paludis.log is included.

    * The --best-version output no longer includes the ::repository suffix.

    * VDB reading is more tolerant of missing and malformed files.

    * Using --query on a package set produces a better error.

    * Ebuilds using fetch restrict will now have pkg_nofetch called where
      appropriate.

0.2.0:
    * Initial public release.

.. vim: set tw=80 spell spelllang=en :