-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathapt.spec
1415 lines (1155 loc) · 54.3 KB
/
apt.spec
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
%set_verify_elf_method strict
%define _unpackaged_files_terminate_build 1
Name: apt
Version: 0.5.15lorg2
Release: alt74
Summary: Debian's Advanced Packaging Tool with RPM support
Summary(ru_RU.UTF-8): Debian APT - Усовершенствованное средство управления пакетами с поддержкой RPM
License: GPL-2.0-or-later
Group: System/Configuration/Packaging
URL: http://apt-rpm.org
# Known upstream "apt-rpm" Git repos:
# -----------------------------------
#
# * http://apt-rpm.org/scm/apt.git
# * https://github.com/arelixlinux/apt which is said to be a clone from GitLab
#
# The second repo has a few more recent commits than the first one, a deeper
# history (into the past), and some better formatted commit headers (Author).
# (Compare like this: git range-diff apt-rpm/master...apt-rpm@github/master)
#
# To graft it (the 2nd deeper history) to ALT's history locally for yourself:
#
# git replace --graft 0.5.15lorg2-alt3 49dff175fb8ea3cd3ef47d45836f3089838246d6 0.5.15cnc6-alt18
#
# Then git blame on the source code gives more interesting information.
# If the two parents are in this order, git blame --first-parent -w shows more
# intersting individual commits from Conectiva's history, and not ALT's one.
# (Make sure that the grafted source code is identical to ours:
#
# git tag apt-0.5.15lorg2@github 49dff175fb8ea3cd3ef47d45836f3089838246d6
# git diff [email protected] --stat | fgrep -v ' => '
#
# The only reported difference is that they added a contributed script.)
#
# The upstream Debian repo:
# -------------------------
#
# https://salsa.debian.org/apt-team/apt.git
#
# To attach it to Conectiva's history (locally for yourself):
#
# git tag apt-rpm-MERGED-0.5.4.9@github b780834d0d29cca5b0af1b544d3ff7b2a3d1a7a8
# git tag 0.5.4.9-MERGED-into-CNC 4968036c93552ff78c1f857a91c685f0f3bcb794
# git replace --graft apt-rpm-MERGED-0.5.4.9@github 0.5.4.9-MERGED-into-CNC apt-rpm-MERGED-0.5.4.9@github^
#
# The parent with the richer history is 1st for git blame --first-parent -w.
#
# Enhanced apt-rpm history
# ------------------------
#
# I've enhanced the apt-rpm history (for future rebases and cherry-picks
# into ALT) and put it into the "next" remote (apt-rpm_next repo); branches:
#
# 0.5.15sisyphus0/apt-rpm -- brings the apt-repomd branch into the linear history;
# 0.5.15sisyphus1/apt-rpm -- fixes whitespace issues.
#
# It makes sense to graft it into our history (so that merges are hopefully
# simpler):
#
# git replace --graft 00dc7947063a474cafd29c6c1fb1185609eb0c6b 00dc7947063a474cafd29c6c1fb1185609eb0c6b^ next/0.5.15sisyphus1/fix-whitespace
#
Vcs: git://git.altlinux.org/gears/a/apt.git
Source0: %name-%version-%release.tar
Requires: libapt = %EVR
Requires: rpm >= 4.13.0.1-alt2, /etc/apt/pkgpriorities, apt-conf
Requires: librpmio(PGPHASHALGO_BLAKE2B)%{?_is_libsuff:(%{_libsuff}bit)} = 100
# We need (lib)rpm which finds pkgs by labels in N-E:V-R@T format:
Requires: RPMQ(EPOCH)
Requires: RPMQ(BUILDTIME)
Requires: RPMQ(DISTTAG)
# for methods.
Requires: gzip, bzip2, xz
Requires: gnupg, alt-gpgkeys
# Older versions of update-kernel misunderstood the @-postfix (with buildtime
# and disttag), which is now added by APT to verstrs and the names of
# allow-duplicated pkgs. (Epoch was also treated differently before, but that
# was not important until we added disttags, which are also separated by :.)
Conflicts: update-kernel < 0.9.14-alt1
# Older versions of apt-scripts-nvidia relied on a certain format of the APT ids
# of allow-duplicated packages, which changed (due to appending buildtime).
Conflicts: apt-scripts-nvidia < 0.5.0-alt1
# for apt-pipe.
BuildPreReq: setproctitle-devel
%def_disable static
%{?_enable_static:BuildPreReq: glibc-devel-static}
# should be same version in rpm.spec
BuildPreReq: liblua5.3-devel
BuildRequires: docbook-utils gcc-c++ libreadline-devel librpm-devel setproctitle-devel
BuildRequires: libgnutls-devel
%package -n libapt
Summary: APT's core libraries
Group: System/Libraries
# RPMTAG_AUTOINSTALLED is supported since 4.13.0.1-alt2.
Requires: librpm7 >= 4.13.0.1-alt2
%package -n libapt-devel
Summary: Development files and documentation for APT's core libs
Summary(ru_RU.UTF-8): Файлы и документация для разработчиков, использующих библиотеки APT
Group: Development/C
Requires: libapt = %EVR, librpm-devel >= 4.13.0.1-alt2
%package -n libapt-devel-static
Summary: Development static library for APT's libs
Summary(ru_RU.UTF-8): Статическая библиотека APT для разработчиков, использующих библиотеки APT
Group: Development/C
Requires: libapt-devel = %EVR, librpm-devel-static >= 4.13.0.1-alt2
%package rsync
Summary: rsync method support for APT
Summary(ru_RU.UTF-8): Поддержка метода rsync для APT
Group: Development/Other
Requires: %name = %EVR, rsync >= 2.5.5-alt3
%package https
Summary: https method support for APT
Summary(ru_RU.UTF-8): Поддержка метода https для APT
Group: Other
Requires: %name = %EVR
%package tests
Summary: Test suite for APT
Summary(ru_RU.UTF-8): Набор тестов для APT
Group: Other
BuildArch: noarch
Requires: %name = %EVR
Requires: rpm-build
Requires: /usr/bin/genbasedir
# optional
%global complete_reqs_of_tests %name-https /usr/sbin/nginx /usr/bin/openssl
%global reqs_of_tests_to_filter_out \\(%name-https\\|/usr/sbin/nginx\\|nginx\\|/usr/bin/openssl\\|openssl\\)
%filter_from_requires \,^%reqs_of_tests_to_filter_out\($\|[[:blank:]]\),d
# {{{ descriptions
%define risk_usage_en This package is still under development.
%description
A port of Debian's APT tools for RPM based distributions,
or at least for Conectiva. It provides the apt-get utility that
provides a simpler, safer way to install and upgrade packages.
APT features complete installation ordering, multiple source
capability and several other unique features.
%risk_usage_en
%define risk_usage Данный пакет пока еще находится в стадии разработки.
%description -l ru_RU.UTF-8
Перенесенные из Debian средства управления пакетами APT, включающие
в себя поддержку RPM, выполненную компанией Conectiva (Бразилия).
Этот пакет содержит утилиту apt-get для простой и надежной установки
и обновления пакетов. APT умеет автоматически разрешать зависимости
при установке, обеспечивает установку из нескольких источников и
целый ряд других уникальных возможностей.
%risk_usage
%description -n libapt
This package contains APT's package manipulation library,
modified for RPM.
%risk_usage_en
%description -n libapt-devel
This package contains the header files and libraries for developing with
APT's package manipulation library, modified for RPM.
%risk_usage_en
%description -n libapt-devel-static
This package contains static libraries for developing with APT's
package manipulation library, modified for RPM.
%risk_usage_en
%description rsync
This package contains method 'rsync' for APT.
%risk_usage_en
%description https
This package contains method 'https' for APT.
%risk_usage_en
%description tests
This package contains test suite for APT.
%description -n libapt -l ru_RU.UTF-8
В этом пакете находится библиотеки управления пакетами
из комплекта APT. В отличие от оригинальной версии для Debian, этот
пакет содержит поддержку для формата RPM.
%risk_usage
%description -n libapt-devel -l ru_RU.UTF-8
В этом пакете находятся заголовочные файлы и библиотеки для разработки
программ, использующих библиотеки управления пакетами
из комплекта APT. В отличие от оригинальной версии для Debian, этот
пакет содержит поддержку для формата RPM.
%risk_usage
%description -n libapt-devel-static -l ru_RU.UTF-8
В этом пакете находятся статические библиотеки для разработки программ,
использующих библиотеки управления пакетами из
комплекта APT. В отличие от оригинальной версии для Debian, этот пакет
содержит поддержку для формата RPM.
%risk_usage
%description rsync -l ru_RU.UTF-8
В этом пакете находится метод 'rsync' для APT
%risk_usage
%description https -l ru_RU.UTF-8
В этом пакете находится метод 'https' для APT
%risk_usage
%description tests -l ru_RU.UTF-8
В этом пакете находится набор тестов для APT.
# }}}
%prep
%setup -n %name-%version-%release
./verify-src.sh
# Fix url.
sed -i 's,/usr/share/common-licenses/GPL,/usr/share/license/GPL,' COPYING
# Unhide potential cc/c++ errors.
sed -i 's, > /dev/null 2>&1,,' buildlib/tools.m4
# Add trivial arch translation.
printf '%_target_cpu\t%_target_cpu' >> buildlib/archtable
%build
gettextize --force --quiet --no-changelog --symlink
%autoreconf
# std::optional support
# (We set a GNU dialect in -std= in order to minimally diverge
# from GCC's default, which is also -std=gnu++NN.)
%ifnarch %e2k
%add_optflags -std=gnu++17
%else
%remove_optflags -Wno-error
%add_optflags -std=gnu++14
find -type f -'(' -name '*.cc' -or -name '*.h' -')' -print0 \
| xargs -0 sed -i -re \
's,(std::)(optional|nullopt),\1experimental::\2,g;
s,^(#[[:blank:]]*include[[:blank:]]*<)(optional>),\1experimental/\2,'
find -type f -'(' -name '*.cc' -or -name '*.h' -')' -print0 \
| xargs -0 sed -i -re \
's,(std::)(is_unsigned_v),\1experimental::\2,g;
s,^(#[[:blank:]]*include[[:blank:]]*<)(type_traits>),\1experimental/\2,'
# [[fallthrough]] attribute is not yet known to lcc:
%add_optflags -Wno-error=attributes
%endif
%configure --includedir=%_includedir/apt-pkg --enable-Werror %{subst_enable static}
echo '#define APTRPM_ID "%name-%{?epoch:%epoch:}%version-%release%{?disttag::%disttag}.%_target_cpu"' \
>> include/config.h
# Probably this obsolete now?
find -type f -print0 |
xargs -r0 grep -EZl '/var(/lib)?/state/apt' -- |
xargs -r0 %__subst -p 's,/var\(/lib\)\?/state/apt,%_localstatedir/%name,g' --
%make_build
%install
mkdir -p %buildroot%_sysconfdir/%name/{%name.conf,sources.list,vendors.list,preferences}.d
mkdir -p %buildroot%_libdir/%name/scripts
mkdir -p %buildroot%_localstatedir/%name/{lists/partial,prefetch}
mkdir -p %buildroot%_cachedir/%name/{archives/partial,gen{pkg,src}list}
mkdir -p %buildroot%_libdir/%name/tests
%makeinstall includedir=%buildroot%_includedir/apt-pkg
install -pm644 apt.conf %buildroot%_sysconfdir/%name/
# This is still needed.
ln -sf rsh %buildroot%_libdir/%name/methods/ssh
ln -sf gzip %buildroot%_libdir/%name/methods/bzip2
ln -sf gzip %buildroot%_libdir/%name/methods/xz
# Cleanup
rm %buildroot%_libdir/*.la
bzip2 -9fk ChangeLog-rpm.old
find %buildroot%_includedir -type f -name '*.h' |while read f; do
cat >>"$f" <<EOF
#include <stdint.h>
#if __WORDSIZE == 32 && !defined(__USE_FILE_OFFSET64)
# error "<${f#%buildroot%_includedir/}> cannot be used without -D_FILE_OFFSET_BITS=64"
#endif
EOF
done
mkdir -p %buildroot%_datadir/%name
cp -r test/integration %buildroot%_datadir/%name/tests/
%find_lang %name
unset RPM_PYTHON
%package basic-checkinstall
Summary: Immediately test %name when installing this package (only basic tests)
Group: Other
BuildArch: noarch
Requires(pre): %name-tests
%description basic-checkinstall
Immediately test %name when installing this package.
The set of testcases is limited (just to the file method).
%files basic-checkinstall
%pre basic-checkinstall -p %_sbindir/sh-safely
set -o pipefail
# Check that %name-tests has no unwanted extra reqs:
found_unwanted_reqs_of_tests="$(rpm -q %name-tests -R |
{ grep -e '%{reqs_of_tests_to_filter_out}' ||
[ $? -eq 1 ]; })"
if [ -n "$found_unwanted_reqs_of_tests" ]; then
printf >&2 'These are unwanted extra reqs of %name-tests:\n%%s\n' \
"$found_unwanted_reqs_of_tests"
exit 1
fi
pushd %_datadir/%name/tests/
# force the target arch for the tests
#
# By default, the packages would be built for the arch detected by rpm-build
# (rpmbuild --eval %%_arch). On installation, they would be compared
# by rpm for compatibility with the arch detected by rpm. Currently,
# the mismatch in the detection between rpm and rpm-build can lead to problems,
# at least, on armh. So, we set the target by force to a value that must work.
system_arch="$(rpm -q rpm --qf='%%{ARCH}')"
export APT_TEST_TARGET="$system_arch"
# this macro can be prefixed (e.g., by environment assignments),
# therefore the extra backslash in the first line
%global runtests \\\
./run-tests -v
# A quick test with just one method for the case without APT_TEST_GPGPUBKEY.
APT_TEST_METHODS='file' %runtests
# The same tests, but just via cdrom with a missing release:
#APT_TEST_METHODS=cdrom_missing_release %%runtests
%package checkinstall
Summary: Immediately test %name when installing this package (complete set of tests)
Group: Other
BuildArch: noarch
Requires(pre): %name-tests
Requires(pre): %complete_reqs_of_tests
Requires(pre): gpg-keygen
%description checkinstall
Immediately test %name when installing this package.
The set of testcases is complete (all the methods that are tested by default
and some additional peculiarities are tested).
%files checkinstall
%pre checkinstall -p %_sbindir/sh-safely
set -o pipefail
pushd %_datadir/%name/tests/
# force the target arch for the tests
#
# By default, the packages would be built for the arch detected by rpm-build
# (rpmbuild --eval %%_arch). On installation, they would be compared
# by rpm for compatibility with the arch detected by rpm. Currently,
# the mismatch in the detection between rpm and rpm-build can lead to problems,
# at least, on armh. So, we set the target by force to a value that must work.
system_arch="$(rpm -q rpm --qf='%%{ARCH}')"
export APT_TEST_TARGET="$system_arch"
# prepare data for rpm --import
APT_TEST_GPGPUBKEY="$PWD"/example-pubkey.asc
gpg-keygen --passphrase '' \
--name-real 'Some One' --name-email [email protected] \
/dev/null "$APT_TEST_GPGPUBKEY"
export APT_TEST_GPGPUBKEY
%runtests
# Everything has been tested by now.
%package heavyload-checkinstall
Summary: Immediately test %name when installing this package (many times under heavy load)
Group: Other
BuildArch: noarch
Requires(pre): %name-tests
Requires(pre): %complete_reqs_of_tests
Requires(pre): gpg-keygen
%description heavyload-checkinstall
Immediately test %name when installing this package.
The tests are run many times and under simulated heavy load (namely,
in parallel) in order to possibly detect races
(to make sure no tests are randomly succeeding).
%files heavyload-checkinstall
%pre heavyload-checkinstall -p %_sbindir/sh-safely
set -o pipefail
pushd %_datadir/%name/tests/
# force the target arch for the tests
#
# By default, the packages would be built for the arch detected by rpm-build
# (rpmbuild --eval %%_arch). On installation, they would be compared
# by rpm for compatibility with the arch detected by rpm. Currently,
# the mismatch in the detection between rpm and rpm-build can lead to problems,
# at least, on armh. So, we set the target by force to a value that must work.
system_arch="$(rpm -q rpm --qf='%%{ARCH}')"
export APT_TEST_TARGET="$system_arch"
# prepare data for rpm --import
APT_TEST_GPGPUBKEY="$PWD"/example-pubkey.asc
gpg-keygen --passphrase '' \
--name-real 'Some One' --name-email [email protected] \
/dev/null "$APT_TEST_GPGPUBKEY"
export APT_TEST_GPGPUBKEY
# Below we run the same tests many times in order to possibly catch
# bad races. (It's more probable to catch a race under heavy load;
# therefore, of the total specified number of tries, we do
# simultaneously as many as reasonable and possibly even more than TRIES.)
# To not run in parallel, build the pkg with --define 'nprocs_for_check %%nil'
# Consider multiplying `nproc` by 2 for heavier load.
NPROCS=`nproc`
if ! [ "$NPROCS" -gt 0 ] 2>/dev/null; then
NPROCS=1
fi
%{?nprocs_for_check:NPROCS=%nprocs_for_check}
TRIES=2
if [ $TRIES -lt ${NPROCS:-0} ]; then
TRIES=$NPROCS
fi
seq 0 $((TRIES-1)) | xargs -I'{}' ${NPROCS:+-P$NPROCS --process-slot-var=PARALLEL_SLOT} \
-- sh -efuo pipefail -c '%runtests '${NPROCS:+'|& sed --unbuffered -e "s/^/[$PARALLEL_SLOT {}] /"'}
%files -f %name.lang
%_bindir/apt-*
%_libdir/%name
%exclude %_libdir/%name/methods/rsync
%exclude %_libdir/%name/methods/https
%dir %_sysconfdir/%name
%config(noreplace) %_sysconfdir/%name/%name.conf
%dir %_sysconfdir/%name/*.d
%_mandir/man?/*
%doc README* TODO COPYING AUTHORS* ChangeLog-rpm.old.bz2 doc/examples contrib
%defattr(2770,root,rpm,2770)
%_cachedir/%name/archives
%files -n libapt
%_libdir/*.so.*
%_localstatedir/%name
%defattr(2770,root,rpm,2770)
%dir %_cachedir/%name
%files -n libapt-devel
%_libdir/*.so
%_includedir/*
%if_enabled static
%files -n libapt-devel-static
%_libdir/*.a
%endif
%files rsync
%dir %_libdir/%name
%dir %_libdir/%name/methods
%_libdir/%name/methods/rsync
# Probably %%doc with README.rsync?
%files https
%dir %_libdir/%name
%dir %_libdir/%name/methods
%_libdir/%name/methods/https
%files tests
%_datadir/%name/tests/
%changelog
* Sat Dec 04 2021 Ivan Zakharyaschev <[email protected]> 0.5.15lorg2-alt74
- Implemented generic callback system for packagekit, allowing to show progress
during offline-update to user. (Thx Oleg Solovyov mcpain@)
* Fri Oct 29 2021 Ivan Zakharyaschev <[email protected]> 0.5.15lorg2-alt73
- (tests) Report if a test (marked XFAIL) uneXpectedly passes (XPASS).
- (tests) Run them not in %%check, but in *-checkinstall subpkgs. (To break
build-dep cycle with apt-repo-tools, whose features are required by the tests,
but which needs to be recompiled to be linked with libapt.)
- (tests) Done more extensive testing of how apt works with "rpm" repos
via any of the file, http(s), cdrom methods; including:
+ re-fetching if the saved complete or partial pkglist indices are corrupt
(see https://bugzilla.altlinux.org/show_bug.cgi?id=40746#c9 );
+ the verification of the checksums of pkglist indices. (The verification
is tested in two ways:
* The verification of the checksum of a specific type is tested by faking
it in the meta-data: for MD5, SHA1, SHA256, BLAKE2b and just the size.
* Simply testing that a faked pkglist file of the same size is rejected--no
matter which hashing algorithm is used.)
+ the verification of the checksums of rpm archives. (The verification
is tested in two ways:
* The verification of the checksum of a specific type is tested by faking
it in the meta-data: for MD5, SHA1, SHA256, BLAKE2b.
* Simply testing that a faked rpm file of the same size is rejected--no
matter which hashing algorithm is used.)
- (source code; ABI) Reverted a lot of inessential optimizations
from 0.5.15lorg2-alt72.
- (source code; ABI) Got rid of virtual methods with default parameters
(because they are confusing for the programmer).
- (source code; ABI) Backported some pieces of the support for the multiplicity
of checksum (and compression) types from apt-rpm (thx imz@):
+ the type of the compression for "pkglist" indices;
+ the type of the checksum for "pkglist" indices;
+ the type of the checksum for "rpm" archives.
- Added blake2b hash support (thx glebfm@).
- Changed file and copy download methods to always compute checksums
(thx glebfm@).
* Thu Mar 18 2021 Ivan Zakharyaschev <[email protected]> 0.5.15lorg2-alt72
- Cleaned up the code (thx Dmitry V. Levin ldv@; including
quite a few commits cherry-picked from http://apt-rpm.org/scm/apt.git):
+ to avoid compilation warnings altogether and some unreliable code;
+ to avoid using any old deprecated RPM API.
- Reverted (for a while) new features with unreliable implementation introduced
in 0.5.15lorg2-alt70 (dynamic resizing of allocated memory; some support
for large files). Updated how the other changes look in the history
(thx darktemplar@). (The soname has been bumped again.)
- API changes:
+ Reverted inessential optimizations that caused incompatibilities with
the Debian API (introduced in 0.5.15lorg2-alt70).
+ Made pkgCacheFile class lazy and immutable so that it better suits
the expectations of modern libapt clients such as PackageKit
and so that it is less prone to memory leaks and other programming errors.
+ And changed some other things (how functions return results) to avoid
programming errors (which lead to the NULL dereference bugs listed below).
- Fixed some recently introduced and recently discovered bugs:
+ APT now can handle packages without ARCH tag (such as gpg-pubkey, brought
by 3rd-party packages) without a crash (thx darktemplar@ et al)
(ALT#38381, ALT#38642).
+ Some crashes with incomplete indices (after the old apt-cdrom or for
incompatible arch).
- Increased the default APT::Cache-Limit (up to 192M)
to make the "out of space" failure less probable for packagekit.
* Mon Sep 21 2020 Ivan Zakharyaschev <[email protected]> 0.5.15lorg2-alt71.3
- Fixed copying release information from cdrom (thx Aleksei Nikiforov).
(Closes: #37531)
* Mon Jul 22 2019 Aleksei Nikiforov <[email protected]> 0.5.15lorg2-alt71
- Introduced new function ListUpdate for improved packagekit support.
(Note that the APT::Get::Archive-Cleanup configuration option has no longer
any effect after this change. It was off by default.)
* Mon Jul 22 2019 Aleksei Nikiforov <[email protected]> 0.5.15lorg2-alt70
- Ported dynamic memory allocation from Debian.
- Bumped soname due to ABI changes.
* Wed Jul 17 2019 Andrew Savchenko <[email protected]> 0.5.15lorg2-alt69
- Add E2K arch support.
* Thu Jul 4 2019 Ivan Zakharyaschev <[email protected]> 0.5.15lorg2-alt68.1
- Made the treatment of the File Provides and the version ID of
installed packages "stable": not affected negatively by sources.list.
Also negative effects of different pkglists from sources.list on each other
have been mitigated. (A pkglist from sources.list that lacked disttags could
shadow the File Provides of packages from the database or other pkglists.)
* Wed Jun 05 2019 Ivan Zakharyaschev <[email protected]> 0.5.15lorg2-alt68
- Add disttag to VerStrs (used by APT to identify package versions).
* Wed Jun 05 2019 Aleksei Nikiforov <[email protected]> 0.5.15lorg2-alt67
- Print error and disable 'upgrade' by default.
Using 'dist-upgrade' instead of 'upgrade' is advised.
Allow enabling 'upgrade' via '--enable-upgrade' option or
via 'APT::Get::EnableUpgrade' configuration setting (Closes: #30867).
* Wed Jun 05 2019 Aleksei Nikiforov <[email protected]> 0.5.15lorg2-alt66
- Fortified https method (Closes: #33732)
- Dropped processing Realm name in http/https methods (Closes: #33236)
* Thu May 30 2019 Ivan Zakharyaschev <[email protected]> 0.5.15lorg2-alt65
- Add buildtime to VerStrs (used by APT to identify package versions).
This data is used in several manners:
* by CheckDep() (only when matching a dependency with a real package);
* rpm_name_conversion() (only when making up an id for a duplicated package);
* and by *CmpVersion().
The latter needs buildtime to determine the correct upgrade direction and
can be called through the API with some externally supplied versions.
In order to honor buildtime without changing the API and its clients, we pass
buildtime inside the existing argument. (Also fixes ALT#36528)
- Increase default APT::Cache-Limit in 1.5 times due to the extension of VerStrs
(ALT#36775).
* Fri May 17 2019 Aleksei Nikiforov <[email protected]> 0.5.15lorg2-alt64
- Ported https support from Debian via https method to apt-https package (Closes: #33732).
* Sat May 11 2019 Gleb F-Malinovskiy <[email protected]> 0.5.15lorg2-alt63
- archtable:
+ added ppc64le;
+ added trivial arch translation (%%_target_cpu -> %%_target_cpu).
* Fri Mar 29 2019 Aleksei Nikiforov <[email protected]> 0.5.15lorg2-alt62
- Implemented --autoremove option for apt-get and apt-shell (Closes: #36322).
- Fixed autoremove in apt-shell to properly process packages with pending removal.
* Fri Dec 28 2018 Aleksei Nikiforov <[email protected]> 0.5.15lorg2-alt61
- Fixed marking packages with transformed names as autoinstalled.
* Wed Dec 19 2018 Aleksei Nikiforov <[email protected]> 0.5.15lorg2-alt60
- Fixed releasing rpmdb if it was locked read-only.
- Implemented new interface for querying packages pending to autoremoval.
* Tue Dec 19 2017 Aleksei Nikiforov <[email protected]> 0.5.15lorg2-alt59
- Fixed crash on fail to read package file.
- Implemented following actions and commands (closes: #34036):
"apt-get autoremove", "apt-mark showmanual [package1 ...]", "apt-mark showauto [package1 ...]",
"apt-mark manual package1 [package2 ...]", "apt-mark auto package1 [package2 ...]",
"apt-mark showstate [package1 ...]".
* Fri Dec 15 2017 Ivan Zakharyaschev <[email protected]> 0.5.15lorg2-alt58
- cherry-picked from Debian 0.7.22 (git://anonscm.debian.org/git/apt/apt.git)
some fixes for http download method (ALT: 18925)
* Fix pipeline handling on http.cc
(closes: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=413324)
(thx Otavio Salvador).
* show error details of failed methods
* if a process aborts with signal, show signal number
* in http method: ignore SIGPIPE, we deal with EPIPE elsewhere
(closes: https://bugs.launchpad.net/ubuntu/+source/apt/+bug/385144)
(thx Michael Vogt).
* Mon Jul 03 2017 Gleb F-Malinovskiy <[email protected]> 0.5.15lorg2-alt57
- Fixed script_slot variable (vseleznv@; ALT#32941).
- Used recently restored librpm rpmRangesOverlap, and
rpmCheckRpmlibProvides functions.
* Wed Dec 21 2016 Gleb F-Malinovskiy <[email protected]> 0.5.15lorg2-alt56
- Added support of lua 5.3.
- Rebuilt with liblua5.3.
* Fri Dec 16 2016 Gleb F-Malinovskiy <[email protected]> 0.5.15lorg2-alt55
- Optimized all rpmds operations.
* Mon Nov 21 2016 Gleb F-Malinovskiy <[email protected]> 0.5.15lorg2-alt54
- Fixed build with rpm-4.13 (legion@).
- Disabled fancypercents by default.
- Backported fix for logic about package sizes.
- Fixed support of librpm promoteepoch option.
- Bumped soversion.
* Fri Nov 27 2015 Ivan Zakharyaschev <[email protected]> 0.5.15lorg2-alt53
- doc/: Add a note about APT_CONFIG in the -c description
(Closes: Debian #578267) (thx David Kalnischkies).
* Fri May 29 2015 Gleb F-Malinovskiy <[email protected]> 0.5.15lorg2-alt52
- Fixed apt usage with redefined rpm binary name.
* Thu May 28 2015 Gleb F-Malinovskiy <[email protected]> 0.5.15lorg2-alt51
- Bumped soversion.
- Rebuilt for C++11 ABI.
* Tue Mar 31 2015 Gleb F-Malinovskiy <[email protected]> 0.5.15lorg2-alt50
- Increased default APT::Cache-Limit:
+ up to 96M on 64bit systems.
+ up to 80M on 32bit systems.
* Fri Nov 28 2014 Dmitry V. Levin <[email protected]> 0.5.15lorg2-alt49
- Reintroduced '%%set_verify_elf_method strict'.
* Tue Nov 25 2014 Gleb F-Malinovskiy <[email protected]> 0.5.15lorg2-alt48
- Added buildtime to downloaded package name.
* Fri Sep 12 2014 Dmitry V. Levin <[email protected]> 0.5.15lorg2-alt47
- Added apt's package NEVRA string to OptionsHash.
* Wed Sep 10 2014 Gleb F-Malinovskiy <[email protected]> 0.5.15lorg2-alt46.1
- Bumped soversion.
- Added aarch64 to archtable.
* Fri Jul 04 2014 Gleb Fotengauer-Malinovskiy <[email protected]> 0.5.15lorg2-alt46
- apt-pkg/policy.cc: it is ok, if default PinDir doesn't exist
(reported by rider@).
* Tue Jul 01 2014 Gleb F-Malinovskiy <[email protected]> 0.5.15lorg2-alt45.1
- Rebuilt with rpm-4.0.4-alt100.78 (different size of rpmTagTable).
* Tue Jun 24 2014 Gleb F-Malinovskiy <[email protected]> 0.5.15lorg2-alt45
- Honor buildtime.
- Added support of preferences.d dir.
- apt-pkg/algorithms.cc: mark all installed packages first without auto
installation in a dist-upgrade (probably fixes
http://lists.altlinux.org/pipermail/devel/2009-May/171113.html ).
* Tue Mar 11 2014 Dmitry V. Levin <[email protected]> 0.5.15lorg2-alt44
- libapt: enlarged integer types in pkgCache::Version (closes: #29514).
* Fri Feb 28 2014 Anton V. Boyarshinov <[email protected]> 0.5.15lorg2-alt43
- use apt-cdrom for general distribution media
- stricted verify-elf removed
* Thu Jan 10 2013 Dmitry V. Levin <[email protected]> 0.5.15lorg2-alt42
- Fixed and enabled LFS support (closes: #28214).
* Thu May 24 2012 Dmitry V. Levin <[email protected]> 0.5.15lorg2-alt41
- apt-get, apt-shell: when a package could not be found, print the
unmangled package request string (by Igor Vlasenko; closes: #27364).
- apt-shell: do not abort when commit is cancelled (closes: #13877);
Unlike one may suppose, this change will not cause the cache of
accumulated changes to be cleared by cancelled "commit" operation, but
this is exactly what Vitaly Lipatov has proposed in his comments to #13877.
* Wed May 16 2012 Dmitry V. Levin <[email protected]> 0.5.15lorg2-alt40
- Increased default APT::Cache-Limit on x86_64 up to 64M.
* Fri Oct 07 2011 Dmitry V. Levin <[email protected]> 0.5.15lorg2-alt39
- Fixed build with rpm >= rpm-4.0.4-alt100.36.
* Sun Feb 13 2011 Dmitry V. Levin <[email protected]> 0.5.15lorg2-alt38
- Enhanced ReInstall error diagnostics (closes: #24044).
* Thu Jan 27 2011 Alexey Tourbin <[email protected]> 0.5.15lorg2-alt37
- pkgcache.h: optimized FindPackage() stuff
- depcache.cc: fixed -alt36 optimization
* Tue Jan 25 2011 Alexey Tourbin <[email protected]> 0.5.15lorg2-alt36
- depcache.cc: optimize CheckDep() calls for Now/Install/Candidate versions
* Tue Nov 23 2010 Dmitry V. Levin <[email protected]> 0.5.15lorg2-alt35
- Fixed RPATH in apt utilities.
- Applied strict ELF verification rules in this package.
* Thu Nov 04 2010 Dmitry V. Levin <[email protected]> 0.5.15lorg2-alt34
- Increased default APT::Cache-Limit up to 48M.
* Wed Aug 18 2010 Alexey Tourbin <[email protected]> 0.5.15lorg2-alt33
- rpmpm.c: fixed rpmdepCheck() call
* Thu May 27 2010 Alexey Tourbin <[email protected]> 0.5.15lorg2-alt32
- acquire-item.cc: added support for xz-compressed pkglists
* Mon Dec 21 2009 Alexey I. Froloff <[email protected]> 0.5.15lorg2-alt31.1
- NMU:
+ RecordParser::Changelog(), SrcRecordParser::Changelog(): access to
raw changelog data
* Thu Dec 17 2009 Alexey Tourbin <[email protected]> 0.5.15lorg2-alt31
- rpmversion.cc (CheckDep): optimize out rpmRangesOverlap() call
- pkgcache.cc (AllTargets): optimize out CheckDep() calls
- luaiface.cc: added "savestate" and "restorestate"
* Fri Nov 20 2009 Alexey Tourbin <[email protected]> 0.5.15lorg2-alt30
- added support for changelogs in "apt-cache show"
* Sun Sep 27 2009 Alexey Tourbin <[email protected]> 0.5.15lorg2-alt29
- apt-utils no longer packaged, replaced with apt-repo-tools
* Mon Aug 03 2009 Alexey Tourbin <[email protected]> 0.5.15lorg2-alt28
- apt-cache.cc: fixed "whatdepends" for versioned virtual dependencies
* Mon Jul 13 2009 Alexey Tourbin <[email protected]> 0.5.15lorg2-alt27
- depcache.cc: fixed for gcc-4.4
- buildlib/tools.m4: hackaround glibc soname change
- apt-cache.cc: added APT::Cache::DumpPackages option
* Tue Mar 31 2009 Alexey Tourbin <[email protected]> 0.5.15lorg2-alt26
- rpmpm.cc: try hard to fix package removal
* Thu Mar 26 2009 Alexey Tourbin <[email protected]> 0.5.15lorg2-alt25
- rpmpm.cc: fixed removal of i586-*.32bit packages (Panu Matilainen)
* Tue Mar 24 2009 Alexey Tourbin <[email protected]> 0.5.15lorg2-alt24
- depcache.cc (MarkInstall): mark unambiguous dependencies first
* Mon Jan 19 2009 Stanislav Ievlev <[email protected]> 0.5.15lorg2-alt23
- open rpm database with O_CREAT flag
* Fri Jan 09 2009 Slava Semushin <[email protected]> 0.5.15lorg2-alt22.2
- apt-shell: print newline symbol during quit by Ctrl+D
(Based on feedback for bug #18343 from Ivan A. Melnikov aka iv@)
* Wed Dec 31 2008 Slava Semushin <[email protected]> 0.5.15lorg2-alt22.1
- apt-shell: show up "list" command by completion (#5953)
- apt-shell: quit from shell by Ctrl+D (#6264, #18343)
- apt-shell: describe -G and -g options in "help list" output (#18256)
* Fri Dec 12 2008 Dmitry V. Levin <[email protected]> 0.5.15lorg2-alt22
- Fixed build with g++-4.3.x (Stanislav Ievlev).
* Fri Aug 29 2008 Alexander Myltsev <[email protected]> 0.5.15lorg2-alt21
- fix by led@: change type of Package.ID to int (fixes #16900)
- fixes by raorn@:
- apt-get.cc: protect VerTag (fixes #16311)
- apt-get.cc: fix memory corruption (fixes #14929)
- fileutl.cc: change semantics of flExtension() (fixes #15909)
* Sun May 11 2008 Alexey Tourbin <[email protected]> 0.5.15lorg2-alt20
- genpkglist.cc: RPMTAG_FILEFLAGS should not be copied into header list
- lorg-cache-limit.patch: increase cache size limit
- removed old triggers, updated dependencies
* Sun Mar 30 2008 Alexey Tourbin <[email protected]> 0.5.15lorg2-alt19
- lorg-pkgcachegen-selfprov.patch: allow self-referencing provides,
so that e.g. ocaml-runtime#3.10.2-alt2 can provide ocaml-runtime = 3.10
* Mon Dec 17 2007 Alex V. Myltsev <[email protected]> 0.5.15lorg2-alt18
- algorithms.cc: number-aware package name comparison
(now automake_1.10 > automake_1.9)
* Mon Dec 03 2007 Alexey Tourbin <[email protected]> 0.5.15lorg2-alt17
- genpkglist.cc: rewrite copyStrippedFileList() to avoid inplace
dirnames edit bug
* Fri Nov 23 2007 Alexey Tourbin <[email protected]> 0.5.15lorg2-alt16
- genpkglist: removed very bad piece of code which could break
my fine-grained file list stripping algorithm
- genbasedir: made silent by default, added --verbose and --silent
options (Alex V. Myltsev)
* Tue Oct 30 2007 Dmitry V. Levin <[email protected]> 0.5.15lorg2-alt15
- apt-get: Fixed manifest file support (Stanislav Ievlev).
* Wed Oct 24 2007 Alexey Tourbin <[email protected]> 0.5.15lorg2-alt14
- genpkglist: don't strip paths that are owned by 2 or more packages,
to deal with cross-arch semi-unmets like /usr/share/wallpapers
- apt-get: added support of manifest file (Stanislav Ievlev)
* Sat Aug 11 2007 Alexey Tourbin <[email protected]> 0.5.15lorg2-alt13
- Updated file list stripping algorithm in genpkglist (apt-utils);
now it keeps files which can resolve file-level dependencies.
* Wed Aug 01 2007 Alexey Tourbin <[email protected]> 0.5.15lorg2-alt12
- Fixed apt-get exit status (#11527)
* Tue Jul 31 2007 Slava Semushin <[email protected]> 0.5.15lorg2-alt11.1
- Fixed typo in output of help command in apt-shell (#5400)
- Fixed wrong message during remove package(s) in apt-shell (#7618)
* Mon Apr 09 2007 Alexey Tourbin <[email protected]> 0.5.15lorg2-alt11
- Updated 'apt-get install' algorithm for versioned dependencies:
+ fixed wrong usage of ScoreSort condition introduced in previous release;
+ added explicit check if any package satisfying versioned dependency is
already installed or selected for install; in this case, apt-get will
not try to install any other package.
* Fri Mar 23 2007 Dmitry V. Levin <[email protected]> 0.5.15lorg2-alt10
- Added bzip2 and gzip requirements (#10408).
* Thu Mar 22 2007 Alexey Tourbin <[email protected]> 0.5.15lorg2-alt9
- Updated my previous patch for versioned dependencies, which was half-way
wrong and incomplete. For versioned virtual dependencies like python=2.4,
'apt-get install' will always select real package with the best version
(which is python-strict#2.4.4-alt8, as for now)
* Sun Dec 31 2006 Dmitry V. Levin <[email protected]> 0.5.15lorg2-alt8
- Fixed longstanding problem with versioned virtual packages (Alexey Tourbin),
see http://lists.altlinux.org/pipermail/devel/2006-December/039317.html
* Thu Nov 30 2006 Dmitry V. Levin <[email protected]> 0.5.15lorg2-alt7
- apt-get: More simple-output enhancements (Stanislav Ievlev).
* Tue Oct 10 2006 Dmitry V. Levin <[email protected]> 0.5.15lorg2-alt6
- apt-get: Fixed virtual packages handling (Alexey Tourbin).
- apt-get: Implemented simple-output option (Stanislav Ievlev).
* Thu Oct 05 2006 Dmitry V. Levin <[email protected]> 0.5.15lorg2-alt5
- pkgCache::PrvIterator:
+ Add default constructor, required for aptitude 0.4.1 (Raorn, #9604).
- rpmRecordParser::BufCat, rpmSrcRecordParser::BufCat:
+ Fix realloc usage (#9409).
* Tue May 16 2006 Alexey Tourbin <[email protected]> 0.5.15lorg2-alt4
- Patched and rebuilt for lua-5.1.
* Sat Apr 01 2006 Dmitry V. Levin <[email protected]> 0.5.15lorg2-alt3
- Resolved a few issues introduced after cnc6.
* Wed Mar 29 2006 Anton Farygin <[email protected]> 0.5.15lorg2-alt2
- apt-shell: use string for MatchSection.
* Tue Mar 21 2006 Anton Farygin <[email protected]> 0.5.15lorg2-alt1
- Updated to 0.5.15lorg2.
* Tue Feb 21 2006 Dmitry V. Levin <[email protected]> 0.5.15cnc6-alt18
- apt-get: Fixed APT::Get::PrintLocalFile for local files (#8902).
* Fri Dec 30 2005 ALT QA Team Robot <[email protected]> 0.5.15cnc6-alt17.1
- Rebuilt with libreadline.so.5.
* Fri Nov 25 2005 Dmitry V. Levin <[email protected]> 0.5.15cnc6-alt17
- apt-utils: Set locale to "C" (#2587).
- apt-utils: Added list of utilities to package description (#3564).
- apt-get: Implemented APT::Get::PrintLocalFile option.
* Fri Jul 15 2005 Sergey Bolshakov <[email protected]> 0.5.15cnc6-alt16
- apt-shell: -q option for update added
* Fri Jul 08 2005 Kachalov Anton <[email protected]> 0.5.15cnc6-alt15
- apt-pkg/sourcelist.cc:
Added support for multiple fingerprints for the same vendor name
* Mon Jun 27 2005 Sergey Bolshakov <[email protected]> 0.5.15cnc6-alt14
- apt-shell: #5401 fixed (rider@)
- apt-pipe: race during shutting down fixed
* Thu Jun 16 2005 Sergey Bolshakov <[email protected]> 0.5.15cnc6-alt13
- apt-shell: possible fix of #4707 (rider@)
* Tue May 31 2005 Sergey Bolshakov <[email protected]> 0.5.15cnc6-alt12
- apt-pipe: inactivity timeout removed
- apt-pipe: do not copy packages from cdrom during install
* Wed May 18 2005 Dmitry V. Levin <[email protected]> 0.5.15cnc6-alt11
- apt-get: corrected virtual package remove algorithm (#6276).
- Updated default cdrom mount point (#6152).
* Tue May 17 2005 Sergey Bolshakov <[email protected]> 0.5.15cnc6-alt10
- Changed command line parsing order (zerg@, fixes #6815)
- apt-shell: ls -G improvements (rider@)
* Wed May 4 2005 Sergey Bolshakov <[email protected]> 0.5.15cnc6-alt9
- apt-shell: ls -G redo (rider@)
* Thu Apr 28 2005 Sergey Bolshakov <[email protected]> 0.5.15cnc6-alt8
- belarusian translation updated
- apt-shell: ls -g/-G implemented (rider@)
- apt-pipe minor cleanups
* Mon Apr 11 2005 Sergey Bolshakov <[email protected]> 0.5.15cnc6-alt7
- Acquire::CDROM::mount value in apt.conf(5) changed from /mnt/cdrom to /media/cdrom
- apt-pipe utility added
* Tue Jan 18 2005 ALT QA Team Robot <[email protected]> 0.5.15cnc6-alt6.1
- Rebuilt with libstdc++.so.6.
* Tue Aug 31 2004 Dmitry V. Levin <[email protected]> 0.5.15cnc6-alt6
- %_localstatedir/%name: relocated to libapt subpackage (#4697).
- UnmountCdrom(): silently ignore subfs and supermount filesystems (#4806).
* Mon Jul 05 2004 Kachalov Anton <[email protected]> 0.5.15cnc6-alt5
- apt-shell fixes (#3091)
* Mon Jun 07 2004 Dmitry V. Levin <[email protected]> 0.5.15cnc6-alt4
- apt-shell fixes from Mouse (#4306).
* Sat May 15 2004 Dmitry V. Levin <[email protected]> 0.5.15cnc6-alt3
- apt-pkg/pkgcachegen.cc:
Remove old sources cache file before creating new one.
- More fixes reported by compiler, patch by Anton V. Denisov.
* Fri May 14 2004 Dmitry V. Levin <[email protected]> 0.5.15cnc6-alt2
- Fixed aclocal warnings, patch by Anton V. Denisov.
- Updated russian translation from Anton Denisov.
* Thu May 13 2004 Kachalov Anton <[email protected]> 0.5.15cnc6-alt1
- Updated to 0.5.15cnc6.
- New:
+ apt-0.5.15cnc6-alt-rpm-order (fix RPM::Order default value)
- Updated:
+ apt-0.5.15cnc6-alt-fixes
+ apt-0.5.15cnc6-alt-defaults
+ apt-0.5.15cnc6-alt-rpm-fancypercent
+ apt-0.5.15cnc6-alt-virtual_scores
- Merged upstream:
+ apt-0.5.15cnc6-alt-install_virtual