forked from void-linux/xbps
-
Notifications
You must be signed in to change notification settings - Fork 0
/
NEWS
2870 lines (1968 loc) · 116 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
xbps-X.XX.X (2020-XX-XX):
* libxbps: fix issues with updating packages in unpacked state. [duncaen]
* libxbps: run all scripts before and after unpackage all packages,
to avoid running things in a half unpacked state. [duncaen]
* libxbps: fix configuration parsing with missing trailing newline
and remove trailing spaces from values. [eater, duncaen]
* libxbps: fix XBPS_ARCH environment variable if architecture
is also defined in a configuration file. [duncaen]
* libxbps: fix memory leaks. [ArsenArsen]
* libxbps: fix file descriptor leaks. [gt7-void]
* libxbps: fix temporary redirect in libfetch. [ericonr]
* libxbps: fix how the automatic/manual mode is set when replacing a
package using replaces. This makes it possible to correctly replace
manually installed packages using a transitional packages. [duncaen]
* libxbps: fix inconsistent dependency resolution when a dependency
is on hold. xbps will now exit with ENODEV (19) if a held dependency
breaks the installation or update of a package instead of just ignoring
it, resulting in an inconsistent pkgdb. #392 [duncaen]
* xbps-install(1): list reinstalled packages. [chocimier]
* xbps-install(1): in dry-run mode ignore out of space error. [chocimier]
* xbps-install(1): fix bug where a repo locked dependency could be updated
from a repository it was not locked to. [chocimier]
* xbps-fetch(1): make sure to exit with failure if a failure was encountered.
[duncaen]
* xbps-fetch(1): fix printing uninitialized memory in error cases. [duncaen]
* xbps-pkgdb(1): remove mtime checks, they are unreliable on fat filesystems
and xbps does not rely on mtime matching the package anymore. [duncaen]
* xbps-checkvers(1): with --installed also list subpackages. [chocimier]
* xbps-remove(1): fix dry run cache cleaning inconsistencies. [duncaen]
* xbps-query(1): --cat now works in either repo or pkgdb mode. [duncaen]
* xbps-query(1): --list-repos/-L list all repos including ones that
fail to open. [chocimier]
* xbps.d(5): describe ignorepkg more precisely. [chocimier]
xbps-0.59.1 (2020-04-01):
* libxbps: fixed a double free with malformed/incomplete
repodata archives. Added new test case. [xtraeme]
* zsh: updated completions. [Doàn Trần Công Danh, Piraty]
* libxbps: fix regression while checking reverse dependencies,
introduced in 0.59. Added new test case. [duncaen, Piotr Wójcik]
* xbps-fetch(1): fix output when not using sha256 mode. [duncaen]
* xbps-install(1): fix regressions in transaction statistics,
introduced in 0.59. [duncaen, xtraeme]
xbps-0.59 (2020-03-03):
* xbps-fetch(1): added TIMEOUT_CONNECTION environment variable
to customize time waiting for response, defaults to 5 minutes.
[Chocimier]
* libxbps: API/ABI break and bumping major soname version to 5.
[duncaen, xtraeme]
* Switch to uthash in libxbps and xbps-fbulk(1). [duncaen, xtraeme]
* xbps-query(1): `-S, --show` mode now prints all properties. [xtraeme]
* xbps-create(1): zstd is now the default compression method. [xtraeme]
* xbps-rindex(1): zstd is now the default compression method. [xtraeme]
* xbps-install(1): show overall download progress percentage.
- https://github.com/void-linux/xbps/pull/230
- https://github.com/void-linux/xbps/issues/187
Contributed by [sineemore](https://github.com/sineemore)
* libxbps: multiple performance improvements to the transaction
code, by reducing memory usage and getting rid of unnecessary
operations. [xtraeme]
* libxbps: improved code that handled file paths, with new test
cases. [duncaen]
* libxbps: ensure no multiple versions of the same package
are stored in the transaction dictionary. [xtraeme]
* xbps-uchroot(1): fixes to properly cleanup the temporary
tree with overlayfs. [xtraeme]
* libxbps: improved hash code to avoid lots of heap allocs/frees
and use stack based memory instead. [duncaen]
* libxbps: fixed 4 memory leaks in transaction/repo. [xtraeme]
* libxbps: replaced the pthread spinlock with a mutex. [xtraeme]
* libxbps: improved pkgname guessing code, avoiding lots of
heap allocs/frees and use stack based memory instead. [xtraeme]
* libxbps: fixed 3 regressions that were added in 0.58. [xtraeme]
* xbps-alternatives(1): fixed 3 issues, along with new test cases
to verify its behaviour. [xtraeme]
* xbps.d(5): added `keepconf` configuration option. If set, xbps
won't overwrite unmodified configuration files on upgrades, rather
new files will be unpacked as `<name>.new-<version>`.
- https://github.com/void-linux/xbps/pull/214
Contributed by [Andreas Kempe](https://github.com/andkem)
* xbps-install(1): fixed manual page and usage of `-R`.
Contributed by [Roman Neuhauser](https://github.com/roman-neuhauser)
15 new test cases were added in this release, 7 people
were involved: Juan RP, Duncan Overbruck, Roman Neuhauser,
Andreas Kempe, Johannes Brechtmann, sineemore, Piotr Wójcik.
238 test cases in total, with only 2 known issues in the alternatives code.
xbps-0.58 (2020-01-30):
* libfetch: fix CVE-2020-7450; from FreeBSD. [duncaen]
* xbps-query(1), xbps-remove(1): improved detection
of orphans, needing multiple iterations to collect
all of them in a single transaction. [xtraeme]
* xbps-checkvers(1): added `-e, --removed`.
To list removed templates in srcpkgs. [Chocimier]
* xbps-install(1): improved `-D, --download-only`.
This now can be used to download all required
binary packages of the target pkg without the need
to have write permission to the `rootdir`.
$ xbps-install -c $PWD/cachedir -Dy xbps
NOTE: `-c, --cachedir` must be specified as absolute
pathname, otherwise it will treat it as relative to
rootdir. [xtraeme]
* xbps-fetch(1): added `-s` to print sha256sums of
downloaded files. [duncaen]
* configure: re-add `--enable-debug` and enable it
by default. [xtraeme]
* xbps-install(1): ignore indirect reverse dependencies
while updating xbps. [xtraeme]
* xbps-install(1): added `--reproducible` long option.
If set, enables reproducible mode in pkgdb. [xtraeme]
* xbps-install(1): don't prompt if all packages in
the transaction are on hold. [Mohamad Barbar]
* xbps-rindex(1): stop adding the "build-date" pkg obj.
Contained wrong info and did not provide enough value
to be useful; another step towards reproducibility.
[xtraeme]
* xbps-create(1): always sanitize gathered symlinks. [xtraeme]
* xbps-install(1): do not silently update `xbps' on
any install/update transaction. If there's a new update
for the `xbps` package, this needs to be explicitely
declared as a single transaction, i.e:
$ xbps-install -u xbps
Otherwise it will return EBUSY (16), making this a proper
error code to diagnose what failed. [xtraeme]
* xbps.d(5): new 'noextract' configuration option,
to skip extracting files matching a pattern. [duncaen]
* xbps.d(5): autodetected 'architecture' (glibc or musl)
at compile-time on linux systems. [xtraeme]
* configure: added `--enable-lto` and don't enable it
by default. [xtraeme]
* Multiple bugs with packages on hold were fixed. [xtraeme]
* xbps-uchroot(1), xbps-uunshare(1): document end of
options argument. [Doan Tran Cong Danh]
* xbps-alternatives(1): prune obsolete alternatives groups. [q66]
17 new test cases were added in this release, 6 people
were involved: Juan RP, Piotr Wójcik, Duncan Overbruck,
Doan Tran Cong Danh, Mohamad Barbar, q66.
xbps-0.57.1 (2019-10-27):
* Multiple changes and improvements to the transaction
fetch code. [duncaen]
* Verify revision in xbps_pkg_{version,revision,name},
to handle properly package names that use '_'.
[Chocimier]
* xbps-checkvers(1): fixed a compile-time warning with glibc.
[xtraeme]
* xbps-alternatives(1): check if alternative is a
symlink before removing it. [xtraeme]
* Try to find a usable shell instead of using /bin/sh
when executing package scripts. [Gottox]
* xbps-rindex(1): better error handling for writing repodata
archives. [Chocimier]
* xbps-create(1): better error handling for writing archives.
[Chocimier]
xbps-0.57 (2019-08-06):
* xbps now builds with tcc and pcc. [xtraeme]
* xbps now uses the transactional file checks for package removals,
this fixes issues where xbps removes wrong files, if a package
replaces another packages with the same files. [duncaen]
* xbps-remove(1): skip the transaction if no packages are found.
This restores the behaviour of xbps prior to 0.54. [xtraeme]
* xbps-remove(1): fix `-o, --remove-orphans` not removing
all orphaned packages. [duncaen]
* xbps-install(1): if specified packages with `-u, --update` are
up to date return EEXIST. [jnbr]
* xbps-query(1): restores old behaviour of `--fulldeptree`,
to not list the package itself. [duncaen]
* Updated zsh completions. [leah2]
xbps-0.56 (2019-06-24):
* Fixed xbps_transaction_prepare() always returning
ENXIO because the transaction dictionary wasn't
initialized before first use. Regression from 0.54. [xtraeme]
* Fixed unlocking the pkgdb via xbps_end(). [xtraeme]
* Fixed flushing pkgdb to storage and re-reading it unnecessarily,
this affected xbps-alternatives(1), xbps-pkgdb(1) and
xbps-reconfigure(1). [xtraeme]
* xbps now allows to remove an installed package that was
added to the ignored packages list with `ignorepkg` from
xbps.d(5). [duncaen]
* Fixed an issue with multi threaded for each loops
processing the first slicecount*maxthreads entries twice. [duncaen]
* Fixed an issue with happy eyeballs, where when a socket
fails within the connection delay it aborts with the error
instead of continuing with the next address. [jnbr]
xbps-0.55 (2019-06-21):
* xbps-install(1): Added `-D, --download-only` flag to allow
downloading packages to the cache without attempting to
install them. [Toyam Cox]
* xbps-install(1): added `-I, --ignore-file-conflicts` to not abort
the transaction even if file conflicts were detected. [xtraeme]
* xbps-install(1): return 0 if package is already installed,
or up-to-date if updating, not EEXIST. EEXIST now is only
returned if there are file conflicts in transaction. [xtraeme]
* xbps-checkvers(1): fixed a segfault with `--format`. [duncaen]
* Fixed a build failure on ppc64. [q66]
* Fixed a build failure on x86. [duncaen]
* Fixed cross compilation with `--enable-static`. [xtraeme]
xbps-0.54 (2019-06-20):
* xbps now collects all package files in transaction to check for
file conflicts; any file, link or directory is now tracked before
the transaction has been committed. [duncaen]
* xbps now auto-updates reverse dependencies of target pkgs, while
installing or updating any of them, without the need to perform a
system update (xbps-install -u). [xtraeme]
* xbps now auto-updates itself when there's a new version available
in repos while installing or updating any pkg, as well as
its reverse dependencies. [xtraeme]
* xbps now supports multiple compression formats for repodata
and binary packages, including: gzip, bzip2, lz4, xz and zstd. [xtraeme]
* libxbps: improve error handling in xbps_binpkg_{arch,pkgver}(). [huglovefan]
* xbps-create(1): new `--compression` formats: lz4 and zstd, defaults to xz. [xtraeme]
* xbps-create(1): reject unknown files (socket, fifo, etc). [duncaen]
* xbps-rindex(1): added `--compression` option, to mimic xbps-create(1). [xtraeme]
* xbps-query(1): `--fulldeptree [-R] -x` has been fixed and improved vastly,
50x faster in the worst scenario. This fixes the infamous `kde5` issue. [xtraeme]
* xbps-query(1): `[-R] -X` (revdeps mode) has been fixed to fail
gracefully if a dependency cannot be resolved. [xtraeme]
* xbps-query(1): `[-R] -X` (revdeps mode) is now way faster.
50x faster in the worst scenario. [xtraeme]
* xbps-query(1): `-O` (list orphans mode) is now way faster. [yshui, xtraeme]
* xbps-query(1): now supports `$NO_COLOR` envvar. [leahneukirchen]
* xbps-install(1): don't overwrite action with downgrade if package
is on hold mode. [duncaen]
* xbps-remove(1): `-R` (recursive mode) is now way faster, fixes
the infamous `kde5` issue. [yshui, xtraeme]
* xbps-remove(1): `-o` (orphans mode) is now way faster. [yshui, xtraeme]
* xbps-remove(1): all directories are now sorted and removed
properly. [jnbr]
* xbps-fetch(1): new utility replacing "xbps-uhelper fetch". [xtraeme]
* xbps-digest(1): new utility replacing "xbps-uhelper digest". [xtraeme]
* xbps-alternatives(1): multiple improvements, all known bugs were fixed. [xtraeme]
* Sync with portableproplib-0.6.8. [xtraeme]
* Fixed building with alternative C compilers: pcc and tcc. [xtraeme]
* configure: added `enable-rpath` to set rpath in executables to `$ORIGIN/../lib`,
which makes xbps relocatable. [xtraeme]
* libxbps/fetch: Add happy eyeballs (RFC6555/RFC8305).
xbps now to connects to ipv6 and ipv4 addresses in a short interval and use the
first established connection. [duncaen]
* xbps now has a new configuration option `ignorepkg`, which allows to ignore
specified packages from being installed as dependency. [duncaen]
* xbps-pkgdb(1): new check for alternative symlinks. [duncaen]
* xbps now doesn't delete symlinks a user created in place of files which
are marked as config files.It will always extracts the configuration file
with the `.new-$pkgver` suffix instead. [duncaen]
* xbps-checkvers(1): new `--manual` flag to only check specified templates. [duncaen]
* xbps-checkvers(1): new `--format` flag to change the output format. [duncaen]
* xbps-checkvers(1): rewritten for performance, uses libxbps (proplib)
as data storage, fixes multiple issues. [duncaen]
* libxbps: bumped XBPS_API_VERSION and soname major to 4,
"struct xbps_handle" has been modified. New interfaces were
added to the API. [duncaen, xtraeme]
24 issues were fixed on this release, more information
at https://github.com/void-linux/xbps/milestone/1?closed=1
35 new test cases were added on this release, bumping the
total count to 198 test cases! 0 fails.
20 contributors in this release (in order of contributions):
Juan RP, Duncaen, Johannes Brechtmann, huglovefan, Cameron Nemo,
q66, Foxlet, Robert Lowry, Frank Steinborn, Ingo Blechschmidt,
Andres Kempe, Leah Neukirchen, Toyam Cox, Yuxuan Shui, Aleksej Lebedev,
Enno Boland, m3tav3rse, kayvenm, parke, wuhank.
xbps-0.53 (2018-07-30):
* xbps-rindex(1): fix possible stagedata deadlock. (@Gottox)
* xbps-create(1): Allow file paths longer than 128 characters. (@Gottox)
* libxbps: share workload more efficient between threads and avoid idling
threads. (@Gottox)
* xbps-rindex(1): By default xbps-rindex will not check hashes while cleaning.
To enable the old behavior the user can supply the --hashcheck flag.
(@Gottox)
xbps-0.52 (2018-04-30):
* xbps-checkvers(1): avoid infinite loops while checking revers by @ebfe #250
* libxbps: refuse to unpack absolute paths by @ebfe #247
* libxbps: verify that package version in repodata and the package metadata
matches by @ebfe #246
* xbps-rindex(1): better support for large files by @ebfe #245
* xbps-uunshare(1), xbps-uchroot(1): support relative chroot paths by
@Duncaen #207
* libxbps: Default umask for internal plists by @Duncaen #234
* Fixes for GCC 7 by @AgustinCB #254
* Fixed some random memleaks by @duncaen #206
* xbps-query(1): added --list-repolock-pkgs for consistency with other
modes #202
* libfetch: send http proxy authorization header before a secure
connection to the target is initialized. fixed by Enno Boland
reported by pulux in #185
* libxbps: avoid mmap in cases where the mmaped file can fill up the address
space on 32bit causing out of memory errors. Patches provided by Enno
Boland in #183, reported by Christian Neukirchen in #182. See
https://github.com/voidlinux/xbps/pull/183 and
https://github.com/voidlinux/xbps/pull/182
* xbps-create(1): accept -c/--changelog to set the changelog property of the
package
* xbps-query(1): fix segfault in -Ro with HTTPS repositories.
Fixes #167. See https://github.com/voidlinux/xbps/issues/167
* xbps-uhelper: the 'arch' target now supports the XBPS_ARCH
and XBPS_TARGET_ARCH environmental variables to override the
resulting architecture.
* portableproplib: merged two fixes from NetBSD CVS HEAD.
* xbps-create(1): this now creates reproducible pkgs when the file
contents do not change. Implemented by Enno Boland (@Gottox).
* xbps.d(5): the 'virtualpkg' keyword can now be used to map any pkg
to another, even if there's an existing real package. Example:
virtualpkg=wifi-firmware:base-system
Any request to the `wifi-firmware` pkg will be resolved to the
`base-system` pkg.
* libxbps: fixed some missing or incorrect printf format arguments
found by using __attribute__((format,printf). Patch provided by
Michael Gehring in #148. See https://github.com/voidlinux/xbps/issues/148
* libxbps: ignore updates for packages that have held dependencies.
Fixes #143. See https://github.com/voidlinux/xbps/issues/143
* xbps-install(1): in dry-run mode, do not stop after processing a package
that is already up-to-date. Fixes #145.
See https://github.com/voidlinux/xbps/issues/145
* libxbps: package INSTALL/REMOVE scripts do not need to be executables
anymore because they are executed with "/bin/sh" directly. That means
"/tmp" can be mounted as "noexec". Fixed #149 correctly.
See https://github.com/voidlinux/xbps/issues/149
* xbps-query(1): fix a bug where the output of -o became mixed up
when running on multiple cores.
* xbps-rindex: changes introducing inconsistent shlib dependencies will be
moved to a stage area and moved to the main repo once all inconsistencies
are resolved. Implemented by Enno Boland (@Gottox).
* libxbps: if a local repository is opened also include the stage area.
xbps-0.51 (2015-12-12):
* zsh completion: added -U/--unpack-only support for xbps-install(1).
* libxbps: initialize locale to be able to unpack UTF-8 encoded
packages files correctly with the musl C library.
* alternatives: preserve current order while updating packages.
* alternatives: always create the directory where the symlink is stored,
in case this does not exist yet.
* libxbps: another bugfix for conflicts: do not take into account packages
that are on hold mode.
xbps-0.50 (2015-11-10):
* libxbps: another bugfix for conflicts; do not take into account conflicts
in installed pkgs when the same pkg is in the transaction.
* xbps-alternatives(1): symlinks are now always created relative to the
rootdir of the target file. Implemented by Enno Boland (@Gottox).
* libxbps: fixed a bug in package conflicts: ignore conflicts for packages
that are going to be removed.
* xbps-alternatives(1): dangling symlinks are now supported, because the
target directory is always created.
* Updated zsh completions, by Steve Prybylski.
* xbps-checkvers(1): Joey Gouly fixed bug #120
(https://github.com/voidlinux/xbps/issues/120).
* libxbps: when configuring all packages ignore internal xbps objects of pkgdb.
Fixes an assertion with `xbps-reconfigure -a`.
* alternatives: really make relative symlinks this time.
xbps-0.49 (2015-10-31):
* alternatives: relative symlinks are now supported. Contributed
by Joey Guly in #126 (https://github.com/voidlinux/xbps/issues/126).
* xbps-alternatives(1): -g <grp> -l now works. To only print all alternatives
associated with this group.
* xbps-remove(1): this now will print the messages from alternatives.
* alternatives: do not register duplicate alternative groups. Happened when
reinstalling a package with alternatives.
xbps-0.48 (2015-10-30):
* xbps-alternatives(1): new utility to list or set alternatives provided by
packages. This effectively implements a functional alternatives framework
to switch easily a default provider via symbolic links.
* xbps-{install,reconfigure,remove}(1): do not log to console when the
syslog option (xbps.d(5)) is enabled. Messages are send to stderr/stdout,
so that logging to the console duplicates them. Close #123
https://github.com/voidlinux/xbps/issues/123
* xbps-fbulk(1): now comes with a manual page for the section 1.
* libxbps: implemented reverse conflicts. That means that just a single pkg
needs to set conflicts to be effective, rather than all involved pkgs.
* libxbps: with -M (--memory-sync opt of xbps-{install,query}) only process
remote repositories, not local ones.
* libfetch: merge some features from FreeBSD:
- Supports HTTP/1.1 308 redirect.
- SSLv2 HTTPS connections are forbidden by default.
- SSL/TLS HTTPS client certificate validation.
- Fixes for user/password encoding, misc.
Client certificate validation uses the default CA path (/etc/ssl/certs)
and some environment variables override its behaviour:
- SSL_CA_CERT_FILE: path to the CA file.
- SSL_CA_CERT_PATH: path to the CA path (defaults to /etc/ssl/certs)
- SSL_NO_VERIFY_PEER: disable certificate verification.
- SSL_NO_VERIFY_HOSTNAME: disable certificate hostname verification.
* lixbps: use a sane umask if the pkgdb file needs to created for the first
time. Thanks to Wolfgang Draxinger (https://github.com/voidlinux/xbps/pull/108).
* xbps-install(1): -n/--dry-run mode now also prints "installed_size" and
"filename-size" objects as 5th and 6th argument, respectively.
This implements #109 (https://github.com/voidlinux/xbps/issues/109).
* libxbps: fixed another issue when replacing an existing pkg with a virtual
pkg, and there's an update for the original pkg in the transaction.
Fixes #116 (https://github.com/voidlinux/xbps/issues/116).
* libxbps: the rpool functions now set errno to ENOENT when the target
pkg cannot be found in registered repos.
* libxbps: fix a bug where broken reverse dependencies would be detected
before detecting packages that need to be replaced in transaction.
* xbps-query(1): fail if unused arguments are supplied.
* libxbps: relative cachedir set via xbps.d(5) now work correctly.
Fixes #117 (https://github.com/voidlinux/xbps/issues/117)
* xbps-create(1): --compression now accepts "none" to not use any
compression format.
* xbps-create(1): it is now able to generate identical packages when its
content does not differ. This is the first part required to the
"100% reproducible builds" goal.
* xbps-create(1): do not add a build-date property to packages.
* xbps-rindex(1): use mtime of file instead of the build-date field in the
package to set build-date in the repo index.
* libxbps: when using verbose mode (-v) also print pkgs that are being
added to the transaction, this way we can know what pkg(s) are blocking
a transaction when there are unresolved (reverse)dependencies.
* libxbps: improved messages when reverse dependencies in a transaction
are not satistfied. Close #113 (https://github.com/voidlinux/xbps/issues/113).
After
-----
$ xbps-install -un
re2-2015.07.01_1 (update) breaks installed pkg `chromium-44.0.2403.155_1'
Transaction aborted due to unresolved dependencies.
$
Before
------
$ xbps-install -un
chromium-44.0.2403.155_1 broken, needs `re2-2015.07.01_1'
Transaction aborted due to unresolved dependencies.
$
* Multiple minor issues found by Coverity scan were fixed.
* xbps-checkvers(1): fixed an endless loop while processing templates containing
extra alphanumeric characters in the `reverts' object. Added a new testcase
to verify its correctness.
xbps-0.47 (2015-07-18):
* When executing pkg configuration, override the umask with sane defaults.
Otherwise files might be created with undesired permissions.
Fixes #106 (https://github.com/voidlinux/xbps/issues/106)
* libxbps: when resuming a file transfer (.part file exists), check if the
requested offset matches the remote file size, and if that's true,
just rename the file to finish it. The HTTP server might return a 413
return code to tell us that range is not satisfiable.
xbps-0.46 (2015-06-24):
* xbps-*: all utilities are now using getopt_long() rather than getopt()
to avoid the differences with glibc and musl when handling arguments.
Thanks to Chris M. Branon for #103.
* xbps_transaction_prepare(): do not release the transaction dictionary
if it returns ENOSPC, we need it to have access to this data to print
required/free space. Fixes #101 ((https://github.com/voidlinux/xbps/issues/101)
* xbps-uchroot(1): now handles SIG{INT,TERM,QUIT} signals to clean up the
temporary masterdir if `-t` is set.
* /usr/sbin is now a symlink in void, don't consider it as obsolete and never
remove it even if it was detected as obsolete.
* xbps-rindex(1): use `-s, --sign` to initialize the repository archive
with the required metadata to allow signed packages. Added `-S, --sign-pkg`
to sign a specific package archive. This allows to sign a specific package,
rather than all packages available in that repository.
* If the repository write lock is already taken, sleep for 1 second, rather
than looping endlessly without any timing; this consumed too much CPU time
gratuitously.
* If verifying a pkg signature fails for some reason, i.e: pkg archive is incomplete,
signature file is incomplete, whatever, just remove both files. Let's assume
next time the files are downloaded they will be valid.
xbps-0.45 (2015-06-03):
* xbps-install(1): added -U --unpack-only option, to only unpack packages
in the transaction, skips the configuration phase.
* configure: added `--enable-fulldebug` option to enable extra/expensive
debug output.
* libxbps: fixed a dangling pointer when unpacking configuration files that
are renamed (because they existed), if the unpack callback function is set.
* proplib: extra checks when internalizing plists to avoid NULL pointer
dereferences with broken files.
* Move manual pages of all utilities to the section 1 (user commands).
The xbps utilities can be used by any user so that there's no point
in having them in the section 8 (administraction and privileged commands).
* configure: --sbindir -> --bindir and executables are installed into
<prefix>/bin not <prefix>/sbin anymore.
* xbps-install(1): if there's not enough sufficient free space on rootdir,
print the required size by the transaction and free space.
* libxbps: if a pkg signature file cannot be verified, don't continue processing
other files, stop and return error immediately.
* xbps-remove(1): fixed regression while removing recursively packages, don't remove
all package orphans, this task belongs to -o not -R.
This closes #95 (xbps-remove -R pkg lists/removes orphans):
https://github.com/voidlinux/xbps/issues/95
* xbps-uunshare(1): replaced -D, -H and -S with -b src:dest. This bind mounts
src into dir/dest and allows unlimited mounts.
* xbps-uchroot(1): replaced -D, -H and -S with -b src:dest. This bind mounts
src into dir/dest and allows unlimited mounts.
* configure: added --dbdir to customize path to pkgdb.
* xbps-uchroot(1): added -o option to pass arguments to the tmpfs mount,
as is. See mount(1). Useful to specify a size for the temporary tmpfs
with overlayfs (-O).
* xbps-uchroot(1): added -t option to mount a tmpfs as temporary directory
for overlayfs (-O).
* libxbps: file descriptors are now opened with O_CLOEXEC, to avoid warnings
of leaked file descriptors while running package install/remove scripts.
* xbps-query(1): do not truncate output if stdout is not a tty.
* libfetch: added support for keep-alive connections even if the HTTP server returns
304 (Not Modified). This is a noticable performance improvement for `xbps-install -S`.
* xbps now autoupdates itself when there's a package update.
* xbps-uchroot(1): added -O option to use overlayfs to mount CHROOTDIR in
a temporary directory stored on tmpfs. This needs linux >= 3.18.
* xbps-rindex(1): fixed concurrency issues with -a and -c modes; use a simple
file lock to avoid inconsistent results in generated repodata.
xbps-0.44.1 (2015-03-21):
* libxbps: fixed xbps_get_pkg_fulldeptree() when a pkg depends on itself via
virtual packages. Reported by Duncan Overbrook.
* portableproplib: fixed a regression introduced in 0.44 resulting in EBADF
while internalizing plists.
* xbps-uunshare(1): does not fork and run cmd in the child process anymore,
replaces the execution environment with cmd instead.
* xbps-uunshare(1): do not fail if we cannot disable setgroups; some kernels
might not support it. Found by @cheneukirchen on 3.16.
* xbps-reconfigure(1): added -i/--ignore to usage(), by Christian Neukirchen.
* Updated zsh completions, by Christian Neukirchen.
* xbps-checkvers(1): fixed regression introduced in 0.44 adding packages
manually to the list as arguments.
xbps-0.44 (2015-03-06):
* xbps-uunshare(1): new utility analogue to xbps-uchroot(1), but uses
user namespaces (see user_namespaces(7)) to avoid the need of elevated
privileges.
* xbps-rindex(1): fix -s short option; was omitted in the short options list.
* xbps-pkgdb(1): added a new mode to set in installed packages: "repolock".
If that mode is set with `-m repo(un)lock`, a package will only be updated
if there's an update in the same repository that was used for installing.
This implements #77 (https://github.com/voidlinux/xbps/issues/77)
* libxbps: properly detect when a file has been moved between packages:
if the mtime stored in the pkg metadata does not match the mtime
of the same file stored on disk, don't detect this as an obsolete file.
* xbps-pkgdb(1): this now exits with an error if any test has failed.
* libxbps: while unpacking pkg files that were not modified (sha256 hash matched),
do not forget to also update the file timestamps on disk, to match
what the binary package has stored in the metadata.
* xbps-pkgdb(1): this now checks the modification time of pkg files
(iff the pkg metadata has that information).
* xbps-create(1): modification time of regular files and links is now stored
in the package files metadata, will be used in a future version.
* libxbps: file timestamps stored in binary packages are now restored while
unpacking as regular user.
* xbps-pkgdb(1): this now uses the code from libxbps to check the target file
of symlinks. This fixes some false positives with symlinks.
* xbps-create(1): properly detect target of relative symlinks in some cases.
* libxbps: make sure that symlinks with relative target are detected and removed
properly. Fix #78: https://github.com/voidlinux/xbps/issues/78
* xbps-checkvers(1): this now does not segfault anymore when the source package
does not set required variables (pkgname/version/revision). Added new test
cases to verify its correctness.
* libxbps: globally check for unresolved reverse dependencies before accepting
the transaction. This catches more cases of broken packages due to incompatible
upgrades or unwanted removals. This also implements #46.
https://github.com/voidlinux/xbps/issues/46
* xbps-query(1): in the ownedby mode, do not follow symbolic links and if the
matching file is a symlink print its target file too:
$ xbps-query -o `which whatis`
mdocml-1.13.2_5: /usr/bin/whatis -> /usr/bin/mandoc (link)
* xbps-install(1): add additional actions to the column output: "downgrade"
and "reinstall", as well as current installed version and new version.
Implement https://github.com/voidlinux/xbps/issues/72
* libxbps: add packages on hold mode to the transaction, but just ignore them.
This way those are shown in the xbps-install(1) output and the user really
knows that there's a pending update that is not being applied.
Idea by @chneukirchen.
* libxbps: make sure to remove the pkg metadata file if a pkg upgrade does not
own any file and a dependency replaces it due to moving files between them.
Added two new test cases to verify its correctness.
* xbps-query(1): --regex option now matches EREs in case insensitive mode.
* libxbps: globally check for unresolved shared libraries before accepting
a transaction to make sure there's no broken packages.
* libxbps: abort package unpacking as soon as a file failed
to be written and return a meaningful error; close #74
https://github.com/voidlinux/xbps/issues/74
* Change the xbps utils to just check for the first character when it
asks for confirmation, rather than "yes" or "no". This implements issue #73.
https://github.com/voidlinux/xbps/issues/73
* libxbps: use a sane umask(2) while unpacking package files from
binary packages (see https://github.com/voidlinux/void-packages/issues/835)
* xbps-dgraph(1): the -m/--metadata option (default mode) is now properly
accepted. Regression introduced in 0.42.
* xbps-{install,query}: the --repository argument now works with relative
paths for local repositories. The relative path is always converted to
absolute.
* libxbps: the provides obj (array of strings) now fully expects exact
pkgver strings, such as `foo-1.0_1`. Incomplete components such as
`pkgname` or `pkgname-9` are not accepted anymore.
* libxbps: detection of orphaned pkgs is now 66% faster (and even more in some cases).
This improves the performance of `xbps-remove -R` (recursively remove a pkg
and its dependencies) and `xbps-remove -o` (remove orphaned pkgs) marginally.
* xbps-query(1): only compile the ERE (Extended Regular Expression) once in
the ownedby and search modes. A performance improvement suggested by Christian Neukirchen.
* libxbps: performance improvement for xbps_repo_get_pkg_revdeps(): when finding
the matching pkg, search for it in the current repository, not in the repository
pool.
xbps-0.43.1 (2015-01-05):
* Fixed a regression in virtual packages defined via xbps.d(5) introduced in 0.43.
xbps-0.43 (2014-12-31):
* pcc >= 1.1.0 is now a supported compiler.
* xbps.d(5): the "virtualpkg" keyword now accepts pkgnames in the first component,
to match any virtual package version. Example:
`virtualpkg=foo:bar`
would match any version of the virtual package `foo' to be resolved as `bar'.
* libxbps: when resolving virtual packages in repositories, make sure to initialize
pkgdb to match any virtualpkg declared there. Regression introduced in 0.42.
* configure: build with -fstack-protector-strong if supported by the compiler,
and fallback to -fstack-protector otherwise.
* xbps-pkgdb(1): the `packaged-with` string obj is removed from pkgdb.
Since 0.42 that object is unnecessary and is being obsoleted.
* libfetch: fix races in the cache connection code.
xbps-0.42 (2014-12-22):
* xbps-reconfigure(1): new option -i, --ignore to ignore packages
while performing configuration of all packages with -a, --all.
Fix #67 (https://github.com/voidlinux/xbps/issues/67)
* xbps-{install,query}: fix alignment in the column output mode
when pkgname is shorter than 4 chars. Fix #71 (https://github.com/voidlinux/xbps/issues/71)
* xbps.d(5): new manual page detailing the configuration settings.
* xbps-dgraph(1): added support to generate dependency graphs, repository
mode, prints results to stdout, supports most of the options available
in other utils, etc. This is now a first class utility.
* xbps-{install,query}: added new option (-M, --memory-sync) to fetch and
store remote repository data in memory. That means that synchronizing
the repository archives with `xbps-install -S` is now completely optional.
This also means that `xbps-query(1)` may be used by any user without the
need to be the `superuser` to synchronize the repository archives.
* xbps-{install,query}: added new option (-i, --ignore-conf-repos) to ignore
repositories defined in configuration files (xbps.d). Only repos specified
by the command line will be used (--repository).
* Implemented issue #69 (No way to set globally a custom architecture)
A new configuration keyword "architecture" has been added to override
the native machine architecture (uname -m).
* Fixed issue #68 "xbps_binpkg_arch() asserts if arch contains a dash"
https://github.com/voidlinux/xbps/issues/68
* xbps-query(1): added --cat=FILE mode to print FILE stored in a binary package
to stdout. This works exactly as the --files mode: if the matching binary package
is not available in the cachedir, xbps will establish a network connection
to the target repository to get the contents of FILE on the fly.
* Get rid of repodata index-files, that contained all pkg files of a repository
in the archive. That file was so huge that incresed the repository archive
size by 8x. That means that `xbps-query -Ro` will now make N parallel connections
to the remote server to inspect the binary packages remotely; if the binary
package is in cachedir, no network connection to the remote server will be
established. This reduces the size of the main x86_64 repository (4000 packages)
to 700KB, compared to 4.5MB previously.
* xbps-create(1): fixed issue #64 "xbps-create(1) incorrect installed-size with hardlinks".
https://github.com/voidlinux/xbps/issues/64
* Added a new configuration keyword "bestmatching", which expects "true" or "false"
and disabled by default. If enabled the pkg with the greatest version available
in all registered repositories will be choosen, rather than the first package
matching the expression. This keyword can be set in a configuration file.
* xbps-rindex(1): added -d/--debug option.
* utils: the -C/--config option now expects a path to a directory storing
configuration files; if first character is not '/' it will be treated as
relative to rootdir.
* <sysconfdir>/xbps/xbps.conf is not longer installed, in fact there are no files
installed anymore to sysconfdir. The xbps.conf file with everything commented out
is now installed to <sharedir>/xbps.d/xbps.conf just as example.
* Replaced config/system {preserve,repo,virtualpkg}.d directories with a single
xbps.d directory that may contain configuration files of all kinds:
general options, repositories, virtual packages, and preserved files.
By default set to <sysconfdir>/xbps.d and <sharedir>/xbps.d:
- /usr/local/etc/xbps.d <- configuration directory
- /usr/local/share/xbps.d <- system configuration directory
Files bearing the same filename in the configuration directory override
those available in the system configuration directory.
* Virtual packages are now collected directly from pkgdb, that means
that installed packages do not need to have a virtualpkg configuration
file in the system virtualpkg.d directory.
* xbps-{install,remove}: implemented a column/wide output mode
as requested in #63 (https://github.com/voidlinux/xbps/issues/63).
If the terminal has enough columns it will use this and falling back
to the previous mode otherwise.
* libxbps: replaces the internal redundant dependency sorting step
that was made in xbps_transaction_prepare() with a simple implementation
that fixes 2 bugs and makes xbps 2x faster to resolve dependencies.
Packages that don't have "provides" obj but were declared as virtual packages,
were not detected correctly and lead me to rewrite this code.
* Fixed issue #62 (Dup replaced pkgs in transaction); see
https://github.com/voidlinux/xbps/issues/62
* If removing a package and euid==0 do not check for file owner, being root
means that all files can be removed properly. This fixes package removal
when some files were not owned by root, rather by a system account.
* Fixed 65 issues found by Coverity scan. Defect density is now below 0.30
per 1000 lines of code.