diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 09:59:37 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-13 09:59:37 +0000 |
commit | 76e2632459410dec81337edb6a9fee33c9a660f3 (patch) | |
tree | a73345df208eede4a4daad340515c9328f34625c /test | |
parent | Initial commit. (diff) | |
download | apt-76e2632459410dec81337edb6a9fee33c9a660f3.tar.xz apt-76e2632459410dec81337edb6a9fee33c9a660f3.zip |
Adding upstream version 2.7.12.upstream/2.7.12
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'test')
413 files changed, 95817 insertions, 0 deletions
diff --git a/test/CMakeLists.txt b/test/CMakeLists.txt new file mode 100644 index 0000000..2f47b5c --- /dev/null +++ b/test/CMakeLists.txt @@ -0,0 +1,2 @@ +add_subdirectory(libapt) +add_subdirectory(interactive-helper) diff --git a/test/integration/Packages-bug-590438-broken-provides-thanks-to-remove-order b/test/integration/Packages-bug-590438-broken-provides-thanks-to-remove-order new file mode 100644 index 0000000..75a769e --- /dev/null +++ b/test/integration/Packages-bug-590438-broken-provides-thanks-to-remove-order @@ -0,0 +1,67 @@ +Package: gawk +Priority: optional +Section: interpreters +Installed-Size: 2084 +Maintainer: Arthur Loiret <aloiret@debian.org> +Architecture: i386 +Version: 1:3.1.7.dfsg-5 +Provides: awk +Pre-Depends: libc6 (>= 2.3) +Filename: pool/main/g/gawk/gawk_3.1.7.dfsg-5_i386.deb +Size: 766008 +MD5sum: 6459a02cfc1b9eafb3c0415e4ff4e252 +SHA1: ac033488dae4b7e8167d610e490319c047edf7e4 +SHA256: a2337dfe1cc82aeae46f2c722e5cc7be9ecefdea4aaf13f540cfe70bd8b1d627 +Description-de: GNU awk, eine Mustererkennungs- und Verarbeitungssprache +Homepage: http://www.gnu.org/software/gawk/ +Tag: devel::interpreter, implemented-in::c, interface::commandline, role::program, scope::utility, suite::gnu, use::filtering, use::scanning, works-with::text + +Package: aawk +Priority: optional +Section: interpreters +Installed-Size: 2084 +Maintainer: Arthur Loiret <aloiret@debian.org> +Architecture: i386 +Version: 1:3.1.7.dfsg-5 +Provides: awk +Pre-Depends: libc6 (>= 2.3) +Filename: pool/main/a/aawk/aawk_3.1.7.dfsg-5_i386.deb +Size: 766008 +MD5sum: 6459a02cfc1b9eafb3c0415e4ff4e252 +SHA1: ac033488dae4b7e8167d610e490319c047edf7e4 +SHA256: a2337dfe1cc82aeae46f2c722e5cc7be9ecefdea4aaf13f540cfe70bd8b1d627 +Description-de: GNU awk, eine Mustererkennungs- und Verarbeitungssprache +Homepage: http://www.gnu.org/software/gawk/ +Tag: devel::interpreter, implemented-in::c, interface::commandline, role::program, scope::utility, suite::gnu, use::filtering, use::scanning, works-with::text + +Package: gawk2 +Priority: optional +Section: interpreters +Installed-Size: 2084 +Maintainer: Arthur Loiret <aloiret@debian.org> +Architecture: i386 +Version: 1:3.1.7.dfsg-5 +Provides: awk +Pre-Depends: libc6 (>= 2.3) +Depends: coolstuff +Filename: pool/main/g/gawk/gawk_3.1.7.dfsg-5_i386.deb +Size: 766008 +MD5sum: 6459a02cfc1b9eafb3c0415e4ff4e252 +SHA1: ac033488dae4b7e8167d610e490319c047edf7e4 +SHA256: a2337dfe1cc82aeae46f2c722e5cc7be9ecefdea4aaf13f540cfe70bd8b1d627 +Description-de: GNU awk, eine Mustererkennungs- und Verarbeitungssprache +Homepage: http://www.gnu.org/software/gawk/ +Tag: devel::interpreter, implemented-in::c, interface::commandline, role::program, scope::utility, suite::gnu, use::filtering, use::scanning, works-with::text + +Package: coolstuff +Priority: optional +Section: cool +Installed-Size: 10 +Maintainer: David Kalnischkies <kalnischkies+debian@gmail.com> +Architecture: all +Version: 1-1 +Filename: pool/main/c/coolstuff/coolstuff_1-1_all.deb +Size: 7608 +MD5sum: 6459aa2efc139eafb323ac3f4f5aeb22 +Description: We all need cool stuff + diff --git a/test/integration/Packages-bug-591882-conkeror b/test/integration/Packages-bug-591882-conkeror new file mode 100644 index 0000000..555e855 --- /dev/null +++ b/test/integration/Packages-bug-591882-conkeror @@ -0,0 +1,1787 @@ +Package: conkeror +Priority: extra +Section: web +Installed-Size: 1488 +Maintainer: Axel Beckert <abe@debian.org> +Architecture: all +Version: 0.9.2+git100804-1 +Provides: www-browser +Depends: xulrunner-1.9.1 | xulrunner-1.9.2 | xulrunner-1.9 | xulrunner (>= 1.9~) +Recommends: conkeror-spawn-process-helper +Suggests: emacs | emacsen +Breaks: conkeror-spawn-process-helper (<< 0.9~git080901-1) +Filename: pool/main/c/conkeror/conkeror_0.9.2+git100804-1_all.deb +Size: 233068 +MD5Sum: e7bce631fe421938f2dc7a2042497e21 +Description: keyboard focused web browser with Emacs look and feel + +Package: coreutils +Essential: yes +Priority: required +Section: utils +Installed-Size: 12188 +Maintainer: Michael Stone <mstone@debian.org> +Architecture: i386 +Version: 8.5-1 +Replaces: mktemp, timeout +Pre-Depends: libacl1 (>= 2.2.11-1), libattr1 (>= 2.4.41-1), libc6 (>= 2.6), libselinux1 (>= 1.32) +Conflicts: timeout +Filename: pool/main/c/coreutils/coreutils_8.5-1_i386.deb +Size: 4608374 +MD5Sum: de7f2ef8769cc38e64774102708ce1ae +Description: GNU core utilities + +Package: debconf-i18n +Priority: required +Section: localization +Installed-Size: 1208 +Maintainer: Debconf Developers <debconf-devel@lists.alioth.debian.org> +Architecture: all +Source: debconf +Version: 1.5.35 +Replaces: debconf (<< 1.3.0), debconf-utils (<< 1.3.22) +Depends: debconf, liblocale-gettext-perl, libtext-iconv-perl, libtext-wrapi18n-perl, libtext-charwidth-perl +Conflicts: debconf-english, debconf-utils (<< 1.3.22) +Filename: pool/main/d/debconf/debconf-i18n_1.5.35_all.deb +Size: 210348 +MD5Sum: 03d76e5a5fc733cffc54c4b3b14dbcd4 +Description: full internationalization support for debconf + +Package: debconf +Priority: required +Section: admin +Installed-Size: 1560 +Maintainer: Debconf Developers <debconf-devel@lists.alioth.debian.org> +Architecture: all +Version: 1.5.35 +Replaces: debconf-tiny +Provides: debconf-2.0 +Depends: debconf-i18n | debconf-english +Pre-Depends: perl-base (>= 5.6.1-4) +Recommends: apt-utils (>= 0.5.1) +Suggests: debconf-doc, debconf-utils, whiptail | dialog | gnome-utils, libterm-readline-gnu-perl, libgnome2-perl, libnet-ldap-perl, perl, libqtgui4-perl, libqtcore4-perl +Conflicts: apt (<< 0.3.12.1), cdebconf (<< 0.96), debconf-tiny, debconf-utils (<< 1.3.22), dialog (<< 0.9b-20020814-1), menu (<= 2.1.3-1), whiptail (<< 0.51.4-11), whiptail-utf8 (<= 0.50.17-13) +Filename: pool/main/d/debconf/debconf_1.5.35_all.deb +Size: 158120 +MD5Sum: 5a64e8e187984ed4eca44bf13eae8ea0 +Description: Debian configuration management system +Python-Version: 2.4, 2.5, 2.6 + +Package: debianutils +Essential: yes +Priority: required +Section: utils +Installed-Size: 216 +Maintainer: Clint Adams <schizo@debian.org> +Architecture: i386 +Version: 3.4 +Depends: sensible-utils +Pre-Depends: libc6 (>= 2.7) +Filename: pool/main/d/debianutils/debianutils_3.4_i386.deb +Size: 49888 +MD5Sum: 32eb3eebd4c9e58aadd418ca95b23904 +Description: Miscellaneous utilities specific to Debian + +Package: defoma +Priority: optional +Section: admin +Installed-Size: 564 +Maintainer: Debian QA Group <packages@qa.debian.org> +Architecture: all +Version: 0.11.11 +Depends: whiptail | dialog, file, perl +Recommends: libfont-freetype-perl +Suggests: defoma-doc, psfontmgr, x-ttcidfont-conf, dfontmgr +Conflicts: defoma-gs, defoma-ps, defoma-x, dfontmgr (<< 0.10.0), psfontmgr (<< 0.5.0), x-ttcidfont-conf (<< 5) +Filename: pool/main/d/defoma/defoma_0.11.11_all.deb +Size: 101104 +MD5Sum: ee11d3bc1a0275473d5c1feba846ff3e +Description: Debian Font Manager -- automatic font configuration framework +Enhances: debhelper + +Package: dpkg +Essential: yes +Priority: required +Section: admin +Installed-Size: 5628 +Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org> +Architecture: i386 +Version: 1.15.8.3 +Pre-Depends: libbz2-1.0, libc6 (>= 2.3), libselinux1 (>= 1.32), zlib1g (>= 1:1.1.4), coreutils (>= 5.93-1), xz-utils +Suggests: apt +Breaks: apt (<< 0.7.7), aptitude (<< 0.4.7-1), dpkg-dev (<< 1.14.16), emacs21 (<< 21.4a+1-5.7), emacs21-nox (<< 21.4a+1-5.7), emacs22 (<= 22.3+1-1), emacs22-gtk (<= 22.3+1-1), emacs22-nox (<= 22.3+1-1), jed (<< 1:0.99.18+dfsg.1-13), jed-extra (<= 2.5.3-2), konqueror (<= 4:4.2.96-1), libdpkg-perl (<< 1.15.8), pinfo (<< 0.6.9-3.1), tkinfo (<< 2.8-3.1), xemacs21-support (<< 21.4.22-2), xjed (<< 1:0.99.18+dfsg.1-13) +Filename: pool/main/d/dpkg/dpkg_1.15.8.3_i386.deb +Size: 1866568 +MD5Sum: fa4bf565ebbfde6558d70b071f6abe42 +Description: Debian package management system +Origin: debian +Bugs: debbugs://bugs.debian.org + +Package: file +Priority: standard +Section: utils +Installed-Size: 136 +Maintainer: Daniel Baumann <daniel@lists.debian-maintainers.org> +Architecture: i386 +Version: 5.04-5 +Depends: libc6 (>= 2.1), libmagic1 (= 5.04-5), zlib1g (>= 1:1.1.4) +Filename: pool/main/f/file/file_5.04-5_i386.deb +Size: 49134 +MD5Sum: 716b1c307166650f247e0a2e07cdd3b1 +Description: Determines file type using "magic" numbers + +Package: fontconfig-config +Priority: optional +Section: fonts +Installed-Size: 440 +Maintainer: Keith Packard <keithp@debian.org> +Architecture: all +Source: fontconfig +Version: 2.8.0-2.1 +Replaces: fontconfig (<< 2.3.2-2) +Depends: debconf (>= 0.5) | debconf-2.0, ucf (>= 0.29), ttf-dejavu-core | ttf-bitstream-vera | ttf-freefont | gsfonts-x11 +Conflicts: fontconfig (<< 2.3.2-2) +Filename: pool/main/f/fontconfig/fontconfig-config_2.8.0-2.1_all.deb +Size: 217150 +MD5Sum: c2dd70d32fa8e5c0588cff16efbbf614 +Description: generic font configuration library - configuration + +Package: fontconfig +Priority: optional +Section: fonts +Installed-Size: 520 +Maintainer: Keith Packard <keithp@debian.org> +Architecture: i386 +Version: 2.8.0-2.1 +Replaces: fontconfig-config (<< 2.5.93-1) +Depends: libc6 (>= 2.0), libexpat1 (>= 1.95.8), libfontconfig1 (>= 2.8.0), libfreetype6 (>= 2.2.1), zlib1g (>= 1:1.1.4), fontconfig-config +Suggests: defoma (>= 0.7.0) +Filename: pool/main/f/fontconfig/fontconfig_2.8.0-2.1_i386.deb +Size: 333180 +MD5Sum: 67aeeda05141d4fe477c041c12daad1e +Description: generic font configuration library - support binaries + +Package: gcc-4.4-base +Priority: required +Section: libs +Installed-Size: 172 +Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org> +Architecture: i386 +Source: gcc-4.4 +Version: 4.4.4-8 +Filename: pool/main/g/gcc-4.4/gcc-4.4-base_4.4.4-8_i386.deb +Size: 118346 +MD5Sum: 5e35b249b1af8edd9e85932575f6af92 +Description: The GNU Compiler Collection (base package) + +Package: libacl1 +Priority: required +Section: libs +Installed-Size: 88 +Maintainer: Nathan Scott <nathans@debian.org> +Architecture: i386 +Source: acl +Version: 2.2.49-3 +Depends: libattr1 (>= 2.4.41-1), libc6 (>= 2.2) +Conflicts: acl (<< 2.0.0), libacl1-kerberos4kth +Filename: pool/main/a/acl/libacl1_2.2.49-3_i386.deb +Size: 27146 +MD5Sum: 99c1bd61d4f26b1f3a072b490d3daef5 +Description: Access control list shared library + +Package: libasound2 +Priority: optional +Section: libs +Installed-Size: 1236 +Maintainer: Debian ALSA Maintainers <pkg-alsa-devel@lists.alioth.debian.org> +Architecture: i386 +Source: alsa-lib +Version: 1.0.23-1 +Depends: libc6 (>= 2.3.6-6~) +Suggests: libasound2-plugins (>= 1.0.18) +Conflicts: libasound2-plugins (<< 1.0.18) +Filename: pool/main/a/alsa-lib/libasound2_1.0.23-1_i386.deb +Size: 377718 +MD5Sum: 14a1674ebd84f30080d42c4f86f2533d +Description: shared library for ALSA applications + +Package: libatk1.0-0 +Priority: optional +Section: libs +Installed-Size: 208 +Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org> +Architecture: i386 +Source: atk1.0 +Version: 1.30.0-1 +Depends: libc6 (>= 2.2), libglib2.0-0 (>= 2.16.0) +Recommends: libatk1.0-data +Filename: pool/main/a/atk1.0/libatk1.0-0_1.30.0-1_i386.deb +Size: 82402 +MD5Sum: 27d2b5e1b0ca90254f54dfe2bf056527 +Description: The ATK accessibility toolkit + +Package: libattr1 +Priority: required +Section: libs +Installed-Size: 64 +Maintainer: Nathan Scott <nathans@debian.org> +Architecture: i386 +Source: attr +Version: 1:2.4.44-2 +Depends: libc6 (>= 2.2.3) +Conflicts: attr (<< 2.0.0) +Filename: pool/main/a/attr/libattr1_2.4.44-2_i386.deb +Size: 11902 +MD5Sum: 1e08d3be5e8d55515e7b3fa6fc76a022 +Description: Extended attribute shared library + +Package: libavahi-client3 +Priority: optional +Section: libs +Installed-Size: 148 +Maintainer: Utopia Maintenance Team <pkg-utopia-maintainers@lists.alioth.debian.org> +Architecture: i386 +Source: avahi +Version: 0.6.27-1 +Depends: libavahi-common3 (>= 0.6.22), libc6 (>= 2.4), libdbus-1-3 (>= 1.1.1) +Filename: pool/main/a/avahi/libavahi-client3_0.6.27-1_i386.deb +Size: 54328 +MD5Sum: 07bc086292d59fb7465eedb8c59d0c31 +Description: Avahi client library + +Package: libavahi-common-data +Priority: optional +Section: libs +Installed-Size: 728 +Maintainer: Utopia Maintenance Team <pkg-utopia-maintainers@lists.alioth.debian.org> +Architecture: i386 +Source: avahi +Version: 0.6.27-1 +Filename: pool/main/a/avahi/libavahi-common-data_0.6.27-1_i386.deb +Size: 111952 +MD5Sum: ebc4f7471f8e8ffea1526e1894c283a7 +Description: Avahi common data files + +Package: libavahi-common3 +Priority: optional +Section: libs +Installed-Size: 132 +Maintainer: Utopia Maintenance Team <pkg-utopia-maintainers@lists.alioth.debian.org> +Architecture: i386 +Source: avahi +Version: 0.6.27-1 +Depends: libc6 (>= 2.4), libavahi-common-data +Filename: pool/main/a/avahi/libavahi-common3_0.6.27-1_i386.deb +Size: 50538 +MD5Sum: 6e5bb85c3665bd26cdcb12c41eb9787e +Description: Avahi common library + +Package: libbz2-1.0 +Priority: important +Section: libs +Installed-Size: 128 +Maintainer: Anibal Monsalve Salazar <anibal@debian.org> +Architecture: i386 +Source: bzip2 +Version: 1.0.5-4 +Depends: libc6 (>= 2.3) +Filename: pool/main/b/bzip2/libbz2-1.0_1.0.5-4_i386.deb +Size: 45118 +MD5Sum: f067ae75bce5ef991b3d0574bf541ddb +Description: high-quality block-sorting file compressor library - runtime + +Package: libc-bin +Priority: required +Section: libs +Installed-Size: 1516 +Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> +Architecture: i386 +Source: eglibc +Version: 2.11.2-2 +Replaces: libc0.1, libc0.3, libc6, libc6.1 +Breaks: libc0.1 (<< 2.10), libc0.3 (<< 2.10), libc6 (<< 2.10), libc6.1 (<< 2.10) +Filename: pool/main/e/eglibc/libc-bin_2.11.2-2_i386.deb +Size: 703542 +MD5Sum: f554ec34c092bb8e52e3d917bec7b46c +Description: Embedded GNU C Library: Binaries + +Package: libc6 +Priority: required +Section: libs +Installed-Size: 9340 +Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> +Architecture: i386 +Source: eglibc +Version: 2.11.2-2 +Provides: glibc-2.11-1 +Depends: libc-bin (= 2.11.2-2), libgcc1 +Recommends: libc6-i686 +Suggests: glibc-doc, debconf | debconf-2.0, locales +Conflicts: tzdata (<< 2007k-1), tzdata-etch +Breaks: locales (<< 2.11), locales-all (<< 2.11), nscd (<< 2.11) +Filename: pool/main/e/eglibc/libc6_2.11.2-2_i386.deb +Size: 3877166 +MD5Sum: 3d8fe972a359ad362ac1957c2687e5c2 +Description: Embedded GNU C Library: Shared libraries + +Package: libcairo2 +Priority: optional +Section: libs +Installed-Size: 824 +Maintainer: Dave Beckett <dajobe@debian.org> +Architecture: i386 +Source: cairo +Version: 1.8.10-4 +Depends: libc6 (>= 2.3), libfontconfig1 (>= 2.8.0), libfreetype6 (>= 2.2.1), libpixman-1-0 (>= 0.15.16), libpng12-0 (>= 1.2.13-4), libx11-6 (>= 0), libxcb-render-util0 (>= 0.3.6), libxcb-render0 (>= 0), libxcb1 (>= 0), libxrender1, zlib1g (>= 1:1.1.4) +Breaks: iceape-browser (<= 2.0.3-3), libgtk-directfb-2.0-0, xulrunner-1.9, xulrunner-1.9.1 (<= 1.9.1.8-3) +Filename: pool/main/c/cairo/libcairo2_1.8.10-4_i386.deb +Size: 508814 +MD5Sum: 51f8838a83d46b5cf590338bcc3c6d73 +Description: The Cairo 2D vector graphics library + +Package: libcomerr2 +Priority: required +Section: libs +Installed-Size: 104 +Maintainer: Theodore Y. Ts'o <tytso@mit.edu> +Architecture: i386 +Source: e2fsprogs +Version: 1.41.12-2 +Replaces: e2fsprogs (<< 1.34-1) +Provides: libcomerr-kth-compat +Depends: libc6 (>= 2.3.6-6~) +Filename: pool/main/e/e2fsprogs/libcomerr2_1.41.12-2_i386.deb +Size: 48508 +MD5Sum: 8fe610cf3b2f82f2a681ba196e91d883 +Description: common error description library + +Package: libcups2 +Priority: optional +Section: libs +Installed-Size: 468 +Maintainer: Debian CUPS Maintainers <pkg-cups-devel@lists.alioth.debian.org> +Architecture: i386 +Source: cups +Version: 1.4.4-3 +Provides: libcupsys2 +Depends: libavahi-client3 (>= 0.6.16), libavahi-common3 (>= 0.6.16), libc6 (>= 2.4), libgcrypt11 (>= 1.4.2), libgnutls26 (>= 2.7.14-0), libgssapi-krb5-2 (>= 1.7+dfsg), zlib1g (>= 1:1.1.4) +Suggests: cups-common +Breaks: cups (<< 1.4.4) +Filename: pool/main/c/cups/libcups2_1.4.4-3_i386.deb +Size: 225696 +MD5Sum: f78acda030eece301cd5e0c94ea3492b +Description: Common UNIX Printing System(tm) - Core library + +Package: libdatrie1 +Priority: optional +Section: libs +Installed-Size: 92 +Maintainer: Theppitak Karoonboonyanan <thep@debian.org> +Architecture: i386 +Source: libdatrie +Version: 0.2.4-1 +Depends: libc6 (>= 2.1.3) +Filename: pool/main/libd/libdatrie/libdatrie1_0.2.4-1_i386.deb +Size: 26184 +MD5Sum: 305e5beace09f16bf9b0a568e8df7920 +Description: Double-array trie library + +Package: libdb4.7 +Priority: standard +Section: libs +Installed-Size: 1432 +Maintainer: Debian Berkeley DB Maintainers <pkg-db-devel@lists.alioth.debian.org> +Architecture: i386 +Source: db4.7 +Version: 4.7.25-9 +Depends: libc6 (>= 2.3.6-6~) +Conflicts: libdb2 (<< 2:2.7.7-3) +Filename: pool/main/d/db4.7/libdb4.7_4.7.25-9_i386.deb +Size: 644290 +MD5Sum: 694cced529f6249607c523765aa1e482 +Description: Berkeley v4.7 Database Libraries [runtime] + +Package: libdb4.8 +Priority: standard +Section: libs +Installed-Size: 1488 +Maintainer: Clint Adams <schizo@debian.org> +Architecture: i386 +Source: db4.8 +Version: 4.8.30-1 +Depends: libc6 (>= 2.3.6-6~) +Conflicts: libdb2 (<< 2:2.7.7-3) +Filename: pool/main/d/db4.8/libdb4.8_4.8.30-1_i386.deb +Size: 681682 +MD5Sum: c8f9b6dd1cc49dac5d3319a5ac0d22fc +Description: Berkeley v4.8 Database Libraries [runtime] + +Package: libdbus-1-3 +Priority: optional +Section: libs +Installed-Size: 328 +Maintainer: Utopia Maintenance Team <pkg-utopia-maintainers@lists.alioth.debian.org> +Architecture: i386 +Source: dbus +Version: 1.2.24-3 +Depends: libc6 (>= 2.3.6-6~) +Recommends: dbus +Filename: pool/main/d/dbus/libdbus-1-3_1.2.24-3_i386.deb +Size: 129632 +MD5Sum: 620b2226a4cad34ed86931132fa09ea6 +Description: simple interprocess messaging system + +Package: libexpat1 +Priority: optional +Section: libs +Installed-Size: 368 +Maintainer: Debian XML/SGML Group <debian-xml-sgml-pkgs@lists.alioth.debian.org> +Architecture: i386 +Source: expat +Version: 2.0.1-7 +Depends: libc6 (>= 2.1.3) +Conflicts: wink (<= 1.5.1060-4) +Filename: pool/main/e/expat/libexpat1_2.0.1-7_i386.deb +Size: 138122 +MD5Sum: 4607c75c6b55d92ac517fd0fb8543587 +Description: XML parsing C library - runtime library + +Package: libfontconfig1 +Priority: optional +Section: libs +Installed-Size: 412 +Maintainer: Keith Packard <keithp@debian.org> +Architecture: i386 +Source: fontconfig +Version: 2.8.0-2.1 +Provides: libfontconfig +Depends: libc6 (>= 2.7), libexpat1 (>= 1.95.8), libfreetype6 (>= 2.2.1), zlib1g (>= 1:1.1.4), fontconfig-config (= 2.8.0-2.1) +Filename: pool/main/f/fontconfig/libfontconfig1_2.8.0-2.1_i386.deb +Size: 273878 +MD5Sum: fd6d6426df7bc1330b064a7d45a85d84 +Description: generic font configuration library - runtime + +Package: libfreetype6 +Priority: optional +Section: libs +Installed-Size: 668 +Maintainer: Steve Langasek <vorlon@debian.org> +Architecture: i386 +Source: freetype +Version: 2.4.2-1 +Depends: libc6 (>= 2.1.3), zlib1g (>= 1:1.1.4) +Conflicts: freetype, xpdf-reader (<< 1.00-4) +Filename: pool/main/f/freetype/libfreetype6_2.4.2-1_i386.deb +Size: 360632 +MD5Sum: f9c333d2643d186685a77d1072db5425 +Description: FreeType 2 font engine, shared library files + +Package: libgcc1 +Priority: required +Section: libs +Installed-Size: 156 +Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org> +Architecture: i386 +Source: gcc-4.4 (4.4.4-8) +Version: 1:4.4.4-8 +Depends: gcc-4.4-base (= 4.4.4-8), libc6 (>= 2.2.4) +Filename: pool/main/g/gcc-4.4/libgcc1_4.4.4-8_i386.deb +Size: 55180 +MD5Sum: c92a5656f20caa7d50bd425f2b1f25d8 +Description: GCC support library + +Package: libgcrypt11 +Priority: standard +Section: libs +Installed-Size: 556 +Maintainer: Debian GnuTLS Maintainers <pkg-gnutls-maint@lists.alioth.debian.org> +Architecture: i386 +Version: 1.4.5-2 +Depends: libc6 (>= 2.3), libgpg-error0 (>= 1.6-1) +Suggests: rng-tools +Filename: pool/main/libg/libgcrypt11/libgcrypt11_1.4.5-2_i386.deb +Size: 266444 +MD5Sum: 6b687ecf0284d5efe44115c07198b159 +Description: LGPL Crypto library - runtime library + +Package: libgdbm3 +Priority: important +Section: libs +Installed-Size: 120 +Maintainer: Anibal Monsalve Salazar <anibal@debian.org> +Architecture: i386 +Source: gdbm +Version: 1.8.3-9 +Depends: libc6 (>= 2.1.3), dpkg (>= 1.15.4) | install-info +Filename: pool/main/g/gdbm/libgdbm3_1.8.3-9_i386.deb +Size: 44940 +MD5Sum: cc0859fd9c0ea0a211e7f1a0da09ddc0 +Description: GNU dbm database routines (runtime version) + +Package: libglib2.0-0 +Priority: optional +Section: libs +Installed-Size: 2212 +Maintainer: Loic Minier <lool@dooz.org> +Architecture: i386 +Source: glib2.0 +Version: 2.24.1-1 +Replaces: libglib2.0-dev (<< 2.23.2-2) +Depends: libc6 (>= 2.9), libpcre3 (>= 7.7), libselinux1 (>= 1.32), zlib1g (>= 1:1.1.4) +Recommends: libglib2.0-data, shared-mime-info +Conflicts: libpango1.0-0 (<< 1.11) +Filename: pool/main/g/glib2.0/libglib2.0-0_2.24.1-1_i386.deb +Size: 1024782 +MD5Sum: e0f853cbcba1c8a132fc07c303c31ea9 +Description: The GLib library of C routines + +Package: libgnutls26 +Priority: standard +Section: libs +Installed-Size: 1268 +Maintainer: Debian GnuTLS Maintainers <pkg-gnutls-maint@lists.alioth.debian.org> +Architecture: i386 +Source: gnutls26 +Version: 2.8.6-1 +Replaces: gnutls0, gnutls0.4, gnutls3 +Depends: libc6 (>= 2.3), libgcrypt11 (>= 1.4.2), libtasn1-3 (>= 1.6-0), zlib1g (>= 1:1.1.4) +Suggests: gnutls-bin +Conflicts: gnutls0, gnutls0.4 +Filename: pool/main/g/gnutls26/libgnutls26_2.8.6-1_i386.deb +Size: 528314 +MD5Sum: 9c585b48d4a4e8de856b70a3350037de +Description: the GNU TLS library - runtime library + +Package: libgpg-error0 +Priority: standard +Section: libs +Installed-Size: 228 +Maintainer: Jose Carlos Garcia Sogo <jsogo@debian.org> +Architecture: i386 +Source: libgpg-error +Version: 1.6-1 +Depends: libc6 (>= 2.1.3) +Filename: pool/main/libg/libgpg-error/libgpg-error0_1.6-1_i386.deb +Size: 43118 +MD5Sum: be3a76a7176e38cb1f0464be1f21d4d4 +Description: library for common error values and messages in GnuPG components + +Package: libgssapi-krb5-2 +Priority: standard +Section: libs +Installed-Size: 1604 +Maintainer: Sam Hartman <hartmans@debian.org> +Architecture: i386 +Source: krb5 +Version: 1.8.3+dfsg~beta1-1 +Replaces: libkrb53 (<< 1.6.dfsg.4~beta1-7) +Depends: libc6 (>= 2.7), libcomerr2 (>= 1.34), libk5crypto3 (>= 1.8+dfsg), libkeyutils1, libkrb5-3 (= 1.8.3+dfsg~beta1-1), libkrb5support0 (>= 1.7dfsg~beta2) +Suggests: krb5-doc, krb5-user +Breaks: libkrb53 +Filename: pool/main/k/krb5/libgssapi-krb5-2_1.8.3+dfsg~beta1-1_i386.deb +Size: 1463772 +MD5Sum: 80f3ffe8e30991723a8009829e2aef10 +Description: MIT Kerberos runtime libraries - krb5 GSS-API Mechanism + +Package: libgtk2.0-0 +Priority: optional +Section: libs +Installed-Size: 5864 +Maintainer: Sebastien Bacher <seb128@debian.org> +Architecture: i386 +Source: gtk+2.0 +Version: 2.20.1-1 +Provides: gtk2.0-binver-2.10.0 +Depends: libgtk2.0-common, libatk1.0-0 (>= 1.29.3), libc6 (>= 2.7), libcairo2 (>= 1.6.4-6.1), libcups2 (>= 1.4.0), libfontconfig1 (>= 2.8.0), libfreetype6 (>= 2.2.1), libglib2.0-0 (>= 2.24.0), libgnutls26 (>= 2.7.14-0), libgssapi-krb5-2 (>= 1.6.dfsg.2), libjasper1 (>= 1.900.1), libjpeg62, libpango1.0-0 (>= 1.20.0), libpng12-0 (>= 1.2.13-4), libtiff4, libx11-6 (>= 0), libxcomposite1 (>= 1:0.3-1), libxcursor1 (>> 1.1.2), libxdamage1 (>= 1:1.1), libxext6 (>= 0), libxfixes3 (>= 1:4.0.1), libxi6 (>= 0), libxinerama1, libxrandr2 (>= 2:1.2.99.3), libxrender1, zlib1g (>= 1:1.1.4), shared-mime-info +Recommends: hicolor-icon-theme, libgtk2.0-bin +Suggests: librsvg2-common, gvfs +Filename: pool/main/g/gtk+2.0/libgtk2.0-0_2.20.1-1_i386.deb +Size: 2503890 +MD5Sum: fc1fc5987ae2be51e9b4bcc4b57fc472 +Description: The GTK+ graphical user interface library + +Package: libgtk2.0-common +Priority: optional +Section: misc +Installed-Size: 21484 +Maintainer: Sebastien Bacher <seb128@debian.org> +Architecture: all +Source: gtk+2.0 +Version: 2.20.1-1 +Recommends: libgtk2.0-0 +Filename: pool/main/g/gtk+2.0/libgtk2.0-common_2.20.1-1_all.deb +Size: 7104864 +MD5Sum: 68cf4472a1e7bed64241f466d6830bbc +Description: Common files for the GTK+ graphical user interface library + +Package: libhunspell-1.2-0 +Priority: optional +Section: libs +Installed-Size: 376 +Maintainer: Debian OpenOffice Team <debian-openoffice@lists.debian.org> +Architecture: i386 +Source: hunspell +Version: 1.2.11-1 +Depends: libc6 (>= 2.1.3), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.1.1) +Recommends: hunspell-en-us | hunspell-dictionary | myspell-dictionary +Conflicts: openoffice.org-core (= 2.2.0~rc2-1) +Filename: pool/main/h/hunspell/libhunspell-1.2-0_1.2.11-1_i386.deb +Size: 154502 +MD5Sum: b8b8e5d0805a5e00b4cfdd64128d8054 +Description: spell checker and morphological analyzer (shared library) + +Package: libice6 +Priority: optional +Section: libs +Installed-Size: 204 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libice +Version: 2:1.0.6-1 +Depends: libc6 (>= 2.3), x11-common +Filename: pool/main/libi/libice/libice6_1.0.6-1_i386.deb +Size: 50284 +MD5Sum: 7052cd2a95caeee0f83d0f1950fd5d42 +Description: X11 Inter-Client Exchange library + +Package: libjasper1 +Priority: optional +Section: libs +Installed-Size: 340 +Maintainer: Roland Stigge <stigge@antcom.de> +Architecture: i386 +Source: jasper +Version: 1.900.1-7 +Replaces: libjasper-1.700-2 +Depends: libc6 (>= 2.7), libjpeg62 +Suggests: libjasper-runtime +Conflicts: libjasper-1.700-2 +Filename: pool/main/j/jasper/libjasper1_1.900.1-7_i386.deb +Size: 145186 +MD5Sum: 1df984b14ac57be23d5a5ad0c40ab6cf +Description: The JasPer JPEG-2000 runtime library + +Package: libjpeg62 +Priority: optional +Section: libs +Installed-Size: 204 +Maintainer: Bill Allombert <ballombe@debian.org> +Architecture: i386 +Source: libjpeg6b +Version: 6b1-1 +Depends: libc6 (>= 2.7) +Filename: pool/main/libj/libjpeg6b/libjpeg62_6b1-1_i386.deb +Size: 87974 +MD5Sum: ab36968379a350bdae98a3bf58aeda84 +Description: The Independent JPEG Group's JPEG runtime library (version 6.2) + +Package: libk5crypto3 +Priority: standard +Section: libs +Installed-Size: 1556 +Maintainer: Sam Hartman <hartmans@debian.org> +Architecture: i386 +Source: krb5 +Version: 1.8.3+dfsg~beta1-1 +Replaces: libkrb53 (<< 1.6.dfsg.4~beta1-7) +Depends: libc6 (>= 2.4), libkeyutils1, libkrb5support0 (>= 1.7dfsg~beta2) +Suggests: krb5-doc, krb5-user +Breaks: libgssapi-krb5-2 (<= 1.8~aa), libkrb5-3 (<= 1.8~aa), libkrb53 (<< 1.6.dfsg.4~beta1-9) +Filename: pool/main/k/krb5/libk5crypto3_1.8.3+dfsg~beta1-1_i386.deb +Size: 1439050 +MD5Sum: 463e89d5a6eacaa55f377575eb6f0a7c +Description: MIT Kerberos runtime libraries - Crypto Library + +Package: libkeyutils1 +Priority: standard +Section: libs +Installed-Size: 56 +Maintainer: Daniel Baumann <daniel@lists.debian-maintainers.org> +Architecture: i386 +Source: keyutils +Version: 1.4-1 +Depends: libc6 (>= 2.1.3) +Filename: pool/main/k/keyutils/libkeyutils1_1.4-1_i386.deb +Size: 6640 +MD5Sum: bc6dbf8f320151e67995e55c3e358b89 +Description: Linux Key Management Utilities (library) + +Package: libkrb5-3 +Priority: standard +Section: libs +Installed-Size: 2204 +Maintainer: Sam Hartman <hartmans@debian.org> +Architecture: i386 +Source: krb5 +Version: 1.8.3+dfsg~beta1-1 +Replaces: libkrb53 (<< 1.6.dfsg.4~beta1-7) +Depends: libc6 (>= 2.9), libcomerr2 (>= 1.34), libk5crypto3 (>= 1.8+dfsg), libkeyutils1, libkrb5support0 (= 1.8.3+dfsg~beta1-1) +Suggests: krb5-doc, krb5-user +Conflicts: libapache-mod-auth-kerb (<= 4.996-5.0-rc6-2), libapache2-mod-auth-kerb (<= 4.996-5.0-rc6-2), ssh-krb5 (<< 3.8.1p1-10) +Breaks: libkrb53 (<< 1.6.dfsg.4~beta1-9) +Filename: pool/main/k/krb5/libkrb5-3_1.8.3+dfsg~beta1-1_i386.deb +Size: 1697246 +MD5Sum: 8894886ff9537684ef338ac9ab510467 +Description: MIT Kerberos runtime libraries + +Package: libkrb5support0 +Priority: standard +Section: libs +Installed-Size: 1436 +Maintainer: Sam Hartman <hartmans@debian.org> +Architecture: i386 +Source: krb5 +Version: 1.8.3+dfsg~beta1-1 +Replaces: libkrb53 (<< 1.6.dfsg.4~beta1-7) +Depends: libc6 (>= 2.3.4), libkeyutils1 +Suggests: krb5-doc, krb5-user +Breaks: libkrb53 (<< 1.6.dfsg.4~beta1-9) +Filename: pool/main/k/krb5/libkrb5support0_1.8.3+dfsg~beta1-1_i386.deb +Size: 1385290 +MD5Sum: 5a9f10f57f35e8f34b4a7b7052244c14 +Description: MIT Kerberos runtime libraries - Support library + +Package: liblocale-gettext-perl +Priority: required +Section: perl +Installed-Size: 104 +Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org> +Architecture: i386 +Version: 1.05-6 +Depends: libc6 (>= 2.2) +Pre-Depends: perl-base (>= 5.10.0-25), perlapi-5.10.0 +Filename: pool/main/libl/liblocale-gettext-perl/liblocale-gettext-perl_1.05-6_i386.deb +Size: 21596 +MD5Sum: a71c3dadecdf1b64b4cb050f91e032b5 +Description: Using libc functions for internationalization in Perl + +Package: liblzma2 +Priority: required +Section: libs +Installed-Size: 308 +Maintainer: Jonathan Nieder <jrnieder@gmail.com> +Architecture: i386 +Source: xz-utils +Version: 4.999.9beta+20100713-1 +Depends: libc6 (>= 2.3.6-6~) +Filename: pool/main/x/xz-utils/liblzma2_4.999.9beta+20100713-1_i386.deb +Size: 171540 +MD5Sum: fe14361cc247e9bb11b98e31e47cfbbe +Description: XZ-format compression library + +Package: libmagic1 +Priority: standard +Section: libs +Installed-Size: 2032 +Maintainer: Daniel Baumann <daniel@lists.debian-maintainers.org> +Architecture: i386 +Source: file +Version: 5.04-5 +Depends: libc6 (>= 2.3.4), zlib1g (>= 1:1.1.4) +Suggests: file +Conflicts: file (<< 5.04-2) +Filename: pool/main/f/file/libmagic1_5.04-5_i386.deb +Size: 233668 +MD5Sum: def2786d4289068336826c75c514b2bc +Description: File type determination library using "magic" numbers + +Package: libmozjs2d +Priority: optional +Section: libs +Installed-Size: 948 +Maintainer: Maintainers of Mozilla-related packages <pkg-mozilla-maintainers@lists.alioth.debian.org> +Architecture: i386 +Source: xulrunner +Version: 1.9.1.11-1 +Depends: libc6 (>= 2.3.6-6~), libgcc1 (>= 1:4.1.1), libnspr4-0d (>= 1.8.0.10), libstdc++6 (>= 4.1.1) +Breaks: xulrunner-1.9.1 (<< 1.9.1.10~) +Filename: pool/main/x/xulrunner/libmozjs2d_1.9.1.11-1_i386.deb +Size: 474718 +MD5Sum: 6a9032247eceb71c9b472bd6fc9961e2 +Description: The Mozilla SpiderMonkey JavaScript library + +Package: libncurses5 +Priority: required +Section: libs +Installed-Size: 592 +Maintainer: Craig Small <csmall@debian.org> +Architecture: i386 +Source: ncurses +Version: 5.7+20100313-2 +Depends: libc6 (>= 2.3.4) +Recommends: libgpm2 +Filename: pool/main/n/ncurses/libncurses5_5.7+20100313-2_i386.deb +Size: 347766 +MD5Sum: f82378f1792c81e380689b932ea26c21 +Description: shared libraries for terminal handling + +Package: libnewt0.52 +Priority: important +Section: libs +Installed-Size: 960 +Maintainer: Alastair McKinstry <mckinstry@debian.org> +Architecture: i386 +Source: newt +Version: 0.52.11-1 +Replaces: libnewt-utf8, libnewt0, libnewt0.51 +Depends: libc6 (>= 2.3), libslang2 (>= 2.0.7-1) +Recommends: libfribidi0 +Conflicts: libnewt0.51 +Filename: pool/main/n/newt/libnewt0.52_0.52.11-1_i386.deb +Size: 68022 +MD5Sum: be04bedb79431088f0ed072317143fdd +Description: Not Erik's Windowing Toolkit - text mode windowing with slang + +Package: libnspr4-0d +Priority: optional +Section: libs +Installed-Size: 340 +Maintainer: Maintainers of Mozilla-related packages <pkg-mozilla-maintainers@lists.alioth.debian.org> +Architecture: i386 +Source: nspr +Version: 4.8.6-1 +Depends: libc6 (>= 2.3.6-6~) +Filename: pool/main/n/nspr/libnspr4-0d_4.8.6-1_i386.deb +Size: 125500 +MD5Sum: 4f3c6c3c19b2f24a1734bd084b34f6f5 +Description: NetScape Portable Runtime Library + +Package: libnss3-1d +Priority: optional +Section: libs +Installed-Size: 2324 +Maintainer: Maintainers of Mozilla-related packages <pkg-mozilla-maintainers@lists.alioth.debian.org> +Architecture: i386 +Source: nss +Version: 3.12.7-1 +Depends: libc6 (>= 2.3.6-6~), libnspr4-0d (>= 4.8.6), libsqlite3-0 (>= 3.7.0), zlib1g (>= 1:1.1.4) +Filename: pool/main/n/nss/libnss3-1d_3.12.7-1_i386.deb +Size: 986188 +MD5Sum: 3dbaa9f3c493b2e6bac6dccce0a56dc2 +Description: Network Security Service libraries + +Package: libpam-modules +Priority: required +Section: admin +Installed-Size: 996 +Maintainer: Steve Langasek <vorlon@debian.org> +Architecture: i386 +Source: pam +Version: 1.1.1-3 +Replaces: libpam-umask, libpam0g-util +Provides: libpam-mkhomedir, libpam-motd, libpam-umask +Pre-Depends: libc6 (>= 2.4), libdb4.8, libpam0g (>= 1.1.0), libselinux1 (>= 2.0.85), debconf (>= 0.5) | debconf-2.0 +Conflicts: libpam-mkhomedir, libpam-motd, libpam-umask +Filename: pool/main/p/pam/libpam-modules_1.1.1-3_i386.deb +Size: 344512 +MD5Sum: d55b046bb3da59da7fb94c7325bc07d1 +Description: Pluggable Authentication Modules for PAM + +Package: libpam0g +Priority: required +Section: libs +Installed-Size: 244 +Maintainer: Steve Langasek <vorlon@debian.org> +Architecture: i386 +Source: pam +Version: 1.1.1-3 +Replaces: libpam0g-util +Depends: libc6 (>= 2.3), debconf (>= 0.5) | debconf-2.0 +Suggests: libpam-doc +Filename: pool/main/p/pam/libpam0g_1.1.1-3_i386.deb +Size: 114334 +MD5Sum: 4850e1ffc833914e164f0c14ceb91010 +Description: Pluggable Authentication Modules library + +Package: libpango1.0-0 +Priority: optional +Section: libs +Installed-Size: 836 +Maintainer: Sebastien Bacher <seb128@debian.org> +Architecture: i386 +Source: pango1.0 +Version: 1.28.1-1 +Provides: pango1.0-modver-1.6.0 +Depends: libpango1.0-common (>= 1.28.1-1), libc6 (>= 2.3.6-6~), libcairo2 (>= 1.8.10-3), libfontconfig1 (>= 2.8.0), libfreetype6 (>= 2.2.1), libglib2.0-0 (>= 2.24.0), libthai0 (>= 0.1.12), libx11-6, libxft2 (>> 2.1.1), libxrender1, zlib1g (>= 1:1.1.4) +Conflicts: pango-libthai +Filename: pool/main/p/pango1.0/libpango1.0-0_1.28.1-1_i386.deb +Size: 303342 +MD5Sum: fdc1d8650b049d88bb7cdc2f7af425f0 +Description: Layout and rendering of internationalized text + +Package: libpango1.0-common +Priority: optional +Section: misc +Installed-Size: 252 +Maintainer: Sebastien Bacher <seb128@debian.org> +Architecture: all +Source: pango1.0 +Version: 1.28.1-1 +Replaces: libpango-common (<< 1.0.0), libpango0 +Depends: debconf | debconf-2.0, defoma (>= 0.11.1), fontconfig (>= 2.1.91) +Recommends: x-ttcidfont-conf, libpango1.0-0 +Suggests: ttf-japanese-gothic, ttf-japanese-mincho, ttf-thryomanes, ttf-baekmuk, ttf-arphic-gbsn00lp, ttf-arphic-bsmi00lp, ttf-arphic-gkai00mp, ttf-arphic-bkai00mp +Conflicts: pango-libthai (<< 0.1.6-2) +Filename: pool/main/p/pango1.0/libpango1.0-common_1.28.1-1_all.deb +Size: 112638 +MD5Sum: 521e4171155dd465866ff400cb9a37bc +Description: Modules and configuration files for the Pango + +Package: libpcre3 +Priority: standard +Section: libs +Installed-Size: 480 +Maintainer: Mark Baker <mark@mnb.org.uk> +Architecture: i386 +Source: pcre3 +Version: 8.02-1.1 +Depends: libc6 (>= 2.3) +Conflicts: libpcre3-dev (<= 4.3-3) +Breaks: approx (<< 4.4-1~), cduce (<< 0.5.3-2~), cmigrep (<< 1.5-7~), galax (<< 1.1-7~), libpcre-ocaml (<< 6.0.1~), liquidsoap (<< 0.9.2-3~), ocsigen (<< 1.3.3-1~) +Filename: pool/main/p/pcre3/libpcre3_8.02-1.1_i386.deb +Size: 231418 +MD5Sum: 3be0351b7ecd8a5e2140318237d923d0 +Description: Perl 5 Compatible Regular Expression Library - runtime files + +Package: libpixman-1-0 +Priority: optional +Section: libs +Installed-Size: 508 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: pixman +Version: 0.16.4-1 +Depends: libc6 (>= 2.1.3) +Filename: pool/main/p/pixman/libpixman-1-0_0.16.4-1_i386.deb +Size: 236004 +MD5Sum: 46f6f180adfbbeabc95c774386c3006f +Description: pixel-manipulation library for X and cairo + +Package: libpng12-0 +Priority: optional +Section: libs +Installed-Size: 320 +Maintainer: Anibal Monsalve Salazar <anibal@debian.org> +Architecture: i386 +Source: libpng +Version: 1.2.44-1 +Replaces: libpng12-dev (<= 1.2.8rel-7) +Depends: libc6 (>= 2.1.3), zlib1g (>= 1:1.1.4) +Conflicts: libpng12-dev (<= 1.2.8rel-7), mzscheme (<= 1:209-5), pngcrush (<= 1.5.10-2), pngmeta (<= 1.11-3), povray-3.5 (<= 3.5.0c-10), qemacs (<= 0.3.1-5) +Filename: pool/main/libp/libpng/libpng12-0_1.2.44-1_i386.deb +Size: 175970 +MD5Sum: e871ef14b295cad4ac8ceedbce00c818 +Description: PNG library - runtime + +Package: libpopt0 +Priority: important +Section: libs +Installed-Size: 208 +Maintainer: Paul Martin <pm@debian.org> +Architecture: i386 +Source: popt +Version: 1.16-1 +Replaces: popt +Depends: libc6 (>= 2.3) +Conflicts: libpopt-dev (<= 1.4-1), popt, rpm (<= 4.0.2-3) +Filename: pool/main/p/popt/libpopt0_1.16-1_i386.deb +Size: 52890 +MD5Sum: 935b9a8eea67b75326002f75b374383d +Description: lib for parsing cmdline parameters + +Package: libreadline6 +Priority: important +Section: libs +Installed-Size: 356 +Maintainer: Matthias Klose <doko@debian.org> +Architecture: i386 +Source: readline6 +Version: 6.1-3 +Depends: readline-common, libc6 (>= 2.3), libncurses5 (>= 5.7+20100313) +Filename: pool/main/r/readline6/libreadline6_6.1-3_i386.deb +Size: 145914 +MD5Sum: 63c3a619ef1fd5ec1c04fd0992f3f71f +Description: GNU readline and history libraries, run-time libraries + +Package: libselinux1 +Priority: required +Section: libs +Installed-Size: 216 +Maintainer: Manoj Srivastava <srivasta@debian.org> +Architecture: i386 +Source: libselinux +Version: 2.0.96-1 +Depends: libc6 (>= 2.3.4) +Filename: pool/main/libs/libselinux/libselinux1_2.0.96-1_i386.deb +Size: 82752 +MD5Sum: 65c82e5ad1ebe75c056eeb33147e1eeb +Description: SELinux runtime shared libraries + +Package: libslang2 +Priority: important +Section: libs +Installed-Size: 1264 +Maintainer: Alastair McKinstry <mckinstry@debian.org> +Architecture: i386 +Source: slang2 +Version: 2.2.2-4 +Depends: libc6 (>= 2.3) +Recommends: libpng12-0 +Filename: pool/main/s/slang2/libslang2_2.2.2-4_i386.deb +Size: 507014 +MD5Sum: 2cd4ae18b2f0e4a04c0e98d4913d5fd7 +Description: The S-Lang programming library - runtime version + +Package: libsm6 +Priority: optional +Section: libs +Installed-Size: 144 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libsm +Version: 2:1.1.1-1 +Depends: libc6 (>= 2.1.3), libice6 (>= 1:1.0.0), libuuid1 (>= 2.16) +Filename: pool/main/libs/libsm/libsm6_1.1.1-1_i386.deb +Size: 23976 +MD5Sum: eda3e07bf434262ba270bb1ae12e71e0 +Description: X11 Session Management library + +Package: libsqlite3-0 +Priority: standard +Section: libs +Installed-Size: 684 +Maintainer: Laszlo Boszormenyi (GCS) <gcs@debian.hu> +Architecture: i386 +Source: sqlite3 +Version: 3.7.0-1.1 +Depends: libc6 (>= 2.3.6-6~) +Filename: pool/main/s/sqlite3/libsqlite3-0_3.7.0-1.1_i386.deb +Size: 380004 +MD5Sum: 4706e644e7f3f2b183db0ce001a7bbaa +Description: SQLite 3 shared library + +Package: libstartup-notification0 +Priority: optional +Section: libs +Installed-Size: 92 +Maintainer: Ondřej Surý <ondrej@debian.org> +Architecture: i386 +Source: startup-notification +Version: 0.10-1 +Depends: libc6 (>= 2.1.3), libice6 (>= 1:1.0.0), libsm6, libx11-6, libxcb-atom1 (>= 0.3.3), libxcb-aux0 (>= 0.3.3), libxcb-event1 (>= 0.3.3), libxcb1 (>= 1.1.92) +Filename: pool/main/s/startup-notification/libstartup-notification0_0.10-1_i386.deb +Size: 21230 +MD5Sum: 0e62e87fe56b93c30e7dee751fc7a59f +Description: library for program launch feedback (shared library) + +Package: libstdc++6 +Priority: required +Section: libs +Installed-Size: 1204 +Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org> +Architecture: i386 +Source: gcc-4.4 +Version: 4.4.4-8 +Depends: gcc-4.4-base (= 4.4.4-8), libc6 (>= 2.3.2), libgcc1 +Conflicts: scim (<< 1.4.2-1) +Filename: pool/main/g/gcc-4.4/libstdc++6_4.4.4-8_i386.deb +Size: 347294 +MD5Sum: c5ad981710bbe349c2847b1cc00cafc1 +Description: The GNU Standard C++ Library v3 + +Package: libtasn1-3 +Priority: important +Section: libs +Installed-Size: 152 +Maintainer: Debian GnuTLS Maintainers <pkg-gnutls-maint@lists.alioth.debian.org> +Architecture: i386 +Version: 2.7-1 +Depends: libc6 (>= 2.3) +Conflicts: libtasn1-2 (= 0.3.1-1) +Filename: pool/main/libt/libtasn1-3/libtasn1-3_2.7-1_i386.deb +Size: 61424 +MD5Sum: 0120dbb8123bef3fe7cb4155e95e4307 +Description: Manage ASN.1 structures (runtime) + +Package: libtext-charwidth-perl +Priority: required +Section: perl +Installed-Size: 92 +Maintainer: Anibal Monsalve Salazar <anibal@debian.org> +Architecture: i386 +Version: 0.04-6 +Depends: libc6 (>= 2.1.3), perl-base (>= 5.10.0-23), perlapi-5.10.0 +Filename: pool/main/libt/libtext-charwidth-perl/libtext-charwidth-perl_0.04-6_i386.deb +Size: 11582 +MD5Sum: 6aa5a252db205de6817ee954f5193fbf +Description: get display widths of characters on the terminal + +Package: libtext-iconv-perl +Priority: required +Section: perl +Installed-Size: 104 +Maintainer: Anibal Monsalve Salazar <anibal@debian.org> +Architecture: i386 +Version: 1.7-2 +Depends: libc6 (>= 2.1.3), perl-base (>= 5.10.0-23), perlapi-5.10.0 +Filename: pool/main/libt/libtext-iconv-perl/libtext-iconv-perl_1.7-2_i386.deb +Size: 18076 +MD5Sum: 707f244dc1df10391dd9679b2645a911 +Description: converts between character sets in Perl + +Package: libtext-wrapi18n-perl +Priority: required +Section: perl +Installed-Size: 28 +Maintainer: Anibal Monsalve Salazar <anibal@debian.org> +Architecture: all +Version: 0.06-7 +Depends: libtext-charwidth-perl +Filename: pool/main/libt/libtext-wrapi18n-perl/libtext-wrapi18n-perl_0.06-7_all.deb +Size: 9004 +MD5Sum: 5608c08e10e79269e391f02856f96ec5 +Description: internationalized substitute of Text::Wrap + +Package: libthai-data +Priority: optional +Section: libs +Installed-Size: 596 +Maintainer: Theppitak Karoonboonyanan <thep@debian.org> +Architecture: all +Source: libthai +Version: 0.1.14-2 +Conflicts: libthai0 (<< 0.1.10) +Filename: pool/main/libt/libthai/libthai-data_0.1.14-2_all.deb +Size: 198282 +MD5Sum: 201f73aac77afd1eef48bbf858964586 +Description: Data files for Thai language support library + +Package: libthai0 +Priority: optional +Section: libs +Installed-Size: 108 +Maintainer: Theppitak Karoonboonyanan <thep@debian.org> +Architecture: i386 +Source: libthai +Version: 0.1.14-2 +Depends: libc6 (>= 2.1.3), libdatrie1 (>= 0.2.0), libthai-data (>= 0.1.10) +Conflicts: libdatrie0 (<< 0.1.4) +Filename: pool/main/libt/libthai/libthai0_0.1.14-2_i386.deb +Size: 40222 +MD5Sum: 7f65a895b5a232442969584c8aa6635d +Description: Thai language support library +Enhances: kdelibs5 + +Package: libtiff4 +Priority: optional +Section: libs +Installed-Size: 488 +Maintainer: Jay Berkenbilt <qjb@debian.org> +Architecture: i386 +Source: tiff +Version: 3.9.4-1 +Depends: libc6 (>= 2.3), libjpeg62, zlib1g (>= 1:1.1.4) +Filename: pool/main/t/tiff/libtiff4_3.9.4-1_i386.deb +Size: 182070 +MD5Sum: 4438501f82789f341c245d79b40c175f +Description: Tag Image File Format (TIFF) library + +Package: libuuid1 +Priority: required +Section: libs +Installed-Size: 112 +Maintainer: LaMont Jones <lamont@debian.org> +Architecture: i386 +Source: util-linux +Version: 2.17.2-3.1 +Replaces: e2fsprogs (<< 1.34-1) +Depends: passwd, libc6 (>= 2.3) +Recommends: uuid-runtime +Filename: pool/main/u/util-linux/libuuid1_2.17.2-3.1_i386.deb +Size: 58126 +MD5Sum: cea424e8f6340a5ee8d4e64da2d6c953 +Description: Universally Unique ID library + +Package: libx11-6 +Priority: optional +Section: libs +Installed-Size: 1356 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libx11 +Version: 2:1.3.3-3 +Depends: libc6 (>= 2.3.2), libxcb1 (>= 1.2), libx11-data +Conflicts: xlibs-data (<< 1:7.0.0) +Filename: pool/main/libx/libx11/libx11-6_1.3.3-3_i386.deb +Size: 816814 +MD5Sum: 40f5b42f6af2ad1550d3a2d6f634218f +Description: X11 client-side library + +Package: libx11-data +Priority: optional +Section: x11 +Installed-Size: 2504 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: all +Source: libx11 +Version: 2:1.3.3-3 +Replaces: libx11-6 (<= 2:1.0.0-1) +Filename: pool/main/libx/libx11/libx11-data_1.3.3-3_all.deb +Size: 232336 +MD5Sum: 5f5b2da7a114ada3bb7310f2b40cce51 +Description: X11 client-side library + +Package: libxau6 +Priority: optional +Section: libs +Installed-Size: 64 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libxau +Version: 1:1.0.6-1 +Depends: libc6 (>= 2.1.3) +Filename: pool/main/libx/libxau/libxau6_1.0.6-1_i386.deb +Size: 16144 +MD5Sum: ad33495d6208f5dd07bee9cdb07b29d1 +Description: X11 authorisation library + +Package: libxcb-atom1 +Priority: extra +Section: libs +Installed-Size: 64 +Maintainer: Julien Danjou <acid@debian.org> +Architecture: i386 +Source: xcb-util +Version: 0.3.6-1 +Depends: libc6 (>= 2.1.3), libxcb1 +Filename: pool/main/x/xcb-util/libxcb-atom1_0.3.6-1_i386.deb +Size: 9526 +MD5Sum: 79337f41329668bc137a7e4e2f273dd8 +Description: utility libraries for X C Binding -- atom + +Package: libxcb-aux0 +Priority: extra +Section: libs +Installed-Size: 64 +Maintainer: Julien Danjou <acid@debian.org> +Architecture: i386 +Source: xcb-util +Version: 0.3.6-1 +Depends: libc6 (>= 2.1.3), libxcb1 +Filename: pool/main/x/xcb-util/libxcb-aux0_0.3.6-1_i386.deb +Size: 8472 +MD5Sum: 88d95e67be4ca3a7601db394241ab486 +Description: utility libraries for X C Binding -- aux + +Package: libxcb-event1 +Priority: extra +Section: libs +Installed-Size: 64 +Maintainer: Julien Danjou <acid@debian.org> +Architecture: i386 +Source: xcb-util +Version: 0.3.6-1 +Depends: libc6 (>= 2.1.3), libxcb1 +Filename: pool/main/x/xcb-util/libxcb-event1_0.3.6-1_i386.deb +Size: 8514 +MD5Sum: 8dc0f269f8b0cea17f6207cce0964a51 +Description: utility libraries for X C Binding -- event + +Package: libxcb-render-util0 +Priority: extra +Section: libs +Installed-Size: 64 +Maintainer: Julien Danjou <acid@debian.org> +Architecture: i386 +Source: xcb-util +Version: 0.3.6-1 +Depends: libc6 (>= 2.1.3), libxcb-render0, libxcb1 +Filename: pool/main/x/xcb-util/libxcb-render-util0_0.3.6-1_i386.deb +Size: 9334 +MD5Sum: 8f0afaba8747efba1ae99d995e03b7c5 +Description: utility libraries for X C Binding -- render-util + +Package: libxcb-render0 +Priority: optional +Section: libs +Installed-Size: 84 +Maintainer: XCB Developers <xcb@lists.freedesktop.org> +Architecture: i386 +Source: libxcb +Version: 1.6-1 +Depends: libc6 (>= 2.1.3), libxcb1 (>= 0) +Filename: pool/main/libx/libxcb/libxcb-render0_1.6-1_i386.deb +Size: 14916 +MD5Sum: 882950cf440b422d17fe5f784745c3fb +Description: X C Binding, render extension + +Package: libxcb1 +Priority: optional +Section: libs +Installed-Size: 164 +Maintainer: XCB Developers <xcb@lists.freedesktop.org> +Architecture: i386 +Source: libxcb +Version: 1.6-1 +Depends: libc6 (>= 2.3.2), libxau6, libxdmcp6 +Breaks: libxcb-xlib0 +Filename: pool/main/libx/libxcb/libxcb1_1.6-1_i386.deb +Size: 40500 +MD5Sum: 8b1bd1c23264932b7e2c639302366a06 +Description: X C Binding + +Package: libxcomposite1 +Priority: optional +Section: libs +Installed-Size: 64 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libxcomposite +Version: 1:0.4.2-1 +Depends: libc6 (>= 2.1.3), libx11-6, libxext6, libxfixes3 (>= 1:4.0.1) +Filename: pool/main/libx/libxcomposite/libxcomposite1_0.4.2-1_i386.deb +Size: 15116 +MD5Sum: 43b75f3d05d774ae791977cd20ce1624 +Description: X11 Composite extension library + +Package: libxcursor1 +Priority: optional +Section: libs +Installed-Size: 88 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libxcursor +Version: 1:1.1.10-2 +Depends: libc6 (>= 2.3), libx11-6 (>= 0), libxfixes3 (>= 1:4.0.1), libxrender1 +Filename: pool/main/libx/libxcursor/libxcursor1_1.1.10-2_i386.deb +Size: 24942 +MD5Sum: 8aadf2988320b81f3422bddd68c97f1b +Description: X cursor management library + +Package: libxdamage1 +Priority: optional +Section: libs +Installed-Size: 64 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libxdamage +Version: 1:1.1.3-1 +Depends: libc6 (>= 2.1.3), libx11-6, libxfixes3 (>= 1:4.0.1) +Filename: pool/main/libx/libxdamage/libxdamage1_1.1.3-1_i386.deb +Size: 13568 +MD5Sum: 7b5b7a9937adff801f15857d2e1c7bce +Description: X11 damaged region extension library + +Package: libxdmcp6 +Priority: optional +Section: libs +Installed-Size: 76 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libxdmcp +Version: 1:1.0.3-2 +Depends: libc6 (>= 2.1.3) +Filename: pool/main/libx/libxdmcp/libxdmcp6_1.0.3-2_i386.deb +Size: 18426 +MD5Sum: cecbdad4e8a639735cf7e148681fb667 +Description: X11 Display Manager Control Protocol library + +Package: libxext6 +Priority: optional +Section: libs +Installed-Size: 132 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libxext +Version: 2:1.1.2-1 +Depends: libc6 (>= 2.1.3), libx11-6 +Filename: pool/main/libx/libxext/libxext6_1.1.2-1_i386.deb +Size: 41694 +MD5Sum: 9c8bc9d73ed6ad2697df80f72edfd3c3 +Description: X11 miscellaneous extension library + +Package: libxfixes3 +Priority: optional +Section: libs +Installed-Size: 72 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libxfixes +Version: 1:4.0.5-1 +Depends: libc6 (>= 2.1.3), libx11-6 +Filename: pool/main/libx/libxfixes/libxfixes3_4.0.5-1_i386.deb +Size: 17976 +MD5Sum: 8e0bf9a4ed5a0b6361085795e69ae248 +Description: X11 miscellaneous 'fixes' extension library + +Package: libxft2 +Priority: optional +Section: libs +Installed-Size: 140 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: xft +Version: 2.1.14-2 +Depends: libc6 (>= 2.3), libfontconfig1 (>= 2.8.0), libfreetype6 (>= 2.2.1), libx11-6 (>= 0), libxrender1 +Filename: pool/main/x/xft/libxft2_2.1.14-2_i386.deb +Size: 52030 +MD5Sum: 23a966a6319e50b8b8b9857da75cae5b +Description: FreeType-based font drawing library for X + +Package: libxi6 +Priority: optional +Section: libs +Installed-Size: 132 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libxi +Version: 2:1.3-4 +Depends: libc6 (>= 2.1.3), libx11-6 (>= 2:1.2.99.901), libxext6 (>= 0) +Filename: pool/main/libx/libxi/libxi6_1.3-4_i386.deb +Size: 53936 +MD5Sum: 83cac8ca145398686339817466e11ffd +Description: X11 Input extension library + +Package: libxinerama1 +Priority: optional +Section: libs +Installed-Size: 64 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libxinerama +Version: 2:1.1-3 +Depends: libc6 (>= 2.1.3), libx11-6 (>= 0), libxext6 (>= 0) +Filename: pool/main/libx/libxinerama/libxinerama1_1.1-3_i386.deb +Size: 12186 +MD5Sum: 1fbe54b8d05b1096a4ea70cd50e1510b +Description: X11 Xinerama extension library + +Package: libxml2 +Priority: standard +Section: libs +Installed-Size: 1588 +Maintainer: Debian XML/SGML Group <debian-xml-sgml-pkgs@lists.alioth.debian.org> +Architecture: i386 +Version: 2.7.7.dfsg-4 +Depends: libc6 (>= 2.7), zlib1g (>= 1:1.2.3.3.dfsg) +Recommends: xml-core +Filename: pool/main/libx/libxml2/libxml2_2.7.7.dfsg-4_i386.deb +Size: 826866 +MD5Sum: 7153d99951b5d33f66eaa20a657e033b +Description: GNOME XML library + +Package: libxrandr2 +Priority: optional +Section: libs +Installed-Size: 92 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libxrandr +Version: 2:1.3.0-3 +Depends: libc6 (>= 2.1.3), libx11-6 (>= 0), libxext6 (>= 0), libxrender1 +Filename: pool/main/libx/libxrandr/libxrandr2_1.3.0-3_i386.deb +Size: 26618 +MD5Sum: ccd579d696aad72be69bdf1be92541f4 +Description: X11 RandR extension library + +Package: libxrender1 +Priority: optional +Section: libs +Installed-Size: 92 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libxrender +Version: 1:0.9.6-1 +Depends: libc6 (>= 2.1.3), libx11-6 +Filename: pool/main/libx/libxrender/libxrender1_0.9.6-1_i386.deb +Size: 29280 +MD5Sum: ef296f771209c82ed1245c67798b6081 +Description: X Rendering Extension client library + +Package: libxt6 +Priority: optional +Section: libs +Installed-Size: 452 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libxt +Version: 1:1.0.7-1 +Depends: libc6 (>= 2.7), libice6 (>= 1:1.0.0), libsm6, libx11-6 (>= 0) +Filename: pool/main/libx/libxt/libxt6_1.0.7-1_i386.deb +Size: 171518 +MD5Sum: aa8e8f0a7ee7b57c2d58786af72da142 +Description: X11 toolkit intrinsics library + +Package: lsb-base +Priority: required +Section: misc +Installed-Size: 72 +Maintainer: Chris Lawrence <lawrencc@debian.org> +Architecture: all +Source: lsb +Version: 3.2-23.1 +Replaces: lsb (<< 2.0-6), lsb-core (<< 2.0-6) +Depends: sed, ncurses-bin +Conflicts: lsb (<< 2.0-6), lsb-core (<< 2.0-6) +Filename: pool/main/l/lsb/lsb-base_3.2-23.1_all.deb +Size: 20462 +MD5Sum: 60637dd487aedfaa48e3a38bc1a0ea4c +Description: Linux Standard Base 3.2 init script functionality + +Package: ncurses-bin +Essential: yes +Priority: required +Section: utils +Installed-Size: 500 +Maintainer: Craig Small <csmall@debian.org> +Architecture: i386 +Source: ncurses +Version: 5.7+20100313-2 +Pre-Depends: libc6 (>= 2.3), libncurses5 (>= 5.7+20100313) +Filename: pool/main/n/ncurses/ncurses-bin_5.7+20100313-2_i386.deb +Size: 314788 +MD5Sum: 408a001ec8f30f40e19caa35772c3e3b +Description: terminal-related programs and man pages + +Package: passwd +Priority: required +Section: admin +Installed-Size: 2208 +Maintainer: Shadow package maintainers <pkg-shadow-devel@lists.alioth.debian.org> +Architecture: i386 +Source: shadow +Version: 1:4.1.4.2-1 +Replaces: manpages-tr (<< 1.0.5), manpages-zh (<< 1.5.1-1) +Depends: libc6 (>= 2.3), libpam0g (>= 0.99.7.1), libselinux1 (>= 2.0.82), libpam-modules, debianutils (>= 2.15.2) +Filename: pool/main/s/shadow/passwd_4.1.4.2-1_i386.deb +Size: 975188 +MD5Sum: 2ae7b750afe852093fd38009f054b9f7 +Description: change and administer password and group data + +Package: perl-base +Essential: yes +Priority: required +Section: perl +Installed-Size: 4488 +Maintainer: Niko Tyni <ntyni@debian.org> +Architecture: i386 +Source: perl +Version: 5.10.1-14 +Replaces: libperl5.8 (<< 5.8.0-20), libscalar-list-utils-perl, libxsloader-perl, perl (<< 5.10.1-12), perl-modules (<< 5.10.1-1) +Provides: libscalar-list-utils-perl, libxsloader-perl, perl5-base, perlapi-5.10.0, perlapi-5.10.1 +Pre-Depends: libc6 (>= 2.4), dpkg (>= 1.14.20) +Suggests: perl +Conflicts: autoconf2.13 (<< 2.13-45), libfile-spec-perl (<< 3.30), libscalar-list-utils-perl (<< 1:1.21), libxsloader-perl (<< 0.10), safe-rm (<< 0.8) +Filename: pool/main/p/perl/perl-base_5.10.1-14_i386.deb +Size: 985868 +MD5Sum: 4f62d14690a767e771baf2cffca803a5 +Description: minimal Perl system + +Package: perl-modules +Priority: standard +Section: perl +Installed-Size: 15856 +Maintainer: Niko Tyni <ntyni@debian.org> +Architecture: all +Source: perl +Version: 5.10.1-14 +Replaces: libansicolor-perl, libarchive-tar-perl, libattribute-handlers-perl, libautodie-perl, libcgi-pm-perl, libclass-isa-perl, libcpanplus-perl, libextutils-cbuilder-perl, libextutils-parsexs-perl, libfile-spec-perl, libfile-temp-perl, libi18n-langtags-perl, libio-zlib-perl, liblocale-codes-perl, liblocale-maketext-perl, liblocale-maketext-simple-perl, libmath-bigint-perl, libmodule-build-perl, libmodule-corelist-perl, libmodule-load-conditional-perl, libmodule-load-perl, libmodule-pluggable-perl, libnet-perl, libnet-ping-perl, libparams-check-perl, libparent-perl, libparse-cpan-meta-perl, libpod-escapes-perl, libpod-parser-perl, libpod-plainer-perl, libpod-simple-perl, libswitch-perl, libtest-harness-perl, libtest-simple-perl, libthread-queue-perl, libtime-local-perl, libversion-perl, podlators-perl +Provides: libansicolor-perl, libarchive-tar-perl, libattribute-handlers-perl, libautodie-perl, libcgi-pm-perl, libclass-isa-perl, libcpanplus-perl, libextutils-cbuilder-perl, libextutils-parsexs-perl, libfile-spec-perl, libfile-temp-perl, libi18n-langtags-perl, libio-zlib-perl, liblocale-codes-perl, liblocale-maketext-perl, liblocale-maketext-simple-perl, libmath-bigint-perl, libmodule-build-perl, libmodule-corelist-perl, libmodule-load-conditional-perl, libmodule-load-perl, libmodule-pluggable-perl, libnet-perl, libnet-ping-perl, libparams-check-perl, libparent-perl, libparse-cpan-meta-perl, libpod-escapes-perl, libpod-parser-perl, libpod-plainer-perl, libpod-simple-perl, libswitch-perl, libtest-harness-perl, libtest-simple-perl, libthread-queue-perl, libtime-local-perl, libversion-perl, podlators-perl +Depends: perl (>= 5.10.1-1) +Conflicts: libansicolor-perl (<< 1.10-1), libarchive-tar-perl (<< 1.52), libattribute-handlers-perl (<< 0.85), libautodie-perl (<< 2.06.01), libcgi-pm-perl (<< 3.43), libclass-isa-perl (<< 0.33), libcpanplus-perl (<< 0.88), libextutils-cbuilder-perl (<< 0.2602), libextutils-parsexs-perl (<< 2.2002), libfile-spec-perl (<< 3.30), libfile-temp-perl (<< 0.22), libi18n-langtags-perl (<< 0.35-1), libio-zlib-perl (<< 1.09), liblocale-codes-perl (<< 2.07), liblocale-maketext-perl (<< 1.13), liblocale-maketext-simple-perl (<< 0.18-1), libmath-bigint-perl (<< 1.89), libmodule-build-perl (<< 0.340201), libmodule-corelist-perl (<< 2.18), libmodule-load-conditional-perl (<< 0.30), libmodule-load-perl (<< 0.16), libmodule-pluggable-perl (<< 3.9), libnet-perl (<= 1:1.22), libnet-ping-perl (<< 2.36), libparams-check-perl (<< 0.26-1), libparent-perl (<< 0.221), libparse-cpan-meta-perl (<< 1.39), libpod-escapes-perl (<< 1.04), libpod-parser-perl (<< 1.37), libpod-plainer-perl (<< 0.01), libpod-simple-perl (<< 3.07), libswitch-perl (<< 2.14), libtest-harness-perl (<< 3.17), libtest-simple-perl (<< 0.92), libthread-queue-perl (<< 2.11), libtime-local-perl (<< 1.1901), libversion-perl (<< 1:0.7700), podlators-perl (<= 2.2.2-1) +Filename: pool/main/p/perl/perl-modules_5.10.1-14_all.deb +Size: 3481026 +MD5Sum: c502e5cc355cd19e5d264ae74f3595e2 +Description: Core Perl modules +Build-Essential: yes + +Package: perl +Priority: standard +Section: perl +Installed-Size: 13168 +Maintainer: Niko Tyni <ntyni@debian.org> +Architecture: i386 +Version: 5.10.1-14 +Replaces: libarchive-tar-perl (<= 1.38-2), libcompress-raw-bzip2-perl, libcompress-raw-zlib-perl, libcompress-zlib-perl, libdigest-md5-perl, libdigest-sha-perl, libio-compress-base-perl, libio-compress-bzip2-perl, libio-compress-perl, libio-compress-zlib-perl, libmime-base64-perl, libmodule-corelist-perl (<< 2.14-2), libstorable-perl, libsys-syslog-perl, libthreads-perl, libthreads-shared-perl, libtime-hires-perl, libtime-piece-perl, perl-base (<< 5.10.1-12), perl-doc (<< 5.8.0-1), perl-modules (<< 5.8.1-1) +Provides: data-dumper, libcompress-raw-bzip2-perl, libcompress-raw-zlib-perl, libcompress-zlib-perl, libdigest-md5-perl, libdigest-sha-perl, libio-compress-base-perl, libio-compress-bzip2-perl, libio-compress-perl, libio-compress-zlib-perl, libmime-base64-perl, libstorable-perl, libsys-syslog-perl, libthreads-perl, libthreads-shared-perl, libtime-hires-perl, libtime-piece-perl, perl5 +Depends: perl-base (= 5.10.1-14), perl-modules (>= 5.10.1-14), libbz2-1.0, libc6 (>= 2.4), libdb4.7, libgdbm3 (>= 1.8.3), zlib1g (>= 1:1.2.3.3.dfsg) +Recommends: netbase, make +Suggests: perl-doc, libterm-readline-gnu-perl | libterm-readline-perl-perl +Conflicts: libcompress-raw-bzip2-perl (<< 2.020), libcompress-raw-zlib-perl (<< 2.020), libcompress-zlib-perl (<< 2.020), libdigest-md5-perl (<< 2.39), libdigest-sha-perl (<< 5.47), libio-compress-base-perl (<< 2.020), libio-compress-bzip2-perl (<< 2.020), libio-compress-perl (<< 2.020), libio-compress-zlib-perl (<< 2.020), libmime-base64-perl (<< 3.08), libstorable-perl (<< 2.20), libsys-syslog-perl (<< 0.27), libthreads-perl (<< 1.72), libthreads-shared-perl (<< 1.29), libtime-hires-perl (<< 1.9719), libtime-piece-perl (<< 1.15), perl-doc (<< 5.10.1-1) +Filename: pool/main/p/perl/perl_5.10.1-14_i386.deb +Size: 3767054 +MD5Sum: c402cd511260c137a795afaeb6125876 +Description: Larry Wall's Practical Extraction and Report Language +Build-Essential: yes + +Package: readline-common +Priority: important +Section: utils +Installed-Size: 92 +Maintainer: Matthias Klose <doko@debian.org> +Architecture: all +Source: readline6 +Version: 6.1-3 +Replaces: libreadline-common, libreadline4 (<< 4.3-16), libreadline5 (<< 5.0-11) +Depends: dpkg (>= 1.15.4) | install-info +Conflicts: libreadline-common, libreadline5 (<< 5.0-11) +Filename: pool/main/r/readline6/readline-common_6.1-3_all.deb +Size: 54028 +MD5Sum: 1ddfb1a719db7f302abe921e261b0288 +Description: GNU readline and history libraries, common files + +Package: sed +Essential: yes +Priority: required +Section: utils +Installed-Size: 956 +Maintainer: Clint Adams <schizo@debian.org> +Architecture: i386 +Version: 4.2.1-7 +Depends: dpkg (>= 1.15.4) | install-info +Pre-Depends: libc6 (>= 2.3), libselinux1 (>= 1.32) +Filename: pool/main/s/sed/sed_4.2.1-7_i386.deb +Size: 245832 +MD5Sum: 76a28a89a0684b09abd4c9622f9b0b5f +Description: The GNU sed stream editor + +Package: sensible-utils +Priority: required +Section: utils +Installed-Size: 112 +Maintainer: Clint Adams <schizo@debian.org> +Architecture: all +Version: 0.0.4 +Replaces: debianutils (<= 2.32.3), manpages-pl (<= 20060617-3~) +Filename: pool/main/s/sensible-utils/sensible-utils_0.0.4_all.deb +Size: 5408 +MD5Sum: 6e1c38bc8506fb23d949a4df7e07d5e2 +Description: Utilities for sensible alternative selection + +Package: shared-mime-info +Priority: optional +Section: misc +Installed-Size: 3348 +Maintainer: Filip Van Raemdonck <mechanix@debian.org> +Architecture: i386 +Version: 0.71-3 +Depends: libc6 (>= 2.3), libglib2.0-0 (>= 2.24.0), libxml2 (>= 2.7.4) +Conflicts: libglib2.0-0 (<< 2.17.2), libgnomevfs2-0 (<< 1:2.24.0), tracker (<< 0.6.90) +Filename: pool/main/s/shared-mime-info/shared-mime-info_0.71-3_i386.deb +Size: 842486 +MD5Sum: 783a1538ac9561e082a8dc67f29df778 +Description: FreeDesktop.org shared MIME database and spec + +Package: ttf-dejavu-core +Priority: optional +Section: fonts +Installed-Size: 2592 +Maintainer: Debian Fonts Task Force <pkg-fonts-devel@lists.alioth.debian.org> +Architecture: all +Source: ttf-dejavu +Version: 2.31-1 +Replaces: ttf-dejavu (<< 2.20-1) +Conflicts: ttf-dejavu (<< 2.20-1) +Filename: pool/main/t/ttf-dejavu/ttf-dejavu-core_2.31-1_all.deb +Size: 1451418 +MD5Sum: d3d8850ec0ef68d9b7655545ce0b2b22 +Description: Vera font family derivative with additional characters + +Package: ucf +Priority: standard +Section: utils +Installed-Size: 260 +Maintainer: Manoj Srivastava <srivasta@debian.org> +Architecture: all +Version: 3.0025 +Depends: debconf (>= 1.5.19), coreutils (>= 5.91) +Filename: pool/main/u/ucf/ucf_3.0025_all.deb +Size: 65960 +MD5Sum: 6e664d04fea09239d450ae9f3d246a0f +Description: Update Configuration File: preserve user changes to config files. + +Package: whiptail +Priority: important +Section: utils +Installed-Size: 100 +Maintainer: Alastair McKinstry <mckinstry@debian.org> +Architecture: i386 +Source: newt +Version: 0.52.11-1 +Replaces: newt0.10, newt0.21 (<< 0.21-4), whiptail-utf8 +Provides: whiptail-provider, whiptail-utf8 +Depends: libc6 (>= 2.1), libnewt0.52 (>= 0.52.11), libpopt0 (>= 1.16), libslang2 (>= 2.0.7-1) +Conflicts: whiptail-provider +Filename: pool/main/n/newt/whiptail_0.52.11-1_i386.deb +Size: 39118 +MD5Sum: cac6b0f08d25c91011d5c267e35cb0d2 +Description: Displays user-friendly dialog boxes from shell scripts + +Package: x11-common +Priority: optional +Section: x11 +Installed-Size: 568 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: all +Source: xorg +Version: 1:7.5+6 +Replaces: x-common, xfree86-common, xorg-common, xserver-common (<< 7) +Depends: debconf (>= 0.5) | debconf-2.0, debianutils (>= 1.13), lsb-base (>= 1.3-9ubuntu2) +Pre-Depends: debconf | debconf-2.0 +Conflicts: aee (<= 2.2.15b-1), ascd (<= 0.13.2-3), beaver (<= 0.2.5-2), bibview (<= 2.2-8), bugsx (<= 1.08-8), buici-clock (<= 0.4.5+b1), communicator-smotif-477, ctwm (<= 3.7-2), emelfm (<= 0.9.2-7), epan, fte-xwindow (<= 0.50.0-1.3), fvwm1 (<= 1.24r-46), fvwm95 (<= 2.0.43ba-23+b1), gerstensaft (<= 0.2-5.1), ghostview, gipsc (<= 0.4.3-2), grace (<= 1:5.1.18-1), grace6 (<= 5.99.0+final-4), gradio (<= 1.0.1-6), groff (<= 1.18.1.1-7), guitar (<= 0.1.4-11), hamsoft (<< 0.2.3-1), hanterm-classic (<= 3.1.6.0-4), hanterm-xf (<= 1:3.3.1p18-9.2), hfsutils-tcltk (<= 3.2.6-7), ibp (<= 0.21-4), isdnutils-xtools (<= 1:3.8.2005-12-06-4), ivtools-bin (<= 1.1.3-5), ivtools-dev (<= 1.1.3-5), kdrill (<= 6.4-2.1), kinput2-canna (<= 3.1-7), kinput2-canna-wnn (<= 3.1-7), kinput2-wnn (<= 3.1-7), kterm (<= 6.2.0-45), lbxproxy (<< 7.0), libmotif-dev (<= 2.2.3-1.3), libxft-dev (<= 2.1.8.2-5), lm-batmon (<= 0.96-3), login.app (<= 1.2.1-18), lsb-core (<= 3.1-4), lwm (<= 1.2.1-1), mctools-lite (<= 970129-16), mgp (<= 1.11b-6), motif-clients (<= 2.2.3-1.3), navigator-smotif-477, netscape-base-4, olvwm (<= 4.4.3.2p1.4-21), olwm (<= 3.2p1.4-21), oneko (<= 1.2.sakura.6-1), opera (<< 9.10-20060616), pgaccess (<= 1:0.98.8.20030520-2), phototk, pixmap (<= 2.6pl4-14.1), plotmtv (<= 1.4.4t-8.1), pmud (<= 0.10-9), ppxp (<= 0.2001080415-14), ppxp-x11 (<= 0.2001080415-14), procmeter (<= 2.5.1-11), propsel (<= 971130-5.3), proxymngr (<< 7.0), qcam (<= 0.91-11.1), regexplorer (<= 0.1.6-12), seyon (<= 2.20c-20), skkinput (<= 1:2.06.4-4), stella (<< 2.2-1), tkdesk (<= 2.0-5), tkseti (<= 3.06-1), tkworld, twlog (<= 1.3-4), twm (<< 7.0), ucbmpeg-play (<< 2.3p-13), vide (<= 1.21-3), videogen (<= 0.32-1), vtwm (<= 5.4.7-2), w9wm (<= 0.4.2-4), wdm (<= 1.28-1), wily (<= 0.13.41-6), wmavgload (<= 0.7.0-6.1), wmcpu (<= 1.3-4.1), wmdate (<= 0.5-7.1), wmnet (<= 1.05-12), wmnetselect (<= 0.85-5.5), wmscope (<= 3.0-9.1), wmsensors (<= 1.0.4-3.4), wmtv (<= 0.6.5-15), x-common, xautolock (<= 1:2.1-6), xbanner (<= 1.31-23), xbase-clients (<< 1:7.0), xbatt (<= 1.2.1-4), xbattbar (<= 1.4.2-3.1), xcal (<= 4.1-18.2), xcalendar-i18n (<= 4.0.0.i18p1-13.1), xcb (<= 2.4-4), xclip (<= 0.08-5), xclips (<= 6.21-6), xcolors (<= 1.5a-2), xcolorsel (<= 1.1a-11), xdkcal (<= 0.9d-2.1), xdm (<= 1:1.0.1-6), xdmx (<< 1:1.0), xdu (<= 3.0-14), xearth (<= 1.1-10.2), xengine (<= 1.11-9), xephem (<= 3.4-5), xext, xezmlm (<= 1.0.3-11), xfaces (<= 3.3-25), xfishtank (<= 2.2-23.1), xfm (<= 1.4.3-8), xfractint (<< 20.3.01-1), xfree86-common, xfs (<< 1:1.0), xfs-xtt (<= 1:1.4.1.xf430-6), xftp, xfwp (<< 7.0), xgdipc (<= 1.2-0.3), xgmod (<= 3.1-9), xgobi, xgraph (<= 12.1-3), xinput (<= 1.2-5.2), xipmsg (<= 0.8088-1.1), xisp, xlbiff (<< 4.1-4), xli (<= 1.17.0-21), xlockmore (<= 1:5.21-1), xlockmore-gl (<= 1:5.21-1), xlogmaster (<= 1.6.0-8), xmailbox (<= 2.5-9), xmem (<= 1.20-19), xmeter (<= 1.15-6), xmh (<= 6.8.2.dfsg.1-4), xmix (<= 2.1-5), xmon (<= 1.5.6-1.3), xnecview (<= 1.34-2), xnest (<< 1:1.0), xodo (<= 1.2-9.2), xorg-common, xpaste, xpmumon (<= 1.3.0), xpostit (<= 3.3.1-8.2), xpostitplus, xprint (<= 1:0.1.0.alpha1-13), xrn (<= 9.02-7.1), xserver-common (<< 7), xserver-xfree86 (<< 1:7.0), xserver-xfree86-dbg, xserver-xorg (<< 1:7.4~), xslideshow (<= 3.1-8.1), xsysinfo (<= 1.7-2), xtel (<= 3.3.0-5.4), xterm (<< 208-1), xtoolwait (<= 1.3-6), xtrkcad (<= 3.1.4-1), xtrlock (<= 2.0-11), xturqstat (<= 2.2.2sarge1), xutils (<< 1:7.0), xv (<= 3.10a-26), xvfb (<< 1:1.0), xview-clients (<= 3.2p1.4-21), xviewg (<= 3.2p1.4-21), xviewg-dev (<= 3.2p1.4-21), xvkbd (<= 2.6-2.1), xwit (<= 3.4-6), xxkb (<= 1.10-2.1), xzoom (<= 0.3-17), yank (<= 0.2.1-7.2) +Breaks: gdm (<< 2.20.7-5) +Filename: pool/main/x/xorg/x11-common_7.5+6_all.deb +Size: 280238 +MD5Sum: 312093359c4f0f7decfb049768d6bb12 +Description: X Window System (X.Org) infrastructure + +Package: xulrunner-1.9.1 +Priority: optional +Section: libs +Installed-Size: 19060 +Maintainer: Maintainers of Mozilla-related packages <pkg-mozilla-maintainers@lists.alioth.debian.org> +Architecture: i386 +Source: xulrunner +Version: 1.9.1.11-1 +Replaces: xulrunner-1.9.1-gnome-support +Depends: libasound2 (>> 1.0.18), libatk1.0-0 (>= 1.29.3), libbz2-1.0, libc6 (>= 2.3.6-6~), libcairo2 (>= 1.8.8), libdbus-1-3 (>= 1.0.2), libfontconfig1 (>= 2.8.0), libfreetype6 (>= 2.2.1), libgcc1 (>= 1:4.1.1), libglib2.0-0 (>= 2.24.0), libgtk2.0-0 (>= 2.18.0), libhunspell-1.2-0 (>= 1.2.11), libjpeg62 (>= 6b1), libmozjs2d (= 1.9.1.11-1), libnspr4-0d (>> 4.7.1-1), libnss3-1d (>= 3.12.6), libpango1.0-0 (>= 1.14.0), libpng12-0 (>= 1.2.13-4), libreadline6 (>= 6.0), libsqlite3-0 (>= 3.6.23.1), libstartup-notification0 (>= 0.10), libstdc++6 (>= 4.1.1), libx11-6, libxrender1, libxt6, zlib1g (>= 1:1.1.4) +Suggests: libdbus-glib-1-2 (>= 0.78), libgconf2-4 (>= 2.27.0), libgnome2-0 (>= 2.17.3), libgnomevfs2-0 (>= 1:2.17.90), libgnomeui-0, libcanberra0 +Conflicts: j2re1.4, pango-graphite (<< 0.9.3), xulrunner-1.9.1-gnome-support +Breaks: iceweasel (<< 3.5.5-1) +Filename: pool/main/x/xulrunner/xulrunner-1.9.1_1.9.1.11-1_i386.deb +Size: 7230878 +MD5Sum: d2b3c7b52aee7284290136e2c844ed7b +Description: XUL + XPCOM application runner + +Package: xz-utils +Priority: required +Section: utils +Installed-Size: 364 +Maintainer: Jonathan Nieder <jrnieder@gmail.com> +Architecture: i386 +Version: 4.999.9beta+20100713-1 +Replaces: xz-lzma (<< 4.999.9beta+20091004-1) +Depends: libc6 (>= 2.6), liblzma2 (>= 4.999.9beta+20100602) +Suggests: xz-lzma +Breaks: xz-lzma (<< 4.999.9beta+20091004-1) +Filename: pool/main/x/xz-utils/xz-utils_4.999.9beta+20100713-1_i386.deb +Size: 174098 +MD5Sum: a2a576f97035c84b78e7f269656cab86 +Description: XZ-format compression utilities + +Package: zlib1g +Priority: required +Section: libs +Installed-Size: 160 +Maintainer: Mark Brown <broonie@debian.org> +Architecture: i386 +Source: zlib +Version: 1:1.2.3.4.dfsg-3 +Provides: libz1 +Depends: libc6 (>= 2.1.3) +Conflicts: zlib1 (<= 1:1.0.4-7) +Filename: pool/main/z/zlib/zlib1g_1.2.3.4.dfsg-3_i386.deb +Size: 75952 +MD5Sum: 37246cd4fe5d4cb0f7c03ce3082164a3 +Description: compression library - runtime + diff --git a/test/integration/Packages-bug-593360-modifiers-in-names b/test/integration/Packages-bug-593360-modifiers-in-names new file mode 100644 index 0000000..d2ac8d4 --- /dev/null +++ b/test/integration/Packages-bug-593360-modifiers-in-names @@ -0,0 +1,42 @@ +Package: g++ +Priority: optional +Section: devel +Installed-Size: 40 +Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org> +Architecture: i386 +Source: gcc-defaults (1.96) +Version: 4:4.4.5-1 +Filename: pool/main/g/gcc-defaults/g++_4.4.5-1_i386.deb +Size: 1372 +MD5sum: 37e129a4b130e8b96a9b9d5b26a3fffa +SHA1: d98768d1547389a563e60433268143f42578c3e6 +SHA256: 18d933972392d233127bdd766cfcaaaa2e35f57de47c7af678d599be9613d562 +Description: The GNU C++ compiler + +Package: apt +Priority: important +Section: admin +Installed-Size: 5984 +Maintainer: APT Development Team <deity@lists.debian.org> +Architecture: all +Version: 0.8.8 +Filename: pool/main/a/apt/apt_0.8.8_i386.deb +Size: 2140632 +MD5sum: 4283aa3bb751253faf1b2204e0229e4f +SHA1: 59d432f56901faa86e814a436b8da010ee1c7b8a +SHA256: 072dcf4359dce9698aeaa54366eb20513f860c2bb6d44a95973c0b2ad413bfab +Description: Advanced front-end for dpkg + +Package: apt+ +Priority: important +Section: admin +Installed-Size: 5984 +Maintainer: APT Development Team <deity@lists.debian.org> +Architecture: all +Version: 0.8.8 +Filename: pool/main/a/apt/apt_0.8.8_i386.deb +Size: 2140632 +MD5sum: 4283aa3bb751253faf1b2204e0229e4f +SHA1: 59d432f56901faa86e814a436b8da010ee1c7b8a +SHA256: 072dcf4359dce9698aeaa54366eb20513f860c2bb6d44a95973c0b2ad413bfab +Description: Advanced front-end for dpkg diff --git a/test/integration/Packages-bug-598669-install-postfix-gets-exim-heavy b/test/integration/Packages-bug-598669-install-postfix-gets-exim-heavy new file mode 100644 index 0000000..a249d6e --- /dev/null +++ b/test/integration/Packages-bug-598669-install-postfix-gets-exim-heavy @@ -0,0 +1,30 @@ +Package: exim4-daemon-heavy +Priority: optional +Section: mail +Installed-Size: 1060 +Maintainer: Exim4 Maintainers <pkg-exim4-maintainers@lists.alioth.debian.org> +Architecture: i386 +Source: exim4 +Version: 4.72-1 +Replaces: mail-transport-agent +Provides: mail-transport-agent +Conflicts: mail-transport-agent +Filename: pool/main/e/exim4/exim4-daemon-heavy_4.72-1_i386.deb +Size: 508988 +MD5sum: 7adf3b0ef8f134e70d19ee216e6f4452 +Description: Exim MTA (v4) daemon with extended features, including exiscan-acl + +Package: postfix +Priority: extra +Section: mail +Installed-Size: 3196 +Maintainer: LaMont Jones <lamont@debian.org> +Architecture: i386 +Version: 2.7.1-1 +Replaces: mail-transport-agent +Provides: mail-transport-agent +Conflicts: mail-transport-agent +Filename: pool/main/p/postfix/postfix_2.7.1-1_i386.deb +Size: 1325662 +MD5sum: 1ef63b6a62b4be120a9cdc312b81a698 +Description: High-performance mail transport agent diff --git a/test/integration/Packages-bug-605394-versioned-or-groups b/test/integration/Packages-bug-605394-versioned-or-groups new file mode 100644 index 0000000..6032736 --- /dev/null +++ b/test/integration/Packages-bug-605394-versioned-or-groups @@ -0,0 +1,71 @@ +Package: apache2-mpm-prefork +Priority: optional +Section: httpd +Installed-Size: 68 +Maintainer: Debian Apache Maintainers <debian-apache@lists.debian.org> +Architecture: i386 +Source: apache2 +Version: 2.2.16-4 +Provides: apache2-mpm +Conflicts: apache2-mpm +Filename: pool/main/a/apache2/apache2-mpm-prefork_2.2.16-4_i386.deb +Size: 2276 +MD5Sum: c0db3e637052e59dbdb2fa08f4cdcea4 +Description: Apache HTTP Server - traditional non-threaded model +Task: web-server + +Package: apache2-mpm-worker +Priority: optional +Section: httpd +Installed-Size: 68 +Maintainer: Debian Apache Maintainers <debian-apache@lists.debian.org> +Architecture: i386 +Source: apache2 +Version: 2.2.16-4 +Provides: apache2-mpm +Conflicts: apache2-mpm +Filename: pool/main/a/apache2/apache2-mpm-worker_2.2.16-4_i386.deb +Size: 2220 +MD5Sum: 71bccda875aa0afac700410b951370ba +Description: Apache HTTP Server - high speed threaded model + +Package: libapache2-mod-php5 +Priority: optional +Section: httpd +Installed-Size: 7588 +Maintainer: Debian PHP Maintainers <pkg-php-maint@lists.alioth.debian.org> +Architecture: i386 +Source: php5 +Version: 5.3.3-4 +Depends: apache2-mpm-prefork (>> 2.0.52) +Filename: pool/main/p/php5/libapache2-mod-php5_5.3.3-4_i386.deb +Size: 2886980 +MD5Sum: b41ec4b98aa08966288570e07cd864ab +Description: server-side, HTML-embedded scripting language (Apache 2 module) +Task: web-server + +Package: php5-cgi +Priority: optional +Section: php +Installed-Size: 14672 +Maintainer: Debian PHP Maintainers <pkg-php-maint@lists.alioth.debian.org> +Architecture: i386 +Source: php5 +Version: 5.3.3-4 +Filename: pool/main/p/php5/php5-cgi_5.3.3-4_i386.deb +Size: 5713726 +MD5Sum: 9e579982032c7bb98508e16e314f45e9 +Description: server-side, HTML-embedded scripting language (CGI binary) + +Package: php5 +Priority: optional +Section: php +Installed-Size: 20 +Maintainer: Debian PHP Maintainers <pkg-php-maint@lists.alioth.debian.org> +Architecture: all +Version: 5.3.3-4 +Depends: libapache2-mod-php5 (>= 5.3.3-4) | php5-cgi (>= 5.3.3-4) +Filename: pool/main/p/php5/php5_5.3.3-4_all.deb +Size: 1050 +MD5Sum: cbedd95ed5b868ba1ffd10747abc0ee3 +Description: server-side, HTML-embedded scripting language (metapackage) diff --git a/test/integration/Packages-bug-723705-tagfile-truncates-fields b/test/integration/Packages-bug-723705-tagfile-truncates-fields new file mode 100644 index 0000000..c42b850 --- /dev/null +++ b/test/integration/Packages-bug-723705-tagfile-truncates-fields @@ -0,0 +1,167 @@ +Package: cdebconf-gtk-udeb +Source: cdebconf +Version: 0.185 +Installed-Size: 92 +Maintainer: Debian Install System Team <debian-boot@lists.debian.org> +Architecture: amd64 +Description: Gtk+ frontend for Debian Configuration Management System +Description-md5: 75d036e0a245499123544e2254b92e9c +Section: debian-installer +Priority: optional +Filename: pool/main/c/cdebconf/cdebconf-gtk-udeb_0.185_amd64.udeb +Size: 27278 +MD5sum: a1bbbc1d4fb8e0615b5621abac021924 +SHA1: b1a7ab55a90f61e5337847d02ff1d12d73559def +SHA256: cd79f3205304a7932b3309c4df9898c9a53929bc651912659858e087ebe1c18a + +Package: cdebconf-newt-udeb +Source: cdebconf +Version: 0.185 +Installed-Size: 58 +Maintainer: Debian Install System Team <debian-boot@lists.debian.org> +Architecture: amd64 +Description: Newt frontend for Debian Configuration Management System +Description-md5: e080be5e38cb8c57bca2f3effe9ee030 +Section: debian-installer +Priority: optional +Filename: pool/main/c/cdebconf/cdebconf-newt-udeb_0.185_amd64.udeb +Size: 19192 +MD5sum: de27807f56dae2f2403b3322d5fe6bd2 +SHA1: 57883e223d46a9f25966f9b986e6a3bc2f67d8ef +SHA256: 5f8b9c3a5430f2ec879484a7736582b152d76cc8ba9bc19328268f3635759a1b + +Package: cdebconf-udeb +Source: cdebconf +Version: 0.185 +Installed-Size: 245 +Maintainer: Debian Install System Team <debian-boot@lists.debian.org> +Architecture: amd64 +Provides: debconf-2.0 +Description: Debian Configuration Management System (C-implementation) +Description-md5: 9f3579e9d9f86ac89e667a8707d3cbd3 +Section: debian-installer +Priority: standard +Filename: pool/main/c/cdebconf/cdebconf-udeb_0.185_amd64.udeb +Size: 77376 +MD5sum: e3883706fdbf54c2e5ea959c92b2d37f +SHA1: 0232f1bdf1531db628516ed3a46a27466b267fdc +SHA256: 96345575417a3e4df8a2cadaa55784ec8f6c042defb1e2fc002d941b6116ceab + +Package: cdebconf-gtk-terminal +Source: cdebconf-terminal +Version: 0.22 +Installed-Size: 64 +Maintainer: Debian Install System Team <debian-boot@lists.debian.org> +Architecture: amd64 +Provides: cdebconf-terminal +Depends: cdebconf-gtk-udeb, libc6-udeb (>= 2.17), libglib2.0-udeb (>= 2.36.4), libgtk2.0-0-udeb (>= 2.24.0), libvte9-udeb (>= 1:0.28.0), cdebconf-udeb, cdebconf-gtk-terminal, cdebconf-gtk-terminal, cdebconf-gtk-terminal, cdebconf-gtk-terminal, cdebconf-gtk-terminal, cdebconf-gtk-terminal, cdebconf-gtk-terminal +Description: cdebconf gtk plugin displaying a terminal +Description-md5: 18c4446758aec003eb8cd0a43419f1aa +Section: debian-installer +Priority: extra +Filename: pool/main/c/cdebconf-terminal/cdebconf-gtk-terminal_0.22_amd64.udeb +Size: 14734 +MD5sum: f9c3a7354560cb88e0396e2b7ba54363 +SHA1: 9c1c93328e758bfd9de2752466b271aaf38c8177 +SHA256: ca749853fc3b93db1d08ccdc6b46de27633de52bc5b880fa65275897ebcaaf69 + +Package: cdebconf-newt-terminal +Source: cdebconf-terminal +Version: 0.22 +Installed-Size: 43 +Maintainer: Debian Install System Team <debian-boot@lists.debian.org> +Architecture: amd64 +Provides: cdebconf-terminal +Depends: cdebconf-newt-udeb (>= 0.146), libc6-udeb (>= 2.17), libnewt0.52 +Description: cdebconf newt plugin to provide a clean terminal +Description-md5: 4109a053022081b573d864d84d6eb16d +Section: debian-installer +Priority: extra +Filename: pool/main/c/cdebconf-terminal/cdebconf-newt-terminal_0.22_amd64.udeb +Size: 4538 +MD5sum: 20db6152fce5081fcbf49c7c08f21246 +SHA1: fa2a40f777a2f48b9634866bc780fb059e60b2fe +SHA256: c4d99ef27285f0c9090005313165627e56e0972e687af7e68c2b1d1538e2ae09 + +Package: libc6-udeb +Source: eglibc (2.17-92) +Version: 2.17-92+b1 +Installed-Size: 3126 +Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> +Architecture: amd64 +Provides: glibc-2.17-1, libc-udeb, libc6 +Description: Embedded GNU C Library: Shared libraries - udeb +Description-md5: 9552ce73b7b3fb466e3d89fe8db9a563 +Section: debian-installer +Priority: extra +Filename: pool/main/e/eglibc/libc6-udeb_2.17-92+b1_amd64.udeb +Size: 1056000 +MD5sum: 7fd7032eeeecf7f76eff79a0543fbd72 +SHA1: 724b6a81b8fbc9d4d2bb43d656c08de73f7ada25 +SHA256: 137d4c001bbfde8161315c36e6cb8653ae2c50a8d6b6d2d27396c492d91a1723 + +Package: libglib2.0-udeb +Source: glib2.0 +Version: 2.36.4-1 +Installed-Size: 10070 +Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org> +Architecture: amd64 +Description: GLib library of C routines - minimal runtime +Description-md5: 0244040042870a89aa49f037cce3f1e9 +Section: debian-installer +Priority: optional +Filename: pool/main/g/glib2.0/libglib2.0-udeb_2.36.4-1_amd64.udeb +Size: 1714604 +MD5sum: 72da029f1bbb36057d874f1f82a5d00a +SHA1: 32bce78a052ef19a620f43ecbe12404fa570c0f1 +SHA256: 8edbc7cb872c0a82705913563f93f9eec5750881e4378c5a48770cde840cd6eb + +Package: libgtk2.0-0-udeb +Source: gtk+2.0 +Version: 2.24.20-1 +Installed-Size: 5035 +Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org> +Architecture: amd64 +Provides: gtk2.0-binver-2.10.0 +Description: GTK+ graphical user interface library - minimal runtime +Description-md5: 32e5112b80c02578837cff4f65dfec84 +Section: debian-installer +Priority: extra +Filename: pool/main/g/gtk+2.0/libgtk2.0-0-udeb_2.24.20-1_amd64.udeb +Size: 1643046 +MD5sum: 25513478eb2e02e5766c0eea0b411ca9 +SHA1: 9274f05bfa930a3406403441ce061bade04e2064 +SHA256: d5f611f48928ae02f759105cf8cff467cde1cb44df56ad31067168b46a80f8bc + +Package: libvte9-udeb +Source: vte +Version: 1:0.28.2-5 +Installed-Size: 628 +Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org> +Architecture: amd64 +Description: Terminal emulator widget for GTK+ 2.0 - minimal runtime +Description-md5: e7993385c30bae6e96c8cb87795a513c +Section: debian-installer +Priority: extra +Filename: pool/main/v/vte/libvte9-udeb_0.28.2-5_amd64.udeb +Size: 216968 +MD5sum: 7da7201effaf5ced19abd9d0b45aa2c6 +SHA1: a424cf779e7614d79740c422b6342de04fed3646 +SHA256: 4963033cbda5a8ba7eb8ebf1debae34463b8e63b821259860cfb51c1ab99562d + +Package: zlib1g-udeb +Source: zlib +Version: 1:1.2.8.dfsg-1 +Installed-Size: 115 +Maintainer: Mark Brown <broonie@debian.org> +Architecture: amd64 +Description: compression library - runtime for Debian installer +Description-md5: 9cab974e3eab657c53bc17611b894c7a +Section: debian-installer +Priority: optional +Filename: pool/main/z/zlib/zlib1g-udeb_1.2.8.dfsg-1_amd64.udeb +Size: 45270 +MD5sum: c02884420f79a3ae4569cf67782f3e74 +SHA1: 7cd1a7c8be4e086de733a0ce76f87d42b8b2173b +SHA256: 61641ee2b5e185232108333438b72bec71ef549fe0e0df1b2b3afa37174e53a7 + diff --git a/test/integration/Packages-bug-lp1347721-dpkg-ordering b/test/integration/Packages-bug-lp1347721-dpkg-ordering new file mode 100644 index 0000000..ea96b38 --- /dev/null +++ b/test/integration/Packages-bug-lp1347721-dpkg-ordering @@ -0,0 +1,445 @@ +Package: init +xEssential: yes +Priority: required +Section: metapackages +Installed-Size: 29 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: pkg-systemd-maintainers <pkg-systemd-maintainers@lists.alioth.debian.org> +Architecture: i386 +Source: init-system-helpers +Version: 1.20 +Pre-Depends: sysvinit-core | systemd-sysv | upstart +Filename: pool/main/i/init-system-helpers/init_1.20_i386.deb +Size: 3494 +MD5sum: a388b6f4f6ed0d01b3d459cfad6582fe +SHA1: d0eb6414a6bb48bb886fcc19962f6a7f302977f3 +SHA256: 9f299b2bf18d6e4534f3a73cca97ef93850e1b5fa38f8519da7c2b825d581f4c +Description: System-V-like init utilities - metapackage +Description-md5: e52554c23609041bfbca72fe27a132f9 +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu + +Package: libudev1 +Priority: required +Section: libs +Installed-Size: 132 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian systemd Maintainers <pkg-systemd-maintainers@lists.alioth.debian.org> +Architecture: i386 +Source: systemd +Version: 208-6ubuntu2 +Depends: libc6 (>= 2.17), libselinux1 (>= 1.32) +Pre-Depends: multiarch-support +Filename: pool/main/s/systemd/libudev1_208-6ubuntu2_i386.deb +Size: 36008 +MD5sum: b03338c052438a95919b9db4d6f9493e +SHA1: a85242bfc653255b5fa73d0fbec92815dc9c09fc +SHA256: d66d7948703b33bd617e16a1b9ac6f24ca564312890b1f9218330f638080a307 +Description: libudev shared library +Multi-Arch: same +Homepage: http://www.freedesktop.org/wiki/Software/systemd +Description-md5: ace5b83d7b48187416c90173a93255b6 +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 9m +Task: minimal + +Package: udev +Priority: required +Section: admin +Installed-Size: 5879 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian systemd Maintainers <pkg-systemd-maintainers@lists.alioth.debian.org> +Architecture: i386 +Source: systemd +Version: 208-6ubuntu2 +Depends: libacl1 (>= 2.2.51-8), libblkid1 (>= 2.19.1), libc6 (>= 2.17), libkmod2 (>= 5~), libselinux1 (>= 2.0.65), libudev1 (= 208-6ubuntu2), lsb-base (>= 4.1+Debian11ubuntu7), util-linux (>= 2.16), procps +Pre-Depends: debconf (>= 1.4.69) | debconf-2.0 +Breaks: consolekit (<< 0.4.6-1) +Filename: pool/main/s/systemd/udev_208-6ubuntu2_i386.deb +Size: 799582 +MD5sum: 814bb3babdbe76994ce536384ca31f88 +SHA1: bbb662c89f2b1ff4fd450d1523cc21b5b1c339bc +SHA256: e444350214c5c121b2ca8031f76c53809f95ebb5c4cec4cf4595c7520ac09529 +Description: /dev/ and hotplug management daemon +Multi-Arch: foreign +Homepage: http://www.freedesktop.org/wiki/Software/systemd +Description-md5: e875ddb09f46f1f7672af537f0c875ca +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 9m +Task: minimal + +Package: initscripts +Priority: required +Section: admin +Installed-Size: 246 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian sysvinit maintainers <pkg-sysvinit-devel@lists.alioth.debian.org> +Architecture: i386 +Source: sysvinit +Version: 2.88dsf-41ubuntu16 +Replaces: libc0.1, libc0.3, libc6, libc6.1 +Depends: libc6 (>= 2.4), mount (>= 2.11x-1), debianutils (>= 4), lsb-base (>= 4.1+Debian11ubuntu7), sysvinit-utils (>= 2.86.ds1-64), sysv-rc | file-rc, coreutils (>= 5.93), passwd, init, mountall (>= 2.28) +Recommends: psmisc, e2fsprogs +Conflicts: libdevmapper1.02.1 (<< 2:1.02.24-1) +Breaks: aide (<< 0.15.1-5), atm-tools (<< 1:2.5.1-1.3), bootchart (<< 0.10~svn407-3.3), console-common (<< 0.7.86), cruft (<< 0.9.16), eepc-acpi-scripts (<< 1.1.12), fcheck (<< 2.7.59-16), hostapd (<< 1:0.7.3-3), hostname (<< 2.95ubuntu1~boot2), ifupdown (<< 0.6.8ubuntu27), libpam-mount (<< 2.13-1), ltsp-client-core (<< 5.2.16-1), mdadm (<< 3.2.2-1), nbd-client (<< 1:2.9.23-1), nfs-common (<< 1:1.2.5-3), portmap (<< 6.0.0-2), readahead-fedora (<< 2:1.5.6-3), resolvconf (<< 1.49), rpcbind (<< 0.2.0-7), rsyslog (<< 5.8.2-2), selinux-policy-default (<= 2:0.2.20100524-9), splashy (<< 0.3.13-5.1+b1), sysklogd (<< 1.5-6.2), udev (<< 146-2~boot6), upstart (<< 0.6.3-2~boot4), wpasupplicant (<< 0.7.3-4), xymon (<< 4.3.0~beta2.dfsg-9) +Filename: pool/main/s/sysvinit/initscripts_2.88dsf-41ubuntu16_i386.deb +Size: 35150 +MD5sum: e78f1e7816f03ded97eacd469505ea45 +SHA1: 81f88f9258c680e9983316d75baff7572ecec75c +SHA256: 996e4d86486cbe12a7b7852ec1a9fe459dbf0afab51dc13bd701b6d970fdc14a +Description: scripts for initializing and shutting down the system +Multi-Arch: foreign +Homepage: http://savannah.nongnu.org/projects/sysvinit +Description-md5: db9003c179cd2a623493209da58ea2ea +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 9m +Task: minimal + +Package: libc6 +Priority: required +Section: libs +Installed-Size: 9284 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> +Architecture: i386 +Source: glibc +Version: 2.19-4ubuntu1 +Replaces: libc6-i386, libc6-xen +Provides: glibc-2.19-1, libc6-i686, libc6-xen +Depends: libgcc1 +Suggests: glibc-doc, debconf | debconf-2.0, locales +Conflicts: libc6-xen, prelink (<= 0.0.20090311-1), tzdata (<< 2007k-1), tzdata-etch +Breaks: hurd (<< 1:0.5.git20140203-1), libtirpc1 (<< 0.2.3), nscd (<< 2.19) +Filename: pool/main/g/glibc/libc6_2.19-4ubuntu1_i386.deb +Size: 4012440 +MD5sum: 946665711bb0294bd2c7729b3174ba8b +SHA1: 063e268e0d1e368e218d450a4bd2af7608b5e38e +SHA256: 0e33f5c3b6da3a6ec52fb0274abfa0da5489808feb220b6e6640432cb84f948f +Description: GNU C Library: Shared libraries +Multi-Arch: same +Homepage: http://www.gnu.org/software/libc/libc.html +Description-md5: fc3001b0b90a1c8e6690b283a619d57f +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 9m +Task: minimal + +Package: libmount1 +Priority: required +Section: libs +Installed-Size: 253 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: LaMont Jones <lamont@debian.org> +Architecture: i386 +Source: util-linux +Version: 2.20.1-5.1ubuntu21 +Depends: libblkid1 (>= 2.17.2), libc6 (>= 2.8), libselinux1 (>= 1.32) +Pre-Depends: multiarch-support +Filename: pool/main/u/util-linux/libmount1_2.20.1-5.1ubuntu21_i386.deb +Size: 60156 +MD5sum: d17af590ad06ac914a1024d54184cee6 +SHA1: 6eb2a281c409bd5181ce6b871795f8e4609565bc +SHA256: 78ce54b9f644c365b95a7230e1e50762d628c9d0d3549211017a98d4cb5013c4 +Description: block device id library +Multi-Arch: same +Homepage: http://userweb.kernel.org/~kzak/util-linux/ +Description-md5: 8f605597a2fb2fd7bffd09db537dd040 +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 9m +Task: minimal + +Package: libplymouth4 +Priority: required +Section: libs +Installed-Size: 315 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Source: plymouth +Version: 0.9.0-0ubuntu2 +Replaces: plymouth (<< 0.7.0+git20090207-0ubuntu0.1~ppa4) +Depends: libc6 (>= 2.9), libpng12-0 (>= 1.2.13-4), libudev1 (>= 183) +Pre-Depends: multiarch-support +Breaks: casper (= 1.227), mountall (<< 2.8) +Filename: pool/main/p/plymouth/libplymouth4_0.9.0-0ubuntu2_i386.deb +Size: 85024 +MD5sum: 8d9e7001ba371bd802956de1e81d1997 +SHA1: 749bdaee4d8bd4c2383c703eb244caa473180d35 +SHA256: 59bd4492b6e71eee5c13ba9c63da12ece49c43106829556722ca503867ce7251 +Description: graphical boot animation and logger - shared libraries +Multi-Arch: same +Description-md5: 29e2ed45f3e127c38b58dae52061cc33 +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 9m +Task: minimal + +Package: libprocps3 +Priority: required +Section: libs +Installed-Size: 133 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Craig Small <csmall@debian.org> +Architecture: i386 +Source: procps +Version: 1:3.3.9-1ubuntu5 +Replaces: procps (<< 1:3.3.2-1) +Depends: libc6 (>= 2.4) +Pre-Depends: multiarch-support +Filename: pool/main/p/procps/libprocps3_3.3.9-1ubuntu5_i386.deb +Size: 30078 +MD5sum: 0df60f591dfe64ed23bb1f3a1546c0ce +SHA1: db672ec37e88574bf1a1d5484d80cfd4ff04f9f6 +SHA256: b5df28501805a6833dc78e049159a7c560af6f24f18f51459bd8890c31e0fdc6 +Description: library for accessing process information from /proc +Multi-Arch: same +Homepage: http://gitorious.org/procps +Description-md5: 195f4a1a493350f6f0732a65b3cda83f +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 9m +Task: minimal + +Package: libudev1 +Priority: required +Section: libs +Installed-Size: 131 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian systemd Maintainers <pkg-systemd-maintainers@lists.alioth.debian.org> +Architecture: i386 +Source: systemd +Version: 204-14ubuntu2 +Depends: libc6 (>= 2.17), libcgmanager0, libdbus-1-3 (>= 1.0.2), libnih-dbus1 (>= 1.0.0), libnih1 (>= 1.0.0) +Pre-Depends: multiarch-support +Filename: pool/main/s/systemd/libudev1_204-14ubuntu2_i386.deb +Size: 35518 +MD5sum: a606f9e4aab028b9ab658b6e8a09d5fb +SHA1: ef28d377e6cc8f1e98dd9cd8c40edda90e2eed20 +SHA256: c02c85725f64b6c804235329166bf66e40da948d96123336ec55e13e1654720f +Description: libudev shared library +Multi-Arch: same +Homepage: http://www.freedesktop.org/wiki/Software/systemd +Description-md5: ace5b83d7b48187416c90173a93255b6 +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 9m +Task: minimal + +Package: lsb-base +Priority: required +Section: misc +Installed-Size: 83 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian LSB Team <debian-lsb@lists.debian.org> +Architecture: all +Source: lsb +Version: 4.1+Debian11ubuntu8 +Replaces: upstart (<< 1.12.1-0ubuntu8) +Breaks: upstart (<< 1.12.1-0ubuntu8) +Filename: pool/main/l/lsb/lsb-base_4.1+Debian11ubuntu8_all.deb +Size: 13094 +MD5sum: 9ec51f910e6d8e86bfb489b71b237e66 +SHA1: 8091ba9ffc03999a3db1e2e0ee7d32ac5139a942 +SHA256: be8d24447147aa997b79353eaf8732b3d0967118c011b47476c841667eb15f7e +Description: Linux Standard Base 4.1 init script functionality +Multi-Arch: foreign +Homepage: http://www.linuxfoundation.org/collaborate/workgroups/lsb +Description-md5: 4ebb3d88f9f483751e70c55779c52d01 +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 9m +Task: minimal + +Package: mount +Essential: yes +Priority: required +Section: admin +Installed-Size: 410 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: LaMont Jones <lamont@debian.org> +Architecture: i386 +Source: util-linux +Version: 2.20.1-5.1ubuntu21 +Pre-Depends: libblkid1 (>= 2.20.1), libc6 (>= 2.8), libmount1 (>= 2.20.1), libselinux1 (>= 2.0.15) +Suggests: nfs-common (>= 1:1.1.0-13) +Filename: pool/main/u/util-linux/mount_2.20.1-5.1ubuntu21_i386.deb +Size: 112598 +MD5sum: bdff5dbfbf17e2be281d64e2e7a4912b +SHA1: 1ed4abb0d5de8a09c704ac2d33de123015e5318a +SHA256: d2f023c763f7b6e91f3cd14073bfc5af7e7bfe3922fc5ca681d8038c80323f9e +Description: Tools for mounting and manipulating filesystems +Multi-Arch: foreign +Homepage: http://userweb.kernel.org/~kzak/util-linux/ +Description-md5: 46eb8e09a600d5eb98b6b40428349102 +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 9m +Task: minimal + +Package: mountall +Priority: required +Section: admin +Installed-Size: 248 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Steve Langasek <vorlon@debian.org> +Architecture: i386 +Version: 2.54build1 +Replaces: upstart (<< 0.6.3-2) +Depends: makedev, udev, plymouth, coreutils (>= 7.1), libc6 (>= 2.9), libdbus-1-3 (>= 1.2.16), libnih-dbus1 (>= 1.0.0), libnih1 (>= 1.0.0), libplymouth4 (>= 0.8.1-3), libudev1 (>= 183) +Pre-Depends: dpkg (>= 1.15.7.2) +Breaks: initscripts (<< 2.88dsf-24), policycoreutils (<< 2.0.69-2ubuntu4), usplash (<< 0.5.47) +Filename: pool/main/m/mountall/mountall_2.54build1_i386.deb +Size: 54166 +MD5sum: a208d9dc5aef018087d5e00cea7f6c92 +SHA1: 13686aa81ebef6c3009ff618708d76bc68ff94e8 +SHA256: dee359411cd7cfad19581f380af6275d46a6c5ecf55f512523b75adaa4734d03 +Description: filesystem mounting tool +Multi-Arch: foreign +Description-md5: b5b5a27fc0e8063ef1226a39fb8ecf70 +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 9m +Task: minimal + +Package: procps +Priority: required +Section: admin +Installed-Size: 634 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Craig Small <csmall@debian.org> +Architecture: i386 +Version: 1:3.3.9-1ubuntu5 +Provides: watch +Depends: libc6 (>= 2.15), libncurses5 (>= 5.5-5~), libncursesw5 (>= 5.6+20070908), libprocps3, libtinfo5, lsb-base (>= 4.1+Debian11ubuntu7), initscripts +Recommends: psmisc +Conflicts: pgrep (<< 3.3-5), w-bassman (<< 1.0-3) +Breaks: guymager (<= 0.5.9-1), open-vm-tools (<= 2011.12.20-562307-1), xmem (<= 1.20-27.1) +Filename: pool/main/p/procps/procps_3.3.9-1ubuntu5_i386.deb +Size: 203368 +MD5sum: 17be371891f077e04075c6eb0af06b3c +SHA1: a5c6171b5a6430aa9436e42f0e64226dd2e7a665 +SHA256: 41e03fd2d05161c402d9a5d2b5feecb30a42f8919eb43712ebdd4340433803c1 +Description: /proc file system utilities +Multi-Arch: foreign +Homepage: http://gitorious.org/procps +Description-md5: 943f3288c1aaa379fca73a3ff1a35278 +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 9m +Task: minimal + +Package: sysv-rc +Priority: required +Section: admin +Installed-Size: 224 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian sysvinit maintainers <pkg-sysvinit-devel@lists.alioth.debian.org> +Architecture: all +Source: sysvinit +Version: 2.88dsf-41ubuntu16 +Replaces: file-rc +Depends: debconf (>= 0.5) | debconf-2.0, sysvinit-utils (>= 2.86.ds1-62), insserv (>> 1.12.0-10) +Recommends: lsb-base (>= 3.2-14) +Suggests: sysv-rc-conf, bum +Conflicts: file-rc +Breaks: initscripts (<< 2.88dsf-41ubuntu14) +Filename: pool/main/s/sysvinit/sysv-rc_2.88dsf-41ubuntu16_all.deb +Size: 37784 +MD5sum: e57bc9887432f76266d7bf741cf9d813 +SHA1: 446d24cc86bdb7a779856c00f9dea966227a00e2 +SHA256: 072d2745b9c966d63cba5abf52357374e7a043b3cc1bbde0b8ccf68f82e45f60 +Description: System-V-like runlevel change mechanism +Multi-Arch: foreign +Homepage: http://savannah.nongnu.org/projects/sysvinit +Description-md5: 195f2d617082a23f37cee0f50784eef9 +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 9m +Task: minimal + +Package: sysvinit-utils +Priority: required +Section: admin +Installed-Size: 236 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian sysvinit maintainers <pkg-sysvinit-devel@lists.alioth.debian.org> +Architecture: i386 +Source: sysvinit +Version: 2.88dsf-41ubuntu16 +Replaces: last, sysvinit (<= 2.86.ds1-65) +Depends: libc6 (>= 2.15), libselinux1 (>= 1.32), lsb-base (>= 4.1+Debian11ubuntu7) +Recommends: upstart (>= 0.6.3-4) +Suggests: bootlogd, sash +Conflicts: chkconfig (<< 11.0-79.1-2), last, sysvconfig +Breaks: upstart (<< 1.5-0ubuntu5) +Filename: pool/main/s/sysvinit/sysvinit-utils_2.88dsf-41ubuntu16_i386.deb +Size: 49652 +MD5sum: e1340ba69c7a5f0cf1a84b3f68993570 +SHA1: 7cbd535c1c010c2e84cb454562fb6632fb366ddc +SHA256: 576c2bcfbf56871acd68576f07fd18b6bfccd8a5db6dfa04bcf62183f43e77a0 +Description: System-V-like utilities +Multi-Arch: foreign +Homepage: http://savannah.nongnu.org/projects/sysvinit +Description-md5: 1d2bc4c9c32104729144c7578ecd30bd +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 9m +Task: minimal + +Package: udev +Priority: required +Section: admin +Installed-Size: 5123 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian systemd Maintainers <pkg-systemd-maintainers@lists.alioth.debian.org> +Architecture: i386 +Source: systemd +Version: 204-14ubuntu2 +Depends: libacl1 (>= 2.2.51-8), libblkid1 (>= 2.19.1), libc6 (>= 2.17), libcgmanager0, libdbus-1-3 (>= 1.0.2), libkmod2 (>= 5~), libnih-dbus1 (>= 1.0.0), libnih1 (>= 1.0.0), libselinux1 (>= 2.0.65), libudev1 (= 204-14ubuntu2), lsb-base (>= 4.1+Debian11ubuntu7), util-linux (>= 2.16), procps +Pre-Depends: debconf (>= 1.4.69) | debconf-2.0 +Breaks: consolekit (<< 0.4.6-1) +Filename: pool/main/s/systemd/udev_204-14ubuntu2_i386.deb +Size: 739026 +MD5sum: a85b035885e1b316354f6e5d0b8eeb69 +SHA1: 970405e4c8838c3cf17d1834c8917705d977879e +SHA256: 05fbd7f4b502fde9752b84b49364fe633b8377bcd996ec16462e0bc94adc9fcf +Description: /dev/ and hotplug management daemon +Multi-Arch: foreign +Homepage: http://www.freedesktop.org/wiki/Software/systemd +Description-md5: e875ddb09f46f1f7672af537f0c875ca +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 9m +Task: minimal + +Package: upstart +Priority: required +Section: admin +Installed-Size: 1721 +Maintainer: James Hunt <james.hunt@ubuntu.com> +Architecture: i386 +Version: 1.13.1-0ubuntu1 +Replaces: startup-tasks, system-services, sysvinit, upstart-compat-sysv, upstart-job +Provides: startup-tasks, system-services, upstart-compat-sysv, upstart-job +Depends: libc6 (>= 2.15), libcgmanager0, libdbus-1-3 (>= 1.2.16), libjson-c2 (>= 0.10), libnih-dbus1 (>= 1.0.0), libnih1 (>= 1.0.0), libudev1 (>= 183), sysvinit-utils, initscripts, mountall, ifupdown (>= 0.6.10ubuntu5), libjson0 (>= 0.10-1.1ubuntu1), debianutils (>= 4) +Suggests: python3, graphviz, bash-completion, upstart-monitor +Conflicts: lxcguest, startup-tasks, system-services, sysvinit, upstart-compat-sysv, upstart-job +Breaks: friendly-recovery (<< 0.2.13), libc6 (<< 2.12.1-0ubuntu12) +Filename: pool/main/u/upstart/upstart_1.13.1-0ubuntu1_i386.deb +Size: 388978 +MD5sum: 2ebf7fb1083b581707e445fee808e120 +SHA1: 901424ec0d304ca8d10a25321a55d1d69bd8e82d +SHA256: c42fb117e90770c7163c9f4770e75e9c0d6a00d41c4b3afc2afebfa65ede80f8 +Description: event-based init daemon +Multi-Arch: foreign +Homepage: http://upstart.ubuntu.com/ +Orig-Maintainer: Steve Langasek <vorlon@debian.org> +Description-md5: b776ec43b708c13dd0c2ab824471f478 +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 9m +Task: minimal + diff --git a/test/integration/Packages-github-23-too-long-dependency-line b/test/integration/Packages-github-23-too-long-dependency-line new file mode 100644 index 0000000..967d6ed --- /dev/null +++ b/test/integration/Packages-github-23-too-long-dependency-line @@ -0,0 +1,17 @@ +Package: network-manager-strongswan +Architecture: amd64 +Version: 1.3.1-14 +Priority: extra +Section: net +Maintainer: Jean-Christophe Manciot <manciot.jeanchristophe@gmail.com> +Installed-Size: 256 +Provides: network-manager-strongswan +Depends: libart-2.0-2,libatk1.0-0,libavahi-client3,libavahi-common3,libavahi-glib1,libbonobo2-0,libbonoboui2-0,libc6,libcairo2,libcanberra0,libdatrie1,libdbus-1-3,libdbus-glib-1-2,libexpat1,libffi6,libfontconfig1,libfreetype6,libgail18,libgconf-2-4,libgcrypt20,libgdk-pixbuf2.0-0,libglib2.0-0,libglib2.0-0-dbg,libglib2.0-0-refdbg,libgmp10,libgnome-2-0,libgnomecanvas2-0,libgnome-keyring0,libgnomeui-0,libgnomevfs2-0,libgnutls30,libgpg-error0,libgraphite2-3,libgtk2.0-0,libharfbuzz0b,libhogweed4,libice6,libidn11,libltdl7,liblzma5,libnettle6,libnm-glib-vpn1,libnm-util2,libogg0,liborbit-2-0,libp11-kit0,libpango-1.0-0,libpangocairo-1.0-0,libpangoft2-1.0-0,libpcre3,libpixman-1-0,libpng12-0,libpopt0,libselinux1,libsm6,libsystemd0,libtasn1-6,libtdb1,libthai0,libuuid1,libvorbis0a,libvorbisfile3,libx11-6,libxau6,libxcb1,libxcb-render0,libxcb-shm0,libxcomposite1,libxcursor1,libxdamage1,libxdmcp6,libxext6,libxfixes3,libxi6,libxinerama1,libxml2,libxrandr2,libxrender1,zlib1g +Filename: dists/xenial/stable/binary-amd64/network-manager-strongswan_1.3.1-14_amd64.deb +Size: 34642 +MD5sum: 6f4482cb417e4c884a6715f315695937 +SHA1: 07dc0377c365f6ccb67d8e135ab32f27b5b5774d +SHA256: e526bc8c6c8b29dc28e5783ad076119d3be0e804779b3ca3a68959b7ac23f163 +SHA512: 6e2eb65023301dcaf1813a3c5686a82bdb61bdd3597e1976e067e06a0b0eee96e6d2a2d8b890bf37b8120eb9ff671a5ac4ee49de83feb3199afeab2893b8dec6 +Description: This package provides an IKEv2 IPSec VPN plugin for strongswan +Description-md5: 31abf1e375284c7ee36f25bf936125f1 diff --git a/test/integration/Packages-hashsum-verification b/test/integration/Packages-hashsum-verification new file mode 100644 index 0000000..29a385f --- /dev/null +++ b/test/integration/Packages-hashsum-verification @@ -0,0 +1,18 @@ +Package: apt +Version: 0.7.25.3 +Architecture: i386 +Maintainer: APT Development Team <deity@lists.debian.org> +Installed-Size: 5244 +Replaces: libapt-pkg-dev (<< 0.3.7), libapt-pkg-doc (<< 0.3.7) +Provides: libapt-pkg-libc6.9-6-4.8 +Suggests: aptitude | synaptic | wajig, dpkg-dev, apt-doc, bzip2, lzma, python-apt +Filename: apt.deb +Size: 0 +MD5sum: d41d8cd98f00b204e9800998ecf8427e +Description: Advanced front-end for dpkg + This is Debian's next generation front-end for the dpkg package manager. + It provides the apt-get utility and APT dselect method that provides a + simpler, safer way to install and upgrade packages. + . + APT features complete installation ordering, multiple source capability + and several other unique features, see the Users Guide in apt-doc. diff --git a/test/integration/Packages-pdiff-usage b/test/integration/Packages-pdiff-usage new file mode 100644 index 0000000..ac962f2 --- /dev/null +++ b/test/integration/Packages-pdiff-usage @@ -0,0 +1,36 @@ +Package: apt +Version: 0.7.25.3 +Architecture: i386 +Maintainer: APT Development Team <deity@lists.debian.org> +Installed-Size: 5244 +Replaces: libapt-pkg-dev (<< 0.3.7), libapt-pkg-doc (<< 0.3.7) +Provides: libapt-pkg-libc6.9-6-4.8 +Depends: libc6 (>= 2.3.4), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.4.0), debian-archive-keyring +Suggests: aptitude | synaptic | wajig, dpkg-dev, apt-doc, bzip2, lzma, python-apt +Filename: pool/main/a/apt/apt_0.7.25.3_i386.deb +Size: 1750610 +MD5sum: 311aadc67d1b72428b54c9b4e1f76671 +SHA1: 3c695e028f74d5c55226f9ef30000bbbd881088c +SHA256: b46fd1546151c545fe4bfa56a5cc0e7811a9f68826326a529777fd660f28f050 +Description: Advanced front-end for dpkg + This is Debian's next generation front-end for the dpkg package manager. + It provides the apt-get utility and APT dselect method that provides a + simpler, safer way to install and upgrade packages. + . + APT features complete installation ordering, multiple source capability + and several other unique features, see the Users Guide in apt-doc. +Description-md5: d41ee493aa9fcc6cbc9ce4eb7069959c + +Package: oldstuff +Version: 1.0 +Architecture: i386 +Maintainer: Joe Sixpack <joe@example.org> +Installed-Size: 100 +Filename: pool/oldstuff_1.0_i386.deb +Size: 100000 +MD5sum: 311aeeadf78324aaff54c9b4e1f76671 +SHA1: 3c695e028f74d5c544deeddaaa1242desa81088c +SHA256: b46fd1546151c545fe4bfa56a5cc0e7deaef23e2da3e4f129727fd660f28f050 +Description: some cool but old stuff + This package will disappear in the next mirror update +Description-md5: 1948af60eda0a41dfa9fe83f60eb8389 diff --git a/test/integration/Packages-pdiff-usage-new b/test/integration/Packages-pdiff-usage-new new file mode 100644 index 0000000..f8d7b19 --- /dev/null +++ b/test/integration/Packages-pdiff-usage-new @@ -0,0 +1,39 @@ +Package: apt +Priority: important +Section: admin +Installed-Size: 5672 +Maintainer: APT Development Team <deity@lists.debian.org> +Architecture: i386 +Version: 0.8.0~pre1 +Replaces: manpages-pl (<< 20060617-3~) +Provides: libapt-pkg4.10 +Depends: libc6 (>= 2.3.4), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.4.0), zlib1g (>= 1:1.1.4), debian-archive-keyring, gnupg +Suggests: aptitude | synaptic | wajig, dpkg-dev, apt-doc, bzip2, lzma, python-apt +Conflicts: python-apt (<< 0.7.93.2~) +Filename: pool/main/a/apt/apt_0.8.0~pre1_i386.deb +Size: 2013046 +MD5sum: 6786ca6270c988f2c201716ededaedec +SHA1: fe26559e745d4c2c977c27170938852041c9adff +SHA256: a12f968467e1e3cec24191b72bfe84f7aeed3ce422e1a60bb4f1454f2b89b8ee +Description: Advanced front-end for dpkg + This is Debian's next generation front-end for the dpkg package manager. + It provides the apt-get utility and APT dselect method that provides a + simpler, safer way to install and upgrade packages. + . + APT features complete installation ordering, multiple source capability + and several other unique features, see the Users Guide in apt-doc. +Description-md5: d41ee493aa9fcc6cbc9ce4eb7069959c + +Package: newstuff +Version: 1.0 +Architecture: i386 +Maintainer: Joe Sixpack <joe@example.org> +Installed-Size: 101 +Filename: pool/newstuff_1.0_i386.deb +Size: 101100 +MD5sum: 311aeeadf78324aaff1ceaf3e1f76671 +SHA1: 3c695e028f7a1ae324deeddaaa1242desa81088c +SHA256: b46fd154615edefab321cc56a5cc0e7deaef23e2da3e4f129727fd660f28f050 +Description: some cool and shiny new stuff + This package will appear in the next mirror update +Description-md5: d5f89fbbc2ac69c43d7e4c9b67d82b6b diff --git a/test/integration/Packages-policy-pinning b/test/integration/Packages-policy-pinning new file mode 100644 index 0000000..a9334e9 --- /dev/null +++ b/test/integration/Packages-policy-pinning @@ -0,0 +1,12 @@ +Package: oldstuff +Version: 1.0 +Architecture: i386 +Maintainer: Joe Sixpack <joe@example.org> +Installed-Size: 100 +Filename: pool/oldstuff_1.0_i386.deb +Size: 100000 +MD5sum: 311aeeadf78324aaff54c9b4e1f76671 +SHA1: 3c695e028f74d5c544deeddaaa1242desa81088c +SHA256: b46fd1546151c545fe4bfa56a5cc0e7deaef23e2da3e4f129727fd660f28f050 +Description: some old but cool stuff + This package will disappear in the next mirror update diff --git a/test/integration/Packages-releasefile-verification b/test/integration/Packages-releasefile-verification new file mode 100644 index 0000000..c013dcb --- /dev/null +++ b/test/integration/Packages-releasefile-verification @@ -0,0 +1,20 @@ +Package: apt +Version: 0.7.25.3 +Architecture: i386 +Maintainer: APT Development Team <deity@lists.debian.org> +Installed-Size: 5244 +Replaces: libapt-pkg-dev (<< 0.3.7), libapt-pkg-doc (<< 0.3.7) +Provides: libapt-pkg-libc6.9-6-4.8 +Suggests: aptitude | synaptic | wajig, dpkg-dev, apt-doc, bzip2, lzma, python-apt +Filename: apt.deb +Size: 3 +MD5sum: 583f72a833c7dfd63c03edba3776247a +SHA256: 5009a047a11fbd680bb40d2f23cd3fcd626ac2d672c38e16f53bd622c3961534 +Description: Advanced front-end for dpkg + This is Debian's next generation front-end for the dpkg package manager. + It provides the apt-get utility and APT dselect method that provides a + simpler, safer way to install and upgrade packages. + . + APT features complete installation ordering, multiple source capability + and several other unique features, see the Users Guide in apt-doc. +Description-md5: d41ee493aa9fcc6cbc9ce4eb7069959c diff --git a/test/integration/Packages-releasefile-verification-new b/test/integration/Packages-releasefile-verification-new new file mode 100644 index 0000000..ca2657f --- /dev/null +++ b/test/integration/Packages-releasefile-verification-new @@ -0,0 +1,23 @@ +Package: apt +Priority: important +Section: admin +Installed-Size: 5672 +Maintainer: APT Development Team <deity@lists.debian.org> +Architecture: i386 +Version: 0.8.0~pre1 +Replaces: manpages-pl (<< 20060617-3~) +Provides: libapt-pkg4.10 +Suggests: aptitude | synaptic | wajig, dpkg-dev, apt-doc, bzip2, lzma, python-apt +Conflicts: python-apt (<< 0.7.93.2~) +Filename: apt.deb +Size: 3 +MD5sum: 583f72a833c7dfd63c03edba3776247a +SHA256: 5009a047a11fbd680bb40d2f23cd3fcd626ac2d672c38e16f53bd622c3961534 +Description: Advanced front-end for dpkg + This is Debian's next generation front-end for the dpkg package manager. + It provides the apt-get utility and APT dselect method that provides a + simpler, safer way to install and upgrade packages. + . + APT features complete installation ordering, multiple source capability + and several other unique features, see the Users Guide in apt-doc. +Description-md5: d41ee493aa9fcc6cbc9ce4eb7069959c diff --git a/test/integration/Packages-ubuntu-bug-614993 b/test/integration/Packages-ubuntu-bug-614993 new file mode 100644 index 0000000..f1d4593 --- /dev/null +++ b/test/integration/Packages-ubuntu-bug-614993 @@ -0,0 +1,1819 @@ +Package: libx11-xcb1 +Priority: optional +Section: libs +Installed-Size: 184 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Source: libx11 +Version: 2:1.3.3-3ubuntu1 +Depends: libc6 (>= 2.2.5), libx11-6 +Conflicts: libx11-6 (<< 2:1.1) +Filename: pool/main/libx/libx11/libx11-xcb1_1.3.3-3ubuntu1_amd64.deb +Size: 90286 +MD5sum: 56c300a1110d9b08ab7760e375724034 +SHA1: 81fd3a089e0141236ac4dd49e98f58d7b6db3af3 +SHA256: 97a7b225bbccc6a64e2264e7ca53bb585e12982e037d26f1b22fae2c79127dc0 +Description: Xlib/XCB interface library + libX11-xcb provides functions needed by clients which take advantage of + Xlib/XCB to mix calls to both Xlib and XCB over the same X connection. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + More information about XCB can be found at: + <URL:http://xcb.freedesktop.org> + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libX11 +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: libxcb-aux0 +Priority: extra +Section: libdevel +Installed-Size: 68 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Julien Danjou <acid@debian.org> +Architecture: amd64 +Source: xcb-util +Version: 0.3.6-1build1 +Depends: libc6 (>= 2.2.5), libxcb1 (>= 0) +Filename: pool/main/x/xcb-util/libxcb-aux0_0.3.6-1build1_amd64.deb +Size: 8962 +MD5sum: a35d570e9231a01ff6de0ec872638787 +SHA1: c551ed6a9b1b6c1d201537b85f4003926aa2833d +SHA256: 047ee120e83adbed4c57ff175e59ca02a772e7d4a5d1d014ff72d6f0da41e9ca +Description: utility libraries for X C Binding -- aux + This package contains the library files needed to run software using + libxcb-aux, providing convenient access to connection setup and some + core requests. + . + The xcb-util module provides a number of libraries which sit on top of + libxcb, the core X protocol library, and some of the extension + libraries. These experimental libraries provide convenience functions + and interfaces which make the raw X protocol more usable. Some of the + libraries also provide client-side code which is not strictly part of + the X protocol but which have traditionally been provided by Xlib. +Homepage: http://xcb.freedesktop.org +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, mythbuntu-frontend, ubuntu-netbook + +Package: libxcb-dri2-0 +Priority: optional +Section: libs +Installed-Size: 68 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: XCB Developers <xcb@lists.freedesktop.org> +Architecture: amd64 +Source: libxcb +Version: 1.6-1 +Depends: libc6 (>= 2.2.5), libxcb1 (>= 0) +Filename: pool/main/libx/libxcb/libxcb-dri2-0_1.6-1_amd64.deb +Size: 10130 +MD5sum: 13f3278d872f700c5e2363cab9feb5db +SHA1: cc51153c443558292604acb98043517075332263 +SHA256: 2fe00f4216eb408b0e70ffd7681b81fc750a242661790c636998dfe5738be05d +Description: X C Binding, dri2 extension + This package contains the library files needed to run software using + libxcb-dri2, the dri2 extension for the X C Binding. + . + The XCB library provides an interface to the X Window System protocol, + designed to replace the Xlib interface. XCB provides several advantages over + Xlib: + . + * Size: small library and lower memory footprint + * Latency hiding: batch several requests and wait for the replies later + * Direct protocol access: one-to-one mapping between interface and protocol + * Thread support: access XCB from multiple threads, with no explicit locking + * Easy creation of new extensions: automatically generates interface from + machine-parsable protocol descriptions +Homepage: http://xcb.freedesktop.org +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + + +Package: libmtdev1 +Priority: optional +Section: libs +Installed-Size: 72 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: mtdev +Version: 1.0.9-0ubuntu1 +Depends: libc6 (>= 2.4) +Filename: pool/main/m/mtdev/libmtdev1_1.0.9-0ubuntu1_amd64.deb +Size: 10980 +MD5sum: 694e8cee8d0d21591fa308ddd1b1e41f +SHA1: 7ea377dec6755a3e659c116a989145609fc7e9a9 +SHA256: 88075b13ad116e38d33c84e63fa5e6195c84df16f4741c4054520618d7f17797 +Description: Multitouch Protocol Translation Library - shared library + libmtdev is a library for translating evdev multitouch events using the legacy + protocol to the new multitouch slots protocol. This is necessary for kernel + drivers that have not been updated to use the newer protocol. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: libutouch-grail1 +Priority: optional +Section: libs +Installed-Size: 84 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: utouch-grail +Version: 1.0.11-0ubuntu1 +Depends: libc6 (>= 2.4), libmtdev1 (>= 1.0.8) +Breaks: libutouch-geis1 (<= 1.0.8), xserver-xorg-input-gevdev (<= 1:2.3.2-6ubuntu1) +Filename: pool/main/u/utouch-grail/libutouch-grail1_1.0.11-0ubuntu1_amd64.deb +Size: 15360 +MD5sum: 210ad74aa06bf676d9ab0200fc2a1d19 +SHA1: 734014bca516535b85b3e3eb5f76734d1dca066a +SHA256: 0905710584348b58ee88f520c874d4d5198b6be38daff8a761ad263b0c350a6a +Description: Gesture Recognition And Instantiation Library + This library consists of an interface and tools for handling gesture + recognition and gesture instantiation. Applications can use the grail + callbacks to receive gesture primitives and raw input events from the + underlying kernel device. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: libdrm-intel1 +Priority: required +Section: libs +Installed-Size: 116 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Source: libdrm +Version: 2.4.21-1ubuntu2 +Depends: libc6 (>= 2.3.4), libdrm2 (>= 2.4.1) +Filename: pool/main/libd/libdrm/libdrm-intel1_2.4.21-1ubuntu2_amd64.deb +Size: 33178 +MD5sum: 2d647434700294708fcaa815bc75ca07 +SHA1: f808f92ca2c86d07e654f92cffe6a806bef53c64 +SHA256: 069eb06161ca6e17d29a8cc67c7eac21c6f935292d4f208e802d595da521566b +Description: Userspace interface to intel-specific kernel DRM services -- runtime + This library implements the userspace interface to the intel-specific kernel + DRM services. DRM stands for "Direct Rendering Manager", which is the + kernelspace portion of the "Direct Rendering Infrastructure" (DRI). The DRI is + currently used on Linux to provide hardware-accelerated OpenGL drivers. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: minimal + +Package: libdrm-nouveau1 +Priority: required +Section: libs +Installed-Size: 96 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Source: libdrm +Version: 2.4.21-1ubuntu2 +Depends: libc6 (>= 2.3.4), libdrm2 (>= 2.4.3) +Breaks: xserver-xorg-video-nouveau (<< 1:0.0.16) +Filename: pool/main/libd/libdrm/libdrm-nouveau1_2.4.21-1ubuntu2_amd64.deb +Size: 22290 +MD5sum: dd13107a609c4ef288aef8e0cf7c6bbe +SHA1: 3c17fcf1421f2585f3b6385eb434f8caa2ee56b8 +SHA256: f02f625b172a871e2c93a01234cb608e2c21ba21a6f76d48fff0dc743156d3a5 +Description: Userspace interface to nouveau-specific kernel DRM services -- runtime + This library implements the userspace interface to the nouveau-specific kernel + DRM services. DRM stands for "Direct Rendering Manager", which is the + kernelspace portion of the "Direct Rendering Infrastructure" (DRI). The DRI is + currently used on Linux to provide hardware-accelerated OpenGL drivers. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: minimal + +Package: libdrm-radeon1 +Priority: required +Section: libs +Installed-Size: 96 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Source: libdrm +Version: 2.4.21-1ubuntu2 +Depends: libc6 (>= 2.3.4), libdrm2 (>= 2.4.3) +Filename: pool/main/libd/libdrm/libdrm-radeon1_2.4.21-1ubuntu2_amd64.deb +Size: 23196 +MD5sum: 7d8c85369e9d9deaaff960715fb8cb5d +SHA1: b39304c4f1cce9c00b2c4e01845cc03760d97ca5 +SHA256: c282a95b5ee4361c3e1fd49cfe5f862ada91a9caa9c338b634aab2b792707800 +Description: Userspace interface to radeon-specific kernel DRM services -- runtime + This library implements the userspace interface to the radeon-specific kernel + DRM services. DRM stands for "Direct Rendering Manager", which is the + kernelspace portion of the "Direct Rendering Infrastructure" (DRI). The DRI is + currently used on Linux to provide hardware-accelerated OpenGL drivers. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: minimal + +Package: libdrm2 +Priority: required +Section: libs +Installed-Size: 120 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Source: libdrm +Version: 2.4.21-1ubuntu2 +Depends: libc6 (>= 2.7) +Filename: pool/main/libd/libdrm/libdrm2_2.4.21-1ubuntu2_amd64.deb +Size: 32386 +MD5sum: a66179dec8fa282a72d323cb85386a0c +SHA1: b06c48d149ad466c4e0c1f316573d8faa2924210 +SHA256: af7beb6b31b54371fdc6ec3c624199b323ac80d5043e4c5931ba1bf740462b10 +Description: Userspace interface to kernel DRM services -- runtime + This library implements the userspace interface to the kernel DRM + services. DRM stands for "Direct Rendering Manager", which is the + kernelspace portion of the "Direct Rendering Infrastructure" (DRI). + The DRI is currently used on Linux to provide hardware-accelerated + OpenGL drivers. + . + This package provides the runtime environment for libdrm. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: minimal + +Package: libxfont1 +Priority: optional +Section: libs +Installed-Size: 332 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Source: libxfont +Version: 1:1.4.2-1 +Depends: libbz2-1.0, libc6 (>= 2.4), libfontenc1, libfreetype6 (>= 2.2.1), zlib1g (>= 1:1.1.4) +Conflicts: xprint (<< 2:1.6.0-1) +Filename: pool/main/libx/libxfont/libxfont1_1.4.2-1_amd64.deb +Size: 156844 +MD5sum: 4ad60ad1f3096f03eabcf30dedb2c2ce +SHA1: 2a1e83c35583fe2f8351783a160326b48c4559b3 +SHA256: 97c121164fdef2e6f7332c27422fc07d2d7b3f137415b3ec3a6083e471f3290e +Description: X11 font rasterisation library + libXfont provides various services for X servers, most notably font + selection and rasterisation (through external libraries). + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libXfont +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, eucalyptus-cloud, eucalyptus-storage, print-server, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-common +Priority: optional +Section: x11 +Installed-Size: 176 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: all +Source: xorg-server +Version: 2:1.9.0-0ubuntu2 +Replaces: xserver-xorg-core (<< 2:1.5.2) +Depends: x11-common, xkb-data, x11-xkb-utils +Recommends: xfonts-base, xauth +Filename: pool/main/x/xorg-server/xserver-common_1.9.0-0ubuntu2_all.deb +Size: 86390 +MD5sum: 278a92c5c0b5dc2189ab7b7493b69add +SHA1: 46734bd7889084fe8a296ac50ed6c81bbdcb322a +SHA256: f2757c722684626f21b638fe8de2347c3a4ce5e686af5d6ab38a8e12755762b1 +Description: common files used by various X servers + This package provides files necessary for all X.Org based X servers. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xephyr +Priority: optional +Section: x11 +Installed-Size: 2164 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Source: xorg-server +Version: 2:1.9.0-0ubuntu2 +Depends: xserver-common (>= 2:1.9.0-0ubuntu2), libc6 (>= 2.4), libdrm2 (>= 2.3.1), libgcrypt11 (>= 1.4.2), libgl1-mesa-glx | libgl1, libpixman-1-0 (>= 0.15.16), libx11-6, libxau6, libxdmcp6, libxext6, libxfont1 (>= 1:1.4.2), libxv1 +Recommends: libgl1-mesa-dri (>= 7.1~rc1) +Filename: pool/main/x/xorg-server/xserver-xephyr_1.9.0-0ubuntu2_amd64.deb +Size: 1005784 +MD5sum: 93f42d8e5a4ccaac790908d9490aff49 +SHA1: 8c657f7ed9a5fea1bc72c341d690f89f7b2be852 +SHA256: 6ab0c82b3082bf3acfc9b54f63dbb472c55ca69b1dab06fc27e34ffd145c3881 +Description: nested X server + Xephyr is an X server that can be run inside another X server, + much like Xnest. It is based on the kdrive X server, and as a + result it supports newer extensions than Xnest, including render and + composite. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xserver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: edubuntu-desktop-gnome + +Package: xserver-xorg +Priority: optional +Section: x11 +Installed-Size: 180 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Source: xorg +Version: 1:7.5+6ubuntu3 +Replaces: x11-common (<< 1:7.3+11), xserver-common (<< 7) +Depends: xserver-xorg-core (>= 2:1.8.99.905), xserver-xorg-video-all | xserver-xorg-video-8, xserver-xorg-input-all | xserver-xorg-input-11, xserver-xorg-input-evdev, libc6 (>= 2.7), xkb-data (>= 1.4), x11-xkb-utils, console-setup +Recommends: libgl1-mesa-dri +Conflicts: x11-common (<< 1:7.3+11), xserver-common (<< 7), xserver-xfree86 (<< 6.8.2.dfsg.1-1) +Filename: pool/main/x/xorg/xserver-xorg_7.5+6ubuntu3_amd64.deb +Size: 20560 +MD5sum: 5f4f0c969d2758cee7ce5244917df903 +SHA1: 58290e5672b6e3223dc63db33b3196d3eaa44df6 +SHA256: 35b04c220fe1b76f52fca42bb97abeed2c9e8554ff280e42f7c4ad3017985632 +Description: the X.Org X server + This package depends on the full suite of the server and drivers for the + X.Org X server. It does not provide the actual server itself. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-core +Priority: optional +Section: x11 +Installed-Size: 4108 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Source: xorg-server +Version: 2:1.9.0-0ubuntu2 +Provides: xorg-input-abi-11.0, xorg-video-abi-8.0, xserver +Depends: xserver-common (>= 2:1.9.0-0ubuntu2), xserver-xorg, udev (>= 149), libc6 (>= 2.7), libdrm2 (>= 2.3.1), libgcrypt11 (>= 1.4.2), libpciaccess0 (>= 0.10.7), libpixman-1-0 (>= 0.15.16), libudev0 (>= 147), libxau6, libxdmcp6, libxfont1 (>= 1:1.4.2) +Recommends: libgl1-mesa-dri (>= 7.1~rc1) +Suggests: xfonts-100dpi | xfonts-75dpi, xfonts-scalable +Breaks: xserver-xorg-input, xserver-xorg-input-2, xserver-xorg-input-2.1, xserver-xorg-input-4, xserver-xorg-input-7, xserver-xorg-input-joystick (<= 1:1.5.0-3), xserver-xorg-input-synaptics (<= 1.2.2-1ubuntu4), xserver-xorg-input-tslib (<= 0.0.6-3), xserver-xorg-input-vmmouse (<= 1:12.6.5-4ubuntu2), xserver-xorg-input-wacom (<< 0.7.8), xserver-xorg-video, xserver-xorg-video-1.0, xserver-xorg-video-1.9, xserver-xorg-video-2, xserver-xorg-video-4, xserver-xorg-video-5, xserver-xorg-video-6 +Filename: pool/main/x/xorg-server/xserver-xorg-core_1.9.0-0ubuntu2_amd64.deb +Size: 1722082 +MD5sum: 22b1e5dcaa5a40520eb1c76996acde89 +SHA1: 26d0082a04d7c30791a8535643c08bd66cc71085 +SHA256: 073eacfdf298a76287cf9676212ac94eda9a2f7c9c1b62fc9ced3e110c06e88d +Description: Xorg X server - core server + The Xorg X server is an X server for several architectures and operating + systems, which is derived from the XFree86 4.x series of X servers. + . + The Xorg server supports most modern graphics hardware from most vendors, + and supersedes all XFree86 X servers. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xserver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-core-dbg +Priority: extra +Section: x11 +Installed-Size: 17404 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Source: xorg-server +Version: 2:1.9.0-0ubuntu2 +Depends: xserver-xorg-core (= 2:1.9.0-0ubuntu2) +Filename: pool/main/x/xorg-server/xserver-xorg-core-dbg_1.9.0-0ubuntu2_amd64.deb +Size: 6305640 +MD5sum: fe080ab7fa64b8dc8446b6fe82af196d +SHA1: ae450cf592342969903a42792d07914d2717f8dd +SHA256: fd4007f1de919f1ed8f9e8bfe0235bdbbe14e3ba78bf3cd010f43d1c64a83d50 +Description: Xorg - the X.Org X server (debugging symbols) + The Xorg X server is an X server for several architectures and operating + systems, which is derived from the XFree86 4.x series of X servers. + . + The Xorg server supports most modern graphics hardware from most vendors, + and supersedes all XFree86 X servers. + . + This package provides debugging symbols for the Xorg X server and associated + modules. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m + +Package: xserver-xorg-dev +Priority: optional +Section: x11 +Installed-Size: 1632 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Source: xorg-server +Version: 2:1.9.0-0ubuntu2 +Depends: libpixman-1-dev (>= 0.15.20), x11proto-core-dev (>= 7.0.17), x11proto-input-dev (>= 1.9.99.902), x11proto-xext-dev (>= 7.0.99.3), x11proto-video-dev, x11proto-randr-dev (>= 1.2.99.3), x11proto-render-dev (>= 2:0.11), x11proto-dri2-dev (>= 2.3), x11proto-fonts-dev, x11proto-xinerama-dev, x11proto-kb-dev, libxkbfile-dev, libpciaccess-dev +Filename: pool/main/x/xorg-server/xserver-xorg-dev_1.9.0-0ubuntu2_amd64.deb +Size: 315992 +MD5sum: 622dad3611cef47cad83b4a3c82c0a78 +SHA1: 35237aa66771f253e22ab46ed711d7feafc3e284 +SHA256: 94114cc3aa3e9601db43d92df263715c3141922ef04ce1886a56a8842765d5f2 +Description: Xorg X server - development files + This package provides development files for the X.Org ('Xorg') X server. + This is not quite the same as the DDK (Driver Development Kit) from the + XFree86 4.x and X.Org 6.7, 6.8 and 6.9 series of servers; it provides + headers and a pkg-config file for drivers using autotools to build + against. + . + Unless you are developing or building a driver, you probably want + xserver-xorg and/or xserver-xorg-core instead. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xserver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m + +Package: xserver-xorg-input-all +Priority: optional +Section: x11 +Installed-Size: 24 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Source: xorg +Version: 1:7.5+6ubuntu3 +Depends: xserver-xorg-input-evdev, xserver-xorg-input-synaptics, xserver-xorg-input-vmmouse, xserver-xorg-input-wacom, x11-common +Filename: pool/main/x/xorg/xserver-xorg-input-all_7.5+6ubuntu3_amd64.deb +Size: 1014 +MD5sum: 33d323837d8dd94ec2e63b4944316c83 +SHA1: 27b0484d0282b728bd9905115da55548c2884008 +SHA256: 61338a072689a5c1565a1968811c87e370e37facb12f4055b64f8b65e35f48ea +Description: the X.Org X server -- input driver metapackage + This package depends on the full suite of input drivers for the X.Org X server + (Xorg). It does not provide any drivers itself, and may be removed if you wish + to only have certain drivers installed. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-input-evdev +Priority: optional +Section: x11 +Installed-Size: 168 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 1:2.3.2-6ubuntu1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-input-gevdev +Provides: xserver-xorg-input-11 +Depends: libc6 (>= 2.7), libutouch-grail1 (>= 1.0.10), xorg-input-abi-11.0, xserver-xorg-core (>= 2:1.8.99.905-1ubuntu3) +Conflicts: xserver-xorg-input-gevdev +Filename: pool/main/x/xserver-xorg-input-evdev/xserver-xorg-input-evdev_2.3.2-6ubuntu1_amd64.deb +Size: 77602 +MD5sum: aa833ccaa08510e2cf02182157f49be4 +SHA1: 1b35f21aab75e0063a36bca95ecd36e4ca7cd6ef +SHA256: 8d600abfff74e13126c3b61530e782aa9ab88a8aeb0a1eeb42e6ebe2aafe314e +Description: X.Org X server -- evdev input driver + This package provides the driver for input devices using evdev, the Linux + kernel's event delivery mechanism. This driver allows for multiple keyboards + and mice to be treated as separate input devices. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xf86-input-evdev driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-input-evdev-dev +Priority: optional +Section: libdevel +Installed-Size: 64 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: all +Source: xserver-xorg-input-evdev +Version: 1:2.3.2-6ubuntu1 +Filename: pool/main/x/xserver-xorg-input-evdev/xserver-xorg-input-evdev-dev_2.3.2-6ubuntu1_all.deb +Size: 8784 +MD5sum: fa1d8161aa475e16423413110209e183 +SHA1: 6781c1afc65ab072ff3dba19b691dcb2d2d49716 +SHA256: a5f5ec31050ba190900d71527717aff06270fd9b6ee93352df745231fc95147c +Description: X.Org X server -- evdev input driver (development headers) + This package provides the development headers for the evdev input driver + found in xserver-xorg-input-evdev. Non-developers likely have little use + for this package. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xf86-input-evdev driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m + +Package: xserver-xorg-input-mouse +Priority: optional +Section: x11 +Installed-Size: 160 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 1:1.5.0-2build1 +Replaces: xserver-xorg (<< 6.8.2-35) +Provides: xorg-driver-input, xserver-xorg-input-11 +Depends: libc6 (>= 2.7), xorg-input-abi-11.0, xserver-xorg-core (>= 2:1.8.99.904) +Filename: pool/main/x/xserver-xorg-input-mouse/xserver-xorg-input-mouse_1.5.0-2build1_amd64.deb +Size: 56550 +MD5sum: 3a94050557202448e164dc6aa2baa16d +SHA1: 418432ceb03b803619743c0e90b8afd2c050d595 +SHA256: dec2aef614e6481ac91237e6ad43ef4101ab8d0c12af0281419cece33a1fab40 +Description: X.Org X server -- mouse input driver + This package provides the driver for mouse input devices. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xf86-input-mouse driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-input-synaptics +Priority: optional +Section: x11 +Installed-Size: 360 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 1.2.2-2ubuntu3 +Replaces: xfree86-driver-synaptics (<< 0.14.4-2), xorg-driver-synaptics +Provides: xfree86-driver-synaptics, xorg-driver-synaptics, xserver-xorg-input-11 +Depends: udev, libc6 (>= 2.4), libpciaccess0, libpixman-1-0, libx11-6, libxi6 (>= 2:1.2.0), xorg-input-abi-11.0, xserver-xorg-core (>= 2:1.8.99.904) +Suggests: gpointing-device-settings, touchfreeze +Conflicts: xfree86-driver-synaptics (<< 0.14.4-2), xorg-driver-synaptics +Filename: pool/main/x/xserver-xorg-input-synaptics/xserver-xorg-input-synaptics_1.2.2-2ubuntu3_amd64.deb +Size: 157472 +MD5sum: 208387c243ca97b983263f9ad1f997e4 +SHA1: 7c48f093dd3173afac8b7a44729828aad970173c +SHA256: 9dbf323b790342bb5f3642104003acba7c2ce84279fcebfcafe9802cb872dd21 +Description: Synaptics TouchPad driver for X.Org server + This package provides an input driver for the X.Org X server to enable + advanced features of the Synaptics Touchpad including: + . + * Movement with adjustable, non-linear acceleration and speed + * Button events through short touching of the touchpad + * Double-Button events through double short touching of the touchpad + * Dragging through short touching and holding down the finger on the touchpad + * Middle and right button events on the upper and lower corner of the touchpad + * Vertical scrolling (button four and five events) through moving the finger + on the right side of the touchpad + * The up/down button sends button four/five events + * Horizontal scrolling (button six and seven events) through moving the finger + on the lower side of the touchpad + * The multi-buttons send button four/five events, and six/seven events for + horizontal scrolling + * Adjustable finger detection + * Multifinger taps: two finger for middle button and three finger for right + button events. (Needs hardware support. Not all models implement this + feature.) + * Run-time configuration using shared memory. This means you can change + parameter settings without restarting the X server (see synclient(1)). + * It also provides a daemon to disable touchpad while typing at the keyboard + and thus avoid unwanted mouse movements (see syndaemon(1)). +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-input-synaptics-dev +Priority: optional +Section: libdevel +Installed-Size: 76 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: all +Source: xserver-xorg-input-synaptics +Version: 1.2.2-2ubuntu3 +Depends: x11proto-core-dev +Filename: pool/main/x/xserver-xorg-input-synaptics/xserver-xorg-input-synaptics-dev_1.2.2-2ubuntu3_all.deb +Size: 16926 +MD5sum: 96c22d1c68e9037ee97b336edc572869 +SHA1: 8d921f825eaf88f55ca82dcb8271e71c0a3c36da +SHA256: 62879769c7ea06cc3cc4952a3c80175ffd45a0883c661251ef869b4318132e16 +Description: Synaptics TouchPad driver for X.Org server (development headers) + This package contains the development headers for the Synaptics input + driver found in xserver-xorg-input-synaptics. Non-developers likely have + little use for this package. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m + +Package: xserver-xorg-input-vmmouse +Priority: optional +Section: x11 +Installed-Size: 172 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 1:12.6.9-2build1 +Replaces: xserver-xorg (<< 6.8.2-35) +Provides: xserver-xorg-input-11 +Depends: libc6 (>= 2.7), xorg-input-abi-11.0, xserver-xorg-core (>= 2:1.8.99.904), xserver-xorg-input-mouse, udev +Filename: pool/main/x/xserver-xorg-input-vmmouse/xserver-xorg-input-vmmouse_12.6.9-2build1_amd64.deb +Size: 31278 +MD5sum: 3a096dec7240837fec1bcdeece0d3523 +SHA1: 3c881221ccc56d3958d91da676f2ed177a4c31f6 +SHA256: 875498c91b8c3333a3277de41feba8ab9294912604d35aad3b35c3077ed18b5c +Description: X.Org X server -- VMMouse input driver to use with VMWare + This package provides the driver for the X11 vmmouse input device. + . + The VMMouse driver enables support for the special VMMouse protocol + that is provided by VMware virtual machines to give absolute pointer + positioning. + . + The vmmouse driver is capable of falling back to the standard "mouse" + driver if a VMware virtual machine is not detected. This allows for + dual-booting of an operating system from a virtual machine to real hardware + without having to edit xorg.conf every time. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xf86-input-vmmouse driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-input-wacom +Priority: optional +Section: x11 +Installed-Size: 308 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Original-Maintainer: Ron Lee <ron@debian.org> +Architecture: amd64 +Source: xf86-input-wacom +Version: 1:0.10.8-0ubuntu1 +Replaces: wacom-tools (<< 0.10.0) +Provides: xorg-driver-input, xserver-xorg-input-11 +Depends: xorg-input-abi-11.0, xserver-xorg-core (>= 2:1.8.99.904), libc6 (>= 2.7), libx11-6, libxi6 (>= 2:1.2.0) +Suggests: xinput +Conflicts: wacom-tools (<< 0.10.0) +Filename: pool/main/x/xf86-input-wacom/xserver-xorg-input-wacom_0.10.8-0ubuntu1_amd64.deb +Size: 85548 +MD5sum: ac0e00807ae94d5f2f7d23be578abb12 +SHA1: 1c6e1c7c12363517dc956bff94fd3137ccdc9c8f +SHA256: 185bdca5588688037e8f9303dc3011db4b459c15bd57e14610414a7b6cc31178 +Description: X.Org X server -- Wacom input driver + This package provides the X.Org driver for Wacom tablet devices. +Homepage: http://linuxwacom.sf.net +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-all +Priority: optional +Section: x11 +Installed-Size: 24 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Source: xorg +Version: 1:7.5+6ubuntu3 +Replaces: xserver-xorg-driver-all +Depends: xserver-xorg-video-apm, xserver-xorg-video-ark, xserver-xorg-video-ati, xserver-xorg-video-chips, xserver-xorg-video-cirrus, xserver-xorg-video-fbdev, xserver-xorg-video-i128, xserver-xorg-video-intel, xserver-xorg-video-mga, xserver-xorg-video-neomagic, xserver-xorg-video-nouveau, xserver-xorg-video-nv, xserver-xorg-video-rendition, xserver-xorg-video-s3, xserver-xorg-video-s3virge, xserver-xorg-video-savage, xserver-xorg-video-siliconmotion, xserver-xorg-video-sis, xserver-xorg-video-sisusb, xserver-xorg-video-tdfx, xserver-xorg-video-trident, xserver-xorg-video-tseng, xserver-xorg-video-vesa, xserver-xorg-video-openchrome, xserver-xorg-video-voodoo, xserver-xorg-video-vmware, x11-common +Conflicts: xserver-xorg-driver-all +Filename: pool/main/x/xorg/xserver-xorg-video-all_7.5+6ubuntu3_amd64.deb +Size: 1146 +MD5sum: f7bc46f83b91857efd62086ccce6e137 +SHA1: 19b30dfd8e98e0dd16921f3715ecc2c4bfef15c0 +SHA256: b70a091c6960244112c79f6ddf7ada8715b316da2b3df7931df86d3234893b08 +Description: the X.Org X server -- output driver metapackage + This package depends on the full suite of output drivers for the X.Org X server + (Xorg). It does not provide any drivers itself, and may be removed if you wish + to only have certain drivers installed. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-apm +Priority: optional +Section: x11 +Installed-Size: 220 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 1:1.2.3-0ubuntu1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-apm +Provides: xorg-driver-video, xserver-xorg-video-8 +Depends: libc6 (>= 2.4), xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.904) +Conflicts: xserver-xorg-driver-apm +Filename: pool/main/x/xserver-xorg-video-apm/xserver-xorg-video-apm_1.2.3-0ubuntu1_amd64.deb +Size: 75166 +MD5sum: d681c49714651d631bfdce3c8f8b4876 +SHA1: db29d20c5beb03f26d8fd0d0ff3bf6ad984fcde8 +SHA256: 0d0c328570db8eee1445bbd83848a7f7be1c4ef31be629b273758f027347c910 +Description: X.Org X server -- APM display driver + This package provides the driver for the Alliance Pro Motion family + of video cards; specifically, the 6420, 6422, AT24, AT25, and AT3D + cards. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xf86-video-apm driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-ark +Priority: optional +Section: x11 +Installed-Size: 84 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 1:0.7.2-2build2 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-ark +Provides: xorg-driver-video, xserver-xorg-video-8 +Depends: libc6 (>= 2.2.5), xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.904) +Conflicts: xserver-xorg-driver-ark +Filename: pool/main/x/xserver-xorg-video-ark/xserver-xorg-video-ark_0.7.2-2build2_amd64.deb +Size: 18056 +MD5sum: 2805bc3e42b20b9212e8c2d3e904c8d1 +SHA1: bbdc07c1f02e15ccd22414dc5e6c2f3e389f7427 +SHA256: 683b9c5d142d4a9b21cf3a0a930cddf5ad59b5cff91a134728c9cfd74aabbfd5 +Description: X.Org X server -- ark display driver + This package provides the driver for the ark family + of chipsets. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-ark driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-ati +Priority: optional +Section: x11 +Installed-Size: 100 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 1:6.13.1-1ubuntu4 +Provides: xorg-driver-video, xserver-xorg-video-8 +Depends: libc6 (>= 2.2.5), libpciaccess0, xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.905-1ubuntu3), xserver-xorg-video-r128, xserver-xorg-video-mach64, xserver-xorg-video-radeon +Filename: pool/main/x/xserver-xorg-video-ati/xserver-xorg-video-ati_6.13.1-1ubuntu4_amd64.deb +Size: 21368 +MD5sum: 91f93ce4df4bc83846763a00ef3c51dc +SHA1: 47ff08c9ed28c3e3275b0710e373b95608f831a0 +SHA256: 87e558ebd7b1214425eaa4a3afed11a86c39058fee5d19bd19b1ea0f72ff6090 +Description: X.Org X server -- AMD/ATI display driver wrapper + This package provides the 'ati' driver for the AMD/ATI Mach64, Rage128, + Radeon, FireGL, FireMV, FirePro and FireStream series. This driver is + actually a wrapper that loads one of the 'mach64', 'r128' or 'radeon' + sub-drivers depending on the hardware. + These sub-drivers are brought through package dependencies. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xf86-video-ati driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-ati-dbg +Priority: extra +Section: x11 +Installed-Size: 96 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Source: xserver-xorg-video-ati +Version: 1:6.13.1-1ubuntu4 +Depends: xserver-xorg-video-ati (= 1:6.13.1-1ubuntu4), xserver-xorg-video-mach64-dbg, xserver-xorg-video-r128-dbg, xserver-xorg-video-radeon-dbg +Filename: pool/main/x/xserver-xorg-video-ati/xserver-xorg-video-ati-dbg_6.13.1-1ubuntu4_amd64.deb +Size: 25140 +MD5sum: 79ca46474fe815bc58ade6149c5213f0 +SHA1: 741ef65d6beb94f49213432bfb82dbfeeb70a375 +SHA256: 67c0f463dd9357578395832db8e432344d1639df41f6c80b010acb75b0af998b +Description: X.Org X server -- AMD/ATI display driver wrapper (debugging symbols) + This package provides the 'ati' driver for the AMD/ATI Mach64, Rage128, + Radeon, FireGL, FireMV, FirePro and FireStream series. This driver is + actually a wrapper that loads one of the 'mach64', 'r128' or 'radeon' + sub-drivers depending on the hardware. + These sub-drivers are brought through package dependencies. + . + This package provides debugging symbols for this X.org X driver wrapper + and brings debugging symbols for sub-drivers through package dependencies. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m + +Package: xserver-xorg-video-chips +Priority: optional +Section: x11 +Installed-Size: 236 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 1:1.2.3-1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-chips +Provides: xorg-driver-video, xserver-xorg-video-8 +Depends: libc6 (>= 2.2.5), xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.904) +Conflicts: xserver-xorg-driver-chips +Filename: pool/main/x/xserver-xorg-video-chips/xserver-xorg-video-chips_1.2.3-1_amd64.deb +Size: 84812 +MD5sum: 6b6abc6c3922bda0d0c35d24ebbb2edd +SHA1: 92f73bb35f9f1e22d558c19c7de7c8388abf3702 +SHA256: 6f5dfd337a75db61a82704edbfadd063bce55970f7cfcb875d022d217ed76d09 +Description: X.Org X server -- Chips display driver + This package provides the driver for the Chips & Technologies family + of video cards. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xf86-video-chips driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-cirrus +Priority: optional +Section: x11 +Installed-Size: 164 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 1:1.3.2-2ubuntu3 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-cirrus +Provides: xorg-driver-video, xserver-xorg-video-8 +Depends: libc6 (>= 2.4), xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.904) +Conflicts: xserver-xorg-driver-cirrus +Filename: pool/main/x/xserver-xorg-video-cirrus/xserver-xorg-video-cirrus_1.3.2-2ubuntu3_amd64.deb +Size: 48284 +MD5sum: b206bde81987c40ec2acefafe1d02151 +SHA1: cc2cd0482c1f002901645d52955a64790af677e6 +SHA256: 9c763caf29269b89b60ccd2c338fb282ee035447930366dca03461a9cc95911a +Description: X.Org X server -- Cirrus display driver + This package provides the driver for the Cirrus Logic family of video + cards. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xf86-video-cirrus driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-fbdev +Priority: optional +Section: x11 +Installed-Size: 100 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 1:0.4.2-2ubuntu2 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-fbdev +Provides: xorg-driver-video, xserver-xorg-video-8 +Depends: libc6 (>= 2.2.5), xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.904) +Conflicts: xserver-xorg-driver-fbdev +Filename: pool/main/x/xserver-xorg-video-fbdev/xserver-xorg-video-fbdev_0.4.2-2ubuntu2_amd64.deb +Size: 22766 +MD5sum: c3595fdebc8771a1c1bb46c8ad703204 +SHA1: e6702adf49e636fe1afdecde9734525e39510367 +SHA256: fe8739839a641e80a688ee08c01a9fde82ece14bdde22fcd8d5b2bbed60aa49e +Description: X.Org X server -- fbdev display driver + This package provides the driver for the Linux framebuffer device (aka + 'fbdev'). + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xf86-video-fbdev driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-i128 +Priority: optional +Section: x11 +Installed-Size: 140 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 1:1.3.3-2build2 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-i128 +Provides: xorg-driver-video, xserver-xorg-video-8 +Depends: libc6 (>= 2.4), xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.904) +Conflicts: xserver-xorg-driver-i128 +Filename: pool/main/x/xserver-xorg-video-i128/xserver-xorg-video-i128_1.3.3-2build2_amd64.deb +Size: 35928 +MD5sum: 92cdb3768406395d7dc38c8d5254a24b +SHA1: 4dd5b6fab1bec5e81d84d42f03286518fbbb603f +SHA256: c79f25b4fd0d7e0a731ae32eb1ac376c32a5bf297d96024cc82aee7669e05cbc +Description: X.Org X server -- i128 display driver + This package provides the driver for Number 9 Imagine (I128) video cards. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-i128 driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-i740 +Priority: optional +Section: x11 +Installed-Size: 132 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 1:1.3.2-2build1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-i740 +Provides: xorg-driver-video, xserver-xorg-video-8 +Depends: libc6 (>= 2.3.4), xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.904) +Conflicts: xserver-xorg-driver-i740 +Filename: pool/main/x/xserver-xorg-video-i740/xserver-xorg-video-i740_1.3.2-2build1_amd64.deb +Size: 33110 +MD5sum: affdf50d2cb8d927caa1458a00167a04 +SHA1: 72ad34b92111061f3e1c2d9e5e1b2ab5030419e8 +SHA256: a9d0cd04ba1b145ae345d396e8113c5ba9391662e53928407727ab9886cb6083 +Description: X.Org X server -- i740 display driver + This package provides the driver for the Intel i740 family of video chipsets. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xf86-video-i740 driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m + +Package: xserver-xorg-video-intel +Priority: optional +Section: x11 +Installed-Size: 1020 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 2:2.12.0-1ubuntu3 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-i810, xserver-xorg-video-i810 (<< 2:1.9.91-1), xserver-xorg-video-i810-modesetting, xserver-xorg-video-intel-modesetting +Provides: xorg-driver-video, xserver-xorg-video-8 +Depends: libc6 (>= 2.4), libdrm-intel1 (>= 2.4.21), libdrm2 (>= 2.4.17), libpciaccess0 (>= 0.8.0+git20071002), libx11-6, libx11-xcb1, libxcb-aux0 (>= 0.3.6), libxcb-dri2-0, libxcb1, libxext6, libxfixes3 (>= 1:4.0.1), libxv1, libxvmc1, xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.904) +Recommends: intel-gpu-tools +Conflicts: 915resolution, xserver-xorg-driver-i810, xserver-xorg-video-i810 (<< 2:1.9.91-1), xserver-xorg-video-i810-modesetting, xserver-xorg-video-intel-modesetting +Filename: pool/main/x/xserver-xorg-video-intel/xserver-xorg-video-intel_2.12.0-1ubuntu3_amd64.deb +Size: 263918 +MD5sum: 982a8ed2c2b4499d6515cbd0ed345d4c +SHA1: 0a364cdb73efc9229517d4f15c8fd2e07d81d76b +SHA256: 570204fc03af24bdb3a5ed733b85575e519060719807d0f841c02d619b5041b6 +Description: X.Org X server -- Intel i8xx, i9xx display driver + This package provides the driver for the Intel i8xx and i9xx family + of chipsets, including i810, i815, i830, i845, i855, i865, i915, i945 + and i965 series chips. + . + This package also provides XvMC (XVideo Motion Compensation) drivers + for i810/i815 and i9xx and newer chipsets. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xf86-video-intel driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-intel-dbg +Priority: extra +Section: x11 +Installed-Size: 2012 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Source: xserver-xorg-video-intel +Version: 2:2.12.0-1ubuntu3 +Depends: xserver-xorg-video-intel (= 2:2.12.0-1ubuntu3) +Recommends: intel-gpu-tools +Filename: pool/main/x/xserver-xorg-video-intel/xserver-xorg-video-intel-dbg_2.12.0-1ubuntu3_amd64.deb +Size: 852222 +MD5sum: 1e2b9de8e535a1e79e28c0b365530054 +SHA1: e62911adc3695e111d21f152ee5d443f3388191d +SHA256: ec72365988119977ae92c7ed651773a2d46db2654e645b3bd9f4d894b0cc9230 +Description: X.Org X server -- Intel i8xx, i9xx display driver (debug symbols) + This driver provides support for the Intel i8xx and i9xx family of chipsets, + including i810, i815, i830, i845, i855, i865, i915, and i945 series chips. + . + This package provides debugging symbols for this Xorg X driver. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m + +Package: xserver-xorg-video-mach64 +Priority: optional +Section: x11 +Installed-Size: 388 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 6.8.2-3build2 +Replaces: xserver-xorg-video-ati (<= 1:6.8.0-1) +Provides: xorg-driver-video, xserver-xorg-video-8 +Depends: libc6 (>= 2.4), xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.904) +Conflicts: xserver-xorg-video-ati (<= 1:6.8.0-1) +Filename: pool/main/x/xserver-xorg-video-mach64/xserver-xorg-video-mach64_6.8.2-3build2_amd64.deb +Size: 212368 +MD5sum: 293e572c7b07db7242cc3c90053ae082 +SHA1: 18236fb1abc2d6077ea9e9c2a60d0a7c7faa7723 +SHA256: 6f9f3276cdc916e4808db47b61d93ef8ff1f60f4f0bc95521446d2d448018f14 +Description: X.Org X server -- ATI Mach64 display driver + This driver for the X.Org X server (see xserver-xorg for a further description) + provides support for the ATI Mach64 series. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xf86-video-mach64 driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-mach64-dbg +Priority: extra +Section: x11 +Installed-Size: 1916 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Source: xserver-xorg-video-mach64 +Version: 6.8.2-3build2 +Depends: xserver-xorg-video-mach64 (= 6.8.2-3build2) +Filename: pool/main/x/xserver-xorg-video-mach64/xserver-xorg-video-mach64-dbg_6.8.2-3build2_amd64.deb +Size: 949534 +MD5sum: 13879b58283b1afc6760cd9fe90dd1e1 +SHA1: 81fc81d66378f12d7e98cbd1fb82ead8ac22217f +SHA256: ac66a5f2d697a533727a95d07bafe0416053af8815786c4e10fa2e1479887586 +Description: X.Org X server -- ATI display driver (debugging symbols) + This driver for the X.Org X server (see xserver-xorg for a further description) + provides support for the ATI Mach64 series. + . + This package provides debugging symbols for the Xorg X server ATI Mach64 + display driver. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m + +Package: xserver-xorg-video-mga +Priority: optional +Section: x11 +Installed-Size: 284 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 1:1.4.11.dfsg-4build1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-mga +Provides: xorg-driver-video, xserver-xorg-video-8 +Depends: libc6 (>= 2.7), xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.904) +Suggests: firmware-linux +Conflicts: xserver-xorg-driver-mga +Filename: pool/main/x/xserver-xorg-video-mga/xserver-xorg-video-mga_1.4.11.dfsg-4build1_amd64.deb +Size: 116770 +MD5sum: e7aad613e6d8566daee31386aaba9409 +SHA1: 7c9cdddc5eb80d338164e5c5c34337d82b9ca687 +SHA256: a7a02db1b18fb648cbe723666705128b912f97c12b0d471049f2b841ea248077 +Description: X.Org X server -- MGA display driver + This package provides the driver for the Matrox MGA family of chipsets, + including Matrox Millennium and Mystique cards. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xf86-video-mga driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-neomagic +Priority: optional +Section: x11 +Installed-Size: 156 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 1:1.2.4-3build2 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-neomagic +Provides: xorg-driver-video, xserver-xorg-video-8 +Depends: libc6 (>= 2.2.5), xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.904) +Conflicts: xserver-xorg-driver-neomagic +Filename: pool/main/x/xserver-xorg-video-neomagic/xserver-xorg-video-neomagic_1.2.4-3build2_amd64.deb +Size: 46042 +MD5sum: 883c95770dec8473fc44f0560937bde6 +SHA1: 47add4ef96ffcd0eab086fb5c09412e769088ae3 +SHA256: f560066d2d7de1ba74b71382169f6a2402308822f1a07fbc5bbad30a3b99d846 +Description: X.Org X server -- Neomagic display driver + This package provides the driver for Neomagic MagicGraph chipsets, which are + commonly found in laptops. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-neomagic driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-nouveau +Priority: optional +Section: x11 +Installed-Size: 304 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 1:0.0.16+git20100805+b96170a-0ubuntu1 +Provides: xorg-driver-video, xserver-xorg-video-8 +Depends: libc6 (>= 2.4), libdrm-nouveau1 (>= 2.4.20-3~), libudev0 (>= 147), xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.904) +Filename: pool/main/x/xserver-xorg-video-nouveau/xserver-xorg-video-nouveau_0.0.16+git20100805+b96170a-0ubuntu1_amd64.deb +Size: 113304 +MD5sum: ade4a7afa72b9bfcea0cdaee5d18472e +SHA1: f1cd5716bc00ffb0e55897a7aa9047a7537b9f42 +SHA256: 3f8a7eda416f6324495a74a04f3868a1251a1a4caa8ec002421adc0ec31268dc +Description: X.Org X server -- Nouveau display driver (experimental) + This driver for the X.Org X server (see xserver-xorg for a further description) + provides support for NVIDIA Riva, TNT, GeForce, and Quadro cards. + . + Although the nouveau project aims to provide full 3D support it is not yet + complete, and these packages do not include any 3D support. + Users requiring 3D support should use the non-free "nvidia" driver. + . + This package is built from the FreeDesktop.org xf86-video-nouveau driver. +Homepage: http://nouveau.freedesktop.org/wiki/ +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-nouveau-dbg +Priority: extra +Section: debug +Installed-Size: 1252 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Source: xserver-xorg-video-nouveau +Version: 1:0.0.16+git20100805+b96170a-0ubuntu1 +Depends: xserver-xorg-video-nouveau (= 1:0.0.16+git20100805+b96170a-0ubuntu1) +Filename: pool/main/x/xserver-xorg-video-nouveau/xserver-xorg-video-nouveau-dbg_0.0.16+git20100805+b96170a-0ubuntu1_amd64.deb +Size: 522694 +MD5sum: d50e53f1832e2acd58ad5adc7c324a5a +SHA1: 774ad386ef1cff56b346cde3b4c99d10f2bf2f93 +SHA256: 0e910561ac3913123fbaf1b8223f01d30c251138e7ba483e5ab77eb436988173 +Description: X.Org X server -- Nouveau display driver (debug symbols) + This driver for the X.Org X server (see xserver-xorg for a further description) + provides support for NVIDIA Riva, TNT, GeForce, and Quadro cards. + . + Although the nouveau project aims to provide full 3D support it is not yet + complete, and these packages do not include any 3D support. + Users requiring 3D support should use the non-free "nvidia" driver. + . + This package provides debugging symbols for this Xorg X driver. +Homepage: http://nouveau.freedesktop.org/wiki/ +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m + +Package: xserver-xorg-video-nv +Priority: optional +Section: x11 +Installed-Size: 288 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 1:2.1.17-3ubuntu3 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-nv, xserver-xorg-video-riva128 +Provides: xf86-video-driver-riva128, xserver-xorg-video-8 +Depends: libc6 (>= 2.4), libdrm2 (>= 2.4.3), libpciaccess0 (>= 0.8.0+git20071002), xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.904) +Conflicts: xserver-xorg-driver-nv, xserver-xorg-video-riva128 +Filename: pool/main/x/xserver-xorg-video-nv/xserver-xorg-video-nv_2.1.17-3ubuntu3_amd64.deb +Size: 117648 +MD5sum: a04ed6409ff5fd3fb7beb30d922bb046 +SHA1: e817cab78e016a3c585ea77cb45f6de6b77a743a +SHA256: 20a3fec830cf7ccafa31daf06a998fa550ed909359c4cf1f9590bd634030566e +Description: X.Org X server -- NV display driver + This driver for the X.Org X server (see xserver-xorg for a further description) + provides support for NVIDIA Riva, TNT, GeForce, and Quadro cards. + . + Note that this is not the same as the binary-only 'nvidia' driver, which + adds 3D support, but is binary-only and not supported. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xf86-video-nv driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-openchrome +Priority: optional +Section: x11 +Installed-Size: 572 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 1:0.2.904+svn842-0ubuntu1 +Replaces: libchromexvmc1, libchromexvmcpro1 +Provides: xorg-driver-video, xserver-xorg-video-8 +Depends: libc6 (>= 2.4), libdrm2 (>= 2.3.1), libx11-6, libxext6, libxv1, libxvmc1, xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.904) +Conflicts: libchromexvmc1, libchromexvmcpro1 +Filename: pool/main/x/xserver-xorg-video-openchrome/xserver-xorg-video-openchrome_0.2.904+svn842-0ubuntu1_amd64.deb +Size: 195642 +MD5sum: 6b7ba8d6cea0d091c85c8677f57711df +SHA1: 8aa58956d76f4177b30a64c2e36ad379371f3e93 +SHA256: 31476e9de3305a4c069f922a452be791f0ae8f015407125f8c09eeb6eebca0aa +Description: X.Org X server -- VIA display driver + OpenChrome is a project for the development of free and open-source drivers + for the VIA UniChrome video chipsets. + . + Originally called the 'snapshot' release, since it was a snapshot of an + experimental branch of the unichrome cvs code, this is a continued development + of the open source unichrome driver (from http://unichrome.sf.net) which + also incorporates support for the unichrome-pro chipsets. + . + Support for hardware acceleration (XvMC) for all chipsets has subsequently + been ripped out of the unichrome.sf.net driver. Therefore your only option if + you wish to make use of the acceleration features of your VIA chip with free + and open-source drivers is to use this version of the driver. +Homepage: http://www.openchrome.org +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-r128 +Priority: optional +Section: x11 +Installed-Size: 320 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 6.8.1-3build1 +Replaces: xserver-xorg-video-ati (<= 1:6.8.0-1) +Provides: xorg-driver-video, xserver-xorg-video-8 +Depends: libc6 (>= 2.7), xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.904) +Suggests: firmware-linux +Conflicts: xserver-xorg-video-ati (<= 1:6.8.0-1) +Filename: pool/main/x/xserver-xorg-video-r128/xserver-xorg-video-r128_6.8.1-3build1_amd64.deb +Size: 179372 +MD5sum: bb1ced7f07b0df67f771005e2c778eb4 +SHA1: 622c864794e968edab180a122b7b158e0b8643b2 +SHA256: b3361b85020d8be4c3354872882c42debdc8d00a95a5ba6512c6418582334ae6 +Description: X.Org X server -- ATI r128 display driver + This driver for the X.Org X server (see xserver-xorg for a further description) + provides support for the ATI Rage 'r128' series. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xf86-video-r128 driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-r128-dbg +Priority: extra +Section: x11 +Installed-Size: 644 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Source: xserver-xorg-video-r128 +Version: 6.8.1-3build1 +Depends: xserver-xorg-video-r128 (= 6.8.1-3build1) +Filename: pool/main/x/xserver-xorg-video-r128/xserver-xorg-video-r128-dbg_6.8.1-3build1_amd64.deb +Size: 331644 +MD5sum: 53ba42b5e97d8ae41a1d0d28cbd9d737 +SHA1: 69d657096949d9028c2226e8af5facba4e7cf046 +SHA256: 2976cecbb0ad4f2837c801d3e5ef1791bf25743d7c5724e901538820aca6c64e +Description: X.Org X server -- ATI r128 display driver (debugging symbols) + This driver for the X.Org X server (see xserver-xorg for a further description) + provides support for the ATI Rage 'r128' series. + . + This package provides debugging symbols for the Xorg X server ATI r128 + display driver. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m + +Package: xserver-xorg-video-radeon +Priority: optional +Section: x11 +Installed-Size: 1336 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Source: xserver-xorg-video-ati +Version: 1:6.13.1-1ubuntu4 +Replaces: xserver-xorg-video-ati (<= 1:6.8.191-1) +Provides: xorg-driver-video, xserver-xorg-video-8 +Depends: libc6 (>= 2.7), libdrm-radeon1 (>= 2.4.17), libdrm2 (>= 2.4.16), libpciaccess0 (>= 0.10.2), libpixman-1-0, libudev0 (>= 147), xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.905-1ubuntu3) +Suggests: firmware-linux +Filename: pool/main/x/xserver-xorg-video-ati/xserver-xorg-video-radeon_6.13.1-1ubuntu4_amd64.deb +Size: 446340 +MD5sum: 5cbd60724971234d437d66152bd6f53d +SHA1: 001f849426d1a04ce69ead3311ad72fa8a218223 +SHA256: b8ff48845a3c7ff814e3d3bd80e61d0c26d79deb8cde03f38462eb0be60060ab +Description: X.Org X server -- AMD/ATI Radeon display driver + This package provides the 'radeon' driver for the AMD/ATI Radeon, FireGL, + FireMV, FirePro and FireStream series. + . + Note that this is not the same as the ATI-provided, binary-only, 'fglrx' + driver, which provides additional 3D functionality for some newer Radeon + cards, but is not supported. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xf86-video-ati driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-radeon-dbg +Priority: extra +Section: x11 +Installed-Size: 3636 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Source: xserver-xorg-video-ati +Version: 1:6.13.1-1ubuntu4 +Replaces: xserver-xorg-video-ati-dbg (<= 1:6.8.191-1) +Depends: xserver-xorg-video-radeon (= 1:6.13.1-1ubuntu4) +Filename: pool/main/x/xserver-xorg-video-ati/xserver-xorg-video-radeon-dbg_6.13.1-1ubuntu4_amd64.deb +Size: 1622426 +MD5sum: 578f8055b90f4fffb4470536d0ee3816 +SHA1: ba25bf44d4db7e252452657beb9815fe498dc34b +SHA256: 318952ff7e6ee96d41736388ba0aaab4c50de8faecb5263c7290ee761a926248 +Description: X.Org X server -- AMD/ATI Radeon display driver (debugging symbols) + This package provides the 'radeon' driver for the AMD/ATI Radeon, FireGL, + FireMV, FirePro and FireStream series. + . + This package provides debugging symbols for this X.org X driver. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m + +Package: xserver-xorg-video-rendition +Priority: optional +Section: x11 +Installed-Size: 116 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 1:4.2.4-0ubuntu1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-rendition +Provides: xorg-driver-video, xserver-xorg-video-8 +Depends: libc6 (>= 2.4), xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.904) +Conflicts: xserver-xorg-driver-rendition +Filename: pool/main/x/xserver-xorg-video-rendition/xserver-xorg-video-rendition_4.2.4-0ubuntu1_amd64.deb +Size: 32006 +MD5sum: 040f0b377d623d40fd33d3befcb12e77 +SHA1: a76e9747761a5225808bf96fcefdb0196d7c2540 +SHA256: 227537a5f5635d56e1b28f5455dda40ec01fbda04e67a6aab956cb455046dc16 +Description: X.Org X server -- Rendition display driver + This package provides the driver for the Rendition Verite family of chipsets, + commonly found in 3D accelerators such as the Creative 3D Blaster. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xf86-video-rendition driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-s3 +Priority: optional +Section: x11 +Installed-Size: 148 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 1:0.6.3-2build2 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-s3 +Provides: xorg-driver-video, xserver-xorg-video-8 +Depends: libc6 (>= 2.2.5), xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.904) +Conflicts: xserver-xorg-driver-s3 +Filename: pool/main/x/xserver-xorg-video-s3/xserver-xorg-video-s3_0.6.3-2build2_amd64.deb +Size: 43636 +MD5sum: 0318e0c20f32816e993115dcc15a9b6b +SHA1: ff75f22d1054d73260f0968fd22ff978be6b215a +SHA256: 04ccbe465f03732a9a30d80527dada04197035d2cde298e1dbc13bc2dc57f57e +Description: X.Org X server -- legacy S3 display driver + This package provides the driver for certain legacy S3 video card chipsets, + including the Trio64 and 96x cards. It does not provide support for + ViRGE/Trio3D or Savage chipsets; support for these cards is provided by + xserver-xorg-video-s3virge and xserver-xorg-driver-savage, respectively. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xf86-video-s3 driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-s3virge +Priority: optional +Section: x11 +Installed-Size: 160 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 1:1.10.4-2build2 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-s3virge +Provides: xorg-driver-video, xserver-xorg-video-8 +Depends: libc6 (>= 2.2.5), xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.904) +Conflicts: xserver-xorg-driver-s3virge +Filename: pool/main/x/xserver-xorg-video-s3virge/xserver-xorg-video-s3virge_1.10.4-2build2_amd64.deb +Size: 48792 +MD5sum: 3da2e57ba1ae98bfe73473416ff030f5 +SHA1: 3296574523259de9c62dbbf771584b94f8d519c0 +SHA256: 0c4604ad77d36b8913e602372f1c4721c3ae8b2a187d2b3583ce4d53bba29e60 +Description: X.Org X server -- S3 ViRGE display driver + This package provides the driver for the S3 ViRGE and Trio3D family + of chipsets. It does not support Trio64 or S3 96x cards; support for + these can be found in the xserver-xorg-video-s3 package. Support for + S3 Savage chipsets can be found in xserver-xorg-video-savage. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xf86-video-s3virge driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-savage +Priority: optional +Section: x11 +Installed-Size: 240 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Architecture: amd64 +Version: 1:2.3.1-2ubuntu2 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-savage +Provides: xorg-driver-video, xserver-xorg-video-8 +Depends: libc6 (>= 2.3.4), xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.904) +Conflicts: xserver-xorg-driver-savage +Filename: pool/main/x/xserver-xorg-video-savage/xserver-xorg-video-savage_2.3.1-2ubuntu2_amd64.deb +Size: 94910 +MD5sum: a57a30c861246f6c6d7bae87749bda30 +SHA1: aee96ab1c5817f881f7c30613efb6ff6c61590d4 +SHA256: 2465340a5607ff72b7088a4ad7a2f7254f02c4d17d0438c2823ff76c9ec5b01e +Description: X.Org X server -- Savage display driver + This package provides the driver for the S3/VIA Savage/ProSavage/Twister family + of chipsets. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xf86-video-savage driver module. +Orig-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-siliconmotion +Priority: optional +Section: x11 +Installed-Size: 224 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 1:1.7.4-0ubuntu2 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-siliconmotion +Provides: xorg-driver-video, xserver-xorg-video-8 +Depends: libc6 (>= 2.7), xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.904) +Conflicts: xserver-xorg-driver-siliconmotion +Filename: pool/main/x/xserver-xorg-video-siliconmotion/xserver-xorg-video-siliconmotion_1.7.4-0ubuntu2_amd64.deb +Size: 89322 +MD5sum: 67bb40a85964b18216c30594cd260a6a +SHA1: 39647585477ce517ce094fa346879cbe6c68a8f8 +SHA256: 9459d2f7d0be571881e18b7e24dae010f5a4d0c8210ea4bab306e476f77b7e63 +Description: X.Org X server -- SiliconMotion display driver + This package provides the driver for the SiliconMotion Lynx and Cougar family + of chipsets, commonly found in laptops. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xf86-video-siliconmotion driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-sis +Priority: optional +Section: x11 +Installed-Size: 672 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 1:0.10.3-1build1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-sis +Provides: xorg-driver-video, xserver-xorg-video-8 +Depends: libc6 (>= 2.7), xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.904) +Conflicts: xserver-xorg-driver-sis +Filename: pool/main/x/xserver-xorg-video-sis/xserver-xorg-video-sis_0.10.3-1build1_amd64.deb +Size: 297044 +MD5sum: 57f26ef639f3bc4dffce2e631f5edab3 +SHA1: fbeb26493846b2bd9f0dd306f411ded6b15e367a +SHA256: b391011332abdff5241f0bef9b295a981d0f12ed575b34827cca3d22809b1d5a +Description: X.Org X server -- SiS display driver + This package provides the driver for all SiS and XGI Volari cards. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xf86-video-sis driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-sisusb +Priority: optional +Section: x11 +Installed-Size: 156 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 1:0.9.4-0ubuntu1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-sisusb +Provides: xorg-driver-video, xserver-xorg-video-8 +Depends: libc6 (>= 2.7), xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.904) +Conflicts: xserver-xorg-driver-sisusb +Filename: pool/main/x/xserver-xorg-video-sisusb/xserver-xorg-video-sisusb_0.9.4-0ubuntu1_amd64.deb +Size: 49900 +MD5sum: e17bb0f9c542a826ae6ae9364e4651c0 +SHA1: 695515870f6b7c19e9e2b9a2c6aa63d188f9f0a3 +SHA256: fd6cfff10a85c55661e29b91aec99f538940d5cf55dc9fa138ea0dc83fda5b47 +Description: X.Org X server -- SiS USB display driver + This package provides the driver for SiS USB-attached video devices. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xf86-video-sisusb driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-tdfx +Priority: optional +Section: x11 +Installed-Size: 152 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 1:1.4.3-2build2 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-tdfx +Provides: xorg-driver-video, xserver-xorg-video-8 +Depends: libc6 (>= 2.2.5), xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.904) +Conflicts: xserver-xorg-driver-tdfx +Filename: pool/main/x/xserver-xorg-video-tdfx/xserver-xorg-video-tdfx_1.4.3-2build2_amd64.deb +Size: 46392 +MD5sum: 0adaf52a840699116197b796a8eb5492 +SHA1: f2026af7d453518705f049ef9750ba3f08df1c62 +SHA256: 620e5143574d0820641004e9c386748c35344bb3ec95833d884685c022dabe87 +Description: X.Org X server -- tdfx display driver + This package provides the driver for 3dfx Voodoo video cards and their + derivatives. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-tdfx driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-trident +Priority: optional +Section: x11 +Installed-Size: 244 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 1:1.3.4-0ubuntu1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-trident +Provides: xorg-driver-video, xserver-xorg-video-8 +Depends: libc6 (>= 2.7), xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.904) +Conflicts: xserver-xorg-driver-trident +Filename: pool/main/x/xserver-xorg-video-trident/xserver-xorg-video-trident_1.3.4-0ubuntu1_amd64.deb +Size: 82352 +MD5sum: 5389ff7eb1757dda92a35b8cec818b23 +SHA1: f731b2a951e5a64b990ddd88275a9158ddfdee30 +SHA256: 9757b882d296eed853c152d79546ad61eec9162abe0f32007dfa666c774cb408 +Description: X.Org X server -- Trident display driver + This package provides the driver for Trident Blade/Image/ProVidia/TGUI/9xxx + video cards. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xf86-video-trident driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-tseng +Priority: optional +Section: x11 +Installed-Size: 136 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 1:1.2.4-0ubuntu1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-tseng +Provides: xorg-driver-video, xserver-xorg-video-8 +Depends: libc6 (>= 2.2.5), xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.904) +Conflicts: xserver-xorg-driver-tseng +Filename: pool/main/x/xserver-xorg-video-tseng/xserver-xorg-video-tseng_1.2.4-0ubuntu1_amd64.deb +Size: 37086 +MD5sum: 49454fcbc2be113329a7d7c4baa451ec +SHA1: ba126de1cb3ce5f3348de11bc2aa5656b59b1e63 +SHA256: 66b15338b13dd04c4f987326103b14f647824c368f197db5cdbd4e8038b4e764 +Description: X.Org X server -- Tseng display driver + This package provides the driver for Tseng Labs cards. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xf86-video-tseng driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-vesa +Priority: optional +Section: x11 +Installed-Size: 108 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 1:2.3.0-3build1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-vesa +Provides: xorg-driver-video, xserver-xorg-video-8 +Depends: libc6 (>= 2.2.5), libdrm2 (>= 2.4.3), xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.904) +Conflicts: xserver-xorg-driver-vesa +Filename: pool/main/x/xserver-xorg-video-vesa/xserver-xorg-video-vesa_2.3.0-3build1_amd64.deb +Size: 27648 +MD5sum: 11f9542a9848c934781ff4c7e526b4eb +SHA1: 7d04bd52102ba4bc279121dda3b23bf0bb365494 +SHA256: 8960650901beb1b9cebae21d4f7c505039b4e8b584acf7d495948d8c064c078a +Description: X.Org X server -- VESA display driver + This driver for the X.Org X server (see xserver-xorg for a further description) + uses the standard VESA interface provided on all video cards, but runs + unaccelerated. This driver is not recommended for use unless you have a + problem with the normal driver for your card, because it will peform very + badly. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xf86-video-vesa driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-vmware +Priority: optional +Section: x11 +Installed-Size: 148 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 1:11.0.1-2build1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-vmware +Provides: xorg-driver-video, xserver-xorg-video-8 +Depends: libc6 (>= 2.4), libdrm2 (>= 2.3.1), xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.904) +Conflicts: xserver-xorg-driver-vmware +Filename: pool/main/x/xserver-xorg-video-vmware/xserver-xorg-video-vmware_11.0.1-2build1_amd64.deb +Size: 46210 +MD5sum: 324e418b02bfaab852d05363b63beb7b +SHA1: 533ba227f0c038e7f4eb63689fb27ab48c8a3915 +SHA256: 5a9910e91c7f0c6c51bbbd93b95a933a13e14412b0c5d10d6c6d406acf036835 +Description: X.Org X server -- VMware display driver + This package provides the driver for VMware client sessions, i.e. if Linux + is running inside a VMware session. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xf86-video-vmware driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook + +Package: xserver-xorg-video-voodoo +Priority: optional +Section: x11 +Installed-Size: 104 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: amd64 +Version: 1:1.2.4-0ubuntu1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-voodoo +Provides: xorg-driver-video, xserver-xorg-video-8 +Depends: libc6 (>= 2.2.5), xorg-video-abi-8.0, xserver-xorg-core (>= 2:1.8.99.904) +Conflicts: xserver-xorg-driver-voodoo +Filename: pool/main/x/xserver-xorg-video-voodoo/xserver-xorg-video-voodoo_1.2.4-0ubuntu1_amd64.deb +Size: 25076 +MD5sum: 8fc0fa8abb44151231be76434bf3451e +SHA1: cb618ff8a5eff6389aa660f5a51643ed3ba8b3d6 +SHA256: dfdda11e40c533f6636084385882d114347336766e7fc4bb14f515df5b858982 +Description: X.Org X server -- Voodoo display driver + This package provides the driver for 3dfx Voodoo1 and Voodoo2 chipsets. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + . + This package is built from the X.org xf86-video-voodoo driver module. +Bugs: https://bugs.launchpad.net/ubuntu/+filebug +Origin: Ubuntu +Supported: 18m +Task: ubuntu-desktop, ubuntu-uec-live, kubuntu-desktop, kubuntu-mobile, kubuntu-netbook, edubuntu-desktop, edubuntu-uec-live, xubuntu-desktop, mythbuntu-backend-master, mythbuntu-backend-slave, mythbuntu-desktop, mythbuntu-frontend, ubuntu-netbook diff --git a/test/integration/Packages-xorg-break-providers b/test/integration/Packages-xorg-break-providers new file mode 100644 index 0000000..f6e1d81 --- /dev/null +++ b/test/integration/Packages-xorg-break-providers @@ -0,0 +1,52 @@ +Package: xserver-xorg-video-intel +Priority: optional +Section: x11 +Installed-Size: 1292 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Version: 2:2.13.901-2 +Provides: xserver-xorg-video-8 +Filename: pool/main/x/xserver-xorg-video-intel/xserver-xorg-video-intel_2.13.901-2_i386.deb +Size: 586964 +MD5sum: 72527f4b2c9d734e53202736e3177865 +Description: X.Org X server -- Intel i8xx, i9xx display driver + +Package: xserver-xorg-video-vesa +Priority: optional +Section: x11 +Installed-Size: 104 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Version: 1:2.3.0-4 +Provides: xserver-xorg-video-8 +Filename: pool/main/x/xserver-xorg-video-vesa/xserver-xorg-video-vesa_2.3.0-4_i386.deb +Size: 27158 +MD5sum: 77bf2935c40b3b7739d431930e53d185 +Description: X.Org X server -- VESA display driver + +Package: xserver-xorg-video-vesa +Priority: optional +Section: x11 +Installed-Size: 104 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Version: 1:2.3.0-3 +Provides: xserver-xorg-video-6 +Filename: pool/main/x/xserver-xorg-video-vesa/xserver-xorg-video-vesa_2.3.0-3_i386.deb +Size: 27122 +MD5sum: 0cd97be927c7d75f2a7230739f8f866c +Description: X.Org X server -- VESA display driver + +Package: xserver-xorg-core +Priority: optional +Section: x11 +Installed-Size: 4436 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: xorg-server +Version: 2:1.7.7-8 +Breaks: xserver-xorg-video-6 +Filename: pool/main/x/xorg-server/xserver-xorg-core_1.7.7-8_i386.deb +Size: 2405050 +MD5sum: 976ddb13473e52903dd839d1f7ec390b +Description: Xorg X server - core server diff --git a/test/integration/apt.pem b/test/integration/apt.pem new file mode 100644 index 0000000..bb9fcbe --- /dev/null +++ b/test/integration/apt.pem @@ -0,0 +1,49 @@ +-----BEGIN PRIVATE KEY----- +MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDNffaUyxfa1Hun +CdYRi7uIdiEbOPokUhSfLS8MR2idVeVzIIc+AV4OX/gvxyPzcLIea0eF1noglwc5 +veN7gHxCJyi9gTDURhGL9Nm4UTvsbROgABos9eqyoi0jmzzAUQeSlp7yu+VM9hvV +woEGbIbI4bBfUWRgtUqaSetJWD4m36QNqb5x4VAqSQJbyLMmdCxcTwRDgtXRvkuy +MbRMZ8yNJvkHKzfxAZQOOqHhA8+4WuwREDSH+A8JYuum21YTaxKeqU0b2jIK5PwV +CqrbQUmPoM7jeHiosQPHG8ZsOPhZQBhmwMqAjRO/Vyk0kurp6UtmNN6/hArCjGbR +QhpFjSttAgMBAAECggEAJALoHIk+4/WKueoqXqbLNY3mHVwt0gGkZYTIkvFMrw3n +iPZxXPdmYUSGPPE8JqRgQp5wSU8d1epBtOfHHtSUcg9kv1kNkpW463r8UKXDx5oR +7181Nx3dhHKRUIUa72UD27eToVw2Qfd7R0mvzM1mDXwnqXydB6mdqk478n2JXsxP +w4bazKMIDm42UDOx9oCwhUP6aTyvXSx+oYhTcznk1QD/Fcz68CTDJdqGIFLvGcwK +E19efaTM6++asew+M/u9l6JEAd8ccnxpAecNnOhRtlB5Lt7GmpX0NkD0oIJgLKUR +OROk/wA2qp/cA4OV6IDOhTpYm4hOmZn3i8TrRGY3TQKBgQD6a4RZQ9iaWhotdl6Q +3AiI+LpcRrsCoYJ0a+5gM/gp7U39febf1PrSkzFGx8IGPIAMErlFv5GQaNum1aB9 +fEhJ2w7eHu3nwdwtrHCTnRr/1cnQdTCOVlq++2EkRGAGBk9DeqJIXSt03c1ROPhh +Ss4k0HRKQAeAk6TVd/ici+QmtwKBgQDSEilbBuWLI9TDgDIdmvvrp2uPjYeBTF3n +gD13dRC+4+zGKAO1i9Evwe0GmdLztPshoNLHWgOalaOhPfB2MpCdwihW3gEUX/lT +ePvSGamVkIKX0pB1YWozUNz2bG78u6GYC5h0e30iQvTBGuKojtc7lNGuHKHqxICE +oImkCNh6+wKBgB2QPeKv8M1gH8EIPWfKojNRcebc7s0Dtjv6Vf0DhaOlgVSQ3YXF +RgtAF0ws3woPcGp8d2T1lcC/sFbE15qY5ovZkarFaf63U0ANIIk8vehAHABBJYdY +SIRNdw1qCRANBKSJwMjcPvogCVIycJhD1YxhE6mEX55dT9Nnw3DvzvKHAoGAMWky +LwX9QfAIoH9rykjlDnXPt/FLOR90Svp/+rQfXzcPP0C0NqSPbJNJpC7UTpx4IV3J +ljhW9qpR1aBTCgo0t9auVFhdmqREadzgJngAynw2K23Mqr9iEnXns1Kn/GxJwxCf +KG7PbRqgpTckrw8CEzKa60Ay2Zykug1ksp+eA7cCgYEAwI6oAHdTEtwH3wDlNmZE +Dh7mvLfg9WYZgfl6iIcQD+1OdeyVMBHU+OJSY8hykNqEOhy8Oa/qcBNjGAcT6X18 +QzbB4Ul5Bs5yD+d5mKEsKPsy5BGSEL+eQsj/Rgz/EYtxRYrTqXMc0UkWMv+4Fwgl +UoqcJ3Z/vpVy0+SoFpK3NKI= +-----END PRIVATE KEY----- +-----BEGIN CERTIFICATE----- +MIIDiTCCAnGgAwIBAgIUEm8A7oUmNHghPkuDzAfEA9pbyB4wDQYJKoZIhvcNAQEL +BQAwUzESMBAGA1UEAwwJbG9jYWxob3N0MRswGQYDVQQKDBJBUFQgVGVzdGNhc2Vz +IEdtYkgxEzARBgNVBAgMClNvbWUtU3RhdGUxCzAJBgNVBAYTAkRFMCAXDTIwMDQw +NjA3NTk0OFoYDzIxMjAwMzEzMDc1OTQ4WjBTMRIwEAYDVQQDDAlsb2NhbGhvc3Qx +GzAZBgNVBAoMEkFQVCBUZXN0Y2FzZXMgR21iSDETMBEGA1UECAwKU29tZS1TdGF0 +ZTELMAkGA1UEBhMCREUwggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEKAoIBAQDN +ffaUyxfa1HunCdYRi7uIdiEbOPokUhSfLS8MR2idVeVzIIc+AV4OX/gvxyPzcLIe +a0eF1noglwc5veN7gHxCJyi9gTDURhGL9Nm4UTvsbROgABos9eqyoi0jmzzAUQeS +lp7yu+VM9hvVwoEGbIbI4bBfUWRgtUqaSetJWD4m36QNqb5x4VAqSQJbyLMmdCxc +TwRDgtXRvkuyMbRMZ8yNJvkHKzfxAZQOOqHhA8+4WuwREDSH+A8JYuum21YTaxKe +qU0b2jIK5PwVCqrbQUmPoM7jeHiosQPHG8ZsOPhZQBhmwMqAjRO/Vyk0kurp6Utm +NN6/hArCjGbRQhpFjSttAgMBAAGjUzBRMB0GA1UdDgQWBBRKod2DPZOmtyMqyc+4 +f5Upu73pRDAfBgNVHSMEGDAWgBRKod2DPZOmtyMqyc+4f5Upu73pRDAPBgNVHRMB +Af8EBTADAQH/MA0GCSqGSIb3DQEBCwUAA4IBAQAJTu3wOWz7qIqhc6QrYH5+kdUa +6OQXdh9lDGgvgXo4WrIYitL83HR7untGQ+P3Lch8/8mBzFnYXZsKoq1+Nc8CPmUz +pkFsT+KdTnDoxt8dNNFEztq4cFWt1Dg95OXYS/AO/uQnthpd4fd3vb8d2D8/oz5F +T1QIp3mb+fnOpKEahcuZwfhMwb2DpkrYElQW4+bfg00dW0VB+WTYjHzT+V2PbXnJ +xbqbJpSIzpGw1YPUHKVZmtfdyWp7QFCfcMSZp17ba5yZ/UNi1dTn+i1KXy691krz +s2h4YI0MNFXdoYZckqg5cg4nTm5lTy/nzhF6HxSD7SixMbdb4oV+lKbENOi5 +-----END CERTIFICATE----- diff --git a/test/integration/cachedb-lp1274466-old-format.db b/test/integration/cachedb-lp1274466-old-format.db Binary files differnew file mode 100644 index 0000000..88da5f1 --- /dev/null +++ b/test/integration/cachedb-lp1274466-old-format.db diff --git a/test/integration/create-test-data b/test/integration/create-test-data new file mode 100755 index 0000000..0eca399 --- /dev/null +++ b/test/integration/create-test-data @@ -0,0 +1,58 @@ +#!/bin/sh +set +e # its okay to fail in these script, most of the time the apt* stuff will generate errors + +if [ -z "$1" -o -z "$2" ]; then + echo "Usage: $0 file codename pkg…" + exit 1 +fi + +CHECK_ARGS='no' +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +GENERATE="$1" +CODENAME="$2" +shift 2 + +WORKDIR="$(mktemp -d)" +cleanupworkdir() { + if [ -z "$WORKDIR" ]; then return; fi + rm -rf "$WORKDIR" +} +trap "cleanupworkdir;" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM +touch "$WORKDIR/status" +TMPGEN="$WORKDIR/Packages" +export LANG=C.UTF-8 + +aptgetinstall() { + aptget install "$@" --no-install-recommends -t "$CODENAME" -s \ + -o Dir::state::status="$WORKDIR/status" \ + -o Dir::Cache="$WORKDIR" \ + -o pkgCacheGen::Essential=none \ + -o APT::Immediate-Configure=0 +} +LISTOFPKGS="$(aptgetinstall "$@" 2> /dev/null | awk '/^Inst/ {print $2}' | sed -e "s#\$#/$CODENAME#")" +if [ -z "$LISTOFPKGS" ]; then + echo "List of packages is empty: run apt-get install command again for you now" + aptgetinstall + exit 1 +fi +aptcache show $LISTOFPKGS --no-all-versions 2> "$WORKDIR/error.lst" | sed -e '/^ / d' \ + -e '/^SHA1: / d' -e '/^SHA256: / d' \ + -e '/^Homepage: / d' -e '/^Tag: / d' \ + -e '/^Xul-Appid: / d' \ + -e '/^Status: / d' \ + -e 's/^Description-en:/Description:/' \ + > "$TMPGEN" + +if [ "$CODENAME" = "experimental" ]; then + aptcache show $(cut -d"'" -f 4 "$WORKDIR/error.lst" | sed -e 's#$#/sid#') --no-all-versions 2> /dev/null >> "$TMPGEN" +fi + +if echo "$GENERATE" | grep '^status-' > /dev/null; then + sed -i "$TMPGEN" -e '/^Package: / a\ +Status: install ok installed' \ + -e '/^Filename: / d' -e '/^Size: / d' -e '/^MD5sum: / d' +fi + +apt-sortpkgs "$TMPGEN" > "$GENERATE" diff --git a/test/integration/deb-bug-330162-encoded-tar-header.deb b/test/integration/deb-bug-330162-encoded-tar-header.deb Binary files differnew file mode 100644 index 0000000..f38b1aa --- /dev/null +++ b/test/integration/deb-bug-330162-encoded-tar-header.deb diff --git a/test/integration/deb-lp1274466-cachedb.deb b/test/integration/deb-lp1274466-cachedb.deb Binary files differnew file mode 100644 index 0000000..43d7ee6 --- /dev/null +++ b/test/integration/deb-lp1274466-cachedb.deb diff --git a/test/integration/edsp-ubuntu-bug-1974196 b/test/integration/edsp-ubuntu-bug-1974196 new file mode 100644 index 0000000..aecf2ad --- /dev/null +++ b/test/integration/edsp-ubuntu-bug-1974196 @@ -0,0 +1,10755 @@ +Request: EDSP 0.5 +Architecture: arm64 +Architectures: arm64 +Install: libudev-dev:arm64 +Solver: dump + +Package: dpkg +Architecture: arm64 +Version: 1.21.1ubuntu2.1 +APT-ID: 64794 +Essential: yes +Multi-Arch: foreign +Source: dpkg +Source-Version: 1.21.1ubuntu2.1 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: tar (>= 1.28-1) +Pre-Depends: libbz2-1.0, libc6 (>= 2.34), liblzma5 (>= 5.2.2), libselinux1 (>= 3.1~), libzstd1 (>= 1.4.0), zlib1g (>= 1:1.1.4) +Suggests: apt, debsig-verify +Breaks: libapt-pkg5.0 (<< 1.7~b), lsb-base (<< 10.2019031300) + +Package: telnet +Architecture: arm64 +Version: 0.17-44build1 +APT-ID: 5630 +Source: netkit-telnet +Source-Version: 0.17-44build1 +Priority: standard +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libstdc++6 (>= 5), netbase +Replaces: netstd +Provides: telnet-client + +Package: cloud-initramfs-dyn-netconf +Architecture: all +Version: 0.47ubuntu1 +APT-ID: 188 +Source: cloud-initramfs-tools +Source-Version: 0.47ubuntu1 +Priority: extra +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: initramfs-tools + +Package: libnetfilter-conntrack3 +Architecture: arm64 +Version: 1.0.9-1 +APT-ID: 2964 +Multi-Arch: same +Source: libnetfilter-conntrack +Source-Version: 1.0.9-1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libmnl0 (>= 1.0.3-4~), libnfnetlink0 + +Package: python3-incremental +Architecture: all +Version: 21.3.0-1 +APT-ID: 5146 +Source: incremental +Source-Version: 21.3.0-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any +Recommends: python3-click, python3-twisted + +Package: lsb-release +Architecture: all +Version: 11.1.0ubuntu4 +APT-ID: 4484 +Multi-Arch: foreign +Source: lsb +Source-Version: 11.1.0ubuntu4 +Priority: required +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any, distro-info-data +Recommends: apt + +Package: tcpdump +Architecture: arm64 +Version: 4.99.1-3build2 +APT-ID: 5627 +Multi-Arch: foreign +Source: tcpdump +Source-Version: 4.99.1-3build2 +Priority: standard +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: adduser, libc6 (>= 2.34), libpcap0.8 (>= 1.9.0), libssl3 (>= 3.0.0~~alpha1) +Suggests: apparmor (>= 2.3) +Replaces: apparmor-profiles-extra (<< 1.12~) +Breaks: apparmor-profiles-extra (<< 1.12~) + +Package: libperl5.34 +Architecture: arm64 +Version: 5.34.0-3ubuntu1 +APT-ID: 3173 +Multi-Arch: same +Source: perl +Source-Version: 5.34.0-3ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbz2-1.0, libc6 (>= 2.35), libcrypt1 (>= 1:4.1.0), libdb5.3, libgdbm-compat4 (>= 1.18-3), libgdbm6 (>= 1.18-3), zlib1g (>= 1:1.2.2.3), perl-modules-5.34 (>= 5.34.0-3ubuntu1) +Suggests: sensible-utils +Replaces: libarchive-tar-perl (<= 1.38-2), libcompress-raw-bzip2-perl (<< 2.101), libcompress-raw-zlib-perl (<< 2.101), libcompress-zlib-perl (<< 2.102), libdigest-md5-perl (<< 2.58), libdigest-sha-perl (<< 6.02), libencode-perl (<< 3.08), libio-compress-base-perl (<< 2.102), libio-compress-bzip2-perl (<< 2.102), libio-compress-perl (<< 2.102), libio-compress-zlib-perl (<< 2.102), libmime-base64-perl (<< 3.16), libmodule-corelist-perl (<< 2.14-2), libstorable-perl (<< 3.23), libsys-syslog-perl (<< 0.36), libthreads-perl (<< 2.26), libthreads-shared-perl (<< 1.62), libtime-hires-perl (<< 1.9767), libtime-piece-perl (<< 1.3401), perl (<< 5.22.0~), perl-base (<< 5.22.0~) +Breaks: libcompress-raw-bzip2-perl (<< 2.101), libcompress-raw-zlib-perl (<< 2.101), libcompress-zlib-perl (<< 2.102), libdigest-md5-perl (<< 2.58), libdigest-sha-perl (<< 6.02), libencode-perl (<< 3.08), libfilter-perl (<< 1.60), libio-compress-base-perl (<< 2.102), libio-compress-bzip2-perl (<< 2.102), libio-compress-perl (<< 2.102), libio-compress-zlib-perl (<< 2.102), libmime-base64-perl (<< 3.16), libstorable-perl (<< 3.23), libsys-syslog-perl (<< 0.36), libthreads-perl (<< 2.26), libthreads-shared-perl (<< 1.62), libtime-hires-perl (<< 1.9767), libtime-piece-perl (<< 1.3401) + +Package: dmidecode +Architecture: arm64 +Version: 3.3-3 +APT-ID: 319 +Multi-Arch: foreign +Source: dmidecode +Source-Version: 3.3-3 +Priority: standard +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: libwrap0 +Architecture: arm64 +Version: 7.6.q-31build2 +APT-ID: 4018 +Multi-Arch: same +Source: tcp-wrappers +Source-Version: 7.6.q-31build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libc6 (>= 2.33), libnsl2 (>= 1.0) + +Package: libkeyutils1 +Architecture: arm64 +Version: 1.6.1-2ubuntu3 +APT-ID: 2702 +Multi-Arch: same +Source: keyutils +Source-Version: 1.6.1-2ubuntu3 +Priority: important +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) + +Package: python3-blinker +Architecture: all +Version: 1.4+dfsg1-0.4 +APT-ID: 5040 +Source: blinker +Source-Version: 1.4+dfsg1-0.4 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any +Suggests: python-blinker-doc + +Package: libxtables12 +Architecture: arm64 +Version: 1.8.7-1ubuntu5 +APT-ID: 4182 +Multi-Arch: same +Source: iptables +Source-Version: 1.8.7-1ubuntu5 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Replaces: iptables (<< 1.4.16.3-3), libxtables11 (>= 1.6.0+snapshot20161117-1) +Breaks: iptables (<< 1.4.16.3-3), libxtables11 (>= 1.6.0+snapshot20161117-1) + +Package: libcurl4 +Architecture: arm64 +Version: 7.81.0-1ubuntu1.3 +APT-ID: 64910 +Multi-Arch: same +Source: curl +Source-Version: 7.81.0-1ubuntu1.3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbrotli1 (>= 0.6.0), libc6 (>= 2.34), libgssapi-krb5-2 (>= 1.17), libidn2-0 (>= 0.6), libldap-2.5-0 (>= 2.5.4), libnghttp2-14 (>= 1.12.0), libpsl5 (>= 0.16.0), librtmp1 (>= 2.4+20131018.git79459a2-3~), libssh-4 (>= 0.9.0), libssl3 (>= 3.0.0~~alpha1), libzstd1 (>= 1.4.0), zlib1g (>= 1:1.1.4) +Recommends: ca-certificates +Conflicts: libcurl3 +Replaces: libcurl3 + +Package: libpolkit-agent-1-0 +Architecture: arm64 +Version: 0.105-33 +APT-ID: 3220 +Multi-Arch: same +Source: policykit-1 +Source-Version: 0.105-33 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libglib2.0-0 (>= 2.37.3), libpolkit-gobject-1-0 (= 0.105-33) + +Package: dmeventd +Architecture: arm64 +Version: 2:1.02.175-2.1ubuntu4 +APT-ID: 318 +Source: lvm2 +Source-Version: 2.03.11-2.1ubuntu4 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libdevmapper-event1.02.1 (>= 2:1.02.110), libdevmapper1.02.1 (>= 2:1.02.110), liblvm2cmd2.03 (>= 2.03.11) + +Package: u-boot-tools +Architecture: arm64 +Version: 2022.01+dfsg-2ubuntu2 +APT-ID: 5750 +Multi-Arch: foreign +Source: u-boot +Source-Version: 2022.01+dfsg-2ubuntu2 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libssl3 (>= 3.0.0~~alpha1) +Recommends: device-tree-compiler, libubootenv-tool +Replaces: u-boot (<< 2010.12-2), uboot-envtools (<< 20081215-3~), uboot-mkimage (<= 0.4build1) +Breaks: u-boot (<< 2010.12-2), uboot-envtools (<< 20081215-3~), uboot-mkimage (<= 0.4build1) + +Package: networkd-dispatcher +Architecture: all +Version: 2.1-2ubuntu0.22.04.2 +APT-ID: 66060 +Source: networkd-dispatcher +Source-Version: 2.1-2ubuntu0.22.04.2 +Priority: required +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dbus, gir1.2-glib-2.0, python3-dbus, python3-gi, python3:any +Suggests: iw | wireless-tools + +Package: systemd-standalone-tmpfiles +Architecture: arm64 +Version: 249.11-0ubuntu3.4 +APT-ID: 67123 +Source: systemd +Source-Version: 249.11-0ubuntu3.4 +Priority: optional +Section: universe/admin +APT-Release: + v=22.04,o=Ubuntu,a=jammy-proposed,n=jammy,l=Ubuntu,c=universe,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=universe,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libacl1 (>= 2.2.23), libc6 (>= 2.34), libcap2 (>= 1:2.24-9~), libselinux1 (>= 3.1~) +Conflicts: systemd (<< 249.3-3), systemd-tmpfiles +Replaces: systemd (<< 249.3-3), systemd-tmpfiles +Provides: systemd-tmpfiles (= 249.11-0ubuntu3.4) + +Package: initramfs-tools-core +Architecture: all +Version: 0.140ubuntu13 +APT-ID: 1091 +Multi-Arch: foreign +Source: initramfs-tools +Source-Version: 0.140ubuntu13 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: busybox-initramfs (>= 1:1.30.1-4ubuntu5~), initramfs-tools-bin (= 0.140ubuntu13), klibc-utils (>= 2.0.4-8~), cpio (>= 2.12), zstd, kmod, udev, coreutils (>= 8.24), logsave | e2fsprogs (<< 1.45.3-1~) +Suggests: bash-completion +Replaces: initramfs-tools (<< 0.121~) +Breaks: busybox-initramfs (<< 1:1.30.1-4ubuntu5~), initramfs-tools (<< 0.121~) + +Package: pastebinit +Architecture: all +Version: 1.5.1-1ubuntu1 +APT-ID: 4735 +Source: pastebinit +Source-Version: 1.5.1-1ubuntu1 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3, python3-distro +Replaces: bikeshed (<< 1.21) +Breaks: bikeshed (<< 1.21) + +Package: libsmartcols1 +Architecture: arm64 +Version: 2.37.2-4ubuntu3 +APT-ID: 3618 +Multi-Arch: same +Source: util-linux +Source-Version: 2.37.2-4ubuntu3 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) + +Package: debconf-i18n +Architecture: all +Version: 1.5.79ubuntu1 +APT-ID: 266 +Source: debconf +Source-Version: 1.5.79ubuntu1 +Priority: required +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf (= 1.5.79ubuntu1), liblocale-gettext-perl, libtext-iconv-perl, libtext-wrapi18n-perl, libtext-charwidth-perl +Conflicts: debconf-english, debconf-utils (<< 1.3.22) +Replaces: debconf (<< 1.3.0), debconf-utils (<< 1.3.22) + +Package: console-setup +Architecture: all +Version: 1.205ubuntu3 +APT-ID: 201 +Multi-Arch: foreign +Source: console-setup +Source-Version: 1.205ubuntu3 +Priority: required +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: console-setup-linux | console-setup-freebsd | hurd, xkb-data (>= 0.9), keyboard-configuration (= 1.205ubuntu3) +Pre-Depends: debconf (>= 1.5.34) +Suggests: lsb-base (>= 3.0-6), locales +Conflicts: console-setup-mini +Breaks: lsb (<< 2.0-6), lsb-base (<< 3.0-6), lsb-core (<< 2.0-6) + +Package: ssh-import-id +Architecture: all +Version: 5.11-0ubuntu1 +APT-ID: 5576 +Source: ssh-import-id +Source-Version: 5.11-0ubuntu1 +Priority: extra +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: ca-certificates, openssh-client, python3-distro, wget, python3:any +Recommends: openssh-server + +Package: zstd +Architecture: arm64 +Version: 1.4.8+dfsg-3build1 +APT-ID: 5965 +Source: libzstd +Source-Version: 1.4.8+dfsg-3build1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgcc-s1 (>= 3.3.1), liblz4-1 (>= 0.0~r127), liblzma5 (>= 5.1.1alpha+20120614), libstdc++6 (>= 12), zlib1g (>= 1:1.1.4) + +Package: libpam-runtime +Architecture: all +Version: 1.4.0-11ubuntu2 +APT-ID: 3116 +Multi-Arch: foreign +Source: pam +Source-Version: 1.4.0-11ubuntu2 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf (>= 0.5) | debconf-2.0, debconf (>= 1.5.19) | cdebconf, libpam-modules (>= 1.0.1-6) +Conflicts: libpam0g-util +Replaces: libpam0g-dev, libpam0g-util + +Package: udev +Architecture: arm64 +Version: 249.11-0ubuntu3.4 +APT-ID: 66284 +Multi-Arch: foreign +Source: systemd +Source-Version: 249.11-0ubuntu3.4 +Priority: required +Section: admin +APT-Release: + v=22.04,o=Ubuntu,a=jammy-proposed,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libacl1 (>= 2.2.23), libblkid1 (>= 2.37.2), libc6 (>= 2.34), libcap2 (>= 1:2.24-9~), libkmod2 (>= 5~), libselinux1 (>= 3.1~), adduser, libudev1 (= 249.11-0ubuntu3.4), util-linux (>= 2.27.1) +Conflicts: hal +Breaks: systemd (<< 249.11-0ubuntu3.4) + +Package: udev +Architecture: arm64 +Version: 249.11-0ubuntu3.1 +APT-ID: 68004 +Multi-Arch: foreign +Source: systemd +Source-Version: 249.11-0ubuntu3.1 +Priority: required +Section: admin +Installed: yes +APT-Pin: 100 +APT-Automatic: yes +Depends: libacl1 (>= 2.2.23), libblkid1 (>= 2.37.2), libc6 (>= 2.34), libcap2 (>= 1:2.24-9~), libkmod2 (>= 5~), libselinux1 (>= 3.1~), adduser, libudev1 (= 249.11-0ubuntu3.1), util-linux (>= 2.27.1) +Conflicts: hal +Breaks: systemd (<< 249.11-0ubuntu3.1) + +Package: systemd-oomd +Architecture: arm64 +Version: 249.11-0ubuntu3.4 +APT-ID: 66183 +Source: systemd +Source-Version: 249.11-0ubuntu3.4 +Priority: optional +Section: admin +APT-Release: + v=22.04,o=Ubuntu,a=jammy-proposed,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libc6 (>= 2.34), systemd (= 249.11-0ubuntu3.4), adduser + +Package: coreutils +Architecture: arm64 +Version: 8.32-4.1ubuntu1 +APT-ID: 204 +Essential: yes +Multi-Arch: foreign +Source: coreutils +Source-Version: 8.32-4.1ubuntu1 +Priority: important +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Pre-Depends: libacl1 (>= 2.2.23), libattr1 (>= 1:2.4.44), libc6 (>= 2.34), libgmp10 (>= 2:6.2.1+dfsg), libselinux1 (>= 3.1~) + +Package: libgdbm-compat4 +Architecture: arm64 +Version: 1.23-1 +APT-ID: 2263 +Multi-Arch: same +Source: gdbm +Source-Version: 1.23-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libgdbm6 (>= 1.16) + +Package: python3.10 +Architecture: arm64 +Version: 3.10.4-3 +APT-ID: 5427 +Multi-Arch: allowed +Source: python3.10 +Source-Version: 3.10.4-3 +Priority: required +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3.10-minimal (= 3.10.4-3), libpython3.10-stdlib (= 3.10.4-3), media-types | mime-support +Suggests: python3.10-venv, python3.10-doc, binutils +Breaks: python3-all (<< 3.6.5~rc1-1), python3-dev (<< 3.6.5~rc1-1), python3-venv (<< 3.6.5-2) + +Package: python3-colorama +Architecture: all +Version: 0.4.4-1 +APT-ID: 5065 +Source: python-colorama +Source-Version: 0.4.4-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any (>= 3.6~) + +Package: libfdt1 +Architecture: arm64 +Version: 1.6.1-1 +APT-ID: 2138 +Multi-Arch: same +Source: device-tree-compiler +Source-Version: 1.6.1-1 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) + +Package: libmm-glib0 +Architecture: arm64 +Version: 1.18.6-1 +APT-ID: 2873 +Multi-Arch: same +Source: modemmanager +Source-Version: 1.18.6-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libglib2.0-0 (>= 2.56.0) +Recommends: modemmanager (>= 1.18.6-1) + +Package: python3-gi +Architecture: arm64 +Version: 3.42.1-0ubuntu1 +APT-ID: 67535 +Multi-Arch: allowed +Source: pygobject +Source-Version: 3.42.1-0ubuntu1 +Priority: required +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-proposed,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0 (>= 1.48.0), python3 (<< 3.11), python3 (>= 3.10~), python3:any, libc6 (>= 2.17), libffi8 (>= 3.4), libgirepository-1.0-1 (>= 1.62.0-4~), libgirepository-1.0-1-with-libffi8 (>= 1.62.0-4~), libglib2.0-0 (>= 2.56.0) + +Package: python3-tz +Architecture: all +Version: 2022.1-1 +APT-ID: 5393 +Source: python-tz +Source-Version: 2022.1-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: tzdata, python3:any + +Package: hdparm +Architecture: arm64 +Version: 9.60+ds-1build3 +APT-ID: 919 +Source: hdparm +Source-Version: 9.60+ds-1build3 +Priority: standard +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), lsb-base +Recommends: powermgmt-base + +Package: libext2fs2 +Architecture: arm64 +Version: 1.46.5-2ubuntu1.1 +APT-ID: 64946 +Multi-Arch: same +Source: e2fsprogs +Source-Version: 1.46.5-2ubuntu1.1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Replaces: e2fslibs (<< 1.43.9-1~) +Breaks: e2fslibs (<< 1.43.9-1~) +Provides: e2fslibs (= 1.46.5-2ubuntu1.1) + +Package: bind9-host +Architecture: arm64 +Version: 1:9.18.1-1ubuntu1.1 +APT-ID: 64756 +Source: bind9 +Source-Version: 1:9.18.1-1ubuntu1.1 +Priority: standard +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: bind9-libs (= 1:9.18.1-1ubuntu1.1), libc6 (>= 2.34), libidn2-0 (>= 2.0.0) +Replaces: bind-host (<< 1:9.13.6~) +Breaks: bind-host (<< 1:9.13.6~) +Provides: host + +Package: libffi8 +Architecture: arm64 +Version: 3.4.2-4 +APT-ID: 2140 +Multi-Arch: same +Source: libffi +Source-Version: 3.4.2-4 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.27) +Replaces: libffi8ubuntu1 (<< 3.4.2-1) +Breaks: libffi8ubuntu1 (<< 3.4.2-1) +Provides: libffi8ubuntu1 (= 3.4.2-4) + +Package: pciutils +Architecture: arm64 +Version: 1:3.7.0-6 +APT-ID: 4740 +Multi-Arch: foreign +Source: pciutils +Source-Version: 1:3.7.0-6 +Priority: standard +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libkmod2 (>= 5~), libpci3 (= 1:3.7.0-6) +Suggests: bzip2, wget | curl | lynx-cur + +Package: libnftnl11 +Architecture: arm64 +Version: 1.2.1-1build1 +APT-ID: 2981 +Multi-Arch: same +Source: libnftnl +Source-Version: 1.2.1-1build1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libmnl0 (>= 1.0.3-4~) + +Package: libgssapi-krb5-2 +Architecture: arm64 +Version: 1.19.2-2 +APT-ID: 2444 +Multi-Arch: same +Source: krb5 +Source-Version: 1.19.2-2 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libcom-err2 (>= 1.43.9), libk5crypto3 (>= 1.16), libkrb5-3 (= 1.19.2-2), libkrb5support0 (>= 1.15~beta1) +Suggests: krb5-doc, krb5-user +Breaks: moonshot-gss-eap (<= 1.0) + +Package: netbase +Architecture: all +Version: 6.3 +APT-ID: 4618 +Multi-Arch: foreign +Source: netbase +Source-Version: 6.3 +Priority: required +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: ebtables (<< 2.0.11-2) +Breaks: ebtables (<< 2.0.11-2) + +Package: readline-common +Architecture: all +Version: 8.1.2-1 +APT-ID: 5460 +Multi-Arch: foreign +Source: readline +Source-Version: 8.1.2-1 +Priority: required +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dpkg (>= 1.15.4) | install-info +Suggests: readline-doc +Conflicts: libreadline-common, libreadline5 (<< 5.0-11) +Replaces: libreadline-common, libreadline4 (<< 4.3-16), libreadline5 (<< 5.0-11) + +Package: libnghttp2-14 +Architecture: arm64 +Version: 1.43.0-1build3 +APT-ID: 2982 +Multi-Arch: same +Source: nghttp2 +Source-Version: 1.43.0-1build3 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) + +Package: libcurl3-gnutls +Architecture: arm64 +Version: 7.81.0-1ubuntu1.3 +APT-ID: 64908 +Multi-Arch: same +Source: curl +Source-Version: 7.81.0-1ubuntu1.3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbrotli1 (>= 0.6.0), libc6 (>= 2.34), libgnutls30 (>= 3.7.2), libgssapi-krb5-2 (>= 1.17), libidn2-0 (>= 0.6), libldap-2.5-0 (>= 2.5.4), libnettle8, libnghttp2-14 (>= 1.12.0), libpsl5 (>= 0.16.0), librtmp1 (>= 2.4+20131018.git79459a2-3~), libssh-4 (>= 0.9.0), libzstd1 (>= 1.4.0), zlib1g (>= 1:1.1.4) +Recommends: ca-certificates + +Package: open-iscsi +Architecture: arm64 +Version: 2.1.5-1ubuntu1 +APT-ID: 4681 +Multi-Arch: foreign +Source: open-iscsi +Source-Version: 2.1.5-1ubuntu1 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf (>= 0.5) | debconf-2.0, init-system-helpers (>= 1.51), libc6 (>= 2.34), libisns0, libkmod2 (>= 5~), libmount1 (>= 2.24.2), libopeniscsiusr (>= 2.1.5), libssl3 (>= 3.0.0~~alpha1), libsystemd0, udev +Pre-Depends: debconf | debconf-2.0 +Recommends: busybox-initramfs, finalrd (>= 3) + +Package: python3-pyasn1 +Architecture: all +Version: 0.4.8-1 +APT-ID: 5287 +Source: pyasn1 +Source-Version: 0.4.8-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any +Breaks: python3-pysnmp4 (<< 4.3.4) + +Package: openssh-client +Architecture: arm64 +Version: 1:8.9p1-3 +APT-ID: 4696 +Multi-Arch: foreign +Source: openssh +Source-Version: 1:8.9p1-3 +Priority: standard +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: adduser (>= 3.10), dpkg (>= 1.7.0), passwd, libc6 (>= 2.34), libedit2 (>= 2.11-20080614-0), libfido2-1 (>= 1.8.0), libgssapi-krb5-2 (>= 1.17), libselinux1 (>= 3.1~), libssl3 (>= 3.0.1), zlib1g (>= 1:1.1.4) +Suggests: keychain, libpam-ssh, monkeysphere, ssh-askpass +Recommends: xauth +Conflicts: sftp +Replaces: openssh-sk-helper, ssh, ssh-krb5 +Breaks: openssh-sk-helper +Provides: ssh-client, rsh-client + +Package: iptables +Architecture: arm64 +Version: 1.8.7-1ubuntu5 +APT-ID: 1100 +Multi-Arch: foreign +Source: iptables +Source-Version: 1.8.7-1ubuntu5 +Priority: standard +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libip4tc2 (= 1.8.7-1ubuntu5), libip6tc2 (= 1.8.7-1ubuntu5), libxtables12 (= 1.8.7-1ubuntu5), netbase (>= 6.0), libc6 (>= 2.34), libmnl0 (>= 1.0.3-4~), libnetfilter-conntrack3 (>= 1.0.6), libnfnetlink0, libnftnl11 (>= 1.1.5) +Suggests: firewalld, kmod, nftables +Replaces: iptables-nftables-compat (<< 1.6.2~) +Breaks: iptables-nftables-compat (<< 1.6.2~) + +Package: dosfstools +Architecture: arm64 +Version: 4.2-1build3 +APT-ID: 331 +Source: dosfstools +Source-Version: 4.2-1build3 +Priority: standard +Section: otherosfs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: iputils-ping +Architecture: arm64 +Version: 3:20211215-1 +APT-ID: 1103 +Multi-Arch: foreign +Source: iputils +Source-Version: 3:20211215-1 +Priority: required +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libcap2-bin, libc6 (>= 2.34), libcap2 (>= 1:2.10), libidn2-0 (>= 0.6) +Provides: ping + +Package: python-babel-localedata +Architecture: all +Version: 2.8.0+dfsg.1-7 +APT-ID: 4880 +Source: python-babel +Source-Version: 2.8.0+dfsg.1-7 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes + +Package: python3-distupgrade +Architecture: all +Version: 1:22.04.11 +APT-ID: 66132 +Source: ubuntu-release-upgrader +Source-Version: 1:22.04.11 +Priority: standard +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any, python3-update-manager (>= 1:19.04.2~), python3-apt (>= 0.8.5~), python3-dbus, python3-distro-info, python3-yaml, gpgv, lsb-release, sensible-utils, procps +Replaces: python3-update-manager (<< 1:0.165) +Breaks: python3-update-manager (<< 1:0.165) + +Package: libaudit-common +Architecture: all +Version: 1:3.0.7-1build1 +APT-ID: 1613 +Multi-Arch: foreign +Source: audit +Source-Version: 1:3.0.7-1build1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libnl-3-200 +Architecture: arm64 +Version: 3.5.0-0.1 +APT-ID: 2991 +Multi-Arch: same +Source: libnl3 +Source-Version: 3.5.0-0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: libctf-nobfd0 +Architecture: arm64 +Version: 2.38-3ubuntu1 +APT-ID: 1889 +Multi-Arch: same +Source: binutils +Source-Version: 2.38-3ubuntu1 +Priority: optional +Section: devel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), zlib1g (>= 1:1.2.0) +Replaces: libbinutils (<< 2.33.50.20191128-1~) +Breaks: libbinutils (<< 2.33.50.20191128-1~) + +Package: systemd-container +Architecture: arm64 +Version: 249.11-0ubuntu3.4 +APT-ID: 66182 +Multi-Arch: foreign +Source: systemd +Source-Version: 249.11-0ubuntu3.4 +Priority: optional +Section: admin +APT-Release: + v=22.04,o=Ubuntu,a=jammy-proposed,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libacl1 (>= 2.2.23), libbz2-1.0, libc6 (>= 2.34), libcurl3-gnutls (>= 7.16.3), libgcrypt20 (>= 1.9.0), liblzma5 (>= 5.1.1alpha+20120614), libseccomp2 (>= 2.3.1), libselinux1 (>= 3.1~), systemd (= 249.11-0ubuntu3.4), zlib1g (>= 1:1.1.4), default-dbus-system-bus | dbus-system-bus +Recommends: libnss-mymachines + +Package: libnl-genl-3-200 +Architecture: arm64 +Version: 3.5.0-0.1 +APT-ID: 2996 +Multi-Arch: same +Source: libnl3 +Source-Version: 3.5.0-0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libnl-3-200 (= 3.5.0-0.1), libc6 (>= 2.17) + +Package: apt +Architecture: arm64 +Version: 2.4.6 +APT-ID: 67176 +Essential: yes +Source: apt +Source-Version: 2.4.6 +Priority: required +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-proposed,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: adduser, gpgv | gpgv2 | gpgv1, libapt-pkg6.0 (>= 2.4.6), ubuntu-keyring, libc6 (>= 2.34), libgcc-s1 (>= 3.3.1), libgnutls30 (>= 3.7.0), libseccomp2 (>= 2.4.2), libstdc++6 (>= 11), libsystemd0 +Suggests: apt-doc, aptitude | synaptic | wajig, dpkg-dev (>= 1.17.2), gnupg | gnupg2 | gnupg1, powermgmt-base +Recommends: ca-certificates +Replaces: apt-transport-https (<< 1.5~alpha4~), apt-utils (<< 1.3~exp2~) +Breaks: apt-transport-https (<< 1.5~alpha4~), apt-utils (<< 1.3~exp2~), aptitude (<< 0.8.10) +Provides: apt-transport-https (= 2.4.6) + +Package: libssh-4 +Architecture: arm64 +Version: 0.9.6-2build1 +APT-ID: 3668 +Multi-Arch: same +Source: libssh +Source-Version: 0.9.6-2build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libgssapi-krb5-2 (>= 1.17), libssl3 (>= 3.0.0~~alpha1), zlib1g (>= 1:1.1.4) +Breaks: remmina (<< 1.2.31.2+dfsg-1+), remmina-plugin-nx (<< 1.2.31.2+dfsg-1+), x2goclient (<< 4.1.2.1-1+) + +Package: packagekit-tools +Architecture: arm64 +Version: 1.2.5-2ubuntu2 +APT-ID: 4729 +Multi-Arch: foreign +Source: packagekit +Source-Version: 1.2.5-2ubuntu2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: packagekit (= 1.2.5-2ubuntu2), libc6 (>= 2.34), libglib2.0-0 (>= 2.54), libpackagekit-glib2-18 (>= 1.2.5) + +Package: libintl-perl +Architecture: all +Version: 1.26-3build2 +APT-ID: 2594 +Source: libintl-perl +Source-Version: 1.26-3build2 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any +Recommends: libintl-xs-perl + +Package: xkb-data +Architecture: all +Version: 2.33-1 +APT-ID: 5914 +Multi-Arch: foreign +Source: xkeyboard-config +Source-Version: 2.33-1 +Priority: required +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Breaks: libx11-6 (<< 2:1.4.3), x11-xkb-utils (<< 7.7+5) + +Package: dbus-user-session +Architecture: arm64 +Version: 1.12.20-2ubuntu4 +APT-ID: 257 +Multi-Arch: foreign +Source: dbus +Source-Version: 1.12.20-2ubuntu4 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dbus (>= 1.12.20-2ubuntu4), libpam-systemd, systemd +Recommends: systemd-sysv +Breaks: dbus-x11 (<< 1.9.10-2~), policykit-1 (<< 0.105-12~), udisks2 (<< 2.1.5-2~) +Provides: default-dbus-session-bus, dbus-session-bus + +Package: libnss-myhostname +Architecture: arm64 +Version: 249.11-0ubuntu3.4 +APT-ID: 66769 +Multi-Arch: same +Source: systemd +Source-Version: 249.11-0ubuntu3.4 +Priority: extra +Section: universe/admin +APT-Release: + v=22.04,o=Ubuntu,a=jammy-proposed,n=jammy,l=Ubuntu,c=universe,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=universe,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libc6 (>= 2.34) + +Package: libnftables1 +Architecture: arm64 +Version: 1.0.2-1ubuntu2 +APT-ID: 2978 +Multi-Arch: same +Source: nftables +Source-Version: 1.0.2-1ubuntu2 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libgmp10 (>= 2:6.2.1+dfsg), libjansson4 (>= 2.3), libmnl0 (>= 1.0.3-4~), libnftnl11 (>= 1.2.1), libxtables12 (>= 1.6.0+snapshot20161117) + +Package: libqmi-proxy +Architecture: arm64 +Version: 1.30.4-1 +APT-ID: 3279 +Multi-Arch: foreign +Source: libqmi +Source-Version: 1.30.4-1 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libqmi-glib5 (= 1.30.4-1), libc6 (>= 2.34), libglib2.0-0 (>= 2.56) + +Package: libblockdev-part2 +Architecture: arm64 +Version: 2.26-1 +APT-ID: 1684 +Multi-Arch: same +Source: libblockdev +Source-Version: 2.26-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libblockdev-part-err2 (>= 2.14), libblockdev-utils2 (>= 2.14), libc6 (>= 2.29), libglib2.0-0 (>= 2.42.2), libparted2 (>= 3.1), gdisk (>= 0.8.6), fdisk | util-linux (<< 2.29.2-3~) + +Package: libnettle8 +Architecture: arm64 +Version: 3.7.3-1build2 +APT-ID: 2967 +Multi-Arch: same +Source: nettle +Source-Version: 3.7.3-1build2 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) + +Package: sosreport +Architecture: arm64 +Version: 4.3-1ubuntu2 +APT-ID: 5554 +Source: sosreport +Source-Version: 4.3-1ubuntu2 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-pexpect, python3:any + +Package: ftp +Architecture: all +Version: 20210827-4build1 +APT-ID: 554 +Multi-Arch: foreign +Source: tnftp +Source-Version: 20210827-4build1 +Priority: standard +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: tnftp +Replaces: ftp (<= 0.17-35) + +Package: modemmanager +Architecture: arm64 +Version: 1.18.6-1 +APT-ID: 4534 +Source: modemmanager +Source-Version: 1.18.6-1 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.56.0), libgudev-1.0-0 (>= 232), libmbim-glib4 (>= 1.26.0), libmbim-proxy, libmm-glib0 (>= 1.18.2), libpolkit-gobject-1-0 (>= 0.99), libqmi-glib5 (>= 1.30.2), libqmi-proxy, libsystemd0 (>= 209), policykit-1 +Recommends: usb-modeswitch + +Package: cryptsetup-bin +Architecture: arm64 +Version: 2:2.4.3-1ubuntu1 +APT-ID: 230 +Multi-Arch: foreign +Source: cryptsetup +Source-Version: 2:2.4.3-1ubuntu1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libblkid1 (>= 2.24.2), libc6 (>= 2.34), libcryptsetup12 (>= 2:2.4), libjson-c5 (>= 0.15), libpopt0 (>= 1.14), libssh-4 (>= 0.8.0), libuuid1 (>= 2.16) + +Package: git +Architecture: arm64 +Version: 1:2.34.1-1ubuntu1.2 +APT-ID: 64844 +Multi-Arch: foreign +Source: git +Source-Version: 1:2.34.1-1ubuntu1.2 +Priority: optional +Section: vcs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcurl3-gnutls (>= 7.56.1), libexpat1 (>= 2.0.1), libpcre2-8-0 (>= 10.34), zlib1g (>= 1:1.2.0), perl, liberror-perl, git-man (>> 1:2.34.1), git-man (<< 1:2.34.1-.) +Suggests: gettext-base, git-daemon-run | git-daemon-sysvinit, git-doc, git-email, git-gui, gitk, gitweb, git-cvs, git-mediawiki, git-svn +Recommends: ca-certificates, patch, less, ssh-client +Breaks: bash-completion (<< 1:1.90-1), cogito (<= 0.18.2+), dgit (<< 5.1~), git-buildpackage (<< 0.6.5), git-el (<< 1:2.32.0~rc2-1~), gitosis (<< 0.2+20090917-7), gitpkg (<< 0.15), guilt (<< 0.33), openssh-client (<< 1:6.8), stgit (<< 0.15), stgit-contrib (<< 0.15) +Provides: git-core, git-completion + +Package: libacl1 +Architecture: arm64 +Version: 2.3.1-1 +APT-ID: 1513 +Multi-Arch: same +Source: acl +Source-Version: 2.3.1-1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: libtss2-tcti-cmd0 +Architecture: arm64 +Version: 3.2.0-1ubuntu1 +APT-ID: 3830 +Multi-Arch: same +Source: tpm2-tss +Source-Version: 3.2.0-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: tpm-udev, libc6 (>= 2.17), libtss2-mu0 (>= 3.0.1) +Replaces: libtss2-esys0 (<< 3.0.1-2) +Breaks: libtss2-esys0 (<< 3.0.1-2) + +Package: gpg +Architecture: arm64 +Version: 2.2.27-3ubuntu2.1 +APT-ID: 64866 +Multi-Arch: foreign +Source: gnupg2 +Source-Version: 2.2.27-3ubuntu2.1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gpgconf (= 2.2.27-3ubuntu2.1), libassuan0 (>= 2.5.0), libbz2-1.0, libc6 (>= 2.34), libgcrypt20 (>= 1.9.0), libgpg-error0 (>= 1.42), libreadline8 (>= 6.0), libsqlite3-0 (>= 3.7.15), zlib1g (>= 1:1.1.4) +Recommends: gnupg (= 2.2.27-3ubuntu2.1) +Replaces: gnupg (<< 2.1.21-4) +Breaks: gnupg (<< 2.1.21-4) + +Package: libglib2.0-bin +Architecture: arm64 +Version: 2.72.1-1 +APT-ID: 2320 +Multi-Arch: foreign +Source: glib2.0 +Source-Version: 2.72.1-1 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libglib2.0-data, libc6 (>= 2.34), libelf1 (>= 0.142), libglib2.0-0 (= 2.72.1-1) + +Package: systemd-timesyncd +Architecture: arm64 +Version: 249.11-0ubuntu3.4 +APT-ID: 66185 +Multi-Arch: foreign +Source: systemd +Source-Version: 249.11-0ubuntu3.4 +Priority: required +Section: admin +APT-Release: + v=22.04,o=Ubuntu,a=jammy-proposed,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), systemd (= 249.11-0ubuntu3.4), adduser +Conflicts: time-daemon +Replaces: systemd (<< 245.4-2~), time-daemon +Breaks: systemd (<< 245.4-2~) +Provides: time-daemon + +Package: systemd-timesyncd +Architecture: arm64 +Version: 249.11-0ubuntu3.1 +APT-ID: 68003 +Multi-Arch: foreign +Source: systemd +Source-Version: 249.11-0ubuntu3.1 +Priority: required +Section: admin +Installed: yes +APT-Pin: 100 +APT-Automatic: yes +Depends: libc6 (>= 2.34), systemd (= 249.11-0ubuntu3.1), adduser +Conflicts: time-daemon +Replaces: systemd (<< 245.4-2~), time-daemon +Breaks: systemd (<< 245.4-2~) +Provides: time-daemon + +Package: perl +Architecture: arm64 +Version: 5.34.0-3ubuntu1 +APT-ID: 4742 +Multi-Arch: allowed +Source: perl +Source-Version: 5.34.0-3ubuntu1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl-base (= 5.34.0-3ubuntu1), perl-modules-5.34 (>= 5.34.0-3ubuntu1), libperl5.34 (= 5.34.0-3ubuntu1) +Pre-Depends: dpkg (>= 1.17.17) +Suggests: perl-doc, libterm-readline-gnu-perl | libterm-readline-perl-perl, make, libtap-harness-archive-perl +Recommends: netbase +Conflicts: libjson-pp-perl (<< 2.27200-2) +Replaces: perl-base (<< 5.34.0-2), perl-modules (<< 5.22.0~) +Breaks: apt-show-versions (<< 0.22.10), libdist-inkt-perl (<< 0.024-5), libmarc-charset-perl (<< 1.35-3), libperl-dev (<< 5.24.0~), perl-doc (<< 5.34.0-1), perl-modules-5.22, perl-modules-5.24, perl-modules-5.26 (<< 5.26.2-5) +Provides: podlators-perl (= 4.14), libversion-requirements-perl, libversion-perl (= 1:0.9928), libunicode-collate-perl (= 1.29), libtime-piece-perl (= 1.3401), libtime-local-perl (= 1.3000), libtime-hires-perl (= 1.9767), libthreads-shared-perl (= 1.62), libthreads-perl (= 2.26), libthread-queue-perl (= 3.14), libtest-use-ok-perl (= 1.302183), libtest-tester-perl (= 1.302183), libtest-simple-perl (= 1.302183), libtest-harness-perl (= 3.43), libsys-syslog-perl (= 0.36), libstorable-perl (= 3.23), libpod-simple-perl (= 3.42), libpod-escapes-perl (= 1.07), libperl-ostype-perl (= 1.010), libparse-cpan-meta-perl (= 2.150010), libparent-perl (= 0.238), libparams-check-perl (= 0.38), libnet-ping-perl (= 2.74), libnet-perl (= 1:3.13), libmodule-metadata-perl (= 1.000037), libmodule-load-perl (= 0.36), libmodule-load-conditional-perl (= 0.74), libmodule-corelist-perl (= 5.20210520), libmime-base64-perl (= 3.16), libmath-complex-perl (= 1.5902), libmath-bigint-perl (= 1.999818), liblocale-maketext-simple-perl (= 0.21.01), liblocale-maketext-perl (= 1.29), libjson-pp-perl (= 4.06000), libio-zlib-perl (= 1.11), libio-compress-zlib-perl (= 2.102), libio-compress-perl (= 2.102), libio-compress-bzip2-perl (= 2.102), libio-compress-base-perl (= 2.102), libi18n-langtags-perl (= 0.45), libhttp-tiny-perl (= 0.076), libfile-spec-perl (= 3.8000), libextutils-parsexs-perl (= 3.430000), libextutils-install-perl (= 2.20), libextutils-command-perl (= 7.62), libextutils-cbuilder-perl (= 0.280236), libexperimental-perl (= 0.024), libencode-perl (= 3.08), libdigest-sha-perl (= 6.02), libdigest-perl (= 1.19), libdigest-md5-perl (= 2.58), libcpan-meta-yaml-perl (= 0.018), libcpan-meta-requirements-perl (= 2.140), libcpan-meta-perl (= 2.150010), libcompress-zlib-perl (= 2.102), libcompress-raw-zlib-perl (= 2.101), libcompress-raw-bzip2-perl (= 2.101), libautodie-perl (= 2.34), libattribute-handlers-perl (= 1.01), libarchive-tar-perl (= 2.38), libansicolor-perl (= 5.01) + +Package: polkitd +Architecture: arm64 +Version: 0.105-33 +APT-ID: 4812 +Multi-Arch: foreign +Source: policykit-1 +Source-Version: 0.105-33 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dbus, default-logind | logind, libc6 (>= 2.34), libexpat1 (>= 2.0.1), libglib2.0-0 (>= 2.37.3), libpam0g (>= 0.99.7.1), libpolkit-agent-1-0 (= 0.105-33), libpolkit-gobject-1-0 (= 0.105-33), libsystemd0 (>= 213) +Replaces: policykit-1 (<< 0.105-32~) +Breaks: policykit-1 (<< 0.105-32~) +Provides: polkitd-pkla (= 0.105-33) + +Package: lxd-agent-loader +Architecture: all +Version: 0.5 +APT-ID: 4492 +Source: lxd-agent-loader +Source-Version: 0.5 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libtinfo6 +Architecture: arm64 +Version: 6.3-2 +APT-ID: 3792 +Multi-Arch: same +Source: ncurses +Source-Version: 6.3-2 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: libtirpc-common +Architecture: all +Version: 1.3.2-2build1 +APT-ID: 3793 +Multi-Arch: foreign +Source: libtirpc +Source-Version: 1.3.2-2build1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: libtirpc1, libtirpc3 (<< 1.1.4-0.1~) +Breaks: libtirpc1, libtirpc3 (<< 1.1.4-0.1~) + +Package: tzdata +Architecture: all +Version: 2022a-0ubuntu1 +APT-ID: 5746 +Multi-Arch: foreign +Source: tzdata +Source-Version: 2022a-0ubuntu1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf (>= 0.5) | debconf-2.0 +Provides: tzdata-bookworm + +Package: libntfs-3g89 +Architecture: arm64 +Version: 1:2021.8.22-3ubuntu1.1 +APT-ID: 65024 +Source: ntfs-3g +Source-Version: 1:2021.8.22-3ubuntu1.1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: libblockdev-swap2 +Architecture: arm64 +Version: 2.26-1 +APT-ID: 1686 +Multi-Arch: same +Source: libblockdev +Source-Version: 2.26-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libblkid1 (>= 2.23.0), libblockdev-utils2 (>= 2.14), libc6 (>= 2.17), libglib2.0-0 (>= 2.42.2) + +Package: libunwind8 +Architecture: arm64 +Version: 1.3.2-2build2 +APT-ID: 3882 +Multi-Arch: same +Source: libunwind +Source-Version: 1.3.2-2build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), liblzma5 (>= 5.1.1alpha+20110809) +Conflicts: libunwind1-dev +Replaces: libgcc1 (<< 1:4.0.0-2) + +Package: ntfs-3g +Architecture: arm64 +Version: 1:2021.8.22-3ubuntu1.1 +APT-ID: 66085 +Source: ntfs-3g +Source-Version: 1:2021.8.22-3ubuntu1.1 +Priority: standard +Section: otherosfs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgcrypt20 (>= 1.9.0), libgnutls30 (>= 3.7.2), libntfs-3g89 (= 1:2021.8.22-3ubuntu1.1) +Pre-Depends: fuse3 + +Package: libmagic-mgc +Architecture: arm64 +Version: 1:5.41-3 +APT-ID: 2808 +Multi-Arch: foreign +Source: file +Source-Version: 1:5.41-3 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: libmagic1 (<< 1:5.28-4~) +Breaks: libmagic1 (<< 1:5.28-4~) + +Package: libpcre3 +Architecture: arm64 +Version: 2:8.39-13ubuntu0.22.04.1 +APT-ID: 65033 +Multi-Arch: same +Source: pcre3 +Source-Version: 2:8.39-13ubuntu0.22.04.1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) +Conflicts: libpcre3-dev (<= 4.3-3) +Breaks: approx (<< 4.4-1~), cduce (<< 0.5.3-2~), cmigrep (<< 1.5-7~), galax (<< 1.1-7~), libpcre-ocaml (<< 6.0.1~), liquidsoap (<< 0.9.2-3~), ocsigen (<< 1.3.3-1~) + +Package: systemd-tests +Architecture: arm64 +Version: 249.11-0ubuntu3.4 +APT-ID: 67124 +Source: systemd +Source-Version: 249.11-0ubuntu3.4 +Priority: optional +Section: universe/admin +APT-Release: + v=22.04,o=Ubuntu,a=jammy-proposed,n=jammy,l=Ubuntu,c=universe,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=universe,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libacl1 (>= 2.2.23), libapparmor1 (>= 2.13), libaudit1 (>= 1:2.2.1), libblkid1 (>= 2.37.2), libc6 (>= 2.34), libcap2 (>= 1:2.24-9~), libcrypt1 (>= 1:4.4.0), libdbus-1-3 (>= 1.9.14), libgcrypt20 (>= 1.9.0), libglib2.0-0 (>= 2.26.0), libgpg-error0 (>= 1.14), libkmod2 (>= 5~), liblz4-1 (>= 0.0~r130), liblzma5 (>= 5.1.1alpha+20120614), libmount1 (>= 2.30), libpam0g (>= 0.99.7.1), libseccomp2 (>= 2.4.1), libselinux1 (>= 3.1~), libsystemd0 (= 249.11-0ubuntu3.4), libudev1 (>= 247), libzstd1 (>= 1.4.0), systemd (= 249.11-0ubuntu3.4), zlib1g (>= 1:1.1.4), python3 + +Package: libunistring2 +Architecture: arm64 +Version: 1.0-1 +APT-ID: 3863 +Multi-Arch: same +Source: libunistring +Source-Version: 1.0-1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: zerofree +Architecture: arm64 +Version: 1.1.1-1build3 +APT-ID: 5954 +Source: zerofree +Source-Version: 1.1.1-1build3 +Priority: extra +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libext2fs2 (>= 1.42) + +Package: kbd +Architecture: arm64 +Version: 2.3.0-3ubuntu4 +APT-ID: 1126 +Source: kbd +Source-Version: 2.3.0-3ubuntu4 +Priority: required +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), console-setup | console-setup-mini +Conflicts: console-utilities +Provides: console-utilities + +Package: libidn2-0 +Architecture: arm64 +Version: 2.3.2-2build1 +APT-ID: 2567 +Multi-Arch: same +Source: libidn2 +Source-Version: 2.3.2-2build1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libunistring2 (>= 0.9.7) + +Package: python3-cffi-backend +Architecture: arm64 +Version: 1.15.0-1build2 +APT-ID: 5056 +Multi-Arch: same +Source: python-cffi +Source-Version: 1.15.0-1build2 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3 (<< 3.11), python3 (>= 3.10~), libc6 (>= 2.34), libffi8 (>= 3.4) +Provides: python3-cffi-backend-api-min (= 9729), python3-cffi-backend-api-max (= 10495), python3-cffi-backend-api-9729 + +Package: libldap-common +Architecture: all +Version: 2.5.12+dfsg-0ubuntu0.22.04.1 +APT-ID: 64998 +Multi-Arch: foreign +Source: openldap +Source-Version: 2.5.12+dfsg-0ubuntu0.22.04.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: libldap-2.4-2 (<< 2.4.44+dfsg-1) + +Package: libgusb2 +Architecture: arm64 +Version: 0.3.10-1 +APT-ID: 2496 +Multi-Arch: same +Source: libgusb +Source-Version: 0.3.10-1 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libglib2.0-0 (>= 2.44.0), libusb-1.0-0 (>= 2:1.0.22) +Recommends: usb.ids + +Package: libtasn1-6 +Architecture: arm64 +Version: 4.18.0-4build1 +APT-ID: 3742 +Multi-Arch: same +Source: libtasn1-6 +Source-Version: 4.18.0-4build1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) + +Package: libaio1 +Architecture: arm64 +Version: 0.3.112-13build1 +APT-ID: 1520 +Multi-Arch: same +Source: libaio +Source-Version: 0.3.112-13build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) + +Package: python3-minimal +Architecture: arm64 +Version: 3.10.4-0ubuntu2 +APT-ID: 5198 +Multi-Arch: allowed +Source: python3-defaults +Source-Version: 3.10.4-0ubuntu2 +Priority: required +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dpkg (>= 1.13.20) +Pre-Depends: python3.10-minimal (>= 3.10.4-1~) + +Package: libmbim-glib4 +Architecture: arm64 +Version: 1.26.2-1build1 +APT-ID: 2826 +Multi-Arch: same +Source: libmbim +Source-Version: 1.26.2-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libglib2.0-0 (>= 2.56) + +Package: libpam-systemd +Architecture: arm64 +Version: 249.11-0ubuntu3.4 +APT-ID: 65031 +Multi-Arch: same +Source: systemd +Source-Version: 249.11-0ubuntu3.4 +Priority: required +Section: admin +APT-Release: + v=22.04,o=Ubuntu,a=jammy-proposed,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcap2 (>= 1:2.24-9~), libpam0g (>= 0.99.7.1), systemd (= 249.11-0ubuntu3.4), libpam-runtime (>= 1.0.1-6), default-dbus-system-bus | dbus-system-bus, systemd-sysv +Provides: logind (= 249.11-0ubuntu3.4), default-logind (= 249.11-0ubuntu3.4) + +Package: libpam-systemd +Architecture: arm64 +Version: 249.11-0ubuntu3.1 +APT-ID: 67998 +Multi-Arch: same +Source: systemd +Source-Version: 249.11-0ubuntu3.1 +Priority: required +Section: admin +Installed: yes +APT-Pin: 100 +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcap2 (>= 1:2.24-9~), libpam0g (>= 0.99.7.1), systemd (= 249.11-0ubuntu3.1), libpam-runtime (>= 1.0.1-6), default-dbus-system-bus | dbus-system-bus, systemd-sysv +Provides: logind (= 249.11-0ubuntu3.1), default-logind (= 249.11-0ubuntu3.1) + +Package: usb-modeswitch-data +Architecture: all +Version: 20191128-4 +APT-ID: 5807 +Source: usb-modeswitch-data +Source-Version: 20191128-4 +Priority: extra +Section: comm +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: udev, usb-modeswitch (>= 2.4.0) +Conflicts: usb-modeswitch-data-packed +Replaces: usb-modeswitch-data-packed +Breaks: usb-modeswitch (<< 2.4.0) +Provides: usb-modeswitch-data-packed + +Package: libubootenv-tool +Architecture: arm64 +Version: 0.3.2-1build1 +APT-ID: 3844 +Multi-Arch: foreign +Source: libubootenv +Source-Version: 0.3.2-1build1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libubootenv0.1 (= 0.3.2-1build1) +Conflicts: u-boot-tools (<< 2019.10) + +Package: libtss2-tcti-device0 +Architecture: arm64 +Version: 3.2.0-1ubuntu1 +APT-ID: 3831 +Multi-Arch: same +Source: tpm2-tss +Source-Version: 3.2.0-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: tpm-udev, libc6 (>= 2.17), libtss2-mu0 (>= 3.0.1) +Replaces: libtss2-esys0 (<< 3.0.1-2) +Breaks: libtss2-esys0 (<< 3.0.1-2) + +Package: byobu +Architecture: all +Version: 5.133-1 +APT-ID: 144 +Source: byobu +Source-Version: 5.133-1 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf (>= 0.5) | debconf-2.0, python3:any, gettext-base, iproute2, python3, python3-newt, tmux (>= 1.5), gawk +Suggests: apport, ccze, gnome-terminal | xterm, gnupg, lsb-release, po-debconf, screen, speedometer, ttf-ubuntu-font-family (>= 0.80-0ubuntu1~medium), update-notifier-common, vim, wireless-tools +Recommends: less, pastebinit, sensible-utils, run-one +Replaces: bikeshed (<< 1.64), byobu-extras (<< 2.17), screen-profiles (<< 2.0), screen-profiles-extras (<< 2.0) +Breaks: bikeshed (<< 1.64), byobu-extras (<< 2.17), screen-profiles (<< 2.0), screen-profiles-extras (<< 2.0) +Enhances: screen +Provides: screen-profiles-extras, screen-profiles, byobu-extras + +Package: liblzo2-2 +Architecture: arm64 +Version: 2.10-2build3 +APT-ID: 2801 +Multi-Arch: same +Source: lzo2 +Source-Version: 2.10-2build3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) + +Package: device-tree-compiler +Architecture: arm64 +Version: 1.6.1-1 +APT-ID: 292 +Multi-Arch: foreign +Source: device-tree-compiler +Source-Version: 1.6.1-1 +Priority: extra +Section: devel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libfdt1 (>= 1.6.1), libyaml-0-2 + +Package: libmpdec3 +Architecture: arm64 +Version: 2.5.1-2build2 +APT-ID: 2894 +Multi-Arch: same +Source: mpdecimal +Source-Version: 2.5.1-2build2 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.32), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 5.2) +Breaks: libpython3.8-stdlib (<< 2.8.5-2) + +Package: libselinux1 +Architecture: arm64 +Version: 3.3-1build2 +APT-ID: 3586 +Multi-Arch: same +Source: libselinux +Source-Version: 3.3-1build2 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libpcre2-8-0 (>= 10.22) + +Package: libarchive13 +Architecture: arm64 +Version: 3.6.0-1ubuntu1 +APT-ID: 1560 +Multi-Arch: same +Source: libarchive +Source-Version: 3.6.0-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libacl1 (>= 2.2.23), libbz2-1.0, libc6 (>= 2.33), liblz4-1 (>= 0.0~r130), liblzma5 (>= 5.2.2), libnettle8, libxml2 (>= 2.7.4), libzstd1 (>= 1.4.0), zlib1g (>= 1:1.1.4) +Suggests: lrzip + +Package: python3-lib2to3 +Architecture: all +Version: 3.10.4-0ubuntu1 +APT-ID: 5176 +Multi-Arch: foreign +Source: python3-stdlib-extensions +Source-Version: 3.10.4-0ubuntu1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3:any (>= 3.10.1-0~), python3:any (<< 3.11) +Replaces: libpython3.6-stdlib (<< 3.6.4~rc1-2), libpython3.7-stdlib (<< 3.7.0~a3-3), python3.6-2to3 (<< 3.6.4-2), python3.7-2to3 (<< 3.7.0~a3-3) +Breaks: libpython3.10-stdlib (<< 3.10.0~b1), libpython3.6-stdlib (<< 3.6.4~rc1-2), libpython3.7-stdlib (<< 3.7.0~a3-3), python3.6-2to3 (<< 3.6.4-2), python3.7-2to3 (<< 3.7.0~a3-3) +Provides: python3.10-lib2to3 + +Package: libxmlb2 +Architecture: arm64 +Version: 0.3.6-2build1 +APT-ID: 4148 +Multi-Arch: same +Source: libxmlb +Source-Version: 0.3.6-2build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libglib2.0-0 (>= 2.53.2), liblzma5 (>= 5.1.1alpha+20120614) + +Package: usb.ids +Architecture: all +Version: 2022.04.02-1 +APT-ID: 5808 +Multi-Arch: foreign +Source: usb.ids +Source-Version: 2022.04.02-1 +Priority: standard +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: usbutils (<< 1:008-1) +Breaks: usbutils (<< 1:008-1) + +Package: liblzma5 +Architecture: arm64 +Version: 5.2.5-2ubuntu1 +APT-ID: 2800 +Multi-Arch: same +Source: xz-utils +Source-Version: 5.2.5-2ubuntu1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Breaks: liblzma2 (<< 5.1.1alpha+20110809-3~) + +Package: sed +Architecture: arm64 +Version: 4.8-1ubuntu2 +APT-ID: 5526 +Essential: yes +Multi-Arch: foreign +Source: sed +Source-Version: 4.8-1ubuntu2 +Priority: important +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Pre-Depends: libacl1 (>= 2.2.23), libc6 (>= 2.34), libselinux1 (>= 3.1~) + +Package: lsb-base +Architecture: all +Version: 11.1.0ubuntu4 +APT-ID: 4482 +Multi-Arch: foreign +Source: lsb +Source-Version: 11.1.0ubuntu4 +Priority: important +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: tar +Architecture: arm64 +Version: 1.34+dfsg-1build3 +APT-ID: 5618 +Essential: yes +Multi-Arch: foreign +Source: tar +Source-Version: 1.34+dfsg-1build3 +Priority: important +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Pre-Depends: libacl1 (>= 2.2.23), libc6 (>= 2.34), libselinux1 (>= 3.1~) +Suggests: bzip2, ncompress, xz-utils, tar-scripts, tar-doc +Conflicts: cpio (<= 2.4.2-38) +Replaces: cpio (<< 2.4.2-39) +Breaks: dpkg-dev (<< 1.14.26) + +Package: tcl +Architecture: arm64 +Version: 8.6.11+1build2 +APT-ID: 5621 +Multi-Arch: foreign +Source: tcltk-defaults +Source-Version: 8.6.11+1build2 +Priority: optional +Section: interpreters +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: tcl8.6 (>= 8.6.11+dfsg-1~) +Breaks: tcl8.3 (<< 8.3.5-15), tcl8.4 (<< 8.4.20-2), tcl8.5 (<< 8.5.14-3), tcl8.6 (<< 8.6.0-2) +Provides: tclsh + +Package: ucf +Architecture: all +Version: 3.0043 +APT-ID: 5784 +Multi-Arch: foreign +Source: ucf +Source-Version: 3.0043 +Priority: required +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf (>= 1.5.19), coreutils (>= 5.91), sensible-utils + +Package: ufw +Architecture: all +Version: 0.36.1-4build1 +APT-ID: 5788 +Source: ufw +Source-Version: 0.36.1-4build1 +Priority: standard +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: iptables, lsb-base (>= 3.0-6), ucf, python3:any, debconf (>= 0.5) | debconf-2.0 +Suggests: rsyslog + +Package: python3-lazr.restfulclient +Architecture: all +Version: 0.14.4-1 +APT-ID: 5170 +Source: lazr.restfulclient +Source-Version: 0.14.4-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-httplib2 (>= 0.7.7), python3-lazr.uri, python3-wadllib (>= 1.1.4), python3-distro, python3-oauthlib, python3-pkg-resources, python3-six, python3:any + +Package: sg3-utils +Architecture: arm64 +Version: 1.46-1build1 +APT-ID: 5530 +Source: sg3-utils +Source-Version: 1.46-1build1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libsgutils2-2 (>= 1.46) +Conflicts: cdwrite, sg-utils +Replaces: sg-utils + +Package: libcap2-bin +Architecture: arm64 +Version: 1:2.44-1build3 +APT-ID: 1784 +Multi-Arch: foreign +Source: libcap2 +Source-Version: 1:2.44-1build3 +Priority: required +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcap2 (>= 1:2.33) +Recommends: libpam-cap +Replaces: libcap-bin +Breaks: libcap-bin + +Package: vim +Architecture: arm64 +Version: 2:8.2.3995-1ubuntu2 +APT-ID: 5820 +Source: vim +Source-Version: 2:8.2.3995-1ubuntu2 +Priority: optional +Section: editors +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: vim-common (= 2:8.2.3995-1ubuntu2), vim-runtime (= 2:8.2.3995-1ubuntu2), libacl1 (>= 2.2.23), libc6 (>= 2.34), libgpm2 (>= 1.20.7), libpython3.10 (>= 3.10.0), libselinux1 (>= 3.1~), libsodium23 (>= 1.0.14), libtinfo6 (>= 6) +Suggests: ctags, vim-doc, vim-scripts +Provides: editor + +Package: whiptail +Architecture: arm64 +Version: 0.52.21-5ubuntu2 +APT-ID: 5845 +Multi-Arch: foreign +Source: newt +Source-Version: 0.52.21-5ubuntu2 +Priority: required +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libnewt0.52 (>= 0.52.21), libpopt0 (>= 1.14), libslang2 (>= 2.2.4) + +Package: gir1.2-glib-2.0 +Architecture: arm64 +Version: 1.72.0-1 +APT-ID: 660 +Multi-Arch: same +Source: gobject-introspection +Source-Version: 1.72.0-1 +Priority: required +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libgirepository-1.0-1 (>= 1.72.0), libglib2.0-0 (>= 2.71.2) +Provides: gir1.2-gobject-2.0 (= 1.72.0-1), gir1.2-gmodule-2.0 (= 1.72.0-1), gir1.2-girepository-2.0 (= 1.72.0-1), gir1.2-gio-2.0 (= 1.72.0-1) + +Package: base-passwd +Architecture: arm64 +Version: 3.5.52build1 +APT-ID: 85 +Essential: yes +Multi-Arch: foreign +Source: base-passwd +Source-Version: 3.5.52build1 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libc6 (>= 2.34), libdebconfclient0 (>= 0.145) +Recommends: debconf (>= 0.5) | debconf-2.0 +Replaces: base + +Package: libsasl2-modules +Architecture: arm64 +Version: 2.1.27+dfsg2-3ubuntu1 +APT-ID: 3570 +Multi-Arch: same +Source: cyrus-sasl2 +Source-Version: 2.1.27+dfsg2-3ubuntu1 +Priority: optional +Section: devel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libssl3 (>= 3.0.0~~alpha1) +Suggests: libsasl2-modules-gssapi-mit | libsasl2-modules-gssapi-heimdal, libsasl2-modules-ldap, libsasl2-modules-otp, libsasl2-modules-sql +Breaks: logcheck-database (<= 1.3.16~) + +Package: libsasl2-2 +Architecture: arm64 +Version: 2.1.27+dfsg2-3ubuntu1 +APT-ID: 3568 +Multi-Arch: same +Source: cyrus-sasl2 +Source-Version: 2.1.27+dfsg2-3ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libsasl2-modules-db (>= 2.1.27+dfsg2-3ubuntu1), libc6 (>= 2.34) +Recommends: libsasl2-modules (>= 2.1.27+dfsg2-3ubuntu1) +Replaces: libsasl2 +Breaks: postfix (<= 2.8.3-1), slapd (<= 2.4.25-3) + +Package: libatm1 +Architecture: arm64 +Version: 1:2.5.1-4build2 +APT-ID: 1599 +Multi-Arch: same +Source: linux-atm +Source-Version: 1:2.5.1-4build2 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: xxd +Architecture: arm64 +Version: 2:8.2.3995-1ubuntu2 +APT-ID: 5944 +Multi-Arch: foreign +Source: vim +Source-Version: 2:8.2.3995-1ubuntu2 +Priority: required +Section: editors +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Replaces: vim-common (<< 2:7.4.2347-1~) +Breaks: vim-common (<< 2:7.4.2347-1~) + +Package: libexpat1 +Architecture: arm64 +Version: 2.4.7-1 +APT-ID: 2119 +Multi-Arch: same +Source: expat +Source-Version: 2.4.7-1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.25) + +Package: libdb5.3 +Architecture: arm64 +Version: 5.3.28+dfsg1-0.8ubuntu3 +APT-ID: 1936 +Multi-Arch: same +Source: db5.3 +Source-Version: 5.3.28+dfsg1-0.8ubuntu3 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: libbinutils +Architecture: arm64 +Version: 2.38-3ubuntu1 +APT-ID: 1655 +Multi-Arch: same +Source: binutils +Source-Version: 2.38-3ubuntu1 +Priority: optional +Section: devel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), zlib1g (>= 1:1.2.0), binutils-common (= 2.38-3ubuntu1) +Replaces: binutils (<< 2.29-6) +Breaks: binutils (<< 2.29-6) + +Package: libgcab-1.0-0 +Architecture: arm64 +Version: 1.4-3build2 +APT-ID: 2229 +Multi-Arch: same +Source: gcab +Source-Version: 1.4-3build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libglib2.0-0 (>= 2.61.2), zlib1g (>= 1:1.1.4) + +Package: libp11-kit0 +Architecture: arm64 +Version: 0.24.0-6build1 +APT-ID: 3095 +Multi-Arch: same +Source: p11-kit +Source-Version: 0.24.0-6build1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libffi8 (>= 3.4) +Breaks: opencryptoki (<= 3.6.1+dfsg-1) + +Package: python3-jeepney +Architecture: all +Version: 0.7.1-3 +APT-ID: 5154 +Source: jeepney +Source-Version: 0.7.1-3 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any + +Package: libpython3.10-minimal +Architecture: arm64 +Version: 3.10.4-3 +APT-ID: 3272 +Multi-Arch: same +Source: python3.10 +Source-Version: 3.10.4-3 +Priority: required +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libssl3 (>= 3.0.0~~alpha1) +Recommends: libpython3.10-stdlib +Conflicts: binfmt-support (<< 1.1.2) + +Package: libfwupd2 +Architecture: arm64 +Version: 1.7.5-3 +APT-ID: 2214 +Multi-Arch: same +Source: fwupd +Source-Version: 1.7.5-3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.27), libcurl3-gnutls (>= 7.63.0), libglib2.0-0 (>= 2.53.2), libjcat1 (>= 0.1.0), libjson-glib-1.0-0 (>= 1.5.2) + +Package: libapt-pkg6.0 +Architecture: arm64 +Version: 2.4.6 +APT-ID: 67194 +Multi-Arch: same +Source: apt +Source-Version: 2.4.6 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-proposed,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbz2-1.0, libc6 (>= 2.34), libgcc-s1 (>= 3.3.1), libgcrypt20 (>= 1.9.0), liblz4-1 (>= 0.0~r127), liblzma5 (>= 5.1.1alpha+20120614), libstdc++6 (>= 11), libsystemd0 (>= 221), libudev1 (>= 183), libxxhash0 (>= 0.7.1), libzstd1 (>= 1.4.0), zlib1g (>= 1:1.2.2.3) +Recommends: apt (>= 2.4.6) +Breaks: appstream (<< 0.9.0-3~), apt (<< 1.6~), aptitude (<< 0.8.9), dpkg (<< 1.20.8), libapt-inst1.5 (<< 0.9.9~) +Provides: libapt-pkg (= 2.4.6) + +Package: python3-ptyprocess +Architecture: all +Version: 0.7.0-3 +APT-ID: 5286 +Source: ptyprocess +Source-Version: 0.7.0-3 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any + +Package: libxmuu1 +Architecture: arm64 +Version: 2:1.1.3-3 +APT-ID: 4160 +Multi-Arch: same +Source: libxmu +Source-Version: 2:1.1.3-3 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libx11-6 + +Package: initramfs-tools-bin +Architecture: arm64 +Version: 0.140ubuntu13 +APT-ID: 1090 +Source: initramfs-tools +Source-Version: 0.140ubuntu13 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgcc-s1 (>= 3.0), libudev1 (>= 183) + +Package: libefivar1 +Architecture: arm64 +Version: 37-6ubuntu2 +APT-ID: 2070 +Multi-Arch: same +Source: efivar +Source-Version: 37-6ubuntu2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Breaks: efibootmgr (<< 0.12-2) + +Package: python3-hyperlink +Architecture: all +Version: 21.0.0-3 +APT-ID: 5139 +Source: hyperlink +Source-Version: 21.0.0-3 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-idna (>= 2.5), python3:any + +Package: apparmor +Architecture: arm64 +Version: 3.0.4-2ubuntu2.1 +APT-ID: 64744 +Source: apparmor +Source-Version: 3.0.4-2ubuntu2.1 +Priority: standard +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf, lsb-base, debconf (>= 0.5) | debconf-2.0, libc6 (>= 2.34) +Suggests: apparmor-profiles-extra, apparmor-utils +Replaces: fcitx-data (<< 1:4.2.9.1-1ubuntu2) +Breaks: apparmor-profiles-extra (<< 1.21), fcitx-data (<< 1:4.2.9.1-1ubuntu2), snapd (<< 2.44.3+20.04~) + +Package: python3-twisted +Architecture: all +Version: 22.1.0-2ubuntu2.1 +APT-ID: 66144 +Source: twisted +Source-Version: 22.1.0-2ubuntu2.1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-bcrypt (>= 3.0.0), python3-cryptography (>= 2.5), python3-hamcrest, python3-idna, python3-openssl, python3-service-identity (>= 18.1.0), python3-attr (>= 19.2.0), python3-automat (>= 0.8.0), python3-constantly, python3-hyperlink, python3-incremental (>= 21.3.0), python3-zope.interface (>= 4.4.2), python3:any +Suggests: python3-pampy, python3-serial, python3-tk, python3-wxgtk4.0 +Conflicts: python3-twisted-experimental +Replaces: python3-twisted-experimental +Breaks: python3-h2 (<< 3.0.0), python3-treq (<< 20.9.0) + +Package: patch +Architecture: arm64 +Version: 2.7.6-7build2 +APT-ID: 4736 +Multi-Arch: foreign +Source: patch +Source-Version: 2.7.6-7build2 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Suggests: ed, diffutils-doc + +Package: libfido2-1 +Architecture: arm64 +Version: 1.10.0-1 +APT-ID: 2147 +Multi-Arch: same +Source: libfido2 +Source-Version: 1.10.0-1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libcbor0.8 (>= 0.5.0), libssl3 (>= 3.0.0~~alpha1), libudev1 (>= 183), zlib1g (>= 1:1.2.0) + +Package: kmod +Architecture: arm64 +Version: 29-1ubuntu1 +APT-ID: 1138 +Multi-Arch: foreign +Source: kmod +Source-Version: 29-1ubuntu1 +Priority: required +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), liblzma5 (>= 5.1.1alpha+20120614), libssl3 (>= 3.0.0~~alpha1), libzstd1 (>= 1.4.0), libkmod2 (= 29-1ubuntu1), lsb-base + +Package: libtss2-tcti-swtpm0 +Architecture: arm64 +Version: 3.2.0-1ubuntu1 +APT-ID: 3833 +Multi-Arch: same +Source: tpm2-tss +Source-Version: 3.2.0-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: tpm-udev, libc6 (>= 2.17), libtss2-mu0 (>= 3.0.1) +Replaces: libtss2-esys0 (<< 3.0.1-2) +Breaks: libtss2-esys0 (<< 3.0.1-2) + +Package: busybox-static +Architecture: arm64 +Version: 1:1.30.1-7ubuntu3 +APT-ID: 142 +Source: busybox +Source-Version: 1:1.30.1-7ubuntu3 +Priority: standard +Section: shells +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Conflicts: busybox +Replaces: busybox +Provides: busybox + +Package: libblockdev-fs2 +Architecture: arm64 +Version: 2.26-1 +APT-ID: 1670 +Multi-Arch: same +Source: libblockdev +Source-Version: 2.26-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libblkid1 (>= 2.24.2), libblockdev-part-err2 (>= 2.14), libblockdev-utils2 (>= 2.16), libc6 (>= 2.17), libglib2.0-0 (>= 2.42.2), libmount1 (>= 2.30.2), libparted-fs-resize0 (>= 3.1), libparted2 (>= 3.1), e2fsprogs + +Package: libmagic1 +Architecture: arm64 +Version: 1:5.41-3 +APT-ID: 2809 +Multi-Arch: same +Source: file +Source-Version: 1:5.41-3 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbz2-1.0, libc6 (>= 2.33), liblzma5 (>= 5.1.1alpha+20120614), zlib1g (>= 1:1.1.4), libmagic-mgc (= 1:5.41-3) +Suggests: file + +Package: python3-distro +Architecture: all +Version: 1.7.0-1 +APT-ID: 5093 +Multi-Arch: foreign +Source: python-distro +Source-Version: 1.7.0-1 +Priority: extra +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: lsb-release, python3:any + +Package: libjansson4 +Architecture: arm64 +Version: 2.13.1-1.1build3 +APT-ID: 2658 +Multi-Arch: same +Source: jansson +Source-Version: 2.13.1-1.1build3 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) + +Package: libfribidi0 +Architecture: arm64 +Version: 1.0.8-2ubuntu3.1 +APT-ID: 64953 +Multi-Arch: same +Source: fribidi +Source-Version: 1.0.8-2ubuntu3.1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) + +Package: libpython3.10-stdlib +Architecture: arm64 +Version: 3.10.4-3 +APT-ID: 3273 +Multi-Arch: same +Source: python3.10 +Source-Version: 3.10.4-3 +Priority: required +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libpython3.10-minimal (= 3.10.4-3), media-types | mime-support, libbz2-1.0, libc6 (>= 2.34), libcrypt1 (>= 1:4.1.0), libdb5.3, libffi8 (>= 3.4), liblzma5 (>= 5.1.1alpha+20120614), libmpdec3, libncursesw6 (>= 6.1), libnsl2 (>= 1.0), libreadline8 (>= 7.0~beta), libsqlite3-0 (>= 3.14.0), libtinfo6 (>= 6), libtirpc3 (>= 1.0.2), libuuid1 (>= 2.20.1) +Replaces: python3-gdbm (<< 3.9.9-1~) +Breaks: python3-gdbm (<< 3.9.9-1~) + +Package: librtmp1 +Architecture: arm64 +Version: 2.4+20151223.gitfa8646d.1-2build4 +APT-ID: 3552 +Multi-Arch: same +Source: rtmpdump +Source-Version: 2.4+20151223.gitfa8646d.1-2build4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libgmp10 (>= 2:6.2.1+dfsg), libgnutls30 (>= 3.7.2), libhogweed6, libnettle8, zlib1g (>= 1:1.1.4) + +Package: debconf +Architecture: all +Version: 1.5.79ubuntu1 +APT-ID: 264 +Multi-Arch: foreign +Source: debconf +Source-Version: 1.5.79ubuntu1 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Pre-Depends: perl-base (>= 5.20.1-3~) +Suggests: debconf-doc, debconf-utils, whiptail | dialog, libterm-readline-gnu-perl, libgtk3-perl, libnet-ldap-perl, perl, debconf-kde-helper (>= 0.1+git20110702) +Recommends: apt-utils (>= 0.5.1), debconf-i18n +Conflicts: apt (<< 0.3.12.1), cdebconf (<< 0.96), debconf-tiny, debconf-utils (<< 1.3.22), dialog (<< 0.9b-20020814-1), menu (<= 2.1.3-1), whiptail (<< 0.51.4-11), whiptail-utf8 (<= 0.50.17-13) +Replaces: debconf-tiny +Breaks: apt-listchanges (<< 3.14), ubiquity (<< 17.10.2), update-notifier-common (<< 3.187~) +Provides: debconf-2.0 + +Package: libgpm2 +Architecture: arm64 +Version: 1.20.7-10build1 +APT-ID: 2415 +Multi-Arch: same +Source: gpm +Source-Version: 1.20.7-10build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) +Suggests: gpm + +Package: vim-common +Architecture: all +Version: 2:8.2.3995-1ubuntu2 +APT-ID: 5821 +Multi-Arch: foreign +Source: vim +Source-Version: 2:8.2.3995-1ubuntu2 +Priority: required +Section: editors +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: xxd +Recommends: vim | vim-gtk3 | vim-athena | vim-nox | vim-tiny + +Package: liblvm2cmd2.03 +Architecture: arm64 +Version: 2.03.11-2.1ubuntu4 +APT-ID: 2792 +Multi-Arch: same +Source: lvm2 +Source-Version: 2.03.11-2.1ubuntu4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libaio1 (>= 0.3.93), libblkid1 (>= 2.24.2), libc6 (>= 2.33), libselinux1 (>= 3.1~), libsystemd0 (>= 222), libudev1 (>= 183), dmeventd + +Package: libsigsegv2 +Architecture: arm64 +Version: 2.13-1ubuntu3 +APT-ID: 3609 +Multi-Arch: same +Source: libsigsegv +Source-Version: 2.13-1ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) + +Package: libip4tc2 +Architecture: arm64 +Version: 1.8.7-1ubuntu5 +APT-ID: 2608 +Multi-Arch: same +Source: iptables +Source-Version: 1.8.7-1ubuntu5 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.28) + +Package: software-properties-common +Architecture: all +Version: 0.99.22.2 +APT-ID: 66176 +Source: software-properties +Source-Version: 0.99.22.2 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: ca-certificates, gir1.2-glib-2.0, gir1.2-packagekitglib-1.0 (>= 1.1.0-2), packagekit, python-apt-common (>= 0.9), python3, python3-dbus, python3-gi, python3-software-properties (= 0.99.22.2), python3:any +Replaces: python-software-properties (<< 0.85), python3-software-properties (<< 0.85) +Breaks: python-software-properties (<< 0.85), python3-software-properties (<< 0.85) + +Package: libsystemd0 +Architecture: arm64 +Version: 249.11-0ubuntu3.4 +APT-ID: 65263 +Multi-Arch: same +Source: systemd +Source-Version: 249.11-0ubuntu3.4 +Priority: important +Section: libs +APT-Release: + v=22.04,o=Ubuntu,a=jammy-proposed,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Pre-Depends: libc6 (>= 2.34), libcap2 (>= 1:2.24-9~), libgcrypt20 (>= 1.9.0), liblz4-1 (>= 0.0~r122), liblzma5 (>= 5.1.1alpha+20120614), libzstd1 (>= 1.4.0) + +Package: libsystemd0 +Architecture: arm64 +Version: 249.11-0ubuntu3.1 +APT-ID: 67999 +Multi-Arch: same +Source: systemd +Source-Version: 249.11-0ubuntu3.1 +Priority: important +Section: libs +Installed: yes +APT-Pin: 100 +APT-Automatic: yes +Pre-Depends: libc6 (>= 2.34), libcap2 (>= 1:2.24-9~), libgcrypt20 (>= 1.9.0), liblz4-1 (>= 0.0~r122), liblzma5 (>= 5.1.1alpha+20120614), libzstd1 (>= 1.4.0) + +Package: pci.ids +Architecture: all +Version: 0.0~2022.01.22-1 +APT-ID: 4739 +Multi-Arch: foreign +Source: pci.ids +Source-Version: 0.0~2022.01.22-1 +Priority: standard +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: pciutils (<< 1:3.6.2-4~) +Breaks: pciutils (<< 1:3.6.2-4~) + +Package: libtcl8.6 +Architecture: arm64 +Version: 8.6.12+dfsg-1build1 +APT-ID: 3745 +Multi-Arch: same +Source: tcl8.6 +Source-Version: 8.6.12+dfsg-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: tzdata, libc6 (>= 2.35), zlib1g (>= 1:1.2.2) +Suggests: tcl8.6 +Conflicts: tcl74 (<= 7.4p3-2), tcl8.6 (<< 8.6.0-2) +Replaces: tcl8.6 (<< 8.6.0-2) +Breaks: nsf (<< 2.2.0) +Provides: libtcl + +Package: libmount1 +Architecture: arm64 +Version: 2.37.2-4ubuntu3 +APT-ID: 2884 +Multi-Arch: same +Source: util-linux +Source-Version: 2.37.2-4ubuntu3 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libblkid1 (>= 2.17.2), libc6 (>= 2.34), libselinux1 (>= 3.1~) +Suggests: cryptsetup-bin + +Package: udisks2 +Architecture: arm64 +Version: 2.9.4-1ubuntu2 +APT-ID: 5786 +Multi-Arch: foreign +Source: udisks2 +Source-Version: 2.9.4-1ubuntu2 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dbus, libblockdev-fs2, libblockdev-loop2, libblockdev-part2, libblockdev-swap2, parted, udev, libacl1 (>= 2.2.23), libatasmart4 (>= 0.13), libblockdev-utils2 (>= 2.24), libblockdev2 (>= 2.25), libc6 (>= 2.34), libglib2.0-0 (>= 2.50), libgudev-1.0-0 (>= 165), libmount1 (>= 2.30), libpolkit-agent-1-0 (>= 0.102), libpolkit-gobject-1-0 (>= 0.102), libsystemd0 (>= 209), libudisks2-0 (>= 2.9.0), libuuid1 (>= 2.16) +Suggests: btrfs-progs, f2fs-tools, libblockdev-mdraid2, mdadm, nilfs-tools, reiserfsprogs, udftools, udisks2-bcache, udisks2-btrfs, udisks2-lvm2, udisks2-zram, xfsprogs, exfatprogs +Recommends: dosfstools, e2fsprogs, eject, libblockdev-crypto2, ntfs-3g, policykit-1, libpam-systemd + +Package: libxau6 +Architecture: arm64 +Version: 1:1.0.9-1build5 +APT-ID: 4030 +Multi-Arch: same +Source: libxau +Source-Version: 1:1.0.9-1build5 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: file +Architecture: arm64 +Version: 1:5.41-3 +APT-ID: 407 +Multi-Arch: foreign +Source: file +Source-Version: 1:5.41-3 +Priority: standard +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libmagic1 (= 1:5.41-3) +Breaks: debhelper (<< 12.2~) + +Package: python3-requests +Architecture: all +Version: 2.25.1+dfsg-2 +APT-ID: 5331 +Source: requests +Source-Version: 2.25.1+dfsg-2 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3-certifi, python3-chardet (>= 3.0.2), python3-idna, python3-urllib3 (>= 1.21.1), python3:any, ca-certificates +Suggests: python3-cryptography, python3-idna (>= 2.5), python3-openssl, python3-socks, python-requests-doc +Breaks: awscli (<< 1.11.139) + +Package: libpipeline1 +Architecture: arm64 +Version: 1.5.5-1 +APT-ID: 3189 +Multi-Arch: same +Source: libpipeline +Source-Version: 1.5.5-1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.26) + +Package: libnss-systemd +Architecture: arm64 +Version: 249.11-0ubuntu3.4 +APT-ID: 65023 +Multi-Arch: same +Source: systemd +Source-Version: 249.11-0ubuntu3.4 +Priority: required +Section: admin +APT-Release: + v=22.04,o=Ubuntu,a=jammy-proposed,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), systemd (= 249.11-0ubuntu3.4) + +Package: libnss-systemd +Architecture: arm64 +Version: 249.11-0ubuntu3.1 +APT-ID: 67997 +Multi-Arch: same +Source: systemd +Source-Version: 249.11-0ubuntu3.1 +Priority: required +Section: admin +Installed: yes +APT-Pin: 100 +APT-Automatic: yes +Depends: libc6 (>= 2.34), systemd (= 249.11-0ubuntu3.1) + +Package: debianutils +Architecture: arm64 +Version: 5.5-1ubuntu2 +APT-ID: 269 +Essential: yes +Multi-Arch: foreign +Source: debianutils +Source-Version: 5.5-1ubuntu2 +Priority: important +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Pre-Depends: libc6 (>= 2.34) +Breaks: ifupdown (<< 0.8.36+nmu1), printer-driver-pnm2ppa (<< 1.13-12), x11-common (<< 1:7.7+23~) + +Package: libpopt0 +Architecture: arm64 +Version: 1.18-3build1 +APT-ID: 3233 +Multi-Arch: same +Source: popt +Source-Version: 1.18-3build1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: libxcb1 +Architecture: arm64 +Version: 1.14-3ubuntu3 +APT-ID: 4094 +Multi-Arch: same +Source: libxcb +Source-Version: 1.14-3ubuntu3 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libxau6 (>= 1:1.0.9), libxdmcp6 +Breaks: alsa-utils (<< 1.0.24.2-5) + +Package: python3-importlib-metadata +Architecture: all +Version: 4.6.4-1 +APT-ID: 5144 +Source: python-importlib-metadata +Source-Version: 4.6.4-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-zipp (>= 0.5), python3:any + +Package: logrotate +Architecture: arm64 +Version: 3.19.0-1ubuntu1.1 +APT-ID: 66040 +Multi-Arch: foreign +Source: logrotate +Source-Version: 3.19.0-1ubuntu1.1 +Priority: required +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: cron | anacron | cron-daemon | systemd-sysv, libacl1 (>= 2.2.23), libc6 (>= 2.34), libpopt0 (>= 1.14), libselinux1 (>= 3.1~) +Suggests: bsd-mailx | mailx + +Package: libapparmor1 +Architecture: arm64 +Version: 3.0.4-2ubuntu2.1 +APT-ID: 64893 +Multi-Arch: same +Source: apparmor +Source-Version: 3.0.4-2ubuntu2.1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Replaces: libapparmor-perl (<< 3.0.3-3) +Breaks: libapparmor-perl (<< 3.0.3-3) + +Package: install-info +Architecture: arm64 +Version: 6.8-4build1 +APT-ID: 1093 +Multi-Arch: foreign +Source: texinfo +Source-Version: 6.8-4build1 +Priority: standard +Section: doc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Pre-Depends: dpkg (>= 1.16.1) +Replaces: texinfo (<< 4.13a.dfsg.1-2) +Breaks: texinfo (<< 4.13a.dfsg.1-2) + +Package: libmspack0 +Architecture: arm64 +Version: 0.10.1-2build2 +APT-ID: 2902 +Multi-Arch: same +Source: libmspack +Source-Version: 0.10.1-2build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) + +Package: systemd-journal-remote +Architecture: arm64 +Version: 249.11-0ubuntu3.4 +APT-ID: 67121 +Multi-Arch: foreign +Source: systemd +Source-Version: 249.11-0ubuntu3.4 +Priority: optional +Section: universe/admin +APT-Release: + v=22.04,o=Ubuntu,a=jammy-proposed,n=jammy,l=Ubuntu,c=universe,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=universe,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libc6 (>= 2.34), libcurl3-gnutls (>= 7.16.2), libgnutls30 (>= 3.7.0), libmicrohttpd12 (>= 0.9.50), systemd (= 249.11-0ubuntu3.4), adduser + +Package: libnuma1 +Architecture: arm64 +Version: 2.0.14-3ubuntu2 +APT-ID: 3037 +Multi-Arch: same +Source: numactl +Source-Version: 2.0.14-3ubuntu2 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: xfsprogs +Architecture: arm64 +Version: 5.13.0-1ubuntu2 +APT-ID: 5911 +Source: xfsprogs +Source-Version: 5.13.0-1ubuntu2 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libblkid1 (>= 2.17.2), libc6 (>= 2.34), libdevmapper1.02.1 (>= 2:1.02.20), libedit2 (>= 2.11-20080614-0), libicu70 (>= 70.1-1~), libinih1 (>= 53), libuuid1 (>= 2.16), python3:any +Suggests: xfsdump, acl, attr, quota +Replaces: xfsdump (<< 3.0.0) +Breaks: xfsdump (<< 3.0.0) +Provides: fsck-backend + +Package: plymouth-theme-ubuntu-text +Architecture: arm64 +Version: 0.9.5+git20211018-1ubuntu3 +APT-ID: 4806 +Source: plymouth +Source-Version: 0.9.5+git20211018-1ubuntu3 +Priority: standard +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libplymouth5 (>= 0.9.2), plymouth (= 0.9.5+git20211018-1ubuntu3), lsb-release +Provides: plymouth-theme + +Package: python3-httplib2 +Architecture: all +Version: 0.20.2-2 +APT-ID: 5138 +Source: python-httplib2 +Source-Version: 0.20.2-2 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: ca-certificates, python3-pyparsing, python3:any +Breaks: python3-pysimplesoap (<< 1.16-2.1), python3-wsgi-intercept (<< 1.9.0) + +Package: python3-hamcrest +Architecture: all +Version: 2.0.2-2 +APT-ID: 5133 +Source: pyhamcrest +Source-Version: 2.0.2-2 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any + +Package: python3 +Architecture: arm64 +Version: 3.10.4-0ubuntu2 +APT-ID: 5010 +Multi-Arch: allowed +Source: python3-defaults +Source-Version: 3.10.4-0ubuntu2 +Priority: required +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3.10 (>= 3.10.4-1~), libpython3-stdlib (= 3.10.4-0ubuntu2) +Pre-Depends: python3-minimal (= 3.10.4-0ubuntu2) +Suggests: python3-doc (>= 3.10.4-0ubuntu2), python3-tk (>= 3.9.10-2~), python3-venv (>= 3.10.4-0ubuntu2) +Replaces: python3-minimal (<< 3.1.2-2) +Provides: python3-profiler + +Package: libudev-dev +Architecture: arm64 +Version: 249.11-0ubuntu3.4 +APT-ID: 65264 +Multi-Arch: same +Source: systemd +Source-Version: 249.11-0ubuntu3.4 +Priority: optional +Section: admin +APT-Release: + v=22.04,o=Ubuntu,a=jammy-proposed,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libudev1 (= 249.11-0ubuntu3.4) + +Package: libatasmart4 +Architecture: arm64 +Version: 0.19-5build2 +APT-ID: 1586 +Multi-Arch: same +Source: libatasmart +Source-Version: 0.19-5build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libudev1 (>= 183) + +Package: openssh-server +Architecture: arm64 +Version: 1:8.9p1-3 +APT-ID: 4697 +Multi-Arch: foreign +Source: openssh +Source-Version: 1:8.9p1-3 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: adduser (>= 3.9), dpkg (>= 1.9.0), libpam-modules (>= 0.72-9), libpam-runtime (>= 0.76-14), lsb-base (>= 4.1+Debian3), openssh-client (= 1:8.9p1-3), openssh-sftp-server, procps, ucf (>= 0.28), debconf (>= 0.5) | debconf-2.0, libaudit1 (>= 1:2.2.1), libc6 (>= 2.34), libcom-err2 (>= 1.43.9), libcrypt1 (>= 1:4.1.0), libgssapi-krb5-2 (>= 1.17), libkrb5-3 (>= 1.13~alpha1+dfsg), libpam0g (>= 0.99.7.1), libselinux1 (>= 3.1~), libssl3 (>= 3.0.1), libsystemd0, libwrap0 (>= 7.6-4~), zlib1g (>= 1:1.1.4) +Pre-Depends: init-system-helpers (>= 1.54~) +Suggests: molly-guard, monkeysphere, ssh-askpass, ufw +Recommends: default-logind | logind | libpam-systemd, ncurses-term, xauth, ssh-import-id +Conflicts: sftp, ssh-socks, ssh2 +Replaces: openssh-client (<< 1:7.9p1-8), ssh, ssh-krb5 +Provides: ssh-server + +Package: libdbus-1-3 +Architecture: arm64 +Version: 1.12.20-2ubuntu4 +APT-ID: 1956 +Multi-Arch: same +Source: dbus +Source-Version: 1.12.20-2ubuntu4 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libsystemd0 +Recommends: dbus +Breaks: dbus (<< 1.9.16-1~) + +Package: landscape-common +Architecture: arm64 +Version: 19.12-0ubuntu13 +APT-ID: 1147 +Source: landscape-client +Source-Version: 19.12-0ubuntu13 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any, debconf (>= 0.5) | debconf-2.0, python3-twisted, python3-configobj, python3-apt, ca-certificates, python3-gdbm, python3-netifaces, lsb-release, lsb-base, adduser, bc, lshw, libpam-modules + +Package: python3-urllib3 +Architecture: all +Version: 1.26.5-1~exp1 +APT-ID: 5398 +Source: python-urllib3 +Source-Version: 1.26.5-1~exp1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3:any, python3-six +Suggests: python3-cryptography, python3-idna, python3-openssl, python3-socks +Recommends: ca-certificates + +Package: irqbalance +Architecture: arm64 +Version: 1.8.0-1build1 +APT-ID: 1109 +Source: irqbalance +Source-Version: 1.8.0-1build1 +Priority: standard +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcap-ng0 (>= 0.7.9), libglib2.0-0 (>= 2.35.8), libncursesw6 (>= 6), libnuma1 (>= 2.0.11), libsystemd0, libtinfo6 (>= 6) +Pre-Depends: init-system-helpers (>= 1.54~) + +Package: gnupg +Architecture: all +Version: 2.2.27-3ubuntu2.1 +APT-ID: 64862 +Multi-Arch: foreign +Source: gnupg2 +Source-Version: 2.2.27-3ubuntu2.1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dirmngr (<< 2.2.27-3ubuntu2.1.1~), dirmngr (>= 2.2.27-3ubuntu2.1), gnupg-l10n (= 2.2.27-3ubuntu2.1), gnupg-utils (<< 2.2.27-3ubuntu2.1.1~), gnupg-utils (>= 2.2.27-3ubuntu2.1), gpg (<< 2.2.27-3ubuntu2.1.1~), gpg (>= 2.2.27-3ubuntu2.1), gpg-agent (<< 2.2.27-3ubuntu2.1.1~), gpg-agent (>= 2.2.27-3ubuntu2.1), gpg-wks-client (<< 2.2.27-3ubuntu2.1.1~), gpg-wks-client (>= 2.2.27-3ubuntu2.1), gpg-wks-server (<< 2.2.27-3ubuntu2.1.1~), gpg-wks-server (>= 2.2.27-3ubuntu2.1), gpgsm (<< 2.2.27-3ubuntu2.1.1~), gpgsm (>= 2.2.27-3ubuntu2.1), gpgv (<< 2.2.27-3ubuntu2.1.1~), gpgv (>= 2.2.27-3ubuntu2.1) +Suggests: parcimonie, xloadimage +Replaces: gnupg2 (<< 2.1.11-7+exp1) +Breaks: debsig-verify (<< 0.15), dirmngr (<< 2.2.27-3ubuntu2.1), gnupg2 (<< 2.1.11-7+exp1), libgnupg-interface-perl (<< 0.52-3), libgnupg-perl (<= 0.19-1), libmail-gnupg-perl (<= 0.22-1), monkeysphere (<< 0.38~), php-crypt-gpg (<= 1.4.1-1), python-apt (<= 1.1.0~beta4), python-gnupg (<< 0.3.8-3), python3-apt (<= 1.1.0~beta4) + +Package: libsasl2-modules-db +Architecture: arm64 +Version: 2.1.27+dfsg2-3ubuntu1 +APT-ID: 3571 +Multi-Arch: same +Source: cyrus-sasl2 +Source-Version: 2.1.27+dfsg2-3ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libdb5.3 + +Package: libmpfr6 +Architecture: arm64 +Version: 4.1.0-3build3 +APT-ID: 2897 +Multi-Arch: same +Source: mpfr4 +Source-Version: 4.1.0-3build3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libgmp10 (>= 2:6.2.1+dfsg) +Breaks: libgmp3 (<< 4.1.4-3), libmpc3 (<< 1.1.0-1~) + +Package: gpg-wks-server +Architecture: arm64 +Version: 2.2.27-3ubuntu2.1 +APT-ID: 64869 +Multi-Arch: foreign +Source: gnupg2 +Source-Version: 2.2.27-3ubuntu2.1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gpg (= 2.2.27-3ubuntu2.1), gpg-agent (= 2.2.27-3ubuntu2.1), libc6 (>= 2.34), libgcrypt20 (>= 1.9.0), libgpg-error0 (>= 1.42) +Recommends: gnupg (= 2.2.27-3ubuntu2.1) + +Package: libkrb5support0 +Architecture: arm64 +Version: 1.19.2-2 +APT-ID: 2717 +Multi-Arch: same +Source: krb5 +Source-Version: 1.19.2-2 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Breaks: libgssapi-krb5-2 (<< 1.13~alpha1-1), libk5crypto3 (<< 1.16), libkadm5clnt-mit9 (<< 1.13~alpha1-1), libkadm5srv-mit9 (<< 1.13~alpha1-1), libkdb5-8 (<< 1.16) + +Package: python3-software-properties +Architecture: all +Version: 0.99.22.2 +APT-ID: 66143 +Source: software-properties +Source-Version: 0.99.22.2 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gpg, iso-codes, lsb-release, python3, python3-apt (>= 0.6.20ubuntu16), python3-gi, python3-launchpadlib, python3:any +Recommends: unattended-upgrades + +Package: libsepol2 +Architecture: arm64 +Version: 3.3-1build1 +APT-ID: 3596 +Multi-Arch: same +Source: libsepol +Source-Version: 3.3-1build1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: ubuntu-keyring +Architecture: all +Version: 2021.03.26 +APT-ID: 5767 +Multi-Arch: foreign +Source: ubuntu-keyring +Source-Version: 2021.03.26 +Priority: required +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: ubuntu-cloudimage-keyring (<< 2018.02.05) +Breaks: ubuntu-cloudimage-keyring (<< 2018.02.05) + +Package: squashfs-tools +Architecture: arm64 +Version: 1:4.5-3build1 +APT-ID: 5570 +Source: squashfs-tools +Source-Version: 1:4.5-3build1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), liblz4-1 (>= 0.0~r130), liblzma5 (>= 5.1.1alpha+20120614), liblzo2-2 (>= 2.02), libzstd1 (>= 1.4.0), zlib1g (>= 1:1.1.4) + +Package: python3-pyparsing +Architecture: all +Version: 2.4.7-1 +APT-ID: 5303 +Source: pyparsing +Source-Version: 2.4.7-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any +Suggests: python-pyparsing-doc + +Package: libbpf0 +Architecture: arm64 +Version: 1:0.5.0-1 +APT-ID: 1725 +Multi-Arch: same +Source: libbpf +Source-Version: 0.5.0-1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.22), libelf1 (>= 0.142), zlib1g (>= 1:1.2.3.3) + +Package: libfastjson4 +Architecture: arm64 +Version: 0.99.9-1build2 +APT-ID: 2130 +Multi-Arch: same +Source: libfastjson +Source-Version: 0.99.9-1build2 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) + +Package: libmnl0 +Architecture: arm64 +Version: 1.0.4-3build2 +APT-ID: 2875 +Multi-Arch: same +Source: libmnl +Source-Version: 1.0.4-3build2 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) + +Package: libeatmydata1 +Architecture: arm64 +Version: 130-2build1 +APT-ID: 2042 +Multi-Arch: same +Source: libeatmydata +Source-Version: 130-2build1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libc6 (>= 2.34) +Replaces: eatmydata (<< 82-1) +Breaks: eatmydata (<< 82-1) + +Package: libtss2-mu0 +Architecture: arm64 +Version: 3.2.0-1ubuntu1 +APT-ID: 3827 +Multi-Arch: same +Source: tpm2-tss +Source-Version: 3.2.0-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: tpm-udev, libc6 (>= 2.17) +Replaces: libtss2-esys0 (<< 3.0.1-2) +Breaks: libtss2-esys0 (<< 3.0.1-2) + +Package: python3-lazr.uri +Architecture: all +Version: 1.0.6-2 +APT-ID: 5171 +Source: lazr.uri +Source-Version: 1.0.6-2 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-importlib-metadata | python3 (>> 3.8), python3-pkg-resources, python3:any + +Package: libxml2 +Architecture: arm64 +Version: 2.9.13+dfsg-1ubuntu0.1 +APT-ID: 65294 +Multi-Arch: same +Source: libxml2 +Source-Version: 2.9.13+dfsg-1ubuntu0.1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libicu70 (>= 70.1-1~), liblzma5 (>= 5.1.1alpha+20120614), zlib1g (>= 1:1.2.3.3) +Conflicts: w3c-dtd-xhtml + +Package: gir1.2-packagekitglib-1.0 +Architecture: arm64 +Version: 1.2.5-2ubuntu2 +APT-ID: 712 +Source: packagekit +Source-Version: 1.2.5-2ubuntu2 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0 (>= 1.36), libpackagekit-glib2-18 (>= 1.2.5) + +Package: xz-utils +Architecture: arm64 +Version: 5.2.5-2ubuntu1 +APT-ID: 5945 +Multi-Arch: foreign +Source: xz-utils +Source-Version: 5.2.5-2ubuntu1 +Priority: standard +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), liblzma5 (>= 5.2.2) +Conflicts: lzma (<< 9.22-1), xz-lzma +Replaces: lzip (<< 1.8~rc2), xz-lzma +Breaks: lzip (<< 1.8~rc2) +Provides: lzma + +Package: libglib2.0-data +Architecture: all +Version: 2.72.1-1 +APT-ID: 2321 +Multi-Arch: foreign +Source: glib2.0 +Source-Version: 2.72.1-1 +Priority: required +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libzstd1 +Architecture: arm64 +Version: 1.4.8+dfsg-3build1 +APT-ID: 4220 +Multi-Arch: same +Source: libzstd +Source-Version: 1.4.8+dfsg-3build1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) + +Package: util-linux +Architecture: arm64 +Version: 2.37.2-4ubuntu3 +APT-ID: 5813 +Essential: yes +Multi-Arch: foreign +Source: util-linux +Source-Version: 2.37.2-4ubuntu3 +Priority: important +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Pre-Depends: libaudit1 (>= 1:2.2.1), libblkid1 (>= 2.37.2), libc6 (>= 2.34), libcap-ng0 (>= 0.7.9), libcrypt1 (>= 1:4.1.0), libmount1 (>= 2.37.2), libpam0g (>= 0.99.7.1), libselinux1 (>= 3.1~), libsmartcols1 (>= 2.34), libsystemd0, libtinfo6 (>= 6), libudev1 (>= 183), libuuid1 (>= 2.16), zlib1g (>= 1:1.1.4) +Suggests: dosfstools, kbd, util-linux-locales +Conflicts: hardlink +Replaces: hardlink +Provides: hardlink + +Package: libbsd0 +Architecture: arm64 +Version: 0.11.5-1 +APT-ID: 1732 +Multi-Arch: same +Source: libbsd +Source-Version: 0.11.5-1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libmd0 (>= 1.0.3-2) + +Package: python3-jsonpatch +Architecture: all +Version: 1.32-2 +APT-ID: 5158 +Source: python-json-patch +Source-Version: 1.32-2 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3-json-pointer, python3:any + +Package: cloud-guest-utils +Architecture: all +Version: 0.32-22-g45fe84a5-0ubuntu1 +APT-ID: 184 +Source: cloud-utils +Source-Version: 0.32-22-g45fe84a5-0ubuntu1 +Priority: extra +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fdisk | gdisk, python3:any +Replaces: cloud-utils (<< 0.27-0ubuntu3) +Breaks: cloud-utils (<< 0.27-0ubuntu3) + +Package: less +Architecture: arm64 +Version: 590-1build1 +APT-ID: 1501 +Multi-Arch: foreign +Source: less +Source-Version: 590-1build1 +Priority: required +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libtinfo6 (>= 6) + +Package: python-apt-common +Architecture: all +Version: 2.3.0ubuntu2 +APT-ID: 4874 +Multi-Arch: foreign +Source: python-apt +Source-Version: 2.3.0ubuntu2 +Priority: required +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: python-apt (<< 0.7.98+nmu1) +Breaks: python-apt (<< 0.7.98+nmu1) +Enhances: python-apt, python3-apt + +Package: python3-more-itertools +Architecture: all +Version: 8.10.0-2 +APT-ID: 5202 +Source: more-itertools +Source-Version: 8.10.0-2 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any + +Package: libgpgme11 +Architecture: arm64 +Version: 1.16.0-1.2ubuntu4 +APT-ID: 2406 +Multi-Arch: same +Source: gpgme1.0 +Source-Version: 1.16.0-1.2ubuntu4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gnupg (>= 2.1.21-4) | gpg, libassuan0 (>= 2.4.2), libc6 (>= 2.34), libgpg-error0 (>= 1.36) +Recommends: dirmngr, gpg-agent, gpg-wks-client, gpgsm + +Package: psmisc +Architecture: arm64 +Version: 23.4-2build3 +APT-ID: 4864 +Multi-Arch: foreign +Source: psmisc +Source-Version: 23.4-2build3 +Priority: standard +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libtinfo6 (>= 6) +Replaces: manpages-de (<< 4.9.1-1) +Breaks: manpages-de (<< 4.9.1-1) + +Package: python3-automat +Architecture: all +Version: 20.2.0-1 +APT-ID: 5031 +Source: automat +Source-Version: 20.2.0-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-attr, python3-six, python3:any + +Package: libldap-2.5-0 +Architecture: arm64 +Version: 2.5.12+dfsg-0ubuntu0.22.04.1 +APT-ID: 64997 +Multi-Arch: same +Source: openldap +Source-Version: 2.5.12+dfsg-0ubuntu0.22.04.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgnutls30 (>= 3.7.2), libsasl2-2 (>= 2.1.27+dfsg2) +Recommends: libldap-common +Conflicts: ldap-utils (<= 2.1.23-1) +Replaces: libldap-2.3-0, libldap2 + +Package: systemd +Architecture: arm64 +Version: 249.11-0ubuntu3.4 +APT-ID: 66181 +Multi-Arch: foreign +Source: systemd +Source-Version: 249.11-0ubuntu3.4 +Priority: required +Section: admin +APT-Release: + v=22.04,o=Ubuntu,a=jammy-proposed,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libacl1 (>= 2.2.23), libapparmor1 (>= 2.13), libaudit1 (>= 1:2.2.1), libcrypt1 (>= 1:4.4.0), libcryptsetup12 (>= 2:2.4), libgnutls30 (>= 3.7.2), libgpg-error0 (>= 1.14), libip4tc2 (>= 1.8.3), libkmod2 (>= 5~), liblz4-1 (>= 0.0~r130), libmount1 (>= 2.30), libpam0g (>= 0.99.7.1), libseccomp2 (>= 2.4.1), libssl3 (>= 3.0.0~~alpha1), libsystemd0 (= 249.11-0ubuntu3.4), util-linux (>= 2.27.1), mount (>= 2.26), adduser +Pre-Depends: libblkid1 (>= 2.24), libc6 (>= 2.34), libcap2 (>= 1:2.24-9~), libgcrypt20 (>= 1.9.0), liblz4-1 (>= 0.0~r122), liblzma5 (>= 5.1.1alpha+20120614), libselinux1 (>= 3.1~), libzstd1 (>= 1.4.0) +Suggests: systemd-container, libfido2-1, libtss2-esys-3.0.2-0, libtss2-mu0, libtss2-rc0, policykit-1 +Recommends: default-dbus-system-bus | dbus-system-bus, networkd-dispatcher, systemd-timesyncd | time-daemon +Conflicts: consolekit, libpam-ck-connector, systemd-shim +Breaks: resolvconf (<< 1.83~), udev (<< 247~) +Provides: systemd-tmpfiles (= 249.11-0ubuntu3.4), systemd-sysusers (= 249.11-0ubuntu3.4) + +Package: systemd +Architecture: arm64 +Version: 249.11-0ubuntu3.1 +APT-ID: 68001 +Multi-Arch: foreign +Source: systemd +Source-Version: 249.11-0ubuntu3.1 +Priority: required +Section: admin +Installed: yes +APT-Pin: 100 +APT-Automatic: yes +Depends: libacl1 (>= 2.2.23), libapparmor1 (>= 2.13), libaudit1 (>= 1:2.2.1), libcrypt1 (>= 1:4.4.0), libcryptsetup12 (>= 2:2.4), libgnutls30 (>= 3.7.2), libgpg-error0 (>= 1.14), libip4tc2 (>= 1.8.3), libkmod2 (>= 5~), liblz4-1 (>= 0.0~r130), libmount1 (>= 2.30), libpam0g (>= 0.99.7.1), libseccomp2 (>= 2.4.1), libsystemd0 (= 249.11-0ubuntu3.1), util-linux (>= 2.27.1), mount (>= 2.26), adduser +Pre-Depends: libblkid1 (>= 2.24), libc6 (>= 2.34), libcap2 (>= 1:2.24-9~), libgcrypt20 (>= 1.9.0), liblz4-1 (>= 0.0~r122), liblzma5 (>= 5.1.1alpha+20120614), libselinux1 (>= 3.1~), libzstd1 (>= 1.4.0) +Suggests: systemd-container, policykit-1 +Recommends: default-dbus-system-bus | dbus-system-bus, networkd-dispatcher, systemd-timesyncd | time-daemon +Conflicts: consolekit, libpam-ck-connector, systemd-shim +Breaks: resolvconf (<< 1.83~), udev (<< 247~) +Provides: systemd-tmpfiles (= 249.11-0ubuntu3.1), systemd-sysusers (= 249.11-0ubuntu3.1) + +Package: mtr-tiny +Architecture: arm64 +Version: 0.95-1 +APT-ID: 4546 +Source: mtr +Source-Version: 0.95-1 +Priority: standard +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libjansson4 (>= 2.0.1), libncurses6 (>= 6), libtinfo6 (>= 6) +Replaces: mtr +Breaks: mtr, suidmanager (<< 0.50) + +Package: libudev1 +Architecture: arm64 +Version: 249.11-0ubuntu3.4 +APT-ID: 65265 +Multi-Arch: same +Source: systemd +Source-Version: 249.11-0ubuntu3.4 +Priority: important +Section: libs +APT-Release: + v=22.04,o=Ubuntu,a=jammy-proposed,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: libudev1 +Architecture: arm64 +Version: 249.11-0ubuntu3.1 +APT-ID: 68000 +Multi-Arch: same +Source: systemd +Source-Version: 249.11-0ubuntu3.1 +Priority: important +Section: libs +Installed: yes +APT-Pin: 100 +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: gpg-agent +Architecture: arm64 +Version: 2.2.27-3ubuntu2.1 +APT-ID: 64867 +Multi-Arch: foreign +Source: gnupg2 +Source-Version: 2.2.27-3ubuntu2.1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gpgconf (= 2.2.27-3ubuntu2.1), pinentry-curses | pinentry, init-system-helpers (>= 1.52), libassuan0 (>= 2.5.1), libc6 (>= 2.34), libgcrypt20 (>= 1.9.0), libgpg-error0 (>= 1.42), libnpth0 (>= 0.90) +Suggests: dbus-user-session, libpam-systemd, pinentry-gnome3, scdaemon +Recommends: gnupg (= 2.2.27-3ubuntu2.1) +Replaces: gnupg-agent (<< 2.1.21-4) +Breaks: gnupg-agent (<< 2.1.21-4) +Provides: gnupg-agent + +Package: libstemmer0d +Architecture: arm64 +Version: 2.2.0-1build1 +APT-ID: 3704 +Multi-Arch: same +Source: snowball +Source-Version: 2.2.0-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) + +Package: console-setup-linux +Architecture: all +Version: 1.205ubuntu3 +APT-ID: 202 +Multi-Arch: foreign +Source: console-setup +Source-Version: 1.205ubuntu3 +Priority: required +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: kbd (>= 0.99-12) | console-tools (>= 1:0.2.3-16), keyboard-configuration (= 1.205ubuntu3), init-system-helpers (>= 1.29~) | initscripts +Suggests: console-setup +Conflicts: console-setup-freebsd +Replaces: console-setup (<< 1.71), console-terminus +Breaks: console-cyrillic (<= 0.9-11), console-setup (<< 1.71), console-terminus +Provides: console-terminus + +Package: libgpg-error0 +Architecture: arm64 +Version: 1.43-3 +APT-ID: 2404 +Multi-Arch: same +Source: libgpg-error +Source-Version: 1.43-3 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Recommends: libgpg-error-l10n + +Package: wget +Architecture: arm64 +Version: 1.21.2-2ubuntu1 +APT-ID: 5844 +Multi-Arch: foreign +Source: wget +Source-Version: 1.21.2-2ubuntu1 +Priority: standard +Section: web +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libidn2-0 (>= 0.6), libpcre2-8-0 (>= 10.22), libpsl5 (>= 0.16.0), libssl3 (>= 3.0.0~~alpha1), libuuid1 (>= 2.16), zlib1g (>= 1:1.1.4) +Recommends: ca-certificates +Conflicts: wget-ssl + +Package: shared-mime-info +Architecture: arm64 +Version: 2.1-2 +APT-ID: 5534 +Multi-Arch: foreign +Source: shared-mime-info +Source-Version: 2.1-2 +Priority: required +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.35.9), libxml2 (>= 2.7.4) + +Package: isc-dhcp-common +Architecture: arm64 +Version: 4.4.1-2.3ubuntu2.1 +APT-ID: 64883 +Source: isc-dhcp +Source-Version: 4.4.1-2.3ubuntu2.1 +Priority: required +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-proposed,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debianutils (>= 2.8.2) + +Package: liblocale-gettext-perl +Architecture: arm64 +Version: 1.07-4build3 +APT-ID: 2761 +Source: liblocale-gettext-perl +Source-Version: 1.07-4build3 +Priority: required +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Pre-Depends: perl-base, perlapi-5.34.0 + +Package: fdisk +Architecture: arm64 +Version: 2.37.2-4ubuntu3 +APT-ID: 403 +Multi-Arch: foreign +Source: util-linux +Source-Version: 2.37.2-4ubuntu3 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libfdisk1 (>= 2.36), libmount1 (>= 2.24.2), libncursesw6 (>= 6), libreadline8 (>= 6.0), libsmartcols1 (>= 2.28~rc1), libtinfo6 (>= 6) + +Package: libisc-export1105 +Architecture: arm64 +Version: 1:9.11.19+dfsg-2.1ubuntu3 +APT-ID: 2628 +Multi-Arch: same +Source: bind9-libs +Source-Version: 1:9.11.19+dfsg-2.1ubuntu3 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libssl3 (>= 3.0.0~~alpha1) + +Package: libappstream4 +Architecture: arm64 +Version: 0.15.2-2 +APT-ID: 1546 +Multi-Arch: same +Source: appstream +Source-Version: 0.15.2-2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libcurl3-gnutls (>= 7.63.0), libglib2.0-0 (>= 2.67.3+git20210214), libstemmer0d (>= 0+svn527), libxml2 (>= 2.9.0), libxmlb2 (>= 0.3.4), libyaml-0-2 + +Package: libyaml-0-2 +Architecture: arm64 +Version: 0.2.2-1build2 +APT-ID: 4201 +Multi-Arch: same +Source: libyaml +Source-Version: 0.2.2-1build2 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) + +Package: libpng16-16 +Architecture: arm64 +Version: 1.6.37-3build5 +APT-ID: 3217 +Multi-Arch: same +Source: libpng1.6 +Source-Version: 1.6.37-3build5 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.29), zlib1g (>= 1:1.2.11) + +Package: libreadline8 +Architecture: arm64 +Version: 8.1.2-1 +APT-ID: 3323 +Multi-Arch: same +Source: readline +Source-Version: 8.1.2-1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: readline-common, libc6 (>= 2.33), libtinfo6 (>= 6) + +Package: libvolume-key1 +Architecture: arm64 +Version: 0.3.12-3.1build3 +APT-ID: 3948 +Source: volume-key +Source-Version: 0.3.12-3.1build3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libblkid1 (>= 2.16), libc6 (>= 2.17), libcryptsetup12 (>= 2:1.4), libglib2.0-0 (>= 2.18.0), libgpgme11 (>= 1.4.1), libnspr4 (>= 2:4.9-2~), libnss3 (>= 2:3.13.4-2~), gnupg + +Package: libcom-err2 +Architecture: arm64 +Version: 1.46.5-2ubuntu1.1 +APT-ID: 64903 +Multi-Arch: same +Source: e2fsprogs +Source-Version: 1.46.5-2ubuntu1.1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) +Replaces: libcomerr2 (<< 1.43.9-1~) +Breaks: libcomerr2 (<< 1.43.9-1~) +Provides: libcomerr2 (= 1.46.5-2ubuntu1.1) + +Package: gettext-base +Architecture: arm64 +Version: 0.21-4ubuntu4 +APT-ID: 602 +Multi-Arch: foreign +Source: gettext +Source-Version: 0.21-4ubuntu4 +Priority: standard +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: libmaxminddb0 +Architecture: arm64 +Version: 1.5.2-1build2 +APT-ID: 2823 +Multi-Arch: same +Source: libmaxminddb +Source-Version: 1.5.2-1build2 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) +Suggests: mmdb-bin + +Package: diffutils +Architecture: arm64 +Version: 1:3.8-0ubuntu2 +APT-ID: 312 +Essential: yes +Source: diffutils +Source-Version: 1:3.8-0ubuntu2 +Priority: important +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Pre-Depends: libc6 (>= 2.34) +Suggests: diffutils-doc, wdiff +Replaces: diff + +Package: strace +Architecture: arm64 +Version: 5.16-0ubuntu3 +APT-ID: 5589 +Source: strace +Source-Version: 5.16-0ubuntu3 +Priority: standard +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: publicsuffix +Architecture: all +Version: 20211207.1025-1 +APT-ID: 4865 +Multi-Arch: foreign +Source: publicsuffix +Source-Version: 20211207.1025-1 +Priority: standard +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Provides: publicsuffix-dafsa + +Package: python3-attr +Architecture: all +Version: 21.2.0-1 +APT-ID: 5030 +Source: python-attrs +Source-Version: 21.2.0-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any +Suggests: python-attr-doc + +Package: sensible-utils +Architecture: all +Version: 0.0.17 +APT-ID: 5527 +Multi-Arch: foreign +Source: sensible-utils +Source-Version: 0.0.17 +Priority: important +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: debianutils (<= 2.32.3), manpages-pl (<= 20060617-3~) + +Package: python3-pkg-resources +Architecture: all +Version: 59.6.0-1.2 +APT-ID: 5276 +Multi-Arch: foreign +Source: setuptools +Source-Version: 59.6.0-1.2 +Priority: required +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any +Suggests: python3-setuptools + +Package: python3-wadllib +Architecture: all +Version: 1.3.6-1 +APT-ID: 5404 +Source: python-wadllib +Source-Version: 1.3.6-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-lazr.uri, python3-pkg-resources, python3:any + +Package: python3-gdbm +Architecture: arm64 +Version: 3.10.4-0ubuntu1 +APT-ID: 5119 +Multi-Arch: same +Source: python3-stdlib-extensions +Source-Version: 3.10.4-0ubuntu1 +Priority: standard +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3 (>= 3.10.1-0~), python3 (<< 3.11), libc6 (>= 2.17), libgdbm6 (>= 1.16) +Suggests: python3-gdbm-dbg +Provides: python3.10-gdbm + +Package: libsort-naturally-perl +Architecture: all +Version: 1.03-2 +APT-ID: 3635 +Source: libsort-naturally-perl +Source-Version: 1.03-2 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl + +Package: overlayroot +Architecture: all +Version: 0.47ubuntu1 +APT-ID: 4712 +Source: cloud-initramfs-tools +Source-Version: 0.47ubuntu1 +Priority: extra +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: cryptsetup, cryptsetup-bin, initramfs-tools +Suggests: haveged + +Package: libfdisk1 +Architecture: arm64 +Version: 2.37.2-4ubuntu3 +APT-ID: 2136 +Multi-Arch: same +Source: util-linux +Source-Version: 2.37.2-4ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libblkid1 (>= 2.24.2), libc6 (>= 2.33), libuuid1 (>= 2.16) + +Package: gdisk +Architecture: arm64 +Version: 1.0.8-4build1 +APT-ID: 592 +Source: gdisk +Source-Version: 1.0.8-4build1 +Priority: extra +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgcc-s1 (>= 3.3.1), libncursesw6 (>= 6), libpopt0 (>= 1.14), libstdc++6 (>= 9), libtinfo6 (>= 6), libuuid1 (>= 2.16) +Recommends: groff-base + +Package: secureboot-db +Architecture: arm64 +Version: 1.8 +APT-ID: 5525 +Source: secureboot-db +Source-Version: 1.8 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: sbsigntool + +Package: gawk +Architecture: arm64 +Version: 1:5.1.0-1build3 +APT-ID: 570 +Multi-Arch: foreign +Source: gawk +Source-Version: 1:5.1.0-1build3 +Priority: optional +Section: interpreters +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Pre-Depends: libc6 (>= 2.34), libgmp10 (>= 2:6.2.1+dfsg), libmpfr6 (>= 3.1.3), libreadline8 (>= 6.0), libsigsegv2 (>= 2.9) +Suggests: gawk-doc +Provides: awk + +Package: libassuan0 +Architecture: arm64 +Version: 2.5.5-1build1 +APT-ID: 1582 +Multi-Arch: same +Source: libassuan +Source-Version: 2.5.5-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libgpg-error0 (>= 1.33) + +Package: libnpth0 +Architecture: arm64 +Version: 1.6-3build2 +APT-ID: 3017 +Multi-Arch: same +Source: npth +Source-Version: 1.6-3build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: libdrm-common +Architecture: all +Version: 2.4.110-1ubuntu1 +APT-ID: 2024 +Multi-Arch: foreign +Source: libdrm +Source-Version: 2.4.110-1ubuntu1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libx11-data +Architecture: all +Version: 2:1.7.5-1 +APT-ID: 4023 +Multi-Arch: foreign +Source: libx11 +Source-Version: 2:1.7.5-1 +Priority: standard +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Breaks: libx11-6 (<< 2:1.4.1) + +Package: python3-babel +Architecture: all +Version: 2.8.0+dfsg.1-7 +APT-ID: 5035 +Source: python-babel +Source-Version: 2.8.0+dfsg.1-7 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: python-babel-localedata (= 2.8.0+dfsg.1-7), python3-pkg-resources, python3-tz, python3:any + +Package: eject +Architecture: arm64 +Version: 2.37.2-4ubuntu3 +APT-ID: 356 +Multi-Arch: foreign +Source: util-linux +Source-Version: 2.37.2-4ubuntu3 +Priority: required +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libmount1 (>= 2.24.2) + +Package: usbutils +Architecture: arm64 +Version: 1:014-1build1 +APT-ID: 5810 +Multi-Arch: foreign +Source: usbutils +Source-Version: 1:014-1build1 +Priority: standard +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libudev1 (>= 196), libusb-1.0-0 (>= 2:1.0.22) +Breaks: hwdata (<< 0.334-1~), isenkram (<< 0.45~), kinfocenter (<< 4:5.14.5-2~), libosinfo-1.0-0 (<< 1.8.0-1~), usbip (<< 2.0+5.10.4-1~) + +Package: packagekit +Architecture: arm64 +Version: 1.2.5-2ubuntu2 +APT-ID: 4727 +Multi-Arch: foreign +Source: packagekit +Source-Version: 1.2.5-2ubuntu2 +Priority: extra +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libglib2.0-bin, policykit-1, init-system-helpers (>= 1.52), libappstream4 (>= 0.10.0), libapt-pkg6.0 (>= 1.9.2), libc6 (>= 2.34), libgcc-s1 (>= 3.3.1), libglib2.0-0 (>= 2.61.2), libgstreamer1.0-0 (>= 1.0.0), libpackagekit-glib2-18 (>= 1.2.4), libpolkit-gobject-1-0 (>= 0.99), libsqlite3-0 (>= 3.5.9), libstdc++6 (>= 11), libsystemd0 (>= 214) +Suggests: appstream +Recommends: packagekit-tools, systemd +Breaks: plymouth (<< 0.9.5) + +Package: libgudev-1.0-0 +Architecture: arm64 +Version: 1:237-2build1 +APT-ID: 2483 +Multi-Arch: same +Source: libgudev +Source-Version: 237-2build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libglib2.0-0 (>= 2.38.0), libudev1 (>= 199) + +Package: lshw +Architecture: arm64 +Version: 02.19.git.2021.06.19.996aaad9c7-2build1 +APT-ID: 4485 +Source: lshw +Source-Version: 02.19.git.2021.06.19.996aaad9c7-2build1 +Priority: standard +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgcc-s1 (>= 3.0), libstdc++6 (>= 11) +Recommends: pci.ids, usb.ids + +Package: lsof +Architecture: arm64 +Version: 4.93.2+dfsg-1.1build2 +APT-ID: 4486 +Source: lsof +Source-Version: 4.93.2+dfsg-1.1build2 +Priority: standard +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libselinux1 (>= 3.1~), libtirpc3 (>= 1.0.2) +Suggests: perl + +Package: libxmlsec1 +Architecture: arm64 +Version: 1.2.33-1build2 +APT-ID: 4149 +Multi-Arch: same +Source: xmlsec1 +Source-Version: 1.2.33-1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libxml2 (>= 2.8.0), libxslt1.1 (>= 1.1.25) +Breaks: libreoffice-core (<< 1:6.0.5~rc2~) + +Package: motd-news-config +Architecture: all +Version: 12ubuntu4.1 +APT-ID: 66045 +Source: base-files +Source-Version: 12ubuntu4.1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: base-files (<< 11ubuntu11) +Breaks: base-files (<< 11ubuntu11) + +Package: libgirepository-1.0-1 +Architecture: arm64 +Version: 1.72.0-1 +APT-ID: 2300 +Multi-Arch: same +Source: gobject-introspection +Source-Version: 1.72.0-1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libglib2.0-0 (>= 2.70.0), libc6 (>= 2.29), libffi8 (>= 3.4) +Breaks: libcjs0 (<< 4.8.2-1+b1), libgjs0g (<< 1.68.4-1+b1), libglib-object-introspection-perl (<< 0.049-1+b2), python-gi (<< 3.42.0-1+b1), python3-gi (<< 3.42.0-1+b1), ruby-gobject-introspection (<< 3.4.3-1+b2) +Provides: libgirepository-1.0-1-with-libffi8 (= 1.72.0-1) + +Package: libsodium23 +Architecture: arm64 +Version: 1.0.18-1build2 +APT-ID: 3632 +Multi-Arch: same +Source: libsodium +Source-Version: 1.0.18-1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: python3-pexpect +Architecture: all +Version: 4.8.0-2ubuntu1 +APT-ID: 5273 +Source: pexpect +Source-Version: 4.8.0-2ubuntu1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-ptyprocess, python3:any +Suggests: python-pexpect-doc + +Package: libcap2 +Architecture: arm64 +Version: 1:2.44-1build3 +APT-ID: 1783 +Multi-Arch: same +Source: libcap2 +Source-Version: 1:2.44-1build3 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: xdg-user-dirs +Architecture: arm64 +Version: 0.17-2ubuntu4 +APT-ID: 5902 +Multi-Arch: foreign +Source: xdg-user-dirs +Source-Version: 0.17-2ubuntu4 +Priority: required +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: libfuse3-3 +Architecture: arm64 +Version: 3.10.5-1build1 +APT-ID: 2211 +Multi-Arch: same +Source: fuse3 +Source-Version: 3.10.5-1build1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Suggests: fuse3 + +Package: python3-jsonschema +Architecture: all +Version: 3.2.0-0ubuntu2 +APT-ID: 5161 +Source: python-jsonschema +Source-Version: 3.2.0-0ubuntu2 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3-attr, python3-pkg-resources, python3-setuptools, python3-six (>= 1.11.0), python3-importlib-metadata, python3-pyrsistent, python3:any +Suggests: python-jsonschema-doc + +Package: libsgutils2-2 +Architecture: arm64 +Version: 1.46-1build1 +APT-ID: 3600 +Multi-Arch: same +Source: sg3-utils +Source-Version: 1.46-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) +Suggests: sg3-utils +Conflicts: libsgutils2 +Replaces: libsgutils2 + +Package: libjson-glib-1.0-common +Architecture: all +Version: 1.6.6-1build1 +APT-ID: 2688 +Multi-Arch: foreign +Source: json-glib +Source-Version: 1.6.6-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: lvm2 +Architecture: arm64 +Version: 2.03.11-2.1ubuntu4 +APT-ID: 4491 +Multi-Arch: foreign +Source: lvm2 +Source-Version: 2.03.11-2.1ubuntu4 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libaio1 (>= 0.3.93), libblkid1 (>= 2.24.2), libc6 (>= 2.34), libdevmapper-event1.02.1 (>= 2:1.02.74), libedit2 (>= 2.11-20080614-0), libselinux1 (>= 3.1~), libsystemd0 (>= 222), libudev1 (>= 183), lsb-base, dmsetup (>= 2:1.02.175-2.1ubuntu4~), dmeventd (>= 2:1.02.175-2.1ubuntu4~) +Pre-Depends: init-system-helpers (>= 1.54~) +Recommends: thin-provisioning-tools + +Package: libudisks2-0 +Architecture: arm64 +Version: 2.9.4-1ubuntu2 +APT-ID: 3857 +Multi-Arch: same +Source: udisks2 +Source-Version: 2.9.4-1ubuntu2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libglib2.0-0 (>= 2.50) + +Package: libc6 +Architecture: arm64 +Version: 2.35-0ubuntu3 +APT-ID: 1744 +Multi-Arch: same +Source: glibc +Source-Version: 2.35-0ubuntu3 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libgcc-s1, libcrypt1 (>= 1:4.4.10-10ubuntu4) +Suggests: glibc-doc, debconf | debconf-2.0, locales +Recommends: libidn2-0 (>= 2.0.5~), libnss-nis, libnss-nisplus +Conflicts: libc6-lse +Replaces: libc6-lse +Breaks: busybox (<< 1.30.1-6), fakeroot (<< 1.25.3-1.1ubuntu2~), hurd (<< 1:0.9.git20170910-1), ioquake3 (<< 1.36+u20200211.f2c61c1~dfsg-2~), iraf-fitsutil (<< 2018.07.06-4), libgegl-0.4-0 (<< 0.4.18), libtirpc1 (<< 0.2.3), locales (<< 2.35), locales-all (<< 2.35), macs (<< 2.2.7.1-3~), nocache (<< 1.1-1~), nscd (<< 2.35), openarena (<< 0.8.8+dfsg-4~), openssh-server (<< 1:8.2p1-4), r-cran-later (<< 0.7.5+dfsg-2), wcc (<< 0.0.2+dfsg-3) +Provides: libc6-lse + +Package: locales +Architecture: all +Version: 2.35-0ubuntu3 +APT-ID: 4471 +Source: glibc +Source-Version: 2.35-0ubuntu3 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc-bin (>> 2.35), debconf (>= 0.5) | debconf-2.0 + +Package: python3-oauthlib +Architecture: all +Version: 3.2.0-1 +APT-ID: 5218 +Source: python-oauthlib +Source-Version: 3.2.0-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any, python3-blinker, python3-cryptography, python3-jwt (>= 1.0.0) + +Package: libpcap0.8 +Architecture: arm64 +Version: 1.10.1-4build1 +APT-ID: 3144 +Multi-Arch: same +Source: libpcap +Source-Version: 1.10.1-4build1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libdbus-1-3 (>= 1.9.14) +Replaces: libpcap0.8-dev (<< 1.0.0-2) + +Package: libnss-mymachines +Architecture: arm64 +Version: 249.11-0ubuntu3.4 +APT-ID: 65022 +Multi-Arch: same +Source: systemd +Source-Version: 249.11-0ubuntu3.4 +Priority: extra +Section: admin +APT-Release: + v=22.04,o=Ubuntu,a=jammy-proposed,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libc6 (>= 2.34), libcap2 (>= 1:2.24-9~), systemd-container (= 249.11-0ubuntu3.4) + +Package: powermgmt-base +Architecture: all +Version: 1.36 +APT-ID: 4836 +Multi-Arch: foreign +Source: powermgmt-base +Source-Version: 1.36 +Priority: standard +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: klibc-utils +Architecture: arm64 +Version: 2.0.10-4 +APT-ID: 1137 +Multi-Arch: foreign +Source: klibc +Source-Version: 2.0.10-4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libklibc (= 2.0.10-4) +Breaks: initramfs-tools (<< 0.123~) + +Package: libssl3 +Architecture: arm64 +Version: 3.0.2-0ubuntu1.6 +APT-ID: 65259 +Multi-Arch: same +Source: openssl +Source-Version: 3.0.2-0ubuntu1.6 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), debconf (>= 0.5) | debconf-2.0 + +Package: libuchardet0 +Architecture: arm64 +Version: 0.0.7-1build2 +APT-ID: 3852 +Multi-Arch: same +Source: uchardet +Source-Version: 0.0.7-1build2 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 4.1.1) + +Package: libefiboot1 +Architecture: arm64 +Version: 37-6ubuntu2 +APT-ID: 2068 +Multi-Arch: same +Source: efivar +Source-Version: 37-6ubuntu2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libefivar1 (>= 37) +Breaks: efibootmgr (<< 0.12-2) + +Package: libkrb5-3 +Architecture: arm64 +Version: 1.19.2-2 +APT-ID: 2714 +Multi-Arch: same +Source: krb5 +Source-Version: 1.19.2-2 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcom-err2 (>= 1.43.9), libk5crypto3 (>= 1.15~beta1), libkeyutils1 (>= 1.5.9), libkrb5support0 (= 1.19.2-2), libssl3 (>= 3.0.0~~alpha1) +Suggests: krb5-doc, krb5-user +Recommends: krb5-locales +Breaks: libapache2-mod-auth-kerb (<= 5.4-2.4), libsmbclient (<= 2:3.6.1-2), sssd (<= 1.2.1-4.3) + +Package: usrmerge +Architecture: all +Version: 25ubuntu2 +APT-ID: 5812 +Multi-Arch: foreign +Source: usrmerge +Source-Version: 25ubuntu2 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl-base (>= 5.32.1-3) +Conflicts: acl (<< 2.2.52-3~), arptables (<< 0.0.4+snapshot20181021-1~), coreutils (<< 8.24-1~), cryptsetup (<< 2:1.7.0-1~), davfs2 (<< 1.5.2-1.2~), debianutils (<< 4.5~), ebtables (<< 2.0.10.4+snapshot20181205-1~), elvis-tiny (<< 1.4-24~), kbd (<< 2.0.3-1~), ksh (<< 93u+20120801-3.1~), less (<< 481-2~), libbrlapi-dev (<< 5.3.1-1~), libdm0-dev, libjson-c-dev (<< 0.12.1-1.1~), libpng12-0 (<< 1.2.54-4~), libusb-0.1-4 (<< 2:0.1.12-28~), mksh (<< 52b-1~), molly-guard (<< 0.7.1+exp1~), musl-dev (<< 1.1.9-1.1~), nano (<< 2.3.99pre3-1~), open-iscsi (<< 2.0.873+git0.3b4b4500-13~), open-vm-tools (<< 2:10.0.5-3227872-2~), policycoreutils (<< 2.4-4~), safe-rm (<< 0.12-6~), tcsh (<< 6.18.01-4~), vsearch (<< 1.9.5-2~), xfsdump (<< 3.1.6+nmu1~), xfslibs-dev (<< 4.9.0+nmu1~), yp-tools (<< 3.3-5~), zsh (<< 5.2-4~) +Breaks: cruft-ng (<< 0.4.4~), initramfs-tools (<< 0.121~) + +Package: libpam-modules +Architecture: arm64 +Version: 1.4.0-11ubuntu2 +APT-ID: 3110 +Multi-Arch: same +Source: pam +Source-Version: 1.4.0-11ubuntu2 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Pre-Depends: libaudit1 (>= 1:2.2.1), libc6 (>= 2.34), libcrypt1 (>= 1:4.3.0), libdb5.3, libnsl2 (>= 1.0), libpam0g (>= 1.3.2), libselinux1 (>= 3.1~), libtirpc3 (>= 1.0.2), debconf (>= 0.5) | debconf-2.0, libpam-modules-bin (= 1.4.0-11ubuntu2) +Conflicts: libpam-mkhomedir, libpam-motd, libpam-umask +Replaces: libpam-umask, libpam0g-util +Provides: libpam-umask, libpam-motd, libpam-mkhomedir + +Package: xauth +Architecture: arm64 +Version: 1:1.1-1build2 +APT-ID: 5892 +Multi-Arch: foreign +Source: xauth +Source-Version: 1:1.1-1build2 +Priority: standard +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libx11-6, libxau6 (>= 1:1.0.9), libxext6, libxmuu1 (>= 2:1.1.3) + +Package: fwupd-signed +Architecture: arm64 +Version: 1.44+1.2-3 +APT-ID: 558 +Multi-Arch: foreign +Source: fwupd-signed +Source-Version: 1.44 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: secureboot-db, fwupd + +Package: libpython3.10 +Architecture: arm64 +Version: 3.10.4-3 +APT-ID: 3269 +Multi-Arch: same +Source: python3.10 +Source-Version: 3.10.4-3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libpython3.10-stdlib (= 3.10.4-3), libc6 (>= 2.35), libexpat1 (>= 2.1~beta3), zlib1g (>= 1:1.2.0) + +Package: flash-kernel +Architecture: arm64 +Version: 3.104ubuntu11 +APT-ID: 67181 +Source: flash-kernel +Source-Version: 3.104ubuntu11 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-proposed,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: debconf (>= 0.5) | debconf-2.0, devio, initramfs-tools (>= 0.92f), systemd, linux-base (>= 3.2), mtd-utils, ucf, awk +Recommends: u-boot-tools + +Package: libblockdev-loop2 +Architecture: arm64 +Version: 2.26-1 +APT-ID: 1672 +Multi-Arch: same +Source: libblockdev +Source-Version: 2.26-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libblockdev-utils2 (>= 2.14), libc6 (>= 2.27), libglib2.0-0 (>= 2.42.2) + +Package: cloud-init +Architecture: all +Version: 22.2-0ubuntu1~22.04.3 +APT-ID: 64775 +Source: cloud-init +Source-Version: 22.2-0ubuntu1~22.04.3 +Priority: extra +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: cloud-guest-utils | cloud-utils, isc-dhcp-client, iproute2, netplan.io, procps, python3, python3-netifaces, python3-requests, python3-serial, debconf (>= 0.5) | debconf-2.0, python3-configobj, python3-jinja2, python3-jsonpatch, python3-jsonschema, python3-oauthlib, python3-yaml, python3:any +Suggests: openssh-server, ssh-import-id +Recommends: eatmydata, gdisk, gnupg, software-properties-common + +Package: manpages +Architecture: all +Version: 5.10-1ubuntu1 +APT-ID: 4505 +Multi-Arch: foreign +Source: manpages +Source-Version: 5.10-1ubuntu1 +Priority: standard +Section: doc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Suggests: man-browser +Replaces: attr (<< 1:2.4.47-3), keyutils (<< 1.6-1), manpages-dev (<< 5.09-2) +Breaks: attr (<< 1:2.4.47-3), keyutils (<< 1.6-1), manpages-dev (<< 5.09-2) + +Package: linux-base +Architecture: all +Version: 4.5ubuntu9 +APT-ID: 4231 +Multi-Arch: foreign +Source: linux-base +Source-Version: 4.5ubuntu9 +Priority: optional +Section: kernel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf (>= 0.5) | debconf-2.0 + +Package: sg3-utils-udev +Architecture: all +Version: 1.46-1build1 +APT-ID: 5531 +Source: sg3-utils +Source-Version: 1.46-1build1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: sg3-utils, initramfs-tools-core, initramfs-tools | linux-initramfs-tool + +Package: libusb-1.0-0 +Architecture: arm64 +Version: 2:1.0.25-1ubuntu2 +APT-ID: 65272 +Multi-Arch: same +Source: libusb-1.0 +Source-Version: 2:1.0.25-1ubuntu2 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libudev1 (>= 183) + +Package: python3-openssl +Architecture: all +Version: 21.0.0-1 +APT-ID: 5223 +Source: pyopenssl +Source-Version: 21.0.0-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-cryptography (>= 3.3), python3-six (>= 1.5.2), python3:any +Suggests: python-openssl-doc, python3-openssl-dbg + +Package: libmodule-find-perl +Architecture: all +Version: 0.15-1 +APT-ID: 2876 +Source: libmodule-find-perl +Source-Version: 0.15-1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl + +Package: libuuid1 +Architecture: arm64 +Version: 2.37.2-4ubuntu3 +APT-ID: 3906 +Multi-Arch: same +Source: util-linux +Source-Version: 2.37.2-4ubuntu3 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.25) +Recommends: uuid-runtime + +Package: man-db +Architecture: arm64 +Version: 2.10.2-1 +APT-ID: 4504 +Multi-Arch: foreign +Source: man-db +Source-Version: 2.10.2-1 +Priority: standard +Section: doc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: bsdextrautils | bsdmainutils (<< 12.1.1~), groff-base, debconf (>= 0.5) | debconf-2.0, libc6 (>= 2.34), libgdbm6 (>= 1.16), libpipeline1 (>= 1.5.0), libseccomp2 (>= 2.1.0), zlib1g (>= 1:1.1.4) +Suggests: apparmor, groff, less, www-browser +Conflicts: man +Replaces: man, nlsutils +Provides: man-browser, man + +Package: libblockdev2 +Architecture: arm64 +Version: 2.26-1 +APT-ID: 1689 +Multi-Arch: same +Source: libblockdev +Source-Version: 2.26-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libblockdev-utils2 (>= 2.14), libc6 (>= 2.34), libglib2.0-0 (>= 2.42.2) + +Package: gpgv +Architecture: arm64 +Version: 2.2.27-3ubuntu2.1 +APT-ID: 64872 +Multi-Arch: foreign +Source: gnupg2 +Source-Version: 2.2.27-3ubuntu2.1 +Priority: required +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbz2-1.0, libc6 (>= 2.34), libgcrypt20 (>= 1.9.0), libgpg-error0 (>= 1.42), zlib1g (>= 1:1.1.4) +Suggests: gnupg +Replaces: gnupg2 (<< 2.0.21-2), gpgv2 (<< 2.1.11-7+exp1) +Breaks: gnupg2 (<< 2.0.21-2), gpgv2 (<< 2.1.11-7+exp1), python-debian (<< 0.1.29) + +Package: libblockdev-part-err2 +Architecture: arm64 +Version: 2.26-1 +APT-ID: 1683 +Multi-Arch: same +Source: libblockdev +Source-Version: 2.26-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libglib2.0-0 (>= 2.42.2) + +Package: libtext-charwidth-perl +Architecture: arm64 +Version: 0.04-10build3 +APT-ID: 3758 +Source: libtext-charwidth-perl +Source-Version: 0.04-10build3 +Priority: required +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), perl-base, perlapi-5.34.0 + +Package: bash +Architecture: arm64 +Version: 5.1-6ubuntu1 +APT-ID: 86 +Essential: yes +Multi-Arch: foreign +Source: bash +Source-Version: 5.1-6ubuntu1 +Priority: important +Section: shells +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: base-files (>= 2.1.12), debianutils (>= 2.15) +Pre-Depends: libc6 (>= 2.34), libtinfo6 (>= 6) +Suggests: bash-doc +Recommends: bash-completion (>= 20060301-0) +Conflicts: bash-completion (<< 20060301-0) +Replaces: bash-completion (<< 20060301-0), bash-doc (<= 2.05-1) + +Package: python3-click +Architecture: all +Version: 8.0.3-1 +APT-ID: 5062 +Source: python-click +Source-Version: 8.0.3-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-colorama, python3-importlib-metadata | python3 (>> 3.8), python3:any +Breaks: python3-click-threading (<< 0.5.0) + +Package: libgcrypt20 +Architecture: arm64 +Version: 1.9.4-3ubuntu3 +APT-ID: 2250 +Multi-Arch: same +Source: libgcrypt20 +Source-Version: 1.9.4-3ubuntu3 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libgpg-error0 (>= 1.27) +Suggests: rng-tools + +Package: isc-dhcp-client +Architecture: arm64 +Version: 4.4.1-2.3ubuntu2.1 +APT-ID: 64882 +Source: isc-dhcp +Source-Version: 4.4.1-2.3ubuntu2.1 +Priority: required +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-proposed,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libdns-export1110, libisc-export1105, debianutils (>= 2.8.2), iproute2 +Suggests: resolvconf, avahi-autoipd, isc-dhcp-client-ddns +Recommends: isc-dhcp-common +Provides: dhcp-client + +Package: libterm-readkey-perl +Architecture: arm64 +Version: 2.38-1build4 +APT-ID: 3753 +Source: libterm-readkey-perl +Source-Version: 2.38-1build4 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl, perlapi-5.34.0, libc6 (>= 2.28) + +Package: grep +Architecture: arm64 +Version: 3.7-1build1 +APT-ID: 872 +Essential: yes +Multi-Arch: foreign +Source: grep +Source-Version: 3.7-1build1 +Priority: important +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: dpkg (>= 1.15.4) | install-info +Pre-Depends: libc6 (>= 2.34), libpcre3 +Suggests: libpcre3 (>= 7.7) +Conflicts: rgrep +Provides: rgrep + +Package: media-types +Architecture: all +Version: 7.0.0 +APT-ID: 4521 +Multi-Arch: foreign +Source: media-types +Source-Version: 7.0.0 +Priority: required +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: mime-support (<< 3.65) +Breaks: mime-support (<< 3.65) + +Package: python3-service-identity +Architecture: all +Version: 18.1.0-6 +APT-ID: 5349 +Source: python-service-identity +Source-Version: 18.1.0-6 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-attr, python3-cryptography, python3-pyasn1, python3-pyasn1-modules, python3:any +Recommends: python3-idna + +Package: run-one +Architecture: all +Version: 1.17-0ubuntu1 +APT-ID: 5501 +Source: run-one +Source-Version: 1.17-0ubuntu1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: procps +Replaces: bikeshed (<< 1.8) +Breaks: bikeshed (<< 1.8) +Enhances: anacron, cron + +Package: mawk +Architecture: arm64 +Version: 1.3.4.20200120-3 +APT-ID: 4514 +Multi-Arch: foreign +Source: mawk +Source-Version: 1.3.4.20200120-3 +Priority: important +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Provides: awk + +Package: open-vm-tools +Architecture: arm64 +Version: 2:11.3.5-1ubuntu4 +APT-ID: 4682 +Source: open-vm-tools +Source-Version: 2:11.3.5-1ubuntu4 +Priority: extra +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libdrm2 (>= 2.4.3), libfuse3-3 (>= 3.2.3), libglib2.0-0 (>= 2.31.8), libmspack0 (>= 0.4), libssl3 (>= 3.0.0~~alpha1), libtirpc3 (>= 1.0.2), libudev1 (>= 183), libxml2 (>= 2.7.4), libxmlsec1 (>= 1.2.33), libxmlsec1-openssl (>= 1.2.33), pciutils, iproute2, lsb-release +Pre-Depends: init-system-helpers (>= 1.54~) +Suggests: open-vm-tools-desktop, cloud-init +Recommends: ethtool, zerofree, fuse3 + +Package: uuid-runtime +Architecture: arm64 +Version: 2.37.2-4ubuntu3 +APT-ID: 5816 +Multi-Arch: foreign +Source: util-linux +Source-Version: 2.37.2-4ubuntu3 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: adduser, libc6 (>= 2.34), libsmartcols1 (>= 2.27~rc1), libsystemd0, libuuid1 (>= 2.31.1) +Pre-Depends: libuuid1, init-system-helpers (>= 1.54~) + +Package: libcap-ng0 +Architecture: arm64 +Version: 0.7.9-2.2build3 +APT-ID: 1782 +Multi-Arch: same +Source: libcap-ng +Source-Version: 0.7.9-2.2build3 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: libklibc +Architecture: arm64 +Version: 2.0.10-4 +APT-ID: 2703 +Multi-Arch: same +Source: klibc +Source-Version: 2.0.10-4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: vim-tiny +Architecture: arm64 +Version: 2:8.2.3995-1ubuntu2 +APT-ID: 5824 +Source: vim +Source-Version: 2:8.2.3995-1ubuntu2 +Priority: required +Section: editors +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: vim-common (= 2:8.2.3995-1ubuntu2), libacl1 (>= 2.2.23), libc6 (>= 2.34), libselinux1 (>= 3.1~), libtinfo6 (>= 6) +Suggests: indent +Provides: editor + +Package: usb-modeswitch +Architecture: arm64 +Version: 2.6.1-3ubuntu2 +APT-ID: 5806 +Source: usb-modeswitch +Source-Version: 2.6.1-3ubuntu2 +Priority: extra +Section: comm +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: tcl, usb-modeswitch-data, libc6 (>= 2.34), libusb-1.0-0 (>= 2:1.0.9) +Suggests: comgt, wvdial + +Package: libmbim-proxy +Architecture: arm64 +Version: 1.26.2-1build1 +APT-ID: 2827 +Multi-Arch: foreign +Source: libmbim +Source-Version: 1.26.2-1build1 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.56), libmbim-glib4 (= 1.26.2-1build1) + +Package: python3-json-pointer +Architecture: all +Version: 2.0-0ubuntu1 +APT-ID: 5157 +Source: python-json-pointer +Source-Version: 2.0-0ubuntu1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3:any + +Package: update-manager-core +Architecture: all +Version: 1:22.04.9 +APT-ID: 5796 +Source: update-manager +Source-Version: 1:22.04.9 +Priority: standard +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any (>= 3.2~), python3-update-manager (= 1:22.04.9), python3-distro-info, distro-info-data, lsb-release, ubuntu-release-upgrader-core (>= 1:18.04.9), ubuntu-advantage-tools +Recommends: libpam-modules (>= 1.0.1-9ubuntu3) +Replaces: update-manager (<< 1:0.146.2) +Breaks: computer-janitor (<= 1.11-0ubuntu1), update-manager (<< 1:0.146.2) + +Package: libctf0 +Architecture: arm64 +Version: 2.38-3ubuntu1 +APT-ID: 1891 +Multi-Arch: same +Source: binutils +Source-Version: 2.38-3ubuntu1 +Priority: optional +Section: devel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbinutils (= 2.38-3ubuntu1), libc6 (>= 2.33), zlib1g (>= 1:1.2.0) + +Package: libsemanage2 +Architecture: arm64 +Version: 3.3-1build2 +APT-ID: 3590 +Multi-Arch: same +Source: libsemanage +Source-Version: 3.3-1build2 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libsemanage-common (>= 3.3-1build2), libaudit1 (>= 1:2.2.1), libbz2-1.0, libc6 (>= 2.33), libselinux1 (>= 3.3), libsepol2 (>= 3.3) +Breaks: policycoreutils (<< 3.0) + +Package: bind9-dnsutils +Architecture: arm64 +Version: 1:9.18.1-1ubuntu1.1 +APT-ID: 64754 +Source: bind9 +Source-Version: 1:9.18.1-1ubuntu1.1 +Priority: standard +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: bind9-host | host, bind9-libs (= 1:9.18.1-1ubuntu1.1), libc6 (>= 2.34), libedit2 (>= 2.11-20080614-0), libidn2-0 (>= 2.0.0), libkrb5-3 (>= 1.6.dfsg.2) +Conflicts: bind-dnsutils (<< 1:9.13.6~), dnsutils (<< 1:9.13.6~) +Breaks: bind-dnsutils (<< 1:9.13.6~), dnsutils (<< 1:9.13.6~) +Provides: dnsutils + +Package: fuse3 +Architecture: arm64 +Version: 3.10.5-1build1 +APT-ID: 555 +Source: fuse3 +Source-Version: 3.10.5-1build1 +Priority: standard +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libfuse3-3 (= 3.10.5-1build1), adduser, mount (>= 2.19.1), sed (>= 4), lsb-base (>= 3.2-14) +Replaces: fuse +Breaks: fuse +Provides: fuse (= 3.10.5-1build1) + +Package: libnsl2 +Architecture: arm64 +Version: 1.3.0-2build2 +APT-ID: 3020 +Multi-Arch: same +Source: libnsl +Source-Version: 1.3.0-2build2 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libtirpc3 (>= 1.0.2) + +Package: base-files +Architecture: arm64 +Version: 12ubuntu4.1 +APT-ID: 64751 +Essential: yes +Multi-Arch: foreign +Source: base-files +Source-Version: 12ubuntu4.1 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libc6 (>= 2.34), libcrypt1 (>= 1:4.4.10-10ubuntu3) +Pre-Depends: awk +Replaces: base, dpkg (<= 1.15.0), miscutils +Breaks: debian-security-support (<< 2019.04.25), initscripts (<< 2.88dsf-13.3), sendfile (<< 2.1b.20080616-5.2~), ubuntu-server (<< 1.453) +Provides: base + +Package: busybox-initramfs +Architecture: arm64 +Version: 1:1.30.1-7ubuntu3 +APT-ID: 141 +Source: busybox +Source-Version: 1:1.30.1-7ubuntu3 +Priority: optional +Section: shells +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: libnfnetlink0 +Architecture: arm64 +Version: 1.0.1-3build3 +APT-ID: 2971 +Multi-Arch: same +Source: libnfnetlink +Source-Version: 1.0.1-3build3 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) + +Package: libnss3 +Architecture: arm64 +Version: 2:3.68.2-0ubuntu1 +APT-ID: 3031 +Multi-Arch: same +Source: nss +Source-Version: 2:3.68.2-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libnspr4 (>= 2:4.24), libsqlite3-0 (>= 3.5.9) +Conflicts: libnss3-1d (<< 2:3.13.4-2) + +Package: rsyslog +Architecture: arm64 +Version: 8.2112.0-2ubuntu2.2 +APT-ID: 66162 +Source: rsyslog +Source-Version: 8.2112.0-2ubuntu2.2 +Priority: required +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libestr0 (>= 0.1.4), libfastjson4 (>= 0.99.8), libsystemd0 (>= 246), libuuid1 (>= 2.16), zlib1g (>= 1:1.1.4), adduser, ucf +Suggests: rsyslog-mysql | rsyslog-pgsql, rsyslog-mongodb, rsyslog-doc, rsyslog-openssl | rsyslog-gnutls, rsyslog-gssapi, rsyslog-relp, apparmor (>= 2.8.96~2541-0ubuntu4~) +Recommends: logrotate +Conflicts: linux-kernel-log-daemon, system-log-daemon +Provides: system-log-daemon, linux-kernel-log-daemon + +Package: libk5crypto3 +Architecture: arm64 +Version: 1.19.2-2 +APT-ID: 2697 +Multi-Arch: same +Source: krb5 +Source-Version: 1.19.2-2 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libkrb5support0 (>= 1.16) +Suggests: krb5-doc, krb5-user +Breaks: libgssapi-krb5-2 (<= 1.18~), libkrb5-3 (<= 1.18~) + +Package: python3-jinja2 +Architecture: all +Version: 3.0.3-1 +APT-ID: 5155 +Source: jinja2 +Source-Version: 3.0.3-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3-babel, python3-markupsafe (>= 2.0), python3:any +Suggests: python-jinja2-doc +Recommends: python3-pkg-resources +Replaces: python-jinja2 (<< 2.11.1-1) +Breaks: python-jinja2 (<< 2.11.1-1) + +Package: libblockdev-utils2 +Architecture: arm64 +Version: 2.26-1 +APT-ID: 1688 +Multi-Arch: same +Source: libblockdev +Source-Version: 2.26-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libglib2.0-0 (>= 2.42.2), libkmod2 (>= 5~), libudev1 (>= 216) + +Package: plymouth +Architecture: arm64 +Version: 0.9.5+git20211018-1ubuntu3 +APT-ID: 4803 +Source: plymouth +Source-Version: 0.9.5+git20211018-1ubuntu3 +Priority: standard +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: init-system-helpers (>= 1.18), lsb-base (>= 3.0-6), systemd (>= 232-8~), udev (>= 232-8~), libc6 (>= 2.34), libdrm2 (>= 2.4.47), libplymouth5 (>= 0.9.5+git20211018-1ubuntu3) +Suggests: desktop-base, plymouth-themes +Recommends: plymouth-theme-ubuntu-text | plymouth-theme +Conflicts: console-common +Replaces: plymouth-drm (<< 0.9.0-6~), plymouth-themes (<< 0.9.0-8~) +Breaks: plymouth-drm (<< 0.9.0-6~), plymouth-themes (<< 0.9.0-8~) + +Package: libpolkit-gobject-1-0 +Architecture: arm64 +Version: 0.105-33 +APT-ID: 3222 +Multi-Arch: same +Source: policykit-1 +Source-Version: 0.105-33 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libglib2.0-0 (>= 2.37.3), libsystemd0 (>= 213) + +Package: ncurses-base +Architecture: all +Version: 6.3-2 +APT-ID: 4610 +Essential: yes +Multi-Arch: foreign +Source: ncurses +Source-Version: 6.3-2 +Priority: important +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Breaks: bash-static (<< 4.4.18-1.1), libmono-corlib4.5-cil (<< 4.6.2.7+dfsg-2), libslang2 (<< 2.3.1a-3), libtinfo5 (<< 6.1), libunibilium0 (<< 2), libunibilium4 (<< 2.0.0-3), neovim (<< 0.6.0), zsh-static (<< 5.4.2-4) +Provides: ncurses-runtime + +Package: gzip +Architecture: arm64 +Version: 1.10-4ubuntu4 +APT-ID: 916 +Essential: yes +Source: gzip +Source-Version: 1.10-4ubuntu4 +Priority: important +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: dpkg (>= 1.15.4) | install-info +Pre-Depends: libc6 (>= 2.34) +Suggests: less + +Package: mdadm +Architecture: arm64 +Version: 4.2-0ubuntu1 +APT-ID: 4515 +Source: mdadm +Source-Version: 4.2-0ubuntu1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf (>= 0.5) | debconf-2.0, libc6 (>= 2.34), libudev1 (>= 183), debconf, lsb-base, udev +Suggests: default-mta | mail-transport-agent, dracut-core +Recommends: finalrd (>= 3~), kmod | module-init-tools + +Package: friendly-recovery +Architecture: all +Version: 0.2.42 +APT-ID: 550 +Source: friendly-recovery +Source-Version: 0.2.42 +Priority: standard +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: systemd-sysv, whiptail +Recommends: gettext-base, update-manager-core +Breaks: grub2 (<< 1.99-12ubuntu4), initramfs-tools (<< 0.99ubuntu4), upstart (<< 1.3-0ubuntu9) + +Package: cryptsetup-initramfs +Architecture: all +Version: 2:2.4.3-1ubuntu1 +APT-ID: 231 +Source: cryptsetup +Source-Version: 2:2.4.3-1ubuntu1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: busybox-initramfs, cryptsetup (>= 2:2.4.3-1ubuntu1), initramfs-tools (>= 0.137) | linux-initramfs-tool, debconf (>= 0.5) | debconf-2.0 +Recommends: console-setup, kbd, plymouth +Replaces: cryptsetup (<< 2:2.0.3-1) +Breaks: cryptsetup (<< 2:2.0.3-1) + +Package: python3-apt +Architecture: arm64 +Version: 2.3.0ubuntu2 +APT-ID: 5024 +Multi-Arch: allowed +Source: python-apt +Source-Version: 2.3.0ubuntu2 +Priority: required +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3 (<< 3.11), python3 (>= 3.10~), python3:any, libapt-pkg6.0 (>= 1.9.11~), libc6 (>= 2.33), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 11), python-apt-common, distro-info-data +Suggests: python3-apt-dbg, python-apt-doc, apt +Recommends: lsb-release, iso-codes +Replaces: python-apt (<< 0.7.98+nmu1) +Breaks: apt-xapian-index (<< 0.51~), kthresher (<= 1.4.0-1), python-apt (<< 0.7.98+nmu1) +Provides: python3.10-apt + +Package: dmsetup +Architecture: arm64 +Version: 2:1.02.175-2.1ubuntu4 +APT-ID: 321 +Multi-Arch: foreign +Source: lvm2 +Source-Version: 2.03.11-2.1ubuntu4 +Priority: required +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libdevmapper1.02.1 (>= 2:1.02.138) + +Package: systemd-coredump +Architecture: arm64 +Version: 249.11-0ubuntu3.4 +APT-ID: 67120 +Multi-Arch: foreign +Source: systemd +Source-Version: 249.11-0ubuntu3.4 +Priority: optional +Section: universe/admin +APT-Release: + v=22.04,o=Ubuntu,a=jammy-proposed,n=jammy,l=Ubuntu,c=universe,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=universe,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libc6 (>= 2.34), libdw1 (>= 0.158), libelf1 (>= 0.144), systemd (= 249.11-0ubuntu3.4), adduser +Conflicts: core-dump-handler +Replaces: core-dump-handler +Provides: core-dump-handler + +Package: login +Architecture: arm64 +Version: 1:4.8.1-2ubuntu2 +APT-ID: 4475 +Essential: yes +Multi-Arch: foreign +Source: shadow +Source-Version: 1:4.8.1-2ubuntu2 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Pre-Depends: libaudit1 (>= 1:2.2.1), libc6 (>= 2.34), libcrypt1 (>= 1:4.1.0), libpam0g (>= 0.99.7.1), libpam-runtime, libpam-modules +Conflicts: python-4suite (<< 0.99cvs20060405-1) +Breaks: util-linux (<< 2.32-0.2~) + +Package: devio +Architecture: arm64 +Version: 1.2-1.2build3 +APT-ID: 293 +Source: devio +Source-Version: 1.2-1.2build3 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: python3-serial +Architecture: all +Version: 3.5-1 +APT-ID: 5348 +Source: pyserial +Source-Version: 3.5-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3:any +Suggests: python3-wxgtk3.0 | python3-wxgtk + +Package: tcl8.6 +Architecture: arm64 +Version: 8.6.12+dfsg-1build1 +APT-ID: 5624 +Multi-Arch: foreign +Source: tcl8.6 +Source-Version: 8.6.12+dfsg-1build1 +Priority: optional +Section: interpreters +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libtcl8.6 (>= 8.6.0) +Suggests: tcl-tclreadline +Conflicts: tcl74 (<= 7.4p3-2) + +Package: bolt +Architecture: arm64 +Version: 0.9.2-1 +APT-ID: 130 +Source: bolt +Source-Version: 0.9.2-1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.56), libpolkit-gobject-1-0 (>= 0.99), libudev1 (>= 183) + +Package: snapd +Architecture: arm64 +Version: 2.55.5+22.04 +APT-ID: 66173 +Source: snapd +Source-Version: 2.55.5+22.04 +Priority: optional +Section: devel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: adduser, apparmor (>= 2.10.95-0ubuntu2.2), ca-certificates, openssh-client, squashfs-tools, systemd, udev, libc6 (>= 2.34), libfuse3-3 (>= 3.2.3), liblzma5 (>= 5.1.1alpha+20110809), liblzo2-2 (>= 2.02), libudev1 (>= 183), zlib1g (>= 1:1.1.4), default-dbus-session-bus | dbus-session-bus +Suggests: zenity | kdialog +Recommends: gnupg +Conflicts: snap (<< 2013-11-29-1ubuntu1) +Replaces: snap-confine (<< 2.23), snapd-xdg-open (<= 0.0.0), ubuntu-core-launcher (<< 2.22), ubuntu-snappy (<< 1.9), ubuntu-snappy-cli (<< 1.9) +Breaks: snap-confine (<< 2.23), snapd-xdg-open (<= 0.0.0), ubuntu-core-launcher (<< 2.22), ubuntu-snappy (<< 1.9), ubuntu-snappy-cli (<< 1.9) + +Package: python3-netifaces +Architecture: arm64 +Version: 0.11.0-1build2 +APT-ID: 5208 +Multi-Arch: same +Source: netifaces +Source-Version: 0.11.0-1build2 +Priority: required +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3 (<< 3.11), python3 (>= 3.10~), libc6 (>= 2.17) + +Package: libtss2-tcti-mssim0 +Architecture: arm64 +Version: 3.2.0-1ubuntu1 +APT-ID: 3832 +Multi-Arch: same +Source: tpm2-tss +Source-Version: 3.2.0-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: tpm-udev, libc6 (>= 2.17), libtss2-mu0 (>= 3.0.1) +Replaces: libtss2-esys0 (<< 3.0.1-2) +Breaks: libtss2-esys0 (<< 3.0.1-2) + +Package: apport-symptoms +Architecture: all +Version: 0.24 +APT-ID: 41 +Source: apport-symptoms +Source-Version: 0.24 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: apport + +Package: python3-certifi +Architecture: all +Version: 2020.6.20-1 +APT-ID: 5054 +Source: python-certifi +Source-Version: 2020.6.20-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: ca-certificates, python3:any + +Package: libsqlite3-0 +Architecture: arm64 +Version: 3.37.2-2 +APT-ID: 3663 +Multi-Arch: same +Source: sqlite3 +Source-Version: 3.37.2-2 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Breaks: python-migrate (<< 0.11.0-4~), python3-migrate (<< 0.11.0-4~) + +Package: libpackagekit-glib2-18 +Architecture: arm64 +Version: 1.2.5-2ubuntu2 +APT-ID: 3099 +Multi-Arch: same +Source: packagekit +Source-Version: 1.2.5-2ubuntu2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libglib2.0-0 (>= 2.54) +Recommends: packagekit (= 1.2.5-2ubuntu2) + +Package: libtext-wrapi18n-perl +Architecture: all +Version: 0.06-9 +APT-ID: 3763 +Source: libtext-wrapi18n-perl +Source-Version: 0.06-9 +Priority: required +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libtext-charwidth-perl + +Package: hostname +Architecture: arm64 +Version: 3.23ubuntu2 +APT-ID: 932 +Essential: yes +Source: hostname +Source-Version: 3.23ubuntu2 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Pre-Depends: libc6 (>= 2.34) +Replaces: nis (<< 3.17-30) +Breaks: nis (<< 3.17-30) + +Package: rsync +Architecture: arm64 +Version: 3.2.3-8ubuntu3 +APT-ID: 5487 +Multi-Arch: foreign +Source: rsync +Source-Version: 3.2.3-8ubuntu3 +Priority: standard +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: lsb-base, libacl1 (>= 2.2.23), libc6 (>= 2.34), liblz4-1 (>= 0.0~r130), libpopt0 (>= 1.14), libssl3 (>= 3.0.0~~alpha1), libxxhash0 (>= 0.8.0), libzstd1 (>= 1.4.0), zlib1g (>= 1:1.1.4) +Pre-Depends: init-system-helpers (>= 1.54~) +Suggests: openssh-client, openssh-server, python3 + +Package: pinentry-curses +Architecture: arm64 +Version: 1.1.1-1build2 +APT-ID: 4788 +Multi-Arch: foreign +Source: pinentry +Source-Version: 1.1.1-1build2 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libassuan0 (>= 2.1.0), libc6 (>= 2.34), libgpg-error0 (>= 1.16), libncursesw6 (>= 6), libtinfo6 (>= 6) +Suggests: pinentry-doc +Enhances: gnupg-agent +Provides: pinentry + +Package: finalrd +Architecture: all +Version: 9build1 +APT-ID: 409 +Source: finalrd +Source-Version: 9build1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: initramfs-tools-core + +Package: libjson-c5 +Architecture: arm64 +Version: 0.15-3~ubuntu1.22.04.1 +APT-ID: 64996 +Multi-Arch: same +Source: json-c +Source-Version: 0.15-3~ubuntu1.22.04.1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: libopeniscsiusr +Architecture: arm64 +Version: 2.1.5-1ubuntu1 +APT-ID: 3069 +Source: open-iscsi +Source-Version: 2.1.5-1ubuntu1 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libkmod2 (>= 5~) +Replaces: libopeniscsiusr0.2.0 (<< 2.1.4-0ubuntu1~) +Breaks: libopeniscsiusr0.2.0 (<< 2.1.4-0ubuntu1~) +Enhances: open-iscsi + +Package: gpgsm +Architecture: arm64 +Version: 2.2.27-3ubuntu2.1 +APT-ID: 64871 +Multi-Arch: foreign +Source: gnupg2 +Source-Version: 2.2.27-3ubuntu2.1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gpgconf (= 2.2.27-3ubuntu2.1), libassuan0 (>= 2.5.0), libc6 (>= 2.34), libgcrypt20 (>= 1.9.0), libgpg-error0 (>= 1.42), libksba8 (>= 1.6.0), libreadline8 (>= 6.0) +Recommends: gnupg (= 2.2.27-3ubuntu2.1) +Replaces: gnupg2 (<< 2.1.10-2) +Breaks: gnupg2 (<< 2.1.10-2) + +Package: binutils-aarch64-linux-gnu +Architecture: arm64 +Version: 2.38-3ubuntu1 +APT-ID: 101 +Multi-Arch: allowed +Source: binutils +Source-Version: 2.38-3ubuntu1 +Priority: extra +Section: devel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: binutils-common (= 2.38-3ubuntu1), libbinutils (= 2.38-3ubuntu1), libc6 (>= 2.34), libctf-nobfd0 (>= 2.36), libctf0 (>= 2.36), libgcc-s1 (>= 4.2), zlib1g (>= 1:1.1.4) +Suggests: binutils-doc (= 2.38-3ubuntu1) +Replaces: binutils (<< 2.29-6) +Breaks: binutils (<< 2.29-6) + +Package: python3-markupsafe +Architecture: arm64 +Version: 2.0.1-2build1 +APT-ID: 5190 +Source: markupsafe +Source-Version: 2.0.1-2build1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3 (<< 3.11), python3 (>= 3.10~), python3:any, libc6 (>= 2.17) + +Package: libxslt1.1 +Architecture: arm64 +Version: 1.1.34-4build2 +APT-ID: 4175 +Multi-Arch: same +Source: libxslt +Source-Version: 1.1.34-4build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libgcrypt20 (>= 1.9.0), libxml2 (>= 2.9.0) + +Package: python3-zope.interface +Architecture: arm64 +Version: 5.4.0-1build1 +APT-ID: 5424 +Source: zope.interface +Source-Version: 5.4.0-1build1 +Priority: optional +Section: zope +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3 (<< 3.11), python3 (>= 3.10~), python3-pkg-resources, python3:any, libc6 (>= 2.17) +Provides: python3.10-zope.interface, python3-zope + +Package: libprocps8 +Architecture: arm64 +Version: 2:3.3.17-6ubuntu2 +APT-ID: 3239 +Multi-Arch: same +Source: procps +Source-Version: 2:3.3.17-6ubuntu2 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libsystemd0 (>= 209) +Replaces: procps (<< 1:3.3.2-1) + +Package: python3-distro-info +Architecture: all +Version: 1.1build1 +APT-ID: 5094 +Source: distro-info +Source-Version: 1.1build1 +Priority: standard +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: distro-info-data (>= 0.46), python3:any + +Package: libdevmapper-event1.02.1 +Architecture: arm64 +Version: 2:1.02.175-2.1ubuntu4 +APT-ID: 1996 +Multi-Arch: same +Source: lvm2 +Source-Version: 2.03.11-2.1ubuntu4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libdevmapper1.02.1 (>= 2:1.02.97) + +Package: libcryptsetup12 +Architecture: arm64 +Version: 2:2.4.3-1ubuntu1 +APT-ID: 1887 +Multi-Arch: same +Source: cryptsetup +Source-Version: 2:2.4.3-1ubuntu1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libargon2-1 (>= 0~20171227), libblkid1 (>= 2.17.2), libc6 (>= 2.34), libdevmapper1.02.1 (>= 2:1.02.97), libjson-c5 (>= 0.15), libssl3 (>= 3.0.0~~alpha1), libuuid1 (>= 2.16) + +Package: python3-jwt +Architecture: all +Version: 2.3.0-1 +APT-ID: 5162 +Source: pyjwt +Source-Version: 2.3.0-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any +Suggests: python3-crypto +Recommends: python3-cryptography + +Package: adduser +Architecture: all +Version: 3.118ubuntu5 +APT-ID: 5 +Multi-Arch: foreign +Source: adduser +Source-Version: 3.118ubuntu5 +Priority: required +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: passwd, debconf (>= 0.5) | debconf-2.0 +Suggests: liblocale-gettext-perl, perl, ecryptfs-utils (>= 67-1) + +Package: findutils +Architecture: arm64 +Version: 4.8.0-1ubuntu3 +APT-ID: 410 +Essential: yes +Multi-Arch: foreign +Source: findutils +Source-Version: 4.8.0-1ubuntu3 +Priority: important +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Pre-Depends: libc6 (>= 2.34), libselinux1 (>= 3.1~) +Suggests: mlocate | locate +Breaks: binstats (<< 1.08-8.1), guilt (<< 0.36-0.2), libpython3.4-minimal (<< 3.4.4-2), libpython3.5-minimal (<< 3.5.1-3), lsat (<< 0.9.7.1-2.1), mc (<< 3:4.8.11-1), switchconf (<< 0.0.9-2.1) + +Package: multipath-tools +Architecture: arm64 +Version: 0.8.8-1ubuntu1 +APT-ID: 4548 +Source: multipath-tools +Source-Version: 0.8.8-1ubuntu1 +Priority: extra +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libaio1 (>= 0.3.93), libc6 (>= 2.34), libdevmapper1.02.1 (>= 2:1.02.110), libjson-c5 (>= 0.15), libreadline8 (>= 6.0), libsystemd0, libudev1 (>= 183), liburcu8 (>= 0.13.0), udev, kpartx (>= 0.8.8-1ubuntu1), lsb-base, sg3-utils-udev +Suggests: multipath-tools-boot + +Package: libgmp10 +Architecture: arm64 +Version: 2:6.2.1+dfsg-3ubuntu1 +APT-ID: 2342 +Multi-Arch: same +Source: gmp +Source-Version: 2:6.2.1+dfsg-3ubuntu1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) +Breaks: libmath-gmp-perl (<< 2.20-1), libmath-prime-util-gmp-perl (<< 0.51-2), postgresql-pgmp (<< 1.0.3-1) + +Package: distro-info-data +Architecture: all +Version: 0.52ubuntu0.1 +APT-ID: 64790 +Multi-Arch: foreign +Source: distro-info-data +Source-Version: 0.52ubuntu0.1 +Priority: required +Section: devel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Breaks: distro-info (<< 1.0~) + +Package: libxxhash0 +Architecture: arm64 +Version: 0.8.1-1 +APT-ID: 4197 +Multi-Arch: same +Source: xxhash +Source-Version: 0.8.1-1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) + +Package: libip6tc2 +Architecture: arm64 +Version: 1.8.7-1ubuntu5 +APT-ID: 2610 +Multi-Arch: same +Source: iptables +Source-Version: 1.8.7-1ubuntu5 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.28) + +Package: libpcre2-8-0 +Architecture: arm64 +Version: 10.39-3build1 +APT-ID: 3155 +Multi-Arch: same +Source: pcre2 +Source-Version: 10.39-3build1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) + +Package: libcrypt1 +Architecture: arm64 +Version: 1:4.4.27-1 +APT-ID: 1885 +Multi-Arch: same +Source: libxcrypt +Source-Version: 1:4.4.27-1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.25) +Conflicts: libpam0g (<< 1.4.0-10) +Replaces: libc6 (<< 2.29-4) + +Package: libgstreamer1.0-0 +Architecture: arm64 +Version: 1.20.3-0ubuntu1 +APT-ID: 67201 +Multi-Arch: same +Source: gstreamer1.0 +Source-Version: 1.20.3-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-proposed,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcap2 (>= 1:2.10), libdw1 (>= 0.126), libglib2.0-0 (>= 2.70.0), libunwind8, libcap2-bin +Suggests: gstreamer1.0-tools +Breaks: gstreamer1.0-plugins-bad (<< 1.11.1), gstreamer1.0-plugins-base (<< 1.8.0), libgstreamer-plugins-bad1.0-0 (<< 1.13.1) + +Package: vim-runtime +Architecture: all +Version: 2:8.2.3995-1ubuntu2 +APT-ID: 5823 +Multi-Arch: foreign +Source: vim +Source-Version: 2:8.2.3995-1ubuntu2 +Priority: optional +Section: editors +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: vim | vim-gtk3 | vim-athena | vim-nox | vim-tiny +Breaks: vim-tiny (<< 2:8.2.3995-1ubuntu2) +Enhances: vim-tiny + +Package: binutils-common +Architecture: arm64 +Version: 2.38-3ubuntu1 +APT-ID: 105 +Multi-Arch: same +Source: binutils +Source-Version: 2.38-3ubuntu1 +Priority: optional +Section: devel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: binutils (<< 2.29.1-3.1~) +Breaks: binutils (<< 2.29.1-3.1~) + +Package: ca-certificates +Architecture: all +Version: 20211016 +APT-ID: 147 +Multi-Arch: foreign +Source: ca-certificates +Source-Version: 20211016 +Priority: required +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: openssl (>= 1.1.1), debconf (>= 0.5) | debconf-2.0 +Breaks: ca-certificates-java (<< 20121112+nmu1) +Enhances: openssl + +Package: liberror-perl +Architecture: all +Version: 0.17029-1 +APT-ID: 2091 +Multi-Arch: foreign +Source: liberror-perl +Source-Version: 0.17029-1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any + +Package: libftdi1-2 +Architecture: arm64 +Version: 1.5-5build3 +APT-ID: 2206 +Multi-Arch: same +Source: libftdi1 +Source-Version: 1.5-5build3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libusb-1.0-0 (>= 2:1.0.16) + +Package: libpam-modules-bin +Architecture: arm64 +Version: 1.4.0-11ubuntu2 +APT-ID: 3111 +Multi-Arch: foreign +Source: pam +Source-Version: 1.4.0-11ubuntu2 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libaudit1 (>= 1:2.2.1), libc6 (>= 2.34), libcrypt1 (>= 1:4.3.0), libpam0g (>= 0.99.7.1), libselinux1 (>= 3.1~) +Replaces: libpam-modules (<< 1.1.3-8) + +Package: init-system-helpers +Architecture: all +Version: 1.62 +APT-ID: 1088 +Essential: yes +Multi-Arch: foreign +Source: init-system-helpers +Source-Version: 1.62 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl-base (>= 5.20.1-3) +Conflicts: file-rc (<< 0.8.17~) + +Package: tnftp +Architecture: arm64 +Version: 20210827-4build1 +APT-ID: 5734 +Source: tnftp +Source-Version: 20210827-4build1 +Priority: standard +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libedit2 (>= 2.11-20080614-0), libssl3 (>= 3.0.0~~alpha1) +Conflicts: lukemftp +Replaces: lukemftp +Provides: ftp + +Package: libqmi-glib5 +Architecture: arm64 +Version: 1.30.4-1 +APT-ID: 3278 +Multi-Arch: same +Source: libqmi +Source-Version: 1.30.4-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libglib2.0-0 (>= 2.56), libmbim-glib4 (>= 1.18.0), libmbim-proxy + +Package: thin-provisioning-tools +Architecture: arm64 +Version: 0.9.0-2ubuntu1 +APT-ID: 5634 +Source: thin-provisioning-tools +Source-Version: 0.9.0-2ubuntu1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libaio1 (>= 0.3.93), libc6 (>= 2.34), libexpat1 (>= 2.0.1), libgcc-s1 (>= 3.0), libstdc++6 (>= 11) + +Package: libnss-resolve +Architecture: arm64 +Version: 249.11-0ubuntu3.4 +APT-ID: 66770 +Multi-Arch: same +Source: systemd +Source-Version: 249.11-0ubuntu3.4 +Priority: optional +Section: universe/admin +APT-Release: + v=22.04,o=Ubuntu,a=jammy-proposed,n=jammy,l=Ubuntu,c=universe,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=universe,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libc6 (>= 2.34), systemd (= 249.11-0ubuntu3.4) + +Package: libsemanage-common +Architecture: all +Version: 3.3-1build2 +APT-ID: 3588 +Multi-Arch: foreign +Source: libsemanage +Source-Version: 3.3-1build2 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libseccomp2 +Architecture: arm64 +Version: 2.5.3-2ubuntu2 +APT-ID: 3582 +Multi-Arch: same +Source: libseccomp +Source-Version: 2.5.3-2ubuntu2 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) + +Package: python3-six +Architecture: all +Version: 1.16.0-3ubuntu1 +APT-ID: 5356 +Multi-Arch: foreign +Source: six +Source-Version: 1.16.0-3ubuntu1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any +Breaks: libpython-stdlib (<< 2.7.18), python-minimal (<< 2.7.18) + +Package: procps +Architecture: arm64 +Version: 2:3.3.17-6ubuntu2 +APT-ID: 4863 +Multi-Arch: foreign +Source: procps +Source-Version: 2:3.3.17-6ubuntu2 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libncurses6 (>= 6), libncursesw6 (>= 6), libprocps8 (>= 2:3.3.16-1), libtinfo6 (>= 6), lsb-base (>= 3.0-10), init-system-helpers (>= 1.29~) +Recommends: psmisc +Replaces: manpages-de (<< 4.9.1-2), manpages-fr (<< 4.9.1-2), manpages-fr-extra (<< 20151231+nmu1), manpages-pl (<< 1:4.9.1-2) +Breaks: guymager (<= 0.5.9-1), manpages-de (<< 4.9.1-2), manpages-fr (<< 4.9.1-2), manpages-fr-extra (<< 20151231+nmu1), manpages-pl (<< 1:4.9.1-2), open-vm-tools (<= 2011.12.20-562307-1) +Provides: watch + +Package: eatmydata +Architecture: all +Version: 130-2build1 +APT-ID: 349 +Source: libeatmydata +Source-Version: 130-2build1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libeatmydata1 (>= 130-2build1) + +Package: cryptsetup +Architecture: arm64 +Version: 2:2.4.3-1ubuntu1 +APT-ID: 229 +Multi-Arch: foreign +Source: cryptsetup +Source-Version: 2:2.4.3-1ubuntu1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: cryptsetup-bin (>= 2:1.6.0), dmsetup, debconf (>= 0.5) | debconf-2.0, libc6 (>= 2.34), libcryptsetup12 (>= 2:2.4), libjson-c5 (>= 0.15), libssh-4 (>= 0.8.0) +Suggests: dosfstools, keyutils, liblocale-gettext-perl +Recommends: cryptsetup-initramfs +Replaces: cryptsetup-run (<< 2:2.1.0-6) +Breaks: cryptsetup-run (<< 2:2.1.0-6) + +Package: python3-constantly +Architecture: all +Version: 15.1.0-2 +APT-ID: 5069 +Source: constantly +Source-Version: 15.1.0-2 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any + +Package: distro-info +Architecture: arm64 +Version: 1.1build1 +APT-ID: 315 +Source: distro-info +Source-Version: 1.1build1 +Priority: required +Section: devel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: distro-info-data (>= 0.46), libc6 (>= 2.34) +Suggests: shunit2 (>= 2.1.6) + +Package: libpython3-stdlib +Architecture: arm64 +Version: 3.10.4-0ubuntu2 +APT-ID: 3268 +Multi-Arch: same +Source: python3-defaults +Source-Version: 3.10.4-0ubuntu2 +Priority: required +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libpython3.10-stdlib (>= 3.10.4-1~) + +Package: bash-completion +Architecture: all +Version: 1:2.11-5ubuntu1 +APT-ID: 87 +Multi-Arch: foreign +Source: bash-completion +Source-Version: 1:2.11-5ubuntu1 +Priority: standard +Section: shells +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Provides: dh-sequence-bash-completion + +Package: systemd-standalone-sysusers +Architecture: arm64 +Version: 249.11-0ubuntu3.4 +APT-ID: 67122 +Source: systemd +Source-Version: 249.11-0ubuntu3.4 +Priority: optional +Section: universe/admin +APT-Release: + v=22.04,o=Ubuntu,a=jammy-proposed,n=jammy,l=Ubuntu,c=universe,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=universe,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libc6 (>= 2.34), libcrypt1 (>= 1:4.4.0), libselinux1 (>= 3.1~) +Conflicts: systemd (<< 249.3-3), systemd-sysusers +Replaces: systemd (<< 249.3-3), systemd-sysusers +Provides: systemd-sysusers (= 249.11-0ubuntu3.4) + +Package: mount +Architecture: arm64 +Version: 2.37.2-4ubuntu3 +APT-ID: 4539 +Multi-Arch: foreign +Source: util-linux +Source-Version: 2.37.2-4ubuntu3 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Pre-Depends: libblkid1 (>= 2.17.2), libc6 (>= 2.34), libmount1 (>= 2.37.2), libselinux1 (>= 3.1~), libsmartcols1 (>= 2.33) +Suggests: nfs-common + +Package: libestr0 +Architecture: arm64 +Version: 0.1.10-2.1build3 +APT-ID: 2096 +Multi-Arch: same +Source: libestr +Source-Version: 0.1.10-2.1build3 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) + +Package: libglib2.0-0 +Architecture: arm64 +Version: 2.72.1-1 +APT-ID: 2319 +Multi-Arch: same +Source: glib2.0 +Source-Version: 2.72.1-1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libffi8 (>= 3.4), libmount1 (>= 2.35.2-7~), libpcre3, libselinux1 (>= 3.1~), zlib1g (>= 1:1.2.2) +Recommends: libglib2.0-data, shared-mime-info, xdg-user-dirs +Breaks: gimp (<< 2.10.14-3~), glib-networking-tests (<< 2.70.0~), gnome-keyring (<< 40.0-3~), libgirepository-1.0-1 (<< 1.62.0-4~), libgladeui-2-6 (<< 3.22.2), libsoup2.4-tests (<< 2.72.0-3~) + +Package: python3-yaml +Architecture: arm64 +Version: 5.4.1-1ubuntu1 +APT-ID: 5419 +Multi-Arch: allowed +Source: pyyaml +Source-Version: 5.4.1-1ubuntu1 +Priority: required +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3 (<< 3.11), python3 (>= 3.10~), python3:any, libc6 (>= 2.17), libyaml-0-2 +Breaks: libpython-stdlib (<< 2.7.18), python-minimal (<< 2.7.18), python-yaml (<< 5.3.1-2) + +Package: libtss2-sys1 +Architecture: arm64 +Version: 3.2.0-1ubuntu1 +APT-ID: 3829 +Multi-Arch: same +Source: tpm2-tss +Source-Version: 3.2.0-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: tpm-udev, libc6 (>= 2.17), libtss2-mu0 (>= 3.0.1) +Replaces: libtss2-esys0 (<< 3.0.1-2) +Breaks: libtss2-esys0 (<< 3.0.1-2) + +Package: fonts-ubuntu-console +Architecture: all +Version: 0.83-6ubuntu1 +APT-ID: 532 +Multi-Arch: foreign +Source: fonts-ubuntu +Source-Version: 0.83-6ubuntu1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libjson-glib-1.0-0 +Architecture: arm64 +Version: 1.6.6-1build1 +APT-ID: 2687 +Multi-Arch: same +Source: json-glib +Source-Version: 1.6.6-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libjson-glib-1.0-common (>= 1.6.6-1build1), libc6 (>= 2.17), libglib2.0-0 (>= 2.55.2) + +Package: libubootenv0.1 +Architecture: arm64 +Version: 0.3.2-1build1 +APT-ID: 3845 +Multi-Arch: same +Source: libubootenv +Source-Version: 0.3.2-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), zlib1g (>= 1:1.1.4) + +Package: perl-base +Architecture: arm64 +Version: 5.34.0-3ubuntu1 +APT-ID: 4743 +Essential: yes +Source: perl +Source-Version: 5.34.0-3ubuntu1 +Priority: important +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Pre-Depends: libc6 (>= 2.35), libcrypt1 (>= 1:4.1.0), dpkg (>= 1.17.17) +Suggests: perl, sensible-utils +Conflicts: defoma (<< 0.11.12), doc-base (<< 0.10.3), mono-gac (<< 2.10.8.1-3), safe-rm (<< 0.8), update-inetd (<< 4.41) +Replaces: libfile-path-perl (<< 2.18), libfile-temp-perl (<< 0.2311), libio-socket-ip-perl (<< 0.41), libscalar-list-utils-perl (<< 1:1.55), libsocket-perl (<< 2.031), libxsloader-perl (<< 0.30), perl (<< 5.10.1-12), perl-modules (<< 5.20.1-3) +Breaks: amanda-common (<< 1:3.3.9-2), backuppc (<< 3.3.1-2), bucardo (<< 5.5.0-1.1), debconf (<< 1.5.61), dh-haskell (<< 0.3), intltool (<< 0.51.0-4), kio-perldoc (<< 20.04.1-1), latexml (<< 0.8.4-2), libdevel-mat-dumper-perl (<< 0.42-3), libencode-arabic-perl (<< 14.2-2), libexception-class-perl (<< 1.42), libfile-path-perl (<< 2.18), libfile-spec-perl (<< 3.8000), libfile-temp-perl (<< 0.2311), libio-socket-ip-perl (<< 0.41), libmp3-tag-perl (<< 1.13-1.2), libsbuild-perl (<< 0.67.0-1), libscalar-list-utils-perl (<< 1:1.55), libsocket-perl (<< 2.031), libxsloader-perl (<< 0.30), mailagent (<< 1:3.1-81-2), perl (<< 5.34.0~), perl-modules (<< 5.34.0~), pod2pdf (<< 0.42-5.1), slic3r (<< 1.2.9+dfsg-6.1), slic3r-prusa (<< 1.37.0+dfsg-1.1), texinfo (<< 6.1.0.dfsg.1-8) +Provides: perlapi-5.34.0, libxsloader-perl (= 0.30), libsocket-perl (= 2.031), libscalar-list-utils-perl (= 1:1.55), libio-socket-ip-perl (= 0.41), libfile-temp-perl (= 0.2311), libfile-path-perl (= 2.18) + +Package: openssh-sftp-server +Architecture: arm64 +Version: 1:8.9p1-3 +APT-ID: 4698 +Multi-Arch: foreign +Source: openssh +Source-Version: 1:8.9p1-3 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: openssh-client (= 1:8.9p1-3), libc6 (>= 2.34), libssl3 (>= 3.0.0~~alpha1) +Recommends: openssh-server | ssh-server +Replaces: openssh-server (<< 1:6.5p1-5) +Breaks: openssh-server (<< 1:6.5p1-5) +Enhances: openssh-server, ssh-server + +Package: libpam0g +Architecture: arm64 +Version: 1.4.0-11ubuntu2 +APT-ID: 3120 +Multi-Arch: same +Source: pam +Source-Version: 1.4.0-11ubuntu2 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libaudit1 (>= 1:2.2.1), libc6 (>= 2.34), debconf (>= 0.5) | debconf-2.0 +Suggests: libpam-doc +Replaces: libpam0g-util + +Package: nano +Architecture: arm64 +Version: 6.2-1 +APT-ID: 4603 +Source: nano +Source-Version: 6.2-1 +Priority: standard +Section: editors +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libncursesw6 (>= 6), libtinfo6 (>= 6) +Suggests: hunspell +Conflicts: pico +Replaces: nano-tiny (<< 2.8.6-2), pico +Breaks: nano-tiny (<< 2.8.6-2) + +Package: btrfs-progs +Architecture: arm64 +Version: 5.16.2-1 +APT-ID: 138 +Multi-Arch: foreign +Source: btrfs-progs +Source-Version: 5.16.2-1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libblkid1 (>= 2.17.2), libc6 (>= 2.34), libcom-err2 (>= 1.43.9), libext2fs2 (>= 1.42), liblzo2-2 (>= 2.02), libudev1 (>= 183), libuuid1 (>= 2.16), libzstd1 (>= 1.4.0), zlib1g (>= 1:1.2.0) +Suggests: duperemove +Breaks: initramfs-tools (<< 0.137~), libgcc-s1 (<< 10-20200211) + +Package: libdns-export1110 +Architecture: arm64 +Version: 1:9.11.19+dfsg-2.1ubuntu3 +APT-ID: 2016 +Source: bind9-libs +Source-Version: 1:9.11.19+dfsg-2.1ubuntu3 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libisc-export1105, libssl3 (>= 3.0.0~~alpha1) + +Package: libbrotli1 +Architecture: arm64 +Version: 1.0.9-2build6 +APT-ID: 1729 +Multi-Arch: same +Source: brotli +Source-Version: 1.0.9-2build6 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.29) + +Package: python3-newt +Architecture: arm64 +Version: 0.52.21-5ubuntu2 +APT-ID: 5214 +Multi-Arch: same +Source: newt +Source-Version: 0.52.21-5ubuntu2 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libnewt0.52 (= 0.52.21-5ubuntu2), python3 (<< 3.11), python3 (>= 3.10~), python3:any, libc6 (>= 2.17) +Provides: python3.10-newt + +Package: htop +Architecture: arm64 +Version: 3.0.5-7build2 +APT-ID: 936 +Source: htop +Source-Version: 3.0.5-7build2 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libncursesw6 (>= 6), libnl-3-200 (>= 3.2.7), libnl-genl-3-200 (>= 3.2.7), libtinfo6 (>= 6) +Suggests: lm-sensors, lsof, strace + +Package: bind9-libs +Architecture: arm64 +Version: 1:9.18.1-1ubuntu1.1 +APT-ID: 64757 +Multi-Arch: same +Source: bind9 +Source-Version: 1:9.18.1-1ubuntu1.1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgssapi-krb5-2 (>= 1.17), libjson-c5 (>= 0.15), libkrb5-3 (>= 1.6.dfsg.2), liblmdb0 (>= 0.9.7), libmaxminddb0 (>= 1.3.0), libnghttp2-14 (>= 1.12.0), libssl3 (>= 3.0.0~~alpha1), libuv1 (>= 1.34.2), libxml2 (>= 2.7.4), zlib1g (>= 1:1.1.4) +Replaces: bind-libs (<< 1:9.13.6~) +Breaks: bind-libs (<< 1:9.13.6~) + +Package: libdrm2 +Architecture: arm64 +Version: 2.4.110-1ubuntu1 +APT-ID: 2031 +Multi-Arch: same +Source: libdrm +Source-Version: 2.4.110-1ubuntu1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libdrm-common (>= 2.4.110-1ubuntu1), libc6 (>= 2.33) + +Package: liblmdb0 +Architecture: arm64 +Version: 0.9.24-1build2 +APT-ID: 2760 +Multi-Arch: same +Source: lmdb +Source-Version: 0.9.24-1build2 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: sudo +Architecture: arm64 +Version: 1.9.9-1ubuntu2 +APT-ID: 5594 +Source: sudo +Source-Version: 1.9.9-1ubuntu2 +Priority: required +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libaudit1 (>= 1:2.2.1), libc6 (>= 2.34), libpam0g (>= 0.99.7.1), libselinux1 (>= 3.1~), zlib1g (>= 1:1.2.0.2), libpam-modules, lsb-base +Conflicts: sudo-ldap +Replaces: sudo-ldap + +Package: ubuntu-standard +Architecture: arm64 +Version: 1.481 +APT-ID: 5780 +Source: ubuntu-meta +Source-Version: 1.481 +Priority: standard +Section: metapackages +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: bind9-dnsutils, busybox-static, cpio, cron, dmidecode, dosfstools, ed, file, ftp, hdparm, info, libpam-systemd, logrotate, lshw, lsof, man-db, media-types, nftables, parted, pciutils, psmisc, rsync, strace, time, usbutils, wget, xz-utils +Recommends: apparmor, bash-completion, command-not-found, friendly-recovery, iptables, iputils-tracepath, irqbalance, manpages, mtr-tiny, nano, ntfs-3g, openssh-client, plymouth, plymouth-theme-ubuntu-text, tcpdump, telnet, ufw, update-manager-core, uuid-runtime + +Package: libc-bin +Architecture: arm64 +Version: 2.35-0ubuntu3 +APT-ID: 1741 +Essential: yes +Multi-Arch: foreign +Source: glibc +Source-Version: 2.35-0ubuntu3 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>> 2.35), libc6 (<< 2.36) +Suggests: manpages + +Package: python3-update-manager +Architecture: all +Version: 1:22.04.9 +APT-ID: 5397 +Source: update-manager +Source-Version: 1:22.04.9 +Priority: standard +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any (>= 3.2~), python3-apt (>= 0.8.5~), python3-distro-info, python3-distupgrade, lsb-release +Suggests: python3-launchpadlib +Replaces: update-manager-core (<< 1:0.163) +Breaks: python3-distupgrade (<< 1:16.10.10), update-manager-core (<< 1:0.163) + +Package: pkexec +Architecture: arm64 +Version: 0.105-33 +APT-ID: 4795 +Multi-Arch: foreign +Source: policykit-1 +Source-Version: 0.105-33 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: polkitd (= 0.105-33), libc6 (>= 2.34), libglib2.0-0 (>= 2.35.9), libpam0g (>= 0.99.7.1), libpolkit-agent-1-0 (= 0.105-33), libpolkit-gobject-1-0 (= 0.105-33) +Replaces: policykit-1 (<< 0.105-32~) +Breaks: policykit-1 (<< 0.105-32~) + +Package: libparted-fs-resize0 +Architecture: arm64 +Version: 3.4-2build1 +APT-ID: 3137 +Multi-Arch: same +Source: parted +Source-Version: 3.4-2build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libparted2 (= 3.4-2build1) +Suggests: libparted-dev + +Package: netplan.io +Architecture: arm64 +Version: 0.104-0ubuntu2 +APT-ID: 4620 +Multi-Arch: foreign +Source: netplan.io +Source-Version: 0.104-0ubuntu2 +Priority: required +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.70.0), libnetplan0 (= 0.104-0ubuntu2), libsystemd0 (>= 243), iproute2, python3, python3-yaml, python3-netifaces, systemd (>= 248~) +Suggests: network-manager | wpasupplicant, openvswitch-switch +Conflicts: netplan +Replaces: nplan (<< 0.34~) +Breaks: network-manager (<< 1.2.2-1), nplan (<< 0.34~) +Provides: nplan + +Package: python3-distutils +Architecture: all +Version: 3.10.4-0ubuntu1 +APT-ID: 5096 +Multi-Arch: foreign +Source: python3-stdlib-extensions +Source-Version: 3.10.4-0ubuntu1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3:any (>= 3.10.1-0~), python3:any (<< 3.11), python3-lib2to3 (= 3.10.4-0ubuntu1) +Replaces: libpython3.6-stdlib (<< 3.6.4~rc1-2), libpython3.7-stdlib (<< 3.7.0~a3-2) +Breaks: libpython3.10-stdlib (<< 3.10.0~b1), libpython3.6-stdlib (<< 3.6.5~rc1-3), libpython3.7-stdlib (<< 3.7.0~b2-2), libpython3.8-stdlib (<< 3.8.0~b2-5) +Provides: python3.10-distutils + +Package: python3-apport +Architecture: all +Version: 2.20.11-0ubuntu82.1 +APT-ID: 66128 +Source: apport +Source-Version: 2.20.11-0ubuntu82.1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any (>= 3.0~), python3-apt (>= 0.7.9), python3-httplib2, python3-problem-report (>= 0.94), lsb-release, python3-launchpadlib, python3-yaml +Recommends: apport + +Package: keyboard-configuration +Architecture: all +Version: 1.205ubuntu3 +APT-ID: 1132 +Multi-Arch: foreign +Source: console-setup +Source-Version: 1.205ubuntu3 +Priority: required +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: liblocale-gettext-perl +Pre-Depends: debconf (>= 1.5.34) +Replaces: console-setup (<< 1.47), console-setup-mini (<< 1.47) +Breaks: console-setup (<< 1.71), console-setup-mini (<< 1.47) + +Package: libevent-core-2.1-7 +Architecture: arm64 +Version: 2.1.12-stable-1build3 +APT-ID: 2103 +Multi-Arch: same +Source: libevent +Source-Version: 2.1.12-stable-1build3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: libattr1 +Architecture: arm64 +Version: 1:2.5.1-1build1 +APT-ID: 1611 +Multi-Arch: same +Source: attr +Source-Version: 1:2.5.1-1build1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) + +Package: python3-keyring +Architecture: all +Version: 23.5.0-1 +APT-ID: 5163 +Source: python-keyring +Source-Version: 23.5.0-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-importlib-metadata (>= 3.6), python3-jeepney (>= 0.4.2), python3-secretstorage (>= 3.2), python3:any +Suggests: gir1.2-secret-1, gnome-keyring, libkf5wallet-bin, python3-dbus, python3-gi, python3-keyrings.alt +Breaks: python3-keyrings.alt (<< 3.1), python3-wheel (<< 0.27) + +Package: python3-commandnotfound +Architecture: all +Version: 22.04.0 +APT-ID: 5066 +Source: command-not-found +Source-Version: 22.04.0 +Priority: standard +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: lsb-release, python3-apt, python3-gdbm, python3:any +Replaces: command-not-found (<< 0.3ubuntu7) + +Package: libaudit1 +Architecture: arm64 +Version: 1:3.0.7-1build1 +APT-ID: 1615 +Multi-Arch: same +Source: audit +Source-Version: 1:3.0.7-1build1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libaudit-common (>= 1:3.0.7-1build1), libc6 (>= 2.33), libcap-ng0 (>= 0.7.9) + +Package: libkmod2 +Architecture: arm64 +Version: 29-1ubuntu1 +APT-ID: 2706 +Multi-Arch: same +Source: kmod +Source-Version: 29-1ubuntu1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), liblzma5 (>= 5.1.1alpha+20120614), libssl3 (>= 3.0.0~~alpha1), libzstd1 (>= 1.4.0) + +Package: libxext6 +Architecture: arm64 +Version: 2:1.3.4-1build1 +APT-ID: 4109 +Multi-Arch: same +Source: libxext +Source-Version: 2:1.3.4-1build1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libx11-6 (>= 2:1.6.0) + +Package: initramfs-tools +Architecture: all +Version: 0.140ubuntu13 +APT-ID: 1089 +Multi-Arch: foreign +Source: initramfs-tools +Source-Version: 0.140ubuntu13 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: initramfs-tools-core (= 0.140ubuntu13), linux-base +Suggests: bash-completion +Conflicts: linux-initramfs-tool, usplash (<< 0.5.50) +Breaks: e2fsprogs (<< 1.42.13), initscripts (<< 2.88dsf-59.3~), netplan.io (<< 0.37), upstart +Provides: linux-initramfs-tool + +Package: mtd-utils +Architecture: arm64 +Version: 1:2.1.4-1 +APT-ID: 4544 +Multi-Arch: foreign +Source: mtd-utils +Source-Version: 1:2.1.4-1 +Priority: extra +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libiniparser1 (>= 4.0), liblzo2-2 (>= 2.02), libselinux1 (>= 3.1~), libssl3 (>= 3.0.0~~alpha1), libuuid1 (>= 2.16), libzstd1 (>= 1.4.0), zlib1g (>= 1:1.1.4) +Replaces: mtd-tools +Provides: mtd-tools + +Package: ubuntu-server +Architecture: arm64 +Version: 1.481 +APT-ID: 5775 +Source: ubuntu-meta +Source-Version: 1.481 +Priority: optional +Section: metapackages +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: apport, bcache-tools, btrfs-progs, byobu, cloud-guest-utils, cloud-initramfs-copymods, cloud-initramfs-dyn-netconf, curl, dirmngr, ethtool, fonts-ubuntu-console, git, gnupg, htop, lvm2, mdadm, motd-news-config, multipath-tools, overlayroot, patch, pollinate, screen, software-properties-common, sosreport, tmux, update-notifier-common, vim, xfsprogs +Recommends: fwupd, landscape-common, lxd-agent-loader, needrestart, open-iscsi, open-vm-tools, snapd, unattended-upgrades + +Package: tpm-udev +Architecture: all +Version: 0.6 +APT-ID: 5739 +Multi-Arch: foreign +Source: tpm-udev +Source-Version: 0.6 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: adduser, udev + +Package: parted +Architecture: arm64 +Version: 3.4-2build1 +APT-ID: 4732 +Multi-Arch: foreign +Source: parted +Source-Version: 3.4-2build1 +Priority: standard +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libparted2 (= 3.4-2build1), libreadline8 (>= 6.0), libtinfo6 (>= 6) +Suggests: parted-doc + +Package: libhogweed6 +Architecture: arm64 +Version: 3.7.3-1build2 +APT-ID: 2520 +Multi-Arch: same +Source: nettle +Source-Version: 3.7.3-1build2 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libgmp10 (>= 2:6.2.1+dfsg), libnettle8 + +Package: cpio +Architecture: arm64 +Version: 2.13+dfsg-7 +APT-ID: 207 +Multi-Arch: foreign +Source: cpio +Source-Version: 2.13+dfsg-7 +Priority: standard +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Suggests: libarchive1 +Conflicts: cpio-mt, mt-st (<< 0.6) +Replaces: cpio-mt + +Package: dirmngr +Architecture: arm64 +Version: 2.2.27-3ubuntu2.1 +APT-ID: 64789 +Multi-Arch: foreign +Source: gnupg2 +Source-Version: 2.2.27-3ubuntu2.1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: adduser, gpgconf (= 2.2.27-3ubuntu2.1), lsb-base (>= 3.2-13), init-system-helpers (>= 1.52), libassuan0 (>= 2.5.0), libc6 (>= 2.34), libgcrypt20 (>= 1.9.0), libgnutls30 (>= 3.7.2), libgpg-error0 (>= 1.42), libksba8 (>= 1.3.5), libldap-2.5-0 (>= 2.5.4), libnpth0 (>= 0.90) +Suggests: dbus-user-session, libpam-systemd, pinentry-gnome3, tor +Recommends: gnupg (= 2.2.27-3ubuntu2.1) +Replaces: gnupg2 (<< 2.1.10-2) +Breaks: gnupg2 (<< 2.1.10-2) +Enhances: gpg, gpgsm, squid + +Package: bc +Architecture: arm64 +Version: 1.07.1-3build1 +APT-ID: 89 +Multi-Arch: foreign +Source: bc +Source-Version: 1.07.1-3build1 +Priority: optional +Section: math +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libreadline8 (>= 6.0) + +Package: ed +Architecture: arm64 +Version: 1.18-1 +APT-ID: 353 +Multi-Arch: foreign +Source: ed +Source-Version: 1.18-1 +Priority: standard +Section: editors +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: libksba8 +Architecture: arm64 +Version: 1.6.0-2build1 +APT-ID: 2719 +Multi-Arch: same +Source: libksba +Source-Version: 1.6.0-2build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libgpg-error0 (>= 1.14) + +Package: libtext-iconv-perl +Architecture: arm64 +Version: 1.7-7build3 +APT-ID: 3760 +Source: libtext-iconv-perl +Source-Version: 1.7-7build3 +Priority: required +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), perl-base, perlapi-5.34.0 + +Package: libisns0 +Architecture: arm64 +Version: 0.101-0ubuntu2 +APT-ID: 2639 +Multi-Arch: same +Source: open-isns +Source-Version: 0.101-0ubuntu2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libssl3 (>= 3.0.0~~alpha1) +Recommends: netbase + +Package: systemd-sysv +Architecture: arm64 +Version: 249.11-0ubuntu3.4 +APT-ID: 66184 +Multi-Arch: foreign +Source: systemd +Source-Version: 249.11-0ubuntu3.4 +Priority: required +Section: admin +APT-Release: + v=22.04,o=Ubuntu,a=jammy-proposed,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: systemd (= 249.11-0ubuntu3.4) +Pre-Depends: systemd +Recommends: libpam-systemd, libnss-systemd +Conflicts: file-rc, systemd-shim, sysvinit-core +Replaces: sysvinit-core + +Package: systemd-sysv +Architecture: arm64 +Version: 249.11-0ubuntu3.1 +APT-ID: 68002 +Multi-Arch: foreign +Source: systemd +Source-Version: 249.11-0ubuntu3.1 +Priority: required +Section: admin +Installed: yes +APT-Pin: 100 +APT-Automatic: yes +Depends: systemd (= 249.11-0ubuntu3.1) +Pre-Depends: systemd +Recommends: libpam-systemd, libnss-systemd +Conflicts: file-rc, systemd-shim, sysvinit-core +Replaces: sysvinit-core + +Package: cron +Architecture: arm64 +Version: 3.0pl1-137ubuntu3 +APT-ID: 223 +Multi-Arch: foreign +Source: cron +Source-Version: 3.0pl1-137ubuntu3 +Priority: standard +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libpam0g (>= 0.99.7.1), libselinux1 (>= 3.1~), debianutils (>= 1.7), sensible-utils, adduser, lsb-base (>= 3.0-10), libpam-runtime (>= 1.0.1-11) +Pre-Depends: init-system-helpers (>= 1.54~) +Suggests: anacron (>= 2.0-1), logrotate, checksecurity, default-mta | mail-transport-agent +Provides: cron-daemon + +Package: apt-utils +Architecture: arm64 +Version: 2.4.6 +APT-ID: 67178 +Source: apt +Source-Version: 2.4.6 +Priority: required +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-proposed,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: apt (= 2.4.6), libapt-pkg6.0 (>= 2.4.6), libc6 (>= 2.34), libdb5.3, libgcc-s1 (>= 3.3.1), libstdc++6 (>= 11) + +Package: python3-idna +Architecture: all +Version: 3.3-1 +APT-ID: 5142 +Multi-Arch: foreign +Source: python-idna +Source-Version: 3.3-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any + +Package: gnupg-utils +Architecture: arm64 +Version: 2.2.27-3ubuntu2.1 +APT-ID: 64864 +Multi-Arch: foreign +Source: gnupg2 +Source-Version: 2.2.27-3ubuntu2.1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libassuan0 (>= 2.5.0), libbz2-1.0, libc6 (>= 2.34), libgcrypt20 (>= 1.9.0), libgpg-error0 (>= 1.42), libksba8 (>= 1.3.5), libreadline8 (>= 6.0), zlib1g (>= 1:1.1.4) +Recommends: gpg, gpg-agent, gpgconf, gpgsm +Replaces: gnupg (<< 2.1.21-4), gnupg-agent (<< 2.1.21-4) +Breaks: gnupg (<< 2.1.21-4), gnupg-agent (<< 2.1.21-4) + +Package: libpam-cap +Architecture: arm64 +Version: 1:2.44-1build3 +APT-ID: 3104 +Multi-Arch: same +Source: libcap2 +Source-Version: 1:2.44-1build3 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libcap2 (>= 1:2.33), libpam0g (>= 0.99.7.1), libpam-runtime (>= 1.1.3-2~) +Replaces: libcap2-bin (<< 1:2.22-1.1) +Breaks: libcap2-bin (<< 1:2.22-1.1) + +Package: libblkid1 +Architecture: arm64 +Version: 2.37.2-4ubuntu3 +APT-ID: 1663 +Multi-Arch: same +Source: util-linux +Source-Version: 2.37.2-4ubuntu3 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: libgnutls30 +Architecture: arm64 +Version: 3.7.3-4ubuntu1 +APT-ID: 2380 +Multi-Arch: same +Source: gnutls28 +Source-Version: 3.7.3-4ubuntu1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgmp10 (>= 2:6.2.1+dfsg), libhogweed6 (>= 3.6), libidn2-0 (>= 2.0.0), libnettle8 (>= 3.7~), libp11-kit0 (>= 0.23.18.1), libtasn1-6 (>= 4.14), libunistring2 (>= 0.9.7) +Suggests: gnutls-bin + +Package: python3-bcrypt +Architecture: arm64 +Version: 3.2.0-1build1 +APT-ID: 5038 +Source: python-bcrypt +Source-Version: 3.2.0-1build1 +Priority: extra +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3 (>= 3~), python3-cffi-backend-api-min (<= 9729), python3-cffi-backend-api-max (>= 9729), python3-six (>= 1.4.1), python3:any, libc6 (>= 2.17) + +Package: python3-chardet +Architecture: all +Version: 4.0.0-1 +APT-ID: 5057 +Multi-Arch: foreign +Source: chardet +Source-Version: 4.0.0-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any, python3-pkg-resources +Replaces: python-chardet (<< 3.0.4-6) +Breaks: python-chardet (<< 3.0.4-6) + +Package: unattended-upgrades +Architecture: all +Version: 2.8ubuntu1 +APT-ID: 5789 +Source: unattended-upgrades +Source-Version: 2.8ubuntu1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf (>= 0.5) | debconf-2.0, debconf, python3, python3-apt (>= 1.9.6~), python3-dbus, python3-distro-info, ucf, lsb-release, lsb-base, xz-utils +Suggests: bsd-mailx, default-mta | mail-transport-agent, needrestart, powermgmt-base, python3-gi +Recommends: systemd-sysv | cron | cron-daemon | anacron + +Package: needrestart +Architecture: all +Version: 3.5-5ubuntu2.1 +APT-ID: 66056 +Source: needrestart +Source-Version: 3.5-5ubuntu2.1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any, dpkg (>= 1.16.0), gettext-base, libintl-perl, libproc-processtable-perl, libsort-naturally-perl, libmodule-scandeps-perl, libterm-readkey-perl, libmodule-find-perl, binutils, xz-utils +Suggests: needrestart-session | libnotify-bin, iucode-tool +Recommends: libpam-systemd | sysvinit-core +Enhances: intel-microcode + +Package: curl +Architecture: arm64 +Version: 7.81.0-1ubuntu1.3 +APT-ID: 64786 +Multi-Arch: foreign +Source: curl +Source-Version: 7.81.0-1ubuntu1.3 +Priority: optional +Section: web +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcurl4 (= 7.81.0-1ubuntu1.3), zlib1g (>= 1:1.1.4) + +Package: libslang2 +Architecture: arm64 +Version: 2.3.2-5build4 +APT-ID: 3610 +Multi-Arch: same +Source: slang2 +Source-Version: 2.3.2-5build4 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.35) + +Package: libargon2-1 +Architecture: arm64 +Version: 0~20171227-0.3 +APT-ID: 1561 +Multi-Arch: same +Source: argon2 +Source-Version: 0~20171227-0.3 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: sysvinit-utils +Architecture: arm64 +Version: 3.01-1ubuntu1 +APT-ID: 5616 +Essential: yes +Multi-Arch: foreign +Source: sysvinit +Source-Version: 3.01-1ubuntu1 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: lsb-base (>= 11.0.0~), libc6 (>= 2.34) + +Package: python3-debconf +Architecture: all +Version: 1.5.79ubuntu1 +APT-ID: 5083 +Source: debconf +Source-Version: 1.5.79ubuntu1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf (= 1.5.79ubuntu1), python3:any +Replaces: debconf (<< 1.5.64) +Breaks: debconf (<< 1.5.64) + +Package: libcbor0.8 +Architecture: arm64 +Version: 0.8.0-2ubuntu1 +APT-ID: 1787 +Multi-Arch: same +Source: libcbor +Source-Version: 0.8.0-2ubuntu1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) + +Package: logsave +Architecture: arm64 +Version: 1.46.5-2ubuntu1.1 +APT-ID: 66041 +Multi-Arch: foreign +Source: e2fsprogs +Source-Version: 1.46.5-2ubuntu1.1 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Replaces: e2fsprogs (<< 1.45.3-1) +Breaks: e2fsprogs (<< 1.45.3-1) + +Package: python3-configobj +Architecture: all +Version: 5.0.6-5 +APT-ID: 5067 +Multi-Arch: foreign +Source: configobj +Source-Version: 5.0.6-5 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-six, python3:any +Suggests: python-configobj-doc + +Package: libflashrom1 +Architecture: arm64 +Version: 1.2-5build1 +APT-ID: 2172 +Multi-Arch: same +Source: flashrom +Source-Version: 1.2-5build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libftdi1-2 (>= 1.2), libusb-1.0-0 (>= 2:1.0.22) + +Package: gnupg-l10n +Architecture: all +Version: 2.2.27-3ubuntu2.1 +APT-ID: 64863 +Multi-Arch: foreign +Source: gnupg2 +Source-Version: 2.2.27-3ubuntu2.1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: gnupg (<< 2.1.14-2~), gnupg2 (<< 2.1.14-2~) +Breaks: gnupg (<< 2.1.14-2~), gnupg2 (<< 2.1.14-2~) +Enhances: dirmngr, gpg, gpg-agent + +Package: python3.10-minimal +Architecture: arm64 +Version: 3.10.4-3 +APT-ID: 5432 +Multi-Arch: allowed +Source: python3.10 +Source-Version: 3.10.4-3 +Priority: required +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libpython3.10-minimal (= 3.10.4-3), libexpat1 (>= 2.1~beta3), zlib1g (>= 1:1.2.0) +Pre-Depends: libc6 (>= 2.35) +Suggests: binfmt-support +Recommends: python3.10 +Conflicts: binfmt-support (<< 1.1.2) + +Package: libjcat1 +Architecture: arm64 +Version: 0.1.9-1 +APT-ID: 2668 +Multi-Arch: same +Source: libjcat +Source-Version: 0.1.9-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libglib2.0-0 (>= 2.61.2), libgnutls30 (>= 3.7.0), libgpg-error0 (>= 1.14), libgpgme11 (>= 1.2.0), libjson-glib-1.0-0 (>= 1.5.2) + +Package: python3-setuptools +Architecture: all +Version: 59.6.0-1.2 +APT-ID: 5351 +Multi-Arch: foreign +Source: setuptools +Source-Version: 59.6.0-1.2 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3-pkg-resources (= 59.6.0-1.2), python3-distutils, python3:any +Suggests: python-setuptools-doc + +Package: ubuntu-release-upgrader-core +Architecture: all +Version: 1:22.04.11 +APT-ID: 66282 +Source: ubuntu-release-upgrader +Source-Version: 1:22.04.11 +Priority: standard +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any, python3-distupgrade (= 1:22.04.11), ca-certificates +Recommends: libpam-modules (>= 1.0.1-9ubuntu3) +Replaces: update-manager (<< 1:0.165), update-manager-core (<< 1:0.165) +Breaks: software-properties (<< 0.9.27), update-manager (<< 1:0.165), update-manager-core (<< 1:0.165) + +Package: libdw1 +Architecture: arm64 +Version: 0.186-1build1 +APT-ID: 2038 +Multi-Arch: same +Source: elfutils +Source-Version: 0.186-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbz2-1.0, libc6 (>= 2.34), libelf1 (= 0.186-1build1), liblzma5 (>= 5.1.1alpha+20120614), zlib1g (>= 1:1.2.2.3) + +Package: libfwupdplugin5 +Architecture: arm64 +Version: 1.7.5-3 +APT-ID: 2216 +Multi-Arch: same +Source: fwupd +Source-Version: 1.7.5-3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libfwupd2 (= 1.7.5-3), libarchive13 (>= 3.0.4), libc6 (>= 2.17), libgcab-1.0-0 (>= 1.0), libglib2.0-0 (>= 2.67.3), libgudev-1.0-0 (>= 212), libgusb2 (>= 0.3.5), libjcat1 (>= 0.1.0), libxmlb2 (>= 0.3.2) + +Package: gpg-wks-client +Architecture: arm64 +Version: 2.2.27-3ubuntu2.1 +APT-ID: 64868 +Multi-Arch: foreign +Source: gnupg2 +Source-Version: 2.2.27-3ubuntu2.1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dirmngr (= 2.2.27-3ubuntu2.1), gpg (= 2.2.27-3ubuntu2.1), gpg-agent (= 2.2.27-3ubuntu2.1), libassuan0 (>= 2.5.0), libc6 (>= 2.34), libgcrypt20 (>= 1.9.0), libgpg-error0 (>= 1.42) +Recommends: gnupg (= 2.2.27-3ubuntu2.1) + +Package: liblz4-1 +Architecture: arm64 +Version: 1.9.3-2build2 +APT-ID: 2796 +Multi-Arch: same +Source: lz4 +Source-Version: 1.9.3-2build2 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) +Replaces: liblz4-1a +Breaks: liblz4-1a + +Package: libplymouth5 +Architecture: arm64 +Version: 0.9.5+git20211018-1ubuntu3 +APT-ID: 3208 +Multi-Arch: same +Source: plymouth +Source-Version: 0.9.5+git20211018-1ubuntu3 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libpng16-16 (>= 1.6.2-1), libudev1 (>= 183) +Replaces: plymouth (<< 0.9.2-1~) +Breaks: plymouth (<< 0.9.2-1~) + +Package: libpci3 +Architecture: arm64 +Version: 1:3.7.0-6 +APT-ID: 3149 +Multi-Arch: same +Source: pciutils +Source-Version: 1:3.7.0-6 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libudev1 (>= 196), zlib1g (>= 1:1.1.4), pci.ids (>= 0.0~2019.11.10-2) + +Package: command-not-found +Architecture: all +Version: 22.04.0 +APT-ID: 199 +Source: command-not-found +Source-Version: 22.04.0 +Priority: standard +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-commandnotfound (= 22.04.0) +Suggests: snapd + +Package: libtss2-esys-3.0.2-0 +Architecture: arm64 +Version: 3.2.0-1ubuntu1 +APT-ID: 3825 +Multi-Arch: same +Source: tpm2-tss +Source-Version: 3.2.0-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libtss2-tcti-cmd0, libtss2-tcti-device0, libtss2-tcti-mssim0, libtss2-tcti-swtpm0, tpm-udev, libc6 (>= 2.34), libssl3 (>= 3.0.0~~alpha1), libtss2-mu0 (>= 3.0.1), libtss2-sys1 (>= 3.1.0) +Replaces: libtss2-esys0 (<< 3.0.2-1) +Breaks: libtss2-esys0 (<< 3.0.2-1) + +Package: perl-modules-5.34 +Architecture: all +Version: 5.34.0-3ubuntu1 +APT-ID: 4746 +Multi-Arch: foreign +Source: perl +Source-Version: 5.34.0-3ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl-base (>= 5.34.0-1) +Pre-Depends: dpkg (>= 1.17.17) +Recommends: perl (>= 5.34.0-1) +Conflicts: perl-modules (<< 5.22.0~) +Replaces: libansicolor-perl (<< 5.01), libarchive-tar-perl (<< 2.38), libattribute-handlers-perl (<< 1.01), libautodie-perl (<< 2.34), libcpan-meta-perl (<< 2.150010), libcpan-meta-requirements-perl (<< 2.140), libcpan-meta-yaml-perl (<< 0.018), libdigest-perl (<< 1.19), libexperimental-perl (<< 0.024), libextutils-cbuilder-perl (<< 0.280236), libextutils-command-perl (<< 7.62), libextutils-install-perl (<< 2.20), libextutils-parsexs-perl (<< 3.430000), libfile-spec-perl (<< 3.8000), libhttp-tiny-perl (<< 0.076), libi18n-langtags-perl (<< 0.45), libio-zlib-perl (<< 1.11), libjson-pp-perl (<< 4.06000), liblocale-maketext-perl (<< 1.29), liblocale-maketext-simple-perl (<< 0.21.01), libmath-bigint-perl (<< 1.999818), libmath-complex-perl (<< 1.5902), libmodule-corelist-perl (<< 5.20210520), libmodule-load-conditional-perl (<< 0.74), libmodule-load-perl (<< 0.36), libmodule-metadata-perl (<< 1.000037), libnet-perl (<< 1:3.13), libnet-ping-perl (<< 2.74), libparams-check-perl (<< 0.38), libparent-perl (<< 0.238), libparse-cpan-meta-perl (<< 2.150010), libperl-ostype-perl (<< 1.010), libpod-escapes-perl (<< 1.07), libpod-simple-perl (<< 3.42), libtest-harness-perl (<< 3.43), libtest-simple-perl (<< 1.302183), libtest-tester-perl (<< 1.302183), libtest-use-ok-perl (<< 1.302183), libthread-queue-perl (<< 3.14), libtime-local-perl (<< 1.3000), libunicode-collate-perl (<< 1.29), libversion-perl (<< 1:0.9928), perl-base (<< 5.22.0~), perl-modules, podlators-perl (<< 4.14) +Breaks: libansicolor-perl (<< 5.01), libarchive-tar-perl (<< 2.38), libattribute-handlers-perl (<< 1.01), libautodie-perl (<< 2.34), libcpan-meta-perl (<< 2.150010), libcpan-meta-requirements-perl (<< 2.140), libcpan-meta-yaml-perl (<< 0.018), libdigest-perl (<< 1.19), libexperimental-perl (<< 0.024), libextutils-cbuilder-perl (<< 0.280236), libextutils-command-perl (<< 7.62), libextutils-install-perl (<< 2.20), libextutils-parsexs-perl (<< 3.430000), libfile-spec-perl (<< 3.8000), libhttp-tiny-perl (<< 0.076), libi18n-langtags-perl (<< 0.45), libio-zlib-perl (<< 1.11), libjson-pp-perl (<< 4.06000), liblocale-maketext-perl (<< 1.29), liblocale-maketext-simple-perl (<< 0.21.01), libmath-bigint-perl (<< 1.999818), libmath-complex-perl (<< 1.5902), libmodule-corelist-perl (<< 5.20210520), libmodule-load-conditional-perl (<< 0.74), libmodule-load-perl (<< 0.36), libmodule-metadata-perl (<< 1.000037), libnet-perl (<< 1:3.13), libnet-ping-perl (<< 2.74), libparams-check-perl (<< 0.38), libparent-perl (<< 0.238), libparse-cpan-meta-perl (<< 2.150010), libperl-ostype-perl (<< 1.010), libpod-escapes-perl (<< 1.07), libpod-simple-perl (<< 3.42), libtest-harness-perl (<< 3.43), libtest-simple-perl (<< 1.302183), libtest-tester-perl (<< 1.302183), libtest-use-ok-perl (<< 1.302183), libthread-queue-perl (<< 3.14), libtime-local-perl (<< 1.3000), libunicode-collate-perl (<< 1.29), libversion-perl (<< 1:0.9928), maildirsync (<< 1.2-2.1), perl (<< 5.34.0~), podlators-perl (<< 4.14) +Provides: perl-modules + +Package: libncursesw6 +Architecture: arm64 +Version: 6.3-2 +APT-ID: 2933 +Multi-Arch: same +Source: ncurses +Source-Version: 6.3-2 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libtinfo6 (= 6.3-2), libc6 (>= 2.34) +Recommends: libgpm2 + +Package: python3-cryptography +Architecture: arm64 +Version: 3.4.8-1ubuntu2 +APT-ID: 5073 +Source: python-cryptography +Source-Version: 3.4.8-1ubuntu2 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3 (>= 3~), python3-cffi-backend-api-min (<= 9729), python3-cffi-backend-api-max (>= 9729), python3:any, libc6 (>= 2.17), libssl3 (>= 3.0.0~~alpha1) +Suggests: python-cryptography-doc, python3-cryptography-vectors +Breaks: python3-openssl (<< 16.0.0) + +Package: ncurses-bin +Architecture: arm64 +Version: 6.3-2 +APT-ID: 4611 +Essential: yes +Multi-Arch: foreign +Source: ncurses +Source-Version: 6.3-2 +Priority: important +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Pre-Depends: libc6 (>= 2.34), libtinfo6 (>= 6.3) + +Package: libbz2-1.0 +Architecture: arm64 +Version: 1.0.8-5build1 +APT-ID: 1737 +Multi-Arch: same +Source: bzip2 +Source-Version: 1.0.8-5build1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) + +Package: ubuntu-advantage-tools +Architecture: arm64 +Version: 27.9~22.04.1 +APT-ID: 66279 +Source: ubuntu-advantage-tools +Source-Version: 27.9~22.04.1 +Priority: required +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf (>= 0.5) | debconf-2.0, python3-yaml, python3:any, libapt-pkg6.0 (>= 0.8.0), libc6 (>= 2.34), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 9), python3-apt, python3-pkg-resources, distro-info (>= 0.18ubuntu0.18.04.1) + +Package: libinih1 +Architecture: arm64 +Version: 53-1ubuntu3 +APT-ID: 2586 +Multi-Arch: same +Source: libinih +Source-Version: 53-1ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) + +Package: time +Architecture: arm64 +Version: 1.9-0.1build2 +APT-ID: 5721 +Multi-Arch: foreign +Source: time +Source-Version: 1.9-0.1build2 +Priority: standard +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: zlib1g +Architecture: arm64 +Version: 1:1.2.11.dfsg-2ubuntu9 +APT-ID: 5959 +Multi-Arch: same +Source: zlib +Source-Version: 1:1.2.11.dfsg-2ubuntu9 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) +Conflicts: zlib1 (<= 1:1.0.4-7) +Breaks: libxml2 (<< 2.7.6.dfsg-2), texlive-binaries (<< 2009-12) +Provides: libz1 + +Package: libintl-xs-perl +Architecture: arm64 +Version: 1.26-3build2 +APT-ID: 2595 +Source: libintl-perl +Source-Version: 1.26-3build2 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libintl-perl (= 1.26-3build2), perl, perlapi-5.34.0, libc6 (>= 2.34) + +Package: libx11-6 +Architecture: arm64 +Version: 2:1.7.5-1 +APT-ID: 4022 +Multi-Arch: same +Source: libx11 +Source-Version: 2:1.7.5-1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libxcb1 (>= 1.11.1), libx11-data +Breaks: libx11-xcb1 (<< 2:1.7.0-2) + +Package: ethtool +Architecture: arm64 +Version: 1:5.16-1 +APT-ID: 386 +Source: ethtool +Source-Version: 1:5.16-1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libmnl0 (>= 1.0.3-4~) + +Package: libiniparser1 +Architecture: arm64 +Version: 4.1-4ubuntu4 +APT-ID: 2589 +Multi-Arch: same +Source: iniparser +Source-Version: 4.1-4ubuntu4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) + +Package: python3-launchpadlib +Architecture: all +Version: 1.10.16-1 +APT-ID: 5169 +Source: python-launchpadlib +Source-Version: 1.10.16-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-httplib2, python3-keyring, python3-lazr.restfulclient, python3-lazr.uri, python3:any +Suggests: python3-pkg-resources, python3-testresources + +Package: gcc-12-base +Architecture: arm64 +Version: 12-20220319-1ubuntu1 +APT-ID: 582 +Multi-Arch: same +Source: gcc-12 +Source-Version: 12-20220319-1ubuntu1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Breaks: gnat (<< 7) + +Package: pollinate +Architecture: all +Version: 4.33-3ubuntu2 +APT-ID: 4813 +Source: pollinate +Source-Version: 4.33-3ubuntu2 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: curl, adduser, xxd | vim-common +Replaces: pollen (<< 4.21-1) +Breaks: pollen (<< 4.21-1) + +Package: info +Architecture: arm64 +Version: 6.8-4build1 +APT-ID: 1086 +Multi-Arch: foreign +Source: texinfo +Source-Version: 6.8-4build1 +Priority: standard +Section: doc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libtinfo6 (>= 6), install-info +Replaces: texinfo (<< 4.7-2), texinfo-doc-nonfree +Breaks: texinfo-doc-nonfree +Provides: info-browser + +Package: init +Architecture: arm64 +Version: 1.62 +APT-ID: 1087 +Multi-Arch: foreign +Source: init-system-helpers +Source-Version: 1.62 +Priority: required +Section: metapackages +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: init-system-helpers (>= 1.25) +Pre-Depends: systemd-sysv + +Package: bcache-tools +Architecture: arm64 +Version: 1.0.8-4ubuntu3 +APT-ID: 90 +Source: bcache-tools +Source-Version: 1.0.8-4ubuntu3 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libblkid1 (>= 2.17.2), libc6 (>= 2.34), libuuid1 (>= 2.16), gawk +Recommends: initramfs-tools | linux-initramfs-tool + +Package: python3-pyrsistent +Architecture: arm64 +Version: 0.18.1-1build1 +APT-ID: 5315 +Multi-Arch: same +Source: pyrsistent +Source-Version: 0.18.1-1build1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3 (<< 3.11), python3 (>= 3.10~), python3:any, libc6 (>= 2.17) + +Package: python3-dbus +Architecture: arm64 +Version: 1.2.18-3build1 +APT-ID: 5081 +Source: dbus-python +Source-Version: 1.2.18-3build1 +Priority: required +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3 (<< 3.11), python3 (>= 3.10~), python3:any, libc6 (>= 2.17), libdbus-1-3 (>= 1.9.14), libglib2.0-0 (>= 2.40) +Suggests: python-dbus-doc +Recommends: python3-gi +Provides: python3.10-dbus + +Package: libelf1 +Architecture: arm64 +Version: 0.186-1build1 +APT-ID: 2076 +Multi-Arch: same +Source: elfutils +Source-Version: 0.186-1build1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), zlib1g (>= 1:1.1.4) + +Package: tmux +Architecture: arm64 +Version: 3.2a-4build1 +APT-ID: 5733 +Source: tmux +Source-Version: 3.2a-4build1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libevent-core-2.1-7 (>= 2.1.8-stable), libtinfo6 (>= 6), libutempter0 (>= 1.1.5) + +Package: groff-base +Architecture: arm64 +Version: 1.22.4-8build1 +APT-ID: 874 +Multi-Arch: foreign +Source: groff +Source-Version: 1.22.4-8build1 +Priority: standard +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.35), libgcc-s1 (>= 4.0), libstdc++6 (>= 4.1.1), libuchardet0 (>= 0.0.1) +Suggests: groff + +Package: libmd0 +Architecture: arm64 +Version: 1.0.4-1build1 +APT-ID: 2829 +Multi-Arch: same +Source: libmd +Source-Version: 1.0.4-1build1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: git-man +Architecture: all +Version: 1:2.34.1-1ubuntu1.2 +APT-ID: 64846 +Multi-Arch: foreign +Source: git +Source-Version: 1:2.34.1-1ubuntu1.2 +Priority: optional +Section: vcs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: ncurses-term +Architecture: all +Version: 6.3-2 +APT-ID: 4614 +Multi-Arch: foreign +Source: ncurses +Source-Version: 6.3-2 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: ncurses-base (>= 6.1+20190713) +Replaces: alacritty (<< 0.3.4~), dvtm (<< 0.15-3), jfbterm (<< 0.4.7-10), kon2 (<< 0.3.9b-21), libiterm1 (<< 0.5-9), tn5250 (<< 0.17.4-3) +Breaks: bash-static (<< 4.4.18-1.1), dvtm (<< 0.15-3), libmono-corlib4.5-cil (<< 4.6.2.7+dfsg-2), libslang2 (<< 2.3.1a-3), libtinfo5 (<< 6.1), libunibilium0 (<< 2), libunibilium4 (<< 2.0.0-3), zsh-static (<< 5.4.2-4) + +Package: dash +Architecture: arm64 +Version: 0.5.11+git20210903+057cd650a4ed-3build1 +APT-ID: 251 +Essential: yes +Multi-Arch: foreign +Source: dash +Source-Version: 0.5.11+git20210903+057cd650a4ed-3build1 +Priority: important +Section: shells +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: debianutils (>= 2.15), dpkg (>= 1.19.1), debconf (>= 0.5) | debconf-2.0 +Pre-Depends: libc6 (>= 2.34) + +Package: libblockdev-crypto2 +Architecture: arm64 +Version: 2.26-1 +APT-ID: 1665 +Multi-Arch: same +Source: libblockdev +Source-Version: 2.26-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libblkid1 (>= 2.23.0), libblockdev-utils2 (>= 2.20), libc6 (>= 2.25), libcryptsetup12 (>= 2:2.0.3), libglib2.0-0 (>= 2.42.2), libnss3 (>= 2:3.13.4-2~), libvolume-key1 (>= 0.3.9) + +Package: libtirpc3 +Architecture: arm64 +Version: 1.3.2-2build1 +APT-ID: 3795 +Multi-Arch: same +Source: libtirpc +Source-Version: 1.3.2-2build1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgssapi-krb5-2 (>= 1.17), libtirpc-common (>= 1.3.2-2build1) +Breaks: nfs-common (<< 1:1.2.8-7), nfs-kernel-server (<< 1:1.2.8-7) + +Package: dbus +Architecture: arm64 +Version: 1.12.20-2ubuntu4 +APT-ID: 255 +Multi-Arch: foreign +Source: dbus +Source-Version: 1.12.20-2ubuntu4 +Priority: required +Section: devel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: adduser, libapparmor1 (>= 2.8.94), libaudit1 (>= 1:2.2.1), libc6 (>= 2.34), libcap-ng0 (>= 0.7.9), libdbus-1-3 (= 1.12.20-2ubuntu4), libexpat1 (>= 2.1~beta3), libselinux1 (>= 3.1~), libsystemd0 +Suggests: default-dbus-session-bus | dbus-session-bus +Provides: default-dbus-system-bus, dbus-system-bus-common (= 1.12.20-2ubuntu4), dbus-system-bus (= 1.12.20-2ubuntu4), dbus-session-bus-common (= 1.12.20-2ubuntu4), dbus-daemon (= 1.12.20-2ubuntu4), dbus-bin (= 1.12.20-2ubuntu4) + +Package: sbsigntool +Architecture: arm64 +Version: 0.9.4-2ubuntu2 +APT-ID: 5517 +Multi-Arch: foreign +Source: sbsigntool +Source-Version: 0.9.4-2ubuntu2 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libssl3 (>= 3.0.0~~alpha1), libuuid1 (>= 2.16) + +Package: cloud-initramfs-copymods +Architecture: all +Version: 0.47ubuntu1 +APT-ID: 187 +Source: cloud-initramfs-tools +Source-Version: 0.47ubuntu1 +Priority: extra +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: initramfs-tools + +Package: libedit2 +Architecture: arm64 +Version: 3.1-20210910-1build1 +APT-ID: 2065 +Multi-Arch: same +Source: libedit +Source-Version: 3.1-20210910-1build1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbsd0 (>= 0.1.3), libc6 (>= 2.33), libtinfo6 (>= 6) +Replaces: libedit-dev (<< 3.1-20180525-2~) + +Package: libicu70 +Architecture: arm64 +Version: 70.1-2ubuntu1 +APT-ID: 67204 +Multi-Arch: same +Source: icu +Source-Version: 70.1-2ubuntu1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-proposed,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 12) +Replaces: libiculx63 (<< 63.1-5) +Breaks: libiculx63 (<< 63.1-5), openttd (<< 1.8.0-2~) + +Package: kpartx +Architecture: arm64 +Version: 0.8.8-1ubuntu1 +APT-ID: 1139 +Source: multipath-tools +Source-Version: 0.8.8-1ubuntu1 +Priority: extra +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libdevmapper1.02.1 (>= 2:1.02.97), udev, dmsetup + +Package: bsdutils +Architecture: arm64 +Version: 1:2.37.2-4ubuntu3 +APT-ID: 137 +Essential: yes +Multi-Arch: foreign +Source: util-linux +Source-Version: 2.37.2-4ubuntu3 +Priority: important +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Pre-Depends: libc6 (>= 2.34), libsystemd0 +Recommends: bsdextrautils + +Package: python3-pyasn1-modules +Architecture: all +Version: 0.2.1-1 +APT-ID: 5288 +Source: python-pyasn1-modules +Source-Version: 0.2.1-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-pyasn1 (>= 0.4.1), python3-pyasn1 (<< 0.5.0), python3:any + +Package: python3-problem-report +Architecture: all +Version: 2.20.11-0ubuntu82.1 +APT-ID: 66139 +Source: apport +Source-Version: 2.20.11-0ubuntu82.1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any (>= 3.0~) + +Package: screen +Architecture: arm64 +Version: 4.9.0-1 +APT-ID: 5521 +Source: screen +Source-Version: 4.9.0-1 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcrypt1 (>= 1:4.1.0), libpam0g (>= 0.99.7.1), libtinfo6 (>= 6), libutempter0 (>= 1.1.5) +Suggests: byobu | screenie | iselect (>= 1.4.0-1), ncurses-term + +Package: iproute2 +Architecture: arm64 +Version: 5.15.0-1ubuntu2 +APT-ID: 1097 +Multi-Arch: foreign +Source: iproute2 +Source-Version: 5.15.0-1ubuntu2 +Priority: required +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf (>= 0.5) | debconf-2.0, libbpf0 (>= 1:0.2), libbsd0 (>= 0.0), libc6 (>= 2.34), libcap2 (>= 1:2.10), libdb5.3, libelf1 (>= 0.131), libmnl0 (>= 1.0.3-4~), libselinux1 (>= 3.1~), libxtables12 (>= 1.6.0+snapshot20161117), libcap2-bin +Suggests: iproute2-doc +Recommends: libatm1 (>= 2.4.1-17~) +Conflicts: arpd, iproute (<< 20130000-1) +Replaces: iproute +Provides: arpd + +Package: libnetplan0 +Architecture: arm64 +Version: 0.104-0ubuntu2 +APT-ID: 2966 +Multi-Arch: same +Source: netplan.io +Source-Version: 0.104-0ubuntu2 +Priority: required +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.27), libglib2.0-0 (>= 2.70.0), libuuid1 (>= 2.16), libyaml-0-2 + +Package: gpgconf +Architecture: arm64 +Version: 2.2.27-3ubuntu2.1 +APT-ID: 64870 +Multi-Arch: foreign +Source: gnupg2 +Source-Version: 2.2.27-3ubuntu2.1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libassuan0 (>= 2.5.0), libc6 (>= 2.34), libgcrypt20 (>= 1.9.0), libgpg-error0 (>= 1.42), libreadline8 (>= 6.0) +Replaces: gnupg (<< 2.1.21-4), gnupg-agent (<< 2.1.21-4) +Breaks: gnupg (<< 2.1.21-4), gnupg-agent (<< 2.1.21-4) + +Package: libdevmapper1.02.1 +Architecture: arm64 +Version: 2:1.02.175-2.1ubuntu4 +APT-ID: 1997 +Multi-Arch: same +Source: lvm2 +Source-Version: 2.03.11-2.1ubuntu4 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libselinux1 (>= 3.1~), libudev1 (>= 183) +Recommends: dmsetup (>= 2:1.02.175-2.1ubuntu4~) + +Package: libss2 +Architecture: arm64 +Version: 1.46.5-2ubuntu1.1 +APT-ID: 65256 +Multi-Arch: same +Source: e2fsprogs +Source-Version: 1.46.5-2ubuntu1.1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libcom-err2, libc6 (>= 2.34) +Replaces: e2fsprogs (<< 1.34-1) + +Package: libnewt0.52 +Architecture: arm64 +Version: 0.52.21-5ubuntu2 +APT-ID: 2969 +Multi-Arch: same +Source: newt +Source-Version: 0.52.21-5ubuntu2 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libslang2 (>= 2.2.4) +Recommends: libfribidi0 + +Package: policykit-1 +Architecture: arm64 +Version: 0.105-33 +APT-ID: 4808 +Multi-Arch: foreign +Source: policykit-1 +Source-Version: 0.105-33 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: pkexec (= 0.105-33), polkitd (= 0.105-33) + +Package: libsystemd-dev +Architecture: arm64 +Version: 249.11-0ubuntu3.4 +APT-ID: 65262 +Multi-Arch: same +Source: systemd +Source-Version: 249.11-0ubuntu3.4 +Priority: optional +Section: libdevel +APT-Release: + v=22.04,o=Ubuntu,a=jammy-proposed,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libsystemd0 (= 249.11-0ubuntu3.4) + +Package: libgdbm6 +Architecture: arm64 +Version: 1.23-1 +APT-ID: 2265 +Multi-Arch: same +Source: gdbm +Source-Version: 1.23-1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) +Suggests: gdbm-l10n (= 1.23-1) + +Package: apport +Architecture: all +Version: 2.20.11-0ubuntu82.1 +APT-ID: 64747 +Source: apport +Source-Version: 2.20.11-0ubuntu82.1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3, python3-apport (>= 2.20.11-0ubuntu82.1), lsb-base (>= 3.0-6), python3-gi, gir1.2-glib-2.0 (>= 1.29.17) +Suggests: apport-gtk | apport-kde, policykit-1 +Recommends: apport-symptoms, python3-systemd +Conflicts: core-dump-handler +Replaces: core-dump-handler, python-apport (<< 2.2-0ubuntu1) +Breaks: python-apport (<< 2.2-0ubuntu1) +Provides: core-dump-handler + +Package: binutils +Architecture: arm64 +Version: 2.38-3ubuntu1 +APT-ID: 100 +Source: binutils +Source-Version: 2.38-3ubuntu1 +Priority: optional +Section: devel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: binutils-common (= 2.38-3ubuntu1), libbinutils (= 2.38-3ubuntu1), binutils-aarch64-linux-gnu (= 2.38-3ubuntu1) +Suggests: binutils-doc (>= 2.38-3ubuntu1) +Conflicts: binutils-multiarch (<< 2.27-8), modutils (<< 2.4.19-1) +Provides: elf-binutils, binutils-gold + +Package: libuv1 +Architecture: arm64 +Version: 1.43.0-1 +APT-ID: 3908 +Multi-Arch: same +Source: libuv1 +Source-Version: 1.43.0-1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: libpsl5 +Architecture: arm64 +Version: 0.21.0-1.2build2 +APT-ID: 3252 +Multi-Arch: same +Source: libpsl +Source-Version: 0.21.0-1.2build2 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libidn2-0 (>= 0.16), libc6 (>= 2.33), libunistring2 (>= 0.9.7) +Recommends: publicsuffix (>= 20150507) + +Package: netcat-openbsd +Architecture: arm64 +Version: 1.218-4ubuntu1 +APT-ID: 4619 +Source: netcat-openbsd +Source-Version: 1.218-4ubuntu1 +Priority: required +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbsd0 (>= 0.2.0), libc6 (>= 2.34) +Replaces: netcat (<< 1.10-35) +Breaks: netcat (<< 1.10-35) +Provides: netcat + +Package: liburcu8 +Architecture: arm64 +Version: 0.13.1-1 +APT-ID: 3888 +Multi-Arch: same +Source: liburcu +Source-Version: 0.13.1-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: bsdextrautils +Architecture: arm64 +Version: 2.37.2-4ubuntu3 +APT-ID: 136 +Multi-Arch: foreign +Source: util-linux +Source-Version: 2.37.2-4ubuntu3 +Priority: standard +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libsmartcols1 (>= 2.31.1), libtinfo6 (>= 6) +Replaces: bsdmainutils (<< 12.1.3) +Breaks: bsdmainutils (<< 12.1.3) + +Package: python3-zipp +Architecture: all +Version: 1.0.0-3 +APT-ID: 5423 +Source: python-zipp +Source-Version: 1.0.0-3 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-more-itertools, python3:any + +Package: libstdc++6 +Architecture: arm64 +Version: 12-20220319-1ubuntu1 +APT-ID: 3698 +Multi-Arch: same +Source: gcc-12 +Source-Version: 12-20220319-1ubuntu1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gcc-12-base (= 12-20220319-1ubuntu1), libc6 (>= 2.34), libgcc-s1 (>= 4.5) +Conflicts: scim (<< 1.4.2-1) +Replaces: libstdc++6-12-dbg (<< 4.9.0-3) +Breaks: gcc-4.3 (<< 4.3.6-1), gcc-4.4 (<< 4.4.6-4), gcc-4.5 (<< 4.5.3-2) + +Package: libxdmcp6 +Architecture: arm64 +Version: 1:1.1.3-0ubuntu5 +APT-ID: 4105 +Multi-Arch: same +Source: libxdmcp +Source-Version: 1:1.1.3-0ubuntu5 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbsd0 (>= 0.2.0), libc6 (>= 2.17) + +Package: python3-secretstorage +Architecture: all +Version: 3.3.1-1 +APT-ID: 5345 +Source: python-secretstorage +Source-Version: 3.3.1-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dbus, python3-jeepney (>= 0.6), python3-cryptography (>= 2.0), python3:any +Suggests: gnome-keyring (>= 2.30), python-secretstorage-doc + +Package: libncurses6 +Architecture: arm64 +Version: 6.3-2 +APT-ID: 2931 +Multi-Arch: same +Source: ncurses +Source-Version: 6.3-2 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libtinfo6 (= 6.3-2), libc6 (>= 2.34) +Recommends: libgpm2 +Breaks: cowdancer (<< 0.89~) + +Package: fwupd +Architecture: arm64 +Version: 1.7.5-3 +APT-ID: 556 +Multi-Arch: foreign +Source: fwupd +Source-Version: 1.7.5-3 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libfwupd2 (= 1.7.5-3), libfwupdplugin5 (= 1.7.5-3), libc6 (>= 2.34), libcurl3-gnutls (>= 7.63.0), libefiboot1 (>= 37), libflashrom1, libglib2.0-0 (>= 2.70.0), libgnutls30 (>= 3.7.3), libgudev-1.0-0 (>= 165), libgusb2 (>= 0.3.6), libjcat1 (>= 0.1.3), libjson-glib-1.0-0 (>= 1.5.2), libmbim-glib4 (>= 1.26.0), libmbim-proxy, libmm-glib0 (>= 1.10.0), libpolkit-gobject-1-0 (>= 0.99), libqmi-glib5 (>= 1.18.0), libqmi-proxy, libsqlite3-0 (>= 3.6.1), libsystemd0, libtss2-esys-3.0.2-0 (>= 2.3.1), libxmlb2 (>= 0.3.2), shared-mime-info +Suggests: gir1.2-fwupd-2.0 +Recommends: python3, bolt, dbus, secureboot-db, udisks2, fwupd-signed +Conflicts: fwupdate-amd64-signed, fwupdate-arm64-signed, fwupdate-armhf-signed, fwupdate-i386-signed +Replaces: fwupdate (<< 12-7), gir1.2-dfu-1.0 (<< 0.9.7-1), libdfu-dev (<< 0.9.7-1), libdfu1 (<< 0.9.7-1) +Breaks: fwupdate (<< 12-7), gir1.2-dfu-1.0 (<< 0.9.7-1), libdfu-dev (<< 0.9.7-1), libdfu1 (<< 0.9.7-1) +Provides: fwupdate + +Package: python3-systemd +Architecture: arm64 +Version: 234-3ubuntu2 +APT-ID: 5374 +Source: python-systemd +Source-Version: 234-3ubuntu2 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3 (<< 3.11), python3 (>= 3.10~), python3:any, libc6 (>= 2.17), libsystemd0 (>= 246) + +Package: ubuntu-minimal +Architecture: arm64 +Version: 1.481 +APT-ID: 5768 +Source: ubuntu-meta +Source-Version: 1.481 +Priority: required +Section: metapackages +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: adduser, apt, apt-utils, console-setup, debconf, debconf-i18n, e2fsprogs, eject, init, iproute2, iputils-ping, isc-dhcp-client, kbd, kmod, less, locales, lsb-release, mawk, mount, netbase, netcat-openbsd, netplan.io, passwd, procps, python3, sensible-utils, sudo, tzdata, ubuntu-advantage-tools, ubuntu-keyring, udev, vim-tiny, whiptail +Recommends: rsyslog, usrmerge + +Package: libdebconfclient0 +Architecture: arm64 +Version: 0.261ubuntu1 +APT-ID: 1973 +Multi-Arch: same +Source: cdebconf +Source-Version: 0.261ubuntu1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libc6 (>= 2.17) + +Package: iputils-tracepath +Architecture: arm64 +Version: 3:20211215-1 +APT-ID: 1104 +Multi-Arch: foreign +Source: iputils +Source-Version: 3:20211215-1 +Priority: standard +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Suggests: traceroute + +Package: iso-codes +Architecture: all +Version: 4.9.0-1 +APT-ID: 1116 +Multi-Arch: foreign +Source: iso-codes +Source-Version: 4.9.0-1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Suggests: isoquery + +Package: libparted2 +Architecture: arm64 +Version: 3.4-2build1 +APT-ID: 3138 +Multi-Arch: same +Source: parted +Source-Version: 3.4-2build1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libblkid1 (>= 2.17.2), libc6 (>= 2.34), libdevmapper1.02.1 (>= 2:1.02.97), libuuid1 (>= 2.16) +Suggests: parted, libparted-dev, libparted-i18n (= 3.4-2build1) +Provides: libparted + +Package: libutempter0 +Architecture: arm64 +Version: 1.2.1-2build2 +APT-ID: 3904 +Multi-Arch: same +Source: libutempter +Source-Version: 1.2.1-2build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: openssl +Architecture: arm64 +Version: 3.0.2-0ubuntu1.6 +APT-ID: 66097 +Multi-Arch: foreign +Source: openssl +Source-Version: 3.0.2-0ubuntu1.6 +Priority: required +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libssl3 (>= 3.0.2-0ubuntu1.2) +Suggests: ca-certificates + +Package: update-notifier-common +Architecture: all +Version: 3.192.54 +APT-ID: 5799 +Source: update-notifier +Source-Version: 3.192.54 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any, python3-apt, python3-dbus, python3-debian, python3-debconf | debconf (<< 1.5.64~), python3-distro-info, lsb-release, patch, update-manager-core (>= 1:17.04.2) +Pre-Depends: dpkg (>= 1.15.7.2), apt (>= 1.1~) +Suggests: policykit-1 +Recommends: libpam-modules (>= 1.0.1-9ubuntu3) +Replaces: update-notifier (<< 0.75.1) + +Package: python3-debian +Architecture: all +Version: 0.1.43ubuntu1 +APT-ID: 5084 +Source: python-debian +Source-Version: 0.1.43ubuntu1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-chardet, zstd, python3:any +Suggests: gpgv +Recommends: python3-apt + +Package: e2fsprogs +Architecture: arm64 +Version: 1.46.5-2ubuntu1.1 +APT-ID: 64797 +Multi-Arch: foreign +Source: e2fsprogs +Source-Version: 1.46.5-2ubuntu1.1 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=arm64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: logsave +Pre-Depends: libblkid1 (>= 2.36), libc6 (>= 2.34), libcom-err2 (>= 1.43.9), libext2fs2 (= 1.46.5-2ubuntu1.1), libss2 (>= 1.38), libuuid1 (>= 2.16) +Suggests: gpart, parted, fuse2fs, e2fsck-static +Recommends: e2fsprogs-l10n + +Package: libxmlsec1-openssl +Architecture: arm64 +Version: 1.2.33-1build2 +APT-ID: 4155 +Multi-Arch: same +Source: xmlsec1 +Source-Version: 1.2.33-1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libssl3 (>= 3.0.0~~alpha1), libxml2 (>= 2.8.0), libxmlsec1 (>= 1.2.33) + +Package: passwd +Architecture: arm64 +Version: 1:4.8.1-2ubuntu2 +APT-ID: 4734 +Multi-Arch: foreign +Source: shadow +Source-Version: 1:4.8.1-2ubuntu2 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libaudit1 (>= 1:2.2.1), libc6 (>= 2.34), libcrypt1 (>= 1:4.1.0), libpam0g (>= 0.99.7.1), libselinux1 (>= 3.1~), libsemanage2 (>= 2.0.3), libpam-modules +Recommends: sensible-utils + +Package: nftables +Architecture: arm64 +Version: 1.0.2-1ubuntu2 +APT-ID: 4646 +Source: nftables +Source-Version: 1.0.2-1ubuntu2 +Priority: standard +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libnftables1 (= 1.0.2-1ubuntu2), libc6 (>= 2.34), libedit2 (>= 3.1-20130611-0) +Suggests: firewalld +Recommends: netbase + +Package: libproc-processtable-perl +Architecture: arm64 +Version: 0.634-1build1 +APT-ID: 3236 +Multi-Arch: same +Source: libproc-processtable-perl +Source-Version: 0.634-1build1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl, perlapi-5.34.0, libc6 (>= 2.34) + +Package: libnspr4 +Architecture: arm64 +Version: 2:4.32-3build1 +APT-ID: 3021 +Multi-Arch: same +Source: nspr +Source-Version: 2:4.32-3build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: libgcc-s1 +Architecture: arm64 +Version: 12-20220319-1ubuntu1 +APT-ID: 2238 +Multi-Arch: same +Source: gcc-12 +Source-Version: 12-20220319-1ubuntu1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gcc-12-base (= 12-20220319-1ubuntu1), libc6 (>= 2.35) +Replaces: libgcc1 (<< 1:10) +Breaks: libgcc-7-dev (<< 7.5.0-4), libgcc-8-dev (<< 8.3.0-27), libgcc-9-dev (<< 9.2.1-26) +Provides: libgcc1 (= 1:12-20220319-1ubuntu1) + +Package: libmodule-scandeps-perl +Architecture: all +Version: 1.31-1 +APT-ID: 2879 +Source: libmodule-scandeps-perl +Source-Version: 1.31-1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=arm64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any diff --git a/test/integration/edsp-ubuntu-bug-1990586 b/test/integration/edsp-ubuntu-bug-1990586 new file mode 100644 index 0000000..94516d1 --- /dev/null +++ b/test/integration/edsp-ubuntu-bug-1990586 @@ -0,0 +1,30894 @@ +Request: EDSP 0.5 +Architecture: amd64 +Architectures: amd64 i386 +Upgrade-All: yes +Dist-Upgrade: yes +Solver: dump +Machine-ID: 2c030cfce3b4487f9810f12a3ac6e87e + +Package: dpkg +Architecture: amd64 +Version: 1.21.1ubuntu2.1 +APT-ID: 71788 +Essential: yes +Multi-Arch: foreign +Source: dpkg +Source-Version: 1.21.1ubuntu2.1 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: tar (>= 1.28-1) +Pre-Depends: libbz2-1.0, libc6 (>= 2.34), liblzma5 (>= 5.2.2), libselinux1 (>= 3.1~), libzstd1 (>= 1.4.0), zlib1g (>= 1:1.1.4) +Suggests: apt, debsig-verify +Breaks: libapt-pkg5.0 (<< 1.7~b), lsb-base (<< 10.2019031300) + +Package: kerneloops +Architecture: amd64 +Version: 0.12+git20140509-6ubuntu5 +APT-ID: 1168 +Source: kerneloops +Source-Version: 0.12+git20140509-6ubuntu5 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcurl3-gnutls (>= 7.16.2), libdbus-1-3 (>= 1.9.14), libdbus-glib-1-2 (>= 0.78), libglib2.0-0 (>= 2.14.0), lsb-base +Suggests: kerneloops-applet +Replaces: kerneloops-daemon (<< 0.12+git20140509-6ubuntu1) +Breaks: kerneloops-daemon (<< 0.12+git20140509-6ubuntu1) +Provides: kerneloops-daemon + +Package: openvpn +Architecture: amd64 +Version: 2.5.5-1ubuntu3 +APT-ID: 4823 +Source: openvpn +Source-Version: 2.5.5-1ubuntu3 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf (>= 0.5) | debconf-2.0, libc6 (>= 2.34), liblz4-1 (>= 0.0~r130), liblzo2-2 (>= 2.02), libpam0g (>= 0.99.7.1), libpkcs11-helper1 (>= 1.11), libssl3 (>= 3.0.0~~alpha1), libsystemd0, iproute2, lsb-base (>= 3.0-6) +Suggests: openssl, resolvconf, openvpn-systemd-resolved, easy-rsa + +Package: fontconfig +Architecture: amd64 +Version: 2.13.1-4.2ubuntu5 +APT-ID: 427 +Multi-Arch: foreign +Source: fontconfig +Source-Version: 2.13.1-4.2ubuntu5 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libfontconfig1 (>= 2.13.0), libfreetype6 (>= 2.8.1), fontconfig-config + +Package: libvulkan1 +Architecture: amd64 +Version: 1.3.204.1-2 +APT-ID: 4034 +Multi-Arch: same +Source: vulkan-loader +Source-Version: 1.3.204.1-2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Recommends: mesa-vulkan-drivers | vulkan-icd +Replaces: libvulkan-dev (<< 1.1.70+dfsg1-2), vulkan-loader +Breaks: libvulkan-dev (<< 1.1.70+dfsg1-2), vulkan-loader + +Package: telnet +Architecture: amd64 +Version: 0.17-44build1 +APT-ID: 5752 +Source: netkit-telnet +Source-Version: 0.17-44build1 +Priority: standard +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libstdc++6 (>= 5), netbase +Replaces: netstd +Provides: telnet-client + +Package: libnetfilter-conntrack3 +Architecture: amd64 +Version: 1.0.9-1 +APT-ID: 3032 +Multi-Arch: same +Source: libnetfilter-conntrack +Source-Version: 1.0.9-1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libmnl0 (>= 1.0.3-4~), libnfnetlink0 + +Package: gkbd-capplet +Architecture: amd64 +Version: 3.26.1-2 +APT-ID: 764 +Source: libgnomekbd +Source-Version: 3.26.1-2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.26), libgnomekbd8 (>= 3.6.0), libgtk-3-0 (>= 3.9.10), libxklavier16 (>= 5.2) + +Package: lsb-release +Architecture: all +Version: 11.1.0ubuntu4 +APT-ID: 4602 +Multi-Arch: foreign +Source: lsb +Source-Version: 11.1.0ubuntu4 +Priority: required +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any, distro-info-data +Recommends: apt + +Package: libcogl-path20 +Architecture: amd64 +Version: 1.22.8-3build1 +APT-ID: 1917 +Multi-Arch: same +Source: cogl +Source-Version: 1.22.8-3build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.11), libcogl20 (= 1.22.8-3build1), libglib2.0-0 (>= 2.32.0) +Recommends: libcogl-common + +Package: liborcus-parser-0.17-0 +Architecture: amd64 +Version: 0.17.2-2 +APT-ID: 3153 +Multi-Arch: same +Source: liborcus +Source-Version: 0.17.2-2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libboost-filesystem1.74.0 (>= 1.74.0), libc6 (>= 2.33), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 11), zlib1g (>= 1:1.1.4) + +Package: libsynctex2 +Architecture: amd64 +Version: 2021.20210626.59705-1build1 +APT-ID: 3794 +Multi-Arch: same +Source: texlive-bin +Source-Version: 2021.20210626.59705-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), zlib1g (>= 1:1.1.4) + +Package: tcpdump +Architecture: amd64 +Version: 4.99.1-3build2 +APT-ID: 5749 +Multi-Arch: foreign +Source: tcpdump +Source-Version: 4.99.1-3build2 +Priority: standard +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: adduser, libc6 (>= 2.34), libpcap0.8 (>= 1.9.0), libssl3 (>= 3.0.0~~alpha1) +Suggests: apparmor (>= 2.3) +Replaces: apparmor-profiles-extra (<< 1.12~) +Breaks: apparmor-profiles-extra (<< 1.12~) + +Package: libperl5.34 +Architecture: amd64 +Version: 5.34.0-3ubuntu1 +APT-ID: 3241 +Multi-Arch: same +Source: perl +Source-Version: 5.34.0-3ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbz2-1.0, libc6 (>= 2.35), libcrypt1 (>= 1:4.1.0), libdb5.3, libgdbm-compat4 (>= 1.18-3), libgdbm6 (>= 1.18-3), zlib1g (>= 1:1.2.2.3), perl-modules-5.34 (>= 5.34.0-3ubuntu1) +Suggests: sensible-utils +Replaces: libarchive-tar-perl (<= 1.38-2), libcompress-raw-bzip2-perl (<< 2.101), libcompress-raw-zlib-perl (<< 2.101), libcompress-zlib-perl (<< 2.102), libdigest-md5-perl (<< 2.58), libdigest-sha-perl (<< 6.02), libencode-perl (<< 3.08), libio-compress-base-perl (<< 2.102), libio-compress-bzip2-perl (<< 2.102), libio-compress-perl (<< 2.102), libio-compress-zlib-perl (<< 2.102), libmime-base64-perl (<< 3.16), libmodule-corelist-perl (<< 2.14-2), libstorable-perl (<< 3.23), libsys-syslog-perl (<< 0.36), libthreads-perl (<< 2.26), libthreads-shared-perl (<< 1.62), libtime-hires-perl (<< 1.9767), libtime-piece-perl (<< 1.3401), perl (<< 5.22.0~), perl-base (<< 5.22.0~) +Breaks: libcompress-raw-bzip2-perl (<< 2.101), libcompress-raw-zlib-perl (<< 2.101), libcompress-zlib-perl (<< 2.102), libdigest-md5-perl (<< 2.58), libdigest-sha-perl (<< 6.02), libencode-perl (<< 3.08), libfilter-perl (<< 1.60), libio-compress-base-perl (<< 2.102), libio-compress-bzip2-perl (<< 2.102), libio-compress-perl (<< 2.102), libio-compress-zlib-perl (<< 2.102), libmime-base64-perl (<< 3.16), libstorable-perl (<< 3.23), libsys-syslog-perl (<< 0.36), libthreads-perl (<< 2.26), libthreads-shared-perl (<< 1.62), libtime-hires-perl (<< 1.9767), libtime-piece-perl (<< 1.3401) + +Package: fonts-tlwg-purisa-ttf +Architecture: all +Version: 1:0.7.3-1 +APT-ID: 530 +Multi-Arch: foreign +Source: fonts-tlwg +Source-Version: 1:0.7.3-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: fonts-tlwg-purisa (>= 1:0.6.2-2) +Replaces: fonts-tlwg-purisa (<< 1:0.6.2-2) +Breaks: fonts-tlwg-purisa (<< 1:0.6.2-2) + +Package: fonts-tibetan-machine +Architecture: all +Version: 1.901b-6 +APT-ID: 516 +Multi-Arch: foreign +Source: fonts-tibetan-machine +Source-Version: 1.901b-6 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Conflicts: ttf-tmuni (<< 1.901b-3) +Breaks: ttf-tmuni (<< 1.901b-3) + +Package: tracker +Architecture: amd64 +Version: 3.3.0-1 +APT-ID: 5863 +Source: tracker +Source-Version: 3.3.0-1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.55.2), libicu70 (>= 70.1-1~), libsqlite3-0 (>= 3.20.0), libstemmer0d (>= 0+svn527), libtracker-sparql-3.0-0 (= 3.3.0-1), shared-mime-info, libglib2.0-bin, default-dbus-session-bus | dbus-session-bus +Recommends: tracker-miner-fs +Breaks: tracker-miner-fs (<< 3.1.1) + +Package: xserver-xorg-video-nouveau +Architecture: amd64 +Version: 1:1.0.17-2build1 +APT-ID: 6058 +Source: xserver-xorg-video-nouveau +Source-Version: 1:1.0.17-2build1 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libdrm-nouveau2 (>= 2.4.38), libdrm2 (>= 2.4.61), libudev1 (>= 183), xorg-video-abi-25, xserver-xorg-core (>= 2:21.1.1) +Suggests: firmware-misc-nonfree +Recommends: libgl1-mesa-dri (>= 9.0) +Provides: xorg-driver-video + +Package: network-manager-openvpn-gnome +Architecture: amd64 +Version: 1.8.18-1 +APT-ID: 4748 +Source: network-manager-openvpn +Source-Version: 1.8.18-1 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.34), libgtk-3-0 (>= 3.4), libnm0 (>= 1.7.0), libnma0 (>= 1.8.0), libsecret-1-0 (>= 0.18), network-manager-openvpn (= 1.8.18-1) + +Package: dmidecode +Architecture: amd64 +Version: 3.3-3ubuntu0.1 +APT-ID: 71780 +Multi-Arch: foreign +Source: dmidecode +Source-Version: 3.3-3ubuntu0.1 +Priority: standard +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: libcups2 +Architecture: amd64 +Version: 2.4.1op1-1ubuntu4.1 +APT-ID: 72300 +Multi-Arch: same +Source: cups +Source-Version: 2.4.1op1-1ubuntu4.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libavahi-client3 (>= 0.6.16), libavahi-common3 (>= 0.6.16), libc6 (>= 2.34), libgnutls30 (>= 3.7.2), libgssapi-krb5-2 (>= 1.17), zlib1g (>= 1:1.2.0) +Suggests: cups-common + +Package: gir1.2-adw-1 +Architecture: amd64 +Version: 1.1.0-1ubuntu2 +APT-ID: 635 +Multi-Arch: same +Source: libadwaita-1 +Source-Version: 1.1.0-1ubuntu2 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0, gir1.2-gtk-4.0 (>= 4.5.0), libadwaita-1-0 (>= 1.1~beta) + +Package: libxcb-present0 +Architecture: amd64 +Version: 1.14-3ubuntu3 +APT-ID: 4149 +Multi-Arch: same +Source: libxcb +Source-Version: 1.14-3ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libxcb1 + +Package: libedata-book-1.2-26 +Architecture: amd64 +Version: 3.44.4-0ubuntu1 +APT-ID: 72326 +Multi-Arch: same +Source: evolution-data-server +Source-Version: 3.44.4-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libebackend-1.2-10 (= 3.44.4-0ubuntu1), libebook-contacts-1.2-3 (>= 3.43.2), libedataserver-1.2-26 (= 3.44.4-0ubuntu1), libglib2.0-0 (>= 2.70.0), libsoup2.4-1 (>= 2.42), libsqlite3-0 (>= 3.5.9) + +Package: libwrap0 +Architecture: amd64 +Version: 7.6.q-31build2 +APT-ID: 4089 +Multi-Arch: same +Source: tcp-wrappers +Source-Version: 7.6.q-31build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libnsl2 (>= 1.0) + +Package: fonts-kacst-one +Architecture: all +Version: 5.0+svn11846-10 +APT-ID: 450 +Multi-Arch: foreign +Source: fonts-kacst-one +Source-Version: 5.0+svn11846-10 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Pre-Depends: dpkg (>= 1.15.6~) +Recommends: fonts-kacst + +Package: libcanberra-gtk3-0 +Architecture: amd64 +Version: 0.30-10ubuntu1 +APT-ID: 1843 +Multi-Arch: same +Source: libcanberra +Source-Version: 0.30-10ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libcanberra0 (>= 0.12), libglib2.0-0 (>= 2.12.0), libgtk-3-0 (>= 3.0.0), libx11-6 +Recommends: libcanberra-gtk3-module + +Package: libkeyutils1 +Architecture: amd64 +Version: 1.6.1-2ubuntu3 +APT-ID: 2770 +Multi-Arch: same +Source: keyutils +Source-Version: 1.6.1-2ubuntu3 +Priority: important +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: yaru-theme-icon +Architecture: all +Version: 22.04.4 +APT-ID: 6070 +Source: yaru-theme +Source-Version: 22.04.4 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: python3-blinker +Architecture: all +Version: 1.4+dfsg1-0.4 +APT-ID: 5161 +Source: blinker +Source-Version: 1.4+dfsg1-0.4 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any +Suggests: python-blinker-doc + +Package: orca +Architecture: all +Version: 42.0-1ubuntu2 +APT-ID: 74261 +Source: orca +Source-Version: 42.0-1ubuntu2 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=i386 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any, gir1.2-glib-2.0, gir1.2-gtk-3.0 (>= 3.6.2), gir1.2-pango-1.0, gir1.2-wnck-3.0, gir1.2-gstreamer-1.0, gstreamer1.0-plugins-good, python3-brlapi (>= 0.5.1), python3-cairo, python3-gi (>= 3.18), python3-louis (>= 1.6.2), python3-pyatspi (>= 2.26), python3-speechd (>= 0.8), speech-dispatcher (>= 0.8), gsettings-desktop-schemas +Suggests: brltty +Recommends: xbrlapi +Replaces: gnome-orca (<< 3.26.0-4~) +Breaks: gnome-orca (<< 3.26.0-4~) + +Package: libebook-1.2-20 +Architecture: amd64 +Version: 3.44.4-0ubuntu1 +APT-ID: 72317 +Multi-Arch: same +Source: evolution-data-server +Source-Version: 3.44.4-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libcamel-1.2-63 (>= 3.42.1), libebook-contacts-1.2-3 (>= 3.16.2), libedata-book-1.2-26 (>= 3.43.2), libedataserver-1.2-26 (= 3.44.4-0ubuntu1), libglib2.0-0 (>= 2.41.1), libxml2 (>= 2.7.4) + +Package: libyajl2 +Architecture: amd64 +Version: 2.1.0-3build2 +APT-ID: 4293 +Multi-Arch: same +Source: yajl +Source-Version: 2.1.0-3build2 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: libxtables12 +Architecture: amd64 +Version: 1.8.7-1ubuntu5 +APT-ID: 4275 +Multi-Arch: same +Source: iptables +Source-Version: 1.8.7-1ubuntu5 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Replaces: iptables (<< 1.4.16.3-3), libxtables11 (>= 1.6.0+snapshot20161117-1) +Breaks: iptables (<< 1.4.16.3-3), libxtables11 (>= 1.6.0+snapshot20161117-1) + +Package: libcurl4 +Architecture: amd64 +Version: 7.81.0-1ubuntu1.4 +APT-ID: 72306 +Multi-Arch: same +Source: curl +Source-Version: 7.81.0-1ubuntu1.4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbrotli1 (>= 0.6.0), libc6 (>= 2.34), libgssapi-krb5-2 (>= 1.17), libidn2-0 (>= 0.6), libldap-2.5-0 (>= 2.5.4), libnghttp2-14 (>= 1.12.0), libpsl5 (>= 0.16.0), librtmp1 (>= 2.4+20131018.git79459a2-3~), libssh-4 (>= 0.9.0), libssl3 (>= 3.0.0~~alpha1), libzstd1 (>= 1.4.0), zlib1g (>= 1:1.1.4) +Recommends: ca-certificates +Conflicts: libcurl3 +Replaces: libcurl3 + +Package: mythes-en-us +Architecture: all +Version: 1:7.2.0-2 +APT-ID: 4704 +Multi-Arch: foreign +Source: libreoffice-dictionaries +Source-Version: 1:7.2.0-2 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +Depends: dictionaries-common +Suggests: libreoffice-writer +Provides: mythes-thesaurus-en-us, mythes-thesaurus + +Package: libpolkit-agent-1-0 +Architecture: amd64 +Version: 0.105-33 +APT-ID: 3288 +Multi-Arch: same +Source: policykit-1 +Source-Version: 0.105-33 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libglib2.0-0 (>= 2.37.3), libpolkit-gobject-1-0 (= 0.105-33) + +Package: libupower-glib3 +Architecture: amd64 +Version: 0.99.17-1 +APT-ID: 3955 +Multi-Arch: same +Source: upower +Source-Version: 0.99.17-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libglib2.0-0 (>= 2.56) +Recommends: upower + +Package: fonts-lohit-beng-bengali +Architecture: all +Version: 2.91.5-2 +APT-ID: 461 +Multi-Arch: foreign +Source: fonts-lohit-beng-bengali +Source-Version: 2.91.5-2 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: fonts-lohit-beng-assamese +Replaces: ttf-bengali-fonts (<= 1:0.5.12) +Breaks: ttf-bengali-fonts (<= 1:0.5.12) + +Package: libreoffice-calc +Architecture: amd64 +Version: 1:7.3.6-0ubuntu0.22.04.1 +APT-ID: 72548 +Source: libreoffice +Source-Version: 1:7.3.6-0ubuntu0.22.04.1 +Priority: optional +Section: editors +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libreoffice-base-core (= 1:7.3.6-0ubuntu0.22.04.1), libreoffice-common (>= 1:7.0.0~alpha~), libreoffice-core (= 1:7.3.6-0ubuntu0.22.04.1), lp-solve (>= 5.5.0.13-5+b1), ucf (>= 0.8), libc6 (>= 2.32), libetonyek-0.1-1, libgcc-s1 (>= 3.0), libicu70 (>= 70.1-1~), libmwaw-0.3-3, libodfgen-0.1-1, liborcus-0.17-0, liborcus-parser-0.17-0, librevenge-0.0-0, libstdc++6 (>= 11), libuno-cppu3 (>= 4.4.0~alpha), libuno-cppuhelpergcc3-3 (>= 4.0.0~alpha), libuno-sal3 (>= 1:7.3.0~beta1), libuno-salhelpergcc3-3 (>= 3.6.0~beta), libwps-0.4-4, libxml2 (>= 2.8), uno-libs-private +Suggests: ocl-icd-libopencl1 | mesa-opencl-icd | beignet-opencl-icd +Replaces: libreoffice-common (<< 1:6.4.2~rc1~) +Breaks: libreoffice-common (<< 1:6.4.2~rc1~) + +Package: libgomp1 +Architecture: amd64 +Version: 12.1.0-2ubuntu1~22.04 +APT-ID: 72400 +Multi-Arch: same +Source: gcc-12 +Source-Version: 12.1.0-2ubuntu1~22.04 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gcc-12-base (= 12.1.0-2ubuntu1~22.04), libc6 (>= 2.34) +Breaks: gcc-4.3 (<< 4.3.6-1), gcc-4.4 (<< 4.4.6-4), gcc-4.5 (<< 4.5.3-2) + +Package: libtimedate-perl +Architecture: all +Version: 2.3300-2 +APT-ID: 3858 +Multi-Arch: foreign +Source: libtimedate-perl +Source-Version: 2.3300-2 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any + +Package: libhtml-tagset-perl +Architecture: all +Version: 3.20-4 +APT-ID: 2594 +Multi-Arch: foreign +Source: libhtml-tagset-perl +Source-Version: 3.20-4 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl + +Package: networkd-dispatcher +Architecture: all +Version: 2.1-2ubuntu0.22.04.2 +APT-ID: 74213 +Source: networkd-dispatcher +Source-Version: 2.1-2ubuntu0.22.04.2 +Priority: required +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=i386 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dbus, gir1.2-glib-2.0, python3-dbus, python3-gi, python3:any +Suggests: iw | wireless-tools + +Package: libecal-2.0-1 +Architecture: amd64 +Version: 3.44.4-0ubuntu1 +APT-ID: 72321 +Multi-Arch: same +Source: evolution-data-server +Source-Version: 3.44.4-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libcamel-1.2-63 (>= 3.24.1), libedataserver-1.2-26 (= 3.44.4-0ubuntu1), libglib2.0-0 (>= 2.41.1), libical3 (>= 3.0.7) +Conflicts: almanah (<< 0.11.1-1+b9), bijiben (<< 3.26.0-0.1+b1), evolution (<< 3.26.3), evolution-data-server (<< 3.26.3), evolution-data-server-tests (<< 3.26.3), evolution-ews (<< 3.26.3), evolution-plugin-pstimport (<< 3.26.3), evolution-plugins (<< 3.26.3), gnome-calendar (<< 3.26.2-3), gnome-panel (<< 3.26.0-1+b1), gnome-shell (<< 3.26.2-1+b1), gnome-todo (<< 3.26.2-2), libabiword-3.0 (<< 3.0.2-5), libedata-cal-2.0-1 (<< 3.26.3), libevolution (<< 3.26.3), libjana-ecal0 (<< 0.0.0+git20091215.9ec1da8a-4+b1), libjana-test (<< 0.0.0+git20091215.9ec1da8a-4+b1), syncevolution-libs-gnome (<< 1.5.2-2+b2) + +Package: initramfs-tools-core +Architecture: all +Version: 0.140ubuntu13 +APT-ID: 1127 +Multi-Arch: foreign +Source: initramfs-tools +Source-Version: 0.140ubuntu13 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: busybox-initramfs (>= 1:1.30.1-4ubuntu5~), initramfs-tools-bin (= 0.140ubuntu13), klibc-utils (>= 2.0.4-8~), cpio (>= 2.12), zstd, kmod, udev, coreutils (>= 8.24), logsave | e2fsprogs (<< 1.45.3-1~) +Suggests: bash-completion +Replaces: initramfs-tools (<< 0.121~) +Breaks: busybox-initramfs (<< 1:1.30.1-4ubuntu5~), initramfs-tools (<< 0.121~) + +Package: liblirc-client0 +Architecture: amd64 +Version: 0.10.1-6.3ubuntu1 +APT-ID: 2815 +Multi-Arch: same +Source: lirc +Source-Version: 0.10.1-6.3ubuntu1 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) +Suggests: lirc +Replaces: liblircclient0 (<= 0.9.4~pre1) +Breaks: inputlirc (<< 19), kradio (<< 4), liblircclient0 (<= 0.9.4~pre1) + +Package: libieee1284-3 +Architecture: amd64 +Version: 0.2.11-14build2 +APT-ID: 2638 +Multi-Arch: same +Source: libieee1284 +Source-Version: 0.2.11-14build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: libpulse0 +Architecture: amd64 +Version: 1:15.99.1+dfsg1-1ubuntu1 +APT-ID: 3327 +Multi-Arch: same +Source: pulseaudio +Source-Version: 1:15.99.1+dfsg1-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libapparmor1 (>= 2.7.0~beta1+bzr1772), libasyncns0 (>= 0.3), libc6 (>= 2.34), libdbus-1-3 (>= 1.9.14), libsndfile1 (>= 1.0.20), libsystemd0, libx11-6, libx11-xcb1 (>= 2:1.7.2), libxcb1 +Suggests: pulseaudio + +Package: libwebpmux3 +Architecture: amd64 +Version: 1.2.2-2 +APT-ID: 4058 +Multi-Arch: same +Source: libwebp +Source-Version: 1.2.2-2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.29), libwebp7 + +Package: libpcaudio0 +Architecture: amd64 +Version: 1.1-6build2 +APT-ID: 3215 +Multi-Arch: same +Source: pcaudiolib +Source-Version: 1.1-6build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libasound2 (>= 1.0.16), libc6 (>= 2.4), libpulse0 (>= 0.99.1) + +Package: libsasl2-modules-gssapi-mit +Architecture: amd64 +Version: 2.1.27+dfsg2-3ubuntu1 +APT-ID: 3639 +Multi-Arch: same +Source: cyrus-sasl2 +Source-Version: 2.1.27+dfsg2-3ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libsasl2-modules (= 2.1.27+dfsg2-3ubuntu1), libc6 (>= 2.14), libgssapi-krb5-2 (>= 1.17), libssl3 (>= 3.0.0~~alpha1) +Conflicts: libsasl2-modules-gssapi-heimdal + +Package: speech-dispatcher-audio-plugins +Architecture: amd64 +Version: 0.11.1-1ubuntu1 +APT-ID: 79615 +Multi-Arch: same +Source: speech-dispatcher +Source-Version: 0.11.1-1ubuntu1 +Priority: optional +Section: sound +Installed: yes +APT-Pin: 100 +APT-Automatic: yes +Depends: libao4 (>= 1.1.0), libasound2 (>= 1.0.18), libc6 (>= 2.8), libglib2.0-0 (>= 2.36), libpulse0 (>= 0.99.1) + +Package: mokutil +Architecture: amd64 +Version: 0.4.0-1ubuntu2 +APT-ID: 4657 +Source: mokutil +Source-Version: 0.4.0-1ubuntu2 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libc6 (>= 2.34), libcrypt1 (>= 1:4.1.0), libefivar1 (>= 37), libssl3 (>= 3.0.0~~alpha1) + +Package: fonts-tlwg-mono +Architecture: all +Version: 1:0.7.3-1 +APT-ID: 525 +Multi-Arch: foreign +Source: fonts-tlwg +Source-Version: 1:0.7.3-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fonts-tlwg-mono-ttf | fonts-tlwg-mono-otf + +Package: pinentry-gnome3 +Architecture: amd64 +Version: 1.1.1-1build2 +APT-ID: 4911 +Multi-Arch: foreign +Source: pinentry +Source-Version: 1.1.1-1build2 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gcr, libassuan0 (>= 2.1.0), libc6 (>= 2.34), libgcr-base-3-1 (>= 3.8.0), libglib2.0-0 (>= 2.26.0), libgpg-error0 (>= 1.16), libncursesw6 (>= 6), libsecret-1-0 (>= 0.7), libtinfo6 (>= 6) +Suggests: pinentry-doc +Recommends: dbus-user-session +Enhances: gnupg-agent +Provides: pinentry-x11, pinentry + +Package: pcmciautils +Architecture: amd64 +Version: 018-13build1 +APT-ID: 4862 +Source: pcmciautils +Source-Version: 018-13build1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Suggests: wireless-tools +Recommends: udev + +Package: libsmartcols1 +Architecture: amd64 +Version: 2.37.2-4ubuntu3 +APT-ID: 3685 +Multi-Arch: same +Source: util-linux +Source-Version: 2.37.2-4ubuntu3 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: cups-filters +Architecture: amd64 +Version: 1.28.15-0ubuntu1 +APT-ID: 253 +Source: cups-filters +Source-Version: 1.28.15-0ubuntu1 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: bc, cups-filters-core-drivers (>= 1.28.15-0ubuntu1), ghostscript, poppler-utils, libc6 (>= 2.34), libcups2 (>= 2.3~b6), libcupsfilters1 (>= 1.22.2), libfontconfig1 (>= 2.12.6), libfontembed1 (>= 1.0.31), libgcc-s1 (>= 3.3.1), libqpdf28 (>> 10.6~), libstdc++6 (>= 11) +Suggests: antiword, docx2txt, foomatic-db-compressed-ppds | foomatic-db, imagemagick, lynx +Recommends: colord, liblouisutdml-bin | liblouis-bin +Conflicts: foomatic-filters, foomatic-filters-beh, ghostscript-cups +Replaces: foomatic-filters, foomatic-filters-beh, ghostscript-cups +Provides: ghostscript-cups, foomatic-filters-beh, foomatic-filters + +Package: fonts-smc-dyuthi +Architecture: all +Version: 3.0.2-2 +APT-ID: 501 +Multi-Arch: foreign +Source: fonts-smc-dyuthi +Source-Version: 3.0.2-2 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: fonts-smc (<< 6.1~), ttf-malayalam-fonts +Breaks: fonts-smc (<< 6.1~), ttf-malayalam-fonts + +Package: libedataserver-1.2-26 +Architecture: amd64 +Version: 3.44.4-0ubuntu1 +APT-ID: 72330 +Multi-Arch: same +Source: evolution-data-server +Source-Version: 3.44.4-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libcamel-1.2-63 (>= 3.39.3), libgcc-s1 (>= 3.3.1), libgdata22 (>= 0.15.0), libglib2.0-0 (>= 2.45.6), libicu70 (>= 70.1-1~), libjson-glib-1.0-0 (>= 1.5.2), libsecret-1-0 (>= 0.7), libsoup2.4-1 (>= 2.58.2), libstdc++6 (>= 5.2), libxml2 (>= 2.9.0), evolution-data-server-common (>= 3.44) + +Package: debconf-i18n +Architecture: all +Version: 1.5.79ubuntu1 +APT-ID: 278 +Source: debconf +Source-Version: 1.5.79ubuntu1 +Priority: required +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf (= 1.5.79ubuntu1), liblocale-gettext-perl, libtext-iconv-perl, libtext-wrapi18n-perl, libtext-charwidth-perl +Conflicts: debconf-english, debconf-utils (<< 1.3.22) +Replaces: debconf (<< 1.3.0), debconf-utils (<< 1.3.22) + +Package: console-setup +Architecture: all +Version: 1.205ubuntu3 +APT-ID: 211 +Multi-Arch: foreign +Source: console-setup +Source-Version: 1.205ubuntu3 +Priority: required +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: console-setup-linux | console-setup-freebsd | hurd, xkb-data (>= 0.9), keyboard-configuration (= 1.205ubuntu3) +Pre-Depends: debconf (>= 1.5.34) +Suggests: lsb-base (>= 3.0-6), locales +Conflicts: console-setup-mini +Breaks: lsb (<< 2.0-6), lsb-base (<< 3.0-6), lsb-core (<< 2.0-6) + +Package: printer-driver-m2300w +Architecture: amd64 +Version: 0.51-15build1 +APT-ID: 4971 +Source: m2300w +Source-Version: 0.51-15build1 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: cups-filters | foomatic-filters, python3:any, xz-utils, libc6 (>= 2.34) +Suggests: psutils +Recommends: cups-ppdc +Replaces: m2300w (<< 0.51-5~), m2300w-ppds +Breaks: m2300w (<< 0.51-5~), m2300w-ppds + +Package: libgpgmepp6 +Architecture: amd64 +Version: 1.16.0-1.2ubuntu4 +APT-ID: 2475 +Multi-Arch: same +Source: gpgme1.0 +Source-Version: 1.16.0-1.2ubuntu4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.32), libgcc-s1 (>= 3.3.1), libgpgme11 (>= 1.15.0), libstdc++6 (>= 11) + +Package: zstd +Architecture: amd64 +Version: 1.4.8+dfsg-3build1 +APT-ID: 6087 +Source: libzstd +Source-Version: 1.4.8+dfsg-3build1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgcc-s1 (>= 3.3.1), liblz4-1 (>= 0.0~r127), liblzma5 (>= 5.1.1alpha+20120614), libstdc++6 (>= 12), zlib1g (>= 1:1.1.4) + +Package: libpam-runtime +Architecture: all +Version: 1.4.0-11ubuntu2 +APT-ID: 3184 +Multi-Arch: foreign +Source: pam +Source-Version: 1.4.0-11ubuntu2 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf (>= 0.5) | debconf-2.0, debconf (>= 1.5.19) | cdebconf, libpam-modules (>= 1.0.1-6) +Conflicts: libpam0g-util +Replaces: libpam0g-dev, libpam0g-util + +Package: udev +Architecture: amd64 +Version: 249.11-0ubuntu3.4 +APT-ID: 79621 +Multi-Arch: foreign +Source: systemd +Source-Version: 249.11-0ubuntu3.4 +Priority: required +Section: admin +Installed: yes +APT-Pin: 100 +APT-Automatic: yes +Depends: libacl1 (>= 2.2.23), libblkid1 (>= 2.37.2), libc6 (>= 2.34), libcap2 (>= 1:2.24-9~), libkmod2 (>= 5~), libselinux1 (>= 3.1~), adduser, libudev1 (= 249.11-0ubuntu3.4), util-linux (>= 2.27.1) +Conflicts: hal +Breaks: systemd (<< 249.11-0ubuntu3.4) + +Package: systemd-oomd +Architecture: amd64 +Version: 249.11-0ubuntu3.4 +APT-ID: 79618 +Source: systemd +Source-Version: 249.11-0ubuntu3.4 +Priority: optional +Section: admin +Installed: yes +APT-Pin: 100 +APT-Automatic: yes +Depends: libc6 (>= 2.34), systemd (= 249.11-0ubuntu3.4), adduser + +Package: libvpx7 +Architecture: amd64 +Version: 1.11.0-2ubuntu2 +APT-ID: 4028 +Multi-Arch: same +Source: libvpx +Source-Version: 1.11.0-2ubuntu2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: coreutils +Architecture: amd64 +Version: 8.32-4.1ubuntu1 +APT-ID: 214 +Essential: yes +Multi-Arch: foreign +Source: coreutils +Source-Version: 8.32-4.1ubuntu1 +Priority: important +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Pre-Depends: libacl1 (>= 2.2.23), libattr1 (>= 1:2.4.44), libc6 (>= 2.34), libgmp10 (>= 2:6.2.1+dfsg), libselinux1 (>= 3.1~) + +Package: libxxf86vm1 +Architecture: amd64 +Version: 1:1.1.4-1build3 +APT-ID: 4287 +Multi-Arch: same +Source: libxxf86vm +Source-Version: 1:1.1.4-1build3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libx11-6 (>= 2:1.6.0), libxext6 + +Package: libexttextcat-2.0-0 +Architecture: amd64 +Version: 3.4.5-1build2 +APT-ID: 2190 +Multi-Arch: same +Source: libexttextcat +Source-Version: 3.4.5-1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libexttextcat-data (= 3.4.5-1build2) + +Package: evolution-data-server +Architecture: amd64 +Version: 3.44.4-0ubuntu1 +APT-ID: 71797 +Source: evolution-data-server +Source-Version: 3.44.4-0ubuntu1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcamel-1.2-63 (= 3.44.4-0ubuntu1), libcanberra-gtk3-0 (>= 0.25), libcanberra0 (>= 0.2), libdb5.3, libebackend-1.2-10 (= 3.44.4-0ubuntu1), libebook-1.2-20 (>= 3.17), libebook-contacts-1.2-3 (>= 3.43.2), libecal-2.0-1 (>= 3.39.2), libedata-book-1.2-26 (>= 3.43.2), libedata-cal-2.0-1 (>= 3.26.2), libedataserver-1.2-26 (= 3.44.4-0ubuntu1), libedataserverui-1.2-3 (= 3.44.4-0ubuntu1), libgcr-base-3-1 (>= 3.8.0), libgcr-ui-3-1 (>= 3.8.0), libgdata22 (>= 0.17.10), libglib2.0-0 (>= 2.70.0), libgoa-1.0-0b (>= 3.11.90), libgtk-3-0 (>= 3.10), libgweather-3-16 (>= 40.0), libical3 (>= 3.0.7), libldap-2.5-0 (>= 2.5.4), libpango-1.0-0 (>= 1.14.0), libsecret-1-0 (>= 0.7), libsoup2.4-1 (>= 2.42), libxml2 (>= 2.9.0), evolution-data-server-common (>= 3.44.4-0ubuntu1), gnome-keyring +Suggests: evolution +Replaces: evolution (<< 3.29.90), libevolution (<< 3.29.90) +Breaks: evolution (<< 3.29.90), libevolution (<< 3.29.90) + +Package: libgdbm-compat4 +Architecture: amd64 +Version: 1.23-1 +APT-ID: 2330 +Multi-Arch: same +Source: gdbm +Source-Version: 1.23-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libgdbm6 (>= 1.16) + +Package: libpam-gnome-keyring +Architecture: amd64 +Version: 40.0-3ubuntu3 +APT-ID: 72496 +Multi-Arch: same +Source: gnome-keyring +Source-Version: 40.0-3ubuntu3 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libpam0g (>= 0.99.7.1), libselinux1 (>= 3.1~), libpam-runtime (>= 1.0.1-6) +Recommends: gnome-keyring + +Package: linux-image-5.15.0-48-generic +Architecture: amd64 +Version: 5.15.0-48.54 +APT-ID: 73442 +Source: linux-signed +Source-Version: 5.15.0-48.54 +Priority: optional +Section: kernel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: kmod, linux-base (>= 4.5ubuntu1~16.04.1), linux-modules-5.15.0-48-generic +Suggests: fdutils, linux-doc | linux-source-5.15.0, linux-tools, linux-headers-5.15.0-48-generic, linux-modules-extra-5.15.0-48-generic +Recommends: grub-pc | grub-efi-amd64 | grub-efi-ia32 | grub | lilo, initramfs-tools | linux-initramfs-tool +Conflicts: linux-image-unsigned-5.15.0-48-generic +Provides: zfs-modules, zfs-dkms, virtualbox-guest-modules, v4l2loopback-modules, v4l2loopback-dkms, spl-modules, spl-dkms, redhat-cluster-modules, linux-image, kvm-api-4, ivtv-modules, fuse-module + +Package: fonts-thai-tlwg +Architecture: all +Version: 1:0.7.3-1 +APT-ID: 515 +Multi-Arch: foreign +Source: fonts-tlwg +Source-Version: 1:0.7.3-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fonts-tlwg-garuda, fonts-tlwg-kinnari, fonts-tlwg-laksaman, fonts-tlwg-loma, fonts-tlwg-mono, fonts-tlwg-norasi, fonts-tlwg-purisa, fonts-tlwg-sawasdee, fonts-tlwg-typewriter, fonts-tlwg-typist, fonts-tlwg-typo, fonts-tlwg-umpush, fonts-tlwg-waree + +Package: idle-python3.10 +Architecture: all +Version: 3.10.6-1~22.04 +APT-ID: 77376 +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: optional +Section: universe/python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=universe,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=universe,b=i386 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3.10, python3-tk, python3.10-tk, libjs-mathjax +Enhances: python3.10 + +Package: idle-python3.10 +Architecture: all +Version: 3.10.4-3ubuntu0.1 +APT-ID: 79506 +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3ubuntu0.1 +Priority: optional +Section: universe/python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=universe,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=universe,b=i386 +APT-Pin: 500 +Depends: python3.10, python3-tk, python3.10-tk, libjs-mathjax +Enhances: python3.10 + +Package: idle-python3.10 +Architecture: all +Version: 3.10.4-3 +APT-ID: 21728 +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3 +Priority: optional +Section: universe/python +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=universe,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=universe,b=i386 +APT-Pin: 500 +Depends: python3.10, python3-tk, python3.10-tk, libjs-mathjax +Enhances: python3.10 + +Package: libsecret-1-0 +Architecture: amd64 +Version: 0.20.5-2 +APT-ID: 3650 +Multi-Arch: same +Source: libsecret +Source-Version: 0.20.5-2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libgcrypt20 (>= 1.9.0), libglib2.0-0 (>= 2.59.0), libsecret-common +Breaks: seahorse (<< 3.10) + +Package: python3.10 +Architecture: amd64 +Version: 3.10.6-1~22.04 +APT-ID: 74361 +Multi-Arch: allowed +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: required +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3.10-minimal (= 3.10.6-1~22.04), libpython3.10-stdlib (= 3.10.6-1~22.04), media-types | mime-support +Suggests: python3.10-venv, python3.10-doc, binutils +Breaks: python3-all (<< 3.6.5~rc1-1), python3-dev (<< 3.6.5~rc1-1), python3-venv (<< 3.6.5-2) + +Package: python3.10 +Architecture: amd64 +Version: 3.10.4-3ubuntu0.1 +APT-ID: 79407 +Multi-Arch: allowed +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3ubuntu0.1 +Priority: required +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Automatic: yes +Depends: python3.10-minimal (= 3.10.4-3ubuntu0.1), libpython3.10-stdlib (= 3.10.4-3ubuntu0.1), media-types | mime-support +Suggests: python3.10-venv, python3.10-doc, binutils +Breaks: python3-all (<< 3.6.5~rc1-1), python3-dev (<< 3.6.5~rc1-1), python3-venv (<< 3.6.5-2) + +Package: python3.10 +Architecture: amd64 +Version: 3.10.4-3 +APT-ID: 5550 +Multi-Arch: allowed +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3 +Priority: required +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Automatic: yes +Depends: python3.10-minimal (= 3.10.4-3), libpython3.10-stdlib (= 3.10.4-3), media-types | mime-support +Suggests: python3.10-venv, python3.10-doc, binutils +Breaks: python3-all (<< 3.6.5~rc1-1), python3-dev (<< 3.6.5~rc1-1), python3-venv (<< 3.6.5-2) + +Package: libltdl7 +Architecture: amd64 +Version: 2.4.6-15build2 +APT-ID: 2850 +Multi-Arch: same +Source: libtool +Source-Version: 2.4.6-15build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: python3-colorama +Architecture: all +Version: 0.4.4-1 +APT-ID: 5187 +Source: python-colorama +Source-Version: 0.4.4-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any (>= 3.6~) + +Package: libgsf-1-114 +Architecture: amd64 +Version: 1.14.47-1build2 +APT-ID: 2501 +Multi-Arch: same +Source: libgsf +Source-Version: 1.14.47-1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libgsf-1-common (>= 1.14.47-1build2), libbz2-1.0, libc6 (>= 2.33), libglib2.0-0 (>= 2.53.1), libxml2 (>= 2.7.4), zlib1g (>= 1:1.1.4) + +Package: libpaper1 +Architecture: amd64 +Version: 1.1.28build2 +APT-ID: 3201 +Multi-Arch: same +Source: libpaper +Source-Version: 1.1.28build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), debconf (>= 0.5) | debconf-2.0, ucf (>= 0.28), dpkg (>= 1.17.2) +Recommends: libpaper-utils +Replaces: libpaperg (<< 1.1.9) +Provides: libpaperg + +Package: libtie-ixhash-perl +Architecture: all +Version: 1.23-2.1 +APT-ID: 3849 +Source: libtie-ixhash-perl +Source-Version: 1.23-2.1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any + +Package: libreoffice-gnome +Architecture: amd64 +Version: 1:7.3.6-0ubuntu0.22.04.1 +APT-ID: 72555 +Source: libreoffice +Source-Version: 1:7.3.6-0ubuntu0.22.04.1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libreoffice-common (>= 1:7.0.0~alpha~), libreoffice-core (= 1:7.3.6-0ubuntu0.22.04.1), ucf (>= 0.8), libc6 (>= 2.32), libgcc-s1 (>= 3.0), libglib2.0-0 (>= 2.38.0), libstdc++6 (>= 5), libuno-cppu3 (>= 4.4.0~alpha), libuno-cppuhelpergcc3-3 (>= 4.0.0~alpha), libuno-sal3 (>= 1:7.3.0~beta1), libuno-salhelpergcc3-3 (>= 1.4.0), uno-libs-private +Suggests: libreoffice-evolution, seahorse +Recommends: libreoffice-style-elementary, libreoffice-style-yaru, libreoffice-gtk3 +Conflicts: libreoffice-gtk3 (<< 1:7.2.0~) +Replaces: libreoffice-gtk (<< 1:5.0.0~rc2-1), libreoffice-gtk3 (<< 1:7.2.0~) +Enhances: libreoffice +Provides: libreoffice-gtk-gnome + +Package: fonts-tlwg-waree-ttf +Architecture: all +Version: 1:0.7.3-1 +APT-ID: 542 +Multi-Arch: foreign +Source: fonts-tlwg +Source-Version: 1:0.7.3-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: fonts-tlwg-waree (>= 1:0.6.2-2) +Replaces: fonts-tlwg-waree (<< 1:0.6.2-2) +Breaks: fonts-tlwg-waree (<< 1:0.6.2-2) + +Package: libmm-glib0 +Architecture: amd64 +Version: 1.18.6-1 +APT-ID: 2941 +Multi-Arch: same +Source: modemmanager +Source-Version: 1.18.6-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libglib2.0-0 (>= 2.56.0) +Recommends: modemmanager (>= 1.18.6-1) + +Package: evince +Architecture: amd64 +Version: 42.3-0ubuntu2 +APT-ID: 71795 +Source: evince +Source-Version: 42.3-0ubuntu2 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: evince-common (>= 42.3-0ubuntu2), gsettings-desktop-schemas, libevdocument3-4 (= 42.3-0ubuntu2), libevview3-3 (= 42.3-0ubuntu2), shared-mime-info, dconf-gsettings-backend | gsettings-backend, libatk1.0-0 (>= 1.12.4), libc6 (>= 2.34), libcairo-gobject2 (>= 1.10.0), libcairo2 (>= 1.14.0), libgdk-pixbuf-2.0-0 (>= 2.40), libglib2.0-0 (>= 2.61.2), libgnome-desktop-3-19 (>= 3.17.92), libgtk-3-0 (>= 3.22.0), libhandy-1-0 (>= 1.5.90), libnautilus-extension1a (>= 3.28), libpango-1.0-0 (>= 1.37.5), libpangocairo-1.0-0 (>= 1.14.0), libsecret-1-0 (>= 0.7) +Suggests: gvfs, nautilus-sendto, poppler-data, unrar +Recommends: default-dbus-session-bus | dbus-session-bus +Replaces: libevdocument3-4 (<< 3.29.91-2~) +Breaks: libevdocument3-4 (<< 3.29.91-2~) +Enhances: nautilus +Provides: postscript-viewer, pdf-viewer, djvu-viewer + +Package: libxcb-util1 +Architecture: amd64 +Version: 0.4.0-1build2 +APT-ID: 4170 +Multi-Arch: same +Source: xcb-util +Source-Version: 0.4.0-1build2 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.8), libxcb1 + +Package: python3-gi +Architecture: amd64 +Version: 3.42.1-0ubuntu1 +APT-ID: 74321 +Multi-Arch: allowed +Source: pygobject +Source-Version: 3.42.1-0ubuntu1 +Priority: required +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0 (>= 1.48.0), python3 (<< 3.11), python3 (>= 3.10~), python3:any, libc6 (>= 2.14), libffi8 (>= 3.4), libgirepository-1.0-1 (>= 1.62.0-4~), libgirepository-1.0-1-with-libffi8 (>= 1.62.0-4~), libglib2.0-0 (>= 2.56.0) + +Package: libsnmp-base +Architecture: all +Version: 5.9.1+dfsg-1ubuntu2.2 +APT-ID: 72749 +Multi-Arch: foreign +Source: net-snmp +Source-Version: 5.9.1+dfsg-1ubuntu2.2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=i386 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Suggests: snmp-mibs-downloader +Replaces: snmp (<< 5.7.3+dfsg-5) +Breaks: snmp (<< 5.7.3+dfsg-5) + +Package: uno-libs-private +Architecture: amd64 +Version: 1:7.3.6-0ubuntu0.22.04.1 +APT-ID: 74534 +Source: libreoffice +Source-Version: 1:7.3.6-0ubuntu0.22.04.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.32), libgcc-s1 (>= 3.0), libstdc++6 (>= 11), libuno-cppu3 (>= 1.4.0), libuno-sal3 (>= 5.3.0~alpha), libuno-salhelpergcc3-3 (>= 1.4.0) +Replaces: uno-libs3 +Breaks: uno-libs3 + +Package: python3-tz +Architecture: all +Version: 2022.1-1 +APT-ID: 5516 +Source: python-tz +Source-Version: 2022.1-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: tzdata, python3:any + +Package: libgl1-amber-dri +Architecture: amd64 +Version: 21.3.7-0ubuntu1 +APT-ID: 2376 +Multi-Arch: same +Source: mesa-amber +Source-Version: 21.3.7-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libdrm-intel1 (>= 2.4.38), libdrm-nouveau2 (>= 2.4.66), libdrm-radeon1 (>= 2.4.17), libdrm2 (>= 2.4.38), libexpat1 (>= 2.0.1), libgcc-s1 (>= 3.4), libglapi-mesa (>= 21.3.5), libstdc++6 (>= 5.2), libzstd1 (>= 1.4.0), zlib1g (>= 1:1.1.4) +Conflicts: libgl1-mesa-dri (<< 22.0.0~) +Replaces: libgl1-mesa-dri (<< 22.0.0~) +Provides: dri-drivers + +Package: libreoffice-base-core +Architecture: amd64 +Version: 1:7.3.6-0ubuntu0.22.04.1 +APT-ID: 72547 +Source: libreoffice +Source-Version: 1:7.3.6-0ubuntu0.22.04.1 +Priority: optional +Section: editors +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libreoffice-core (= 1:7.3.6-0ubuntu0.22.04.1) | libreoffice-core-nogui (= 1:7.3.6-0ubuntu0.22.04.1), libc6 (>= 2.32), libgcc-s1 (>= 3.4), libstdc++6 (>= 11), libuno-cppu3 (>= 4.4.0~alpha), libuno-cppuhelpergcc3-3 (>= 5.3.0~alpha), libuno-sal3 (>= 1:7.3.0~beta1), libuno-salhelpergcc3-3 (>= 1.4.0), uno-libs-private +Suggests: libreoffice-base +Replaces: libreoffice-base-drivers (<< 1:6.1.1~rc1-2) + +Package: hdparm +Architecture: amd64 +Version: 9.60+ds-1build3 +APT-ID: 955 +Source: hdparm +Source-Version: 9.60+ds-1build3 +Priority: standard +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), lsb-base +Recommends: powermgmt-base + +Package: gir1.2-gmenu-3.0 +Architecture: amd64 +Version: 3.36.0-1ubuntu3 +APT-ID: 684 +Multi-Arch: same +Source: gnome-menus +Source-Version: 3.36.0-1ubuntu3 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0 (>= 0.10.7-1~), libgnome-menu-3-0 (>= 3.6.0) + +Package: libreoffice-pdfimport +Architecture: all +Version: 1:7.3.6-0ubuntu0.22.04.1 +APT-ID: 72691 +Source: libreoffice +Source-Version: 1:7.3.6-0ubuntu0.22.04.1 +Priority: extra +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libreoffice-common (>= 1:5.4~), libreoffice-core (>= 1:5.4~) + +Package: libext2fs2 +Architecture: amd64 +Version: 1.46.5-2ubuntu1.1 +APT-ID: 72342 +Multi-Arch: same +Source: e2fsprogs +Source-Version: 1.46.5-2ubuntu1.1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Replaces: e2fslibs (<< 1.43.9-1~) +Breaks: e2fslibs (<< 1.43.9-1~) +Provides: e2fslibs (= 1.46.5-2ubuntu1.1) + +Package: bind9-host +Architecture: amd64 +Version: 1:9.18.1-1ubuntu1.2 +APT-ID: 71718 +Source: bind9 +Source-Version: 1:9.18.1-1ubuntu1.2 +Priority: standard +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: bind9-libs (= 1:9.18.1-1ubuntu1.2), libc6 (>= 2.34), libidn2-0 (>= 2.0.0) +Replaces: bind-host (<< 1:9.13.6~) +Breaks: bind-host (<< 1:9.13.6~) +Provides: host + +Package: libffi8 +Architecture: amd64 +Version: 3.4.2-4 +APT-ID: 2206 +Multi-Arch: same +Source: libffi +Source-Version: 3.4.2-4 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.27) +Replaces: libffi8ubuntu1 (<< 3.4.2-1) +Breaks: libffi8ubuntu1 (<< 3.4.2-1) +Provides: libffi8ubuntu1 (= 3.4.2-4) + +Package: pciutils +Architecture: amd64 +Version: 1:3.7.0-6 +APT-ID: 4861 +Multi-Arch: foreign +Source: pciutils +Source-Version: 1:3.7.0-6 +Priority: standard +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libkmod2 (>= 5~), libpci3 (= 1:3.7.0-6) +Suggests: bzip2, wget | curl | lynx-cur + +Package: gnome-user-docs +Architecture: all +Version: 41.5-1ubuntu2 +APT-ID: 821 +Source: gnome-user-docs +Source-Version: 41.5-1ubuntu2 +Priority: optional +Section: doc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: ubuntu-docs, yelp + +Package: alsa-base +Architecture: all +Version: 1.0.25+dfsg-0ubuntu7 +APT-ID: 14 +Multi-Arch: foreign +Source: alsa-driver +Source-Version: 1.0.25+dfsg-0ubuntu7 +Priority: optional +Section: sound +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: kmod (>= 17-1), linux-sound-base, udev +Suggests: apmd (>= 3.0.2-1), alsa-oss, oss-compat +Recommends: alsa-utils +Provides: alsa + +Package: libnftnl11 +Architecture: amd64 +Version: 1.2.1-1build1 +APT-ID: 3049 +Multi-Arch: same +Source: libnftnl +Source-Version: 1.2.1-1build1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libmnl0 (>= 1.0.3-4~) + +Package: libgssapi-krb5-2 +Architecture: amd64 +Version: 1.19.2-2 +APT-ID: 2511 +Multi-Arch: same +Source: krb5 +Source-Version: 1.19.2-2 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libcom-err2 (>= 1.43.9), libk5crypto3 (>= 1.16), libkrb5-3 (= 1.19.2-2), libkrb5support0 (>= 1.15~beta1) +Suggests: krb5-doc, krb5-user +Breaks: moonshot-gss-eap (<= 1.0) + +Package: libsoup2.4-1 +Architecture: amd64 +Version: 2.74.2-3 +APT-ID: 3708 +Multi-Arch: same +Source: libsoup2.4 +Source-Version: 2.74.2-3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: glib-networking (>= 2.32.0), libsoup2.4-common, libbrotli1 (>= 0.6.0), libc6 (>= 2.14), libglib2.0-0 (>= 2.61.2), libgssapi-krb5-2 (>= 1.17), libpsl5 (>= 0.20), libsqlite3-0 (>= 3.5.9), libxml2 (>= 2.7.4), zlib1g (>= 1:1.2.0) + +Package: netbase +Architecture: all +Version: 6.3 +APT-ID: 4739 +Multi-Arch: foreign +Source: netbase +Source-Version: 6.3 +Priority: required +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: ebtables (<< 2.0.11-2) +Breaks: ebtables (<< 2.0.11-2) + +Package: spice-vdagent +Architecture: amd64 +Version: 0.22.1-1 +APT-ID: 5689 +Source: spice-vdagent +Source-Version: 0.22.1-1 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libasound2 (>= 1.0.22), libc6 (>= 2.34), libdbus-1-3 (>= 1.9.14), libdrm2 (>= 2.4.3), libglib2.0-0 (>= 2.67.3), libgtk-3-0 (>= 3.22), libpciaccess0, libsystemd0, libx11-6, libxinerama1 (>= 2:1.1.4), libxrandr2 (>= 2:1.2.99.2) +Pre-Depends: init-system-helpers (>= 1.54~) + +Package: libwacom9 +Architecture: amd64 +Version: 2.2.0-1 +APT-ID: 4038 +Multi-Arch: same +Source: libwacom +Source-Version: 2.2.0-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.8), libglib2.0-0 (>= 2.67.3), libgudev-1.0-0 (>= 146), libwacom-common (= 2.2.0-1) +Recommends: libwacom-bin (= 2.2.0-1) + +Package: readline-common +Architecture: all +Version: 8.1.2-1 +APT-ID: 5583 +Multi-Arch: foreign +Source: readline +Source-Version: 8.1.2-1 +Priority: required +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dpkg (>= 1.15.4) | install-info +Suggests: readline-doc +Conflicts: libreadline-common, libreadline5 (<< 5.0-11) +Replaces: libreadline-common, libreadline4 (<< 4.3-16), libreadline5 (<< 5.0-11) + +Package: libmtp-common +Architecture: all +Version: 1.1.19-1build1 +APT-ID: 2977 +Multi-Arch: foreign +Source: libmtp +Source-Version: 1.1.19-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libnet-ssleay-perl +Architecture: amd64 +Version: 1.92-1build2 +APT-ID: 3023 +Multi-Arch: same +Source: libnet-ssleay-perl +Source-Version: 1.92-1build2 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl, perl-openssl-abi-3, perlapi-5.34.0, libc6 (>= 2.34), libssl3 (>= 3.0.0~~alpha1) + +Package: shotwell-common +Architecture: all +Version: 0.30.14-1ubuntu6 +APT-ID: 74400 +Source: shotwell +Source-Version: 0.30.14-1ubuntu6 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend +Recommends: shotwell +Breaks: shotwell (<< 0.26.2-1) + +Package: libnghttp2-14 +Architecture: amd64 +Version: 1.43.0-1build3 +APT-ID: 3050 +Multi-Arch: same +Source: nghttp2 +Source-Version: 1.43.0-1build3 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: libcurl3-gnutls +Architecture: amd64 +Version: 7.81.0-1ubuntu1.4 +APT-ID: 72304 +Multi-Arch: same +Source: curl +Source-Version: 7.81.0-1ubuntu1.4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbrotli1 (>= 0.6.0), libc6 (>= 2.34), libgnutls30 (>= 3.7.2), libgssapi-krb5-2 (>= 1.17), libidn2-0 (>= 0.6), libldap-2.5-0 (>= 2.5.4), libnettle8, libnghttp2-14 (>= 1.12.0), libpsl5 (>= 0.16.0), librtmp1 (>= 2.4+20131018.git79459a2-3~), libssh-4 (>= 0.9.0), libzstd1 (>= 1.4.0), zlib1g (>= 1:1.1.4) +Recommends: ca-certificates + +Package: fonts-smc-meera +Architecture: all +Version: 7.0.3-1 +APT-ID: 506 +Multi-Arch: foreign +Source: fonts-smc-meera +Source-Version: 7.0.3-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: fonts-smc (<< 6.1~) +Breaks: fonts-smc (<< 6.1~) + +Package: network-manager-openvpn +Architecture: amd64 +Version: 1.8.18-1 +APT-ID: 4747 +Source: network-manager-openvpn +Source-Version: 1.8.18-1 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.35.9), libnm0 (>= 1.7.0), network-manager, openvpn, adduser + +Package: libgupnp-dlna-2.0-4 +Architecture: amd64 +Version: 0.12.0-3 +APT-ID: 2557 +Source: gupnp-dlna +Source-Version: 0.12.0-3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libglib2.0-0 (>= 2.37.3), libgstreamer-plugins-base1.0-0 (>= 1.0.0), libgstreamer1.0-0 (>= 1.4.0), libxml2 (>= 2.7.4) +Replaces: libgupnp-dlna-2.0-3 (<< 0.12) +Breaks: libgupnp-dlna-2.0-3 (<< 0.12) + +Package: gnome-bluetooth-common +Architecture: all +Version: 3.34.5-8 +APT-ID: 780 +Multi-Arch: foreign +Source: gnome-bluetooth +Source-Version: 3.34.5-8 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: gnome-bluetooth (<< 3.34.5-6~) +Breaks: gnome-bluetooth (<< 3.34.5-6~) + +Package: gnome-power-manager +Architecture: amd64 +Version: 3.32.0-2build2 +APT-ID: 799 +Source: gnome-power-manager +Source-Version: 3.32.0-2build2 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcairo2 (>= 1.2.4), libglib2.0-0 (>= 2.45.8), libgtk-3-0 (>= 3.4.0), libpango-1.0-0 (>= 1.18.0), libpangocairo-1.0-0 (>= 1.14.0), libupower-glib3 (>= 0.99.8), dconf-gsettings-backend | gsettings-backend, default-dbus-session-bus | dbus-session-bus, gnome-settings-daemon-common, upower (>= 0.99) + +Package: libatk1.0-data +Architecture: all +Version: 2.36.0-3build1 +APT-ID: 1657 +Multi-Arch: foreign +Source: atk1.0 +Source-Version: 2.36.0-3build1 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: openssh-client +Architecture: amd64 +Version: 1:8.9p1-3 +APT-ID: 4817 +Multi-Arch: foreign +Source: openssh +Source-Version: 1:8.9p1-3 +Priority: standard +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: adduser (>= 3.10), dpkg (>= 1.7.0), passwd, libc6 (>= 2.34), libedit2 (>= 2.11-20080614-0), libfido2-1 (>= 1.8.0), libgssapi-krb5-2 (>= 1.17), libselinux1 (>= 3.1~), libssl3 (>= 3.0.1), zlib1g (>= 1:1.1.4) +Suggests: keychain, libpam-ssh, monkeysphere, ssh-askpass +Recommends: xauth +Conflicts: sftp +Replaces: openssh-sk-helper, ssh, ssh-krb5 +Breaks: openssh-sk-helper +Provides: ssh-client, rsh-client + +Package: fonts-tlwg-kinnari +Architecture: all +Version: 1:0.7.3-1 +APT-ID: 519 +Multi-Arch: foreign +Source: fonts-tlwg +Source-Version: 1:0.7.3-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fonts-tlwg-kinnari-ttf | fonts-tlwg-kinnari-otf + +Package: libxres1 +Architecture: amd64 +Version: 2:1.2.1-1 +APT-ID: 4263 +Multi-Arch: same +Source: libxres +Source-Version: 2:1.2.1-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libx11-6 (>= 2:1.6.0), libxext6 + +Package: libunity-scopes-json-def-desktop +Architecture: all +Version: 7.1.4+19.04.20190319-6build1 +APT-ID: 3937 +Multi-Arch: foreign +Source: libunity +Source-Version: 7.1.4+19.04.20190319-6build1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Conflicts: libunity-common (<< 7.0.7), unity-scopes-json-def +Replaces: libunity-common (<< 7.0.7) +Provides: unity-scopes-json-def, libunity-common + +Package: iptables +Architecture: amd64 +Version: 1.8.7-1ubuntu5 +APT-ID: 1137 +Multi-Arch: foreign +Source: iptables +Source-Version: 1.8.7-1ubuntu5 +Priority: standard +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libip4tc2 (= 1.8.7-1ubuntu5), libip6tc2 (= 1.8.7-1ubuntu5), libxtables12 (= 1.8.7-1ubuntu5), netbase (>= 6.0), libc6 (>= 2.34), libmnl0 (>= 1.0.3-4~), libnetfilter-conntrack3 (>= 1.0.6), libnfnetlink0, libnftnl11 (>= 1.1.5) +Suggests: firewalld, kmod, nftables +Replaces: iptables-nftables-compat (<< 1.6.2~) +Breaks: iptables-nftables-compat (<< 1.6.2~) + +Package: nautilus-extension-gnome-terminal +Architecture: amd64 +Version: 3.44.0-1ubuntu1 +APT-ID: 4727 +Source: gnome-terminal +Source-Version: 3.44.0-1ubuntu1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gnome-terminal (= 3.44.0-1ubuntu1), libc6 (>= 2.4), libgcc-s1 (>= 3.0), libglib2.0-0 (>= 2.52.0), libgtk-3-0 (>= 3.22.27), libnautilus-extension1a (>= 3.28.0), libstdc++6 (>= 4.1.1) +Replaces: brasero (<< 3.27.92-2~) +Breaks: gnome-terminal (<< 3.27.92-2~) +Enhances: nautilus + +Package: libjbig2dec0 +Architecture: amd64 +Version: 0.19-3build2 +APT-ID: 2733 +Multi-Arch: same +Source: jbig2dec +Source-Version: 0.19-3build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: dosfstools +Architecture: amd64 +Version: 4.2-1build3 +APT-ID: 343 +Source: dosfstools +Source-Version: 4.2-1build3 +Priority: standard +Section: otherosfs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: fonts-teluguvijayam +Architecture: all +Version: 2.1-1 +APT-ID: 514 +Multi-Arch: foreign +Source: fonts-teluguvijayam +Source-Version: 2.1-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libgdk-pixbuf2.0-bin +Architecture: amd64 +Version: 2.42.8+dfsg-1ubuntu0.1 +APT-ID: 72371 +Multi-Arch: foreign +Source: gdk-pixbuf +Source-Version: 2.42.8+dfsg-1ubuntu0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgdk-pixbuf-2.0-0 (>= 2.35.4), libglib2.0-0 (>= 2.56.0) +Replaces: libgdk-pixbuf2.0-dev (<< 2.36.12-2~) +Breaks: libgdk-pixbuf2.0-dev (<< 2.36.12-2~) + +Package: iputils-ping +Architecture: amd64 +Version: 3:20211215-1 +APT-ID: 1140 +Multi-Arch: foreign +Source: iputils +Source-Version: 3:20211215-1 +Priority: required +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libcap2-bin, libc6 (>= 2.34), libcap2 (>= 1:2.10), libidn2-0 (>= 0.6) +Provides: ping + +Package: libglx-mesa0 +Architecture: amd64 +Version: 22.0.5-0ubuntu0.1 +APT-ID: 72383 +Multi-Arch: same +Source: mesa +Source-Version: 22.0.5-0ubuntu0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libdrm2 (>= 2.4.75), libexpat1 (>= 2.0.1), libglapi-mesa (= 22.0.5-0ubuntu0.1), libstdc++6 (>= 4.1.1), libx11-6 (>= 2:1.4.99.1), libx11-xcb1 (>= 2:1.7.5), libxcb-dri2-0 (>= 1.8), libxcb-dri3-0 (>= 1.13), libxcb-glx0 (>= 1.8), libxcb-present0, libxcb-shm0, libxcb-sync1, libxcb-xfixes0, libxcb1 (>= 1.9.2), libxext6, libxfixes3, libxshmfence1, libxxf86vm1, libgl1-mesa-dri +Breaks: glx-diversions (<< 0.8.4~), libopengl-perl (<< 0.6704+dfsg-2) +Provides: libglx-vendor + +Package: libtwolame0 +Architecture: amd64 +Version: 0.4.0-2build2 +APT-ID: 3907 +Multi-Arch: same +Source: twolame +Source-Version: 0.4.0-2build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.29) + +Package: fonts-tlwg-sawasdee +Architecture: all +Version: 1:0.7.3-1 +APT-ID: 531 +Multi-Arch: foreign +Source: fonts-tlwg +Source-Version: 1:0.7.3-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fonts-tlwg-sawasdee-ttf | fonts-tlwg-sawasdee-otf + +Package: libidn12 +Architecture: amd64 +Version: 1.38-4build1 +APT-ID: 2632 +Multi-Arch: same +Source: libidn +Source-Version: 1.38-4build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: fonts-tlwg-sawasdee-ttf +Architecture: all +Version: 1:0.7.3-1 +APT-ID: 532 +Multi-Arch: foreign +Source: fonts-tlwg +Source-Version: 1:0.7.3-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: fonts-tlwg-sawasdee (>= 1:0.6.2-2) +Replaces: fonts-tlwg-sawasdee (<< 1:0.6.2-2) +Breaks: fonts-tlwg-sawasdee (<< 1:0.6.2-2) + +Package: libgdata-common +Architecture: all +Version: 0.18.1-2build1 +APT-ID: 2325 +Multi-Arch: foreign +Source: libgdata +Source-Version: 0.18.1-2build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: python3-distupgrade +Architecture: all +Version: 1:22.04.14 +APT-ID: 74314 +Source: ubuntu-release-upgrader +Source-Version: 1:22.04.14 +Priority: standard +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any, python3-update-manager (>= 1:19.04.2~), python3-apt (>= 0.8.5~), python3-dbus, python3-distro-info, python3-yaml, gpgv, lsb-release, sensible-utils, procps +Replaces: python3-update-manager (<< 1:0.165) +Breaks: python3-update-manager (<< 1:0.165) + +Package: libgcr-base-3-1 +Architecture: amd64 +Version: 3.40.0-4 +APT-ID: 2315 +Multi-Arch: same +Source: gcr +Source-Version: 3.40.0-4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libgck-1-0 (= 3.40.0-4), libc6 (>= 2.28), libgcrypt20 (>= 1.9.0), libglib2.0-0 (>= 2.59.0), libp11-kit0 (>= 0.23.18.1) +Replaces: libgcr-3-1 (<< 3.8.2-2) +Breaks: libgcr-3-1 (<< 3.8.2-2) + +Package: libaudit-common +Architecture: all +Version: 1:3.0.7-1build1 +APT-ID: 1677 +Multi-Arch: foreign +Source: audit +Source-Version: 1:3.0.7-1build1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: fonts-smc-suruma +Architecture: all +Version: 3.2.3-1 +APT-ID: 509 +Multi-Arch: foreign +Source: fonts-smc-suruma +Source-Version: 3.2.3-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: fonts-smc (<< 6.1~), ttf-malayalam-fonts +Breaks: fonts-smc (<< 6.1~), ttf-malayalam-fonts + +Package: gnome-sudoku +Architecture: amd64 +Version: 1:42.0-1 +APT-ID: 813 +Source: gnome-sudoku +Source-Version: 1:42.0-1 +Priority: optional +Section: games +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcairo2 (>= 1.2.4), libgee-0.8-2 (>= 0.8.3), libglib2.0-0 (>= 2.43.92), libgtk-3-0 (>= 3.24), libjson-glib-1.0-0 (>= 1.5.2), libpango-1.0-0 (>= 1.14.0), libpangocairo-1.0-0 (>= 1.22.0), libqqwing2v5 (>= 1.3.4), libstdc++6 (>= 4.4), dconf-gsettings-backend | gsettings-backend +Recommends: yelp + +Package: sane-utils +Architecture: amd64 +Version: 1.1.1-5 +APT-ID: 5637 +Multi-Arch: foreign +Source: sane-backends +Source-Version: 1.1.1-5 +Priority: optional +Section: graphics +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: adduser, lsb-base (>= 3.0-6), update-inetd, debconf (>= 0.5) | debconf-2.0, libavahi-client3 (>= 0.6.16), libavahi-common3 (>= 0.6.16), libc6 (>= 2.34), libieee1284-3 (>= 0.2.11), libjpeg8 (>= 8c), libpng16-16 (>= 1.6.2-1), libsane1 (>= 1.0.27), libsystemd0, libusb-1.0-0 (>= 2:1.0.22), libxml2 (>= 2.7.4) +Pre-Depends: init-system-helpers (>= 1.54~) +Suggests: avahi-daemon, unpaper +Breaks: libsane-common (<< 1.1.1-3~) + +Package: libxklavier16 +Architecture: amd64 +Version: 5.4-4build2 +APT-ID: 4223 +Multi-Arch: same +Source: libxklavier +Source-Version: 5.4-4build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libglib2.0-0 (>= 2.37.3), libx11-6, libxi6 (>= 2:1.1.2), libxkbfile1 (>= 1:1.1.0), libxml2 (>= 2.7.4), xkb-data (>= 0.8), x11-xkb-utils +Suggests: iso-codes + +Package: libjack-jackd2-0 +Architecture: amd64 +Version: 1.9.20~dfsg-1 +APT-ID: 2722 +Multi-Arch: same +Source: jackd2 +Source-Version: 1.9.20~dfsg-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libdb5.3, libgcc-s1 (>= 3.0), libsamplerate0 (>= 0.1.7), libstdc++6 (>= 11) +Suggests: jackd2 (= 1.9.20~dfsg-1) +Conflicts: jackd2 (>> 1.9.20~dfsg-1), jackd2 (<< 1.9.20~dfsg-1), libjack-0.116, libjack-0.125, libjack0 +Replaces: libjack-0.116, libjack-0.125 +Provides: libjack-0.125, libjack-0.116 + +Package: libauthen-sasl-perl +Architecture: all +Version: 2.1600-1.1 +APT-ID: 1682 +Source: libauthen-sasl-perl +Source-Version: 2.1600-1.1 +Priority: extra +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any +Suggests: libdigest-hmac-perl, libgssapi-perl + +Package: liblcms2-utils +Architecture: amd64 +Version: 2.12~rc1-2build2 +APT-ID: 2806 +Multi-Arch: foreign +Source: lcms2 +Source-Version: 2.12~rc1-2build2 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libjpeg8 (>= 8c), liblcms2-2 (>= 2.2+git20110628), libtiff5 (>= 4.0.3) + +Package: python3-brlapi +Architecture: amd64 +Version: 6.4-4ubuntu3 +APT-ID: 74305 +Multi-Arch: same +Source: brltty +Source-Version: 6.4-4ubuntu3 +Priority: extra +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbrlapi0.8 (>= 6.4), libc6 (>= 2.34), python3 (<< 3.11), python3 (>= 3.10~) + +Package: libatkmm-1.6-1v5 +Architecture: amd64 +Version: 2.28.2-1build1 +APT-ID: 1660 +Multi-Arch: same +Source: atkmm1.6 +Source-Version: 2.28.2-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libatk1.0-0 (>= 2.12.0), libc6 (>= 2.4), libgcc-s1 (>= 3.3.1), libglib2.0-0 (>= 2.33.14), libglibmm-2.4-1v5 (>= 2.66.2), libsigc++-2.0-0v5 (>= 2.2.0), libstdc++6 (>= 4.1.1) +Conflicts: libatkmm-1.6-1 +Replaces: libatkmm-1.6-1 + +Package: libnl-3-200 +Architecture: amd64 +Version: 3.5.0-0.1 +APT-ID: 3059 +Multi-Arch: same +Source: libnl3 +Source-Version: 3.5.0-0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: fonts-orya-extra +Architecture: all +Version: 2.0-6 +APT-ID: 485 +Multi-Arch: foreign +Source: fonts-orya-extra +Source-Version: 2.0-6 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: ttf-oriya-fonts +Breaks: ttf-oriya-fonts (<< 2:1.0) + +Package: libgphoto2-l10n +Architecture: all +Version: 2.5.27-1build2 +APT-ID: 2479 +Multi-Arch: foreign +Source: libgphoto2 +Source-Version: 2.5.27-1build2 +Priority: optional +Section: localization +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libdatrie1 +Architecture: amd64 +Version: 0.2.13-2 +APT-ID: 1993 +Multi-Arch: same +Source: libdatrie +Source-Version: 0.2.13-2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: libthai0 +Architecture: amd64 +Version: 0.1.29-1build1 +APT-ID: 3843 +Multi-Arch: same +Source: libthai +Source-Version: 0.1.29-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libthai-data (>= 0.1.10), libc6 (>= 2.14), libdatrie1 (>= 0.2.0) +Enhances: libqtcore4, libqtgui4 + +Package: language-pack-en-base +Architecture: all +Version: 1:22.04+20220721 +APT-ID: 71953 +Source: language-pack-en-base +Source-Version: 1:22.04+20220721 +Priority: optional +Section: translations +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +Depends: locales (>= 2.3.6), language-pack-en (>= 1:22.04+20220721) +Pre-Depends: dpkg (>= 1.16.1) +Conflicts: language-pack-en (<< 1:22.04+20220721) +Replaces: language-pack-en (<< 1:22.04+20220721), language-pack-en-base (<< 1:22.04+20220721), language-pack-gnome-en (<< 1:22.04+20220721), language-pack-gnome-en-base (<< 1:22.04+20220721), language-pack-kde-en (<< 1:22.04+20220721), language-pack-kde-en-base (<< 1:22.04+20220721) + +Package: update-manager +Architecture: all +Version: 1:22.04.9 +APT-ID: 5915 +Source: update-manager +Source-Version: 1:22.04.9 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any (>= 3.2~), dconf-gsettings-backend | gsettings-backend, update-manager-core (= 1:22.04.9), libgtk3-perl, python3-aptdaemon.gtk3widgets (>= 1.1.1+bzr982-0ubuntu13) | synaptic, policykit-1, python3-dbus, python3-gi (>= 3.8), python3-yaml, gir1.2-gtk-3.0, gir1.2-handy-1 (>= 1.5.90), gir1.2-snapd-1, ubuntu-release-upgrader-gtk, update-notifier, gnome-shell | policykit-1-gnome | polkit-kde-agent-1 | lxpolkit | lxqt-policykit | mate-polkit | polkit-1-auth-agent +Suggests: gir1.2-dbusmenu-glib-0.4, gir1.2-unity-5.0 +Recommends: software-properties-gtk (>= 0.71.2), python3-launchpadlib +Breaks: update-notifier (<< 3.177) + +Package: libgnome-games-support-common +Architecture: all +Version: 1.8.2-1build1 +APT-ID: 2434 +Multi-Arch: foreign +Source: libgnome-games-support +Source-Version: 1.8.2-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: gnome-font-viewer +Architecture: amd64 +Version: 41.0-2 +APT-ID: 790 +Source: gnome-font-viewer +Source-Version: 41.0-2 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcairo2 (>= 1.14.0), libfontconfig1 (>= 2.12.6), libfreetype6 (>= 2.2.1), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.56), libgnome-desktop-3-19 (>= 3.17.92), libgtk-3-0 (>= 3.24.1), libhandy-1-0 (>= 1.5.0), libharfbuzz0b (>= 0.9.9), libpango-1.0-0 (>= 1.14.0), libpangocairo-1.0-0 (>= 1.22.0) + +Package: acl +Architecture: amd64 +Version: 2.3.1-1 +APT-ID: 2 +Multi-Arch: foreign +Source: acl +Source-Version: 2.3.1-1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libacl1 (= 2.3.1-1), libc6 (>= 2.34) + +Package: libclutter-1.0-common +Architecture: all +Version: 1.26.4+dfsg-4build1 +APT-ID: 1900 +Multi-Arch: foreign +Source: clutter-1.0 +Source-Version: 1.26.4+dfsg-4build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libnl-genl-3-200 +Architecture: amd64 +Version: 3.5.0-0.1 +APT-ID: 3064 +Multi-Arch: same +Source: libnl3 +Source-Version: 3.5.0-0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libnl-3-200 (= 3.5.0-0.1), libc6 (>= 2.4) + +Package: python3-dateutil +Architecture: all +Version: 2.8.1-6 +APT-ID: 5201 +Source: python-dateutil +Source-Version: 2.8.1-6 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-six (>= 1.5), python3:any, tzdata +Breaks: khal (<< 1:0.9.10-0.1~), python3-icalendar (<< 4.0.3-2~), python3-vobject (<< 0.9.6.1-0.1~) + +Package: apg +Architecture: amd64 +Version: 2.2.3.dfsg.1-5build2 +APT-ID: 36 +Source: apg +Source-Version: 2.2.3.dfsg.1-5build2 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcrypt1 (>= 1:4.1.0) + +Package: apt +Architecture: amd64 +Version: 2.4.7 +APT-ID: 71709 +Essential: yes +Source: apt +Source-Version: 2.4.7 +Priority: required +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: adduser, gpgv | gpgv2 | gpgv1, libapt-pkg6.0 (>= 2.4.7), ubuntu-keyring, libc6 (>= 2.34), libgcc-s1 (>= 3.3.1), libgnutls30 (>= 3.7.0), libseccomp2 (>= 2.4.2), libstdc++6 (>= 11), libsystemd0 +Suggests: apt-doc, aptitude | synaptic | wajig, dpkg-dev (>= 1.17.2), gnupg | gnupg2 | gnupg1, powermgmt-base +Recommends: ca-certificates +Replaces: apt-transport-https (<< 1.5~alpha4~), apt-utils (<< 1.3~exp2~) +Breaks: apt-transport-https (<< 1.5~alpha4~), apt-utils (<< 1.3~exp2~), aptitude (<< 0.8.10) +Provides: apt-transport-https (= 2.4.7) + +Package: libssh-4 +Architecture: amd64 +Version: 0.9.6-2build1 +APT-ID: 3737 +Multi-Arch: same +Source: libssh +Source-Version: 0.9.6-2build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libgssapi-krb5-2 (>= 1.17), libssl3 (>= 3.0.0~~alpha1), zlib1g (>= 1:1.1.4) +Breaks: remmina (<< 1.2.31.2+dfsg-1+), remmina-plugin-nx (<< 1.2.31.2+dfsg-1+), x2goclient (<< 4.1.2.1-1+) + +Package: bubblewrap +Architecture: amd64 +Version: 0.6.1-1 +APT-ID: 149 +Multi-Arch: foreign +Source: bubblewrap +Source-Version: 0.6.1-1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcap2 (>= 1:2.10), libselinux1 (>= 3.1~) +Recommends: procps +Breaks: flatpak (<< 0.8.0-2~) + +Package: libwacom-common +Architecture: all +Version: 2.2.0-1 +APT-ID: 4036 +Multi-Arch: foreign +Source: libwacom +Source-Version: 2.2.0-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: fonts-lao +Architecture: all +Version: 0.0.20060226-10ubuntu2 +APT-ID: 455 +Multi-Arch: foreign +Source: fonts-lao +Source-Version: 0.0.20060226-10ubuntu2 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libreoffice-core +Architecture: amd64 +Version: 1:7.3.6-0ubuntu0.22.04.1 +APT-ID: 72550 +Source: libreoffice +Source-Version: 1:7.3.6-0ubuntu0.22.04.1 +Priority: optional +Section: editors +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fontconfig, fonts-opensymbol (>= 2:102.12), libreoffice-common (>> 1:7.3.6), ure (>= 1:7.3.0~), libabsl20210324 (>= 0~20210324.2-1), libboost-locale1.74.0 (>= 1.74.0), libc6 (>= 2.35), libcairo2 (>= 1.14.0), libclucene-contribs1v5 (>= 2.3.3.4+dfsg), libclucene-core1v5 (>= 2.3.3.4+dfsg), libcups2 (>= 1.7.0), libcurl3-gnutls (>= 7.68.0), libdbus-1-3 (>= 1.9.14), libdconf1 (>= 0.15.2), libeot0, libepoxy0 (>= 1.0), libexpat1 (>= 2.0.1), libexttextcat-2.0-0 (>= 2.2-8), libfontconfig1 (>= 2.12.6), libfreetype6 (>= 2.10.1), libgcc-s1 (>= 3.4), libglib2.0-0 (>= 2.38.0), libgpgmepp6 (>= 1.16.0), libgraphite2-3 (>= 1.2.2), libgstreamer-plugins-base1.0-0 (>= 1.0.0), libgstreamer1.0-0 (>= 1.4.0), libharfbuzz-icu0 (>= 0.9.42), libharfbuzz0b (>= 1.4.2), libhunspell-1.7-0, libhyphen0 (>= 2.7.1), libice6 (>= 1:1.0.0), libicu70 (>= 70.1-1~), libjpeg8 (>= 8c), liblcms2-2 (>= 2.2+git20110628), libldap-2.5-0 (>= 2.5.4), libmythes-1.2-0, libnspr4 (>= 2:4.9-2~), libnss3 (>= 2:3.16), libopenjp2-7 (>= 2.2.0), liborcus-0.17-0, liborcus-parser-0.17-0, libpng16-16 (>= 1.6.2-1), libpoppler118 (>= 22.02.0), libraptor2-0 (>= 2.0.14), librdf0 (>= 1.0.17), librevenge-0.0-0, libsm6, libstdc++6 (>= 12), libuno-cppu3 (>= 4.4.0~alpha), libuno-cppuhelpergcc3-3 (>= 5.3.0~alpha), libuno-sal3 (>= 1:7.3.0~beta1), libuno-salhelpergcc3-3 (>= 3.6.0~beta), libx11-6, libx11-xcb1 (>= 2:1.7.5), libxext6, libxinerama1 (>= 2:1.1.4), libxml2 (>= 2.8), libxmlsec1 (>= 1.2.33), libxmlsec1-nss (>= 1.2.33), libxrandr2, libxrender1, libxslt1.1 (>= 1.1.25), uno-libs-private, zlib1g (>= 1:1.2.0) +Suggests: gstreamer1.0-plugins-base, gstreamer1.0-plugins-good, gstreamer1.0-plugins-ugly, gstreamer1.0-plugins-bad, gstreamer1.0-libav +Recommends: libpaper-utils +Conflicts: libreoffice-avmedia-backend-vlc, libreoffice-base (<< 1:7.0.0~alpha~), libreoffice-calc (<< 1:7.0.0~alpha~), libreoffice-core-nogui, libreoffice-draw (<< 1:7.0.0~alpha~), libreoffice-filter-binfilter, libreoffice-impress (<< 1:7.0.0~alpha~), libreoffice-math (<< 1:7.0.0~alpha~), libreoffice-mysql-connector (<< 1:6.2.0~), libreoffice-report-builder (<< 1:7.0.0~alpha~), libreoffice-writer (<< 1:7.0.0~alpha~) +Replaces: libreoffice-avmedia-backend-gstreamer, libreoffice-common (<< 1:6.3.0~rc1~), libreoffice-core-nogui, libreoffice-pdfimport (<< 1:5.4~) +Breaks: browser-plugin-libreoffice, libreoffice-avmedia-backend-gstreamer (<< 1:7.3.6-0ubuntu0.22.04.1), libreoffice-base (<< 1:7.3.6-0ubuntu0.22.04.1), libreoffice-calc (<< 1:7.3.6-0ubuntu0.22.04.1), libreoffice-common (<< 1:5.4.1), libreoffice-dev (<< 1:7.3.6-0ubuntu0.22.04.1), libreoffice-draw (<< 1:7.3.6-0ubuntu0.22.04.1), libreoffice-evolution (<< 1:7.3.6-0ubuntu0.22.04.1), libreoffice-gnome (<< 1:7.3.6-0ubuntu0.22.04.1), libreoffice-gtk2 (<< 1:7.3.6-0ubuntu0.22.04.1), libreoffice-gtk3 (<< 1:7.3.6-0ubuntu0.22.04.1), libreoffice-impress (<< 1:7.3.6-0ubuntu0.22.04.1), libreoffice-kde4 (<< 1:7.3.6-0ubuntu0.22.04.1), libreoffice-kde5 (<< 1:7.3.6-0ubuntu0.22.04.1), libreoffice-kf5 (<< 1:7.3.6-0ubuntu0.22.04.1), libreoffice-officebean (<< 1:7.3.6-0ubuntu0.22.04.1), libreoffice-pdfimport (<< 1:5.4~), libreoffice-qt5 (<< 1:7.3.6-0ubuntu0.22.04.1), libreoffice-writer (<< 1:7.3.6-0ubuntu0.22.04.1) + +Package: packagekit-tools +Architecture: amd64 +Version: 1.2.5-2ubuntu2 +APT-ID: 4850 +Multi-Arch: foreign +Source: packagekit +Source-Version: 1.2.5-2ubuntu2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: packagekit (= 1.2.5-2ubuntu2), libc6 (>= 2.34), libglib2.0-0 (>= 2.54), libpackagekit-glib2-18 (>= 1.2.5) + +Package: libio-socket-ssl-perl +Architecture: all +Version: 2.074-2 +APT-ID: 2670 +Source: libio-socket-ssl-perl +Source-Version: 2.074-2 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any, libnet-ssleay-perl, netbase +Suggests: ca-certificates +Recommends: libio-socket-ip-perl | libio-socket-inet6-perl, libsocket-perl | libsocket6-perl, liburi-perl | libnet-libidn-perl | libnet-idn-encode-perl + +Package: xkb-data +Architecture: all +Version: 2.33-1 +APT-ID: 6034 +Multi-Arch: foreign +Source: xkeyboard-config +Source-Version: 2.33-1 +Priority: required +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Breaks: libx11-6 (<< 2:1.4.3), x11-xkb-utils (<< 7.7+5) + +Package: libwww-robotrules-perl +Architecture: all +Version: 6.02-1 +APT-ID: 4092 +Source: libwww-robotrules-perl +Source-Version: 6.02-1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl, liburi-perl +Replaces: libwww-perl (<< 6.00) +Breaks: libwww-perl (<< 6.00) + +Package: libxrender1 +Architecture: amd64 +Version: 1:0.9.10-1build4 +APT-ID: 4261 +Multi-Arch: same +Source: libxrender +Source-Version: 1:0.9.10-1build4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libx11-6 (>= 2:1.6.0) + +Package: dbus-user-session +Architecture: amd64 +Version: 1.12.20-2ubuntu4 +APT-ID: 269 +Multi-Arch: foreign +Source: dbus +Source-Version: 1.12.20-2ubuntu4 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dbus (>= 1.12.20-2ubuntu4), libpam-systemd, systemd +Recommends: systemd-sysv +Breaks: dbus-x11 (<< 1.9.10-2~), policykit-1 (<< 0.105-12~), udisks2 (<< 2.1.5-2~) +Provides: dbus-session-bus, default-dbus-session-bus + +Package: libepubgen-0.1-1 +Architecture: amd64 +Version: 0.1.1-1ubuntu5 +APT-ID: 2153 +Multi-Arch: same +Source: libepubgen +Source-Version: 0.1.1-1ubuntu5 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.32), libgcc-s1 (>= 3.3.1), librevenge-0.0-0, libstdc++6 (>= 11) + +Package: cpp +Architecture: amd64 +Version: 4:11.2.0-1ubuntu1 +APT-ID: 218 +Multi-Arch: allowed +Source: gcc-defaults +Source-Version: 1.193ubuntu1 +Priority: optional +Section: interpreters +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: cpp-11 (>= 11.2.0-1~) +Suggests: cpp-doc +Conflicts: cpp-doc (<< 1:2.95.3) + +Package: libsnmp40 +Architecture: amd64 +Version: 5.9.1+dfsg-1ubuntu2.2 +APT-ID: 72750 +Multi-Arch: same +Source: net-snmp +Source-Version: 5.9.1+dfsg-1ubuntu2.2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libpci3 (>= 1:3.5.1), libperl5.34 (>= 5.34.0), libsensors5 (>= 1:3.5.0), libssl3 (>= 3.0.0~~alpha1), libwrap0 (>= 7.6-4~), libsnmp-base + +Package: libnftables1 +Architecture: amd64 +Version: 1.0.2-1ubuntu3 +APT-ID: 72470 +Multi-Arch: same +Source: nftables +Source-Version: 1.0.2-1ubuntu3 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libgmp10 (>= 2:6.2.1+dfsg), libjansson4 (>= 2.3), libmnl0 (>= 1.0.3-4~), libnftnl11 (>= 1.2.1), libxtables12 (>= 1.6.0+snapshot20161117) + +Package: gir1.2-json-1.0 +Architecture: amd64 +Version: 1.6.6-1build1 +APT-ID: 722 +Multi-Arch: same +Source: json-glib +Source-Version: 1.6.6-1build1 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0 (>= 0.9.12), libjson-glib-1.0-0 (= 1.6.6-1build1) + +Package: libqmi-proxy +Architecture: amd64 +Version: 1.30.4-1 +APT-ID: 3347 +Multi-Arch: foreign +Source: libqmi +Source-Version: 1.30.4-1 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libqmi-glib5 (= 1.30.4-1), libc6 (>= 2.34), libglib2.0-0 (>= 2.56) + +Package: libpython3-dbg +Architecture: amd64 +Version: 3.10.6-1~22.04 +APT-ID: 72528 +Multi-Arch: same +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: extra +Section: debug +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libpython3.10-dbg (>= 3.10.6-1~) +Replaces: python3-dbg (<< 3.8.0-1) +Breaks: python3-dbg (<< 3.8.0-1) + +Package: libpython3-dbg +Architecture: amd64 +Version: 3.10.4-0ubuntu2 +APT-ID: 3334 +Multi-Arch: same +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-0ubuntu2 +Priority: extra +Section: debug +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +Depends: libpython3.10-dbg (>= 3.10.4-1~) +Replaces: python3-dbg (<< 3.8.0-1) +Breaks: python3-dbg (<< 3.8.0-1) + +Package: libhtml-form-perl +Architecture: all +Version: 6.07-1 +APT-ID: 2590 +Source: libhtml-form-perl +Source-Version: 6.07-1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any, libhtml-parser-perl, libhttp-message-perl, liburi-perl + +Package: libpython3-dev +Architecture: amd64 +Version: 3.10.6-1~22.04 +APT-ID: 72529 +Multi-Arch: same +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: optional +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libpython3.10-dev (>= 3.10.6-1~) +Replaces: libpython3.8-dev (<< 3.8.0-2), python3-dev (<< 3.8.0-1) +Breaks: libpython3.8-dev (<< 3.8.0-2), python3-dev (<< 3.8.0-1) + +Package: libpython3-dev +Architecture: amd64 +Version: 3.10.4-0ubuntu2 +APT-ID: 3335 +Multi-Arch: same +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-0ubuntu2 +Priority: optional +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +Depends: libpython3.10-dev (>= 3.10.4-1~) +Replaces: libpython3.8-dev (<< 3.8.0-2), python3-dev (<< 3.8.0-1) +Breaks: libpython3.8-dev (<< 3.8.0-2), python3-dev (<< 3.8.0-1) + +Package: liblwp-protocol-https-perl +Architecture: all +Version: 6.10-1 +APT-ID: 2862 +Source: liblwp-protocol-https-perl +Source-Version: 6.10-1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any, ca-certificates, libio-socket-ssl-perl, libnet-http-perl, libwww-perl +Suggests: libcrypt-ssleay-perl + +Package: libglvnd0 +Architecture: amd64 +Version: 1.4.0-1 +APT-ID: 2404 +Multi-Arch: same +Source: libglvnd +Source-Version: 1.4.0-1 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Replaces: libgldispatch0-nvidia +Breaks: libgldispatch0-nvidia + +Package: evolution-data-server-common +Architecture: all +Version: 3.44.4-0ubuntu1 +APT-ID: 71798 +Multi-Arch: foreign +Source: evolution-data-server +Source-Version: 3.44.4-0ubuntu1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend + +Package: gnome-initial-setup +Architecture: amd64 +Version: 42.0.1-1ubuntu2 +APT-ID: 791 +Source: gnome-initial-setup +Source-Version: 42.0.1-1ubuntu2 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libaccountsservice0 (>= 0.6.24), libc6 (>= 2.34), libcairo2 (>= 1.2.4), libcheese-gtk25 (>= 3.28), libcheese8 (>= 3.18.0), libfontconfig1 (>= 2.12.6), libgdk-pixbuf-2.0-0 (>= 2.25.2), libgdm1 (>= 3.8.3), libgeoclue-2-0 (>= 2.4.0), libglib2.0-0 (>= 2.63.1), libgnome-desktop-4-1 (>= 3.17.92), libgoa-1.0-0b (>= 3.5.90), libgoa-backend-1.0-1 (>= 3.10.0), libgtk-3-0 (>= 3.22.29), libgweather-3-16 (>= 3.13.91), libhandy-1-0 (>= 1.5.90), libibus-1.0-5 (>= 1.5.2), libjson-glib-1.0-0 (>= 1.5.2), libkrb5-3 (>= 1.8+dfsg), libnm0 (>= 1.2), libnma0 (>= 1.1.90), libpango-1.0-0 (>= 1.32.5), libpangocairo-1.0-0 (>= 1.32.5), libpolkit-gobject-1-0 (>= 0.103), libpwquality1 (>= 1.1.0), librest-0.7-0 (>= 0.7), libsecret-1-0 (>= 0.18.8), libsnapd-glib1 (>= 1.42), libsoup2.4-1 (>= 2.41.90), libsysmetrics1 (>= 1.0.5), libwebkit2gtk-4.0-37 (>= 2.26), policykit-1 (>= 0.103), adduser, gnome-settings-daemon (>= 3.24), gnome-control-center-data +Suggests: gdm3 +Recommends: accountsservice, geoclue-2.0 (>= 2.3.1), gnome-keyring + +Package: libwww-perl +Architecture: all +Version: 6.61-1 +APT-ID: 4091 +Multi-Arch: foreign +Source: libwww-perl +Source-Version: 6.61-1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any, ca-certificates, libencode-locale-perl, libfile-listing-perl, libhtml-parser-perl, libhtml-tagset-perl, libhtml-tree-perl, libhttp-cookies-perl, libhttp-date-perl, libhttp-message-perl, libhttp-negotiate-perl, liblwp-mediatypes-perl, liblwp-protocol-https-perl, libnet-http-perl, libtry-tiny-perl, liburi-perl, libwww-robotrules-perl, netbase +Suggests: libauthen-ntlm-perl +Recommends: libdata-dump-perl, libhtml-form-perl, libhtml-format-perl, libhttp-daemon-perl, libmailtools-perl + +Package: libproxy1v5 +Architecture: amd64 +Version: 0.4.17-2 +APT-ID: 3316 +Multi-Arch: same +Source: libproxy +Source-Version: 0.4.17-2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 11) +Conflicts: libproxy1 +Replaces: libproxy1 + +Package: libblockdev-part2 +Architecture: amd64 +Version: 2.26-1 +APT-ID: 1748 +Multi-Arch: same +Source: libblockdev +Source-Version: 2.26-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libblockdev-part-err2 (>= 2.14), libblockdev-utils2 (>= 2.14), libc6 (>= 2.29), libglib2.0-0 (>= 2.42.2), libparted2 (>= 3.1), gdisk (>= 0.8.6), fdisk | util-linux (<< 2.29.2-3~) + +Package: libraptor2-0 +Architecture: amd64 +Version: 2.0.15-0ubuntu4 +APT-ID: 3363 +Multi-Arch: same +Source: raptor2 +Source-Version: 2.0.15-0ubuntu4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libcurl3-gnutls (>= 7.16.2), libxml2 (>= 2.7.4), libxslt1.1 (>= 1.1.25), libyajl2 (>= 2.0.4) +Suggests: raptor2-utils +Breaks: libraptor1 (<< 1.4.21-3) + +Package: wpasupplicant +Architecture: amd64 +Version: 2:2.10-6ubuntu2 +APT-ID: 74546 +Multi-Arch: foreign +Source: wpa +Source-Version: 2:2.10-6ubuntu2 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libdbus-1-3 (>= 1.9.14), libnl-3-200 (>= 3.2.21), libnl-genl-3-200 (>= 3.2.7), libnl-route-3-200 (>= 3.4.0), libpcsclite1 (>= 1.0.0), libreadline8 (>= 6.0), libssl3 (>= 3.0.0~~alpha1), lsb-base, adduser +Suggests: wpagui, libengine-pkcs11-openssl + +Package: eog +Architecture: amd64 +Version: 42.0-1 +APT-ID: 372 +Source: eog +Source-Version: 42.0-1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcairo2 (>= 1.10.0), libexempi8 (>= 2.5.0), libexif12 (>= 0.6.21-1~), libgdk-pixbuf-2.0-0 (>= 2.36.5), libgirepository-1.0-1 (>= 0.9.12), libglib2.0-0 (>= 2.42.0), libgnome-desktop-3-19 (>= 3.17.92), libgtk-3-0 (>= 3.24.15), libhandy-1-0 (>= 1.5.0), libjpeg8 (>= 8c), liblcms2-2 (>= 2.2+git20110628), libpeas-1.0-0 (>= 1.0.0), librsvg2-2 (>= 2.44), libx11-6, zlib1g (>= 1:1.1.4), dconf-gsettings-backend | gsettings-backend, gir1.2-gtk-3.0 (>= 3.24.15), shared-mime-info (>= 0.20), gsettings-desktop-schemas (>= 42~beta), gir1.2-peas-1.0 +Suggests: eog-plugins +Recommends: librsvg2-common, yelp +Breaks: eog-plugins (<< 3.16.4-2~) + +Package: libnettle8 +Architecture: amd64 +Version: 3.7.3-1build2 +APT-ID: 3035 +Multi-Arch: same +Source: nettle +Source-Version: 3.7.3-1build2 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) + +Package: libabw-0.1-1 +Architecture: amd64 +Version: 0.1.3-1build3 +APT-ID: 1572 +Multi-Arch: same +Source: libabw +Source-Version: 0.1.3-1build3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.32), libgcc-s1 (>= 3.3.1), librevenge-0.0-0, libstdc++6 (>= 11), libxml2 (>= 2.7.4), zlib1g (>= 1:1.1.4) + +Package: ssl-cert +Architecture: all +Version: 1.1.2 +APT-ID: 5699 +Multi-Arch: foreign +Source: ssl-cert +Source-Version: 1.1.2 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf (>= 0.5) | debconf-2.0, openssl (>= 0.9.8g-9), adduser + +Package: libtry-tiny-perl +Architecture: all +Version: 0.31-1 +APT-ID: 3890 +Source: libtry-tiny-perl +Source-Version: 0.31-1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any +Suggests: libsub-name-perl + +Package: libsuitesparseconfig5 +Architecture: amd64 +Version: 1:5.10.1+dfsg-4build1 +APT-ID: 3790 +Multi-Arch: same +Source: suitesparse +Source-Version: 1:5.10.1+dfsg-4build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) + +Package: printer-driver-foo2zjs-common +Architecture: all +Version: 20200505dfsg0-2ubuntu2 +APT-ID: 4967 +Source: foo2zjs +Source-Version: 20200505dfsg0-2ubuntu2 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any, xz-utils +Suggests: tix, tk +Recommends: printer-driver-foo2zjs (>= 20200505dfsg0-2ubuntu2) +Replaces: foo2zjs (<< 20111023dfsg0-1~) +Breaks: foo2zjs (<< 20111023dfsg0-1~) +Enhances: printer-driver-foo2zjs (>= 20200505dfsg0-2ubuntu2) + +Package: libgtk-4-common +Architecture: all +Version: 4.6.6+ds-0ubuntu1 +APT-ID: 72416 +Multi-Arch: foreign +Source: gtk4 +Source-Version: 4.6.6+ds-0ubuntu1 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend +Recommends: libgtk-4-1 + +Package: libsensors-config +Architecture: all +Version: 1:3.6.0-7ubuntu1 +APT-ID: 3658 +Multi-Arch: foreign +Source: lm-sensors +Source-Version: 1:3.6.0-7ubuntu1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Suggests: lm-sensors +Replaces: libsensors4 +Breaks: libsensors4 + +Package: gir1.2-notify-0.7 +Architecture: amd64 +Version: 0.7.9-3ubuntu5.22.04.1 +APT-ID: 71848 +Multi-Arch: same +Source: libnotify +Source-Version: 0.7.9-3ubuntu5.22.04.1 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-gdkpixbuf-2.0, gir1.2-glib-2.0 (>= 0.9.12), libnotify4 (>= 0.7.3) + +Package: ftp +Architecture: all +Version: 20210827-4build1 +APT-ID: 566 +Multi-Arch: foreign +Source: tnftp +Source-Version: 20210827-4build1 +Priority: standard +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: tnftp +Replaces: ftp (<= 0.17-35) + +Package: libetonyek-0.1-1 +Architecture: amd64 +Version: 0.1.10-3build1 +APT-ID: 2163 +Multi-Arch: same +Source: libetonyek +Source-Version: 0.1.10-3build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.32), libgcc-s1 (>= 3.3.1), liblangtag1 (>= 0.5.0), librevenge-0.0-0, libstdc++6 (>= 11), libxml2 (>= 2.7.4), zlib1g (>= 1:1.1.4) + +Package: libpython3-all-dbg +Architecture: amd64 +Version: 3.10.6-1~22.04 +APT-ID: 72526 +Multi-Arch: same +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: extra +Section: debug +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libpython3-dbg (= 3.10.6-1~22.04), libpython3.10-dbg + +Package: libpython3-all-dbg +Architecture: amd64 +Version: 3.10.4-0ubuntu2 +APT-ID: 3332 +Multi-Arch: same +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-0ubuntu2 +Priority: extra +Section: debug +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +Depends: libpython3-dbg (= 3.10.4-0ubuntu2), libpython3.10-dbg + +Package: libpython3-all-dev +Architecture: amd64 +Version: 3.10.6-1~22.04 +APT-ID: 72527 +Multi-Arch: same +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: optional +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libpython3-dev (= 3.10.6-1~22.04), libpython3.10-dev + +Package: libpython3-all-dev +Architecture: amd64 +Version: 3.10.4-0ubuntu2 +APT-ID: 3333 +Multi-Arch: same +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-0ubuntu2 +Priority: optional +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +Depends: libpython3-dev (= 3.10.4-0ubuntu2), libpython3.10-dev + +Package: libfprint-2-2 +Architecture: amd64 +Version: 1:1.94.3+tod1-0ubuntu2~22.04.01 +APT-ID: 72343 +Multi-Arch: same +Source: libfprint +Source-Version: 1:1.94.3+tod1-0ubuntu2~22.04.01 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.29), libglib2.0-0 (>= 2.56), libgudev-1.0-0 (>= 146), libgusb2 (>= 0.3.0), libnss3 (>= 2:3.13.4-2~), libpixman-1-0 (>= 0.30.0) + +Package: hicolor-icon-theme +Architecture: all +Version: 0.17-2 +APT-ID: 967 +Multi-Arch: foreign +Source: hicolor-icon-theme +Source-Version: 0.17-2 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: linux-image-5.15.0-43-generic +Architecture: amd64 +Version: 5.15.0-43.46 +APT-ID: 73436 +Source: linux-signed +Source-Version: 5.15.0-43.46 +Priority: optional +Section: kernel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: kmod, linux-base (>= 4.5ubuntu1~16.04.1), linux-modules-5.15.0-43-generic +Suggests: fdutils, linux-doc | linux-source-5.15.0, linux-tools, linux-headers-5.15.0-43-generic, linux-modules-extra-5.15.0-43-generic +Recommends: grub-pc | grub-efi-amd64 | grub-efi-ia32 | grub | lilo, initramfs-tools | linux-initramfs-tool +Conflicts: linux-image-unsigned-5.15.0-43-generic +Provides: zfs-modules, zfs-dkms, virtualbox-guest-modules, v4l2loopback-modules, v4l2loopback-dkms, spl-modules, spl-dkms, redhat-cluster-modules, linux-image, kvm-api-4, ivtv-modules, fuse-module + +Package: gcr +Architecture: amd64 +Version: 3.40.0-4 +APT-ID: 610 +Source: gcr +Source-Version: 3.40.0-4 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: default-dbus-session-bus | dbus-session-bus, libgcr-base-3-1 (= 3.40.0-4), libgcr-ui-3-1 (= 3.40.0-4), dconf-gsettings-backend | gsettings-backend, libc6 (>= 2.34), libglib2.0-0 (>= 2.44.0), libgtk-3-0 (>= 3.22.0) + +Package: gdb +Architecture: amd64 +Version: 12.0.90-0ubuntu1 +APT-ID: 611 +Source: gdb +Source-Version: 12.0.90-0ubuntu1 +Priority: optional +Section: devel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbabeltrace1 (>= 1.5.4), libc6 (>= 2.34), libdebuginfod1 (>= 0.180), libexpat1 (>= 2.0.1), libgcc-s1 (>= 4.2), libgmp10 (>= 2:6.2.1+dfsg), libipt2 (>= 2.0), liblzma5 (>= 5.1.1alpha+20110809), libmpfr6 (>= 3.1.3), libncursesw6 (>= 6), libpython3.10 (>= 3.10.0), libreadline8 (>= 8), libsource-highlight4v5 (>= 3.1.9), libstdc++6 (>= 12), libtinfo6 (>= 6), libxxhash0 (>= 0.6.5), zlib1g (>= 1:1.2.0) +Suggests: gdb-doc, gdbserver +Recommends: libc-dbg +Conflicts: gdb +Replaces: gdb +Provides: gdb-minimal (= 12.0.90-0ubuntu1) + +Package: modemmanager +Architecture: amd64 +Version: 1.18.6-1 +APT-ID: 4654 +Source: modemmanager +Source-Version: 1.18.6-1 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.56.0), libgudev-1.0-0 (>= 232), libmbim-glib4 (>= 1.26.0), libmbim-proxy, libmm-glib0 (>= 1.18.2), libpolkit-gobject-1-0 (>= 0.99), libqmi-glib5 (>= 1.30.2), libqmi-proxy, libsystemd0 (>= 209), policykit-1 +Recommends: usb-modeswitch + +Package: cups-bsd +Architecture: amd64 +Version: 2.4.1op1-1ubuntu4.1 +APT-ID: 71755 +Multi-Arch: foreign +Source: cups +Source-Version: 2.4.1op1-1ubuntu4.1 +Priority: extra +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: cups-client (= 2.4.1op1-1ubuntu4.1), cups-common (>= 2.4.1op1-1ubuntu4.1), debconf (>= 0.5) | debconf-2.0, libcups2 (= 2.4.1op1-1ubuntu4.1), libc6 (>= 2.34) +Suggests: cups, inetutils-inetd | inet-superserver, update-inetd +Conflicts: lpr, lprng +Replaces: lpr +Provides: lpr + +Package: pipewire-media-session +Architecture: amd64 +Version: 0.4.1-2ubuntu1 +APT-ID: 4915 +Multi-Arch: foreign +Source: pipewire-media-session +Source-Version: 0.4.1-2ubuntu1 +Priority: optional +Section: video +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: pipewire (>= 0.3.39), init-system-helpers (>= 1.52), libc6 (>= 2.34), libdbus-1-3 (>= 1.9.14), libpipewire-0.3-0 (>= 0.3.39), libsystemd0 +Conflicts: wireplumber +Replaces: pipewire-bin (<< 0.3.27-2), pipewire-pulse (<< 0.3.39-1) +Breaks: pipewire-bin (<< 0.3.27-2), pipewire-pulse (<< 0.3.39-1) + +Package: acpid +Architecture: amd64 +Version: 1:2.0.33-1ubuntu1 +APT-ID: 4 +Source: acpid +Source-Version: 1:2.0.33-1ubuntu1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), lsb-base (>= 3.2-14), kmod +Pre-Depends: init-system-helpers (>= 1.54~) + +Package: libacl1 +Architecture: amd64 +Version: 2.3.1-1 +APT-ID: 1577 +Multi-Arch: same +Source: acl +Source-Version: 2.3.1-1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: gjs +Architecture: amd64 +Version: 1.72.2-0ubuntu1 +APT-ID: 71854 +Source: gjs +Source-Version: 1.72.2-0ubuntu1 +Priority: extra +Section: interpreters +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgcc-s1 (>= 3.0), libgjs0g (= 1.72.2-0ubuntu1), libglib2.0-0 (>= 2.58.0), libstdc++6 (>= 4.1.1), gir1.2-gtk-3.0 + +Package: libtss2-tcti-cmd0 +Architecture: amd64 +Version: 3.2.0-1ubuntu1 +APT-ID: 3901 +Multi-Arch: same +Source: tpm2-tss +Source-Version: 3.2.0-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: tpm-udev, libc6 (>= 2.7), libtss2-mu0 (>= 3.0.1) +Replaces: libtss2-esys0 (<< 3.0.1-2) +Breaks: libtss2-esys0 (<< 3.0.1-2) + +Package: gpg +Architecture: amd64 +Version: 2.2.27-3ubuntu2.1 +APT-ID: 71880 +Multi-Arch: foreign +Source: gnupg2 +Source-Version: 2.2.27-3ubuntu2.1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gpgconf (= 2.2.27-3ubuntu2.1), libassuan0 (>= 2.5.0), libbz2-1.0, libc6 (>= 2.34), libgcrypt20 (>= 1.9.0), libgpg-error0 (>= 1.42), libreadline8 (>= 6.0), libsqlite3-0 (>= 3.7.15), zlib1g (>= 1:1.1.4) +Recommends: gnupg (= 2.2.27-3ubuntu2.1) +Replaces: gnupg (<< 2.1.21-4) +Breaks: gnupg (<< 2.1.21-4) + +Package: avahi-autoipd +Architecture: amd64 +Version: 0.8-5ubuntu5 +APT-ID: 73 +Source: avahi +Source-Version: 0.8-5ubuntu5 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libdaemon0 (>= 0.14), adduser +Recommends: isc-dhcp-client, iproute2 +Conflicts: zeroconf + +Package: librygel-core-2.6-2 +Architecture: amd64 +Version: 0.40.3-1ubuntu2 +APT-ID: 3621 +Multi-Arch: same +Source: rygel +Source-Version: 0.40.3-1ubuntu2 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libgee-0.8-2 (>= 0.8.3), libglib2.0-0 (>= 2.56.0), libgssdp-1.2-0 (>= 1.1.0), libgupnp-1.2-1 (>= 1.1.2), libxml2 (>= 2.7.4) + +Package: gnome-control-center-faces +Architecture: all +Version: 1:41.7-0ubuntu0.22.04.5 +APT-ID: 71862 +Multi-Arch: foreign +Source: gnome-control-center +Source-Version: 1:41.7-0ubuntu0.22.04.5 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Conflicts: unity-control-center-faces +Replaces: unity-control-center-faces +Provides: unity-control-center-faces + +Package: fonts-tlwg-typist +Architecture: all +Version: 1:0.7.3-1 +APT-ID: 535 +Multi-Arch: foreign +Source: fonts-tlwg +Source-Version: 1:0.7.3-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fonts-tlwg-typist-ttf | fonts-tlwg-typist-otf + +Package: libglib2.0-bin +Architecture: amd64 +Version: 2.72.1-1 +APT-ID: 2387 +Multi-Arch: foreign +Source: glib2.0 +Source-Version: 2.72.1-1 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libglib2.0-data, libc6 (>= 2.34), libelf1 (>= 0.142), libglib2.0-0 (= 2.72.1-1) + +Package: gir1.2-snapd-1 +Architecture: amd64 +Version: 1.60-0ubuntu1 +APT-ID: 746 +Multi-Arch: same +Source: snapd-glib +Source-Version: 1.60-0ubuntu1 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0, libsnapd-glib1 (= 1.60-0ubuntu1) + +Package: systemd-timesyncd +Architecture: amd64 +Version: 249.11-0ubuntu3.4 +APT-ID: 79620 +Multi-Arch: foreign +Source: systemd +Source-Version: 249.11-0ubuntu3.4 +Priority: required +Section: admin +Installed: yes +APT-Pin: 100 +APT-Automatic: yes +Depends: libc6 (>= 2.34), systemd (= 249.11-0ubuntu3.4), adduser +Conflicts: time-daemon +Replaces: systemd (<< 245.4-2~), time-daemon +Breaks: systemd (<< 245.4-2~) +Provides: time-daemon + +Package: perl +Architecture: amd64 +Version: 5.34.0-3ubuntu1 +APT-ID: 4863 +Multi-Arch: allowed +Source: perl +Source-Version: 5.34.0-3ubuntu1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl-base (= 5.34.0-3ubuntu1), perl-modules-5.34 (>= 5.34.0-3ubuntu1), libperl5.34 (= 5.34.0-3ubuntu1) +Pre-Depends: dpkg (>= 1.17.17) +Suggests: perl-doc, libterm-readline-gnu-perl | libterm-readline-perl-perl, make, libtap-harness-archive-perl +Recommends: netbase +Conflicts: libjson-pp-perl (<< 2.27200-2) +Replaces: perl-base (<< 5.34.0-2), perl-modules (<< 5.22.0~) +Breaks: apt-show-versions (<< 0.22.10), libdist-inkt-perl (<< 0.024-5), libmarc-charset-perl (<< 1.35-3), libperl-dev (<< 5.24.0~), perl-doc (<< 5.34.0-1), perl-modules-5.22, perl-modules-5.24, perl-modules-5.26 (<< 5.26.2-5) +Provides: podlators-perl (= 4.14), libversion-requirements-perl, libversion-perl (= 1:0.9928), libunicode-collate-perl (= 1.29), libtime-piece-perl (= 1.3401), libtime-local-perl (= 1.3000), libtime-hires-perl (= 1.9767), libthreads-shared-perl (= 1.62), libthreads-perl (= 2.26), libthread-queue-perl (= 3.14), libtest-use-ok-perl (= 1.302183), libtest-tester-perl (= 1.302183), libtest-simple-perl (= 1.302183), libtest-harness-perl (= 3.43), libsys-syslog-perl (= 0.36), libstorable-perl (= 3.23), libpod-simple-perl (= 3.42), libpod-escapes-perl (= 1.07), libperl-ostype-perl (= 1.010), libparse-cpan-meta-perl (= 2.150010), libparent-perl (= 0.238), libparams-check-perl (= 0.38), libnet-ping-perl (= 2.74), libnet-perl (= 1:3.13), libmodule-metadata-perl (= 1.000037), libmodule-load-perl (= 0.36), libmodule-load-conditional-perl (= 0.74), libmodule-corelist-perl (= 5.20210520), libmime-base64-perl (= 3.16), libmath-complex-perl (= 1.5902), libmath-bigint-perl (= 1.999818), liblocale-maketext-simple-perl (= 0.21.01), liblocale-maketext-perl (= 1.29), libjson-pp-perl (= 4.06000), libio-zlib-perl (= 1.11), libio-compress-zlib-perl (= 2.102), libio-compress-perl (= 2.102), libio-compress-bzip2-perl (= 2.102), libio-compress-base-perl (= 2.102), libi18n-langtags-perl (= 0.45), libhttp-tiny-perl (= 0.076), libfile-spec-perl (= 3.8000), libextutils-parsexs-perl (= 3.430000), libextutils-install-perl (= 2.20), libextutils-command-perl (= 7.62), libextutils-cbuilder-perl (= 0.280236), libexperimental-perl (= 0.024), libencode-perl (= 3.08), libdigest-sha-perl (= 6.02), libdigest-perl (= 1.19), libdigest-md5-perl (= 2.58), libcpan-meta-yaml-perl (= 0.018), libcpan-meta-requirements-perl (= 2.140), libcpan-meta-perl (= 2.150010), libcompress-zlib-perl (= 2.102), libcompress-raw-zlib-perl (= 2.101), libcompress-raw-bzip2-perl (= 2.101), libautodie-perl (= 2.34), libattribute-handlers-perl (= 1.01), libarchive-tar-perl (= 2.38), libansicolor-perl (= 5.01) + +Package: polkitd +Architecture: amd64 +Version: 0.105-33 +APT-ID: 4933 +Multi-Arch: foreign +Source: policykit-1 +Source-Version: 0.105-33 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dbus, default-logind | logind, libc6 (>= 2.34), libexpat1 (>= 2.0.1), libglib2.0-0 (>= 2.37.3), libpam0g (>= 0.99.7.1), libpolkit-agent-1-0 (= 0.105-33), libpolkit-gobject-1-0 (= 0.105-33), libsystemd0 (>= 213) +Replaces: policykit-1 (<< 0.105-32~) +Breaks: policykit-1 (<< 0.105-32~) +Provides: polkitd-pkla (= 0.105-33) + +Package: libgoa-1.0-common +Architecture: all +Version: 3.44.0-1ubuntu1 +APT-ID: 2454 +Multi-Arch: foreign +Source: gnome-online-accounts +Source-Version: 3.44.0-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend +Replaces: libgoa-1.0-0 (<< 3.8.2) +Breaks: libgoa-1.0-0 (<< 3.8.2) + +Package: gstreamer1.0-packagekit +Architecture: amd64 +Version: 1.2.5-2ubuntu2 +APT-ID: 928 +Source: packagekit +Source-Version: 1.2.5-2ubuntu2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: packagekit (= 1.2.5-2ubuntu2), libc6 (>= 2.34), libglib2.0-0 (>= 2.54), libgstreamer1.0-0 (>= 1.0.0), libpackagekit-glib2-18 (>= 0.9.4) +Recommends: gnome-software | apper | packagekit-installer +Conflicts: gstreamer0.10-packagekit +Replaces: gstreamer0.10-packagekit + +Package: libtinfo6 +Architecture: amd64 +Version: 6.3-2 +APT-ID: 3863 +Multi-Arch: same +Source: ncurses +Source-Version: 6.3-2 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: libgjs0g +Architecture: amd64 +Version: 1.72.2-0ubuntu1 +APT-ID: 72378 +Multi-Arch: same +Source: gjs +Source-Version: 1.72.2-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libcairo-gobject2 (>= 1.10.0), libcairo2 (>= 1.14.0), libffi8 (>= 3.4), libgcc-s1 (>= 3.3.1), libgirepository-1.0-1 (>= 1.66.0), libgirepository-1.0-1-with-libffi8 (>= 1.64), libglib2.0-0 (>= 2.70.0), libmozjs-91-0 (>= 91.10.0), libreadline8 (>= 6.0), libstdc++6 (>= 11), libx11-6 +Conflicts: libgjs0, libgjs0a, libgjs0b, libgjs0c, libgjs0d, libgjs0e, libgjs0f +Replaces: libgjs0, libgjs0a, libgjs0b, libgjs0c, libgjs0d, libgjs0e, libgjs0f +Breaks: gnome-characters (<< 3.25.92), gnome-documents (<< 3.30.0), gnome-maps (<< 3.26.1), gnome-shell (<< 3.38.6), gnome-sound-recorder (<< 3.28.1-3~), gnome-weather (<< 3.25.91), ostree-tests (<< 2017.11-1~), polari (<< 3.29.91) + +Package: libtirpc-common +Architecture: all +Version: 1.3.2-2ubuntu0.1 +APT-ID: 72782 +Multi-Arch: foreign +Source: libtirpc +Source-Version: 1.3.2-2ubuntu0.1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=i386 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: libtirpc1, libtirpc3 (<< 1.1.4-0.1~) +Breaks: libtirpc1, libtirpc3 (<< 1.1.4-0.1~) + +Package: libxcb-image0 +Architecture: amd64 +Version: 0.4.0-2 +APT-ID: 4144 +Multi-Arch: same +Source: xcb-util-image +Source-Version: 0.4.0-2 +Priority: extra +Section: libdevel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libxcb-shm0, libxcb-util1 (>= 0.4.0), libxcb1 + +Package: libcanberra-gtk3-module +Architecture: amd64 +Version: 0.30-10ubuntu1 +APT-ID: 1845 +Multi-Arch: same +Source: libcanberra +Source-Version: 0.30-10ubuntu1 +Priority: extra +Section: debug +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libcanberra-gtk3-0 (>= 0.25), libglib2.0-0 (>= 2.12.0), libgtk-3-0 (>= 3.2.2-3), libx11-6 + +Package: tzdata +Architecture: all +Version: 2022c-0ubuntu0.22.04.0 +APT-ID: 74521 +Multi-Arch: foreign +Source: tzdata +Source-Version: 2022c-0ubuntu0.22.04.0 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=i386 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf (>= 0.5) | debconf-2.0 +Provides: tzdata-bookworm + +Package: xserver-xorg-video-amdgpu +Architecture: amd64 +Version: 22.0.0-1ubuntu0.1 +APT-ID: 74557 +Source: xserver-xorg-video-amdgpu +Source-Version: 22.0.0-1ubuntu0.1 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libdrm-amdgpu1 (>= 2.4.73), libgbm1 (>= 8.1~0), libudev1 (>= 183), xorg-video-abi-25, xserver-xorg-core (>= 2:21.1.1) +Suggests: firmware-amd-graphics +Provides: xorg-driver-video + +Package: libx11-xcb1 +Architecture: amd64 +Version: 2:1.7.5-1 +APT-ID: 4099 +Multi-Arch: same +Source: libx11 +Source-Version: 2:1.7.5-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libx11-6 (= 2:1.7.5-1) + +Package: xbrlapi +Architecture: amd64 +Version: 6.4-4ubuntu3 +APT-ID: 74547 +Multi-Arch: foreign +Source: brltty +Source-Version: 6.4-4ubuntu3 +Priority: extra +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbrlapi0.8 (>= 6.4), libc6 (>= 2.34), libicu70 (>= 70.1-1~), libx11-6, libxfixes3, libxtst6 +Replaces: brltty-x11 (<< 4.3-3) +Breaks: brltty-x11 (<< 4.3-3) + +Package: libntfs-3g89 +Architecture: amd64 +Version: 1:2021.8.22-3ubuntu1.1 +APT-ID: 72489 +Source: ntfs-3g +Source-Version: 1:2021.8.22-3ubuntu1.1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: libxshmfence1 +Architecture: amd64 +Version: 1.3-1build4 +APT-ID: 4266 +Multi-Arch: same +Source: libxshmfence +Source-Version: 1.3-1build4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.27) + +Package: libblockdev-swap2 +Architecture: amd64 +Version: 2.26-1 +APT-ID: 1750 +Multi-Arch: same +Source: libblockdev +Source-Version: 2.26-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libblkid1 (>= 2.23.0), libblockdev-utils2 (>= 2.14), libc6 (>= 2.4), libglib2.0-0 (>= 2.42.2) + +Package: libdjvulibre-text +Architecture: all +Version: 3.5.28-2build2 +APT-ID: 2072 +Multi-Arch: foreign +Source: djvulibre +Source-Version: 3.5.28-2build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: djview3 (= 3.5.20-9), djvulibre-desktop (<< 3.5.20-9), libdjvulibre15 + +Package: libunwind8 +Architecture: amd64 +Version: 1.3.2-2build2 +APT-ID: 3953 +Multi-Arch: same +Source: libunwind +Source-Version: 1.3.2-2build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), liblzma5 (>= 5.1.1alpha+20110809) +Conflicts: libunwind1-dev +Replaces: libgcc1 (<< 1:4.0.0-2) + +Package: usb-creator-common +Architecture: all +Version: 0.3.13 +APT-ID: 5924 +Source: usb-creator +Source-Version: 0.3.13 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any (>= 3.2~), python3-dbus, gir1.2-udisks-2.0, udisks2, genisoimage, python3-debian + +Package: cups-common +Architecture: all +Version: 2.4.1op1-1ubuntu4.1 +APT-ID: 71757 +Multi-Arch: foreign +Source: cups +Source-Version: 2.4.1op1-1ubuntu4.1 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=i386 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: fonts-smc +Architecture: all +Version: 1:7.2 +APT-ID: 498 +Multi-Arch: foreign +Source: fonts-smc +Source-Version: 1:7.2 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fonts-smc-anjalioldlipi (>= 7.1.2), fonts-smc-chilanka (>= 1.400), fonts-smc-dyuthi (>= 3.0.2), fonts-smc-gayathri (>= 1.100), fonts-smc-karumbi (>= 1.1.2), fonts-smc-keraleeyam (>= 3.0.2), fonts-smc-manjari (>= 1.710), fonts-smc-meera (>= 7.0.3), fonts-smc-rachana (>= 7.0.2), fonts-smc-raghumalayalamsans (>= 2.2.1), fonts-smc-suruma (>= 3.2.2), fonts-smc-uroob (>= 2.0.2) +Pre-Depends: dpkg (>= 1.15.6~) +Replaces: ttf-malayalam-fonts +Breaks: ttf-malayalam-fonts (<< 2:1.0) + +Package: libldb2 +Architecture: amd64 +Version: 2:2.4.4-0ubuntu0.1 +APT-ID: 72447 +Multi-Arch: same +Source: ldb +Source-Version: 2:2.4.4-0ubuntu0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libldap-2.5-0 (>= 2.5.4), liblmdb0 (>= 0.9.9), libtalloc2 (>= 2.3.1~), libtdb1 (>= 1.4.3~), libtevent0 (>= 0.10.2~) +Replaces: libldb0 +Breaks: ldb-tools (<< 1.1.30~), libldb0, libldb1 (<< 2:2~), libsamdb0 (<< 4.0.0~alpha17~git20110724.dfsg1-1), python-samba (<< 2:4.7.0~), samba (<< 2:4.7.0~), samba-dsdb-modules (<< 2:4.7.0~), samba-libs (<< 2:4.7.0~), samba-testsuite (<< 2:4.7.0~) + +Package: ntfs-3g +Architecture: amd64 +Version: 1:2021.8.22-3ubuntu1.1 +APT-ID: 74239 +Source: ntfs-3g +Source-Version: 1:2021.8.22-3ubuntu1.1 +Priority: standard +Section: otherosfs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgcrypt20 (>= 1.9.0), libgnutls30 (>= 3.7.2), libntfs-3g89 (= 1:2021.8.22-3ubuntu1.1) +Pre-Depends: fuse3 + +Package: libmagic-mgc +Architecture: amd64 +Version: 1:5.41-3 +APT-ID: 2876 +Multi-Arch: foreign +Source: file +Source-Version: 1:5.41-3 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: libmagic1 (<< 1:5.28-4~) +Breaks: libmagic1 (<< 1:5.28-4~) + +Package: libpcre3 +Architecture: amd64 +Version: 2:8.39-13ubuntu0.22.04.1 +APT-ID: 72506 +Multi-Arch: same +Source: pcre3 +Source-Version: 2:8.39-13ubuntu0.22.04.1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) +Conflicts: libpcre3-dev (<= 4.3-3) +Breaks: approx (<< 4.4-1~), cduce (<< 0.5.3-2~), cmigrep (<< 1.5-7~), galax (<< 1.1-7~), libpcre-ocaml (<< 6.0.1~), liquidsoap (<< 0.9.2-3~), ocsigen (<< 1.3.3-1~) + +Package: libpango-1.0-0 +Architecture: amd64 +Version: 1.50.6+ds-2 +APT-ID: 3190 +Multi-Arch: same +Source: pango1.0 +Source-Version: 1.50.6+ds-2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fontconfig (>= 2.13.0), libc6 (>= 2.14), libfribidi0 (>= 1.0.6), libglib2.0-0 (>= 2.67.3), libharfbuzz0b (>= 2.6.0), libthai0 (>= 0.1.25) +Breaks: libpangocairo-1.0-0 (<< 1.44.7), libpangoft2-1.0-0 (<< 1.44.7), libpangoxft-1.0-0 (<< 1.44.7) + +Package: iucode-tool +Architecture: amd64 +Version: 2.3.1-1build1 +APT-ID: 1154 +Source: iucode-tool +Source-Version: 2.3.1-1build1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Recommends: intel-microcode (>= 1) + +Package: libunistring2 +Architecture: amd64 +Version: 1.0-1 +APT-ID: 3934 +Multi-Arch: same +Source: libunistring +Source-Version: 1.0-1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: python3-monotonic +Architecture: all +Version: 1.6-2 +APT-ID: 5323 +Source: python-monotonic +Source-Version: 1.6-2 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any + +Package: gamemode-daemon +Architecture: amd64 +Version: 1.6.1-1build2 +APT-ID: 584 +Multi-Arch: foreign +Source: gamemode +Source-Version: 1.6.1-1build2 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: init-system-helpers (>= 1.52), libc6 (>= 2.34), libinih1 (>= 40), libsystemd0 (>= 243) +Breaks: gamemode (<< 1.5.1-3), libgamemode0 (<< 1.5.1-3) + +Package: libtevent0 +Architecture: amd64 +Version: 0.11.0-1build1 +APT-ID: 3824 +Multi-Arch: same +Source: tevent +Source-Version: 0.11.0-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libtalloc2 (>= 2.3.2~) + +Package: kbd +Architecture: amd64 +Version: 2.3.0-3ubuntu4 +APT-ID: 1164 +Source: kbd +Source-Version: 2.3.0-3ubuntu4 +Priority: required +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), console-setup | console-setup-mini +Conflicts: console-utilities +Provides: console-utilities + +Package: libidn2-0 +Architecture: amd64 +Version: 2.3.2-2build1 +APT-ID: 2633 +Multi-Arch: same +Source: libidn2 +Source-Version: 2.3.2-2build1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libunistring2 (>= 0.9.7) + +Package: libexiv2-27 +Architecture: amd64 +Version: 0.27.5-3ubuntu1 +APT-ID: 2182 +Multi-Arch: same +Source: exiv2 +Source-Version: 0.27.5-3ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libexpat1 (>= 2.0.1), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 11), zlib1g (>= 1:1.1.4) +Suggests: exiv2 +Replaces: libexiv2-dev (<< 0.27.2-7~) +Breaks: libexiv2-dev (<< 0.27.2-7~) + +Package: python3-cffi-backend +Architecture: amd64 +Version: 1.15.0-1build2 +APT-ID: 5178 +Multi-Arch: same +Source: python-cffi +Source-Version: 1.15.0-1build2 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3 (<< 3.11), python3 (>= 3.10~), libc6 (>= 2.34), libffi8 (>= 3.4) +Provides: python3-cffi-backend-api-min (= 9729), python3-cffi-backend-api-max (= 10495), python3-cffi-backend-api-9729 + +Package: libldap-common +Architecture: all +Version: 2.5.13+dfsg-0ubuntu0.22.04.1 +APT-ID: 72443 +Multi-Arch: foreign +Source: openldap +Source-Version: 2.5.13+dfsg-0ubuntu0.22.04.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: libldap-2.4-2 (<< 2.4.44+dfsg-1) + +Package: libgusb2 +Architecture: amd64 +Version: 0.3.10-1 +APT-ID: 2563 +Multi-Arch: same +Source: libgusb +Source-Version: 0.3.10-1 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libglib2.0-0 (>= 2.44.0), libusb-1.0-0 (>= 2:1.0.22) +Recommends: usb.ids + +Package: libwavpack1 +Architecture: amd64 +Version: 5.4.0-1build2 +APT-ID: 4041 +Multi-Arch: same +Source: wavpack +Source-Version: 5.4.0-1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: fonts-smc-karumbi +Architecture: all +Version: 1.1.2-2 +APT-ID: 503 +Multi-Arch: foreign +Source: fonts-smc-karumbi +Source-Version: 1.1.2-2 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: network-manager-config-connectivity-ubuntu +Architecture: all +Version: 1.36.6-0ubuntu2 +APT-ID: 74211 +Multi-Arch: foreign +Source: network-manager +Source-Version: 1.36.6-0ubuntu2 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: network-manager (>= 1.36.6-0ubuntu2) + +Package: apt-config-icons-hidpi +Architecture: all +Version: 0.15.2-2 +APT-ID: 47 +Multi-Arch: foreign +Source: appstream +Source-Version: 0.15.2-2 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: apt-config-icons + +Package: libtasn1-6 +Architecture: amd64 +Version: 4.18.0-4build1 +APT-ID: 3811 +Multi-Arch: same +Source: libtasn1-6 +Source-Version: 4.18.0-4build1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: gir1.2-gstreamer-1.0 +Architecture: amd64 +Version: 1.20.3-0ubuntu1 +APT-ID: 71838 +Multi-Arch: same +Source: gstreamer1.0 +Source-Version: 1.20.3-0ubuntu1 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0 (>= 0.9.12-4~), libgstreamer1.0-0 (>= 1.20.0) + +Package: xserver-xorg-core +Architecture: amd64 +Version: 2:21.1.3-2ubuntu2.1 +APT-ID: 74554 +Source: xorg-server +Source-Version: 2:21.1.3-2ubuntu2.1 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: xserver-common (>= 2:21.1.3-2ubuntu2.1), keyboard-configuration, udev (>= 149), libegl1, libaudit1 (>= 1:2.2.1), libbsd0 (>= 0.7.0), libc6 (>= 2.35), libdbus-1-3 (>= 1.9.14), libdrm2 (>= 2.4.66), libepoxy0 (>= 1.5.4), libgbm1 (>= 17.1.0~rc2), libgcrypt20 (>= 1.9.0), libgl1, libpciaccess0 (>= 0.12.902), libpixman-1-0 (>= 0.30.0), libselinux1 (>= 3.1~), libsystemd0, libudev1 (>= 183), libunwind8, libxau6 (>= 1:1.0.9), libxcvt0 (>= 0.1.0), libxdmcp6, libxfont2 (>= 1:2.0.1), libxshmfence1 +Suggests: xfonts-100dpi | xfonts-75dpi, xfonts-scalable +Recommends: libgl1-mesa-dri (>= 7.10.2-4), default-logind | logind, xcvt +Conflicts: xserver-xorg-input-evtouch, xserver-xorg-video-modesetting +Replaces: xserver-xorg (<< 1:7.7+10~), xserver-xorg-video-modesetting +Breaks: libgl1-mesa-dri (<< 18.0.5), systemd (<< 226-4~), xserver-xorg (<< 1:7.7+10~) +Provides: xserver-xorg-video-modesetting, xorg-video-abi-25, xorg-input-abi-24 + +Package: gstreamer1.0-gl +Architecture: amd64 +Version: 1.20.1-1 +APT-ID: 926 +Multi-Arch: same +Source: gst-plugins-base1.0 +Source-Version: 1.20.1-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.27), libglib2.0-0 (>= 2.56), libgraphene-1.0-0 (>= 1.5.4), libgstreamer-gl1.0-0 (>= 1.20.0), libgstreamer-plugins-base1.0-0 (>= 1.20.0), libgstreamer1.0-0 (>= 1.20.0), libjpeg8 (>= 8c), libpng16-16 (>= 1.6.2-1), libx11-6 +Replaces: gstreamer1.0-plugins-bad (<< 1.15.1) +Breaks: gstreamer1.0-plugins-bad (<< 1.15.1) +Provides: gstreamer1.0-videosource, gstreamer1.0-videosink + +Package: gnome-todo-common +Architecture: all +Version: 3.28.1-6ubuntu1 +APT-ID: 820 +Source: gnome-todo +Source-Version: 3.28.1-6ubuntu1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend +Replaces: gnome-todo (<< 3.26.2-2~) +Breaks: gnome-todo (<< 3.26.2-2~) + +Package: libmpg123-0 +Architecture: amd64 +Version: 1.29.3-1build1 +APT-ID: 2966 +Multi-Arch: same +Source: mpg123 +Source-Version: 1.29.3-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.29) + +Package: libdmapsharing-3.0-2 +Architecture: amd64 +Version: 2.9.41-3build2 +APT-ID: 2078 +Multi-Arch: same +Source: libdmapsharing +Source-Version: 2.9.41-3build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libavahi-client3 (>= 0.6.16), libavahi-common3 (>= 0.6.16), libavahi-glib1 (>= 0.6.16), libc6 (>= 2.34), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.41.1), libgstreamer-plugins-base1.0-0 (>= 1.0.6), libgstreamer1.0-0 (>= 1.0.0), libsoup2.4-1 (>= 2.48), zlib1g (>= 1:1.1.4) + +Package: libpipewire-0.3-common +Architecture: all +Version: 0.3.48-1ubuntu1 +APT-ID: 3259 +Multi-Arch: foreign +Source: pipewire +Source-Version: 0.3.48-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libxcb-icccm4 +Architecture: amd64 +Version: 0.4.1-1.1build2 +APT-ID: 4142 +Multi-Arch: same +Source: xcb-util-wm +Source-Version: 0.4.1-1.1build2 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.2.5), libxcb1 + +Package: ibus-gtk3 +Architecture: amd64 +Version: 1.5.26-4 +APT-ID: 1099 +Multi-Arch: same +Source: ibus +Source-Version: 1.5.26-4 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libglib2.0-0 (>= 2.67.3), libgtk-3-0 (>= 3.12.0), libibus-1.0-5 (>= 1.5.21), libpango-1.0-0 (>= 1.14.0) + +Package: ibus-gtk4 +Architecture: amd64 +Version: 1.5.26-4 +APT-ID: 1100 +Multi-Arch: same +Source: ibus +Source-Version: 1.5.26-4 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libglib2.0-0 (>= 2.46.0~), libgtk-4-1 (>= 4.3.1), libibus-1.0-5 (>= 1.5.21), libpango-1.0-0 (>= 1.14.0) + +Package: python3-minimal +Architecture: amd64 +Version: 3.10.6-1~22.04 +APT-ID: 74334 +Multi-Arch: allowed +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: required +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dpkg (>= 1.13.20) +Pre-Depends: python3.10-minimal (>= 3.10.6-1~) + +Package: python3-minimal +Architecture: amd64 +Version: 3.10.4-0ubuntu2 +APT-ID: 5320 +Multi-Arch: allowed +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-0ubuntu2 +Priority: required +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Automatic: yes +Depends: dpkg (>= 1.13.20) +Pre-Depends: python3.10-minimal (>= 3.10.4-1~) + +Package: libmbim-glib4 +Architecture: amd64 +Version: 1.26.2-1build1 +APT-ID: 2894 +Multi-Arch: same +Source: libmbim +Source-Version: 1.26.2-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libglib2.0-0 (>= 2.56) + +Package: libxkbfile1 +Architecture: amd64 +Version: 1:1.1.0-1build3 +APT-ID: 4219 +Multi-Arch: same +Source: libxkbfile +Source-Version: 1:1.1.0-1build3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libx11-6 + +Package: fonts-knda +Architecture: all +Version: 2:1.3 +APT-ID: 454 +Multi-Arch: foreign +Source: fonts-knda +Source-Version: 2:1.3 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fonts-gubbi, fonts-lohit-knda, fonts-navilu +Replaces: ttf-kannada-fonts +Breaks: ttf-kannada-fonts (<< 2:1.0) + +Package: gir1.2-freedesktop +Architecture: amd64 +Version: 1.72.0-1 +APT-ID: 668 +Multi-Arch: same +Source: gobject-introspection +Source-Version: 1.72.0-1 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0 (= 1.72.0-1) +Provides: gir1.2-xrandr-1.3 (= 1.72.0-1), gir1.2-xlib-2.0 (= 1.72.0-1), gir1.2-xft-2.0 (= 1.72.0-1), gir1.2-xfixes-4.0 (= 1.72.0-1), gir1.2-vulkan-1.0 (= 1.72.0-1), gir1.2-libxml2-2.0 (= 1.72.0-1), gir1.2-gl-1.0 (= 1.72.0-1), gir1.2-freetype2-2.0 (= 1.72.0-1), gir1.2-fontconfig-2.0 (= 1.72.0-1), gir1.2-dbusglib-1.0 (= 1.72.0-1), gir1.2-dbus-1.0 (= 1.72.0-1), gir1.2-cairo-1.0 (= 1.72.0-1) + +Package: libe-book-0.1-1 +Architecture: amd64 +Version: 0.1.3-2build2 +APT-ID: 2106 +Multi-Arch: same +Source: libe-book +Source-Version: 0.1.3-2build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.32), libgcc-s1 (>= 3.3.1), libicu70 (>= 70.1-1~), liblangtag1 (>= 0.5.0), librevenge-0.0-0, libstdc++6 (>= 11), libxml2 (>= 2.7.4), zlib1g (>= 1:1.1.4) + +Package: libayatana-appindicator3-1 +Architecture: amd64 +Version: 0.5.90-7ubuntu2 +APT-ID: 1701 +Source: libayatana-appindicator +Source-Version: 0.5.90-7ubuntu2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libayatana-indicator3-7 (>= 0.6.0), libc6 (>= 2.4), libdbusmenu-glib4 (>= 0.4.2), libdbusmenu-gtk3-4 (>= 0.4.2), libglib2.0-0 (>= 2.37.3), libgtk-3-0 (>= 3.0.0) +Conflicts: libappindicator3-1 +Replaces: libappindicator3-1 +Provides: libappindicator3-1 (= 12.10) + +Package: libgamemode0 +Architecture: amd64 +Version: 1.6.1-1build2 +APT-ID: 2290 +Multi-Arch: same +Source: gamemode +Source-Version: 1.6.1-1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libdbus-1-3 (>= 1.9.14), gamemode-daemon + +Package: libpam-systemd +Architecture: amd64 +Version: 249.11-0ubuntu3.4 +APT-ID: 79609 +Multi-Arch: same +Source: systemd +Source-Version: 249.11-0ubuntu3.4 +Priority: required +Section: admin +Installed: yes +APT-Pin: 100 +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcap2 (>= 1:2.24-9~), libpam0g (>= 0.99.7.1), systemd (= 249.11-0ubuntu3.4), libpam-runtime (>= 1.0.1-6), default-dbus-system-bus | dbus-system-bus, systemd-sysv +Provides: logind (= 249.11-0ubuntu3.4), default-logind (= 249.11-0ubuntu3.4) + +Package: libboost-iostreams1.74.0 +Architecture: amd64 +Version: 1.74.0-14ubuntu3 +APT-ID: 1769 +Multi-Arch: same +Source: boost1.74 +Source-Version: 1.74.0-14ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbz2-1.0, libc6 (>= 2.33), libgcc-s1 (>= 3.3.1), liblzma5 (>= 5.2.2), libstdc++6 (>= 5.2), libzstd1 (>= 1.4.0), zlib1g (>= 1:1.1.4) + +Package: sgml-base +Architecture: all +Version: 1.30 +APT-ID: 5654 +Multi-Arch: foreign +Source: sgml-base +Source-Version: 1.30 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Pre-Depends: dpkg (>= 1.16.4) +Suggests: sgml-base-doc + +Package: usb-modeswitch-data +Architecture: all +Version: 20191128-4 +APT-ID: 5927 +Source: usb-modeswitch-data +Source-Version: 20191128-4 +Priority: extra +Section: comm +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: udev, usb-modeswitch (>= 2.4.0) +Conflicts: usb-modeswitch-data-packed +Replaces: usb-modeswitch-data-packed +Breaks: usb-modeswitch (<< 2.4.0) +Provides: usb-modeswitch-data-packed + +Package: fonts-gubbi +Architecture: all +Version: 1.3-5build1 +APT-ID: 442 +Multi-Arch: foreign +Source: fonts-gubbi +Source-Version: 1.3-5build1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libtss2-tcti-device0 +Architecture: amd64 +Version: 3.2.0-1ubuntu1 +APT-ID: 3902 +Multi-Arch: same +Source: tpm2-tss +Source-Version: 3.2.0-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: tpm-udev, libc6 (>= 2.4), libtss2-mu0 (>= 3.0.1) +Replaces: libtss2-esys0 (<< 3.0.1-2) +Breaks: libtss2-esys0 (<< 3.0.1-2) + +Package: libpwquality-common +Architecture: all +Version: 1.4.4-1build2 +APT-ID: 3329 +Multi-Arch: foreign +Source: libpwquality +Source-Version: 1.4.4-1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: libpwquality-tools (<< 1.4.1-2~) +Breaks: libpwquality-tools (<< 1.4.1-2~) + +Package: libx11-protocol-perl +Architecture: all +Version: 0.56-7.1 +APT-ID: 4097 +Source: libx11-protocol-perl +Source-Version: 0.56-7.1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any +Recommends: perl (>= 5.19.8) | libio-socket-ip-perl + +Package: liblzo2-2 +Architecture: amd64 +Version: 2.10-2build3 +APT-ID: 2869 +Multi-Arch: same +Source: lzo2 +Source-Version: 2.10-2build3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: libpulsedsp +Architecture: amd64 +Version: 1:15.99.1+dfsg1-1ubuntu1 +APT-ID: 3328 +Multi-Arch: same +Source: pulseaudio +Source-Version: 1:15.99.1+dfsg1-1ubuntu1 +Priority: optional +Section: sound +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libpulse0 (= 1:15.99.1+dfsg1-1ubuntu1) + +Package: libwayland-cursor0 +Architecture: amd64 +Version: 1.20.0-1ubuntu0.1 +APT-ID: 72820 +Multi-Arch: same +Source: wayland +Source-Version: 1.20.0-1ubuntu0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.28), libwayland-client0 (>= 1.20.0) +Conflicts: libwayland0 (<< 1.1.0-1) +Replaces: libwayland0 (<< 1.1.0-1) + +Package: fonts-tlwg-garuda +Architecture: all +Version: 1:0.7.3-1 +APT-ID: 517 +Multi-Arch: foreign +Source: fonts-tlwg +Source-Version: 1:0.7.3-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fonts-tlwg-garuda-ttf | fonts-tlwg-garuda-otf + +Package: libbrlapi0.8 +Architecture: amd64 +Version: 6.4-4ubuntu3 +APT-ID: 72273 +Multi-Arch: same +Source: brltty +Source-Version: 6.4-4ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libsystemd0 + +Package: gnome-bluetooth-3-common +Architecture: all +Version: 42.0-5 +APT-ID: 779 +Multi-Arch: foreign +Source: gnome-bluetooth3 +Source-Version: 42.0-5 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: fonts-tlwg-purisa +Architecture: all +Version: 1:0.7.3-1 +APT-ID: 529 +Multi-Arch: foreign +Source: fonts-tlwg +Source-Version: 1:0.7.3-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fonts-tlwg-purisa-ttf | fonts-tlwg-purisa-otf + +Package: libgnome-todo +Architecture: amd64 +Version: 3.28.1-6ubuntu1 +APT-ID: 2439 +Source: gnome-todo +Source-Version: 3.28.1-6ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: gnome-todo (<< 3.26.2-2~) +Breaks: gnome-todo (<< 3.26.2-2~) + +Package: ppp +Architecture: amd64 +Version: 2.4.9-1+1ubuntu3 +APT-ID: 4959 +Source: ppp +Source-Version: 2.4.9-1+1ubuntu3 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libpam-modules, libpam-runtime, procps, libc6 (>= 2.34), libcrypt1 (>= 1:4.1.0), libpam0g (>= 0.99.7.1), libpcap0.8 (>= 0.9.8), libssl3 (>= 3.0.0~~alpha1), libsystemd0 +Breaks: network-manager (<< 0.9.8.8-7~), network-manager-pptp (<< 0.9.8.4-3~), pppdcapiplugin (<< 1:3.25+dfsg1-3.4~) + +Package: printer-driver-splix +Architecture: amd64 +Version: 2.0.0+svn315-7fakesync1build3 +APT-ID: 4978 +Source: splix +Source-Version: 2.0.0+svn315-7fakesync1build3 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcups2 (>= 1.4.0), libcupsimage2 (>= 1.4.0), libgcc-s1 (>= 3.3.1), libjbig0 (>= 2.0), libstdc++6 (>= 5), cups (>= 1.5.0-3~), cups-client, cups-filters (>= 1.0.36) +Replaces: splix (<< 2.0.0+svn299-1) +Breaks: splix (<< 2.0.0+svn299-1) + +Package: libreoffice-common +Architecture: all +Version: 1:7.3.6-0ubuntu0.22.04.1 +APT-ID: 72549 +Source: libreoffice +Source-Version: 1:7.3.6-0ubuntu0.22.04.1 +Priority: optional +Section: editors +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libreoffice-style-colibre, ure, ucf (>= 0.8) +Suggests: libreoffice-style +Recommends: fonts-liberation2 | ttf-mscorefonts-installer, apparmor (>= 2.13.1~), poppler-data, xdg-utils, python3-uno (>= 4.4.0~beta2), libexttextcat-data +Conflicts: broffice, libreoffice-base (<< 1:7.0.0~alpha~), libreoffice-base-nogui (<< 1:7.0.0~alpha~), libreoffice-calc (<< 1:7.0.0~alpha~), libreoffice-calc-nogui (<< 1:7.0.0~alpha~), libreoffice-draw (<< 1:7.0.0~alpha~), libreoffice-draw-nogui (<< 1:7.0.0~alpha~), libreoffice-evolution (<< 1:7.0.0~alpha~), libreoffice-filter-mobiledev, libreoffice-gnome (<< 1:7.0.0~alpha~), libreoffice-impress (<< 1:7.0.0~alpha~), libreoffice-impress-nogui (<< 1:7.0.0~alpha~), libreoffice-l10n (<< 7.0), libreoffice-l10n-4.3, libreoffice-l10n-4.4, libreoffice-librelogo (<< 1:7.0.0~alpha~), libreoffice-math (<< 1:7.0.0~alpha~), libreoffice-math-nogui (<< 1:7.0.0~alpha~), libreoffice-report-builder (<< 1:7.0.0~alpha~), libreoffice-sdbc-postgresql (<< 1:7.0.0~alpha~), libreoffice-wiki-publisher (<< 1.2.0+LibO5.4.0~rc2), libreoffice-writer (<< 1:7.0.0~alpha~), libreoffice-writer-nogui (<< 1:7.0.0~alpha~), openoffice.org-unbundled, python3-uno (<< 1:7.0.0~alpha~) +Replaces: libreoffice-base (<< 1:6.4.0~beta1-2~), libreoffice-pdfimport (<< 1:5.4~), openclipart-libreoffice (<= 1:0.18+dfsg-17) +Breaks: libreoffice-base (<< 1:6.4.0~beta1-2~), libreoffice-core (>= 1:7.4~), libreoffice-core (<< 1:7.3~), libreoffice-evolution (<< 1:7.0.0~alpha), libreoffice-gnome (<< 1:7.0.0~alpha), libreoffice-help (<< 5.4), libreoffice-help-5.2, libreoffice-l10n (<< 7.0), libreoffice-librelogo (<< 1:7.0.0~alpha), libreoffice-report-builder (<< 1:7.0.0~alpha), libreoffice-sdbc-postgresql (<< 1:7.0.0~alpha), libreoffice-style-andromeda (<< 1:7.3~), libreoffice-style-crystal (>= 1:7.4~), libreoffice-style-crystal (<< 1:7.3~), libreoffice-style-galaxy (>= 1:7.4~), libreoffice-style-galaxy (<< 1:7.3~), libreoffice-style-hicontrast (>= 1:7.4~), libreoffice-style-hicontrast (<< 1:7.3~), libreoffice-style-tango (<< 1:7.0.0~alpha), libreoffice-writer2latex (<< 1.0.2-9), libreoffice-writer2xhtml (<< 1.0.2-9), openclipart-libreoffice (<= 1:0.18+dfsg-17), python3-uno (<< 1:7.0.0~alpha) +Provides: libreoffice-l10n-en-us + +Package: libnl-route-3-200 +Architecture: amd64 +Version: 3.5.0-0.1 +APT-ID: 3070 +Multi-Arch: same +Source: libnl3 +Source-Version: 3.5.0-0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libnl-3-200 (= 3.5.0-0.1), libc6 (>= 2.34) + +Package: libmpdec3 +Architecture: amd64 +Version: 2.5.1-2build2 +APT-ID: 2962 +Multi-Arch: same +Source: mpdecimal +Source-Version: 2.5.1-2build2 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.32), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 5.2) +Breaks: libpython3.8-stdlib (<< 2.8.5-2) + +Package: apport-gtk +Architecture: all +Version: 2.20.11-0ubuntu82.1 +APT-ID: 71707 +Source: apport +Source-Version: 2.20.11-0ubuntu82.1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=i386 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3, python3-apport (>= 2.20.11-0ubuntu82.1), gir1.2-gtk-3.0 (>= 3.1.90), gir1.2-wnck-3.0, python3-gi, apport (>= 0.41), procps, gnome-terminal | x-terminal-emulator, whoopsie-preferences +Recommends: update-notifier, gdb | gdb-minimal + +Package: libselinux1 +Architecture: amd64 +Version: 3.3-1build2 +APT-ID: 3653 +Multi-Arch: same +Source: libselinux +Source-Version: 3.3-1build2 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libpcre2-8-0 (>= 10.22) + +Package: libfile-mimeinfo-perl +Architecture: all +Version: 0.31-1 +APT-ID: 2225 +Source: libfile-mimeinfo-perl +Source-Version: 0.31-1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any, libencode-locale-perl, libfile-basedir-perl, libfile-desktopentry-perl, shared-mime-info +Recommends: libio-stringy-perl + +Package: libpeas-common +Architecture: all +Version: 1.32.0-1 +APT-ID: 3236 +Multi-Arch: foreign +Source: libpeas +Source-Version: 1.32.0-1 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: yelp-xsl +Architecture: all +Version: 42.0-1 +APT-ID: 6073 +Multi-Arch: foreign +Source: yelp-xsl +Source-Version: 42.0-1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libgtk3-perl +Architecture: all +Version: 0.038-1 +APT-ID: 2538 +Source: libgtk3-perl +Source-Version: 0.038-1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any, gir1.2-gdkpixbuf-2.0 (>= 2.38.0+dfsg-5~), gir1.2-gtk-3.0, gir1.2-pango-1.0, libcairo-gobject-perl, libglib-object-introspection-perl (>= 0.043), libglib-perl + +Package: libarchive13 +Architecture: amd64 +Version: 3.6.0-1ubuntu1 +APT-ID: 1624 +Multi-Arch: same +Source: libarchive +Source-Version: 3.6.0-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libacl1 (>= 2.2.23), libbz2-1.0, libc6 (>= 2.33), liblz4-1 (>= 0.0~r130), liblzma5 (>= 5.2.2), libnettle8, libxml2 (>= 2.7.4), libzstd1 (>= 1.4.0), zlib1g (>= 1:1.1.4) +Suggests: lrzip + +Package: python3-lib2to3 +Architecture: all +Version: 3.10.4-0ubuntu1 +APT-ID: 5298 +Multi-Arch: foreign +Source: python3-stdlib-extensions +Source-Version: 3.10.4-0ubuntu1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Automatic: yes +Depends: python3:any (>= 3.10.1-0~), python3:any (<< 3.11) +Replaces: libpython3.6-stdlib (<< 3.6.4~rc1-2), libpython3.7-stdlib (<< 3.7.0~a3-3), python3.6-2to3 (<< 3.6.4-2), python3.7-2to3 (<< 3.7.0~a3-3) +Breaks: libpython3.10-stdlib (<< 3.10.0~b1), libpython3.6-stdlib (<< 3.6.4~rc1-2), libpython3.7-stdlib (<< 3.7.0~a3-3), python3.6-2to3 (<< 3.6.4-2), python3.7-2to3 (<< 3.7.0~a3-3) +Provides: python3.10-lib2to3 + +Package: avahi-utils +Architecture: amd64 +Version: 0.8-5ubuntu5 +APT-ID: 75 +Source: avahi +Source-Version: 0.8-5ubuntu5 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libavahi-client3 (= 0.8-5ubuntu5), libavahi-common3 (= 0.8-5ubuntu5), libc6 (>= 2.34), libgdbm6 (>= 1.16), avahi-daemon (= 0.8-5ubuntu5) + +Package: libxmlb2 +Architecture: amd64 +Version: 0.3.6-2build1 +APT-ID: 4241 +Multi-Arch: same +Source: libxmlb +Source-Version: 0.3.6-2build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libglib2.0-0 (>= 2.53.2), liblzma5 (>= 5.1.1alpha+20120614) + +Package: usb.ids +Architecture: all +Version: 2022.04.02-1 +APT-ID: 5928 +Multi-Arch: foreign +Source: usb.ids +Source-Version: 2022.04.02-1 +Priority: standard +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: usbutils (<< 1:008-1) +Breaks: usbutils (<< 1:008-1) + +Package: liblzma5 +Architecture: amd64 +Version: 5.2.5-2ubuntu1 +APT-ID: 2868 +Multi-Arch: same +Source: xz-utils +Source-Version: 5.2.5-2ubuntu1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Breaks: liblzma2 (<< 5.1.1alpha+20110809-3~) + +Package: sed +Architecture: amd64 +Version: 4.8-1ubuntu2 +APT-ID: 5648 +Essential: yes +Multi-Arch: foreign +Source: sed +Source-Version: 4.8-1ubuntu2 +Priority: important +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Pre-Depends: libacl1 (>= 2.2.23), libc6 (>= 2.34), libselinux1 (>= 3.1~) + +Package: libdebuginfod-common +Architecture: all +Version: 0.186-1build1 +APT-ID: 2048 +Multi-Arch: foreign +Source: elfutils +Source-Version: 0.186-1build1 +Priority: optional +Section: devel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf (>= 0.5) | debconf-2.0, ucf +Pre-Depends: debconf + +Package: lsb-base +Architecture: all +Version: 11.1.0ubuntu4 +APT-ID: 4600 +Multi-Arch: foreign +Source: lsb +Source-Version: 11.1.0ubuntu4 +Priority: important +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libjpeg-turbo8 +Architecture: amd64 +Version: 2.1.2-0ubuntu1 +APT-ID: 2740 +Multi-Arch: same +Source: libjpeg-turbo +Source-Version: 2.1.2-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) +Replaces: libjpeg8 (<< 8c-2ubuntu5) +Breaks: libjpeg8 (<< 8c-2ubuntu5) + +Package: ibus-table +Architecture: all +Version: 1.16.7-1 +APT-ID: 1105 +Source: ibus-table +Source-Version: 1.16.7-1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: ibus (>= 1.5.22-2~), dconf-gsettings-backend | gsettings-backend, python3:any +Suggests: ibus-table-array30, ibus-table-cangjie, ibus-table-cangjie-big, ibus-table-cangjie3, ibus-table-cangjie5, ibus-table-cantonese, ibus-table-cantonhk, ibus-table-cns11643, ibus-table-compose, ibus-table-easy, ibus-table-easy-big, ibus-table-emoji, ibus-table-erbi, ibus-table-erbi-qs, ibus-table-ipa-x-sampa, ibus-table-jyutping, ibus-table-latex, ibus-table-quick, ibus-table-quick-classic, ibus-table-quick3, ibus-table-quick5, ibus-table-rustrad, ibus-table-scj6, ibus-table-stroke5, ibus-table-thai, ibus-table-translit, ibus-table-translit-ua, ibus-table-viqr, ibus-table-wu, ibus-table-wubi, ibus-table-yawerty, ibus-table-yong +Breaks: ibus-table-array30 (<< 1.4.6-Source-2~), ibus-table-cangjie (<< 1.4.6-Source-2~), ibus-table-cangjie-big (<< 1.4.6-Source-2~), ibus-table-cangjie3 (<< 1.4.6-Source-2~), ibus-table-cangjie5 (<< 1.4.6-Source-2~), ibus-table-cantonese (<< 1.4.6-Source-2~), ibus-table-cantonhk (<< 1.4.6-Source-2~), ibus-table-cns11643 (<< 1.3.0.20100528-4~), ibus-table-compose (<< 1.3.0.20100528-4~), ibus-table-easy (<< 1.4.6-Source-2~), ibus-table-easy-big (<< 1.4.6-Source-2~), ibus-table-emoji (<< 1.3.0.20100528-4~), ibus-table-erbi (<< 1.4.6-Source-2~), ibus-table-erbi-qs (<< 1.4.6-Source-2~), ibus-table-ipa-x-sampa (<< 1.3.0.20100528-4~), ibus-table-jyutping (<< 1.4.6-Source-2~), ibus-table-latex (<< 1.3.0.20100528-4~), ibus-table-quick (<< 1.4.6-Source-2~), ibus-table-quick-classic (<< 1.4.6-Source-2~), ibus-table-quick3 (<< 1.4.6-Source-2~), ibus-table-quick5 (<< 1.4.6-Source-2~), ibus-table-rustrad (<< 1.3.0.20100528-4~), ibus-table-scj6 (<< 1.4.6-Source-2~), ibus-table-stroke5 (<< 1.4.6-Source-2~), ibus-table-thai (<< 1.3.0.20100528-4~), ibus-table-translit (<< 1.3.0.20100528-4~), ibus-table-translit-ua (<< 1.3.0.20100528-4~), ibus-table-viqr (<< 1.3.0.20100528-4~), ibus-table-wu (<< 1.4.6-Source-2~), ibus-table-wubi (<< 1.4.6-Source-2~), ibus-table-yawerty (<< 1.3.0.20100528-4~), ibus-table-yong (<< 1.4.6-Source-2~) + +Package: libplist3 +Architecture: amd64 +Version: 2.2.0-6build2 +APT-ID: 3270 +Multi-Arch: same +Source: libplist +Source-Version: 2.2.0-6build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: tar +Architecture: amd64 +Version: 1.34+dfsg-1build3 +APT-ID: 5740 +Essential: yes +Multi-Arch: foreign +Source: tar +Source-Version: 1.34+dfsg-1build3 +Priority: important +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Pre-Depends: libacl1 (>= 2.2.23), libc6 (>= 2.34), libselinux1 (>= 3.1~) +Suggests: bzip2, ncompress, xz-utils, tar-scripts, tar-doc +Conflicts: cpio (<= 2.4.2-38) +Replaces: cpio (<< 2.4.2-39) +Breaks: dpkg-dev (<< 1.14.26) + +Package: tcl +Architecture: amd64 +Version: 8.6.11+1build2 +APT-ID: 5743 +Multi-Arch: foreign +Source: tcltk-defaults +Source-Version: 8.6.11+1build2 +Priority: optional +Section: interpreters +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: tcl8.6 (>= 8.6.11+dfsg-1~) +Breaks: tcl8.3 (<< 8.3.5-15), tcl8.4 (<< 8.4.20-2), tcl8.5 (<< 8.5.14-3), tcl8.6 (<< 8.6.0-2) +Provides: tclsh + +Package: pptp-linux +Architecture: amd64 +Version: 1.10.0-1build3 +APT-ID: 4962 +Source: pptp-linux +Source-Version: 1.10.0-1build3 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), ppp + +Package: libgspell-1-common +Architecture: all +Version: 1.9.1-4 +APT-ID: 2508 +Multi-Arch: foreign +Source: gspell +Source-Version: 1.9.1-4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libhttp-negotiate-perl +Architecture: all +Version: 6.01-1 +APT-ID: 2601 +Source: libhttp-negotiate-perl +Source-Version: 6.01-1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl, libhttp-message-perl +Replaces: libwww-perl (<< 6.00) +Breaks: libwww-perl (<< 6.00) + +Package: pulseaudio +Architecture: amd64 +Version: 1:15.99.1+dfsg1-1ubuntu1 +APT-ID: 4987 +Multi-Arch: foreign +Source: pulseaudio +Source-Version: 1:15.99.1+dfsg1-1ubuntu1 +Priority: optional +Section: sound +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libapparmor1 (>= 2.6~devel), libasound2 (>= 1.2.1.1), libc6 (>= 2.34), libcap2 (>= 1:2.10), libdbus-1-3 (>= 1.9.14), libfftw3-single3 (>= 3.3.5), libgcc-s1 (>= 3.3.1), libglib2.0-0 (>= 2.31.18), libgstreamer-plugins-base1.0-0 (>= 1.10.0), libgstreamer1.0-0 (>= 1.14.0), libice6 (>= 1:1.0.0), libltdl7 (>= 2.4.6), liborc-0.4-0 (>= 1:0.4.25), libpulse0 (= 1:15.99.1+dfsg1-1ubuntu1), libsm6, libsnapd-glib1 (>= 1.49), libsndfile1 (>= 1.0.20), libsoxr0 (>= 0.1.1), libspeexdsp1 (>= 1.2~beta3.2-1), libstdc++6 (>= 11), libsystemd0, libtdb1 (>= 1.2.7+git20101214), libudev1 (>= 183), libwebrtc-audio-processing1, libwrap0 (>= 7.6-4~), libx11-6 (>= 2:1.7.0), libx11-xcb1 (>= 2:1.7.2), libxcb1, libxtst6, adduser, lsb-base (>= 3.2-13), libasound2-plugins, pulseaudio-utils +Pre-Depends: init-system-helpers (>= 1.54~) +Suggests: udev, pavumeter, pavucontrol, paprefs, ubuntu-sounds +Recommends: rtkit, default-logind | logind, dbus-user-session + +Package: libgtk2.0-bin +Architecture: amd64 +Version: 2.24.33-2ubuntu2 +APT-ID: 2535 +Multi-Arch: foreign +Source: gtk+2.0 +Source-Version: 2.24.33-2ubuntu2 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libgtk2.0-0 (= 2.24.33-2ubuntu2), libgtk2.0-common, gtk-update-icon-cache + +Package: libnatpmp1 +Architecture: amd64 +Version: 20150609-7.1build2 +APT-ID: 2994 +Multi-Arch: same +Source: libnatpmp +Source-Version: 20150609-7.1build2 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.7) +Suggests: minissdpd, natpmpc + +Package: ucf +Architecture: all +Version: 3.0043 +APT-ID: 5904 +Multi-Arch: foreign +Source: ucf +Source-Version: 3.0043 +Priority: required +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf (>= 1.5.19), coreutils (>= 5.91), sensible-utils + +Package: ufw +Architecture: all +Version: 0.36.1-4build1 +APT-ID: 5908 +Source: ufw +Source-Version: 0.36.1-4build1 +Priority: standard +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: iptables, lsb-base (>= 3.0-6), ucf, python3:any, debconf (>= 0.5) | debconf-2.0 +Suggests: rsyslog + +Package: libavahi-common-data +Architecture: amd64 +Version: 0.8-5ubuntu5 +APT-ID: 1685 +Multi-Arch: same +Source: avahi +Source-Version: 0.8-5ubuntu5 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: python3-lazr.restfulclient +Architecture: all +Version: 0.14.4-1 +APT-ID: 5292 +Source: lazr.restfulclient +Source-Version: 0.14.4-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-httplib2 (>= 0.7.7), python3-lazr.uri, python3-wadllib (>= 1.1.4), python3-distro, python3-oauthlib, python3-pkg-resources, python3-six, python3:any + +Package: libcolord2 +Architecture: amd64 +Version: 1.4.6-1 +APT-ID: 1925 +Multi-Arch: same +Source: colord +Source-Version: 1.4.6-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.29), libglib2.0-0 (>= 2.58), liblcms2-2 (>= 2.6), libudev1 (>= 196) +Suggests: colord + +Package: ure +Architecture: amd64 +Version: 1:7.3.6-0ubuntu0.22.04.1 +APT-ID: 74535 +Source: libreoffice +Source-Version: 1:7.3.6-0ubuntu0.22.04.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: uno-libs-private (= 1:7.3.6-0ubuntu0.22.04.1), libc6 (>= 2.34), libgcc-s1 (>= 3.0), libicu70 (>= 70.1-1~), liblangtag1 (>= 0.4.0), libstdc++6 (>= 11), libuno-cppu3 (>= 4.4.0~alpha), libuno-cppuhelpergcc3-3 (>= 4.0.0~alpha), libuno-purpenvhelpergcc3-3 (>= 1.4.0), libuno-sal3 (>= 5.3.0~alpha), libuno-salhelpergcc3-3 (>= 3.6.0~beta), libxml2 (>= 2.8) +Replaces: libjuh-java (<< 1:6.4.0~rc1-6), libjurt-java (<< 1:6.4.0~rc1-6), libreoffice-common (<< 1:4.5.0), libreoffice-core (<< 1:5.3.0~beta1~), libridl-java (<< 1:6.4.0~rc1-6), libunoloader-java (<< 1:6.4.0~rc1-6), ure-java (<< 1:7.1.1~rc2-1) +Breaks: libjuh-java (<< 1:6.4.0~rc1-6), libjurt-java (<< 1:6.4.0~rc1-6), libreoffice-common (<< 1:4.5.0), libreoffice-core (<< 1:7.2.0~), libreoffice-core-nogui (<< 1:7.2.0~), libridl-java (<< 1:6.4.0~rc1-6), libunoloader-java (<< 1:6.4.0~rc1-6), ure-java (<< 1:7.1.1~rc2-1) + +Package: libfont-afm-perl +Architecture: all +Version: 1.20-3 +APT-ID: 2240 +Source: libfont-afm-perl +Source-Version: 1.20-3 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any + +Package: libcap2-bin +Architecture: amd64 +Version: 1:2.44-1build3 +APT-ID: 1852 +Multi-Arch: foreign +Source: libcap2 +Source-Version: 1:2.44-1build3 +Priority: required +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcap2 (>= 1:2.33) +Recommends: libpam-cap +Replaces: libcap-bin +Breaks: libcap-bin + +Package: python3-venv +Architecture: amd64 +Version: 3.10.6-1~22.04 +APT-ID: 78610 +Multi-Arch: allowed +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: optional +Section: universe/python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=universe,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3.10-venv (>= 3.10.6-1~), python3 (= 3.10.6-1~22.04), python3-distutils (>= 3.10.6-1~) + +Package: python3-venv +Architecture: amd64 +Version: 3.10.4-0ubuntu2 +APT-ID: 58240 +Multi-Arch: allowed +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-0ubuntu2 +Priority: optional +Section: universe/python +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=universe,b=amd64 +APT-Pin: 500 +Depends: python3.10-venv (>= 3.10.4-1~), python3 (= 3.10.4-0ubuntu2), python3-distutils (>= 3.9.10-2~) + +Package: whiptail +Architecture: amd64 +Version: 0.52.21-5ubuntu2 +APT-ID: 5965 +Multi-Arch: foreign +Source: newt +Source-Version: 0.52.21-5ubuntu2 +Priority: required +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libnewt0.52 (>= 0.52.21), libpopt0 (>= 1.14), libslang2 (>= 2.2.4) + +Package: gir1.2-glib-2.0 +Architecture: amd64 +Version: 1.72.0-1 +APT-ID: 683 +Multi-Arch: same +Source: gobject-introspection +Source-Version: 1.72.0-1 +Priority: required +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libgirepository-1.0-1 (>= 1.72.0), libglib2.0-0 (>= 2.71.2) +Provides: gir1.2-gobject-2.0 (= 1.72.0-1), gir1.2-gmodule-2.0 (= 1.72.0-1), gir1.2-girepository-2.0 (= 1.72.0-1), gir1.2-gio-2.0 (= 1.72.0-1) + +Package: base-passwd +Architecture: amd64 +Version: 3.5.52build1 +APT-ID: 87 +Essential: yes +Multi-Arch: foreign +Source: base-passwd +Source-Version: 3.5.52build1 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libc6 (>= 2.34), libdebconfclient0 (>= 0.145) +Recommends: debconf (>= 0.5) | debconf-2.0 +Replaces: base + +Package: libcrack2 +Architecture: amd64 +Version: 2.9.6-3.4build4 +APT-ID: 1944 +Multi-Arch: same +Source: cracklib2 +Source-Version: 2.9.6-3.4build4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) +Recommends: cracklib-runtime +Breaks: cracklib-runtime (<< 2.9.2-4) + +Package: libsasl2-modules +Architecture: amd64 +Version: 2.1.27+dfsg2-3ubuntu1 +APT-ID: 3637 +Multi-Arch: same +Source: cyrus-sasl2 +Source-Version: 2.1.27+dfsg2-3ubuntu1 +Priority: optional +Section: devel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libssl3 (>= 3.0.0~~alpha1) +Suggests: libsasl2-modules-gssapi-mit | libsasl2-modules-gssapi-heimdal, libsasl2-modules-ldap, libsasl2-modules-otp, libsasl2-modules-sql +Breaks: logcheck-database (<= 1.3.16~) + +Package: libxcb-dri2-0 +Architecture: amd64 +Version: 1.14-3ubuntu3 +APT-ID: 4134 +Multi-Arch: same +Source: libxcb +Source-Version: 1.14-3ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libxcb1 + +Package: ghostscript-x +Architecture: amd64 +Version: 9.55.0~dfsg1-0ubuntu5 +APT-ID: 633 +Source: ghostscript +Source-Version: 9.55.0~dfsg1-0ubuntu5 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: ghostscript (= 9.55.0~dfsg1-0ubuntu5), libc6 (>= 2.14), libx11-6, libxt6 + +Package: libgpod4 +Architecture: amd64 +Version: 0.8.3-16build2 +APT-ID: 2486 +Multi-Arch: same +Source: libgpod +Source-Version: 0.8.3-16build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.31.18), libimobiledevice6 (>= 1.3.0), libplist3 (>= 2.2.0), libsqlite3-0 (>= 3.5.9), libxml2 (>= 2.7.4), zlib1g (>= 1:1.2.0) +Recommends: libgpod-common +Replaces: libgpod4-nogtk (<< 0.8.3-8.1~) +Breaks: libgpod4-nogtk (<< 0.8.3-8.1~) + +Package: gir1.2-nma-1.0 +Architecture: amd64 +Version: 1.8.34-1ubuntu1 +APT-ID: 733 +Multi-Arch: same +Source: libnma +Source-Version: 1.8.34-1ubuntu1 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-gtk-3.0, gir1.2-nm-1.0, libnma0 (>= 1.8.28) + +Package: libsasl2-2 +Architecture: amd64 +Version: 2.1.27+dfsg2-3ubuntu1 +APT-ID: 3635 +Multi-Arch: same +Source: cyrus-sasl2 +Source-Version: 2.1.27+dfsg2-3ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libsasl2-modules-db (>= 2.1.27+dfsg2-3ubuntu1), libc6 (>= 2.34) +Recommends: libsasl2-modules (>= 2.1.27+dfsg2-3ubuntu1) +Replaces: libsasl2 +Breaks: postfix (<= 2.8.3-1), slapd (<= 2.4.25-3) + +Package: libxcb-dri3-0 +Architecture: amd64 +Version: 1.14-3ubuntu3 +APT-ID: 4136 +Multi-Arch: same +Source: libxcb +Source-Version: 1.14-3ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libxcb1 (>= 1.12) + +Package: geoclue-2.0 +Architecture: amd64 +Version: 2.5.7-3ubuntu3 +APT-ID: 619 +Source: geoclue-2.0 +Source-Version: 2.5.7-3ubuntu3 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: adduser, libavahi-client3 (>= 0.6.16), libavahi-common3 (>= 0.6.16), libavahi-glib1 (>= 0.6.16), libc6 (>= 2.34), libglib2.0-0 (>= 2.44.0), libjson-glib-1.0-0 (>= 1.5.2), libmm-glib0 (>= 1.6), libnotify4 (>= 0.7.0), libsoup2.4-1 (>= 2.42) +Recommends: avahi-daemon, iio-sensor-proxy, modemmanager, wpasupplicant +Replaces: geoclue (>= 2.0), geoclue-2-demo (<< 2.4.12-2~) +Breaks: geoclue (>= 2.0), geoclue-2-demo (<< 2.4.12-2~) + +Package: libcairo2 +Architecture: amd64 +Version: 1.16.0-5ubuntu2 +APT-ID: 1832 +Multi-Arch: same +Source: cairo +Source-Version: 1.16.0-5ubuntu2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libfontconfig1 (>= 2.12.6), libfreetype6 (>= 2.9.1), libpixman-1-0 (>= 0.30.0), libpng16-16 (>= 1.6.2-1), libx11-6, libxcb-render0, libxcb-shm0, libxcb1 (>= 1.6), libxext6, libxrender1, zlib1g (>= 1:1.1.4) +Breaks: libwebkit2gtk-3.0-25 (<< 2.4.5-2~), libwebkitgtk-1.0-0 (<< 2.4.5-2~), libwebkitgtk-3.0-0 (<< 2.4.5-2~), weston (<< 1.5.0-3~) + +Package: libgbm1 +Architecture: amd64 +Version: 22.0.5-0ubuntu0.1 +APT-ID: 72362 +Multi-Arch: same +Source: mesa +Source-Version: 22.0.5-0ubuntu0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libdrm2 (>= 2.4.75), libexpat1 (>= 2.0.1), libstdc++6 (>= 4.1.1), libwayland-server0 (>= 1.15.0) + +Package: hyphen-en-us +Architecture: all +Version: 2.8.8-7build2 +APT-ID: 1058 +Multi-Arch: foreign +Source: hyphen +Source-Version: 2.8.8-7build2 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +Depends: dictionaries-common +Suggests: libreoffice-writer +Provides: hyphen-hyphenation-patterns-en-us, hyphen-hyphenation-patterns-en, hyphen-hyphenation-patterns + +Package: python3-lockfile +Architecture: all +Version: 1:0.12.2-2.2 +APT-ID: 5302 +Source: python-lockfile +Source-Version: 1:0.12.2-2.2 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any +Suggests: python-lockfile-doc + +Package: libgexiv2-2 +Architecture: amd64 +Version: 0.14.0-1build1 +APT-ID: 2354 +Multi-Arch: same +Source: gexiv2 +Source-Version: 0.14.0-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.29), libexiv2-27 (>= 0.27.5), libgcc-s1 (>= 3.3.1), libglib2.0-0 (>= 2.37.3), libstdc++6 (>= 11) + +Package: libpciaccess0 +Architecture: amd64 +Version: 0.16-3 +APT-ID: 3219 +Multi-Arch: same +Source: libpciaccess +Source-Version: 0.16-3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), zlib1g (>= 1:1.1.4) +Suggests: pciutils + +Package: libatm1 +Architecture: amd64 +Version: 1:2.5.1-4build2 +APT-ID: 1663 +Multi-Arch: same +Source: linux-atm +Source-Version: 1:2.5.1-4build2 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: xxd +Architecture: amd64 +Version: 2:8.2.3995-1ubuntu2.1 +APT-ID: 74562 +Multi-Arch: foreign +Source: vim +Source-Version: 2:8.2.3995-1ubuntu2.1 +Priority: required +Section: editors +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Replaces: vim-common (<< 2:7.4.2347-1~) +Breaks: vim-common (<< 2:7.4.2347-1~) + +Package: python3-ibus-1.0 +Architecture: all +Version: 1.5.26-4 +APT-ID: 5262 +Source: ibus +Source-Version: 1.5.26-4 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any, gir1.2-ibus-1.0, python3-gi (>= 3.8) +Replaces: gir1.2-ibus-1.0 (<< 1.5.21-4~exp1) +Breaks: gir1.2-ibus-1.0 (<< 1.5.21-4~exp1) + +Package: gstreamer1.0-clutter-3.0 +Architecture: amd64 +Version: 3.0.27-2ubuntu1 +APT-ID: 71891 +Multi-Arch: same +Source: clutter-gst-3.0 +Source-Version: 3.0.27-2ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libclutter-1.0-0 (>= 1.20.0), libclutter-gst-3.0-0 (>= 3.0.4), libglib2.0-0 (>= 2.37.3), libgstreamer1.0-0 (>= 1.4.0), libx11-6 + +Package: libxcursor1 +Architecture: amd64 +Version: 1:1.2.0-2build4 +APT-ID: 4192 +Multi-Arch: same +Source: libxcursor +Source-Version: 1:1.2.0-2build4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libx11-6 (>= 2:1.4.99.1), libxfixes3, libxrender1 + +Package: libclucene-contribs1v5 +Architecture: amd64 +Version: 2.3.3.4+dfsg-1ubuntu5 +APT-ID: 1896 +Multi-Arch: same +Source: clucene-core +Source-Version: 2.3.3.4+dfsg-1ubuntu5 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.27), libclucene-core1v5 (>= 2.3.3.4+dfsg), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 5.2), zlib1g (>= 1:1.1.4) +Conflicts: libclucene-contribs1 +Replaces: libclucene-contribs1 + +Package: libkpathsea6 +Architecture: amd64 +Version: 2021.20210626.59705-1build1 +APT-ID: 2779 +Multi-Arch: same +Source: texlive-bin +Source-Version: 2021.20210626.59705-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) +Breaks: texlive-binaries (<< 2014) + +Package: deja-dup +Architecture: amd64 +Version: 42.9-1ubuntu3 +APT-ID: 71765 +Source: deja-dup +Source-Version: 42.9-1ubuntu3 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: duplicity (>= 0.7.14), dconf-gsettings-backend | gsettings-backend, libatk1.0-0 (>= 1.12.4), libc6 (>= 2.34), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.65.1), libgpg-error0 (>= 1.14), libgtk-3-0 (>= 3.22), libhandy-1-0 (>= 1.5.90), libjson-glib-1.0-0 (>= 1.5.2), libpackagekit-glib2-18 (>= 1.1.0), libsecret-1-0 (>= 0.18.6), libsoup2.4-1 (>= 2.48) +Suggests: python3-pydrive +Recommends: gvfs-backends, packagekit, policykit-1 + +Package: apturl-common +Architecture: amd64 +Version: 0.5.2ubuntu22 +APT-ID: 56 +Source: apturl +Source-Version: 0.5.2ubuntu22 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any (>= 3.2~), python3-apt, python3-update-manager +Replaces: apturl (<< 0.3.6ubuntu2) + +Package: libgdm1 +Architecture: amd64 +Version: 42.0-1ubuntu7 +APT-ID: 72375 +Source: gdm3 +Source-Version: 42.0-1ubuntu7 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend, libc6 (>= 2.34), libglib2.0-0 (>= 2.44.0), libsystemd0 +Replaces: gdm3 (<< 3.18.0-3~) +Breaks: gdm3 (<< 3.18.0-3~) + +Package: libvorbisfile3 +Architecture: amd64 +Version: 1.3.7-1build2 +APT-ID: 4023 +Multi-Arch: same +Source: libvorbis +Source-Version: 1.3.7-1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libogg0 (>= 1.1.0), libvorbis0a (= 1.3.7-1build2) + +Package: libexpat1 +Architecture: amd64 +Version: 2.4.7-1 +APT-ID: 2185 +Multi-Arch: same +Source: expat +Source-Version: 2.4.7-1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.25) + +Package: libgtop-2.0-11 +Architecture: amd64 +Version: 2.40.0-2build3 +APT-ID: 2546 +Multi-Arch: same +Source: libgtop2 +Source-Version: 2.40.0-2build3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libglib2.0-0 (>= 2.18.0), libxau6 (>= 1:1.0.9), libgtop2-common (>= 2.40.0-2build3) + +Package: gir1.2-gdkpixbuf-2.0 +Architecture: amd64 +Version: 2.42.8+dfsg-1ubuntu0.1 +APT-ID: 71832 +Multi-Arch: same +Source: gdk-pixbuf +Source-Version: 2.42.8+dfsg-1ubuntu0.1 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0 (>= 0.9.3), libgdk-pixbuf-2.0-0 (>= 2.39.2) +Breaks: libgtk3-perl (<< 0.034-2~) +Provides: gir1.2-gdkpixdata-2.0 (= 2.42.8+dfsg-1ubuntu0.1) + +Package: grub-pc-bin +Architecture: amd64 +Version: 2.06-2ubuntu7 +APT-ID: 914 +Multi-Arch: foreign +Source: grub2 +Source-Version: 2.06-2ubuntu7 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libc6 (>= 2.34), libdevmapper1.02.1 (>= 2:1.02.36), grub-common (= 2.06-2ubuntu7) +Suggests: desktop-base (>= 4.0.6) +Replaces: grub-common (<= 1.97~beta2-1), grub-pc (<< 1.99-1), grub2 (<< 2.06-2ubuntu7) + +Package: libdb5.3 +Architecture: amd64 +Version: 5.3.28+dfsg1-0.8ubuntu3 +APT-ID: 2004 +Multi-Arch: same +Source: db5.3 +Source-Version: 5.3.28+dfsg1-0.8ubuntu3 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: bluez-cups +Architecture: amd64 +Version: 5.64-0ubuntu1 +APT-ID: 137 +Source: bluez +Source-Version: 5.64-0ubuntu1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libdbus-1-3 (>= 1.9.14), libglib2.0-0 (>= 2.28), cups + +Package: xdg-desktop-portal-gtk +Architecture: amd64 +Version: 1.14.0-1build1 +APT-ID: 6021 +Multi-Arch: foreign +Source: xdg-desktop-portal-gtk +Source-Version: 1.14.0-1build1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dbus-user-session | dbus-x11, gsettings-desktop-schemas, xdg-desktop-portal (>= 1.14.0), libc6 (>= 2.34), libfontconfig1 (>= 2.12.6), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.55.1), libgtk-3-0 (>= 3.21.5) +Suggests: accountsservice, evince, xdg-desktop-portal-gnome +Provides: xdg-desktop-portal-backend (= 1.14.0) + +Package: zip +Architecture: amd64 +Version: 3.0-12build2 +APT-ID: 6080 +Multi-Arch: foreign +Source: zip +Source-Version: 3.0-12build2 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbz2-1.0, libc6 (>= 2.34) +Recommends: unzip + +Package: libgcab-1.0-0 +Architecture: amd64 +Version: 1.4-3build2 +APT-ID: 2296 +Multi-Arch: same +Source: gcab +Source-Version: 1.4-3build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libglib2.0-0 (>= 2.61.2), zlib1g (>= 1:1.1.4) + +Package: libp11-kit0 +Architecture: amd64 +Version: 0.24.0-6build1 +APT-ID: 3163 +Multi-Arch: same +Source: p11-kit +Source-Version: 0.24.0-6build1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libffi8 (>= 3.4) +Breaks: opencryptoki (<= 3.6.1+dfsg-1) + +Package: python3-jeepney +Architecture: all +Version: 0.7.1-3 +APT-ID: 5276 +Source: jeepney +Source-Version: 0.7.1-3 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any + +Package: libpython3.10-minimal +Architecture: amd64 +Version: 3.10.6-1~22.04 +APT-ID: 72534 +Multi-Arch: same +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: required +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libssl3 (>= 3.0.0~~alpha1) +Recommends: libpython3.10-stdlib +Conflicts: binfmt-support (<< 1.1.2) + +Package: libpython3.10-minimal +Architecture: amd64 +Version: 3.10.4-3ubuntu0.1 +APT-ID: 79376 +Multi-Arch: same +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3ubuntu0.1 +Priority: required +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Automatic: yes +Depends: libc6 (>= 2.14), libssl3 (>= 3.0.0~~alpha1) +Recommends: libpython3.10-stdlib +Conflicts: binfmt-support (<< 1.1.2) + +Package: libpython3.10-minimal +Architecture: amd64 +Version: 3.10.4-3 +APT-ID: 3340 +Multi-Arch: same +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3 +Priority: required +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Automatic: yes +Depends: libc6 (>= 2.14), libssl3 (>= 3.0.0~~alpha1) +Recommends: libpython3.10-stdlib +Conflicts: binfmt-support (<< 1.1.2) + +Package: fonts-lohit-gujr +Architecture: all +Version: 2.92.4-4 +APT-ID: 463 +Multi-Arch: foreign +Source: fonts-lohit-gujr +Source-Version: 2.92.4-4 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: ttf-gujarati-fonts (<= 1:0.5.12) +Breaks: ttf-gujarati-fonts (<= 1:0.5.12) + +Package: libavahi-core7 +Architecture: amd64 +Version: 0.8-5ubuntu5 +APT-ID: 1691 +Multi-Arch: same +Source: avahi +Source-Version: 0.8-5ubuntu5 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libavahi-common3 (= 0.8-5ubuntu5), libc6 (>= 2.15) + +Package: fonts-lohit-guru +Architecture: all +Version: 2.91.2-2build1 +APT-ID: 464 +Multi-Arch: foreign +Source: fonts-lohit-guru +Source-Version: 2.91.2-2build1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: ttf-punjabi-fonts (<= 1:0.5.12) +Breaks: ttf-punjabi-fonts (<= 1:0.5.12) + +Package: libijs-0.35 +Architecture: amd64 +Version: 0.35-15build2 +APT-ID: 2640 +Multi-Arch: same +Source: ijs +Source-Version: 0.35-15build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: librdf0 +Architecture: amd64 +Version: 1.0.17-1.1ubuntu3 +APT-ID: 3382 +Multi-Arch: same +Source: redland +Source-Version: 1.0.17-1.1ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libdb5.3, libltdl7 (>= 2.4.6), libraptor2-0 (>= 2.0.14), librasqal3 (>= 0.9.31) +Suggests: librdf-storage-postgresql, librdf-storage-mysql, librdf-storage-sqlite, librdf-storage-virtuoso, redland-utils + +Package: fonts-tlwg-norasi-ttf +Architecture: all +Version: 1:0.7.3-1 +APT-ID: 528 +Multi-Arch: foreign +Source: fonts-tlwg +Source-Version: 1:0.7.3-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: fonts-tlwg-norasi (>= 1:0.6.2-2) +Replaces: fonts-tlwg-norasi (<< 1:0.6.2-2) +Breaks: fonts-tlwg-norasi (<< 1:0.6.2-2) + +Package: libfwupd2 +Architecture: amd64 +Version: 1.7.5-3 +APT-ID: 2281 +Multi-Arch: same +Source: fwupd +Source-Version: 1.7.5-3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.27), libcurl3-gnutls (>= 7.63.0), libglib2.0-0 (>= 2.53.2), libjcat1 (>= 0.1.0), libjson-glib-1.0-0 (>= 1.5.2) + +Package: libapt-pkg6.0 +Architecture: amd64 +Version: 2.4.7 +APT-ID: 72265 +Multi-Arch: same +Source: apt +Source-Version: 2.4.7 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbz2-1.0, libc6 (>= 2.34), libgcc-s1 (>= 3.3.1), libgcrypt20 (>= 1.9.0), liblz4-1 (>= 0.0~r127), liblzma5 (>= 5.1.1alpha+20120614), libstdc++6 (>= 11), libsystemd0 (>= 221), libudev1 (>= 183), libxxhash0 (>= 0.7.1), libzstd1 (>= 1.4.0), zlib1g (>= 1:1.2.2.3) +Recommends: apt (>= 2.4.7) +Breaks: appstream (<< 0.9.0-3~), apt (<< 1.6~), aptitude (<< 0.8.9), dpkg (<< 1.20.8), libapt-inst1.5 (<< 0.9.9~) +Provides: libapt-pkg (= 2.4.7) + +Package: ubuntu-drivers-common +Architecture: amd64 +Version: 1:0.9.6.1 +APT-ID: 5886 +Source: ubuntu-drivers-common +Source-Version: 1:0.9.6.1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any (>= 3.2~), debconf (>= 0.5.00) | debconf-2.0, libc6 (>= 2.34), libdrm2 (>= 2.3.1), libkmod2 (>= 5~), libpci3 (>= 1:3.5.1), python3-apt, python3-xkit, python3-click, udev (>= 204-0ubuntu4~), pciutils, usbutils, kmod | module-init-tools +Pre-Depends: dpkg (>= 1.15.7.2) +Suggests: python3-aptdaemon.pkcompat +Conflicts: jockey-common, jockey-gtk, jockey-kde, nvidia-common (<< 1:0.2.46) +Replaces: jockey-common, jockey-gtk, jockey-kde, nvidia-common (<< 1:0.2.46) +Breaks: nvidia-prime (<< 0.6) +Provides: nvidia-common, jockey-kde, jockey-gtk, jockey-common + +Package: python3-ptyprocess +Architecture: all +Version: 0.7.0-3 +APT-ID: 5408 +Source: ptyprocess +Source-Version: 0.7.0-3 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any + +Package: fonts-tlwg-typo-ttf +Architecture: all +Version: 1:0.7.3-1 +APT-ID: 538 +Multi-Arch: foreign +Source: fonts-tlwg +Source-Version: 1:0.7.3-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: fonts-tlwg-typo (>= 1:0.6.2-2) +Replaces: fonts-tlwg-typo (<< 1:0.6.2-2) +Breaks: fonts-tlwg-typo (<< 1:0.6.2-2) + +Package: libxmuu1 +Architecture: amd64 +Version: 2:1.1.3-3 +APT-ID: 4253 +Multi-Arch: same +Source: libxmu +Source-Version: 2:1.1.3-3 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libx11-6 + +Package: libcdio-cdda2 +Architecture: amd64 +Version: 10.2+2.0.0-1build3 +APT-ID: 1861 +Multi-Arch: same +Source: libcdio-paranoia +Source-Version: 10.2+2.0.0-1build3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libcdio19 (>= 2.1.0) + +Package: ubuntu-release-upgrader-gtk +Architecture: all +Version: 1:22.04.14 +APT-ID: 74532 +Source: ubuntu-release-upgrader +Source-Version: 1:22.04.14 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any, ubuntu-release-upgrader-core (= 1:22.04.14), update-manager, python3-distupgrade (= 1:22.04.14), python3-dbus, python3-gi (>= 3.8), gir1.2-vte-2.91, gir1.2-gtk-3.0, gir1.2-webkit2-4.0 + +Package: remmina-plugin-rdp +Architecture: amd64 +Version: 1.4.25+dfsg-1 +APT-ID: 5594 +Multi-Arch: same +Source: remmina +Source-Version: 1.4.25+dfsg-1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcairo2 (>= 1.6.0), libcups2 (>= 1.6.0), libfreerdp-client2-2 (>= 2.2.0~), libfreerdp2-2 (>= 2.3.0+dfsg1), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.67.3), libgtk-3-0 (>= 3.21.4), libwinpr2-2 (>= 2.1.0+dfsg1), libx11-6, remmina (= 1.4.25+dfsg-1) + +Package: initramfs-tools-bin +Architecture: amd64 +Version: 0.140ubuntu13 +APT-ID: 1126 +Source: initramfs-tools +Source-Version: 0.140ubuntu13 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgcc-s1 (>= 3.0), libudev1 (>= 183) + +Package: libefivar1 +Architecture: amd64 +Version: 37-6ubuntu2 +APT-ID: 2136 +Multi-Arch: same +Source: efivar +Source-Version: 37-6ubuntu2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Breaks: efibootmgr (<< 0.12-2) + +Package: pulseaudio-utils +Architecture: amd64 +Version: 1:15.99.1+dfsg1-1ubuntu1 +APT-ID: 4989 +Source: pulseaudio +Source-Version: 1:15.99.1+dfsg1-1ubuntu1 +Priority: optional +Section: sound +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libpulse0 (= 1:15.99.1+dfsg1-1ubuntu1), libsndfile1 (>= 1.0.20), libx11-6, libx11-xcb1 (>= 2:1.7.2), libxcb1, libpulsedsp +Suggests: avahi-daemon, pulseaudio +Replaces: pulseaudio (<< 1:14.2-3~) +Breaks: pulseaudio (<< 1:14.2-3~) + +Package: libmozjs-91-0 +Architecture: amd64 +Version: 91.10.0-0ubuntu1 +APT-ID: 72459 +Multi-Arch: same +Source: mozjs91 +Source-Version: 91.10.0-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgcc-s1 (>= 3.4), libicu70 (>= 70.1-1~), libstdc++6 (>= 5.2), zlib1g (>= 1:1.1.4), tzdata + +Package: apparmor +Architecture: amd64 +Version: 3.0.4-2ubuntu2.1 +APT-ID: 71703 +Source: apparmor +Source-Version: 3.0.4-2ubuntu2.1 +Priority: standard +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf, lsb-base, debconf (>= 0.5) | debconf-2.0, libc6 (>= 2.34) +Suggests: apparmor-profiles-extra, apparmor-utils +Replaces: fcitx-data (<< 1:4.2.9.1-1ubuntu2) +Breaks: apparmor-profiles-extra (<< 1.21), fcitx-data (<< 1:4.2.9.1-1ubuntu2), snapd (<< 2.44.3+20.04~) + +Package: xdg-desktop-portal-gnome +Architecture: amd64 +Version: 42.1-0ubuntu1 +APT-ID: 74550 +Multi-Arch: foreign +Source: xdg-desktop-portal-gnome +Source-Version: 42.1-0ubuntu1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dbus-user-session | dbus-x11, gsettings-desktop-schemas, xdg-desktop-portal (>= 1.7.1), xdg-desktop-portal-gtk, libadwaita-1-0 (>= 1.0.0), libc6 (>= 2.34), libcairo2 (>= 1.2.4), libfontconfig1 (>= 2.12.6), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.55.1), libgnome-bg-4-1 (>= 3.17.92), libgnome-desktop-4-1 (>= 3.17.92), libgtk-4-1 (>= 4.0.0), libx11-6 +Suggests: accountsservice, evince +Recommends: gnome-shell (>= 41~) | budgie-desktop (>= 10.5.3-3~), gnome-settings-daemon (>= 41~) +Provides: xdg-desktop-portal-backend (= 1.7.1) + +Package: libsnapd-glib1 +Architecture: amd64 +Version: 1.60-0ubuntu1 +APT-ID: 3692 +Multi-Arch: same +Source: snapd-glib +Source-Version: 1.60-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libglib2.0-0 (>= 2.67.1), libjson-glib-1.0-0 (>= 1.5.2), libsoup2.4-1 (>= 2.39.2) +Suggests: snapd + +Package: at-spi2-core +Architecture: amd64 +Version: 2.44.0-3 +APT-ID: 60 +Multi-Arch: foreign +Source: at-spi2-core +Source-Version: 2.44.0-3 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libatspi2.0-0 (>= 2.9.90), libc6 (>= 2.34), libdbus-1-3 (>= 1.9.14), libglib2.0-0 (>= 2.67.4), libsystemd0, libx11-6, libxtst6, gsettings-desktop-schemas + +Package: usb-creator-gtk +Architecture: all +Version: 0.3.13 +APT-ID: 5925 +Source: usb-creator +Source-Version: 0.3.13 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any (>= 3.2~), usb-creator-common (= 0.3.13), python3-gi, gir1.2-gtk-3.0, gir1.2-gudev-1.0, gir1.2-pango-1.0, gir1.2-glib-2.0, gir1.2-unity-7.0, python3-dbus + +Package: libdeflate0 +Architecture: amd64 +Version: 1.10-2 +APT-ID: 2058 +Multi-Arch: same +Source: libdeflate +Source-Version: 1.10-2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: libcogl20 +Architecture: amd64 +Version: 1.22.8-3build1 +APT-ID: 1918 +Multi-Arch: same +Source: cogl +Source-Version: 1.22.8-3build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libgl1, libc6 (>= 2.17), libcairo2 (>= 1.10), libdrm2 (>= 2.4.17), libegl1, libgbm1 (>= 8.1~0), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.32.0), libwayland-client0 (>= 1.20.0), libwayland-egl1 (>= 1.15.0), libwayland-server0 (>= 1.2.0), libx11-6, libxdamage1 (>= 1:1.1), libxext6, libxfixes3, libxrandr2 (>= 2:1.2.0) +Suggests: libgles2 +Recommends: libcogl-common +Breaks: libclutter-1.0-0 (<< 1.17) + +Package: libatk-bridge2.0-0 +Architecture: amd64 +Version: 2.38.0-3 +APT-ID: 1652 +Multi-Arch: same +Source: at-spi2-atk +Source-Version: 2.38.0-3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libatk1.0-0 (>= 2.36.0~), libatspi2.0-0 (>= 2.9.90), libc6 (>= 2.7), libdbus-1-3 (>= 1.9.14), libglib2.0-0 (>= 2.41.1) + +Package: libgif7 +Architecture: amd64 +Version: 5.1.9-2build2 +APT-ID: 2366 +Multi-Arch: same +Source: giflib +Source-Version: 5.1.9-2build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: libjpeg8 +Architecture: amd64 +Version: 8c-2ubuntu10 +APT-ID: 2743 +Multi-Arch: same +Source: libjpeg8-empty +Source-Version: 8c-2ubuntu10 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libjpeg-turbo8 (>= 1.1.90+svn722-1ubuntu6) + +Package: libmutter-10-0 +Architecture: amd64 +Version: 42.2-0ubuntu1 +APT-ID: 72461 +Multi-Arch: same +Source: mutter +Source-Version: 42.2-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: adwaita-icon-theme, gsettings-desktop-schemas (>= 40~alpha), mutter-common (>= 42.2-0ubuntu1), libatk1.0-0 (>= 2.2.0), libc6 (>= 2.34), libcairo-gobject2 (>= 1.12.16), libcairo2 (>= 1.14.0), libcanberra0 (>= 0.2), libdrm2 (>= 2.4.71), libegl1, libfontconfig1 (>= 2.12.6), libfribidi0 (>= 1.0.0), libgbm1 (>= 17.3.0~rc1), libgdk-pixbuf-2.0-0 (>= 2.22.0), libgl1, libglib2.0-0 (>= 2.70.0), libgnome-desktop-3-19 (>= 3.36.0), libgraphene-1.0-0 (>= 1.10.0), libgtk-3-0 (>= 3.19.12), libgudev-1.0-0 (>= 232), libice6 (>= 1:1.0.0), libinput10 (>= 1.19.0), libjson-glib-1.0-0 (>= 1.5.2), libpango-1.0-0 (>= 1.46.0), libpangocairo-1.0-0 (>= 1.46.0), libpangoft2-1.0-0 (>= 1.46.0), libpipewire-0.3-0 (>= 0.3.33), libsm6, libstartup-notification0 (>= 0.11), libsystemd0 (>= 226), libudev1 (>= 183), libwacom9 (>= 2.0.0), libwayland-server0 (>= 1.20.0), libx11-6 (>= 2:1.7.0), libx11-xcb1 (>= 2:1.7.5), libxau6 (>= 1:1.0.9), libxcb-randr0 (>= 1.3), libxcb-res0 (>= 1.10), libxcb1, libxcomposite1 (>= 1:0.4.5), libxcursor1 (>> 1.1.2), libxdamage1 (>= 1:1.1), libxext6 (>= 2:1.3.0), libxfixes3 (>= 1:6.0.0), libxi6 (>= 2:1.6.99.1), libxinerama1 (>= 2:1.1.4), libxkbcommon-x11-0 (>= 0.5.0), libxkbcommon0 (>= 0.5.0), libxkbfile1 (>= 1:1.1.0), libxrandr2 (>= 2:1.5.0), libxtst6 +Breaks: apparmor (<< 2.13.3-5~), gnome-control-center (<< 1:3.25.2), gnome-settings-daemon (<< 3.31.101), gnome-shell (<< 42~rc), libgtk-3-0 (<< 3.24.33-1ubuntu2~), libgtk-4-1 (<< 4.6.3+ds1-0ubuntu1~) + +Package: patch +Architecture: amd64 +Version: 2.7.6-7build2 +APT-ID: 4857 +Multi-Arch: foreign +Source: patch +Source-Version: 2.7.6-7build2 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Suggests: ed, diffutils-doc + +Package: libdee-1.0-4 +Architecture: amd64 +Version: 1.2.7+17.10.20170616-6ubuntu4 +APT-ID: 2054 +Multi-Arch: same +Source: dee +Source-Version: 1.2.7+17.10.20170616-6ubuntu4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libglib2.0-0 (>= 2.68.0), libicu70 (>= 70.1-1~) +Replaces: libdee-1.0-1 +Breaks: libdee-1.0-1 (<< 0.5.22-1) + +Package: libfido2-1 +Architecture: amd64 +Version: 1.10.0-1 +APT-ID: 2214 +Multi-Arch: same +Source: libfido2 +Source-Version: 1.10.0-1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libcbor0.8 (>= 0.5.0), libssl3 (>= 3.0.0~~alpha1), libudev1 (>= 183), zlib1g (>= 1:1.2.0) + +Package: x11-common +Architecture: all +Version: 1:7.7+23ubuntu2 +APT-ID: 5989 +Multi-Arch: foreign +Source: xorg +Source-Version: 1:7.7+23ubuntu2 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: lsb-base (>= 1.3-9ubuntu2) + +Package: libiec61883-0 +Architecture: amd64 +Version: 1.2.0-4build3 +APT-ID: 2636 +Multi-Arch: same +Source: libiec61883 +Source-Version: 1.2.0-4build3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libraw1394-11 (>= 2.1.2) + +Package: kmod +Architecture: amd64 +Version: 29-1ubuntu1 +APT-ID: 1176 +Multi-Arch: foreign +Source: kmod +Source-Version: 29-1ubuntu1 +Priority: required +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), liblzma5 (>= 5.1.1alpha+20120614), libssl3 (>= 3.0.0~~alpha1), libzstd1 (>= 1.4.0), libkmod2 (= 29-1ubuntu1), lsb-base + +Package: os-prober +Architecture: amd64 +Version: 1.79ubuntu2 +APT-ID: 4832 +Source: os-prober +Source-Version: 1.79ubuntu2 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libc6 (>= 2.34), grub-common, mount + +Package: firmware-sof-signed +Architecture: all +Version: 2.0-1ubuntu3 +APT-ID: 75025 +Source: firmware-sof +Source-Version: 2.0-1ubuntu3 +Priority: optional +Section: restricted/kernel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=restricted,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=restricted,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: linux-firmware (<= 1.202) +Breaks: linux-firmware (<= 1.202) + +Package: bluez-obexd +Architecture: amd64 +Version: 5.64-0ubuntu1 +APT-ID: 138 +Source: bluez +Source-Version: 5.64-0ubuntu1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libdbus-1-3 (>= 1.9.14), libglib2.0-0 (>= 2.35.9), libical3 (>= 3.0.0) +Recommends: dbus-user-session +Conflicts: obexd-client, obexd-server +Replaces: obexd-client, obexd-server + +Package: libtss2-tcti-swtpm0 +Architecture: amd64 +Version: 3.2.0-1ubuntu1 +APT-ID: 3904 +Multi-Arch: same +Source: tpm2-tss +Source-Version: 3.2.0-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: tpm-udev, libc6 (>= 2.14), libtss2-mu0 (>= 3.0.1) +Replaces: libtss2-esys0 (<< 3.0.1-2) +Breaks: libtss2-esys0 (<< 3.0.1-2) + +Package: busybox-static +Architecture: amd64 +Version: 1:1.30.1-7ubuntu3 +APT-ID: 152 +Source: busybox +Source-Version: 1:1.30.1-7ubuntu3 +Priority: standard +Section: shells +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Conflicts: busybox +Replaces: busybox +Provides: busybox + +Package: liblouis20 +Architecture: amd64 +Version: 3.20.0-2ubuntu0.1 +APT-ID: 72453 +Multi-Arch: same +Source: liblouis +Source-Version: 3.20.0-2ubuntu0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), liblouis-data + +Package: liblangtag-common +Architecture: all +Version: 0.6.3-2ubuntu1 +APT-ID: 2788 +Multi-Arch: foreign +Source: liblangtag +Source-Version: 0.6.3-2ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: cups-client +Architecture: amd64 +Version: 2.4.1op1-1ubuntu4.1 +APT-ID: 71756 +Multi-Arch: foreign +Source: cups +Source-Version: 2.4.1op1-1ubuntu4.1 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: adduser, cups-common (>= 2.4.1op1-1ubuntu4.1), libcups2 (= 2.4.1op1-1ubuntu4.1), libc6 (>= 2.34) +Suggests: cups, cups-bsd, smbclient +Conflicts: lprng + +Package: baobab +Architecture: amd64 +Version: 41.0-2 +APT-ID: 80 +Source: baobab +Source-Version: 41.0-2 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend, libc6 (>= 2.34), libcairo2 (>= 1.2.4), libglib2.0-0 (>= 2.55.1), libgtk-3-0 (>= 3.24.1), libhandy-1-0 (>= 1.5.90), libpango-1.0-0 (>= 1.14.0) +Recommends: yelp + +Package: remmina-plugin-vnc +Architecture: amd64 +Version: 1.4.25+dfsg-1 +APT-ID: 5596 +Multi-Arch: same +Source: remmina +Source-Version: 1.4.25+dfsg-1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcairo2 (>= 1.6.0), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.26.0), libgtk-3-0 (>= 3.9.12), libvncclient1 (>= 0.9.10), remmina (= 1.4.25+dfsg-1) + +Package: cups-ppdc +Architecture: amd64 +Version: 2.4.1op1-1ubuntu4.1 +APT-ID: 71761 +Multi-Arch: foreign +Source: cups +Source-Version: 2.4.1op1-1ubuntu4.1 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: cups-common (>= 2.4.1op1-1ubuntu4.1), libc6 (>= 2.34), libcups2 (>= 2.3~b6), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 5) + +Package: alsa-ucm-conf +Architecture: all +Version: 1.2.6.3-1ubuntu1 +APT-ID: 16 +Multi-Arch: foreign +Source: alsa-ucm-conf +Source-Version: 1.2.6.3-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libasound2 (>= 1.2.4) + +Package: libxml-xpathengine-perl +Architecture: all +Version: 0.14-1 +APT-ID: 4235 +Source: libxml-xpathengine-perl +Source-Version: 0.14-1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl + +Package: gir1.2-wnck-3.0 +Architecture: amd64 +Version: 40.1-1 +APT-ID: 757 +Multi-Arch: same +Source: libwnck3 +Source-Version: 40.1-1 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-gdkpixbuf-2.0, gir1.2-glib-2.0 (>= 0.10), gir1.2-gtk-3.0 (>= 3.22.0), libwnck-3-0 (>= 3.36.0) + +Package: speech-dispatcher-espeak-ng +Architecture: amd64 +Version: 0.11.1-1ubuntu1 +APT-ID: 79616 +Multi-Arch: foreign +Source: speech-dispatcher +Source-Version: 0.11.1-1ubuntu1 +Priority: optional +Section: sound +Installed: yes +APT-Pin: 100 +APT-Automatic: yes +Depends: libc6 (>= 2.34), libdotconf0 (>= 1.0.13), libespeak-ng1 (>= 1.50+dfsg), libglib2.0-0 (>= 2.36), libltdl7 (>= 2.4.6), speech-dispatcher (= 0.11.1-1ubuntu1) + +Package: libwayland-server0 +Architecture: amd64 +Version: 1.20.0-1ubuntu0.1 +APT-ID: 72825 +Multi-Arch: same +Source: wayland +Source-Version: 1.20.0-1ubuntu0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libffi8 (>= 3.4) +Conflicts: libwayland0 (<< 1.1.0-1) +Replaces: libwayland0 (<< 1.1.0-1) +Breaks: weston (<< 1.2.0) + +Package: libcolorhug2 +Architecture: amd64 +Version: 1.4.6-1 +APT-ID: 1927 +Multi-Arch: same +Source: colord +Source-Version: 1.4.6-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libcolord2 (>= 1.4.3), libglib2.0-0 (>= 2.58), libgusb2 (>= 0.2.7) + +Package: libsmbios-c2 +Architecture: amd64 +Version: 2.4.3-1build1 +APT-ID: 3688 +Source: libsmbios +Source-Version: 2.4.3-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) +Suggests: libsmbios-doc +Conflicts: libsmbios2, libsmbios2v5 +Replaces: libsmbios2, libsmbios2v5 +Provides: libsmbios2v5 (= 2.3.1-0ubuntu2), libsmbios2 (= 2.3.1-1) + +Package: libglx0 +Architecture: amd64 +Version: 1.4.0-1 +APT-ID: 2407 +Multi-Arch: same +Source: libglvnd +Source-Version: 1.4.0-1 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglvnd0 (= 1.4.0-1), libx11-6 (>= 2:1.4.99.1), libglx-mesa0 + +Package: libcairomm-1.0-1v5 +Architecture: amd64 +Version: 1.12.2-4build3 +APT-ID: 1835 +Multi-Arch: same +Source: cairomm +Source-Version: 1.12.2-4build3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libcairo2 (>= 1.12.0), libgcc-s1 (>= 3.3.1), libsigc++-2.0-0v5 (>= 2.5.1), libstdc++6 (>= 5.2) +Conflicts: libcairomm-1.0-1 +Replaces: libcairomm-1.0-1 + +Package: gnome-session-bin +Architecture: amd64 +Version: 42.0-1ubuntu2 +APT-ID: 801 +Source: gnome-session +Source-Version: 42.0-1ubuntu2 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: default-dbus-session-bus | dbus-session-bus, gsettings-desktop-schemas, upower (>= 0.9.0), dconf-gsettings-backend | gsettings-backend, libc6 (>= 2.34), libegl1, libepoxy0 (>= 1.0), libgl1, libgles2, libglib2.0-0 (>= 2.70.0), libgnome-desktop-3-19 (>= 3.34.2), libgtk-3-0 (>= 3.22.0), libice6 (>= 1:1.0.0), libjson-glib-1.0-0 (>= 1.5.2), libsm6, libsystemd0 (>= 209), libx11-6, libxcomposite1 (>= 1:0.4.5) +Recommends: gnome-startup-applications, default-logind | logind +Breaks: gdm3 (<< 3.37.90) + +Package: laptop-detect +Architecture: all +Version: 0.16 +APT-ID: 1536 +Source: laptop-detect +Source-Version: 0.16 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: dmidecode + +Package: libblockdev-fs2 +Architecture: amd64 +Version: 2.26-1 +APT-ID: 1734 +Multi-Arch: same +Source: libblockdev +Source-Version: 2.26-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libblkid1 (>= 2.24.2), libblockdev-part-err2 (>= 2.14), libblockdev-utils2 (>= 2.16), libc6 (>= 2.7), libglib2.0-0 (>= 2.42.2), libmount1 (>= 2.30.2), libparted-fs-resize0 (>= 3.1), libparted2 (>= 3.1), e2fsprogs + +Package: libmagic1 +Architecture: amd64 +Version: 1:5.41-3 +APT-ID: 2877 +Multi-Arch: same +Source: file +Source-Version: 1:5.41-3 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbz2-1.0, libc6 (>= 2.33), liblzma5 (>= 5.1.1alpha+20120614), zlib1g (>= 1:1.1.4), libmagic-mgc (= 1:5.41-3) +Suggests: file + +Package: libgcr-ui-3-1 +Architecture: amd64 +Version: 3.40.0-4 +APT-ID: 2316 +Multi-Arch: same +Source: gcr +Source-Version: 3.40.0-4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libgck-1-0 (= 3.40.0-4), libgcr-base-3-1 (= 3.40.0-4), libc6 (>= 2.14), libcairo2 (>= 1.2.4), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.59.0), libgtk-3-0 (>= 3.22.0), libpango-1.0-0 (>= 1.18.0) +Replaces: libgcr-3-1 (<< 3.8.2-2) +Breaks: libgcr-3-1 (<< 3.8.2-2) + +Package: python3-reportlab-accel +Architecture: amd64 +Version: 3.6.8-1 +APT-ID: 5452 +Multi-Arch: same +Source: python-reportlab +Source-Version: 3.6.8-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3 (<< 3.11), python3 (>= 3.10~), libc6 (>= 2.4) +Provides: python3.10-reportlab-accel + +Package: libcaca0 +Architecture: amd64 +Version: 0.99.beta19-2.2ubuntu4 +APT-ID: 1825 +Multi-Arch: same +Source: libcaca +Source-Version: 0.99.beta19-2.2ubuntu4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libncursesw6 (>= 6), libslang2 (>= 2.2.4), libstdc++6 (>= 4.1.1), libtinfo6 (>= 6), zlib1g (>= 1:1.1.4) + +Package: python3-distro +Architecture: all +Version: 1.7.0-1 +APT-ID: 5215 +Multi-Arch: foreign +Source: python-distro +Source-Version: 1.7.0-1 +Priority: extra +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: lsb-release, python3:any + +Package: cups-daemon +Architecture: amd64 +Version: 2.4.1op1-1ubuntu4.1 +APT-ID: 71759 +Multi-Arch: foreign +Source: cups +Source-Version: 2.4.1op1-1ubuntu4.1 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: adduser, bc, libcups2 (= 2.4.1op1-1ubuntu4.1), lsb-base, procps, ssl-cert, libapparmor1 (>= 2.7.0~beta1+bzr1772), libavahi-client3 (>= 0.6.16), libavahi-common3 (>= 0.6.16), libc6 (>= 2.34), libdbus-1-3 (>= 1.9.14), libglib2.0-0 (>= 2.22.0), libgssapi-krb5-2 (>= 1.17), libpam0g (>= 0.99.7.1), libpaper1, libsnapd-glib1 (>= 1.49), libsystemd0 +Pre-Depends: init-system-helpers (>= 1.54~) +Suggests: cups, cups-bsd, cups-client (>= 2.4.1op1-1ubuntu4.1), cups-common (>= 2.4.1op1-1ubuntu4.1), cups-filters, cups-pdf, cups-ppdc, cups-server-common (>= 2.4.1op1-1ubuntu4.1), foomatic-db-compressed-ppds | foomatic-db, ghostscript, poppler-utils, smbclient, udev +Recommends: avahi-daemon, colord, cups-browsed, ipp-usb +Replaces: cups (<< 2.1.0-6~) +Breaks: cups (<< 2.1.0-6~) + +Package: ubuntu-settings +Architecture: all +Version: 22.04.6 +APT-ID: 5899 +Source: ubuntu-settings +Source-Version: 22.04.6 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend, gnome-control-center-data, gsettings-desktop-schemas (>= 40), libglib2.0-bin (>= 2.53.4-3ubuntu1~) + +Package: grub-gfxpayload-lists +Architecture: amd64 +Version: 0.7 +APT-ID: 907 +Source: grub-gfxpayload-lists +Source-Version: 0.7 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: grub-pc (>= 1.99~20101210-1ubuntu2) + +Package: update-inetd +Architecture: all +Version: 4.51 +APT-ID: 5914 +Multi-Arch: foreign +Source: update-inetd +Source-Version: 4.51 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf (>= 0.5) | debconf-2.0, perl:any + +Package: libjansson4 +Architecture: amd64 +Version: 2.13.1-1.1build3 +APT-ID: 2726 +Multi-Arch: same +Source: jansson +Source-Version: 2.13.1-1.1build3 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: python3-pymacaroons +Architecture: all +Version: 0.13.0-4 +APT-ID: 5421 +Multi-Arch: foreign +Source: pymacaroons +Source-Version: 0.13.0-4 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-nacl (>= 1.1.2), python3-six (>= 1.8.0), python3:any + +Package: libfribidi0 +Architecture: amd64 +Version: 1.0.8-2ubuntu3.1 +APT-ID: 72357 +Multi-Arch: same +Source: fribidi +Source-Version: 1.0.8-2ubuntu3.1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4) + +Package: ubuntu-advantage-desktop-daemon +Architecture: amd64 +Version: 1.9~22.04.1 +APT-ID: 74527 +Source: ubuntu-advantage-desktop-daemon +Source-Version: 1.9~22.04.1 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: ubuntu-advantage-tools, libc6 (>= 2.34), libglib2.0-0 (>= 2.39.4), libjson-glib-1.0-0 (>= 1.5.2), libpolkit-gobject-1-0 (>= 0.99) +Conflicts: ubuntu-advantage-daemon +Replaces: ubuntu-advantage-daemon +Provides: ubuntu-advantage-daemon + +Package: liblua5.3-0 +Architecture: amd64 +Version: 5.3.6-1build1 +APT-ID: 2856 +Multi-Arch: same +Source: lua5.3 +Source-Version: 5.3.6-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libstdc++6 (>= 4.1.1) + +Package: libencode-locale-perl +Architecture: all +Version: 1.05-1.1 +APT-ID: 2148 +Source: libencode-locale-perl +Source-Version: 1.05-1.1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any + +Package: fonts-lohit-mlym +Architecture: all +Version: 2.92.2-2 +APT-ID: 466 +Multi-Arch: foreign +Source: fonts-lohit-mlym +Source-Version: 2.92.2-2 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: ttf-malayalam-fonts (<= 1:0.5.12) +Breaks: ttf-malayalam-fonts (<= 1:0.5.12) + +Package: libcdio19 +Architecture: amd64 +Version: 2.1.0-3build1 +APT-ID: 1864 +Multi-Arch: same +Source: libcdio +Source-Version: 2.1.0-3build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: libpython3.10-stdlib +Architecture: amd64 +Version: 3.10.6-1~22.04 +APT-ID: 72535 +Multi-Arch: same +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: required +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libpython3.10-minimal (= 3.10.6-1~22.04), media-types | mime-support, libbz2-1.0, libc6 (>= 2.34), libcrypt1 (>= 1:4.1.0), libdb5.3, libffi8 (>= 3.4), liblzma5 (>= 5.1.1alpha+20120614), libmpdec3, libncursesw6 (>= 6.1), libnsl2 (>= 1.0), libreadline8 (>= 7.0~beta), libsqlite3-0 (>= 3.14.0), libtinfo6 (>= 6), libtirpc3 (>= 1.0.2), libuuid1 (>= 2.20.1) +Replaces: python3-gdbm (<< 3.9.9-1~) +Breaks: python3-gdbm (<< 3.9.9-1~) + +Package: libpython3.10-stdlib +Architecture: amd64 +Version: 3.10.4-3ubuntu0.1 +APT-ID: 79377 +Multi-Arch: same +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3ubuntu0.1 +Priority: required +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Automatic: yes +Depends: libpython3.10-minimal (= 3.10.4-3ubuntu0.1), media-types | mime-support, libbz2-1.0, libc6 (>= 2.34), libcrypt1 (>= 1:4.1.0), libdb5.3, libffi8 (>= 3.4), liblzma5 (>= 5.1.1alpha+20120614), libmpdec3, libncursesw6 (>= 6.1), libnsl2 (>= 1.0), libreadline8 (>= 7.0~beta), libsqlite3-0 (>= 3.14.0), libtinfo6 (>= 6), libtirpc3 (>= 1.0.2), libuuid1 (>= 2.20.1) +Replaces: python3-gdbm (<< 3.9.9-1~) +Breaks: python3-gdbm (<< 3.9.9-1~) + +Package: libpython3.10-stdlib +Architecture: amd64 +Version: 3.10.4-3 +APT-ID: 3341 +Multi-Arch: same +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3 +Priority: required +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Automatic: yes +Depends: libpython3.10-minimal (= 3.10.4-3), media-types | mime-support, libbz2-1.0, libc6 (>= 2.34), libcrypt1 (>= 1:4.1.0), libdb5.3, libffi8 (>= 3.4), liblzma5 (>= 5.1.1alpha+20120614), libmpdec3, libncursesw6 (>= 6.1), libnsl2 (>= 1.0), libreadline8 (>= 7.0~beta), libsqlite3-0 (>= 3.14.0), libtinfo6 (>= 6), libtirpc3 (>= 1.0.2), libuuid1 (>= 2.20.1) +Replaces: python3-gdbm (<< 3.9.9-1~) +Breaks: python3-gdbm (<< 3.9.9-1~) + +Package: libraw1394-11 +Architecture: amd64 +Version: 2.1.2-2build2 +APT-ID: 3375 +Multi-Arch: same +Source: libraw1394 +Source-Version: 2.1.2-2build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) +Suggests: libraw1394-doc + +Package: librtmp1 +Architecture: amd64 +Version: 2.4+20151223.gitfa8646d.1-2build4 +APT-ID: 3619 +Multi-Arch: same +Source: rtmpdump +Source-Version: 2.4+20151223.gitfa8646d.1-2build4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libgmp10 (>= 2:6.2.1+dfsg), libgnutls30 (>= 3.7.2), libhogweed6, libnettle8, zlib1g (>= 1:1.1.4) + +Package: python3-defer +Architecture: all +Version: 1.0.6-2.1ubuntu1 +APT-ID: 5209 +Source: python-defer +Source-Version: 1.0.6-2.1ubuntu1 +Priority: extra +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any (>= 3.2~) + +Package: wireless-tools +Architecture: amd64 +Version: 30~pre9-13.1ubuntu4 +APT-ID: 5973 +Multi-Arch: foreign +Source: wireless-tools +Source-Version: 30~pre9-13.1ubuntu4 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libiw30 (>= 30~pre1) + +Package: colord +Architecture: amd64 +Version: 1.4.6-1 +APT-ID: 206 +Multi-Arch: foreign +Source: colord +Source-Version: 1.4.6-1 +Priority: optional +Section: graphics +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: acl, adduser, colord-data, policykit-1 (>= 0.103), dconf-gsettings-backend | gsettings-backend, libc6 (>= 2.34), libcolord2 (>= 1.4.3), libcolorhug2 (>= 0.1.30), libdbus-1-3 (>= 1.9.14), libglib2.0-0 (>= 2.58), libgudev-1.0-0 (>= 146), libgusb2 (>= 0.2.7), liblcms2-2 (>= 2.2+git20110628), libpolkit-gobject-1-0 (>= 0.103), libsane1 (>= 1.0.27), libsqlite3-0 (>= 3.5.9), libsystemd0 + +Package: libproxy1-plugin-networkmanager +Architecture: amd64 +Version: 0.4.17-2 +APT-ID: 3315 +Multi-Arch: same +Source: libproxy +Source-Version: 0.4.17-2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libdbus-1-3 (>= 1.9.14), libstdc++6 (>= 5), libproxy1v5 (= 0.4.17-2) +Enhances: libproxy1v5 + +Package: libsonic0 +Architecture: amd64 +Version: 0.2.0-11build1 +APT-ID: 3703 +Multi-Arch: same +Source: sonic +Source-Version: 0.2.0-11build1 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: libmanette-0.2-0 +Architecture: amd64 +Version: 0.2.6-3build1 +APT-ID: 2883 +Multi-Arch: same +Source: libmanette +Source-Version: 0.2.6-3build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libevdev2 (>= 1.4.5), libglib2.0-0 (>= 2.50.0), libgudev-1.0-0 (>= 146) + +Package: libgupnp-1.2-1 +Architecture: amd64 +Version: 1.4.3-1 +APT-ID: 2552 +Multi-Arch: same +Source: gupnp +Source-Version: 1.4.3-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libglib2.0-0 (>= 2.66), libgssdp-1.2-0 (>= 1.4.0.1), libsoup2.4-1 (>= 2.48.0), libuuid1 (>= 2.16), libxml2 (>= 2.7.4), shared-mime-info + +Package: xserver-xorg-input-all +Architecture: amd64 +Version: 1:7.7+23ubuntu2 +APT-ID: 6047 +Source: xorg +Source-Version: 1:7.7+23ubuntu2 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: xserver-xorg-input-libinput +Recommends: xserver-xorg-input-wacom + +Package: adwaita-icon-theme +Architecture: all +Version: 41.0-1ubuntu1 +APT-ID: 9 +Multi-Arch: foreign +Source: adwaita-icon-theme +Source-Version: 41.0-1ubuntu1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: hicolor-icon-theme, gtk-update-icon-cache, ubuntu-mono | adwaita-icon-theme-full +Recommends: librsvg2-common +Replaces: adwaita-icon-theme-full (<< 41.0-1ubuntu1), gnome-themes-standard-data (<< 3.18.0-2~) +Breaks: adwaita-icon-theme-full (<< 41.0-1ubuntu1), gnome-themes-standard-data (<< 3.18.0-2~) + +Package: debconf +Architecture: all +Version: 1.5.79ubuntu1 +APT-ID: 276 +Multi-Arch: foreign +Source: debconf +Source-Version: 1.5.79ubuntu1 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Pre-Depends: perl-base (>= 5.20.1-3~) +Suggests: debconf-doc, debconf-utils, whiptail | dialog, libterm-readline-gnu-perl, libgtk3-perl, libnet-ldap-perl, perl, debconf-kde-helper (>= 0.1+git20110702) +Recommends: apt-utils (>= 0.5.1), debconf-i18n +Conflicts: apt (<< 0.3.12.1), cdebconf (<< 0.96), debconf-tiny, debconf-utils (<< 1.3.22), dialog (<< 0.9b-20020814-1), menu (<= 2.1.3-1), whiptail (<< 0.51.4-11), whiptail-utf8 (<= 0.50.17-13) +Replaces: debconf-tiny +Breaks: apt-listchanges (<< 3.14), ubiquity (<< 17.10.2), update-notifier-common (<< 3.187~) +Provides: debconf-2.0 + +Package: libgoa-1.0-0b +Architecture: amd64 +Version: 3.44.0-1ubuntu1 +APT-ID: 2453 +Multi-Arch: same +Source: gnome-online-accounts +Source-Version: 3.44.0-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libgoa-1.0-common (>= 3.44.0-1ubuntu1), libc6 (>= 2.4), libglib2.0-0 (>= 2.52) +Conflicts: libgoa-1.0-0 +Replaces: libgoa-1.0-0 + +Package: plymouth-theme-spinner +Architecture: amd64 +Version: 0.9.5+git20211018-1ubuntu3 +APT-ID: 4926 +Source: plymouth +Source-Version: 0.9.5+git20211018-1ubuntu3 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.29), libplymouth5 (>= 0.9.5), plymouth (= 0.9.5+git20211018-1ubuntu3), plymouth-label (= 0.9.5+git20211018-1ubuntu3), lsb-release +Replaces: plymouth-themes (<< 0.9.4git20190712-0ubuntu1~) +Breaks: plymouth-themes (<< 0.9.4git20190712-0ubuntu1~) +Provides: plymouth-theme + +Package: libgpm2 +Architecture: amd64 +Version: 1.20.7-10build1 +APT-ID: 2482 +Multi-Arch: same +Source: gpm +Source-Version: 1.20.7-10build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) +Suggests: gpm + +Package: linux-image-generic-hwe-22.04 +Architecture: amd64 +Version: 5.15.0.48.48 +APT-ID: 73466 +Source: linux-meta +Source-Version: 5.15.0.48.48 +Priority: optional +Section: kernel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: linux-image-5.15.0-48-generic, linux-modules-extra-5.15.0-48-generic, linux-firmware, intel-microcode, amd64-microcode +Recommends: thermald +Provides: zfs-modules (= 2.1.4-0ubuntu0.1), wireguard-modules (= 1.0.0), virtualbox-guest-modules (= 5.15.0-48), v4l2loopback-modules (= 0.12.5-1ubuntu5), spl-modules (= 2.1.4-0ubuntu0.1) + +Package: vim-common +Architecture: all +Version: 2:8.2.3995-1ubuntu2.1 +APT-ID: 74538 +Multi-Arch: foreign +Source: vim +Source-Version: 2:8.2.3995-1ubuntu2.1 +Priority: required +Section: editors +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=i386 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: xxd +Recommends: vim | vim-gtk3 | vim-athena | vim-nox | vim-tiny + +Package: libwebpdemux2 +Architecture: amd64 +Version: 1.2.2-2 +APT-ID: 4057 +Multi-Arch: same +Source: libwebp +Source-Version: 1.2.2-2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libwebp7 + +Package: libreoffice-draw +Architecture: amd64 +Version: 1:7.3.6-0ubuntu0.22.04.1 +APT-ID: 72554 +Source: libreoffice +Source-Version: 1:7.3.6-0ubuntu0.22.04.1 +Priority: optional +Section: editors +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libreoffice-common (>= 1:7.0.0~alpha~), libreoffice-core (= 1:7.3.6-0ubuntu0.22.04.1), ucf (>= 0.8), libavahi-client3 (>= 0.6.16), libavahi-common3 (>= 0.6.16), libc6 (>= 2.35), libcdr-0.1-1, libdbus-1-3 (>= 1.9.14), libfreehand-0.1-1, libgcc-s1 (>= 3.0), libglib2.0-0 (>= 2.38.0), libicu70 (>= 70.1-1~), libmspub-0.1-1, libmwaw-0.3-3, libodfgen-0.1-1, libpagemaker-0.0-0, libpng16-16 (>= 1.6.2-1), librevenge-0.0-0, libstdc++6 (>= 11), libuno-cppu3 (>= 4.4.0~alpha), libuno-cppuhelpergcc3-3 (>= 5.3.0~alpha), libuno-sal3 (>= 1:7.3.0~beta1), libuno-salhelpergcc3-3 (>= 3.6.0~beta), libvisio-0.1-1, libwpg-0.3-3, libxml2 (>= 2.8), uno-libs-private, zlib1g (>= 1:1.1.4) +Replaces: libreoffice-common (<< 1:6.4.2~rc1~), libreoffice-core (<< 1:6.4.1~rc1-3), libreoffice-impress (<< 1:5.2.0-2) +Breaks: libreoffice-common (<< 1:6.4.2~rc1~), libreoffice-core (<< 1:6.4.1~rc1-3), libreoffice-impress (<< 1:5.2.0-2) + +Package: libtiff5 +Architecture: amd64 +Version: 4.3.0-6ubuntu0.1 +APT-ID: 72779 +Multi-Arch: same +Source: tiff +Source-Version: 4.3.0-6ubuntu0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libdeflate0 (>= 1.0), libjbig0 (>= 2.0), libjpeg8 (>= 8c), liblzma5 (>= 5.1.1alpha+20120614), libwebp7, libzstd1 (>= 1.4.0), zlib1g (>= 1:1.1.4) + +Package: libdrm-nouveau2 +Architecture: amd64 +Version: 2.4.110-1ubuntu1 +APT-ID: 2095 +Multi-Arch: same +Source: libdrm +Source-Version: 2.4.110-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libdrm2 (>= 2.4.108) + +Package: libinput10 +Architecture: amd64 +Version: 1.20.0-1ubuntu0.1 +APT-ID: 72428 +Multi-Arch: same +Source: libinput +Source-Version: 1.20.0-1ubuntu0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.35), libevdev2 (>= 1.10.0), libmtdev1 (>= 1.1.0), libudev1 (>= 183), libwacom9 (>= 2.0.0), libinput-bin (>= 1.20.0-1ubuntu0.1) + +Package: python3.10-venv +Architecture: amd64 +Version: 3.10.6-1~22.04 +APT-ID: 78614 +Multi-Arch: allowed +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: optional +Section: universe/python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=universe,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3.10 (= 3.10.6-1~22.04), python3-pip-whl, python3-setuptools-whl, python3.10-distutils +Breaks: python3-pip (<< 1.5.6-4) + +Package: python3.10-venv +Architecture: amd64 +Version: 3.10.4-3ubuntu0.1 +APT-ID: 79556 +Multi-Arch: allowed +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3ubuntu0.1 +Priority: optional +Section: universe/python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=universe,b=amd64 +APT-Pin: 500 +Depends: python3.10 (= 3.10.4-3ubuntu0.1), python3-pip-whl, python3-setuptools-whl, python3.10-distutils +Breaks: python3-pip (<< 1.5.6-4) + +Package: python3.10-venv +Architecture: amd64 +Version: 3.10.4-3 +APT-ID: 58466 +Multi-Arch: allowed +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3 +Priority: optional +Section: universe/python +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=universe,b=amd64 +APT-Pin: 500 +Depends: python3.10 (= 3.10.4-3), python3-pip-whl, python3-setuptools-whl, python3.10-distutils +Breaks: python3-pip (<< 1.5.6-4) + +Package: python3-reportlab +Architecture: all +Version: 3.6.8-1 +APT-ID: 5451 +Source: python-reportlab +Source-Version: 3.6.8-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-reportlab-accel (>= 3.6.8-1), python3-pil, python3:any +Suggests: pdf-viewer, python3-egenix-mxtexttools (>= 2.0.6-3.1), python-reportlab-doc +Recommends: python3-renderpm + +Package: printer-driver-c2esp +Architecture: amd64 +Version: 27-11build1 +APT-ID: 4965 +Source: c2esp +Source-Version: 27-11build1 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcups2 (>= 2.3~b6), libcupsfilters1 (>= 1.0~b1), libjbig0 (>= 2.0), zlib1g (>= 1:1.1.4) +Suggests: psutils +Recommends: cups-ppdc + +Package: gnome-system-monitor +Architecture: amd64 +Version: 42.0-1 +APT-ID: 814 +Source: gnome-system-monitor +Source-Version: 42.0-1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend, libc6 (>= 2.34), libcairo2 (>= 1.2.4), libgcc-s1 (>= 3.3.1), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.56.0), libglibmm-2.4-1v5 (>= 2.66.2), libgtk-3-0 (>= 3.22.0), libgtkmm-3.0-1v5 (>= 3.24.5), libgtop-2.0-11 (>= 2.37.90), libhandy-1-0 (>= 1.5.90), libpango-1.0-0 (>= 1.37.2), libpangocairo-1.0-0 (>= 1.14.0), librsvg2-2 (>= 2.35.0), libsigc++-2.0-0v5 (>= 2.2.0), libstdc++6 (>= 11), libsystemd0 +Recommends: gvfs + +Package: language-selector-gnome +Architecture: all +Version: 0.219 +APT-ID: 1535 +Source: language-selector +Source-Version: 0.219 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: language-selector-common (= 0.219), python3:any, python3-gi, gir1.2-gtk-3.0, python3-apt, aptdaemon (>= 0.40+bzr527), python3-aptdaemon.gtk3widgets, im-config (>= 0.29-1ubuntu10~) +Recommends: yelp + +Package: libip4tc2 +Architecture: amd64 +Version: 1.8.7-1ubuntu5 +APT-ID: 2674 +Multi-Arch: same +Source: iptables +Source-Version: 1.8.7-1ubuntu5 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.28) + +Package: software-properties-common +Architecture: all +Version: 0.99.22.3 +APT-ID: 74407 +Source: software-properties +Source-Version: 0.99.22.3 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: ca-certificates, gir1.2-glib-2.0, gir1.2-packagekitglib-1.0 (>= 1.1.0-2), packagekit, python-apt-common (>= 0.9), python3, python3-dbus, python3-gi, python3-software-properties (= 0.99.22.3), python3:any +Replaces: python-software-properties (<< 0.85), python3-software-properties (<< 0.85) +Breaks: python-software-properties (<< 0.85), python3-software-properties (<< 0.85) + +Package: thunderbird +Architecture: amd64 +Version: 1:91.11.0+build2-0ubuntu0.22.04.1 +APT-ID: 74434 +Source: thunderbird +Source-Version: 1:91.11.0+build2-0ubuntu0.22.04.1 +Priority: optional +Section: mail +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libatk1.0-0 (>= 1.12.4), libc6 (>= 2.35), libcairo-gobject2 (>= 1.10.0), libcairo2 (>= 1.10.0), libdbus-1-3 (>= 1.9.14), libdbus-glib-1-2 (>= 0.78), libfontconfig1 (>= 2.12.6), libfreetype6 (>= 2.10.1), libgcc-s1 (>= 4.0), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.37.3), libgtk-3-0 (>= 3.9.14), libharfbuzz0b (>= 0.6.0), libpango-1.0-0 (>= 1.14.0), libpangocairo-1.0-0 (>= 1.14.0), libpangoft2-1.0-0 (>= 1.14.0), libstdc++6 (>= 12), libx11-6, libx11-xcb1 (>= 2:1.7.5), libxcb-shm0, libxcb1, libxcomposite1 (>= 1:0.4.5), libxcursor1 (>> 1.1.2), libxdamage1 (>= 1:1.1), libxext6, libxfixes3, libxi6, libxrender1, libxt6 +Suggests: thunderbird-gnome-support, ttf-lyx, libotr5 +Recommends: myspell-en-us | hunspell-dictionary | myspell-dictionary, libcanberra0, libdbusmenu-glib4, libdbusmenu-gtk3-4 +Conflicts: mozilla-thunderbird +Replaces: mozilla-thunderbird, thunderbird-gnome-support (<= 3.0.4+nobinonly-0ubuntu3) +Breaks: enigmail (<< 2:2.2), jsunit (<< 0.2.2-2ubuntu1), thunderbird-gnome-support (<= 3.0.4+nobinonly-0ubuntu3), tinyjsd (<< 1.2+git1-1ubuntu1) +Provides: mail-reader + +Package: libpixman-1-0 +Architecture: amd64 +Version: 0.40.0-1build4 +APT-ID: 3262 +Multi-Arch: same +Source: pixman +Source-Version: 0.40.0-1build4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.29) + +Package: libtag1v5 +Architecture: amd64 +Version: 1.11.1+dfsg.1-3ubuntu3 +APT-ID: 3805 +Multi-Arch: same +Source: taglib +Source-Version: 1.11.1+dfsg.1-3ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libtag1v5-vanilla (= 1.11.1+dfsg.1-3ubuntu3) +Conflicts: libtag-extras0, libtag1c2a +Replaces: libtag1c2a + +Package: libsystemd0 +Architecture: amd64 +Version: 249.11-0ubuntu3.4 +APT-ID: 79611 +Multi-Arch: same +Source: systemd +Source-Version: 249.11-0ubuntu3.4 +Priority: important +Section: libs +Installed: yes +APT-Pin: 100 +APT-Automatic: yes +Pre-Depends: libc6 (>= 2.34), libcap2 (>= 1:2.24-9~), libgcrypt20 (>= 1.9.0), liblz4-1 (>= 0.0~r122), liblzma5 (>= 5.1.1alpha+20120614), libzstd1 (>= 1.4.0) + +Package: linux-sound-base +Architecture: all +Version: 1.0.25+dfsg-0ubuntu7 +APT-ID: 4530 +Source: alsa-driver +Source-Version: 1.0.25+dfsg-0ubuntu7 +Priority: optional +Section: sound +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf (>= 0.5) | debconf-2.0, kmod (>= 17-1) +Suggests: alsa-base (>= 1.0.18-1) + +Package: transmission-gtk +Architecture: amd64 +Version: 3.00-2ubuntu2 +APT-ID: 5867 +Source: transmission +Source-Version: 3.00-2ubuntu2 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: transmission-common (= 3.00-2ubuntu2), libayatana-appindicator3-1 (>= 0.4.90), libc6 (>= 2.34), libcurl4 (>= 7.18.0), libevent-2.1-7 (>= 2.1.8-stable), libgdk-pixbuf-2.0-0 (>= 2.25.2), libglib2.0-0 (>= 2.37.3), libgtk-3-0 (>= 3.21.5), libminiupnpc17 (>= 1.9.20140610), libnatpmp1 (>= 20150609), libpango-1.0-0 (>= 1.14.0), libssl3 (>= 3.0.0~~alpha1), zlib1g (>= 1:1.1.4) +Recommends: xdg-utils + +Package: libfreetype6 +Architecture: amd64 +Version: 2.11.1+dfsg-1ubuntu0.1 +APT-ID: 72354 +Multi-Arch: same +Source: freetype +Source-Version: 2.11.1+dfsg-1ubuntu0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbrotli1 (>= 0.6.0), libc6 (>= 2.33), libpng16-16 (>= 1.6.2-1), zlib1g (>= 1:1.1.4) + +Package: printer-driver-brlaser +Architecture: amd64 +Version: 6-3 +APT-ID: 4964 +Source: brlaser +Source-Version: 6-3 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcups2 (>= 2.3~b6), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 5.2) + +Package: libfontembed1 +Architecture: amd64 +Version: 1.28.15-0ubuntu1 +APT-ID: 2247 +Multi-Arch: same +Source: cups-filters +Source-Version: 1.28.15-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: pci.ids +Architecture: all +Version: 0.0~2022.01.22-1 +APT-ID: 4860 +Multi-Arch: foreign +Source: pci.ids +Source-Version: 0.0~2022.01.22-1 +Priority: standard +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: pciutils (<< 1:3.6.2-4~) +Breaks: pciutils (<< 1:3.6.2-4~) + +Package: xserver-xorg-video-intel +Architecture: amd64 +Version: 2:2.99.917+git20210115-1 +APT-ID: 6057 +Source: xserver-xorg-video-intel +Source-Version: 2:2.99.917+git20210115-1 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libdrm-intel1 (>= 2.4.38), libdrm2 (>= 2.4.62), libpciaccess0 (>= 0.8.0+git20071002), libpixman-1-0 (>= 0.30.0), libudev1 (>= 183), libx11-6, libx11-xcb1 (>= 2:1.7.2), libxcb-dri2-0, libxcb-util1 (>= 0.4.0), libxcb1, libxcursor1 (>> 1.1.2), libxdamage1 (>= 1:1.1), libxext6, libxfixes3, libxinerama1 (>= 2:1.1.4), libxrandr2 (>= 2:1.2.99.2), libxrender1, libxss1, libxtst6, libxvmc1 (>= 2:1.0.12), xorg-video-abi-25, xserver-xorg-core (>= 2:21.1.1) +Provides: xorg-driver-video + +Package: libevdocument3-4 +Architecture: amd64 +Version: 42.3-0ubuntu2 +APT-ID: 72336 +Multi-Arch: same +Source: evince +Source-Version: 42.3-0ubuntu2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libarchive13 (>= 3.6.0), libc6 (>= 2.35), libcairo2 (>= 1.14.0), libdjvulibre21 (>= 3.5.28), libgdk-pixbuf-2.0-0 (>= 2.40), libglib2.0-0 (>= 2.55.1), libgtk-3-0 (>= 3.22.0), libgxps2 (>= 0.2.1), libkpathsea6 (>= 2021.20210626.59705), libpango-1.0-0 (>= 1.18.0), libpoppler-glib8 (>= 22.02.0), libspectre1 (>= 0.2.3), libsynctex2 (>= 2021.20210626.59705), libtiff5 (>= 4.0.3), libxml2 (>= 2.7.4) + +Package: libtcl8.6 +Architecture: amd64 +Version: 8.6.12+dfsg-1build1 +APT-ID: 3814 +Multi-Arch: same +Source: tcl8.6 +Source-Version: 8.6.12+dfsg-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: tzdata, libc6 (>= 2.35), zlib1g (>= 1:1.2.2) +Suggests: tcl8.6 +Conflicts: tcl74 (<= 7.4p3-2), tcl8.6 (<< 8.6.0-2) +Replaces: tcl8.6 (<< 8.6.0-2) +Breaks: nsf (<< 2.2.0) +Provides: libtcl + +Package: tracker-miner-fs +Architecture: amd64 +Version: 3.3.0-1 +APT-ID: 5865 +Source: tracker-miners +Source-Version: 3.3.0-1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.70.0), libtracker-sparql-3.0-0 (>= 3.3.0~beta), libupower-glib3 (>= 0.99.0), tracker-extract (= 3.3.0-1), init-system-helpers (>= 1.52), tracker (>= 3.3.0~), procps +Breaks: bijiben (<< 40), brasero (<< 3.12.2-8~), gnome-applets (<< 3.40.0-4~), gnome-books (<< 40), gnome-boxes (<< 40), gnome-documents (<< 3.34.0-4~), gnome-music (<< 40), gnome-photos (<< 40), gnome-usage (<< 3.38.1-3~), nautilus (<< 40), netatalk (<< 3.1.12~ds-8.1), rygel (<< 0.40.1-3~) + +Package: libmount1 +Architecture: amd64 +Version: 2.37.2-4ubuntu3 +APT-ID: 2952 +Multi-Arch: same +Source: util-linux +Source-Version: 2.37.2-4ubuntu3 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libblkid1 (>= 2.17.2), libc6 (>= 2.34), libselinux1 (>= 3.1~) +Suggests: cryptsetup-bin + +Package: gir1.2-gnomedesktop-3.0 +Architecture: amd64 +Version: 42.4-0ubuntu1 +APT-ID: 71835 +Multi-Arch: same +Source: gnome-desktop +Source-Version: 42.4-0ubuntu1 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-gdesktopenums-3.0 (>= 3.27.0), gir1.2-glib-2.0 (>= 0.10.2-1~), gir1.2-gtk-3.0 (>= 3.3.6), libgnome-desktop-3-19 (>= 42~beta) +Breaks: gnome-shell (<< 3.34) + +Package: gir1.2-javascriptcoregtk-4.0 +Architecture: amd64 +Version: 2.36.7-0ubuntu0.22.04.1 +APT-ID: 71842 +Multi-Arch: same +Source: webkit2gtk +Source-Version: 2.36.7-0ubuntu0.22.04.1 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0 (>= 0.9.12-4), libjavascriptcoregtk-4.0-18 (= 2.36.7-0ubuntu0.22.04.1) + +Package: sound-icons +Architecture: all +Version: 0.1-8 +APT-ID: 5677 +Multi-Arch: foreign +Source: sound-icons +Source-Version: 0.1-8 +Priority: optional +Section: sound +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libmtdev1 +Architecture: amd64 +Version: 1.1.6-1build4 +APT-ID: 2976 +Multi-Arch: same +Source: mtdev +Source-Version: 1.1.6-1build4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4) + +Package: gir1.2-udisks-2.0 +Architecture: amd64 +Version: 2.9.4-1ubuntu2 +APT-ID: 752 +Multi-Arch: same +Source: udisks2 +Source-Version: 2.9.4-1ubuntu2 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0 (>= 1.30), libudisks2-0 (>= 2.9.0) + +Package: libwhoopsie-preferences0 +Architecture: amd64 +Version: 23 +APT-ID: 4063 +Source: whoopsie-preferences +Source-Version: 23 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libglib2.0-0 (>= 2.37.3) +Breaks: whoopsie (<< 0.2.47) + +Package: libshout3 +Architecture: amd64 +Version: 2.4.5-1build3 +APT-ID: 3670 +Multi-Arch: same +Source: libshout +Source-Version: 2.4.5-1build3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libogg0 (>= 1.0rc3), libspeex1 (>= 1.2~beta3-1), libssl3 (>= 3.0.0~~alpha1), libtheora0 (>= 0.0.0.alpha7.dfsg), libvorbis0a (>= 1.1.2) + +Package: gstreamer1.0-tools +Architecture: amd64 +Version: 1.20.3-0ubuntu1 +APT-ID: 71895 +Source: gstreamer1.0 +Source-Version: 1.20.3-0ubuntu1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.56), libgstreamer1.0-0 (>= 1.16.1) +Suggests: gstreamer1.0-plugins-base + +Package: udisks2 +Architecture: amd64 +Version: 2.9.4-1ubuntu2 +APT-ID: 5906 +Multi-Arch: foreign +Source: udisks2 +Source-Version: 2.9.4-1ubuntu2 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dbus, libblockdev-fs2, libblockdev-loop2, libblockdev-part2, libblockdev-swap2, parted, udev, libacl1 (>= 2.2.23), libatasmart4 (>= 0.13), libblockdev-utils2 (>= 2.24), libblockdev2 (>= 2.25), libc6 (>= 2.34), libglib2.0-0 (>= 2.50), libgudev-1.0-0 (>= 165), libmount1 (>= 2.30), libpolkit-agent-1-0 (>= 0.102), libpolkit-gobject-1-0 (>= 0.102), libsystemd0 (>= 209), libudisks2-0 (>= 2.9.0), libuuid1 (>= 2.16) +Suggests: btrfs-progs, f2fs-tools, libblockdev-mdraid2, mdadm, nilfs-tools, reiserfsprogs, udftools, udisks2-bcache, udisks2-btrfs, udisks2-lvm2, udisks2-zram, xfsprogs, exfatprogs +Recommends: dosfstools, e2fsprogs, eject, libblockdev-crypto2, ntfs-3g, policykit-1, libpam-systemd + +Package: libxau6 +Architecture: amd64 +Version: 1:1.0.9-1build5 +APT-ID: 4123 +Multi-Arch: same +Source: libxau +Source-Version: 1:1.0.9-1build5 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: libxaw7 +Architecture: amd64 +Version: 2:1.0.14-1 +APT-ID: 4125 +Multi-Arch: same +Source: libxaw +Source-Version: 2:1.0.14-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.15), libx11-6, libxext6, libxmu6 (>= 2:1.1.3), libxpm4, libxt6 + +Package: totem-common +Architecture: all +Version: 42.0-1ubuntu1 +APT-ID: 5860 +Multi-Arch: foreign +Source: totem +Source-Version: 42.0-1ubuntu1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend + +Package: emacsen-common +Architecture: all +Version: 3.0.4 +APT-ID: 370 +Source: emacsen-common +Source-Version: 3.0.4 +Priority: optional +Section: editors +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Conflicts: emacs19, emacs20, emacs21-common, emacs22-common, emacs23-common, emacs24-common, emacs25-common, xemacs21-support (<< 21.4.24-6~) + +Package: file +Architecture: amd64 +Version: 1:5.41-3 +APT-ID: 420 +Multi-Arch: foreign +Source: file +Source-Version: 1:5.41-3 +Priority: standard +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libmagic1 (= 1:5.41-3) +Breaks: debhelper (<< 12.2~) + +Package: rhythmbox-plugins +Architecture: amd64 +Version: 3.4.4-5ubuntu1 +APT-ID: 5605 +Source: rhythmbox +Source-Version: 3.4.4-5ubuntu1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libdmapsharing-3.0-2 (>= 2.9.19), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.38.0), libgpod4 (>= 0.8.2-4), libgrilo-0.3-0 (>= 0.3.0), libgstreamer1.0-0 (>= 1.4.0), libgtk-3-0 (>= 3.20.0), libgudev-1.0-0 (>= 146), libjson-glib-1.0-0 (>= 1.5.2), liblirc-client0, libmtp9 (>= 1.1.0), libnotify4 (>= 0.7.0), libpango-1.0-0 (>= 1.14.0), libpeas-1.0-0 (>= 1.0.0), librhythmbox-core10 (= 3.4.4-5ubuntu1), libsecret-1-0 (>= 0.18), libsoup2.4-1 (>= 2.42.0), libtotem-plparser18 (>= 3.26.0), python3 (<< 3.11), python3 (>= 3.10~), python3.10, python3:any, rhythmbox (= 3.4.4-5ubuntu1), gir1.2-rb-3.0 (= 3.4.4-5ubuntu1), gir1.2-glib-2.0, gir1.2-gtk-3.0, gir1.2-webkit2-4.0, gir1.2-peas-1.0, gir1.2-gstreamer-1.0, gir1.2-secret-1, python3-gi, python3-mako + +Package: bzip2 +Architecture: amd64 +Version: 1.0.8-5build1 +APT-ID: 155 +Multi-Arch: foreign +Source: bzip2 +Source-Version: 1.0.8-5build1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbz2-1.0 (= 1.0.8-5build1), libc6 (>= 2.34) +Suggests: bzip2-doc +Replaces: libbz2 (<< 0.9.5d-3) + +Package: genisoimage +Architecture: amd64 +Version: 9:1.1.11-3.2ubuntu1 +APT-ID: 618 +Source: cdrkit +Source-Version: 9:1.1.11-3.2ubuntu1 +Priority: optional +Section: otherosfs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbz2-1.0, libc6 (>= 2.34), libmagic1 (>= 5.12), zlib1g (>= 1:1.1.4) +Suggests: wodim, cdrkit-doc +Conflicts: mkhybrid, mkisofs +Replaces: mkisofs +Provides: mkisofs + +Package: python3-requests +Architecture: all +Version: 2.25.1+dfsg-2 +APT-ID: 5454 +Source: requests +Source-Version: 2.25.1+dfsg-2 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-certifi, python3-chardet (>= 3.0.2), python3-idna, python3-urllib3 (>= 1.21.1), python3:any, ca-certificates +Suggests: python3-cryptography, python3-idna (>= 2.5), python3-openssl, python3-socks, python-requests-doc +Breaks: awscli (<< 1.11.139) + +Package: libdata-dump-perl +Architecture: all +Version: 1.25-1 +APT-ID: 1984 +Source: libdata-dump-perl +Source-Version: 1.25-1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any + +Package: libgsound0 +Architecture: amd64 +Version: 1.0.3-2build1 +APT-ID: 2506 +Multi-Arch: same +Source: gsound +Source-Version: 1.0.3-2build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libcanberra0 (>= 0.2), libglib2.0-0 (>= 2.37.3) + +Package: libpipeline1 +Architecture: amd64 +Version: 1.5.5-1 +APT-ID: 3257 +Multi-Arch: same +Source: libpipeline +Source-Version: 1.5.5-1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.26) + +Package: aptdaemon +Architecture: all +Version: 1.1.1+bzr982-0ubuntu39 +APT-ID: 53 +Source: aptdaemon +Source-Version: 1.1.1+bzr982-0ubuntu39 +Priority: extra +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any (>= 3.2~), gir1.2-glib-2.0, python3-aptdaemon (= 1.1.1+bzr982-0ubuntu39), python3-gi, policykit-1 +Replaces: python3-aptdaemon.pkcompat +Breaks: python3-aptdaemon.pkcompat, software-center (<< 1.1.21) + +Package: libnss-systemd +Architecture: amd64 +Version: 249.11-0ubuntu3.4 +APT-ID: 79608 +Multi-Arch: same +Source: systemd +Source-Version: 249.11-0ubuntu3.4 +Priority: required +Section: admin +Installed: yes +APT-Pin: 100 +APT-Automatic: yes +Depends: libc6 (>= 2.34), systemd (= 249.11-0ubuntu3.4) + +Package: debianutils +Architecture: amd64 +Version: 5.5-1ubuntu2 +APT-ID: 281 +Essential: yes +Multi-Arch: foreign +Source: debianutils +Source-Version: 5.5-1ubuntu2 +Priority: important +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Pre-Depends: libc6 (>= 2.34) +Breaks: ifupdown (<< 0.8.36+nmu1), printer-driver-pnm2ppa (<< 1.13-12), x11-common (<< 1:7.7+23~) + +Package: libpopt0 +Architecture: amd64 +Version: 1.18-3build1 +APT-ID: 3301 +Multi-Arch: same +Source: popt +Source-Version: 1.18-3build1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: libxcb1 +Architecture: amd64 +Version: 1.14-3ubuntu3 +APT-ID: 4187 +Multi-Arch: same +Source: libxcb +Source-Version: 1.14-3ubuntu3 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libxau6 (>= 1:1.0.9), libxdmcp6 +Breaks: alsa-utils (<< 1.0.24.2-5) + +Package: libclutter-gtk-1.0-0 +Architecture: amd64 +Version: 1.8.4-4build2 +APT-ID: 1906 +Multi-Arch: same +Source: clutter-gtk +Source-Version: 1.8.4-4build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libcairo2 (>= 1.2.4), libclutter-1.0-0 (>= 1.23.7), libcogl20 (>= 1.17.4), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.37.3), libgtk-3-0 (>= 3.21.0), libwayland-client0 (>= 1.20.0) + +Package: openprinting-ppds +Architecture: all +Version: 20220223-0ubuntu1 +APT-ID: 4815 +Multi-Arch: foreign +Source: foomatic-db +Source-Version: 20220223-0ubuntu1 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any, xz-utils +Suggests: hpijs-ppds +Recommends: cups, cups-client, cups-filters | foomatic-filters + +Package: libpam-fprintd +Architecture: amd64 +Version: 1.94.2-1ubuntu0.22.04.1 +APT-ID: 72495 +Multi-Arch: same +Source: fprintd +Source-Version: 1.94.2-1ubuntu0.22.04.1 +Priority: extra +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fprintd (= 1.94.2-1ubuntu0.22.04.1), libpam-runtime (>= 1.1.3-2~), libc6 (>= 2.17), libpam0g (>= 0.99.7.1), libsystemd0 (>= 237) + +Package: fonts-smc-manjari +Architecture: all +Version: 2.000-3 +APT-ID: 505 +Multi-Arch: foreign +Source: fonts-smc-manjari +Source-Version: 2.000-3 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libgstreamer-gl1.0-0 +Architecture: amd64 +Version: 1.20.1-1 +APT-ID: 2517 +Multi-Arch: same +Source: gst-plugins-base1.0 +Source-Version: 1.20.1-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libdrm2 (>= 2.4.17), libegl1, libgbm1 (>= 8.1~0), libgl1, libglib2.0-0 (>= 2.67.3), libgstreamer-plugins-base1.0-0 (>= 1.18.0), libgstreamer1.0-0 (>= 1.20.0), libgudev-1.0-0 (>= 165), libwayland-client0 (>= 1.20.0), libwayland-cursor0 (>= 1.11), libwayland-egl1 (>= 1.15.0), libx11-6, libx11-xcb1 (>= 2:1.7.2), libxcb1 +Recommends: gstreamer1.0-gl +Replaces: libgstreamer-plugins-bad1.0-0 (<< 1.13.1) +Breaks: libgstreamer-plugins-bad1.0-0 (<< 1.13.1) + +Package: gir1.2-webkit2-4.0 +Architecture: amd64 +Version: 2.36.7-0ubuntu0.22.04.1 +APT-ID: 71850 +Multi-Arch: same +Source: webkit2gtk +Source-Version: 2.36.7-0ubuntu0.22.04.1 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-javascriptcoregtk-4.0 (= 2.36.7-0ubuntu0.22.04.1), libwebkit2gtk-4.0-37 (= 2.36.7-0ubuntu0.22.04.1), gir1.2-glib-2.0 (>= 0.9.12-4), gir1.2-gtk-3.0 (>= 3.22.0), gir1.2-soup-2.4 (>= 2.54.0) + +Package: fonts-telu-extra +Architecture: all +Version: 2.0-5 +APT-ID: 513 +Multi-Arch: foreign +Source: fonts-telu-extra +Source-Version: 2.0-5 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: ttf-telugu-fonts +Breaks: ttf-telugu-fonts (<< 2:1.0) + +Package: avahi-daemon +Architecture: amd64 +Version: 0.8-5ubuntu5 +APT-ID: 74 +Multi-Arch: foreign +Source: avahi +Source-Version: 0.8-5ubuntu5 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libavahi-common3 (= 0.8-5ubuntu5), libavahi-core7 (= 0.8-5ubuntu5), libc6 (>= 2.34), libcap2 (>= 1:2.16), libdaemon0 (>= 0.14), libdbus-1-3 (>= 1.9.14), libexpat1 (>= 2.0.1), adduser, dbus (>= 0.60), lsb-base (>= 3.0-6), bind9-host | host +Pre-Depends: init-system-helpers (>= 1.54~) +Suggests: avahi-autoipd +Recommends: libnss-mdns (>= 0.11) + +Package: python3-importlib-metadata +Architecture: all +Version: 4.6.4-1 +APT-ID: 5266 +Source: python-importlib-metadata +Source-Version: 4.6.4-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-zipp (>= 0.5), python3:any + +Package: logrotate +Architecture: amd64 +Version: 3.19.0-1ubuntu1.1 +APT-ID: 74192 +Multi-Arch: foreign +Source: logrotate +Source-Version: 3.19.0-1ubuntu1.1 +Priority: required +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: cron | anacron | cron-daemon | systemd-sysv, libacl1 (>= 2.2.23), libc6 (>= 2.34), libpopt0 (>= 1.14), libselinux1 (>= 3.1~) +Suggests: bsd-mailx | mailx + +Package: libapparmor1 +Architecture: amd64 +Version: 3.0.4-2ubuntu2.1 +APT-ID: 72262 +Multi-Arch: same +Source: apparmor +Source-Version: 3.0.4-2ubuntu2.1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Replaces: libapparmor-perl (<< 3.0.3-3) +Breaks: libapparmor-perl (<< 3.0.3-3) + +Package: libwbclient0 +Architecture: amd64 +Version: 2:4.15.9+dfsg-0ubuntu0.2 +APT-ID: 72827 +Multi-Arch: same +Source: samba +Source-Version: 2:4.15.9+dfsg-0ubuntu0.2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbsd0 (>= 0.5.0), libc6 (>= 2.34), libgnutls30 (>= 3.7.0), libicu70 (>= 70.1-1~), libsystemd0, libtalloc2 (>= 2.3.3~), libtevent0 (>= 0.11.0~) +Pre-Depends: dpkg (>= 1.15.6~) +Breaks: samba-libs (<< 2:4.11.0+dfsg-1~) + +Package: liblwp-mediatypes-perl +Architecture: all +Version: 6.04-1 +APT-ID: 2861 +Source: liblwp-mediatypes-perl +Source-Version: 6.04-1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl + +Package: libllvm13 +Architecture: amd64 +Version: 1:13.0.1-2ubuntu2.1 +APT-ID: 72450 +Multi-Arch: same +Source: llvm-toolchain-13 +Source-Version: 1:13.0.1-2ubuntu2.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libedit2 (>= 2.11-20080614-0), libffi8 (>= 3.4), libgcc-s1 (>= 3.3), libstdc++6 (>= 12), libtinfo6 (>= 6), libxml2 (>= 2.7.4), zlib1g (>= 1:1.2.0) + +Package: install-info +Architecture: amd64 +Version: 6.8-4build1 +APT-ID: 1129 +Multi-Arch: foreign +Source: texinfo +Source-Version: 6.8-4build1 +Priority: standard +Section: doc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Pre-Depends: dpkg (>= 1.16.1) +Replaces: texinfo (<< 4.13a.dfsg.1-2) +Breaks: texinfo (<< 4.13a.dfsg.1-2) + +Package: librsvg2-common +Architecture: amd64 +Version: 2.52.5+dfsg-3 +APT-ID: 3571 +Multi-Arch: same +Source: librsvg +Source-Version: 2.52.5+dfsg-3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: librsvg2-2 (= 2.52.5+dfsg-3), libgdk-pixbuf-2.0-0 (>= 2.23.5-2), libglib2.0-0 (>= 2.50.0) + +Package: gnome-remote-desktop +Architecture: amd64 +Version: 42.4-0ubuntu1 +APT-ID: 71866 +Source: gnome-remote-desktop +Source-Version: 42.4-0ubuntu1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend, init-system-helpers (>= 1.52), libc6 (>= 2.34), libcairo2 (>= 1.10.0), libepoxy0 (>= 1.4.3), libfreerdp-client2-2 (>= 2.5.0), libfreerdp-server2-2 (>= 2.5.0), libfreerdp2-2 (>= 2.5.0), libfuse3-3 (>= 3.2.3), libglib2.0-0 (>= 2.68), libnotify4 (>= 0.7.0), libpipewire-0.3-0 (>= 0.3.1), libsecret-1-0 (>= 0.7), libvncserver1 (>= 0.9.10), libwinpr2-2 (>= 2.3.0), libxkbcommon0 (>= 1.0.0), fuse3, libmutter-10-0 (>= 42.1), pipewire (>= 0.3.0), pipewire-media-session | wireplumber +Breaks: gnome-control-center (<< 1:41.4-1ubuntu10) + +Package: libxcomposite1 +Architecture: amd64 +Version: 1:0.4.5-1build2 +APT-ID: 4190 +Multi-Arch: same +Source: libxcomposite +Source-Version: 1:0.4.5-1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libx11-6 (>= 2:1.4.99.1) + +Package: libnuma1 +Architecture: amd64 +Version: 2.0.14-3ubuntu2 +APT-ID: 3105 +Multi-Arch: same +Source: numactl +Source-Version: 2.0.14-3ubuntu2 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: libfile-desktopentry-perl +Architecture: all +Version: 0.22-2 +APT-ID: 2219 +Source: libfile-desktopentry-perl +Source-Version: 0.22-2 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any, libfile-basedir-perl, liburi-perl +Recommends: x-terminal-emulator + +Package: libgamemodeauto0 +Architecture: amd64 +Version: 1.6.1-1build2 +APT-ID: 2291 +Multi-Arch: same +Source: gamemode +Source-Version: 1.6.1-1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Recommends: libgamemode0 (= 1.6.1-1build2) + +Package: python3-speechd +Architecture: all +Version: 0.11.1-1ubuntu1 +APT-ID: 79613 +Source: speech-dispatcher +Source-Version: 0.11.1-1ubuntu1 +Priority: optional +Section: python +Installed: yes +APT-Pin: 100 +APT-Automatic: yes +Depends: python3-xdg, python3:any +Replaces: python-speechd +Breaks: python-speechd + +Package: acpi-support +Architecture: amd64 +Version: 0.144 +APT-ID: 3 +Source: acpi-support +Source-Version: 0.144 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: acpid (>= 1.0.4-1ubuntu4) +Recommends: toshset, wireless-tools +Conflicts: uswsusp (<= 0.2) + +Package: plymouth-theme-ubuntu-text +Architecture: amd64 +Version: 0.9.5+git20211018-1ubuntu3 +APT-ID: 4927 +Source: plymouth +Source-Version: 0.9.5+git20211018-1ubuntu3 +Priority: standard +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libplymouth5 (>= 0.9.2), plymouth (= 0.9.5+git20211018-1ubuntu3), lsb-release +Provides: plymouth-theme + +Package: libgspell-1-2 +Architecture: amd64 +Version: 1.9.1-4 +APT-ID: 2507 +Multi-Arch: same +Source: gspell +Source-Version: 1.9.1-4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libgspell-1-common (>= 1.9.1-4), libatk1.0-0 (>= 1.12.4), libc6 (>= 2.4), libcairo-gobject2 (>= 1.10.0), libcairo2 (>= 1.2.4), libenchant-2-2 (>= 2.2.3), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.44), libgtk-3-0 (>= 3.20), libharfbuzz0b (>= 0.6.0), libicu70 (>= 70.1-1~), libpango-1.0-0 (>= 1.18.0), libpangocairo-1.0-0 (>= 1.14.0) + +Package: python3-httplib2 +Architecture: all +Version: 0.20.2-2 +APT-ID: 5260 +Source: python-httplib2 +Source-Version: 0.20.2-2 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: ca-certificates, python3-pyparsing, python3:any +Breaks: python3-pysimplesoap (<< 1.16-2.1), python3-wsgi-intercept (<< 1.9.0) + +Package: python3 +Architecture: amd64 +Version: 3.10.6-1~22.04 +APT-ID: 74297 +Multi-Arch: allowed +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: required +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3.10 (>= 3.10.6-1~), libpython3-stdlib (= 3.10.6-1~22.04) +Pre-Depends: python3-minimal (= 3.10.6-1~22.04) +Suggests: python3-doc (>= 3.10.6-1~22.04), python3-tk (>= 3.10.6-1~), python3-venv (>= 3.10.6-1~22.04) +Replaces: python3-minimal (<< 3.1.2-2) +Provides: python3-profiler + +Package: python3 +Architecture: amd64 +Version: 3.10.4-0ubuntu2 +APT-ID: 5131 +Multi-Arch: allowed +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-0ubuntu2 +Priority: required +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Automatic: yes +Depends: python3.10 (>= 3.10.4-1~), libpython3-stdlib (= 3.10.4-0ubuntu2) +Pre-Depends: python3-minimal (= 3.10.4-0ubuntu2) +Suggests: python3-doc (>= 3.10.4-0ubuntu2), python3-tk (>= 3.9.10-2~), python3-venv (>= 3.10.4-0ubuntu2) +Replaces: python3-minimal (<< 3.1.2-2) +Provides: python3-profiler + +Package: libasound2-plugins +Architecture: amd64 +Version: 1.2.6-1 +APT-ID: 1640 +Multi-Arch: same +Source: alsa-plugins +Source-Version: 1.2.6-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libasound2 (>= 1.2.5), libc6 (>= 2.34), libjack-jackd2-0 (>= 1.9.10+20150825) | libjack-0.125, libpulse0 (>= 0.99.1-1~), libsamplerate0 (>= 0.1.7) + +Package: libatasmart4 +Architecture: amd64 +Version: 0.19-5build2 +APT-ID: 1650 +Multi-Arch: same +Source: libatasmart +Source-Version: 0.19-5build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libudev1 (>= 183) + +Package: system-config-printer-udev +Architecture: amd64 +Version: 1.5.16-0ubuntu3 +APT-ID: 5732 +Source: system-config-printer +Source-Version: 1.5.16-0ubuntu3 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any (>= 3.3.2-2~), python3-cups (>= 1.9.42), python3-cupshelpers (>= 1.5.16-0ubuntu3), python3-dbus, libc6 (>= 2.34), libcups2 (>= 1.6.0), libglib2.0-0 (>= 2.12.0), libudev1 (>= 183), libusb-1.0-0 (>= 2:1.0.8) + +Package: libxft2 +Architecture: amd64 +Version: 2.3.4-1 +APT-ID: 4208 +Multi-Arch: same +Source: xft +Source-Version: 2.3.4-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libfontconfig1 (>= 2.12.6), libfreetype6 (>= 2.3.5), libx11-6, libxrender1 + +Package: libwpd-0.10-10 +Architecture: amd64 +Version: 0.10.3-2build1 +APT-ID: 4080 +Multi-Arch: same +Source: libwpd +Source-Version: 0.10.3-2build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.32), libgcc-s1 (>= 3.3.1), librevenge-0.0-0, libstdc++6 (>= 11) +Conflicts: libwpd0, libwpd2, libwpd3, libwpd4, libwpd5, libwpd6, libwpd8 +Replaces: libwpd0, libwpd2, libwpd3, libwpd4, libwpd5, libwpd6, libwpd8 + +Package: libdbus-1-3 +Architecture: amd64 +Version: 1.12.20-2ubuntu4 +APT-ID: 2024 +Multi-Arch: same +Source: dbus +Source-Version: 1.12.20-2ubuntu4 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libsystemd0 +Recommends: dbus +Breaks: dbus (<< 1.9.16-1~) + +Package: language-pack-en +Architecture: all +Version: 1:22.04+20220721 +APT-ID: 71952 +Source: language-pack-en +Source-Version: 1:22.04+20220721 +Priority: optional +Section: translations +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +Depends: language-pack-en-base (>= 1:22.04+20220721) +Pre-Depends: dpkg (>= 1.16.1) +Replaces: language-pack-en (<< 1:22.04+20220721), language-pack-en-base, language-pack-gnome-en (<< 1:22.04+20220721), language-pack-gnome-en-base (<< 1:22.04+20220721), language-pack-kde-en (<< 1:22.04+20220721), language-pack-kde-en-base (<< 1:22.04+20220721) + +Package: x11-utils +Architecture: amd64 +Version: 7.7+5build2 +APT-ID: 5991 +Multi-Arch: foreign +Source: x11-utils +Source-Version: 7.7+5build2 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libfontconfig1 (>= 2.12.6), libfontenc1 (>= 1:1.1.4), libgl1, libx11-6, libx11-xcb1 (>= 2:1.7.2), libxaw7 (>= 2:1.0.14), libxcb-shape0, libxcb1 (>= 1.6), libxcomposite1 (>= 1:0.4.5), libxext6, libxft2 (>> 2.1.1), libxi6, libxinerama1 (>= 2:1.1.4), libxkbfile1 (>= 1:1.1.0), libxmu6 (>= 2:1.1.3), libxmuu1 (>= 2:1.1.3), libxrandr2 (>= 2:1.2.0), libxrender1, libxt6 (>= 1:1.1.0), libxtst6, libxv1, libxxf86dga1, libxxf86vm1 +Suggests: mesa-utils + +Package: libhtml-tree-perl +Architecture: all +Version: 5.07-2 +APT-ID: 2596 +Multi-Arch: foreign +Source: libhtml-tree-perl +Source-Version: 5.07-2 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl, libhtml-parser-perl, libhtml-tagset-perl +Recommends: libhtml-format-perl, libwww-perl + +Package: wireless-regdb +Architecture: all +Version: 2022.06.06-0ubuntu1~22.04.1 +APT-ID: 74545 +Multi-Arch: foreign +Source: wireless-regdb +Source-Version: 2022.06.06-0ubuntu1~22.04.1 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=i386 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: python3-urllib3 +Architecture: all +Version: 1.26.5-1~exp1 +APT-ID: 5521 +Source: python-urllib3 +Source-Version: 1.26.5-1~exp1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any, python3-six +Suggests: python3-cryptography, python3-idna, python3-openssl, python3-socks +Recommends: ca-certificates + +Package: pipewire +Architecture: amd64 +Version: 0.3.48-1ubuntu1 +APT-ID: 4912 +Multi-Arch: same +Source: pipewire +Source-Version: 0.3.48-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libpipewire-0.3-modules (= 0.3.48-1ubuntu1), pipewire-bin (= 0.3.48-1ubuntu1), init-system-helpers (>= 1.52) + +Package: libxdamage1 +Architecture: amd64 +Version: 1:1.1.5-2build2 +APT-ID: 4196 +Multi-Arch: same +Source: libxdamage +Source-Version: 1:1.1.5-2build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libx11-6 (>= 2:1.4.99.1) + +Package: irqbalance +Architecture: amd64 +Version: 1.8.0-1build1 +APT-ID: 1146 +Source: irqbalance +Source-Version: 1.8.0-1build1 +Priority: standard +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcap-ng0 (>= 0.7.9), libglib2.0-0 (>= 2.35.8), libncursesw6 (>= 6), libnuma1 (>= 2.0.11), libsystemd0, libtinfo6 (>= 6) +Pre-Depends: init-system-helpers (>= 1.54~) + +Package: ubuntu-report +Architecture: amd64 +Version: 1.7.1 +APT-ID: 5895 +Source: ubuntu-report +Source-Version: 1.7.1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: language-pack-gnome-en-base +Architecture: all +Version: 1:22.04+20220721 +APT-ID: 72017 +Source: language-pack-gnome-en-base +Source-Version: 1:22.04+20220721 +Priority: optional +Section: translations +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +Depends: locales (>= 2.3.6), language-pack-gnome-en (>= 1:22.04+20220721) +Pre-Depends: dpkg (>= 1.16.1) +Conflicts: language-pack-gnome-en (<< 1:22.04+20220721) +Replaces: language-pack-en (<< 1:22.04+20220721), language-pack-en-base (<< 1:22.04+20220721), language-pack-gnome-en (<< 1:22.04+20220721), language-pack-gnome-en-base (<< 1:22.04+20220721), language-pack-kde-en (<< 1:22.04+20220721), language-pack-kde-en-base (<< 1:22.04+20220721) + +Package: libgdk-pixbuf-2.0-0 +Architecture: amd64 +Version: 2.42.8+dfsg-1ubuntu0.1 +APT-ID: 72369 +Multi-Arch: same +Source: gdk-pixbuf +Source-Version: 2.42.8+dfsg-1ubuntu0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libgdk-pixbuf2.0-common (>= 2.42.8+dfsg-1ubuntu0.1), shared-mime-info, libc6 (>= 2.34), libglib2.0-0 (>= 2.59.0), libjpeg8 (>= 8c), libpng16-16 (>= 1.6.2-1), libtiff5 (>= 4.0.3) +Recommends: libgdk-pixbuf2.0-bin +Replaces: libgdk-pixbuf2.0-0 (<< 2.40.0+dfsg-6~) +Breaks: libgdk-pixbuf2.0-0 (<< 2.40.0+dfsg-6~) + +Package: fonts-samyak-gujr +Architecture: all +Version: 1.2.2-5build1 +APT-ID: 489 +Multi-Arch: foreign +Source: fonts-samyak +Source-Version: 1.2.2-5build1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: ttf-gujarati-fonts (<< 2:1.0) +Breaks: ttf-gujarati-fonts (<< 2:1.0) + +Package: python3-aptdaemon +Architecture: all +Version: 1.1.1+bzr982-0ubuntu39 +APT-ID: 5147 +Source: aptdaemon +Source-Version: 1.1.1+bzr982-0ubuntu39 +Priority: extra +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any (>= 3.2~), aptdaemon, gir1.2-glib-2.0, gir1.2-packagekitglib-1.0 (>= 1.1.1), python3-apt (>= 0.8.5~ubuntu1), python3-defer (>= 1.0.6), python3-dbus, python3-gi, python3-pkg-resources, iso-codes + +Package: gnupg +Architecture: all +Version: 2.2.27-3ubuntu2.1 +APT-ID: 71874 +Multi-Arch: foreign +Source: gnupg2 +Source-Version: 2.2.27-3ubuntu2.1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=i386 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dirmngr (<< 2.2.27-3ubuntu2.1.1~), dirmngr (>= 2.2.27-3ubuntu2.1), gnupg-l10n (= 2.2.27-3ubuntu2.1), gnupg-utils (<< 2.2.27-3ubuntu2.1.1~), gnupg-utils (>= 2.2.27-3ubuntu2.1), gpg (<< 2.2.27-3ubuntu2.1.1~), gpg (>= 2.2.27-3ubuntu2.1), gpg-agent (<< 2.2.27-3ubuntu2.1.1~), gpg-agent (>= 2.2.27-3ubuntu2.1), gpg-wks-client (<< 2.2.27-3ubuntu2.1.1~), gpg-wks-client (>= 2.2.27-3ubuntu2.1), gpg-wks-server (<< 2.2.27-3ubuntu2.1.1~), gpg-wks-server (>= 2.2.27-3ubuntu2.1), gpgsm (<< 2.2.27-3ubuntu2.1.1~), gpgsm (>= 2.2.27-3ubuntu2.1), gpgv (<< 2.2.27-3ubuntu2.1.1~), gpgv (>= 2.2.27-3ubuntu2.1) +Suggests: parcimonie, xloadimage +Replaces: gnupg2 (<< 2.1.11-7+exp1) +Breaks: debsig-verify (<< 0.15), dirmngr (<< 2.2.27-3ubuntu2.1), gnupg2 (<< 2.1.11-7+exp1), libgnupg-interface-perl (<< 0.52-3), libgnupg-perl (<= 0.19-1), libmail-gnupg-perl (<= 0.22-1), monkeysphere (<< 0.38~), php-crypt-gpg (<= 1.4.1-1), python-apt (<= 1.1.0~beta4), python-gnupg (<< 0.3.8-3), python3-apt (<= 1.1.0~beta4) + +Package: libuno-purpenvhelpergcc3-3 +Architecture: amd64 +Version: 1:7.3.6-0ubuntu0.22.04.1 +APT-ID: 72797 +Source: libreoffice +Source-Version: 1:7.3.6-0ubuntu0.22.04.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libgcc-s1 (>= 3.0), libstdc++6 (>= 5), libuno-cppu3 (>= 1.4.0), libuno-sal3 (>= 1.4.0) +Replaces: uno-libs3, ure (<< 5.0.0~rc2-1) +Breaks: libreoffice-core (<< 1:4.3.0~), uno-libs3 + +Package: gir1.2-rb-3.0 +Architecture: amd64 +Version: 3.4.4-5ubuntu1 +APT-ID: 741 +Multi-Arch: same +Source: rhythmbox +Source-Version: 3.4.4-5ubuntu1 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-freedesktop (>= 0.10.0), gir1.2-glib-2.0 (>= 0.10.0), gir1.2-gst-plugins-base-1.0 (>= 1.4.0), gir1.2-gstreamer-1.0 (>= 1.4.0), gir1.2-gtk-3.0 (>= 3.20.0), librhythmbox-core10 (>= 3.4.3) +Provides: gir1.2-mpid-3.0 (= 3.4.4-5ubuntu1) + +Package: libdebuginfod1 +Architecture: amd64 +Version: 0.186-1build1 +APT-ID: 2050 +Multi-Arch: same +Source: elfutils +Source-Version: 0.186-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libcurl3-gnutls (>= 7.28.0), libelf1 (= 0.186-1build1), libdw1 (= 0.186-1build1), libdebuginfod-common (>= 0.186-1build1) + +Package: libsasl2-modules-db +Architecture: amd64 +Version: 2.1.27+dfsg2-3ubuntu1 +APT-ID: 3638 +Multi-Arch: same +Source: cyrus-sasl2 +Source-Version: 2.1.27+dfsg2-3ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libdb5.3 + +Package: libmpfr6 +Architecture: amd64 +Version: 4.1.0-3build3 +APT-ID: 2965 +Multi-Arch: same +Source: mpfr4 +Source-Version: 4.1.0-3build3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libgmp10 (>= 2:6.2.1+dfsg) +Breaks: libgmp3 (<< 4.1.4-3), libmpc3 (<< 1.1.0-1~) + +Package: liblouis-data +Architecture: all +Version: 3.20.0-2ubuntu0.1 +APT-ID: 72451 +Multi-Arch: foreign +Source: liblouis +Source-Version: 3.20.0-2ubuntu0.1 +Priority: extra +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=i386 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: xserver-xorg +Architecture: amd64 +Version: 1:7.7+23ubuntu2 +APT-ID: 6044 +Source: xorg +Source-Version: 1:7.7+23ubuntu2 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: xserver-xorg-core (>= 2:1.17.2-2), xserver-xorg-input-all | xorg-driver-input, xkb-data (>= 1.4), x11-xkb-utils, python3-apport +Recommends: libgl1-mesa-dri, mesa-vulkan-drivers, xserver-xorg-legacy, xserver-xorg-video-all +Provides: xserver + +Package: gvfs-fuse +Architecture: amd64 +Version: 1.48.2-0ubuntu1 +APT-ID: 71902 +Source: gvfs +Source-Version: 1.48.2-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fuse3, gvfs (= 1.48.2-0ubuntu1), libc6 (>= 2.34), libfuse3-3 (>= 3.2.3), libglib2.0-0 (>= 2.65.1) + +Package: lp-solve +Architecture: amd64 +Version: 5.5.2.5-2build2 +APT-ID: 4598 +Source: lp-solve +Source-Version: 5.5.2.5-2build2 +Priority: optional +Section: math +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcolamd2 (>= 1:4.5.2) + +Package: libcheese-gtk25 +Architecture: amd64 +Version: 41.1-1build1 +APT-ID: 1881 +Multi-Arch: same +Source: cheese +Source-Version: 41.1-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libcairo2 (>= 1.10.0), libcanberra-gtk3-0 (>= 0.25), libcheese8 (= 41.1-1build1), libclutter-1.0-0 (>= 1.16), libclutter-gtk-1.0-0 (>= 0.91.8), libcogl20 (>= 1.17.4), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.39.90), libgtk-3-0 (>= 3.13.4), libx11-6, gstreamer1.0-clutter-3.0, cheese-common (>= 41.1-1build1) + +Package: libgoa-backend-1.0-1 +Architecture: amd64 +Version: 3.44.0-1ubuntu1 +APT-ID: 2457 +Multi-Arch: same +Source: gnome-online-accounts +Source-Version: 3.44.0-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libgoa-1.0-common (>= 3.44.0-1ubuntu1), libatk1.0-0 (>= 1.12.4), libc6 (>= 2.4), libcairo-gobject2 (>= 1.10.0), libcairo2 (>= 1.2.4), libgck-1-0 (>= 2.91.1), libgcr-base-3-1 (>= 3.8.0), libgcr-ui-3-1 (>= 3.8.0), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.59.0), libgoa-1.0-0b (>= 3.17.92), libgtk-3-0 (>= 3.19.12), libharfbuzz0b (>= 0.6.0), libjavascriptcoregtk-4.0-18 (>= 2.35.90), libjson-glib-1.0-0 (>= 1.5.2), libp11-kit0 (>= 0.23.18.1), libpango-1.0-0 (>= 1.14.0), libpangocairo-1.0-0 (>= 1.14.0), librest-0.7-0 (>= 0.7.92), libsecret-1-0 (>= 0.7), libsnapd-glib1 (>= 1.43), libsoup2.4-1 (>= 2.42), libwebkit2gtk-4.0-37 (>= 2.26), libxml2 (>= 2.9.0) + +Package: fonts-tlwg-typo +Architecture: all +Version: 1:0.7.3-1 +APT-ID: 537 +Multi-Arch: foreign +Source: fonts-tlwg +Source-Version: 1:0.7.3-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fonts-tlwg-typo-ttf | fonts-tlwg-typo-otf + +Package: brltty +Architecture: amd64 +Version: 6.4-4ubuntu3 +APT-ID: 71721 +Multi-Arch: foreign +Source: brltty +Source-Version: 6.4-4ubuntu3 +Priority: extra +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libasound2 (>= 1.0.16), libbluetooth3 (>= 4.91), libbrlapi0.8 (>= 6.4), libc6 (>= 2.34), libcap2 (>= 1:2.10), libdbus-1-3 (>= 1.9.14), libexpat1 (>= 2.0.1), libglib2.0-0 (>= 2.16.0), libgpm2 (>= 1.20.7), libicu70 (>= 70.1-1~), liblouis20 (>= 3.20.0), libncursesw6 (>= 6), libpcre2-32-0 (>= 10.22), libpolkit-gobject-1-0 (>= 0.101), libsystemd0, libtinfo6 (>= 6), debconf (>= 0.5) | debconf-2.0, lsb-base (>= 3.2-14), policykit-1, initramfs-tools (>= 0.40ubuntu30) +Suggests: brltty-speechd, brltty-x11, console-braille, unicode-cldr-core +Recommends: python3 +Replaces: libbrlapi1 (<< 3.7.2-7.1) + +Package: libmailtools-perl +Architecture: all +Version: 2.21-1 +APT-ID: 2882 +Source: libmailtools-perl +Source-Version: 2.21-1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl, libnet-perl, libnet-smtp-ssl-perl, libtest-simple-perl, libtimedate-perl + +Package: libclucene-core1v5 +Architecture: amd64 +Version: 2.3.3.4+dfsg-1ubuntu5 +APT-ID: 1897 +Multi-Arch: same +Source: clucene-core +Source-Version: 2.3.3.4+dfsg-1ubuntu5 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 5.2), zlib1g (>= 1:1.1.4) +Conflicts: libclucene-core1 +Replaces: libclucene-core1 + +Package: gstreamer1.0-plugins-base-apps +Architecture: amd64 +Version: 1.20.1-1 +APT-ID: 931 +Source: gst-plugins-base1.0 +Source-Version: 1.20.1-1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.56), libgstreamer-plugins-base1.0-0 (>= 1.20.0), libgstreamer1.0-0 (>= 1.20.0), gstreamer1.0-tools + +Package: libgail18 +Architecture: amd64 +Version: 2.24.33-2ubuntu2 +APT-ID: 2289 +Multi-Arch: same +Source: gtk+2.0 +Source-Version: 2.24.33-2ubuntu2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libatk1.0-0 (>= 1.32.0), libc6 (>= 2.4), libglib2.0-0 (>= 2.27.3), libgtk2.0-0 (= 2.24.33-2ubuntu2), libpango-1.0-0 (>= 1.28.3) + +Package: gpg-wks-server +Architecture: amd64 +Version: 2.2.27-3ubuntu2.1 +APT-ID: 71883 +Multi-Arch: foreign +Source: gnupg2 +Source-Version: 2.2.27-3ubuntu2.1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gpg (= 2.2.27-3ubuntu2.1), gpg-agent (= 2.2.27-3ubuntu2.1), libc6 (>= 2.34), libgcrypt20 (>= 1.9.0), libgpg-error0 (>= 1.42) +Recommends: gnupg (= 2.2.27-3ubuntu2.1) + +Package: libkrb5support0 +Architecture: amd64 +Version: 1.19.2-2 +APT-ID: 2785 +Multi-Arch: same +Source: krb5 +Source-Version: 1.19.2-2 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Breaks: libgssapi-krb5-2 (<< 1.13~alpha1-1), libk5crypto3 (<< 1.16), libkadm5clnt-mit9 (<< 1.13~alpha1-1), libkadm5srv-mit9 (<< 1.13~alpha1-1), libkdb5-8 (<< 1.16) + +Package: gedit-common +Architecture: all +Version: 41.0-3 +APT-ID: 616 +Source: gedit +Source-Version: 41.0-3 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any (>= 3.3.2-2~), dconf-gsettings-backend | gsettings-backend +Recommends: gedit + +Package: libwmf-0.2-7 +Architecture: amd64 +Version: 0.2.12-5ubuntu1 +APT-ID: 4068 +Multi-Arch: same +Source: libwmf +Source-Version: 0.2.12-5ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libexpat1 (>= 2.0.1), libfreetype6 (>= 2.2.1), libjpeg8 (>= 8c), libpng16-16 (>= 1.6.2-1), libwmflite-0.2-7 (>= 0.2.12), libx11-6, zlib1g (>= 1:1.1.4) +Suggests: libwmf-0.2-7-gtk +Recommends: fonts-urw-base35 +Replaces: libwmf0.2-7 (<< 0.2.12-1) +Breaks: libwmf0.2-7 (<< 0.2.12-1) + +Package: libuno-cppu3 +Architecture: amd64 +Version: 1:7.3.6-0ubuntu0.22.04.1 +APT-ID: 72795 +Source: libreoffice +Source-Version: 1:7.3.6-0ubuntu0.22.04.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.32), libgcc-s1 (>= 3.0), libstdc++6 (>= 12), libuno-sal3 (>= 5.3.0~alpha), libuno-salhelpergcc3-3 (>= 1.4.0) +Replaces: uno-libs3, ure (<< 5.0.0~rc2-1) +Breaks: libreoffice-core (<< 1:4.3.0~), uno-libs3 + +Package: libodfgen-0.1-1 +Architecture: amd64 +Version: 0.1.8-2build2 +APT-ID: 3121 +Multi-Arch: same +Source: libodfgen +Source-Version: 0.1.8-2build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.32), libgcc-s1 (>= 3.3.1), librevenge-0.0-0, libstdc++6 (>= 11), libxml2 (>= 2.7.4) + +Package: libgpod-common +Architecture: amd64 +Version: 0.8.3-16build2 +APT-ID: 2483 +Source: libgpod +Source-Version: 0.8.3-16build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.31.18), libgpod4 (>= 0.7.90), libimobiledevice6 (>= 1.3.0), libplist3 (>= 2.2.0), libsgutils2-2 (>= 1.27), libusb-1.0-0 (>= 2:1.0.8), libxml2 (>= 2.7.4) +Replaces: libgpod0 (<< 0.3.0-4) + +Package: libsoup-gnome2.4-1 +Architecture: amd64 +Version: 2.74.2-3 +APT-ID: 3706 +Multi-Arch: same +Source: libsoup2.4 +Source-Version: 2.74.2-3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libglib2.0-0 (>= 2.58), libsoup2.4-1 (= 2.74.2-3) + +Package: libboost-filesystem1.74.0 +Architecture: amd64 +Version: 1.74.0-14ubuntu3 +APT-ID: 1768 +Multi-Arch: same +Source: boost1.74 +Source-Version: 1.74.0-14ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 5.2) + +Package: aisleriot +Architecture: amd64 +Version: 1:3.22.22-1 +APT-ID: 12 +Source: aisleriot +Source-Version: 1:3.22.22-1 +Priority: optional +Section: games +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend, guile-2.2-libs, libatk1.0-0 (>= 1.12.4), libc6 (>= 2.34), libcairo2 (>= 1.10.0), libcanberra-gtk3-0 (>= 0.25), libcanberra0 (>= 0.2), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.37.3), libgtk-3-0 (>= 3.19.12), librsvg2-2 (>= 2.32.0) +Suggests: gnome-cards-data +Recommends: yelp + +Package: python3-software-properties +Architecture: all +Version: 0.99.22.3 +APT-ID: 74354 +Source: software-properties +Source-Version: 0.99.22.3 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gpg, iso-codes, lsb-release, python3, python3-apt (>= 0.6.20ubuntu16), python3-gi, python3-launchpadlib, python3:any +Recommends: unattended-upgrades + +Package: libsane-hpaio +Architecture: amd64 +Version: 3.21.12+dfsg0-1 +APT-ID: 3633 +Multi-Arch: same +Source: hplip +Source-Version: 3.21.12+dfsg0-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcups2 (>= 1.6.0), libdbus-1-3 (>= 1.9.14), libhpmud0 (>= 3.21.12+dfsg0) +Recommends: hplip (= 3.21.12+dfsg0-1), sane-utils +Replaces: hplip (<< 3.17.10+repack0-5~) +Breaks: hplip (<< 3.17.10+repack0-5~) + +Package: libsepol2 +Architecture: amd64 +Version: 3.3-1build1 +APT-ID: 3663 +Multi-Arch: same +Source: libsepol +Source-Version: 3.3-1build1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: libcairo-gobject2 +Architecture: amd64 +Version: 1.16.0-5ubuntu2 +APT-ID: 1829 +Multi-Arch: same +Source: cairo +Source-Version: 1.16.0-5ubuntu2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libcairo2 (= 1.16.0-5ubuntu2), libglib2.0-0 (>= 2.14.0) + +Package: python3-full +Architecture: amd64 +Version: 3.10.6-1~22.04 +APT-ID: 78595 +Multi-Arch: allowed +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: optional +Section: universe/python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=universe,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3 (= 3.10.6-1~22.04), python3.10-full (>= 3.10.6-1~), python3-venv (= 3.10.6-1~22.04), 2to3, idle, python3-distutils, python3-gdbm, python3-lib2to3, python3-tk +Suggests: python3-dev +Recommends: python3-doc, python3-examples + +Package: python3-full +Architecture: amd64 +Version: 3.10.4-0ubuntu2 +APT-ID: 55955 +Multi-Arch: allowed +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-0ubuntu2 +Priority: optional +Section: universe/python +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=universe,b=amd64 +APT-Pin: 500 +Depends: python3 (= 3.10.4-0ubuntu2), python3.10-full (>= 3.10.4-1~), python3-venv (= 3.10.4-0ubuntu2), 2to3, idle, python3-distutils, python3-gdbm, python3-lib2to3, python3-tk +Suggests: python3-dev +Recommends: python3-doc, python3-examples + +Package: libqpdf28 +Architecture: amd64 +Version: 10.6.3-1 +APT-ID: 3349 +Multi-Arch: same +Source: qpdf +Source-Version: 10.6.3-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libgcc-s1 (>= 3.3.1), libgnutls30 (>= 3.7.0), libjpeg8 (>= 8c), libstdc++6 (>= 11), zlib1g (>= 1:1.1.4) + +Package: ubuntu-keyring +Architecture: all +Version: 2021.03.26 +APT-ID: 5888 +Multi-Arch: foreign +Source: ubuntu-keyring +Source-Version: 2021.03.26 +Priority: required +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: ubuntu-cloudimage-keyring (<< 2018.02.05) +Breaks: ubuntu-cloudimage-keyring (<< 2018.02.05) + +Package: libgs9-common +Architecture: all +Version: 9.55.0~dfsg1-0ubuntu5 +APT-ID: 2500 +Multi-Arch: foreign +Source: ghostscript +Source-Version: 9.55.0~dfsg1-0ubuntu5 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fonts-urw-base35 (>= 20200910) +Recommends: fonts-droid-fallback + +Package: librygel-server-2.6-2 +Architecture: amd64 +Version: 0.40.3-1ubuntu2 +APT-ID: 3626 +Multi-Arch: same +Source: rygel +Source-Version: 0.40.3-1ubuntu2 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libgee-0.8-2 (>= 0.8.3), libglib2.0-0 (>= 2.56.0), libgssdp-1.2-0 (>= 1.1.3), libgupnp-1.2-1 (>= 1.1.0), libgupnp-av-1.0-3 (>= 0.12.8), libmediaart-2.0-0 (>= 1.9.0), librygel-core-2.6-2 (>= 0.40.3), libsoup2.4-1 (>= 2.44.0), libxml2 (>= 2.7.4) + +Package: libflac8 +Architecture: amd64 +Version: 1.3.3-2build2 +APT-ID: 2237 +Multi-Arch: same +Source: flac +Source-Version: 1.3.3-2build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libogg0 (>= 1.0rc3) + +Package: python3.10-examples +Architecture: all +Version: 3.10.6-1~22.04 +APT-ID: 74365 +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: optional +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3.10:any (>= 3.10.6-1~22.04) + +Package: python3.10-examples +Architecture: all +Version: 3.10.4-3ubuntu0.1 +APT-ID: 79411 +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3ubuntu0.1 +Priority: optional +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +Depends: python3.10:any (>= 3.10.4-3ubuntu0.1) + +Package: python3.10-examples +Architecture: all +Version: 3.10.4-3 +APT-ID: 5554 +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3 +Priority: optional +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +Depends: python3.10:any (>= 3.10.4-3) + +Package: libpoppler-cpp0v5 +Architecture: amd64 +Version: 22.02.0-2ubuntu0.1 +APT-ID: 72515 +Multi-Arch: same +Source: poppler +Source-Version: 22.02.0-2ubuntu0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libpoppler118 (= 22.02.0-2ubuntu0.1), libc6 (>= 2.14), libstdc++6 (>= 11) +Conflicts: libpoppler-cpp0 +Replaces: libpoppler-cpp0 + +Package: libsmbclient +Architecture: amd64 +Version: 2:4.15.9+dfsg-0ubuntu0.2 +APT-ID: 72747 +Multi-Arch: same +Source: samba +Source-Version: 2:4.15.9+dfsg-0ubuntu0.2 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: samba-libs (= 2:4.15.9+dfsg-0ubuntu0.2), libbsd0 (>= 0.0), libc6 (>= 2.14), libtalloc2 (>= 2.3.3~), libtevent0 (>= 0.11.0~), libwbclient0 (= 2:4.15.9+dfsg-0ubuntu0.2) +Pre-Depends: dpkg (>= 1.15.6~) + +Package: libxatracker2 +Architecture: amd64 +Version: 22.0.5-0ubuntu0.1 +APT-ID: 72850 +Multi-Arch: same +Source: mesa +Source-Version: 22.0.5-0ubuntu0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libdrm-nouveau2 (>= 2.4.66), libdrm2 (>= 2.4.75), libexpat1 (>= 2.0.1), libgcc-s1 (>= 3.4), libllvm13, libstdc++6 (>= 11), libzstd1 (>= 1.4.0), zlib1g (>= 1:1.1.4) + +Package: squashfs-tools +Architecture: amd64 +Version: 1:4.5-3build1 +APT-ID: 5692 +Source: squashfs-tools +Source-Version: 1:4.5-3build1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), liblz4-1 (>= 0.0~r130), liblzma5 (>= 5.1.1alpha+20120614), liblzo2-2 (>= 2.02), libzstd1 (>= 1.4.0), zlib1g (>= 1:1.1.4) + +Package: poppler-data +Architecture: all +Version: 0.4.11-1 +APT-ID: 4935 +Multi-Arch: foreign +Source: poppler-data +Source-Version: 0.4.11-1 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Pre-Depends: dpkg (>= 1.15.6~) +Suggests: poppler-utils, ghostscript, fonts-japanese-mincho | fonts-ipafont-mincho, fonts-japanese-gothic | fonts-ipafont-gothic, fonts-arphic-ukai, fonts-arphic-uming, fonts-nanum (>= 20131007~) +Replaces: cmap-adobe-cns1 (<= 0+20090930-2), cmap-adobe-gb1 (<= 0+20090930-2), cmap-adobe-japan1 (<= 0+20090930-2), cmap-adobe-japan2 (<= 0+20090930-2), cmap-adobe-korea1 (<= 1.20100103-3), gs-cjk-resource (<= 1.20100103-3) +Breaks: cmap-adobe-cns1 (<= 0+20090930-2), cmap-adobe-gb1 (<= 0+20090930-2), cmap-adobe-japan1 (<= 0+20090930-2), cmap-adobe-japan2 (<= 0+20090930-2), cmap-adobe-korea1 (<= 1.20100103-3), gs-aladdin (<= 6.50-5), gs-cjk-resource (<= 1.20100103-3) +Enhances: ghostscript +Provides: gs-cjk-resource, cmap-adobe-korea1, cmap-adobe-japan2, cmap-adobe-japan1, cmap-adobe-gb1, cmap-adobe-cns1 + +Package: fonts-noto-mono +Architecture: all +Version: 20201225-1build1 +APT-ID: 481 +Multi-Arch: foreign +Source: fonts-noto +Source-Version: 20201225-1build1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: fonts-noto-core (<< 20201027-2~), fonts-noto-unhinted (<< 20201027-3~) +Breaks: fonts-noto-core (<< 20201027-2~), fonts-noto-unhinted (<< 20201027-3~) +Enhances: fonts-noto-core + +Package: python3-pyparsing +Architecture: all +Version: 2.4.7-1 +APT-ID: 5426 +Source: pyparsing +Source-Version: 2.4.7-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any +Suggests: python-pyparsing-doc + +Package: libwmf-0.2-7-gtk +Architecture: amd64 +Version: 0.2.12-5ubuntu1 +APT-ID: 4069 +Source: libwmf +Source-Version: 0.2.12-5ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.12.0), libwmf-0.2-7 (= 0.2.12-5ubuntu1), libwmflite-0.2-7 (>= 0.2.12) +Replaces: libwmf0.2-7 (<< 0.2.8.4-12) +Breaks: libwmf0.2-7 (<< 0.2.8.4-12) + +Package: linux-headers-5.15.0-48-generic +Architecture: amd64 +Version: 5.15.0-48.54 +APT-ID: 73268 +Source: linux +Source-Version: 5.15.0-48.54 +Priority: optional +Section: devel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: linux-headers-5.15.0-48, libc6 (>= 2.34), libelf1 (>= 0.142), libssl3 (>= 3.0.0~~alpha1), zlib1g (>= 1:1.2.3.3) +Provides: linux-headers-3.0, linux-headers + +Package: fonts-tlwg-typist-ttf +Architecture: all +Version: 1:0.7.3-1 +APT-ID: 536 +Multi-Arch: foreign +Source: fonts-tlwg +Source-Version: 1:0.7.3-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: fonts-tlwg-typist (>= 1:0.6.2-2) +Replaces: fonts-tlwg-typist (<< 1:0.6.2-2) +Breaks: fonts-tlwg-typist (<< 1:0.6.2-2) + +Package: libbpf0 +Architecture: amd64 +Version: 1:0.5.0-1 +APT-ID: 1789 +Multi-Arch: same +Source: libbpf +Source-Version: 0.5.0-1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.22), libelf1 (>= 0.142), zlib1g (>= 1:1.2.3.3) + +Package: ubuntu-mono +Architecture: all +Version: 20.10-0ubuntu2 +APT-ID: 5890 +Multi-Arch: foreign +Source: ubuntu-themes +Source-Version: 20.10-0ubuntu2 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: adwaita-icon-theme, hicolor-icon-theme, humanity-icon-theme + +Package: libfastjson4 +Architecture: amd64 +Version: 0.99.9-1build2 +APT-ID: 2196 +Multi-Arch: same +Source: libfastjson +Source-Version: 0.99.9-1build2 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: libmnl0 +Architecture: amd64 +Version: 1.0.4-3build2 +APT-ID: 2943 +Multi-Arch: same +Source: libmnl +Source-Version: 1.0.4-3build2 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: libboost-thread1.74.0 +Architecture: amd64 +Version: 1.74.0-14ubuntu3 +APT-ID: 1785 +Multi-Arch: same +Source: boost1.74 +Source-Version: 1.74.0-14ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 5.2) + +Package: libreoffice-impress +Architecture: amd64 +Version: 1:7.3.6-0ubuntu0.22.04.1 +APT-ID: 72592 +Source: libreoffice +Source-Version: 1:7.3.6-0ubuntu0.22.04.1 +Priority: optional +Section: editors +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libreoffice-common (>= 1:7.0.0~alpha~), libreoffice-core (= 1:7.3.6-0ubuntu0.22.04.1), libreoffice-draw (= 1:7.3.6-0ubuntu0.22.04.1), ucf (>= 0.8), libc6 (>= 2.32), libepoxy0 (>= 1.0), libetonyek-0.1-1, libgcc-s1 (>= 3.0), libmwaw-0.3-3, libodfgen-0.1-1, librevenge-0.0-0, libstdc++6 (>= 11), libuno-cppu3 (>= 4.4.0~alpha), libuno-cppuhelpergcc3-3 (>= 5.3.0~alpha), libuno-sal3 (>= 1:7.3.0~beta1), libuno-salhelpergcc3-3 (>= 1.4.0), uno-libs-private +Suggests: bluez +Conflicts: libreoffice-ogltrans (<< 1:6.1.4-2~) +Replaces: libreoffice-common (<< 1:6.4.2~rc1~), libreoffice-ogltrans (<< 1:6.1.4-2~) +Breaks: libreoffice-common (<< 1:6.4.2~rc1~) +Provides: libreoffice-ogltrans + +Package: libtss2-mu0 +Architecture: amd64 +Version: 3.2.0-1ubuntu1 +APT-ID: 3898 +Multi-Arch: same +Source: tpm2-tss +Source-Version: 3.2.0-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: tpm-udev, libc6 (>= 2.14) +Replaces: libtss2-esys0 (<< 3.0.1-2) +Breaks: libtss2-esys0 (<< 3.0.1-2) + +Package: xserver-xorg-video-vesa +Architecture: amd64 +Version: 1:2.5.0-1build4 +APT-ID: 6061 +Source: xserver-xorg-video-vesa +Source-Version: 1:2.5.0-1build4 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), xorg-video-abi-25, xserver-xorg-core (>= 2:21.1.1) +Provides: xorg-driver-video + +Package: python3-lazr.uri +Architecture: all +Version: 1.0.6-2 +APT-ID: 5293 +Source: lazr.uri +Source-Version: 1.0.6-2 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-importlib-metadata | python3 (>> 3.8), python3-pkg-resources, python3:any + +Package: gir1.2-gtk-3.0 +Architecture: amd64 +Version: 3.24.33-1ubuntu2 +APT-ID: 71839 +Multi-Arch: same +Source: gtk+3.0 +Source-Version: 3.24.33-1ubuntu2 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-atk-1.0 (>= 2.35.1), gir1.2-freedesktop (>= 1.39.0), gir1.2-gdkpixbuf-2.0 (>= 2.40.0) | libgdk-pixbuf2.0-dev (>= 2.40.0), gir1.2-glib-2.0 (>= 1.39.0), gir1.2-pango-1.0 (>= 1.44.0), libgtk-3-0 (>= 3.24.24), libgtk-3-common +Breaks: python-gi (<< 3.18), python3-gi (<< 3.18) +Provides: gir1.2-gdkx11-3.0 (= 3.24.33-1ubuntu2), gir1.2-gdk-3.0 (= 3.24.33-1ubuntu2) + +Package: libextutils-depends-perl +Architecture: all +Version: 0.8001-1 +APT-ID: 2193 +Source: libextutils-depends-perl +Source-Version: 0.8001-1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any, perl (>= 5.31.8) + +Package: gvfs-common +Architecture: all +Version: 1.48.2-0ubuntu1 +APT-ID: 71900 +Multi-Arch: foreign +Source: gvfs +Source-Version: 1.48.2-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: desktop-file-utils +Recommends: gvfs + +Package: libxml2 +Architecture: amd64 +Version: 2.9.13+dfsg-1ubuntu0.1 +APT-ID: 72851 +Multi-Arch: same +Source: libxml2 +Source-Version: 2.9.13+dfsg-1ubuntu0.1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libicu70 (>= 70.1-1~), liblzma5 (>= 5.1.1alpha+20120614), zlib1g (>= 1:1.2.3.3) +Conflicts: w3c-dtd-xhtml + +Package: switcheroo-control +Architecture: amd64 +Version: 2.4-3build2 +APT-ID: 5724 +Source: switcheroo-control +Source-Version: 2.4-3build2 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.31.18), libgudev-1.0-0 (>= 146) + +Package: libxmu6 +Architecture: amd64 +Version: 2:1.1.3-3 +APT-ID: 4251 +Multi-Arch: same +Source: libxmu +Source-Version: 2:1.1.3-3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libx11-6, libxext6, libxt6 + +Package: gvfs-libs +Architecture: amd64 +Version: 1.48.2-0ubuntu1 +APT-ID: 71903 +Multi-Arch: same +Source: gvfs +Source-Version: 1.48.2-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gsettings-desktop-schemas (>= 3.33.0), gvfs-common (= 1.48.2-0ubuntu1), libc6 (>= 2.33), libgcr-base-3-1 (>= 3.8.0), libglib2.0-0 (>= 2.68.0), libsecret-1-0 (>= 0.7) + +Package: gir1.2-gtk-4.0 +Architecture: amd64 +Version: 4.6.6+ds-0ubuntu1 +APT-ID: 71840 +Multi-Arch: same +Source: gtk4 +Source-Version: 4.6.6+ds-0ubuntu1 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-freedesktop (>= 1.39.0), gir1.2-gdkpixbuf-2.0 (>= 2.30.0), gir1.2-glib-2.0 (>= 1.39.0), gir1.2-graphene-1.0 (>= 1.10.4~), gir1.2-pango-1.0 (>= 1.50.0), libgtk-4-1 (>= 4.6.0), libgtk-4-common +Breaks: python-gi (<< 3.18), python3-gi (<< 3.18) +Provides: gir1.2-gsk-4.0 (= 4.6.6+ds-0ubuntu1), gir1.2-gdkx11-4.0 (= 4.6.6+ds-0ubuntu1), gir1.2-gdkwayland-4.0 (= 4.6.6+ds-0ubuntu1), gir1.2-gdk-4.0 (= 4.6.6+ds-0ubuntu1) + +Package: mutter-common +Architecture: all +Version: 42.2-0ubuntu1 +APT-ID: 74199 +Multi-Arch: foreign +Source: mutter +Source-Version: 42.2-0ubuntu1 +Priority: extra +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend + +Package: libmpc3 +Architecture: amd64 +Version: 1.2.1-2build1 +APT-ID: 2959 +Multi-Arch: same +Source: mpclib3 +Source-Version: 1.2.1-2build1 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libgmp10 (>= 2:6.2.1+dfsg), libmpfr6 (>= 4.0.0) + +Package: gir1.2-packagekitglib-1.0 +Architecture: amd64 +Version: 1.2.5-2ubuntu2 +APT-ID: 735 +Source: packagekit +Source-Version: 1.2.5-2ubuntu2 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0 (>= 1.36), libpackagekit-glib2-18 (>= 1.2.5) + +Package: libcamel-1.2-63 +Architecture: amd64 +Version: 3.44.4-0ubuntu1 +APT-ID: 72285 +Multi-Arch: same +Source: evolution-data-server +Source-Version: 3.44.4-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libglib2.0-0 (>= 2.41.1), libgssapi-krb5-2 (>= 1.17), libicu70 (>= 70.1-1~), libnspr4 (>= 2:4.9-2~), libnss3 (>= 2:3.13.4-2~), libsqlite3-0 (>= 3.6.0), zlib1g (>= 1:1.1.4) + +Package: xz-utils +Architecture: amd64 +Version: 5.2.5-2ubuntu1 +APT-ID: 6067 +Multi-Arch: foreign +Source: xz-utils +Source-Version: 5.2.5-2ubuntu1 +Priority: standard +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), liblzma5 (>= 5.2.2) +Conflicts: lzma (<< 9.22-1), xz-lzma +Replaces: lzip (<< 1.8~rc2), xz-lzma +Breaks: lzip (<< 1.8~rc2) +Provides: lzma + +Package: libglib2.0-data +Architecture: all +Version: 2.72.1-1 +APT-ID: 2388 +Multi-Arch: foreign +Source: glib2.0 +Source-Version: 2.72.1-1 +Priority: required +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: gnome-calendar +Architecture: amd64 +Version: 41.2-3 +APT-ID: 782 +Source: gnome-calendar +Source-Version: 41.2-3 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend, libc6 (>= 2.34), libcairo2 (>= 1.2.4), libdazzle-1.0-0 (>= 3.33.90), libecal-2.0-1 (>= 3.33.4), libedataserver-1.2-26 (>= 3.17.90), libedataserverui-1.2-3 (>= 3.17.1), libgeoclue-2-0 (>= 2.4.0), libglib2.0-0 (>= 2.67.5), libgoa-1.0-0b (>= 3.2.0), libgtk-3-0 (>= 3.22.20), libgweather-3-16 (>= 40.0), libhandy-1-0 (>= 1.5.90), libical3 (>= 3.0.0), libpango-1.0-0 (>= 1.22.0), libpangocairo-1.0-0 (>= 1.14.0), libsoup2.4-1 (>= 2.41.90), gsettings-desktop-schemas (>= 3.21.2) +Recommends: evolution-data-server + +Package: fonts-tlwg-garuda-ttf +Architecture: all +Version: 1:0.7.3-1 +APT-ID: 518 +Multi-Arch: foreign +Source: fonts-tlwg +Source-Version: 1:0.7.3-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: fonts-tlwg-garuda (>= 1:0.6.2-2) +Replaces: fonts-tlwg-garuda (<< 1:0.6.2-2) +Breaks: fonts-tlwg-garuda (<< 1:0.6.2-2) + +Package: humanity-icon-theme +Architecture: all +Version: 0.6.16 +APT-ID: 973 +Source: humanity-icon-theme +Source-Version: 0.6.16 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: adwaita-icon-theme, hicolor-icon-theme + +Package: libzstd1 +Architecture: amd64 +Version: 1.4.8+dfsg-3build1 +APT-ID: 4313 +Multi-Arch: same +Source: libzstd +Source-Version: 1.4.8+dfsg-3build1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: network-manager-gnome +Architecture: amd64 +Version: 1.24.0-1ubuntu3 +APT-ID: 4746 +Source: network-manager-applet +Source-Version: 1.24.0-1ubuntu3 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libatk1.0-0 (>= 1.12.4), libayatana-appindicator3-1 (>= 0.4.90), libc6 (>= 2.34), libcairo2 (>= 1.2.4), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.43.2), libgtk-3-0 (>= 3.10), libjansson4 (>= 2.7), libmm-glib0 (>= 0.7.991), libnm0 (>= 1.16.0), libnma0 (>= 1.8.28), libnotify4 (>= 0.7.0), libpango-1.0-0 (>= 1.14.0), libpangocairo-1.0-0 (>= 1.14.0), libsecret-1-0 (>= 0.18), libselinux1 (>= 3.1~), network-manager (>= 1.8), gnome-shell | policykit-1-gnome | polkit-1-auth-agent, default-dbus-session-bus | dbus-session-bus +Suggests: network-manager-openconnect-gnome, network-manager-openvpn-gnome, network-manager-vpnc-gnome, network-manager-pptp-gnome +Recommends: gnome-shell | notification-daemon, gnome-keyring, mobile-broadband-provider-info, iso-codes + +Package: libgtk2.0-common +Architecture: all +Version: 2.24.33-2ubuntu2 +APT-ID: 2536 +Multi-Arch: foreign +Source: gtk+2.0 +Source-Version: 2.24.33-2ubuntu2 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: libgtk2.0-0 + +Package: libgraphite2-3 +Architecture: amd64 +Version: 1.3.14-1build2 +APT-ID: 2492 +Multi-Arch: same +Source: graphite2 +Source-Version: 1.3.14-1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) +Replaces: libgraphite2-2.0.0 +Breaks: libgraphite2-2.0.0 (<< 1.2.0) +Provides: libgraphite2-2.0.0 + +Package: gstreamer1.0-alsa +Architecture: amd64 +Version: 1.20.1-1 +APT-ID: 924 +Multi-Arch: same +Source: gst-plugins-base1.0 +Source-Version: 1.20.1-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libasound2 (>= 1.0.27), libc6 (>= 2.4), libglib2.0-0 (>= 2.67.3), libgstreamer-plugins-base1.0-0 (>= 1.20.0), libgstreamer1.0-0 (>= 1.20.0) +Suggests: alsa-utils (>= 0.9.0) +Provides: gstreamer1.0-audiosource, gstreamer1.0-audiosink + +Package: util-linux +Architecture: amd64 +Version: 2.37.2-4ubuntu3 +APT-ID: 5933 +Essential: yes +Multi-Arch: foreign +Source: util-linux +Source-Version: 2.37.2-4ubuntu3 +Priority: important +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Pre-Depends: libaudit1 (>= 1:2.2.1), libblkid1 (>= 2.37.2), libc6 (>= 2.34), libcap-ng0 (>= 0.7.9), libcrypt1 (>= 1:4.1.0), libmount1 (>= 2.37.2), libpam0g (>= 0.99.7.1), libselinux1 (>= 3.1~), libsmartcols1 (>= 2.34), libsystemd0, libtinfo6 (>= 6), libudev1 (>= 183), libuuid1 (>= 2.16), zlib1g (>= 1:1.1.4) +Suggests: dosfstools, kbd, util-linux-locales +Conflicts: hardlink +Replaces: hardlink +Provides: hardlink + +Package: libbsd0 +Architecture: amd64 +Version: 0.11.5-1 +APT-ID: 1796 +Multi-Arch: same +Source: libbsd +Source-Version: 0.11.5-1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libmd0 (>= 1.0.3-2) + +Package: libgee-0.8-2 +Architecture: amd64 +Version: 0.20.5-2 +APT-ID: 2343 +Multi-Arch: same +Source: libgee-0.8 +Source-Version: 0.20.5-2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libglib2.0-0 (>= 2.43.92) + +Package: gnome-shell +Architecture: amd64 +Version: 42.4-0ubuntu0.22.04.1 +APT-ID: 71870 +Source: gnome-shell +Source-Version: 42.4-0ubuntu0.22.04.1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: evolution-data-server (>= 3.33.1), gir1.2-accountsservice-1.0, gir1.2-adw-1, gir1.2-atk-1.0, gir1.2-atspi-2.0 (>= 2.36), gir1.2-gcr-3 (>= 3.7.5), gir1.2-gdesktopenums-3.0 (>= 3.12), gir1.2-gdkpixbuf-2.0, gir1.2-gdm-1.0 (>= 3.18.2), gir1.2-geoclue-2.0, gir1.2-glib-2.0 (>= 1.56.0), gir1.2-gnomebluetooth-3.0 (>= 3.12.0), gir1.2-gnomedesktop-3.0 (>= 3.35.90), gir1.2-graphene-1.0 (>= 1.10.2), gir1.2-gstreamer-1.0, gir1.2-gtk-3.0 (>= 3.16), gir1.2-gtk-4.0, gir1.2-gweather-3.0 (>= 40.0), gir1.2-freedesktop, gir1.2-ibus-1.0 (>= 1.5.22-2ubuntu2~), gir1.2-mutter-10 (>= 42.0), gir1.2-nm-1.0, gir1.2-nma-1.0, gir1.2-pango-1.0, gir1.2-polkit-1.0, gir1.2-rsvg-2.0, gir1.2-soup-2.4 (>= 2.40.1), gir1.2-upowerglib-1.0 (>= 0.99), gir1.2-webkit2-4.0 (>= 2.16.0), gnome-settings-daemon (>= 40~), gnome-shell-common (= 42.4-0ubuntu0.22.04.1), gsettings-desktop-schemas (>= 42~beta), gstreamer1.0-pipewire (>= 0.3.10), libglib2.0-bin (>= 2.53.0), python3, ubuntu-wallpapers, dconf-gsettings-backend | gsettings-backend, libatk-bridge2.0-0 (>= 2.5.3), libatk1.0-0 (>= 1.12.4), libc6 (>= 2.34), libcairo2 (>= 1.14.0), libecal-2.0-1 (>= 3.33.4), libedataserver-1.2-26 (>= 3.33.1), libgcr-base-3-1 (>= 3.8.0), libgdk-pixbuf-2.0-0 (>= 2.23.0), libgirepository-1.0-1 (>= 1.35.9), libgjs0g (>= 1.71.1), libgles2, libglib2.0-0 (>= 2.67.3), libgnome-autoar-0-0 (>= 0.1.1), libgnome-desktop-3-19 (>= 3.35.90), libgraphene-1.0-0 (>= 1.5.4), libgtk-3-0 (>= 3.21.6), libgtk-4-1 (>= 4.0.0), libical3 (>= 3.0.0), libjson-glib-1.0-0 (>= 1.5.2), libmutter-10-0 (>= 42.0), libnm0 (>= 1.10.4), libpango-1.0-0 (>= 1.37.5), libpangocairo-1.0-0 (>= 1.14.0), libpolkit-agent-1-0 (>= 0.100), libpolkit-gobject-1-0 (>= 0.94), libpulse-mainloop-glib0 (>= 13), libpulse0 (>= 13), libsecret-1-0 (>= 0.7), libsystemd0, libwayland-server0 (>= 1.0.2), libx11-6, libxfixes3 +Suggests: gir1.2-malcontent-0 (>= 0.6.0), gir1.2-telepathyglib-0.12, gir1.2-telepathylogger-0.2 (>= 0.8.0), gnome-backgrounds (>= 3.13.90), gnome-shell-extension-prefs, chrome-gnome-shell +Recommends: bolt (>= 0.3), gdm3 (>= 3.10.0.1-3~), gkbd-capplet, gnome-control-center (>= 1:3.25.2), gnome-remote-desktop, gnome-menus, gnome-user-docs, ibus, iio-sensor-proxy, power-profiles-daemon, switcheroo-control, ubuntu-session | gnome-session, xserver-xorg-legacy, unzip +Breaks: gnome-session (<< 3.35.3-1ubuntu4~), gnome-shell-extension-appindicator (<< 36), gnome-shell-extension-autohidetopbar (<< 20180511-2~), gnome-shell-extension-caffeine (<< 0~git20171229-3~), gnome-shell-extension-dash-to-panel (<< 43), gnome-shell-extension-dashtodock (<< 70), gnome-shell-extension-desktop-icons (<< 21.04), gnome-shell-extension-desktop-icons-ng (<< 0.16.0~), gnome-shell-extension-multi-monitors (<< 0.00~git20171014.1.df5d6e4-1.1~), gnome-shell-extension-pixelsaver (<< 1.10+git20161217-49f47bf-1.1~), gnome-shell-extension-taskbar (<< 57.0-2.1~), gnome-shell-extension-top-icons-plus (<< 27-3~), gnome-shell-extension-ubuntu-dock (<< 68ubuntu20.10.1), gnome-shell-extension-workspaces-to-dock (<< 54~), gnome-shell-extensions (<< 40.0~), gnome-shell-pomodoro (<< 0.13.4-2.1~), nautilus (<< 1:3.30), yaru-theme-gnome-shell (<< 22.04.1~) +Provides: polkit-1-auth-agent, notification-daemon + +Package: less +Architecture: amd64 +Version: 590-1build1 +APT-ID: 1539 +Multi-Arch: foreign +Source: less +Source-Version: 590-1build1 +Priority: required +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libtinfo6 (>= 6) + +Package: libuno-cppuhelpergcc3-3 +Architecture: amd64 +Version: 1:7.3.6-0ubuntu0.22.04.1 +APT-ID: 72796 +Source: libreoffice +Source-Version: 1:7.3.6-0ubuntu0.22.04.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: uno-libs-private (= 1:7.3.6-0ubuntu0.22.04.1), libc6 (>= 2.32), libgcc-s1 (>= 3.0), libstdc++6 (>= 11), libuno-cppu3 (>= 4.4.0~alpha), libuno-sal3 (>= 5.1.0~alpha), libuno-salhelpergcc3-3 (>= 1.4.0) +Replaces: uno-libs3, ure (<< 5.0.0~rc2-1) +Breaks: libreoffice-core (<< 1:4.3.0~), uno-libs3 + +Package: python-apt-common +Architecture: all +Version: 2.3.0ubuntu2.1 +APT-ID: 74290 +Multi-Arch: foreign +Source: python-apt +Source-Version: 2.3.0ubuntu2.1 +Priority: required +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: python-apt (<< 0.7.98+nmu1) +Breaks: python-apt (<< 0.7.98+nmu1) +Enhances: python-apt, python3-apt + +Package: gir1.2-gst-plugins-base-1.0 +Architecture: amd64 +Version: 1.20.1-1 +APT-ID: 700 +Multi-Arch: same +Source: gst-plugins-base1.0 +Source-Version: 1.20.1-1 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0 (>= 0.9.12-4~), gir1.2-gstreamer-1.0 (>= 1.20.0), libgstreamer-gl1.0-0 (>= 1.20.0), libgstreamer-plugins-base1.0-0 (>= 1.20.0) + +Package: remmina-plugin-secret +Architecture: amd64 +Version: 1.4.25+dfsg-1 +APT-ID: 5595 +Multi-Arch: same +Source: remmina +Source-Version: 1.4.25+dfsg-1 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libglib2.0-0 (>= 2.12.0), libsecret-1-0 (>= 0.7), remmina (= 1.4.25+dfsg-1) +Replaces: remmina-plugin-gnome +Breaks: remmina-plugin-gnome + +Package: python3-more-itertools +Architecture: all +Version: 8.10.0-2 +APT-ID: 5324 +Source: more-itertools +Source-Version: 8.10.0-2 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any + +Package: libdconf1 +Architecture: amd64 +Version: 0.40.0-3 +APT-ID: 2040 +Multi-Arch: same +Source: dconf +Source-Version: 0.40.0-3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libglib2.0-0 (>= 2.55.2) + +Package: libxpm4 +Architecture: amd64 +Version: 1:3.5.12-1build2 +APT-ID: 4257 +Multi-Arch: same +Source: libxpm +Source-Version: 1:3.5.12-1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libx11-6 + +Package: fonts-sahadeva +Architecture: all +Version: 1.0-5 +APT-ID: 487 +Multi-Arch: foreign +Source: fonts-sahadeva +Source-Version: 1.0-5 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Suggests: fonts-nakula +Replaces: ttf-devanagari-fonts +Breaks: ttf-devanagari-fonts (<< 2:1.0) + +Package: gir1.2-gudev-1.0 +Architecture: amd64 +Version: 1:237-2build1 +APT-ID: 708 +Multi-Arch: same +Source: libgudev +Source-Version: 237-2build1 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0 (>= 1.31.1), libgudev-1.0-0 (>= 234) + +Package: libnma-common +Architecture: all +Version: 1.8.34-1ubuntu1 +APT-ID: 3076 +Multi-Arch: foreign +Source: libnma +Source-Version: 1.8.34-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend +Replaces: network-manager-gnome (<< 1.18.0) +Breaks: network-manager-gnome (<< 1.18.0) + +Package: fonts-samyak-mlym +Architecture: all +Version: 1.2.2-5build1 +APT-ID: 490 +Multi-Arch: foreign +Source: fonts-samyak +Source-Version: 1.2.2-5build1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: ttf-malayalam-fonts (<< 2:1.0) +Breaks: ttf-malayalam-fonts (<< 2:1.0) + +Package: libfontconfig1 +Architecture: amd64 +Version: 2.13.1-4.2ubuntu5 +APT-ID: 2244 +Multi-Arch: same +Source: fontconfig +Source-Version: 2.13.1-4.2ubuntu5 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libexpat1 (>= 2.0.1), libfreetype6 (>= 2.9.1), libuuid1 (>= 2.16), fontconfig-config (>= 2.13.1-4.2ubuntu5) +Breaks: xpdf (<= 3.03-11) +Provides: libfontconfig + +Package: libhunspell-1.7-0 +Architecture: amd64 +Version: 1.7.0-4build1 +APT-ID: 2603 +Multi-Arch: same +Source: hunspell +Source-Version: 1.7.0-4build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 11) +Recommends: hunspell-en-us | hunspell-dictionary | myspell-dictionary +Conflicts: openoffice.org-core (= 2.2.0~rc2-1) + +Package: fonts-opensymbol +Architecture: all +Version: 2:102.12+LibO7.3.6-0ubuntu0.22.04.1 +APT-ID: 71807 +Multi-Arch: foreign +Source: libreoffice +Source-Version: 1:7.3.6-0ubuntu0.22.04.1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: fontconfig +Replaces: ttf-opensymbol +Provides: ttf-opensymbol + +Package: librsync2 +Architecture: amd64 +Version: 2.3.2-1ubuntu1 +APT-ID: 3575 +Multi-Arch: same +Source: librsync +Source-Version: 2.3.2-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: libgpgme11 +Architecture: amd64 +Version: 1.16.0-1.2ubuntu4 +APT-ID: 2473 +Multi-Arch: same +Source: gpgme1.0 +Source-Version: 1.16.0-1.2ubuntu4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gnupg (>= 2.1.21-4) | gpg, libassuan0 (>= 2.4.2), libc6 (>= 2.34), libgpg-error0 (>= 1.36) +Recommends: dirmngr, gpg-agent, gpg-wks-client, gpgsm + +Package: psmisc +Architecture: amd64 +Version: 23.4-2build3 +APT-ID: 4985 +Multi-Arch: foreign +Source: psmisc +Source-Version: 23.4-2build3 +Priority: standard +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libtinfo6 (>= 6) +Replaces: manpages-de (<< 4.9.1-1) +Breaks: manpages-de (<< 4.9.1-1) + +Package: libasound2 +Architecture: amd64 +Version: 1.2.6.1-1ubuntu1 +APT-ID: 1636 +Multi-Arch: same +Source: alsa-lib +Source-Version: 1.2.6.1-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libasound2-data (>= 1.2.6.1-1ubuntu1), libc6 (>= 2.34) +Suggests: libasound2-plugins (>= 1.0.24) +Breaks: alsa-utils (<< 1.2.1) + +Package: libsbc1 +Architecture: amd64 +Version: 1.5-3build2 +APT-ID: 3642 +Multi-Arch: same +Source: sbc +Source-Version: 1.5-3build2 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4) + +Package: wamerican +Architecture: all +Version: 2020.12.07-2 +APT-ID: 5951 +Multi-Arch: foreign +Source: scowl +Source-Version: 2020.12.07-2 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf (>= 0.5) | debconf-2.0 +Provides: wordlist + +Package: libldap-2.5-0 +Architecture: amd64 +Version: 2.5.13+dfsg-0ubuntu0.22.04.1 +APT-ID: 72442 +Multi-Arch: same +Source: openldap +Source-Version: 2.5.13+dfsg-0ubuntu0.22.04.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgnutls30 (>= 3.7.2), libsasl2-2 (>= 2.1.27+dfsg2) +Recommends: libldap-common +Conflicts: ldap-utils (<= 2.1.23-1) +Replaces: libldap-2.3-0, libldap2 + +Package: systemd +Architecture: amd64 +Version: 249.11-0ubuntu3.4 +APT-ID: 79617 +Multi-Arch: foreign +Source: systemd +Source-Version: 249.11-0ubuntu3.4 +Priority: required +Section: admin +Installed: yes +APT-Pin: 100 +APT-Automatic: yes +Depends: libacl1 (>= 2.2.23), libapparmor1 (>= 2.13), libaudit1 (>= 1:2.2.1), libcrypt1 (>= 1:4.4.0), libcryptsetup12 (>= 2:2.4), libgnutls30 (>= 3.7.2), libgpg-error0 (>= 1.14), libip4tc2 (>= 1.8.3), libkmod2 (>= 5~), liblz4-1 (>= 0.0~r130), libmount1 (>= 2.30), libpam0g (>= 0.99.7.1), libseccomp2 (>= 2.4.1), libssl3 (>= 3.0.0~~alpha1), libsystemd0 (= 249.11-0ubuntu3.4), util-linux (>= 2.27.1), mount (>= 2.26), adduser +Pre-Depends: libblkid1 (>= 2.24), libc6 (>= 2.34), libcap2 (>= 1:2.24-9~), libgcrypt20 (>= 1.9.0), liblz4-1 (>= 0.0~r122), liblzma5 (>= 5.1.1alpha+20120614), libselinux1 (>= 3.1~), libzstd1 (>= 1.4.0) +Suggests: systemd-container, libfido2-1, libtss2-esys-3.0.2-0, libtss2-mu0, libtss2-rc0, policykit-1 +Recommends: default-dbus-system-bus | dbus-system-bus, networkd-dispatcher, systemd-timesyncd | time-daemon +Conflicts: consolekit, libpam-ck-connector, systemd-shim +Breaks: resolvconf (<< 1.83~), udev (<< 247~) +Provides: systemd-tmpfiles (= 249.11-0ubuntu3.4), systemd-sysusers (= 249.11-0ubuntu3.4) + +Package: libtotem0 +Architecture: amd64 +Version: 42.0-1ubuntu1 +APT-ID: 3884 +Multi-Arch: same +Source: totem +Source-Version: 42.0-1ubuntu1 +Priority: optional +Section: video +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libatk1.0-0 (>= 1.29.4), libc6 (>= 2.33), libcairo-gobject2 (>= 1.14.0), libcairo2 (>= 1.14.0), libgdk-pixbuf-2.0-0 (>= 2.23.0), libgirepository-1.0-1 (>= 0.9.12), libglib2.0-0 (>= 2.59.0), libgnome-desktop-3-19 (>= 3.17.92), libgrilo-0.3-0 (>= 0.3.0), libgstreamer-plugins-base1.0-0 (>= 1.6.0), libgstreamer1.0-0 (>= 1.6.0), libgtk-3-0 (>= 3.22.0), libhandy-1-0 (>= 1.5.90), libpango-1.0-0 (>= 1.37.2), libpangocairo-1.0-0 (>= 1.14.0), libpeas-1.0-0 (>= 1.1.0), libtotem-plparser18 (>= 3.26.5) + +Package: mtr-tiny +Architecture: amd64 +Version: 0.95-1 +APT-ID: 4667 +Source: mtr +Source-Version: 0.95-1 +Priority: standard +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libjansson4 (>= 2.0.1), libncurses6 (>= 6), libtinfo6 (>= 6) +Replaces: mtr +Breaks: mtr, suidmanager (<< 0.50) + +Package: libudev1 +Architecture: amd64 +Version: 249.11-0ubuntu3.4 +APT-ID: 79612 +Multi-Arch: same +Source: systemd +Source-Version: 249.11-0ubuntu3.4 +Priority: important +Section: libs +Installed: yes +APT-Pin: 100 +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: gpg-agent +Architecture: amd64 +Version: 2.2.27-3ubuntu2.1 +APT-ID: 71881 +Multi-Arch: foreign +Source: gnupg2 +Source-Version: 2.2.27-3ubuntu2.1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gpgconf (= 2.2.27-3ubuntu2.1), pinentry-curses | pinentry, init-system-helpers (>= 1.52), libassuan0 (>= 2.5.1), libc6 (>= 2.34), libgcrypt20 (>= 1.9.0), libgpg-error0 (>= 1.42), libnpth0 (>= 0.90) +Suggests: dbus-user-session, libpam-systemd, pinentry-gnome3, scdaemon +Recommends: gnupg (= 2.2.27-3ubuntu2.1) +Replaces: gnupg-agent (<< 2.1.21-4) +Breaks: gnupg-agent (<< 2.1.21-4) +Provides: gnupg-agent + +Package: libmtp9 +Architecture: amd64 +Version: 1.1.19-1build1 +APT-ID: 2981 +Multi-Arch: same +Source: libmtp +Source-Version: 1.1.19-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libmtp-common, libc6 (>= 2.14), libgcrypt20 (>= 1.9.0), libusb-1.0-0 (>= 2:1.0.22) +Recommends: libmtp-runtime, udev + +Package: libstemmer0d +Architecture: amd64 +Version: 2.2.0-1build1 +APT-ID: 3773 +Multi-Arch: same +Source: snowball +Source-Version: 2.2.0-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4) + +Package: console-setup-linux +Architecture: all +Version: 1.205ubuntu3 +APT-ID: 212 +Multi-Arch: foreign +Source: console-setup +Source-Version: 1.205ubuntu3 +Priority: required +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: kbd (>= 0.99-12) | console-tools (>= 1:0.2.3-16), keyboard-configuration (= 1.205ubuntu3), init-system-helpers (>= 1.29~) | initscripts +Suggests: console-setup +Conflicts: console-setup-freebsd +Replaces: console-setup (<< 1.71), console-terminus +Breaks: console-cyrillic (<= 0.9-11), console-setup (<< 1.71), console-terminus +Provides: console-terminus + +Package: libgpg-error0 +Architecture: amd64 +Version: 1.43-3 +APT-ID: 2471 +Multi-Arch: same +Source: libgpg-error +Source-Version: 1.43-3 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Recommends: libgpg-error-l10n + +Package: libexempi8 +Architecture: amd64 +Version: 2.5.2-1ubuntu0.22.04.1 +APT-ID: 72340 +Multi-Arch: same +Source: exempi +Source-Version: 2.5.2-1ubuntu0.22.04.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libexpat1 (>= 2.0.1), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 11), zlib1g (>= 1:1.1.4) + +Package: libgweather-common +Architecture: all +Version: 40.0-5build1 +APT-ID: 2568 +Multi-Arch: foreign +Source: libgweather +Source-Version: 40.0-5build1 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend + +Package: wget +Architecture: amd64 +Version: 1.21.2-2ubuntu1 +APT-ID: 5964 +Multi-Arch: foreign +Source: wget +Source-Version: 1.21.2-2ubuntu1 +Priority: standard +Section: web +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libidn2-0 (>= 0.6), libpcre2-8-0 (>= 10.22), libpsl5 (>= 0.16.0), libssl3 (>= 3.0.0~~alpha1), libuuid1 (>= 2.16), zlib1g (>= 1:1.1.4) +Recommends: ca-certificates +Conflicts: wget-ssl + +Package: libxss1 +Architecture: amd64 +Version: 1:1.2.3-1build2 +APT-ID: 4270 +Multi-Arch: same +Source: libxss +Source-Version: 1:1.2.3-1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libx11-6 (>= 2:1.4.99.1), libxext6, x11-common + +Package: libxcvt0 +Architecture: amd64 +Version: 0.1.1-3 +APT-ID: 4194 +Multi-Arch: same +Source: libxcvt +Source-Version: 0.1.1-3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.2.5) + +Package: cups-filters-core-drivers +Architecture: amd64 +Version: 1.28.15-0ubuntu1 +APT-ID: 254 +Source: cups-filters +Source-Version: 1.28.15-0ubuntu1 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: bc, cups-ipp-utils, poppler-utils, libc6 (>= 2.34), libcups2 (>= 2.3~b6), libcupsfilters1 (>= 1.28.0), libgcc-s1 (>= 3.3.1), liblcms2-2 (>= 2.2+git20110628), libpoppler-cpp0v5 (>= 22.02.0), libqpdf28 (>> 10.6~), libstdc++6 (>= 11), zlib1g (>= 1:1.1.4) +Replaces: cups-filters (<< 1.13.0) +Breaks: cups-filters (<< 1.13.0) + +Package: gir1.2-geoclue-2.0 +Architecture: amd64 +Version: 2.5.7-3ubuntu3 +APT-ID: 679 +Multi-Arch: same +Source: geoclue-2.0 +Source-Version: 2.5.7-3ubuntu3 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0 (>= 0.9.6), libgeoclue-2-0 (>= 2.5.3) + +Package: shared-mime-info +Architecture: amd64 +Version: 2.1-2 +APT-ID: 5656 +Multi-Arch: foreign +Source: shared-mime-info +Source-Version: 2.1-2 +Priority: required +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.35.9), libxml2 (>= 2.7.4) + +Package: gir1.2-unity-7.0 +Architecture: amd64 +Version: 7.1.4+19.04.20190319-6build1 +APT-ID: 753 +Multi-Arch: same +Source: libunity +Source-Version: 7.1.4+19.04.20190319-6build1 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-dbusmenu-glib-0.4 (>= 0.4.90), gir1.2-dee-1.0 (>= 1.2.5~), gir1.2-glib-2.0 (>= 0.10), libunity9 (>= 7.1.3+14.04.20131029.1) +Conflicts: gir1.2-unity-5.0 +Replaces: gir1.2-unity-5.0 +Provides: gir1.2-unity-5.0 + +Package: libevview3-3 +Architecture: amd64 +Version: 42.3-0ubuntu2 +APT-ID: 72338 +Multi-Arch: same +Source: evince +Source-Version: 42.3-0ubuntu2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gstreamer1.0-plugins-base, libatk1.0-0 (>= 1.12.4), libc6 (>= 2.29), libcairo2 (>= 1.14.0), libevdocument3-4 (>= 42~beta), libglib2.0-0 (>= 2.38), libgspell-1-2 (>= 1.8.2), libgstreamer-plugins-base1.0-0 (>= 1.0.0), libgstreamer1.0-0 (>= 1.0.0), libgtk-3-0 (>= 3.22.0), libpango-1.0-0 (>= 1.14.0) + +Package: isc-dhcp-common +Architecture: amd64 +Version: 4.4.1-2.3ubuntu2.2 +APT-ID: 71908 +Source: isc-dhcp +Source-Version: 4.4.1-2.3ubuntu2.2 +Priority: required +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debianutils (>= 2.8.2) + +Package: p11-kit-modules +Architecture: amd64 +Version: 0.24.0-6build1 +APT-ID: 4841 +Multi-Arch: same +Source: p11-kit +Source-Version: 0.24.0-6build1 +Priority: extra +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libp11-kit0 (= 0.24.0-6build1), libc6 (>= 2.33), libffi8 (>= 3.4), libtasn1-6 (>= 4.14) +Replaces: p11-kit (<= 0.20.2-1) +Breaks: p11-kit (<= 0.20.2-1) + +Package: remmina +Architecture: amd64 +Version: 1.4.25+dfsg-1 +APT-ID: 5591 +Multi-Arch: foreign +Source: remmina +Source-Version: 1.4.25+dfsg-1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libavahi-client3 (>= 0.6.16), libavahi-common3 (>= 0.6.16), libavahi-ui-gtk3-0 (>= 0.6.30), libayatana-appindicator3-1 (>= 0.4.90), libc6 (>= 2.34), libcairo2 (>= 1.6.0), libgcrypt20 (>= 1.9.0), libglib2.0-0 (>= 2.67.3), libgtk-3-0 (>= 3.21.5), libjson-glib-1.0-0 (>= 1.5.2), libpango-1.0-0 (>= 1.14.0), libsodium23 (>= 1.0.10), libsoup2.4-1 (>= 2.30.0), libssh-4 (>= 0.8.1), libvte-2.91-0 (>= 0.51.90), remmina-common (= 1.4.25+dfsg-1), default-dbus-session-bus | dbus-session-bus +Suggests: remmina-plugin-exec, remmina-plugin-kwallet, remmina-plugin-spice, remmina-plugin-www, remmina-plugin-x2go +Recommends: remmina-plugin-rdp, remmina-plugin-vnc, remmina-plugin-secret + +Package: poppler-utils +Architecture: amd64 +Version: 22.02.0-2ubuntu0.1 +APT-ID: 74282 +Multi-Arch: foreign +Source: poppler +Source-Version: 22.02.0-2ubuntu0.1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libpoppler118 (= 22.02.0-2ubuntu0.1), libc6 (>= 2.34), libcairo2 (>= 1.12.0), libfreetype6 (>= 2.2.1), liblcms2-2 (>= 2.2+git20110628), libstdc++6 (>= 5.2) +Conflicts: pdftohtml +Replaces: pdftohtml, xpdf-reader, xpdf-utils (<< 3.02-2~) +Breaks: xpdf-common, xpdf-utils (<< 1:0) +Provides: xpdf-utils, pdftohtml + +Package: liblocale-gettext-perl +Architecture: amd64 +Version: 1.07-4build3 +APT-ID: 2829 +Source: liblocale-gettext-perl +Source-Version: 1.07-4build3 +Priority: required +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Pre-Depends: perl-base, perlapi-5.34.0 + +Package: libcdr-0.1-1 +Architecture: amd64 +Version: 0.1.6-2build2 +APT-ID: 1867 +Multi-Arch: same +Source: libcdr +Source-Version: 0.1.6-2build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.32), libgcc-s1 (>= 3.3.1), libicu70 (>= 70.1-1~), liblcms2-2 (>= 2.2+git20110628), librevenge-0.0-0, libstdc++6 (>= 11), zlib1g (>= 1:1.1.4) + +Package: glib-networking-common +Architecture: all +Version: 2.72.0-1 +APT-ID: 769 +Multi-Arch: foreign +Source: glib-networking +Source-Version: 2.72.0-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: glib-networking + +Package: linux-modules-5.15.0-48-generic +Architecture: amd64 +Version: 5.15.0-48.54 +APT-ID: 73804 +Source: linux +Source-Version: 5.15.0-48.54 +Priority: optional +Section: kernel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: linux-image-5.15.0-48-generic | linux-image-unsigned-5.15.0-48-generic + +Package: fdisk +Architecture: amd64 +Version: 2.37.2-4ubuntu3 +APT-ID: 415 +Multi-Arch: foreign +Source: util-linux +Source-Version: 2.37.2-4ubuntu3 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libfdisk1 (>= 2.36), libmount1 (>= 2.24.2), libncursesw6 (>= 6), libreadline8 (>= 6.0), libsmartcols1 (>= 2.28~rc1), libtinfo6 (>= 6) + +Package: libgles2 +Architecture: amd64 +Version: 1.4.0-1 +APT-ID: 2382 +Multi-Arch: same +Source: libglvnd +Source-Version: 1.4.0-1 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libglvnd0 (= 1.4.0-1) + +Package: libgl1-mesa-dri +Architecture: amd64 +Version: 22.0.5-0ubuntu0.1 +APT-ID: 72380 +Multi-Arch: same +Source: mesa +Source-Version: 22.0.5-0ubuntu0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libdrm-amdgpu1 (>= 2.4.105), libdrm-nouveau2 (>= 2.4.66), libdrm-radeon1 (>= 2.4.31), libdrm2 (>= 2.4.75), libelf1 (>= 0.142), libexpat1 (>= 2.0.1), libgcc-s1 (>= 3.4), libglapi-mesa (= 22.0.5-0ubuntu0.1), libllvm13, libsensors5 (>= 1:3.5.0), libstdc++6 (>= 11), libvulkan1 (>= 1.2.131.2), libzstd1 (>= 1.4.0), zlib1g (>= 1:1.1.4) +Recommends: libgl1-amber-dri + +Package: gnome-settings-daemon-common +Architecture: all +Version: 42.1-1ubuntu2.1 +APT-ID: 71868 +Source: gnome-settings-daemon +Source-Version: 42.1-1ubuntu2.1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend +Replaces: gnome-settings-daemon (<< 3.30.1.2-2~), gnome-settings-daemon-schemas (<< 3.30.1.2-2~) +Breaks: gnome-settings-daemon (<< 3.30.1.2-2~), gnome-settings-daemon-schemas (<< 3.30.1.2-2~) +Provides: gnome-settings-daemon-schemas (= 42.1-1ubuntu2.1) + +Package: python3-macaroonbakery +Architecture: all +Version: 1.3.1-2 +APT-ID: 5306 +Multi-Arch: foreign +Source: py-macaroon-bakery +Source-Version: 1.3.1-2 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-nacl, python3-protobuf, python3-pymacaroons, python3-requests, python3-rfc3339, python3-six (<< 2.0), python3-six (>= 1.11.0), python3:any + +Package: libisc-export1105 +Architecture: amd64 +Version: 1:9.11.19+dfsg-2.1ubuntu3 +APT-ID: 2696 +Multi-Arch: same +Source: bind9-libs +Source-Version: 1:9.11.19+dfsg-2.1ubuntu3 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libssl3 (>= 3.0.0~~alpha1) + +Package: im-config +Architecture: all +Version: 0.50-2 +APT-ID: 1119 +Source: im-config +Source-Version: 0.50-2 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gettext-base +Recommends: x11-common, zenity | kdialog | kde-baseapps-bin (<< 4:16.08.3-2~) | whiptail +Conflicts: im-switch +Provides: im-switch + +Package: desktop-file-utils +Architecture: amd64 +Version: 0.26-1ubuntu3 +APT-ID: 303 +Multi-Arch: foreign +Source: desktop-file-utils +Source-Version: 0.26-1ubuntu3 +Priority: optional +Section: devel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.49.3) + +Package: libappstream4 +Architecture: amd64 +Version: 0.15.2-2 +APT-ID: 1610 +Multi-Arch: same +Source: appstream +Source-Version: 0.15.2-2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libcurl3-gnutls (>= 7.63.0), libglib2.0-0 (>= 2.67.3+git20210214), libstemmer0d (>= 0+svn527), libxml2 (>= 2.9.0), libxmlb2 (>= 0.3.4), libyaml-0-2 + +Package: power-profiles-daemon +Architecture: amd64 +Version: 0.10.1-3 +APT-ID: 4956 +Source: power-profiles-daemon +Source-Version: 0.10.1-3 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.43.2), libgudev-1.0-0 (>= 234), libpolkit-gobject-1-0 (>= 0.99) + +Package: cups-ipp-utils +Architecture: amd64 +Version: 2.4.1op1-1ubuntu4.1 +APT-ID: 71760 +Multi-Arch: foreign +Source: cups +Source-Version: 2.4.1op1-1ubuntu4.1 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libcups2 (= 2.4.1op1-1ubuntu4.1), libavahi-client3 (>= 0.6.16), libavahi-common3 (>= 0.6.16), libc6 (>= 2.34), libpam0g (>= 0.99.7.1) +Replaces: cups-client (<< 2.0.3-2~) +Breaks: cups-client (<< 2.0.3-2~) + +Package: ubuntu-wallpapers +Architecture: all +Version: 22.04.4-0ubuntu1 +APT-ID: 5901 +Source: ubuntu-wallpapers +Source-Version: 22.04.4-0ubuntu1 +Priority: optional +Section: metapackages +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +Depends: ubuntu-wallpapers-jammy +Suggests: ubuntu-wallpapers-karmic, ubuntu-wallpapers-lucid, ubuntu-wallpapers-maverick, ubuntu-wallpapers-natty, ubuntu-wallpapers-oneiric, ubuntu-wallpapers-precise, ubuntu-wallpapers-quantal, ubuntu-wallpapers-raring, ubuntu-wallpapers-saucy, ubuntu-wallpapers-trusty, ubuntu-wallpapers-utopic, ubuntu-wallpapers-vivid, ubuntu-wallpapers-wily, ubuntu-wallpapers-xenial, ubuntu-wallpapers-yakkety, ubuntu-wallpapers-zesty, ubuntu-wallpapers-artful, ubuntu-wallpapers-bionic, ubuntu-wallpapers-cosmic, ubuntu-wallpapers-disco, ubuntu-wallpapers-eoan, ubuntu-wallpapers-focal, ubuntu-wallpapers-groovy, ubuntu-wallpapers-hirsute, ubuntu-wallpapers-impish + +Package: libyaml-0-2 +Architecture: amd64 +Version: 0.2.2-1build2 +APT-ID: 4294 +Multi-Arch: same +Source: libyaml +Source-Version: 0.2.2-1build2 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: libpng16-16 +Architecture: amd64 +Version: 1.6.37-3build5 +APT-ID: 3285 +Multi-Arch: same +Source: libpng1.6 +Source-Version: 1.6.37-3build5 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.29), zlib1g (>= 1:1.2.11) + +Package: libgom-1.0-0 +Architecture: amd64 +Version: 0.4-1build2 +APT-ID: 2459 +Multi-Arch: same +Source: libgom +Source-Version: 0.4-1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libglib2.0-0 (>= 2.37.3), libsqlite3-0 (>= 3.5.9) + +Package: libreadline8 +Architecture: amd64 +Version: 8.1.2-1 +APT-ID: 3390 +Multi-Arch: same +Source: readline +Source-Version: 8.1.2-1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: readline-common, libc6 (>= 2.33), libtinfo6 (>= 6) + +Package: appstream +Architecture: amd64 +Version: 0.15.2-2 +APT-ID: 44 +Source: appstream +Source-Version: 0.15.2-2 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: shared-mime-info, libappstream4 (>= 0.15.0), libc6 (>= 2.34), libglib2.0-0 (>= 2.62) +Suggests: apt-config-icons + +Package: gnome-mines +Architecture: amd64 +Version: 1:40.1-1 +APT-ID: 797 +Source: gnome-mines +Source-Version: 1:40.1-1 +Priority: optional +Section: games +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.40.0), libgnome-games-support-1-3 (>= 1.8.0), libgtk-3-0 (>= 3.24), libhandy-1-0 (>= 1.5.90), dconf-gsettings-backend | gsettings-backend +Recommends: yelp + +Package: libespeak-ng1 +Architecture: amd64 +Version: 1.50+dfsg-10 +APT-ID: 2160 +Multi-Arch: same +Source: espeak-ng +Source-Version: 1.50+dfsg-10 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libpcaudio0 (>= 1.1), libsonic0 (>= 0.1.10), espeak-ng-data (= 1.50+dfsg-10) + +Package: libcairo-script-interpreter2 +Architecture: amd64 +Version: 1.16.0-5ubuntu2 +APT-ID: 1831 +Multi-Arch: same +Source: cairo +Source-Version: 1.16.0-5ubuntu2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.29), libcairo2 (= 1.16.0-5ubuntu2), libfontconfig1 (>= 2.12.6), libfreetype6 (>= 2.2.1), liblzo2-2 (>= 2.02), zlib1g (>= 1:1.1.4) + +Package: libvolume-key1 +Architecture: amd64 +Version: 0.3.12-3.1build3 +APT-ID: 4019 +Source: volume-key +Source-Version: 0.3.12-3.1build3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libblkid1 (>= 2.16), libc6 (>= 2.14), libcryptsetup12 (>= 2:1.4), libglib2.0-0 (>= 2.18.0), libgpgme11 (>= 1.4.1), libnspr4 (>= 2:4.9-2~), libnss3 (>= 2:3.13.4-2~), gnupg + +Package: libcom-err2 +Architecture: amd64 +Version: 1.46.5-2ubuntu1.1 +APT-ID: 72297 +Multi-Arch: same +Source: e2fsprogs +Source-Version: 1.46.5-2ubuntu1.1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) +Replaces: libcomerr2 (<< 1.43.9-1~) +Breaks: libcomerr2 (<< 1.43.9-1~) +Provides: libcomerr2 (= 1.46.5-2ubuntu1.1) + +Package: gettext-base +Architecture: amd64 +Version: 0.21-4ubuntu4 +APT-ID: 623 +Multi-Arch: foreign +Source: gettext +Source-Version: 0.21-4ubuntu4 +Priority: standard +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: libmaxminddb0 +Architecture: amd64 +Version: 1.5.2-1build2 +APT-ID: 2891 +Multi-Arch: same +Source: libmaxminddb +Source-Version: 1.5.2-1build2 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) +Suggests: mmdb-bin + +Package: inputattach +Architecture: amd64 +Version: 1:1.7.1-1build2 +APT-ID: 1128 +Source: joystick +Source-Version: 1:1.7.1-1build2 +Priority: extra +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libsystemd0 +Breaks: joystick (<< 20051019-6) + +Package: diffutils +Architecture: amd64 +Version: 1:3.8-0ubuntu2 +APT-ID: 324 +Essential: yes +Source: diffutils +Source-Version: 1:3.8-0ubuntu2 +Priority: important +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Pre-Depends: libc6 (>= 2.34) +Suggests: diffutils-doc, wdiff +Replaces: diff + +Package: libxrandr2 +Architecture: amd64 +Version: 2:1.5.2-1build1 +APT-ID: 4259 +Multi-Arch: same +Source: libxrandr +Source-Version: 2:1.5.2-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libx11-6 (>= 2:1.6.0), libxext6, libxrender1 + +Package: strace +Architecture: amd64 +Version: 5.16-0ubuntu3 +APT-ID: 5711 +Source: strace +Source-Version: 5.16-0ubuntu3 +Priority: standard +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libunwind8 + +Package: libxxf86dga1 +Architecture: amd64 +Version: 2:1.1.5-0ubuntu3 +APT-ID: 4284 +Multi-Arch: same +Source: libxxf86dga +Source-Version: 2:1.1.5-0ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libx11-6 (>= 2:1.6.0), libxext6 + +Package: python3-louis +Architecture: all +Version: 3.20.0-2ubuntu0.1 +APT-ID: 74332 +Source: liblouis +Source-Version: 3.20.0-2ubuntu0.1 +Priority: extra +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=i386 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any, liblouis20 (>= 3.20.0-2ubuntu0.1) + +Package: xserver-xorg-legacy +Architecture: amd64 +Version: 2:21.1.3-2ubuntu2.1 +APT-ID: 74556 +Source: xorg-server +Source-Version: 2:21.1.3-2ubuntu2.1 +Priority: extra +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: xserver-common (>= 2:21.1.3-2ubuntu2.1), libc6 (>= 2.34), debconf (>= 0.5) | debconf-2.0 +Replaces: x11-common (<< 1:7.7+10~), xserver-xorg-core (<< 2:1.17.2-3~) +Breaks: x11-common (<< 1:7.7+10~), xserver-xorg-core (<< 2:1.17.2-3~) + +Package: publicsuffix +Architecture: all +Version: 20211207.1025-1 +APT-ID: 4986 +Multi-Arch: foreign +Source: publicsuffix +Source-Version: 20211207.1025-1 +Priority: standard +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Provides: publicsuffix-dafsa + +Package: libsoup2.4-common +Architecture: all +Version: 2.74.2-3 +APT-ID: 3709 +Multi-Arch: foreign +Source: libsoup2.4 +Source-Version: 2.74.2-3 +Priority: optional +Section: devel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: gamemode +Architecture: amd64 +Version: 1.6.1-1build2 +APT-ID: 583 +Multi-Arch: allowed +Source: gamemode +Source-Version: 1.6.1-1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), gamemode-daemon, libgamemode0, libgamemodeauto0 +Suggests: gnome-shell-extension-gamemode +Recommends: libgamemode0:i386, libgamemodeauto0:i386 + +Package: sensible-utils +Architecture: all +Version: 0.0.17 +APT-ID: 5649 +Multi-Arch: foreign +Source: sensible-utils +Source-Version: 0.0.17 +Priority: important +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: debianutils (<= 2.32.3), manpages-pl (<= 20060617-3~) + +Package: libxfont2 +Architecture: amd64 +Version: 1:2.0.5-1build1 +APT-ID: 4206 +Multi-Arch: same +Source: libxfont +Source-Version: 1:2.0.5-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbz2-1.0, libc6 (>= 2.35), libfontenc1 (>= 1:1.1.4), libfreetype6 (>= 2.2.1), zlib1g (>= 1:1.1.4) +Breaks: xfs (<< 1:1.1.4) + +Package: python3-pkg-resources +Architecture: all +Version: 59.6.0-1.2 +APT-ID: 5398 +Multi-Arch: foreign +Source: setuptools +Source-Version: 59.6.0-1.2 +Priority: required +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any +Suggests: python3-setuptools + +Package: gnome-logs +Architecture: amd64 +Version: 42.0-1 +APT-ID: 794 +Source: gnome-logs +Source-Version: 42.0-1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.43.90), libgtk-3-0 (>= 3.22.0), libhandy-1-0 (>= 1.5.90), libpango-1.0-0 (>= 1.14.0), libsystemd0, dconf-gsettings-backend | gsettings-backend, gsettings-desktop-schemas + +Package: python3-wadllib +Architecture: all +Version: 1.3.6-1 +APT-ID: 5527 +Source: python-wadllib +Source-Version: 1.3.6-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-lazr.uri, python3-pkg-resources, python3:any + +Package: libpagemaker-0.0-0 +Architecture: amd64 +Version: 0.0.4-1build3 +APT-ID: 3169 +Multi-Arch: same +Source: libpagemaker +Source-Version: 0.0.4-1build3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.32), libgcc-s1 (>= 3.3.1), librevenge-0.0-0, libstdc++6 (>= 11) + +Package: libfontenc1 +Architecture: amd64 +Version: 1:1.1.4-1build3 +APT-ID: 2249 +Multi-Arch: same +Source: libfontenc +Source-Version: 1:1.1.4-1build3 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), zlib1g (>= 1:1.1.4) + +Package: python3-gdbm +Architecture: amd64 +Version: 3.10.4-0ubuntu1 +APT-ID: 5241 +Multi-Arch: same +Source: python3-stdlib-extensions +Source-Version: 3.10.4-0ubuntu1 +Priority: standard +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Automatic: yes +Depends: python3 (>= 3.10.1-0~), python3 (<< 3.11), libc6 (>= 2.4), libgdbm6 (>= 1.16) +Suggests: python3-gdbm-dbg +Provides: python3.10-gdbm + +Package: libmhash2 +Architecture: amd64 +Version: 0.9.9.9-9build2 +APT-ID: 2911 +Multi-Arch: same +Source: mhash +Source-Version: 0.9.9.9-9build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: fontconfig-config +Architecture: all +Version: 2.13.1-4.2ubuntu5 +APT-ID: 428 +Multi-Arch: foreign +Source: fontconfig +Source-Version: 2.13.1-4.2ubuntu5 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: ucf (>= 0.29), fonts-dejavu-core | ttf-bitstream-vera | fonts-liberation | fonts-liberation2 | fonts-croscore | fonts-freefont-otf | fonts-freefont-ttf | fonts-urw-base35 | fonts-texgyre +Breaks: libfontconfig1 (<< 2.13.0) + +Package: libfdisk1 +Architecture: amd64 +Version: 2.37.2-4ubuntu3 +APT-ID: 2202 +Multi-Arch: same +Source: util-linux +Source-Version: 2.37.2-4ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libblkid1 (>= 2.24.2), libc6 (>= 2.33), libuuid1 (>= 2.16) + +Package: xbitmaps +Architecture: all +Version: 1.1.1-2.1ubuntu1 +APT-ID: 6013 +Multi-Arch: foreign +Source: xbitmaps +Source-Version: 1.1.1-2.1ubuntu1 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: gdisk +Architecture: amd64 +Version: 1.0.8-4build1 +APT-ID: 613 +Source: gdisk +Source-Version: 1.0.8-4build1 +Priority: extra +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgcc-s1 (>= 3.3.1), libncursesw6 (>= 6), libpopt0 (>= 1.14), libstdc++6 (>= 9), libtinfo6 (>= 6), libuuid1 (>= 2.16) +Recommends: groff-base + +Package: evince-common +Architecture: all +Version: 42.3-0ubuntu2 +APT-ID: 71796 +Source: evince +Source-Version: 42.3-0ubuntu2 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: gtk2-engines-murrine +Architecture: amd64 +Version: 0.98.2-3build2 +APT-ID: 939 +Multi-Arch: same +Source: gtk2-engines-murrine +Source-Version: 0.98.2-3build2 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.29), libcairo2 (>= 1.2.4), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.37.3), libpangocairo-1.0-0 (>= 1.14.0), libpixman-1-0 (>= 0.30.0) +Suggests: murrine-themes + +Package: secureboot-db +Architecture: amd64 +Version: 1.8 +APT-ID: 5647 +Source: secureboot-db +Source-Version: 1.8 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: sbsigntool + +Package: linux-headers-5.15.0-43-generic +Architecture: amd64 +Version: 5.15.0-43.46 +APT-ID: 73259 +Source: linux +Source-Version: 5.15.0-43.46 +Priority: optional +Section: devel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: linux-headers-5.15.0-43, libc6 (>= 2.34), libelf1 (>= 0.142), libssl3 (>= 3.0.0~~alpha1), zlib1g (>= 1:1.2.3.3) +Provides: linux-headers-3.0, linux-headers + +Package: libpangomm-1.4-1v5 +Architecture: amd64 +Version: 2.46.2-1 +APT-ID: 3195 +Multi-Arch: same +Source: pangomm +Source-Version: 2.46.2-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libcairomm-1.0-1v5 (>= 1.12.0), libgcc-s1 (>= 3.3.1), libglib2.0-0 (>= 2.33.14), libglibmm-2.4-1v5 (>= 2.66.2), libpango-1.0-0 (>= 1.45.5), libpangocairo-1.0-0 (>= 1.41.0), libsigc++-2.0-0v5 (>= 2.2.0), libstdc++6 (>= 5.2) +Conflicts: libpangomm-1.4-1 +Replaces: libpangomm-1.4-1 + +Package: python3.10-full +Architecture: amd64 +Version: 3.10.6-1~22.04 +APT-ID: 78612 +Multi-Arch: allowed +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: optional +Section: universe/python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=universe,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3.10 (= 3.10.6-1~22.04), libpython3.10-testsuite, python3.10-venv (= 3.10.6-1~22.04), idle-python3.10, python3.10-distutils, python3.10-gdbm, python3.10-lib2to3, python3.10-tk, ca-certificates +Suggests: python3.10-dev +Recommends: python3.10-doc, python3.10-examples + +Package: python3.10-full +Architecture: amd64 +Version: 3.10.4-3ubuntu0.1 +APT-ID: 79554 +Multi-Arch: allowed +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3ubuntu0.1 +Priority: optional +Section: universe/python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=universe,b=amd64 +APT-Pin: 500 +Depends: python3.10 (= 3.10.4-3ubuntu0.1), libpython3.10-testsuite, python3.10-venv (= 3.10.4-3ubuntu0.1), idle-python3.10, python3.10-distutils, python3.10-gdbm, python3.10-lib2to3, python3.10-tk, ca-certificates +Suggests: python3.10-dev +Recommends: python3.10-doc, python3.10-examples + +Package: python3.10-full +Architecture: amd64 +Version: 3.10.4-3 +APT-ID: 58464 +Multi-Arch: allowed +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3 +Priority: optional +Section: universe/python +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=universe,b=amd64 +APT-Pin: 500 +Depends: python3.10 (= 3.10.4-3), libpython3.10-testsuite, python3.10-venv (= 3.10.4-3), idle-python3.10, python3.10-distutils, python3.10-gdbm, python3.10-lib2to3, python3.10-tk, ca-certificates +Suggests: python3.10-dev +Recommends: python3.10-doc, python3.10-examples + +Package: libmp3lame0 +Architecture: amd64 +Version: 3.100-3build2 +APT-ID: 2957 +Multi-Arch: same +Source: lame +Source-Version: 3.100-3build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.29) + +Package: liburi-perl +Architecture: all +Version: 5.10-1 +APT-ID: 3960 +Multi-Arch: foreign +Source: liburi-perl +Source-Version: 5.10-1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any +Suggests: libbusiness-isbn-perl (>= 3.005), libwww-perl + +Package: language-selector-common +Architecture: all +Version: 0.219 +APT-ID: 1534 +Source: language-selector +Source-Version: 0.219 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any, iso-codes, python3-apt (>= 0.7.12.0), python3-dbus, dbus, accountsservice (>= 0.6.29-1ubuntu6) +Pre-Depends: dpkg (>= 1.15.7.2) + +Package: libassuan0 +Architecture: amd64 +Version: 2.5.5-1build1 +APT-ID: 1646 +Multi-Arch: same +Source: libassuan +Source-Version: 2.5.5-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libgpg-error0 (>= 1.33) + +Package: libsoxr0 +Architecture: amd64 +Version: 0.1.3-4build2 +APT-ID: 3717 +Multi-Arch: same +Source: libsoxr +Source-Version: 0.1.3-4build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.29), libgomp1 (>= 4.9) + +Package: system-config-printer-common +Architecture: all +Version: 1.5.16-0ubuntu3 +APT-ID: 5731 +Source: system-config-printer +Source-Version: 1.5.16-0ubuntu3 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-gdkpixbuf-2.0, gir1.2-glib-2.0, gir1.2-gtk-3.0, gir1.2-notify-0.7, gir1.2-pango-1.0, python3-cairo, python3-cups (>= 1.9.60), python3-cupshelpers (= 1.5.16-0ubuntu3), python3-dbus, python3-gi, python3:any +Suggests: gnome-software (>= 3.16.5-2), python3-smbc +Recommends: cups-pk-helper, gir1.2-secret-1, system-config-printer-udev +Replaces: system-config-printer (<< 1.5.7-2~) +Breaks: system-config-printer (<< 1.5.7-2~) + +Package: libnpth0 +Architecture: amd64 +Version: 1.6-3build2 +APT-ID: 3085 +Multi-Arch: same +Source: npth +Source-Version: 1.6-3build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: libfftw3-single3 +Architecture: amd64 +Version: 3.3.8-2ubuntu8 +APT-ID: 2213 +Multi-Arch: same +Source: fftw3 +Source-Version: 3.3.8-2ubuntu8 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgomp1 (>= 4.9) +Suggests: libfftw3-bin, libfftw3-dev +Replaces: libfftw3-3 (<< 3.3.3-1) +Breaks: libfftw3-3 (<< 3.3.3-1) + +Package: gir1.2-graphene-1.0 +Architecture: amd64 +Version: 1.10.8-1 +APT-ID: 694 +Multi-Arch: same +Source: graphene +Source-Version: 1.10.8-1 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0, libgraphene-1.0-0 (>= 1.10.0) + +Package: python3-talloc +Architecture: amd64 +Version: 2.3.3-2build1 +APT-ID: 5499 +Multi-Arch: same +Source: talloc +Source-Version: 2.3.3-2build1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libtalloc2 (= 2.3.3-2build1), python3 (<< 3.11), python3 (>= 3.10~), libc6 (>= 2.4), libpython3.10 (>= 3.10.0) +Provides: python3.10-talloc + +Package: printer-driver-foo2zjs +Architecture: amd64 +Version: 20200505dfsg0-2ubuntu2 +APT-ID: 4966 +Source: foo2zjs +Source-Version: 20200505dfsg0-2ubuntu2 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: cups-filters | foomatic-filters, dc, liblcms2-utils, printer-driver-foo2zjs-common (>= 20200505dfsg0-2ubuntu2), libc6 (>= 2.34), libcups2 (>= 1.4.0), libjbig0 (>= 2.0), mscompress +Suggests: hannah-foo2zjs, psutils +Recommends: cups, cups-client, unzip, wget +Replaces: foo2zjs (<< 20111023dfsg0-1~) +Breaks: foo2zjs (<< 20111023dfsg0-1~) + +Package: fonts-beng +Architecture: all +Version: 2:1.3 +APT-ID: 431 +Multi-Arch: foreign +Source: fonts-beng +Source-Version: 2:1.3 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fonts-beng-extra, fonts-lohit-beng-assamese, fonts-lohit-beng-bengali +Replaces: ttf-bengali-fonts +Breaks: ttf-bengali-fonts (<< 2:1.0) + +Package: libdrm-common +Architecture: all +Version: 2.4.110-1ubuntu1 +APT-ID: 2092 +Multi-Arch: foreign +Source: libdrm +Source-Version: 2.4.110-1ubuntu1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: ubuntu-desktop +Architecture: amd64 +Version: 1.481 +APT-ID: 5883 +Source: ubuntu-meta +Source-Version: 1.481 +Priority: optional +Section: metapackages +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: alsa-base, alsa-utils, anacron, at-spi2-core, bc, ca-certificates, dmz-cursor-theme, fonts-dejavu-core, fonts-freefont-ttf, foomatic-db-compressed-ppds, gdm3, ghostscript-x, gnome-control-center, gnome-menus, gnome-session-canberra, gnome-settings-daemon, gnome-shell, gnome-shell-extension-appindicator, gnome-shell-extension-desktop-icons-ng, gnome-shell-extension-ubuntu-dock, gstreamer1.0-alsa, gstreamer1.0-packagekit, gstreamer1.0-plugins-base-apps, gstreamer1.0-pulseaudio, inputattach, language-selector-common, language-selector-gnome, libatk-adaptor, libnotify-bin, libsasl2-modules, libu2f-udev, nautilus, openprinting-ppds, printer-driver-pnm2ppa, pulseaudio, rfkill, software-properties-gtk, spice-vdagent, ubuntu-desktop-minimal, ubuntu-drivers-common, ubuntu-release-upgrader-gtk, ubuntu-session, ubuntu-settings, unzip, update-manager, update-notifier, wireless-tools, wpasupplicant, xdg-user-dirs, xdg-user-dirs-gtk, xkb-data, xorg, yelp, zenity, zip +Recommends: acpi-support, aisleriot, apport-gtk, appstream, apt-config-icons-hidpi, avahi-autoipd, avahi-daemon, baobab, bluez, bluez-cups, branding-ubuntu, brltty, cheese, cups, cups-bsd, cups-client, cups-filters, deja-dup, dirmngr, eog, evince, file-roller, fonts-indic, fonts-kacst-one, fonts-khmeros-core, fonts-lao, fonts-liberation, fonts-liberation2, fonts-lklug-sinhala, fonts-noto-cjk, fonts-noto-color-emoji, fonts-opensymbol, fonts-sil-abyssinica, fonts-sil-padauk, fonts-thai-tlwg, fonts-tibetan-machine, fonts-ubuntu, fwupd, fwupd-signed, gamemode, gedit, gir1.2-gmenu-3.0, gnome-accessibility-themes, gnome-bluetooth, gnome-calculator, gnome-calendar, gnome-characters, gnome-disk-utility, gnome-font-viewer, gnome-initial-setup, gnome-keyring, gnome-logs, gnome-mahjongg, gnome-mines, gnome-power-manager, gnome-remote-desktop, gnome-sudoku, gnome-system-monitor, gnome-terminal, gnome-todo, gpg-agent, gsettings-ubuntu-schemas, gvfs-fuse, hplip, ibus, ibus-gtk, ibus-gtk3, ibus-table, im-config, kerneloops, laptop-detect, libglib2.0-bin, libnss-mdns, libpam-fprintd, libpam-gnome-keyring, libpam-sss, libproxy1-plugin-gsettings, libproxy1-plugin-networkmanager, libreoffice-calc, libreoffice-gnome, libreoffice-impress, libreoffice-math, libreoffice-ogltrans, libreoffice-pdfimport, libreoffice-style-breeze, libreoffice-writer, libwmf0.2-7-gtk, memtest86+, mousetweaks, nautilus-sendto, nautilus-share, network-manager, network-manager-config-connectivity-ubuntu, network-manager-openvpn-gnome, network-manager-pptp-gnome, orca, packagekit, pcmciautils, plymouth-theme-spinner, policykit-desktop-privileges, printer-driver-brlaser, printer-driver-c2esp, printer-driver-foo2zjs, printer-driver-m2300w, printer-driver-min12xxw, printer-driver-ptouch, printer-driver-pxljr, printer-driver-sag-gdi, printer-driver-splix, pulseaudio-module-bluetooth, remmina, rhythmbox, seahorse, shotwell, simple-scan, snapd, speech-dispatcher, system-config-printer, systemd-oomd, thunderbird, thunderbird-gnome-support, totem, transmission-gtk, ubuntu-docs, ubuntu-report, ubuntu-wallpapers, usb-creator-gtk, whoopsie, xcursor-themes, xdg-desktop-portal-gnome, xdg-desktop-portal-gtk, xdg-utils, yaru-theme-gnome-shell, yaru-theme-gtk, yaru-theme-icon, yaru-theme-sound +Provides: packagekit-installer + +Package: libx11-data +Architecture: all +Version: 2:1.7.5-1 +APT-ID: 4094 +Multi-Arch: foreign +Source: libx11 +Source-Version: 2:1.7.5-1 +Priority: standard +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Breaks: libx11-6 (<< 2:1.4.1) + +Package: eject +Architecture: amd64 +Version: 2.37.2-4ubuntu3 +APT-ID: 368 +Multi-Arch: foreign +Source: util-linux +Source-Version: 2.37.2-4ubuntu3 +Priority: required +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libmount1 (>= 2.24.2) + +Package: fonts-gujr +Architecture: all +Version: 2:1.4 +APT-ID: 443 +Multi-Arch: foreign +Source: fonts-gujr +Source-Version: 2:1.4 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fonts-gujr-extra, fonts-kalapi, fonts-lohit-gujr, fonts-samyak-gujr, fonts-yrsa-rasa +Replaces: ttf-gujrati-fonts +Breaks: ttf-gujrati-fonts (<< 2:1.0) + +Package: usbutils +Architecture: amd64 +Version: 1:014-1build1 +APT-ID: 5930 +Multi-Arch: foreign +Source: usbutils +Source-Version: 1:014-1build1 +Priority: standard +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libudev1 (>= 196), libusb-1.0-0 (>= 2:1.0.22) +Breaks: hwdata (<< 0.334-1~), isenkram (<< 0.45~), kinfocenter (<< 4:5.14.5-2~), libosinfo-1.0-0 (<< 1.8.0-1~), usbip (<< 2.0+5.10.4-1~) + +Package: packagekit +Architecture: amd64 +Version: 1.2.5-2ubuntu2 +APT-ID: 4848 +Multi-Arch: foreign +Source: packagekit +Source-Version: 1.2.5-2ubuntu2 +Priority: extra +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libglib2.0-bin, policykit-1, init-system-helpers (>= 1.52), libappstream4 (>= 0.10.0), libapt-pkg6.0 (>= 1.9.2), libc6 (>= 2.34), libgcc-s1 (>= 3.3.1), libglib2.0-0 (>= 2.61.2), libgstreamer1.0-0 (>= 1.0.0), libpackagekit-glib2-18 (>= 1.2.4), libpolkit-gobject-1-0 (>= 0.99), libsqlite3-0 (>= 3.5.9), libstdc++6 (>= 11), libsystemd0 (>= 214) +Suggests: appstream +Recommends: packagekit-tools, systemd +Breaks: plymouth (<< 0.9.5) + +Package: fonts-guru +Architecture: all +Version: 2:1.3 +APT-ID: 445 +Multi-Arch: foreign +Source: fonts-guru +Source-Version: 2:1.3 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fonts-guru-extra, fonts-lohit-guru +Replaces: ttf-punjabi-fonts +Breaks: ttf-punjabi-fonts (<< 2:1.0) + +Package: libgtk2.0-0 +Architecture: amd64 +Version: 2.24.33-2ubuntu2 +APT-ID: 2534 +Multi-Arch: same +Source: gtk+2.0 +Source-Version: 2.24.33-2ubuntu2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libgtk2.0-common, libatk1.0-0 (>= 1.32.0), libc6 (>= 2.34), libcairo2 (>= 1.6.4-6.1), libcups2 (>= 2.3~b6), libfontconfig1 (>= 2.12.6), libgdk-pixbuf-2.0-0 (>= 2.22.1), libglib2.0-0 (>= 2.41.1), libpango-1.0-0 (>= 1.28.3), libpangocairo-1.0-0 (>= 1.28.3), libpangoft2-1.0-0 (>= 1.28.3), libx11-6 (>= 2:1.4.99.1), libxcomposite1 (>= 1:0.4.5), libxcursor1 (>> 1.1.2), libxdamage1 (>= 1:1.1), libxext6, libxfixes3, libxi6, libxinerama1 (>= 2:1.1.4), libxrandr2 (>= 2:1.5.0), libxrender1, adwaita-icon-theme | gnome-icon-theme, hicolor-icon-theme, shared-mime-info +Suggests: gvfs +Recommends: libgail-common, librsvg2-common, libgtk2.0-bin +Provides: gtk2.0-binver-2.10.0 + +Package: libgudev-1.0-0 +Architecture: amd64 +Version: 1:237-2build1 +APT-ID: 2550 +Multi-Arch: same +Source: libgudev +Source-Version: 237-2build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libglib2.0-0 (>= 2.38.0), libudev1 (>= 199) + +Package: rhythmbox +Architecture: amd64 +Version: 3.4.4-5ubuntu1 +APT-ID: 5600 +Source: rhythmbox +Source-Version: 3.4.4-5ubuntu1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.68.0), libgstreamer-plugins-base1.0-0 (>= 1.4.0), libgstreamer1.0-0 (>= 1.4.0), libgtk-3-0 (>= 3.20.0), libpeas-1.0-0 (>= 1.0.0), librhythmbox-core10 (= 3.4.4-5ubuntu1), libx11-6, rhythmbox-data (>= 3.4.4-5ubuntu1), dbus, gstreamer1.0-plugins-base (>= 1.4.0), gstreamer1.0-plugins-good (>= 1.4.0), gstreamer1.0-x, media-player-info +Suggests: gstreamer1.0-plugins-bad, gstreamer1.0-plugins-ugly, gnome-codec-install, gnome-control-center | unity-control-center, notification-daemon, rhythmbox-plugin-cdrecorder, rhythmbox-plugin-zeitgeist +Recommends: yelp, avahi-daemon, gstreamer1.0-pulseaudio, gvfs-backends, rhythmbox-plugin-alternative-toolbar, rhythmbox-plugins + +Package: libnotify-bin +Architecture: amd64 +Version: 0.7.9-3ubuntu5.22.04.1 +APT-ID: 72479 +Source: libnotify +Source-Version: 0.7.9-3ubuntu5.22.04.1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.26), libnotify4 (>= 0.7.3) + +Package: lshw +Architecture: amd64 +Version: 02.19.git.2021.06.19.996aaad9c7-2build1 +APT-ID: 4603 +Source: lshw +Source-Version: 02.19.git.2021.06.19.996aaad9c7-2build1 +Priority: standard +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgcc-s1 (>= 3.0), libstdc++6 (>= 11) +Recommends: pci.ids, usb.ids + +Package: libhttp-cookies-perl +Architecture: all +Version: 6.10-1 +APT-ID: 2597 +Source: libhttp-cookies-perl +Source-Version: 6.10-1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any, libhttp-date-perl, libhttp-message-perl + +Package: lsof +Architecture: amd64 +Version: 4.93.2+dfsg-1.1build2 +APT-ID: 4604 +Source: lsof +Source-Version: 4.93.2+dfsg-1.1build2 +Priority: standard +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libselinux1 (>= 3.1~), libtirpc3 (>= 1.0.2) +Suggests: perl + +Package: fonts-smc-chilanka +Architecture: all +Version: 1.540-1 +APT-ID: 500 +Multi-Arch: foreign +Source: fonts-smc-chilanka +Source-Version: 1.540-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libxmlsec1 +Architecture: amd64 +Version: 1.2.33-1build2 +APT-ID: 4242 +Multi-Arch: same +Source: xmlsec1 +Source-Version: 1.2.33-1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libxml2 (>= 2.8.0), libxslt1.1 (>= 1.1.25) +Breaks: libreoffice-core (<< 1:6.0.5~rc2~) + +Package: libgstreamer-plugins-good1.0-0 +Architecture: amd64 +Version: 1.20.3-0ubuntu1 +APT-ID: 72405 +Multi-Arch: same +Source: gst-plugins-good1.0 +Source-Version: 1.20.3-0ubuntu1 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libglib2.0-0 (>= 2.56), libgstreamer-plugins-base1.0-0 (>= 1.20.0), libgstreamer1.0-0 (>= 1.20.0) +Replaces: gstreamer1.0-plugins-good (= 1.0.3-1ubuntu1), libgstreamer-plugins-bad1.0-0 (<< 1.0.3-1ubuntu1) +Breaks: libgstreamer-plugins-bad1.0-0 (<< 1.0.3-1ubuntu1) + +Package: libpython3.10-testsuite +Architecture: all +Version: 3.10.6-1~22.04 +APT-ID: 77972 +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: optional +Section: universe/libdevel +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=universe,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=universe,b=i386 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3.10 (>= 3.10.6-1~22.04), net-tools +Suggests: python3-gdbm, python3-tk + +Package: libpython3.10-testsuite +Architecture: all +Version: 3.10.4-3ubuntu0.1 +APT-ID: 79525 +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3ubuntu0.1 +Priority: optional +Section: universe/libdevel +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=universe,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=universe,b=i386 +APT-Pin: 500 +Depends: python3.10 (>= 3.10.4-3ubuntu0.1), net-tools +Suggests: python3-gdbm, python3-tk + +Package: libpython3.10-testsuite +Architecture: all +Version: 3.10.4-3 +APT-ID: 40579 +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3 +Priority: optional +Section: universe/libdevel +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=universe,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=universe,b=i386 +APT-Pin: 500 +Depends: python3.10 (>= 3.10.4-3), net-tools +Suggests: python3-gdbm, python3-tk + +Package: libgirepository-1.0-1 +Architecture: amd64 +Version: 1.72.0-1 +APT-ID: 2367 +Multi-Arch: same +Source: gobject-introspection +Source-Version: 1.72.0-1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libglib2.0-0 (>= 2.70.0), libc6 (>= 2.29), libffi8 (>= 3.4) +Breaks: libcjs0 (<< 4.8.2-1+b1), libgjs0g (<< 1.68.4-1+b1), libglib-object-introspection-perl (<< 0.049-1+b2), python-gi (<< 3.42.0-1+b1), python3-gi (<< 3.42.0-1+b1), ruby-gobject-introspection (<< 3.4.3-1+b2) +Provides: libgirepository-1.0-1-with-libffi8 (= 1.72.0-1) + +Package: gdm3 +Architecture: amd64 +Version: 42.0-1ubuntu7 +APT-ID: 71818 +Source: gdm3 +Source-Version: 42.0-1ubuntu7 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: accountsservice (>= 0.6.35), adduser, bash (>= 4.3), dconf-cli (>= 0.20), dconf-gsettings-backend (>= 0.20), dbus-bin | systemd-sysv, dbus-daemon, default-dbus-system-bus | dbus-system-bus, default-logind | logind, gir1.2-gdm-1.0 (= 42.0-1ubuntu7), ubuntu-session | gnome-session | x-session-manager | x-window-manager | x-terminal-emulator, gnome-session-bin (>= 3.37.0), gnome-session-common (>= 3.37.0-2~), gnome-settings-daemon (>= 3.37.0), gnome-shell (>= 3.37.90), gsettings-desktop-schemas, libgdm1 (= 42.0-1ubuntu7), libglib2.0-bin (>= 2.35.0), libpam-modules (>= 0.72-1), libpam-runtime (>= 0.76-13.1), librsvg2-common, lsb-base (>= 3.2-14), policykit-1 (>= 0.105-5~), procps, ucf, x11-common (>= 1:7.6+11), x11-xserver-utils, debconf (>= 0.5) | debconf-2.0, libaccountsservice0 (>= 0.6.55), libaudit1 (>= 1:2.2.1), libc6 (>= 2.34), libcanberra-gtk3-0 (>= 0.25), libcanberra0 (>= 0.2), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.68.0), libgtk-3-0 (>= 3.0.0), libgudev-1.0-0 (>= 232), libkeyutils1 (>= 1.5.9), libpam0g (>= 0.99.7.1), libselinux1 (>= 3.1~), libsystemd0, libx11-6, libxau6 (>= 1:1.0.9), libxcb1, libxdmcp6 +Suggests: orca, libpam-fprintd (>= 0.8.0-2), libpam-sss (>= 2.3.0-1), libpam-pkcs11, libpam-gnome-keyring +Recommends: at-spi2-core, ubuntu-session | gnome-session | x-session-manager, x11-xkb-utils, xserver-xephyr, xserver-xorg, zenity +Breaks: pulseaudio (<< 11.1-2), xserver-xorg-core (<< 2:1.17.2-2~) +Provides: x-display-manager + +Package: libavc1394-0 +Architecture: amd64 +Version: 0.5.4-5build2 +APT-ID: 1698 +Multi-Arch: same +Source: libavc1394 +Source-Version: 0.5.4-5build2 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.29), libraw1394-11 (>= 2.1.2) + +Package: libsodium23 +Architecture: amd64 +Version: 1.0.18-1build2 +APT-ID: 3701 +Multi-Arch: same +Source: libsodium +Source-Version: 1.0.18-1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: libboost-locale1.74.0 +Architecture: amd64 +Version: 1.74.0-14ubuntu3 +APT-ID: 1770 +Multi-Arch: same +Source: boost1.74 +Source-Version: 1.74.0-14ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libboost-thread1.74.0 (>= 1.74.0), libc6 (>= 2.32), libgcc-s1 (>= 3.3.1), libicu70 (>= 70.1-1~), libstdc++6 (>= 11) + +Package: python3-pexpect +Architecture: all +Version: 4.8.0-2ubuntu1 +APT-ID: 5395 +Source: pexpect +Source-Version: 4.8.0-2ubuntu1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-ptyprocess, python3:any +Suggests: python-pexpect-doc + +Package: libgnome-bluetooth-3.0-13 +Architecture: amd64 +Version: 42.0-5 +APT-ID: 2420 +Multi-Arch: same +Source: gnome-bluetooth3 +Source-Version: 42.0-5 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libglib2.0-0 (>= 2.59.0), libudev1 (>= 196), libupower-glib3 (>= 0.99.14), gnome-bluetooth-3-common (>= 42.0-5) + +Package: libcap2 +Architecture: amd64 +Version: 1:2.44-1build3 +APT-ID: 1851 +Multi-Arch: same +Source: libcap2 +Source-Version: 1:2.44-1build3 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: libio-html-perl +Architecture: all +Version: 1.004-2 +APT-ID: 2663 +Source: libio-html-perl +Source-Version: 1.004-2 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any + +Package: libebook-contacts-1.2-3 +Architecture: amd64 +Version: 3.44.4-0ubuntu1 +APT-ID: 72318 +Multi-Arch: same +Source: evolution-data-server +Source-Version: 3.44.4-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libcamel-1.2-63 (>= 3.19.92), libedataserver-1.2-26 (= 3.44.4-0ubuntu1), libgcc-s1 (>= 3.3.1), libglib2.0-0 (>= 2.40), libphonenumber8, libstdc++6 (>= 5.2) + +Package: xdg-user-dirs +Architecture: amd64 +Version: 0.17-2ubuntu4 +APT-ID: 6022 +Multi-Arch: foreign +Source: xdg-user-dirs +Source-Version: 0.17-2ubuntu4 +Priority: required +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: network-manager-pptp-gnome +Architecture: amd64 +Version: 1.2.10-1 +APT-ID: 4750 +Source: network-manager-pptp +Source-Version: 1.2.10-1 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.34), libgtk-3-0 (>= 3.4), libnm0 (>= 1.2.0), libnma0 (>= 1.2.0), libsecret-1-0 (>= 0.18), network-manager-pptp (= 1.2.10-1) + +Package: libfuse3-3 +Architecture: amd64 +Version: 3.10.5-1build1 +APT-ID: 2278 +Multi-Arch: same +Source: fuse3 +Source-Version: 3.10.5-1build1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Suggests: fuse3 + +Package: python3-nopie +Architecture: amd64 +Version: 3.10.6-1~22.04 +APT-ID: 78603 +Multi-Arch: allowed +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: optional +Section: universe/python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=universe,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3 (= 3.10.6-1~22.04), python3.10-nopie (>= 3.10.6-1~) + +Package: python3-nopie +Architecture: amd64 +Version: 3.10.4-0ubuntu2 +APT-ID: 56760 +Multi-Arch: allowed +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-0ubuntu2 +Priority: optional +Section: universe/python +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=universe,b=amd64 +APT-Pin: 500 +Depends: python3 (= 3.10.4-0ubuntu2), python3.10-nopie (>= 3.10.4-1~) + +Package: gnome-calculator +Architecture: amd64 +Version: 1:41.1-2ubuntu2 +APT-ID: 781 +Source: gnome-calculator +Source-Version: 1:41.1-2ubuntu2 +Priority: optional +Section: math +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libatk1.0-0 (>= 1.12.4), libc6 (>= 2.34), libgee-0.8-2 (>= 0.20), libglib2.0-0 (>= 2.43.92), libgtk-3-0 (>= 3.24.1), libgtksourceview-4-0 (>= 2.91.4), libhandy-1-0 (>= 1.5.90), libmpc3 (>= 1.1.0), libmpfr6 (>= 3.1.3), libsoup2.4-1 (>= 2.42), libxml2 (>= 2.7.4), dconf-gsettings-backend | gsettings-backend +Recommends: yelp, gvfs +Replaces: gcalctool (<< 6.7) +Breaks: gcalctool (<< 6.7) + +Package: libsgutils2-2 +Architecture: amd64 +Version: 1.46-1build1 +APT-ID: 3667 +Multi-Arch: same +Source: sg3-utils +Source-Version: 1.46-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) +Suggests: sg3-utils +Conflicts: libsgutils2 +Replaces: libsgutils2 + +Package: libjson-glib-1.0-common +Architecture: all +Version: 1.6.6-1build1 +APT-ID: 2756 +Multi-Arch: foreign +Source: json-glib +Source-Version: 1.6.6-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: totem-plugins +Architecture: amd64 +Version: 42.0-1ubuntu1 +APT-ID: 5861 +Source: totem +Source-Version: 42.0-1ubuntu1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.28), libgdk-pixbuf-2.0-0 (>= 2.23.0), libglib2.0-0 (>= 2.56.0), libgtk-3-0 (>= 3.22.0), libpeas-1.0-0 (>= 1.1.0), libtotem0 (>= 42.0-1ubuntu1), libtotem0 (<< 42.1), totem (= 42.0-1ubuntu1), gir1.2-gdkpixbuf-2.0, gir1.2-glib-2.0, gir1.2-gtk-3.0, gir1.2-pango-1.0, gir1.2-peas-1.0, gir1.2-totem-1.0 (= 42.0-1ubuntu1), python3-gi (>= 2.90.3), python3-xdg + +Package: libpulse-mainloop-glib0 +Architecture: amd64 +Version: 1:15.99.1+dfsg1-1ubuntu1 +APT-ID: 3326 +Multi-Arch: same +Source: pulseaudio +Source-Version: 1:15.99.1+dfsg1-1ubuntu1 +Priority: optional +Section: sound +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libglib2.0-0 (>= 2.28.0), libpulse0 (= 1:15.99.1+dfsg1-1ubuntu1) + +Package: fonts-sil-padauk +Architecture: all +Version: 5.000-3 +APT-ID: 496 +Multi-Arch: foreign +Source: fonts-sil-padauk +Source-Version: 5.000-3 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libwoff1 +Architecture: amd64 +Version: 1.0.2-1build4 +APT-ID: 4078 +Multi-Arch: same +Source: woff2 +Source-Version: 1.0.2-1build4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbrotli1 (>= 0.6.0), libc6 (>= 2.14), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 11) + +Package: thunderbird-locale-en +Architecture: amd64 +Version: 1:91.11.0+build2-0ubuntu0.22.04.1 +APT-ID: 74454 +Source: thunderbird +Source-Version: 1:91.11.0+build2-0ubuntu0.22.04.1 +Priority: optional +Section: web +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: thunderbird (>= 1:91.11.0+build2-0ubuntu0.22.04.1), thunderbird (<< 1:91.11.0+build2-0ubuntu0.22.04.1.1~) + +Package: libudisks2-0 +Architecture: amd64 +Version: 2.9.4-1ubuntu2 +APT-ID: 3928 +Multi-Arch: same +Source: udisks2 +Source-Version: 2.9.4-1ubuntu2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libglib2.0-0 (>= 2.50) + +Package: libc6 +Architecture: amd64 +Version: 2.35-0ubuntu3.1 +APT-ID: 72277 +Multi-Arch: same +Source: glibc +Source-Version: 2.35-0ubuntu3.1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libgcc-s1, libcrypt1 (>= 1:4.4.10-10ubuntu4) +Suggests: glibc-doc, debconf | debconf-2.0, locales +Recommends: libidn2-0 (>= 2.0.5~), libnss-nis, libnss-nisplus +Replaces: libc6-amd64 +Breaks: busybox (<< 1.30.1-6), fakeroot (<< 1.25.3-1.1ubuntu2~), hurd (<< 1:0.9.git20170910-1), ioquake3 (<< 1.36+u20200211.f2c61c1~dfsg-2~), iraf-fitsutil (<< 2018.07.06-4), libgegl-0.4-0 (<< 0.4.18), libtirpc1 (<< 0.2.3), locales (<< 2.35), locales-all (<< 2.35), macs (<< 2.2.7.1-3~), nocache (<< 1.1-1~), nscd (<< 2.35), openarena (<< 0.8.8+dfsg-4~), openssh-server (<< 1:8.2p1-4), r-cran-later (<< 0.7.5+dfsg-2), wcc (<< 0.0.2+dfsg-3) + +Package: locales +Architecture: all +Version: 2.35-0ubuntu3.1 +APT-ID: 74191 +Source: glibc +Source-Version: 2.35-0ubuntu3.1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc-bin (>> 2.35), debconf (>= 0.5) | debconf-2.0 + +Package: gnome-shell-extension-desktop-icons-ng +Architecture: all +Version: 43-2ubuntu1 +APT-ID: 71872 +Source: gnome-shell-extension-desktop-icons-ng +Source-Version: 43-2ubuntu1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend, file-roller (>= 3.38), gnome-shell (>= 3.38), gjs, nautilus (>= 3.38), xdg-desktop-portal + +Package: dnsmasq-base +Architecture: amd64 +Version: 2.86-1.1ubuntu0.1 +APT-ID: 71781 +Source: dnsmasq +Source-Version: 2.86-1.1ubuntu0.1 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: adduser, libc6 (>= 2.34), libdbus-1-3 (>= 1.9.14), libgmp10 (>= 2:6.2.1+dfsg), libhogweed6 (>= 2.4-3), libidn2-0 (>= 2.0.0), libnetfilter-conntrack3 (>= 1.0.1), libnettle8 (>= 2.4-3) +Recommends: dns-root-data +Conflicts: dnsmasq-base-lua +Replaces: dnsmasq (<< 2.63-1~), dnsmasq-base +Breaks: dnsmasq (<< 2.63-1~) + +Package: python3-oauthlib +Architecture: all +Version: 3.2.0-1ubuntu0.1 +APT-ID: 74337 +Source: python-oauthlib +Source-Version: 3.2.0-1ubuntu0.1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=i386 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any, python3-blinker, python3-cryptography, python3-jwt (>= 1.0.0) + +Package: libaspell15 +Architecture: amd64 +Version: 0.60.8-4build1 +APT-ID: 1642 +Multi-Arch: same +Source: aspell +Source-Version: 0.60.8-4build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libstdc++6 (>= 11) +Suggests: aspell +Recommends: aspell-en | aspell-dictionary | aspell6a-dictionary +Conflicts: aspell6-dictionary +Breaks: aspell-bin (<< 0.60.3-2) + +Package: mousetweaks +Architecture: amd64 +Version: 3.32.0-3build2 +APT-ID: 4660 +Source: mousetweaks +Source-Version: 3.32.0-3build2 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcairo2 (>= 1.2.4), libglib2.0-0 (>= 2.37.3), libgtk-3-0 (>= 3.0.0), libpango-1.0-0 (>= 1.14.0), libx11-6, libxcursor1 (>> 1.1.2), libxfixes3, libxtst6, dconf-gsettings-backend | gsettings-backend, gsettings-desktop-schemas (>= 0.1.0) + +Package: libnautilus-extension1a +Architecture: amd64 +Version: 1:42.2-0ubuntu1 +APT-ID: 72466 +Multi-Arch: same +Source: nautilus +Source-Version: 1:42.2-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libglib2.0-0 (>= 2.67.1), libgtk-3-0 (>= 3.22.27) + +Package: docbook-xml +Architecture: all +Version: 4.5-11 +APT-ID: 340 +Multi-Arch: foreign +Source: docbook-xml +Source-Version: 4.5-11 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: sgml-data (>= 2.0.2), sgml-base (>= 1.28), xml-core (>= 0.14) +Suggests: docbook, docbook-dsssl, docbook-xsl, docbook-defguide +Provides: docbk-xml + +Package: ghostscript +Architecture: amd64 +Version: 9.55.0~dfsg1-0ubuntu5 +APT-ID: 631 +Multi-Arch: foreign +Source: ghostscript +Source-Version: 9.55.0~dfsg1-0ubuntu5 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libgs9 (= 9.55.0~dfsg1-0ubuntu5), libc6 (>= 2.34) +Suggests: ghostscript-x +Provides: postscript-viewer + +Package: apt-config-icons +Architecture: all +Version: 0.15.2-2 +APT-ID: 46 +Multi-Arch: foreign +Source: appstream +Source-Version: 0.15.2-2 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: appstream + +Package: gnome-themes-extra-data +Architecture: all +Version: 3.28-1ubuntu3 +APT-ID: 818 +Multi-Arch: foreign +Source: gnome-themes-extra +Source-Version: 3.28-1ubuntu3 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Conflicts: gnome-themes-standard-data +Replaces: gnome-themes-standard-data + +Package: fonts-lohit-taml +Architecture: all +Version: 2.91.3-2 +APT-ID: 468 +Multi-Arch: foreign +Source: fonts-lohit-taml +Source-Version: 2.91.3-2 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: ttf-tamil-fonts (<= 1:0.5.12) +Breaks: ttf-tamil-fonts (<= 1:0.5.12) + +Package: libpcap0.8 +Architecture: amd64 +Version: 1.10.1-4build1 +APT-ID: 3212 +Multi-Arch: same +Source: libpcap +Source-Version: 1.10.1-4build1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libdbus-1-3 (>= 1.9.14) +Replaces: libpcap0.8-dev (<< 1.0.0-2) + +Package: libpwquality1 +Architecture: amd64 +Version: 1.4.4-1build2 +APT-ID: 3331 +Multi-Arch: same +Source: libpwquality +Source-Version: 1.4.4-1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libcrack2 (>= 2.8.14), libpwquality-common + +Package: gir1.2-nm-1.0 +Architecture: amd64 +Version: 1.36.6-0ubuntu2 +APT-ID: 71847 +Multi-Arch: same +Source: network-manager +Source-Version: 1.36.6-0ubuntu2 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0 (>= 0.10.7-1~), libnm0 (>= 1.36.0) + +Package: fonts-urw-base35 +Architecture: all +Version: 20200910-1 +APT-ID: 546 +Multi-Arch: foreign +Source: fonts-urw-base35 +Source-Version: 20200910-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Suggests: fonts-freefont-otf | fonts-freefont-ttf, fonts-texgyre + +Package: powermgmt-base +Architecture: all +Version: 1.36 +APT-ID: 4957 +Multi-Arch: foreign +Source: powermgmt-base +Source-Version: 1.36 +Priority: standard +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libwmflite-0.2-7 +Architecture: amd64 +Version: 0.2.12-5ubuntu1 +APT-ID: 4073 +Multi-Arch: same +Source: libwmf +Source-Version: 0.2.12-5ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) +Replaces: libwmf0.2-7 (<< 0.2.12-1) +Breaks: libwmf0.2-7 (<< 0.2.12-1) + +Package: libunity9 +Architecture: amd64 +Version: 7.1.4+19.04.20190319-6build1 +APT-ID: 3938 +Multi-Arch: same +Source: libunity +Source-Version: 7.1.4+19.04.20190319-6build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libdbusmenu-glib4 (>= 0.4.2), libdee-1.0-4 (>= 1.2.7+15.04.20150304), libglib2.0-0 (>= 2.43.92), libunity-protocol-private0 (= 7.1.4+19.04.20190319-6build1), dconf-gsettings-backend | gsettings-backend, libunity-scopes-json-def-desktop (>= 7.1.4+19.04.20190319-6build1) | unity-scopes-json-def +Suggests: unity-common (>= 7.1.2) +Breaks: unity-common (<< 7.1.2) + +Package: klibc-utils +Architecture: amd64 +Version: 2.0.10-4 +APT-ID: 1175 +Multi-Arch: foreign +Source: klibc +Source-Version: 2.0.10-4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libklibc (= 2.0.10-4) +Breaks: initramfs-tools (<< 0.123~) + +Package: libssl3 +Architecture: amd64 +Version: 3.0.2-0ubuntu1.6 +APT-ID: 72758 +Multi-Arch: same +Source: openssl +Source-Version: 3.0.2-0ubuntu1.6 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), debconf (>= 0.5) | debconf-2.0 + +Package: libopus0 +Architecture: amd64 +Version: 1.3.1-0.1build2 +APT-ID: 3144 +Multi-Arch: same +Source: opus +Source-Version: 1.3.1-0.1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.29) +Suggests: opus-tools + +Package: gir1.2-ibus-1.0 +Architecture: amd64 +Version: 1.5.26-4 +APT-ID: 717 +Multi-Arch: same +Source: ibus +Source-Version: 1.5.26-4 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0, libibus-1.0-5 (>= 1.5.21) +Breaks: ibus-array (<< 0.2.1-3), ibus-pinyin (<< 1.5.0-6) + +Package: gir1.2-dee-1.0 +Architecture: amd64 +Version: 1.2.7+17.10.20170616-6ubuntu4 +APT-ID: 656 +Source: dee +Source-Version: 1.2.7+17.10.20170616-6ubuntu4 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0, libdee-1.0-4 (>= 1.2.7+15.04.20150304) +Replaces: gir1.2-dee-0.5 +Breaks: gir1.2-dee-0.5 + +Package: libreoffice-style-colibre +Architecture: all +Version: 1:7.3.6-0ubuntu0.22.04.1 +APT-ID: 72693 +Source: libreoffice +Source-Version: 1:7.3.6-0ubuntu0.22.04.1 +Priority: optional +Section: editors +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: libreoffice-common +Enhances: libreoffice-core +Provides: libreoffice-style + +Package: libuchardet0 +Architecture: amd64 +Version: 0.0.7-1build2 +APT-ID: 3923 +Multi-Arch: same +Source: uchardet +Source-Version: 0.0.7-1build2 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 4.1.1) + +Package: libpangocairo-1.0-0 +Architecture: amd64 +Version: 1.50.6+ds-2 +APT-ID: 3193 +Multi-Arch: same +Source: pango1.0 +Source-Version: 1.50.6+ds-2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libcairo2 (>= 1.12.10), libfontconfig1 (>= 2.13.0), libglib2.0-0 (>= 2.62.0), libharfbuzz0b (>= 2.6.0), libpango-1.0-0 (= 1.50.6+ds-2), libpangoft2-1.0-0 (= 1.50.6+ds-2) + +Package: ibus-data +Architecture: all +Version: 1.5.26-4 +APT-ID: 1096 +Multi-Arch: foreign +Source: ibus +Source-Version: 1.5.26-4 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend, librsvg2-common +Suggests: ibus +Replaces: ibus (<< 1.5.21-1~exp2) +Breaks: ibus (<< 1.5.21-1~exp2) + +Package: libndp0 +Architecture: amd64 +Version: 1.8-0ubuntu3 +APT-ID: 3006 +Multi-Arch: same +Source: libndp +Source-Version: 1.8-0ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4) + +Package: file-roller +Architecture: amd64 +Version: 3.42.0-1 +APT-ID: 421 +Source: file-roller +Source-Version: 3.42.0-1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: bzip2, unzip, zip, dconf-gsettings-backend | gsettings-backend, libarchive13 (>= 3.3.3), libc6 (>= 2.34), libcairo2 (>= 1.4.10), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.41.2), libgtk-3-0 (>= 3.21.5), libhandy-1-0 (>= 1.5.90), libjson-glib-1.0-0 (>= 1.5.2), libnautilus-extension1a (>= 3.27.90), libnotify4 (>= 0.7.0), libpango-1.0-0 (>= 1.14.0) +Suggests: p7zip-full, arj, lha, lzip, lzma, lzop, ncompress, rpm2cpio, rzip, sharutils, squashfs-tools, unace, unalz, unar, xz-utils, zoo +Recommends: gvfs, yelp + +Package: libxkbcommon0 +Architecture: amd64 +Version: 1.4.0-1 +APT-ID: 4217 +Multi-Arch: same +Source: libxkbcommon +Source-Version: 1.4.0-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: xkb-data, libc6 (>= 2.33) + +Package: libedataserverui-1.2-3 +Architecture: amd64 +Version: 3.44.4-0ubuntu1 +APT-ID: 72332 +Multi-Arch: same +Source: evolution-data-server +Source-Version: 3.44.4-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.7), libcairo2 (>= 1.2.4), libcamel-1.2-63 (>= 3.19.92), libecal-2.0-1 (>= 3.33.4), libedataserver-1.2-26 (= 3.44.4-0ubuntu1), libgcr-base-3-1 (>= 3.8.0), libgcr-ui-3-1 (>= 3.8.0), libglib2.0-0 (>= 2.40), libgtk-3-0 (>= 3.16.2), libical3 (>= 3.0.7), libpango-1.0-0 (>= 1.14.0), libsoup2.4-1 (>= 2.42), libwebkit2gtk-4.0-37 (>= 2.31.1), evolution-data-server-common (>= 3.44) + +Package: gstreamer1.0-x +Architecture: amd64 +Version: 1.20.1-1 +APT-ID: 935 +Multi-Arch: same +Source: gst-plugins-base1.0 +Source-Version: 1.20.1-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libcairo2 (>= 1.2.4), libglib2.0-0 (>= 2.56), libgstreamer-plugins-base1.0-0 (>= 1.20.0), libgstreamer1.0-0 (>= 1.20.0), libpango-1.0-0 (>= 1.22.0), libpangocairo-1.0-0 (>= 1.22), libx11-6, libxext6, libxv1 +Provides: gstreamer1.0-videosink + +Package: libwnck-3-common +Architecture: all +Version: 40.1-1 +APT-ID: 4075 +Multi-Arch: foreign +Source: libwnck3 +Source-Version: 40.1-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libxtst6 +Architecture: amd64 +Version: 2:1.2.3-1build4 +APT-ID: 4278 +Multi-Arch: same +Source: libxtst +Source-Version: 2:1.2.3-1build4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libx11-6 (>= 2:1.6.0), libxext6, x11-common + +Package: libefiboot1 +Architecture: amd64 +Version: 37-6ubuntu2 +APT-ID: 2134 +Multi-Arch: same +Source: efivar +Source-Version: 37-6ubuntu2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libefivar1 (>= 37) +Breaks: efibootmgr (<< 0.12-2) + +Package: libkrb5-3 +Architecture: amd64 +Version: 1.19.2-2 +APT-ID: 2782 +Multi-Arch: same +Source: krb5 +Source-Version: 1.19.2-2 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcom-err2 (>= 1.43.9), libk5crypto3 (>= 1.15~beta1), libkeyutils1 (>= 1.5.9), libkrb5support0 (= 1.19.2-2), libssl3 (>= 3.0.0~~alpha1) +Suggests: krb5-doc, krb5-user +Recommends: krb5-locales +Breaks: libapache2-mod-auth-kerb (<= 5.4-2.4), libsmbclient (<= 2:3.6.1-2), sssd (<= 1.2.1-4.3) + +Package: gir1.2-accountsservice-1.0 +Architecture: amd64 +Version: 22.07.5-2ubuntu1.3 +APT-ID: 71819 +Multi-Arch: same +Source: accountsservice +Source-Version: 22.07.5-2ubuntu1.3 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0 (>= 1.34), libaccountsservice0 (>= 0.6.55) + +Package: usrmerge +Architecture: all +Version: 25ubuntu2 +APT-ID: 5932 +Multi-Arch: foreign +Source: usrmerge +Source-Version: 25ubuntu2 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl-base (>= 5.32.1-3) +Conflicts: acl (<< 2.2.52-3~), arptables (<< 0.0.4+snapshot20181021-1~), coreutils (<< 8.24-1~), cryptsetup (<< 2:1.7.0-1~), davfs2 (<< 1.5.2-1.2~), debianutils (<< 4.5~), ebtables (<< 2.0.10.4+snapshot20181205-1~), elvis-tiny (<< 1.4-24~), kbd (<< 2.0.3-1~), ksh (<< 93u+20120801-3.1~), less (<< 481-2~), libbrlapi-dev (<< 5.3.1-1~), libdm0-dev, libjson-c-dev (<< 0.12.1-1.1~), libpng12-0 (<< 1.2.54-4~), libusb-0.1-4 (<< 2:0.1.12-28~), mksh (<< 52b-1~), molly-guard (<< 0.7.1+exp1~), musl-dev (<< 1.1.9-1.1~), nano (<< 2.3.99pre3-1~), open-iscsi (<< 2.0.873+git0.3b4b4500-13~), open-vm-tools (<< 2:10.0.5-3227872-2~), policycoreutils (<< 2.4-4~), safe-rm (<< 0.12-6~), tcsh (<< 6.18.01-4~), vsearch (<< 1.9.5-2~), xfsdump (<< 3.1.6+nmu1~), xfslibs-dev (<< 4.9.0+nmu1~), yp-tools (<< 3.3-5~), zsh (<< 5.2-4~) +Breaks: cruft-ng (<< 0.4.4~), initramfs-tools (<< 0.121~) + +Package: libgnome-menu-3-0 +Architecture: amd64 +Version: 3.36.0-1ubuntu3 +APT-ID: 2435 +Multi-Arch: same +Source: gnome-menus +Source-Version: 3.36.0-1ubuntu3 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libglib2.0-0 (>= 2.37.3) + +Package: libpam-modules +Architecture: amd64 +Version: 1.4.0-11ubuntu2 +APT-ID: 3178 +Multi-Arch: same +Source: pam +Source-Version: 1.4.0-11ubuntu2 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Pre-Depends: libaudit1 (>= 1:2.2.1), libc6 (>= 2.34), libcrypt1 (>= 1:4.3.0), libdb5.3, libnsl2 (>= 1.0), libpam0g (>= 1.3.2), libselinux1 (>= 3.1~), libtirpc3 (>= 1.0.2), debconf (>= 0.5) | debconf-2.0, libpam-modules-bin (= 1.4.0-11ubuntu2) +Conflicts: libpam-mkhomedir, libpam-motd, libpam-umask +Replaces: libpam-umask, libpam0g-util +Provides: libpam-umask, libpam-motd, libpam-mkhomedir + +Package: linux-modules-5.15.0-43-generic +Architecture: amd64 +Version: 5.15.0-43.46 +APT-ID: 73798 +Source: linux +Source-Version: 5.15.0-43.46 +Priority: optional +Section: kernel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: linux-image-5.15.0-43-generic | linux-image-unsigned-5.15.0-43-generic + +Package: glib-networking-services +Architecture: amd64 +Version: 2.72.0-1 +APT-ID: 770 +Multi-Arch: foreign +Source: glib-networking +Source-Version: 2.72.0-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.69.0), libproxy1v5 (>= 0.4.17), glib-networking-common (>= 2.72.0-1) +Recommends: glib-networking + +Package: fonts-beng-extra +Architecture: all +Version: 3.2.1-1 +APT-ID: 432 +Multi-Arch: foreign +Source: fonts-beng-extra +Source-Version: 3.2.1-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: fonts-lohit-beng-assamese, fonts-lohit-beng-bengali +Replaces: ttf-bengali-fonts +Breaks: ttf-bengali-fonts (<< 2:1.0) + +Package: libatk-adaptor +Architecture: amd64 +Version: 2.38.0-3 +APT-ID: 1651 +Multi-Arch: same +Source: at-spi2-atk +Source-Version: 2.38.0-3 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libatk-bridge2.0-0 (>= 2.38.0-3), libglib2.0-0 (>= 2.12.0) +Conflicts: at-spi +Replaces: at-spi +Provides: at-spi + +Package: seahorse +Architecture: amd64 +Version: 41.0-2 +APT-ID: 5646 +Source: seahorse +Source-Version: 41.0-2 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend, libavahi-client3 (>= 0.6.16), libavahi-common3 (>= 0.6.16), libavahi-glib1 (>= 0.6.16), libc6 (>= 2.34), libgck-1-0 (>= 3.12.0), libgcr-base-3-1 (>= 3.38), libgcr-ui-3-1 (>= 3.38), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.66), libgpgme11 (>= 1.14.0), libgtk-3-0 (>= 3.24), libhandy-1-0 (>= 1.5.90), libldap-2.5-0 (>= 2.5.4), libpwquality1 (>= 1.1.0), libsecret-1-0 (>= 0.18), libsoup2.4-1 (>= 2.41.90), gcr (>= 3.4), gnome-keyring (>= 3.4), gnupg (>= 2.0.12) +Recommends: openssh-client + +Package: python3-pyatspi +Architecture: all +Version: 2.38.2-1 +APT-ID: 5411 +Source: pyatspi +Source-Version: 2.38.2-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any, python3-gi, gir1.2-atspi-2.0 (>= 2.33.1), libatk-adaptor, at-spi2-core + +Package: libgphoto2-port12 +Architecture: amd64 +Version: 2.5.27-1build2 +APT-ID: 2480 +Multi-Arch: same +Source: libgphoto2 +Source-Version: 2.5.27-1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libltdl7 (>= 2.4.6), libusb-1.0-0 (>= 2:1.0.8) +Suggests: gphoto2 (>= 2.5.7) +Replaces: libgphoto2-port10 (>= 2.5.7) +Breaks: libgphoto2-port10 (>= 2.5.7) + +Package: fonts-mlym +Architecture: all +Version: 2:1.3 +APT-ID: 473 +Multi-Arch: foreign +Source: fonts-mlym +Source-Version: 2:1.3 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fonts-lohit-mlym, fonts-samyak-mlym, fonts-smc +Replaces: ttf-malayalam-fonts +Breaks: ttf-malayalam-fonts (<< 2:1.0) + +Package: libatk1.0-0 +Architecture: amd64 +Version: 2.36.0-3build1 +APT-ID: 1656 +Multi-Arch: same +Source: atk1.0 +Source-Version: 2.36.0-3build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libglib2.0-0 (>= 2.55.2), libatk1.0-data (>= 2.36.0-3build1) + +Package: xauth +Architecture: amd64 +Version: 1:1.1-1build2 +APT-ID: 6012 +Multi-Arch: foreign +Source: xauth +Source-Version: 1:1.1-1build2 +Priority: standard +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libx11-6, libxau6 (>= 1:1.0.9), libxext6, libxmuu1 (>= 2:1.1.3) + +Package: yaru-theme-sound +Architecture: all +Version: 22.04.4 +APT-ID: 6071 +Source: yaru-theme +Source-Version: 22.04.4 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: fwupd-signed +Architecture: amd64 +Version: 1.44+1.2-3 +APT-ID: 570 +Multi-Arch: foreign +Source: fwupd-signed +Source-Version: 1.44 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: secureboot-db, fwupd + +Package: dconf-cli +Architecture: amd64 +Version: 0.40.0-3 +APT-ID: 272 +Source: dconf +Source-Version: 0.40.0-3 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libdconf1 (= 0.40.0-3), libc6 (>= 2.34), libglib2.0-0 (>= 2.44.0) +Conflicts: dconf + +Package: libgssdp-1.2-0 +Architecture: amd64 +Version: 1.4.0.1-2build1 +APT-ID: 2513 +Multi-Arch: same +Source: gssdp +Source-Version: 1.4.0.1-2build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.7), libglib2.0-0 (>= 2.67.3), libsoup2.4-1 (>= 2.26.1) + +Package: libpcsclite1 +Architecture: amd64 +Version: 1.9.5-3 +APT-ID: 3232 +Multi-Arch: same +Source: pcsc-lite +Source-Version: 1.9.5-3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) +Suggests: pcscd (= 1.9.5-3) +Breaks: libpcsclite-dev (<< 1.9.5-3), pcscd (<< 1.9.5-3) + +Package: yaru-theme-gtk +Architecture: all +Version: 22.04.4 +APT-ID: 6069 +Source: yaru-theme +Source-Version: 22.04.4 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: session-migration, gnome-themes-extra, gtk2-engines-pixbuf, gtk2-engines-murrine, libglib2.0-bin + +Package: libavahi-ui-gtk3-0 +Architecture: amd64 +Version: 0.8-5ubuntu5 +APT-ID: 1696 +Multi-Arch: same +Source: avahi +Source-Version: 0.8-5ubuntu5 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libavahi-client3 (= 0.8-5ubuntu5), libavahi-common3 (= 0.8-5ubuntu5), libavahi-glib1 (= 0.8-5ubuntu5), libc6 (>= 2.4), libgdbm6 (>= 1.16), libglib2.0-0 (>= 2.37.3), libgtk-3-0 (>= 3.0.0) + +Package: fonts-lohit-telu +Architecture: all +Version: 2.5.5-2build1 +APT-ID: 470 +Multi-Arch: foreign +Source: fonts-lohit-telu +Source-Version: 2.5.5-2build1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: ttf-telugu-fonts (<= 1:0.5.12) +Breaks: ttf-telugu-fonts (<= 1:0.5.12) + +Package: gir1.2-peas-1.0 +Architecture: amd64 +Version: 1.32.0-1 +APT-ID: 737 +Multi-Arch: same +Source: libpeas +Source-Version: 1.32.0-1 +Priority: extra +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0 (>= 1.39.0), gir1.2-gtk-3.0 (>= 3.0.0), libpeas-1.0-0 (>= 1.26.0) +Provides: gir1.2-peasgtk-1.0 (= 1.32.0-1) + +Package: libpython3.10 +Architecture: amd64 +Version: 3.10.6-1~22.04 +APT-ID: 72531 +Multi-Arch: same +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: optional +Section: libs +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libpython3.10-stdlib (= 3.10.6-1~22.04), libc6 (>= 2.35), libexpat1 (>= 2.1~beta3), zlib1g (>= 1:1.2.0) + +Package: libpython3.10 +Architecture: amd64 +Version: 3.10.4-3ubuntu0.1 +APT-ID: 79373 +Multi-Arch: same +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3ubuntu0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Automatic: yes +Depends: libpython3.10-stdlib (= 3.10.4-3ubuntu0.1), libc6 (>= 2.35), libexpat1 (>= 2.1~beta3), zlib1g (>= 1:1.2.0) + +Package: libpython3.10 +Architecture: amd64 +Version: 3.10.4-3 +APT-ID: 3337 +Multi-Arch: same +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3 +Priority: optional +Section: libs +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Automatic: yes +Depends: libpython3.10-stdlib (= 3.10.4-3), libc6 (>= 2.35), libexpat1 (>= 2.1~beta3), zlib1g (>= 1:1.2.0) + +Package: gnome-settings-daemon +Architecture: amd64 +Version: 42.1-1ubuntu2.1 +APT-ID: 71867 +Source: gnome-settings-daemon +Source-Version: 42.1-1ubuntu2.1 +Priority: extra +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gnome-settings-daemon-common (= 42.1-1ubuntu2.1), gsettings-desktop-schemas (>= 42~), default-logind | logind, libaccountsservice0 (>= 0.6.40), libasound2 (>= 1.0.16), libc6 (>= 2.34), libcairo2 (>= 1.2.4), libcanberra-gtk3-0 (>= 0.25), libcanberra0 (>= 0.16), libcolord2 (>= 1.4.5), libcups2 (>= 1.6.0), libfontconfig1 (>= 2.12.6), libgck-1-0 (>= 3.2.2), libgcr-base-3-1 (>= 3.8.0), libgeoclue-2-0 (>= 2.4.0), libgeocode-glib0 (>= 3.10.0), libglib2.0-0 (>= 2.59.0), libgnome-desktop-3-19 (>= 3.37.90.1), libgtk-3-0 (>= 3.21.5), libgudev-1.0-0 (>= 146), libgweather-3-16 (>= 40.0), liblcms2-2 (>= 2.2+git20110628), libmm-glib0 (>= 1.0), libnm0 (>= 1.0.0), libnotify4 (>= 0.7.3), libp11-kit0 (>= 0.23.18.1), libpango-1.0-0 (>= 1.14.0), libpangocairo-1.0-0 (>= 1.14.0), libpolkit-gobject-1-0 (>= 0.99), libpulse-mainloop-glib0 (>= 12.99.3), libpulse0 (>= 12.99.3), libupower-glib3 (>= 0.99.12), libwacom9 (>= 2.0.0), libwayland-client0 (>= 1.0.2), libx11-6, libxext6, libxfixes3 (>= 1:6.0.0), libxi6 (>= 2:1.2.99.4) +Suggests: usbguard +Recommends: iio-sensor-proxy, pulseaudio, x11-xserver-utils +Breaks: afterstep (<< 2.2.12-11.1~), budgie-core (<< 10.4+git20171031.10.g9f71bb8-1.2~), cairo-dock (<< 3.4.1-1.2~), evolution (<< 3.37.3~), gdm3 (<< 3.37.0), gnome-control-center (<< 1:3.25.91), gnome-initial-setup (<< 3.27), gnome-session (<< 3.37.0), gnome-session-flashback (<< 3.26.0-3~), gnome-shell (<< 3.37.90), gnome-shell-extensions (<< 3.27), libgtk-3-0 (<< 3.24.23~), libgtk-4-0 (<< 3.99.1~), libmutter-6-0 (<< 3.37), libmutter-7-0 (<< 3.39), openbox-gnome-session (<< 3.6.1-7~), xmonad (<< 0.13-7~) + +Package: libvncclient1 +Architecture: amd64 +Version: 0.9.13+dfsg-3build2 +APT-ID: 4013 +Multi-Arch: same +Source: libvncserver +Source-Version: 0.9.13+dfsg-3build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libgcrypt20 (>= 1.9.0), libgnutls30 (>= 3.7.2), libjpeg8 (>= 8c), liblzo2-2 (>= 2.02), libsasl2-2 (>= 2.1.27+dfsg2), zlib1g (>= 1:1.1.4) +Replaces: libvncserver0 (<< 0.9.9+dfsg-3) +Breaks: libvncserver0 (<< 0.9.9+dfsg-3) + +Package: gir1.2-gtksource-4 +Architecture: amd64 +Version: 4.8.3-1 +APT-ID: 706 +Multi-Arch: same +Source: gtksourceview4 +Source-Version: 4.8.3-1 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-gtk-3.0 (>= 3.24), libgtksourceview-4-0 (>= 3.99.7) + +Package: gir1.2-gnomebluetooth-3.0 +Architecture: amd64 +Version: 42.0-5 +APT-ID: 688 +Multi-Arch: same +Source: gnome-bluetooth3 +Source-Version: 42.0-5 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0 (>= 0.9.5), libgnome-bluetooth-3.0-13 (>= 42~beta) +Breaks: gnome-bluetooth (<< 3.8), gnome-shell (<< 42~alpha) + +Package: gnome-shell-extension-appindicator +Architecture: all +Version: 42-2~fakesync1 +APT-ID: 809 +Source: gnome-shell-extension-appindicator +Source-Version: 42-2~fakesync1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gnome-shell (>= 3.33), gnome-shell (<< 43~), dconf-gsettings-backend | gsettings-backend +Suggests: gnome-shell-extension-prefs, libappindicator3-1, libayatana-appindicator3-1 + +Package: printer-driver-min12xxw +Architecture: amd64 +Version: 0.0.9-11build2 +APT-ID: 4972 +Source: min12xxw +Source-Version: 0.0.9-11build2 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Recommends: cups, ghostscript, foomatic-db-compressed-ppds | foomatic-db +Replaces: min12xxw (<< 0.0.9-6~) +Breaks: min12xxw (<< 0.0.9-6~) + +Package: gir1.2-totem-1.0 +Architecture: amd64 +Version: 42.0-1ubuntu1 +APT-ID: 749 +Multi-Arch: same +Source: totem +Source-Version: 42.0-1ubuntu1 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0 (>= 0.9.12), gir1.2-gtk-3.0 (>= 3.22.0), gir1.2-totemplparser-1.0 (>= 3.26.5), libtotem0 (<< 42.1), libtotem0 (>= 42.0-1ubuntu1) + +Package: libpoppler-glib8 +Architecture: amd64 +Version: 22.02.0-2ubuntu0.1 +APT-ID: 72519 +Multi-Arch: same +Source: poppler +Source-Version: 22.02.0-2ubuntu0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libpoppler118 (= 22.02.0-2ubuntu0.1), libc6 (>= 2.34), libcairo2 (>= 1.12.0), libfreetype6 (>= 2.2.1), libglib2.0-0 (>= 2.67.1), libstdc++6 (>= 11) + +Package: libblockdev-loop2 +Architecture: amd64 +Version: 2.26-1 +APT-ID: 1736 +Multi-Arch: same +Source: libblockdev +Source-Version: 2.26-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libblockdev-utils2 (>= 2.14), libc6 (>= 2.27), libglib2.0-0 (>= 2.42.2) + +Package: libvte-2.91-common +Architecture: amd64 +Version: 0.68.0-1 +APT-ID: 4030 +Multi-Arch: foreign +Source: vte2.91 +Source-Version: 0.68.0-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: libnet-http-perl +Architecture: all +Version: 6.22-1 +APT-ID: 3013 +Source: libnet-http-perl +Source-Version: 6.22-1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any, libio-socket-ip-perl, liburi-perl +Recommends: libio-socket-ssl-perl + +Package: libwps-0.4-4 +Architecture: amd64 +Version: 0.4.12-2build1 +APT-ID: 4086 +Multi-Arch: same +Source: libwps +Source-Version: 0.4.12-2build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.32), libgcc-s1 (>= 3.3.1), librevenge-0.0-0, libstdc++6 (>= 11) + +Package: libharfbuzz-icu0 +Architecture: amd64 +Version: 2.7.4-1ubuntu3.1 +APT-ID: 72422 +Multi-Arch: same +Source: harfbuzz +Source-Version: 2.7.4-1ubuntu3.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libharfbuzz0b (>= 0.9.4), libicu70 (>= 70.1-1~) + +Package: libxcb-render0 +Architecture: amd64 +Version: 1.14-3ubuntu3 +APT-ID: 4156 +Multi-Arch: same +Source: libxcb +Source-Version: 1.14-3ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libxcb1 (>= 1.8) + +Package: sgml-data +Architecture: all +Version: 2.0.11+nmu1 +APT-ID: 5655 +Multi-Arch: foreign +Source: sgml-data +Source-Version: 2.0.11+nmu1 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any, sgml-base (>= 1.28), xml-core (>= 0.14) +Suggests: perlsgml, w3-recs, opensp, libxml2-utils +Replaces: docbook-xml (<= 3.1.3.6-1), sp (<< 1.3.4-1.2.1-14) +Breaks: sp (<= 1.1.1-2) + +Package: libgnome-bg-4-1 +Architecture: amd64 +Version: 42.4-0ubuntu1 +APT-ID: 72384 +Multi-Arch: same +Source: gnome-desktop +Source-Version: 42.4-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gsettings-desktop-schemas (>= 3.27.0), libc6 (>= 2.14), libcairo2 (>= 1.14.0), libgdk-pixbuf-2.0-0 (>= 2.36.5), libglib2.0-0 (>= 2.53.0), libgnome-desktop-4-1 (>= 3.17.92), libgtk-4-1 (>= 4.4.0) +Recommends: locales | locales-all + +Package: printer-driver-postscript-hp +Architecture: amd64 +Version: 3.21.12+dfsg0-1 +APT-ID: 4974 +Source: hplip +Source-Version: 3.21.12+dfsg0-1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any, xz-utils, libc6 (>= 2.34), libcups2 (>= 1.4.0) +Suggests: hplip (>= 3.21.12+dfsg0-1) +Replaces: hplip (<< 3.18.3+dfsg0-1~) +Breaks: hplip (<< 3.18.3+dfsg0-1~) + +Package: gstreamer1.0-gtk3 +Architecture: amd64 +Version: 1.20.3-0ubuntu1 +APT-ID: 71892 +Multi-Arch: same +Source: gst-plugins-good1.0 +Source-Version: 1.20.3-0ubuntu1 +Priority: optional +Section: graphics +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libcairo2 (>= 1.10.0), libglib2.0-0 (>= 2.56), libgstreamer-gl1.0-0 (>= 1.20.0), libgstreamer-plugins-base1.0-0 (>= 1.20.0), libgstreamer1.0-0 (>= 1.20.0), libgtk-3-0 (>= 3.16.2) +Replaces: gstreamer1.0-plugins-bad (<< 1.13.1) +Breaks: gstreamer1.0-plugins-bad (<< 1.13.1) +Provides: gstreamer1.0-videosink + +Package: manpages +Architecture: all +Version: 5.10-1ubuntu1 +APT-ID: 4623 +Multi-Arch: foreign +Source: manpages +Source-Version: 5.10-1ubuntu1 +Priority: standard +Section: doc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Suggests: man-browser +Replaces: attr (<< 1:2.4.47-3), keyutils (<< 1.6-1), manpages-dev (<< 5.09-2) +Breaks: attr (<< 1:2.4.47-3), keyutils (<< 1.6-1), manpages-dev (<< 5.09-2) + +Package: linux-base +Architecture: all +Version: 4.5ubuntu9 +APT-ID: 4323 +Multi-Arch: foreign +Source: linux-base +Source-Version: 4.5ubuntu9 +Priority: optional +Section: kernel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf (>= 0.5) | debconf-2.0 + +Package: libreoffice-writer +Architecture: amd64 +Version: 1:7.3.6-0ubuntu0.22.04.1 +APT-ID: 72697 +Source: libreoffice +Source-Version: 1:7.3.6-0ubuntu0.22.04.1 +Priority: optional +Section: editors +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libreoffice-base-core (= 1:7.3.6-0ubuntu0.22.04.1), libreoffice-common (>= 1:7.0.0~alpha~), libreoffice-core (= 1:7.3.6-0ubuntu0.22.04.1), ucf (>= 0.8), libabw-0.1-1, libc6 (>= 2.32), libe-book-0.1-1, libepubgen-0.1-1 (>= 0.1.0), libetonyek-0.1-1, libgcc-s1 (>= 3.0), libicu70 (>= 70.1-1~), libmwaw-0.3-3, libodfgen-0.1-1, librevenge-0.0-0, libstdc++6 (>= 12), libuno-cppu3 (>= 4.4.0~alpha), libuno-cppuhelpergcc3-3 (>= 5.3.0~alpha), libuno-sal3 (>= 1:7.3.0~beta1), libuno-salhelpergcc3-3 (>= 1.4.0), libwpd-0.10-10, libwpg-0.3-3, libwps-0.4-4, libxml2 (>= 2.8), uno-libs-private, zlib1g (>= 1:1.1.4) +Suggests: fonts-crosextra-caladea, fonts-crosextra-carlito, libreoffice-base, libreoffice-java-common (>= 1:7.3.6~), default-jre (>= 2:1.8) | java8-runtime | jre +Recommends: libreoffice-math +Replaces: libreoffice-common (<< 1:6.4.2~rc1~) +Breaks: libreoffice-common (<< 1:6.4.2~rc1~) + +Package: update-notifier +Architecture: amd64 +Version: 3.192.54 +APT-ID: 5918 +Source: update-notifier +Source-Version: 3.192.54 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libayatana-appindicator3-1 (>= 0.2.92), libc6 (>= 2.34), libglib2.0-0 (>= 2.49.2), libgtk-3-0 (>= 3.0.0), libgudev-1.0-0 (>= 146), libjson-glib-1.0-0 (>= 1.5.2), libnotify4 (>= 0.7.0), libpango-1.0-0 (>= 1.18.0), dconf-gsettings-backend | gsettings-backend, update-notifier-common (= 3.192.54), python3-dbus, ubuntu-drivers-common, update-manager-gnome | update-manager (>= 1:17.04.3), ubuntu-release-upgrader-gtk, gnome-shell | notification-daemon, policykit-1 +Recommends: apport-gtk (>= 2.8-0ubuntu3), python3-aptdaemon.gtk3widgets | synaptic (>= 0.75.12), software-properties-gtk, python3-aptdaemon, whoopsie (>= 0.2.77) + +Package: xserver-common +Architecture: all +Version: 2:21.1.3-2ubuntu2.1 +APT-ID: 74552 +Multi-Arch: foreign +Source: xorg-server +Source-Version: 2:21.1.3-2ubuntu2.1 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=i386 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: x11-common, xkb-data, x11-xkb-utils +Recommends: xfonts-base, xauth +Replaces: xserver-xorg-core (<< 2:1.5.2) + +Package: xcursor-themes +Architecture: all +Version: 1.0.6-0ubuntu1 +APT-ID: 6015 +Source: xcursor-themes +Source-Version: 1.0.6-0ubuntu1 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libusb-1.0-0 +Architecture: amd64 +Version: 2:1.0.25-1ubuntu2 +APT-ID: 72803 +Multi-Arch: same +Source: libusb-1.0 +Source-Version: 2:1.0.25-1ubuntu2 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libudev1 (>= 183) + +Package: idle3 +Architecture: all +Version: 3.10.6-1~22.04 +APT-ID: 77377 +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: optional +Section: universe/python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=universe,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=universe,b=i386 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3 (>= 3.10.6-1~22.04), idle (>= 3.10.6-1~22.04) + +Package: idle3 +Architecture: all +Version: 3.10.4-0ubuntu2 +APT-ID: 21729 +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-0ubuntu2 +Priority: optional +Section: universe/python +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=universe,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=universe,b=i386 +APT-Pin: 500 +Depends: python3 (>= 3.10.4-0ubuntu2), idle (>= 3.10.4-0ubuntu2) + +Package: libuuid1 +Architecture: amd64 +Version: 2.37.2-4ubuntu3 +APT-ID: 3977 +Multi-Arch: same +Source: util-linux +Source-Version: 2.37.2-4ubuntu3 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.25) +Recommends: uuid-runtime + +Package: man-db +Architecture: amd64 +Version: 2.10.2-1 +APT-ID: 4622 +Multi-Arch: foreign +Source: man-db +Source-Version: 2.10.2-1 +Priority: standard +Section: doc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: bsdextrautils | bsdmainutils (<< 12.1.1~), groff-base, debconf (>= 0.5) | debconf-2.0, libc6 (>= 2.34), libgdbm6 (>= 1.16), libpipeline1 (>= 1.5.0), libseccomp2 (>= 2.1.0), zlib1g (>= 1:1.1.4) +Suggests: apparmor, groff, less, www-browser +Conflicts: man +Replaces: man, nlsutils +Provides: man-browser, man + +Package: python3-mako +Architecture: all +Version: 1.1.3+ds1-2ubuntu0.1 +APT-ID: 74333 +Source: mako +Source-Version: 1.1.3+ds1-2ubuntu0.1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=i386 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-markupsafe, python3:any +Suggests: python3-beaker, python-mako-doc +Replaces: python-mako (<< 1.1.0+ds1-1) +Breaks: python-mako (<< 1.1.0+ds1-1) + +Package: xwayland +Architecture: amd64 +Version: 2:22.1.1-1ubuntu0.1 +APT-ID: 79429 +Source: xwayland +Source-Version: 2:22.1.1-1ubuntu0.1 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Automatic: yes +Depends: xserver-common, libc6 (>= 2.35), libdrm2 (>= 2.4.75), libepoxy0 (>= 1.5.4), libgbm1 (>= 21.1.0), libgcrypt20 (>= 1.9.0), libgl1, libpixman-1-0 (>= 0.30.0), libtirpc3 (>= 1.0.2), libwayland-client0 (>= 1.20.0), libxau6 (>= 1:1.0.9), libxcvt0 (>= 0.1.0), libxdmcp6, libxfont2 (>= 1:2.0.1), libxshmfence1 + +Package: libvisual-0.4-0 +Architecture: amd64 +Version: 0.4.0-17build2 +APT-ID: 4011 +Multi-Arch: same +Source: libvisual +Source-Version: 0.4.0-17build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Suggests: libvisual-0.4-plugins +Breaks: libvisual-0.4-plugins (<< 0.4.0.dfsg.1-5) + +Package: libblockdev2 +Architecture: amd64 +Version: 2.26-1 +APT-ID: 1753 +Multi-Arch: same +Source: libblockdev +Source-Version: 2.26-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libblockdev-utils2 (>= 2.14), libc6 (>= 2.34), libglib2.0-0 (>= 2.42.2) + +Package: python3-cairo +Architecture: amd64 +Version: 1.20.1-3build1 +APT-ID: 5168 +Multi-Arch: same +Source: pycairo +Source-Version: 1.20.1-3build1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3 (<< 3.11), python3 (>= 3.10~), python3:any, libc6 (>= 2.14), libcairo2 (>= 1.15.12) +Provides: python3.10-cairo + +Package: ipp-usb +Architecture: amd64 +Version: 0.9.20-1 +APT-ID: 1133 +Multi-Arch: foreign +Source: ipp-usb +Source-Version: 0.9.20-1 +Priority: optional +Section: comm +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: avahi-daemon, libavahi-client3 (>= 0.6.16), libavahi-common3 (>= 0.6.16), libc6 (>= 2.34), libusb-1.0-0 (>= 2:1.0.16) + +Package: duplicity +Architecture: amd64 +Version: 0.8.21-1build1 +APT-ID: 356 +Source: duplicity +Source-Version: 0.8.21-1build1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), librsync2 (>= 1.0.0), python3 (<< 3.11), python3 (>= 3.10~), python3-fasteners, python3-future, python3.10:any, python3:any (>= 3.7~), python3-lockfile, gnupg | gnupg1 +Suggests: python3-boto, ncftp, lftp, tahoe-lafs, python3-swiftclient, python3-pip, par2 +Recommends: rsync, python3-paramiko, python3-pexpect, python3-urllib3, python3-oauthlib + +Package: gpgv +Architecture: amd64 +Version: 2.2.27-3ubuntu2.1 +APT-ID: 71886 +Multi-Arch: foreign +Source: gnupg2 +Source-Version: 2.2.27-3ubuntu2.1 +Priority: required +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbz2-1.0, libc6 (>= 2.34), libgcrypt20 (>= 1.9.0), libgpg-error0 (>= 1.42), zlib1g (>= 1:1.1.4) +Suggests: gnupg +Replaces: gnupg2 (<< 2.0.21-2), gpgv2 (<< 2.1.11-7+exp1) +Breaks: gnupg2 (<< 2.0.21-2), gpgv2 (<< 2.1.11-7+exp1), python-debian (<< 0.1.29) + +Package: libblockdev-part-err2 +Architecture: amd64 +Version: 2.26-1 +APT-ID: 1747 +Multi-Arch: same +Source: libblockdev +Source-Version: 2.26-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.3), libglib2.0-0 (>= 2.42.2) + +Package: printer-driver-pxljr +Architecture: amd64 +Version: 1.4+repack0-6build1 +APT-ID: 4976 +Source: pxljr +Source-Version: 1.4+repack0-6build1 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: cups-filters | foomatic-filters, python3:any, xz-utils, libc6 (>= 2.34), libijs-0.35 (>= 0.35), libjpeg8 (>= 8c) +Replaces: pxljr (<< 1.3+repack0-2~) +Breaks: pxljr (<< 1.3+repack0-2~) + +Package: libtext-charwidth-perl +Architecture: amd64 +Version: 0.04-10build3 +APT-ID: 3829 +Source: libtext-charwidth-perl +Source-Version: 0.04-10build3 +Priority: required +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), perl-base, perlapi-5.34.0 + +Package: hunspell-en-us +Architecture: all +Version: 1:2020.12.07-2 +APT-ID: 997 +Multi-Arch: foreign +Source: scowl +Source-Version: 2020.12.07-2 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dictionaries-common (>= 0.10) +Suggests: hunspell, openoffice.org-hunspell | openoffice.org-core (>= 2.0.2) +Conflicts: firefox (<< 2.0.0.3-2), iceape-browser (<< 1.1.1-2), icedove (<< 2.0.0.0-4), iceweasel (<< 2.0.0.3-2), libxul0d (= 1.8.0.11-3), mozilla-browser (<< 1.8+1.1.1-2), myspell-en-us, openoffice.org (<= 1.0.3-2), openoffice.org-core (<< 2.1~m190-1), thunderbird (<< 2.0.0.1+dfsg-0) +Replaces: myspell-en-us, openoffice.org-spellcheck-en-us +Provides: hunspell-dictionary, hunspell-dictionary-en-us, hunspell-dictionary-en + +Package: wbritish +Architecture: all +Version: 2020.12.07-2 +APT-ID: 5954 +Multi-Arch: foreign +Source: scowl +Source-Version: 2020.12.07-2 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dictionaries-common (>= 0.20), debconf (>= 0.5) | debconf-2.0 +Provides: wordlist + +Package: bash +Architecture: amd64 +Version: 5.1-6ubuntu1 +APT-ID: 88 +Essential: yes +Multi-Arch: foreign +Source: bash +Source-Version: 5.1-6ubuntu1 +Priority: important +Section: shells +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: base-files (>= 2.1.12), debianutils (>= 2.15) +Pre-Depends: libc6 (>= 2.34), libtinfo6 (>= 6) +Suggests: bash-doc +Recommends: bash-completion (>= 20060301-0) +Conflicts: bash-completion (<< 20060301-0) +Replaces: bash-completion (<< 20060301-0), bash-doc (<= 2.05-1) + +Package: dictionaries-common +Architecture: all +Version: 1.28.14 +APT-ID: 320 +Multi-Arch: foreign +Source: dictionaries-common +Source-Version: 1.28.14 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf (>= 0.5) | debconf-2.0, libtext-iconv-perl, emacsen-common +Suggests: ispell | aspell | hunspell, wordlist +Replaces: openoffice.org-updatedicts +Breaks: hunspell-da (<= 1:3.1.0), hunspell-de-at (<= 20100727-1), hunspell-de-ch (<= 20100727-1), hunspell-de-de (<= 20100727-1), hunspell-eu-es (<= 0.4.20081029-4), hunspell-ko (<= 0.5.3-1), hunspell-uz (<= 0.6-3.1), hyphen-en-us (<< 2.8.3-1), myspell-bg (<= 3.0-12), myspell-ca (<= 0.6-10), myspell-cs (<= 20040229-5), myspell-cs-cz (<= 20040229-5), myspell-da (<= 1.6.25-1), myspell-de-at (<= 20100727-1), myspell-de-ch (<= 20100727-1), myspell-de-de (<= 20100727-1), myspell-de-de-oldspell (<= 1:2-27), myspell-en-au (<= 2.1-5), myspell-eo (<= 2.1.2000.02.25-42), myspell-es (<= 1.11-1), myspell-et (<= 1:20030606-12.1), myspell-eu-es (<= 0.4.20081029-4), myspell-fi (<= 0.7-17.3), myspell-fo (<= 0.2.44-2), myspell-fr (<= 1.4-25), myspell-fr-gut (<= 1:1.0-28), myspell-ga (<= 2.0-20), myspell-gd (<= 0.50-7), myspell-gl-es (<= 2.2a-8), myspell-gv (<= 0.50-9), myspell-he (<= 1.1-1), myspell-hu (<= 0.99.4-2), myspell-ku (<= 0.20.0-1.1), myspell-nb (<= 2.0.10-3.2), myspell-nl (<= 1:2.0-1), myspell-nn (<= 2.0.10-3.2), myspell-nr (<< 20070206-4ubuntu1), myspell-ns (<< 20070206-4ubuntu1), myspell-pl (<= 20100612-1), myspell-pt-pt (<= 20091013-2), myspell-ru (<= 0.99g5-8.1), myspell-sl (<< 1.0-3ubuntu1), myspell-ss (<< 20070206-4ubuntu1), myspell-sv-se (<= 1.3.8-6-2.2), myspell-tn (<< 20070206-4ubuntu1), myspell-ts (<< 20070207-4ubuntu1), myspell-uk (<= 1.6.0-1), myspell-ve (<< 20070206-3ubuntu1), myspell-xh (<< 20070206-4ubuntu1), myspell-zu (<< 20070207-5ubuntu1), mythes-it (<= 2.0.7.gh.deb1-3), openoffice.org-thesaurus-it (<< 2.0.7.gh.deb1-1.1ubuntu3) +Provides: openoffice.org-updatedicts + +Package: gsettings-desktop-schemas +Architecture: all +Version: 42.0-1ubuntu1 +APT-ID: 920 +Multi-Arch: foreign +Source: gsettings-desktop-schemas +Source-Version: 42.0-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend, session-migration +Breaks: gnome-control-center (<< 1:3.19.92), gnome-settings-daemon (<< 3.19.92), gnome-shell (<< 40), mutter (<< 3.31.4), nautilus (<< 3.7.92) + +Package: python3-click +Architecture: all +Version: 8.0.3-1 +APT-ID: 5184 +Source: python-click +Source-Version: 8.0.3-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-colorama, python3-importlib-metadata | python3 (>> 3.8), python3:any +Breaks: python3-click-threading (<< 0.5.0) + +Package: libgnomekbd-common +Architecture: all +Version: 3.26.1-2 +APT-ID: 2441 +Multi-Arch: foreign +Source: libgnomekbd +Source-Version: 3.26.1-2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend + +Package: libgcrypt20 +Architecture: amd64 +Version: 1.9.4-3ubuntu3 +APT-ID: 2317 +Multi-Arch: same +Source: libgcrypt20 +Source-Version: 1.9.4-3ubuntu3 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libgpg-error0 (>= 1.27) +Suggests: rng-tools + +Package: isc-dhcp-client +Architecture: amd64 +Version: 4.4.1-2.3ubuntu2.2 +APT-ID: 71907 +Source: isc-dhcp +Source-Version: 4.4.1-2.3ubuntu2.2 +Priority: required +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libdns-export1110, libisc-export1105, debianutils (>= 2.8.2), iproute2 +Suggests: resolvconf, avahi-autoipd, isc-dhcp-client-ddns +Recommends: isc-dhcp-common +Provides: dhcp-client + +Package: mailcap +Architecture: all +Version: 3.70+nmu1ubuntu1 +APT-ID: 4618 +Multi-Arch: foreign +Source: mailcap +Source-Version: 3.70+nmu1ubuntu1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl, media-types +Recommends: bzip2, file, xz-utils +Replaces: mime-support (<< 3.65) +Breaks: mime-support (<< 3.65) +Provides: run-mailcap + +Package: xserver-xorg-video-radeon +Architecture: amd64 +Version: 1:19.1.0-2ubuntu1 +APT-ID: 74559 +Source: xserver-xorg-video-ati +Source-Version: 1:19.1.0-2ubuntu1 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libdrm-radeon1 (>= 2.4.39), libgbm1 (>= 8.1~0), libudev1 (>= 183), xorg-video-abi-25, xserver-xorg-core (>= 2:21.1.1) +Suggests: firmware-amd-graphics +Provides: xorg-driver-video + +Package: libnotify4 +Architecture: amd64 +Version: 0.7.9-3ubuntu5.22.04.1 +APT-ID: 72482 +Multi-Arch: same +Source: libnotify +Source-Version: 0.7.9-3ubuntu5.22.04.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.7), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.37.3) +Suggests: gnome-shell | notification-daemon + +Package: grep +Architecture: amd64 +Version: 3.7-1build1 +APT-ID: 895 +Essential: yes +Multi-Arch: foreign +Source: grep +Source-Version: 3.7-1build1 +Priority: important +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: dpkg (>= 1.15.4) | install-info +Pre-Depends: libc6 (>= 2.34), libpcre3 +Suggests: libpcre3 (>= 7.7) +Conflicts: rgrep +Provides: rgrep + +Package: media-types +Architecture: all +Version: 7.0.0 +APT-ID: 4639 +Multi-Arch: foreign +Source: media-types +Source-Version: 7.0.0 +Priority: required +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: mime-support (<< 3.65) +Breaks: mime-support (<< 3.65) + +Package: libnma0 +Architecture: amd64 +Version: 1.8.34-1ubuntu1 +APT-ID: 3078 +Multi-Arch: same +Source: libnma +Source-Version: 1.8.34-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libcairo2 (>= 1.2.4), libgck-1-0 (>= 3.3.90), libgcr-base-3-1 (>= 3.8.0), libglib2.0-0 (>= 2.37.3), libgtk-3-0 (>= 3.21.5), libnm0 (>= 1.8.0), libnma-common (= 1.8.34-1ubuntu1) + +Package: libuno-salhelpergcc3-3 +Architecture: amd64 +Version: 1:7.3.6-0ubuntu0.22.04.1 +APT-ID: 72799 +Source: libreoffice +Source-Version: 1:7.3.6-0ubuntu0.22.04.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libgcc-s1 (>= 3.0), libstdc++6 (>= 5.2), libuno-sal3 (>= 1.8.0) +Replaces: uno-libs3, ure (<< 5.0.0~rc2-1) +Breaks: libreoffice-core (<< 1:4.3.0~), uno-libs3 + +Package: libio-stringy-perl +Architecture: all +Version: 2.111-3 +APT-ID: 2672 +Source: io-stringy +Source-Version: 2.111-3 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl + +Package: gstreamer1.0-plugins-good +Architecture: amd64 +Version: 1.20.3-0ubuntu1 +APT-ID: 71893 +Multi-Arch: same +Source: gst-plugins-good1.0 +Source-Version: 1.20.3-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libaa1 (>= 1.4p5), libavc1394-0 (>= 0.5.3), libbz2-1.0, libc6 (>= 2.34), libcaca0 (>= 0.99.beta17-1), libcairo-gobject2 (>= 1.10.0), libcairo2 (>= 1.10.0), libdv4 (>= 1.0.0), libflac8 (>= 1.3.0), libgcc-s1 (>= 3.3.1), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.67.3), libgstreamer-plugins-base1.0-0 (>= 1.20.0), libgstreamer-plugins-good1.0-0 (= 1.20.3-0ubuntu1), libgstreamer1.0-0 (>= 1.20.0), libgudev-1.0-0 (>= 147), libiec61883-0 (>= 1.2.0), libjack-jackd2-0 (>= 1.9.10+20150825) | libjack-0.125, libjpeg8 (>= 8c), libmp3lame0 (>= 3.100), libmpg123-0 (>= 1.28.0), liborc-0.4-0 (>= 1:0.4.25), libpng16-16 (>= 1.6.2-1), libpulse0 (>= 2.0), libraw1394-11 (>= 2.1.2), libshout3 (>= 2.2.2), libspeex1 (>= 1.2~beta3-1), libstdc++6 (>= 5), libtag1v5 (>= 1.9.1-2.2~), libtwolame0 (>= 0.3.10), libv4l-0 (>= 0.5.0), libvpx7 (>= 1.10.0), libwavpack1 (>= 4.60), libx11-6, libxdamage1 (>= 1:1.1), libxext6, libxfixes3, zlib1g (>= 1:1.1.4), gstreamer1.0-plugins-base (>= 1.20.0), libsoup2.4-1 (>= 2.48) | libsoup3.0-0 +Recommends: gstreamer1.0-x +Replaces: gstreamer1.0-plugins-bad (<< 1.15.1), gstreamer1.0-plugins-ugly (<< 1.13.1), gstreamer1.0-pulseaudio (<< 1.18.0) +Breaks: gstreamer1.0-plugins-bad (<< 1.15.1), gstreamer1.0-plugins-ugly (<< 1.13.1), gstreamer1.0-pulseaudio (<< 1.18.0) +Provides: gstreamer1.0-visualization, gstreamer1.0-videosource, gstreamer1.0-videosink, gstreamer1.0-audiosource, gstreamer1.0-audiosink + +Package: mawk +Architecture: amd64 +Version: 1.3.4.20200120-3 +APT-ID: 4632 +Multi-Arch: foreign +Source: mawk +Source-Version: 1.3.4.20200120-3 +Priority: important +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Provides: awk + +Package: libwebrtc-audio-processing1 +Architecture: amd64 +Version: 0.3.1-0ubuntu5 +APT-ID: 4060 +Multi-Arch: same +Source: webrtc-audio-processing +Source-Version: 0.3.1-0ubuntu5 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgcc-s1 (>= 4.0), libstdc++6 (>= 11) + +Package: libipc-system-simple-perl +Architecture: all +Version: 1.30-1 +APT-ID: 2682 +Source: libipc-system-simple-perl +Source-Version: 1.30-1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any + +Package: libsane-common +Architecture: all +Version: 1.1.1-5 +APT-ID: 3631 +Multi-Arch: foreign +Source: sane-backends +Source-Version: 1.1.1-5 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Pre-Depends: dpkg (>= 1.15.7.2) +Replaces: sane-utils (<< 1.1.1-3~) +Breaks: sane-utils (<< 1.1.1-3~) + +Package: libhtml-format-perl +Architecture: all +Version: 2.12-1.1 +APT-ID: 2591 +Source: libhtml-format-perl +Source-Version: 2.12-1.1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any, libfont-afm-perl, libhtml-tree-perl + +Package: libatspi2.0-0 +Architecture: amd64 +Version: 2.44.0-3 +APT-ID: 1673 +Multi-Arch: same +Source: at-spi2-core +Source-Version: 2.44.0-3 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.7), libdbus-1-3 (>= 1.9.14), libglib2.0-0 (>= 2.62), libx11-6 (>= 2:1.2.99.901), libxi6 (>= 2:1.2.99.4) +Recommends: at-spi2-core (= 2.44.0-3) + +Package: libteamdctl0 +Architecture: amd64 +Version: 1.31-1build2 +APT-ID: 3820 +Multi-Arch: same +Source: libteam +Source-Version: 1.31-1build2 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.15), libdbus-1-3 (>= 1.9.14) + +Package: libdjvulibre21 +Architecture: amd64 +Version: 3.5.28-2build2 +APT-ID: 2073 +Multi-Arch: same +Source: djvulibre +Source-Version: 3.5.28-2build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgcc-s1 (>= 3.3.1), libjpeg8 (>= 8c), libstdc++6 (>= 5), libdjvulibre-text (>= 3.5.28-2build2) +Conflicts: libdjvulibre1 +Replaces: libdjvulibre1, libdjvulibre15 + +Package: uuid-runtime +Architecture: amd64 +Version: 2.37.2-4ubuntu3 +APT-ID: 5936 +Multi-Arch: foreign +Source: util-linux +Source-Version: 2.37.2-4ubuntu3 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: adduser, libc6 (>= 2.34), libsmartcols1 (>= 2.27~rc1), libsystemd0, libuuid1 (>= 2.31.1) +Pre-Depends: libuuid1, init-system-helpers (>= 1.54~) + +Package: x11-session-utils +Architecture: amd64 +Version: 7.7+4build2 +APT-ID: 5990 +Source: x11-session-utils +Source-Version: 7.7+4build2 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libice6 (>= 1:1.0.0), libsm6, libx11-6, libxaw7 (>= 2:1.0.14), libxmuu1 (>= 2:1.1.3), libxt6 (>= 1:1.1.0) + +Package: libgupnp-av-1.0-3 +Architecture: amd64 +Version: 0.14.0-3 +APT-ID: 2554 +Source: gupnp-av +Source-Version: 0.14.0-3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.7), libglib2.0-0 (>= 2.58), libxml2 (>= 2.7.4) +Replaces: libgupnp-av-1.0-2 (<< 0.14) +Breaks: libgupnp-av-1.0-2 (<< 0.14) + +Package: gvfs-backends +Architecture: amd64 +Version: 1.48.2-0ubuntu1 +APT-ID: 71899 +Multi-Arch: foreign +Source: gvfs +Source-Version: 1.48.2-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gvfs (= 1.48.2-0ubuntu1), gvfs-common (= 1.48.2-0ubuntu1), gvfs-daemons (= 1.48.2-0ubuntu1), gvfs-libs (= 1.48.2-0ubuntu1), psmisc, dconf-gsettings-backend | gsettings-backend, libarchive13 (>= 3.0.4), libavahi-client3 (>= 0.6.16), libavahi-common3 (>= 0.6.16), libavahi-glib1 (>= 0.6.16), libc6 (>= 2.34), libcdio-cdda2 (>= 10.2+2.0.0), libcdio-paranoia2 (>= 10.2+2.0.0), libcdio19 (>= 2.1.0), libgcrypt20 (>= 1.9.0), libgdata22 (>= 0.18.0), libglib2.0-0 (>= 2.65.1), libgoa-1.0-0b (>= 3.17.1), libgphoto2-6 (>= 2.5.10), libgphoto2-port12 (>= 2.5.10), libgudev-1.0-0 (>= 147), libimobiledevice6 (>= 1.3.0), libmtp9 (>= 1.1.16), libnfs13 (>= 1.9.8), libplist3 (>= 2.2.0), libpolkit-gobject-1-0 (>= 0.101), libsmbclient (>= 2:4.12.0+dfsg), libsoup2.4-1 (>= 2.58.2), libusb-1.0-0 (>= 2:1.0.21), libxml2 (>= 2.7.4) +Suggests: bluez-obexd, samba-common +Recommends: gnome-keyring + +Package: libgnome-desktop-3-19 +Architecture: amd64 +Version: 42.4-0ubuntu1 +APT-ID: 72386 +Multi-Arch: same +Source: gnome-desktop +Source-Version: 42.4-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: bubblewrap, gnome-desktop3-data (>= 42.4-0ubuntu1), gnome-desktop3-data (<< 43~), gsettings-desktop-schemas (>= 3.27.0), iso-codes, libc6 (>= 2.33), libcairo2 (>= 1.2.4), libgdk-pixbuf-2.0-0 (>= 2.36.5), libglib2.0-0 (>= 2.70.0), libgtk-3-0 (>= 3.9.10), libseccomp2 (>= 1.0.1), libsystemd0, libudev1 (>= 196), libxkbregistry0 (>= 1.0.0) +Recommends: locales | locales-all + +Package: gstreamer1.0-plugins-base +Architecture: amd64 +Version: 1.20.1-1 +APT-ID: 930 +Multi-Arch: same +Source: gst-plugins-base1.0 +Source-Version: 1.20.1-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libcdparanoia0 (>= 3.10.2+debian), libglib2.0-0 (>= 2.67.3), libgstreamer-plugins-base1.0-0 (>= 1.20.0), libgstreamer1.0-0 (>= 1.20.0), libogg0 (>= 1.0rc3), libopus0 (>= 1.1), liborc-0.4-0 (>= 1:0.4.25), libtheora0 (>= 1.1), libvisual-0.4-0 (>= 0.4.0), libvorbis0a (>= 1.3.1), libvorbisenc2 (>= 1.3.1) +Suggests: gvfs +Replaces: gstreamer1.0-plugins-bad (<< 1.15.1) +Breaks: gstreamer1.0-plugins-bad (<< 1.15.1) +Provides: gstreamer1.0-videosource, gstreamer1.0-audiosource + +Package: liborcus-0.17-0 +Architecture: amd64 +Version: 0.17.2-2 +APT-ID: 3149 +Multi-Arch: same +Source: liborcus +Source-Version: 0.17.2-2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libboost-filesystem1.74.0 (>= 1.74.0), libboost-iostreams1.74.0 (>= 1.74.0), libc6 (>= 2.32), libgcc-s1 (>= 3.3.1), liborcus-parser-0.17-0, libstdc++6 (>= 11) + +Package: libphonenumber8 +Architecture: amd64 +Version: 8.12.44-1 +APT-ID: 3248 +Multi-Arch: same +Source: libphonenumber +Source-Version: 8.12.44-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libabsl20210324 (>= 0~20210324.2-1), libc6 (>= 2.34), libgcc-s1 (>= 3.3.1), libicu70 (>= 70.1-1~), libprotobuf23 (>= 3.12.4), libstdc++6 (>= 11) + +Package: liblouisutdml-bin +Architecture: amd64 +Version: 2.10.0-4 +APT-ID: 2838 +Multi-Arch: foreign +Source: liblouisutdml +Source-Version: 2.10.0-4 +Priority: extra +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), liblouis20 (>= 3.20.0), liblouisutdml9 (>= 2.10.0) +Suggests: antiword, ooo2dbk, poppler-utils, rtf2xml + +Package: gir1.2-mutter-10 +Architecture: amd64 +Version: 42.2-0ubuntu1 +APT-ID: 71845 +Multi-Arch: same +Source: mutter +Source-Version: 42.2-0ubuntu1 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libmutter-10-0 (= 42.2-0ubuntu1), gir1.2-atk-1.0, gir1.2-freedesktop (>= 0.9.12), gir1.2-gdesktopenums-3.0 (>= 40~alpha), gir1.2-glib-2.0 (>= 0.9.12), gir1.2-graphene-1.0 (>= 1.10.2), gir1.2-gtk-3.0 (>= 3.19.8), gir1.2-json-1.0 (>= 0.13.2-1~), gir1.2-pango-1.0 (>= 1.46.0) + +Package: libreoffice-style-breeze +Architecture: all +Version: 1:7.3.6-0ubuntu0.22.04.1 +APT-ID: 72692 +Source: libreoffice +Source-Version: 1:7.3.6-0ubuntu0.22.04.1 +Priority: optional +Section: editors +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libreoffice-style-colibre +Suggests: breeze-icon-theme +Recommends: libreoffice-common +Enhances: libreoffice-core +Provides: libreoffice-style + +Package: gnome-mahjongg +Architecture: amd64 +Version: 1:3.38.3-2 +APT-ID: 795 +Source: gnome-mahjongg +Source-Version: 1:3.38.3-2 +Priority: optional +Section: games +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcairo2 (>= 1.2.4), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.39.90), libgtk-3-0 (>= 3.13.2), librsvg2-2 (>= 2.32.0), dconf-gsettings-backend | gsettings-backend +Recommends: yelp +Replaces: mahjongg (<< 1:3.7.2) +Breaks: mahjongg (<< 1:3.7.2) + +Package: libcap-ng0 +Architecture: amd64 +Version: 0.7.9-2.2build3 +APT-ID: 1850 +Multi-Arch: same +Source: libcap-ng +Source-Version: 0.7.9-2.2build3 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: fprintd +Architecture: amd64 +Version: 1.94.2-1ubuntu0.22.04.1 +APT-ID: 71808 +Multi-Arch: foreign +Source: fprintd +Source-Version: 1.94.2-1ubuntu0.22.04.1 +Priority: extra +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dbus, policykit-1, libc6 (>= 2.34), libfprint-2-2 (>= 1:1.94.1), libglib2.0-0 (>= 2.56), libpolkit-gobject-1-0 (>= 0.99) + +Package: xserver-xorg-video-vmware +Architecture: amd64 +Version: 1:13.3.0-3build1 +APT-ID: 6062 +Source: xserver-xorg-video-vmware +Source-Version: 1:13.3.0-3build1 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libdrm2 (>= 2.4.60), libudev1 (>= 183), libx11-6 (>= 2:1.4.99.1), libxatracker2 (>= 11.1.0~), libxext6, xorg-video-abi-25, xserver-xorg-core (>= 2:21.1.1) +Provides: xorg-driver-video + +Package: libgrilo-0.3-0 +Architecture: amd64 +Version: 0.3.14-1build1 +APT-ID: 2495 +Multi-Arch: same +Source: grilo +Source-Version: 0.3.14-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libglib2.0-0 (>= 2.61.2), libsoup2.4-1 (>= 2.41.90), libtotem-plparser18 (>= 3.26.0) +Suggests: grilo-plugins-0.3 + +Package: gvfs +Architecture: amd64 +Version: 1.48.2-0ubuntu1 +APT-ID: 71898 +Multi-Arch: same +Source: gvfs +Source-Version: 1.48.2-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gvfs-common (= 1.48.2-0ubuntu1), gvfs-daemons (<< 1.48.2-0ubuntu1.1~), gvfs-daemons (>= 1.48.2-0ubuntu1), gvfs-libs (= 1.48.2-0ubuntu1), libc6 (>= 2.33), libglib2.0-0 (>= 2.65.1) +Suggests: gvfs-backends + +Package: libklibc +Architecture: amd64 +Version: 2.0.10-4 +APT-ID: 2771 +Multi-Arch: same +Source: klibc +Source-Version: 2.0.10-4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: vim-tiny +Architecture: amd64 +Version: 2:8.2.3995-1ubuntu2.1 +APT-ID: 74541 +Source: vim +Source-Version: 2:8.2.3995-1ubuntu2.1 +Priority: required +Section: editors +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: vim-common (= 2:8.2.3995-1ubuntu2.1), libacl1 (>= 2.2.23), libc6 (>= 2.34), libselinux1 (>= 3.1~), libtinfo6 (>= 6) +Suggests: indent +Provides: editor + +Package: usb-modeswitch +Architecture: amd64 +Version: 2.6.1-3ubuntu2 +APT-ID: 5926 +Source: usb-modeswitch +Source-Version: 2.6.1-3ubuntu2 +Priority: extra +Section: comm +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: tcl, usb-modeswitch-data, libc6 (>= 2.34), libusb-1.0-0 (>= 2:1.0.9) +Suggests: comgt, wvdial + +Package: libmbim-proxy +Architecture: amd64 +Version: 1.26.2-1build1 +APT-ID: 2895 +Multi-Arch: foreign +Source: libmbim +Source-Version: 1.26.2-1build1 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.56), libmbim-glib4 (= 1.26.2-1build1) + +Package: gvfs-daemons +Architecture: amd64 +Version: 1.48.2-0ubuntu1 +APT-ID: 71901 +Multi-Arch: foreign +Source: gvfs +Source-Version: 1.48.2-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gvfs-common (= 1.48.2-0ubuntu1), gvfs-libs (= 1.48.2-0ubuntu1), lsof, udisks2, libc6 (>= 2.34), libglib2.0-0 (>= 2.65.1), libgudev-1.0-0 (>= 147), libsecret-1-0 (>= 0.7), libsystemd0, libudisks2-0 (>= 2.0.91) +Suggests: gvfs-backends +Recommends: dbus, gvfs + +Package: gnome-desktop3-data +Architecture: all +Version: 42.4-0ubuntu1 +APT-ID: 71863 +Multi-Arch: foreign +Source: gnome-desktop +Source-Version: 42.4-0ubuntu1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Breaks: libgnome-desktop-3-17 (<< 3.36), libgnome-desktop-3-18 (<< 3.36) + +Package: xcvt +Architecture: amd64 +Version: 0.1.1-3 +APT-ID: 6016 +Source: libxcvt +Source-Version: 0.1.1-3 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libxcvt0 (>= 0.1.0) +Replaces: xserver-xorg-core (<< 2:21.0.99.1~) +Breaks: xserver-xorg-core (<< 2:21.0.99.1~) + +Package: update-manager-core +Architecture: all +Version: 1:22.04.9 +APT-ID: 5916 +Source: update-manager +Source-Version: 1:22.04.9 +Priority: standard +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any (>= 3.2~), python3-update-manager (= 1:22.04.9), python3-distro-info, distro-info-data, lsb-release, ubuntu-release-upgrader-core (>= 1:18.04.9), ubuntu-advantage-tools +Recommends: libpam-modules (>= 1.0.1-9ubuntu3) +Replaces: update-manager (<< 1:0.146.2) +Breaks: computer-janitor (<= 1.11-0ubuntu1), update-manager (<< 1:0.146.2) + +Package: gstreamer1.0-pipewire +Architecture: amd64 +Version: 0.3.48-1ubuntu1 +APT-ID: 929 +Multi-Arch: same +Source: pipewire +Source-Version: 0.3.48-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: pipewire (= 0.3.48-1ubuntu1), libc6 (>= 2.28), libglib2.0-0 (>= 2.39.4), libgstreamer-plugins-base1.0-0 (>= 1.6.0), libgstreamer1.0-0 (>= 1.6.0), libpipewire-0.3-0 (= 0.3.48-1ubuntu1) + +Package: libsemanage2 +Architecture: amd64 +Version: 3.3-1build2 +APT-ID: 3657 +Multi-Arch: same +Source: libsemanage +Source-Version: 3.3-1build2 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libsemanage-common (>= 3.3-1build2), libaudit1 (>= 1:2.2.1), libbz2-1.0, libc6 (>= 2.33), libselinux1 (>= 3.3), libsepol2 (>= 3.3) +Breaks: policycoreutils (<< 3.0) + +Package: bind9-dnsutils +Architecture: amd64 +Version: 1:9.18.1-1ubuntu1.2 +APT-ID: 71716 +Source: bind9 +Source-Version: 1:9.18.1-1ubuntu1.2 +Priority: standard +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: bind9-host | host, bind9-libs (= 1:9.18.1-1ubuntu1.2), libc6 (>= 2.34), libedit2 (>= 2.11-20080614-0), libidn2-0 (>= 2.0.0), libkrb5-3 (>= 1.6.dfsg.2) +Conflicts: bind-dnsutils (<< 1:9.13.6~), dnsutils (<< 1:9.13.6~) +Breaks: bind-dnsutils (<< 1:9.13.6~), dnsutils (<< 1:9.13.6~) +Provides: dnsutils + +Package: libcogl-common +Architecture: all +Version: 1.22.8-3build1 +APT-ID: 1911 +Multi-Arch: foreign +Source: cogl +Source-Version: 1.22.8-3build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libice6 +Architecture: amd64 +Version: 2:1.0.10-1build2 +APT-ID: 2627 +Multi-Arch: same +Source: libice +Source-Version: 2:1.0.10-1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbsd0 (>= 0.2.0), libc6 (>= 2.33), x11-common + +Package: fonts-tlwg-laksaman +Architecture: all +Version: 1:0.7.3-1 +APT-ID: 521 +Multi-Arch: foreign +Source: fonts-tlwg +Source-Version: 1:0.7.3-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fonts-tlwg-laksaman-ttf | fonts-tlwg-laksaman-otf + +Package: gnome-disk-utility +Architecture: amd64 +Version: 42.0-1ubuntu1 +APT-ID: 789 +Source: gnome-disk-utility +Source-Version: 42.0-1ubuntu1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: udisks2 (>= 2.7.6), dconf-gsettings-backend | gsettings-backend, libatk1.0-0 (>= 1.12.4), libc6 (>= 2.34), libcairo2 (>= 1.2.4), libcanberra-gtk3-0 (>= 0.25), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.43.2), libgtk-3-0 (>= 3.21.5), libhandy-1-0 (>= 1.5.0), liblzma5 (>= 5.1.1alpha+20120614), libnotify4 (>= 0.7.0), libpango-1.0-0 (>= 1.18.0), libpangocairo-1.0-0 (>= 1.14.0), libpwquality1 (>= 1.1.0), libsecret-1-0 (>= 0.7), libsystemd0 (>= 209), libudisks2-0 (>= 2.7.6) +Breaks: gnome-settings-daemon (<< 3.24) + +Package: gir1.2-handy-1 +Architecture: amd64 +Version: 1.6.1-1 +APT-ID: 715 +Multi-Arch: same +Source: libhandy-1 +Source-Version: 1.6.1-1 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0, gir1.2-gtk-3.0, libhandy-1-0 (>= 1.5.0) + +Package: libpoppler118 +Architecture: amd64 +Version: 22.02.0-2ubuntu0.1 +APT-ID: 72521 +Multi-Arch: same +Source: poppler +Source-Version: 22.02.0-2ubuntu0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.35), libfontconfig1 (>= 2.12.6), libfreetype6 (>= 2.2.1), libjpeg8 (>= 8c), liblcms2-2 (>= 2.7), libnspr4 (>= 2:4.9-2~), libnss3 (>= 2:3.16), libopenjp2-7 (>= 2.0.0), libpng16-16 (>= 1.6.2-1), libstdc++6 (>= 11), libtiff5 (>= 4.0.3), zlib1g (>= 1:1.1.4) +Recommends: poppler-data + +Package: libfreerdp2-2 +Architecture: amd64 +Version: 2.6.1+dfsg1-3ubuntu2.2 +APT-ID: 72352 +Multi-Arch: same +Source: freerdp2 +Source-Version: 2.6.1+dfsg1-3ubuntu2.2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.32), libcairo2 (>= 1.2.4), libjpeg8 (>= 8c), libssl3 (>= 3.0.0~~alpha1), libwinpr2-2 (= 2.6.1+dfsg1-3ubuntu2.2), libx11-6, libxkbfile1 (>= 1:1.1.0) +Suggests: freerdp2-x11 +Replaces: libfreerdp2 (<< 2.0.0~git20170725.1.1648deb+dfsg1-1~) +Breaks: libfreerdp2 (<< 2.0.0~git20170725.1.1648deb+dfsg1-1~) + +Package: network-manager +Architecture: amd64 +Version: 1.36.6-0ubuntu2 +APT-ID: 74210 +Source: network-manager +Source-Version: 1.36.6-0ubuntu2 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libaudit1 (>= 1:2.2.1), libbluetooth3 (>= 4.91), libc6 (>= 2.34), libcurl3-gnutls (>= 7.24.0), libglib2.0-0 (>= 2.68.0), libgnutls30 (>= 3.7.2), libjansson4 (>= 2.0.1), libmm-glib0 (>= 1.4.0), libndp0 (>= 1.2), libnewt0.52 (>= 0.52.21), libnm0 (= 1.36.6-0ubuntu2), libpsl5 (>= 0.13.0), libreadline8 (>= 6.0), libselinux1 (>= 3.1~), libsystemd0 (>= 209), libteamdctl0 (>= 1.9), libudev1 (>= 183), dbus, isc-dhcp-client, udev, adduser, policykit-1 +Suggests: avahi-autoipd, libteam-utils, iptables +Recommends: ppp, dnsmasq-base, modemmanager, network-manager-pptp, wireless-regdb, wpasupplicant, libpam-systemd +Breaks: ppp (>= 2.4.9-2~), ppp (<< 2.4.9-1+~) + +Package: mesa-vulkan-drivers +Architecture: amd64 +Version: 22.0.5-0ubuntu0.1 +APT-ID: 74196 +Multi-Arch: same +Source: mesa +Source-Version: 22.0.5-0ubuntu0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libvulkan1, libc6 (>= 2.34), libdrm-amdgpu1 (>= 2.4.109), libdrm2 (>= 2.4.99), libelf1 (>= 0.142), libexpat1 (>= 2.0.1), libgcc-s1 (>= 3.4), libllvm13, libstdc++6 (>= 11), libwayland-client0 (>= 1.20.0), libx11-xcb1 (>= 2:1.7.5), libxcb-dri3-0 (>= 1.13), libxcb-present0, libxcb-randr0 (>= 1.13), libxcb-shm0, libxcb-sync1, libxcb1 (>= 1.9.2), libxshmfence1, libzstd1 (>= 1.4.0), zlib1g (>= 1:1.1.4) +Provides: vulkan-icd + +Package: fonts-gujr-extra +Architecture: all +Version: 1.0.1-1 +APT-ID: 444 +Multi-Arch: foreign +Source: fonts-gujr-extra +Source-Version: 1.0.1-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: ttf-gujarati-fonts +Breaks: ttf-gujarati-fonts (<< 2:1.0) + +Package: libcue2 +Architecture: amd64 +Version: 2.2.1-3build3 +APT-ID: 1962 +Multi-Arch: same +Source: libcue +Source-Version: 2.2.1-3build3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: libvorbisenc2 +Architecture: amd64 +Version: 1.3.7-1build2 +APT-ID: 4022 +Multi-Arch: same +Source: libvorbis +Source-Version: 1.3.7-1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libvorbis0a (= 1.3.7-1build2) + +Package: fuse3 +Architecture: amd64 +Version: 3.10.5-1build1 +APT-ID: 567 +Source: fuse3 +Source-Version: 3.10.5-1build1 +Priority: standard +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libfuse3-3 (= 3.10.5-1build1), adduser, mount (>= 2.19.1), sed (>= 4), lsb-base (>= 3.2-14) +Replaces: fuse +Breaks: fuse +Provides: fuse (= 3.10.5-1build1) + +Package: libasyncns0 +Architecture: amd64 +Version: 0.8-6build2 +APT-ID: 1648 +Multi-Arch: same +Source: libasyncns +Source-Version: 0.8-6build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: libnsl2 +Architecture: amd64 +Version: 1.3.0-2build2 +APT-ID: 3088 +Multi-Arch: same +Source: libnsl +Source-Version: 1.3.0-2build2 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libtirpc3 (>= 1.0.2) + +Package: base-files +Architecture: amd64 +Version: 12ubuntu4.2 +APT-ID: 71713 +Essential: yes +Multi-Arch: foreign +Source: base-files +Source-Version: 12ubuntu4.2 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcrypt1 (>= 1:4.4.10-10ubuntu3) +Pre-Depends: awk +Replaces: base, dpkg (<= 1.15.0), miscutils +Breaks: debian-security-support (<< 2019.04.25), initscripts (<< 2.88dsf-13.3), sendfile (<< 2.1b.20080616-5.2~), ubuntu-server (<< 1.453) +Provides: base + +Package: busybox-initramfs +Architecture: amd64 +Version: 1:1.30.1-7ubuntu3 +APT-ID: 151 +Source: busybox +Source-Version: 1:1.30.1-7ubuntu3 +Priority: optional +Section: shells +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: libnfnetlink0 +Architecture: amd64 +Version: 1.0.1-3build3 +APT-ID: 3039 +Multi-Arch: same +Source: libnfnetlink +Source-Version: 1.0.1-3build3 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: libnss3 +Architecture: amd64 +Version: 2:3.68.2-0ubuntu1.1 +APT-ID: 72487 +Multi-Arch: same +Source: nss +Source-Version: 2:3.68.2-0ubuntu1.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libnspr4 (>= 2:4.24), libsqlite3-0 (>= 3.5.9) +Conflicts: libnss3-1d (<< 2:3.13.4-2) + +Package: rsyslog +Architecture: amd64 +Version: 8.2112.0-2ubuntu2.2 +APT-ID: 74383 +Source: rsyslog +Source-Version: 8.2112.0-2ubuntu2.2 +Priority: required +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libestr0 (>= 0.1.4), libfastjson4 (>= 0.99.8), libsystemd0 (>= 246), libuuid1 (>= 2.16), zlib1g (>= 1:1.1.4), adduser, ucf +Suggests: rsyslog-mysql | rsyslog-pgsql, rsyslog-mongodb, rsyslog-doc, rsyslog-openssl | rsyslog-gnutls, rsyslog-gssapi, rsyslog-relp, apparmor (>= 2.8.96~2541-0ubuntu4~) +Recommends: logrotate +Conflicts: linux-kernel-log-daemon, system-log-daemon +Provides: system-log-daemon, linux-kernel-log-daemon + +Package: libk5crypto3 +Architecture: amd64 +Version: 1.19.2-2 +APT-ID: 2765 +Multi-Arch: same +Source: krb5 +Source-Version: 1.19.2-2 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libkrb5support0 (>= 1.16) +Suggests: krb5-doc, krb5-user +Breaks: libgssapi-krb5-2 (<= 1.18~), libkrb5-3 (<= 1.18~) + +Package: libpangoft2-1.0-0 +Architecture: amd64 +Version: 1.50.6+ds-2 +APT-ID: 3194 +Multi-Arch: same +Source: pango1.0 +Source-Version: 1.50.6+ds-2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libfontconfig1 (>= 2.13.0), libfreetype6 (>= 2.2.1), libglib2.0-0 (>= 2.67.3), libharfbuzz0b (>= 2.6.0), libpango-1.0-0 (= 1.50.6+ds-2) + +Package: libtheora0 +Architecture: amd64 +Version: 1.1.1+dfsg.1-15ubuntu4 +APT-ID: 3846 +Multi-Arch: same +Source: libtheora +Source-Version: 1.1.1+dfsg.1-15ubuntu4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libcairo2 (>= 1.2.4), libogg0 (>= 1.1.0) + +Package: libblockdev-utils2 +Architecture: amd64 +Version: 2.26-1 +APT-ID: 1752 +Multi-Arch: same +Source: libblockdev +Source-Version: 2.26-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.7), libglib2.0-0 (>= 2.42.2), libkmod2 (>= 5~), libudev1 (>= 216) + +Package: plymouth +Architecture: amd64 +Version: 0.9.5+git20211018-1ubuntu3 +APT-ID: 4924 +Source: plymouth +Source-Version: 0.9.5+git20211018-1ubuntu3 +Priority: standard +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: init-system-helpers (>= 1.18), lsb-base (>= 3.0-6), systemd (>= 232-8~), udev (>= 232-8~), libc6 (>= 2.34), libdrm2 (>= 2.4.47), libplymouth5 (>= 0.9.5+git20211018-1ubuntu3) +Suggests: desktop-base, plymouth-themes +Recommends: plymouth-theme-ubuntu-text | plymouth-theme +Conflicts: console-common +Replaces: plymouth-drm (<< 0.9.0-6~), plymouth-themes (<< 0.9.0-8~) +Breaks: plymouth-drm (<< 0.9.0-6~), plymouth-themes (<< 0.9.0-8~) + +Package: grub-efi-amd64-signed +Architecture: amd64 +Version: 1.182~22.04.1+2.06-2ubuntu10 +APT-ID: 71890 +Source: grub2-signed +Source-Version: 1.182~22.04.1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: grub-efi-amd64-bin (= 2.06-2ubuntu10), grub-efi-amd64 | grub-pc, grub2-common (>= 2.02+dfsg1-5) +Recommends: secureboot-db + +Package: libpolkit-gobject-1-0 +Architecture: amd64 +Version: 0.105-33 +APT-ID: 3290 +Multi-Arch: same +Source: policykit-1 +Source-Version: 0.105-33 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.7), libglib2.0-0 (>= 2.37.3), libsystemd0 (>= 213) + +Package: ncurses-base +Architecture: all +Version: 6.3-2 +APT-ID: 4731 +Essential: yes +Multi-Arch: foreign +Source: ncurses +Source-Version: 6.3-2 +Priority: important +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +Breaks: bash-static (<< 4.4.18-1.1), libmono-corlib4.5-cil (<< 4.6.2.7+dfsg-2), libslang2 (<< 2.3.1a-3), libtinfo5 (<< 6.1), libunibilium0 (<< 2), libunibilium4 (<< 2.0.0-3), neovim (<< 0.6.0), zsh-static (<< 5.4.2-4) +Provides: ncurses-runtime + +Package: gzip +Architecture: amd64 +Version: 1.10-4ubuntu4 +APT-ID: 952 +Essential: yes +Source: gzip +Source-Version: 1.10-4ubuntu4 +Priority: important +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +Depends: dpkg (>= 1.15.4) | install-info +Pre-Depends: libc6 (>= 2.34) +Suggests: less + +Package: fonts-lohit-deva +Architecture: all +Version: 2.95.4-4 +APT-ID: 462 +Multi-Arch: foreign +Source: fonts-lohit-deva +Source-Version: 2.95.4-4 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: ttf-devanagari-fonts (<= 1:0.5.12) +Breaks: ttf-devanagari-fonts (<= 1:0.5.12) + +Package: fonts-gargi +Architecture: all +Version: 2.0-5 +APT-ID: 441 +Multi-Arch: foreign +Source: fonts-gargi +Source-Version: 2.0-5 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Enhances: fonts-deva-extra + +Package: libtdb1 +Architecture: amd64 +Version: 1.4.5-2build1 +APT-ID: 3817 +Multi-Arch: same +Source: tdb +Source-Version: 1.4.5-2build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: xfonts-encodings +Architecture: all +Version: 1:1.0.5-0ubuntu2 +APT-ID: 6026 +Multi-Arch: foreign +Source: xfonts-encodings +Source-Version: 1:1.0.5-0ubuntu2 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: x11-common +Replaces: xfonts-base (<< 1:1.0.0) + +Package: python3-xkit +Architecture: all +Version: 0.5.0ubuntu5 +APT-ID: 5540 +Source: x-kit +Source-Version: 0.5.0ubuntu5 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any (>= 3.2~) + +Package: libxcb-keysyms1 +Architecture: amd64 +Version: 0.4.0-1build3 +APT-ID: 4146 +Multi-Arch: same +Source: xcb-util-keysyms +Source-Version: 0.4.0-1build3 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.2.5), libxcb1 + +Package: friendly-recovery +Architecture: all +Version: 0.2.42 +APT-ID: 562 +Source: friendly-recovery +Source-Version: 0.2.42 +Priority: standard +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: systemd-sysv, whiptail +Recommends: gettext-base, update-manager-core +Breaks: grub2 (<< 1.99-12ubuntu4), initramfs-tools (<< 0.99ubuntu4), upstart (<< 1.3-0ubuntu9) + +Package: python3-fasteners +Architecture: all +Version: 0.14.1-2 +APT-ID: 5234 +Source: python-fasteners +Source-Version: 0.14.1-2 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-monotonic, python3-six, python3:any + +Package: python3-all +Architecture: amd64 +Version: 3.10.6-1~22.04 +APT-ID: 74298 +Multi-Arch: allowed +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: optional +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3 (= 3.10.6-1~22.04), python3-distutils (>= 3.10.6-1~), python3.10 + +Package: python3-all +Architecture: amd64 +Version: 3.10.4-0ubuntu2 +APT-ID: 5134 +Multi-Arch: allowed +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-0ubuntu2 +Priority: optional +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +Depends: python3 (= 3.10.4-0ubuntu2), python3-distutils (>= 3.9.10-2~), python3.10 + +Package: python3-apt +Architecture: amd64 +Version: 2.3.0ubuntu2.1 +APT-ID: 74303 +Multi-Arch: allowed +Source: python-apt +Source-Version: 2.3.0ubuntu2.1 +Priority: required +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3 (<< 3.11), python3 (>= 3.10~), python3:any, libapt-pkg6.0 (>= 1.9.11~), libc6 (>= 2.33), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 11), python-apt-common, distro-info-data +Suggests: python3-apt-dbg, python-apt-doc, apt +Recommends: lsb-release, iso-codes +Replaces: python-apt (<< 0.7.98+nmu1) +Breaks: apt-xapian-index (<< 0.51~), kthresher (<= 1.4.0-1), python-apt (<< 0.7.98+nmu1) +Provides: python3.10-apt + +Package: dmsetup +Architecture: amd64 +Version: 2:1.02.175-2.1ubuntu4 +APT-ID: 333 +Multi-Arch: foreign +Source: lvm2 +Source-Version: 2.03.11-2.1ubuntu4 +Priority: required +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libdevmapper1.02.1 (>= 2:1.02.138) + +Package: libatopology2 +Architecture: amd64 +Version: 1.2.6.1-1ubuntu1 +APT-ID: 1672 +Multi-Arch: same +Source: alsa-lib +Source-Version: 1.2.6.1-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libasound2 (>= 1.2.3), libc6 (>= 2.14) +Replaces: libasound2 (<< 1.2.1.1) +Breaks: libasound2 (<< 1.2.1.1) + +Package: software-properties-gtk +Architecture: all +Version: 0.99.22.3 +APT-ID: 74408 +Source: software-properties +Source-Version: 0.99.22.3 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-goa-1.0 (>= 3.27.92-1ubuntu1), gir1.2-gtk-3.0, gir1.2-handy-1, gir1.2-snapd-1 (>= 1.42), libgtk3-perl, python3, python3-dateutil, python3-distro-info, python3-gi, python3-software-properties (= 0.99.22.3), software-properties-common, ubuntu-advantage-desktop-daemon, ubuntu-drivers-common (>= 1:0.9.6), dconf-gsettings-backend | gsettings-backend, python3:any +Recommends: gnome-keyring, gnome-session-bin | xfce4-session | mate-session-manager + +Package: gnome-online-accounts +Architecture: amd64 +Version: 3.44.0-1ubuntu1 +APT-ID: 798 +Source: gnome-online-accounts +Source-Version: 3.44.0-1ubuntu1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libgoa-1.0-0b (= 3.44.0-1ubuntu1), libgoa-backend-1.0-1 (= 3.44.0-1ubuntu1), python3, python3-macaroonbakery, libatk1.0-0 (>= 1.12.4), libc6 (>= 2.34), libcairo-gobject2 (>= 1.10.0), libcairo2 (>= 1.2.4), libcom-err2 (>= 1.43.9), libgck-1-0 (>= 2.91.1), libgcr-base-3-1 (>= 3.8.0), libgcr-ui-3-1 (>= 3.8.0), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.59.0), libgtk-3-0 (>= 3.19.12), libharfbuzz0b (>= 0.6.0), libk5crypto3 (>= 1.6.dfsg.2), libkrb5-3 (>= 1.9+dfsg~beta1), libp11-kit0 (>= 0.23.18.1), libpango-1.0-0 (>= 1.14.0), libpangocairo-1.0-0 (>= 1.14.0), librest-0.7-0 (>= 0.7), libsoup2.4-1 (>= 2.42), libwebkit2gtk-4.0-37 (>= 2.26), libxml2 (>= 2.6.27) +Recommends: gnome-control-center (>= 3.6.1) +Breaks: evolution-data-server (<< 3.22.3) + +Package: libunity-protocol-private0 +Architecture: amd64 +Version: 7.1.4+19.04.20190319-6build1 +APT-ID: 3936 +Multi-Arch: same +Source: libunity +Source-Version: 7.1.4+19.04.20190319-6build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libdee-1.0-4 (>= 1.2.5~), libglib2.0-0 (>= 2.43.92) +Breaks: libunity9 (<< 7.1.1) + +Package: fonts-liberation +Architecture: all +Version: 1:1.07.4-11 +APT-ID: 457 +Multi-Arch: foreign +Source: fonts-liberation +Source-Version: 1:1.07.4-11 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libdazzle-common +Architecture: all +Version: 3.44.0-1 +APT-ID: 1998 +Multi-Arch: foreign +Source: libdazzle +Source-Version: 3.44.0-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: python3-all-dbg +Architecture: amd64 +Version: 3.10.6-1~22.04 +APT-ID: 74299 +Multi-Arch: allowed +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: optional +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3 (= 3.10.6-1~22.04), libpython3-all-dbg (= 3.10.6-1~22.04), python3-all (= 3.10.6-1~22.04), python3-dbg (= 3.10.6-1~22.04), python3.10-dbg + +Package: python3-all-dbg +Architecture: amd64 +Version: 3.10.4-0ubuntu2 +APT-ID: 5135 +Multi-Arch: allowed +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-0ubuntu2 +Priority: optional +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +Depends: python3 (= 3.10.4-0ubuntu2), libpython3-all-dbg (= 3.10.4-0ubuntu2), python3-all (= 3.10.4-0ubuntu2), python3-dbg (= 3.10.4-0ubuntu2), python3.10-dbg + +Package: python3-all-dev +Architecture: amd64 +Version: 3.10.6-1~22.04 +APT-ID: 74300 +Multi-Arch: allowed +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: optional +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3 (= 3.10.6-1~22.04), libpython3-all-dev (= 3.10.6-1~22.04), python3-all (= 3.10.6-1~22.04), python3-dev (= 3.10.6-1~22.04), python3.10-dev + +Package: python3-all-dev +Architecture: amd64 +Version: 3.10.4-0ubuntu2 +APT-ID: 5136 +Multi-Arch: allowed +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-0ubuntu2 +Priority: optional +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +Depends: python3 (= 3.10.4-0ubuntu2), libpython3-all-dev (= 3.10.4-0ubuntu2), python3-all (= 3.10.4-0ubuntu2), python3-dev (= 3.10.4-0ubuntu2), python3.10-dev + +Package: fonts-tlwg-umpush-ttf +Architecture: all +Version: 1:0.7.3-1 +APT-ID: 540 +Multi-Arch: foreign +Source: fonts-tlwg +Source-Version: 1:0.7.3-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: fonts-tlwg-umpush (>= 1:0.6.2-2) +Replaces: fonts-tlwg-umpush (<< 1:0.6.2-2) +Breaks: fonts-tlwg-umpush (<< 1:0.6.2-2) + +Package: libgnome-games-support-1-3 +Architecture: amd64 +Version: 1.8.2-1build1 +APT-ID: 2432 +Multi-Arch: same +Source: libgnome-games-support +Source-Version: 1.8.2-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libgnome-games-support-common, libc6 (>= 2.4), libgee-0.8-2 (>= 0.8.3), libglib2.0-0 (>= 2.43.92), libgtk-3-0 (>= 3.19.12) + +Package: zenity-common +Architecture: all +Version: 3.42.1-0ubuntu1 +APT-ID: 74564 +Multi-Arch: foreign +Source: zenity +Source-Version: 3.42.1-0ubuntu1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libsndfile1 +Architecture: amd64 +Version: 1.0.31-2build1 +APT-ID: 3695 +Multi-Arch: same +Source: libsndfile +Source-Version: 1.0.31-2build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libflac8 (>= 1.3.0), libogg0 (>= 1.3.0), libopus0 (>= 1.1), libvorbis0a (>= 1.2.3), libvorbisenc2 (>= 1.2.3) + +Package: gedit +Architecture: amd64 +Version: 41.0-3 +APT-ID: 615 +Source: gedit +Source-Version: 41.0-3 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gedit-common (<< 42), gedit-common (>= 41), gir1.2-glib-2.0, gir1.2-gtk-3.0 (>= 3.22), gir1.2-gtksource-4, gir1.2-pango-1.0, gir1.2-peas-1.0, gsettings-desktop-schemas, iso-codes, python3-gi (>= 3.0), python3-gi-cairo (>= 3.0), python3:any, python3.10, libatk1.0-0 (>= 1.12.4), libc6 (>= 2.34), libcairo2 (>= 1.2.4), libgdk-pixbuf-2.0-0 (>= 2.22.0), libgirepository-1.0-1 (>= 0.9.3), libglib2.0-0 (>= 2.64), libgspell-1-2 (>= 1.8.2), libgtk-3-0 (>= 3.22), libgtksourceview-4-0 (>= 3.18.0), libpango-1.0-0 (>= 1.42.0), libpeas-1.0-0 (>= 1.14.1), libxml2 (>= 2.7.4) +Suggests: gedit-plugins +Recommends: yelp, zenity + +Package: libdotconf0 +Architecture: amd64 +Version: 1.3-0.3fakesync1build2 +APT-ID: 2087 +Multi-Arch: same +Source: dotconf +Source-Version: 1.3-0.3fakesync1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: libcolamd2 +Architecture: amd64 +Version: 1:5.10.1+dfsg-4build1 +APT-ID: 1919 +Multi-Arch: same +Source: suitesparse +Source-Version: 1:5.10.1+dfsg-4build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libsuitesparseconfig5 (>= 1:5.0.0) + +Package: libhttp-date-perl +Architecture: all +Version: 6.05-1 +APT-ID: 2599 +Source: libhttp-date-perl +Source-Version: 6.05-1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl, libtimedate-perl, libtime-local-perl (>= 1.28) + +Package: xdg-user-dirs-gtk +Architecture: amd64 +Version: 0.10-3build2 +APT-ID: 6023 +Source: xdg-user-dirs-gtk +Source-Version: 0.10-3build2 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.35.9), libgtk-3-0 (>= 3.0.0), xdg-user-dirs + +Package: login +Architecture: amd64 +Version: 1:4.8.1-2ubuntu2 +APT-ID: 4593 +Essential: yes +Multi-Arch: foreign +Source: shadow +Source-Version: 1:4.8.1-2ubuntu2 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Pre-Depends: libaudit1 (>= 1:2.2.1), libc6 (>= 2.34), libcrypt1 (>= 1:4.1.0), libpam0g (>= 0.99.7.1), libpam-runtime, libpam-modules +Conflicts: python-4suite (<< 0.99cvs20060405-1) +Breaks: util-linux (<< 2.32-0.2~) + +Package: libpkcs11-helper1 +Architecture: amd64 +Version: 1.28-1ubuntu0.22.04.1 +APT-ID: 72512 +Multi-Arch: same +Source: pkcs11-helper +Source-Version: 1.28-1ubuntu0.22.04.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libssl3 (>= 3.0.0~~alpha1) + +Package: xserver-xorg-input-libinput +Architecture: amd64 +Version: 1.2.1-1 +APT-ID: 6048 +Source: xserver-xorg-input-libinput +Source-Version: 1.2.1-1 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.7), libinput10 (>= 1.19.1), xorg-input-abi-24, xserver-xorg-core (>= 2:1.18.99.901) +Provides: xorg-driver-input + +Package: fonts-samyak-taml +Architecture: all +Version: 1.2.2-5build1 +APT-ID: 491 +Multi-Arch: foreign +Source: fonts-samyak +Source-Version: 1.2.2-5build1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: ttf-tamil-fonts (<< 2:1.0) +Breaks: ttf-tamil-fonts (<< 2:1.0) + +Package: libopengl0 +Architecture: amd64 +Version: 1.4.0-1 +APT-ID: 3134 +Multi-Arch: same +Source: libglvnd +Source-Version: 1.4.0-1 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libglvnd0 (= 1.4.0-1) + +Package: enchant-2 +Architecture: amd64 +Version: 2.3.2-1ubuntu2 +APT-ID: 371 +Source: enchant-2 +Source-Version: 2.3.2-1ubuntu2 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libenchant-2-2 (>= 2.2.3), libglib2.0-0 (>= 2.12.0) + +Package: python3-dbg +Architecture: amd64 +Version: 3.10.6-1~22.04 +APT-ID: 74311 +Multi-Arch: allowed +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: extra +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3 (= 3.10.6-1~22.04), libpython3-dbg (= 3.10.6-1~22.04), python3.10-dbg (>= 3.10.6-1~) + +Package: python3-dbg +Architecture: amd64 +Version: 3.10.4-0ubuntu2 +APT-ID: 5202 +Multi-Arch: allowed +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-0ubuntu2 +Priority: extra +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +Depends: python3 (= 3.10.4-0ubuntu2), libpython3-dbg (= 3.10.4-0ubuntu2), python3.10-dbg (>= 3.10.4-1~) + +Package: libnfs13 +Architecture: amd64 +Version: 4.0.0-1build2 +APT-ID: 3042 +Multi-Arch: same +Source: libnfs +Source-Version: 4.0.0-1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) +Replaces: libnfs1 (>= 1.9.3-1), libnfs4 +Breaks: libnfs1 (>= 1.9.3-1), libnfs4 + +Package: python3-dev +Architecture: amd64 +Version: 3.10.6-1~22.04 +APT-ID: 74313 +Multi-Arch: allowed +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: optional +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3 (= 3.10.6-1~22.04), libpython3-dev (= 3.10.6-1~22.04), python3.10-dev (>= 3.10.6-1~), python3-distutils (>= 3.10.6-1~), libjs-sphinxdoc (>= 4.3) +Replaces: python3 (<< 3.9.2-1~), python3.1 (<< 3.1.2+20100706-3) +Breaks: python3 (<< 3.9.2-1~) + +Package: python3-dev +Architecture: amd64 +Version: 3.10.4-0ubuntu2 +APT-ID: 5214 +Multi-Arch: allowed +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-0ubuntu2 +Priority: optional +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +Depends: python3 (= 3.10.4-0ubuntu2), libpython3-dev (= 3.10.4-0ubuntu2), python3.10-dev (>= 3.10.4-1~), python3-distutils (>= 3.9.10-2~), libjs-sphinxdoc (>= 4.3) +Replaces: python3 (<< 3.9.2-1~), python3.1 (<< 3.1.2+20100706-3) +Breaks: python3 (<< 3.9.2-1~) + +Package: python3-doc +Architecture: all +Version: 3.10.6-1~22.04 +APT-ID: 74317 +Multi-Arch: foreign +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: optional +Section: doc +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3.10-doc (>= 3.10.6-1~) +Suggests: python3 (>= 3.10.6-1~22.04), python3-examples + +Package: python3-doc +Architecture: all +Version: 3.10.4-0ubuntu2 +APT-ID: 5227 +Multi-Arch: foreign +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-0ubuntu2 +Priority: optional +Section: doc +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +Depends: python3.10-doc (>= 3.10.4-1~) +Suggests: python3 (>= 3.10.4-0ubuntu2), python3-examples + +Package: zenity +Architecture: amd64 +Version: 3.42.1-0ubuntu1 +APT-ID: 74563 +Multi-Arch: foreign +Source: zenity +Source-Version: 3.42.1-0ubuntu1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.24.0), libgtk-3-0 (>= 3.19.12), libnotify4 (>= 0.7.0), libpango-1.0-0 (>= 1.14.0), libwebkit2gtk-4.0-37 (>= 2.15.1), libx11-6, zenity-common (>= 3.42.1-0ubuntu1) + +Package: tcl8.6 +Architecture: amd64 +Version: 8.6.12+dfsg-1build1 +APT-ID: 5746 +Multi-Arch: foreign +Source: tcl8.6 +Source-Version: 8.6.12+dfsg-1build1 +Priority: optional +Section: interpreters +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libtcl8.6 (>= 8.6.0) +Suggests: tcl-tclreadline +Conflicts: tcl74 (<= 7.4p3-2) + +Package: gir1.2-polkit-1.0 +Architecture: amd64 +Version: 0.105-33 +APT-ID: 738 +Source: policykit-1 +Source-Version: 0.105-33 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0 (>= 0.9.12), libpolkit-agent-1-0 (= 0.105-33), libpolkit-gobject-1-0 (= 0.105-33) +Provides: gir1.2-polkitagent-1.0 (= 0.105-33) + +Package: bolt +Architecture: amd64 +Version: 0.9.2-1 +APT-ID: 140 +Source: bolt +Source-Version: 0.9.2-1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.56), libpolkit-gobject-1-0 (>= 0.99), libudev1 (>= 183) + +Package: snapd +Architecture: amd64 +Version: 2.56.2+22.04ubuntu1 +APT-ID: 74404 +Source: snapd +Source-Version: 2.56.2+22.04ubuntu1 +Priority: optional +Section: devel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: adduser, apparmor (>= 2.10.95-0ubuntu2.2), ca-certificates, openssh-client, squashfs-tools, systemd, udev, libc6 (>= 2.34), libfuse3-3 (>= 3.2.3), liblzma5 (>= 5.1.1alpha+20110809), liblzo2-2 (>= 2.02), libudev1 (>= 183), zlib1g (>= 1:1.1.4), default-dbus-session-bus | dbus-session-bus +Suggests: zenity | kdialog +Recommends: gnupg, fuse3 (>= 3.10.5-1) | fuse +Conflicts: snap (<< 2013-11-29-1ubuntu1) +Replaces: snap-confine (<< 2.23), snapd-xdg-open (<= 0.0.0), ubuntu-core-launcher (<< 2.22), ubuntu-snappy (<< 1.9), ubuntu-snappy-cli (<< 1.9) +Breaks: snap-confine (<< 2.23), snapd-xdg-open (<= 0.0.0), ubuntu-core-launcher (<< 2.22), ubuntu-snappy (<< 1.9), ubuntu-snappy-cli (<< 1.9) + +Package: python3-netifaces +Architecture: amd64 +Version: 0.11.0-1build2 +APT-ID: 5330 +Multi-Arch: same +Source: netifaces +Source-Version: 0.11.0-1build2 +Priority: required +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3 (<< 3.11), python3 (>= 3.10~), libc6 (>= 2.4) + +Package: systemd-hwe-hwdb +Architecture: all +Version: 249.11.1 +APT-ID: 74428 +Source: systemd-hwe +Source-Version: 249.11.1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: udev + +Package: alsa-utils +Architecture: amd64 +Version: 1.2.6-1ubuntu1 +APT-ID: 17 +Multi-Arch: foreign +Source: alsa-utils +Source-Version: 1.2.6-1ubuntu1 +Priority: optional +Section: sound +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: kmod (>= 17-1~), lsb-base (>= 3.0-9), libasound2 (>= 1.2.6.1), libatopology2 (>= 1.2.2), libc6 (>= 2.34), libfftw3-single3 (>= 3.3.5), libncursesw6 (>= 6), libsamplerate0 (>= 0.1.7), libtinfo6 (>= 6) +Suggests: dialog +Provides: audio-mixer + +Package: libtss2-tcti-mssim0 +Architecture: amd64 +Version: 3.2.0-1ubuntu1 +APT-ID: 3903 +Multi-Arch: same +Source: tpm2-tss +Source-Version: 3.2.0-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: tpm-udev, libc6 (>= 2.7), libtss2-mu0 (>= 3.0.1) +Replaces: libtss2-esys0 (<< 3.0.1-2) +Breaks: libtss2-esys0 (<< 3.0.1-2) + +Package: apport-symptoms +Architecture: all +Version: 0.24 +APT-ID: 43 +Source: apport-symptoms +Source-Version: 0.24 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: apport + +Package: printer-driver-ptouch +Architecture: amd64 +Version: 1.6-2build1 +APT-ID: 4975 +Source: ptouch-driver +Source-Version: 1.6-2build1 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: ghostscript, python3:any, xz-utils, libc6 (>= 2.34), libcups2 (>= 2.3~b6) + +Package: python3-certifi +Architecture: all +Version: 2020.6.20-1 +APT-ID: 5176 +Source: python-certifi +Source-Version: 2020.6.20-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: ca-certificates, python3:any + +Package: librest-0.7-0 +Architecture: amd64 +Version: 0.8.1-1.1build2 +APT-ID: 3555 +Multi-Arch: same +Source: librest +Source-Version: 0.8.1-1.1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libglib2.0-0 (>= 2.37.3), libsoup-gnome2.4-1 (>= 2.27.4), libsoup2.4-1 (>= 2.30), libxml2 (>= 2.7.4) + +Package: libsqlite3-0 +Architecture: amd64 +Version: 3.37.2-2 +APT-ID: 3732 +Multi-Arch: same +Source: sqlite3 +Source-Version: 3.37.2-2 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Breaks: python-migrate (<< 0.11.0-4~), python3-migrate (<< 0.11.0-4~) + +Package: libabsl20210324 +Architecture: amd64 +Version: 0~20210324.2-2 +APT-ID: 1571 +Multi-Arch: same +Source: abseil +Source-Version: 0~20210324.2-2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgcc-s1 (>= 3.0), libstdc++6 (>= 11) + +Package: linux-headers-generic-hwe-22.04 +Architecture: amd64 +Version: 5.15.0.48.48 +APT-ID: 73287 +Source: linux-meta +Source-Version: 5.15.0.48.48 +Priority: optional +Section: kernel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: linux-headers-5.15.0-48-generic + +Package: libpackagekit-glib2-18 +Architecture: amd64 +Version: 1.2.5-2ubuntu2 +APT-ID: 3167 +Multi-Arch: same +Source: packagekit +Source-Version: 1.2.5-2ubuntu2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.7), libglib2.0-0 (>= 2.54) +Recommends: packagekit (= 1.2.5-2ubuntu2) + +Package: python3.10-nopie +Architecture: amd64 +Version: 3.10.6-1~22.04 +APT-ID: 78613 +Multi-Arch: allowed +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: optional +Section: universe/python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=universe,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3.10-minimal (= 3.10.6-1~22.04), libc6 (>= 2.35), libexpat1 (>= 2.1~beta3), zlib1g (>= 1:1.2.0) + +Package: python3.10-nopie +Architecture: amd64 +Version: 3.10.4-3ubuntu0.1 +APT-ID: 79555 +Multi-Arch: allowed +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3ubuntu0.1 +Priority: optional +Section: universe/python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=universe,b=amd64 +APT-Pin: 500 +Depends: python3.10-minimal (= 3.10.4-3ubuntu0.1), libc6 (>= 2.35), libexpat1 (>= 2.1~beta3), zlib1g (>= 1:1.2.0) + +Package: python3.10-nopie +Architecture: amd64 +Version: 3.10.4-3 +APT-ID: 58465 +Multi-Arch: allowed +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3 +Priority: optional +Section: universe/python +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=universe,b=amd64 +APT-Pin: 500 +Depends: python3.10-minimal (= 3.10.4-3), libc6 (>= 2.35), libexpat1 (>= 2.1~beta3), zlib1g (>= 1:1.2.0) + +Package: linux-generic-hwe-22.04 +Architecture: amd64 +Version: 5.15.0.48.48 +APT-ID: 73141 +Source: linux-meta +Source-Version: 5.15.0.48.48 +Priority: optional +Section: kernel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: linux-image-generic-hwe-22.04 (= 5.15.0.48.48), linux-headers-generic-hwe-22.04 (= 5.15.0.48.48) + +Package: libtext-wrapi18n-perl +Architecture: all +Version: 0.06-9 +APT-ID: 3834 +Source: libtext-wrapi18n-perl +Source-Version: 0.06-9 +Priority: required +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libtext-charwidth-perl + +Package: python3-renderpm +Architecture: amd64 +Version: 3.6.8-1 +APT-ID: 5450 +Multi-Arch: same +Source: python-reportlab +Source-Version: 3.6.8-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3 (<< 3.11), python3 (>= 3.10~), libc6 (>= 2.14), libfreetype6 (>= 2.2.1), fonts-urw-base35 +Provides: python3.10-renderpm + +Package: libevent-2.1-7 +Architecture: amd64 +Version: 2.1.12-stable-1build3 +APT-ID: 2168 +Multi-Arch: same +Source: libevent +Source-Version: 2.1.12-stable-1build3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: rygel +Architecture: amd64 +Version: 0.40.3-1ubuntu2 +APT-ID: 5626 +Source: rygel +Source-Version: 0.40.3-1ubuntu2 +Priority: extra +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: init-system-helpers (>= 1.52), libc6 (>= 2.34), libgdk-pixbuf-2.0-0 (>= 2.31.1), libgee-0.8-2 (>= 0.8.3), libglib2.0-0 (>= 2.56.0), libgssdp-1.2-0 (>= 1.1.0), libgstreamer-plugins-base1.0-0 (>= 1.12), libgstreamer1.0-0 (>= 1.12), libgupnp-1.2-1 (>= 1.1.2), libgupnp-av-1.0-3 (>= 0.12.8), libgupnp-dlna-2.0-4 (>= 0.9.4-2), libmediaart-2.0-0 (>= 1.9.0), librygel-core-2.6-2 (>= 0.40.3), librygel-db-2.6-2 (>= 0.40.3), librygel-renderer-2.6-2 (>= 0.40.3), librygel-server-2.6-2 (>= 0.40.3), libsoup2.4-1 (>= 2.44.0), libsqlite3-0 (>= 3.5.9), libxml2 (>= 2.7.4) +Suggests: gstreamer1.0-libav, gstreamer1.0-plugins-ugly, rygel-playbin, rygel-preferences, rygel-ruih, rygel-tracker, tumbler +Recommends: dbus-user-session, gstreamer1.0-plugins-base, gstreamer1.0-plugins-good + +Package: hostname +Architecture: amd64 +Version: 3.23ubuntu2 +APT-ID: 968 +Essential: yes +Source: hostname +Source-Version: 3.23ubuntu2 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Pre-Depends: libc6 (>= 2.34) +Replaces: nis (<< 3.17-30) +Breaks: nis (<< 3.17-30) + +Package: libstartup-notification0 +Architecture: amd64 +Version: 0.12-6build2 +APT-ID: 3753 +Multi-Arch: same +Source: startup-notification +Source-Version: 0.12-6build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libx11-xcb1 (>= 2:1.7.2), libxcb-util1 (>= 0.4.0), libxcb1 + +Package: rsync +Architecture: amd64 +Version: 3.2.3-8ubuntu3 +APT-ID: 5609 +Multi-Arch: foreign +Source: rsync +Source-Version: 3.2.3-8ubuntu3 +Priority: standard +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: lsb-base, libacl1 (>= 2.2.23), libc6 (>= 2.34), liblz4-1 (>= 0.0~r130), libpopt0 (>= 1.14), libssl3 (>= 3.0.0~~alpha1), libxxhash0 (>= 0.8.0), libzstd1 (>= 1.4.0), zlib1g (>= 1:1.1.4) +Pre-Depends: init-system-helpers (>= 1.54~) +Suggests: openssh-client, openssh-server, python3 + +Package: pinentry-curses +Architecture: amd64 +Version: 1.1.1-1build2 +APT-ID: 4909 +Multi-Arch: foreign +Source: pinentry +Source-Version: 1.1.1-1build2 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libassuan0 (>= 2.1.0), libc6 (>= 2.34), libgpg-error0 (>= 1.16), libncursesw6 (>= 6), libtinfo6 (>= 6) +Suggests: pinentry-doc +Enhances: gnupg-agent +Provides: pinentry + +Package: libfile-basedir-perl +Architecture: all +Version: 0.09-1 +APT-ID: 2217 +Source: libfile-basedir-perl +Source-Version: 0.09-1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any, libipc-system-simple-perl + +Package: cups-browsed +Architecture: amd64 +Version: 1.28.15-0ubuntu1 +APT-ID: 247 +Source: cups-filters +Source-Version: 1.28.15-0ubuntu1 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: cups-daemon, lsb-base, libavahi-client3 (>= 0.6.16), libavahi-common3 (>= 0.6.16), libavahi-glib1 (>= 0.6.16), libc6 (>= 2.34), libcups2 (>= 2.2.2), libcupsfilters1 (>= 1.27.0), libglib2.0-0 (>= 2.37.3), libldap-2.5-0 (>= 2.5.4) +Pre-Depends: init-system-helpers (>= 1.54~) +Recommends: avahi-daemon +Replaces: cups-filters (<< 1.4.0~) +Breaks: cups-filters (<< 1.4.0~) +Enhances: cups + +Package: libwebp7 +Architecture: amd64 +Version: 1.2.2-2 +APT-ID: 4056 +Multi-Arch: same +Source: libwebp +Source-Version: 1.2.2-2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: libjson-c5 +Architecture: amd64 +Version: 0.15-3~ubuntu1.22.04.1 +APT-ID: 72441 +Multi-Arch: same +Source: json-c +Source-Version: 0.15-3~ubuntu1.22.04.1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: gpgsm +Architecture: amd64 +Version: 2.2.27-3ubuntu2.1 +APT-ID: 71885 +Multi-Arch: foreign +Source: gnupg2 +Source-Version: 2.2.27-3ubuntu2.1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gpgconf (= 2.2.27-3ubuntu2.1), libassuan0 (>= 2.5.0), libc6 (>= 2.34), libgcrypt20 (>= 1.9.0), libgpg-error0 (>= 1.42), libksba8 (>= 1.6.0), libreadline8 (>= 6.0) +Recommends: gnupg (= 2.2.27-3ubuntu2.1) +Replaces: gnupg2 (<< 2.1.10-2) +Breaks: gnupg2 (<< 2.1.10-2) + +Package: liblangtag1 +Architecture: amd64 +Version: 0.6.3-2ubuntu1 +APT-ID: 2792 +Multi-Arch: same +Source: liblangtag +Source-Version: 0.6.3-2ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libxml2 (>= 2.7.4), liblangtag-common (= 0.6.3-2ubuntu1) + +Package: libhtml-parser-perl +Architecture: amd64 +Version: 3.76-1build2 +APT-ID: 2593 +Multi-Arch: same +Source: libhtml-parser-perl +Source-Version: 3.76-1build2 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl, perlapi-5.34.0, libc6 (>= 2.34), libhtml-tagset-perl, liburi-perl +Suggests: libdata-dump-perl +Recommends: libhttp-message-perl +Enhances: libwww-perl + +Package: pipewire-bin +Architecture: amd64 +Version: 0.3.48-1ubuntu1 +APT-ID: 4913 +Multi-Arch: foreign +Source: pipewire +Source-Version: 0.3.48-1ubuntu1 +Priority: optional +Section: video +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libpipewire-0.3-modules (= 0.3.48-1ubuntu1), libasound2 (>= 1.2.1.1), libc6 (>= 2.34), libdbus-1-3 (>= 1.9.14), libncursesw6 (>= 6), libpipewire-0.3-0 (= 0.3.48-1ubuntu1), libreadline8 (>= 6.0), libsndfile1 (>= 1.0.20), libtinfo6 (>= 6) +Recommends: dbus-user-session, pipewire-media-session | wireplumber, rtkit +Replaces: pipewire (<< 0.3.5) +Breaks: pipewire (<< 0.3.5) + +Package: xorg +Architecture: amd64 +Version: 1:7.7+23ubuntu2 +APT-ID: 6037 +Source: xorg +Source-Version: 1:7.7+23ubuntu2 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: xserver-xorg (>= 1:7.7+23ubuntu2), libgl1, libgl1-mesa-dri, libglu1-mesa, xfonts-base (>= 1:1.0.0-1), x11-apps, x11-session-utils, x11-utils, x11-xkb-utils, x11-xserver-utils, xauth, xinit, xfonts-utils, xkb-data, xorg-docs-core, gnome-terminal | xterm | x-terminal-emulator, xinput +Suggests: xorg-docs, xfonts-100dpi (>= 1:1.0.0-1), xfonts-75dpi (>= 1:1.0.0-1), x11-xfs-utils +Recommends: xfonts-scalable (>= 1:1.0.0-1) +Provides: x-window-system-core, x-window-system + +Package: fonts-kacst +Architecture: all +Version: 2.01+mry-15 +APT-ID: 449 +Multi-Arch: foreign +Source: fonts-kacst +Source-Version: 2.01+mry-15 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Pre-Depends: dpkg (>= 1.15.6~) +Recommends: fonts-kacst-one + +Package: python3-markupsafe +Architecture: amd64 +Version: 2.0.1-2build1 +APT-ID: 5312 +Source: markupsafe +Source-Version: 2.0.1-2build1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3 (<< 3.11), python3 (>= 3.10~), python3:any, libc6 (>= 2.14) + +Package: libxslt1.1 +Architecture: amd64 +Version: 1.1.34-4ubuntu0.22.04.1 +APT-ID: 72856 +Multi-Arch: same +Source: libxslt +Source-Version: 1.1.34-4ubuntu0.22.04.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libgcrypt20 (>= 1.9.0), libxml2 (>= 2.9.0) + +Package: gnome-shell-common +Architecture: all +Version: 42.4-0ubuntu0.22.04.1 +APT-ID: 71871 +Source: gnome-shell +Source-Version: 42.4-0ubuntu0.22.04.1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend +Recommends: yaru-theme-gnome-shell (>= 22.04.1~) +Replaces: gnome-shell (<< 3.36.1-6~) +Breaks: gnome-shell (<< 3.36.1-6~) + +Package: libprocps8 +Architecture: amd64 +Version: 2:3.3.17-6ubuntu2 +APT-ID: 3307 +Multi-Arch: same +Source: procps +Source-Version: 2:3.3.17-6ubuntu2 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libsystemd0 (>= 209) +Replaces: procps (<< 1:3.3.2-1) + +Package: python3-distro-info +Architecture: all +Version: 1.1build1 +APT-ID: 5216 +Source: distro-info +Source-Version: 1.1build1 +Priority: standard +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: distro-info-data (>= 0.46), python3:any + +Package: libjavascriptcoregtk-4.0-18 +Architecture: amd64 +Version: 2.36.7-0ubuntu0.22.04.1 +APT-ID: 72435 +Multi-Arch: same +Source: webkit2gtk +Source-Version: 2.36.7-0ubuntu0.22.04.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgcc-s1 (>= 7), libglib2.0-0 (>= 2.65.1), libicu70 (>= 70.1-1~), libstdc++6 (>= 12), libsystemd0 + +Package: fonts-yrsa-rasa +Architecture: all +Version: 2.005-1 +APT-ID: 547 +Multi-Arch: foreign +Source: fonts-yrsa-rasa +Source-Version: 2.005-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: cups-pk-helper +Architecture: amd64 +Version: 0.2.6-1ubuntu5 +APT-ID: 256 +Source: cups-pk-helper +Source-Version: 0.2.6-1ubuntu5 +Priority: extra +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcups2 (>= 1.6.0), libglib2.0-0 (>= 2.37.3), libpolkit-gobject-1-0 (>= 0.99) + +Package: libspeex1 +Architecture: amd64 +Version: 1.2~rc1.2-1.1ubuntu3 +APT-ID: 3726 +Multi-Arch: same +Source: speex +Source-Version: 1.2~rc1.2-1.1ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.29) +Suggests: speex +Conflicts: asterisk (<= 1:1.4.18.1~dfsg-1), libiaxclient1 (<= 2.0.2-1), libmediastreamer0 (<= 2.1.0-1), libopal-2.2 (<= 2.2.11~dfsg1-3), libopal-2.2-develop (<= 2.2.11~dfsg1-3), libopal-2.2-ptrace (<= 2.2.11~dfsg1-3), libopal-2.2.0 + +Package: x11-xkb-utils +Architecture: amd64 +Version: 7.7+5build4 +APT-ID: 5992 +Multi-Arch: foreign +Source: x11-xkb-utils +Source-Version: 7.7+5build4 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libx11-6, libxaw7 (>= 2:1.0.14), libxkbfile1 (>= 1:1.1.0), libxt6 +Replaces: xbase-clients (<= 1:7.2.ds2-3) + +Package: libcryptsetup12 +Architecture: amd64 +Version: 2:2.4.3-1ubuntu1.1 +APT-ID: 72299 +Multi-Arch: same +Source: cryptsetup +Source-Version: 2:2.4.3-1ubuntu1.1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libargon2-1 (>= 0~20171227), libblkid1 (>= 2.17.2), libc6 (>= 2.34), libdevmapper1.02.1 (>= 2:1.02.97), libjson-c5 (>= 0.15), libssl3 (>= 3.0.0~~alpha1), libuuid1 (>= 2.16) + +Package: libasound2-data +Architecture: all +Version: 1.2.6.1-1ubuntu1 +APT-ID: 1637 +Multi-Arch: foreign +Source: alsa-lib +Source-Version: 1.2.6.1-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Suggests: alsa-utils +Recommends: alsa-ucm-conf, alsa-topology-conf +Replaces: libasound2 (<< 1.2.6.1-1ubuntu1) +Breaks: libasound2 (<< 1.2.6.1-1ubuntu1) + +Package: libglu1-mesa +Architecture: amd64 +Version: 9.0.2-1 +APT-ID: 2397 +Multi-Arch: same +Source: libglu +Source-Version: 9.0.2-1 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libgcc-s1 (>= 3.3.1), libopengl0, libstdc++6 (>= 5) +Conflicts: libglu1, mesag3 (<< 5.0.0-1), xlibmesa3 +Replaces: libglu1 +Provides: libglu1 + +Package: python3-jwt +Architecture: all +Version: 2.3.0-1ubuntu0.2 +APT-ID: 74325 +Source: pyjwt +Source-Version: 2.3.0-1ubuntu0.2 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=i386 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any +Suggests: python3-crypto +Recommends: python3-cryptography + +Package: libcupsimage2 +Architecture: amd64 +Version: 2.4.1op1-1ubuntu4.1 +APT-ID: 72302 +Multi-Arch: same +Source: cups +Source-Version: 2.4.1op1-1ubuntu4.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libcups2 (= 2.4.1op1-1ubuntu4.1), libc6 (>= 2.2.5) +Recommends: libcupsfilters1 + +Package: gnome-control-center-data +Architecture: all +Version: 1:41.7-0ubuntu0.22.04.5 +APT-ID: 71860 +Multi-Arch: foreign +Source: gnome-control-center +Source-Version: 1:41.7-0ubuntu0.22.04.5 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend +Replaces: gnome-control-center (<< 1:3.7.92-2~) +Breaks: gnome-control-center (<< 1:3.7.92-2~) + +Package: adduser +Architecture: all +Version: 3.118ubuntu5 +APT-ID: 6 +Multi-Arch: foreign +Source: adduser +Source-Version: 3.118ubuntu5 +Priority: required +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: passwd, debconf (>= 0.5) | debconf-2.0 +Suggests: liblocale-gettext-perl, perl, ecryptfs-utils (>= 67-1) + +Package: findutils +Architecture: amd64 +Version: 4.8.0-1ubuntu3 +APT-ID: 423 +Essential: yes +Multi-Arch: foreign +Source: findutils +Source-Version: 4.8.0-1ubuntu3 +Priority: important +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Pre-Depends: libc6 (>= 2.34), libselinux1 (>= 3.1~) +Suggests: mlocate | locate +Breaks: binstats (<< 1.08-8.1), guilt (<< 0.36-0.2), libpython3.4-minimal (<< 3.4.4-2), libpython3.5-minimal (<< 3.5.1-3), lsat (<< 0.9.7.1-2.1), mc (<< 3:4.8.11-1), switchconf (<< 0.0.9-2.1) + +Package: libipt2 +Architecture: amd64 +Version: 2.0.5-1 +APT-ID: 2692 +Source: intel-processor-trace +Source-Version: 2.0.5-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: ubuntu-session +Architecture: all +Version: 42.0-1ubuntu2 +APT-ID: 5898 +Source: gnome-session +Source-Version: 42.0-1ubuntu2 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gnome-session-bin (<< 43~), gnome-session-bin (>= 42.0-1ubuntu2), gnome-session-common (= 42.0-1ubuntu2), gnome-settings-daemon (>= 3.37.0), gnome-shell (>= 3.37.91), xwayland, yaru-theme-gnome-shell (>= 20.04.3~), session-migration +Recommends: python3 +Replaces: gnome-session (<= 3.29.90-1ubuntu1) +Breaks: gnome-session (<= 3.29.90-1ubuntu1), hud (<< 14.10+17.10.20170619), unity (<< 7.5.0+17.10.20170619), unity-gtk-module (<< 0.0.0+17.04.20170918), unity-settings-daemon (<< 15.04.1+17.04.20170619) +Provides: x-session-manager + +Package: libgmp10 +Architecture: amd64 +Version: 2:6.2.1+dfsg-3ubuntu1 +APT-ID: 2409 +Multi-Arch: same +Source: gmp +Source-Version: 2:6.2.1+dfsg-3ubuntu1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) +Breaks: libmath-gmp-perl (<< 2.20-1), libmath-prime-util-gmp-perl (<< 0.51-2), postgresql-pgmp (<< 1.0.3-1) + +Package: libxcb-res0 +Architecture: amd64 +Version: 1.14-3ubuntu3 +APT-ID: 4158 +Multi-Arch: same +Source: libxcb +Source-Version: 1.14-3ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libxcb1 + +Package: distro-info-data +Architecture: all +Version: 0.52ubuntu0.1 +APT-ID: 71779 +Multi-Arch: foreign +Source: distro-info-data +Source-Version: 0.52ubuntu0.1 +Priority: required +Section: devel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=i386 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Breaks: distro-info (<< 1.0~) + +Package: libxxhash0 +Architecture: amd64 +Version: 0.8.1-1 +APT-ID: 4290 +Multi-Arch: same +Source: xxhash +Source-Version: 0.8.1-1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: libpython3.10-dbg +Architecture: amd64 +Version: 3.10.6-1~22.04 +APT-ID: 72532 +Multi-Arch: same +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: optional +Section: debug +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libpython3.10-stdlib (= 3.10.6-1~22.04), libbz2-1.0, libc6 (>= 2.35), libcrypt1 (>= 1:4.1.0), libdb5.3, libexpat1 (>= 2.1~beta3), libffi8 (>= 3.4), liblzma5 (>= 5.1.1alpha+20120614), libmpdec3, libncursesw6 (>= 6.1), libnsl2 (>= 1.0), libreadline8 (>= 7.0~beta), libsqlite3-0 (>= 3.14.0), libssl3 (>= 3.0.0~~alpha1), libtinfo6 (>= 6), libtirpc3 (>= 1.0.2), libuuid1 (>= 2.20.1), zlib1g (>= 1:1.2.0) +Replaces: python3-gdbm-dbg (<< 3.9.9-1~) +Breaks: python3-gdbm-dbg (<< 3.9.9-1~) + +Package: libpython3.10-dbg +Architecture: amd64 +Version: 3.10.4-3ubuntu0.1 +APT-ID: 79374 +Multi-Arch: same +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3ubuntu0.1 +Priority: optional +Section: debug +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +Depends: libpython3.10-stdlib (= 3.10.4-3ubuntu0.1), libbz2-1.0, libc6 (>= 2.35), libcrypt1 (>= 1:4.1.0), libdb5.3, libexpat1 (>= 2.1~beta3), libffi8 (>= 3.4), liblzma5 (>= 5.1.1alpha+20120614), libmpdec3, libncursesw6 (>= 6.1), libnsl2 (>= 1.0), libreadline8 (>= 7.0~beta), libsqlite3-0 (>= 3.14.0), libssl3 (>= 3.0.0~~alpha1), libtinfo6 (>= 6), libtirpc3 (>= 1.0.2), libuuid1 (>= 2.20.1), zlib1g (>= 1:1.2.0) +Replaces: python3-gdbm-dbg (<< 3.9.9-1~) +Breaks: python3-gdbm-dbg (<< 3.9.9-1~) + +Package: libpython3.10-dbg +Architecture: amd64 +Version: 3.10.4-3 +APT-ID: 3338 +Multi-Arch: same +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3 +Priority: optional +Section: debug +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +Depends: libpython3.10-stdlib (= 3.10.4-3), libbz2-1.0, libc6 (>= 2.35), libcrypt1 (>= 1:4.1.0), libdb5.3, libexpat1 (>= 2.1~beta3), libffi8 (>= 3.4), liblzma5 (>= 5.1.1alpha+20120614), libmpdec3, libncursesw6 (>= 6.1), libnsl2 (>= 1.0), libreadline8 (>= 7.0~beta), libsqlite3-0 (>= 3.14.0), libssl3 (>= 3.0.0~~alpha1), libtinfo6 (>= 6), libtirpc3 (>= 1.0.2), libuuid1 (>= 2.20.1), zlib1g (>= 1:1.2.0) +Replaces: python3-gdbm-dbg (<< 3.9.9-1~) +Breaks: python3-gdbm-dbg (<< 3.9.9-1~) + +Package: libglibmm-2.4-1v5 +Architecture: amd64 +Version: 2.66.2-2 +APT-ID: 2392 +Multi-Arch: same +Source: glibmm2.4 +Source-Version: 2.66.2-2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.32), libgcc-s1 (>= 3.3.1), libglib2.0-0 (>= 2.61.2), libsigc++-2.0-0v5 (>= 2.9.1), libstdc++6 (>= 11) +Conflicts: libglibmm-2.4-1c2a +Replaces: libglibmm-2.4-1c2a + +Package: libpython3.10-dev +Architecture: amd64 +Version: 3.10.6-1~22.04 +APT-ID: 72533 +Multi-Arch: same +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: optional +Section: libdevel +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libpython3.10-stdlib (= 3.10.6-1~22.04), libpython3.10 (= 3.10.6-1~22.04), libexpat1-dev, zlib1g-dev +Recommends: libc6-dev | libc-dev + +Package: libpython3.10-dev +Architecture: amd64 +Version: 3.10.4-3ubuntu0.1 +APT-ID: 79375 +Multi-Arch: same +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3ubuntu0.1 +Priority: optional +Section: libdevel +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +Depends: libpython3.10-stdlib (= 3.10.4-3ubuntu0.1), libpython3.10 (= 3.10.4-3ubuntu0.1), libexpat1-dev, zlib1g-dev +Recommends: libc6-dev | libc-dev + +Package: libpython3.10-dev +Architecture: amd64 +Version: 3.10.4-3 +APT-ID: 3339 +Multi-Arch: same +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3 +Priority: optional +Section: libdevel +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +Depends: libpython3.10-stdlib (= 3.10.4-3), libpython3.10 (= 3.10.4-3), libexpat1-dev, zlib1g-dev +Recommends: libc6-dev | libc-dev + +Package: python3-examples +Architecture: all +Version: 3.10.6-1~22.04 +APT-ID: 74318 +Multi-Arch: foreign +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: optional +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3 (>= 3.10.6-1~22.04), python3.10-examples (>= 3.10.6-1~) + +Package: python3-examples +Architecture: all +Version: 3.10.4-0ubuntu2 +APT-ID: 5232 +Multi-Arch: foreign +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-0ubuntu2 +Priority: optional +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +Depends: python3 (>= 3.10.4-0ubuntu2), python3.10-examples (>= 3.10.4-1~) + +Package: libthai-data +Architecture: all +Version: 0.1.29-1build1 +APT-ID: 3840 +Multi-Arch: foreign +Source: libthai +Source-Version: 0.1.29-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Breaks: libthai0 (<< 0.1.10) + +Package: tracker-extract +Architecture: amd64 +Version: 3.3.0-1 +APT-ID: 5864 +Source: tracker-miners +Source-Version: 3.3.0-1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libblkid1 (>= 2.16), libc6 (>= 2.34), libcue2, libexempi8 (>= 2.5.0), libexif12 (>= 0.6.21-1~), libgexiv2-2 (>= 0.6.1), libgif7 (>= 5.1), libglib2.0-0 (>= 2.62.0), libgsf-1-114 (>= 1.14.24), libgstreamer-plugins-base1.0-0 (>= 1.20.0), libgstreamer1.0-0 (>= 1.20.0), libgxps2 (>= 0.2.1), libicu70 (>= 70.1-1~), libjpeg8 (>= 8c), libnm0 (>= 1.0.0), libpng16-16 (>= 1.6.2-1), libpoppler-glib8 (>= 0.18.0), libseccomp2 (>= 2.1.0), libtiff5 (>= 4.0.3), libtotem-plparser18 (>= 3.26.0), libtracker-sparql-3.0-0 (>= 3.3.0~), libxml2 (>= 2.7.4), dconf-gsettings-backend | gsettings-backend, init-system-helpers (>= 1.52), tracker (>= 3.2.0) +Replaces: tracker (<< 1.99.2) +Breaks: tracker (<< 1.99.2) + +Package: linux-firmware +Architecture: all +Version: 20220329.git681281e4-0ubuntu3.5 +APT-ID: 73118 +Multi-Arch: foreign +Source: linux-firmware +Source-Version: 20220329.git681281e4-0ubuntu3.5 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: firmware-sof-signed +Conflicts: atmel-firmware +Replaces: atmel-firmware, linux-firmware-snapdragon (<= 1.2-0ubuntu1), linux-restricted-common +Breaks: linux-firmware-raspi2 (<= 1.20190819-0ubuntu2), linux-firmware-snapdragon (<= 1.2-0ubuntu1) +Provides: atmel-firmware + +Package: python3-ldb +Architecture: amd64 +Version: 2:2.4.4-0ubuntu0.1 +APT-ID: 74328 +Source: ldb +Source-Version: 2:2.4.4-0ubuntu0.1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libldb2 (= 2:2.4.4-0ubuntu0.1), python3 (<< 3.11), python3 (>= 3.10~), python3:any, libc6 (>= 2.14), libpython3.10 (>= 3.10.0), libtalloc2 (>= 2.3.1~) + +Package: libip6tc2 +Architecture: amd64 +Version: 1.8.7-1ubuntu5 +APT-ID: 2676 +Multi-Arch: same +Source: iptables +Source-Version: 1.8.7-1ubuntu5 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.28) + +Package: libwinpr2-2 +Architecture: amd64 +Version: 2.6.1+dfsg1-3ubuntu2.2 +APT-ID: 72832 +Multi-Arch: same +Source: freerdp2 +Source-Version: 2.6.1+dfsg1-3ubuntu2.2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libicu70 (>= 70.1-1~), libssl3 (>= 3.0.0~~alpha1), libsystemd0 +Suggests: freerdp2-x11 +Replaces: libwinpr2 (<< 2.0.0~git20170725.1.1648deb+dfsg1-1~) +Breaks: libwinpr2 (<< 2.0.0~git20170725.1.1648deb+dfsg1-1~) + +Package: libfreerdp-server2-2 +Architecture: amd64 +Version: 2.6.1+dfsg1-3ubuntu2.2 +APT-ID: 72349 +Multi-Arch: same +Source: freerdp2 +Source-Version: 2.6.1+dfsg1-3ubuntu2.2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libfreerdp2-2 (= 2.6.1+dfsg1-3ubuntu2.2), libwinpr2-2 (>= 2.1.0+dfsg1) +Replaces: libfreerdp-server2 (<< 2.0.0~git20170725.1.1648deb+dfsg1-1~) +Breaks: libfreerdp-server2 (<< 2.0.0~git20170725.1.1648deb+dfsg1-1~) + +Package: libpcre2-8-0 +Architecture: amd64 +Version: 10.39-3ubuntu0.1 +APT-ID: 72503 +Multi-Arch: same +Source: pcre2 +Source-Version: 10.39-3ubuntu0.1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: gir1.2-gdm-1.0 +Architecture: amd64 +Version: 42.0-1ubuntu7 +APT-ID: 71833 +Multi-Arch: same +Source: gdm3 +Source-Version: 42.0-1ubuntu7 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0 (>= 0.9.12), libgdm1 (>= 3.33.4) +Conflicts: gir1.2-gdm3 +Replaces: gir1.2-gdm3 + +Package: fonts-smc-keraleeyam +Architecture: all +Version: 3.0.2-2 +APT-ID: 504 +Multi-Arch: foreign +Source: fonts-smc-keraleeyam +Source-Version: 3.0.2-2 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libcrypt1 +Architecture: amd64 +Version: 1:4.4.27-1 +APT-ID: 1953 +Multi-Arch: same +Source: libxcrypt +Source-Version: 1:4.4.27-1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.25) +Conflicts: libpam0g (<< 1.4.0-10) +Replaces: libc6 (<< 2.29-4) + +Package: libmwaw-0.3-3 +Architecture: amd64 +Version: 0.3.21-1build1 +APT-ID: 2984 +Multi-Arch: same +Source: libmwaw +Source-Version: 0.3.21-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.32), libgcc-s1 (>= 3.3.1), librevenge-0.0-0, libstdc++6 (>= 11), zlib1g (>= 1:1.1.4) + +Package: libsysmetrics1 +Architecture: amd64 +Version: 1.7.1 +APT-ID: 3800 +Multi-Arch: same +Source: ubuntu-report +Source-Version: 1.7.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: libgstreamer1.0-0 +Architecture: amd64 +Version: 1.20.3-0ubuntu1 +APT-ID: 72407 +Multi-Arch: same +Source: gstreamer1.0 +Source-Version: 1.20.3-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcap2 (>= 1:2.10), libdw1 (>= 0.126), libglib2.0-0 (>= 2.70.0), libunwind8, libcap2-bin +Suggests: gstreamer1.0-tools +Breaks: gstreamer1.0-plugins-bad (<< 1.11.1), gstreamer1.0-plugins-base (<< 1.8.0), libgstreamer-plugins-bad1.0-0 (<< 1.13.1) + +Package: libavahi-common3 +Architecture: amd64 +Version: 0.8-5ubuntu5 +APT-ID: 1687 +Multi-Arch: same +Source: avahi +Source-Version: 0.8-5ubuntu5 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libavahi-common-data (= 0.8-5ubuntu5) + +Package: cpp-11 +Architecture: amd64 +Version: 11.2.0-19ubuntu1 +APT-ID: 219 +Source: gcc-11 +Source-Version: 11.2.0-19ubuntu1 +Priority: optional +Section: interpreters +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gcc-11-base (= 11.2.0-19ubuntu1), libc6 (>= 2.34), libgmp10 (>= 2:6.2.1+dfsg), libisl23 (>= 0.15), libmpc3 (>= 1.1.0), libmpfr6 (>= 3.1.3), libzstd1 (>= 1.4.0), zlib1g (>= 1:1.1.4) +Suggests: gcc-11-locales (>= 11) +Breaks: hardening-wrapper (<< 2.8+nmu3), libmagics++-dev (<< 2.28.0-4) + +Package: fonts-tlwg-mono-ttf +Architecture: all +Version: 1:0.7.3-1 +APT-ID: 526 +Multi-Arch: foreign +Source: fonts-tlwg +Source-Version: 1:0.7.3-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: fonts-tlwg-mono (>= 1:0.6.2-2) +Replaces: fonts-tlwg-mono (<< 1:0.6.2-2) +Breaks: fonts-tlwg-mono (<< 1:0.6.2-2) + +Package: gir1.2-atk-1.0 +Architecture: amd64 +Version: 2.36.0-3build1 +APT-ID: 638 +Multi-Arch: same +Source: atk1.0 +Source-Version: 2.36.0-3build1 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0 (>= 1.32.0), libatk1.0-0 (>= 2.35.1) + +Package: alsa-topology-conf +Architecture: all +Version: 1.2.5.1-2 +APT-ID: 15 +Multi-Arch: foreign +Source: alsa-topology-conf +Source-Version: 1.2.5.1-2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: libasound2-data (<< 1.2.1) +Breaks: libasound2-data (<< 1.2.1) +Enhances: libasound2-data + +Package: libgtop2-common +Architecture: all +Version: 2.40.0-2build3 +APT-ID: 2547 +Multi-Arch: foreign +Source: libgtop2 +Source-Version: 2.40.0-2build3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libhpmud0 +Architecture: amd64 +Version: 3.21.12+dfsg0-1 +APT-ID: 2589 +Multi-Arch: same +Source: hplip +Source-Version: 3.21.12+dfsg0-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libavahi-client3 (>= 0.6.16), libavahi-common3 (>= 0.6.16), libc6 (>= 2.34), libcups2 (>= 1.6.0), libdbus-1-3 (>= 1.9.14), libsnmp40 (>= 5.9.1+dfsg), libusb-1.0-0 (>= 2:1.0.8) + +Package: libminiupnpc17 +Architecture: amd64 +Version: 2.2.3-1build1 +APT-ID: 2916 +Multi-Arch: same +Source: miniupnpc +Source-Version: 2.2.3-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17) +Suggests: minissdpd + +Package: ca-certificates +Architecture: all +Version: 20211016 +APT-ID: 157 +Multi-Arch: foreign +Source: ca-certificates +Source-Version: 20211016 +Priority: required +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: openssl (>= 1.1.1), debconf (>= 0.5) | debconf-2.0 +Breaks: ca-certificates-java (<< 20121112+nmu1) +Enhances: openssl + +Package: system-config-printer +Architecture: all +Version: 1.5.16-0ubuntu3 +APT-ID: 5730 +Source: system-config-printer +Source-Version: 1.5.16-0ubuntu3 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-gdkpixbuf-2.0, gir1.2-glib-2.0, gir1.2-gtk-3.0, gir1.2-handy-1, gir1.2-notify-0.7, gir1.2-packagekitglib-1.0, gir1.2-pango-1.0, gir1.2-polkit-1.0, python3-cups (>= 1.9.60), python3-cupshelpers (= 1.5.16-0ubuntu3), python3-dbus, python3-gi, system-config-printer-common (= 1.5.16-0ubuntu3), python3:any +Suggests: gnome-software (>= 3.16.5-2) +Recommends: avahi-utils, system-config-printer-udev + +Package: librsvg2-2 +Architecture: amd64 +Version: 2.52.5+dfsg-3 +APT-ID: 3570 +Multi-Arch: same +Source: librsvg +Source-Version: 2.52.5+dfsg-3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcairo-gobject2 (>= 1.10.0), libcairo2 (>= 1.15.12), libgcc-s1 (>= 4.2), libgdk-pixbuf-2.0-0 (>= 2.31.1), libglib2.0-0 (>= 2.50.0), libpango-1.0-0 (>= 1.45.5), libpangocairo-1.0-0 (>= 1.44.0), libxml2 (>= 2.9.0) +Suggests: librsvg2-bin +Recommends: librsvg2-common + +Package: libvncserver1 +Architecture: amd64 +Version: 0.9.13+dfsg-3build2 +APT-ID: 4015 +Multi-Arch: same +Source: libvncserver +Source-Version: 0.9.13+dfsg-3build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgcrypt20 (>= 1.9.0), libgnutls30 (>= 3.7.2), libjpeg8 (>= 8c), liblzo2-2 (>= 2.02), zlib1g (>= 1:1.1.4) + +Package: libgtksourceview-4-0 +Architecture: amd64 +Version: 4.8.3-1 +APT-ID: 2542 +Multi-Arch: same +Source: gtksourceview4 +Source-Version: 4.8.3-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libatk1.0-0 (>= 1.32), libc6 (>= 2.14), libcairo2 (>= 1.4.10), libfribidi0 (>= 0.19.2), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.48.0), libgtk-3-0 (>= 3.24), libpango-1.0-0 (>= 1.18.0), libpangocairo-1.0-0 (>= 1.14.0), libxml2 (>= 2.7.4), libgtksourceview-4-common (>= 4.8.3-1) + +Package: libsamplerate0 +Architecture: amd64 +Version: 0.2.2-1build1 +APT-ID: 3629 +Multi-Arch: same +Source: libsamplerate +Source-Version: 0.2.2-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) +Replaces: samplerate-programs (<< 0.1.8-3) + +Package: libftdi1-2 +Architecture: amd64 +Version: 1.5-5build3 +APT-ID: 2273 +Multi-Arch: same +Source: libftdi1 +Source-Version: 1.5-5build3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libusb-1.0-0 (>= 2:1.0.16) + +Package: gnome-keyring +Architecture: amd64 +Version: 40.0-3ubuntu3 +APT-ID: 71864 +Multi-Arch: foreign +Source: gnome-keyring +Source-Version: 40.0-3ubuntu3 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend, init-system-helpers (>= 1.52), libc6 (>= 2.34), libgck-1-0 (>= 3.3.90), libgcr-base-3-1 (>= 3.28.0), libgcrypt20 (>= 1.9.0), libglib2.0-0 (>= 2.41.1), gcr (>= 3.4), default-dbus-session-bus | dbus-session-bus, p11-kit (>= 0.16), pinentry-gnome3 +Recommends: libpam-gnome-keyring, gnome-keyring-pkcs11 +Breaks: gnome-session (<< 3.20.0) + +Package: libpam-modules-bin +Architecture: amd64 +Version: 1.4.0-11ubuntu2 +APT-ID: 3179 +Multi-Arch: foreign +Source: pam +Source-Version: 1.4.0-11ubuntu2 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libaudit1 (>= 1:2.2.1), libc6 (>= 2.34), libcrypt1 (>= 1:4.3.0), libpam0g (>= 0.99.7.1), libselinux1 (>= 3.1~) +Replaces: libpam-modules (<< 1.1.3-8) + +Package: perl-openssl-defaults +Architecture: amd64 +Version: 5build2 +APT-ID: 4868 +Multi-Arch: same +Source: perl-openssl-defaults +Source-Version: 5build2 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libssl3 (>= 3.0.0~~alpha1) +Breaks: libcrypt-openssl-bignum-perl (<< 0.07-2), libcrypt-openssl-dsa-perl (<< 0.18-2), libcrypt-openssl-pkcs10-perl (<< 0.16-2), libcrypt-openssl-pkcs12-perl (<< 0.7-3), libcrypt-openssl-rsa-perl (<< 0.28-5), libcrypt-openssl-x509-perl (<< 1.8.7-3), libcrypt-smime-perl (<< 0.19-2), libcrypt-ssleay-perl (<< 0.73.04-2), libnet-ssleay-perl (<< 1.78-2) +Provides: perl-openssl-abi-3, dh-sequence-perl-openssl + +Package: fonts-lohit-orya +Architecture: all +Version: 2.91.2-2 +APT-ID: 467 +Multi-Arch: foreign +Source: fonts-lohit-orya +Source-Version: 2.91.2-2 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: ttf-oriya-fonts (<= 1:0.5.12) +Breaks: ttf-oriya-fonts (<= 1:0.5.12) + +Package: network-manager-pptp +Architecture: amd64 +Version: 1.2.10-1 +APT-ID: 4749 +Source: network-manager-pptp +Source-Version: 1.2.10-1 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.34), libnm0 (>= 1.2.0), ppp (<< 2.4.9-2~), ppp (>= 2.4.9-1+~), network-manager, pptp-linux + +Package: libgxps2 +Architecture: amd64 +Version: 0.3.2-2 +APT-ID: 2571 +Multi-Arch: same +Source: libgxps +Source-Version: 0.3.2-2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libarchive13 (>= 3.0.4), libc6 (>= 2.14), libcairo2 (>= 1.10.0), libfreetype6 (>= 2.2.1), libglib2.0-0 (>= 2.37.3), libjpeg8 (>= 8c), liblcms2-2 (>= 2.2+git20110628), libpng16-16 (>= 1.6.2-1), libtiff5 (>= 4.0.3) + +Package: init-system-helpers +Architecture: all +Version: 1.62 +APT-ID: 1124 +Essential: yes +Multi-Arch: foreign +Source: init-system-helpers +Source-Version: 1.62 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl-base (>= 5.20.1-3) +Conflicts: file-rc (<< 0.8.17~) + +Package: tnftp +Architecture: amd64 +Version: 20210827-4build1 +APT-ID: 5857 +Source: tnftp +Source-Version: 20210827-4build1 +Priority: standard +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libedit2 (>= 2.11-20080614-0), libssl3 (>= 3.0.0~~alpha1) +Conflicts: lukemftp +Replaces: lukemftp +Provides: ftp + +Package: libqmi-glib5 +Architecture: amd64 +Version: 1.30.4-1 +APT-ID: 3346 +Multi-Arch: same +Source: libqmi +Source-Version: 1.30.4-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libglib2.0-0 (>= 2.56), libmbim-glib4 (>= 1.18.0), libmbim-proxy + +Package: libimagequant0 +Architecture: amd64 +Version: 2.17.0-1 +APT-ID: 2644 +Multi-Arch: same +Source: libimagequant +Source-Version: 2.17.0-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.29), libgomp1 (>= 4.9) + +Package: grub-efi-amd64-bin +Architecture: amd64 +Version: 2.06-2ubuntu10 +APT-ID: 71888 +Multi-Arch: foreign +Source: grub2-unsigned +Source-Version: 2.06-2ubuntu10 +Priority: extra +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: grub-common (>= 2.02~beta2-9) +Recommends: grub-efi-amd64-signed, efibootmgr +Replaces: grub-common (<= 1.97~beta2-1), grub-efi-amd64 (<< 1.99-1), grub2 (<< 2.06-2ubuntu10) + +Package: grub2-common +Architecture: amd64 +Version: 2.06-2ubuntu7 +APT-ID: 919 +Multi-Arch: foreign +Source: grub2 +Source-Version: 2.06-2ubuntu7 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: grub-common (= 2.06-2ubuntu7), dpkg (>= 1.15.4) | install-info, libc6 (>= 2.34), libdevmapper1.02.1 (>= 2:1.02.36), libefiboot1 (>= 37), libefivar1 (>= 37), liblzma5 (>= 5.1.1alpha+20120614) +Conflicts: grub-legacy +Replaces: grub, grub-cloud-amd64 (<< 0.0.4), grub-common (<< 1.99-1), grub-coreboot (<< 2.02+dfsg1-7), grub-doc (<< 0.97-29ubuntu60), grub-efi-amd64 (<< 2.02+dfsg1-7), grub-efi-arm (<< 2.02+dfsg1-7), grub-efi-arm64 (<< 2.02+dfsg1-7), grub-efi-ia32 (<< 2.02+dfsg1-7), grub-efi-ia64 (<< 2.02+dfsg1-7), grub-ieee1275 (<< 2.02+dfsg1-7), grub-legacy, grub-legacy-doc (<< 0.97-29ubuntu60), grub-pc (<< 2.02+dfsg1-7), grub-uboot (<< 2.02+dfsg1-7), grub-xen (<< 2.02+dfsg1-7), grub-yeeloong (<< 2.02+dfsg1-7) +Breaks: grub (<< 0.97-54), grub-cloud-amd64 (<< 0.0.4), grub-coreboot (<< 2.02+dfsg1-7), grub-doc (<< 0.97-29ubuntu60), grub-efi-amd64 (<< 2.02+dfsg1-7), grub-efi-arm (<< 2.02+dfsg1-7), grub-efi-arm64 (<< 2.02+dfsg1-7), grub-efi-ia32 (<< 2.02+dfsg1-7), grub-efi-ia64 (<< 2.02+dfsg1-7), grub-ieee1275 (<< 2.02+dfsg1-7), grub-legacy-doc (<< 0.97-29ubuntu60), grub-pc (<< 2.02+dfsg1-7), grub-uboot (<< 2.02+dfsg1-7), grub-xen (<< 2.02+dfsg1-7), grub-yeeloong (<< 2.02+dfsg1-7), shim (<< 0.9+1474479173.6c180c6-0ubuntu1~) + +Package: libgnome-desktop-4-1 +Architecture: amd64 +Version: 42.4-0ubuntu1 +APT-ID: 72388 +Multi-Arch: same +Source: gnome-desktop +Source-Version: 42.4-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: bubblewrap, gnome-desktop3-data (>= 42.4-0ubuntu1), gnome-desktop3-data (<< 43~), gsettings-desktop-schemas (>= 3.27.0), iso-codes, libc6 (>= 2.33), libgdk-pixbuf-2.0-0 (>= 2.36.5), libglib2.0-0 (>= 2.70.0), libseccomp2 (>= 1.0.1), libsystemd0, libudev1 (>= 196), libxkbregistry0 (>= 1.0.0) +Recommends: locales | locales-all + +Package: libiw30 +Architecture: amd64 +Version: 30~pre9-13.1ubuntu4 +APT-ID: 2718 +Multi-Arch: same +Source: wireless-tools +Source-Version: 30~pre9-13.1ubuntu4 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.29) + +Package: python3-pil +Architecture: amd64 +Version: 9.0.1-1build1 +APT-ID: 5396 +Multi-Arch: same +Source: pillow +Source-Version: 9.0.1-1build1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3 (<< 3.11), python3 (>= 3.10~), python3:any, mime-support | python3-pil.imagetk, libc6 (>= 2.14), libfreetype6 (>= 2.10.1), libimagequant0 (>= 2.11.10), libjpeg8 (>= 8c), liblcms2-2 (>= 2.7), libopenjp2-7 (>= 2.0.0), libraqm0 (>= 0.7.0), libtiff5 (>= 4.0.3), libwebp7, libwebpdemux2, libwebpmux3, libxcb1, zlib1g (>= 1:1.1.4) +Suggests: python-pil-doc +Recommends: python3-olefile +Conflicts: python3-imaging (<< 1.1.7+2.0.0-1.1) +Replaces: python3-imaging (<< 1.1.7+2.0.0-1.1) +Breaks: python3-imaging (<< 1.1.7+2.0.0-1.1) +Provides: python3-pillow + +Package: libreoffice-help-common +Architecture: all +Version: 1:7.3.6-0ubuntu0.22.04.1 +APT-ID: 72558 +Source: libreoffice +Source-Version: 1:7.3.6-0ubuntu0.22.04.1 +Priority: optional +Section: editors +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +Depends: libreoffice-common +Replaces: libreoffice-common (<< 1:6.3.0) +Breaks: libreoffice-common (<< 1:6.3.0) + +Package: libxcb-glx0 +Architecture: amd64 +Version: 1.14-3ubuntu3 +APT-ID: 4140 +Multi-Arch: same +Source: libxcb +Source-Version: 1.14-3ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libxcb1 + +Package: xinput +Architecture: amd64 +Version: 1.6.3-1build2 +APT-ID: 6033 +Source: xinput +Source-Version: 1.6.3-1build2 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libx11-6 (>= 2:1.2.99.901), libxi6 (>= 2:1.2.99.4), libxinerama1 (>= 2:1.1.4), libxrandr2 (>= 2:1.2.0) + +Package: libsource-highlight-common +Architecture: all +Version: 3.1.9-4.1build2 +APT-ID: 3712 +Multi-Arch: foreign +Source: source-highlight +Source-Version: 3.1.9-4.1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: source-highlight (<< 3.1.4-1) + +Package: libsemanage-common +Architecture: all +Version: 3.3-1build2 +APT-ID: 3655 +Multi-Arch: foreign +Source: libsemanage +Source-Version: 3.3-1build2 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: librevenge-0.0-0 +Architecture: amd64 +Version: 0.0.4-6ubuntu7 +APT-ID: 3560 +Multi-Arch: same +Source: librevenge +Source-Version: 0.0.4-6ubuntu7 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 11), zlib1g (>= 1:1.1.4) + +Package: libxkbregistry0 +Architecture: amd64 +Version: 1.4.0-1 +APT-ID: 4221 +Multi-Arch: same +Source: libxkbcommon +Source-Version: 1.4.0-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libxkbcommon0 (= 1.4.0-1), libc6 (>= 2.33), libxml2 (>= 2.7.4) + +Package: libv4l-0 +Architecture: amd64 +Version: 1.22.1-2build1 +APT-ID: 3983 +Multi-Arch: same +Source: v4l-utils +Source-Version: 1.22.1-2build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libv4lconvert0 (= 1.22.1-2build1), libc6 (>= 2.34) + +Package: libseccomp2 +Architecture: amd64 +Version: 2.5.3-2ubuntu2 +APT-ID: 3649 +Multi-Arch: same +Source: libseccomp +Source-Version: 2.5.3-2ubuntu2 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4) + +Package: hplip +Architecture: amd64 +Version: 3.21.12+dfsg0-1 +APT-ID: 969 +Source: hplip +Source-Version: 3.21.12+dfsg0-1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: adduser, cups, hplip-data (= 3.21.12+dfsg0-1), libhpmud0 (= 3.21.12+dfsg0-1), libsane-hpaio (= 3.21.12+dfsg0-1), lsb-base, printer-driver-hpcups (= 3.21.12+dfsg0-1), python3-dbus, python3-gi, python3-pexpect, python3-pil, python3-reportlab, wget, python3:any, xz-utils, python3 (<< 3.11), python3 (>= 3.10~), libc6 (>= 2.34), libcups2 (>= 1.6.0), libdbus-1-3 (>= 1.9.14), libpython3.10 (>= 3.10.0), libsane1 (>= 1.0.27) +Suggests: hplip-doc, hplip-gui, python3-notify2, system-config-printer +Recommends: avahi-daemon, policykit-1, printer-driver-postscript-hp, sane-utils + +Package: guile-2.2-libs +Architecture: amd64 +Version: 2.2.7+1-6build2 +APT-ID: 945 +Multi-Arch: same +Source: guile-2.2 +Source-Version: 2.2.7+1-6build2 +Priority: optional +Section: lisp +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.35), libcrypt1 (>= 1:4.1.0), libffi8 (>= 3.4), libgc1 (>= 1:7.4.2), libgmp10 (>= 2:6.2.1+dfsg), libltdl7 (>= 2.4.6), libreadline8 (>= 6.0), libunistring2 (>= 0.9.7) + +Package: python3-protobuf +Architecture: amd64 +Version: 3.12.4-1ubuntu7 +APT-ID: 5405 +Source: protobuf +Source-Version: 3.12.4-1ubuntu7 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgcc-s1 (>= 3.3.1), libprotobuf23 (>= 3.12.4), libstdc++6 (>= 11), python3 (<< 3.11), python3 (>= 3.10~), python3-pkg-resources, python3-six (>= 1.9), python3:any + +Package: libbluetooth3 +Architecture: amd64 +Version: 5.64-0ubuntu1 +APT-ID: 1755 +Multi-Arch: same +Source: bluez +Source-Version: 5.64-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.15), libudev1 (>= 183) +Conflicts: libsdp2 (<= 1.5-2) +Replaces: libsdp2 (<= 1.5-2) + +Package: libogg0 +Architecture: amd64 +Version: 1.3.5-0ubuntu3 +APT-ID: 3126 +Multi-Arch: same +Source: libogg +Source-Version: 1.3.5-0ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: python3-six +Architecture: all +Version: 1.16.0-3ubuntu1 +APT-ID: 5479 +Multi-Arch: foreign +Source: six +Source-Version: 1.16.0-3ubuntu1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any +Breaks: libpython-stdlib (<< 2.7.18), python-minimal (<< 2.7.18) + +Package: procps +Architecture: amd64 +Version: 2:3.3.17-6ubuntu2 +APT-ID: 4984 +Multi-Arch: foreign +Source: procps +Source-Version: 2:3.3.17-6ubuntu2 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libncurses6 (>= 6), libncursesw6 (>= 6), libprocps8 (>= 2:3.3.16-1), libtinfo6 (>= 6), lsb-base (>= 3.0-10), init-system-helpers (>= 1.29~) +Recommends: psmisc +Replaces: manpages-de (<< 4.9.1-2), manpages-fr (<< 4.9.1-2), manpages-fr-extra (<< 20151231+nmu1), manpages-pl (<< 1:4.9.1-2) +Breaks: guymager (<= 0.5.9-1), manpages-de (<< 4.9.1-2), manpages-fr (<< 4.9.1-2), manpages-fr-extra (<< 20151231+nmu1), manpages-pl (<< 1:4.9.1-2), open-vm-tools (<= 2011.12.20-562307-1) +Provides: watch + +Package: libgweather-3-16 +Architecture: amd64 +Version: 40.0-5build1 +APT-ID: 2566 +Multi-Arch: same +Source: libgweather +Source-Version: 40.0-5build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.29), libgeocode-glib0 (>= 0.99.1), libglib2.0-0 (>= 2.44.0), libgtk-3-0 (>= 3.13.5), libsoup2.4-1 (>= 2.44.0), libxml2 (>= 2.7.4), libgweather-common (>= 3.5.0) +Breaks: evolution-data-server (<< 3.38.3-2~), gnome-applets (<< 3.40.0-5~), gnome-calendar (<< 40.0~), gnome-panel (<< 3.40.0-3~), gnome-shell (<< 40.4-1~), gnome-weather (<< 40.0~), wmforecast (<< 1.5~) + +Package: gnome-menus +Architecture: amd64 +Version: 3.36.0-1ubuntu3 +APT-ID: 796 +Source: gnome-menus +Source-Version: 3.36.0-1ubuntu3 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any + +Package: fonts-noto-color-emoji +Architecture: all +Version: 2.034-1 +APT-ID: 479 +Multi-Arch: foreign +Source: fonts-noto-color-emoji +Source-Version: 2.034-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libxinerama1 +Architecture: amd64 +Version: 2:1.1.4-3 +APT-ID: 4212 +Multi-Arch: same +Source: libxinerama +Source-Version: 2:1.1.4-3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libx11-6 (>= 2:1.6.0), libxext6 + +Package: gir1.2-pango-1.0 +Architecture: amd64 +Version: 1.50.6+ds-2 +APT-ID: 736 +Multi-Arch: same +Source: pango1.0 +Source-Version: 1.50.6+ds-2 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-freedesktop (>= 0.9.5), gir1.2-glib-2.0 (>= 0.9.5), gir1.2-harfbuzz-0.0 (>= 2.6.0), libpango-1.0-0 (= 1.50.6+ds-2), libpangocairo-1.0-0 (= 1.50.6+ds-2), libpangoft2-1.0-0 (= 1.50.6+ds-2), libpangoxft-1.0-0 (= 1.50.6+ds-2) +Provides: gir1.2-pangoxft-1.0 (= 1.50.6+ds-2), gir1.2-pangoot-1.0 (= 1.50.6+ds-2), gir1.2-pangoft2-1.0 (= 1.50.6+ds-2), gir1.2-pangofc-1.0 (= 1.50.6+ds-2), gir1.2-pangocairo-1.0 (= 1.50.6+ds-2) + +Package: fonts-tlwg-typewriter +Architecture: all +Version: 1:0.7.3-1 +APT-ID: 533 +Multi-Arch: foreign +Source: fonts-tlwg +Source-Version: 1:0.7.3-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fonts-tlwg-typewriter-ttf | fonts-tlwg-typewriter-otf + +Package: printer-driver-sag-gdi +Architecture: all +Version: 0.1-8 +APT-ID: 4977 +Multi-Arch: foreign +Source: rastertosag-gdi +Source-Version: 0.1-8 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: ghostscript, python3:any +Recommends: cups | foomatic-filters +Replaces: rastertosag-gdi (<< 0.1-3) +Breaks: rastertosag-gdi (<< 0.1-3) + +Package: libwnck-3-0 +Architecture: amd64 +Version: 40.1-1 +APT-ID: 4074 +Multi-Arch: same +Source: libwnck3 +Source-Version: 40.1-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libatk1.0-0 (>= 1.12.4), libc6 (>= 2.14), libcairo2 (>= 1.2.4), libgdk-pixbuf-2.0-0 (>= 2.25.2), libglib2.0-0 (>= 2.44), libgtk-3-0 (>= 3.22.0), libpango-1.0-0 (>= 1.14.0), libstartup-notification0 (>= 0.4), libx11-6, libxrender1, libxres1 (>= 2:1.2.1), libwnck-3-common + +Package: fonts-kalapi +Architecture: all +Version: 1.0-4 +APT-ID: 451 +Multi-Arch: foreign +Source: fonts-kalapi +Source-Version: 1.0-4 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Pre-Depends: dpkg (>= 1.15.6~) + +Package: linux-modules-extra-5.15.0-48-generic +Architecture: amd64 +Version: 5.15.0-48.54 +APT-ID: 73886 +Source: linux +Source-Version: 5.15.0-48.54 +Priority: optional +Section: kernel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: linux-image-5.15.0-48-generic | linux-image-unsigned-5.15.0-48-generic, wireless-regdb + +Package: libjbig0 +Architecture: amd64 +Version: 2.1-3.1build3 +APT-ID: 2732 +Multi-Arch: same +Source: jbigkit +Source-Version: 2.1-3.1build3 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4) + +Package: apturl +Architecture: amd64 +Version: 0.5.2ubuntu22 +APT-ID: 55 +Source: apturl +Source-Version: 0.5.2ubuntu22 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any (>= 3.2~), apturl-common (= 0.5.2ubuntu22), adwaita-icon-theme, python3-gi, software-properties-gtk, python3-aptdaemon, python3-aptdaemon.gtk3widgets, gir1.2-gtk-3.0, gir1.2-webkit2-4.0 +Suggests: libgtk2-perl (>= 1:1.130) + +Package: python3-uno +Architecture: amd64 +Version: 1:7.3.6-0ubuntu0.22.04.1 +APT-ID: 74360 +Source: libreoffice +Source-Version: 1:7.3.6-0ubuntu0.22.04.1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libreoffice-common (>= 1:7.0.0~alpha~), libreoffice-core (= 1:7.3.6-0ubuntu0.22.04.1) | libreoffice-core-nogui (= 1:7.3.6-0ubuntu0.22.04.1), ucf (>= 0.8), python3:any, python3 (<< 3.11), python3 (>= 3.10~), python3.10, libc6 (>= 2.34), libgcc-s1 (>= 3.0), libpython3.10 (>= 3.10.0), libstdc++6 (>= 11), libuno-cppu3 (>= 4.4.0~alpha), libuno-cppuhelpergcc3-3 (>= 5.3.0~alpha), libuno-sal3 (>= 5.4.0~alpha), libuno-salhelpergcc3-3 (>= 3.6.0~beta), uno-libs-private +Conflicts: python-uno +Replaces: libreoffice-common (<< 1:4.4.0~beta2), libreoffice-core (= 1:4.3.0~beta1-1) +Enhances: libreoffice + +Package: fonts-samyak-deva +Architecture: all +Version: 1.2.2-5build1 +APT-ID: 488 +Multi-Arch: foreign +Source: fonts-samyak +Source-Version: 1.2.2-5build1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: ttf-devanagari-fonts (<< 2:1.0) +Breaks: ttf-devanagari-fonts (<< 2:1.0) + +Package: distro-info +Architecture: amd64 +Version: 1.1build1 +APT-ID: 327 +Source: distro-info +Source-Version: 1.1build1 +Priority: required +Section: devel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: distro-info-data (>= 0.46), libc6 (>= 2.34) +Suggests: shunit2 (>= 2.1.6) + +Package: pulseaudio-module-bluetooth +Architecture: amd64 +Version: 1:15.99.1+dfsg1-1ubuntu1 +APT-ID: 4988 +Source: pulseaudio +Source-Version: 1:15.99.1+dfsg1-1ubuntu1 +Priority: extra +Section: sound +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbluetooth3 (>= 4.91), libc6 (>= 2.14), libdbus-1-3 (>= 1.9.14), libglib2.0-0 (>= 2.12.0), libgstreamer-plugins-base1.0-0 (>= 1.10.0), libgstreamer1.0-0 (>= 1.14), libpulse0 (= 1:15.99.1+dfsg1-1ubuntu1), libsbc1 (>= 1.5), pulseaudio (= 1:15.99.1+dfsg1-1ubuntu1), bluez (>= 5.23) +Suggests: gstreamer1.0-plugins-bad (>= 1.19) +Recommends: gstreamer1.0-plugins-good (>= 1.19) + +Package: libopenjp2-7 +Architecture: amd64 +Version: 2.4.0-6 +APT-ID: 3139 +Multi-Arch: same +Source: openjpeg2 +Source-Version: 2.4.0-6 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: libwayland-egl1 +Architecture: amd64 +Version: 1.20.0-1ubuntu0.1 +APT-ID: 72824 +Multi-Arch: same +Source: wayland +Source-Version: 1.20.0-1ubuntu0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.2.5) +Replaces: libwayland-egl1-mesa (<< 18.0.5-0) +Breaks: libwayland-egl1-mesa (<< 18.0.5-0) +Provides: libwayland-egl1-mesa + +Package: python3-nacl +Architecture: amd64 +Version: 1.5.0-2 +APT-ID: 5328 +Source: python-nacl +Source-Version: 1.5.0-2 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3 (>= 3~), python3-cffi-backend-api-min (<= 9729), python3-cffi-backend-api-max (>= 9729), python3:any, libc6 (>= 2.4), libsodium23 (>= 1.0.18) +Suggests: python-nacl-doc + +Package: libcdparanoia0 +Architecture: amd64 +Version: 3.10.2+debian-14build2 +APT-ID: 1866 +Multi-Arch: same +Source: cdparanoia +Source-Version: 3.10.2+debian-14build2 +Priority: optional +Section: sound +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: libpython3-stdlib +Architecture: amd64 +Version: 3.10.6-1~22.04 +APT-ID: 72530 +Multi-Arch: same +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: required +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libpython3.10-stdlib (>= 3.10.6-1~) + +Package: libpython3-stdlib +Architecture: amd64 +Version: 3.10.4-0ubuntu2 +APT-ID: 3336 +Multi-Arch: same +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-0ubuntu2 +Priority: required +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Automatic: yes +Depends: libpython3.10-stdlib (>= 3.10.4-1~) + +Package: libcdio-paranoia2 +Architecture: amd64 +Version: 10.2+2.0.0-1build3 +APT-ID: 1863 +Multi-Arch: same +Source: libcdio-paranoia +Source-Version: 10.2+2.0.0-1build3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libcdio-cdda2 (>= 10.2+2.0.0), libcdio19 (>= 2.1.0) + +Package: python3.10-dbg +Architecture: amd64 +Version: 3.10.6-1~22.04 +APT-ID: 74362 +Multi-Arch: allowed +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: optional +Section: debug +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3.10 (= 3.10.6-1~22.04), libpython3.10-dbg (= 3.10.6-1~22.04), libc6 (>= 2.35), libexpat1 (>= 2.1~beta3), zlib1g (>= 1:1.2.0) +Suggests: python3-gdbm-dbg, python3-tk-dbg +Recommends: gdb + +Package: python3.10-dbg +Architecture: amd64 +Version: 3.10.4-3ubuntu0.1 +APT-ID: 79408 +Multi-Arch: allowed +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3ubuntu0.1 +Priority: optional +Section: debug +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +Depends: python3.10 (= 3.10.4-3ubuntu0.1), libpython3.10-dbg (= 3.10.4-3ubuntu0.1), libc6 (>= 2.35), libexpat1 (>= 2.1~beta3), zlib1g (>= 1:1.2.0) +Suggests: python3-gdbm-dbg, python3-tk-dbg +Recommends: gdb + +Package: python3.10-dbg +Architecture: amd64 +Version: 3.10.4-3 +APT-ID: 5551 +Multi-Arch: allowed +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3 +Priority: optional +Section: debug +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +Depends: python3.10 (= 3.10.4-3), libpython3.10-dbg (= 3.10.4-3), libc6 (>= 2.35), libexpat1 (>= 2.1~beta3), zlib1g (>= 1:1.2.0) +Suggests: python3-gdbm-dbg, python3-tk-dbg +Recommends: gdb + +Package: python3.10-dev +Architecture: amd64 +Version: 3.10.6-1~22.04 +APT-ID: 74363 +Multi-Arch: allowed +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: optional +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3.10 (= 3.10.6-1~22.04), libpython3.10-dev (= 3.10.6-1~22.04), libpython3.10 (= 3.10.6-1~22.04) +Recommends: libc6-dev | libc-dev + +Package: python3.10-dev +Architecture: amd64 +Version: 3.10.4-3ubuntu0.1 +APT-ID: 79409 +Multi-Arch: allowed +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3ubuntu0.1 +Priority: optional +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +Depends: python3.10 (= 3.10.4-3ubuntu0.1), libpython3.10-dev (= 3.10.4-3ubuntu0.1), libpython3.10 (= 3.10.4-3ubuntu0.1) +Recommends: libc6-dev | libc-dev + +Package: python3.10-dev +Architecture: amd64 +Version: 3.10.4-3 +APT-ID: 5552 +Multi-Arch: allowed +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3 +Priority: optional +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +Depends: python3.10 (= 3.10.4-3), libpython3.10-dev (= 3.10.4-3), libpython3.10 (= 3.10.4-3) +Recommends: libc6-dev | libc-dev + +Package: libxcb-shape0 +Architecture: amd64 +Version: 1.14-3ubuntu3 +APT-ID: 4162 +Multi-Arch: same +Source: libxcb +Source-Version: 1.14-3ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libxcb1 + +Package: rfkill +Architecture: amd64 +Version: 2.37.2-4ubuntu3 +APT-ID: 5599 +Multi-Arch: foreign +Source: util-linux +Source-Version: 2.37.2-4ubuntu3 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libsmartcols1 (>= 2.33) + +Package: bash-completion +Architecture: all +Version: 1:2.11-5ubuntu1 +APT-ID: 89 +Multi-Arch: foreign +Source: bash-completion +Source-Version: 1:2.11-5ubuntu1 +Priority: standard +Section: shells +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Provides: dh-sequence-bash-completion + +Package: libglapi-mesa +Architecture: amd64 +Version: 22.0.5-0ubuntu0.1 +APT-ID: 72381 +Multi-Arch: same +Source: mesa +Source-Version: 22.0.5-0ubuntu0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: python3.10-doc +Architecture: all +Version: 3.10.6-1~22.04 +APT-ID: 74364 +Multi-Arch: foreign +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: optional +Section: doc +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +Depends: libjs-jquery, libjs-underscore +Suggests: python3.10 + +Package: python3.10-doc +Architecture: all +Version: 3.10.4-3ubuntu0.1 +APT-ID: 79410 +Multi-Arch: foreign +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3ubuntu0.1 +Priority: optional +Section: doc +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +Depends: libjs-jquery, libjs-underscore +Suggests: python3.10 + +Package: python3.10-doc +Architecture: all +Version: 3.10.4-3 +APT-ID: 5553 +Multi-Arch: foreign +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3 +Priority: optional +Section: doc +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +Depends: libjs-jquery, libjs-underscore +Suggests: python3.10 + +Package: libvorbis0a +Architecture: amd64 +Version: 1.3.7-1build2 +APT-ID: 4021 +Multi-Arch: same +Source: libvorbis +Source-Version: 1.3.7-1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.29), libogg0 (>= 1.1.0) + +Package: x11-apps +Architecture: amd64 +Version: 7.7+8build2 +APT-ID: 5988 +Source: x11-apps +Source-Version: 7.7+8build2 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.35), libpng16-16 (>= 1.6.2-1), libsm6, libx11-6, libxaw7 (>= 2:1.0.14), libxcursor1 (>> 1.1.2), libxext6, libxft2 (>> 2.1.1), libxkbfile1 (>= 1:1.1.0), libxmu6 (>= 2:1.1.3), libxmuu1 (>= 2:1.1.3), libxrender1, libxt6 (>= 1:1.1.0), man-db +Suggests: mesa-utils +Recommends: xbitmaps +Conflicts: bitmap, oclock, transset, x11perf, xbiff, xcalc, xclipboard, xclock, xconsole, xcursorgen, xditview, xeyes, xgc, xload, xlogo, xmag, xman, xmore, xwd, xwud +Replaces: bitmap, oclock, transset, x11perf, xbase-clients (<= 1:7.2.ds2-3), xbiff, xcalc, xclipboard, xclock, xconsole, xcursorgen, xditview, xeyes, xgc, xload, xlogo, xmag, xman, xmore, xwd, xwud + +Package: mount +Architecture: amd64 +Version: 2.37.2-4ubuntu3 +APT-ID: 4659 +Multi-Arch: foreign +Source: util-linux +Source-Version: 2.37.2-4ubuntu3 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Pre-Depends: libblkid1 (>= 2.17.2), libc6 (>= 2.34), libmount1 (>= 2.37.2), libselinux1 (>= 3.1~), libsmartcols1 (>= 2.33) +Suggests: nfs-common + +Package: libayatana-ido3-0.4-0 +Architecture: amd64 +Version: 0.9.1-1 +APT-ID: 1703 +Multi-Arch: same +Source: ayatana-ido +Source-Version: 0.9.1-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libcairo2 (>= 1.2.4), libgdk-pixbuf-2.0-0 (>= 2.23.0), libglib2.0-0 (>= 2.67.1), libgtk-3-0 (>= 3.21.4), libpango-1.0-0 (>= 1.20.0), libpangocairo-1.0-0 (>= 1.14.0) +Breaks: ayatana-indicator-datetime (<< 0.9.0), ayatana-indicator-display (<< 0.9.0), ayatana-indicator-keyboard (<< 0.9.0), ayatana-indicator-messages (<< 0.9.0), ayatana-indicator-notifications (<< 0.9.0), ayatana-indicator-power (<< 0.9.0), ayatana-indicator-session (<< 0.9.0), ayatana-indicator-sound (<< 0.9.0) + +Package: libestr0 +Architecture: amd64 +Version: 0.1.10-2.1build3 +APT-ID: 2162 +Multi-Arch: same +Source: libestr +Source-Version: 0.1.10-2.1build3 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: libglib2.0-0 +Architecture: amd64 +Version: 2.72.1-1 +APT-ID: 2386 +Multi-Arch: same +Source: glib2.0 +Source-Version: 2.72.1-1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libffi8 (>= 3.4), libmount1 (>= 2.35.2-7~), libpcre3, libselinux1 (>= 3.1~), zlib1g (>= 1:1.2.2) +Recommends: libglib2.0-data, shared-mime-info, xdg-user-dirs +Breaks: gimp (<< 2.10.14-3~), glib-networking-tests (<< 2.70.0~), gnome-keyring (<< 40.0-3~), libgirepository-1.0-1 (<< 1.62.0-4~), libgladeui-2-6 (<< 3.22.2), libsoup2.4-tests (<< 2.72.0-3~) + +Package: cheese +Architecture: amd64 +Version: 41.1-1build1 +APT-ID: 179 +Source: cheese +Source-Version: 41.1-1build1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcanberra-gtk3-0 (>= 0.25), libcheese-gtk25 (= 41.1-1build1), libcheese8 (= 41.1-1build1), libclutter-1.0-0 (>= 1.16), libclutter-gtk-1.0-0 (>= 0.91.8), libgdk-pixbuf-2.0-0 (>= 2.25.2), libglib2.0-0 (>= 2.39.90), libgnome-desktop-3-19 (>= 3.17.92), libgstreamer1.0-0 (>= 1.0.0), libgtk-3-0 (>= 3.21.5), cheese-common (>= 41.1-1build1), gnome-video-effects +Suggests: gnome-video-effects-frei0r +Recommends: gvfs, yelp + +Package: fonts-smc-rachana +Architecture: all +Version: 7.0.2-1build1 +APT-ID: 507 +Multi-Arch: foreign +Source: fonts-smc-rachana +Source-Version: 7.0.2-1build1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: fonts-smc (<< 6.1~), ttf-malayalam-fonts +Breaks: fonts-smc (<< 6.1~), ttf-malayalam-fonts + +Package: fonts-navilu +Architecture: all +Version: 1.2-3 +APT-ID: 476 +Multi-Arch: foreign +Source: fonts-navilu +Source-Version: 1.2-3 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: ubuntu-docs +Architecture: all +Version: 22.04.5 +APT-ID: 74529 +Source: ubuntu-docs +Source-Version: 22.04.5 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: yelp +Recommends: gnome-user-docs + +Package: libdaemon0 +Architecture: amd64 +Version: 0.14-7.1ubuntu3 +APT-ID: 1982 +Multi-Arch: same +Source: libdaemon +Source-Version: 0.14-7.1ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.15) + +Package: python3-xdg +Architecture: all +Version: 0.27-2 +APT-ID: 5539 +Source: pyxdg +Source-Version: 0.27-2 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any +Provides: python3-pyxdg + +Package: sound-theme-freedesktop +Architecture: all +Version: 0.8-2ubuntu1 +APT-ID: 5678 +Multi-Arch: foreign +Source: sound-theme-freedesktop +Source-Version: 0.8-2ubuntu1 +Priority: extra +Section: sound +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: python3-yaml +Architecture: amd64 +Version: 5.4.1-1ubuntu1 +APT-ID: 5542 +Multi-Arch: allowed +Source: pyyaml +Source-Version: 5.4.1-1ubuntu1 +Priority: required +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3 (<< 3.11), python3 (>= 3.10~), python3:any, libc6 (>= 2.14), libyaml-0-2 +Breaks: libpython-stdlib (<< 2.7.18), python-minimal (<< 2.7.18), python-yaml (<< 5.3.1-2) + +Package: dmz-cursor-theme +Architecture: all +Version: 0.4.5ubuntu1 +APT-ID: 334 +Source: dmz-cursor-theme +Source-Version: 0.4.5ubuntu1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libtss2-sys1 +Architecture: amd64 +Version: 3.2.0-1ubuntu1 +APT-ID: 3900 +Multi-Arch: same +Source: tpm2-tss +Source-Version: 3.2.0-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: tpm-udev, libc6 (>= 2.4), libtss2-mu0 (>= 3.0.1) +Replaces: libtss2-esys0 (<< 3.0.1-2) +Breaks: libtss2-esys0 (<< 3.0.1-2) + +Package: libjson-glib-1.0-0 +Architecture: amd64 +Version: 1.6.6-1build1 +APT-ID: 2755 +Multi-Arch: same +Source: json-glib +Source-Version: 1.6.6-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libjson-glib-1.0-common (>= 1.6.6-1build1), libc6 (>= 2.4), libglib2.0-0 (>= 2.55.2) + +Package: x11-xserver-utils +Architecture: amd64 +Version: 7.7+9build1 +APT-ID: 5993 +Source: x11-xserver-utils +Source-Version: 7.7+9build1 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libice6 (>= 1:1.0.0), libx11-6, libxaw7 (>= 2:1.0.14), libxcursor1 (>> 1.1.2), libxext6, libxi6, libxmu6 (>= 2:1.1.3), libxmuu1 (>= 2:1.1.3), libxrandr2 (>= 2:1.5.0), libxt6, libxxf86vm1, cpp +Suggests: nickle, cairo-5c, xorg-docs-core +Conflicts: iceauth, sessreg, xgamma, xhost, xmodmap, xrandr, xrdb, xrefresh, xrgb, xset, xsetmode, xsetpointer, xsetroot, xstdcmap, xvidtune +Replaces: iceauth, sessreg, xbase-clients (<< 1:7.3), xgamma, xhost, xmodmap, xrandr, xrdb, xrefresh, xrgb, xset, xsetmode, xsetpointer, xsetroot, xstdcmap, xutils (<< 1:7.2), xvidtune +Breaks: arandr (<< 0.1.9) + +Package: rhythmbox-plugin-alternative-toolbar +Architecture: all +Version: 0.20.2-1 +APT-ID: 5604 +Source: rhythmbox-plugin-alternative-toolbar +Source-Version: 0.20.2-1 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend, python3:any, python3-gi, rhythmbox (>= 3.0) + +Package: perl-base +Architecture: amd64 +Version: 5.34.0-3ubuntu1 +APT-ID: 4864 +Essential: yes +Source: perl +Source-Version: 5.34.0-3ubuntu1 +Priority: important +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Pre-Depends: libc6 (>= 2.35), libcrypt1 (>= 1:4.1.0), dpkg (>= 1.17.17) +Suggests: perl, sensible-utils +Conflicts: defoma (<< 0.11.12), doc-base (<< 0.10.3), mono-gac (<< 2.10.8.1-3), safe-rm (<< 0.8), update-inetd (<< 4.41) +Replaces: libfile-path-perl (<< 2.18), libfile-temp-perl (<< 0.2311), libio-socket-ip-perl (<< 0.41), libscalar-list-utils-perl (<< 1:1.55), libsocket-perl (<< 2.031), libxsloader-perl (<< 0.30), perl (<< 5.10.1-12), perl-modules (<< 5.20.1-3) +Breaks: amanda-common (<< 1:3.3.9-2), backuppc (<< 3.3.1-2), bucardo (<< 5.5.0-1.1), debconf (<< 1.5.61), dh-haskell (<< 0.3), intltool (<< 0.51.0-4), kio-perldoc (<< 20.04.1-1), latexml (<< 0.8.4-2), libdevel-mat-dumper-perl (<< 0.42-3), libencode-arabic-perl (<< 14.2-2), libexception-class-perl (<< 1.42), libfile-path-perl (<< 2.18), libfile-spec-perl (<< 3.8000), libfile-temp-perl (<< 0.2311), libio-socket-ip-perl (<< 0.41), libmp3-tag-perl (<< 1.13-1.2), libsbuild-perl (<< 0.67.0-1), libscalar-list-utils-perl (<< 1:1.55), libsocket-perl (<< 2.031), libxsloader-perl (<< 0.30), mailagent (<< 1:3.1-81-2), perl (<< 5.34.0~), perl-modules (<< 5.34.0~), pod2pdf (<< 0.42-5.1), slic3r (<< 1.2.9+dfsg-6.1), slic3r-prusa (<< 1.37.0+dfsg-1.1), texinfo (<< 6.1.0.dfsg.1-8) +Provides: perlapi-5.34.0, libxsloader-perl (= 0.30), libsocket-perl (= 2.031), libscalar-list-utils-perl (= 1:1.55), libio-socket-ip-perl (= 0.41), libfile-temp-perl (= 0.2311), libfile-path-perl (= 2.18) + +Package: fonts-taml +Architecture: all +Version: 2:1.4 +APT-ID: 511 +Multi-Arch: foreign +Source: fonts-taml +Source-Version: 2:1.4 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fonts-lohit-taml, fonts-lohit-taml-classical, fonts-samyak-taml +Replaces: ttf-tamil-fonts +Breaks: ttf-tamil-fonts (<< 2:1.0) + +Package: libwmf0.2-7-gtk +Architecture: amd64 +Version: 0.2.12-5ubuntu1 +APT-ID: 4072 +Multi-Arch: same +Source: libwmf +Source-Version: 0.2.12-5ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libwmf-0.2-7-gtk (>= 0.2.12-5ubuntu1) + +Package: libdbusmenu-glib4 +Architecture: amd64 +Version: 16.04.1+18.10.20180917-0ubuntu8 +APT-ID: 2032 +Multi-Arch: same +Source: libdbusmenu +Source-Version: 16.04.1+18.10.20180917-0ubuntu8 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: xserver-xorg-input-wacom +Architecture: amd64 +Version: 1:1.0.0-3ubuntu1 +APT-ID: 6050 +Source: xf86-input-wacom +Source-Version: 1:1.0.0-3ubuntu1 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libudev1 (>= 183), libx11-6, libxi6 (>= 2:1.2.0), libxinerama1 (>= 2:1.1.4), libxrandr2 (>= 2:1.2.0), xorg-input-abi-24, xserver-xorg-core (>= 2:21.1.1) +Suggests: xinput +Conflicts: wacom-tools (<< 0.10.0) +Replaces: wacom-tools (<< 0.10.0) +Provides: xorg-driver-input + +Package: xfonts-utils +Architecture: amd64 +Version: 1:7.7+6build2 +APT-ID: 6028 +Multi-Arch: foreign +Source: xfonts-utils +Source-Version: 1:7.7+6build2 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libfontenc1 (>= 1:1.1.4), libfreetype6 (>= 2.2.1), zlib1g (>= 1:1.1.4), x11-common, xfonts-encodings + +Package: libpam0g +Architecture: amd64 +Version: 1.4.0-11ubuntu2 +APT-ID: 3188 +Multi-Arch: same +Source: pam +Source-Version: 1.4.0-11ubuntu2 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libaudit1 (>= 1:2.2.1), libc6 (>= 2.34), debconf (>= 0.5) | debconf-2.0 +Suggests: libpam-doc +Replaces: libpam0g-util + +Package: libuno-sal3 +Architecture: amd64 +Version: 1:7.3.6-0ubuntu0.22.04.1 +APT-ID: 72798 +Source: libreoffice +Source-Version: 1:7.3.6-0ubuntu0.22.04.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgcc-s1 (>= 3.0), libstdc++6 (>= 11), zlib1g (>= 1:1.1.4) +Replaces: uno-libs3, ure (<< 5.0.0~rc2-1) +Breaks: libreoffice-core (<< 1:4.3.0~), uno-libs3 + +Package: nano +Architecture: amd64 +Version: 6.2-1 +APT-ID: 4724 +Source: nano +Source-Version: 6.2-1 +Priority: standard +Section: editors +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libncursesw6 (>= 6), libtinfo6 (>= 6) +Suggests: hunspell +Conflicts: pico +Replaces: nano-tiny (<< 2.8.6-2), pico +Breaks: nano-tiny (<< 2.8.6-2) + +Package: gir1.2-dbusmenu-glib-0.4 +Architecture: amd64 +Version: 16.04.1+18.10.20180917-0ubuntu8 +APT-ID: 654 +Multi-Arch: same +Source: libdbusmenu +Source-Version: 16.04.1+18.10.20180917-0ubuntu8 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libdbusmenu-glib4 (= 16.04.1+18.10.20180917-0ubuntu8), gir1.2-glib-2.0 (>= 0.9.3) + +Package: librygel-db-2.6-2 +Architecture: amd64 +Version: 0.40.3-1ubuntu2 +APT-ID: 3622 +Multi-Arch: same +Source: rygel +Source-Version: 0.40.3-1ubuntu2 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libglib2.0-0 (>= 2.56.0), librygel-core-2.6-2 (>= 0.40.3), libsqlite3-0 (>= 3.5.9), libunistring2 (>= 0.9.7) + +Package: libspa-0.2-modules +Architecture: amd64 +Version: 0.3.48-1ubuntu1 +APT-ID: 3719 +Multi-Arch: same +Source: pipewire +Source-Version: 0.3.48-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libasound2 (>= 1.2.1.1), libc6 (>= 2.33), libdbus-1-3 (>= 1.9.14), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 5), libsystemd0, libudev1 (>= 183), libwebrtc-audio-processing1 +Replaces: pipewire (<< 0.3.5) +Breaks: pipewire (<< 0.3.5) + +Package: rtkit +Architecture: amd64 +Version: 0.13-4build2 +APT-ID: 5612 +Source: rtkit +Source-Version: 0.13-4build2 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: adduser, dbus, policykit-1, libc6 (>= 2.34), libcap2 (>= 1:2.10), libdbus-1-3 (>= 1.9.14), libsystemd0 + +Package: fonts-noto-cjk +Architecture: all +Version: 1:20220127+repack1-1 +APT-ID: 477 +Multi-Arch: foreign +Source: fonts-noto-cjk +Source-Version: 1:20220127+repack1-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Suggests: fonts-noto-cjk-extra + +Package: libdns-export1110 +Architecture: amd64 +Version: 1:9.11.19+dfsg-2.1ubuntu3 +APT-ID: 2084 +Source: bind9-libs +Source-Version: 1:9.11.19+dfsg-2.1ubuntu3 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libisc-export1105, libssl3 (>= 3.0.0~~alpha1) + +Package: libreoffice-ogltrans +Architecture: all +Version: 1:7.3.6-0ubuntu0.22.04.1 +APT-ID: 72690 +Source: libreoffice +Source-Version: 1:7.3.6-0ubuntu0.22.04.1 +Priority: extra +Section: graphics +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libreoffice-impress (>= 1:6.2.0~beta1~) + +Package: libbrotli1 +Architecture: amd64 +Version: 1.0.9-2build6 +APT-ID: 1793 +Multi-Arch: same +Source: brotli +Source-Version: 1.0.9-2build6 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.29) + +Package: gnome-video-effects +Architecture: all +Version: 0.5.0-1ubuntu1 +APT-ID: 861 +Source: gnome-video-effects +Source-Version: 0.5.0-1ubuntu1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gstreamer1.0-plugins-good +Suggests: gnome-video-effects-extra, gnome-video-effects-frei0r + +Package: gnome-shell-extension-ubuntu-dock +Architecture: all +Version: 72~ubuntu5.22.04.1 +APT-ID: 71873 +Source: gnome-shell-extension-ubuntu-dock +Source-Version: 72~ubuntu5.22.04.1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gnome-shell (<< 43), gnome-shell (>= 40), dconf-gsettings-backend | gsettings-backend +Replaces: gnome-shell-extension-dashtodock + +Package: xserver-xephyr +Architecture: amd64 +Version: 2:21.1.3-2ubuntu2.1 +APT-ID: 74553 +Source: xorg-server +Source-Version: 2:21.1.3-2ubuntu2.1 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: xserver-common (>= 2:21.1.3-2ubuntu2.1), libaudit1 (>= 1:2.2.1), libbsd0 (>= 0.7.0), libc6 (>= 2.35), libepoxy0 (>= 1.0), libgcrypt20 (>= 1.9.0), libgl1, libpixman-1-0 (>= 0.30.0), libselinux1 (>= 3.1~), libsystemd0, libudev1 (>= 183), libunwind8, libx11-6, libx11-xcb1 (>= 2:1.7.5), libxau6 (>= 1:1.0.9), libxcb-icccm4 (>= 0.4.1), libxcb-image0 (>= 0.2.1), libxcb-keysyms1 (>= 0.4.0), libxcb-randr0 (>= 1.1), libxcb-render-util0, libxcb-render0, libxcb-shape0, libxcb-shm0 (>= 1.10), libxcb-util1 (>= 0.4.0), libxcb-xkb1, libxcb-xv0 (>= 1.2), libxcb1 (>= 1.8), libxdmcp6, libxfont2 (>= 1:2.0.1), libxshmfence1 +Recommends: libgl1-mesa-dri (>= 7.1~rc1) +Provides: xserver + +Package: nautilus-sendto +Architecture: amd64 +Version: 3.8.6-4 +APT-ID: 4728 +Source: nautilus-sendto +Source-Version: 3.8.6-4 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.30.0) +Enhances: evince, nautilus + +Package: fonts-smc-uroob +Architecture: all +Version: 2.0.2-1 +APT-ID: 510 +Multi-Arch: foreign +Source: fonts-smc-uroob +Source-Version: 2.0.2-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: grub-common +Architecture: amd64 +Version: 2.06-2ubuntu7 +APT-ID: 898 +Multi-Arch: foreign +Source: grub2 +Source-Version: 2.06-2ubuntu7 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libc6 (>= 2.34), libdevmapper1.02.1 (>= 2:1.02.36), libefiboot1 (>= 37), libefivar1 (>= 37), libfreetype6 (>= 2.2.1), libfuse3-3 (>= 3.2.3), liblzma5 (>= 5.1.1alpha+20120614), debconf (>= 0.5) | debconf-2.0, gettext-base, lsb-base (>= 3.0-6) +Suggests: multiboot-doc, grub-emu, mtools, xorriso (>= 0.5.6.pl00), desktop-base (>= 4.0.6), console-setup +Recommends: os-prober (>= 1.33) +Conflicts: init-select +Replaces: grub-coreboot (<< 2.00-4), grub-efi (<< 1.99-1), grub-efi-amd64 (<< 2.00-4), grub-efi-ia32 (<< 2.00-4), grub-efi-ia64 (<< 2.00-4), grub-ieee1275 (<< 2.00-4), grub-linuxbios (<< 1.96+20080831-1), grub-pc (<< 2.00-4), grub-yeeloong (<< 2.00-4), init-select +Breaks: apport (<< 2.1.1), friendly-recovery (<< 0.2.13), lupin-support (<< 0.55), mdadm (<< 2.6.7-2) + +Package: libgtk-3-0 +Architecture: amd64 +Version: 3.24.33-1ubuntu2 +APT-ID: 72409 +Multi-Arch: same +Source: gtk+3.0 +Source-Version: 3.24.33-1ubuntu2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: adwaita-icon-theme, hicolor-icon-theme, shared-mime-info, libatk-bridge2.0-0 (>= 2.5.3), libatk1.0-0 (>= 2.35.1), libc6 (>= 2.34), libcairo-gobject2 (>= 1.14.0), libcairo2 (>= 1.14.0), libcolord2 (>= 0.1.10), libcups2 (>= 2.3~b6), libepoxy0 (>= 1.4.3), libfontconfig1 (>= 2.12.6), libfribidi0 (>= 0.19.7), libgdk-pixbuf-2.0-0 (>= 2.40.0), libglib2.0-0 (>= 2.59.0), libharfbuzz0b (>= 2.2.0), libpango-1.0-0 (>= 1.45.5), libpangocairo-1.0-0 (>= 1.44.0), libpangoft2-1.0-0 (>= 1.44.0), libwayland-client0 (>= 1.20.0), libwayland-cursor0 (>= 1.14.91), libwayland-egl1 (>= 1.15.0), libx11-6 (>= 2:1.4.99.1), libxcomposite1 (>= 1:0.4.5), libxcursor1 (>> 1.1.2), libxdamage1 (>= 1:1.1), libxext6, libxfixes3, libxi6 (>= 2:1.2.99.4), libxinerama1 (>= 2:1.1.4), libxkbcommon0 (>= 0.5.0), libxrandr2 (>= 2:1.5.0), libgtk-3-common (>= 3.24.33-1ubuntu2) +Suggests: gvfs +Recommends: libgtk-3-bin, librsvg2-common +Provides: gtk3-binver-3.0.0 + +Package: anacron +Architecture: amd64 +Version: 2.3-31ubuntu2 +APT-ID: 20 +Source: anacron +Source-Version: 2.3-31ubuntu2 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debianutils, lsb-base (>= 3.0-10), libc6 (>= 2.34) +Suggests: default-mta | mail-transport-agent, rsyslog | system-log-daemon, powermgmt-base +Recommends: cron | cron-daemon + +Package: bind9-libs +Architecture: amd64 +Version: 1:9.18.1-1ubuntu1.2 +APT-ID: 71719 +Multi-Arch: same +Source: bind9 +Source-Version: 1:9.18.1-1ubuntu1.2 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgssapi-krb5-2 (>= 1.17), libjson-c5 (>= 0.15), libkrb5-3 (>= 1.6.dfsg.2), liblmdb0 (>= 0.9.7), libmaxminddb0 (>= 1.3.0), libnghttp2-14 (>= 1.12.0), libssl3 (>= 3.0.0~~alpha1), libuv1 (>= 1.34.2), libxml2 (>= 2.7.4), zlib1g (>= 1:1.1.4) +Replaces: bind-libs (<< 1:9.13.6~) +Breaks: bind-libs (<< 1:9.13.6~) + +Package: libpaper-utils +Architecture: amd64 +Version: 1.1.28build2 +APT-ID: 3200 +Multi-Arch: foreign +Source: libpaper +Source-Version: 1.1.28build2 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libpaper1 +Replaces: libpaper1 (<< 1.1.10), libpaperg (<< 1.1.9) + +Package: libdrm-amdgpu1 +Architecture: amd64 +Version: 2.4.110-1ubuntu1 +APT-ID: 2091 +Multi-Arch: same +Source: libdrm +Source-Version: 2.4.110-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.28), libdrm2 (>= 2.4.108) + +Package: mime-support +Architecture: all +Version: 3.66 +APT-ID: 4647 +Multi-Arch: foreign +Source: mime-support +Source-Version: 3.66 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: mailcap, media-types + +Package: simple-scan +Architecture: amd64 +Version: 42.0-1 +APT-ID: 5665 +Source: simple-scan +Source-Version: 42.0-1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: default-dbus-session-bus | dbus-session-bus, xdg-utils, dconf-gsettings-backend | gsettings-backend, libc6 (>= 2.34), libcairo2 (>= 1.4.10), libcolord2 (>= 0.1.10), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.43.92), libgtk-3-0 (>= 3.21.5), libgusb2 (>= 0.2.2), libhandy-1-0 (>= 1.5.0), libpackagekit-glib2-18 (>= 0.9.4), libsane1 (>= 1.0.27), libwebp7, libwebpmux3, zlib1g (>= 1:1.1.4) + +Package: libgtk-4-1 +Architecture: amd64 +Version: 4.6.6+ds-0ubuntu1 +APT-ID: 72414 +Multi-Arch: same +Source: gtk4 +Source-Version: 4.6.6+ds-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: adwaita-icon-theme, hicolor-icon-theme, shared-mime-info, libc6 (>= 2.34), libcairo-gobject2 (>= 1.14.0), libcairo-script-interpreter2 (>= 1.14.0), libcairo2 (>= 1.14.0), libcolord2 (>= 0.1.10), libcups2 (>= 2.0), libepoxy0 (>= 1.4.3), libfontconfig1 (>= 2.12.6), libfribidi0 (>= 0.19.7), libgdk-pixbuf-2.0-0 (>= 2.30.1), libglib2.0-0 (>= 2.70.0), libgraphene-1.0-0 (>= 1.9.4), libharfbuzz0b (>= 2.2.0), libjpeg8 (>= 8c), libpango-1.0-0 (>= 1.50.3), libpangocairo-1.0-0 (>= 1.50.0), libpangoft2-1.0-0 (>= 1.50.0), libpng16-16 (>= 1.6.2-1), libtiff5 (>= 4.0.3), libwayland-client0 (>= 1.20.0), libwayland-egl1 (>= 1.20.0), libx11-6 (>= 2:1.4.99.1), libxcursor1 (>> 1.1.2), libxdamage1 (>= 1:1.1), libxext6, libxfixes3, libxi6 (>= 2:1.2.99.4), libxinerama1 (>= 2:1.1.4), libxkbcommon0 (>= 0.5.0), libxrandr2 (>= 2:1.5.0), libgtk-4-common (>= 4.6.6+ds-0ubuntu1) +Suggests: gvfs, libgtk-4-media-gstreamer | libgtk-4-media-ffmpeg +Recommends: libgtk-4-bin, iso-codes, librsvg2-common (>= 2.52.0) +Replaces: libgtk-4-0 (<< 4.0.0) +Breaks: libgtk-4-0 (<< 4.0.0) +Provides: gtk4-binver-4.0.0 + +Package: gtk2-engines-pixbuf +Architecture: amd64 +Version: 2.24.33-2ubuntu2 +APT-ID: 940 +Multi-Arch: same +Source: gtk+2.0 +Source-Version: 2.24.33-2ubuntu2 +Priority: optional +Section: graphics +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libcairo2 (>= 1.6.4-6.1), libgdk-pixbuf-2.0-0 (>= 2.22.1), libglib2.0-0 (>= 2.27.3) + +Package: printer-driver-pnm2ppa +Architecture: amd64 +Version: 1.13+nondbs-0ubuntu9 +APT-ID: 4973 +Source: pnm2ppa +Source-Version: 1.13+nondbs-0ubuntu9 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), debconf (>= 0.5) | debconf-2.0, ghostscript +Suggests: magicfilter | apsfilter +Conflicts: pbm2ppa +Replaces: pnm2ppa (<< 1.13-3~) +Breaks: pnm2ppa (<< 1.13-3~) + +Package: accountsservice +Architecture: amd64 +Version: 22.07.5-2ubuntu1.3 +APT-ID: 71694 +Source: accountsservice +Source-Version: 22.07.5-2ubuntu1.3 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dbus (>= 1.9.18), libaccountsservice0 (= 22.07.5-2ubuntu1.3), libc6 (>= 2.34), libglib2.0-0 (>= 2.63.5), libpolkit-gobject-1-0 (>= 0.99) +Suggests: gnome-control-center +Recommends: default-logind | logind + +Package: dconf-gsettings-backend +Architecture: amd64 +Version: 0.40.0-3 +APT-ID: 273 +Multi-Arch: same +Source: dconf +Source-Version: 0.40.0-3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-service (<< 0.40.0-3.1~), dconf-service (>= 0.40.0-3), libdconf1 (= 0.40.0-3), libc6 (>= 2.14), libglib2.0-0 (>= 2.55.2) +Provides: gsettings-backend + +Package: cups-core-drivers +Architecture: amd64 +Version: 2.4.1op1-1ubuntu4.1 +APT-ID: 71758 +Multi-Arch: foreign +Source: cups +Source-Version: 2.4.1op1-1ubuntu4.1 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: cups-daemon (>= 2.4.1op1-1ubuntu4.1), cups-filters-core-drivers, libcups2 (= 2.4.1op1-1ubuntu4.1), libc6 (>= 2.34) +Recommends: avahi-daemon +Replaces: cups-server-common (<< 2.1.0-7~) +Breaks: cups-server-common (<< 2.1.0-7~) + +Package: libdrm-radeon1 +Architecture: amd64 +Version: 2.4.110-1ubuntu1 +APT-ID: 2096 +Multi-Arch: same +Source: libdrm +Source-Version: 2.4.110-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libdrm2 (>= 2.4.108) + +Package: libusbmuxd6 +Architecture: amd64 +Version: 2.0.2-3build2 +APT-ID: 3969 +Multi-Arch: same +Source: libusbmuxd +Source-Version: 2.0.2-3build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libplist3 (>= 2.2.0) +Breaks: usbmuxd (<< 1.1.1~git20181007.f838cf6-1) + +Package: libdrm2 +Architecture: amd64 +Version: 2.4.110-1ubuntu1 +APT-ID: 2097 +Multi-Arch: same +Source: libdrm +Source-Version: 2.4.110-1ubuntu1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libdrm-common (>= 2.4.110-1ubuntu1), libc6 (>= 2.33) + +Package: fonts-telu +Architecture: all +Version: 2:1.3 +APT-ID: 512 +Multi-Arch: foreign +Source: fonts-telu +Source-Version: 2:1.3 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fonts-lohit-telu, fonts-telu-extra, fonts-teluguvijayam +Replaces: ttf-telugu-fonts +Breaks: ttf-telugu-fonts (<< 2:1.0) + +Package: aptdaemon-data +Architecture: all +Version: 1.1.1+bzr982-0ubuntu39 +APT-ID: 54 +Source: aptdaemon +Source-Version: 1.1.1+bzr982-0ubuntu39 +Priority: extra +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: python-aptdaemon-gtk (<= 0.41+bzr580-0ubuntu1) + +Package: libwhoopsie0 +Architecture: amd64 +Version: 0.2.77 +APT-ID: 4064 +Multi-Arch: same +Source: whoopsie +Source-Version: 0.2.77 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.27), libgcrypt20 (>= 1.9.0), libglib2.0-0 (>= 2.32) + +Package: libyelp0 +Architecture: amd64 +Version: 42.1-1 +APT-ID: 4305 +Multi-Arch: same +Source: yelp +Source-Version: 42.1-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbz2-1.0, libc6 (>= 2.14), libglib2.0-0 (>= 2.67.4), libgtk-3-0 (>= 3.13.3), liblzma5 (>= 5.1.1alpha+20120614), libsqlite3-0 (>= 3.5.9), libwebkit2gtk-4.0-37 (>= 2.19.2), libxml2 (>= 2.7.4), libxslt1.1 (>= 1.1.25) + +Package: ibus-gtk +Architecture: amd64 +Version: 1.5.26-4 +APT-ID: 1098 +Multi-Arch: same +Source: ibus +Source-Version: 1.5.26-4 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libglib2.0-0 (>= 2.67.3), libgtk2.0-0 (>= 2.24.5-4), libibus-1.0-5 (>= 1.5.21), libpango-1.0-0 (>= 1.14.0) + +Package: libgtkmm-3.0-1v5 +Architecture: amd64 +Version: 3.24.5-1build1 +APT-ID: 2539 +Multi-Arch: same +Source: gtkmm3.0 +Source-Version: 3.24.5-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libatkmm-1.6-1v5 (>= 2.28.2), libc6 (>= 2.14), libcairomm-1.0-1v5 (>= 1.12.0), libgcc-s1 (>= 3.3.1), libgdk-pixbuf-2.0-0 (>= 2.35.5), libglib2.0-0 (>= 2.41.1), libglibmm-2.4-1v5 (>= 2.66.2), libgtk-3-0 (>= 3.24.0), libpangomm-1.4-1v5 (>= 2.46.2), libsigc++-2.0-0v5 (>= 2.6.1), libstdc++6 (>= 5.2) +Conflicts: libgtkmm-3.0-1 +Replaces: libgtkmm-3.0-1 + +Package: samba-libs +Architecture: amd64 +Version: 2:4.15.9+dfsg-0ubuntu0.2 +APT-ID: 74395 +Multi-Arch: same +Source: samba +Source-Version: 2:4.15.9+dfsg-0ubuntu0.2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libacl1 (>= 2.2.23), libavahi-client3 (>= 0.6.16), libavahi-common3 (>= 0.6.16), libbsd0 (>= 0.5.0), libc6 (>= 2.34), libcap2 (>= 1:2.10), libcups2 (>= 1.7.0), libgnutls30 (>= 3.7.3), libjansson4 (>= 2.1), libldap-2.5-0 (>= 2.5.4), libldb2 (>= 2:2.4.4), libpam0g (>= 0.99.7.1), libpopt0 (>= 1.14), libpython3.10 (>= 3.10.0), libtalloc2 (>= 2.3.3~), libtdb1 (>= 1.4.4~), libtevent0 (>= 0.11.0~), libtirpc3 (>= 1.0.2), libwbclient0 (= 2:4.15.9+dfsg-0ubuntu0.2), python3-ldb (>= 2:2.1.0), python3-talloc (>= 2.3.1~), zlib1g (>= 1:1.1.4) +Replaces: libndr-standard0 (<< 2:4.0.9), libsamba-credentials0 (<< 2:4.0.9), libsamba-hostconfig0 (<< 2:4.0.9), libsamba-util0 (<< 2:4.0.9), samba (<< 2:4.3.3+dfsg-1) +Breaks: libndr-standard0 (<< 2:4.0.9), libsamba-credentials0 (<< 2:4.0.9), libsamba-hostconfig0 (<< 2:4.0.9), libsamba-util0 (<< 2:4.0.9), sssd-ad-common (<< 2.3.0) + +Package: libsensors5 +Architecture: amd64 +Version: 1:3.6.0-7ubuntu1 +APT-ID: 3661 +Multi-Arch: same +Source: lm-sensors +Source-Version: 1:3.6.0-7ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libsensors-config, libc6 (>= 2.33) +Suggests: lm-sensors + +Package: fonts-khmeros-core +Architecture: all +Version: 5.0-9ubuntu1 +APT-ID: 453 +Source: fonts-khmeros +Source-Version: 5.0-9ubuntu1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: fonts-khmeros (<< 5.0-5ubuntu1), ttf-khmeros (<< 5.0-4), ttf-khmeros-core (<< 5.0-5ubuntu1) +Breaks: fonts-khmeros (<< 5.0-5ubuntu1), ttf-khmeros (<< 5.0-4), ttf-khmeros-core (<< 5.0-5ubuntu1) + +Package: liblmdb0 +Architecture: amd64 +Version: 0.9.24-1build2 +APT-ID: 2828 +Multi-Arch: same +Source: lmdb +Source-Version: 0.9.24-1build2 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: libavahi-glib1 +Architecture: amd64 +Version: 0.8-5ubuntu5 +APT-ID: 1693 +Multi-Arch: same +Source: avahi +Source-Version: 0.8-5ubuntu5 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libavahi-common3 (= 0.8-5ubuntu5), libc6 (>= 2.2.5), libglib2.0-0 (>= 2.16.0) + +Package: sudo +Architecture: amd64 +Version: 1.9.9-1ubuntu2 +APT-ID: 5716 +Source: sudo +Source-Version: 1.9.9-1ubuntu2 +Priority: required +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libaudit1 (>= 1:2.2.1), libc6 (>= 2.34), libpam0g (>= 0.99.7.1), libselinux1 (>= 3.1~), zlib1g (>= 1:1.2.0.2), libpam-modules, lsb-base +Conflicts: sudo-ldap +Replaces: sudo-ldap + +Package: gnome-control-center +Architecture: amd64 +Version: 1:41.7-0ubuntu0.22.04.5 +APT-ID: 71859 +Source: gnome-control-center +Source-Version: 1:41.7-0ubuntu0.22.04.5 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libaccountsservice0 (>= 0.6.40), libatk1.0-0 (>= 1.12.4), libc6 (>= 2.34), libcairo2 (>= 1.14.0), libcheese-gtk25 (>= 3.18.0), libcheese8 (>= 3.28.0), libcolord-gtk1 (>= 0.1.24), libcolord2 (>= 1.4.3), libcups2 (>= 1.7.0), libepoxy0 (>= 1.0), libfontconfig1 (>= 2.12.6), libgcr-base-3-1 (>= 3.8.0), libgdk-pixbuf-2.0-0 (>= 2.25.2), libglib2.0-0 (>= 2.70.0), libgnome-bluetooth13 (>= 3.18.2), libgnome-desktop-3-19 (>= 3.33.4), libgnutls30 (>= 3.7.0), libgoa-1.0-0b (>= 3.25.3), libgoa-backend-1.0-1 (>= 3.25.3), libgsound0 (>= 1.0.1), libgtk-3-0 (>= 3.22.20), libgtop-2.0-11 (>= 2.22.3), libgudev-1.0-0 (>= 232), libhandy-1-0 (>= 1.2.0), libibus-1.0-5 (>= 1.5.2), libkrb5-3 (>= 1.8+dfsg), libmm-glib0 (>= 1.6.8), libnm0 (>= 1.24.0), libnma0 (>= 1.8.0), libpango-1.0-0 (>= 1.37.2), libpangocairo-1.0-0 (>= 1.18.0), libpolkit-gobject-1-0 (>= 0.103), libpulse-mainloop-glib0 (>= 13.0~), libpulse0 (>= 13.0~), libpwquality1 (>= 1.1.0), libsecret-1-0 (>= 0.7), libsmbclient (>= 2:4.0.3+dfsg1), libsnapd-glib1 (>= 1.58), libudisks2-0 (>= 2.0.0), libupower-glib3 (>= 0.99.8), libwacom9 (>= 2.0.0), libwayland-server0 (>= 1.0.2), libwhoopsie-preferences0 (>= 0.9), libx11-6, libxi6 (>= 2:1.2.99.4), libxml2 (>= 2.7.4), accountsservice, apg, colord (>= 0.1.30), desktop-file-utils, gedit-common, gnome-control-center-data (<< 1:42~), gnome-control-center-data (>= 1:41.7-0ubuntu0.22.04.5), gnome-desktop3-data, gnome-remote-desktop (>= 42), gnome-settings-daemon (>= 41), gsettings-desktop-schemas (>= 42~), language-selector-gnome (>= 0.179~), system-config-printer (>= 1.4), whoopsie-preferences +Suggests: gnome-software | gnome-packagekit, gnome-user-share, realmd, gstreamer1.0-pulseaudio, libcanberra-gtk-module, libcanberra-gtk3-module, x11-xserver-utils +Recommends: cups-pk-helper, gnome-online-accounts (>= 3.25.3), gnome-user-docs, gkbd-capplet, ibus, iso-codes, libcanberra-pulse, policykit-1, network-manager-gnome (>= 0.9.8), cracklib-runtime, pulseaudio-module-bluetooth, power-profiles-daemon, gnome-control-center-faces, rygel | rygel-tracker +Breaks: gnome-shell (<< 3.37.92) + +Package: libxcb-randr0 +Architecture: amd64 +Version: 1.14-3ubuntu3 +APT-ID: 4150 +Multi-Arch: same +Source: libxcb +Source-Version: 1.14-3ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libxcb1 (>= 1.9.2) + +Package: ubuntu-standard +Architecture: amd64 +Version: 1.481 +APT-ID: 5900 +Source: ubuntu-meta +Source-Version: 1.481 +Priority: standard +Section: metapackages +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: bind9-dnsutils, busybox-static, cpio, cron, dmidecode, dosfstools, ed, file, ftp, hdparm, info, libpam-systemd, logrotate, lshw, lsof, man-db, media-types, nftables, parted, pciutils, psmisc, rsync, strace, time, usbutils, wget, xz-utils +Recommends: apparmor, bash-completion, command-not-found, friendly-recovery, iptables, iputils-tracepath, irqbalance, manpages, mtr-tiny, nano, ntfs-3g, openssh-client, plymouth, plymouth-theme-ubuntu-text, tcpdump, telnet, ufw, update-manager-core, uuid-runtime + +Package: fonts-liberation2 +Architecture: all +Version: 2.1.5-1 +APT-ID: 458 +Multi-Arch: foreign +Source: fonts-liberation2 +Source-Version: 2.1.5-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: ubuntu-desktop-minimal +Architecture: amd64 +Version: 1.481 +APT-ID: 5884 +Source: ubuntu-meta +Source-Version: 1.481 +Priority: optional +Section: metapackages +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: alsa-base, alsa-utils, anacron, at-spi2-core, bc, ca-certificates, dmz-cursor-theme, fonts-dejavu-core, fonts-freefont-ttf, foomatic-db-compressed-ppds, gdm3, ghostscript-x, gnome-control-center, gnome-menus, gnome-session-canberra, gnome-settings-daemon, gnome-shell, gnome-shell-extension-appindicator, gnome-shell-extension-desktop-icons-ng, gnome-shell-extension-ubuntu-dock, gstreamer1.0-alsa, gstreamer1.0-packagekit, gstreamer1.0-plugins-base-apps, gstreamer1.0-pulseaudio, inputattach, language-selector-common, language-selector-gnome, libatk-adaptor, libnotify-bin, libsasl2-modules, libu2f-udev, nautilus, openprinting-ppds, printer-driver-pnm2ppa, pulseaudio, rfkill, software-properties-gtk, spice-vdagent, ubuntu-drivers-common, ubuntu-release-upgrader-gtk, ubuntu-session, ubuntu-settings, unzip, update-manager, update-notifier, wireless-tools, wpasupplicant, xdg-user-dirs, xdg-user-dirs-gtk, xkb-data, xorg, yelp, zenity, zip +Recommends: acpi-support, apport-gtk, appstream, apt-config-icons-hidpi, avahi-autoipd, avahi-daemon, bluez, bluez-cups, brltty, cups, cups-bsd, cups-client, cups-filters, dirmngr, eog, evince, file-roller, fonts-indic, fonts-kacst-one, fonts-khmeros-core, fonts-lao, fonts-liberation, fonts-liberation2, fonts-lklug-sinhala, fonts-noto-cjk, fonts-noto-color-emoji, fonts-opensymbol, fonts-sil-abyssinica, fonts-sil-padauk, fonts-thai-tlwg, fonts-tibetan-machine, fonts-ubuntu, fwupd, fwupd-signed, gamemode, gedit, gir1.2-gmenu-3.0, gnome-accessibility-themes, gnome-bluetooth, gnome-calculator, gnome-characters, gnome-disk-utility, gnome-font-viewer, gnome-initial-setup, gnome-keyring, gnome-logs, gnome-power-manager, gnome-remote-desktop, gnome-system-monitor, gnome-terminal, gpg-agent, gsettings-ubuntu-schemas, gvfs-fuse, hplip, ibus, ibus-gtk, ibus-gtk3, ibus-table, im-config, kerneloops, laptop-detect, libglib2.0-bin, libnss-mdns, libpam-fprintd, libpam-gnome-keyring, libpam-sss, libproxy1-plugin-gsettings, libproxy1-plugin-networkmanager, libwmf0.2-7-gtk, memtest86+, mousetweaks, nautilus-sendto, nautilus-share, network-manager, network-manager-config-connectivity-ubuntu, network-manager-openvpn-gnome, network-manager-pptp-gnome, orca, packagekit, pcmciautils, plymouth-theme-spinner, policykit-desktop-privileges, printer-driver-brlaser, printer-driver-c2esp, printer-driver-foo2zjs, printer-driver-m2300w, printer-driver-min12xxw, printer-driver-ptouch, printer-driver-pxljr, printer-driver-sag-gdi, printer-driver-splix, pulseaudio-module-bluetooth, seahorse, snapd, speech-dispatcher, system-config-printer, systemd-oomd, ubuntu-docs, ubuntu-report, ubuntu-wallpapers, whoopsie, xcursor-themes, xdg-desktop-portal-gnome, xdg-desktop-portal-gtk, xdg-utils, yaru-theme-gnome-shell, yaru-theme-gtk, yaru-theme-icon, yaru-theme-sound +Provides: packagekit-installer + +Package: gnome-terminal-data +Architecture: all +Version: 3.44.0-1ubuntu1 +APT-ID: 816 +Source: gnome-terminal +Source-Version: 3.44.0-1ubuntu1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: gnome-terminal + +Package: mscompress +Architecture: amd64 +Version: 0.4-9build1 +APT-ID: 4663 +Source: mscompress +Source-Version: 0.4-9build1 +Priority: extra +Section: otherosfs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: libc-bin +Architecture: amd64 +Version: 2.35-0ubuntu3.1 +APT-ID: 72274 +Essential: yes +Multi-Arch: foreign +Source: glibc +Source-Version: 2.35-0ubuntu3.1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>> 2.35), libc6 (<< 2.36) +Suggests: manpages + +Package: python3-update-manager +Architecture: all +Version: 1:22.04.9 +APT-ID: 5520 +Source: update-manager +Source-Version: 1:22.04.9 +Priority: standard +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any (>= 3.2~), python3-apt (>= 0.8.5~), python3-distro-info, python3-distupgrade, lsb-release +Suggests: python3-launchpadlib +Replaces: update-manager-core (<< 1:0.163) +Breaks: python3-distupgrade (<< 1:16.10.10), update-manager-core (<< 1:0.163) + +Package: pkexec +Architecture: amd64 +Version: 0.105-33 +APT-ID: 4916 +Multi-Arch: foreign +Source: policykit-1 +Source-Version: 0.105-33 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: polkitd (= 0.105-33), libc6 (>= 2.34), libglib2.0-0 (>= 2.35.9), libpam0g (>= 0.99.7.1), libpolkit-agent-1-0 (= 0.105-33), libpolkit-gobject-1-0 (= 0.105-33) +Replaces: policykit-1 (<< 0.105-32~) +Breaks: policykit-1 (<< 0.105-32~) + +Package: libadwaita-1-0 +Architecture: amd64 +Version: 1.1.0-1ubuntu2 +APT-ID: 1579 +Multi-Arch: same +Source: libadwaita-1 +Source-Version: 1.1.0-1ubuntu2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.29), libcairo2 (>= 1.10.0), libfribidi0 (>= 0.19.2), libglib2.0-0 (>= 2.67.3), libgraphene-1.0-0 (>= 1.5.4), libgtk-4-1 (>= 4.5.0), libpango-1.0-0 (>= 1.14.0), gsettings-desktop-schemas + +Package: libparted-fs-resize0 +Architecture: amd64 +Version: 3.4-2build1 +APT-ID: 3205 +Multi-Arch: same +Source: parted +Source-Version: 3.4-2build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libparted2 (= 3.4-2build1) +Suggests: libparted-dev + +Package: yelp +Architecture: amd64 +Version: 42.1-1 +APT-ID: 6072 +Source: yelp +Source-Version: 42.1-1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libatk1.0-0 (>= 1.12.4), libbz2-1.0, libc6 (>= 2.34), libcairo-gobject2 (>= 1.10.0), libcairo2 (>= 1.2.4), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.67.4), libgtk-3-0 (>= 3.13.3), libhandy-1-0 (>= 1.5.0), libharfbuzz0b (>= 0.6.0), libjavascriptcoregtk-4.0-18 (>= 2.35.90), liblzma5 (>= 5.1.1alpha+20110809), libpango-1.0-0 (>= 1.14.0), libpangocairo-1.0-0 (>= 1.14.0), libsoup2.4-1 (>= 2.4.0), libsqlite3-0 (>= 3.5.9), libwebkit2gtk-4.0-37 (>= 2.19.2), libxml2 (>= 2.6.27), libxslt1.1 (>= 1.1.25), libyelp0 (= 42.1-1), dconf-gsettings-backend | gsettings-backend, python3-distro, yelp-xsl (>= 41~), man-db (>= 2.5.1-1) +Recommends: docbook-xml + +Package: usbmuxd +Architecture: amd64 +Version: 1.1.1-2build2 +APT-ID: 5929 +Source: usbmuxd +Source-Version: 1.1.1-2build2 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libimobiledevice6 (>= 1.3.0), libplist3 (>= 2.2.0), libusb-1.0-0 (>= 2:1.0.22), adduser + +Package: fonts-smc-raghumalayalamsans +Architecture: all +Version: 2.2.1-1 +APT-ID: 508 +Multi-Arch: foreign +Source: fonts-smc-raghumalayalamsans +Source-Version: 2.2.1-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: fonts-smc (<< 6.1~), ttf-malayalam-fonts +Breaks: fonts-smc (<< 6.1~), ttf-malayalam-fonts + +Package: netplan.io +Architecture: amd64 +Version: 0.104-0ubuntu2.1 +APT-ID: 74209 +Multi-Arch: foreign +Source: netplan.io +Source-Version: 0.104-0ubuntu2.1 +Priority: required +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.70.0), libnetplan0 (= 0.104-0ubuntu2.1), libsystemd0 (>= 243), iproute2, python3, python3-yaml, python3-netifaces, systemd (>= 248~) +Suggests: network-manager | wpasupplicant, openvswitch-switch +Conflicts: netplan +Replaces: nplan (<< 0.34~) +Breaks: network-manager (<< 1.2.2-1), nplan (<< 0.34~) +Provides: nplan + +Package: libtotem-plparser-common +Architecture: all +Version: 3.26.6-1build1 +APT-ID: 3881 +Multi-Arch: foreign +Source: totem-pl-parser +Source-Version: 3.26.6-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: libtotem-plparser17, libtotem-plparser18 (<< 3.10.5-1) +Breaks: libtotem-plparser17, libtotem-plparser18 (<< 3.10.5-1) + +Package: language-pack-gnome-en +Architecture: all +Version: 1:22.04+20220721 +APT-ID: 72016 +Source: language-pack-gnome-en +Source-Version: 1:22.04+20220721 +Priority: optional +Section: translations +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +Depends: language-pack-gnome-en-base (>= 1:22.04+20220721), language-pack-en +Pre-Depends: dpkg (>= 1.16.1) +Replaces: language-pack-en (<< 1:22.04+20220721), language-pack-en-base (<< 1:22.04+20220721), language-pack-gnome-en (<< 1:22.04+20220721), language-pack-gnome-en-base, language-pack-kde-en (<< 1:22.04+20220721), language-pack-kde-en-base (<< 1:22.04+20220721) + +Package: plymouth-label +Architecture: amd64 +Version: 0.9.5+git20211018-1ubuntu3 +APT-ID: 4925 +Source: plymouth +Source-Version: 0.9.5+git20211018-1ubuntu3 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: plymouth (= 0.9.5+git20211018-1ubuntu3), libc6 (>= 2.4), libcairo2 (>= 1.14.0), libglib2.0-0 (>= 2.12.0), libpango-1.0-0 (>= 1.14.0), libpangocairo-1.0-0 (>= 1.14.0), libplymouth5 (>= 0.9.4git20190712), fonts-ubuntu, fontconfig-config +Replaces: plymouth-themes (<< 0.9.2-5~) +Breaks: plymouth-themes (<< 0.9.2-5~) + +Package: transmission-common +Architecture: all +Version: 3.00-2ubuntu2 +APT-ID: 5866 +Source: transmission +Source-Version: 3.00-2ubuntu2 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: transmission-gtk (<< 2.10-1) +Breaks: transmission-gtk (<< 2.10-1) + +Package: python3-apport +Architecture: all +Version: 2.20.11-0ubuntu82.1 +APT-ID: 74302 +Source: apport +Source-Version: 2.20.11-0ubuntu82.1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=i386 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any (>= 3.0~), python3-apt (>= 0.7.9), python3-httplib2, python3-problem-report (>= 0.94), lsb-release, python3-launchpadlib, python3-yaml +Recommends: apport + +Package: keyboard-configuration +Architecture: all +Version: 1.205ubuntu3 +APT-ID: 1170 +Multi-Arch: foreign +Source: console-setup +Source-Version: 1.205ubuntu3 +Priority: required +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: liblocale-gettext-perl +Pre-Depends: debconf (>= 1.5.34) +Replaces: console-setup (<< 1.47), console-setup-mini (<< 1.47) +Breaks: console-setup (<< 1.71), console-setup-mini (<< 1.47) + +Package: libao-common +Architecture: all +Version: 1.2.2+20180113-1.1ubuntu3 +APT-ID: 1589 +Multi-Arch: foreign +Source: libao +Source-Version: 1.2.2+20180113-1.1ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Conflicts: libao2 +Replaces: libao4 (<< 1.0.0-2) +Breaks: libao4 (<< 1.0.0-2) + +Package: libfreerdp-client2-2 +Architecture: amd64 +Version: 2.6.1+dfsg1-3ubuntu2.2 +APT-ID: 72348 +Multi-Arch: same +Source: freerdp2 +Source-Version: 2.6.1+dfsg1-3ubuntu2.2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libasound2 (>= 1.0.18), libc6 (>= 2.28), libcups2 (>= 1.7.0), libfreerdp2-2 (= 2.6.1+dfsg1-3ubuntu2.2), libpulse0 (>= 0.99.1), libusb-1.0-0 (>= 2:1.0.19), libwinpr2-2 (>= 2.4.1+dfsg1) +Replaces: libfreerdp-client2 (<< 2.0.0~git20170725.1.1648deb+dfsg1-1~) +Breaks: libfreerdp-client2 (<< 2.0.0~git20170725.1.1648deb+dfsg1-1~) + +Package: gir1.2-rsvg-2.0 +Architecture: amd64 +Version: 2.52.5+dfsg-3 +APT-ID: 744 +Multi-Arch: same +Source: librsvg +Source-Version: 2.52.5+dfsg-3 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-freedesktop (>= 0.10.8), gir1.2-gdkpixbuf-2.0 (>= 2.23.5-2) | libgdk-pixbuf2.0-dev (>= 2.23.5-2), gir1.2-glib-2.0 (>= 0.10.8), librsvg2-2 (>= 2.52.5) + +Package: grilo-plugins-0.3-base +Architecture: amd64 +Version: 0.3.14-1ubuntu2 +APT-ID: 896 +Multi-Arch: same +Source: grilo-plugins +Source-Version: 0.3.14-1ubuntu2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libarchive13 (>= 3.0.4), libc6 (>= 2.7), libglib2.0-0 (>= 2.61.2), libgoa-1.0-0b (>= 3.17.92), libgom-1.0-0 (>= 0.4), libgrilo-0.3-0 (>= 0.3.8), libjson-glib-1.0-0 (>= 1.5.2), liblua5.3-0, libmediaart-2.0-0 (>= 1.9.0), libsoup2.4-1 (>= 2.41.90), libsqlite3-0 (>= 3.5.9), libtotem-plparser18 (>= 3.26.0), libtracker-sparql-3.0-0 (>= 3.1.1), libxml2 (>= 2.7.4) +Suggests: grilo-plugins-0.3-extra +Replaces: grilo-plugins-0.2 +Breaks: grilo-plugins-0.2 + +Package: libattr1 +Architecture: amd64 +Version: 1:2.5.1-1build1 +APT-ID: 1675 +Multi-Arch: same +Source: attr +Source-Version: 1:2.5.1-1build1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4) + +Package: python3-keyring +Architecture: all +Version: 23.5.0-1 +APT-ID: 5285 +Source: python-keyring +Source-Version: 23.5.0-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-importlib-metadata (>= 3.6), python3-jeepney (>= 0.4.2), python3-secretstorage (>= 3.2), python3:any +Suggests: gir1.2-secret-1, gnome-keyring, libkf5wallet-bin, python3-dbus, python3-gi, python3-keyrings.alt +Breaks: python3-keyrings.alt (<< 3.1), python3-wheel (<< 0.27) + +Package: libmythes-1.2-0 +Architecture: amd64 +Version: 2:1.2.4-4build1 +APT-ID: 2989 +Multi-Arch: same +Source: mythes +Source-Version: 2:1.2.4-4build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 5) + +Package: fonts-nakula +Architecture: all +Version: 1.0-4 +APT-ID: 475 +Multi-Arch: foreign +Source: fonts-nakula +Source-Version: 1.0-4 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Suggests: fonts-sahadeva +Replaces: ttf-devanagari-fonts +Breaks: ttf-devanagari-fonts (<< 2:1.0) + +Package: gtk-update-icon-cache +Architecture: amd64 +Version: 3.24.33-1ubuntu2 +APT-ID: 71897 +Multi-Arch: foreign +Source: gtk+3.0 +Source-Version: 3.24.33-1ubuntu2 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgdk-pixbuf-2.0-0 (>= 2.40.0), libglib2.0-0 (>= 2.57.2) +Replaces: libgtk-3-bin (<< 3.20.6-1), libgtk2.0-bin (<< 2.24.30-2) +Breaks: libgtk-3-bin (<< 3.20.6-1), libgtk2.0-bin (<< 2.24.30-2) + +Package: libxcb-xkb1 +Architecture: amd64 +Version: 1.14-3ubuntu3 +APT-ID: 4180 +Multi-Arch: same +Source: libxcb +Source-Version: 1.14-3ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libxcb1 + +Package: liblouisutdml-data +Architecture: all +Version: 2.10.0-4 +APT-ID: 2839 +Multi-Arch: foreign +Source: liblouisutdml +Source-Version: 2.10.0-4 +Priority: extra +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: python3-commandnotfound +Architecture: all +Version: 22.04.0 +APT-ID: 5188 +Source: command-not-found +Source-Version: 22.04.0 +Priority: standard +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: lsb-release, python3-apt, python3-gdbm, python3:any +Replaces: command-not-found (<< 0.3ubuntu7) + +Package: efibootmgr +Architecture: amd64 +Version: 17-1ubuntu2 +APT-ID: 366 +Multi-Arch: foreign +Source: efibootmgr +Source-Version: 17-1ubuntu2 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libc6 (>= 2.33), libefiboot1 (>= 37), libefivar1 (>= 37), libpopt0 (>= 1.14) + +Package: libdazzle-1.0-0 +Architecture: amd64 +Version: 3.44.0-1 +APT-ID: 1996 +Multi-Arch: same +Source: libdazzle +Source-Version: 3.44.0-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcairo2 (>= 1.10.0), libgdk-pixbuf-2.0-0 (>= 2.25.2), libglib2.0-0 (>= 2.59.0), libgtk-3-0 (>= 3.24), libpango-1.0-0 (>= 1.37.5), libdazzle-common + +Package: libvisio-0.1-1 +Architecture: amd64 +Version: 0.1.7-1build5 +APT-ID: 4008 +Multi-Arch: same +Source: libvisio +Source-Version: 0.1.7-1build5 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.35), libgcc-s1 (>= 3.3.1), libicu70 (>= 70.1-1~), librevenge-0.0-0, libstdc++6 (>= 11), libxml2 (>= 2.9.2+zdfsg1-4) +Breaks: libvisio-tools (<< 0.0.15~) + +Package: libaudit1 +Architecture: amd64 +Version: 1:3.0.7-1build1 +APT-ID: 1679 +Multi-Arch: same +Source: audit +Source-Version: 1:3.0.7-1build1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libaudit-common (>= 1:3.0.7-1build1), libc6 (>= 2.33), libcap-ng0 (>= 0.7.9) + +Package: gnome-session-canberra +Architecture: amd64 +Version: 0.30-10ubuntu1 +APT-ID: 802 +Source: libcanberra +Source-Version: 0.30-10ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcanberra-gtk3-0 (>= 0.25), libcanberra0 (>= 0.2), libglib2.0-0 (>= 2.16.0), libgtk-3-0 (>= 3.0.0) +Replaces: libcanberra-gtk0 (<< 0.28-5) +Breaks: libcanberra-gtk0 (<< 0.28-5) + +Package: libkmod2 +Architecture: amd64 +Version: 29-1ubuntu1 +APT-ID: 2774 +Multi-Arch: same +Source: kmod +Source-Version: 29-1ubuntu1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), liblzma5 (>= 5.1.1alpha+20120614), libssl3 (>= 3.0.0~~alpha1), libzstd1 (>= 1.4.0) + +Package: libclone-perl +Architecture: amd64 +Version: 0.45-1build3 +APT-ID: 1895 +Source: libclone-perl +Source-Version: 0.45-1build3 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl, perlapi-5.34.0, libc6 (>= 2.34) + +Package: libboost-regex1.74.0 +Architecture: amd64 +Version: 1.74.0-14ubuntu3 +APT-ID: 1777 +Multi-Arch: same +Source: boost1.74 +Source-Version: 1.74.0-14ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libgcc-s1 (>= 3.3.1), libicu70 (>= 70.1-1~), libstdc++6 (>= 11) +Provides: libboost-regex1.74.0-icu70 + +Package: libedata-cal-2.0-1 +Architecture: amd64 +Version: 3.44.4-0ubuntu1 +APT-ID: 72328 +Multi-Arch: same +Source: evolution-data-server +Source-Version: 3.44.4-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libcamel-1.2-63 (>= 3.19.92), libebackend-1.2-10 (= 3.44.4-0ubuntu1), libecal-2.0-1 (>= 3.39.3), libedataserver-1.2-26 (= 3.44.4-0ubuntu1), libglib2.0-0 (>= 2.70.0), libical3 (>= 3.0.7), libsoup2.4-1 (>= 2.42), libsqlite3-0 (>= 3.5.9) +Conflicts: evolution-data-server (<< 3.26.3), evolution-data-server-tests (<< 3.26.3), evolution-ews (<< 3.26.3) + +Package: libxext6 +Architecture: amd64 +Version: 2:1.3.4-1build1 +APT-ID: 4202 +Multi-Arch: same +Source: libxext +Source-Version: 2:1.3.4-1build1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libx11-6 (>= 2:1.6.0) + +Package: initramfs-tools +Architecture: all +Version: 0.140ubuntu13 +APT-ID: 1125 +Multi-Arch: foreign +Source: initramfs-tools +Source-Version: 0.140ubuntu13 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: initramfs-tools-core (= 0.140ubuntu13), linux-base +Suggests: bash-completion +Conflicts: linux-initramfs-tool, usplash (<< 0.5.50) +Breaks: e2fsprogs (<< 1.42.13), initscripts (<< 2.88dsf-59.3~), netplan.io (<< 0.37), upstart +Provides: linux-initramfs-tool + +Package: libhyphen0 +Architecture: amd64 +Version: 2.8.8-7build2 +APT-ID: 2610 +Multi-Arch: same +Source: hyphen +Source-Version: 2.8.8-7build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: libgtk-3-common +Architecture: all +Version: 3.24.33-1ubuntu2 +APT-ID: 72411 +Multi-Arch: foreign +Source: gtk+3.0 +Source-Version: 3.24.33-1ubuntu2 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend +Recommends: libgtk-3-0 +Replaces: libgtk-3-dev (<< 3.24.30-3~) +Breaks: libgtk-3-dev (<< 3.24.30-3~) + +Package: linux-modules-extra-5.15.0-43-generic +Architecture: amd64 +Version: 5.15.0-43.46 +APT-ID: 73883 +Source: linux +Source-Version: 5.15.0-43.46 +Priority: optional +Section: kernel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: linux-image-5.15.0-43-generic | linux-image-unsigned-5.15.0-43-generic, wireless-regdb + +Package: libisl23 +Architecture: amd64 +Version: 0.24-2build1 +APT-ID: 2705 +Multi-Arch: same +Source: isl +Source-Version: 0.24-2build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libgmp10 (>= 2:6.2.1+dfsg) +Replaces: libisl-dbg (<< 0.19) +Breaks: libisl-dbg (<< 0.19) + +Package: libc6-dbg +Architecture: amd64 +Version: 2.35-0ubuntu3.1 +APT-ID: 72278 +Multi-Arch: same +Source: glibc +Source-Version: 2.35-0ubuntu3.1 +Priority: extra +Section: debug +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (= 2.35-0ubuntu3.1) +Provides: libc6-dbgsym, libc-dbg + +Package: gir1.2-soup-2.4 +Architecture: amd64 +Version: 2.74.2-3 +APT-ID: 747 +Multi-Arch: same +Source: libsoup2.4 +Source-Version: 2.74.2-3 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0 (>= 0.9.5), libsoup-gnome2.4-1 (= 2.74.2-3), libsoup2.4-1 (= 2.74.2-3) +Provides: gir1.2-soupgnome-2.4 (= 2.74.2-3) + +Package: librygel-renderer-2.6-2 +Architecture: amd64 +Version: 0.40.3-1ubuntu2 +APT-ID: 3623 +Multi-Arch: same +Source: rygel +Source-Version: 0.40.3-1ubuntu2 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libgee-0.8-2 (>= 0.8.3), libglib2.0-0 (>= 2.56.0), libgupnp-1.2-1 (>= 1.1.2), libgupnp-av-1.0-3 (>= 0.12.8), librygel-core-2.6-2 (>= 0.40.3), libsoup2.4-1 (>= 2.44.0) + +Package: fonts-lohit-beng-assamese +Architecture: all +Version: 2.91.5-2 +APT-ID: 460 +Multi-Arch: foreign +Source: fonts-lohit-beng-assamese +Source-Version: 2.91.5-2 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: fonts-lohit-beng-bengali +Replaces: ttf-bengali-fonts (<= 1:0.5.12) +Breaks: ttf-bengali-fonts (<= 1:0.5.12) + +Package: python3-rfc3339 +Architecture: all +Version: 1.1-3 +APT-ID: 5458 +Source: pyrfc3339 +Source-Version: 1.1-3 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-tz, python3:any + +Package: hplip-data +Architecture: all +Version: 3.21.12+dfsg0-1 +APT-ID: 970 +Source: hplip +Source-Version: 3.21.12+dfsg0-1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-distro, xz-utils, python3:any +Suggests: hplip + +Package: libreoffice-style-yaru +Architecture: all +Version: 1:7.3.6-0ubuntu0.22.04.1 +APT-ID: 72696 +Source: libreoffice +Source-Version: 1:7.3.6-0ubuntu0.22.04.1 +Priority: optional +Section: editors +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: libreoffice-common +Enhances: libreoffice-core +Provides: libreoffice-style + +Package: tpm-udev +Architecture: all +Version: 0.6 +APT-ID: 5862 +Multi-Arch: foreign +Source: tpm-udev +Source-Version: 0.6 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: adduser, udev + +Package: parted +Architecture: amd64 +Version: 3.4-2build1 +APT-ID: 4853 +Multi-Arch: foreign +Source: parted +Source-Version: 3.4-2build1 +Priority: standard +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libparted2 (= 3.4-2build1), libreadline8 (>= 6.0), libtinfo6 (>= 6) +Suggests: parted-doc + +Package: libhogweed6 +Architecture: amd64 +Version: 3.7.3-1build2 +APT-ID: 2587 +Multi-Arch: same +Source: nettle +Source-Version: 3.7.3-1build2 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libgmp10 (>= 2:6.2.1+dfsg), libnettle8 + +Package: nautilus +Architecture: amd64 +Version: 1:42.2-0ubuntu1 +APT-ID: 74206 +Source: nautilus +Source-Version: 1:42.2-0ubuntu1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: bubblewrap, desktop-file-utils (>= 0.7), gsettings-desktop-schemas (>= 3.8.0), gvfs (>= 1.3.2), libglib2.0-data, libnautilus-extension1a (= 1:42.2-0ubuntu1), nautilus-data (= 1:42.2-0ubuntu1), shared-mime-info (>= 0.50), tracker (>= 3), tracker-miner-fs (>= 3), tracker-extract (>= 3), libatk1.0-0 (>= 1.32.0), libc6 (>= 2.34), libcairo-gobject2 (>= 1.10.0), libcairo2 (>= 1.14.0), libdbusmenu-glib4 (>= 0.4.2), libgdk-pixbuf-2.0-0 (>= 2.25.2), libgexiv2-2 (>= 0.14.0), libglib2.0-0 (>= 2.70.0), libgnome-autoar-0-0 (>= 0.4.0), libgnome-desktop-3-19 (>= 3.17.92), libgstreamer-plugins-base1.0-0 (>= 1.0.0), libgstreamer1.0-0 (>= 1.0.0), libgtk-3-0 (>= 3.23.1), libhandy-1-0 (>= 1.5.0), libpango-1.0-0 (>= 1.44.6), libselinux1 (>= 3.1~), libtracker-sparql-3.0-0 (>= 3.1.1), libunity9 (>= 3.4.6) +Suggests: eog, evince | pdf-viewer, gnome-sushi, nautilus-extension-brasero, nautilus-sendto, totem | mp3-decoder, xdg-user-dirs +Recommends: gvfs-backends, libgdk-pixbuf2.0-bin, librsvg2-common +Replaces: nautilus-data (<< 1:3.38.1-1ubuntu1), totem (<< 3.31.91-1) +Breaks: gedit (<< 40), nautilus-data (<< 1:3.38.1-1ubuntu1), totem (<< 3.31.91-1), unity (<< 7.5.1+21.10.20210601.1-0ubuntu1) + +Package: xdg-utils +Architecture: all +Version: 1.1.3-4.1ubuntu3~22.04.1 +APT-ID: 74551 +Multi-Arch: foreign +Source: xdg-utils +Source-Version: 1.1.3-4.1ubuntu3~22.04.1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: libfile-mimeinfo-perl, libnet-dbus-perl, libx11-protocol-perl, x11-utils, x11-xserver-utils + +Package: media-player-info +Architecture: all +Version: 24-2 +APT-ID: 4638 +Multi-Arch: foreign +Source: media-player-info +Source-Version: 24-2 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: udev + +Package: cpio +Architecture: amd64 +Version: 2.13+dfsg-7 +APT-ID: 217 +Multi-Arch: foreign +Source: cpio +Source-Version: 2.13+dfsg-7 +Priority: standard +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Suggests: libarchive1 +Conflicts: cpio-mt, mt-st (<< 0.6) +Replaces: cpio-mt + +Package: dirmngr +Architecture: amd64 +Version: 2.2.27-3ubuntu2.1 +APT-ID: 71778 +Multi-Arch: foreign +Source: gnupg2 +Source-Version: 2.2.27-3ubuntu2.1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: adduser, gpgconf (= 2.2.27-3ubuntu2.1), lsb-base (>= 3.2-13), init-system-helpers (>= 1.52), libassuan0 (>= 2.5.0), libc6 (>= 2.34), libgcrypt20 (>= 1.9.0), libgnutls30 (>= 3.7.2), libgpg-error0 (>= 1.42), libksba8 (>= 1.3.5), libldap-2.5-0 (>= 2.5.4), libnpth0 (>= 0.90) +Suggests: dbus-user-session, libpam-systemd, pinentry-gnome3, tor +Recommends: gnupg (= 2.2.27-3ubuntu2.1) +Replaces: gnupg2 (<< 2.1.10-2) +Breaks: gnupg2 (<< 2.1.10-2) +Enhances: gpg, gpgsm, squid + +Package: libpeas-1.0-0 +Architecture: amd64 +Version: 1.32.0-1 +APT-ID: 3235 +Multi-Arch: same +Source: libpeas +Source-Version: 1.32.0-1 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libpeas-common, libc6 (>= 2.14), libgirepository-1.0-1 (>= 1.39.0), libglib2.0-0 (>= 2.38.0), libgtk-3-0 (>= 3.21.5), libpython3.10 (>= 3.10.0) + +Package: linux-headers-5.15.0-43 +Architecture: all +Version: 5.15.0-43.46 +APT-ID: 73258 +Multi-Arch: foreign +Source: linux +Source-Version: 5.15.0-43.46 +Priority: optional +Section: devel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=i386 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: coreutils + +Package: linux-headers-5.15.0-48 +Architecture: all +Version: 5.15.0-48.54 +APT-ID: 73267 +Multi-Arch: foreign +Source: linux +Source-Version: 5.15.0-48.54 +Priority: optional +Section: devel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=i386 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: coreutils + +Package: python3-aptdaemon.gtk3widgets +Architecture: all +Version: 1.1.1+bzr982-0ubuntu39 +APT-ID: 5148 +Source: aptdaemon +Source-Version: 1.1.1+bzr982-0ubuntu39 +Priority: extra +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any (>= 3.2~), python3-aptdaemon (= 1.1.1+bzr982-0ubuntu39), python3-gi, gir1.2-gtk-3.0, gir1.2-vte-2.91, aptdaemon-data +Conflicts: python-aptdaemon-gtk (<< 0.41+bzr582-0ubuntu1) +Replaces: python-aptdaemon-gtk (<< 0.41+bzr582-0ubuntu1) + +Package: libcanberra-pulse +Architecture: amd64 +Version: 0.30-10ubuntu1 +APT-ID: 1846 +Multi-Arch: same +Source: libcanberra +Source-Version: 0.30-10ubuntu1 +Priority: optional +Section: libdevel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libcanberra0 (= 0.30-10ubuntu1), libpulse0 (>= 0.99.1), pulseaudio | pipewire-pulse + +Package: fonts-tlwg-kinnari-ttf +Architecture: all +Version: 1:0.7.3-1 +APT-ID: 520 +Multi-Arch: foreign +Source: fonts-tlwg +Source-Version: 1:0.7.3-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: fonts-tlwg-kinnari (>= 1:0.6.2-2) +Replaces: fonts-tlwg-kinnari (<< 1:0.6.2-2) +Breaks: fonts-tlwg-kinnari (<< 1:0.6.2-2) + +Package: gir1.2-goa-1.0 +Architecture: amd64 +Version: 3.44.0-1ubuntu1 +APT-ID: 692 +Multi-Arch: same +Source: gnome-online-accounts +Source-Version: 3.44.0-1ubuntu1 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0 (>= 0.9.3), libgoa-1.0-0b (>= 3.35.90) + +Package: libcogl-pango20 +Architecture: amd64 +Version: 1.22.8-3build1 +APT-ID: 1915 +Multi-Arch: same +Source: cogl +Source-Version: 1.22.8-3build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libcairo2 (>= 1.10), libcogl20 (= 1.22.8-3build1), libglib2.0-0 (>= 2.37.3), libpango-1.0-0 (>= 1.28.3-5), libpangocairo-1.0-0 (>= 1.28.3-5) +Recommends: libcogl-common + +Package: bc +Architecture: amd64 +Version: 1.07.1-3build1 +APT-ID: 91 +Multi-Arch: foreign +Source: bc +Source-Version: 1.07.1-3build1 +Priority: optional +Section: math +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libreadline8 (>= 6.0) + +Package: ubuntu-wallpapers-jammy +Architecture: all +Version: 22.04.4-0ubuntu1 +APT-ID: 5902 +Source: ubuntu-wallpapers +Source-Version: 22.04.4-0ubuntu1 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: dc +Architecture: amd64 +Version: 1.07.1-3build1 +APT-ID: 271 +Multi-Arch: foreign +Source: bc +Source-Version: 1.07.1-3build1 +Priority: optional +Section: math +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: ed +Architecture: amd64 +Version: 1.18-1 +APT-ID: 365 +Multi-Arch: foreign +Source: ed +Source-Version: 1.18-1 +Priority: standard +Section: editors +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: libksba8 +Architecture: amd64 +Version: 1.6.0-2build1 +APT-ID: 2787 +Multi-Arch: same +Source: libksba +Source-Version: 1.6.0-2build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libgpg-error0 (>= 1.14) + +Package: colord-data +Architecture: all +Version: 1.4.6-1 +APT-ID: 207 +Source: colord +Source-Version: 1.4.6-1 +Priority: optional +Section: graphics +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: colord (<< 1.2.0-2) +Breaks: colord (<< 1.2.0-2) + +Package: libgphoto2-6 +Architecture: amd64 +Version: 2.5.27-1build2 +APT-ID: 2476 +Multi-Arch: same +Source: libgphoto2 +Source-Version: 2.5.27-1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libcurl4 (>= 7.16.2), libexif12 (>= 0.6.21-1~), libgd3 (>= 2.1.0~alpha~), libgphoto2-port12 (>= 2.5.10), libjpeg8 (>= 8c), libltdl7 (>= 2.4.6), libxml2 (>= 2.7.4) +Suggests: gphoto2 (>= 2.5.7) +Recommends: libgphoto2-l10n (>= 2.5.27-1build2) + +Package: cracklib-runtime +Architecture: amd64 +Version: 2.9.6-3.4build4 +APT-ID: 231 +Multi-Arch: foreign +Source: cracklib2 +Source-Version: 2.9.6-3.4build4 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: file, libcrack2 (>= 2.9.6-3.4build4), libc6 (>= 2.34) +Recommends: wamerican | wordlist + +Package: libv4lconvert0 +Architecture: amd64 +Version: 1.22.1-2build1 +APT-ID: 3986 +Multi-Arch: same +Source: v4l-utils +Source-Version: 1.22.1-2build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libjpeg8 (>= 8c) +Replaces: libv4l-0 (<< 0.8.5-4) +Breaks: libv4l-0 (<< 0.8.5-4) + +Package: nautilus-data +Architecture: all +Version: 1:42.2-0ubuntu1 +APT-ID: 74207 +Multi-Arch: foreign +Source: nautilus +Source-Version: 1:42.2-0ubuntu1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend + +Package: libharfbuzz0b +Architecture: amd64 +Version: 2.7.4-1ubuntu3.1 +APT-ID: 72423 +Multi-Arch: same +Source: harfbuzz +Source-Version: 2.7.4-1ubuntu3.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libfreetype6 (>= 2.9.1), libglib2.0-0 (>= 2.31.8), libgraphite2-3 (>= 1.2.2) +Conflicts: libharfbuzz0, libharfbuzz0a +Replaces: libharfbuzz0, libharfbuzz0a + +Package: nautilus-share +Architecture: amd64 +Version: 0.7.3-2ubuntu6 +APT-ID: 4729 +Source: nautilus-share +Source-Version: 0.7.3-2ubuntu6 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: nautilus (>= 2.10), gnome-session-bin, apturl, libc6 (>= 2.33), libglib2.0-0 (>= 2.35.9), libgtk-3-0 (>= 3.0.0), libnautilus-extension1a (>= 3.14.1) +Suggests: samba (>= 3.0.27a) +Enhances: nautilus + +Package: libxml-twig-perl +Architecture: all +Version: 1:3.52-1 +APT-ID: 4234 +Source: libxml-twig-perl +Source-Version: 1:3.52-1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any, libxml-parser-perl +Suggests: libunicode-map8-perl, libunicode-string-perl, xml-twig-tools +Recommends: libhtml-parser-perl, libtext-iconv-perl, libtie-ixhash-perl, libwww-perl, libxml-xpathengine-perl | libxml-xpath-perl + +Package: fonts-freefont-ttf +Architecture: all +Version: 20120503-10build1 +APT-ID: 440 +Multi-Arch: foreign +Source: fonts-freefont +Source-Version: 20120503-10build1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: librasqal3 +Architecture: amd64 +Version: 0.9.33-0.2ubuntu1 +APT-ID: 3369 +Multi-Arch: same +Source: rasqal +Source-Version: 0.9.33-0.2ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libgmp10 (>= 2:6.2.1+dfsg), libmhash2 (>= 0.9.9.9), libpcre3, libraptor2-0 (>= 2.0.14), libuuid1 (>= 2.16) +Suggests: rasqal-utils + +Package: libtext-iconv-perl +Architecture: amd64 +Version: 1.7-7build3 +APT-ID: 3831 +Source: libtext-iconv-perl +Source-Version: 1.7-7build3 +Priority: required +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), perl-base, perlapi-5.34.0 + +Package: fonts-smc-anjalioldlipi +Architecture: all +Version: 7.1.2-2 +APT-ID: 499 +Multi-Arch: foreign +Source: fonts-smc-anjalioldlipi +Source-Version: 7.1.2-2 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: fonts-smc (<< 6.1~) +Breaks: fonts-smc (<< 6.1~) + +Package: libprotobuf23 +Architecture: amd64 +Version: 3.12.4-1ubuntu7 +APT-ID: 3310 +Multi-Arch: same +Source: protobuf +Source-Version: 3.12.4-1ubuntu7 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 11), zlib1g (>= 1:1.1.4) +Breaks: cura-engine (<< 1:3.3.0-2.1+b1), libarcus3 (<< 3.3.0-2) + +Package: systemd-sysv +Architecture: amd64 +Version: 249.11-0ubuntu3.4 +APT-ID: 79619 +Multi-Arch: foreign +Source: systemd +Source-Version: 249.11-0ubuntu3.4 +Priority: required +Section: admin +Installed: yes +APT-Pin: 100 +APT-Automatic: yes +Depends: systemd (= 249.11-0ubuntu3.4) +Pre-Depends: systemd +Recommends: libpam-systemd, libnss-systemd +Conflicts: file-rc, systemd-shim, sysvinit-core +Replaces: sysvinit-core + +Package: libsecret-common +Architecture: all +Version: 0.20.5-2 +APT-ID: 3652 +Multi-Arch: foreign +Source: libsecret +Source-Version: 0.20.5-2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: python3-cups +Architecture: amd64 +Version: 2.0.1-5build1 +APT-ID: 5197 +Multi-Arch: same +Source: python-cups +Source-Version: 2.0.1-5build1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3 (<< 3.11), python3 (>= 3.10~), libc6 (>= 2.34), libcups2 (>= 1.7.0) +Provides: python3.10-cups + +Package: fonts-dejavu-core +Architecture: all +Version: 2.37-2build1 +APT-ID: 433 +Multi-Arch: foreign +Source: fonts-dejavu +Source-Version: 2.37-2build1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: cron +Architecture: amd64 +Version: 3.0pl1-137ubuntu3 +APT-ID: 235 +Multi-Arch: foreign +Source: cron +Source-Version: 3.0pl1-137ubuntu3 +Priority: standard +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libpam0g (>= 0.99.7.1), libselinux1 (>= 3.1~), debianutils (>= 1.7), sensible-utils, adduser, lsb-base (>= 3.0-10), libpam-runtime (>= 1.0.1-11) +Pre-Depends: init-system-helpers (>= 1.54~) +Suggests: anacron (>= 2.0-1), logrotate, checksecurity, default-mta | mail-transport-agent +Provides: cron-daemon + +Package: libcheese8 +Architecture: amd64 +Version: 41.1-1build1 +APT-ID: 1882 +Multi-Arch: same +Source: cheese +Source-Version: 41.1-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libclutter-1.0-0 (>= 1.16), libclutter-gst-3.0-0 (>= 3.0.4), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.39.90), libgstreamer-plugins-base1.0-0 (>= 1.0.0), libgstreamer1.0-0 (>= 1.6.0), cheese-common (>= 41.1-1build1), gstreamer1.0-plugins-base (>= 0.11.0), gstreamer1.0-plugins-good (>= 0.11.0), gstreamer1.0-x + +Package: libical3 +Architecture: amd64 +Version: 3.0.14-1build1 +APT-ID: 2624 +Multi-Arch: same +Source: libical3 +Source-Version: 3.0.14-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: tzdata, libc6 (>= 2.34), libdb5.3, libgcc-s1 (>= 3.3.1), libglib2.0-0 (>= 2.41.1), libicu70 (>= 70.1-1~), libstdc++6 (>= 5.2) + +Package: libgtk-3-bin +Architecture: amd64 +Version: 3.24.33-1ubuntu2 +APT-ID: 72410 +Multi-Arch: foreign +Source: gtk+3.0 +Source-Version: 3.24.33-1ubuntu2 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gtk-update-icon-cache, libc6 (>= 2.34), libcairo2 (>= 1.14.0), libgdk-pixbuf-2.0-0 (>= 2.40.0), libglib2.0-0 (>= 2.57.2), libgtk-3-0 (>= 3.24.33-1ubuntu2), libgtk-3-common (>= 3.24.33-1ubuntu2) +Replaces: gtk-3-examples (<< 3.24.13) +Breaks: gtk-3-examples (<< 3.24.13) + +Package: apt-utils +Architecture: amd64 +Version: 2.4.7 +APT-ID: 71711 +Source: apt +Source-Version: 2.4.7 +Priority: required +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: apt (= 2.4.7), libapt-pkg6.0 (>= 2.4.7), libc6 (>= 2.34), libdb5.3, libgcc-s1 (>= 3.3.1), libstdc++6 (>= 11) + +Package: libgnome-bluetooth13 +Architecture: amd64 +Version: 3.34.5-8 +APT-ID: 2426 +Multi-Arch: same +Source: gnome-bluetooth +Source-Version: 3.34.5-8 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libatk1.0-0 (>= 1.12.4), libc6 (>= 2.29), libcanberra-gtk3-0 (>= 0.25), libcanberra0 (>= 0.2), libglib2.0-0 (>= 2.59.0), libgtk-3-0 (>= 3.19.12), libnotify4 (>= 0.7.0), libudev1 (>= 196), gnome-bluetooth-common (>= 3.34.5-8) + +Package: fonts-lklug-sinhala +Architecture: all +Version: 0.6-4 +APT-ID: 459 +Multi-Arch: foreign +Source: fonts-lklug-sinhala +Source-Version: 0.6-4 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: python3-idna +Architecture: all +Version: 3.3-1 +APT-ID: 5264 +Multi-Arch: foreign +Source: python-idna +Source-Version: 3.3-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any + +Package: unzip +Architecture: amd64 +Version: 6.0-26ubuntu3 +APT-ID: 5913 +Multi-Arch: foreign +Source: unzip +Source-Version: 6.0-26ubuntu3 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbz2-1.0, libc6 (>= 2.34) +Suggests: zip + +Package: libwebkit2gtk-4.0-37 +Architecture: amd64 +Version: 2.36.7-0ubuntu0.22.04.1 +APT-ID: 72828 +Multi-Arch: same +Source: webkit2gtk +Source-Version: 2.36.7-0ubuntu0.22.04.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libjavascriptcoregtk-4.0-18 (= 2.36.7-0ubuntu0.22.04.1), gstreamer1.0-plugins-base, gstreamer1.0-plugins-good, bubblewrap (>= 0.3.1), xdg-dbus-proxy, libatk1.0-0 (>= 2.11.6), libc6 (>= 2.35), libcairo2 (>= 1.15.12), libegl1, libenchant-2-2 (>= 2.2.3), libfontconfig1 (>= 2.12.6), libfreetype6 (>= 2.9.1), libgcc-s1 (>= 4.0), libgcrypt20 (>= 1.9.0), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.70.0), libglx0, libgstreamer-gl1.0-0 (>= 1.14.0), libgstreamer-plugins-base1.0-0 (>= 1.20.0), libgstreamer1.0-0 (>= 1.20.0), libgtk-3-0 (>= 3.23.0), libharfbuzz-icu0 (>= 0.9.18), libharfbuzz0b (>= 1.4.2), libhyphen0 (>= 2.7.1), libicu70 (>= 70.1-1~), libjpeg8 (>= 8c), liblcms2-2 (>= 2.2+git20110628), libmanette-0.2-0 (>= 0.1.2), libnotify4 (>= 0.7.0), libopengl0, libopenjp2-7 (>= 2.2.0), libpango-1.0-0 (>= 1.14.0), libpng16-16 (>= 1.6.2-1), libseccomp2 (>= 0.0.0~20120605), libsecret-1-0 (>= 0.7), libsoup2.4-1 (>= 2.69.90), libsqlite3-0 (>= 3.7.15), libstdc++6 (>= 11), libsystemd0, libtasn1-6 (>= 4.14), libwayland-client0 (>= 1.20.0), libwayland-egl1 (>= 1.15.0), libwayland-server0 (>= 1.2.0), libwebp7, libwebpdemux2, libwoff1 (>= 1.0.0), libx11-6, libxcomposite1 (>= 1:0.4.5), libxdamage1 (>= 1:1.1), libxml2 (>= 2.8), libxslt1.1 (>= 1.1.25), zlib1g (>= 1:1.2.0) +Suggests: gstreamer1.0-libav, gstreamer1.0-plugins-bad, gstreamer1.0-alsa +Recommends: gstreamer1.0-gl, libgl1-mesa-dri, xdg-desktop-portal-gtk +Breaks: evolution (<< 3.34.1) + +Package: gnupg-utils +Architecture: amd64 +Version: 2.2.27-3ubuntu2.1 +APT-ID: 71876 +Multi-Arch: foreign +Source: gnupg2 +Source-Version: 2.2.27-3ubuntu2.1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libassuan0 (>= 2.5.0), libbz2-1.0, libc6 (>= 2.34), libgcrypt20 (>= 1.9.0), libgpg-error0 (>= 1.42), libksba8 (>= 1.3.5), libreadline8 (>= 6.0), zlib1g (>= 1:1.1.4) +Recommends: gpg, gpg-agent, gpgconf, gpgsm +Replaces: gnupg (<< 2.1.21-4), gnupg-agent (<< 2.1.21-4) +Breaks: gnupg (<< 2.1.21-4), gnupg-agent (<< 2.1.21-4) + +Package: memtest86+ +Architecture: amd64 +Version: 5.31b+dfsg-4 +APT-ID: 4641 +Source: memtest86+ +Source-Version: 5.31b+dfsg-4 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf (>= 0.5) | debconf-2.0 +Suggests: grub-pc | grub-legacy, memtest86, memtester, mtools + +Package: fonts-pagul +Architecture: all +Version: 1.0-8 +APT-ID: 486 +Multi-Arch: foreign +Source: fonts-pagul +Source-Version: 1.0-8 +Priority: extra +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: gir1.2-totemplparser-1.0 +Architecture: amd64 +Version: 3.26.6-1build1 +APT-ID: 750 +Multi-Arch: same +Source: totem-pl-parser +Source-Version: 3.26.6-1build1 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0 (>= 0.10.7-1~), libtotem-plparser18 (>= 3.26.5) +Conflicts: gir1.2-totem-plparser-1.0 +Replaces: gir1.2-totem-plparser-1.0 +Provides: gir1.2-totem-plparser-1.0 + +Package: python3-olefile +Architecture: all +Version: 0.46-3 +APT-ID: 5344 +Source: olefile +Source-Version: 0.46-3 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any + +Package: bluez +Architecture: amd64 +Version: 5.64-0ubuntu1 +APT-ID: 136 +Multi-Arch: foreign +Source: bluez +Source-Version: 5.64-0ubuntu1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libdbus-1-3 (>= 1.9.14), libglib2.0-0 (>= 2.31.8), libreadline8 (>= 6.0), libudev1 (>= 196), kmod, udev, lsb-base, dbus +Suggests: pulseaudio-module-bluetooth +Conflicts: bluez-audio (<= 3.36-3), bluez-utils (<= 3.36-3) +Replaces: bluez-audio (<= 3.36-3), bluez-input, bluez-network, bluez-serial, bluez-utils (<= 3.36-3), udev (<< 170-1) +Breaks: udev (<< 170-1) + +Package: gnome-terminal +Architecture: amd64 +Version: 3.44.0-1ubuntu1 +APT-ID: 815 +Multi-Arch: foreign +Source: gnome-terminal +Source-Version: 3.44.0-1ubuntu1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: default-dbus-session-bus | dbus-session-bus, gnome-terminal-data (<< 3.46), gnome-terminal-data (>= 3.44), gsettings-desktop-schemas (>= 0.1.0), python3, python3-gi, gir1.2-glib-2.0, dconf-gsettings-backend | gsettings-backend, libc6 (>= 2.34), libcairo2 (>= 1.2.4), libdconf1 (>= 0.14.0), libgcc-s1 (>= 3.0), libglib2.0-0 (>= 2.52.0), libgtk-3-0 (>= 3.23.0), libpango-1.0-0 (>= 1.14.0), libstdc++6 (>= 4.1.1), libuuid1 (>= 2.16), libvte-2.91-0 (>= 0.68.0), libx11-6 +Recommends: gvfs, nautilus-extension-gnome-terminal, yelp +Provides: x-terminal-emulator + +Package: libpam-cap +Architecture: amd64 +Version: 1:2.44-1build3 +APT-ID: 3172 +Multi-Arch: same +Source: libcap2 +Source-Version: 1:2.44-1build3 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libcap2 (>= 1:2.33), libpam0g (>= 0.99.7.1), libpam-runtime (>= 1.1.3-2~) +Replaces: libcap2-bin (<< 1:2.22-1.1) +Breaks: libcap2-bin (<< 1:2.22-1.1) + +Package: libblkid1 +Architecture: amd64 +Version: 2.37.2-4ubuntu3 +APT-ID: 1727 +Multi-Arch: same +Source: util-linux +Source-Version: 2.37.2-4ubuntu3 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: whoopsie +Architecture: amd64 +Version: 0.2.77 +APT-ID: 5967 +Source: whoopsie +Source-Version: 0.2.77 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcurl3-gnutls (>= 7.16.2), libglib2.0-0 (>= 2.32), libwhoopsie0 (= 0.2.77), adduser +Pre-Depends: sysvinit-utils (>= 2.88dsf-50) + +Package: libgnutls30 +Architecture: amd64 +Version: 3.7.3-4ubuntu1.1 +APT-ID: 72396 +Multi-Arch: same +Source: gnutls28 +Source-Version: 3.7.3-4ubuntu1.1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgmp10 (>= 2:6.2.1+dfsg), libhogweed6 (>= 3.6), libidn2-0 (>= 2.0.0), libnettle8 (>= 3.7~), libp11-kit0 (>= 0.23.18.1), libtasn1-6 (>= 4.14), libunistring2 (>= 0.9.7) +Suggests: gnutls-bin + +Package: libdbusmenu-gtk3-4 +Architecture: amd64 +Version: 16.04.1+18.10.20180917-0ubuntu8 +APT-ID: 2034 +Multi-Arch: same +Source: libdbusmenu +Source-Version: 16.04.1+18.10.20180917-0ubuntu8 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libatk1.0-0 (>= 1.12.4), libc6 (>= 2.4), libdbusmenu-glib4 (>= 0.5.90), libgdk-pixbuf-2.0-0 (>= 2.22.1-0ubuntu4), libglib2.0-0 (>= 2.37.3), libpango-1.0-0 (>= 1.14.0) + +Package: ibus +Architecture: amd64 +Version: 1.5.26-4 +APT-ID: 1094 +Multi-Arch: foreign +Source: ibus +Source-Version: 1.5.26-4 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: init-system-helpers (>= 1.52), python3:any, libatk1.0-0 (>= 1.12.4), libc6 (>= 2.34), libcairo2 (>= 1.2.4), libdconf1 (>= 0.14.0), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.68.0), libgtk-3-0 (>= 3.21.5), libibus-1.0-5 (>= 1.5.19), libpango-1.0-0 (>= 1.14.0), libpangocairo-1.0-0 (>= 1.14.0), libx11-6, libxfixes3 (>= 1:6.0.0), libxi6 (>= 2:1.2.99.4), adwaita-icon-theme, dconf-cli, ibus-data (= 1.5.26-4), gir1.2-gtk-3.0 (>= 3.8.5), gir1.2-ibus-1.0 (= 1.5.26-4), python3-gi, python3-ibus-1.0 (= 1.5.26-4) +Suggests: ibus-clutter, ibus-doc +Recommends: ibus-gtk, ibus-gtk3, ibus-gtk4, im-config +Replaces: ibus-data (<< 1.5.21-4~exp1) +Breaks: ibus-anthy (<< 1.5.3-2), ibus-data (<< 1.5.21-4~exp1), ibus-el (<< 0.3.2-2), ibus-googlepinyin (<< 0.1.2-2) + +Package: gnome-characters +Architecture: amd64 +Version: 41.0-4 +APT-ID: 783 +Source: gnome-characters +Source-Version: 41.0-4 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-gdkpixbuf-2.0, gir1.2-glib-2.0, gir1.2-gnomedesktop-3.0, gir1.2-gtk-3.0 (>= 3.20.0), gir1.2-handy-1 (>= 1.5.90), gir1.2-pango-1.0, gjs (>= 1.49), libglib2.0-bin (>= 2.40.0-3), dconf-gsettings-backend | gsettings-backend, libc6 (>= 2.4), libglib2.0-0 (>= 2.39), libgtk-3-0 (>= 3.20.0), libpango-1.0-0 (>= 1.18.0), libunistring2 (>= 0.9.7) +Recommends: fonts-noto-color-emoji + +Package: libraqm0 +Architecture: amd64 +Version: 0.7.0-4ubuntu1 +APT-ID: 3368 +Multi-Arch: same +Source: raqm +Source-Version: 0.7.0-4ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libfreetype6 (>= 2.4.2), libfribidi0 (>= 1.0.0), libharfbuzz0b (>= 2.1.1) + +Package: libqqwing2v5 +Architecture: amd64 +Version: 1.3.4-1.1ubuntu3 +APT-ID: 3351 +Multi-Arch: same +Source: qqwing +Source-Version: 1.3.4-1.1ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 5) +Conflicts: libqqwing2 +Replaces: libqqwing2 + +Package: fonts-deva +Architecture: all +Version: 2:1.3 +APT-ID: 435 +Multi-Arch: foreign +Source: fonts-deva +Source-Version: 2:1.3 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fonts-deva-extra, fonts-gargi, fonts-lohit-deva, fonts-nakula, fonts-sahadeva, fonts-samyak-deva +Replaces: ttf-devanagari-fonts +Breaks: ttf-devanagari-fonts (<< 2:1.0) + +Package: xfonts-base +Architecture: all +Version: 1:1.0.5 +APT-ID: 6025 +Multi-Arch: foreign +Source: xfonts-base +Source-Version: 1:1.0.5 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: xfonts-utils (>= 1:7.5+2) +Suggests: xfs | xserver +Replaces: xfonts-misc + +Package: libhandy-1-0 +Architecture: amd64 +Version: 1.6.1-1 +APT-ID: 2572 +Multi-Arch: same +Source: libhandy-1 +Source-Version: 1.6.1-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libatk1.0-0 (>= 1.12.4), libc6 (>= 2.29), libcairo2 (>= 1.14.0), libfribidi0 (>= 0.19.2), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.59.0), libgtk-3-0 (>= 3.23.1), libpango-1.0-0 (>= 1.14.0) + +Package: xorg-docs-core +Architecture: all +Version: 1:1.7.1-1.2 +APT-ID: 6040 +Multi-Arch: foreign +Source: xorg-docs +Source-Version: 1:1.7.1-1.2 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Suggests: xorg-docs +Replaces: xorg-docs (<< 1:1.4-5) + +Package: python3-bcrypt +Architecture: amd64 +Version: 3.2.0-1build1 +APT-ID: 5159 +Source: python-bcrypt +Source-Version: 3.2.0-1build1 +Priority: extra +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3 (>= 3~), python3-cffi-backend-api-min (<= 9729), python3-cffi-backend-api-max (>= 9729), python3-six (>= 1.4.1), python3:any, libc6 (>= 2.14) + +Package: libxvmc1 +Architecture: amd64 +Version: 2:1.0.12-2build2 +APT-ID: 4282 +Multi-Arch: same +Source: libxvmc +Source-Version: 2:1.0.12-2build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libx11-6 (>= 2:1.6.0), libxext6, x11-common + +Package: libaa1 +Architecture: amd64 +Version: 1.4p5-50build1 +APT-ID: 1567 +Multi-Arch: same +Source: aalib +Source-Version: 1.4p5-50build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libgpm2 (>= 1.20.7), libncurses6 (>= 6), libslang2 (>= 2.2.4), libtinfo6 (>= 6), libx11-6 +Replaces: aalib1 +Provides: aalib1 + +Package: gnome-bluetooth +Architecture: amd64 +Version: 3.34.5-8 +APT-ID: 778 +Source: gnome-bluetooth +Source-Version: 3.34.5-8 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: bluez (>= 5.5), bluez-obexd, udev (>= 154), libc6 (>= 2.34), libglib2.0-0 (>= 2.38.0), libgnome-bluetooth13 (>= 3.12.0), libgtk-3-0 (>= 3.12.0) +Recommends: gnome-control-center | budgie-control-center | unity-control-center, gvfs-backends +Conflicts: bluez-gnome +Breaks: gnome-shell (<< 3.12) + +Package: python3-chardet +Architecture: all +Version: 4.0.0-1 +APT-ID: 5179 +Multi-Arch: foreign +Source: chardet +Source-Version: 4.0.0-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any, python3-pkg-resources +Replaces: python-chardet (<< 3.0.4-6) +Breaks: python-chardet (<< 3.0.4-6) + +Package: unattended-upgrades +Architecture: all +Version: 2.8ubuntu1 +APT-ID: 5909 +Source: unattended-upgrades +Source-Version: 2.8ubuntu1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf (>= 0.5) | debconf-2.0, debconf, python3, python3-apt (>= 1.9.6~), python3-dbus, python3-distro-info, ucf, lsb-release, lsb-base, xz-utils +Suggests: bsd-mailx, default-mta | mail-transport-agent, needrestart, powermgmt-base, python3-gi +Recommends: systemd-sysv | cron | cron-daemon | anacron + +Package: cups +Architecture: amd64 +Version: 2.4.1op1-1ubuntu4.1 +APT-ID: 71754 +Multi-Arch: foreign +Source: cups +Source-Version: 2.4.1op1-1ubuntu4.1 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: cups-client (>= 2.4.1op1-1ubuntu4.1), cups-common (>= 2.4.1op1-1ubuntu4.1), cups-core-drivers (>= 2.4.1op1-1ubuntu4.1), cups-daemon (>= 2.4.1op1-1ubuntu4.1), cups-filters, cups-ppdc, cups-server-common (>= 2.4.1op1-1ubuntu4.1), debconf (>= 0.5) | debconf-2.0, ghostscript, libcups2 (= 2.4.1op1-1ubuntu4.1), poppler-utils, procps, libavahi-client3 (>= 0.6.16), libavahi-common3 (>= 0.6.16), libc6 (>= 2.34), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 5), libusb-1.0-0 (>= 2:1.0.16) +Suggests: cups-bsd, cups-pdf, foomatic-db-compressed-ppds | foomatic-db, smbclient, udev +Recommends: avahi-daemon, colord + +Package: thermald +Architecture: amd64 +Version: 2.4.9-1ubuntu0.1 +APT-ID: 74433 +Source: thermald +Source-Version: 2.4.9-1ubuntu0.1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libdbus-1-3 (>= 1.9.14), libdbus-glib-1-2 (>= 0.88), libevdev2 (>= 0.9.1), libgcc-s1 (>= 3.3.1), libglib2.0-0 (>= 2.37.3), liblzma5 (>= 5.1.1alpha+20120614), libstdc++6 (>= 11), libupower-glib3 (>= 0.99.0), libxml2 (>= 2.7.4), lsb-base (>= 3.0-6) + +Package: libao4 +Architecture: amd64 +Version: 1.2.2+20180113-1.1ubuntu3 +APT-ID: 1592 +Multi-Arch: same +Source: libao +Source-Version: 1.2.2+20180113-1.1ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libao-common +Suggests: libasound2, libaudio2, libpulse0, libsndio6.1 +Replaces: libao-pulse + +Package: idle +Architecture: all +Version: 3.10.6-1~22.04 +APT-ID: 77374 +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: optional +Section: universe/python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=universe,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=universe,b=i386 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3 (>= 3.10.6-1~22.04), python3-tk, idle-python3.10 +Replaces: idle3 (<< 3.6.2-2) +Breaks: idle3 (<< 3.6.2-2) +Enhances: python3 + +Package: idle +Architecture: all +Version: 3.10.4-0ubuntu2 +APT-ID: 21726 +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-0ubuntu2 +Priority: optional +Section: universe/python +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=universe,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=universe,b=i386 +APT-Pin: 500 +Depends: python3 (>= 3.10.4-0ubuntu2), python3-tk, idle-python3.10 +Replaces: idle3 (<< 3.6.2-2) +Breaks: idle3 (<< 3.6.2-2) +Enhances: python3 + +Package: fonts-tlwg-loma +Architecture: all +Version: 1:0.7.3-1 +APT-ID: 523 +Multi-Arch: foreign +Source: fonts-tlwg +Source-Version: 1:0.7.3-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fonts-tlwg-loma-ttf | fonts-tlwg-loma-otf + +Package: libpcre2-32-0 +Architecture: amd64 +Version: 10.39-3ubuntu0.1 +APT-ID: 72502 +Multi-Arch: same +Source: pcre2 +Source-Version: 10.39-3ubuntu0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: fonts-tlwg-norasi +Architecture: all +Version: 1:0.7.3-1 +APT-ID: 527 +Multi-Arch: foreign +Source: fonts-tlwg +Source-Version: 1:0.7.3-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fonts-tlwg-norasi-ttf | fonts-tlwg-norasi-otf + +Package: libslang2 +Architecture: amd64 +Version: 2.3.2-5build4 +APT-ID: 3677 +Multi-Arch: same +Source: slang2 +Source-Version: 2.3.2-5build4 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.35) + +Package: aspell-en +Architecture: all +Version: 2018.04.16-0-1 +APT-ID: 59 +Multi-Arch: foreign +Source: aspell-en +Source-Version: 2018.04.16-0-1 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: aspell (>= 0.60.3-2), dictionaries-common (>= 0.49.2) +Provides: aspell-dictionary + +Package: libegl-mesa0 +Architecture: amd64 +Version: 22.0.5-0ubuntu0.1 +APT-ID: 72334 +Multi-Arch: same +Source: mesa +Source-Version: 22.0.5-0ubuntu0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libdrm2 (>= 2.4.109), libexpat1 (>= 2.0.1), libgbm1 (= 22.0.5-0ubuntu0.1), libgcc-s1 (>= 3.4), libglapi-mesa (= 22.0.5-0ubuntu0.1), libstdc++6 (>= 4.1.1), libwayland-client0 (>= 1.20.0), libwayland-server0 (>= 1.15.0), libx11-xcb1 (>= 2:1.7.5), libxcb-dri2-0 (>= 1.8), libxcb-dri3-0 (>= 1.13), libxcb-present0, libxcb-sync1, libxcb-xfixes0, libxcb1 (>= 1.9.2), libxshmfence1 +Provides: libegl-vendor + +Package: gcc-11-base +Architecture: amd64 +Version: 11.2.0-19ubuntu1 +APT-ID: 593 +Multi-Arch: same +Source: gcc-11 +Source-Version: 11.2.0-19ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Breaks: gnat (<< 7) + +Package: libtracker-sparql-3.0-0 +Architecture: amd64 +Version: 3.3.0-1 +APT-ID: 3888 +Multi-Arch: same +Source: tracker +Source-Version: 3.3.0-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.55.2), libicu70 (>= 70.1-1~), libjson-glib-1.0-0 (>= 1.5.2), libsoup2.4-1 (>= 2.49.91.1), libsqlite3-0 (>= 3.20.0), libstemmer0d (>= 0+svn527), libxml2 (>= 2.7.4) + +Package: xfonts-scalable +Architecture: all +Version: 1:1.0.3-1.2ubuntu1 +APT-ID: 6027 +Multi-Arch: foreign +Source: xfonts-scalable +Source-Version: 1:1.0.3-1.2ubuntu1 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: xfonts-utils +Suggests: xfs | xserver +Conflicts: xfntscl + +Package: libxcb-render-util0 +Architecture: amd64 +Version: 0.3.9-1build3 +APT-ID: 4154 +Multi-Arch: same +Source: xcb-util-renderutil +Source-Version: 0.3.9-1build3 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libxcb-render0, libxcb1 + +Package: libargon2-1 +Architecture: amd64 +Version: 0~20171227-0.3 +APT-ID: 1625 +Multi-Arch: same +Source: argon2 +Source-Version: 0~20171227-0.3 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: libsane1 +Architecture: amd64 +Version: 1.1.1-5 +APT-ID: 3634 +Multi-Arch: same +Source: sane-backends +Source-Version: 1.1.1-5 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: acl, adduser, libsane-common (= 1.1.1-5), udev, libavahi-client3 (>= 0.6.16), libavahi-common3 (>= 0.6.16), libc6 (>= 2.34), libcairo2 (>= 1.2.4), libcurl3-gnutls (>= 7.16.2), libgcc-s1 (>= 3.3.1), libglib2.0-0 (>= 2.12.0), libgphoto2-6 (>= 2.5.10), libgphoto2-port12 (>= 2.5.10), libieee1284-3 (>= 0.2.11), libjpeg8 (>= 8c), libpng16-16 (>= 1.6.2-1), libpoppler-glib8 (>= 0.18.0), libsnmp40 (>= 5.9.1+dfsg), libstdc++6 (>= 11), libtiff5 (>= 4.0.3), libusb-1.0-0 (>= 2:1.0.22), libxml2 (>= 2.7.4) +Suggests: avahi-daemon, hplip +Recommends: sane-airscan, sane-utils (>= 1.1.1-5), ipp-usb +Replaces: libsane (<< 1.0.29-1~) +Breaks: libsane (<< 1.0.29-1~) +Provides: libsane (= 1.1.1-5) + +Package: sysvinit-utils +Architecture: amd64 +Version: 3.01-1ubuntu1 +APT-ID: 5738 +Essential: yes +Multi-Arch: foreign +Source: sysvinit +Source-Version: 3.01-1ubuntu1 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: lsb-base (>= 11.0.0~), libc6 (>= 2.34) + +Package: libcairo-gobject-perl +Architecture: amd64 +Version: 1.005-3build1 +APT-ID: 1828 +Multi-Arch: same +Source: libcairo-gobject-perl +Source-Version: 1.005-3build1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl, perlapi-5.34.0, libc6 (>= 2.34), libcairo-gobject2 (>= 1.10.0), libcairo2 (>= 1.10.0), libglib2.0-0 (>= 2.12.0), libcairo-perl, libglib-perl + +Package: libenchant-2-2 +Architecture: amd64 +Version: 2.3.2-1ubuntu2 +APT-ID: 2145 +Multi-Arch: same +Source: enchant-2 +Source-Version: 2.3.2-1ubuntu2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: hunspell-en-us | hunspell-dictionary | myspell-dictionary | aspell-dictionary | ispell-dictionary, libaspell15 (>= 0.60.8), libc6 (>= 2.33), libgcc-s1 (>= 3.3.1), libglib2.0-0 (>= 2.28.0), libhunspell-1.7-0, libstdc++6 (>= 5.2), zlib1g (>= 1:1.1.4) +Suggests: libenchant-2-voikko +Recommends: enchant-2 + +Package: session-migration +Architecture: amd64 +Version: 0.3.6 +APT-ID: 5650 +Source: session-migration +Source-Version: 0.3.6 +Priority: extra +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.51.1), init-system-helpers (>= 1.52) + +Package: libreoffice-math +Architecture: amd64 +Version: 1:7.3.6-0ubuntu0.22.04.1 +APT-ID: 72687 +Source: libreoffice +Source-Version: 1:7.3.6-0ubuntu0.22.04.1 +Priority: optional +Section: editors +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fonts-opensymbol (>= 2:102.11), libreoffice-common (>= 1:7.0.0~alpha~), libreoffice-core (= 1:7.3.6-0ubuntu0.22.04.1), ucf (>= 0.8), libc6 (>= 2.32), libgcc-s1 (>= 3.0), libstdc++6 (>= 11), libuno-cppu3 (>= 4.4.0~alpha), libuno-cppuhelpergcc3-3 (>= 4.0.0~alpha), libuno-sal3 (>= 1:7.3.0~beta1), libuno-salhelpergcc3-3 (>= 1.4.0), uno-libs-private +Replaces: libreoffice-common (<< 1:6.4.2~rc1~) +Breaks: libreoffice-common (<< 1:6.4.2~rc1~) + +Package: python3-debconf +Architecture: all +Version: 1.5.79ubuntu1 +APT-ID: 5205 +Source: debconf +Source-Version: 1.5.79ubuntu1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf (= 1.5.79ubuntu1), python3:any +Replaces: debconf (<< 1.5.64) +Breaks: debconf (<< 1.5.64) + +Package: libcbor0.8 +Architecture: amd64 +Version: 0.8.0-2ubuntu1 +APT-ID: 1855 +Multi-Arch: same +Source: libcbor +Source-Version: 0.8.0-2ubuntu1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: fonts-deva-extra +Architecture: all +Version: 3.0-5 +APT-ID: 436 +Multi-Arch: foreign +Source: fonts-deva-extra +Source-Version: 3.0-5 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Pre-Depends: dpkg (>= 1.15.6~) +Recommends: fonts-gargi, fonts-sarai +Replaces: ttf-devanagari-fonts +Breaks: ttf-devanagari-fonts (<< 2:1.0) + +Package: gir1.2-gweather-3.0 +Architecture: amd64 +Version: 40.0-5build1 +APT-ID: 713 +Multi-Arch: same +Source: libgweather +Source-Version: 40.0-5build1 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0 (>= 0.9.5), gir1.2-gtk-3.0 (>= 3.13.5), libgweather-3-16 (>= 40.0) + +Package: logsave +Architecture: amd64 +Version: 1.46.5-2ubuntu1.1 +APT-ID: 74193 +Multi-Arch: foreign +Source: e2fsprogs +Source-Version: 1.46.5-2ubuntu1.1 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Replaces: e2fsprogs (<< 1.45.3-1) +Breaks: e2fsprogs (<< 1.45.3-1) + +Package: libpangoxft-1.0-0 +Architecture: amd64 +Version: 1.50.6+ds-2 +APT-ID: 3198 +Multi-Arch: same +Source: pango1.0 +Source-Version: 1.50.6+ds-2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libfontconfig1 (>= 2.13.0), libglib2.0-0 (>= 2.62.0), libpango-1.0-0 (= 1.50.6+ds-2), libpangoft2-1.0-0 (= 1.50.6+ds-2), libx11-6, libxft2 (>> 2.1.1), libxrender1 + +Package: libhttp-message-perl +Architecture: all +Version: 6.36-1 +APT-ID: 2600 +Source: libhttp-message-perl +Source-Version: 6.36-1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any, libencode-locale-perl, libencode-perl (>= 3.01), libhttp-date-perl, libio-html-perl, liblwp-mediatypes-perl, liburi-perl +Recommends: libclone-perl + +Package: xml-core +Architecture: all +Version: 0.18+nmu1 +APT-ID: 6035 +Multi-Arch: foreign +Source: xml-core +Source-Version: 0.18+nmu1 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: sed (>= 4.1.2-8), sgml-base (>= 1.28) +Suggests: debhelper (>= 9.20120909) + +Package: libflashrom1 +Architecture: amd64 +Version: 1.2-5build1 +APT-ID: 2239 +Multi-Arch: same +Source: flashrom +Source-Version: 1.2-5build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libftdi1-2 (>= 1.2), libpci3 (>= 1:3.5.1), libusb-1.0-0 (>= 2:1.0.22) + +Package: libmessaging-menu0 +Architecture: amd64 +Version: 22.2.0-1 +APT-ID: 2909 +Multi-Arch: same +Source: ayatana-indicator-messages +Source-Version: 22.2.0-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libglib2.0-0 (>= 2.37.3) + +Package: gnupg-l10n +Architecture: all +Version: 2.2.27-3ubuntu2.1 +APT-ID: 71875 +Multi-Arch: foreign +Source: gnupg2 +Source-Version: 2.2.27-3ubuntu2.1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=i386 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: gnupg (<< 2.1.14-2~), gnupg2 (<< 2.1.14-2~) +Breaks: gnupg (<< 2.1.14-2~), gnupg2 (<< 2.1.14-2~) +Enhances: dirmngr, gpg, gpg-agent + +Package: libreoffice-gtk3 +Architecture: amd64 +Version: 1:7.3.6-0ubuntu0.22.04.1 +APT-ID: 72556 +Source: libreoffice +Source-Version: 1:7.3.6-0ubuntu0.22.04.1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libreoffice-core (= 1:7.3.6-0ubuntu0.22.04.1), libatk1.0-0 (>= 1.12.4), libc6 (>= 2.34), libcairo2 (>= 1.12.0), libepoxy0 (>= 1.0), libgcc-s1 (>= 3.0), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.38.0), libgtk-3-0 (>= 3.21.5), libpango-1.0-0 (>= 1.14.0), libstdc++6 (>= 11), libuno-cppu3 (>= 4.4.0~alpha), libuno-cppuhelpergcc3-3 (>= 4.0.0~alpha), libuno-sal3 (>= 1:7.3.0~beta1), libx11-6, uno-libs-private +Suggests: libreofficekit-data +Recommends: gstreamer1.0-gtk3 +Enhances: libreoffice + +Package: libexttextcat-data +Architecture: all +Version: 3.4.5-1build2 +APT-ID: 2191 +Multi-Arch: foreign +Source: libexttextcat +Source-Version: 3.4.5-1build2 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libgtk-4-bin +Architecture: amd64 +Version: 4.6.6+ds-0ubuntu1 +APT-ID: 72415 +Multi-Arch: foreign +Source: gtk4 +Source-Version: 4.6.6+ds-0ubuntu1 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gtk-update-icon-cache, libc6 (>= 2.34), libcairo-gobject2 (>= 1.14.0), libcairo-script-interpreter2 (>= 1.14.0), libcairo2 (>= 1.14.0), libepoxy0 (>= 1.4.3), libfontconfig1 (>= 2.12.6), libfribidi0 (>= 0.19.7), libgdk-pixbuf-2.0-0 (>= 2.30.1), libglib2.0-0 (>= 2.70.0), libgraphene-1.0-0 (>= 1.9.4), libgtk-4-1 (>= 4.6.6+ds-0ubuntu1), libharfbuzz0b (>= 2.2.0), libjpeg8 (>= 8c), libpango-1.0-0 (>= 1.50.3), libpangocairo-1.0-0 (>= 1.50.0), libpangoft2-1.0-0 (>= 1.50.0), libpng16-16 (>= 1.6.2-1), libtiff5 (>= 4.0.3), libwayland-client0 (>= 1.20.0), libwayland-egl1 (>= 1.20.0), libx11-6 (>= 2:1.4.99.1), libxcursor1 (>> 1.1.2), libxdamage1 (>= 1:1.1), libxext6, libxfixes3, libxi6 (>= 2:1.2.99.4), libxinerama1 (>= 2:1.1.4), libxkbcommon0 (>= 0.5.0), libxrandr2 (>= 2:1.5.0), libgtk-4-common (>= 4.6.6+ds-0ubuntu1) +Replaces: gtk-4-examples (<< 3.96.0-3~) +Breaks: gtk-4-examples (<< 3.96.0-3~) + +Package: libraw20 +Architecture: amd64 +Version: 0.20.2-2ubuntu2 +APT-ID: 3379 +Multi-Arch: same +Source: libraw +Source-Version: 0.20.2-2ubuntu2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libgcc-s1 (>= 3.3.1), libgomp1 (>= 6), libjpeg8 (>= 8c), liblcms2-2 (>= 2.2+git20110628), libstdc++6 (>= 5.2) + +Package: libpipewire-0.3-modules +Architecture: amd64 +Version: 0.3.48-1ubuntu1 +APT-ID: 3261 +Multi-Arch: same +Source: pipewire +Source-Version: 0.3.48-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libavahi-client3 (>= 0.6.16), libavahi-common3 (>= 0.6.16), libc6 (>= 2.34), libcanberra0 (>= 0.2), libdbus-1-3 (>= 1.9.14), libpipewire-0.3-0 (= 0.3.48-1ubuntu1), libpulse0 (>= 11.1), libsndfile1 (>= 1.0.20), libssl3 (>= 3.0.0~~alpha1), libsystemd0, libx11-6 (>= 2:1.7.0), libxfixes3 (>= 1:6.0.0) +Replaces: pipewire (<< 0.3.5) +Breaks: pipewire (<< 0.3.5) + +Package: python3.10-minimal +Architecture: amd64 +Version: 3.10.6-1~22.04 +APT-ID: 74366 +Multi-Arch: allowed +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: required +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libpython3.10-minimal (= 3.10.6-1~22.04), libexpat1 (>= 2.1~beta3), zlib1g (>= 1:1.2.0) +Pre-Depends: libc6 (>= 2.35) +Suggests: binfmt-support +Recommends: python3.10 +Conflicts: binfmt-support (<< 1.1.2) + +Package: python3.10-minimal +Architecture: amd64 +Version: 3.10.4-3ubuntu0.1 +APT-ID: 79412 +Multi-Arch: allowed +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3ubuntu0.1 +Priority: required +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Automatic: yes +Depends: libpython3.10-minimal (= 3.10.4-3ubuntu0.1), libexpat1 (>= 2.1~beta3), zlib1g (>= 1:1.2.0) +Pre-Depends: libc6 (>= 2.35) +Suggests: binfmt-support +Recommends: python3.10 +Conflicts: binfmt-support (<< 1.1.2) + +Package: python3.10-minimal +Architecture: amd64 +Version: 3.10.4-3 +APT-ID: 5555 +Multi-Arch: allowed +Source: python3.10 +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-3 +Priority: required +Section: python +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Automatic: yes +Depends: libpython3.10-minimal (= 3.10.4-3), libexpat1 (>= 2.1~beta3), zlib1g (>= 1:1.2.0) +Pre-Depends: libc6 (>= 2.35) +Suggests: binfmt-support +Recommends: python3.10 +Conflicts: binfmt-support (<< 1.1.2) + +Package: gstreamer1.0-pulseaudio +Architecture: amd64 +Version: 1.20.3-0ubuntu1 +APT-ID: 71894 +Multi-Arch: same +Source: gst-plugins-good1.0 +Source-Version: 1.20.3-0ubuntu1 +Priority: optional +Section: sound +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gstreamer1.0-plugins-good (>= 1.20.0) + +Package: libjcat1 +Architecture: amd64 +Version: 0.1.9-1 +APT-ID: 2736 +Multi-Arch: same +Source: libjcat +Source-Version: 0.1.9-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libglib2.0-0 (>= 2.61.2), libgnutls30 (>= 3.7.0), libgpg-error0 (>= 1.14), libgpgme11 (>= 1.2.0), libjson-glib-1.0-0 (>= 1.5.2) + +Package: ubuntu-release-upgrader-core +Architecture: all +Version: 1:22.04.14 +APT-ID: 74531 +Source: ubuntu-release-upgrader +Source-Version: 1:22.04.14 +Priority: standard +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any, python3-distupgrade (= 1:22.04.14), ca-certificates +Recommends: libpam-modules (>= 1.0.1-9ubuntu3) +Replaces: update-manager (<< 1:0.165), update-manager-core (<< 1:0.165) +Breaks: software-properties (<< 0.9.27), update-manager (<< 1:0.165), update-manager-core (<< 1:0.165) + +Package: libfreehand-0.1-1 +Architecture: amd64 +Version: 0.1.2-3build2 +APT-ID: 2255 +Source: libfreehand +Source-Version: 0.1.2-3build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libgcc-s1 (>= 3.3.1), liblcms2-2 (>= 2.2+git20110628), librevenge-0.0-0, libstdc++6 (>= 11), zlib1g (>= 1:1.1.4) + +Package: libpam-pwquality +Architecture: amd64 +Version: 1.4.4-1build2 +APT-ID: 3183 +Multi-Arch: same +Source: libpwquality +Source-Version: 1.4.4-1build2 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libpam0g (>= 1.1.1), libpwquality1 (>= 1.1.0), libpam-runtime + +Package: gnome-accessibility-themes +Architecture: all +Version: 3.28-1ubuntu3 +APT-ID: 777 +Multi-Arch: foreign +Source: gnome-themes-extra +Source-Version: 3.28-1ubuntu3 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: fonts-sil-abyssinica +Architecture: all +Version: 2.100-3 +APT-ID: 493 +Multi-Arch: foreign +Source: fonts-sil-abyssinica +Source-Version: 2.100-3 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libdv4 +Architecture: amd64 +Version: 1.0.0-14build1 +APT-ID: 2098 +Multi-Arch: same +Source: libdv +Source-Version: 1.0.0-14build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) +Suggests: libdv-bin, oss-compat + +Package: libdw1 +Architecture: amd64 +Version: 0.186-1build1 +APT-ID: 2104 +Multi-Arch: same +Source: elfutils +Source-Version: 0.186-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbz2-1.0, libc6 (>= 2.34), libelf1 (= 0.186-1build1), liblzma5 (>= 5.1.1alpha+20120614), zlib1g (>= 1:1.2.2.3) + +Package: libfile-listing-perl +Architecture: all +Version: 6.14-1 +APT-ID: 2224 +Source: libfile-listing-perl +Source-Version: 6.14-1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any, libhttp-date-perl + +Package: libfwupdplugin5 +Architecture: amd64 +Version: 1.7.5-3 +APT-ID: 2283 +Multi-Arch: same +Source: fwupd +Source-Version: 1.7.5-3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libfwupd2 (= 1.7.5-3), libarchive13 (>= 3.0.4), libc6 (>= 2.14), libgcab-1.0-0 (>= 1.0), libglib2.0-0 (>= 2.67.3), libgudev-1.0-0 (>= 212), libgusb2 (>= 0.3.5), libjcat1 (>= 0.1.0), libxmlb2 (>= 0.3.2) + +Package: gpg-wks-client +Architecture: amd64 +Version: 2.2.27-3ubuntu2.1 +APT-ID: 71882 +Multi-Arch: foreign +Source: gnupg2 +Source-Version: 2.2.27-3ubuntu2.1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dirmngr (= 2.2.27-3ubuntu2.1), gpg (= 2.2.27-3ubuntu2.1), gpg-agent (= 2.2.27-3ubuntu2.1), libassuan0 (>= 2.5.0), libc6 (>= 2.34), libgcrypt20 (>= 1.9.0), libgpg-error0 (>= 1.42) +Recommends: gnupg (= 2.2.27-3ubuntu2.1) + +Package: gsettings-ubuntu-schemas +Architecture: all +Version: 0.0.7+21.10.20210712-0ubuntu2 +APT-ID: 922 +Multi-Arch: foreign +Source: gsettings-ubuntu-touch-schemas +Source-Version: 0.0.7+21.10.20210712-0ubuntu2 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend +Replaces: gsettings-ubuntu-touch-schemas (<= 0.0.1+14.04.20140130.1-0ubuntu1) +Breaks: gsettings-ubuntu-touch-schemas (<= 0.0.1+14.04.20140130.1-0ubuntu1) + +Package: fonts-tlwg-loma-ttf +Architecture: all +Version: 1:0.7.3-1 +APT-ID: 524 +Multi-Arch: foreign +Source: fonts-tlwg +Source-Version: 1:0.7.3-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: fonts-tlwg-loma (>= 1:0.6.2-2) +Replaces: fonts-tlwg-loma (<< 1:0.6.2-2) +Breaks: fonts-tlwg-loma (<< 1:0.6.2-2) + +Package: libxcb-shm0 +Architecture: amd64 +Version: 1.14-3ubuntu3 +APT-ID: 4164 +Multi-Arch: same +Source: libxcb +Source-Version: 1.14-3ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libxcb1 (>= 1.12) + +Package: gir1.2-harfbuzz-0.0 +Architecture: amd64 +Version: 2.7.4-1ubuntu3.1 +APT-ID: 71841 +Multi-Arch: same +Source: harfbuzz +Source-Version: 2.7.4-1ubuntu3.1 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0 (>= 1.31.0-2), libharfbuzz0b (>= 2.7.4) + +Package: fonts-tlwg-umpush +Architecture: all +Version: 1:0.7.3-1 +APT-ID: 539 +Multi-Arch: foreign +Source: fonts-tlwg +Source-Version: 1:0.7.3-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fonts-tlwg-umpush-ttf | fonts-tlwg-umpush-otf + +Package: gir1.2-gdesktopenums-3.0 +Architecture: amd64 +Version: 42.0-1ubuntu1 +APT-ID: 675 +Multi-Arch: same +Source: gsettings-desktop-schemas +Source-Version: 42.0-1ubuntu1 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: remmina-common +Architecture: all +Version: 1.4.25+dfsg-1 +APT-ID: 5592 +Multi-Arch: foreign +Source: remmina +Source-Version: 1.4.25+dfsg-1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: remmina + +Package: iio-sensor-proxy +Architecture: amd64 +Version: 3.3-0ubuntu6 +APT-ID: 1118 +Source: iio-sensor-proxy +Source-Version: 3.3-0ubuntu6 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.67.3), libgudev-1.0-0 (>= 1:237) +Suggests: systemd + +Package: liblz4-1 +Architecture: amd64 +Version: 1.9.3-2build2 +APT-ID: 2864 +Multi-Arch: same +Source: lz4 +Source-Version: 1.9.3-2build2 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) +Replaces: liblz4-1a +Breaks: liblz4-1a + +Package: libplymouth5 +Architecture: amd64 +Version: 0.9.5+git20211018-1ubuntu3 +APT-ID: 3276 +Multi-Arch: same +Source: plymouth +Source-Version: 0.9.5+git20211018-1ubuntu3 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libpng16-16 (>= 1.6.2-1), libudev1 (>= 183) +Replaces: plymouth (<< 0.9.2-1~) +Breaks: plymouth (<< 0.9.2-1~) + +Package: librhythmbox-core10 +Architecture: amd64 +Version: 3.4.4-5ubuntu1 +APT-ID: 3566 +Multi-Arch: same +Source: rhythmbox +Source-Version: 3.4.4-5ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libatk1.0-0 (>= 1.12.4), libc6 (>= 2.29), libcairo2 (>= 1.2.4), libgdk-pixbuf-2.0-0 (>= 2.22.0), libgirepository-1.0-1 (>= 0.10.0), libglib2.0-0 (>= 2.38.0), libgstreamer-plugins-base1.0-0 (>= 1.4.0), libgstreamer1.0-0 (>= 1.4.0), libgtk-3-0 (>= 3.20.0), libgudev-1.0-0 (>= 146), libjson-glib-1.0-0 (>= 1.5.2), libpango-1.0-0 (>= 1.14.0), libpangocairo-1.0-0 (>= 1.14.0), libpeas-1.0-0 (>= 1.0.0), libsoup2.4-1 (>= 2.42.0), libtdb1 (>= 1.2.7+git20101214), libtotem-plparser18 (>= 3.26.0), libxml2 (>= 2.7.8) + +Package: amd64-microcode +Architecture: amd64 +Version: 3.20191218.1ubuntu2 +APT-ID: 19 +Source: amd64-microcode +Source-Version: 3.20191218.1ubuntu2 +Priority: extra +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: initramfs-tools (>= 0.113~) | dracut (>= 044) | tiny-initramfs +Breaks: intel-microcode (<< 2) + +Package: libpci3 +Architecture: amd64 +Version: 1:3.7.0-6 +APT-ID: 3217 +Multi-Arch: same +Source: pciutils +Source-Version: 1:3.7.0-6 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libudev1 (>= 196), zlib1g (>= 1:1.1.4), pci.ids (>= 0.0~2019.11.10-2) + +Package: libgnomekbd8 +Architecture: amd64 +Version: 3.26.1-2 +APT-ID: 2443 +Multi-Arch: same +Source: libgnomekbd +Source-Version: 3.26.1-2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: iso-codes, libgnomekbd-common (>= 3.26.1-2), libc6 (>= 2.14), libcairo2 (>= 1.2.4), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.37.3), libgtk-3-0 (>= 3.0.0), libpango-1.0-0 (>= 1.18.0), libpangocairo-1.0-0 (>= 1.22.0), libx11-6, libxklavier16 (>= 5.2) + +Package: gnome-themes-extra +Architecture: amd64 +Version: 3.28-1ubuntu3 +APT-ID: 817 +Multi-Arch: same +Source: gnome-themes-extra +Source-Version: 3.28-1ubuntu3 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gnome-themes-extra-data (>= 3.28-1ubuntu3), libc6 (>= 2.4), libcairo2 (>= 1.2.4), libglib2.0-0 (>= 2.37.3), gtk2-engines-pixbuf +Recommends: gnome-accessibility-themes, adwaita-icon-theme (>= 3.18.0-2~) +Replaces: gnome-themes-standard (<= 3.27.90.1) +Breaks: gnome-themes-standard (<= 3.27.90.1) + +Package: dconf-service +Architecture: amd64 +Version: 0.40.0-3 +APT-ID: 274 +Multi-Arch: foreign +Source: dconf +Source-Version: 0.40.0-3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: default-dbus-session-bus | dbus-session-bus, libdconf1 (= 0.40.0-3), libc6 (>= 2.34), libglib2.0-0 (>= 2.55.2) +Recommends: dconf-gsettings-backend + +Package: command-not-found +Architecture: all +Version: 22.04.0 +APT-ID: 209 +Source: command-not-found +Source-Version: 22.04.0 +Priority: standard +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-commandnotfound (= 22.04.0) +Suggests: snapd + +Package: gir1.2-upowerglib-1.0 +Architecture: amd64 +Version: 0.99.17-1 +APT-ID: 754 +Multi-Arch: same +Source: upower +Source-Version: 0.99.17-1 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0, libupower-glib3 (>= 0.99.14) + +Package: libgc1 +Architecture: amd64 +Version: 1:8.0.6-1.1build1 +APT-ID: 2295 +Multi-Arch: same +Source: libgc +Source-Version: 1:8.0.6-1.1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libstdc++6 (>= 4.1.1) +Conflicts: libgc1c2 +Replaces: libgc1c2 + +Package: libgd3 +Architecture: amd64 +Version: 2.3.0-2ubuntu2 +APT-ID: 2324 +Multi-Arch: same +Source: libgd2 +Source-Version: 2.3.0-2ubuntu2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.29), libfontconfig1 (>= 2.12.6), libfreetype6 (>= 2.2.1), libjpeg8 (>= 8c), libpng16-16 (>= 1.6.2-1), libtiff5 (>= 4.0.3), libwebp7, libxpm4, zlib1g (>= 1:1.1.4) +Suggests: libgd-tools + +Package: libtss2-esys-3.0.2-0 +Architecture: amd64 +Version: 3.2.0-1ubuntu1 +APT-ID: 3896 +Multi-Arch: same +Source: tpm2-tss +Source-Version: 3.2.0-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libtss2-tcti-cmd0, libtss2-tcti-device0, libtss2-tcti-mssim0, libtss2-tcti-swtpm0, tpm-udev, libc6 (>= 2.34), libssl3 (>= 3.0.0~~alpha1), libtss2-mu0 (>= 3.0.1), libtss2-sys1 (>= 3.1.0) +Replaces: libtss2-esys0 (<< 3.0.2-1) +Breaks: libtss2-esys0 (<< 3.0.2-1) + +Package: libxml-parser-perl +Architecture: amd64 +Version: 2.46-3build1 +APT-ID: 4229 +Multi-Arch: same +Source: libxml-parser-perl +Source-Version: 2.46-3build1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl, perlapi-5.34.0, libc6 (>= 2.34), libexpat1 (>= 2.0.1), liburi-perl, libwww-perl + +Package: perl-modules-5.34 +Architecture: all +Version: 5.34.0-3ubuntu1 +APT-ID: 4867 +Multi-Arch: foreign +Source: perl +Source-Version: 5.34.0-3ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl-base (>= 5.34.0-1) +Pre-Depends: dpkg (>= 1.17.17) +Recommends: perl (>= 5.34.0-1) +Conflicts: perl-modules (<< 5.22.0~) +Replaces: libansicolor-perl (<< 5.01), libarchive-tar-perl (<< 2.38), libattribute-handlers-perl (<< 1.01), libautodie-perl (<< 2.34), libcpan-meta-perl (<< 2.150010), libcpan-meta-requirements-perl (<< 2.140), libcpan-meta-yaml-perl (<< 0.018), libdigest-perl (<< 1.19), libexperimental-perl (<< 0.024), libextutils-cbuilder-perl (<< 0.280236), libextutils-command-perl (<< 7.62), libextutils-install-perl (<< 2.20), libextutils-parsexs-perl (<< 3.430000), libfile-spec-perl (<< 3.8000), libhttp-tiny-perl (<< 0.076), libi18n-langtags-perl (<< 0.45), libio-zlib-perl (<< 1.11), libjson-pp-perl (<< 4.06000), liblocale-maketext-perl (<< 1.29), liblocale-maketext-simple-perl (<< 0.21.01), libmath-bigint-perl (<< 1.999818), libmath-complex-perl (<< 1.5902), libmodule-corelist-perl (<< 5.20210520), libmodule-load-conditional-perl (<< 0.74), libmodule-load-perl (<< 0.36), libmodule-metadata-perl (<< 1.000037), libnet-perl (<< 1:3.13), libnet-ping-perl (<< 2.74), libparams-check-perl (<< 0.38), libparent-perl (<< 0.238), libparse-cpan-meta-perl (<< 2.150010), libperl-ostype-perl (<< 1.010), libpod-escapes-perl (<< 1.07), libpod-simple-perl (<< 3.42), libtest-harness-perl (<< 3.43), libtest-simple-perl (<< 1.302183), libtest-tester-perl (<< 1.302183), libtest-use-ok-perl (<< 1.302183), libthread-queue-perl (<< 3.14), libtime-local-perl (<< 1.3000), libunicode-collate-perl (<< 1.29), libversion-perl (<< 1:0.9928), perl-base (<< 5.22.0~), perl-modules, podlators-perl (<< 4.14) +Breaks: libansicolor-perl (<< 5.01), libarchive-tar-perl (<< 2.38), libattribute-handlers-perl (<< 1.01), libautodie-perl (<< 2.34), libcpan-meta-perl (<< 2.150010), libcpan-meta-requirements-perl (<< 2.140), libcpan-meta-yaml-perl (<< 0.018), libdigest-perl (<< 1.19), libexperimental-perl (<< 0.024), libextutils-cbuilder-perl (<< 0.280236), libextutils-command-perl (<< 7.62), libextutils-install-perl (<< 2.20), libextutils-parsexs-perl (<< 3.430000), libfile-spec-perl (<< 3.8000), libhttp-tiny-perl (<< 0.076), libi18n-langtags-perl (<< 0.45), libio-zlib-perl (<< 1.11), libjson-pp-perl (<< 4.06000), liblocale-maketext-perl (<< 1.29), liblocale-maketext-simple-perl (<< 0.21.01), libmath-bigint-perl (<< 1.999818), libmath-complex-perl (<< 1.5902), libmodule-corelist-perl (<< 5.20210520), libmodule-load-conditional-perl (<< 0.74), libmodule-load-perl (<< 0.36), libmodule-metadata-perl (<< 1.000037), libnet-perl (<< 1:3.13), libnet-ping-perl (<< 2.74), libparams-check-perl (<< 0.38), libparent-perl (<< 0.238), libparse-cpan-meta-perl (<< 2.150010), libperl-ostype-perl (<< 1.010), libpod-escapes-perl (<< 1.07), libpod-simple-perl (<< 3.42), libtest-harness-perl (<< 3.43), libtest-simple-perl (<< 1.302183), libtest-tester-perl (<< 1.302183), libtest-use-ok-perl (<< 1.302183), libthread-queue-perl (<< 3.14), libtime-local-perl (<< 1.3000), libunicode-collate-perl (<< 1.29), libversion-perl (<< 1:0.9928), maildirsync (<< 1.2-2.1), perl (<< 5.34.0~), podlators-perl (<< 4.14) +Provides: perl-modules + +Package: libgl1 +Architecture: amd64 +Version: 1.4.0-1 +APT-ID: 2375 +Multi-Arch: same +Source: libglvnd +Source-Version: 1.4.0-1 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libglvnd0 (= 1.4.0-1), libglx0 (= 1.4.0-1) + +Package: libncursesw6 +Architecture: amd64 +Version: 6.3-2 +APT-ID: 3001 +Multi-Arch: same +Source: ncurses +Source-Version: 6.3-2 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libtinfo6 (= 6.3-2), libc6 (>= 2.34) +Recommends: libgpm2 + +Package: whoopsie-preferences +Architecture: amd64 +Version: 23 +APT-ID: 5968 +Source: whoopsie-preferences +Source-Version: 23 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.30.0), libpolkit-gobject-1-0 (>= 0.99), libwhoopsie-preferences0 (= 23), libwhoopsie0 (>= 0.2.48) +Recommends: whoopsie (>= 0.2.77) +Replaces: activity-log-manager (<< 0.9.7-0ubuntu4), activity-log-manager-control-center (<< 0.9.6) +Breaks: activity-log-manager (<< 0.9.7-0ubuntu4), activity-log-manager-control-center (<< 0.9.6), whoopsie (<< 0.2.47) + +Package: libgs9 +Architecture: amd64 +Version: 9.55.0~dfsg1-0ubuntu5 +APT-ID: 2499 +Multi-Arch: same +Source: ghostscript +Source-Version: 9.55.0~dfsg1-0ubuntu5 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libgs9-common (= 9.55.0~dfsg1-0ubuntu5), poppler-data, libc6 (>= 2.34), libcups2 (>= 2.3~b6), libfontconfig1 (>= 2.12.6), libfreetype6 (>= 2.10.1), libgcc-s1 (>= 3.3.1), libidn12 (>= 1.13), libijs-0.35 (>= 0.35), libjbig2dec0 (>= 0.16+20190905), libjpeg8 (>= 8c), libopenjp2-7 (>= 2.0.0), libpaper1, libpng16-16 (>= 1.6.2-1), libstdc++6 (>= 11), libtiff5 (>= 4.0.3), zlib1g (>= 1:1.2.0) + +Package: python3-cryptography +Architecture: amd64 +Version: 3.4.8-1ubuntu2 +APT-ID: 5195 +Source: python-cryptography +Source-Version: 3.4.8-1ubuntu2 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3 (>= 3~), python3-cffi-backend-api-min (<= 9729), python3-cffi-backend-api-max (>= 9729), python3:any, libc6 (>= 2.14), libssl3 (>= 3.0.0~~alpha1) +Suggests: python-cryptography-doc, python3-cryptography-vectors +Breaks: python3-openssl (<< 16.0.0) + +Package: ncurses-bin +Architecture: amd64 +Version: 6.3-2 +APT-ID: 4732 +Essential: yes +Multi-Arch: foreign +Source: ncurses +Source-Version: 6.3-2 +Priority: important +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Pre-Depends: libc6 (>= 2.34), libtinfo6 (>= 6.3) + +Package: libgtksourceview-4-common +Architecture: all +Version: 4.8.3-1 +APT-ID: 2543 +Multi-Arch: foreign +Source: gtksourceview4 +Source-Version: 4.8.3-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libbz2-1.0 +Architecture: amd64 +Version: 1.0.8-5build1 +APT-ID: 1801 +Multi-Arch: same +Source: bzip2 +Source-Version: 1.0.8-5build1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4) + +Package: libegl1 +Architecture: amd64 +Version: 1.4.0-1 +APT-ID: 2139 +Multi-Arch: same +Source: libglvnd +Source-Version: 1.4.0-1 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglvnd0 (= 1.4.0-1), libegl-mesa0 + +Package: ubuntu-advantage-tools +Architecture: amd64 +Version: 27.10.1~22.04.1 +APT-ID: 74528 +Source: ubuntu-advantage-tools +Source-Version: 27.10.1~22.04.1 +Priority: required +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf (>= 0.5) | debconf-2.0, python3-yaml, python3:any, libapt-pkg6.0 (>= 0.8.0), libc6 (>= 2.34), libgcc-s1 (>= 3.3.1), libjson-c5 (>= 0.15), libstdc++6 (>= 9), python3-apt, python3-pkg-resources, distro-info (>= 0.18ubuntu0.18.04.1) + +Package: 2to3 +Architecture: all +Version: 3.10.6-1~22.04 +APT-ID: 76923 +Multi-Arch: foreign +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.6-1~22.04 +Priority: optional +Section: universe/python +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=universe,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=universe,b=i386 +APT-Pin: 500 +APT-Candidate: yes +Depends: python3-lib2to3 (>= 3.10.6-1~), python3 (>= 3.10.6-1~22.04) +Replaces: python (<< 2.7.14-4) +Breaks: python (<< 2.7.14-4) + +Package: 2to3 +Architecture: all +Version: 3.10.4-0ubuntu2 +APT-ID: 8990 +Multi-Arch: foreign +Source: python3-defaults +Phased-Update-Percentage: 10 +Source-Version: 3.10.4-0ubuntu2 +Priority: optional +Section: universe/python +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=universe,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=universe,b=i386 +APT-Pin: 500 +Depends: python3-lib2to3 (>= 3.9.10-2~), python3 (>= 3.10.4-0ubuntu2) +Replaces: python (<< 2.7.14-4) +Breaks: python (<< 2.7.14-4) + +Package: libinih1 +Architecture: amd64 +Version: 53-1ubuntu3 +APT-ID: 2652 +Multi-Arch: same +Source: libinih +Source-Version: 53-1ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4) + +Package: gir1.2-vte-2.91 +Architecture: amd64 +Version: 0.68.0-1 +APT-ID: 755 +Multi-Arch: same +Source: vte2.91 +Source-Version: 0.68.0-1 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-freedesktop (>= 0.9.12), gir1.2-gtk-3.0 (>= 3.24.22), gir1.2-pango-1.0 (>= 1.22.0), libvte-2.91-0 (>= 0.67.90) + +Package: time +Architecture: amd64 +Version: 1.9-0.1build2 +APT-ID: 5844 +Multi-Arch: foreign +Source: time +Source-Version: 1.9-0.1build2 +Priority: standard +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: gnome-keyring-pkcs11 +Architecture: amd64 +Version: 40.0-3ubuntu3 +APT-ID: 71865 +Multi-Arch: same +Source: gnome-keyring +Source-Version: 40.0-3ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) +Replaces: gnome-keyring (<< 3.20.1-3) +Breaks: gnome-keyring (<< 3.27.4-2~) + +Package: zlib1g +Architecture: amd64 +Version: 1:1.2.11.dfsg-2ubuntu9.1 +APT-ID: 74568 +Multi-Arch: same +Source: zlib +Source-Version: 1:1.2.11.dfsg-2ubuntu9.1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) +Conflicts: zlib1 (<= 1:1.0.4-7) +Breaks: libxml2 (<< 2.7.6.dfsg-2), texlive-binaries (<< 2009-12) +Provides: libz1 + +Package: liblouisutdml9 +Architecture: amd64 +Version: 2.10.0-4 +APT-ID: 2842 +Multi-Arch: same +Source: liblouisutdml +Source-Version: 2.10.0-4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: liblouisutdml-data, libc6 (>= 2.33), liblouis20 (>= 3.20.0), libxml2 (>= 2.7.4) + +Package: branding-ubuntu +Architecture: all +Version: 0.10 +APT-ID: 142 +Source: branding-ubuntu +Source-Version: 0.10 +Priority: optional +Section: graphics +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: fonts-guru-extra +Architecture: all +Version: 2.0-5 +APT-ID: 446 +Multi-Arch: foreign +Source: fonts-guru-extra +Source-Version: 2.0-5 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: ttf-punjabi-fonts +Breaks: ttf-punjabi-fonts (<< 2:1.0) + +Package: speech-dispatcher +Architecture: amd64 +Version: 0.11.1-1ubuntu1 +APT-ID: 79614 +Multi-Arch: foreign +Source: speech-dispatcher +Source-Version: 0.11.1-1ubuntu1 +Priority: optional +Section: sound +Installed: yes +APT-Pin: 100 +APT-Automatic: yes +Depends: adduser, lsb-base (>= 3.0-10), speech-dispatcher-audio-plugins (= 0.11.1-1ubuntu1), init-system-helpers (>= 1.51), libc6 (>= 2.34), libdotconf0 (>= 1.0.13), libglib2.0-0 (>= 2.67.3), libltdl7 (>= 2.4.6), libsndfile1 (>= 1.0.20), libspeechd2 (>= 0.9.0~rc1) +Suggests: libttspico-utils, espeak, mbrola, speech-dispatcher-doc-cs, speech-dispatcher-festival, speech-dispatcher-cicero, speech-dispatcher-flite, speech-dispatcher-espeak +Recommends: pulseaudio, speech-dispatcher-espeak-ng, sound-icons +Breaks: cl-speech-dispatcher (<< 0.9~), libspeechd2 (<< 0.9~), python-speechd (<< 0.9~), python3-speechd (<< 0.9~), speech-dispatcher-baratinoo (<< 0.10.2-1~), speech-dispatcher-ibmtts (<< 0.10.2-1~), speech-dispatcher-kali (<< 0.10.2-1~) + +Package: libx11-6 +Architecture: amd64 +Version: 2:1.7.5-1 +APT-ID: 4093 +Multi-Arch: same +Source: libx11 +Source-Version: 2:1.7.5-1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libxcb1 (>= 1.11.1), libx11-data +Breaks: libx11-xcb1 (<< 2:1.7.0-2) + +Package: libgstreamer-plugins-base1.0-0 +Architecture: amd64 +Version: 1.20.1-1 +APT-ID: 2518 +Multi-Arch: same +Source: gst-plugins-base1.0 +Source-Version: 1.20.1-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libglib2.0-0 (>= 2.67.3), libgstreamer1.0-0 (>= 1.20.0), liborc-0.4-0 (>= 1:0.4.25), zlib1g (>= 1:1.1.4), iso-codes +Suggests: libvisual-0.4-plugins +Recommends: gstreamer1.0-plugins-base +Conflicts: libgstreamer-plugins-bad1.0-0 (<< 1.15.1) +Breaks: gstreamer1.0-plugins-bad (<< 1.15.1), libgstreamer-plugins-bad1.0-0 (<< 1.15.1), totem-gstreamer (<= 2.17.92-0ubuntu1) + +Package: libdbus-glib-1-2 +Architecture: amd64 +Version: 0.112-2build1 +APT-ID: 2026 +Multi-Arch: same +Source: dbus-glib +Source-Version: 0.112-2build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libdbus-1-3 (>= 1.9.14), libglib2.0-0 (>= 2.40) + +Package: fonts-tlwg-laksaman-ttf +Architecture: all +Version: 1:0.7.3-1 +APT-ID: 522 +Multi-Arch: foreign +Source: fonts-tlwg +Source-Version: 1:0.7.3-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: fonts-tlwg-laksaman (>= 1:0.6.2-2) +Replaces: fonts-tlwg-laksaman (<< 1:0.6.2-2) +Breaks: fonts-tlwg-laksaman (<< 1:0.6.2-2) + +Package: libtag1v5-vanilla +Architecture: amd64 +Version: 1.11.1+dfsg.1-3ubuntu3 +APT-ID: 3806 +Multi-Arch: same +Source: taglib +Source-Version: 1.11.1+dfsg.1-3ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libgcc-s1 (>= 3.3.1), libicu70 (>= 70.1-1~), libstdc++6 (>= 5.2), zlib1g (>= 1:1.1.4) +Conflicts: libtag-extras0, libtag1-rusxmms +Replaces: libtag1-vanilla, libtag1c2a (<< 1.5-5) +Breaks: libtag1-vanilla, libtag1c2a (<< 1.5-5) + +Package: libspeechd2 +Architecture: amd64 +Version: 0.11.1-1ubuntu1 +APT-ID: 79610 +Multi-Arch: same +Source: speech-dispatcher +Source-Version: 0.11.1-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Pin: 100 +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.36) + +Package: xserver-xorg-video-all +Architecture: amd64 +Version: 1:7.7+23ubuntu2 +APT-ID: 6052 +Source: xorg +Source-Version: 1:7.7+23ubuntu2 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: xserver-xorg-video-amdgpu, xserver-xorg-video-ati, xserver-xorg-video-fbdev, xserver-xorg-video-nouveau, xserver-xorg-video-vesa, xserver-xorg-video-vmware +Recommends: xserver-xorg-video-intel, xserver-xorg-video-qxl +Conflicts: xserver-xorg-driver-all +Replaces: xserver-xorg-driver-all + +Package: libmediaart-2.0-0 +Architecture: amd64 +Version: 1.9.5-2build1 +APT-ID: 2900 +Multi-Arch: same +Source: libmediaart +Source-Version: 1.9.5-2build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.67.3) + +Package: thunderbird-locale-en-us +Architecture: all +Version: 1:91.11.0+build2-0ubuntu0.22.04.1 +APT-ID: 74456 +Source: thunderbird +Source-Version: 1:91.11.0+build2-0ubuntu0.22.04.1 +Priority: optional +Section: web +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=i386 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +Depends: thunderbird-locale-en + +Package: xserver-xorg-video-ati +Architecture: amd64 +Version: 1:19.1.0-2ubuntu1 +APT-ID: 74558 +Source: xserver-xorg-video-ati +Source-Version: 1:19.1.0-2ubuntu1 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libpciaccess0, xorg-video-abi-25, xserver-xorg-core (>= 2:21.1.1), xserver-xorg-video-radeon +Suggests: xserver-xorg-video-r128, xserver-xorg-video-mach64 +Provides: xorg-driver-video + +Package: libwayland-client0 +Architecture: amd64 +Version: 1.20.0-1ubuntu0.1 +APT-ID: 72819 +Multi-Arch: same +Source: wayland +Source-Version: 1.20.0-1ubuntu0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.28), libffi8 (>= 3.4) +Conflicts: libwayland0 (<< 1.1.0-1) +Replaces: libwayland0 (<< 1.1.0-1) + +Package: python3-launchpadlib +Architecture: all +Version: 1.10.16-1 +APT-ID: 5291 +Source: python-launchpadlib +Source-Version: 1.10.16-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-httplib2, python3-keyring, python3-lazr.restfulclient, python3-lazr.uri, python3:any +Suggests: python3-pkg-resources, python3-testresources + +Package: sane-airscan +Architecture: amd64 +Version: 0.99.27-1build1 +APT-ID: 5636 +Source: sane-airscan +Source-Version: 0.99.27-1build1 +Priority: optional +Section: graphics +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libavahi-client3 (>= 0.6.16), libavahi-common3 (>= 0.6.16), libc6 (>= 2.34), libgnutls30 (>= 3.7.0), libjpeg8 (>= 8c), libpng16-16 (>= 1.6.2-1), libxml2 (>= 2.7.4) +Recommends: ipp-usb, sane-utils + +Package: libgraphene-1.0-0 +Architecture: amd64 +Version: 1.10.8-1 +APT-ID: 2489 +Multi-Arch: same +Source: graphene +Source-Version: 1.10.8-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libglib2.0-0 (>= 2.14.0) + +Package: fonts-smc-gayathri +Architecture: all +Version: 1.110-2-1 +APT-ID: 502 +Multi-Arch: foreign +Source: fonts-smc-gayathri +Source-Version: 1.110-2-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: gcc-12-base +Architecture: amd64 +Version: 12.1.0-2ubuntu1~22.04 +APT-ID: 71815 +Multi-Arch: same +Source: gcc-12 +Source-Version: 12.1.0-2ubuntu1~22.04 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Breaks: gnat (<< 7) + +Package: libxmlsec1-nss +Architecture: amd64 +Version: 1.2.33-1build2 +APT-ID: 4247 +Multi-Arch: same +Source: xmlsec1 +Source-Version: 1.2.33-1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libnspr4 (>= 2:4.10.9), libnss3 (>= 2:3.13.4-2~), libxml2 (>= 2.8.0), libxmlsec1 (>= 1.2.33) + +Package: info +Architecture: amd64 +Version: 6.8-4build1 +APT-ID: 1122 +Multi-Arch: foreign +Source: texinfo +Source-Version: 6.8-4build1 +Priority: standard +Section: doc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libtinfo6 (>= 6), install-info +Replaces: texinfo (<< 4.7-2), texinfo-doc-nonfree +Breaks: texinfo-doc-nonfree +Provides: info-browser + +Package: init +Architecture: amd64 +Version: 1.62 +APT-ID: 1123 +Multi-Arch: foreign +Source: init-system-helpers +Source-Version: 1.62 +Priority: required +Section: metapackages +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: init-system-helpers (>= 1.25) +Pre-Depends: systemd-sysv + +Package: fonts-droid-fallback +Architecture: all +Version: 1:6.0.1r16-1.1build1 +APT-ID: 437 +Multi-Arch: foreign +Source: fonts-android +Source-Version: 1:6.0.1r16-1.1build1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Pre-Depends: dpkg (>= 1.15.7.2) +Suggests: fonts-noto +Recommends: fonts-noto-mono +Replaces: fonts-droid (<< 1:6.0.0r26-1~) +Breaks: fonts-droid (<< 1:6.0.0r26-1~) + +Package: libgdata22 +Architecture: amd64 +Version: 0.18.1-2build1 +APT-ID: 2328 +Multi-Arch: same +Source: libgdata +Source-Version: 0.18.1-2build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libgcr-base-3-1 (>= 3.8.0), libglib2.0-0 (>= 2.44.0), libgoa-1.0-0b (>= 3.12.0), libjson-glib-1.0-0 (>= 1.5.2), libsoup2.4-1 (>= 2.56.0), libxml2 (>= 2.7.4), libgdata-common + +Package: libgnome-autoar-0-0 +Architecture: amd64 +Version: 0.4.3-1 +APT-ID: 2413 +Multi-Arch: same +Source: gnome-autoar +Source-Version: 0.4.3-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libarchive13 (>= 3.4.0), libc6 (>= 2.33), libglib2.0-0 (>= 2.55.2) + +Package: python3-dbus +Architecture: amd64 +Version: 1.2.18-3build1 +APT-ID: 5203 +Source: dbus-python +Source-Version: 1.2.18-3build1 +Priority: required +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3 (<< 3.11), python3 (>= 3.10~), python3:any, libc6 (>= 2.4), libdbus-1-3 (>= 1.9.14), libglib2.0-0 (>= 2.40) +Suggests: python-dbus-doc +Recommends: python3-gi +Provides: python3.10-dbus + +Package: libxkbcommon-x11-0 +Architecture: amd64 +Version: 1.4.0-1 +APT-ID: 4215 +Multi-Arch: same +Source: libxkbcommon +Source-Version: 1.4.0-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libxkbcommon0 (= 1.4.0-1), libc6 (>= 2.4), libxcb-xkb1, libxcb1 (>= 1.6) + +Package: xdg-dbus-proxy +Architecture: amd64 +Version: 0.1.3-1 +APT-ID: 6017 +Multi-Arch: foreign +Source: xdg-dbus-proxy +Source-Version: 0.1.3-1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.39.4) + +Package: liblcms2-2 +Architecture: amd64 +Version: 2.12~rc1-2build2 +APT-ID: 2804 +Multi-Arch: same +Source: lcms2 +Source-Version: 2.12~rc1-2build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.29) +Suggests: liblcms2-utils + +Package: cups-server-common +Architecture: all +Version: 2.4.1op1-1ubuntu4.1 +APT-ID: 71762 +Multi-Arch: foreign +Source: cups +Source-Version: 2.4.1op1-1ubuntu4.1 +Priority: optional +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=i386 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libelf1 +Architecture: amd64 +Version: 0.186-1build1 +APT-ID: 2142 +Multi-Arch: same +Source: elfutils +Source-Version: 0.186-1build1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), zlib1g (>= 1:1.1.4) + +Package: groff-base +Architecture: amd64 +Version: 1.22.4-8build1 +APT-ID: 897 +Multi-Arch: foreign +Source: groff +Source-Version: 1.22.4-8build1 +Priority: standard +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.35), libgcc-s1 (>= 4.0), libstdc++6 (>= 4.1.1), libuchardet0 (>= 0.0.1) +Suggests: groff + +Package: libvte-2.91-0 +Architecture: amd64 +Version: 0.68.0-1 +APT-ID: 4029 +Multi-Arch: same +Source: vte2.91 +Source-Version: 0.68.0-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libvte-2.91-common (= 0.68.0-1), libatk1.0-0 (>= 1.12.4), libc6 (>= 2.34), libcairo2 (>= 1.10.0), libfribidi0 (>= 1.0.0), libgcc-s1 (>= 3.3.1), libglib2.0-0 (>= 2.52.0), libgnutls30 (>= 3.7.2), libgtk-3-0 (>= 3.24.22), libicu70 (>= 70.1-1~), libpango-1.0-0 (>= 1.44.3), libpangocairo-1.0-0 (>= 1.22.0), libpcre2-8-0 (>= 10.22), libstdc++6 (>= 11), libsystemd0 (>= 220), zlib1g (>= 1:1.2.0) + +Package: libglib-object-introspection-perl +Architecture: amd64 +Version: 0.049-1+build2 +APT-ID: 2384 +Source: libglib-object-introspection-perl +Source-Version: 0.049-1+build2 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl, perlapi-5.34.0, libc6 (>= 2.34), libffi8 (>= 3.4), libgirepository-1.0-1 (>= 1.62.0-4~), libgirepository-1.0-1-with-libffi8 (>= 1.62.0-4~), libglib2.0-0 (>= 2.24.0), libglib-perl (>= 3:1.320) +Suggests: libxml-libxml-perl + +Package: libclutter-1.0-0 +Architecture: amd64 +Version: 1.26.4+dfsg-4build1 +APT-ID: 1899 +Multi-Arch: same +Source: clutter-1.0 +Source-Version: 1.26.4+dfsg-4build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libatk1.0-0 (>= 2.5.3), libc6 (>= 2.29), libcairo-gobject2 (>= 1.14.0), libcairo2 (>= 1.14.0), libcogl-pango20 (>= 1.17.4), libcogl-path20 (>= 1.17.4), libcogl20 (>= 1.21.2), libfontconfig1 (>= 2.12.6), libglib2.0-0 (>= 2.53.4), libgtk-3-0 (>= 3.16.2), libinput10 (>= 0.21.0), libjson-glib-1.0-0 (>= 1.5.2), libpango-1.0-0 (>= 1.30), libpangocairo-1.0-0 (>= 1.30), libpangoft2-1.0-0 (>= 1.30), libudev1 (>= 183), libwayland-client0 (>= 1.20.0), libwayland-cursor0 (>= 1.0.2), libwayland-server0 (>= 1.2.0), libx11-6 (>= 2:1.2.99.901), libxcomposite1 (>= 1:0.4.5), libxdamage1 (>= 1:1.1), libxi6 (>= 2:1.2.99.4), libxkbcommon0 (>= 0.5.0) +Recommends: libclutter-1.0-common +Breaks: cinnamon-session (<< 2.6.2) + +Package: libmd0 +Architecture: amd64 +Version: 1.0.4-1build1 +APT-ID: 2897 +Multi-Arch: same +Source: libmd +Source-Version: 1.0.4-1build1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: shim-signed +Architecture: amd64 +Version: 1.51+15.4-0ubuntu9 +APT-ID: 5659 +Source: shim-signed +Source-Version: 1.51 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: debconf (>= 0.5) | debconf-2.0, grub-efi-amd64-signed | grub-efi-arm64-signed, grub2-common (>= 2.04-1ubuntu24), mokutil (>= 0.3.0+1538710437.fb6250f-0ubuntu2), sbsigntool +Recommends: secureboot-db +Replaces: shim (<< 15.3) +Breaks: shim (<< 15.3) + +Package: cheese-common +Architecture: all +Version: 41.1-1build1 +APT-ID: 180 +Multi-Arch: foreign +Source: cheese +Source-Version: 41.1-1build1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend + +Package: libwpg-0.3-3 +Architecture: amd64 +Version: 0.3.3-1build3 +APT-ID: 4083 +Multi-Arch: same +Source: libwpg +Source-Version: 0.3.3-1build3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.32), libgcc-s1 (>= 3.3.1), librevenge-0.0-0, libstdc++6 (>= 11), libwpd-0.10-10 + +Package: libnet-dbus-perl +Architecture: amd64 +Version: 1.2.0-1build3 +APT-ID: 3009 +Source: libnet-dbus-perl +Source-Version: 1.2.0-1build3 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl, perlapi-5.34.0, libc6 (>= 2.34), libdbus-1-3 (>= 1.9.14), libxml-twig-perl + +Package: libaccountsservice0 +Architecture: amd64 +Version: 22.07.5-2ubuntu1.3 +APT-ID: 72257 +Multi-Arch: same +Source: accountsservice +Source-Version: 22.07.5-2ubuntu1.3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libcrypt1 (>= 1:4.1.0), libglib2.0-0 (>= 2.63.5), libsystemd0 (>= 209) +Breaks: accountsservice (<< 0.6.5) + +Package: dash +Architecture: amd64 +Version: 0.5.11+git20210903+057cd650a4ed-3build1 +APT-ID: 263 +Essential: yes +Multi-Arch: foreign +Source: dash +Source-Version: 0.5.11+git20210903+057cd650a4ed-3build1 +Priority: important +Section: shells +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: debianutils (>= 2.15), dpkg (>= 1.19.1), debconf (>= 0.5) | debconf-2.0 +Pre-Depends: libc6 (>= 2.34) + +Package: shotwell +Architecture: amd64 +Version: 0.30.14-1ubuntu6 +APT-ID: 74399 +Source: shotwell +Source-Version: 0.30.14-1ubuntu6 +Priority: extra +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcairo-gobject2 (>= 1.10.0), libcairo2 (>= 1.2.4), libexif12 (>= 0.6.21-1~), libgcr-base-3-1 (>= 3.8.0), libgcr-ui-3-1 (>= 3.8.0), libgdata22 (>= 0.15.0), libgdk-pixbuf-2.0-0 (>= 2.25.2), libgee-0.8-2 (>= 0.10.1), libgexiv2-2 (>= 0.10.4), libglib2.0-0 (>= 2.49.5), libgphoto2-6 (>= 2.5.10), libgphoto2-port12 (>= 2.5.10), libgstreamer-plugins-base1.0-0 (>= 1.0.0), libgstreamer1.0-0 (>= 1.0.0), libgtk-3-0 (>= 3.21.5), libgudev-1.0-0 (>= 146), libjson-glib-1.0-0 (>= 1.5.2), libpango-1.0-0 (>= 1.18.0), libpangocairo-1.0-0 (>= 1.14.0), libraw20 (>= 0.16.0), libsoup2.4-1 (>= 2.41.90), libsqlite3-0 (>= 3.5.9), libunity9 (>= 3.4.6), libwebkit2gtk-4.0-37 (>= 2.25.1), libxml2 (>= 2.7.4), shotwell-common (= 0.30.14-1ubuntu6), dconf-cli, default-dbus-session-bus | dbus-session-bus, librsvg2-common +Replaces: shotwell-common (<< 0.26.2-1) + +Package: libblockdev-crypto2 +Architecture: amd64 +Version: 2.26-1 +APT-ID: 1729 +Multi-Arch: same +Source: libblockdev +Source-Version: 2.26-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libblkid1 (>= 2.23.0), libblockdev-utils2 (>= 2.20), libc6 (>= 2.25), libcryptsetup12 (>= 2:2.0.3), libglib2.0-0 (>= 2.42.2), libnss3 (>= 2:3.13.4-2~), libvolume-key1 (>= 0.3.9) + +Package: libnm0 +Architecture: amd64 +Version: 1.36.6-0ubuntu2 +APT-ID: 72478 +Multi-Arch: same +Source: network-manager +Source-Version: 1.36.6-0ubuntu2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.43.2), libgnutls30 (>= 3.7.2), libudev1 (>= 183) + +Package: libtirpc3 +Architecture: amd64 +Version: 1.3.2-2ubuntu0.1 +APT-ID: 72784 +Multi-Arch: same +Source: libtirpc +Source-Version: 1.3.2-2ubuntu0.1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgssapi-krb5-2 (>= 1.17), libtirpc-common (>= 1.3.2-2ubuntu0.1) +Breaks: nfs-common (<< 1:1.2.8-7), nfs-kernel-server (<< 1:1.2.8-7) + +Package: fonts-orya +Architecture: all +Version: 2:1.3 +APT-ID: 484 +Multi-Arch: foreign +Source: fonts-orya +Source-Version: 2:1.3 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fonts-lohit-orya, fonts-orya-extra +Replaces: ttf-oriya-fonts +Breaks: ttf-oriya-fonts (<< 2:1.0) + +Package: libgeocode-glib0 +Architecture: amd64 +Version: 3.26.2-2build2 +APT-ID: 2350 +Multi-Arch: same +Source: geocode-glib +Source-Version: 3.26.2-2build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libglib2.0-0 (>= 2.44), libjson-glib-1.0-0 (>= 1.5.2), libsoup2.4-1 (>= 2.42) + +Package: libtalloc2 +Architecture: amd64 +Version: 2.3.3-2build1 +APT-ID: 3810 +Multi-Arch: same +Source: talloc +Source-Version: 2.3.3-2build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.16) +Breaks: python3-talloc (<< 2.1.13-2~) + +Package: gnome-todo +Architecture: amd64 +Version: 3.28.1-6ubuntu1 +APT-ID: 819 +Source: gnome-todo +Source-Version: 3.28.1-6ubuntu1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcairo2 (>= 1.2.4), libecal-2.0-1 (>= 3.33.4), libedataserver-1.2-26 (>= 3.33.4), libedataserverui-1.2-3 (>= 3.33.4), libgirepository-1.0-1 (>= 0.9.2), libglib2.0-0 (>= 2.51.2), libgoa-1.0-0b (>= 3.5.1), libgtk-3-0 (>= 3.21.5), libical3 (>= 3.0.0), libjson-glib-1.0-0 (>= 1.5.2), libpango-1.0-0 (>= 1.14.0), libpangocairo-1.0-0 (>= 1.14.0), libpeas-1.0-0 (>= 1.17), librest-0.7-0 (>= 0.7), gnome-todo-common (>= 3.28.1-6ubuntu1), libgnome-todo (= 3.28.1-6ubuntu1), evolution-data-server (>= 3.17.1), gsettings-desktop-schemas +Replaces: gnome-todo-common (<< 3.28) +Breaks: gnome-todo-common (<< 3.28) + +Package: libsigc++-2.0-0v5 +Architecture: amd64 +Version: 2.10.4-2ubuntu3 +APT-ID: 3672 +Multi-Arch: same +Source: libsigc++-2.0 +Source-Version: 2.10.4-2ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 4.6) +Conflicts: libsigc++-2.0-0c2a +Replaces: libsigc++-2.0-0c2a + +Package: dbus +Architecture: amd64 +Version: 1.12.20-2ubuntu4 +APT-ID: 267 +Multi-Arch: foreign +Source: dbus +Source-Version: 1.12.20-2ubuntu4 +Priority: required +Section: devel +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: adduser, libapparmor1 (>= 2.8.94), libaudit1 (>= 1:2.2.1), libc6 (>= 2.34), libcap-ng0 (>= 0.7.9), libdbus-1-3 (= 1.12.20-2ubuntu4), libexpat1 (>= 2.1~beta3), libselinux1 (>= 3.1~), libsystemd0 +Suggests: default-dbus-session-bus | dbus-session-bus +Provides: dbus-bin (= 1.12.20-2ubuntu4), dbus-system-bus-common (= 1.12.20-2ubuntu4), dbus-system-bus (= 1.12.20-2ubuntu4), default-dbus-system-bus, dbus-session-bus-common (= 1.12.20-2ubuntu4), dbus-daemon (= 1.12.20-2ubuntu4) + +Package: libepoxy0 +Architecture: amd64 +Version: 1.5.10-1 +APT-ID: 2152 +Multi-Arch: same +Source: libepoxy +Source-Version: 1.5.10-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: espeak-ng-data +Architecture: amd64 +Version: 1.50+dfsg-10 +APT-ID: 396 +Multi-Arch: same +Source: espeak-ng +Source-Version: 1.50+dfsg-10 +Priority: optional +Section: sound +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: fonts-tlwg-waree +Architecture: all +Version: 1:0.7.3-1 +APT-ID: 541 +Multi-Arch: foreign +Source: fonts-tlwg +Source-Version: 1:0.7.3-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: fonts-tlwg-waree-ttf | fonts-tlwg-waree-otf + +Package: sbsigntool +Architecture: amd64 +Version: 0.9.4-2ubuntu2 +APT-ID: 5639 +Multi-Arch: foreign +Source: sbsigntool +Source-Version: 0.9.4-2ubuntu2 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libssl3 (>= 3.0.0~~alpha1), libuuid1 (>= 2.16) + +Package: libreoffice-help-en-us +Architecture: all +Version: 1:7.3.6-0ubuntu0.22.04.1 +APT-ID: 72565 +Source: libreoffice +Source-Version: 1:7.3.6-0ubuntu0.22.04.1 +Priority: optional +Section: doc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +Depends: libreoffice-common (>= 1:6.1.0~), libreoffice-l10n-en-us, libreoffice-help-common (= 1:7.3.6-0ubuntu0.22.04.1) +Suggests: firefox | firefox-esr | epiphany-browser | konqueror | chromium-browser | chromium +Recommends: libreoffice-core (>> 1:7.3.6) +Replaces: libreoffice-help-common (<< 1:6.4.1~rc1) +Provides: libreoffice-help (= 7.3) + +Package: libimobiledevice6 +Architecture: amd64 +Version: 1.3.0-6build3 +APT-ID: 2647 +Multi-Arch: same +Source: libimobiledevice +Source-Version: 1.3.0-6build3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libplist3 (>= 2.2.0), libssl3 (>= 3.0.0~~alpha1), libusbmuxd6 (>= 2.0.2) +Suggests: libusbmuxd-tools +Recommends: usbmuxd +Conflicts: libiphone0 +Replaces: libimobiledevice0, libimobiledevice1, libiphone0 + +Package: libgeoclue-2-0 +Architecture: amd64 +Version: 2.5.7-3ubuntu3 +APT-ID: 2345 +Multi-Arch: same +Source: geoclue-2.0 +Source-Version: 2.5.7-3ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libglib2.0-0 (>= 2.44.0), geoclue-2.0 (= 2.5.7-3ubuntu3) + +Package: libpam-sss +Architecture: amd64 +Version: 2.6.3-1ubuntu3.1 +APT-ID: 72497 +Multi-Arch: same +Source: sssd +Source-Version: 2.6.3-1ubuntu3.1 +Priority: extra +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libpam-pwquality (>= 1.2.2-1), libpam-runtime (>= 1.0.1-6), libc6 (>= 2.33), libgssapi-krb5-2 (>= 1.17), libpam0g (>= 0.99.7.1) +Recommends: sssd + +Package: libeot0 +Architecture: amd64 +Version: 0.01-5build2 +APT-ID: 2150 +Multi-Arch: same +Source: libeot +Source-Version: 0.01-5build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: libxcb-sync1 +Architecture: amd64 +Version: 1.14-3ubuntu3 +APT-ID: 4167 +Multi-Arch: same +Source: libxcb +Source-Version: 1.14-3ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libxcb1 + +Package: libgck-1-0 +Architecture: amd64 +Version: 3.40.0-4 +APT-ID: 2310 +Multi-Arch: same +Source: gcr +Source-Version: 3.40.0-4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libglib2.0-0 (>= 2.59.0), libp11-kit0 (>= 0.23.18.1) + +Package: fonts-lohit-knda +Architecture: all +Version: 2.5.4-3 +APT-ID: 465 +Multi-Arch: foreign +Source: fonts-lohit-knda +Source-Version: 2.5.4-3 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: ttf-kannada-fonts (<= 1:0.5.12) +Breaks: ttf-kannada-fonts (<= 1:0.5.12) + +Package: libedit2 +Architecture: amd64 +Version: 3.1-20210910-1build1 +APT-ID: 2131 +Multi-Arch: same +Source: libedit +Source-Version: 3.1-20210910-1build1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbsd0 (>= 0.1.3), libc6 (>= 2.33), libtinfo6 (>= 6) +Replaces: libedit-dev (<< 3.1-20180525-2~) + +Package: libicu70 +Architecture: amd64 +Version: 70.1-2 +APT-ID: 2629 +Multi-Arch: same +Source: icu +Source-Version: 70.1-2 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 5.2) +Replaces: libiculx63 (<< 63.1-5) +Breaks: libiculx63 (<< 63.1-5), openttd (<< 1.8.0-2~) + +Package: grub-pc +Architecture: amd64 +Version: 2.06-2ubuntu7 +APT-ID: 913 +Multi-Arch: foreign +Source: grub2 +Source-Version: 2.06-2ubuntu7 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: debconf (>= 0.5) | debconf-2.0, grub-common (= 2.06-2ubuntu7), grub2-common (= 2.06-2ubuntu7), grub-pc-bin (= 2.06-2ubuntu7), ucf, grub-gfxpayload-lists +Conflicts: grub (<< 0.97-54), grub-coreboot, grub-efi-amd64, grub-efi-ia32, grub-ieee1275, grub-legacy, grub-xen +Replaces: grub, grub-common (<= 1.97~beta2-1), grub-coreboot, grub-efi-amd64, grub-efi-ia32, grub-ieee1275, grub-legacy, grub2 (<< 2.06-2ubuntu7) + +Package: printer-driver-hpcups +Architecture: amd64 +Version: 3.21.12+dfsg0-1 +APT-ID: 4969 +Source: hplip +Source-Version: 3.21.12+dfsg0-1 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: cups, cups-filters | ghostscript-cups, libc6 (>= 2.34), libcups2 (>= 2.3~b6), libdbus-1-3 (>= 1.9.14), libgcc-s1 (>= 3.3.1), libhpmud0 (>= 3.21.12+dfsg0), libjpeg8 (>= 8c), libstdc++6 (>= 5.2), zlib1g (>= 1:1.1.4) +Suggests: hplip (= 3.21.12+dfsg0-1), hplip-doc + +Package: bsdutils +Architecture: amd64 +Version: 1:2.37.2-4ubuntu3 +APT-ID: 147 +Essential: yes +Multi-Arch: foreign +Source: util-linux +Source-Version: 2.37.2-4ubuntu3 +Priority: important +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Pre-Depends: libc6 (>= 2.34), libsystemd0 +Recommends: bsdextrautils + +Package: yaru-theme-gnome-shell +Architecture: all +Version: 22.04.4 +APT-ID: 6068 +Source: yaru-theme +Source-Version: 22.04.4 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Breaks: gnome-shell (<< 42~) + +Package: python3-problem-report +Architecture: all +Version: 2.20.11-0ubuntu82.1 +APT-ID: 74340 +Source: apport +Source-Version: 2.20.11-0ubuntu82.1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=i386 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any (>= 3.0~) + +Package: gnome-startup-applications +Architecture: amd64 +Version: 42.0-1ubuntu2 +APT-ID: 812 +Source: gnome-session +Source-Version: 42.0-1ubuntu2 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gnome-session-bin (>= 42.0-1ubuntu2), gnome-session-common (>= 42.0-1ubuntu2) +Replaces: gnome-session-bin (<< 3.28.0-0ubuntu4~), gnome-session-common (<< 3.28.0-0ubuntu4~) +Breaks: gnome-session-bin (<< 3.28.0-0ubuntu4~), gnome-session-common (<< 3.28.0-0ubuntu4~) + +Package: libreoffice-style-elementary +Architecture: all +Version: 1:7.3.6-0ubuntu0.22.04.1 +APT-ID: 72694 +Source: libreoffice +Source-Version: 1:7.3.6-0ubuntu0.22.04.1 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libreoffice-style-colibre +Recommends: libreoffice-common +Enhances: libreoffice-core +Provides: libreoffice-style + +Package: libmspub-0.1-1 +Architecture: amd64 +Version: 0.1.4-3build3 +APT-ID: 2971 +Multi-Arch: same +Source: libmspub +Source-Version: 0.1.4-3build3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.32), libgcc-s1 (>= 3.3.1), libicu70 (>= 70.1-1~), librevenge-0.0-0, libstdc++6 (>= 11), zlib1g (>= 1:1.1.4) + +Package: xserver-xorg-video-fbdev +Architecture: amd64 +Version: 1:0.5.0-2build1 +APT-ID: 6056 +Source: xserver-xorg-video-fbdev +Source-Version: 1:0.5.0-2build1 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), xorg-video-abi-25, xserver-xorg-core (>= 2:21.1.1) +Provides: xorg-driver-video + +Package: gir1.2-secret-1 +Architecture: amd64 +Version: 0.20.5-2 +APT-ID: 745 +Multi-Arch: same +Source: libsecret +Source-Version: 0.20.5-2 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-glib-2.0 (>= 1.29), libsecret-1-0 (>= 0.20.1) + +Package: iproute2 +Architecture: amd64 +Version: 5.15.0-1ubuntu2 +APT-ID: 1134 +Multi-Arch: foreign +Source: iproute2 +Source-Version: 5.15.0-1ubuntu2 +Priority: required +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: debconf (>= 0.5) | debconf-2.0, libbpf0 (>= 1:0.2), libbsd0 (>= 0.0), libc6 (>= 2.34), libcap2 (>= 1:2.10), libdb5.3, libelf1 (>= 0.131), libmnl0 (>= 1.0.3-4~), libselinux1 (>= 3.1~), libxtables12 (>= 1.6.0+snapshot20161117), libcap2-bin +Suggests: iproute2-doc +Recommends: libatm1 (>= 2.4.1-17~) +Conflicts: arpd, iproute (<< 20130000-1) +Replaces: iproute +Provides: arpd + +Package: libnetplan0 +Architecture: amd64 +Version: 0.104-0ubuntu2.1 +APT-ID: 72468 +Multi-Arch: same +Source: netplan.io +Source-Version: 0.104-0ubuntu2.1 +Priority: required +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.27), libglib2.0-0 (>= 2.70.0), libuuid1 (>= 2.16), libyaml-0-2 + +Package: libspeexdsp1 +Architecture: amd64 +Version: 1.2~rc1.2-1.1ubuntu3 +APT-ID: 3728 +Multi-Arch: same +Source: speex +Source-Version: 1.2~rc1.2-1.1ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.29) + +Package: libavahi-client3 +Architecture: amd64 +Version: 0.8-5ubuntu5 +APT-ID: 1684 +Multi-Arch: same +Source: avahi +Source-Version: 0.8-5ubuntu5 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libavahi-common3 (= 0.8-5ubuntu5), libc6 (>= 2.34), libdbus-1-3 (>= 1.9.14) + +Package: fonts-lohit-taml-classical +Architecture: all +Version: 2.5.4-2 +APT-ID: 469 +Multi-Arch: foreign +Source: fonts-lohit-taml-classical +Source-Version: 2.5.4-2 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: fonts-lohit-tamil-classical +Breaks: fonts-lohit-tamil-classical + +Package: gpgconf +Architecture: amd64 +Version: 2.2.27-3ubuntu2.1 +APT-ID: 71884 +Multi-Arch: foreign +Source: gnupg2 +Source-Version: 2.2.27-3ubuntu2.1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libassuan0 (>= 2.5.0), libc6 (>= 2.34), libgcrypt20 (>= 1.9.0), libgpg-error0 (>= 1.42), libreadline8 (>= 6.0) +Replaces: gnupg (<< 2.1.21-4), gnupg-agent (<< 2.1.21-4) +Breaks: gnupg (<< 2.1.21-4), gnupg-agent (<< 2.1.21-4) + +Package: libibus-1.0-5 +Architecture: amd64 +Version: 1.5.26-4 +APT-ID: 2618 +Multi-Arch: same +Source: ibus +Source-Version: 1.5.26-4 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libglib2.0-0 (>= 2.59.0) + +Package: glib-networking +Architecture: amd64 +Version: 2.72.0-1 +APT-ID: 768 +Multi-Arch: same +Source: glib-networking +Source-Version: 2.72.0-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libglib2.0-0 (>= 2.69.0), libgnutls30 (>= 3.7.3), libproxy1v5 (>= 0.4.17), glib-networking-services (>= 2.72.0-1), glib-networking-services (<< 2.72.0-1.1~), glib-networking-common (>= 2.72.0-1), gsettings-desktop-schemas +Breaks: balsa (<< 2.6.0-2ubuntu0.1), libsoup2.4-tests (<< 2.71.1-1~) + +Package: libdevmapper1.02.1 +Architecture: amd64 +Version: 2:1.02.175-2.1ubuntu4 +APT-ID: 2065 +Multi-Arch: same +Source: lvm2 +Source-Version: 2.03.11-2.1ubuntu4 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libselinux1 (>= 3.1~), libudev1 (>= 183) +Recommends: dmsetup (>= 2:1.02.175-2.1ubuntu4~) + +Package: libglib-perl +Architecture: amd64 +Version: 3:1.329.3-2build1 +APT-ID: 2385 +Multi-Arch: same +Source: libglib-perl +Source-Version: 3:1.329.3-2build1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl, perlapi-5.34.0, libc6 (>= 2.34), libglib2.0-0 (>= 2.41.1), libextutils-depends-perl + +Package: libcairo-perl +Architecture: amd64 +Version: 1.109-2build1 +APT-ID: 1830 +Multi-Arch: same +Source: libcairo-perl +Source-Version: 1.109-2build1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl, perlapi-5.34.0, libc6 (>= 2.34), libcairo2 (>= 1.15.8) +Suggests: libfont-freetype-perl + +Package: xinit +Architecture: amd64 +Version: 1.4.1-0ubuntu4 +APT-ID: 6032 +Source: xinit +Source-Version: 1.4.1-0ubuntu4 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libx11-6, coreutils (>= 7.4-1), x11-common, xauth +Recommends: xserver-xorg | xserver, gnome-terminal | xterm | x-session-manager | x-window-manager | x-terminal-emulator + +Package: libsm6 +Architecture: amd64 +Version: 2:1.2.3-1build2 +APT-ID: 3683 +Multi-Arch: same +Source: libsm +Source-Version: 2:1.2.3-1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libice6 (>= 1:1.0.0), libuuid1 (>= 2.16) + +Package: libss2 +Architecture: amd64 +Version: 1.46.5-2ubuntu1.1 +APT-ID: 72755 +Multi-Arch: same +Source: e2fsprogs +Source-Version: 1.46.5-2ubuntu1.1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libcom-err2, libc6 (>= 2.34) +Replaces: e2fsprogs (<< 1.34-1) + +Package: totem +Architecture: amd64 +Version: 42.0-1ubuntu1 +APT-ID: 5859 +Source: totem +Source-Version: 42.0-1ubuntu1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libcairo2 (>= 1.14.0), libgdk-pixbuf-2.0-0 (>= 2.23.0), libglib2.0-0 (>= 2.56.0), libgstreamer-plugins-base1.0-0 (>= 1.0.0), libgstreamer1.0-0 (>= 1.6.0), libgtk-3-0 (>= 3.22.0), libhandy-1-0 (>= 1.5.90), libpango-1.0-0 (>= 1.14.0), libpangocairo-1.0-0 (>= 1.14.0), libtotem-plparser18 (>= 3.26.0), libtotem0 (>= 42.0-1ubuntu1), libtotem0 (<< 42.1), libx11-6, grilo-plugins-0.3-base, totem-common (>= 42.0-1ubuntu1), gsettings-desktop-schemas, gstreamer1.0-gl, gstreamer1.0-gtk3, gstreamer1.0-plugins-base (>= 1.6.0), gstreamer1.0-plugins-good (>= 1.10), gstreamer1.0-x +Suggests: gstreamer1.0-plugins-bad, gstreamer1.0-libav, gstreamer1.0-plugins-ugly, gnome-codec-install +Recommends: gstreamer1.0-pulseaudio, totem-plugins + +Package: python3-cupshelpers +Architecture: all +Version: 1.5.16-0ubuntu3 +APT-ID: 5198 +Source: system-config-printer +Source-Version: 1.5.16-0ubuntu3 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-cups (>= 1.9.42), python3-dbus, python3:any +Replaces: python-cupshelpers (<= 1.5) +Breaks: python-cupshelpers (<= 1.5) + +Package: python3-future +Architecture: all +Version: 0.18.2-5 +APT-ID: 5239 +Multi-Arch: foreign +Source: python-future +Source-Version: 0.18.2-5 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any, python3-lib2to3 +Suggests: python-future-doc + +Package: fonts-ubuntu +Architecture: all +Version: 0.83-6ubuntu1 +APT-ID: 543 +Multi-Arch: foreign +Source: fonts-ubuntu +Source-Version: 0.83-6ubuntu1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libnewt0.52 +Architecture: amd64 +Version: 0.52.21-5ubuntu2 +APT-ID: 3037 +Multi-Arch: same +Source: newt +Source-Version: 0.52.21-5ubuntu2 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libslang2 (>= 2.2.4) +Recommends: libfribidi0 + +Package: rhythmbox-data +Architecture: all +Version: 3.4.4-5ubuntu1 +APT-ID: 5601 +Multi-Arch: foreign +Source: rhythmbox +Source-Version: 3.4.4-5ubuntu1 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dconf-gsettings-backend | gsettings-backend +Recommends: rhythmbox + +Package: libcupsfilters1 +Architecture: amd64 +Version: 1.28.15-0ubuntu1 +APT-ID: 1966 +Multi-Arch: same +Source: cups-filters +Source-Version: 1.28.15-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libcups2 (>= 2.3~b6), libdbus-1-3 (>= 1.9.14), libjpeg8 (>= 8c), libpng16-16 (>= 1.6.2-1), libtiff5 (>= 4.0.3) + +Package: policykit-1 +Architecture: amd64 +Version: 0.105-33 +APT-ID: 4929 +Multi-Arch: foreign +Source: policykit-1 +Source-Version: 0.105-33 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: pkexec (= 0.105-33), polkitd (= 0.105-33) + +Package: libclutter-gst-3.0-0 +Architecture: amd64 +Version: 3.0.27-2ubuntu1 +APT-ID: 72294 +Multi-Arch: same +Source: clutter-gst-3.0 +Source-Version: 3.0.27-2ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libclutter-1.0-0 (>= 1.20.0), libcogl20 (>= 1.17.4), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.37.3), libgstreamer-plugins-base1.0-0 (>= 1.6.0), libgstreamer1.0-0 (>= 1.4.0), libgudev-1.0-0 (>= 146), libx11-6 + +Package: libcanberra0 +Architecture: amd64 +Version: 0.30-10ubuntu1 +APT-ID: 1847 +Multi-Arch: same +Source: libcanberra +Source-Version: 0.30-10ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libasound2 (>= 1.0.16), libc6 (>= 2.34), libltdl7 (>= 2.4.6), libtdb1 (>= 1.2.7+git20101214), libvorbisfile3 (>= 1.1.2), sound-theme-freedesktop +Suggests: libcanberra-gtk0, libcanberra-pulse + +Package: libnss-mdns +Architecture: amd64 +Version: 0.15.1-1ubuntu1 +APT-ID: 3092 +Multi-Arch: same +Source: nss-mdns +Source-Version: 0.15.1-1ubuntu1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: base-files (>= 3.1.10), libc6 (>= 2.34) +Suggests: avahi-autoipd | zeroconf +Recommends: avahi-daemon (>= 0.6.16-1) + +Package: libtotem-plparser18 +Architecture: amd64 +Version: 3.26.6-1build1 +APT-ID: 3883 +Multi-Arch: same +Source: totem-pl-parser +Source-Version: 3.26.6-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libarchive13 (>= 3.0.4), libc6 (>= 2.33), libgcrypt20 (>= 1.9.0), libglib2.0-0 (>= 2.56.0), libxml2 (>= 2.7.4), libtotem-plparser-common + +Package: libgdbm6 +Architecture: amd64 +Version: 1.23-1 +APT-ID: 2332 +Multi-Arch: same +Source: gdbm +Source-Version: 1.23-1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) +Suggests: gdbm-l10n (= 1.23-1) + +Package: xdg-desktop-portal +Architecture: amd64 +Version: 1.14.4-1ubuntu2~22.04.1 +APT-ID: 74548 +Multi-Arch: foreign +Source: xdg-desktop-portal +Source-Version: 1.14.4-1ubuntu2~22.04.1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: bubblewrap, default-dbus-session-bus | dbus-session-bus, fuse3, init-system-helpers (>= 1.52), libc6 (>= 2.34), libfuse3-3 (>= 3.2.3), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.70.0), libjson-glib-1.0-0 (>= 1.5.2), libpipewire-0.3-0 (>= 0.3.10), libsystemd0 +Replaces: flatpak (<< 0.10.4-1~) +Breaks: flatpak (<< 0.10.4-1~) + +Package: python3-gi-cairo +Architecture: amd64 +Version: 3.42.1-0ubuntu1 +APT-ID: 74322 +Source: pygobject +Source-Version: 3.42.1-0ubuntu1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-cairo (>= 1.11.1), python3-gi (= 3.42.1-0ubuntu1), python3 (<< 3.11), python3 (>= 3.10~), libc6 (>= 2.4), libcairo-gobject2 (>= 1.12.16), libcairo2 (>= 1.10.0), libglib2.0-0 (>= 2.56.0) + +Package: gir1.2-gck-1 +Architecture: amd64 +Version: 3.40.0-4 +APT-ID: 672 +Multi-Arch: same +Source: gcr +Source-Version: 3.40.0-4 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libgck-1-0 (= 3.40.0-4), gir1.2-glib-2.0 (>= 1.34) + +Package: libcolord-gtk1 +Architecture: amd64 +Version: 0.3.0-1 +APT-ID: 1924 +Multi-Arch: same +Source: colord-gtk +Source-Version: 0.3.0-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libcairo2 (>= 1.2.4), libcolord2 (>= 1.4.3), libglib2.0-0 (>= 2.37.3), libgtk-3-0 (>= 3.0.0) +Recommends: colord + +Package: apport +Architecture: all +Version: 2.20.11-0ubuntu82.1 +APT-ID: 71706 +Source: apport +Source-Version: 2.20.11-0ubuntu82.1 +Priority: optional +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=i386 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3, python3-apport (>= 2.20.11-0ubuntu82.1), lsb-base (>= 3.0-6), python3-gi, gir1.2-glib-2.0 (>= 1.29.17) +Suggests: apport-gtk | apport-kde, policykit-1 +Recommends: apport-symptoms, python3-systemd +Conflicts: core-dump-handler +Replaces: core-dump-handler, python-apport (<< 2.2-0ubuntu1) +Breaks: python-apport (<< 2.2-0ubuntu1) +Provides: core-dump-handler + +Package: libuv1 +Architecture: amd64 +Version: 1.43.0-1 +APT-ID: 3979 +Multi-Arch: same +Source: libuv1 +Source-Version: 1.43.0-1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: libpsl5 +Architecture: amd64 +Version: 0.21.0-1.2build2 +APT-ID: 3320 +Multi-Arch: same +Source: libpsl +Source-Version: 0.21.0-1.2build2 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libidn2-0 (>= 0.16), libc6 (>= 2.33), libunistring2 (>= 0.9.7) +Recommends: publicsuffix (>= 20150507) + +Package: libdrm-intel1 +Architecture: amd64 +Version: 2.4.110-1ubuntu1 +APT-ID: 2094 +Multi-Arch: same +Source: libdrm +Source-Version: 2.4.110-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.17), libdrm2 (>= 2.4.108), libpciaccess0 + +Package: libproxy1-plugin-gsettings +Architecture: amd64 +Version: 0.4.17-2 +APT-ID: 3314 +Multi-Arch: same +Source: libproxy +Source-Version: 0.4.17-2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libgcc-s1 (>= 3.3.1), libglib2.0-0 (>= 2.45.3), libproxy1v5 (= 0.4.17-2), libstdc++6 (>= 5.2), gsettings-desktop-schemas +Enhances: libproxy1v5 + +Package: dns-root-data +Architecture: all +Version: 2021011101 +APT-ID: 335 +Multi-Arch: foreign +Source: dns-root-data +Source-Version: 2021011101 +Priority: optional +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: netcat-openbsd +Architecture: amd64 +Version: 1.218-4ubuntu1 +APT-ID: 4740 +Source: netcat-openbsd +Source-Version: 1.218-4ubuntu1 +Priority: required +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbsd0 (>= 0.2.0), libc6 (>= 2.34) +Replaces: netcat (<< 1.10-35) +Breaks: netcat (<< 1.10-35) +Provides: netcat + +Package: gir1.2-atspi-2.0 +Architecture: amd64 +Version: 2.44.0-3 +APT-ID: 639 +Multi-Arch: same +Source: at-spi2-core +Source-Version: 2.44.0-3 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gir1.2-freedesktop, gir1.2-glib-2.0, libatspi2.0-0 (>= 2.44.0-3) +Replaces: gir1.0-gtk-2.0 (<< 2.22), gobject-introspection-repository + +Package: intel-microcode +Architecture: amd64 +Version: 3.20220809.0ubuntu0.22.04.1 +APT-ID: 71906 +Source: intel-microcode +Source-Version: 3.20220809.0ubuntu0.22.04.1 +Priority: extra +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: iucode-tool (>= 1.0) +Recommends: initramfs-tools (>= 0.113~) +Conflicts: microcode.ctl (<< 0.18~0) + +Package: bsdextrautils +Architecture: amd64 +Version: 2.37.2-4ubuntu3 +APT-ID: 146 +Multi-Arch: foreign +Source: util-linux +Source-Version: 2.37.2-4ubuntu3 +Priority: standard +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libsmartcols1 (>= 2.31.1), libtinfo6 (>= 6) +Replaces: bsdmainutils (<< 12.1.3) +Breaks: bsdmainutils (<< 12.1.3) + +Package: python3-zipp +Architecture: all +Version: 1.0.0-3 +APT-ID: 5546 +Source: python-zipp +Source-Version: 1.0.0-3 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-more-itertools, python3:any + +Package: libxfixes3 +Architecture: amd64 +Version: 1:6.0.0-1 +APT-ID: 4204 +Multi-Arch: same +Source: libxfixes +Source-Version: 1:6.0.0-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libx11-6 (>= 2:1.6.0) + +Package: libayatana-indicator3-7 +Architecture: amd64 +Version: 0.9.1-1 +APT-ID: 1705 +Multi-Arch: same +Source: libayatana-indicator +Source-Version: 0.9.1-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libayatana-ido3-0.4-0 (>= 0.9.0), libc6 (>= 2.4), libgdk-pixbuf-2.0-0 (>= 2.22.0), libglib2.0-0 (>= 2.37.3), libgtk-3-0 (>= 3.21.4) + +Package: fonts-indic +Architecture: all +Version: 2:1.4 +APT-ID: 448 +Multi-Arch: foreign +Source: fonts-indic +Source-Version: 2:1.4 +Priority: optional +Section: metapackages +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +Depends: fonts-beng, fonts-deva, fonts-gujr, fonts-guru, fonts-knda, fonts-mlym, fonts-orya, fonts-pagul, fonts-taml, fonts-telu +Replaces: ttf-indic-fonts +Breaks: ttf-indic-fonts (<< 2:1.0) + +Package: libstdc++6 +Architecture: amd64 +Version: 12.1.0-2ubuntu1~22.04 +APT-ID: 72770 +Multi-Arch: same +Source: gcc-12 +Source-Version: 12.1.0-2ubuntu1~22.04 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gcc-12-base (= 12.1.0-2ubuntu1~22.04), libc6 (>= 2.34), libgcc-s1 (>= 4.2) +Conflicts: scim (<< 1.4.2-1) +Replaces: libstdc++6-12-dbg (<< 4.9.0-3) +Breaks: gcc-4.3 (<< 4.3.6-1), gcc-4.4 (<< 4.4.6-4), gcc-4.5 (<< 4.5.3-2) + +Package: libxdmcp6 +Architecture: amd64 +Version: 1:1.1.3-0ubuntu5 +APT-ID: 4198 +Multi-Arch: same +Source: libxdmcp +Source-Version: 1:1.1.3-0ubuntu5 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libbsd0 (>= 0.2.0), libc6 (>= 2.4) + +Package: python3-paramiko +Architecture: all +Version: 2.9.3-0ubuntu1 +APT-ID: 5387 +Source: paramiko +Source-Version: 2.9.3-0ubuntu1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-bcrypt (>= 3.1.3), python3-cryptography (>= 2.5), python3-nacl (>= 1.0.1), python3-six, python3:any +Suggests: python3-gssapi (>= 0.6.1), python3-invoke + +Package: python3-secretstorage +Architecture: all +Version: 3.3.1-1 +APT-ID: 5468 +Source: python-secretstorage +Source-Version: 3.3.1-1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dbus, python3-jeepney (>= 0.6), python3-cryptography (>= 2.0), python3:any +Suggests: gnome-keyring (>= 2.30), python-secretstorage-doc + +Package: thunderbird-gnome-support +Architecture: amd64 +Version: 1:91.11.0+build2-0ubuntu0.22.04.1 +APT-ID: 74437 +Source: thunderbird +Source-Version: 1:91.11.0+build2-0ubuntu0.22.04.1 +Priority: optional +Section: mail +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: thunderbird (= 1:91.11.0+build2-0ubuntu0.22.04.1), libmessaging-menu0, libunity9, libnotify4 | libnotify1 + +Package: libexif12 +Architecture: amd64 +Version: 0.6.24-1build1 +APT-ID: 2181 +Multi-Arch: same +Source: libexif +Source-Version: 0.6.24-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.29) + +Package: libbabeltrace1 +Architecture: amd64 +Version: 1.5.8-2build1 +APT-ID: 1711 +Multi-Arch: same +Source: babeltrace +Source-Version: 1.5.8-2build1 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libdw1 (>= 0.126), libelf1 (>= 0.131), libglib2.0-0 (>= 2.30.0), libuuid1 (>= 2.16) +Replaces: libbabeltrace-ctf1 (<< 1.5.3-2~) +Breaks: libbabeltrace-ctf1 (<< 1.5.3-2~) +Provides: libbabeltrace-ctf1 (= 1.5.8-2build1) + +Package: libu2f-udev +Architecture: all +Version: 1.1.10-3build2 +APT-ID: 3911 +Multi-Arch: foreign +Source: libu2f-host +Source-Version: 1.1.10-3build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: udev (>= 244) + +Package: libsource-highlight4v5 +Architecture: amd64 +Version: 3.1.9-4.1build2 +APT-ID: 3714 +Source: source-highlight +Source-Version: 3.1.9-4.1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libsource-highlight-common, libboost-regex1.74.0-icu70, libc6 (>= 2.14), libgcc-s1 (>= 3.3.1), libstdc++6 (>= 11) +Conflicts: libsource-highlight4 +Replaces: libsource-highlight4 + +Package: p11-kit +Architecture: amd64 +Version: 0.24.0-6build1 +APT-ID: 4839 +Source: p11-kit +Source-Version: 0.24.0-6build1 +Priority: extra +Section: misc +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: p11-kit-modules (>= 0.24.0-6build1), libc6 (>= 2.34), libp11-kit0 (>= 0.23.18.1), libtasn1-6 (>= 4.14) + +Package: libnet-smtp-ssl-perl +Architecture: all +Version: 1.04-1 +APT-ID: 3021 +Source: libnet-smtp-ssl-perl +Source-Version: 1.04-1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libio-socket-ssl-perl, perl +Recommends: libauthen-sasl-perl + +Package: libncurses6 +Architecture: amd64 +Version: 6.3-2 +APT-ID: 2999 +Multi-Arch: same +Source: ncurses +Source-Version: 6.3-2 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libtinfo6 (= 6.3-2), libc6 (>= 2.34) +Recommends: libgpm2 +Breaks: cowdancer (<< 0.89~) + +Package: policykit-desktop-privileges +Architecture: all +Version: 0.21 +APT-ID: 4931 +Source: policykit-desktop-privileges +Source-Version: 0.21 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: policykit-1 +Breaks: gnome-settings-daemon (<< 3.6.4-0ubuntu8) + +Package: fwupd +Architecture: amd64 +Version: 1.7.5-3 +APT-ID: 568 +Multi-Arch: foreign +Source: fwupd +Source-Version: 1.7.5-3 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libfwupd2 (= 1.7.5-3), libfwupdplugin5 (= 1.7.5-3), libc6 (>= 2.34), libcurl3-gnutls (>= 7.63.0), libefiboot1 (>= 37), libflashrom1, libglib2.0-0 (>= 2.70.0), libgnutls30 (>= 3.7.3), libgudev-1.0-0 (>= 165), libgusb2 (>= 0.3.6), libjcat1 (>= 0.1.3), libjson-glib-1.0-0 (>= 1.5.2), libmbim-glib4 (>= 1.26.0), libmbim-proxy, libmm-glib0 (>= 1.10.0), libpolkit-gobject-1-0 (>= 0.99), libqmi-glib5 (>= 1.18.0), libqmi-proxy, libsmbios-c2, libsqlite3-0 (>= 3.6.1), libsystemd0, libtss2-esys-3.0.2-0 (>= 2.3.1), libxmlb2 (>= 0.3.2), shared-mime-info +Suggests: gir1.2-fwupd-2.0 +Recommends: python3, bolt, dbus, secureboot-db, udisks2, fwupd-signed +Conflicts: fwupdate-amd64-signed, fwupdate-arm64-signed, fwupdate-armhf-signed, fwupdate-i386-signed +Replaces: fwupdate (<< 12-7), gir1.2-dfu-1.0 (<< 0.9.7-1), libdfu-dev (<< 0.9.7-1), libdfu1 (<< 0.9.7-1) +Breaks: fwupdate (<< 12-7), gir1.2-dfu-1.0 (<< 0.9.7-1), libdfu-dev (<< 0.9.7-1), libdfu1 (<< 0.9.7-1) +Provides: fwupdate + +Package: libmtp-runtime +Architecture: amd64 +Version: 1.1.19-1build1 +APT-ID: 2980 +Source: libmtp +Source-Version: 1.1.19-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libmtp-common, libmtp9 (= 1.1.19-1build1), libc6 (>= 2.34) +Enhances: libmtp9 + +Package: libxi6 +Architecture: amd64 +Version: 2:1.8-1build1 +APT-ID: 4210 +Multi-Arch: same +Source: libxi +Source-Version: 2:1.8-1build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libx11-6 (>= 2:1.6.0), libxext6 + +Package: python3-systemd +Architecture: amd64 +Version: 234-3ubuntu2 +APT-ID: 5497 +Source: python-systemd +Source-Version: 234-3ubuntu2 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3 (<< 3.11), python3 (>= 3.10~), python3:any, libc6 (>= 2.17), libsystemd0 (>= 246) + +Package: ubuntu-minimal +Architecture: amd64 +Version: 1.481 +APT-ID: 5889 +Source: ubuntu-meta +Source-Version: 1.481 +Priority: required +Section: metapackages +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: adduser, apt, apt-utils, console-setup, debconf, debconf-i18n, e2fsprogs, eject, init, iproute2, iputils-ping, isc-dhcp-client, kbd, kmod, less, locales, lsb-release, mawk, mount, netbase, netcat-openbsd, netplan.io, passwd, procps, python3, sensible-utils, sudo, tzdata, ubuntu-advantage-tools, ubuntu-keyring, udev, vim-tiny, whiptail +Recommends: rsyslog, usrmerge + +Package: libdebconfclient0 +Architecture: amd64 +Version: 0.261ubuntu1 +APT-ID: 2041 +Multi-Arch: same +Source: cdebconf +Source-Version: 0.261ubuntu1 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +Depends: libc6 (>= 2.4) + +Package: iputils-tracepath +Architecture: amd64 +Version: 3:20211215-1 +APT-ID: 1141 +Multi-Arch: foreign +Source: iputils +Source-Version: 3:20211215-1 +Priority: standard +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) +Suggests: traceroute + +Package: libxt6 +Architecture: amd64 +Version: 1:1.2.1-1 +APT-ID: 4273 +Multi-Arch: same +Source: libxt +Source-Version: 1:1.2.1-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libice6 (>= 1:1.0.0), libsm6, libx11-6 + +Package: libxv1 +Architecture: amd64 +Version: 2:1.0.11-1build2 +APT-ID: 4280 +Multi-Arch: same +Source: libxv +Source-Version: 2:1.0.11-1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libx11-6 (>= 2:1.6.0), libxext6 + +Package: libgail-common +Architecture: amd64 +Version: 2.24.33-2ubuntu2 +APT-ID: 2287 +Multi-Arch: same +Source: gtk+2.0 +Source-Version: 2.24.33-2ubuntu2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libatk1.0-0 (>= 1.32.0), libc6 (>= 2.4), libgail18 (= 2.24.33-2ubuntu2), libgdk-pixbuf-2.0-0 (>= 2.22.1), libglib2.0-0 (>= 2.37.3), libgtk2.0-0 (>= 2.24.0), libpango-1.0-0 (>= 1.28.3), libx11-6 + +Package: fonts-tlwg-typewriter-ttf +Architecture: all +Version: 1:0.7.3-1 +APT-ID: 534 +Multi-Arch: foreign +Source: fonts-tlwg +Source-Version: 1:0.7.3-1 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: fonts-tlwg-typewriter (>= 1:0.6.2-2) +Replaces: fonts-tlwg-typewriter (<< 1:0.6.2-2) +Breaks: fonts-tlwg-typewriter (<< 1:0.6.2-2) + +Package: foomatic-db-compressed-ppds +Architecture: all +Version: 20220223-0ubuntu1 +APT-ID: 548 +Multi-Arch: foreign +Source: foomatic-db +Source-Version: 20220223-0ubuntu1 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any, xz-utils +Suggests: cups-filters, hplip, hplip-cups, openprinting-ppds, printer-driver-all +Recommends: cups, cups-client, cups-filters | foomatic-filters, ghostscript +Conflicts: foomatic-db, foomatic-db-hpijs +Replaces: foomatic-db, foomatic-db-hpijs +Breaks: foomatic-db +Provides: foomatic-db + +Package: gnome-session-common +Architecture: all +Version: 42.0-1ubuntu2 +APT-ID: 803 +Source: gnome-session +Source-Version: 42.0-1ubuntu2 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: gnome-session-bin (<< 3.37.0-2~) +Breaks: eog (<< 3.36.0), evince (<< 3.30), evolution (<< 3.30.0), gnome-session-bin (<< 3.37.0-2~) + +Package: iso-codes +Architecture: all +Version: 4.9.0-1 +APT-ID: 1153 +Multi-Arch: foreign +Source: iso-codes +Source-Version: 4.9.0-1 +Priority: required +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Suggests: isoquery + +Package: liborc-0.4-0 +Architecture: amd64 +Version: 1:0.4.32-2 +APT-ID: 3145 +Multi-Arch: same +Source: orc +Source-Version: 1:0.4.32-2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14) + +Package: libparted2 +Architecture: amd64 +Version: 3.4-2build1 +APT-ID: 3206 +Multi-Arch: same +Source: parted +Source-Version: 3.4-2build1 +Priority: standard +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libblkid1 (>= 2.17.2), libc6 (>= 2.34), libdevmapper1.02.1 (>= 2:1.02.97), libuuid1 (>= 2.16), dmidecode +Suggests: parted, libparted-dev, libparted-i18n (= 3.4-2build1) +Provides: libparted + +Package: libgsf-1-common +Architecture: all +Version: 1.14.47-1build2 +APT-ID: 2502 +Multi-Arch: foreign +Source: libgsf +Source-Version: 1.14.47-1build2 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Replaces: libgsf-1 (<= 1.12.3-4) + +Package: libwacom-bin +Architecture: amd64 +Version: 2.2.0-1 +APT-ID: 4035 +Multi-Arch: foreign +Source: libwacom +Source-Version: 2.2.0-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libglib2.0-0 (>= 2.28.0), libgudev-1.0-0 (>= 146), libwacom9 (>= 2.0.0), python3:any + +Package: openssl +Architecture: amd64 +Version: 3.0.2-0ubuntu1.6 +APT-ID: 74255 +Multi-Arch: foreign +Source: openssl +Source-Version: 3.0.2-0ubuntu1.6 +Priority: required +Section: utils +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libssl3 (>= 3.0.2-0ubuntu1.2) +Suggests: ca-certificates + +Package: update-notifier-common +Architecture: all +Version: 3.192.54 +APT-ID: 5919 +Source: update-notifier +Source-Version: 3.192.54 +Priority: optional +Section: gnome +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3:any, python3-apt, python3-dbus, python3-debian, python3-debconf | debconf (<< 1.5.64~), python3-distro-info, lsb-release, patch, update-manager-core (>= 1:17.04.2) +Pre-Depends: dpkg (>= 1.15.7.2), apt (>= 1.1~) +Suggests: policykit-1 +Recommends: libpam-modules (>= 1.0.1-9ubuntu3) +Replaces: update-notifier (<< 0.75.1) + +Package: fonts-sarai +Architecture: all +Version: 1.0-3 +APT-ID: 492 +Multi-Arch: foreign +Source: fonts-sarai +Source-Version: 1.0-3 +Priority: optional +Section: fonts +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Recommends: fonts-gargi + +Package: python3-debian +Architecture: all +Version: 0.1.43ubuntu1 +APT-ID: 5206 +Source: python-debian +Source-Version: 0.1.43ubuntu1 +Priority: optional +Section: python +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: python3-chardet, zstd, python3:any +Suggests: gpgv +Recommends: python3-apt + +Package: xserver-xorg-video-qxl +Architecture: amd64 +Version: 0.1.5+git20200331-3 +APT-ID: 6059 +Source: xserver-xorg-video-qxl +Source-Version: 0.1.5+git20200331-3 +Priority: optional +Section: x11 +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.14), libudev1 (>= 183), xorg-video-abi-25, xserver-xorg-core (>= 2:21.1.1) +Provides: xorg-driver-video + +Package: libebackend-1.2-10 +Architecture: amd64 +Version: 3.44.4-0ubuntu1 +APT-ID: 72315 +Multi-Arch: same +Source: evolution-data-server +Source-Version: 3.44.4-0ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.7), libcamel-1.2-63 (>= 3.19.92), libdb5.3, libedataserver-1.2-26 (= 3.44.4-0ubuntu1), libglib2.0-0 (>= 2.40), libsoup2.4-1 (>= 2.42), libsqlite3-0 (>= 3.6.0) + +Package: e2fsprogs +Architecture: amd64 +Version: 1.46.5-2ubuntu1.1 +APT-ID: 71791 +Multi-Arch: foreign +Source: e2fsprogs +Source-Version: 1.46.5-2ubuntu1.1 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: logsave +Pre-Depends: libblkid1 (>= 2.36), libc6 (>= 2.34), libcom-err2 (>= 1.43.9), libext2fs2 (= 1.46.5-2ubuntu1.1), libss2 (>= 1.38), libuuid1 (>= 2.16) +Suggests: gpart, parted, fuse2fs, e2fsck-static +Recommends: e2fsprogs-l10n + +Package: libinput-bin +Architecture: amd64 +Version: 1.20.0-1ubuntu0.1 +APT-ID: 72426 +Multi-Arch: foreign +Source: libinput +Source-Version: 1.20.0-1ubuntu0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34), libevdev2 (>= 1.10.0), libudev1 (>= 183), libwacom9 (>= 2.0.0) + +Package: libhttp-daemon-perl +Architecture: all +Version: 6.13-1ubuntu0.1 +APT-ID: 72424 +Source: libhttp-daemon-perl +Source-Version: 6.13-1ubuntu0.1 +Priority: optional +Section: perl +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=i386 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: perl:any, libhttp-date-perl, libhttp-message-perl, libio-socket-ip-perl, liblwp-mediatypes-perl, libsocket-perl + +Package: passwd +Architecture: amd64 +Version: 1:4.8.1-2ubuntu2 +APT-ID: 4855 +Multi-Arch: foreign +Source: shadow +Source-Version: 1:4.8.1-2ubuntu2 +Priority: important +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libaudit1 (>= 1:2.2.1), libc6 (>= 2.34), libcrypt1 (>= 1:4.1.0), libpam0g (>= 0.99.7.1), libselinux1 (>= 3.1~), libsemanage2 (>= 2.0.3), libpam-modules +Recommends: sensible-utils + +Package: mobile-broadband-provider-info +Architecture: all +Version: 20220315-1 +APT-ID: 4653 +Multi-Arch: foreign +Source: mobile-broadband-provider-info +Source-Version: 20220315-1 +Priority: extra +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes + +Package: libspectre1 +Architecture: amd64 +Version: 0.2.10-1 +APT-ID: 3721 +Multi-Arch: same +Source: libspectre +Source-Version: 0.2.10-1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33), libgs9 (>= 9.53.0~dfsg) + +Package: nftables +Architecture: amd64 +Version: 1.0.2-1ubuntu3 +APT-ID: 74223 +Source: nftables +Source-Version: 1.0.2-1ubuntu3 +Priority: standard +Section: net +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libnftables1 (= 1.0.2-1ubuntu3), libc6 (>= 2.34), libedit2 (>= 3.1-20130611-0) +Suggests: firewalld +Recommends: netbase + +Package: libxcb-xfixes0 +Architecture: amd64 +Version: 1.14-3ubuntu3 +APT-ID: 4173 +Multi-Arch: same +Source: libxcb +Source-Version: 1.14-3ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libxcb1 + +Package: gir1.2-gcr-3 +Architecture: amd64 +Version: 3.40.0-4 +APT-ID: 673 +Multi-Arch: same +Source: gcr +Source-Version: 3.40.0-4 +Priority: optional +Section: introspection +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libgcr-base-3-1 (= 3.40.0-4), libgcr-ui-3-1 (= 3.40.0-4), gir1.2-gck-1 (= 3.40.0-4), gir1.2-glib-2.0 (>= 1.34), gir1.2-gtk-3.0 (>= 3.22.0) +Provides: gir1.2-gcrui-3 (= 3.40.0-4) + +Package: upower +Architecture: amd64 +Version: 0.99.17-1 +APT-ID: 5920 +Multi-Arch: foreign +Source: upower +Source-Version: 0.99.17-1 +Priority: optional +Section: admin +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: dbus, udev, libc6 (>= 2.34), libglib2.0-0 (>= 2.56), libgudev-1.0-0 (>= 235), libimobiledevice6 (>= 1.3.0), libplist3 (>= 2.2.0), libupower-glib3 (>= 0.99.8) +Recommends: policykit-1 + +Package: aspell +Architecture: amd64 +Version: 0.60.8-4build1 +APT-ID: 57 +Multi-Arch: foreign +Source: aspell +Source-Version: 0.60.8-4build1 +Priority: optional +Section: text +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libaspell15 (= 0.60.8-4build1), libc6 (>= 2.34), libncursesw6 (>= 6), libstdc++6 (>= 5), libtinfo6 (>= 6), dictionaries-common +Suggests: aspell-doc, spellutils +Recommends: aspell-en | aspell-dictionary | aspell6a-dictionary +Replaces: aspell-bin (<< 0.60.3-2) +Breaks: aspell-bin (<< 0.60.3-2) +Provides: aspell-bin + +Package: libpipewire-0.3-0 +Architecture: amd64 +Version: 0.3.48-1ubuntu1 +APT-ID: 3258 +Multi-Arch: same +Source: pipewire +Source-Version: 0.3.48-1ubuntu1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libspa-0.2-modules (= 0.3.48-1ubuntu1), libc6 (>= 2.34) +Recommends: pipewire (= 0.3.48-1ubuntu1), libpipewire-0.3-common + +Package: libnspr4 +Architecture: amd64 +Version: 2:4.32-3build1 +APT-ID: 3089 +Multi-Arch: same +Source: nspr +Source-Version: 2:4.32-3build1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.34) + +Package: libgcc-s1 +Architecture: amd64 +Version: 12.1.0-2ubuntu1~22.04 +APT-ID: 72364 +Multi-Arch: same +Source: gcc-12 +Source-Version: 12.1.0-2ubuntu1~22.04 +Priority: important +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: gcc-12-base (= 12.1.0-2ubuntu1~22.04), libc6 (>= 2.35) +Replaces: libgcc1 (<< 1:10) +Provides: libgcc1 (= 1:12.1.0-2ubuntu1~22.04) + +Package: libxcb-xv0 +Architecture: amd64 +Version: 1.14-3ubuntu3 +APT-ID: 4183 +Multi-Arch: same +Source: libxcb +Source-Version: 1.14-3ubuntu3 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.4), libxcb1 + +Package: libevdev2 +Architecture: amd64 +Version: 1.12.1+dfsg-1 +APT-ID: 2166 +Multi-Arch: same +Source: libevdev +Source-Version: 1.12.1+dfsg-1 +Priority: extra +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy,n=jammy,l=Ubuntu,c=main,b=amd64 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes +Depends: libc6 (>= 2.33) + +Package: libgdk-pixbuf2.0-common +Architecture: all +Version: 2.42.8+dfsg-1ubuntu0.1 +APT-ID: 72372 +Multi-Arch: foreign +Source: gdk-pixbuf +Source-Version: 2.42.8+dfsg-1ubuntu0.1 +Priority: optional +Section: libs +Installed: yes +APT-Release: + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-security,n=jammy,l=Ubuntu,c=main,b=i386 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=amd64 + v=22.04,o=Ubuntu,a=jammy-updates,n=jammy,l=Ubuntu,c=main,b=i386 +APT-Pin: 500 +APT-Candidate: yes +APT-Automatic: yes diff --git a/test/integration/framework b/test/integration/framework new file mode 100644 index 0000000..1eec8ca --- /dev/null +++ b/test/integration/framework @@ -0,0 +1,2303 @@ +#!/bin/sh -- # no runable script, just for vi + +EXIT_CODE=0 + +while [ -n "$1" -a -z "$CHECK_ARGS" ]; do + if [ "$1" = "-q" ]; then + export MSGLEVEL=2 + elif [ "$1" = "-qq" ]; then + export MSGLEVEL=1 + elif [ "$1" = "-v" ]; then + export MSGLEVEL=4 + elif [ "$1" = '--color=no' ]; then + export MSGCOLOR='NO' + elif [ "$1" = '--color=yes' ]; then + export MSGCOLOR='YES' + elif [ "$1" = '--color' ]; then + export MSGCOLOR="$(echo "$2" | tr 'a-z' 'A-Z')" + shift + elif [ "$1" = '--level' ]; then + export MSGLEVEL=$2 + shift + else + echo >&2 "WARNING: Unknown parameter »$1« will be ignored" + fi + shift +done +export MSGLEVEL="${MSGLEVEL:-3}" + +# we all like colorful messages +if [ "${MSGCOLOR:-YES}" = 'YES' ]; then + if [ ! -t 1 ]; then # but check that we output to a terminal + export MSGCOLOR='NO' + fi +fi + +if [ "$MSGCOLOR" != 'NO' ]; then + CERROR="\033[1;31m" # red + CWARNING="\033[1;33m" # yellow + CMSG="\033[1;32m" # green + CINFO="\033[1;96m" # light blue + CDEBUG="\033[1;94m" # blue + CNORMAL="\033[0;39m" # default system console color + CDONE="\033[1;32m" # green + CPASS="\033[1;32m" # green + CFAIL="\033[1;31m" # red + CCMD="\033[1;35m" # pink +fi + +msgprintf() { + local START="$1" + local MIDDLE="$2" + local END="$3" + shift 3 + if [ -n "$1" ]; then + printf "$START " "$1" + shift + while [ -n "$1" ]; do + printf "$MIDDLE " "$(echo "$1" | sed -e 's#^apt\([cfghks]\)#apt-\1#')" + shift + done + fi + printf "${END}" +} +msgdie() { msgprintf "${CERROR}E: %s" '%s' "${CNORMAL}\n" "$@" >&2; exit 1; } +msgwarn() { msgprintf "${CWARNING}W: %s" '%s' "${CNORMAL}\n" "$@" >&2; } +msgmsg() { msgprintf "${CMSG}%s" '%s' "${CNORMAL}\n" "$@"; } +msginfo() { msgprintf "${CINFO}I: %s" '%s' "${CNORMAL}\n" "$@"; } +msgdebug() { msgprintf "${CDEBUG}D: %s" '%s' "${CNORMAL}\n" "$@"; } +msgdone() { msgprintf "${CDONE}DONE" '%s' "${CNORMAL}\n" "$@"; } +msgnwarn() { msgprintf "${CWARNING}W: %s" '%s' "${CNORMAL}" "$@" >&2; } +msgnmsg() { msgprintf "${CMSG}%s" '%s' "${CNORMAL}" "$@"; } +msgninfo() { msgprintf "${CINFO}I: %s" '%s' "${CNORMAL}" "$@"; } +msgndebug() { msgprintf "${CDEBUG}D: %s" '%s' "${CNORMAL}" "$@"; } +msgtest() { msgprintf "${CINFO}%s" "${CCMD}%s${CINFO}" "…${CNORMAL} " "$@"; } +msgpass() { printf "${CPASS}PASS${CNORMAL}\n"; } +msgreportheader() { + if [ -n "$MSGTEST_MSG" ]; then + test "$1" != 'msgfailoutput' || echo + if [ -n "$MSGTEST_MSGMSG" ]; then + echo "$MSGTEST_MSGMSG" + fi + if [ -n "$MSGTEST_GRP" ] && [ "$MSGTEST_GRP" != 'NEXT' ] && [ "$MSGTEST_GRP" != "$MSGTEST_MSG" ]; then + echo "${CFAIL}Part of the test group: $MSGTEST_GRP" + fi + echo -n "$MSGTEST_MSG" + unset MSGTEST_MSG + fi +} +msgskip() { + msgreportheader 'msgskip' + if [ $# -gt 0 ]; then printf "${CWARNING}SKIP: $*${CNORMAL}\n" >&2; + else printf "${CWARNING}SKIP${CNORMAL}\n" >&2; fi +} +msgfail() { + msgreportheader 'msgfail' + if [ $# -gt 0 ] && [ -n "$1" ]; then printf "${CFAIL}FAIL: $*${CNORMAL}\n" >&2; + else printf "${CFAIL}FAIL${CNORMAL}\n" >&2; fi + if [ -n "$APT_DEBUG_TESTS" ]; then + runapt $SHELL + fi + EXIT_CODE=$((EXIT_CODE+1)); +} +MSGGROUP_LEVEL=0 +msggroup() { + if [ -n "$1" ]; then + if [ $MSGGROUP_LEVEL = 0 ]; then + MSGTEST_GRP='NEXT' + fi + MSGGROUP_LEVEL=$((MSGGROUP_LEVEL+1)); + else + MSGGROUP_LEVEL=$((MSGGROUP_LEVEL-1)); + if [ $MSGGROUP_LEVEL = 0 ]; then + unset MSGTEST_GRP + fi + fi +} + +# enable / disable Debugging +if [ $MSGLEVEL -le 0 ]; then + msgdie() { true; } +fi +if [ $MSGLEVEL -le 1 ]; then + msgwarn() { true; } + msgnwarn() { true; } +fi +if [ $MSGLEVEL -le 2 ]; then + msgmsg() { + MSGTEST_MSGMSG="$(msgprintf "${CMSG}%s" '%s' "${CNORMAL}" "$@")" + } + msgnmsg() { true; } + msgtest() { + MSGTEST_MSG="$(msgprintf "${CINFO}%s" "${CCMD}%s${CINFO}" "…${CNORMAL} " "$@")" + if [ "$MSGTEST_GRP" = 'NEXT' ]; then + MSGTEST_GRP="$MSGTEST_MSG" + fi + } + msgpass() { printf " ${CPASS}P${CNORMAL}"; } +fi +if [ $MSGLEVEL -le 3 ]; then + msginfo() { true; } + msgninfo() { true; } +fi +if [ $MSGLEVEL -le 4 ]; then + msgdebug() { true; } + msgndebug() { true; } +fi +if [ $MSGLEVEL -le 1 ]; then + msgpass() { true; } +fi +msgdone() { + if [ "$1" = "debug" -a $MSGLEVEL -le 4 ] || + [ "$1" = "info" -a $MSGLEVEL -le 3 ] || + [ "$1" = "msg" -a $MSGLEVEL -le 2 ] || + [ "$1" = "warn" -a $MSGLEVEL -le 1 ] || + [ "$1" = "die" -a $MSGLEVEL -le 0 ]; then + true; + else + printf "${CDONE}DONE${CNORMAL}\n"; + fi +} +getaptconfig() { + if [ -f ./aptconfig.conf ]; then + echo "$(readlink -f ./aptconfig.conf)" + elif [ -f ../aptconfig.conf ]; then + echo "$(readlink -f ../aptconfig.conf)" + elif [ -f ../../aptconfig.conf ]; then + echo "$(readlink -f ../../aptconfig.conf)" + elif [ -f "${TMPWORKINGDIRECTORY}/aptconfig.conf" ]; then + echo "$(readlink -f "${TMPWORKINGDIRECTORY}/aptconfig.conf")" + fi +} +runapt() { + msgdebug "Executing: ${CCMD}$*${CDEBUG} " + local CMD="$1" + shift + case "$CMD" in + sh|aptitude|*/*|command) ;; + *) CMD="${APTCMDLINEBINDIR}/$CMD";; + esac + if [ "$CMD" = 'aptitude' ]; then + MALLOC_PERTURB_=21 MALLOC_CHECK_=2 APT_CONFIG="$(getaptconfig)" LD_LIBRARY_PATH="${LIBRARYPATH}:${LD_LIBRARY_PATH}" command "$CMD" "$@" + else + MALLOC_PERTURB_=21 MALLOC_CHECK_=2 APT_CONFIG="$(getaptconfig)" LD_LIBRARY_PATH="${LIBRARYPATH}:${LD_LIBRARY_PATH}" "$CMD" "$@" + fi +} +runpython3() { runapt command python3 "$@"; } +aptconfig() { runapt apt-config "$@"; } +aptcache() { runapt apt-cache "$@"; } +aptcdrom() { runapt apt-cdrom "$@"; } +aptget() { runapt apt-get "$@"; } +aptftparchive() { runapt "${APTFTPARCHIVEBINDIR}/apt-ftparchive" "$@"; } +aptkey() { runapt apt-key "$@"; } +aptmark() { runapt apt-mark "$@"; } +aptsortpkgs() { runapt apt-sortpkgs "$@"; } +apt() { runapt apt "$@"; } +apthelper() { runapt "${APTHELPERBINDIR}/apt-helper" "$@"; } +aptwebserver() { runapt "${APTTESTHELPERSBINDIR}/aptwebserver" "$@"; } +aptitude() { runapt aptitude "$@"; } +aptextracttemplates() { runapt apt-extracttemplates "$@"; } +aptinternalsolver() { runapt "${APTINTERNALSOLVER}" "$@"; } +aptdumpsolver() { runapt "${APTDUMPSOLVER}" "$@"; } +aptinternalplanner() { runapt "${APTINTERNALPLANNER}" "$@"; } + +dpkg() { + "${TMPWORKINGDIRECTORY}/rootdir/usr/bin/dpkg" "$@" +} +dpkgquery() { + command dpkg-query --admindir="${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg" "$@" +} +dpkg_version() { + command perl -MDpkg -E 'say $Dpkg::PROGVERSION' +} +dpkgcheckbuilddeps() { + command dpkg-checkbuilddeps --admindir="${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg" "$@" +} +gdb() { + local CMD + case "$1" in + aptget) CMD="apt-get";; + aptcache) CMD="apt-cache";; + aptcdrom) CMD="apt-cdrom";; + aptconfig) CMD="apt-config";; + aptmark) CMD="apt-mark";; + apthelper) CMD="apt-helper";; + aptftparchive) CMD="apt-ftparchive";; + dpkg) shift; runapt "${TMPWORKINGDIRECTORY}/rootdir/usr/bin/gdb-dpkg" "$@"; return;; + *) CMD="$1";; + esac + shift + if [ "${CMD##*/}" = "$CMD" ]; then + CMD="${APTCMDLINEBINDIR}/${CMD}" + fi + runapt command gdb --quiet -ex "directory '$SOURCEDIRECTORY'" -ex run "$CMD" --args "$CMD" "$@" +} + +valgrind() { + local CMD + case "$1" in + aptget) CMD="apt-get";; + aptcache) CMD="apt-cache";; + aptcdrom) CMD="apt-cdrom";; + aptconfig) CMD="apt-config";; + aptmark) CMD="apt-mark";; + apthelper) CMD="apt-helper";; + aptftparchive) CMD="apt-ftparchive";; + dpkg) shift; runapt "${TMPWORKINGDIRECTORY}/rootdir/usr/bin/gdb-dpkg" "$@"; return;; + *) CMD="$1";; + esac + shift + if [ "${CMD##*/}" = "$CMD" ]; then + CMD="${APTCMDLINEBINDIR}/${CMD}" + fi + runapt command valgrind "$CMD" "$@" +} + +lastmodification() { + date -u -d "@$(stat -c '%Y' "${TMPWORKINGDIRECTORY}/$1")" -R +} +releasefiledate() { + grep "^${2:-Date}:" "$1" | cut -d' ' -f 2- +} + +exitwithstatus() { + # error if we about to overflow, but ... + # "255 failures ought to be enough for everybody" + if [ $EXIT_CODE -gt 255 ]; then + msgdie "Total failure count $EXIT_CODE too big" + fi + exit $((EXIT_CODE <= 255 ? EXIT_CODE : 255)); +} + +shellsetedetector() { + local exit_status=$? + if [ "$exit_status" != '0' ]; then + printf >&2 "${CERROR}E: Looks like the testcases ended prematurely with exitcode: ${exit_status}${CNORMAL}\n" + if [ "$EXIT_CODE" = '0' ]; then + EXIT_CODE="$exit_status" + fi + fi +} + +addtrap() { + if [ "$1" = 'prefix' ]; then + CURRENTTRAP="$2 $CURRENTTRAP" + else + CURRENTTRAP="$CURRENTTRAP $1" + fi + trap "shellsetedetector; $CURRENTTRAP exitwithstatus;" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM +} + +escape_shell() { + echo "$@" | sed -e "s#'#'\"'\"'#g" +} + +find_project_binary_dir() { + if [ -z "$PROJECT_BINARY_DIR" ]; then + PROJECT_BINARY_DIR= + for dir in ${TESTDIRECTORY}/../../ ${TESTDIRECTORY}/../../*; do + test -e "$dir/CMakeCache.txt" || continue + if [ -z "$PROJECT_BINARY_DIR" ] || + [ "$dir/CMakeCache.txt" -nt "$PROJECT_BINARY_DIR/CMakeCache.txt" ]; then + PROJECT_BINARY_DIR="$dir" + fi + done + if [ -z "$PROJECT_BINARY_DIR" ]; then + echo "Cannot find build directory, you might want to set PROJECT_BINARY_DIR" >&2 + exit 1 + fi + export PROJECT_BINARY_DIR + fi +} +_removetmpworkingdirectory() { + cd / + if [ -n "$TMPWORKINGDIRECTORY" -a -d "$TMPWORKINGDIRECTORY" ]; then + rm -rf "$TMPWORKINGDIRECTORY" + fi + TMPWORKINGDIRECTORY='' +} +setupenvironment() { + # cleanup the environment a bit + export LC_ALL=C + unset LANGUAGE COLUMNS NLSPATH + unset APT_CONFIG DPKG_ADMINDIR DPKG_COLORS + unset DEB_CHECK_COMMAND DEB_SIGN_KEYID DEB_BUILD_OPTIONS DEB_BUILD_PROFILES + unset DH_VERBOSE DH_QUIET DH_COMPAT DH_NO_ACT DH_OPTIONS DH_EXTRA_ADDONS + unset GREP_OPTIONS POSIXLY_CORRECT + unset http_proxy HTTP_PROXY https_proxy HTTPS_PROXY no_proxy + export GCOV_ERROR_FILE=/dev/null + + # Next check needs a gnu stat, let's figure that out early. + stat=stat + if command -v gnustat >/dev/null 2>&1; then + stat=gnustat + fi + # privilege dropping and testing doesn't work if /tmp isn't world-writeable (as e.g. with libpam-tmpdir) + if [ -n "$TMPDIR" ] && [ "$(id -u)" = '0' ] && [ "$($stat --format '%a' "$TMPDIR")" != '1777' ]; then + unset TMPDIR + fi + if [ -z "$TMPWORKINGDIRECTORY" ]; then + addtrap '_removetmpworkingdirectory;' + TMPWORKINGDIRECTORY="$(mktemp -d)" + fi + if [ -n "$TMPDIR_ADD" ]; then + TMPWORKINGDIRECTORY="${TMPWORKINGDIRECTORY}/${TMPDIR_ADD}" + mkdir -p "$TMPWORKINGDIRECTORY" + unset TMPDIR_ADD + export TMPDIR="$TMPWORKINGDIRECTORY" + fi + msgninfo "Preparing environment for ${0##*/} in ${TMPWORKINGDIRECTORY}…" + + # Setup coreutils on BSD systems + mkdir "${TMPWORKINGDIRECTORY}/bin" + for prefix in gnu g; do + for command in stat touch sed cp tr sha1sum sha256sum md5sum sha512sum grep date wc chmod head readlink tar expr base64; do + if command -v $prefix$command 2>/dev/null >/dev/null; then + [ -e "${TMPWORKINGDIRECTORY}/bin/$command" ] || ln -sf $(command -v $prefix$command) "${TMPWORKINGDIRECTORY}/bin/$command" + fi + done + done + export PATH="${TMPWORKINGDIRECTORY}/bin/:$PATH" + + if [ -z "$TESTDIRECTORY" ]; then + TESTDIRECTORY="$(readlink -f "$(dirname $0)")" + fi + cd "$TMPWORKINGDIRECTORY" + + mkdir -m 700 'downloaded' + if [ "$(id -u)" = '0' ]; then + # relax permissions so that running as root with user switching works + umask 022 + chmod 711 "$TMPWORKINGDIRECTORY" + chown _apt:$(id -gn) "${TMPWORKINGDIRECTORY}/downloaded" + fi + mkdir -p 'rootdir/usr/bin' 'rootdir/var/cache' 'rootdir/var/lib' 'rootdir/var/log' 'rootdir/var/crash' 'rootdir/tmp' + + _setupprojectenvironment + + # create some files in /tmp and look at user/group to get what this means + TEST_DEFAULT_USER="$(id -un)" + touch "${TMPWORKINGDIRECTORY}/test-file" + TEST_DEFAULT_GROUP=$(stat --format '%G' "${TMPWORKINGDIRECTORY}/test-file") + + if [ -r "${TESTDIRECTORY}/extra-environment" ]; then + . "${TESTDIRECTORY}/extra-environment" + fi + + msgdone "info" +} +_setupprojectenvironment() { + # allow overriding the default BUILDDIR locations + SOURCEDIRECTORY="${APT_INTEGRATION_TESTS_SOURCE_DIR:-"${TESTDIRECTORY}/../../"}" + BUILDDIRECTORY="${APT_INTEGRATION_TESTS_BUILD_DIR:-"$(find_project_binary_dir; printf '%s' "$PROJECT_BINARY_DIR")"}" + LIBRARYPATH="${APT_INTEGRATION_TESTS_LIBRARY_PATH:-"${BUILDDIRECTORY}/apt-pkg"}" + METHODSDIR="${APT_INTEGRATION_TESTS_METHODS_DIR:-"${BUILDDIRECTORY}/methods"}" + APTHELPERBINDIR="${APT_INTEGRATION_TESTS_LIBEXEC_DIR:-"${BUILDDIRECTORY}/cmdline"}" + APTTESTHELPERSBINDIR="${APT_INTEGRATION_TESTS_HELPERS_BIN_DIR:-"${BUILDDIRECTORY}/test/interactive-helper"}" + APTFTPARCHIVEBINDIR="${APT_INTEGRATION_TESTS_FTPARCHIVE_BIN_DIR:-"${BUILDDIRECTORY}/ftparchive"}" + APTCMDLINEBINDIR="${APT_INTEGRATION_TESTS_CMDLINE_BIN_DIR:-"${BUILDDIRECTORY}/cmdline"}" + APTINTERNALSOLVER="${APT_INTEGRATION_TESTS_INTERNAL_SOLVER:-"${APTCMDLINEBINDIR}/solvers/apt"}" + APTDUMPSOLVER="${APT_INTEGRATION_TESTS_DUMP_SOLVER:-"${APTCMDLINEBINDIR}/solvers/dump"}" + APTINTERNALPLANNER="${APT_INTEGRATION_TESTS_INTERNAL_PLANNER:-"${APTCMDLINEBINDIR}/planners/apt"}" + ARTIFACTSDIR="${APT_INTEGRATION_TESTS_ARTIFACTS_DIR:-"${BUILDDIRECTORY}/artifacts"}" + test -x "${APTCMDLINEBINDIR}/apt-get" || msgdie 'You need to build tree first' + + echo "#x-apt-configure-index \"${SOURCEDIRECTORY}/doc/examples/configure-index\";" > aptconfig.conf + mkdir aptarchive keys + cd rootdir + mkdir -p etc/apt/apt.conf.d etc/apt/sources.list.d etc/apt/trusted.gpg.d etc/apt/preferences.d + mkdir -p var/lib/dpkg/info var/lib/dpkg/updates var/lib/dpkg/triggers + mkdir -p usr/lib/apt/solvers usr/lib/apt/planners + touch var/lib/dpkg/available var/lib/dpkg/lock + echo '1' > var/lib/dpkg/info/format + ln -s "${METHODSDIR}" usr/lib/apt/methods + ln -s "${APTDUMPSOLVER}" usr/lib/apt/solvers/dump + ln -s "${APTDUMPSOLVER}" usr/lib/apt/planners/dump + ln -s "${APTINTERNALSOLVER}" usr/lib/apt/solvers/apt + ln -s "${APTINTERNALPLANNER}" usr/lib/apt/planners/apt + echo "Dir::Bin::Solvers \"${TMPWORKINGDIRECTORY}/rootdir/usr/lib/apt/solvers\";" >> ../aptconfig.conf + echo "Dir::Bin::Planners \"${TMPWORKINGDIRECTORY}/rootdir/usr/lib/apt/planners\";" >> ../aptconfig.conf + # use the autoremove from the BUILDDIRECTORY if its there, otherwise system + if [ -z "${APT_INTEGRATION_TESTS_SOURCE_DIR}" ]; then + ln -s "${SOURCEDIRECTORY}/debian/apt.conf.autoremove" etc/apt/apt.conf.d/01autoremove + else + ln -s /etc/apt/apt.conf.d/01autoremove etc/apt/apt.conf.d/01autoremove + fi + cd .. + local BASENAME="${0##*/}" + local PACKAGESFILE="Packages-${BASENAME#*-}" + if [ -f "${TESTDIRECTORY}/${PACKAGESFILE}" ]; then + cp "${TESTDIRECTORY}/${PACKAGESFILE}" aptarchive/Packages + fi + local SOURCESSFILE="Sources-${BASENAME#*-}" + if [ -f "${TESTDIRECTORY}/${SOURCESSFILE}" ]; then + cp "${TESTDIRECTORY}/${SOURCESSFILE}" aptarchive/Sources + fi + find "$TESTDIRECTORY" \( -name '*.pub' -o -name '*.sec' \) -exec cp '{}' keys/ \; + chmod 644 keys/* + ln -s "${TMPWORKINGDIRECTORY}/keys/joesixpack.pub" rootdir/etc/apt/trusted.gpg.d/joesixpack.gpg + + echo "Dir \"${TMPWORKINGDIRECTORY}/rootdir\";" >> aptconfig.conf + echo "Dir::Etc \"etc\";" >> aptconfig.conf + echo "Dir::State \"var/lib/apt\";" >> aptconfig.conf + echo "Dir::Cache \"var/cache/apt\";" >> aptconfig.conf + echo "Dir::Etc \"etc/apt\";" >> aptconfig.conf + echo "Dir::Log \"var/log/apt\";" >> aptconfig.conf + echo "APT::Get::Show-User-Simulation-Note \"false\";" >> aptconfig.conf + echo "Dir::Bin::Methods \"${TMPWORKINGDIRECTORY}/rootdir/usr/lib/apt/methods\";" >> aptconfig.conf + # either store apt-key were we can access it, even if we run it as a different user + #cp "${APTCMDLINEBINDIR}/apt-key" "${TMPWORKINGDIRECTORY}/rootdir/usr/bin/" + #chmod o+rx "${TMPWORKINGDIRECTORY}/rootdir/usr/bin/apt-key" + #echo "Dir::Bin::apt-key \"${TMPWORKINGDIRECTORY}/rootdir/usr/bin/apt-key\";" >> aptconfig.conf + # destroys coverage reporting though, so we disable changing user for the calling gpgv + echo "Dir::Bin::apt-key \"${APTCMDLINEBINDIR}/apt-key\";" >> aptconfig.conf + if [ "$(id -u)" = '0' ]; then + echo 'Binary::gpgv::APT::Sandbox::User "root";' >> aptconfig.conf + # same for the solver executables + echo 'APT::Solver::RunAsUser "root";' >> aptconfig.conf + echo 'APT::Planner::RunAsUser "root";' >> aptconfig.conf + fi + + cat > "${TMPWORKINGDIRECTORY}/rootdir/usr/bin/dpkg" <<EOF +#!/bin/sh +set -e +if [ -r '${TMPWORKINGDIRECTORY}/noopchroot.so' ]; then + if [ -n "\$LD_LIBRARY_PATH" ]; then + export LD_LIBRARY_PATH='${TMPWORKINGDIRECTORY}:'"\${LD_LIBRARY_PATH}" + else + export LD_LIBRARY_PATH='${TMPWORKINGDIRECTORY}' + fi + if [ -n "\$LD_PRELOAD" ]; then + export LD_PRELOAD="noopchroot.so \${LD_PRELOAD}" + else + export LD_PRELOAD="noopchroot.so" + fi +fi +EXEC='exec' +EOF + cp "${TMPWORKINGDIRECTORY}/rootdir/usr/bin/dpkg" "${TMPWORKINGDIRECTORY}/rootdir/usr/bin/gdb-dpkg" + local DPKG_VERSION="$(command dpkg-query --showformat '${VERSION}' --show dpkg)" + if command dpkg --compare-versions "${DPKG_VERSION}" '<<' '1.21.0'; then + cat >> "${TMPWORKINGDIRECTORY}/rootdir/usr/bin/dpkg" <<EOF +dpkg_assert_call() { + while [ -n "\$1" ]; do + if [ "\${1#*--assert-}" != "\$1" ]; then return 0; fi + if [ "\$1" = '--' ]; then break; fi + shift + done + return 1 +} +if dpkg_assert_call "\$@" && ! command dpkg-checkbuilddeps --admindir='${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg' -d 'dpkg' /dev/null >/dev/null 2>&1; then + EXEC='' + ORIGINAL="${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status" + BACKUP="${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status.apt-backup" + restoredpkgstatus() { + if [ -n "\$BACKUP" ]; then + if [ -e "\$BACKUP" ]; then + mv -f "\$BACKUP" "\$ORIGINAL" + else + rm -f "\$ORIGINAL" + fi + BACKUP='' + fi + } + trap "restoredpkgstatus;" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM + if [ -e "\$ORIGINAL" ]; then + cp -a "\$ORIGINAL" "\$BACKUP" + fi + cat >> "${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status" << EOS + +Package: dpkg +Architecture: all +Version: ${DPKG_VERSION}+fake +Status: install ok installed +Maintainer: Joe Sixpack <joe@example.org> +Installed-Size: 42 +Description: tells dpkg it supports what we need + Some versions of dpkg check its own version from the status file + to know if it supports multi-arch and stuff in --assert-*. + +EOS +fi +EOF + fi + cat >> "${TMPWORKINGDIRECTORY}/rootdir/usr/bin/dpkg" <<EOF +\$EXEC fakeroot '${DPKG:-dpkg}' --root='${TMPWORKINGDIRECTORY}/rootdir' \\ + --admindir="${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg" \\ + --log='${TMPWORKINGDIRECTORY}/rootdir/var/log/dpkg.log' \\ + --force-not-root --force-bad-path "\$@" +EOF + cat >> "${TMPWORKINGDIRECTORY}/rootdir/usr/bin/gdb-dpkg" <<EOF +exec fakeroot gdb --quiet -ex run '${DPKG:-dpkg}' --args '${DPKG:-dpkg}' --root='${TMPWORKINGDIRECTORY}/rootdir' \\ + --admindir="${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg" \\ + --log='${TMPWORKINGDIRECTORY}/rootdir/var/log/dpkg.log' \\ + --force-not-root --force-bad-path "\$@" +EOF + chmod +x "${TMPWORKINGDIRECTORY}/rootdir/usr/bin/dpkg" "${TMPWORKINGDIRECTORY}/rootdir/usr/bin/gdb-dpkg" + echo "Dir::Bin::dpkg \"${TMPWORKINGDIRECTORY}/rootdir/usr/bin/dpkg\";" > rootdir/etc/apt/apt.conf.d/99dpkg + + { + echo 'quiet "0";' + echo 'quiet::NoUpdate "true";' + echo 'quiet::NoStatistic "true";' + # too distracting for users, but helpful to detect changes + echo 'Acquire::Progress::Ignore::ShowErrorText "true";' + echo 'Acquire::Progress::Diffpercent "true";' + # in testcases, it can appear as if localhost has a rotation setup, + # hide this as we can't really deal with it properly + echo 'Acquire::Failure::ShowIP "false";' + # randomess and tests don't play well together + echo 'Acquire::IndexTargets::Randomized "false";' + # fakeroot can't fake everything, so disabled in production but good for tests + echo 'APT::Sandbox::Verify "true";' + } >> aptconfig.conf + + cp "${TESTDIRECTORY}/apt.pem" "${TMPWORKINGDIRECTORY}/rootdir/etc/webserver.pem" + if [ "$(id -u)" = '0' ]; then + chown _apt:$(id -gn) "${TMPWORKINGDIRECTORY}/rootdir/etc/webserver.pem" + fi + echo "Acquire::https::CaInfo \"${TMPWORKINGDIRECTORY}/rootdir/etc/webserver.pem\";" > rootdir/etc/apt/apt.conf.d/99https + echo "Apt::Cmd::Disable-Script-Warning \"1\";" > rootdir/etc/apt/apt.conf.d/apt-binary + export APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE=no + echo 'Acquire::Connect::AddrConfig "false";' > rootdir/etc/apt/apt.conf.d/connect-addrconfig + # Allow release files to be 10 hours in the future, rather than 10 seconds + echo 'Acquire::Max-FutureTime "'$((10 * 60 * 60))'";' > rootdir/etc/apt/apt.conf.d/future-time + + echo 'APT::Machine-ID "912e43bd1c1d4ba481f9f8ccab25f9ee";' > rootdir/etc/apt/apt.conf.d/machine-id + + configcompression '.' 'gz' #'bz2' 'lzma' 'xz' + confighashes 'SHA256' # these are tests, not security best-practices + + # Make dpkg inherit testing path + echo 'DPkg::Path "";' >> aptconfig.conf + echo 'Dir::Bin::ischroot "/bin/false";' >> aptconfig.conf + + # If gpgv supports --weak-digest, pass it to make sure we can disable SHA1 + if aptkey verify --weak-digest SHA1 --help 2>/dev/null >/dev/null; then + echo 'Acquire::gpgv::Options { "--weak-digest"; "sha1"; };' > rootdir/etc/apt/apt.conf.d/no-sha1 + fi + + # most tests just need one signed Release file, not both + export APT_DONT_SIGN='Release.gpg' + + # prefer our apt binaries over the system apt binaries + export PATH="${APTCMDLINEBINDIR}:${PATH}:/usr/sbin:/sbin" +} + +getarchitecture() { + if [ "$1" = "native" -o -z "$1" ]; then + eval `aptconfig shell ARCH APT::Architecture` + if [ -n "$ARCH" ]; then + echo $ARCH + else + dpkg --print-architecture + fi + else + echo $1 + fi +} + +getarchitectures() { + aptconfig dump --no-empty --format '%v%n' APT::Architecture APT::Architectures | sort -u | tr '\n' ' ' +} + +getarchitecturesfromcommalist() { + echo "$1" | sed -e 's#,#\n#g' | sed -e "s/^native\$/$(getarchitecture 'native')/" +} + +configarchitecture() { + { + echo "APT::Architecture \"$(getarchitecture $1)\";" + while [ -n "$1" ]; do + echo "APT::Architectures:: \"$(getarchitecture $1)\";" + shift + done + } >rootdir/etc/apt/apt.conf.d/01multiarch.conf + configdpkg +} + +configdpkg() { + if [ ! -e rootdir/var/lib/dpkg/status ]; then + local BASENAME="${0##*/}" + local STATUSFILE="status-${BASENAME#*-}" + if [ -f "${TESTDIRECTORY}/${STATUSFILE}" ]; then + cp "${TESTDIRECTORY}/${STATUSFILE}" rootdir/var/lib/dpkg/status + # Add an empty line to the end if there is none + if tail -1 rootdir/var/lib/dpkg/status | grep -q .; then + echo >> rootdir/var/lib/dpkg/status + fi + fi + fi + rm -f rootdir/etc/apt/apt.conf.d/00foreigndpkg + if dpkg --assert-multi-arch >/dev/null 2>&1 ; then + local ARCHS="$(getarchitectures)" + local DPKGARCH="$(dpkg --print-architecture)" + # this ensures that even if multi-arch isn't active in the view + # of apt, given that dpkg can't be told which arch is native + # the arch apt treats as native might be foreign for dpkg + for ARCH in ${ARCHS}; do + if [ "${ARCH}" != "${DPKGARCH}" ]; then + if ! dpkg --add-architecture ${ARCH} >rootdir/tmp/dpkgaddarch.output 2>&1; then + if grep -q 'pkg-config-dpkghook' rootdir/tmp/dpkgaddarch.output; then + msgwarn 'Ignoring failure of dpkg --add-architecture as it is likely due to pkg-config-dpkghook (see #824774)' + else + # old-style used e.g. in Ubuntu-P – and as it seems travis + echo "DPKG::options:: \"--foreign-architecture\";" >> rootdir/etc/apt/apt.conf.d/00foreigndpkg + echo "DPKG::options:: \"${ARCH}\";" >> rootdir/etc/apt/apt.conf.d/00foreigndpkg + fi + fi + fi + done + else + # test multiarch before dpkg is ready for it… + echo "DPKG::options:: \"--force-architecture\";" > rootdir/etc/apt/apt.conf.d/00foreigndpkg + fi +} + +configdpkgnoopchroot() { + # create a library to noop chroot() and rewrite maintainer script executions + # via execvp() as used by dpkg as we don't want our rootdir to be a fullblown + # chroot directory dpkg could chroot into to execute the maintainer scripts + msgtest 'Building library to preload to make maintainerscript work in' 'dpkg' + cat > noopchroot.c << EOF +#define _GNU_SOURCE +#include <stdio.h> +#include <stdlib.h> +#include <string.h> +#include <dlfcn.h> + +static char * chrootdir = NULL; + +int chroot(const char *path) { + printf("WARNING: CHROOTing to %s was ignored!\n", path); + free(chrootdir); + chrootdir = strdup(path); + return 0; +} +int execvp(const char *file, char *const argv[]) { + static int (*func_execvp) (const char *, char * const []) = NULL; + if (func_execvp == NULL) + func_execvp = (int (*) (const char *, char * const [])) dlsym(RTLD_NEXT, "execvp"); + if (chrootdir == NULL || strncmp(file, "/var/lib/dpkg/", strlen("/var/lib/dpkg/")) != 0) + return func_execvp(file, argv); + printf("REWRITE execvp call %s into %s\n", file, chrootdir); + char *newfile; + if (asprintf(&newfile, "%s%s", chrootdir, file) == -1) { + perror("asprintf"); + return -1; + } + char const * const baseadmindir = "/var/lib/dpkg"; + char *admindir; + if (asprintf(&admindir, "%s%s", chrootdir, baseadmindir) == -1) { + perror("asprintf"); + return -1; + } + setenv("DPKG_ADMINDIR", admindir, 1); + return func_execvp(newfile, argv); +} +EOF + if cc -ldl 2>&1 | grep -q dl; then + testempty --nomsg cc -Wall -Wextra -fPIC -shared -o noopchroot.so noopchroot.c + else + testempty --nomsg cc -Wall -Wextra -fPIC -shared -o noopchroot.so noopchroot.c -ldl + fi +} +configcompression() { + if [ "$1" = 'ALL' ]; then + configcompression '.' $(aptconfig dump APT::Compressor --format '%t %v%n' | sed -n 's#^Extension \.\(.*\)$#\1#p') + return + fi + local CMD='apthelper cat-file -C' + while [ -n "$1" ]; do + case "$1" in + '.') printf ".\t.\tcat\n";; + 'gz') printf "gzip\tgz\t$CMD $1\n";; + 'bz2') printf "bzip2\tbz2\t$CMD $1\n";; + 'zst') printf "zstd\tzst\t$CMD $1\n";; + *) printf "$1\t$1\t$CMD $1\n";; + esac + shift + done > "${TMPWORKINGDIRECTORY}/rootdir/etc/testcase-compressor.conf" +} +confighashes() { + { + echo 'APT::FTPArchive {' + { + while [ -n "$1" ]; do + printf "$1" | tr 'a-z' 'A-Z' + printf "\t\"true\";\n" + shift + done + for h in 'MD5' 'SHA1' 'SHA256' 'SHA512'; do + printf "$h\t\"false\";\n" + done + } | awk '!x[$1]++' + echo '};' + } >> "${TMPWORKINGDIRECTORY}/rootdir/etc/apt/apt.conf.d/ftparchive-hashes.conf" +} +forcecompressor() { + COMPRESSOR="$1" + COMPRESS="$1" + COMPRESSOR_CMD="apthelper cat-file -C $1" + case $COMPRESSOR in + gzip) COMPRESS='gz';; + bzip2) COMPRESS='bz2';; + zstd) COMPRESS='zst';; + esac + local CONFFILE="${TMPWORKINGDIRECTORY}/rootdir/etc/apt/apt.conf.d/00force-compressor" + echo "Acquire::CompressionTypes::Order { \"${COMPRESS}\"; }; +Dir::Bin::uncompressed \"/does/not/exist\";" > "$CONFFILE" + for COMP in $(aptconfig dump 'APT::Compressor' --format '%f%n' | cut -d':' -f 5 | uniq); do + if [ -z "$COMP" -o "$COMP" = '.' -o "$COMP" = "$COMPRESSOR" ]; then continue; fi + echo "Dir::Bin::${COMP} \"/does/not/exist\";" >> "$CONFFILE" + echo "APT::Compressor::${COMP}::Name \"${COMP}-disabled\";" >> "$CONFFILE" + done +} + +_setupsimplenativepackage() { + local NAME="$1" + local ARCH="$2" + local VERSION="$3" + local RELEASE="${4:-unstable}" + local DEPENDENCIES="$5" + local DESCRIPTION="${6:-an autogenerated dummy ${NAME}=${VERSION}/${RELEASE} + If you find such a package installed on your system, + something went horribly wrong! They are autogenerated + and used only by testcases and serve no other purpose…}" + + local SECTION="${7:-others}" + local PRIORITY="${8:-optional}" + local FILE_TREE="$9" + local COMPRESS_TYPE="${10:-gzip}" + local DISTSECTION + if [ "$SECTION" = "${SECTION#*/}" ]; then + DISTSECTION="main" + else + DISTSECTION="${SECTION%/*}" + fi + local BUILDDIR="${TMPWORKINGDIRECTORY}/incoming/${NAME}-${VERSION}" + + mkdir -p "$BUILDDIR/debian/source" + echo "* most suckless software product ever" > "${BUILDDIR}/FEATURES" + echo "#!/bin/sh +echo '$NAME says \"Hello!\"'" > "${BUILDDIR}/${NAME}" + + echo "Copyleft by Joe Sixpack $(date -u +%Y)" > "${BUILDDIR}/debian/copyright" + echo "$NAME ($VERSION) $RELEASE; urgency=low + + * Initial release + + -- Joe Sixpack <joe@example.org> $(date -u -R)" > "${BUILDDIR}/debian/changelog" + { + echo "Source: $NAME +Priority: $PRIORITY +Maintainer: Joe Sixpack <joe@example.org> +Standards-Version: 4.3.1 +Rules-Requires-Root: no" + if [ "$SECTION" != '<none>' ]; then + echo "Section: $SECTION" + fi + local BUILDDEPS="$(printf "%b\n" "$DEPENDENCIES" | grep '^Build-')" + test -z "$BUILDDEPS" || echo "$BUILDDEPS" + echo " +Package: $NAME" + + if [ "$ARCH" = 'all' ]; then + echo "Architecture: all" + else + echo "Architecture: any" + fi + local DEPS="$(printf "%b\n" "$DEPENDENCIES" | grep -v '^Build-')" + test -z "$DEPS" || echo "$DEPS" + printf "%b\n" "Description: $DESCRIPTION" + } > "${BUILDDIR}/debian/control" + + echo '3.0 (native)' > "${BUILDDIR}/debian/source/format" +} + +make_tiny_rules() { + local OUT="$1" + if command -v gmake >/dev/null 2>&1; then + [ -e ${TMPWORKINGDIRECTORY}/bin/make ] || ln -s $(command -v gmake) ${TMPWORKINGDIRECTORY}/bin/make + echo "#!${TMPWORKINGDIRECTORY}/bin/make -f" > "$OUT" + else + echo '#!/usr/bin/make -f' > "$OUT" + fi + echo '%:' >> "$OUT" + echo ' dh $@' >> "$OUT" +} + +setupsimplenativepackage() { + _setupsimplenativepackage "$@" + local NAME="$1" + local VERSION="$3" + local BUILDDIR="${TMPWORKINGDIRECTORY}/incoming/${NAME}-${VERSION}" + test -e "${BUILDDIR}/debian/compat" || echo '10' > "${BUILDDIR}/debian/compat" + test -e "${BUILDDIR}/debian/rules" || make_tiny_rules "${BUILDDIR}/debian/rules" +} + +buildsimplenativepackage() { + local NAME="$1" + local ARCH="$2" + local VERSION="$3" + local RELEASE="${4:-unstable}" + local DEPENDENCIES="$5" + local DESCRIPTION="$6" + local SECTION="${7:-others}" + local PRIORITY="${8:-optional}" + local FILE_TREE="$9" + local COMPRESS_TYPE="${10:-gzip}" + local DISTSECTION + if [ "$SECTION" = "${SECTION#*/}" ]; then + DISTSECTION="main" + else + DISTSECTION="${SECTION%/*}" + fi + local BUILDDIR="${TMPWORKINGDIRECTORY}/incoming/${NAME}-${VERSION}" + msgtest "Build source package in version ${VERSION} for ${RELEASE} in ${DISTSECTION}" "$NAME" + _setupsimplenativepackage "$@" + cd "${BUILDDIR}/.." + testsuccess --nomsg dpkg-source -b ${NAME}-${VERSION} + cd - >/dev/null + sed -n 's#^dpkg-source: info: building [^ ]\+ in ##p' "${TMPWORKINGDIRECTORY}/rootdir/tmp/testsuccess.output" \ + | while read SRC; do + echo "pool/${SRC}" >> "${BUILDDIR}/../${RELEASE}.${DISTSECTION}.srclist" +# if expr match "${SRC}" '.*\.dsc' >/dev/null 2>&1; then +# aptkey --keyring ./keys/joesixpack.pub --secret-keyring ./keys/joesixpack.sec --quiet --readonly \ +# adv --yes --default-key 'Joe Sixpack' \ +# --clearsign -o "${BUILDDIR}/../${SRC}.sign" "${BUILDDIR}/../$SRC" +# mv "${BUILDDIR}/../${SRC}.sign" "${BUILDDIR}/../$SRC" +# fi + done + + for arch in $(getarchitecturesfromcommalist "$ARCH"); do + msgtest "Build binary package for ${RELEASE} in ${SECTION}" "$NAME" + rm -rf "${BUILDDIR}/debian/tmp" + mkdir -p "${BUILDDIR}/debian/tmp/DEBIAN" "${BUILDDIR}/debian/tmp/usr/share/doc/${NAME}" "${BUILDDIR}/debian/tmp/usr/bin" + cp "${BUILDDIR}/debian/copyright" "${BUILDDIR}/debian/changelog" "${BUILDDIR}/FEATURES" "${BUILDDIR}/debian/tmp/usr/share/doc/${NAME}" + cp "${BUILDDIR}/${NAME}" "${BUILDDIR}/debian/tmp/usr/bin/${NAME}-${arch}" + if [ -n "$FILE_TREE" ]; then + cp -ar "$FILE_TREE" "${BUILDDIR}/debian/tmp" + fi + + (cd "${BUILDDIR}"; dpkg-gencontrol -DArchitecture=$arch) + (cd "${BUILDDIR}/debian/tmp"; md5sum $(find usr/ -type f) > DEBIAN/md5sums) + local LOG="${BUILDDIR}/../${NAME}_${VERSION}_${arch}.dpkg-deb.log" + # ensure the right permissions as dpkg-deb insists + chmod 755 "${BUILDDIR}/debian/tmp/DEBIAN" + testsuccess --nomsg dpkg-deb -Z${COMPRESS_TYPE} --build "${BUILDDIR}/debian/tmp" "${BUILDDIR}/.." + echo "pool/${NAME}_${VERSION}_${arch}.deb" >> "${BUILDDIR}/../${RELEASE}.${DISTSECTION}.pkglist" + done + + local NM + if [ "$(echo "$NAME" | cut -c 1-3)" = 'lib' ]; then + NM="$(echo "$NAME" | cut -c 1-4)" + else + NM="$(echo "$NAME" | cut -c 1)" + fi + local CHANGEPATH="${BUILDDIR}/../${DISTSECTION}/${NM}/${NAME}/${NAME}_${VERSION}" + mkdir -p "$CHANGEPATH" + cp "${BUILDDIR}/debian/changelog" "$CHANGEPATH" + rm -rf "${BUILDDIR}" + msgdone "info" +} + +buildpackage() { + local BUILDDIR=$1 + local RELEASE=$2 + local SECTION=$3 + local ARCH=$(getarchitecture $4) + local PKGNAME="$(echo "$BUILDDIR" | grep -o '[^/]*$')" + local BUILDLOG="$(readlink -f "${BUILDDIR}/../${PKGNAME}_${RELEASE}_${SECTION}.dpkg-bp.log")" + msgtest "Build package for ${RELEASE} in ${SECTION}" "$PKGNAME" + cd "$BUILDDIR" + if [ "$ARCH" = "all" ]; then + ARCH="$(dpkg-architecture -qDEB_HOST_ARCH 2> /dev/null)" + fi + testsuccess --nomsg dpkg-buildpackage -uc -us -a$ARCH -d + cp "${TMPWORKINGDIRECTORY}/rootdir/tmp/testsuccess.output" "$BUILDLOG" + local PKGS="$(grep '^dpkg-deb: building package' "$BUILDLOG" | cut -d'/' -f 2 | sed -e "s#'\.##")" + local SRCS="$(grep '^dpkg-source: info: building' "$BUILDLOG" | grep -o '[a-z0-9._+~-]*$')" + cd - > /dev/null + for PKG in $PKGS; do + echo "pool/${PKG}" >> "${TMPWORKINGDIRECTORY}/incoming/${RELEASE}.${SECTION}.pkglist" + done + for SRC in $SRCS; do + echo "pool/${SRC}" >> "${TMPWORKINGDIRECTORY}/incoming/${RELEASE}.${SECTION}.srclist" + done +} + +buildaptarchive() { + if [ -d incoming ]; then + buildaptarchivefromincoming "$@" + else + buildaptarchivefromfiles "$@" + fi +} + +createaptftparchiveconfig() { + local COMPRESSORS="$(cut -d' ' -f 1 "${TMPWORKINGDIRECTORY}/rootdir/etc/testcase-compressor.conf" | tr '\n' ' ')" + local COMPRESSORS="${COMPRESSORS%* }" + local ARCHS="$(getarchitectures)" + cat > ftparchive.conf <<EOF +Dir { + ArchiveDir "$(readlink -f .)"; + CacheDir "$(readlink -f ..)"; + FileListDir "$(readlink -f pool/)"; +}; +Default { + Packages::Compress "$COMPRESSORS"; + Sources::Compress "$COMPRESSORS"; + Contents::Compress "$COMPRESSORS"; + Translation::Compress "$COMPRESSORS"; + LongDescription "false"; +}; +TreeDefault { + Directory "pool/"; + SrcDirectory "pool/"; +}; +EOF + for DIST in $(find ./pool/ -maxdepth 1 -name '*.pkglist' -type f | cut -d'/' -f 3 | cut -d'.' -f 1 | sort | uniq); do + cat <<EOF +tree "dists/$DIST" { + Architectures "$ARCHS all source"; + FileList "${DIST}.\$(SECTION).pkglist"; + SourceFileList "${DIST}.\$(SECTION).srclist"; + Sections "$(find ./pool/ -maxdepth 1 -name "${DIST}.*.pkglist" -type f | cut -d'/' -f 3 | cut -d'.' -f 2 | sort | uniq | tr '\n' ' ')"; +}; +EOF + done >> ftparchive.conf +} + +buildaptftparchivedirectorystructure() { + local DISTS="$(grep -i '^tree ' ftparchive.conf | cut -d'/' -f 2 | sed -e 's#".*##')" + for DIST in $DISTS; do + local SECTIONS="$(grep -i -A 5 "dists/$DIST" ftparchive.conf | grep -i 'Sections' | cut -d'"' -f 2)" + for SECTION in $SECTIONS; do + local ARCHS="$(grep -A 5 "dists/$DIST" ftparchive.conf | grep Architectures | cut -d'"' -f 2 | sed -e 's#source##')" + for ARCH in $ARCHS; do + mkdir -p "dists/${DIST}/${SECTION}/binary-${ARCH}" + done + mkdir -p "dists/${DIST}/${SECTION}/source" + mkdir -p "dists/${DIST}/${SECTION}/i18n" + done + done +} + +insertpackage() { + local RELEASES="$1" + local NAME="$2" + local ARCH="$3" + local VERSION="$4" + local DEPENDENCIES="$5" + local PRIORITY="${6:-optional}" + local DESCRIPTION="${7:-an autogenerated dummy ${NAME}=${VERSION}/${RELEASES} + If you find such a package installed on your system, + something went horribly wrong! They are autogenerated + and used only by testcases and serve no other purpose…}" + local SECTION="${8:-other}" + + if [ "$SECTION" = "${SECTION#*/}" ]; then + DISTSECTION="main" + else + DISTSECTION="${SECTION%/*}" + fi + local ARCHS="" + for RELEASE in $(printf '%s' "$RELEASES" | tr ',' '\n'); do + if [ "$RELEASE" = 'installed' ]; then + insertinstalledpackage "$2" "$3" "$4" "$5" "$6" "$7" "$8" + continue + fi + for arch in $(getarchitecturesfromcommalist "$ARCH"); do + if [ "$arch" = 'none' ]; then + ARCHS="$(getarchitectures)" + else + ARCHS="$arch" + fi + for BUILDARCH in $ARCHS; do + local PPATH="aptarchive/dists/${RELEASE}/${DISTSECTION}/binary-${BUILDARCH}" + mkdir -p "$PPATH" + { + echo "Package: $NAME +Priority: $PRIORITY +Section: $SECTION +Installed-Size: 42 +Size: 42" + if echo "$DEPENDENCIES" | grep -q SHA256:; then + : + else + echo "SHA256: 0000000000000000000000000000000000000000000000000000000000000000" + fi + echo "Maintainer: Joe Sixpack <joe@example.org>" + test "$arch" = 'none' || echo "Architecture: $arch" + echo "Version: $VERSION +Filename: pool/${DISTSECTION}/${NAME}/${NAME}_${VERSION}_${arch}.deb" + test -z "$DEPENDENCIES" || printf "%b\n" "$DEPENDENCIES" + echo "Description: $(printf '%s' "$DESCRIPTION" | head -n 1)" + echo "Description-md5: $(printf '%s' "$DESCRIPTION" | md5sum | cut -d' ' -f 1)" + echo + } >> "${PPATH}/Packages" + done + done + mkdir -p "aptarchive/dists/${RELEASE}/${DISTSECTION}/source" "aptarchive/dists/${RELEASE}/${DISTSECTION}/i18n" + touch "aptarchive/dists/${RELEASE}/${DISTSECTION}/source/Sources" + echo "Package: $NAME +Description-md5: $(printf '%s' "$DESCRIPTION" | md5sum | cut -d' ' -f 1) +Description-en: $DESCRIPTION +" >> "aptarchive/dists/${RELEASE}/${DISTSECTION}/i18n/Translation-en" + done +} + +insertsource() { + local RELEASES="$1" + local NAME="$2" + local ARCH="$3" + local VERSION="$4" + local DEPENDENCIES="$5" + local BINARY="${6:-$NAME}" + local ARCHS="" + for RELEASE in $(printf '%s' "$RELEASES" | tr ',' '\n'); do + local SPATH="aptarchive/dists/${RELEASE}/main/source" + mkdir -p $SPATH + local FILE="${SPATH}/Sources" + local DSCFILE="${NAME}_${VERSION}.dsc" + local TARFILE="${NAME}_${VERSION}.tar.gz" + echo "Package: $NAME +Binary: $BINARY +Version: $VERSION +Maintainer: Joe Sixpack <joe@example.org> +Architecture: $ARCH" >> $FILE + test -z "$DEPENDENCIES" || printf "%b\n" "$DEPENDENCIES" >> "$FILE" + echo "Files: + $(echo -n "$DSCFILE" | md5sum | cut -d' ' -f 1) $(echo -n "$DSCFILE" | wc -c) "$DSCFILE" + $(echo -n "$TARFILE" | md5sum | cut -d' ' -f 1) $(echo -n "$TARFILE" | wc -c) "$TARFILE" +Checksums-Sha256: + $(echo -n "$DSCFILE" | sha256sum | cut -d' ' -f 1) $(echo -n "$DSCFILE" | wc -c) "$DSCFILE" + $(echo -n "$TARFILE" | sha256sum | cut -d' ' -f 1) $(echo -n "$TARFILE" | wc -c) "$TARFILE" +" >> "$FILE" + done +} + +insertinstalledpackage() { + local NAME="$1" + local ARCH="$2" + local VERSION="$3" + local DEPENDENCIES="$4" + local PRIORITY="${5:-optional}" + local STATUS="${6:-install ok installed}" + local DESCRIPTION="${7:-an autogenerated dummy ${NAME}=${VERSION}/installed + If you find such a package installed on your system, + something went horribly wrong! They are autogenerated + and used only by testcases and serve no other purpose…}" + local SECTION="${8:-other}" + + local FILE='rootdir/var/lib/dpkg/status' + local INFO='rootdir/var/lib/dpkg/info' + for arch in $(getarchitecturesfromcommalist "$ARCH"); do + echo "Package: $NAME +Status: $STATUS +Priority: $PRIORITY +Section: $SECTION +Installed-Size: 42 +Maintainer: Joe Sixpack <joe@example.org> +Version: $VERSION" >> "$FILE" + test "$arch" = 'none' || echo "Architecture: $arch" >> "$FILE" + test -z "$DEPENDENCIES" || printf "%b\n" "$DEPENDENCIES" >> "$FILE" + printf "%b\n" "Description: $DESCRIPTION" >> "$FILE" + echo >> "$FILE" + if [ "$(dpkgquery -W --showformat='${Multi-Arch}' "${NAME}:${arch}" 2>/dev/null)" = 'same' ]; then + echo -n > "${INFO}/${NAME}:${arch}.list" + echo -n > "${INFO}/${NAME}:${arch}.md5sums" + else + echo -n > "${INFO}/${NAME}.list" + echo -n > "${INFO}/${NAME}.md5sums" + fi + done +} + + +buildaptarchivefromincoming() { + msginfo "Build APT archive for ${CCMD}${0##*/}${CINFO} based on incoming packages…" + cd aptarchive + [ -e pool ] || ln -s ../incoming pool + [ -e ftparchive.conf ] || createaptftparchiveconfig + [ -e dists ] || buildaptftparchivedirectorystructure + msgninfo "\tGenerate Packages, Sources and Contents files… " + testsuccess aptftparchive generate ftparchive.conf + cd - > /dev/null + msgdone "info" + generatereleasefiles "$@" +} + +buildaptarchivefromfiles() { + msginfo "Build APT archive for ${CCMD}${0##*/}${CINFO} based on prebuild files…" + local DIR='aptarchive' + if [ -d "${DIR}/dists" ]; then DIR="${DIR}/dists"; fi + find "$DIR" -name 'Packages' -o -name 'Sources' -o -name 'Translation-*' | while read line; do + msgninfo "\t${line} file… " + compressfile "$line" "$1" + msgdone "info" + done + generatereleasefiles "$@" +} + +compressfile() { + while read compressor extension command; do + if [ "$compressor" = '.' ]; then + if [ -n "$2" ]; then + touch -d "$2" "$1" + fi + continue + fi + cat "$1" | $command > "${1}.${extension}" + if [ -n "$2" ]; then + touch -d "$2" "${1}.${extension}" + fi + done < "${TMPWORKINGDIRECTORY}/rootdir/etc/testcase-compressor.conf" +} + +# can be overridden by testcases for their pleasure +getcodenamefromsuite() { + case "$1" in + unstable) echo 'sid';; + *) echo -n "$1";; + esac +} +getreleaseversionfromsuite() { true; } +getlabelfromsuite() { true; } +getoriginfromsuite() { true; } +getarchitecturesfromreleasefile() { echo "all $(getarchitectures)"; } +getnotautomaticfromsuite() { + case "$1" in + experimental|experimental2) echo "yes";; + esac +} +getbutautomaticupgradesfromsuite() { true; } + +aptftparchiverelease() { + aptftparchive -qq release "$@" | sed -e '/0 Release$/ d' # remove the self reference +} +generatereleasefiles() { + # $1 is the Date header and $2 is the ValidUntil header to be set + # both should be given in notation date/touch can understand + local DATE="$1" + local VALIDUNTIL="$2" + if [ -e aptarchive/dists ]; then + msgninfo "\tGenerate Release files for dists… " + for dir in $(find ./aptarchive/dists -mindepth 1 -maxdepth 1 -type d); do + local ARCHITECTURES="$(getarchitecturesfromreleasefile "$dir")" + local SUITE="$(echo "$dir" | cut -d'/' -f 4)" + local CODENAME="$(getcodenamefromsuite $SUITE)" + local VERSION="$(getreleaseversionfromsuite $SUITE)" + local LABEL="$(getlabelfromsuite $SUITE)" + local ORIGIN="$(getoriginfromsuite $SUITE)" + local NOTAUTOMATIC="$(getnotautomaticfromsuite $SUITE)" + local BUTAUTOMATICUPGRADES="$(getbutautomaticupgradesfromsuite $SUITE)" + aptftparchiverelease "$dir" \ + -o APT::FTPArchive::Release::Suite="${SUITE}" \ + -o APT::FTPArchive::Release::Codename="${CODENAME}" \ + -o APT::FTPArchive::Release::Architectures="${ARCHITECTURES}" \ + -o APT::FTPArchive::Release::Label="${LABEL}" \ + -o APT::FTPArchive::Release::Origin="${ORIGIN}" \ + -o APT::FTPArchive::Release::Version="${VERSION}" \ + -o APT::FTPArchive::Release::NotAutomatic="${NOTAUTOMATIC}" \ + -o APT::FTPArchive::Release::ButAutomaticUpgrades="${BUTAUTOMATICUPGRADES}" \ + > "$dir/Release" + done + else + msgninfo "\tGenerate Release files for flat… " + aptftparchiverelease ./aptarchive > aptarchive/Release + fi + if [ -n "$VALIDUNTIL" ]; then + sed -i "/^Date: / a\ +Valid-Until: $(date -u -d "$VALIDUNTIL" -R)" $(find ./aptarchive -name 'Release') + fi + if [ -n "$DATE" -a "$DATE" != "now" ]; then + for release in $(find ./aptarchive -name 'Release'); do + sed -i "s/^Date: .*$/Date: $(date -u -d "$DATE" -R)/" "$release" + touch -d "$DATE" "$release" + done + fi + msgdone "info" +} + +setupdistsaptarchive() { + local APTARCHIVE="$(readlink -f ./aptarchive | sed 's# #%20#g')" + rm -f root/etc/apt/sources.list.d/apt-test-*-deb.list + rm -f root/etc/apt/sources.list.d/apt-test-*-deb-src.list + for DISTS in $(find ./aptarchive/dists/ -mindepth 1 -maxdepth 1 -type d | cut -d'/' -f 4); do + SECTIONS=$(find "./aptarchive/dists/${DISTS}/" -mindepth 1 -maxdepth 1 -type d | cut -d'/' -f 5 | tr '\n' ' ') + msgninfo "\tadd deb and deb-src sources.list lines for ${CCMD}${DISTS} ${SECTIONS}${CINFO}… " + echo "deb file://$APTARCHIVE $DISTS $SECTIONS" > "rootdir/etc/apt/sources.list.d/apt-test-${DISTS}-deb.list" + echo "deb-src file:$APTARCHIVE $DISTS $SECTIONS" > "rootdir/etc/apt/sources.list.d/apt-test-${DISTS}-deb-src.list" + msgdone "info" + done +} + +setupflataptarchive() { + local APTARCHIVE="$(readlink -f ./aptarchive)" + local APTARCHIVEURI="$(readlink -f ./aptarchive | sed 's# #%20#g')" + if [ -f "${APTARCHIVE}/Packages" ]; then + msgninfo "\tadd deb sources.list line… " + echo "deb file://$APTARCHIVEURI /" > 'rootdir/etc/apt/sources.list.d/apt-test-archive-deb.list' + msgdone 'info' + else + rm -f 'rootdir/etc/apt/sources.list.d/apt-test-archive-deb.list' + fi + if [ -f "${APTARCHIVE}/Sources" ]; then + msgninfo "\tadd deb-src sources.list line… " + echo "deb-src file:$APTARCHIVEURI /" > 'rootdir/etc/apt/sources.list.d/apt-test-archive-deb-src.list' + msgdone 'info' + else + rm -f 'rootdir/etc/apt/sources.list.d/apt-test-archive-deb-src.list' + fi +} + +setupaptarchive() { + local NOUPDATE=0 + if [ "$1" = '--no-update' ]; then + NOUPDATE=1 + shift + fi + buildaptarchive "$@" + if [ -e aptarchive/dists ]; then + setupdistsaptarchive + else + setupflataptarchive + fi + signreleasefiles 'Joe Sixpack' + if [ "1" != "$NOUPDATE" ]; then + testsuccess aptget update -o Debug::pkgAcquire::Worker=true -o Debug::Acquire::gpgv=true + fi +} + +killgpgagent() { + if [ -z "${TMPWORKINGDIRECTORY}" ]; then return; fi + local GPGHOME="${TMPWORKINGDIRECTORY}/signinghome" + if [ ! -e "${GPGHOME}" ]; then return; fi + # ensure the agent dies quickly as different versions have different suicide heuristics + GNUPGHOME="${GPGHOME}" gpgconf --kill gpg-agent >/dev/null 2>&1 || true + rm -rf "$GPGHOME" +} +dosigning() { + local KEY="$1" + shift + local GPGHOME="${TMPWORKINGDIRECTORY}/signinghome" + if [ -n "$APT_TEST_SIGNINGHOME" ]; then + GPGHOME="$APT_TEST_SIGNINGHOME" + else + if [ ! -e "$GPGHOME" ]; then + mkdir -p --mode=700 "${GPGHOME}" + addtrap 'prefix' 'killgpgagent;' + fi + fi + testsuccess aptkey --quiet --keyring ${KEY}.pub --secret-keyring ${KEY}.sec --readonly \ + --homedir "${GPGHOME}" adv --batch --yes --digest-algo "${APT_TESTS_DIGEST_ALGO:-SHA512}" \ + "$@" +} +signreleasefiles() { + local SIGNERS="${1:-Joe Sixpack}" + local REPODIR="${2:-aptarchive}" + if [ -n "$1" ]; then shift; fi + if [ -n "$1" ]; then shift; fi + local KEY="keys/$(echo "$SIGNERS" | tr 'A-Z' 'a-z' | tr -d ' ,')" + msgninfo "\tSign archive with $SIGNERS key $KEY… " + local REXKEY='keys/rexexpired' + local SECEXPIREBAK="${REXKEY}.sec.bak" + local PUBEXPIREBAK="${REXKEY}.pub.bak" + local SIGUSERS="" + while [ -n "${SIGNERS%%,*}" ]; do + local SIGNER="${SIGNERS%%,*}" + if [ "${SIGNERS}" = "${SIGNER}" ]; then + SIGNERS="" + fi + SIGNERS="${SIGNERS#*,}" + # FIXME: This should be the full name, but we can't encode the space properly currently + SIGUSERS="${SIGUSERS} -u ${SIGNER#* }" + if [ "${SIGNER}" = 'Rex Expired' ]; then + # the key is expired, so gpg doesn't allow one to sign with and the --faked-system-time + # option doesn't exist anymore (and using faketime would add a new obscure dependency) + # therefore we 'temporary' make the key not expired and restore a backup after signing + cp "${REXKEY}.sec" "$SECEXPIREBAK" + cp "${REXKEY}.pub" "$PUBEXPIREBAK" + local SECUNEXPIRED="${REXKEY}.sec.unexpired" + local PUBUNEXPIRED="${REXKEY}.pub.unexpired" + if [ -f "$SECUNEXPIRED" ] && [ -f "$PUBUNEXPIRED" ]; then + cp "$SECUNEXPIRED" "${REXKEY}.sec" + cp "$PUBUNEXPIRED" "${REXKEY}.pub" + else + if ! printf "expire\n1w\nsave\n" | aptkey --quiet --keyring "${REXKEY}.pub" --secret-keyring "${REXKEY}.sec" \ + --readonly adv --batch --yes --digest-algo "${APT_TESTS_DIGEST_ALGO:-SHA512}" \ + --default-key "$SIGNER" --command-fd 0 --edit-key "${SIGNER}" >setexpire.gpg 2>&1; then + cat setexpire.gpg + exit 1 + fi + cp "${REXKEY}.sec" "$SECUNEXPIRED" + cp "${REXKEY}.pub" "$PUBUNEXPIRED" + fi + fi + if [ ! -e "${KEY}.pub" ]; then + local K="keys/$(echo "$SIGNER" | tr 'A-Z' 'a-z' | tr -d ' ,')" + cat "${K}.pub" >> "${KEY}.new.pub" + cat "${K}.sec" >> "${KEY}.new.sec" + fi + done + if [ ! -e "${KEY}.pub" ]; then + mv "${KEY}.new.pub" "${KEY}.pub" + mv "${KEY}.new.sec" "${KEY}.sec" + fi + for RELEASE in $(find "${REPODIR}/" -name Release); do + # we might have set a specific date for the Release file, so copy it + local DATE="$(stat --format "%y" "${RELEASE}")" + if [ "$APT_DONT_SIGN" = 'Release.gpg' ]; then + rm -f "${RELEASE}.gpg" + else + dosigning "$KEY" "$@" $SIGUSERS --armor --detach-sign --sign --output "${RELEASE}.gpg" "${RELEASE}" + touch -d "$DATE" "${RELEASE}.gpg" + fi + local INRELEASE="${RELEASE%/*}/InRelease" + if [ "$APT_DONT_SIGN" = 'InRelease' ]; then + rm -f "$INRELEASE" + else + dosigning "$KEY" "$@" $SIGUSERS --clearsign --output "$INRELEASE" "$RELEASE" + touch -d "$DATE" "${INRELEASE}" + fi + done + if [ -f "$SECEXPIREBAK" ] && [ -f "$PUBEXPIREBAK" ]; then + mv -f "$SECEXPIREBAK" "${REXKEY}.sec" + mv -f "$PUBEXPIREBAK" "${REXKEY}.pub" + fi + msgdone 'info' +} + +redatereleasefiles() { + local DATE="$(date -u -d "$1" -R)" + for release in $(find aptarchive/ -name 'Release'); do + sed -i "s/^Date: .*$/Date: ${DATE}/" "$release" + touch -d "$DATE" "$release" + done + signreleasefiles "${2:-Joe Sixpack}" +} + +webserverconfig() { + local WEBSERVER="${3:-http://localhost:${APTHTTPPORT}}" + local NOCHECK=false + if [ "$1" = '--no-check' ]; then + NOCHECK=true + shift + fi + local DOWNLOG="${TMPWORKINGDIRECTORY}/rootdir/tmp/download-testfile.log" + local STATUS="${TMPWORKINGDIRECTORY}/downloaded/webserverconfig.status" + rm -f "$STATUS" "$DOWNLOG" + local URI + if [ -n "$2" ]; then + msgtest "Set webserver config option '${1}' to" "$2" + URI="${WEBSERVER}/_config/set/$(apthelper quote-string "${1}" '/?#')/$(apthelper quote-string "${2}" '/?#')" + else + msgtest 'Clear webserver config option' "${1}" + URI="${WEBSERVER}/_config/clear/$(apthelper quote-string "${1}" '/?#')" + fi + if downloadfile "$URI" "$STATUS" > "$DOWNLOG"; then + msgpass + else + local OUTPUT="${TMPWORKINGDIRECTORY}/rootdir/tmp/webserverconfig.output" + cat "$DOWNLOG" "$STATUS" >"$OUTPUT" 2>&1 || true + msgfailoutput '' "$OUTPUT" + fi + $NOCHECK || testwebserverlaststatuscode '200' +} + +rewritesourceslist() { + local APTARCHIVE="$(readlink -f "${TMPWORKINGDIRECTORY}/aptarchive" | sed 's# #%20#g')" + for LIST in $(find "${TMPWORKINGDIRECTORY}/rootdir/etc/apt/sources.list.d/" -name 'apt-test-*.list'); do + sed -i $LIST \ + -e "s#file://$APTARCHIVE#${1}#" \ + -e "s#file:$APTARCHIVE#${1}#" \ + -e "s#copy://$APTARCHIVE#${1}#" \ + -e "s#copy:$APTARCHIVE#${1}#" \ + -e "s#http://[^@]*@\?localhost:${APTHTTPPORT}/\?#${1}#" \ + -e "s#https://[^@]*@\?localhost:${APTHTTPSPORT}/\?#${1}#" + done +} + +# wait for up to 10s for a pid file to appear to avoid possible race +# when a helper is started and doesn't write the PID quick enough +waitforpidfile() { + local PIDFILE="$1" + for i in $(seq 10); do + if test -s "$PIDFILE"; then + return 0 + fi + sleep 1 + done + msgdie "waiting for $PIDFILE failed" + return 1 +} + +changetowebserver() { + local REWRITE='yes' + if [ "$1" = '--no-rewrite' ]; then + REWRITE='no' + shift + fi + if test -x "${APTTESTHELPERSBINDIR}/aptwebserver"; then + cd aptarchive + local LOG="webserver.log" + if ! aptwebserver --port 0 -o aptwebserver::fork=1 -o aptwebserver::portfile='aptwebserver.port' -o aptwebserver::logfiles="$(readlink -f .)/$LOG" "$@" >$LOG 2>&1 ; then + cat "$LOG" + false + fi + waitforpidfile aptwebserver.pid + local PID="$(cat aptwebserver.pid)" + if [ -z "$PID" ]; then + msgdie 'Could not fork aptwebserver successfully' + fi + addtrap "kill $PID;" + waitforpidfile aptwebserver.port + APTHTTPPORT="$(cat aptwebserver.port)" + if [ -z "$APTHTTPPORT" ]; then + msgdie 'Could not get port for aptwebserver successfully' + fi + cd - > /dev/null + else + msgdie 'You have to build apt from source to have test/interactive-helper/aptwebserver available for tests requiring a webserver' + fi + if [ "$REWRITE" != 'no' ]; then + rewritesourceslist "http://localhost:${APTHTTPPORT}/" + fi +} + +changetohttpswebserver() { + local REWRITE='yes' + if [ "$1" = '--no-rewrite' ]; then + REWRITE='no' + shift + fi + local stunnel4 + if command -v stunnel4 >/dev/null 2>&1; then + stunnel4=stunnel4 + elif command -v stunnel >/dev/null 2>&1; then + stunnel4=stunnel + else + msgdie 'You need to install stunnel4 for https testcases' + fi + if [ ! -e "${TMPWORKINGDIRECTORY}/aptarchive/aptwebserver.pid" ]; then + changetowebserver --no-rewrite "$@" + fi + echo "pid = ${TMPWORKINGDIRECTORY}/aptarchive/stunnel.pid +cert = ${TMPWORKINGDIRECTORY}/rootdir/etc/webserver.pem +output = /dev/null + +[https] +accept = 127.0.0.1:0 +connect = $APTHTTPPORT +" > "${TMPWORKINGDIRECTORY}/stunnel.conf" + $stunnel4 "${TMPWORKINGDIRECTORY}/stunnel.conf" + waitforpidfile "${TMPWORKINGDIRECTORY}/aptarchive/stunnel.pid" + local PID="$(cat "${TMPWORKINGDIRECTORY}/aptarchive/stunnel.pid")" + if [ -z "$PID" ]; then + msgdie 'Could not fork $stunnel4 successfully' + fi + addtrap 'prefix' "kill ${PID};" + APTHTTPSPORT="$(lsof -i -n | awk "/^$stunnel4 / && \$2 == \"${PID}\" {print \$9; exit; }" | cut -d':' -f 2)" + webserverconfig 'aptwebserver::port::https' "$APTHTTPSPORT" "https://localhost:${APTHTTPSPORT}" + if [ "$REWRITE" != 'no' ]; then + rewritesourceslist "https://localhost:${APTHTTPSPORT}/" + fi +} + +changetocdrom() { + mkdir -p rootdir/media/cdrom/.disk + local CD="$(readlink -f rootdir/media/cdrom)" + cat > rootdir/etc/apt/apt.conf.d/00cdrom <<EOF +acquire::cdrom::mount "${CD}"; +acquire::cdrom::"${CD}/"::mount "mv ${CD}-unmounted ${CD}"; +acquire::cdrom::"${CD}/"::umount "mv ${CD} ${CD}-unmounted"; +acquire::cdrom::autodetect 0; +EOF + echo -n "$1" > "${CD}/.disk/info" + if [ ! -d aptarchive/dists ]; then + msgdie 'Flat file archive cdroms can not be created currently' + return 1 + fi + mv aptarchive/dists "$CD" + ln -s "$(readlink -f ./incoming)" "$CD/pool" + find rootdir/etc/apt/sources.list.d/ -name 'apt-test-*.list' -delete + # start with an unmounted disk + mv "${CD}" "${CD}-unmounted" + # we don't want the disk to be modifiable + addtrap 'prefix' "chmod -f -R +w '$(escape_shell "$PWD/rootdir/media/cdrom/dists/")' '$(escape_shell "$PWD/rootdir/media/cdrom-unmounted/dists/")' || true;" + chmod -R 555 rootdir/media/cdrom-unmounted/dists +} + +downloadfile() { + local PROTO="${1%%:*}" + if ! apthelper -o Debug::Acquire::${PROTO}=1 -o Debug::pkgAcquire::Worker=1 \ + download-file "$1" "$2" "$3" 2>&1 ; then + return 1 + fi + # only if the file exists the download was successful + if [ -r "$2" ]; then + return 0 + else + return 1 + fi +} + +cleanup_output() { + cat "$1" | sed \ + -e '/gpgv: WARNING: This key is not suitable for signing in --compliance=gnupg mode/ d' \ + -e '/^profiling:/ d' \ + | sed -e '/\.\.\.profiling:/ {N;s#\.\.\.profiling:.*\n#...#g}' \ + >"$2" +} + +checkdiff() { + local TMPFILE1="${TMPWORKINGDIRECTORY}/rootdir/tmp/checkdiff.1.tmp" + local TMPFILE2="${TMPWORKINGDIRECTORY}/rootdir/tmp/checkdiff.2.tmp" + touch "$TMPFILE1" "$TMPFILE2" + + cleanup_output "$1" "$TMPFILE1" + cleanup_output "$2" "$TMPFILE2" + + local DIFFTEXT="$(command diff -u "$TMPFILE1" "$TMPFILE2" 2>&1 | sed -e '/^---/ d' -e '/^+++/ d' -e '/^@@/ d')" + if [ -n "$DIFFTEXT" ]; then + echo >&2 + echo >&2 "$DIFFTEXT" + return 1 + else + return 0 + fi +} + +testoutputequal() { + local OUTPUT="${TMPWORKINGDIRECTORY}/rootdir/tmp/testoutputequal.output" + local COMPAREFILE="$1" + shift + if "$@" 2>&1 | checkdiff "$COMPAREFILE" - >"$OUTPUT" 2>&1; then + msgpass + else + echo "=== content of file we compared with (${COMPAREFILE}) ===" >>"${OUTPUT}" + cat "$COMPAREFILE" >>"${OUTPUT}" + msgfailoutput '' "$OUTPUT" "$@" + fi +} + +testfileequal() { + msggroup 'testfileequal' + local MSG='Test for correctness of file' + if [ "$1" = '--nomsg' ]; then + MSG='' + shift + fi + local FILE="$1" + shift + if [ -n "$MSG" ]; then + msgtest "$MSG" "$FILE" + fi + local OUTPUT="${TMPWORKINGDIRECTORY}/rootdir/tmp/testfileequal.output" + if [ -z "$*" ]; then + testoutputequal "$FILE" echo -n '' + else + testoutputequal "$FILE" echo "$*" + fi + msggroup +} + +testempty() { + msggroup 'testempty' + if [ "$1" = '--nomsg' ]; then + shift + else + msgtest "Test for no output of" "$*" + fi + local COMPAREFILE="${TMPWORKINGDIRECTORY}/rootdir/tmp/testempty.comparefile" + if "$@" >"$COMPAREFILE" 2>&1 && test ! -s "$COMPAREFILE"; then + msgpass + else + msgfailoutput '' "$COMPAREFILE" "$@" + fi + aptautotest 'testempty' "$@" + msggroup +} +testwarningempty() { + testwarning "$@" + testfailure grep -v '^W:' "${ROOTDIR}/tmp/testwarning.output" +} +testnotempty() { + msggroup 'testnotempty' + msgtest "Test for some output of" "$*" + local COMPAREFILE="${TMPWORKINGDIRECTORY}/rootdir/tmp/testnotempty.comparefile" + if ("$@" >"$COMPAREFILE" 2>&1 || true) && test -s "$COMPAREFILE"; then + msgpass + else + msgfailoutput '' "$COMPAREFILE" "$@" + fi + aptautotest 'testnotempty' "$@" + msggroup +} + +testequal() { + msggroup 'testequal' + local MSG='Test of equality of' + if [ "$1" = '--nomsg' ]; then + MSG='' + shift + fi + + local COMPAREFILE="${TMPWORKINGDIRECTORY}/rootdir/tmp/testequal.comparefile" + echo "$1" > "$COMPAREFILE" + shift + + if [ -n "$MSG" ]; then + msgtest "$MSG" "$*" + fi + testoutputequal "$COMPAREFILE" "$@" + aptautotest 'testequal' "$@" + msggroup +} + +testequalor2() { + msggroup 'testequalor2' + local COMPAREFILE1="${TMPWORKINGDIRECTORY}/rootdir/tmp/testequalor2.comparefile1" + local COMPAREFILE2="${TMPWORKINGDIRECTORY}/rootdir/tmp/testequalor2.comparefile2" + local COMPAREAGAINST="${TMPWORKINGDIRECTORY}/rootdir/tmp/testequalor2.compareagainst" + echo "$1" > "$COMPAREFILE1" + echo "$2" > "$COMPAREFILE2" + shift 2 + msgtest "Test for equality OR of" "$*" + "$@" >"$COMPAREAGAINST" 2>&1 || true + if checkdiff "$COMPAREFILE1" "$COMPAREAGAINST" >/dev/null 2>&1 || \ + checkdiff "$COMPAREFILE2" "$COMPAREAGAINST" >/dev/null 2>&1 + then + msgpass + else + local OUTPUT="${TMPWORKINGDIRECTORY}/rootdir/tmp/testequal.output" + echo -n "\n${CINFO}Diff against OR 1${CNORMAL}" >"$OUTPUT" 2>&1 + checkdiff "$COMPAREFILE1" "$COMPAREAGAINST" >"$OUTPUT" 2>&1 || true + echo -n "${CINFO}Diff against OR 2${CNORMAL}" >"$OUTPUT" 2>&1 + checkdiff "$COMPAREFILE2" "$COMPAREAGAINST" >"$OUTPUT" 2>&1 || true + msgfailoutput '' "$OUTPUT" + fi + aptautotest 'testequalor2' "$@" + msggroup +} + +testshowvirtual() { + msggroup 'testshowvirtual' + local VIRTUAL="N: Can't select versions from package '$1' as it is purely virtual" + local PACKAGE="$1" + shift + while [ -n "$1" ]; do + VIRTUAL="${VIRTUAL} +N: Can't select versions from package '$1' as it is purely virtual" + PACKAGE="${PACKAGE} $1" + shift + done + msgtest "Test for virtual packages" "apt-cache show $PACKAGE" + VIRTUAL="${VIRTUAL} +N: No packages found" + local COMPAREFILE="${TMPWORKINGDIRECTORY}/rootdir/tmp/testshowvirtual.comparefile" + local ARCH="$(getarchitecture 'native')" + echo "$VIRTUAL" | sed -e "s/:$ARCH//" -e 's/:all//' >"$COMPAREFILE" + local OUTPUT="${TMPWORKINGDIRECTORY}/rootdir/tmp/testshowvirtual.output" + testoutputequal "$COMPAREFILE" aptcache show "$PACKAGE" + msggroup +} + +testnopackage() { + msggroup 'testnopackage' + msgtest "Test for non-existent packages" "apt-cache show $*" + local SHOWPKG="$(aptcache show "$@" 2>&1 | grep '^Package: ')" + if [ -n "$SHOWPKG" ]; then + local OUTPUT="${TMPWORKINGDIRECTORY}/rootdir/tmp/testnopackage.output" + echo "$SHOWPKG" >"$OUTPUT" + msgfailoutput '' "$OUTPUT" + else + msgpass + fi + msggroup +} +testnosrcpackage() { + msggroup 'testnosrcpackage' + msgtest "Test for non-existent source packages" "apt-cache showsrc $*" + local SHOWPKG="$(aptcache showsrc "$@" 2>&1 | grep '^Package: ')" + if [ -n "$SHOWPKG" ]; then + local OUTPUT="${TMPWORKINGDIRECTORY}/rootdir/tmp/testnosrcpackage.output" + echo "$SHOWPKG" >"$OUTPUT" + msgfailoutput '' "$OUTPUT" + else + msgpass + fi + msggroup +} + +testdpkgstatus() { + msggroup 'testdpkgstatus' + local STATE="$1" + local NR="$2" + shift 2 + msgtest "Test that $NR package(s) are in state $STATE with" "dpkg -l $*" + local PKGS="$(dpkg -l "$@" 2>/dev/null | grep "^${STATE}" | wc -l)" + if [ "$PKGS" != $NR ]; then + local OUTPUT="${TMPWORKINGDIRECTORY}/rootdir/tmp/testnopackage.output" + echo "$PKGS" >"$OUTPUT" + dpkg -l "$@" | grep '^[a-z]' >"$OUTPUT" >&2 || true + msgfailoutput '' "$OUTPUT" + else + msgpass + fi + msggroup +} + +testdpkginstalled() { + msggroup 'testdpkginstalled' + testdpkgstatus 'ii' "$#" "$@" + msggroup +} + +testdpkgnotinstalled() { + msggroup 'testdpkgnotinstalled' + testdpkgstatus 'ii' '0' "$@" + msggroup +} + +testmarkedauto() { + msggroup 'testmarkedauto' + local COMPAREFILE="${TMPWORKINGDIRECTORY}/rootdir/tmp/testmarkedauto.comparefile" + if [ -n "$1" ]; then + msgtest 'Test for correctly marked as auto-installed' "$*" + while [ -n "$1" ]; do echo "$1"; shift; done | sort > "$COMPAREFILE" + else + msgtest 'Test for correctly marked as auto-installed' 'no package' + echo -n > "$COMPAREFILE" + fi + testoutputequal "$COMPAREFILE" aptmark showauto + msggroup +} +testmarkedmanual() { + msggroup 'testmarkedmanual' + local COMPAREFILE="${TMPWORKINGDIRECTORY}/rootdir/tmp/testmarkedmanual.comparefile" + if [ -n "$1" ]; then + msgtest 'Test for correctly marked as manually installed' "$*" + while [ -n "$1" ]; do echo "$1"; shift; done | sort > "$COMPAREFILE" + else + msgtest 'Test for correctly marked as manually installed' 'no package' + echo -n > "$COMPAREFILE" + fi + testoutputequal "$COMPAREFILE" aptmark showmanual + msggroup +} + +catfile() { + if [ "${1##*.}" = 'deb' ]; then + stat >&2 "$1" || true + file >&2 "$1" || true + else + cat >&2 "$1" || true + fi +} +msgfailoutput() { + msgreportheader 'msgfailoutput' + local MSG="$1" + local OUTPUT="$2" + shift 2 + local CMD="$1" + if [ "$1" = 'grep' -o "$1" = 'tail' -o "$1" = 'head' ]; then + echo >&2 + while [ -n "$2" ]; do shift; done + echo "#### Complete file: $1 ####" + catfile "$1" + echo "#### $CMD output ####" + elif [ "$1" = 'test' ]; then + echo >&2 + # doesn't support ! or non-file flags + msgfailoutputstatfile() { + local FILEFLAGS='^-[bcdefgGhkLOprsStuwx]$' + if expr match "$1" "$FILEFLAGS" >/dev/null; then + echo "#### stat(2) of file: $2 ####" + stat "$2" || true + if test -d "$2"; then + echo "#### The directory contains: $2 ####" + ls >&2 "$2" || true + elif test -e "$2"; then + echo "#### Complete file: $2 ####" + catfile "$2" + fi + fi + } + msgfailoutputstatfile "$2" "$3" + while [ -n "$5" ] && [ "$4" = '-o' -o "$4" = '-a' ]; do + shift 3 + msgfailoutputstatfile "$2" "$3" + done + echo '#### test output ####' + elif [ "$1" = 'cmp' ]; then + echo >&2 + while [ -n "$2" ]; do + echo "#### Complete file: $2 ####" + catfile "$2" + shift + done + echo '#### cmp output ####' + elif [ "$1" = 'rm' ]; then + echo "#### Directory listing of: $(pwd) ####" + ls -l + fi + catfile "$OUTPUT" + if [ "$CMD" != 'echo' ] && tail -n 1 "$OUTPUT" | grep -q '(core dumped)$'; then + local COREDUMP="${TMPWORKINGDIRECTORY}/rootdir/tmp/core.dump" + local COREEXE='' + for CORENAME in 'core' 'core.pid'; do + if [ -s "$CORENAME" ]; then + cp -a ${CORENAME} "$COREDUMP" + elif [ -s "${TMPWORKINGDIRECTORY}/${CORENAME}" ]; then + cp -a "${TMPWORKINGDIRECTORY}/${CORENAME}" "$COREDUMP" + else + continue + fi + break + done + if [ -s "$COREDUMP" ]; then + true # found already as a file + elif dpkg-checkbuilddeps -d 'systemd-coredump' /dev/null >/dev/null 2>&1; then + COREEXE="$(coredumpctl -1 --no-legend list | sed -e 's#^.* \([^ ]\+\)$#\1#')" + coredumpctl -1 dump "$COREEXE" -o "$COREDUMP" 2>/dev/null >&2 || true + else + echo '### core dump not found ###' + cat /proc/sys/kernel/core_pattern + fi + if [ -s "$COREDUMP" ]; then + if [ -z "$COREEXE" ]; then + case "$CMD" in + apt) COREEXE="${APTCMDLINEBINDIR}/${CMD}";; + aptftparchive) COREEXE="${APTFTPARCHIVEBINDIR}/apt-ftparchive";; + apthelper) COREEXE="${APTHELPERBINDIR}/apt-helper";; + aptwebserver) COREEXE="${APTTESTHELPERSBINDIR}/aptwebserver";; + apt*) COREEXE="${APTCMDLINEBINDIR}/apt-${CMD##*apt}";; + *) COREEXE="${APTCMDLINEBINDIR}/${CMD}";; + esac + fi + + if [ -d "${ARTIFACTSDIR}" ]; then + local ARTIFACT_COREDUMP="$(mktemp --suffix=.coredump -p "${ARTIFACTSDIR}" "${COREEXE##*/}-XXXXXX")" + cp -a "$COREDUMP" "$ARTIFACT_COREDUMP" + echo "#### coredump in $ARTIFACT_COREDUMP for $COREEXE ####" + fi + if [ -n "$COREEXE" -a -s "$COREEXE" ] && dpkg-checkbuilddeps -d 'gdb' /dev/null >/dev/null 2>&1; then + echo "#### gdb backtrace ####" + command gdb --batch -n -ex 'set pagination off' --ex 'thread apply all bt full' "$COREEXE" "$COREDUMP" || true + fi + fi + rm -f "$COREDUMP" + fi + msgfail "$MSG" +} + +testsuccesswithglobalerror() { + local TYPE="$1" + local ERRORS="$2" + shift 2 + msggroup "$TYPE" + if [ "$1" = '--nomsg' ]; then + shift + else + msgtest 'Test for successful execution of' "$*" + fi + local OUTPUT="${TMPWORKINGDIRECTORY}/rootdir/tmp/${TYPE}.output" + if "$@" >"${OUTPUT}" 2>&1; then + if expr match "$1" '^apt.*' >/dev/null; then + if grep -q -E ' runtime error: ' "$OUTPUT"; then + msgfailoutput 'compiler detected undefined behavior' "$OUTPUT" "$@" + elif grep -E "^[${ERRORS}]: " "$OUTPUT" > "${TMPWORKINGDIRECTORY}/rootdir/tmp/checkforwarnings.output" 2>&1; then + if [ "$IGNORE_PTY_NOT_MOUNTED" = '1' ]; then + if echo 'E: Can not write log (Is /dev/pts mounted?) - posix_openpt (2: No such file or directory)' \ + | cmp - "${TMPWORKINGDIRECTORY}/rootdir/tmp/checkforwarnings.output" >/dev/null 2>&1; then + msgpass + elif echo 'E: Can not write log (Is /dev/pts mounted?) - posix_openpt (13: Permission denied)' \ + | cmp - "${TMPWORKINGDIRECTORY}/rootdir/tmp/checkforwarnings.output" >/dev/null 2>&1; then + msgpass + else + msgfailoutput 'successful run, but output contains warnings/errors' "$OUTPUT" "$@" + fi + else + msgfailoutput 'successful run, but output contains warnings/errors' "$OUTPUT" "$@" + fi + elif [ "$TYPE" = 'testsuccesswithnotice' ]; then + if grep -q -E "^N: " "$OUTPUT"; then + msgpass + else + msgfailoutput 'successful run, but output had no notices' "$OUTPUT" "$@" + fi + else + msgpass + fi + else + msgpass + fi + else + local EXITCODE=$? + msgfailoutput "exitcode $EXITCODE" "$OUTPUT" "$@" + fi + aptautotest "$TYPE" "$@" + msggroup +} +testsuccesswithnotice() { + testsuccesswithglobalerror 'testsuccesswithnotice' 'WE' "$@" +} +testsuccess() { + testsuccesswithglobalerror 'testsuccess' 'NWE' "$@" +} +testwarning() { + msggroup 'testwarning' + if [ "$1" = '--nomsg' ]; then + shift + else + msgtest 'Test for successful execution with warnings of' "$*" + fi + local OUTPUT="${TMPWORKINGDIRECTORY}/rootdir/tmp/testwarning.output" + if "$@" >"${OUTPUT}" 2>&1; then + if expr match "$1" '^apt.*' >/dev/null; then + if grep -q -E ' runtime error: ' "$OUTPUT"; then + msgfailoutput 'compiler detected undefined behavior' "$OUTPUT" "$@" + elif grep -q -E '^E: ' "$OUTPUT"; then + msgfailoutput 'successful run, but output contains errors' "$OUTPUT" "$@" + elif ! grep -q -E '^W: ' "$OUTPUT"; then + msgfailoutput 'successful run, but output contains no warnings' "$OUTPUT" "$@" + else + msgpass + fi + else + msgpass + fi + else + local EXITCODE=$? + msgfailoutput "exitcode $EXITCODE" "$OUTPUT" "$@" + fi + aptautotest 'testwarning' "$@" + msggroup +} +testfailure() { + msggroup 'testfailure' + if [ "$1" = '--nomsg' ]; then + shift + else + msgtest 'Test for failure in execution of' "$*" + fi + local OUTPUT="${TMPWORKINGDIRECTORY}/rootdir/tmp/testfailure.output" + if "$@" >"${OUTPUT}" 2>&1; then + local EXITCODE=$? + msgfailoutput "exitcode $EXITCODE" "$OUTPUT" "$@" + else + local EXITCODE=$? + if expr match "$1" '^apt.*' >/dev/null; then + if [ "$1" = 'aptkey' ]; then + if grep -q " Can't check signature: + BAD signature from + signature could not be verified" "$OUTPUT"; then + msgpass + else + msgfailoutput "run failed with exitcode ${EXITCODE}, but no signature error" "$OUTPUT" "$@" + fi + else + if grep -q -E ' runtime error: ' "$OUTPUT"; then + msgfailoutput 'compiler detected undefined behavior' "$OUTPUT" "$@" + elif grep -q -E '==ERROR' "$OUTPUT"; then + msgfailoutput 'compiler sanitizers reported errors' "$OUTPUT" "$@" + elif ! grep -q -E '^E: ' "$OUTPUT"; then + msgfailoutput "run failed with exitcode ${EXITCODE}, but with no errors" "$OUTPUT" "$@" + else + msgpass + fi + fi + else + msgpass + fi + fi + aptautotest 'testfailure' "$@" + msggroup +} + +testreturnstateequal() { + local STATE="$1" + if [ "$STATE" = 'testsuccesswithglobalerror' ]; then + local STATE="$2" + local TYPE="$3" + shift 3 + msggroup "${STATE}equal" + if [ "$1" != '--nomsg' ]; then + local CMP="$1" + shift + testsuccesswithglobalerror "$STATE" "$TYPE" "$@" + testfileequal "${TMPWORKINGDIRECTORY}/rootdir/tmp/${STATE}.output" "$CMP" + else + local CMP="$2" + shift 2 + testsuccesswithglobalerror "$STATE" "$TYPE" "$@" + testfileequal "${TMPWORKINGDIRECTORY}/rootdir/tmp/${STATE}.output" "$CMP" + fi + else + msggroup "${STATE}equal" + if [ "$2" != '--nomsg' ]; then + local CMP="$2" + shift 2 + "$STATE" "$@" + testfileequal "${TMPWORKINGDIRECTORY}/rootdir/tmp/${STATE}.output" "$CMP" + else + local CMP="$3" + shift 3 + "$STATE" --nomsg "$@" + testfileequal "${TMPWORKINGDIRECTORY}/rootdir/tmp/${STATE}.output" "$CMP" + fi + fi + msggroup +} +testsuccessequal() { + # we compare output, so we know perfectly well about N: + testreturnstateequal 'testsuccesswithglobalerror' 'testsuccess' 'WE' "$@" +} +testwarningequal() { + testreturnstateequal 'testwarning' "$@" +} +testfailureequal() { + testreturnstateequal 'testfailure' "$@" +} + +testfailuremsg() { + msggroup 'testfailuremsg' + local CMP="$1" + shift + testfailure "$@" + msgtest 'Check that the output of the previous failed command has expected' 'failures and warnings' + local COMPAREFILE="${TMPWORKINGDIRECTORY}/rootdir/tmp/testfailuremsg.comparefile" + grep '^\(W\|E\|N\):' "${TMPWORKINGDIRECTORY}/rootdir/tmp/testfailure.output" > "$COMPAREFILE" 2>&1 || true + testoutputequal "$COMPAREFILE" echo "$CMP" + msggroup +} +testwarningmsg() { + msggroup 'testwarningmsg' + local CMP="$1" + shift + testwarning "$@" + msgtest 'Check that the output of the previous warned command has expected' 'warnings' + local COMPAREFILE="${TMPWORKINGDIRECTORY}/rootdir/tmp/testwarningmsg.comparefile" + grep '^\(W\|E\|N\):' "${TMPWORKINGDIRECTORY}/rootdir/tmp/testwarning.output" > "$COMPAREFILE" 2>&1 || true + testoutputequal "$COMPAREFILE" echo "$CMP" + msggroup +} + +testfilestats() { + msggroup 'testfilestats' + msgtest "Test that file $1 has $2 $3" "$4" + if [ "$4" "$3" "$(stat --format "$2" "$1")" ]; then + msgpass + else + local OUTPUT="${TMPWORKINGDIRECTORY}/rootdir/tmp/testfilestats.output" + { + ls -ld "$1" || true + echo -n "stat(1) reports for $2: " + stat --format "$2" "$1" || true + } >"$OUTPUT" 2>&1 + msgfailoutput '' "$OUTPUT" + fi + msggroup +} +testaccessrights() { + msggroup 'testaccessrights' + testfilestats "$1" '%a' '=' "$2" + msggroup +} + +testwebserverlaststatuscode() { + msggroup 'testwebserverlaststatuscode' + local DOWNLOG="${TMPWORKINGDIRECTORY}/rootdir/tmp/webserverstatus-testfile.log" + local STATUS="${TMPWORKINGDIRECTORY}/downloaded/webserverstatus-statusfile.log" + rm -f "$DOWNLOG" "$STATUS" + msgtest 'Test last status code from the webserver was' "$1" + if downloadfile "http://localhost:${APTHTTPPORT}/_config/find/aptwebserver::last-status-code" "$STATUS" > "$DOWNLOG" && [ "$(cat "$STATUS")" = "$1" ]; then + msgpass + else + local OUTPUT="${TMPWORKINGDIRECTORY}/rootdir/tmp/testwebserverlaststatuscode.output" + { + if [ -n "$2" ]; then + shift + echo >&2 '#### Additionally provided output files contain:' + cat >&2 "$@" + fi + echo >&2 '#### Download log of the status code:' + cat >&2 "$DOWNLOG" + } >"$OUTPUT" 2>&1 + msgfailoutput "Status was $(cat "$STATUS")" "$OUTPUT" + fi + msggroup +} + +mapkeynametokeyid() { + while [ -n "$1" ]; do + case "$1" in + *Joe*|*Sixpack*|newarchive) echo '5A90D141DBAC8DAE';; + *Rex*|*Expired*) echo '4BC0A39C27CE74F9';; + *Marvin*|*Paranoid*) echo 'E8525D47528144E2';; + *Sebastian*|*Subkey*) echo '5B6896415D44C43E';; + oldarchive) echo 'FDD2DB85F68C85A3';; + *) echo 'UNKNOWN KEY';; + esac + shift + done +} +testaptkeys() { + local OUTPUT="${TMPWORKINGDIRECTORY}/rootdir/tmp/aptkeylist.output" + if ! aptkey list --with-colon 2>/dev/null | grep '^pub' | cut -d':' -f 5 > "$OUTPUT"; then + echo -n > "$OUTPUT" + fi + testfileequal "$OUTPUT" "$(mapkeynametokeyid "$@")" +} + +pause() { + echo "STOPPED execution. Press enter to continue" + local IGNORE + read IGNORE +} + +logcurrentarchivedirectory() { + find "${TMPWORKINGDIRECTORY}/aptarchive/dists" -type f | while read line; do + stat --format '%U:%G:%a:%n' "$line" + done | sort > "${TMPWORKINGDIRECTORY}/rootdir/var/log/aptgetupdate.before.lst" +} +listcurrentlistsdirectory() { + { + find rootdir/var/lib/apt/lists -maxdepth 1 -type d | while read line; do + stat --format '%U:%G:%a:%n' "$line" + done + find rootdir/var/lib/apt/lists -maxdepth 1 \! -type d | while read line; do + stat --format '%U:%G:%a:%s:%y:%n' "$line" + done + } | sort +} +forallsupportedcompressors() { + rm -f "${TMPWORKINGDIRECTORY}/rootdir/etc/apt/apt.conf.d/00force-compressor" + for COMP in $(aptconfig dump 'APT::Compressor' --format '%f%n' | cut -d':' -f 5 | uniq); do + if [ -z "$COMP" -o "$COMP" = '.' ]; then continue; fi + "$@" "$COMP" + done +} + +breakfiles() { + while [ -n "$1" ]; do + mv -f "${1}" "${1}.bak" + testsuccess dd if=/dev/zero of="${1}" bs="$(stat -c %s "${1}.bak")" count=1 + shift + done +} +unbreakfiles() { + while [ -n "$1" ]; do + mv -f "${1}.bak" "${1}" + shift + done +} + +### convenience hacks ### +mkdir() { + # creating some directories by hand is a tedious task, so make it look simple + local PARAMS="$*" + if [ "$PARAMS" != "${PARAMS#*rootdir/var/lib/apt/lists}" ]; then + # only the last directory created by mkdir is effected by the -m ! + command mkdir -m 755 -p "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt" + command mkdir -m 755 -p "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists" + command mkdir -m 700 -p "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists/partial" + command mkdir -m 755 -p "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists/auxfiles" + touch "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists/lock" + if [ "$(id -u)" = '0' ]; then + chown _apt:$(id -gn) "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists/partial" + chown _apt:$(id -gn) "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists/auxfiles" + fi + else + command mkdir "$@" + fi +} + +### The following tests are run by most test methods automatically to check +### general things about commands executed without writing the test every time. + +aptautotest() { + if [ $# -lt 3 ]; then return; fi + local TESTCALL="$1" + local CMD="$2" + local FIRSTOPT="$3" + shift 2 + for i in "$@"; do + if ! expr match "$i" '^-' >/dev/null 2>&1; then + FIRSTOPT="$i" + break + fi + done + shift + local AUTOTEST="aptautotest_$(echo "${CMD##*/}_${FIRSTOPT}" | tr -d -c 'A-za-z0-9')" + if command -v $AUTOTEST >/dev/null; then + # save and restore the *.output files from other tests + # as we might otherwise override them in these automatic tests + rm -rf "${TMPWORKINGDIRECTORY}/rootdir/tmp-before" + mv "${TMPWORKINGDIRECTORY}/rootdir/tmp" "${TMPWORKINGDIRECTORY}/rootdir/tmp-before" + mkdir "${TMPWORKINGDIRECTORY}/rootdir/tmp" + $AUTOTEST "$TESTCALL" "$@" + rm -rf "${TMPWORKINGDIRECTORY}/rootdir/tmp-aptautotest" + mv "${TMPWORKINGDIRECTORY}/rootdir/tmp" "${TMPWORKINGDIRECTORY}/rootdir/tmp-aptautotest" + mv "${TMPWORKINGDIRECTORY}/rootdir/tmp-before" "${TMPWORKINGDIRECTORY}/rootdir/tmp" + fi +} + +cdfind() { + ( cd /; find "$@" ) +} +aptautotest_aptget_update() { + local TESTCALL="$1" + while [ -n "$2" ]; do + if [ "$2" = '--print-uris' ]; then return; fi # simulation mode + shift + done + if ! test -d "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists"; then return; fi + testfilestats "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt" '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:755" + testfilestats "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists" '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:755" + # all copied files are properly chmodded + local backupIFS="$IFS" + IFS="$(printf "\n\b")" + cdfind "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists" -type f ! -name 'lock' | while read file; do + testfilestats "$file" '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:644" + done + IFS="$backupIFS" + if [ "$TESTCALL" = 'testsuccess' ]; then + # failure cases can retain partial files and such + testempty cdfind "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists/partial" -mindepth 1 ! \( -name 'lock' -o -name '*.FAILED' \) + fi + if [ -s "${TMPWORKINGDIRECTORY}/rootdir/var/log/aptgetupdate.before.lst" ]; then + testfileequal "${TMPWORKINGDIRECTORY}/rootdir/var/log/aptgetupdate.before.lst" \ + "$(cdfind "${TMPWORKINGDIRECTORY}/aptarchive/dists" -type f | while read line; do stat --format '%U:%G:%a:%n' "$line"; done | sort)" + fi +} +aptautotest_apt_update() { aptautotest_aptget_update "$@"; } +aptautotest_aptcdrom_add() { aptautotest_aptget_update "$@"; } + +testaptautotestnodpkgwarning() { + local TESTCALL="$1" + while [ -n "$2" ]; do + if expr match "$2" '^-[a-z]*s' >/dev/null 2>&1; then return; fi # simulation mode + if expr match "$2" '^-dy\?' >/dev/null 2>&1; then return; fi # download-only mode + shift + done + testfailure grep '^dpkg: warning:.*\(ignor\|unknown\).*' "${TMPWORKINGDIRECTORY}/rootdir/tmp-before/${TESTCALL}.output" +} + +aptautotest_aptget_install() { testaptautotestnodpkgwarning "$@"; } +aptautotest_aptget_remove() { testaptautotestnodpkgwarning "$@"; } +aptautotest_aptget_purge() { testaptautotestnodpkgwarning "$@"; } +aptautotest_apt_install() { testaptautotestnodpkgwarning "$@"; } +aptautotest_apt_remove() { testaptautotestnodpkgwarning "$@"; } +aptautotest_apt_purge() { testaptautotestnodpkgwarning "$@"; } + +testaptmarknodefaultsections() { + testfailure grep '^Auto-Installed: 0$' "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/extended_states" +} +aptautotest_aptmark_auto() { testaptmarknodefaultsections "$@"; } +aptautotest_aptmark_manual() { testaptmarknodefaultsections "$@"; } +aptautotest_aptget_markauto() { testaptmarknodefaultsections "$@"; } +aptautotest_aptget_markmanual() { testaptmarknodefaultsections "$@"; } diff --git a/test/integration/header-compilation b/test/integration/header-compilation new file mode 100755 index 0000000..33e0a5c --- /dev/null +++ b/test/integration/header-compilation @@ -0,0 +1,26 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment + +(for i in $TESTDIR/../../build/include/apt-pkg/*.h; do echo "#include \"$i\""; done) > include.h + + +testone() { + local cxx=$1 + shift + + if type $cxx 2>&1 1>/dev/null; then + testsuccess $cxx -c -o /dev/null include.h + testsuccess $cxx -c -o /dev/null -std=c++98 include.h + testsuccess $cxx -c -o /dev/null -std=c++11 include.h + else + msgskip "Compile $cxx is not installed" + fi +} + +testone clang++ +testone g++ +testone g++-4.8 diff --git a/test/integration/joesixpack.pub b/test/integration/joesixpack.pub Binary files differnew file mode 100644 index 0000000..cad0561 --- /dev/null +++ b/test/integration/joesixpack.pub diff --git a/test/integration/joesixpack.sec b/test/integration/joesixpack.sec Binary files differnew file mode 100644 index 0000000..0dc5cd8 --- /dev/null +++ b/test/integration/joesixpack.sec diff --git a/test/integration/keyrings/test-archive-keyring.pub b/test/integration/keyrings/test-archive-keyring.pub Binary files differnew file mode 100644 index 0000000..3251740 --- /dev/null +++ b/test/integration/keyrings/test-archive-keyring.pub diff --git a/test/integration/keyrings/test-archive-keyring.sec b/test/integration/keyrings/test-archive-keyring.sec Binary files differnew file mode 100644 index 0000000..001f795 --- /dev/null +++ b/test/integration/keyrings/test-archive-keyring.sec diff --git a/test/integration/keyrings/test-master-keyring.pub b/test/integration/keyrings/test-master-keyring.pub Binary files differnew file mode 100644 index 0000000..9809d32 --- /dev/null +++ b/test/integration/keyrings/test-master-keyring.pub diff --git a/test/integration/keyrings/test-master-keyring.sec b/test/integration/keyrings/test-master-keyring.sec Binary files differnew file mode 100644 index 0000000..c5c5bfd --- /dev/null +++ b/test/integration/keyrings/test-master-keyring.sec diff --git a/test/integration/marvinparanoid.pub b/test/integration/marvinparanoid.pub Binary files differnew file mode 100644 index 0000000..866dc14 --- /dev/null +++ b/test/integration/marvinparanoid.pub diff --git a/test/integration/marvinparanoid.sec b/test/integration/marvinparanoid.sec Binary files differnew file mode 100644 index 0000000..ace09f7 --- /dev/null +++ b/test/integration/marvinparanoid.sec diff --git a/test/integration/rexexpired.pub b/test/integration/rexexpired.pub Binary files differnew file mode 100644 index 0000000..2d2c81c --- /dev/null +++ b/test/integration/rexexpired.pub diff --git a/test/integration/rexexpired.sec b/test/integration/rexexpired.sec Binary files differnew file mode 100644 index 0000000..c431fd9 --- /dev/null +++ b/test/integration/rexexpired.sec diff --git a/test/integration/run-tests b/test/integration/run-tests new file mode 100755 index 0000000..c1cc780 --- /dev/null +++ b/test/integration/run-tests @@ -0,0 +1,166 @@ +#!/bin/sh +set -e + +TESTTORUN='' +while [ -n "$1" ]; do + if [ "$1" = "-q" ]; then + export MSGLEVEL=2 + elif [ "$1" = "-qq" ]; then + export MSGLEVEL=1 + elif [ "$1" = "-v" ]; then + export MSGLEVEL=4 + elif [ "$1" = '--color=no' ]; then + export MSGCOLOR='NO' + elif [ "$1" = '--color=yes' ]; then + export MSGCOLOR='YES' + elif [ "$1" = '--color' ]; then + export MSGCOLOR="$(echo "$2" | tr 'a-z' 'A-Z')" + shift + elif [ "$1" = '--level' ]; then + export MSGLEVEL=$2 + shift + elif [ "$1" = '-j' ]; then + APT_TEST_JOBS=$2 + shift + elif [ -x "$1" ]; then + TESTTORUN="$1" + else + echo >&2 "WARNING: Unknown parameter »$1« will be ignored" + fi + shift +done +export MSGLEVEL="${MSGLEVEL:-3}" + +if [ "${MSGCOLOR:-YES}" = 'YES' ]; then + if [ ! -t 1 ]; then # but check that we output to a terminal + export MSGCOLOR='NO' + fi +fi +if [ "$MSGCOLOR" != 'NO' ]; then + CTEST='\033[1;32m' + CHIGH='\033[1;35m' + CRESET='\033[0m' +else + CTEST='' + CHIGH='' + CRESET='' +fi + +if [ -n "$TESTTORUN" ]; then + # collecting the output of one test to have it together + OUTPUT="$(mktemp)" + CURRENTTRAP="rm -f \"$OUTPUT\"; $CURRENTTRAP" + trap "$CURRENTTRAP" 0 HUP INT QUIT ILL ABRT FPE SEGV PIPE TERM + { + if [ "$MSGLEVEL" -le 1 ]; then + printf "${TESTTORUN##*/}" + elif [ "$MSGLEVEL" -le 2 ]; then + printf "${CTEST}Testcase ${CHIGH}${TESTTORUN##*/}${CRESET}: " + else + printf "${CTEST}Run Testcase ${CHIGH}${TESTTORUN##*/}${CRESET}\n" + fi + if ! "$TESTTORUN"; then + FAIL='yes' + if [ "$MSGLEVEL" -le 2 ]; then + printf >&2 "\n${CHIGH}Running ${TESTTORUN##*/} -> FAILED${CRESET}\n" + elif [ "$MSGLEVEL" -le 2 ]; then + printf >&2 "\n${CHIGH}Running ${TESTTORUN##*/} -> FAILED${CRESET}" + else + echo >&2 "${CHIGH}Running ${TESTTORUN##*/} -> FAILED${CRESET}" + fi + else + if [ "$MSGLEVEL" -le 1 ]; then + printf " " + fi + fi + if [ "$MSGLEVEL" -le 1 ]; then + : + elif [ "$MSGLEVEL" -le 2 ]; then + echo + fi + } >"$OUTPUT" 2>&1 + # without we end up getting stepped output 'randomly' + stty sane || true + cat >&2 "$OUTPUT" + stty sane || true + if [ "$FAIL" = 'yes' ]; then + exit 1 + else + exit 0 + fi +fi + +FAIL=0 +PASS=0 +ALL=0 +FAILED_TESTS="" +DIR="$(readlink -f "$(dirname "$0")")" +cd "$DIR" +TESTLIST="$(find . -mindepth 1 -maxdepth 1 -regex '^\./test-[^/]*$' | sort)" +if [ -n "$APT_TEST_JOBS" ]; then + if [ "$MSGCOLOR" != 'NO' ]; then + export MSGCOLOR='ALWAYS' + fi + parallel=parallel + if command -v moreutils-parallel >/dev/null 2>&1; then + parallel=moreutils-parallel + elif command -v parallel.moreutils >/dev/null 2>&1; then + parallel=parallel.moreutils + fi + exec $parallel -j "$APT_TEST_JOBS" "./$(basename "$0")" -- $(echo "$TESTLIST") +fi + +APT_TEST_SIGNINGHOME="$(mktemp --directory --tmpdir 'apt-key-signinghome.XXXXXXXXXX')" +removesigninghome() { + if [ -z "$APT_TEST_SIGNINGHOME" ]; then return; fi + GNUPGHOME="${APT_TEST_SIGNINGHOME}" gpgconf --kill gpg-agent >/dev/null 2>&1 || true + rm -rf -- "$APT_TEST_SIGNINGHOME" +} +trap "exit 1" 0 HUP INT ILL ABRT FPE SEGV PIPE TERM +trap "removesigninghome" 0 QUIT +export APT_TEST_SIGNINGHOME + +TOTAL="$(echo "$TESTLIST" | wc -l)" +if [ "$MSGLEVEL" -le 1 ]; then + printf "${CTEST}Running testcases${CRESET}: " +fi +for testcase in $TESTLIST; do + if [ "$MSGLEVEL" -le 1 ]; then + printf "${testcase##*/}" + elif [ "$MSGLEVEL" -le 2 ]; then + printf "($(($ALL+1))/${TOTAL}) ${CTEST}Testcase ${CHIGH}${testcase##*/}${CRESET}: " + else + printf "${CTEST}Run Testcase ($(($ALL+1))/${TOTAL}) ${CHIGH}${testcase##*/}${CRESET}\n" + fi + if ! ${testcase}; then + FAIL=$((FAIL+1)) + FAILED_TESTS="$FAILED_TESTS ${testcase##*/}" + if [ "$MSGLEVEL" -le 1 ]; then + printf >&2 "\n${CHIGH}Running ${testcase##*/} -> FAILED${CRESET}\n" + elif [ "$MSGLEVEL" -le 2 ]; then + printf >&2 "\n${CHIGH}Running ${testcase##*/} -> FAILED${CRESET}" + else + echo >&2 "${CHIGH}Running ${testcase##*/} -> FAILED${CRESET}" + fi + else + PASS=$((PASS+1)) + if [ "$MSGLEVEL" -le 1 ]; then + printf " " + fi + fi + ALL=$((ALL+1)) + if [ "$MSGLEVEL" -le 1 ]; then + : + elif [ "$MSGLEVEL" -le 2 ]; then + echo + fi +done + +echo >&2 "Statistics: $ALL tests were run: $PASS successfully and $FAIL failed" +if [ -n "$FAILED_TESTS" ]; then + echo >&2 "Failed tests: $FAILED_TESTS" +else + echo >&2 'All tests seem to have been run successfully. What could possibly go wrong?' +fi +# ensure we don't overflow +exit $((FAIL <= 255 ? FAIL : 255)) diff --git a/test/integration/sebastiansubkey.master.sec b/test/integration/sebastiansubkey.master.sec Binary files differnew file mode 100644 index 0000000..4d86fb9 --- /dev/null +++ b/test/integration/sebastiansubkey.master.sec diff --git a/test/integration/sebastiansubkey.pub b/test/integration/sebastiansubkey.pub Binary files differnew file mode 100644 index 0000000..c5f198c --- /dev/null +++ b/test/integration/sebastiansubkey.pub diff --git a/test/integration/sebastiansubkey.sec b/test/integration/sebastiansubkey.sec Binary files differnew file mode 100644 index 0000000..fd40889 --- /dev/null +++ b/test/integration/sebastiansubkey.sec diff --git a/test/integration/skip-acquire-same-repository-multiple-times b/test/integration/skip-acquire-same-repository-multiple-times new file mode 100755 index 0000000..c8372bd --- /dev/null +++ b/test/integration/skip-acquire-same-repository-multiple-times @@ -0,0 +1,85 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +TESTFILE="$TESTDIR/framework" +cp "$TESTFILE" aptarchive/foo +APTARCHIVE="$(readlink -f ./aptarchive)" + +getcodenamefromsuite() { echo "jessie"; } +buildsimplenativepackage 'foo' 'all' '1.0' 'stable' +setupaptarchive --no-update +ln -s "${APTARCHIVE}/dists/stable" "${APTARCHIVE}/dists/jessie" +for FILE in rootdir/etc/apt/sources.list.d/*-stable-* ; do + sed 's#stable#jessie#g' $FILE > $(echo "$FILE" | sed 's#stable#jessie#g') +done + +# install a slowed down file: otherwise its to fast to reproduce combining +NEWMETHODS="$(readlink -f rootdir)/usr/lib/apt/methods" +OLDMETHODS="$(readlink -f rootdir/usr/lib/apt/methods)" +rm "$NEWMETHODS" +mkdir "$NEWMETHODS" +backupIFS="$IFS" +IFS="$(printf "\n\b")" +for METH in $(find "$OLDMETHODS" ! -type d); do + ln -s "$OLDMETHODS/$(basename "$METH")" "$NEWMETHODS" +done +IFS="$backupIFS" +rm "${NEWMETHODS}/file" "${NEWMETHODS}/http" +cat >"${NEWMETHODS}/file" <<EOF +#!/bin/sh +while read line; do + echo "\$line" + if [ -z "\$line" ]; then + sleep 0.5 + fi +done | '$OLDMETHODS/'"\${0##*/}" +EOF +chmod +x "${NEWMETHODS}/file" +ln -s "${NEWMETHODS}/file" "${NEWMETHODS}/http" + +tworepos() { + msgtest "Downloading the same repository twice over $1" "$3" + testsuccess --nomsg aptget update -o Debug::pkgAcquire::Worker=1 + cp rootdir/tmp/testsuccess.output download.log + #cat download.log + aptget indextargets --format '$(FILENAME)' --no-release-info | sort > file.lst + testequal "$(find "$(readlink -f ./rootdir/var/lib/apt/lists)" -name '*_dists_*' \( ! -name '*InRelease' \) -type f | sort)" cat file.lst + testsuccess aptcache policy + testequal "foo: + Installed: (none) + Candidate: 1.0 + Version table: + 1.0 500 + 500 $1:$2 jessie/main all Packages + 500 $1:$2 stable/main all Packages" aptcache policy foo + testfailure aptcache show foo/unstable + testsuccess aptcache show foo/stable + testsuccess aptcache show foo/jessie +} + +tworepos 'file' "$APTARCHIVE" 'no partial' +testequal '14' grep -c '200%20URI%20Start' ./download.log +testequal '14' grep -c '201%20URI%20Done' ./download.log +testequal '8' grep -c '^ @ Queue: Action combined' ./download.log +tworepos 'file' "$APTARCHIVE" 'hit' +testequal '6' grep -c '200%20URI%20Start' ./download.log +testequal '6' grep -c '201%20URI%20Done' ./download.log +testequal '0' grep -c '^ @ Queue: Action combined' ./download.log +rm -rf rootdir/var/lib/apt/lists + +changetowebserver + +tworepos 'http' "//localhost:${APTHTTPPORT}" 'no partial' +testequal '12' grep -c '200%20URI%20Start' ./download.log +testequal '12' grep -c '201%20URI%20Done' ./download.log +testequal '8' grep -c '^ @ Queue: Action combined' ./download.log +tworepos 'http' "//localhost:${APTHTTPPORT}" 'hit' +testequal '2' grep -c '200%20URI%20Start' ./download.log +testequal '4' grep -c '201%20URI%20Done' ./download.log +testequal '0' grep -c '^ @ Queue: Action combined' ./download.log +rm -rf rootdir/var/lib/apt/lists diff --git a/test/integration/skip-apt-download-progress b/test/integration/skip-apt-download-progress new file mode 100755 index 0000000..13a18f7 --- /dev/null +++ b/test/integration/skip-apt-download-progress @@ -0,0 +1,48 @@ +#!/bin/sh +# +# ensure downloading sends progress as a regression test for commit 9127d7ae +# +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +changetohttpswebserver + +assertprogress() { + testsuccess grep "dlstatus:1:0.0000:Retrieving file 1 of 1" "$1" + testsuccess grep -E "dlstatus:1:[1-9][0-9]{0,1}\.[0-9]{1,4}:Retrieving file 1 of 1" "$1" + testsuccess grep "dlstatus:1:100.0000:Retrieving file 1 of 1" "$1" +} + +# we need to ensure the file is reasonable big so that apt has a chance to +# actually report progress - but not too big to ensure its not delaying the +# test too much +TESTFILE=testfile.big +testsuccess dd if=/dev/zero of=./aptarchive/$TESTFILE bs=1600k count=1 + +OPT='-o APT::Status-Fd=3 -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::http=1 -o Debug::Acquire::https=1' + +msgtest 'download progress works via' 'http' +for i in 2 5 7 10 12 15; do + exec 3> apt-progress-http.log + testsuccess --nomsg apthelper download-file "http://localhost:${APTHTTPPORT}/$TESTFILE" ./downloaded/http-$TESTFILE $OPT -o Acquire::http::Dl-Limit=$((1600/i)) + if [ "$(wc -l apt-progress-http.log | awk '{print $1}')" -ge 3 ]; then + break + fi +done +assertprogress apt-progress-http.log + +msgtest 'download progress works via' 'https' +for i in 2 5 7 10 12 15; do + exec 3> apt-progress-https.log + testsuccess --nomsg apthelper download-file "https://localhost:${APTHTTPSPORT}/$TESTFILE" ./downloaded/https-$TESTFILE $OPT -o Acquire::https::Dl-Limit=$((1600/i)) + if [ "$(wc -l apt-progress-https.log | awk '{print $1}')" -ge 3 ]; then + break + fi +done +assertprogress apt-progress-https.log + +# cleanup +rm -f apt-progress*.log diff --git a/test/integration/skip-apt-dropprivs b/test/integration/skip-apt-dropprivs new file mode 100755 index 0000000..e0dd741 --- /dev/null +++ b/test/integration/skip-apt-dropprivs @@ -0,0 +1,32 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' + +aptdropprivs() { runapt "${APTTESTHELPERSBINDIR}/aptdropprivs" "$@"; } + +testsuccess aptdropprivs -- /bin/true +testsuccess aptdropprivs --user "$USER" -- /bin/true +testsuccess aptdropprivs --user 'nobody' -- /bin/true +testsuccess aptdropprivs --user '_apt' -- /bin/true + +IDBIN='/usr/bin/id' +testsuccessequal "$("$IDBIN")" aptdropprivs --user "$USER" -- "$IDBIN" + +SUDOBIN='/usr/bin/sudo' +testequal "sudo: effective uid is not 0, is /usr/bin/sudo on a file system with the 'nosuid' option set or an NFS file system without root privileges?" aptdropprivs --user 'nobody' -- "$SUDOBIN" "$IDBIN" + +if [ "$(id -u)" = '0' ]; then + testsuccessequal '_apt' aptdropprivs --user '_apt' -- "$IDBIN" '-un' + testsuccess aptdropprivs --user '_apt' -- '/bin/sh' '-c' 'export' + cp rootdir/tmp/testsuccess.output apt.env + testsuccessequal "export HOME='/nonexistent'" grep '^export HOME' apt.env + testsuccessequal "export USER='_apt' +export USERNAME='_apt'" grep '^export USER' apt.env + testsuccessequal "export LOGNAME='_apt'" grep '^export LOGNAME' apt.env + testsuccessequal "export SHELL='/bin/sh'" grep '^export SHELL=' apt.env +fi diff --git a/test/integration/skip-avoid-avoiding-breaks-predepends b/test/integration/skip-avoid-avoiding-breaks-predepends new file mode 100755 index 0000000..0697ff4 --- /dev/null +++ b/test/integration/skip-avoid-avoiding-breaks-predepends @@ -0,0 +1,21 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'native' + +insertinstalledpackage 'looping' 'native' '1' +insertinstalledpackage 'loop1' 'native' '1' 'Depends: loop2 (= 1)' +insertinstalledpackage 'loop2' 'native' '1' 'Depends: loop1 (= 1)' + +buildsimplenativepackage 'looping' 'native' '1.15.7.2' 'stable' 'Breaks: loop2 (<= 1)' +buildsimplenativepackage 'loop1' 'native' '2' 'stable' 'Depends: loop2 (= 2)' +buildsimplenativepackage 'loop2' 'native' '2' 'stable' 'Depends: loop1 (= 2) +Pre-Depends: looping (>= 1.15)' + +setupaptarchive + +aptget dist-upgrade -y -o Debug::pkgOrderList=1 #-qq >/dev/null 2>&1 +testdpkginstalled looping loop1 loop2 diff --git a/test/integration/skip-bug-601016-description-translation b/test/integration/skip-bug-601016-description-translation new file mode 100755 index 0000000..3f68ce2 --- /dev/null +++ b/test/integration/skip-bug-601016-description-translation @@ -0,0 +1,134 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' 'amd64' + +# we need a valid locale here, otherwise the language configuration +# will be overridden by LC_ALL=C +LOCALE="$(echo "$LANG" | cut -d'_' -f 1)" +MD5Sum='Description-md5: d41ee493aa9fcc6cbc9ce4eb7069959c' + +PACKAGESTANZA='Package: apt +Priority: important +Section: admin +Installed-Size: 5984 +Maintainer: APT Development Team <deity@lists.debian.org> +Architecture: i386 +Version: 0.8.7 +Filename: pool/main/a/apt/apt_0.8.7_i386.deb +Size: 2140230 +MD5sum: 74769bfbcef9ebc4fa74f7a5271b9c08' + +PACKAGESTANZA2='Package: apt +Priority: important +Section: admin +Installed-Size: 5984 +Maintainer: APT Development Team <deity@lists.debian.org> +Architecture: amd64 +Version: 0.8.7 +Filename: pool/main/a/apt/apt_0.8.7_amd64.deb +Size: 2210342 +MD5sum: 4a869bfbdef9ebc9fa74f7a5271e8d1a' + +echo "$PACKAGESTANZA +Description: Advanced front-end for dpkg +$MD5Sum + +$PACKAGESTANZA2 +Description: Advanced front-end for dpkg +$MD5Sum" > aptarchive/Packages + +echo "Package: apt +Description-${LOCALE}: Mächtige Oberfläche für dpkg + Das Paket bietet dem Nutzer technisch führende Methoden für den Zugriff + auf den dpkg-Paketmanager. Es beinhaltet das apt-get-Werkzeug und die + APT-Dselect-Methode. Beides sind einfache und sicherere Wege, + um Pakete zu installieren und Upgrades durchzuführen. +$MD5Sum" > "aptarchive/${LOCALE}" + +# add our $LOCALE translation file explicitly to be picked up by apt-ftparchive +echo "APT::FTPArchive::Release::Patterns:: \"en\"; +APT::FTPArchive::Release::Patterns:: \"${LOCALE}\";" > rootdir/etc/apt/apt.conf.d/ftparchivepattern + +NOLONGSTANZA="$PACKAGESTANZA +Description: Advanced front-end for dpkg +$MD5Sum +" + +ENGLISHSTANZA="$PACKAGESTANZA +Description: Advanced front-end for dpkg +$MD5Sum +" + +LOCALESTANZA="$PACKAGESTANZA +Description-${LOCALE}: Mächtige Oberfläche für dpkg + Das Paket bietet dem Nutzer technisch führende Methoden für den Zugriff + auf den dpkg-Paketmanager. Es beinhaltet das apt-get-Werkzeug und die + APT-Dselect-Methode. Beides sind einfache und sicherere Wege, + um Pakete zu installieren und Upgrades durchzuführen. +$MD5Sum +" +LOCALESTANZA2="$PACKAGESTANZA2 +Description-${LOCALE}: Mächtige Oberfläche für dpkg + Das Paket bietet dem Nutzer technisch führende Methoden für den Zugriff + auf den dpkg-Paketmanager. Es beinhaltet das apt-get-Werkzeug und die + APT-Dselect-Methode. Beides sind einfache und sicherere Wege, + um Pakete zu installieren und Upgrades durchzuführen. +$MD5Sum +" + +testrun() { + echo "Acquire::Languages { \"${LOCALE}\"; \"en\"; };" > rootdir/etc/apt/apt.conf.d/00languages + export LC_ALL="" + rm -rf rootdir/var/lib/apt/lists + setupaptarchive + testequal "$LOCALESTANZA" aptcache show apt -o Test=File-${LOCALE} + testequal "$LOCALESTANZA" aptcache show apt:i386 -o Test=File-${LOCALE} + testequal "$LOCALESTANZA2" aptcache show apt:amd64 -o Test=File-${LOCALE} + testequal "$NOLONGSTANZA" aptcache show apt -o Acquire::Languages="ww" -o Test=File-${LOCALE} + testequal "$LOCALESTANZA" aptcache show apt -o Acquire::Languages::="ww" -o Test=File-${LOCALE} + LC_ALL=C.UTF-8 testequal "$LOCALESTANZA" aptcache show apt -o Test=File-${LOCALE} + LC_ALL=C.UTF-8 testequal "$ENGLISHSTANZA" aptcache show apt -o Test=File-${LOCALE} -o Acquire::Languages="environment,${LOCALE}" + export LC_ALL="" + echo "Acquire::Languages { \"ww\"; \"${LOCALE}\"; \"en\"; };" > rootdir/etc/apt/apt.conf.d/00languages + testequal "$LOCALESTANZA" aptcache show apt -o Test=File-ww-${LOCALE} + echo "Acquire::Languages { \"ww\"; \"en\"; };" > rootdir/etc/apt/apt.conf.d/00languages + testequal "$ENGLISHSTANZA" aptcache show apt -o Test=File-ww +} + +testrun + +echo "$PACKAGESTANZA +Description: Advanced front-end for dpkg +$MD5Sum + +$PACKAGESTANZA2 +Description: Advanced front-end for dpkg +$MD5Sum" > aptarchive/Packages + +echo "Package: apt +Description-en: Advanced front-end for dpkg + This is Debian's next generation front-end for the dpkg package manager. + It provides the apt-get utility and APT dselect method that provides a + simpler, safer way to install and upgrade packages. +$MD5Sum" > aptarchive/en + +ENGLISHSTANZA="$PACKAGESTANZA +Description-en: Advanced front-end for dpkg + This is Debian's next generation front-end for the dpkg package manager. + It provides the apt-get utility and APT dselect method that provides a + simpler, safer way to install and upgrade packages. +$MD5Sum +" +ENGLISHSTANZA2="$PACKAGESTANZA2 +Description-en: Advanced front-end for dpkg + This is Debian's next generation front-end for the dpkg package manager. + It provides the apt-get utility and APT dselect method that provides a + simpler, safer way to install and upgrade packages. +$MD5Sum +" + +testrun diff --git a/test/integration/skip-bug-711456-apt-cdrom-multiple-cds-multiarch b/test/integration/skip-bug-711456-apt-cdrom-multiple-cds-multiarch new file mode 100755 index 0000000..9abaee1 --- /dev/null +++ b/test/integration/skip-bug-711456-apt-cdrom-multiple-cds-multiarch @@ -0,0 +1,47 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' + +buildsimplenativepackage 'testing' 'amd64,i386' '0.8.15' 'stable' 'Depends: libtest' +buildsimplenativepackage 'libtest' 'amd64,i386' '0.8.15' 'stable' 'Multi-Arch: same' +buildsimplenativepackage 'libtest' 'amd64,i386' '1' 'unstable' 'Multi-Arch: same' + +# needed by the ftparchive.conf +cd aptarchive +ln -s ../incoming pool +createaptftparchiveconfig +cd - >/dev/null +# create an amd64 cdrom +sed -i 's#Architectures .*$#Architectures "amd64 source";#' aptarchive/ftparchive.conf +setupaptarchive --no-update +changetocdrom 'Debian APT Testdisk amd64 0.8.15' +mv rootdir/media/cdrom rootdir/media/cdrom-amd64 +addtrap 'prefix' "chmod -R +w $PWD/rootdir/media/cdrom-amd64/dists/;" +chmod -R -w rootdir/media/cdrom-amd64/dists +ln -s $PWD/rootdir/media/cdrom-amd64 $PWD/rootdir/media/cdrom +aptcdrom add -m -o quiet=1 +rm $PWD/rootdir/media/cdrom +# do it again to create a i386 cdrom +sed -i 's#Architectures .*$#Architectures "i386 source";#' aptarchive/ftparchive.conf +setupaptarchive --no-update +changetocdrom 'Debian APT Testdisk i386 0.8.15' +mv rootdir/media/cdrom rootdir/media/cdrom-i386 +addtrap 'prefix' "chmod -R +w $PWD/rootdir/media/cdrom-i386/dists/;" +chmod -R -w rootdir/media/cdrom-i386/dists +ln -s $PWD/rootdir/media/cdrom-i386 $PWD/rootdir/media/cdrom +aptcdrom add -m -o quiet=1 + +# play with the cdroms +testdpkgnotinstalled testing +aptget install testing -t stable -y #> /dev/null 2>&1 +testdpkginstalled testing + +testdpkgnotinstalled testing:i386 +aptget install testing:i386 -t stable -y #> /dev/null 2>&1 +testdpkginstalled testing:i386 + +aptget dist-upgrade -y diff --git a/test/integration/skip-method-http-socks-client b/test/integration/skip-method-http-socks-client new file mode 100755 index 0000000..b9e8393 --- /dev/null +++ b/test/integration/skip-method-http-socks-client @@ -0,0 +1,181 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment + +# We don't do a real proxy here, we just look how the implementation +# reacts to certain responses from a "proxy" provided by socat +# Checks HTTP, but requesting https instead will check HTTPS (curl) which +# uses different error messages through – also: https://github.com/curl/curl/issues/944 + +# FIXME: Not run automatically as it uses a hardcoded port (5555) + +msgtest 'Check that everything is installed' 'socat' +if dpkg-checkbuilddeps -d 'socat' /dev/null >/dev/null 2>&1; then + msgpass +else + msgskip "$(command dpkg -l socat)" + exit +fi + +runclient() { + # this doesn't need to be an actually reachable webserver for this test + # in fact, its better if it isn't. + rm -f index.html + apthelper download-file "http://${2:-localhost:2903}/" index.html \ + -o Acquire::http::Proxy="socks5h://${1}localhost:5555" \ + -o Acquire::http::Timeout=2 -o Debug::Acquire::http=1 > client.output 2>&1 || true +} +runserver() { + socat -x tcp-listen:5555,reuseaddr \ + system:"echo -n '$*' | xxd -r -p; echo 'HTTP/1.1 200 OK'; echo 'Content-Length: 5'; echo 'Connection: close'; echo; echo 'HTML'" \ + > server.output 2>&1 & +} +PROXY="socks5h://localhost:5555" + +msgmsg 'SOCKS does not run' +runclient +testsuccess grep 'Could not connect to localhost:5555' client.output + +msgmsg 'SOCKS greets back with wrong version' +runserver '04 00' +runclient +testsuccess grep 'greets back with wrong version: 4' client.output + +msgmsg 'SOCKS tries GSSAPI auth we have not advertised' +runserver '05 01' +runclient +testsuccess grep 'greets back having not found a common authorization method: 1' client.output + +msgmsg 'SOCKS tries user&pass auth we have not advertised' +runserver '05 02' +runclient +testsuccess grep 'pass auth, but we had not offered it' client.output + +msgmsg 'SOCKS user:pass wrong version' +runserver '05 02' '05 00' +runclient 'user:pass@' +testsuccess grep 'auth status response with wrong version: 5' client.output + +msgmsg 'SOCKS user:pass wrong auth' +runserver '05 02' '01 01' +runclient 'user:pass@' +testsuccess grep 'reported authorization failure: username or password incorrect? (1)' client.output + +msgmsg 'SOCKS user:pass request not granted no hostname' +runserver '05 02' '01 00' '05 01 00 03 00 1f 90' +runclient 'user:pass@' +testsuccess grep 'could not connect to localhost (:8080) due to: general SOCKS server failure (1)' client.output + +msgmsg 'SOCKS user:pass request not granted with hostname' +runserver '05 02' '01 00' '05 01 00 03 09 68 6f 73 74 6c 6f 63 61 6c 1f 90' +runclient 'user:pass@' +testsuccess grep 'could not connect to localhost (hostlocal:8080) due to: general SOCKS server failure (1)' client.output + +msgmsg 'SOCKS user:pass request not granted ipv4' +runserver '05 02' '01 00' '05 04 00 01 ac 10 fe 01 1f 90' +runclient 'user:pass@' +testsuccess grep 'could not connect to localhost (172.16.254.1:8080) due to: Host unreachable (4)' client.output + +msgmsg 'SOCKS user:pass request not granted ipv6' +runserver '05 02' '01 00' '05 12 00 04 20 01 0d b8 ac 10 fe 00 00 00 00 00 00 00 00 00 1f 90' +runclient 'user:pass@' +testsuccess grep 'could not connect to localhost (\[2001:0DB8:AC10:FE00:0000:0000:0000:0000\]:8080) due to: Unknown error (18)' client.output + +msgmsg 'SOCKS user:pass request granted ipv4' +runserver '05 02' '01 00' '05 00 00 01 ac 10 fe 01 1f 90' +runclient 'user:pass@' +testequal "http: SOCKS proxy $PROXY connection established to localhost (172.16.254.1:8080)" head -n 1 client.output +testfileequal index.html 'HTML' + +msgmsg 'SOCKS user:pass request granted ipv6' +runserver '05 02' '01 00' '05 00 00 04 20 01 0d b8 ac 10 fe 00 00 00 00 00 00 00 00 00 1f 90' +runclient 'user:pass@' +testequal "http: SOCKS proxy $PROXY connection established to localhost ([2001:0DB8:AC10:FE00:0000:0000:0000:0000]:8080)" head -n 1 client.output +testfileequal index.html 'HTML' + +msgmsg 'SOCKS no auth no hostname' +runserver '05 00 05 00 00 03 00 1f 90' +runclient +testequal "http: SOCKS proxy $PROXY connection established to localhost (:8080)" head -n 1 client.output +testfileequal index.html 'HTML' + +msgmsg 'SOCKS no auth with hostname' +runserver '05 00 05 00 00 03 09 68 6f 73 74 6c 6f 63 61 6c 1f 90' +runclient +testequal "http: SOCKS proxy $PROXY connection established to localhost (hostlocal:8080)" head -n 1 client.output +testfileequal index.html 'HTML' + +msgmsg 'SOCKS user-only request granted ipv4' +runserver '05 02' '01 00' '05 00 00 01 ac 10 fe 01 1f 90' +runclient 'apt@' +testequal "http: SOCKS proxy $PROXY connection established to localhost (172.16.254.1:8080)" head -n 1 client.output +testfileequal index.html 'HTML' + +msgmsg 'tor: SOCKS user:pass request not granted' +runserver '05 02' '01 00' '05 04 00 01 00 00 00 00 00 00' +runclient 'user:pass@' +testsuccess grep 'could not connect to localhost (0.0.0.0:0) due to: Host unreachable (4)' client.output + +msgmsg 'tor: SOCKS user:pass request tll expired' +runserver '05 02' '01 00' '05 06 00 01 00 00 00 00 00 00' +runclient 'user:pass@' +testsuccess grep 'could not connect to localhost (0.0.0.0:0) due to: TTL expired (6)' client.output + +msgmsg 'tor: SOCKS user:pass request service unreachable' +runserver '05 02' '01 00' '05 06 00 01 00 00 00 00 00 00' +runclient 'user:pass@' 'vwakviie2ienjx6t.onion' +testsuccess grep 'could not connect to vwakviie2ienjx6t.onion (0.0.0.0:0) due to: Host unreachable (6)' client.output + +msgmsg 'tor: SOCKS user:pass request not granted onion' +runserver '05 02' '01 00' '05 01 00 01 00 00 00 00 00 00' +runclient 'user:pass@' 'vwakviie2ienjx6t.onion' +testsuccess grep 'could not connect to vwakviie2ienjx6t.onion (0.0.0.0:0) due to: general SOCKS server failure (1)' client.output + +msgmsg 'tor: SOCKS user:pass request not granted subdomain' +runserver '05 02' '01 00' '05 01 00 01 00 00 00 00 00 00' +runclient 'user:pass@' 'ftp.vwakviie2ienjx6t.onion' +testsuccess grep 'could not connect to ftp.vwakviie2ienjx6t.onion (0.0.0.0:0) due to: general SOCKS server failure (1)' client.output + +msgmsg 'tor: SOCKS user:pass request not granted too short' +runserver '05 02' '01 00' '05 01 00 01 00 00 00 00 00 00' +runclient 'user:pass@' 'wakviie2ienjx6t.onion' +testsuccess grep 'could not connect to wakviie2ienjx6t.onion (0.0.0.0:0) due to: Invalid hostname: onion service name must be either 16 or 56 characters long (1)' client.output + +msgmsg 'tor: SOCKS user:pass request not granted too long' +runserver '05 02' '01 00' '05 01 00 01 00 00 00 00 00 00' +runclient 'user:pass@' 'vwakviie2ienjx6t2.onion' +testsuccess grep 'could not connect to vwakviie2ienjx6t2.onion (0.0.0.0:0) due to: Invalid hostname: onion service name must be either 16 or 56 characters long (1)' client.output + +msgmsg 'tor: SOCKS user:pass request not granted too short subdomain' +runserver '05 02' '01 00' '05 01 00 01 00 00 00 00 00 00' +runclient 'user:pass@' 'a.akviie2ienjx6t.onion' +testsuccess grep 'could not connect to a.akviie2ienjx6t.onion (0.0.0.0:0) due to: Invalid hostname: onion service name must be either 16 or 56 characters long (1)' client.output + +msgmsg 'tor: SOCKS user:pass request not granted too short subdomains' +runserver '05 02' '01 00' '05 01 00 01 00 00 00 00 00 00' +runclient 'user:pass@' 'a.a.viie2ienjx6t.onion' +testsuccess grep 'could not connect to a.a.viie2ienjx6t.onion (0.0.0.0:0) due to: Invalid hostname: onion service name must be either 16 or 56 characters long (1)' client.output + +msgmsg 'tor: SOCKS user:pass request not granted too short' +runserver '05 02' '01 00' '05 01 00 01 00 00 00 00 00 00' +runclient 'user:pass@' 'l5satjgud6gucryazcyvyvhuxhr74u6ygigiuyixe3a6ysis67oro.onion' +testsuccess grep 'could not connect to l5satjgud6gucryazcyvyvhuxhr74u6ygigiuyixe3a6ysis67oro.onion (0.0.0.0:0) due to: Invalid hostname: onion service name must be either 16 or 56 characters long (1)' client.output + +msgmsg 'tor: SOCKS user:pass request not granted too long' +runserver '05 02' '01 00' '05 01 00 01 00 00 00 00 00 00' +runclient 'user:pass@' 'l5satjgud6gucryazcyvyvhuxhr74u6ygigiuyixe3a6ysis67ororad2.onion' +testsuccess grep 'could not connect to l5satjgud6gucryazcyvyvhuxhr74u6ygigiuyixe3a6ysis67ororad2.onion (0.0.0.0:0) due to: Invalid hostname: onion service name must be either 16 or 56 characters long (1)' client.output + +msgmsg 'tor: SOCKS user:pass request not granted too short subdomain' +runserver '05 02' '01 00' '05 01 00 01 00 00 00 00 00 00' +runclient 'user:pass@' 'a.satjgud6gucryazcyvyvhuxhr74u6ygigiuyixe3a6ysis67ororad.onion' +testsuccess grep 'could not connect to a.satjgud6gucryazcyvyvhuxhr74u6ygigiuyixe3a6ysis67ororad.onion (0.0.0.0:0) due to: Invalid hostname: onion service name must be either 16 or 56 characters long (1)' client.output + +msgmsg 'tor: SOCKS user:pass request not granted too short subdomains' +runserver '05 02' '01 00' '05 01 00 01 00 00 00 00 00 00' +runclient 'user:pass@' 'a.a.tjgud6gucryazcyvyvhuxhr74u6ygigiuyixe3a6ysis67ororad.onion' +testsuccess grep 'could not connect to a.a.tjgud6gucryazcyvyvhuxhr74u6ygigiuyixe3a6ysis67ororad.onion (0.0.0.0:0) due to: Invalid hostname: onion service name must be either 16 or 56 characters long (1)' client.output diff --git a/test/integration/status-bug-590438-broken-provides-thanks-to-remove-order b/test/integration/status-bug-590438-broken-provides-thanks-to-remove-order new file mode 100644 index 0000000..c2c03c0 --- /dev/null +++ b/test/integration/status-bug-590438-broken-provides-thanks-to-remove-order @@ -0,0 +1,97 @@ +Package: libc-bin +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 1516 +Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> +Architecture: i386 +Source: eglibc +Version: 2.11.2-2 +Replaces: libc0.1, libc0.3, libc6, libc6.1 +Breaks: libc0.1 (<< 2.10), libc0.3 (<< 2.10), libc6 (<< 2.10), libc6.1 (<< 2.10) +Filename: pool/main/e/eglibc/libc-bin_2.11.2-2_i386.deb +Size: 703542 +MD5sum: f554ec34c092bb8e52e3d917bec7b46c +SHA1: 4d5ba53b50937b1d50e3234e45335de5ea97b84b +SHA256: 4f1e6430a730321209bb6b9cf89ba8a72c95f5c93f3e263a982251b3cc8beb14 +Description-de: Die »Embedded GNU C Library«: Binärdateien +Homepage: http://www.eglibc.org +Tag: devel::lang:c, devel::packaging, implemented-in::c, interface::commandline, role::program, scope::utility, special::auto-inst-parts, suite::gnu, works-with::text, works-with::unicode + +Package: libc6 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 9340 +Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> +Architecture: i386 +Source: eglibc +Version: 2.11.2-2 +Provides: glibc-2.11-1 +Depends: libc-bin (= 2.11.2-2), libgcc1 +Recommends: libc6-i686 +Suggests: glibc-doc, debconf | debconf-2.0, locales +Conflicts: tzdata (<< 2007k-1), tzdata-etch +Breaks: locales (<< 2.11), locales-all (<< 2.11), nscd (<< 2.11) +Filename: pool/main/e/eglibc/libc6_2.11.2-2_i386.deb +Size: 3877166 +MD5sum: 3d8fe972a359ad362ac1957c2687e5c2 +SHA1: cd901f3265254e40ad198b935877f546eeaa8403 +SHA256: e1bc3da1e11f9b742d05f927362e2079482db4186ff45af9f937d284e112e7e5 +Description-de: Die »Embedded GNU C Library«: Laufzeitbibliotheken +Homepage: http://www.eglibc.org +Tag: devel::lang:c, devel::library, implemented-in::c, protocol::ipv6, role::shared-lib, suite::gnu + +Package: mawk +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 228 +Maintainer: Steve Langasek <vorlon@debian.org> +Architecture: i386 +Version: 1.3.3-15 +Provides: awk +Pre-Depends: libc6 (>= 2.1) +Filename: pool/main/m/mawk/mawk_1.3.3-15_i386.deb +Size: 81430 +MD5sum: e0f9e9903a862a52b5f107d560c4d8e0 +SHA1: cca3b3ea3a57b9c3c136fb538a4fb06a99d1a33e +SHA256: 7449b10ffb6a8636a249ad6866188cad0040a6a446fb4a3a71d81fd136297ee6 +Description-de: Eine Muster- und Textverarbeitungssprache +Tag: devel::interpreter, implemented-in::c, interface::commandline, role::program, scope::utility, use::filtering, use::scanning, works-with::text + +Package: gcc-4.5-base +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 172 +Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org> +Architecture: i386 +Source: gcc-4.5 +Version: 4.5.0-8 +Filename: pool/main/g/gcc-4.5/gcc-4.5-base_4.5.0-8_i386.deb +Size: 117894 +MD5sum: f5850c42681fcfee3429a1b43da68433 +SHA1: 0548343feba69c4c01d5dbf147393d8dc27605ac +SHA256: 04b60f5fe24b7397e3be233051615ff9addb66d4581578f67fde76f5d7f69f7a +Description: The GNU Compiler Collection (base package) +Homepage: http://gcc.gnu.org/ + +Package: libgcc1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 148 +Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org> +Architecture: i386 +Source: gcc-4.5 (4.5.0-8) +Version: 1:4.5.0-8 +Depends: gcc-4.5-base (= 4.5.0-8), libc6 (>= 2.2.4) +Filename: pool/main/g/gcc-4.5/libgcc1_4.5.0-8_i386.deb +Size: 52190 +MD5sum: beda956a1dcdeffed11072c2d0f3eb83 +SHA1: 7117ec43eec7982a030fcc9a12d4772de3fcdba0 +SHA256: 1d10bd532adce8683b475fcc60c22300f717ef19bf84dc5bf43b07e504f85dcb +Description: GCC support library +Homepage: http://gcc.gnu.org/ + diff --git a/test/integration/status-bug-591882-conkeror b/test/integration/status-bug-591882-conkeror new file mode 100644 index 0000000..f05ac81 --- /dev/null +++ b/test/integration/status-bug-591882-conkeror @@ -0,0 +1,1357 @@ +Package: conkeror +Status: install ok installed +Priority: extra +Section: web +Installed-Size: 1044 +Maintainer: Axel Beckert <abe@deuxchevaux.org> +Architecture: all +Version: 0.9~git080629-2 +Provides: www-browser +Depends: xulrunner (>= 1.9~) | xulrunner-1.9 +Recommends: conkeror-spawn-process-helper +Suggests: emacs | emacsen +Description: keyboard focused web browser with Emacs look and feel + +Package: coreutils +Essential: yes +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 10032 +Maintainer: Michael Stone <mstone@debian.org> +Architecture: i386 +Version: 6.10-6 +Replaces: textutils, shellutils, fileutils, stat, debianutils (<= 2.3.1), dpkg (<< 1.13.2) +Provides: textutils, shellutils, fileutils +Pre-Depends: libacl1 (>= 2.2.11-1), libc6 (>= 2.6.1-1), libselinux1 (>= 2.0.15) +Conflicts: stat +Description: The GNU core utilities + +Package: debconf-i18n +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 1100 +Maintainer: Debconf Developers <debconf-devel@lists.alioth.debian.org> +Architecture: all +Source: debconf +Version: 1.5.24 +Replaces: debconf (<< 1.3.0), debconf-utils (<< 1.3.22) +Depends: debconf, liblocale-gettext-perl, libtext-iconv-perl, libtext-wrapi18n-perl, libtext-charwidth-perl +Conflicts: debconf-english, debconf-utils (<< 1.3.22) +Description: full internationalization support for debconf + +Package: debconf +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 1508 +Maintainer: Debconf Developers <debconf-devel@lists.alioth.debian.org> +Architecture: all +Version: 1.5.24 +Replaces: debconf-tiny +Provides: debconf-2.0 +Depends: debconf-i18n | debconf-english +Pre-Depends: perl-base (>= 5.6.1-4) +Recommends: apt-utils (>= 0.5.1) +Suggests: debconf-doc, debconf-utils, whiptail | dialog | gnome-utils, libterm-readline-gnu-perl, libgnome2-perl, libqt-perl, libnet-ldap-perl, perl +Conflicts: apt (<< 0.3.12.1), cdebconf (<< 0.96), debconf-tiny, debconf-utils (<< 1.3.22), dialog (<< 0.9b-20020814-1), menu (<= 2.1.3-1), whiptail (<< 0.51.4-11), whiptail-utf8 (<= 0.50.17-13) +Description: Debian configuration management system + +Package: debianutils +Essential: yes +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 272 +Maintainer: Clint Adams <schizo@debian.org> +Architecture: i386 +Version: 2.30 +Pre-Depends: libc6 (>= 2.7-1) +Description: Miscellaneous utilities specific to Debian + +Package: defoma +Status: install ok installed +Priority: optional +Section: admin +Installed-Size: 449 +Maintainer: Angus Lees <gus@debian.org> +Architecture: all +Version: 0.11.10-0.2 +Depends: file, perl (>= 5.6.0-16), whiptail | dialog +Recommends: libft-perl +Suggests: defoma-doc, dfontmgr, psfontmgr, x-ttcidfont-conf +Conflicts: defoma-gs, defoma-ps, defoma-x, dfontmgr (<< 0.10.0), psfontmgr (<< 0.5.0), x-ttcidfont-conf (<< 5) +Description: Debian Font Manager -- automatic font configuration framework +Enhances: debhelper + +Package: dpkg +Essential: yes +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 7276 +Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org> +Architecture: i386 +Version: 1.14.29 +Replaces: manpages-de (<= 0.4-3), manpages-pl (<= 20051117-1) +Pre-Depends: libc6 (>= 2.7-1), coreutils (>= 5.93-1), lzma +Suggests: apt +Conflicts: apt (<< 0.7.7), aptitude (<< 0.4.7-1), dpkg-dev (<< 1.14.16), dpkg-iasearch (<< 0.11), sysvinit (<< 2.82-1) +Description: Debian package management system +Origin: debian +Bugs: debbugs://bugs.debian.org + +Package: file +Status: install ok installed +Priority: standard +Section: utils +Installed-Size: 136 +Maintainer: Daniel Baumann <daniel@debian.org> +Architecture: i386 +Version: 4.26-1 +Depends: libc6 (>= 2.7-1), libmagic1 (= 4.26-1), zlib1g (>= 1:1.1.4) +Description: Determines file type using "magic" numbers + +Package: fontconfig-config +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 250 +Maintainer: Keith Packard <keithp@debian.org> +Architecture: all +Source: fontconfig +Version: 2.6.0-3 +Replaces: fontconfig (<< 2.3.2-2) +Depends: debconf (>= 0.5) | debconf-2.0, ucf (>= 0.29), ttf-dejavu | ttf-bitstream-vera | ttf-freefont | gsfonts-x11 +Conflicts: fontconfig (<< 2.3.2-2) +Description: generic font configuration library - configuration + +Package: fontconfig +Status: install ok installed +Priority: optional +Section: utils +Installed-Size: 384 +Maintainer: Keith Packard <keithp@debian.org> +Architecture: i386 +Version: 2.6.0-3 +Replaces: fontconfig-config (<< 2.5.93-1) +Depends: libc6 (>= 2.7-1), libfontconfig1 (>= 2.4.0), fontconfig-config +Suggests: defoma (>= 0.7.0) +Description: generic font configuration library - support binaries + +Package: gcc-4.3-base +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 160 +Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org> +Architecture: i386 +Source: gcc-4.3 +Version: 4.3.2-1.1 +Replaces: cpp-4.3 (<< 4.3.2) +Description: The GNU Compiler Collection (base package) + +Package: libacl1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 48 +Maintainer: Nathan Scott <nathans@debian.org> +Architecture: i386 +Source: acl +Version: 2.2.47-2 +Depends: libattr1 (>= 2.4.41-1), libc6 (>= 2.7-1) +Conflicts: acl (<< 2.0.0), libacl1-kerberos4kth +Description: Access control list shared library + +Package: libatk1.0-0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 168 +Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers@lists.alioth.debian.org> +Architecture: i386 +Source: atk1.0 +Version: 1.22.0-1 +Depends: libc6 (>= 2.7-1), libglib2.0-0 (>= 2.16.0) +Recommends: libatk1.0-data +Description: The ATK accessibility toolkit + +Package: libattr1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 36 +Maintainer: Nathan Scott <nathans@debian.org> +Architecture: i386 +Source: attr +Version: 1:2.4.43-2 +Depends: libc6 (>= 2.7-1) +Conflicts: attr (<< 2.0.0) +Description: Extended attribute shared library + +Package: libbz2-1.0 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 92 +Maintainer: Anibal Monsalve Salazar <anibal@debian.org> +Architecture: i386 +Source: bzip2 +Version: 1.0.5-1 +Depends: libc6 (>= 2.7-1) +Description: high-quality block-sorting file compressor library - runtime + +Package: libc6 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 10756 +Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> +Architecture: i386 +Source: glibc +Version: 2.7-18lenny4 +Provides: glibc-2.7-1 +Depends: libgcc1 +Suggests: locales, glibc-doc, libc6-i686 +Conflicts: libterm-readline-gnu-perl (<< 1.15-2), tzdata (<< 2007k-1), tzdata-etch +Description: GNU C Library: Shared libraries + +Package: libcairo2 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 844 +Maintainer: Dave Beckett <dajobe@debian.org> +Architecture: i386 +Source: cairo +Version: 1.6.4-7 +Replaces: libcairo0.5.1, libcairo0.6.0, libcairo0.9.0, libcairo1 +Provides: libcairo +Depends: libc6 (>= 2.7-1), libdirectfb-1.0-0, libfontconfig1 (>= 2.4.0), libfreetype6 (>= 2.3.5), libpixman-1-0 (>= 0.10.0), libpng12-0 (>= 1.2.13-4), libx11-6, libxcb-render-util0 (>= 0.2.1+git1), libxcb-render0, libxcb1, libxrender1, zlib1g (>= 1:1.1.4) +Conflicts: libcairo1 +Description: The Cairo 2D vector graphics library + +Package: libcomerr2 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 96 +Maintainer: Theodore Y. Ts'o <tytso@mit.edu> +Architecture: i386 +Source: e2fsprogs +Version: 1.41.3-1 +Replaces: e2fsprogs (<< 1.34-1) +Provides: libcomerr-kth-compat +Depends: libc6 (>= 2.7-1) +Description: common error description library + +Package: libcups2 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 364 +Maintainer: Debian CUPS Maintainers <pkg-cups-devel@lists.alioth.debian.org> +Architecture: i386 +Source: cups +Version: 1.3.8-1+lenny8 +Replaces: libcupsys2 (<< 1.3.7-6) +Provides: libcupsys2 +Depends: libc6 (>= 2.7-1), libcomerr2 (>= 1.01), libgnutls26 (>= 2.4.0-0), libkrb53 (>= 1.6.dfsg.2), zlib1g (>= 1:1.1.4) +Suggests: cups-common +Conflicts: libcupsys2 (<< 1.3.7-6) +Description: Common UNIX Printing System(tm) - libs + +Package: libdatrie0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 60 +Maintainer: Theppitak Karoonboonyanan <thep@linux.thai.net> +Architecture: i386 +Source: libdatrie +Version: 0.1.3-2 +Depends: libc6 (>= 2.7-1) +Description: Double-array trie library + +Package: libdb4.6 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 1248 +Maintainer: Debian Berkeley DB Maintainers <pkg-db-devel@lists.alioth.debian.org> +Architecture: i386 +Source: db4.6 +Version: 4.6.21-11 +Depends: libc6 (>= 2.7-1) +Conflicts: libdb2 (<< 2:2.7.7-3) +Description: Berkeley v4.6 Database Libraries [runtime] + +Package: libdirectfb-1.0-0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 2140 +Maintainer: Debian DirectFB Team <pkg-directfb-devel@lists.alioth.debian.org> +Architecture: i386 +Source: directfb +Version: 1.0.1-11 +Depends: libc6 (>= 2.7-1), libsysfs2, libts-0.0-0 (>= 1.0) +Description: direct frame buffer graphics - shared libraries + +Package: libexpat1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 364 +Maintainer: Debian XML/SGML Group <debian-xml-sgml-pkgs@lists.alioth.debian.org> +Architecture: i386 +Source: expat +Version: 2.0.1-4+lenny3 +Depends: libc6 (>= 2.7-1) +Conflicts: wink (<= 1.5.1060-4) +Description: XML parsing C library - runtime library + +Package: libfontconfig1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 336 +Maintainer: Keith Packard <keithp@debian.org> +Architecture: i386 +Source: fontconfig +Version: 2.6.0-3 +Depends: libc6 (>= 2.7-1), libexpat1 (>= 1.95.8), libfreetype6 (>= 2.3.5), zlib1g (>= 1:1.1.4), fontconfig-config (= 2.6.0-3) +Description: generic font configuration library - runtime + +Package: libfreetype6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 672 +Maintainer: Steve Langasek <vorlon@debian.org> +Architecture: i386 +Source: freetype +Version: 2.3.7-2+lenny1 +Replaces: freetype0, freetype1 +Depends: libc6 (>= 2.7-1), zlib1g (>= 1:1.1.4) +Suggests: libfreetype6-dev +Conflicts: freetype, xpdf-reader (<< 1.00-4) +Description: FreeType 2 font engine, shared library files + +Package: libgcc1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 88 +Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org> +Architecture: i386 +Source: gcc-4.3 (4.3.2-1.1) +Version: 1:4.3.2-1.1 +Depends: gcc-4.3-base (= 4.3.2-1.1), libc6 (>= 2.7-1) +Description: GCC support library + +Package: libgcrypt11 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 508 +Maintainer: Debian GnuTLS Maintainers <pkg-gnutls-maint@lists.alioth.debian.org> +Architecture: i386 +Version: 1.4.1-1 +Depends: libc6 (>= 2.7-1), libgpg-error0 (>= 1.4) +Suggests: rng-tools +Description: LGPL Crypto library - runtime library + +Package: libgdbm3 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 80 +Maintainer: James Troup <james@nocrew.org> +Architecture: i386 +Source: gdbm +Version: 1.8.3-3 +Depends: libc6 (>= 2.3.6-6) +Description: GNU dbm database routines (runtime version) + +Package: libglib2.0-0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 1732 +Maintainer: Loic Minier <lool@dooz.org> +Architecture: i386 +Source: glib2.0 +Version: 2.16.6-3 +Depends: libc6 (>= 2.7-1), libpcre3 (>= 7.4), libselinux1 (>= 2.0.59) +Recommends: libglib2.0-data +Conflicts: libpango1.0-0 (<< 1.11) +Description: The GLib library of C routines + +Package: libgnutls26 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 1100 +Maintainer: Debian GnuTLS Maintainers <pkg-gnutls-maint@lists.alioth.debian.org> +Architecture: i386 +Source: gnutls26 +Version: 2.4.2-6+lenny2 +Replaces: gnutls0, gnutls0.4, gnutls3 +Depends: libc6 (>= 2.7-1), libgcrypt11 (>= 1.4.0), libgpg-error0 (>= 1.4), libtasn1-3 (>= 0.3.4), zlib1g (>= 1:1.1.4) +Suggests: gnutls-bin +Conflicts: gnutls0, gnutls0.4 +Description: the GNU TLS library - runtime library + +Package: libgpg-error0 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 196 +Maintainer: Jose Carlos Garcia Sogo <jsogo@debian.org> +Architecture: i386 +Source: libgpg-error +Version: 1.4-2 +Depends: libc6 (>= 2.3.6-6) +Description: library for common error values and messages in GnuPG components + +Package: libgtk2.0-0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 5084 +Maintainer: Sebastien Bacher <seb128@debian.org> +Architecture: i386 +Source: gtk+2.0 +Version: 2.12.12-1~lenny2 +Replaces: libgtk2.0-0png3 +Provides: gtk2.0-binver-2.10.0 +Depends: libgtk2.0-common, libatk1.0-0 (>= 1.20.0), libc6 (>= 2.7-1), libcairo2 (>= 1.6.4-6.1), libcomerr2 (>= 1.01), libcups2 (>= 1.3.8), libfontconfig1 (>= 2.4.0), libglib2.0-0 (>= 2.16.0), libgnutls26 (>= 2.4.0-0), libjpeg62, libkrb53 (>= 1.6.dfsg.2), libpango1.0-0 (>= 1.20.3), libpng12-0 (>= 1.2.13-4), libtiff4, libx11-6, libxcomposite1 (>= 1:0.3-1), libxcursor1 (>> 1.1.2), libxdamage1 (>= 1:1.1), libxext6, libxfixes3 (>= 1:4.0.1), libxi6, libxinerama1, libxrandr2, libxrender1, zlib1g (>= 1:1.1.4) +Recommends: hicolor-icon-theme, libgtk2.0-bin +Suggests: librsvg2-common +Conflicts: celestia (<< 1.2.4-4), eog2 (<< 1.0.1-4), gcin (<< 1.3.4-2), gimp1.3 (<< 1.3.7-1.1), glabels (<< 2.1.3-3), gnome-panel2 (<< 2.0.4-1), gnome-themes (<< 2.6), gtk-im-libthai (<< 0.1.4-3), gtk-qt-engine (<< 1:0.8~svn-rev36-1), gtk2-engines (<< 1:2.8.2-2), gtk2-engines-cleanice (<< 2.4.0-1.1), gtk2-engines-crux (<< 2.6), gtk2-engines-gtk-qt (<< 1:0.7-2), gtk2-engines-highcontrast (<< 2.6), gtk2-engines-industrial (<< 0.2.32-5), gtk2-engines-lighthouseblue (<< 2.6), gtk2-engines-magicchicken (<< 1.1.1-7.1), gtk2-engines-metal (<< 2.2.0-2.1), gtk2-engines-mist (<< 2.6), gtk2-engines-pixbuf (<= 2.10), gtk2-engines-qtpixmap (<< 0.28-1.2), gtk2-engines-redmond95 (<< 2.2.0-2.1), gtk2-engines-smooth (<< 0.5.6-3), gtk2-engines-thinice (<< 2.6), gtk2-engines-ubuntulooks (<= 0.9.11-1), gtk2-engines-wonderland (<< 1.0-4), gtk2-engines-xfce (<< 2.4.0-1), gtk2.0-examples (<< 2.2.0), iiimf-client-gtk (<< 12.3.91-4), iiimgcf (<= 11.4.1870-7.3), imhangul (<< 0.9.13-5), libeel2-2.18, libgdkxft0, libginspx0 (<< 20050529-1.1), libgnomeui-0 (<= 2.14.1-3), libgtk2.0-0png3, librsvg2-common (<= 2.14.4-2), libwmf-dev (<< 0.2.8.4-5), libwmf0.2-7 (<< 0.2.8.4-5), libwxgtk2.6-0 (<< 2.6.3.2.2-1), metacity (<< 1:2.20.0-1), metatheme (<< 0.9.7-3), openoffice.org-core (<< 2.2.1-8), scim-bridge (<= 0.2.4-1), scim-bridge-client-gtk (<< 0.4.10-1.1), scim-gtk2-immodule (<< 1.4.4-8), swf-player (<< 0.3.6-2.3), tamil-gtk2im (<< 2.2-4.4), uim-gtk2.0 (<< 1:1.4.1-3), xfwm4 (<< 4.4.1-3) +Description: The GTK+ graphical user interface library + +Package: libgtk2.0-common +Status: install ok installed +Priority: optional +Section: misc +Installed-Size: 15934 +Maintainer: Sebastien Bacher <seb128@debian.org> +Architecture: all +Source: gtk+2.0 +Version: 2.12.12-1~lenny2 +Replaces: libgtk1.3-common, libgtk2.0-data +Recommends: libgtk2.0-0 +Conflicts: libgtk1.3-common, libgtk2.0-data +Description: Common files for the GTK+ graphical user interface library + +Package: libhunspell-1.2-0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 336 +Maintainer: Debian OpenOffice Team <debian-openoffice@lists.debian.org> +Architecture: i386 +Source: hunspell +Version: 1.2.6-1 +Depends: libc6 (>= 2.7-1), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.1.1) +Recommends: myspell-en-us | myspell-dictionary | hunspell-dictionary +Conflicts: openoffice.org-core (= 2.2.0~rc2-1) +Description: spell checker and morphological analyzer (shared library) + +Package: libice6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 140 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libice +Version: 2:1.0.4-1 +Depends: libc6 (>= 2.6-1), x11-common +Description: X11 Inter-Client Exchange library + +Package: libjpeg62 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 164 +Maintainer: Bill Allombert <ballombe@debian.org> +Architecture: i386 +Source: libjpeg6b +Version: 6b-14 +Depends: libc6 (>= 2.6.1-1) +Description: The Independent JPEG Group's JPEG runtime library + +Package: libkeyutils1 +Status: install ok installed +Priority: standard +Section: misc +Installed-Size: 56 +Maintainer: Daniel Baumann <daniel@debian.org> +Architecture: i386 +Source: keyutils +Version: 1.2-9 +Depends: libc6 (>= 2.7-1) +Description: Linux Key Management Utilities (library) + +Package: libkrb53 +Status: install ok installed +Priority: standard +Section: libs +Installed-Size: 1188 +Maintainer: Sam Hartman <hartmans@debian.org> +Architecture: i386 +Source: krb5 +Version: 1.6.dfsg.4~beta1-5lenny4 +Depends: libc6 (>= 2.7-1), libcomerr2 (>= 1.34), libkeyutils1 +Suggests: krb5-doc, krb5-user +Conflicts: libapache-mod-auth-kerb (<= 4.996-5.0-rc6-2), libapache2-mod-auth-kerb (<= 4.996-5.0-rc6-2), ssh-krb5 (<< 3.8.1p1-10) +Description: MIT Kerberos runtime libraries + +Package: liblcms1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 260 +Maintainer: Oleksandr Moskalenko <malex@debian.org> +Architecture: i386 +Source: lcms +Version: 1.17.dfsg-1+lenny2 +Replaces: liblcms +Provides: liblcms +Depends: libc6 (>= 2.7-1) +Suggests: liblcms-utils +Conflicts: liblcms +Description: Color management library + +Package: liblocale-gettext-perl +Status: install ok installed +Priority: required +Section: perl +Installed-Size: 104 +Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org> +Architecture: i386 +Version: 1.05-4 +Depends: libc6 (>= 2.7-1) +Pre-Depends: perl-base (>= 5.10.0-9), perlapi-5.10.0 +Description: Using libc functions for internationalization in Perl + +Package: libmagic1 +Status: install ok installed +Priority: standard +Section: libs +Installed-Size: 2412 +Maintainer: Daniel Baumann <daniel@debian.org> +Architecture: i386 +Source: file +Version: 4.26-1 +Depends: libc6 (>= 2.7-1), zlib1g (>= 1:1.1.4) +Suggests: file +Description: File type determination library using "magic" numbers + +Package: libmozjs1d +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 736 +Maintainer: Mike Hommey <glandium@debian.org> +Architecture: i386 +Source: xulrunner +Version: 1.9.0.19-1 +Depends: libc6 (>= 2.7-1), libnspr4-0d (>= 1.8.0.10) +Description: The Mozilla SpiderMonkey JavaScript library + +Package: libncurses5 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 584 +Maintainer: Daniel Baumann <daniel@debian.org> +Architecture: i386 +Source: ncurses +Version: 5.7+20081213-1 +Depends: libc6 (>= 2.7-1) +Recommends: libgpm2 +Description: shared libraries for terminal handling + +Package: libnewt0.52 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 820 +Maintainer: Alastair McKinstry <mckinstry@debian.org> +Architecture: i386 +Source: newt +Version: 0.52.2-11.3+lenny1 +Replaces: libnewt-utf8, libnewt0, libnewt0.51 +Depends: libc6 (>= 2.7-1), libslang2 (>= 2.0.7-1) +Recommends: libfribidi0 +Conflicts: libnewt0.51 +Description: Not Erik's Windowing Toolkit - text mode windowing with slang + +Package: libnspr4-0d +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 328 +Maintainer: Maintainers of Mozilla-related packages <pkg-mozilla-maintainers@lists.alioth.debian.org> +Architecture: i386 +Source: nspr +Version: 4.7.1-5 +Depends: libc6 (>= 2.7-1) +Conflicts: libnspr4, libnspr4-dev (<= 4.7.1-1) +Description: NetScape Portable Runtime Library + +Package: libnss3-1d +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 2292 +Maintainer: Maintainers of Mozilla-related packages <pkg-mozilla-maintainers@lists.alioth.debian.org> +Architecture: i386 +Source: nss +Version: 3.12.3.1-0lenny1 +Depends: libc6 (>= 2.7-1), libnspr4-0d (>= 1.8.0.10), libsqlite3-0 (>= 3.5.9), dpkg (<< 1.14.8) | dpkg (>= 1.14.18) +Conflicts: libnss3, libnss3-0d (>= 3.11.5), libnss3-dev (<= 3.12.0~rc3-1) +Description: Network Security Service libraries + +Package: libpango1.0-0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 780 +Maintainer: Sebastien Bacher <seb128@debian.org> +Architecture: i386 +Source: pango1.0 +Version: 1.20.5-5+lenny1 +Provides: pango1.0-modver-1.6.0 +Depends: libpango1.0-common (>= 1.20.5-5+lenny1), libc6 (>= 2.7-1), libcairo2 (>= 1.6.4-6.1), libdatrie0 (>= 0.1.2), libfontconfig1 (>= 2.4.0), libfreetype6 (>= 2.3.5), libglib2.0-0 (>= 2.16.0), libthai0 (>= 0.1.9), libx11-6, libxft2 (>> 2.1.1), libxrender1, zlib1g (>= 1:1.1.4) +Conflicts: pango-libthai +Description: Layout and rendering of internationalized text + +Package: libpango1.0-common +Status: install ok installed +Priority: optional +Section: misc +Installed-Size: 204 +Maintainer: Sebastien Bacher <seb128@debian.org> +Architecture: all +Source: pango1.0 +Version: 1.20.5-5+lenny1 +Replaces: libpango-common (<< 1.0.0), libpango0 +Depends: debconf | debconf-2.0, defoma (>= 0.11.1), fontconfig (>= 2.1.91) +Recommends: x-ttcidfont-conf, libpango1.0-0 +Suggests: ttf-kochi-gothic, ttf-kochi-mincho, ttf-thryomanes, ttf-baekmuk, ttf-arphic-gbsn00lp, ttf-arphic-bsmi00lp, ttf-arphic-gkai00mp, ttf-arphic-bkai00mp +Conflicts: pango-libthai (<< 0.1.6-2) +Description: Modules and configuration files for the Pango + +Package: libpcre3 +Status: install ok installed +Priority: standard +Section: libs +Installed-Size: 356 +Maintainer: Mark Baker <mark@mnb.org.uk> +Architecture: i386 +Source: pcre3 +Version: 7.6-2.1 +Depends: libc6 (>= 2.7-1) +Conflicts: libpcre3-dev (<= 4.3-3) +Description: Perl 5 Compatible Regular Expression Library - runtime files + +Package: libpixman-1-0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 220 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: pixman +Version: 0.10.0-2 +Depends: libc6 (>= 2.7-1) +Description: pixel-manipulation library for X and cairo + +Package: libpng12-0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 316 +Maintainer: Anibal Monsalve Salazar <anibal@debian.org> +Architecture: i386 +Source: libpng +Version: 1.2.27-2+lenny3 +Replaces: libpng12-dev (<= 1.2.8rel-7) +Depends: libc6 (>= 2.7-1), zlib1g (>= 1:1.1.4) +Conflicts: libpng12-dev (<= 1.2.8rel-7), mzscheme (<= 1:209-5), pngcrush (<= 1.5.10-2), pngmeta (<= 1.11-3), povray-3.5 (<= 3.5.0c-10), qemacs (<= 0.3.1-5) +Description: PNG library - runtime + +Package: libpopt0 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 192 +Maintainer: Paul Martin <pm@debian.org> +Architecture: i386 +Source: popt +Version: 1.14-4 +Replaces: popt +Depends: libc6 (>= 2.7-1) +Conflicts: libpopt-dev (<= 1.4-1), popt, rpm (<= 4.0.2-3) +Description: lib for parsing cmdline parameters + +Package: libreadline5 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 320 +Maintainer: Matthias Klose <doko@debian.org> +Architecture: i386 +Source: readline5 +Version: 5.2-3.1 +Depends: readline-common, libc6 (>= 2.7-1), libncurses5 (>= 5.6+20071006-3) +Description: GNU readline and history libraries, run-time libraries + +Package: libselinux1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 148 +Maintainer: Manoj Srivastava <srivasta@debian.org> +Architecture: i386 +Source: libselinux +Version: 2.0.65-5 +Depends: libc6 (>= 2.7-1) +Description: SELinux shared libraries + +Package: libslang2 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 1104 +Maintainer: Alastair McKinstry <mckinstry@debian.org> +Architecture: i386 +Source: slang2 +Version: 2.1.3-3 +Depends: libc6 (>= 2.7-1) +Recommends: libpng12-0 +Description: The S-Lang programming library - runtime version + +Package: libsm6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 84 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libsm +Version: 2:1.0.3-2 +Depends: libc6 (>= 2.7-1), libice6 (>= 1:1.0.0), x11-common +Description: X11 Session Management library + +Package: libsqlite3-0 +Status: install ok installed +Priority: standard +Section: libs +Installed-Size: 468 +Maintainer: Laszlo Boszormenyi (GCS) <gcs@debian.hu> +Architecture: i386 +Source: sqlite3 +Version: 3.5.9-6 +Depends: libc6 (>= 2.7-1) +Description: SQLite 3 shared library + +Package: libstartup-notification0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 92 +Maintainer: Ondřej Surý <ondrej@debian.org> +Architecture: i386 +Source: startup-notification +Version: 0.9-1 +Depends: libc6 (>= 2.3.6-6), libice6 (>= 1:1.0.0), libsm6, libx11-6 +Description: library for program launch feedback (shared library) + +Package: libstdc++6 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 1168 +Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org> +Architecture: i386 +Source: gcc-4.3 +Version: 4.3.2-1.1 +Depends: gcc-4.3-base (= 4.3.2-1.1), libc6 (>= 2.7-1), libgcc1 (>= 1:4.1.1) +Conflicts: scim (<< 1.4.2-1) +Description: The GNU Standard C++ Library v3 + +Package: libsysfs2 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 112 +Maintainer: Martin Pitt <mpitt@debian.org> +Architecture: i386 +Source: sysfsutils +Version: 2.1.0-5 +Depends: libc6 (>= 2.7-1) +Description: interface library to sysfs + +Package: libtasn1-3 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 164 +Maintainer: Debian GnuTLS Maintainers <pkg-gnutls-maint@lists.alioth.debian.org> +Architecture: i386 +Version: 1.4-1 +Depends: libc6 (>= 2.7-1) +Conflicts: libtasn1-2 (= 0.3.1-1) +Description: Manage ASN.1 structures (runtime) + +Package: libtext-charwidth-perl +Status: install ok installed +Priority: required +Section: perl +Installed-Size: 36 +Maintainer: Anibal Monsalve Salazar <anibal@debian.org> +Architecture: i386 +Source: libtext-charwidth-perl (0.04-5) +Version: 0.04-5+b1 +Depends: libc6 (>= 2.7-1), perl-base (>= 5.10.0-9), perlapi-5.10.0 +Description: get display widths of characters on the terminal + +Package: libtext-iconv-perl +Status: install ok installed +Priority: required +Section: perl +Installed-Size: 44 +Maintainer: Anibal Monsalve Salazar <anibal@debian.org> +Architecture: i386 +Source: libtext-iconv-perl (1.7-1) +Version: 1.7-1+b1 +Depends: libc6 (>= 2.7-1), perl-base (>= 5.10.0-9), perlapi-5.10.0 +Description: converts between character sets in Perl + +Package: libtext-wrapi18n-perl +Status: install ok installed +Priority: required +Section: perl +Installed-Size: 28 +Maintainer: Anibal Monsalve Salazar <anibal@debian.org> +Architecture: all +Version: 0.06-6 +Depends: libtext-charwidth-perl +Description: internationalized substitute of Text::Wrap + +Package: libthai-data +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 340 +Maintainer: Theppitak Karoonboonyanan <thep@linux.thai.net> +Architecture: all +Source: libthai +Version: 0.1.9-4+lenny1 +Description: Data files for Thai language support library + +Package: libthai0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 100 +Maintainer: Theppitak Karoonboonyanan <thep@linux.thai.net> +Architecture: i386 +Source: libthai +Version: 0.1.9-4+lenny1 +Depends: libc6 (>= 2.7-1), libdatrie0 (>= 0.1.2), libthai-data +Description: Thai language support library + +Package: libtiff4 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 456 +Maintainer: Jay Berkenbilt <qjb@debian.org> +Architecture: i386 +Source: tiff +Version: 3.8.2-11.2 +Depends: libc6 (>= 2.7-1), libjpeg62, zlib1g (>= 1:1.1.4) +Description: Tag Image File Format (TIFF) library + +Package: libts-0.0-0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 108 +Maintainer: Neil Williams <codehelp@debian.org> +Architecture: i386 +Source: tslib +Version: 1.0-4 +Replaces: libts0, tslib +Provides: libts0, tslib +Depends: libc6 (>= 2.7-1) +Conflicts: libts0, tslib +Description: touch screen library + +Package: libx11-6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 1240 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libx11 +Version: 2:1.1.5-2 +Depends: libc6 (>= 2.7-1), libxcb-xlib0, libxcb1, libx11-data +Conflicts: xlibs-data (<< 1:7.0.0) +Description: X11 client-side library + +Package: libx11-data +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 3108 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: all +Source: libx11 +Version: 2:1.1.5-2 +Replaces: libx11-6 (<= 2:1.0.0-1) +Description: X11 client-side library + +Package: libxau6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 64 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libxau +Version: 1:1.0.3-3 +Depends: libc6 (>= 2.7-1) +Description: X11 authorisation library + +Package: libxcb-render-util0 +Status: install ok installed +Priority: extra +Section: libs +Installed-Size: 40 +Maintainer: Julien Danjou <acid@debian.org> +Architecture: i386 +Source: xcb-util +Version: 0.2.1+git1-1 +Depends: libc6 (>= 2.7-1), libxcb-render0, libxcb1 +Description: utility libraries for X C Binding -- render-util + +Package: libxcb-render0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 88 +Maintainer: XCB Developers <xcb@lists.freedesktop.org> +Architecture: i386 +Source: libxcb +Version: 1.1-1.2 +Depends: libc6 (>= 2.7-1), libxcb1 +Description: X C Binding, render extension + +Package: libxcb-xlib0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 68 +Maintainer: XCB Developers <xcb@lists.freedesktop.org> +Architecture: i386 +Source: libxcb +Version: 1.1-1.2 +Depends: libc6 (>= 2.7-1), libxcb1 +Description: X C Binding, Xlib/XCB interface library + +Package: libxcb1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 160 +Maintainer: XCB Developers <xcb@lists.freedesktop.org> +Architecture: i386 +Source: libxcb +Version: 1.1-1.2 +Depends: libc6 (>= 2.7-1), libxau6, libxdmcp6 +Description: X C Binding + +Package: libxcomposite1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 60 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libxcomposite +Version: 1:0.4.0-3 +Depends: libc6 (>= 2.7-1), libx11-6, libxext6, libxfixes3 (>= 1:4.0.1) +Description: X11 Composite extension library + +Package: libxcursor1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 80 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libxcursor +Version: 1:1.1.9-1 +Depends: libc6 (>= 2.6-1), libx11-6, libxfixes3 (>= 1:4.0.1), libxrender1 +Description: X cursor management library + +Package: libxdamage1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 60 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libxdamage +Version: 1:1.1.1-4 +Depends: libc6 (>= 2.7-1), libx11-6, libxfixes3 (>= 1:4.0.1) +Description: X11 damaged region extension library + +Package: libxdmcp6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 76 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libxdmcp +Version: 1:1.0.2-3 +Depends: libc6 (>= 2.7-1) +Description: X11 Display Manager Control Protocol library + +Package: libxext6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 184 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libxext +Version: 2:1.0.4-2 +Depends: libc6 (>= 2.7-1), libx11-6, libxau6, x11-common +Description: X11 miscellaneous extension library + +Package: libxfixes3 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 64 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libxfixes +Version: 1:4.0.3-2 +Depends: libc6 (>= 2.3.6-6), libx11-6 +Pre-Depends: x11-common (>= 1:7.0.0) +Description: X11 miscellaneous 'fixes' extension library + +Package: libxft2 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 132 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: xft +Version: 2.1.12-3 +Depends: libc6 (>= 2.7-1), libfontconfig1 (>= 2.4.0), libfreetype6 (>= 2.3.5), libx11-6, libxrender1, zlib1g (>= 1:1.1.4) +Description: FreeType-based font drawing library for X + +Package: libxi6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 148 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libxi +Version: 2:1.1.4-1 +Depends: libc6 (>= 2.7-1), libx11-6, libxext6, x11-common +Description: X11 Input extension library + +Package: libxinerama1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 60 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libxinerama +Version: 2:1.0.3-2 +Depends: libc6 (>= 2.7-1), libx11-6, libxext6 +Description: X11 Xinerama extension library + +Package: libxrandr2 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 84 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libxrandr +Version: 2:1.2.3-1 +Depends: libc6 (>= 2.7-1), libx11-6, libxext6, libxrender1 +Description: X11 RandR extension library + +Package: libxrender1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 88 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libxrender +Version: 1:0.9.4-2 +Depends: libc6 (>= 2.7-1), libx11-6 +Description: X Rendering Extension client library + +Package: libxt6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 380 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: libxt +Version: 1:1.0.5-3 +Depends: libc6 (>= 2.5-5), libice6 (>= 1:1.0.0), libsm6, libx11-6 +Pre-Depends: x11-common (>= 1:7.0.0) +Description: X11 toolkit intrinsics library + +Package: lsb-base +Status: install ok installed +Priority: required +Section: misc +Installed-Size: 72 +Maintainer: Chris Lawrence <lawrencc@debian.org> +Architecture: all +Source: lsb +Version: 3.2-20 +Replaces: lsb (<< 2.0-6), lsb-core (<< 2.0-6) +Depends: sed, ncurses-bin +Conflicts: lsb (<< 2.0-6), lsb-core (<< 2.0-6) +Description: Linux Standard Base 3.2 init script functionality + +Package: lzma +Status: install ok installed +Priority: optional +Section: utils +Installed-Size: 124 +Maintainer: Mohammed Adnène Trojette <adn+deb@diwi.org> +Architecture: i386 +Version: 4.43-14 +Depends: libc6 (>= 2.7-1), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.2.1) +Description: Compression method of 7z format in 7-Zip program + +Package: ncurses-bin +Essential: yes +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 480 +Maintainer: Daniel Baumann <daniel@debian.org> +Architecture: i386 +Source: ncurses +Version: 5.7+20081213-1 +Provides: tput +Pre-Depends: libc6 (>= 2.7-1), libncurses5 (>= 5.6+20071006-3) +Conflicts: ncurses, tput +Description: terminal-related programs and man pages + +Package: perl-base +Essential: yes +Status: install ok installed +Priority: required +Section: perl +Installed-Size: 4316 +Maintainer: Brendan O'Dea <bod@debian.org> +Architecture: i386 +Source: perl +Version: 5.10.0-19lenny2 +Replaces: libclass-multimethods-perl (<< 1.70-4), libperl5.8 (<< 5.8.0-20), libscalar-list-utils-perl, libxsloader-perl, perl (<= 5.10.0-9), perl-modules (<< 5.10.0-12) +Provides: libscalar-list-utils-perl, libxsloader-perl, perl5-base, perlapi-5.10.0 +Pre-Depends: libc6 (>= 2.7-1), dpkg (>= 1.14.20) +Suggests: perl +Conflicts: autoconf2.13 (<< 2.13-45), findimagedupes (<< 2.11-2), icheck (<< 0.9.7-6.1), libcflow-perl (<< 1:0.68-11.1), libclass-methodmaker-perl (<< 2.10-1), libclearsilver-perl (<< 0.10.4-1.1), libcrypt-openssl-bignum-perl (<< 0.04-1), libcrypt-openssl-dsa-perl (<< 0.13-3), libcrypt-openssl-random-perl (<< 0.04-1), libcrypt-openssl-rsa-perl (<< 0.25-1), libhamlib2-perl (<< 1.2.6.2-6), libqt-perl (<< 3.008-3), libscalar-list-utils-perl (<< 1:1.18-1), libsufary-perl (<< 2.1.1-8), libsys-cpu-perl (<< 0.40-2.1), libterm-size-perl (<< 0.2-4), libvideo-ivtv-perl (<< 0.13-6), libxsloader-perl (<< 0.08-1), megahal (<< 9.1.1a-5), razor (<< 1:2.84-6) +Description: minimal Perl system + +Package: perl-modules +Status: install ok installed +Priority: standard +Section: perl +Installed-Size: 14520 +Maintainer: Brendan O'Dea <bod@debian.org> +Architecture: all +Source: perl +Version: 5.10.0-19lenny2 +Replaces: libansicolor-perl, libarchive-tar-perl, libattribute-handlers-perl, libcgi-pm-perl, libcpanplus-perl, libextutils-cbuilder-perl, libextutils-parsexs-perl, libfile-temp-perl, libi18n-langtags-perl, libio-zlib-perl, liblocale-codes-perl, liblocale-maketext-perl, liblocale-maketext-simple-perl, libmath-bigint-perl, libmodule-build-perl, libmodule-corelist-perl, libmodule-load-conditional-perl, libmodule-load-perl, libmodule-pluggable-perl, libnet-perl, libnet-ping-perl, libparams-check-perl, libpod-parser-perl, libpod-simple-perl, libtest-harness-perl, libtest-simple-perl, libversion-perl, podlators-perl +Provides: libansicolor-perl, libarchive-tar-perl, libattribute-handlers-perl, libcgi-pm-perl, libcpanplus-perl, libextutils-cbuilder-perl, libextutils-parsexs-perl, libfile-temp-perl, libi18n-langtags-perl, libio-zlib-perl, liblocale-codes-perl, liblocale-maketext-perl, liblocale-maketext-simple-perl, libmath-bigint-perl, libmodule-build-perl, libmodule-corelist-perl, libmodule-load-conditional-perl, libmodule-load-perl, libmodule-pluggable-perl, libnet-perl, libnet-ping-perl, libparams-check-perl, libpod-parser-perl, libpod-simple-perl, libtest-harness-perl, libtest-simple-perl, libversion-perl, podlators-perl +Depends: perl (>= 5.10.0-1) +Conflicts: libansicolor-perl (<< 1.10-1), libarchive-tar-perl (<= 1.38-2), libattribute-handlers-perl (<< 0.78.02-1), libcgi-pm-perl (<< 3.15-1), libcpanplus-perl (<< 0.83.09-1), libextutils-cbuilder-perl (<< 0.21-1), libextutils-parsexs-perl (<= 2.18), libfile-temp-perl (<< 0.18), libi18n-langtags-perl (<< 0.35-1), libio-zlib-perl (<< 1.07-1), liblocale-codes-perl (<< 2.06.1-1), liblocale-maketext-perl (<< 1.08-1), liblocale-maketext-simple-perl (<< 0.18-1), libmath-bigint-perl (<< 1.77-1), libmodule-build-perl (<< 0.2808.1-1), libmodule-corelist-perl (<< 2.13-1), libmodule-load-conditional-perl (<< 0.22-1), libmodule-load-perl (<< 0.12-1), libmodule-pluggable-perl (<< 3.6-1), libnet-perl (<= 1:1.19-3), libnet-ping-perl (<< 2.31-1), libparams-check-perl (<< 0.26-1), libpod-parser-perl (<< 1.32-1), libpod-simple-perl (<< 3.05-2), libtest-harness-perl (<< 2.56-1), libtest-simple-perl (<< 0.62-1), libversion-perl (<< 1:0.7400-2), podlators-perl (<< 2.2.0) +Description: Core Perl modules +Build-Essential: yes + +Package: perl +Status: install ok installed +Priority: standard +Section: perl +Installed-Size: 13524 +Maintainer: Brendan O'Dea <bod@debian.org> +Architecture: i386 +Version: 5.10.0-19lenny2 +Replaces: libarchive-tar-perl (<= 1.38-2), libdigest-md5-perl, libdigest-sha-perl, libmime-base64-perl, libmodule-corelist-perl (<< 2.14-2), libstorable-perl, libtime-hires-perl, libtime-piece-perl, perl-base (<< 5.8.8-1), perl-doc (<< 5.8.0-1), perl-modules (<< 5.8.1-1) +Provides: data-dumper, libdigest-md5-perl, libdigest-sha-perl, libmime-base64-perl, libstorable-perl, libtime-hires-perl, libtime-piece-perl, perl5 +Depends: perl-base (= 5.10.0-19lenny2), perl-modules (>= 5.10.0-19lenny2), libc6 (>= 2.7-1), libdb4.6, libgdbm3 +Recommends: netbase +Suggests: perl-doc, libterm-readline-gnu-perl | libterm-readline-perl-perl +Conflicts: libdigest-md5-perl (<< 3.07-1), libdigest-sha-perl (<< 5.45-1), libmime-base64-perl (<< 3.07-1), libstorable-perl (<< 2.15-1), libtime-hires-perl (<< 1.86-1), libtime-piece-perl (<< 1.12-1), perl-doc (<< 5.10.0-1) +Description: Larry Wall's Practical Extraction and Report Language +Build-Essential: yes + +Package: readline-common +Status: install ok installed +Priority: important +Section: utils +Installed-Size: 136 +Maintainer: Matthias Klose <doko@debian.org> +Architecture: all +Source: readline5 +Version: 5.2-3.1 +Replaces: libreadline-common, libreadline4 (<< 4.3-16), libreadline5 (<< 5.0-11) +Conflicts: libreadline-common, libreadline5 (<< 5.0-11) +Description: GNU readline and history libraries, common files + +Package: sed +Essential: yes +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 628 +Maintainer: Clint Adams <schizo@debian.org> +Architecture: i386 +Version: 4.1.5-6 +Replaces: ssed (<< 3.59) +Pre-Depends: libc6 (>= 2.7-1) +Description: The GNU sed stream editor + +Package: ttf-dejavu-core +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 2488 +Maintainer: Debian Fonts Task Force <pkg-fonts-devel@lists.alioth.debian.org> +Architecture: all +Source: ttf-dejavu +Version: 2.25-3 +Replaces: ttf-dejavu (<< 2.20-1) +Depends: defoma +Conflicts: ttf-dejavu (<< 2.20-1) +Description: Vera font family derivative with additional characters + +Package: ttf-dejavu-extra +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 5504 +Maintainer: Debian Fonts Task Force <pkg-fonts-devel@lists.alioth.debian.org> +Architecture: all +Source: ttf-dejavu +Version: 2.25-3 +Replaces: ttf-dejavu (<< 2.20-1) +Depends: defoma, ttf-dejavu-core +Conflicts: ttf-dejavu (<< 2.20-1) +Description: Vera font family derivative with additional characters + +Package: ttf-dejavu +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 68 +Maintainer: Debian Fonts Task Force <pkg-fonts-devel@lists.alioth.debian.org> +Architecture: all +Version: 2.25-3 +Depends: ttf-dejavu-core, ttf-dejavu-extra +Conflicts: ttf-dejavu (<< 2.20-1) +Description: Metapackage to pull in ttf-dejavu-core and ttf-dejavu-extra +Task: bulgarian-desktop, hungarian-desktop, kurdish-desktop, macedonian-desktop, romanian-desktop, ukrainian-desktop + +Package: ucf +Status: install ok installed +Priority: standard +Section: utils +Installed-Size: 256 +Maintainer: Manoj Srivastava <srivasta@debian.org> +Architecture: all +Version: 3.0016 +Depends: debconf (>= 1.5.19), coreutils (>= 5.91) +Description: Update Configuration File: preserve user changes to config files. + +Package: whiptail +Status: install ok installed +Priority: important +Section: utils +Installed-Size: 96 +Maintainer: Alastair McKinstry <mckinstry@debian.org> +Architecture: i386 +Source: newt +Version: 0.52.2-11.3+lenny1 +Replaces: newt0.10, newt0.21 (<< 0.21-4), whiptail-utf8 +Provides: whiptail-provider, whiptail-utf8 +Depends: libc6 (>= 2.7-1), libnewt0.52 (>= 0.52.2), libpopt0 (>= 1.14), libslang2 (>= 2.0.7-1) +Conflicts: whiptail-provider +Description: Displays user-friendly dialog boxes from shell scripts + +Package: x11-common +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 696 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: all +Source: xorg +Version: 1:7.3+20 +Replaces: x-common, xfree86-common, xorg-common, xserver-common (<< 7) +Depends: debconf (>= 0.5) | debconf-2.0, debianutils (>= 1.13), lsb-base (>= 1.3-9ubuntu2) +Pre-Depends: debconf | debconf-2.0 +Conflicts: aee (<= 2.2.15b-1), ascd (<= 0.13.2-3), beaver (<= 0.2.5-2), bibview (<= 2.2-8), bugsx (<= 1.08-8), buici-clock (<= 0.4.5+b1), communicator-smotif-477, ctwm (<= 3.7-2), emelfm (<= 0.9.2-7), epan, fte-xwindow (<= 0.50.0-1.3), fvwm1 (<= 1.24r-46), fvwm95 (<= 2.0.43ba-23+b1), gerstensaft (<= 0.2-5.1), ghostview, gipsc (<= 0.4.3-2), grace (<= 1:5.1.18-1), grace6 (<= 5.99.0+final-4), gradio (<= 1.0.1-6), groff (<= 1.18.1.1-7), guitar (<= 0.1.4-11), hamsoft (<< 0.2.3-1), hanterm-classic (<= 3.1.6.0-4), hanterm-xf (<= 1:3.3.1p18-9.2), hfsutils-tcltk (<= 3.2.6-7), ibp (<= 0.21-4), isdnutils-xtools (<= 1:3.8.2005-12-06-4), ivtools-bin (<= 1.1.3-5), ivtools-dev (<= 1.1.3-5), kdrill (<= 6.4-2.1), kinput2-canna (<= 3.1-7), kinput2-canna-wnn (<= 3.1-7), kinput2-wnn (<= 3.1-7), kterm (<= 6.2.0-45), lbxproxy (<< 7.0), libmotif-dev (<= 2.2.3-1.3), libxft-dev (<= 2.1.8.2-5), lm-batmon (<= 0.96-3), login.app (<= 1.2.1-18), lsb-core (<= 3.1-4), lwm (<= 1.2.1-1), mctools-lite (<= 970129-16), mgp (<= 1.11b-6), motif-clients (<= 2.2.3-1.3), navigator-smotif-477, netscape-base-4, olvwm (<= 4.4.3.2p1.4-21), olwm (<= 3.2p1.4-21), oneko (<= 1.2.sakura.6-1), opera (<< 9.10-20060616), pgaccess (<= 1:0.98.8.20030520-2), phototk, pixmap (<= 2.6pl4-14.1), plotmtv (<= 1.4.4t-8.1), pmud (<= 0.10-9), ppxp (<= 0.2001080415-14), ppxp-x11 (<= 0.2001080415-14), procmeter (<= 2.5.1-11), propsel (<= 971130-5.3), proxymngr (<< 7.0), qcam (<= 0.91-11.1), regexplorer (<= 0.1.6-12), seyon (<= 2.20c-20), skkinput (<= 1:2.06.4-4), stella (<< 2.2-1), tkdesk (<= 2.0-5), tkseti (<= 3.06-1), tkworld, twlog (<= 1.3-4), twm (<< 7.0), ucbmpeg-play (<< 2.3p-13), vide (<= 1.21-3), videogen (<= 0.32-1), vtwm (<= 5.4.7-2), w9wm (<= 0.4.2-4), wdm (<= 1.28-1), wily (<= 0.13.41-6), wmavgload (<= 0.7.0-6.1), wmcpu (<= 1.3-4.1), wmdate (<= 0.5-7.1), wmnet (<= 1.05-12), wmnetselect (<= 0.85-5.5), wmscope (<= 3.0-9.1), wmsensors (<= 1.0.4-3.4), wmtv (<= 0.6.5-15), x-common, xautolock (<= 1:2.1-6), xbanner (<= 1.31-23), xbase-clients (<< 1:7.0), xbatt (<= 1.2.1-4), xbattbar (<= 1.4.2-3.1), xcal (<= 4.1-18.2), xcalendar-i18n (<= 4.0.0.i18p1-13.1), xcb (<= 2.4-4), xclip (<= 0.08-5), xclips (<= 6.21-6), xcolors (<= 1.5a-2), xcolorsel (<= 1.1a-11), xdkcal (<= 0.9d-2.1), xdm (<= 1:1.0.1-6), xdmx (<< 1:1.0), xdu (<= 3.0-14), xearth (<= 1.1-10.2), xengine (<= 1.11-9), xephem (<= 3.4-5), xext, xezmlm (<= 1.0.3-11), xfaces (<= 3.3-25), xfishtank (<= 2.2-23.1), xfm (<= 1.4.3-8), xfractint (<< 20.3.01-1), xfree86-common, xfs (<< 1:1.0), xfs-xtt (<= 1:1.4.1.xf430-6), xftp, xfwp (<< 7.0), xgdipc (<= 1.2-0.3), xgmod (<= 3.1-9), xgobi, xgraph (<= 12.1-3), xinput (<= 1.2-5.2), xipmsg (<= 0.8088-1.1), xisp, xlbiff (<< 4.1-4), xli (<= 1.17.0-21), xlockmore (<= 1:5.21-1), xlockmore-gl (<= 1:5.21-1), xlogmaster (<= 1.6.0-8), xmailbox (<= 2.5-9), xmem (<= 1.20-19), xmeter (<= 1.15-6), xmh (<= 6.8.2.dfsg.1-4), xmix (<= 2.1-5), xmon (<= 1.5.6-1.3), xnecview (<= 1.34-2), xnest (<< 1:1.0), xodo (<= 1.2-9.2), xorg-common, xpaste, xpmumon (<= 1.3.0), xpostit (<= 3.3.1-8.2), xpostitplus, xprint (<= 1:0.1.0.alpha1-13), xrn (<= 9.02-7.1), xserver-common (<< 7), xserver-xfree86 (<< 1:7.0), xserver-xfree86-dbg, xserver-xorg (<< 1:7.3+11), xslideshow (<= 3.1-8.1), xsysinfo (<= 1.7-2), xtel (<= 3.3.0-5.4), xterm (<< 208-1), xtoolwait (<= 1.3-6), xtrkcad (<= 3.1.4-1), xtrlock (<= 2.0-11), xturqstat (<= 2.2.2sarge1), xutils (<< 1:7.0), xv (<= 3.10a-26), xvfb (<< 1:1.0), xview-clients (<= 3.2p1.4-21), xviewg (<= 3.2p1.4-21), xviewg-dev (<= 3.2p1.4-21), xvkbd (<= 2.6-2.1), xwit (<= 3.4-6), xxkb (<= 1.10-2.1), xzoom (<= 0.3-17), yank (<= 0.2.1-7.2) +Description: X Window System (X.Org) infrastructure + +Package: xulrunner-1.9 +Status: install ok installed +Priority: optional +Section: devel +Installed-Size: 17800 +Maintainer: Mike Hommey <glandium@debian.org> +Architecture: i386 +Source: xulrunner +Version: 1.9.0.19-1 +Replaces: xulrunner-1.9-common +Depends: libatk1.0-0 (>= 1.20.0), libbz2-1.0, libc6 (>= 2.7-1), libcairo2 (>= 1.6.0), libfontconfig1 (>= 2.4.0), libfreetype6 (>= 2.3.5), libgcc1 (>= 1:4.1.1), libglib2.0-0 (>= 2.16.0), libgtk2.0-0 (>= 2.12.0), libhunspell-1.2-0 (>= 1.2.4), libjpeg62, liblcms1 (>= 1.15-1), libmozjs1d (>= 1.9.0.15), libnspr4-0d (>> 4.7.1-1), libnss3-1d (>= 3.12.3), libpango1.0-0 (>= 1.20.3), libpng12-0 (>= 1.2.13-4), libreadline5 (>= 5.2), libsqlite3-0 (>= 3.5.9), libstartup-notification0 (>= 0.8-1), libstdc++6 (>= 4.1.1), libx11-6, libxrender1, libxt6, zlib1g (>= 1:1.1.4) +Suggests: xulrunner-1.9-gnome-support +Conflicts: j2re1.4, pango-graphite +Description: XUL + XPCOM application runner + +Package: zlib1g +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 128 +Maintainer: Mark Brown <broonie@debian.org> +Architecture: i386 +Source: zlib +Version: 1:1.2.3.3.dfsg-12 +Provides: libz1 +Depends: libc6 (>= 2.7-1) +Conflicts: zlib1 (<= 1:1.0.4-7) +Description: compression library - runtime + diff --git a/test/integration/status-bug-598669-install-postfix-gets-exim-heavy b/test/integration/status-bug-598669-install-postfix-gets-exim-heavy new file mode 100644 index 0000000..fcf21dc --- /dev/null +++ b/test/integration/status-bug-598669-install-postfix-gets-exim-heavy @@ -0,0 +1,30 @@ +Package: exim4-daemon-light +Status: install ok installed +Priority: standard +Section: mail +Installed-Size: 952 +Maintainer: Exim4 Maintainers <pkg-exim4-maintainers@lists.alioth.debian.org> +Architecture: i386 +Source: exim4 +Version: 4.72-1 +Replaces: mail-transport-agent +Provides: mail-transport-agent +Conflicts: mail-transport-agent +Filename: pool/main/e/exim4/exim4-daemon-light_4.72-1_i386.deb +Size: 459500 +MD5sum: f32ccafef44bed2efcd526cd6501307d +Description: lightweight Exim MTA (v4) daemon + +Package: exim4 +Status: install ok installed +Priority: standard +Section: mail +Installed-Size: 60 +Maintainer: Exim4 Maintainers <pkg-exim4-maintainers@lists.alioth.debian.org> +Architecture: all +Version: 4.72-1 +Depends: exim4-daemon-light | exim4-daemon-heavy +Filename: pool/main/e/exim4/exim4_4.72-1_all.deb +Size: 7738 +MD5sum: 2f473b82bbabac9718ff3e755eaf85c1 +Description: metapackage to ease Exim MTA (v4) installation diff --git a/test/integration/status-bug-601961-install-info b/test/integration/status-bug-601961-install-info new file mode 100644 index 0000000..c43cffa --- /dev/null +++ b/test/integration/status-bug-601961-install-info @@ -0,0 +1,42 @@ +Package: dpkg +Status: install ok installed +Essential: yes +Priority: required +Section: admin +Installed-Size: 6432 +Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org> +Architecture: i386 +Version: 1.15.8.5 +Description: Debian package management system + +Package: findutils +Status: install ok installed +Essential: yes +Priority: required +Section: utils +Installed-Size: 1704 +Maintainer: Andreas Metzler <ametzler@debian.org> +Architecture: i386 +Version: 4.4.2-1+b1 +Depends: dpkg (>= 1.15.4) | install-info, essentialpkg +Description: utilities for finding files--find, xargs + +Package: install-info +Status: install ok installed +Priority: important +Section: doc +Installed-Size: 256 +Maintainer: Debian TeX maintainers <debian-tex-maint@lists.debian.org> +Architecture: i386 +Version: 4.13a.dfsg.1-6 +Description: Manage installed documentation in info format + +Package: essentialpkg +Status: install ok installed +Priority: important +Section: other +Installed-Size: 256 +Maintainer: Joe Sixpack <joe@example.org> +Architecture: i386 +Version: 4.13a.dfsg.1-6 +Description: ultra hypercool important package diff --git a/test/integration/status-bug-605394-versioned-or-groups b/test/integration/status-bug-605394-versioned-or-groups new file mode 100644 index 0000000..3ac9c30 --- /dev/null +++ b/test/integration/status-bug-605394-versioned-or-groups @@ -0,0 +1,34 @@ +Package: apache2-mpm-worker +Status: install ok installed +Priority: optional +Section: httpd +Installed-Size: 68 +Maintainer: Debian Apache Maintainers <debian-apache@lists.debian.org> +Architecture: i386 +Source: apache2 +Version: 2.2.16-4 +Provides: apache2-mpm +Conflicts: apache2-mpm +Description: Apache HTTP Server - high speed threaded model + +Package: php5-cgi +Status: install ok installed +Priority: optional +Section: php +Installed-Size: 14672 +Maintainer: Debian PHP Maintainers <pkg-php-maint@lists.alioth.debian.org> +Architecture: i386 +Source: php5 +Version: 5.3.3-3 +Description: server-side, HTML-embedded scripting language (CGI binary) + +Package: php5 +Status: install ok installed +Priority: optional +Section: php +Installed-Size: 20 +Maintainer: Debian PHP Maintainers <pkg-php-maint@lists.alioth.debian.org> +Architecture: all +Version: 5.3.3-3 +Depends: libapache2-mod-php5 (>= 5.3.3-3) | libapache2-mod-php5filter (>= 5.3.3-3) | php5-cgi (>= 5.3.3-3) +Description: server-side, HTML-embedded scripting language (metapackage) diff --git a/test/integration/status-bug-612557-garbage-upgrade b/test/integration/status-bug-612557-garbage-upgrade new file mode 100644 index 0000000..7403d8c --- /dev/null +++ b/test/integration/status-bug-612557-garbage-upgrade @@ -0,0 +1,34 @@ +Package: python-uno +Status: install ok installed +Priority: optional +Section: python +Installed-Size: 2032 +Maintainer: Debian OpenOffice Team <debian-openoffice@lists.debian.org> +Architecture: i386 +Source: openoffice.org +Version: 1:3.2.1-11+squeeze2 +Description: Python-UNO bridge + +Package: openoffice.org-common +Status: install ok installed +Priority: optional +Section: editors +Installed-Size: 48356 +Maintainer: Debian OpenOffice Team <debian-openoffice@lists.debian.org> +Architecture: all +Source: openoffice.org +Version: 1:3.2.1-11+squeeze2 +Description: office productivity suite -- arch-independent files + +Package: openoffice.org-emailmerge +Status: install ok installed +Priority: optional +Section: editors +Installed-Size: 1652 +Maintainer: Debian OpenOffice Team <debian-openoffice@lists.debian.org> +Architecture: all +Source: openoffice.org +Version: 1:3.2.1-11+squeeze2 +Replaces: python-uno (<< 1:2.4.1-5) +Pre-Depends: python-uno, openoffice.org-common +Description: office productivity suite -- email mail merge diff --git a/test/integration/status-bug-613420-new-garbage-dependency b/test/integration/status-bug-613420-new-garbage-dependency new file mode 100644 index 0000000..166a393 --- /dev/null +++ b/test/integration/status-bug-613420-new-garbage-dependency @@ -0,0 +1,22 @@ +Package: openoffice.org-officebean +Status: install ok installed +Priority: optional +Section: java +Installed-Size: 1656 +Maintainer: Debian OpenOffice Team <debian-openoffice@lists.debian.org> +Architecture: i386 +Source: openoffice.org +Version: 1:3.2.1-11+squeeze2 +Depends: openoffice.org-core (= 1:3.2.1-11+squeeze2) +Description: office productivity suite -- Java bean + +Package: openoffice.org-core +Status: install ok installed +Priority: optional +Section: editors +Installed-Size: 121724 +Maintainer: Debian OpenOffice Team <debian-openoffice@lists.debian.org> +Architecture: i386 +Source: openoffice.org +Version: 1:3.2.1-11+squeeze2 +Description: office productivity suite -- arch-dependent files diff --git a/test/integration/status-bug-723705-tagfile-truncates-fields b/test/integration/status-bug-723705-tagfile-truncates-fields new file mode 100644 index 0000000..fe18506 --- /dev/null +++ b/test/integration/status-bug-723705-tagfile-truncates-fields @@ -0,0 +1,62 @@ +Package: libc6 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 10164 +Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> +Architecture: amd64 +Multi-Arch: same +Source: eglibc (2.17-92) +Version: 2.17-92+b1 +Replaces: libc6-amd64 +Provides: glibc-2.17-1 +Suggests: glibc-doc, debconf | debconf-2.0, locales +Breaks: locales (<< 2.17), locales-all (<< 2.17), lsb-core (<= 3.2-27), nscd (<< 2.17) +Conflicts: prelink (<= 0.0.20090311-1), tzdata (<< 2007k-1), tzdata-etch +Conffiles: + /etc/ld.so.conf.d/x86_64-linux-gnu.conf 593ad12389ab2b6f952e7ede67b8fbbf +Description: Embedded GNU C Library: Shared libraries + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C library + and the standard math library, as well as many others. +Homepage: http://www.eglibc.org + +Package: libnewt0.52 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 820 +Maintainer: Alastair McKinstry <mckinstry@debian.org> +Architecture: amd64 +Multi-Arch: same +Source: newt +Version: 0.52.15-3 +Recommends: libfribidi0 +Conffiles: + /etc/newt/palette.original d41d8cd98f00b204e9800998ecf8427e +Description: Not Erik's Windowing Toolkit - text mode windowing with slang + Newt is a windowing toolkit for text mode built from the slang library. + It allows color text mode applications to easily use stackable windows, + push buttons, check boxes, radio buttons, lists, entry fields, labels, + and displayable text. Scrollbars are supported, and forms may be nested + to provide extra functionality. This package contains the shared library + for programs that have been built with newt. +Homepage: https://fedorahosted.org/newt/ + +Package: libgcc1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 128 +Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org> +Architecture: amd64 +Multi-Arch: same +Source: gcc-4.8 (4.8.1-10) +Version: 1:4.8.1-10 +Breaks: gcc-4.1, gcc-4.3 (<< 4.3.6-1), gcc-4.4 (<< 4.4.6-4), gcc-4.5 (<< 4.5.3-2) +Description: GCC support library + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. +Homepage: http://gcc.gnu.org/ + diff --git a/test/integration/status-bug-lp1347721-dpkg-ordering b/test/integration/status-bug-lp1347721-dpkg-ordering new file mode 100644 index 0000000..eaea10b --- /dev/null +++ b/test/integration/status-bug-lp1347721-dpkg-ordering @@ -0,0 +1,1942 @@ +Package: libustr-1.0-1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 261 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: ustr +Version: 1.0.4-3ubuntu2 +Depends: libc6 (>= 2.4) +Pre-Depends: multiarch-support +Description: Micro string library: shared library + ustr (Micro string library) is a string API for C. It has tiny overhead over + just plain strdup(), is much safer, is easier to use, is faster for many + operations, can be used with read-only or automatically allocated data. You + don't even need to link to the library to use it (so there are no + dependencies). + . + This package contains the shared library for ustr. +Homepage: http://www.and.org/ustr/ +Original-Maintainer: Vaclav Ovsik <vaclav.ovsik@i.cz> + +Package: debconf +Status: install ok installed +Priority: important +Section: admin +Installed-Size: 609 +Maintainer: Colin Watson <cjwatson@ubuntu.com> +Architecture: all +Multi-Arch: foreign +Version: 1.5.53ubuntu1 +Replaces: debconf-tiny +Provides: debconf-2.0 +Pre-Depends: perl-base (>= 5.6.1-4) +Recommends: apt-utils (>= 0.5.1), debconf-i18n +Suggests: debconf-doc, debconf-utils, whiptail | dialog | gnome-utils, libterm-readline-gnu-perl, libgtk2-perl (>= 1:1.130), libnet-ldap-perl, perl, libqtgui4-perl, libqtcore4-perl +Conflicts: apt (<< 0.3.12.1), cdebconf (<< 0.96), debconf-tiny, debconf-utils (<< 1.3.22), dialog (<< 0.9b-20020814-1), menu (<= 2.1.3-1), whiptail (<< 0.51.4-11), whiptail-utf8 (<= 0.50.17-13) +Conffiles: + /etc/debconf.conf 8c0619be413824f1fc7698cee0f23811 + /etc/apt/apt.conf.d/70debconf 7e9d09d5801a42b4926b736b8eeabb73 + /etc/bash_completion.d/debconf 8fa1862734fbe54d7178aaaa419f5a11 +Description: Debian configuration management system + Debconf is a configuration management system for debian packages. Packages + use Debconf to ask questions when they are installed. +Original-Maintainer: Debconf Developers <debconf-devel@lists.alioth.debian.org> + +Package: iproute2 +Status: install ok installed +Priority: important +Section: net +Installed-Size: 1184 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: foreign +Version: 3.14.0-1 +Replaces: iproute +Provides: arpd +Depends: libc6 (>= 2.14), libdb5.3 +Recommends: libatm1 (>= 2.4.1-17~), libxtables10 +Suggests: iproute2-doc +Conflicts: arpd, iproute (<< 20130000-1) +Conffiles: + /etc/iproute2/rt_realms 7137bdf40e8d58c87ac7e3bba503767f + /etc/iproute2/rt_protos 95ce0b4b5b79f5a8a45941fb418a904c + /etc/iproute2/rt_dsfield 4264d5c7c8298300185aa04e1a736934 + /etc/iproute2/rt_scopes 6298b8df09e9bda23ea7da49021ca457 + /etc/iproute2/ematch_map b91e7f9b26918449bade9573f8871d61 + /etc/iproute2/group 3aea2c0e0dd75e13a5f8f48f2936915f + /etc/iproute2/rt_tables a1313318d6778fe6b8c680248ef5a463 +Description: networking and traffic control tools + The iproute2 suite is a collection of utilities for networking and + traffic control. + . + These tools communicate with the Linux kernel via the (rt)netlink + interface, providing advanced features not available through the + legacy net-tools commands 'ifconfig' and 'route'. +Original-Maintainer: Debian iproute2 Maintainers <ah-iproute@debian.org> +Homepage: http://www.linux-foundation.org/en/Net:Iproute2 + +Package: coreutils +Essential: yes +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 6124 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: foreign +Version: 8.21-1ubuntu5 +Replaces: mktemp, timeout +Pre-Depends: libacl1 (>= 2.2.51-8), libattr1 (>= 1:2.4.46-8), libc6 (>= 2.17), libselinux1 (>= 1.32) +Conflicts: timeout +Description: GNU core utilities + This package contains the basic file, shell and text manipulation + utilities which are expected to exist on every operating system. + . + Specifically, this package includes: + arch base64 basename cat chcon chgrp chmod chown chroot cksum comm cp + csplit cut date dd df dir dircolors dirname du echo env expand expr + factor false flock fmt fold groups head hostid id install join link ln + logname ls md5sum mkdir mkfifo mknod mktemp mv nice nl nohup nproc od + paste pathchk pinky pr printenv printf ptx pwd readlink rm rmdir runcon + sha*sum seq shred sleep sort split stat stty sum sync tac tail tee test + timeout touch tr true truncate tsort tty uname unexpand uniq unlink + users vdir wc who whoami yes +Homepage: http://gnu.org/software/coreutils +Original-Maintainer: Michael Stone <mstone@debian.org> + +Package: debianutils +Essential: yes +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 273 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: foreign +Version: 4.4 +Replaces: manpages-pl (<< 1:0.5) +Depends: sensible-utils +Pre-Depends: libc6 (>= 2.15) +Description: Miscellaneous utilities specific to Debian + This package provides a number of small utilities which are used + primarily by the installation scripts of Debian packages, although + you may use them directly. + . + The specific utilities included are: + add-shell installkernel ischroot remove-shell run-parts savelog + tempfile which +Original-Maintainer: Clint Adams <clint@debian.org> + +Package: initramfs-tools +Status: install ok installed +Priority: optional +Section: utils +Installed-Size: 365 +Maintainer: Ubuntu Kernel Team <kernel-team@lists.ubuntu.com> +Architecture: all +Multi-Arch: foreign +Version: 0.103ubuntu4 +Provides: linux-initramfs-tool +Depends: initramfs-tools-bin (>= 0.103ubuntu4), initramfs-tools-bin (<< 0.103ubuntu4.1~), klibc-utils (>= 2.0-1~), busybox-initramfs (>= 1:1.13.3-1ubuntu5), cpio, module-init-tools, udev (>= 147~-5), findutils (>= 4.2.24), util-linux (>> 2.15~rc1) +Suggests: bash-completion +Breaks: cryptsetup (<< 2:1.1.0-2.1), elilo (<< 3.12-3.1~), lilo (<< 22.8-8.2~), mountall (<< 2.0~), s390-tools (<< 1.8.3-2~) +Conflicts: usplash (<< 0.5.50) +Conffiles: + /etc/bash_completion.d/initramfs-tools 7eeb7184772f3658e7cf446945c096b1 + /etc/initramfs-tools/update-initramfs.conf e2026d4603e7161efaccca519aeb1297 + /etc/initramfs-tools/initramfs.conf 8801535d9bec98754eea6a172f956d42 + /etc/kernel/postrm.d/initramfs-tools e22d1ab0d7a7a1b66ae6d71ea4f21938 + /etc/kernel/postinst.d/initramfs-tools fe7713b9a74a10ed71d1e7dd93afc209 +Description: tools for generating an initramfs + This package contains tools to create and boot an initramfs for packaged 2.6 + Linux kernel. The initramfs is a gzipped cpio archive. At boot time, the + kernel unpacks that archive into RAM, mounts and uses it as initial root file + system. The mounting of the real root file system occurs in early user space. + klibc provides utilities to setup root. Having the root on MD, LVM2, LUKS or + NFS is also supported. + Any boot loader with initrd support is able to load an initramfs archive. +Original-Maintainer: Debian kernel team <debian-kernel@lists.debian.org> + +Package: makedev +Status: install ok installed +Priority: extra +Section: admin +Installed-Size: 125 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Multi-Arch: foreign +Version: 2.3.1-93ubuntu1 +Depends: base-passwd (>= 3.0.4) +Conflicts: udev (<= 0.024-7) +Description: creates device files in /dev + The MAKEDEV executable is used to create device files, often in /dev. + . + Device files are special files through which applications can interact + with hardware. + . + This package is not necessary for most modern Linux systems, where the udev + subsystem provides a more dynamic mechanism for device file management. +Original-Maintainer: Debian QA Group <packages@qa.debian.org> + +Package: libdbus-1-3 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 398 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: dbus +Version: 1.6.18-0ubuntu4 +Depends: libc6 (>= 2.10) +Pre-Depends: multiarch-support +Recommends: dbus +Breaks: kde-window-manager (<< 4:4.4.5-9), kdebase-workspace-bin (<< 4:4.4.5-9) +Description: simple interprocess messaging system (library) + D-Bus is a message bus, used for sending messages between applications. + Conceptually, it fits somewhere in between raw sockets and CORBA in + terms of complexity. + . + D-Bus supports broadcast messages, asynchronous messages (thus + decreasing latency), authentication, and more. It is designed to be + low-overhead; messages are sent using a binary protocol, not using + XML. D-Bus also supports a method call mapping for its messages, but + it is not required; this makes using the system quite simple. + . + It comes with several bindings, including GLib, Python, Qt and Java. + . + The daemon can be found in the dbus package. +Homepage: http://dbus.freedesktop.org/ +Original-Maintainer: Utopia Maintenance Team <pkg-utopia-maintainers@lists.alioth.debian.org> + +Package: module-init-tools +Status: install ok installed +Priority: extra +Section: admin +Installed-Size: 31 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Multi-Arch: foreign +Source: kmod +Version: 16-2ubuntu3 +Depends: libkmod2, kmod +Pre-Depends: dpkg (>= 1.15.7.2) +Description: transitional dummy package (module-init-tools to kmod) + This dummy package is provided to support the transition from + module-init-tools to kmod and should be removed afterwards. +Original-Maintainer: Marco d'Itri <md@linux.it> + +Package: libuuid1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 107 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: util-linux +Version: 2.20.1-5.1ubuntu20 +Replaces: e2fsprogs (<< 1.34-1) +Depends: passwd, libc6 (>= 2.4) +Pre-Depends: multiarch-support +Recommends: uuid-runtime +Description: Universally Unique ID library + The libuuid library generates and parses 128-bit universally unique + ids (UUIDs). A UUID is an identifier that is unique across both + space and time, with respect to the space of all UUIDs. A UUID can + be used for multiple purposes, from tagging objects with an extremely + short lifetime, to reliably identifying very persistent objects + across a network. + . + See RFC 4122 for more information. +Homepage: http://userweb.kernel.org/~kzak/util-linux/ +Original-Maintainer: LaMont Jones <lamont@debian.org> + +Package: lsb-base +Status: install ok installed +Priority: required +Section: misc +Installed-Size: 82 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Multi-Arch: foreign +Source: lsb +Version: 4.1+Debian11ubuntu6 +Description: Linux Standard Base 4.1 init script functionality + The Linux Standard Base (http://www.linuxbase.org/) is a standard + core system that third-party applications written for Linux can + depend upon. + . + This package only includes the init-functions shell library, which + may be used by other packages' initialization scripts for console + logging and other purposes. +Homepage: http://www.linuxfoundation.org/collaborate/workgroups/lsb +Original-Maintainer: Debian LSB Team <debian-lsb@lists.debian.org> + +Package: procps +Status: install ok installed +Priority: important +Section: admin +Installed-Size: 637 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: foreign +Version: 1:3.3.9-1ubuntu2 +Provides: watch +Depends: libc6 (>= 2.15), libncurses5 (>= 5.5-5~), libncursesw5 (>= 5.6+20070908), libprocps3, libtinfo5, lsb-base (>= 3.0-10), initscripts +Recommends: psmisc +Breaks: guymager (<= 0.5.9-1), open-vm-tools (<= 2011.12.20-562307-1), xmem (<= 1.20-27.1) +Conflicts: pgrep (<< 3.3-5), w-bassman (<< 1.0-3) +Conffiles: + /etc/sysctl.d/10-console-messages.conf 154f6f5c5810d10bb303fb6a8e907c6a + /etc/sysctl.d/README c20074b9b11a5202758c69d7bcb6996f + /etc/sysctl.d/10-magic-sysrq.conf b3059f2835f17c97265433fdfdee358f + /etc/sysctl.d/10-kernel-hardening.conf 5c1388f00011a287cdeba60208c674e1 + /etc/sysctl.d/10-link-restrictions.conf 8568316f2baa8db06554dab91f93a161 + /etc/sysctl.d/10-zeropage.conf 8d7193abcc4dfedaf519dd03016a5e59 + /etc/sysctl.d/10-network-security.conf 4ac7258f5336e7eeaf448c05ab668d3c + /etc/sysctl.d/10-ptrace.conf 47f40494b2fc698e15549e0a4a79e81c + /etc/sysctl.d/10-ipv6-privacy.conf e9473d12b4a7069d6a3ca8b694511ddf + /etc/sysctl.conf 76c1d8285c578d5e827c3e07b9738112 + /etc/init.d/procps 021482ebab1024f5ed76e650e5191e8f + /etc/init/procps.conf 96170a339d08797dc90d69b01d6bf610 +Description: /proc file system utilities + This package provides command line and full screen utilities for browsing + procfs, a "pseudo" file system dynamically generated by the kernel to + provide information about the status of entries in its process table + (such as whether the process is running, stopped, or a "zombie"). + . + It contains free, kill, pkill, pgrep, pmap, ps, pwdx, skill, slabtop, + snice, sysctl, tload, top, uptime, vmstat, w, and watch. +Homepage: http://gitorious.org/procps +Original-Maintainer: Craig Small <csmall@debian.org> + +Package: libpam0g +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 219 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: pam +Version: 1.1.8-1ubuntu2 +Replaces: libpam0g-util +Depends: libaudit1 (>= 1:2.2.1), libc6 (>= 2.8), debconf (>= 0.5) | debconf-2.0 +Pre-Depends: multiarch-support +Suggests: libpam-doc +Description: Pluggable Authentication Modules library + Contains the shared library for Linux-PAM, a library that enables the + local system administrator to choose how applications authenticate users. + In other words, without rewriting or recompiling a PAM-aware application, + it is possible to switch between the authentication mechanism(s) it uses. + One may entirely upgrade the local authentication system without touching + the applications themselves. +Homepage: http://pam.sourceforge.net/ +Original-Maintainer: Steve Langasek <vorlon@debian.org> + +Package: sensible-utils +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 110 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Multi-Arch: foreign +Version: 0.0.9 +Replaces: debianutils (<= 2.32.3), manpages-pl (<= 20060617-3~) +Description: Utilities for sensible alternative selection + This package provides a number of small utilities which are used + by programs to sensibly select and spawn an appropriate browser, + editor, or pager. + . + The specific utilities included are: sensible-browser sensible-editor + sensible-pager +Original-Maintainer: Anibal Monsalve Salazar <anibal@debian.org> + +Package: perl-base +Essential: yes +Status: install ok installed +Priority: required +Section: perl +Installed-Size: 4780 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Source: perl +Version: 5.18.2-2ubuntu1 +Replaces: libperl5.8 (<< 5.8.0-20), libscalar-list-utils-perl, libsocket-perl, libxsloader-perl, perl (<< 5.10.1-12), perl-modules (<< 5.10.1-1) +Provides: libscalar-list-utils-perl, libsocket-perl, libxsloader-perl, perl5-base, perlapi-5.18.1, perlapi-5.18.2 +Pre-Depends: libc6 (>= 2.11), dpkg (>= 1.14.20) +Suggests: perl +Breaks: autoconf2.13 (<< 2.13-45), libcommon-sense-perl (<< 3.72-2~), libfile-spec-perl (<< 3.4000), libmarc-charset-perl (<< 1.2), libsocket-perl (<< 2.009), libxsloader-perl (<< 0.16) +Conflicts: defoma (<< 0.11.12), doc-base (<< 0.10.3), libscalar-list-utils-perl, mono-gac (<< 2.10.8.1-3), safe-rm (<< 0.8), update-inetd (<< 4.41) +Description: minimal Perl system + Perl is a scripting language used in many system scripts and utilities. + . + This package provides a Perl interpreter and the small subset of the + standard run-time library required to perform basic tasks. For a full + Perl installation, install "perl" (and its dependencies, "perl-modules" + and "perl-doc"). +Original-Maintainer: Niko Tyni <ntyni@debian.org> +Homepage: http://dev.perl.org/perl5/ + +Package: sysv-rc +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 221 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Multi-Arch: foreign +Source: sysvinit +Version: 2.88dsf-41ubuntu6 +Replaces: file-rc +Depends: debconf (>= 0.5) | debconf-2.0, sysvinit-utils (>= 2.86.ds1-62), insserv (>> 1.12.0-10) +Recommends: lsb-base (>= 3.2-14) +Suggests: sysv-rc-conf, bum +Breaks: initscripts (<< 2.86.ds1-63) +Conflicts: file-rc +Description: System-V-like runlevel change mechanism + This package provides support for the System-V like system + for booting, changing runlevels, and shutting down, + configured through symbolic links in /etc/rc?.d/. +Homepage: http://savannah.nongnu.org/projects/sysvinit +Original-Maintainer: Debian sysvinit maintainers <pkg-sysvinit-devel@lists.alioth.debian.org> + +Package: libprocps3 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 129 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: procps +Version: 1:3.3.9-1ubuntu2 +Replaces: procps (<< 1:3.3.2-1) +Depends: libc6 (>= 2.4) +Pre-Depends: multiarch-support +Description: library for accessing process information from /proc + The libprocps library is a way of accessing information out of the /proc + filesystem. + . + This package contains the shared libraries necessary to run programs + compilied with libprocps. +Homepage: http://gitorious.org/procps +Original-Maintainer: Craig Small <csmall@debian.org> + +Package: libjson-c2 +Status: install ok installed +Priority: extra +Section: libs +Installed-Size: 82 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: json-c +Version: 0.11-4ubuntu1 +Depends: libc6 (>= 2.8) +Pre-Depends: multiarch-support +Description: JSON manipulation library - shared library + This library allows you to easily construct JSON objects in C, + output them as JSON formatted strings and parse JSON formatted + strings back into the C representation of JSON objects. +Homepage: https://github.com/json-c/json-c/wiki +Original-Maintainer: fabien boucher <fabien.dot.boucher@gmail.com> + +Package: libdrm2 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 105 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: libdrm +Version: 2.4.53-1 +Depends: libc6 (>= 2.17) +Pre-Depends: multiarch-support +Description: Userspace interface to kernel DRM services -- runtime + This library implements the userspace interface to the kernel DRM + services. DRM stands for "Direct Rendering Manager", which is the + kernelspace portion of the "Direct Rendering Infrastructure" (DRI). + The DRI is currently used on Linux to provide hardware-accelerated + OpenGL drivers. + . + This package provides the runtime environment for libdrm. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libsepol1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 322 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: libsepol +Version: 2.2-1 +Depends: libc6 (>= 2.4) +Pre-Depends: multiarch-support +Description: SELinux library for manipulating binary security policies + Security-enhanced Linux is a patch of the Linux kernel and a number + of utilities with enhanced security functionality designed to add + mandatory access controls to Linux. The Security-enhanced Linux + kernel contains new architectural components originally developed to + improve the security of the Flask operating system. These + architectural components provide general support for the enforcement + of many kinds of mandatory access control policies, including those + based on the concepts of Type Enforcement®, Role-based Access + Control, and Multi-level Security. + . + libsepol provides an API for the manipulation of SELinux binary policies. + It is used by checkpolicy (the policy compiler) and similar tools, as well + as by programs like load_policy that need to perform specific transformations + on binary policies such as customizing policy boolean settings. +Original-Maintainer: Debian SELinux maintainers <selinux-devel@lists.alioth.debian.org> +Homepage: http://userspace.selinuxproject.org/ + +Package: libpam-modules +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 764 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: pam +Version: 1.1.8-1ubuntu2 +Replaces: libpam-umask, libpam0g-util +Provides: libpam-mkhomedir, libpam-motd, libpam-umask +Pre-Depends: libaudit1 (>= 1:2.2.1), libc6 (>= 2.15), libdb5.3, libpam0g (>= 1.1.3-2), libselinux1 (>= 2.1.9), debconf (>= 0.5) | debconf-2.0, libpam-modules-bin (= 1.1.8-1ubuntu2) +Conflicts: libpam-mkhomedir, libpam-motd, libpam-umask +Conffiles: + /etc/security/limits.conf 11c27ba00b7bd6a255f33126f75c5005 + /etc/security/group.conf f1e26e8db6f7abd2d697d7dad3422c36 + /etc/security/access.conf 13ec4d189f0ed9acf3433977a53d446b + /etc/security/pam_env.conf ddee4a931170dc21b4e0b9bb28e02a7b + /etc/security/namespace.init b46b23d64860d1557d2a8f44b231fd54 + /etc/security/time.conf 06e05c6079e839c8833ac7c3abfde192 + /etc/security/sepermit.conf d41c74654734a5c069a37bfc02f0a6d4 + /etc/security/namespace.conf 6424c99a62ddf4b7d3ca713bb06ded89 +Description: Pluggable Authentication Modules for PAM + This package completes the set of modules for PAM. It includes the + pam_unix.so module as well as some specialty modules. +Homepage: http://pam.sourceforge.net/ +Original-Maintainer: Steve Langasek <vorlon@debian.org> + +Package: tzdata +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 1599 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Multi-Arch: foreign +Version: 2014b-1 +Replaces: libc0.1, libc0.3, libc6, libc6.1 +Provides: tzdata-jessie +Depends: debconf (>= 0.5) | debconf-2.0 +Description: time zone and daylight-saving time data + This package contains data required for the implementation of + standard local time for many representative locations around the + globe. It is updated periodically to reflect changes made by + political bodies to time zone boundaries, UTC offsets, and + daylight-saving rules. +Original-Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> +Homepage: http://www.iana.org/time-zones + +Package: libudev1 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 129 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: systemd +Version: 204-10ubuntu1 +Depends: libc6 (>= 2.17), libcgmanager0, libdbus-1-3 (>= 1.0.2), libnih-dbus1 (>= 1.0.0), libnih1 (>= 1.0.0) +Pre-Depends: multiarch-support +Description: libudev shared library + This library provides access to udev device information. +Homepage: http://www.freedesktop.org/wiki/Software/systemd +Original-Maintainer: Debian systemd Maintainers <pkg-systemd-maintainers@lists.alioth.debian.org> + +Package: ifupdown +Status: install ok installed +Priority: important +Section: admin +Installed-Size: 229 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: foreign +Version: 0.7.48.1ubuntu1 +Replaces: netbase (<< 5.0) +Depends: iproute2 | iproute (>= 20071016-1), libc6 (>= 2.7), sysv-rc (>= 2.88dsf-24) | file-rc (>= 0.8.16), lsb-base (>= 4.1+Debian3), initscripts (>= 2.88dsf-25), adduser +Recommends: isc-dhcp-client | dhcp-client +Suggests: ppp, rdnssd, net-tools +Breaks: dhcp3-client (<< 4.0), netbase (<< 5.0) +Conffiles: + /etc/network/if-up.d/upstart dfbcde4fd4a3a2553930605e03e160ab + /etc/network/if-down.d/upstart 1a0205ddbc1446782a8d4d818e97d8a5 + /etc/init/network-interface-container.conf 4daa570594afc50940f140a7731d20d1 + /etc/init/networking.conf c50811e19bcd596d99b0467b40cfbb8b + /etc/init/network-interface.conf aae12345eba8e946579b06798b1752c1 + /etc/init/network-interface-security.conf feb6b4b52fe24c44ff1bc68addf245d6 + /etc/init.d/networking 2c8c3be8b90f99de7edf0f883ebe39f3 + /etc/default/networking 35cd4a2713981c9239ce4532c1bfc1c7 +Description: high level tools to configure network interfaces + This package provides the tools ifup and ifdown which may be used to + configure (or, respectively, deconfigure) network interfaces based on + interface definitions in the file /etc/network/interfaces. +Original-Maintainer: Andrew Shadura <andrewsh@debian.org> + +Package: libsemanage1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 261 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: libsemanage +Version: 2.2-1ubuntu1 +Depends: libsemanage-common (= 2.2-1ubuntu1), libaudit1 (>= 1:2.2.1), libbz2-1.0, libc6 (>= 2.8), libselinux1 (>= 2.1.12), libsepol1 (>= 2.1.4), libustr-1.0-1 (>= 1.0.4) +Pre-Depends: multiarch-support +Description: SELinux policy management library + This package provides the shared libraries for SELinux policy management. + It uses libsepol for binary policy manipulation and libselinux for + interacting with the SELinux system. It also exec's helper programs + for loading policy and for checking whether the file_contexts + configuration is valid (load_policy and setfiles from + policycoreutils) presently, although this may change at least for the + bootstrapping case + . + Security-enhanced Linux is a patch of the Linux kernel and a + number of utilities with enhanced security functionality designed to + add mandatory access controls to Linux. The Security-enhanced Linux + kernel contains new architectural components originally developed to + improve the security of the Flask operating system. These + architectural components provide general support for the enforcement + of many kinds of mandatory access control policies, including those + based on the concepts of Type Enforcement, Role-based Access + Control, and Multi-level Security. +Original-Maintainer: Debian SELinux maintainers <selinux-devel@lists.alioth.debian.org> +Homepage: http://userspace.selinuxproject.org/ + +Package: mountall +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 248 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: foreign +Version: 2.53 +Replaces: upstart (<< 0.6.3-2) +Depends: makedev, udev, plymouth, coreutils (>= 7.1), libc6 (>= 2.9), libdbus-1-3 (>= 1.2.16), libnih-dbus1 (>= 1.0.0), libnih1 (>= 1.0.0), libplymouth2 (>= 0.8.1-3), libudev1 (>= 183) +Pre-Depends: dpkg (>= 1.15.7.2) +Breaks: initscripts (<< 2.88dsf-24), policycoreutils (<< 2.0.69-2ubuntu4), usplash (<< 0.5.47) +Conffiles: + /etc/init/checkroot.sh.conf 3ea7f6ba450f431fd239e2b53a805216 + /etc/init/mounted-dev.conf cf7bea42235e77168c996d774f059c44 + /etc/init/mounted-tmp.conf 289fa57d726885147a41b2b1f3695a29 + /etc/init/mountdevsubfs.sh.conf dd33cb414bca17d97140d7f8671207f2 + /etc/init/mountall-net.conf feff70cd7006f6763e24263d381940f3 + /etc/init/mountall-shell.conf aa05af89db3de044d1cd7f6971b46d9f + /etc/init/mountall.sh.conf ee258840aad52477434cc22e34efcc50 + /etc/init/bootmisc.sh.conf d1a51c54dcfe6f3f5265246888ba4161 + /etc/init/mountnfs.sh.conf 760a5b57cbd0d1e2c65ba6db9297a586 + /etc/init/mounted-proc.conf 07198659bd06c1442a35882b2fae05fc + /etc/init/mountnfs-bootclean.sh.conf 0b6f3f9e9f8757efee57f6a4839d7dff + /etc/init/mountall.conf ac0fbaa98e705e52f59ca9e4d39751ad + /etc/init/mountall-bootclean.sh.conf d1899239aa60ea903f43a3ac58c5c238 + /etc/init/mtab.sh.conf 27aece82dbe70232d734d1dadfe87518 + /etc/init/mountkernfs.sh.conf 2e7449097b6cf88cba915edc1c339ec4 + /etc/init/mounted-var.conf 02f90856c91a46e9cbed1c35b92fec6c + /etc/init/mountall-reboot.conf 43e3c229085a13005b0681a49b2bef51 + /etc/init/checkroot-bootclean.sh.conf e02a473c76e4a2bfc1efb4c367495052 + /etc/init/checkfs.sh.conf 2e928476ccb2ecefe9ee87e2f83d34da + /etc/init/mounted-debugfs.conf 462c8aab0d9d4e6e496b1e2be5910edc + /etc/init/mounted-run.conf a26db58c801e0f6ec8738a5838aa53ed + /etc/dbus-1/system.d/Mountall.Server.conf 91b1414af1257d2ef089f84a3e5c1ed1 +Description: filesystem mounting tool + mountall mounts filesystems when the underlying block devices are + ready, or when network interfaces come up, checking the filesystems + first. +Original-Maintainer: Steve Langasek <vorlon@debian.org> + +Package: kmod +Status: install ok installed +Priority: important +Section: admin +Installed-Size: 285 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: foreign +Version: 16-2ubuntu3 +Replaces: module-init-tools (<< 4) +Depends: libc6 (>= 2.17), libkmod2, sysv-rc (>= 2.88dsf-24) | file-rc (>= 0.8.16), lsb-base (>= 3.0-6) +Breaks: module-init-tools (<< 4) +Conffiles: + /etc/init/kmod.conf 2686532745c8b71d6d3df91c3a53aef3 + /etc/modprobe.d/denylist-framebuffer.conf 097e2142ae3e4dd2911eda7844ce0c18 + /etc/modprobe.d/denylist-rare-network.conf 8fb4b96124e461f53adceba9ca91f09a + /etc/modprobe.d/denylist.conf bc6754fa320733c6d239a4bb0148ffd7 + /etc/modprobe.d/iwlwifi.conf f27bc645e93e20c8e532325d190ac8ee + /etc/modprobe.d/denylist-ath_pci.conf d1da9bb08c2b0f56f3be93fd0e37946b + /etc/modprobe.d/mlx4.conf b2a0bedb7461daeb0138270639581bbf + /etc/modprobe.d/denylist-firewire.conf 9cc07a17e8e64f9cd35ff59c29debe69 + /etc/modprobe.d/denylist-watchdog.conf 55327f9270c8a6257a833c4d127a39e1 + /etc/init.d/kmod e6d43abead3714ceb8aca68dd77e1dad + /etc/depmod.d/ubuntu.conf 7c8439ef36b12e5f226b5dbfa20b8c2d +Description: tools for managing Linux kernel modules + This package contains a set of programs for loading, inserting, and + removing kernel modules for Linux. + It replaces module-init-tools. +Original-Maintainer: Marco d'Itri <md@linux.it> + +Package: libkmod2 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 138 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: kmod +Version: 16-2ubuntu3 +Depends: libc6 (>= 2.17) +Pre-Depends: multiarch-support +Description: libkmod shared library + This library provides an API for insertion, removal, configuration and + listing of kernel modules. +Original-Maintainer: Marco d'Itri <md@linux.it> + +Package: tar +Essential: yes +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 760 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: foreign +Version: 1.27.1-2 +Replaces: cpio (<< 2.4.2-39) +Pre-Depends: libacl1 (>= 2.2.51-8), libc6 (>= 2.17), libselinux1 (>= 1.32) +Suggests: bzip2, ncompress, xz-utils, tar-scripts +Breaks: dpkg-dev (<< 1.14.26) +Conflicts: cpio (<= 2.4.2-38) +Conffiles: + /etc/rmt 3c58b7cd13da1085eff0acc6a00f43c7 +Description: GNU version of the tar archiving utility + Tar is a program for packaging a set of files as a single archive in tar + format. The function it performs is conceptually similar to cpio, and to + things like PKZIP in the DOS world. It is heavily used by the Debian package + management system, and is useful for performing system backups and exchanging + sets of files with others. +Original-Maintainer: Bdale Garbee <bdale@gag.com> + +Package: libmount1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 249 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: util-linux +Version: 2.20.1-5.1ubuntu20 +Depends: libblkid1 (>= 2.17.2), libc6 (>= 2.8), libselinux1 (>= 1.32) +Pre-Depends: multiarch-support +Description: block device id library + The device mounting library, used by mount and mount helpers. +Homepage: http://userweb.kernel.org/~kzak/util-linux/ +Original-Maintainer: LaMont Jones <lamont@debian.org> + +Package: zlib1g +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 170 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: zlib +Version: 1:1.2.8.dfsg-1ubuntu1 +Provides: libz1 +Depends: libc6 (>= 2.4) +Pre-Depends: multiarch-support +Breaks: libxml2 (<< 2.7.6.dfsg-2), texlive-binaries (<< 2009-12) +Conflicts: zlib1 (<= 1:1.0.4-7) +Description: compression library - runtime + zlib is a library implementing the deflate compression method found + in gzip and PKZIP. This package includes the shared library. +Homepage: http://zlib.net/ +Original-Maintainer: Mark Brown <broonie@debian.org> + +Package: adduser +Status: install ok installed +Priority: important +Section: admin +Installed-Size: 644 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Multi-Arch: foreign +Version: 3.113+nmu3ubuntu3 +Replaces: manpages-it (<< 0.3.4-2), manpages-pl (<= 20051117-1) +Depends: perl-base (>= 5.6.0), passwd (>= 1:4.0.12), debconf | debconf-2.0 +Suggests: liblocale-gettext-perl, perl-modules, ecryptfs-utils (>= 67-1) +Conffiles: + /etc/deluser.conf 773fb95e98a27947de4a95abb3d3f2a2 +Description: add and remove users and groups + This package includes the 'adduser' and 'deluser' commands for creating + and removing users. + . + - 'adduser' creates new users and groups and adds existing users to + existing groups; + - 'deluser' removes users and groups and removes users from a given + group. + . + Adding users with 'adduser' is much easier than adding them manually. + Adduser will choose appropriate UID and GID values, create a home + directory, copy skeletal user configuration, and automate setting + initial values for the user's password, real name and so on. + . + Deluser can back up and remove users' home directories + and mail spool or all the files they own on the system. + . + A custom script can be executed after each of the commands. + . + Development mailing list: + http://lists.alioth.debian.org/mailman/listinfo/adduser-devel/ +Homepage: http://alioth.debian.org/projects/adduser/ +Original-Maintainer: Debian Adduser Developers <adduser-devel@lists.alioth.debian.org> + +Package: libgcc1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 154 +Maintainer: Ubuntu Core developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: gcc-4.9 (4.9.0-1ubuntu3) +Version: 1:4.9.0-1ubuntu3 +Depends: gcc-4.9-base (= 4.9.0-1ubuntu3), libc6 (>= 2.2.4) +Pre-Depends: multiarch-support +Breaks: gcc-4.3 (<< 4.3.6-1), gcc-4.4 (<< 4.4.6-4), gcc-4.5 (<< 4.5.3-2) +Description: GCC support library + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. +Homepage: http://gcc.gnu.org/ +Original-Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org> + +Package: libdebconfclient0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 85 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: cdebconf +Version: 0.190ubuntu1 +Depends: libc6 (>= 2.4) +Pre-Depends: multiarch-support +Description: Debian Configuration Management System (C-implementation library) + Debconf is a configuration management system for Debian packages. It is + used by some packages to prompt you for information before they are + installed. This is a reimplementation of the original debconf version + in C. + . + This is the libraries needed by libdebconfclient-dev and cdebconf. +Original-Maintainer: Debian Install System Team <debian-boot@lists.debian.org> + +Package: libklibc +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 133 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Source: klibc +Version: 2.0.3-0ubuntu1 +Description: minimal libc subset for use with initramfs + klibc is intended to be a minimalistic libc subset for use with + initramfs. It is deliberately written for small size, minimal + entanglement, and portability, not speed. It is definitely a work in + progress, and a lot of things are still missing. +Homepage: http://git.kernel.org/?p=libs/klibc/klibc.git;a=summary +Original-Maintainer: maximilian attems <maks@debian.org> + +Package: libcgmanager0 +Status: install ok installed +Priority: optional +Section: admin +Installed-Size: 152 +Maintainer: Serge Hallyn <serge.hallyn@ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: cgmanager +Version: 0.25-0ubuntu4 +Depends: libc6 (>= 2.1.3), libdbus-1-3 (>= 1.0.2) +Description: Central cgroup manager daemon (client library) + cgmanager provides a central cgroup manager daemon and a + per-namespace manager proxy, allowing users and programs + to administrate cgroups through D-Bus requests. + . + This package contains the shared library. +Homepage: http://cgmanager.linuxcontainers.org/ + +Package: mount +Essential: yes +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 410 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: foreign +Source: util-linux +Version: 2.20.1-5.1ubuntu20 +Pre-Depends: libblkid1 (>= 2.20.1), libc6 (>= 2.8), libmount1 (>= 2.20.1), libselinux1 (>= 2.0.15) +Suggests: nfs-common (>= 1:1.1.0-13) +Description: Tools for mounting and manipulating filesystems + This package provides the mount(8), umount(8), swapon(8), + swapoff(8), and losetup(8) commands. +Homepage: http://userweb.kernel.org/~kzak/util-linux/ +Original-Maintainer: LaMont Jones <lamont@debian.org> + +Package: libncurses5 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 292 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: ncurses +Version: 5.9+20140118-1ubuntu1 +Depends: libtinfo5 (= 5.9+20140118-1ubuntu1), libc6 (>= 2.15) +Pre-Depends: multiarch-support, libtinfo5 (>= 5.9-3) +Recommends: libgpm2 +Description: shared libraries for terminal handling + The ncurses library routines are a terminal-independent method of + updating character screens with reasonable optimization. + . + This package contains the shared libraries necessary to run programs + compiled with ncurses. +Homepage: http://invisible-island.net/ncurses/ +Original-Maintainer: Craig Small <csmall@debian.org> + +Package: libplymouth2 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 298 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: plymouth +Version: 0.8.8-0ubuntu17 +Replaces: plymouth (<< 0.7.0+git20090207-0ubuntu0.1~ppa4) +Depends: libc6 (>= 2.8), libpng12-0 (>= 1.2.13-4) +Pre-Depends: multiarch-support +Breaks: casper (= 1.227), mountall (<< 2.8) +Description: graphical boot animation and logger - shared libraries + Plymouth is an application that runs very early in the boot process + (even before the root filesystem is mounted!) that provides a graphical + boot animation while the boot process happens in the background. + . + This package contains the shared libraries. + +Package: gcc-4.9-base +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 213 +Maintainer: Ubuntu Core developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: gcc-4.9 +Version: 4.9.0-1ubuntu3 +Breaks: dehydra (<= 0.9.hg20110609-2), gcc-4.4-base (<< 4.4.7), gcj-4.4-base (<< 4.4.6-9~), gcj-4.6-base (<< 4.6.1-4~), gnat-4.4-base (<< 4.4.6-3~), gnat-4.6 (<< 4.6.1-5~) +Description: GCC, the GNU Compiler Collection (base package) + This package contains files common to all languages and libraries + contained in the GNU Compiler Collection (GCC). +Homepage: http://gcc.gnu.org/ +Original-Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org> + +Package: initramfs-tools-bin +Status: install ok installed +Priority: optional +Section: utils +Installed-Size: 119 +Maintainer: Ubuntu Kernel Team <kernel-team@lists.ubuntu.com> +Architecture: i386 +Source: initramfs-tools +Version: 0.103ubuntu4 +Depends: libc6 (>= 2.4), libudev1 (>= 183) +Description: binaries used by initramfs-tools + This package contains binaries used inside the initramfs images generated + by initramfs-tools. +Original-Maintainer: Debian kernel team <debian-kernel@lists.debian.org> + +Package: libattr1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 55 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: attr +Version: 1:2.4.47-1ubuntu1 +Depends: libc6 (>= 2.4) +Pre-Depends: multiarch-support +Conflicts: attr (<< 2.0.0) +Description: Extended attribute shared library + Contains the runtime environment required by programs that make use + of extended attributes. +Homepage: http://savannah.nongnu.org/projects/attr/ +Original-Maintainer: Anibal Monsalve Salazar <anibal@debian.org> + +Package: klibc-utils +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 392 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Source: klibc +Version: 2.0.3-0ubuntu1 +Depends: libklibc (= 2.0.3-0ubuntu1) +Breaks: initramfs-tools (<< 0.103) +Description: small utilities built with klibc for early boot + This package contains a collection of programs that are linked + against klibc. These duplicate some of the functionality of a + regular Linux toolset, but are typically much smaller than their + full-function counterparts. They are intended for inclusion in + initramfs images and embedded systems. +Homepage: http://git.kernel.org/?p=libs/klibc/klibc.git;a=summary +Original-Maintainer: maximilian attems <maks@debian.org> + +Package: e2fslibs +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 418 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: e2fsprogs +Version: 1.42.9-3ubuntu1 +Replaces: e2fsprogs (<< 1.34-1) +Provides: libe2p2, libext2fs2 +Depends: libc6 (>= 2.17) +Pre-Depends: multiarch-support +Description: ext2/ext3/ext4 file system libraries + The ext2, ext3 and ext4 file systems are successors of the original ext + ("extended") file system. They are the main file system types used for + hard disks on Debian and other Linux systems. + . + This package provides the ext2fs and e2p libraries, for userspace software + that directly accesses extended file systems. Programs that use libext2fs + include e2fsck, mke2fs, and tune2fs. Programs that use libe2p include + dumpe2fs, chattr, and lsattr. +Homepage: http://e2fsprogs.sourceforge.net +Original-Maintainer: Theodore Y. Ts'o <tytso@mit.edu> + +Package: base-passwd +Essential: yes +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 247 +Maintainer: Colin Watson <cjwatson@debian.org> +Architecture: i386 +Multi-Arch: foreign +Version: 3.5.33 +Replaces: base +Depends: libc6 (>= 2.8), libdebconfclient0 (>= 0.145) +Recommends: debconf (>= 0.5) | debconf-2.0 +Description: Debian base system master password and group files + These are the canonical master copies of the user database files + (/etc/passwd and /etc/group), containing the Debian-allocated user and + group IDs. The update-passwd tool is provided to keep the system databases + synchronized with these master files. + +Package: libcomerr2 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 102 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: e2fsprogs +Version: 1.42.9-3ubuntu1 +Replaces: e2fsprogs (<< 1.34-1) +Provides: libcomerr-kth-compat +Depends: libc6 (>= 2.17) +Pre-Depends: multiarch-support +Description: common error description library + libcomerr is an attempt to present a common error-handling mechanism to + manipulate the most common form of error code in a fashion that does not + have the problems identified with mechanisms commonly in use. +Homepage: http://e2fsprogs.sourceforge.net +Original-Maintainer: Theodore Y. Ts'o <tytso@mit.edu> + +Package: plymouth +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 441 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Version: 0.8.8-0ubuntu17 +Depends: initramfs-tools, libplymouth2 (= 0.8.8-0ubuntu17), mountall (>= 2.0), upstart (>= 1.11-0ubuntu3), udev (>= 166-0ubuntu4), sysv-rc (>= 2.88dsf-24) | file-rc (>= 0.8.16), libc6 (>= 2.8), libdbus-1-3 (>= 1.1.1), libdrm2 (>= 2.4.25), libtinfo5 +Recommends: plymouth-theme-ubuntu-text | plymouth-theme +Breaks: gdm (<< 3.0.4-0ubuntu11), kdm (<< 4:4.7.1-0ubuntu3), lightdm (<< 0.9.7-0ubuntu2), lubuntu-plymouth-theme (<= 0.4), lxdm (<< 0.4.1-0ubuntu2), ubuntustudio-plymouth-theme (<= 0.38), xubuntu-plymouth-theme (<< 10.04.4) +Conflicts: usplash +Conffiles: + /etc/init/plymouth-ready.conf f8542ccc586a5b63f5b76f68ac4f2f59 + /etc/init/plymouth-shutdown.conf febc1a3763f8e15add963ede4e561a26 + /etc/init/plymouth-stop.conf 03c8ba8289470d71e22fdbfa5859e122 + /etc/init/plymouth.conf 859e01281230eb9a522c99875f4b8b69 + /etc/init/plymouth-log.conf 65d2943a69f455dec3fed43fd7996d76 + /etc/init/plymouth-splash.conf 63b63b446cc981dc4f2fa5772b4b3e93 + /etc/init/plymouth-upstart-bridge.conf dd271be2c476aadd0cd34bc77d95a379 +Description: graphical boot animation and logger - main package + Plymouth is an application that runs very early in the boot process + (even before the root filesystem is mounted!) that provides a graphical + boot animation while the boot process happens in the background. + +Package: upstart +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 1621 +Maintainer: James Hunt <james.hunt@ubuntu.com> +Architecture: i386 +Multi-Arch: foreign +Version: 1.12.1-0ubuntu4 +Replaces: startup-tasks, system-services, sysvinit, upstart-compat-sysv, upstart-job +Provides: startup-tasks, system-services, upstart-compat-sysv, upstart-job +Depends: libc6 (>= 2.15), libdbus-1-3 (>= 1.2.16), libjson-c2 (>= 0.10), libnih-dbus1 (>= 1.0.0), libnih1 (>= 1.0.0), libselinux1 (>= 1.32), libudev1 (>= 183), sysvinit-utils, initscripts, mountall, ifupdown (>= 0.6.10ubuntu5), libjson0 (>= 0.10-1.1ubuntu1), debianutils (>= 4) +Suggests: python3, graphviz, bash-completion, upstart-monitor +Breaks: friendly-recovery (<< 0.2.13), libc6 (<< 2.12.1-0ubuntu12) +Conflicts: lxcguest, startup-tasks, system-services, sysvinit, upstart-compat-sysv, upstart-job +Conffiles: + /etc/logrotate.d/upstart 070767086a27883ec119e1dde779a856 + /etc/cron.daily/upstart 761747ebd3d1677620d5af50c9900b13 + /etc/dbus-1/system.d/Upstart.conf 64be74cddb0c74b7d98202b40389784c + /etc/bash_completion.d/upstart 080f7eee4a3f3e5f76197eaa581fb4da + /etc/X11/Xsession.d/99upstart d150fce36cf22f5504e4dbc89b4826e0 + /etc/X11/Xsession.d/00upstart 46b4576b1f2ceffb2450a88d58786b95 + /etc/init/tty5.conf 6d5794f72a1098b008e53e326a6bb5a0 + /etc/init/rc-sysinit.conf a50c045d9390a6e6c43c18b19cd72fe5 + /etc/init/rcS.conf 8533688686f75d7bcf20da5a0d36d94b + /etc/init/flush-early-job-log.conf 09e959647877c39f6490ad29b8a35a28 + /etc/init/wait-for-state.conf 20b85b55c3f1e040fdbbf669afe4d2a1 + /etc/init/shutdown.conf 559659602cefe7e8d3c1e76820f5ae5d + /etc/init/upstart-udev-bridge.conf 2c24bb70877476b5e7016ccf6de745a4 + /etc/init/tty2.conf 0d9326fdda081ac96d92bbc57ff773e4 + /etc/init/failsafe.conf 0b88eeccf6c8fd456e886aa7a76e3291 + /etc/init/rc.conf 3ebc6ddcd00482cfb24ce09a14ded29f + /etc/init/upstart-file-bridge.conf 57ea7ed6cba1f1259ac87410c59237ca + /etc/init/console.conf 8d79b0205f2daffb473604ce53e1dc83 + /etc/init/tty1.conf f42f2298f711147ecf177054294861a7 + /etc/init/control-alt-delete.conf 16e6603524084b63b0f0ca04eb56757e + /etc/init/upstart-socket-bridge.conf 5f3eaca09ee1f03d5d0686ea99f8c051 + /etc/init/tty4.conf 2c78cd865d848bb2674104905151dbe2 + /etc/init/tty3.conf 6608f08adf00a282358a1eeb9bdcf78e + /etc/init/tty6.conf e8ad2f0411614f9c8dc9c4e364763549 + /etc/init/container-detect.conf 6bae6257355ad7322e7263e567817465 + /etc/upstart-xsessions ec9aa92a5c50938479d711daa9ee774a +Description: event-based init daemon + upstart is a replacement for the /sbin/init daemon which handles + starting of tasks and services during boot, stopping them during + shutdown and supervising them while the system is running. +Homepage: http://upstart.ubuntu.com/ +Orig-Maintainer: Steve Langasek <vorlon@debian.org> + +Package: passwd +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 2250 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: foreign +Source: shadow +Version: 1:4.1.5.1-1ubuntu9 +Replaces: manpages-tr (<< 1.0.5), manpages-zh (<< 1.5.1-1) +Depends: libc6 (>= 2.8), libpam0g (>= 0.99.7.1), libselinux1 (>= 1.32), libsemanage1 (>= 2.0.3), libpam-modules, debianutils (>= 2.15.2) +Conffiles: + /etc/default/useradd cc9f9a7713ab62a32cd38363d958f396 + /etc/init/passwd.conf ea81baf06e4c358225ce22b786ad9e6a + /etc/cron.daily/passwd db990990933b6f56322725223f13c2bc + /etc/pam.d/chpasswd 9900720564cb4ee98b7da29e2d183cb2 + /etc/pam.d/newusers 1454e29bfa9f2a10836563e76936cea5 + /etc/pam.d/chfn 4d466e00a348ba426130664d795e8afa + /etc/pam.d/passwd eaf2ad85b5ccd06cceb19a3e75f40c63 + /etc/pam.d/chsh a6e9b589e90009334ffd030d819290a6 +Description: change and administer password and group data + This package includes passwd, chsh, chfn, and many other programs to + maintain password and group data. + . + Shadow passwords are supported. See /usr/share/doc/passwd/README.Debian +Homepage: http://pkg-shadow.alioth.debian.org/ +Original-Maintainer: Shadow package maintainers <pkg-shadow-devel@lists.alioth.debian.org> + +Package: libacl1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 75 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: acl +Version: 2.2.52-1 +Depends: libattr1 (>= 1:2.4.46-8), libc6 (>= 2.4) +Pre-Depends: multiarch-support +Conflicts: acl (<< 2.0.0), libacl1-kerberos4kth +Description: Access control list shared library + This package contains the libacl.so dynamic library containing + the POSIX 1003.1e draft standard 17 functions for manipulating + access control lists. +Original-Maintainer: Anibal Monsalve Salazar <anibal@debian.org> +Homepage: http://savannah.nongnu.org/projects/acl/ + +Package: libslang2 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 1244 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: slang2 +Version: 2.2.4-16ubuntu1 +Depends: libc6 (>= 2.4) +Pre-Depends: multiarch-support +Recommends: libpng12-0 +Description: S-Lang programming library - runtime version + S-Lang is a C programmer's library that includes routines for the rapid + development of sophisticated, user friendly, multi-platform applications. + . + This package contains only the shared library libslang.so.* and copyright + information. It is only necessary for programs that use this library (such + as jed and slrn). If you plan on doing development with S-Lang, you will + need the companion -dev package as well. +Homepage: http://www.jedsoft.org/slang/ +Original-Maintainer: Alastair McKinstry <mckinstry@debian.org> + +Package: initscripts +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 219 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: foreign +Source: sysvinit +Version: 2.88dsf-41ubuntu6 +Replaces: libc0.1, libc0.3, libc6, libc6.1 +Depends: libc6 (>= 2.4), mount (>= 2.11x-1), debianutils (>= 4), lsb-base (>= 3.2-14), sysvinit-utils (>= 2.86.ds1-64), sysv-rc | file-rc, coreutils (>= 5.93), passwd, upstart, mountall (>= 2.28) +Recommends: psmisc, e2fsprogs +Breaks: aide (<< 0.15.1-5), atm-tools (<< 1:2.5.1-1.3), bootchart (<< 0.10~svn407-3.3), console-common (<< 0.7.86), cruft (<< 0.9.16), eepc-acpi-scripts (<< 1.1.12), fcheck (<< 2.7.59-16), hostapd (<< 1:0.7.3-3), hostname (<< 2.95ubuntu1~boot2), ifupdown (<< 0.6.8ubuntu27), libpam-mount (<< 2.13-1), ltsp-client-core (<< 5.2.16-1), mdadm (<< 3.2.2-1), nbd-client (<< 1:2.9.23-1), nfs-common (<< 1:1.2.5-3), portmap (<< 6.0.0-2), readahead-fedora (<< 2:1.5.6-3), resolvconf (<< 1.49), rpcbind (<< 0.2.0-7), rsyslog (<< 5.8.2-2), selinux-policy-default (<= 2:0.2.20100524-9), splashy (<< 0.3.13-5.1+b1), sysklogd (<< 1.5-6.2), udev (<< 146-2~boot6), upstart (<< 0.6.3-2~boot4), wpasupplicant (<< 0.7.3-4), xymon (<< 4.3.0~beta2.dfsg-9) +Conflicts: libdevmapper1.02.1 (<< 2:1.02.24-1) +Conffiles: + /etc/init.d/halt 6ae1b3b1b8198567a5e32116077f12a2 + /etc/init.d/killprocs 5e404d35091fab6c4889302736ed4602 + /etc/init.d/ondemand 63d57b1f5df759ddea8ef193094c118a + /etc/init.d/rc.local 18cd07959adfa8411ca17fe7c2ec3d96 + /etc/init.d/reboot 1b9db1ef7bfd79b128ef85d5065721a6 + /etc/init.d/sendsigs 8376da0c226dcc989f6829230b1d5b50 + /etc/init.d/single dc13cb373c5c098a8fb95424701373e3 + /etc/init.d/umountfs 07e4c8c8d9136f36745feb4776edc6f4 + /etc/init.d/umountnfs.sh b369d5215733f79ee2bf58cc966c5931 + /etc/init.d/umountroot 677b1eb8358469b50044663bfbee5699 + /etc/init.d/urandom e6454386bfce38efb5987dd06cb3b21d + /etc/default/devpts fc857c5ac5fb84d80720ed4d1c624f6e + /etc/default/halt 18d9844cf8ca8608e2a559a4555e593a + /etc/default/rcS db3696fc6caa33a1d72b33fa3cec7c42 +Description: scripts for initializing and shutting down the system + The scripts in this package initialize a standard Debian + system at boot time and shut it down at halt or reboot time. +Homepage: http://savannah.nongnu.org/projects/sysvinit +Original-Maintainer: Debian sysvinit maintainers <pkg-sysvinit-devel@lists.alioth.debian.org> + +Package: libblkid1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 254 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: util-linux +Version: 2.20.1-5.1ubuntu20 +Depends: libc6 (>= 2.7), libuuid1 (>= 2.16) +Pre-Depends: multiarch-support +Conffiles: + /etc/blkid.conf 7f4c49e01e0a23d2f4b20eeb32e95abb +Description: block device id library + The blkid library which allows system programs like fsck and + mount to quickly and easily find block devices by filesystem UUID and + LABEL. This allows system administrators to avoid specifying + filesystems by hard-coded device names, but via a logical naming + system instead. +Homepage: http://userweb.kernel.org/~kzak/util-linux/ +Original-Maintainer: LaMont Jones <lamont@debian.org> + +Package: libss2 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 110 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: e2fsprogs +Version: 1.42.9-3ubuntu1 +Replaces: e2fsprogs (<< 1.34-1) +Depends: libcomerr2, libc6 (>= 2.17) +Pre-Depends: multiarch-support +Description: command-line interface parsing library + libss provides a simple command-line interface parser which will + accept input from the user, parse the command into an argv argument + vector, and then dispatch it to a handler function. + . + It was originally inspired by the Multics SubSystem library. +Homepage: http://e2fsprogs.sourceforge.net +Original-Maintainer: Theodore Y. Ts'o <tytso@mit.edu> + +Package: libsemanage-common +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 56 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Multi-Arch: foreign +Source: libsemanage +Version: 2.2-1ubuntu1 +Replaces: libsemanage1 (<= 2.0.41-1), libsemanage1-dev (<< 2.1.6-3~) +Breaks: libsemanage1 (<= 2.0.41-1), libsemanage1-dev (<< 2.1.6-3~) +Conffiles: + /etc/selinux/semanage.conf e69d42a4d98a93c3b8e201bdda367c55 +Description: Common files for SELinux policy management libraries + This package provides the common files used by the shared libraries + for SELinux policy management. + . + Security-enhanced Linux is a patch of the Linux kernel and a + number of utilities with enhanced security functionality designed to + add mandatory access controls to Linux. The Security-enhanced Linux + kernel contains new architectural components originally developed to + improve the security of the Flask operating system. These + architectural components provide general support for the enforcement + of many kinds of mandatory access control policies, including those + based on the concepts of Type Enforcement, Role-based Access + Control, and Multi-level Security. +Original-Maintainer: Debian SELinux maintainers <selinux-devel@lists.alioth.debian.org> +Homepage: http://userspace.selinuxproject.org/ + +Package: libpam-modules-bin +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 212 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: foreign +Source: pam +Version: 1.1.8-1ubuntu2 +Replaces: libpam-modules (<< 1.1.3-8) +Depends: libaudit1 (>= 1:2.2.1), libc6 (>= 2.4), libpam0g (>= 0.99.7.1), libselinux1 (>= 1.32) +Description: Pluggable Authentication Modules for PAM - helper binaries + This package contains helper binaries used by the standard set of PAM + modules in the libpam-modules package. +Homepage: http://pam.sourceforge.net/ +Original-Maintainer: Steve Langasek <vorlon@debian.org> + +Package: findutils +Essential: yes +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 668 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: foreign +Version: 4.4.2-8 +Pre-Depends: libc6 (>= 2.17) +Suggests: mlocate | locate +Description: utilities for finding files--find, xargs + GNU findutils provides utilities to find files meeting specified + criteria and perform various actions on the files which are found. + This package contains 'find' and 'xargs'; however, 'locate' has + been split off into a separate package. +Original-Maintainer: Andreas Metzler <ametzler@debian.org> +Homepage: http://savannah.gnu.org/projects/findutils/ + +Package: e2fsprogs +Essential: yes +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 2424 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: foreign +Version: 1.42.9-3ubuntu1 +Replaces: hurd (<= 20040301-1), libblkid1 (<< 1.38+1.39-WIP-2005.12.10-2), libuuid1 (<< 1.38+1.39-WIP-2005.12.10-2) +Pre-Depends: e2fslibs (= 1.42.9-3ubuntu1), libblkid1 (>= 2.17.2), libc6 (>= 2.11), libcomerr2 (>= 1.42~WIP-2011-10-05-1), libss2 (>= 1.34-1), libuuid1 (>= 2.16), util-linux (>= 2.15~rc1-1) +Suggests: gpart, parted, e2fsck-static +Conflicts: dump (<< 0.4b4-4), initscripts (<< 2.85-4), quota (<< 1.55-8.1), sysvinit (<< 2.85-4) +Conffiles: + /etc/mke2fs.conf e2cdbf0620e93949af5857eb4739f949 +Description: ext2/ext3/ext4 file system utilities + The ext2, ext3 and ext4 file systems are successors of the original ext + ("extended") file system. They are the main file system types used for + hard disks on Debian and other Linux systems. + . + This package contains programs for creating, checking, and maintaining + ext2/3/4-based file systems. It also includes the "badbocks" program, + which can be used to scan for bad blocks on a disk or other storage device. +Homepage: http://e2fsprogs.sourceforge.net +Original-Maintainer: Theodore Y. Ts'o <tytso@mit.edu> + +Package: liblzma5 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 316 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: xz-utils +Version: 5.1.1alpha+20120614-2ubuntu2 +Depends: libc6 (>= 2.4) +Pre-Depends: multiarch-support +Description: XZ-format compression library + XZ is the successor to the Lempel-Ziv/Markov-chain Algorithm + compression format, which provides memory-hungry but powerful + compression (often better than bzip2) and fast, easy decompression. + . + The native format of liblzma is XZ; it also supports raw (headerless) + streams and the older LZMA format used by lzma. (For 7-Zip's related + format, use the p7zip package instead.) +Homepage: http://tukaani.org/xz/ +Original-Maintainer: Jonathan Nieder <jrnieder@gmail.com> + +Package: libnih1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 147 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: libnih +Version: 1.0.3-4ubuntu25 +Pre-Depends: multiarch-support, libc6 (>= 2.15~) +Description: NIH Utility Library + libnih is a light-weight "standard library" of C functions to ease the + development of other libraries and applications, especially those + normally found in /lib. + . + This package contains the shared library. +Homepage: https://launchpad.net/libnih +Original-Maintainer: Scott James Remnant <scott@netsplit.com> + +Package: libaudit1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 143 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: audit +Version: 1:2.3.2-2ubuntu1 +Depends: libaudit-common (= 1:2.3.2-2ubuntu1), libc6 (>= 2.8) +Pre-Depends: multiarch-support +Description: Dynamic library for security auditing + The audit-libs package contains the dynamic libraries needed for + applications to use the audit framework. It is used to monitor systems for + security related events. +Homepage: http://people.redhat.com/sgrubb/audit/ +Original-Maintainer: Debian QA Group <packages@qa.debian.org> + +Package: libdb5.3 +Status: install ok installed +Priority: standard +Section: libs +Installed-Size: 1788 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: db5.3 +Version: 5.3.28-3ubuntu3 +Depends: libc6 (>= 2.17) +Pre-Depends: multiarch-support +Description: Berkeley v5.3 Database Libraries [runtime] + This is the runtime package for programs that use the v5.3 Berkeley + database library. +Homepage: http://www.oracle.com/technology/software/products/berkeley-db/index.html +Original-Maintainer: Debian Berkeley DB Group <pkg-db-devel@lists.alioth.debian.org> + +Package: insserv +Status: install ok installed +Priority: optional +Section: misc +Installed-Size: 182 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Version: 1.14.0-5ubuntu2 +Depends: libc6 (>= 2.7) +Suggests: bootchart2 +Breaks: sysv-rc (<< 2.87dsf-3) +Conffiles: + /etc/insserv.conf 3e9467113029a6356f57842085f3c849 + /etc/bash_completion.d/insserv 32975fe14795d6fce1408d5fd22747fd +Description: boot sequence organizer using LSB init.d script dependency information + The insserv program is used by the standard SysV-based init system. It + updates the order of symlinks in /etc/rc?.d/ based on dependencies + specified by LSB headers in the init.d scripts themselves. + . + These declared relations between scripts make it possible to optimize + the boot sequence for the currently installed set of packages, while + detecting and rejecting dependency loops. + . + Using insserv incorrectly can result in an unbootable system. +Homepage: http://savannah.nongnu.org/projects/sysvinit +Original-Maintainer: Petter Reinholdtsen <pere@debian.org> + +Package: dpkg +Essential: yes +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 6327 +Origin: debian +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Bugs: debbugs://bugs.debian.org +Architecture: i386 +Multi-Arch: foreign +Version: 1.17.9ubuntu1 +Replaces: manpages-it (<< 2.80-4) +Pre-Depends: libbz2-1.0, libc6 (>= 2.11), liblzma5 (>= 5.1.1alpha+20120614), libselinux1 (>= 2.1.0), zlib1g (>= 1:1.1.4), tar (>= 1.23) +Suggests: apt +Breaks: apt (<< 0.7.7), aptitude (<< 0.4.7-1), dpkg-dev (<< 1.15.8), libdpkg-perl (<< 1.15.8) +Conflicts: ada-reference-manual (<< 20021112web-4), asn1-mode (<< 2.7-7), bogosort (<< 0.4.2-3), cl-yacc (<< 0.3-3), cpp-4.1-doc (<< 4.1.2.nf2-4), cpp-4.2-doc (<< 4.2.4.nf1-4), gcc-4.1-doc (<< 4.1.2.nf2-4), gcc-4.2-doc (<< 4.2.4.nf1-4), gcj-4.1-doc (<< 4.1.2.nf2-4), gcj-4.2-doc (<< 4.2.4.nf1-4), gfortran-4.1-doc (<< 4.1.2.nf2-4), gfortran-4.2-doc (<< 4.2.4.nf1-4), ggz-docs (<< 0.0.14.1-2), glame (<< 2.0.1-6), gnat-4.1-doc (<< 4.1.2.nf2-4), gnat-4.2-doc (<< 4.2.4.nf1-4), gtalk (<< 0.99.10-16), libalogg-dev (<< 1.3.7-2), libgtk1.2-doc (<< 1.2.10-19), libnettle-dev (<< 2), liborbit-dev (<< 0.5.17-12), libreadline5-dev (<< 5.2-8), librep-doc (<< 0.90), mmucl (<< 1.5.2-3), nxml-mode (<< 20041004-9), r6rs-doc (<< 1.0-2), serveez-doc (<< 0.1.5-3), slat (<< 2.0-6), texlive-base-bin-doc (<< 2007.dfsg.2-9), ttcn-el (<< 0.6.9-2), ulog-acctd (<< 0.4.3-3), xconq-doc (<< 7.4.1-5), zenirc (<< 2.112.dfsg-1) +Conffiles: + /etc/alternatives/README 69c4ba7f08363e998e0f2e244a04f881 + /etc/logrotate.d/dpkg 782ea5ae536f67ff51dc8c3e2eeb4cf9 + /etc/dpkg/dpkg.cfg f4413ffb515f8f753624ae3bb365b81b + /etc/cron.daily/dpkg 2712ab0dc801324ea632a0f1f82cd38c +Description: Debian package management system + This package provides the low-level infrastructure for handling the + installation and removal of Debian software packages. + . + For Debian package development tools, install dpkg-dev. +Homepage: https://wiki.debian.org/Teams/Dpkg +Original-Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org> + +Package: libpcre3 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 595 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: pcre3 +Version: 1:8.31-5ubuntu1 +Depends: libc6 (>= 2.4) +Pre-Depends: multiarch-support +Breaks: approx (<< 4.4-1~), cduce (<< 0.5.3-2~), cmigrep (<< 1.5-7~), galax (<< 1.1-7~), libpcre-ocaml (<< 6.0.1~), liquidsoap (<< 0.9.2-3~), ocsigen (<< 1.3.3-1~) +Conflicts: libpcre3-dev (<= 4.3-3) +Description: Perl 5 Compatible Regular Expression Library - runtime files + This is a library of functions to support regular expressions whose syntax + and semantics are as close as possible to those of the Perl 5 language. + . + This package contains the runtime libraries. +Original-Maintainer: Mark Baker <mark@mnb.org.uk> + +Package: libncursesw5 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 378 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: ncurses +Version: 5.9+20140118-1ubuntu1 +Depends: libtinfo5 (= 5.9+20140118-1ubuntu1), libc6 (>= 2.15) +Pre-Depends: multiarch-support +Recommends: libgpm2 +Description: shared libraries for terminal handling (wide character support) + The ncurses library routines are a terminal-independent method of + updating character screens with reasonable optimization. + . + This package contains the shared libraries necessary to run programs + compiled with ncursesw, which includes support for wide characters. +Homepage: http://invisible-island.net/ncurses/ +Original-Maintainer: Craig Small <csmall@debian.org> + +Package: busybox-initramfs +Status: install ok installed +Priority: optional +Section: shells +Installed-Size: 357 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Source: busybox +Version: 1:1.22.0-5ubuntu1 +Depends: libc6 (>= 2.11) +Description: Standalone shell setup for initramfs + BusyBox combines tiny versions of many common UNIX utilities into a single + small executable. It provides minimalist replacements for the most common + utilities you would usually find on your desktop system (i.e., ls, cp, mv, + mount, tar, etc.). The utilities in BusyBox generally have fewer options than + their full-featured GNU cousins; however, the options that are included + provide the expected functionality and behave very much like their GNU + counterparts. + . + busybox-initramfs provides a simple stand alone shell that provides + only the basic utilities needed for the initramfs. +Homepage: http://www.busybox.net +Original-Maintainer: Debian Install System Team <debian-boot@lists.debian.org> + +Package: libbz2-1.0 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 116 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: bzip2 +Version: 1.0.6-5 +Depends: libc6 (>= 2.4) +Pre-Depends: multiarch-support +Description: high-quality block-sorting file compressor library - runtime + This package contains libbzip2 which is used by the bzip2 compressor. + . + bzip2 is a freely available, patent free, high-quality data compressor. + It typically compresses files to within 10% to 15% of the best available + techniques, whilst being around twice as fast at compression and six + times faster at decompression. + . + bzip2 compresses files using the Burrows-Wheeler block-sorting text + compression algorithm, and Huffman coding. Compression is generally + considerably better than that achieved by more conventional + LZ77/LZ78-based compressors, and approaches the performance of the PPM + family of statistical compressors. + . + The archive file format of bzip2 (.bz2) is incompatible with that of its + predecessor, bzip (.bz). +Original-Maintainer: Anibal Monsalve Salazar <anibal@debian.org> +Homepage: http://www.bzip.org/ + +Package: libtinfo5 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 433 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: ncurses +Version: 5.9+20140118-1ubuntu1 +Replaces: libncurses5 (<< 5.9-3) +Depends: libc6 (>= 2.15) +Pre-Depends: multiarch-support +Breaks: dialog (<< 1.2-20130523) +Description: shared low-level terminfo library for terminal handling + The ncurses library routines are a terminal-independent method of + updating character screens with reasonable optimization. + . + This package contains the shared low-level terminfo library. +Homepage: http://invisible-island.net/ncurses/ +Original-Maintainer: Craig Small <csmall@debian.org> + +Package: sysvinit-utils +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 232 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: foreign +Source: sysvinit +Version: 2.88dsf-41ubuntu6 +Replaces: last, sysvinit (<= 2.86.ds1-65) +Depends: libc6 (>= 2.15), libselinux1 (>= 1.32), sysv-rc (>= 2.88dsf-24) | file-rc (>= 0.8.16) +Recommends: upstart (>= 0.6.3-4) +Suggests: bootlogd, sash +Breaks: upstart (<< 1.5-0ubuntu5) +Conflicts: chkconfig (<< 11.0-79.1-2), last, sysvconfig +Conffiles: + /etc/init/startpar-bridge.conf d220afa75514468471c42469967341d2 +Description: System-V-like utilities + This package contains the important System-V-like utilities. + . + Specifically, this package includes: + killall5, last, lastb, mesg, pidof, service, sulogin +Homepage: http://savannah.nongnu.org/projects/sysvinit +Original-Maintainer: Debian sysvinit maintainers <pkg-sysvinit-devel@lists.alioth.debian.org> + +Package: multiarch-support +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 201 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: foreign +Source: eglibc +Version: 2.19-0ubuntu6 +Depends: libc6 (>= 2.13-5) +Description: Transitional package to ensure multiarch compatibility + This is a transitional package used to ensure multiarch support is present + in ld.so before unpacking libraries to the multiarch directories. It can + be removed once nothing on the system depends on it. +Homepage: http://www.eglibc.org +Original-Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> + +Package: libjson0 +Status: install ok installed +Priority: extra +Section: oldlibs +Installed-Size: 29 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: json-c +Version: 0.11-4ubuntu1 +Depends: libjson-c2 +Description: JSON manipulation library (transitional package) + This is a transition package that can be safely removed once no + package depend on it. +Homepage: https://github.com/json-c/json-c/wiki +Original-Maintainer: fabien boucher <fabien.dot.boucher@gmail.com> + +Package: libnih-dbus1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 65 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: libnih +Version: 1.0.3-4ubuntu25 +Depends: libnih1 (= 1.0.3-4ubuntu25), libc6 (>= 2.3.4), libdbus-1-3 (>= 1.2.16) +Pre-Depends: multiarch-support +Description: NIH D-Bus Bindings Library + libnih-dbus is a D-Bus bindings library that integrates with the main + loop provided by libnih. + . + This package contains the shared library. +Homepage: https://launchpad.net/libnih +Original-Maintainer: Scott James Remnant <scott@netsplit.com> + +Package: libselinux1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 192 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: libselinux +Version: 2.2.2-1ubuntu1 +Depends: libc6 (>= 2.8), libpcre3 +Pre-Depends: multiarch-support +Description: SELinux runtime shared libraries + This package provides the shared libraries for Security-enhanced + Linux that provides interfaces (e.g. library functions for the + SELinux kernel APIs like getcon(), other support functions like + getseuserbyname()) to SELinux-aware applications. Security-enhanced + Linux is a patch of the Linux kernel and a number of utilities with + enhanced security functionality designed to add mandatory access + controls to Linux. The Security-enhanced Linux kernel contains new + architectural components originally developed to improve the security + of the Flask operating system. These architectural components provide + general support for the enforcement of many kinds of mandatory access + control policies, including those based on the concepts of Type + Enforcement, Role-based Access Control, and Multi-level Security. + . + libselinux1 provides an API for SELinux applications to get and set + process and file security contexts and to obtain security policy + decisions. Required for any applications that use the SELinux + API. libselinux may use the shared libsepol to manipulate the binary + policy if necessary (e.g. to downgrade the policy format to an older + version supported by the kernel) when loading policy. +Homepage: http://userspace.selinuxproject.org/ +Original-Maintainer: Debian SELinux maintainers <selinux-devel@lists.alioth.debian.org> + +Package: libaudit-common +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 44 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Multi-Arch: foreign +Source: audit +Version: 1:2.3.2-2ubuntu1 +Replaces: libaudit0, libaudit1 (<< 1:2.2.1-2) +Breaks: libaudit0, libaudit1 (<< 1:2.2.1-2) +Conffiles: + /etc/libaudit.conf cdc703f9d27f0d980271a9e95d0f18b2 +Description: Dynamic library for security auditing - common files + The audit-libs package contains the dynamic libraries needed for + applications to use the audit framework. It is used to monitor systems for + security related events. + . + This package contains the libaudit.conf configuration file and the associated + manpage. +Homepage: http://people.redhat.com/sgrubb/audit/ +Original-Maintainer: Debian QA Group <packages@qa.debian.org> + +Package: libc6 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 9254 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: eglibc +Version: 2.19-0ubuntu6 +Replaces: libc6-i386, libc6-xen +Provides: glibc-2.19-1, libc6-i686, libc6-xen +Depends: libgcc1 +Suggests: glibc-doc, debconf | debconf-2.0, locales +Breaks: hurd (<< 1:0.5.git20140203-1), nscd (<< 2.19) +Conflicts: libc6-xen, prelink (<= 0.0.20090311-1), tzdata (<< 2007k-1), tzdata-etch +Conffiles: + /etc/ld.so.conf.d/i686-linux-gnu.conf 1c63da36f33ec6647af1d8faff9b9795 +Description: Embedded GNU C Library: Shared libraries + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C library + and the standard math library, as well as many others. +Homepage: http://www.eglibc.org +Original-Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> + +Package: libpng12-0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 308 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: same +Source: libpng +Version: 1.2.50-1ubuntu2 +Replaces: libpng12-dev (<= 1.2.8rel-7) +Depends: libc6 (>= 2.11), zlib1g (>= 1:1.1.4) +Pre-Depends: multiarch-support +Conflicts: libpng12-dev (<= 1.2.8rel-7), mzscheme (<= 1:209-5), pngcrush (<= 1.5.10-2), pngmeta (<= 1.11-3), povray-3.5 (<= 3.5.0c-10), qemacs (<= 0.3.1-5) +Description: PNG library - runtime + libpng is a library implementing an interface for reading and writing + PNG (Portable Network Graphics) format files. + . + This package contains the runtime library files needed to run software + using libpng. +Homepage: http://libpng.org/pub/png/libpng.html +Original-Maintainer: Anibal Monsalve Salazar <anibal@debian.org> + +Package: udev +Status: install ok installed +Priority: important +Section: admin +Installed-Size: 5119 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: foreign +Source: systemd +Version: 204-10ubuntu1 +Depends: libacl1 (>= 2.2.51-8), libblkid1 (>= 2.19.1), libc6 (>= 2.17), libcgmanager0, libdbus-1-3 (>= 1.0.2), libkmod2 (>= 5~), libnih-dbus1 (>= 1.0.0), libnih1 (>= 1.0.0), libselinux1 (>= 2.0.65), libudev1 (= 204-10ubuntu1), sysv-rc (>= 2.88dsf-24) | file-rc (>= 0.8.16), lsb-base (>= 3.0-6), util-linux (>= 2.16), procps +Pre-Depends: debconf (>= 1.4.69) | debconf-2.0 +Breaks: consolekit (<< 0.4.6-1) +Conffiles: + /etc/udev/udev.conf ae415f84e2967eff580089fb08aa0a61 + /etc/init.d/udev b1cab2570af69ccbf49a208799af6247 + /etc/init.d/udev-finish 6eac2544228b88cbe8cede182082f46a + /etc/init/udev-fallback-graphics.conf b8bfe7164e10cd0e53494b243c5728b1 + /etc/init/udevtrigger.conf 651ff2421dde80be7ce7ccbf7fa8cf18 + /etc/init/udev-finish.conf 5c953c5b98ccfbb2a02985bfa2f80aed + /etc/init/udev.conf 41c0081f3a830e0902aaff76a53edf98 + /etc/init/udevmonitor.conf b541dfb5aa4958e9a5336ecaec00ca15 + /etc/modprobe.d/fbdev-denylist.conf 01cd03c88ce6821c03baf904f7dfcbd0 + /etc/udev/rules.d/README 3b6de9f3f911176734c66903b4f8735c obsolete +Description: /dev/ and hotplug management daemon + udev is a daemon which dynamically creates and removes device nodes from + /dev/, handles hotplug events and loads drivers at boot time. +Homepage: http://www.freedesktop.org/wiki/Software/systemd +Original-Maintainer: Debian systemd Maintainers <pkg-systemd-maintainers@lists.alioth.debian.org> + +Package: util-linux +Essential: yes +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 1554 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: foreign +Version: 2.20.1-5.1ubuntu20 +Replaces: e2fsprogs, fdisk, fstrim, linux32, miscutils, schedutils, setterm, sparc-utils +Provides: linux32, schedutils +Depends: lsb-base (>= 3.0-6), tzdata (>= 2006c-2), dpkg (>= 1.15.4) | install-info, debconf (>= 0.5) | debconf-2.0, sysv-rc (>= 2.88dsf-24) | file-rc (>= 0.8.16) +Pre-Depends: libblkid1 (>= 2.20.1), libc6 (>= 2.15), libncurses5 (>= 5.5-5~), libselinux1 (>= 1.32), libslang2 (>= 2.2.4), libtinfo5, libuuid1 (>= 2.16), zlib1g (>= 1:1.1.4) +Suggests: util-linux-locales, kbd | console-tools, dosfstools +Conflicts: console-tools (<< 1:0.2.3-21), fdisk, fstrim, kbd (<< 1.05-3), linux32, schedutils, setterm +Conffiles: + /etc/cron.weekly/fstrim 4de5cd1aac392609593296f0d81e7595 + /etc/init/hwclock.conf 132aa3db7e5a8cf55168e4866052208a + /etc/init/hwclock-save.conf 4a002046525e338fc23e4418602865c9 +Description: Miscellaneous system utilities + This package contains a number of important utilities, most of which + are oriented towards maintenance of your system. Some of the more + important utilities included in this package allow you to partition + your hard disk, view kernel messages, and create new filesystems. +Homepage: http://userweb.kernel.org/~kzak/util-linux/ +Original-Maintainer: LaMont Jones <lamont@debian.org> + +Package: cpio +Status: install ok installed +Priority: important +Section: utils +Installed-Size: 312 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: i386 +Multi-Arch: foreign +Version: 2.11+dfsg-2ubuntu1 +Replaces: cpio-mt +Depends: libc6 (>= 2.17) +Suggests: libarchive1 +Conflicts: cpio-mt, mt-st (<< 0.6) +Description: GNU cpio -- a program to manage archives of files + GNU cpio is a tool for creating and extracting archives, or copying + files from one place to another. It handles a number of cpio formats + as well as reading and writing tar files. +Homepage: http://www.gnu.org/software/cpio/ +Original-Maintainer: Anibal Monsalve Salazar <anibal@debian.org> + diff --git a/test/integration/status-github-23-too-long-dependency-line b/test/integration/status-github-23-too-long-dependency-line new file mode 100644 index 0000000..7378c99 --- /dev/null +++ b/test/integration/status-github-23-too-long-dependency-line @@ -0,0 +1,12 @@ +Package: network-manager-strongswan +Status: install ok installed +Priority: extra +Section: net +Installed-Size: 256 +Maintainer: Jean-Christophe Manciot <manciot.jeanchristophe@gmail.com> +Architecture: amd64 +Version: 1.3.1-14 +Provides: network-manager-strongswan +Depends: libart-2.0-2, libatk1.0-0, libavahi-client3, libavahi-common3, libavahi-glib1, libbonobo2-0, libbonoboui2-0, libc6, libcairo2, libcanberra0, libdatrie1, libdbus-1-3, libdbus-glib-1-2, libexpat1, libffi6, libfontconfig1, libfreetype6, libgail18, libgconf-2-4, libgcrypt20, libgdk-pixbuf2.0-0, libglib2.0-0, libglib2.0-0-dbg, libglib2.0-0-refdbg, libgmp10, libgnome-2-0, libgnomecanvas2-0, libgnome-keyring0, libgnomeui-0, libgnomevfs2-0, libgnutls30, libgpg-error0, libgraphite2-3, libgtk2.0-0, libharfbuzz0b, libhogweed4, libice6, libidn11, libltdl7, liblzma5, libnettle6, libnm-glib-vpn1, libnm-util2, libogg0, liborbit-2-0, libp11-kit0, libpango-1.0-0, libpangocairo-1.0-0, libpangoft2-1.0-0, libpcre3, libpixman-1-0, libpng12-0, libpopt0, libselinux1, libsm6, libsystemd0, libtasn1-6, libtdb1, libthai0, libuuid1, libvorbis0a, libvorbisfile3, libx11-6, libxau6, libxcb1, libxcb-render0, libxcb-shm0, libxcomposite1, libxcursor1, libxdamage1, libxdmcp6, libxext6, libxfixes3, libxi6, libxinerama1, libxml2, libxrandr2, libxrender1, zlib1g +Description: This package provides an IKEv2 IPSec VPN plugin for strongswan +Description-md5: 31abf1e375284c7ee36f25bf936125f1 diff --git a/test/integration/status-ubuntu-bug-614993 b/test/integration/status-ubuntu-bug-614993 new file mode 100644 index 0000000..1e95b51 --- /dev/null +++ b/test/integration/status-ubuntu-bug-614993 @@ -0,0 +1,5894 @@ +Package: xserver-xorg-input-vmmouse +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 176 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Architecture: amd64 +Version: 1:12.6.5-4ubuntu2 +Replaces: mdetect (<< 0.5.2.2), xserver-xorg (<< 6.8.2-35) +Provides: xserver-xorg-input-7 +Depends: libc6 (>= 2.7), xserver-xorg-core (>= 2:1.6.99.900), xserver-xorg-input-mouse, udev +Description: X.Org X server -- VMMouse input driver to use with VMWare + This package provides the driver for the X11 vmmouse input device. + . + The VMMouse driver enables support for the special VMMouse protocol + that is provided by VMware virtual machines to give absolute pointer + positioning. + . + The vmmouse driver is capable of falling back to the standard "mouse" + driver if a VMware virtual machine is not detected. This allows for + dual-booting of an operating system from a virtual machine to real hardware + without having to edit xorg.conf every time. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-input-vmmouse driver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libtext-wrapi18n-perl +Status: install ok installed +Priority: required +Section: perl +Installed-Size: 68 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Version: 0.06-7 +Depends: libtext-charwidth-perl +Description: internationalized substitute of Text::Wrap + This module is a substitution for Text::Wrap, supporting + multibyte characters such as UTF-8, EUC-JP, and GB2312, fullwidth + characters such as east Asian characters, combining characters + such as diacritical marks and Thai, and languages which don't + use whitespaces between words such as Chinese and Japanese. + . + It provides wrap(). +Original-Maintainer: Anibal Monsalve Salazar <anibal@debian.org> +Homepage: http://search.cpan.org/search?module=Text::WrapI18N + +Package: debconf +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 924 +Maintainer: Colin Watson <cjwatson@ubuntu.com> +Architecture: all +Version: 1.5.28ubuntu4 +Replaces: debconf-tiny +Provides: debconf-2.0 +Depends: debconf-i18n | debconf-english +Pre-Depends: perl-base (>= 5.6.1-4) +Recommends: apt-utils (>= 0.5.1) +Suggests: debconf-doc, debconf-utils, whiptail | dialog | gnome-utils, libterm-readline-gnu-perl, libgnome2-perl, libnet-ldap-perl, perl +Conflicts: apt (<< 0.3.12.1), cdebconf (<< 0.96), debconf-tiny, debconf-utils (<< 1.3.22), dialog (<< 0.9b-20020814-1), menu (<= 2.1.3-1), whiptail (<< 0.51.4-11), whiptail-utf8 (<= 0.50.17-13) +Conffiles: + /etc/apt/apt.conf.d/70debconf 7e9d09d5801a42b4926b736b8eeabb73 + /etc/bash_completion.d/debconf 8fa1862734fbe54d7178aaaa419f5a11 + /etc/debconf.conf 8c0619be413824f1fc7698cee0f23811 +Description: Debian configuration management system + Debconf is a configuration management system for debian packages. Packages + use Debconf to ask questions when they are installed. +Original-Maintainer: Debconf Developers <debconf-devel@lists.alioth.debian.org> +Python-Version: 2.6, 3.1 + +Package: xserver-common +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 172 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Architecture: all +Source: xorg-server +Version: 2:1.7.6-2ubuntu7 +Replaces: xserver-xorg-core (<< 2:1.5.2) +Depends: x11-common, xkb-data, x11-xkb-utils +Recommends: xfonts-base +Description: common files used by various X servers + This package provides files necessary for all X.Org based X servers. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: dash +Status: install ok installed +Priority: required +Section: shells +Installed-Size: 236 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 0.5.5.1-3ubuntu2 +Depends: debianutils (>= 2.15), dpkg (>= 1.15.0) +Pre-Depends: libc6 (>= 2.11) +Description: POSIX-compliant shell + The Debian Almquist Shell (dash) is a POSIX-compliant shell derived + from ash. + . + Since it executes scripts faster than bash, and has fewer library + dependencies (making it more robust against software or hardware + failures), it is used as the default system shell on Debian systems. +Homepage: http://gondor.apana.org.au/~herbert/dash/ +Original-Maintainer: Gerrit Pape <pape@smarden.org> + +Package: libmpfr1ldbl +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 656 +Maintainer: Ubuntu Core developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: mpfr +Version: 2.4.2-3ubuntu1 +Replaces: libmpfr1 +Depends: libgmp3c2 (>= 4.2.dfsg-1), libc6 (>= 2.4) +Conflicts: libgmp3 (<< 4.1.4-3), libmpfr1 +Description: multiple precision floating-point computation + MPFR provides a library for multiple-precision floating-point computation + with correct rounding. The computation is both efficient and has a + well-defined semantics. It copies the good ideas from the + ANSI/IEEE-754 standard for double-precision floating-point arithmetic + (53-bit mantissa). + . + The home page is http://www.mpfr.org/. +Homepage: http://www.mpfr.org/ +Original-Maintainer: Laurent Fousse <laurent@komite.net> + +Package: libxdmcp6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 80 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libxdmcp +Version: 1:1.0.3-1 +Depends: libc6 (>= 2.4) +Description: X11 Display Manager Control Protocol library + This package provides the main interface to the X11 display manager control + protocol library, which allows for remote logins to display managers. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libXdmcp +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libgl1-mesa-dri +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 37216 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Architecture: amd64 +Source: mesa +Version: 7.7.1-1ubuntu2 +Replaces: xlibmesa-dri (<< 1:7.0.0) +Depends: libc6 (>= 2.4), libdrm-intel1 (>= 2.4.15), libdrm-radeon1 (>= 2.4.17), libdrm2 (>= 2.3.1), libexpat1 (>= 1.95.8) +Suggests: libglide3 +Breaks: libgl1-mesa-glx (<< 7.2), xserver-xorg-core (<< 2:1.5) +Conflicts: xlibmesa-dri (<< 1:7.0.0) +Description: A free implementation of the OpenGL API -- DRI modules + This version of Mesa provides GLX and DRI capabilities: it is capable of + both direct and indirect rendering. For direct rendering, it can use DRI + modules from the libgl1-mesa-dri package to accelerate drawing. + . + This package does not include the OpenGL library itself, only the DRI + modules for accelerating direct rendering. + . + For a complete description of Mesa, please look at the + libgl1-mesa-swx11 package. + . + The tdfx DRI module needs libglide3 to enable direct rendering. +Homepage: http://mesa3d.sourceforge.net/ +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: coreutils +Essential: yes +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 12992 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 7.4-2ubuntu2 +Replaces: mktemp +Pre-Depends: libacl1 (>= 2.2.11-1), libattr1 (>= 2.4.41-1), libc6 (>= 2.11), libselinux1 (>= 1.32) +Description: The GNU core utilities + This package contains the essential basic system utilities. + . + Specifically, this package includes: + basename cat chgrp chmod chown chroot cksum comm cp csplit cut date dd df dir + dircolors dirname du echo env expand expr factor false fmt fold groups head + hostid id install join link ln logname ls md5sum mkdir mkfifo mknod mktemp + mv nice nl nohup od paste pathchk pinky pr printenv printf ptx pwd readlink + rm rmdir sha1sum seq shred sleep sort split stat stty sum sync tac tail tee + test touch tr true tsort tty uname unexpand uniq unlink users vdir wc who + whoami yes +Original-Maintainer: Michael Stone <mstone@debian.org> + +Package: libfreetype6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 796 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: freetype +Version: 2.3.11-1ubuntu2 +Depends: libc6 (>= 2.4), zlib1g (>= 1:1.1.4) +Conflicts: freetype, xpdf-reader (<< 1.00-4) +Description: FreeType 2 font engine, shared library files + The FreeType project is a team of volunteers who develop free, + portable and high-quality software solutions for digital typography. + They specifically target embedded systems and focus on bringing small, + efficient and ubiquitous products. + . + The FreeType 2 library is their new software font engine. It has been + designed to provide the following important features: + * A universal and simple API to manage font files + * Support for several font formats through loadable modules + * High-quality anti-aliasing + * High portability & performance + . + Supported font formats include: + * TrueType files (.ttf) and collections (.ttc) + * Type 1 font files both in ASCII (.pfa) or binary (.pfb) format + * Type 1 Multiple Master fonts. The FreeType 2 API also provides + routines to manage design instances easily + * Type 1 CID-keyed fonts + * OpenType/CFF (.otf) fonts + * CFF/Type 2 fonts + * Adobe CEF fonts (.cef), used to embed fonts in SVG documents with + the Adobe SVG viewer plugin. + * Windows FNT/FON bitmap fonts + . + This package contains the files needed to run programs that use the + FreeType 2 library. + . + Home Page: http://www.freetype.org/ + Authors: David Turner <david.turner@freetype.org> + Robert Wilhelm <robert.wilhelm@freetype.org> + Werner Lemberg <werner.lemberg@freetype.org> +Original-Maintainer: Steve Langasek <vorlon@debian.org> + +Package: debianutils +Essential: yes +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 228 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 3.2.2 +Depends: sensible-utils +Pre-Depends: libc6 (>= 2.7) +Description: Miscellaneous utilities specific to Debian + This package provides a number of small utilities which are used + primarily by the installation scripts of Debian packages, although + you may use them directly. + . + The specific utilities included are: installkernel run-parts + savelog tempfile which. +Original-Maintainer: Clint Adams <schizo@debian.org> + +Package: libxmuu1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 72 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libxmu +Version: 2:1.0.5-1 +Depends: libc6 (>= 2.4), libx11-6 +Description: X11 miscellaneous micro-utility library + libXmuu provides a set of miscellaneous utility convenience functions for X + libraries to use. It is a lighter version of libXmu that does not depend + on libXt or libXext; for more information on libXmu, see libxmu6. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libXmu +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: initramfs-tools +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 432 +Maintainer: Ubuntu Kernel Team <kernel-team@lists.ubuntu.com> +Architecture: all +Version: 0.92bubuntu78 +Provides: linux-initramfs-tool +Depends: initramfs-tools-bin (= 0.92bubuntu78), klibc-utils (>= 1.5.9-1), busybox-initramfs (>= 1:1.13.3-1ubuntu5), cpio, module-init-tools, udev (>= 147~-5), findutils (>= 4.2.24), util-linux (>> 2.15~rc1) +Breaks: mountall (<< 2.0~) +Conflicts: usplash (<< 0.5.50) +Conffiles: + /etc/initramfs-tools/initramfs.conf eec5dbb69cee0bc2894cbd36b36bb821 + /etc/initramfs-tools/update-initramfs.conf 25099e2e0961298b2772355149f9810d +Description: tools for generating an initramfs + This package contains tools to create and boot an initramfs for packaged 2.6 + Linux kernel. The initramfs is a gzipped cpio archive. At boot time, the + kernel unpacks that archive into RAM, mounts and uses it as initial root file + system. The mounting of the real root file system occurs in early user space. + klibc provides utilities to setup root. Having the root on EVMS, MD, LVM2, + LUKS or NFS is also supported. + Any boot loader with initrd support is able to load an initramfs archive. +Original-Maintainer: Debian kernel team <debian-kernel@lists.debian.org> + +Package: makedev +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 144 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Version: 2.3.1-89ubuntu1 +Depends: base-passwd (>= 3.0.4) +Conflicts: udev (<= 0.024-7) +Description: creates device files in /dev + The MAKEDEV executable is used to create device files, often in /dev. + . + Device files are special files through which applications can interact + with hardware. + . + This package is not necessary for most modern Linux systems, where the udev + subsystem provides a more dynamic mechanism for device file management. +Original-Maintainer: Bdale Garbee <bdale@gag.com> + +Package: x11-xkb-utils +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 524 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 7.5+1 +Replaces: setxkbmap, xbase-clients (<= 1:7.2.ds2-3), xkbcomp, xkbevd, xkbprint, xkbutils +Depends: libc6 (>= 2.7), libx11-6, libxaw7, libxkbfile1, libxmu6, libxt6, cpp +Pre-Depends: x11-common (>= 1:7.0.0) +Conflicts: setxkbmap, xkbcomp, xkbevd, xkbprint, xkbutils +Description: X11 XKB utilities + xkbutils contains a number of client-side utilities for XKB, the X11 + keyboard extension. + . + setxkbmap is a tool to query and change the current XKB map. + . + xkbbell generates a bell event through the keyboard. + . + xkbcomp is a tool to compile XKB definitions into map files the server + can use. + . + xkbevd is an experimental tool to listen for certain XKB events and execute + defined triggers when actions occur. + . + xkbprint is a tool to generate an image with the physical representation + of the keyboard as XKB sees it. + . + xkbvleds shows the changing status of keyboard LEDs. + . + xkbwatch shows the changing status of modifiers and LEDs. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: login +Essential: yes +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 2384 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: shadow +Version: 1:4.1.4.2-1ubuntu2 +Replaces: manpages-de (<< 0.5-3), manpages-tr (<< 1.0.5), manpages-zh (<< 1.5.1-1) +Pre-Depends: libc6 (>= 2.7), libpam0g (>= 0.99.7.1), libpam-runtime, libpam-modules +Conflicts: amavisd-new (<< 2.3.3-8), backupninja (<< 0.9.3-5), echolot (<< 2.1.8-4), gnunet (<< 0.7.0c-2), python-4suite (<< 0.99cvs20060405-1) +Conffiles: + /etc/pam.d/login 837d7e3c52c5570b4e48d751cae9f8b0 + /etc/pam.d/su 7309fb874571fe5447321b43448a50b3 + /etc/login.defs 182bb938192636c8b62e3d4349de6f72 + /etc/securetty 0ae2cda1645723f062be3abaf4331747 +Description: system login tools + These tools are required to be able to login and use your system. The + login program invokes your user shell and enables command execution. The + newgrp program is used to change your effective group ID (useful for + workgroup type situations). The su program allows changing your effective + user ID (useful being able to execute commands as another user). +Homepage: http://pkg-shadow.alioth.debian.org/ +Original-Maintainer: Shadow package maintainers <pkg-shadow-devel@lists.alioth.debian.org> + +Package: gpgv +Status: install ok installed +Priority: important +Section: utils +Installed-Size: 444 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: gnupg +Version: 1.4.10-2ubuntu1 +Depends: libbz2-1.0, libc6 (>= 2.4), libreadline6, zlib1g (>= 1:1.1.4) +Suggests: gnupg +Description: GNU privacy guard - signature verification tool + GnuPG is GNU's tool for secure communication and data storage. + . + gpgv is a stripped-down version of gnupg which is only able to check + signatures. It is smaller than the full-blown gnupg and uses a + different (and simpler) way to check that the public keys used to + make the signature are trustworthy. +Homepage: http://www.gnupg.org +Original-Maintainer: Debian GnuPG-Maintainers <pkg-gnupg-maint@lists.alioth.debian.org> + +Package: libgmp3c2 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 668 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: gmp +Version: 2:4.3.2+dfsg-1ubuntu1 +Replaces: libgmp3 +Depends: libc6 (>= 2.7) +Conflicts: libgmp2 (<< 2.0.2-10), libgmp3 +Description: Multiprecision arithmetic library + GNU MP is a programmer's library for arbitrary precision + arithmetic (ie, a bignum package). It can operate on signed + integer, rational, and floating point numeric types. + . + It has a rich set of functions, and the functions have a regular + interface. +Homepage: http://gmplib.org/ +Original-Maintainer: Debian Scientific Computing Team <pkg-scicomp-devel@lists.alioth.debian.org> + +Package: libdbus-1-3 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 348 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: dbus +Version: 1.2.16-2ubuntu4 +Depends: libc6 (>= 2.4) +Recommends: dbus +Conflicts: dbus (<< 0.60) +Description: simple interprocess messaging system + D-Bus is a message bus, used for sending messages between applications. + Conceptually, it fits somewhere in between raw sockets and CORBA in + terms of complexity. + . + D-Bus supports broadcast messages, asynchronous messages (thus + decreasing latency), authentication, and more. It is designed to be + low-overhead; messages are sent using a binary protocol, not using + XML. D-Bus also supports a method call mapping for its messages, but + it is not required; this makes using the system quite simple. + . + It comes with several bindings, including GLib, Python, Qt and Java. + . + The daemon can be found in the dbus package. +Homepage: http://dbus.freedesktop.org/ +Original-Maintainer: Utopia Maintenance Team <pkg-utopia-maintainers@lists.alioth.debian.org> + +Package: module-init-tools +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 376 +Maintainer: Scott James Remnant <scott@ubuntu.com> +Architecture: amd64 +Version: 3.11.1-2ubuntu1 +Depends: libc6 (>= 2.8), upstart-job +Breaks: initramfs-tools (<< 0.92bubuntu23) +Conffiles: + /etc/depmod.d/ubuntu.conf 7c8439ef36b12e5f226b5dbfa20b8c2d + /etc/modprobe.d/denylist-ath_pci.conf d1da9bb08c2b0f56f3be93fd0e37946b + /etc/modprobe.d/denylist-firewire.conf cb8a4c10a5dddd1d67092198b1ae415f + /etc/modprobe.d/denylist-framebuffer.conf b46c9509180b5a76145f08be46b1aff5 + /etc/modprobe.d/denylist-watchdog.conf 55327f9270c8a6257a833c4d127a39e1 + /etc/modprobe.d/denylist.conf bc6754fa320733c6d239a4bb0148ffd7 + /etc/init/module-init-tools.conf 48db1b767c3148fd83eba59d12fc9a5e +Description: tools for managing Linux kernel modules + This package contains a set of programs for loading, inserting, and + removing kernel modules for Linux (versions 2.5.48 and above). + +Package: libgdbm3 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 128 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: gdbm +Version: 1.8.3-9 +Depends: libc6 (>= 2.2.5), dpkg (>= 1.15.4) | install-info +Description: GNU dbm database routines (runtime version) + GNU dbm ('gdbm') is a library of database functions that use extendible + hashing and works similarly to the standard UNIX 'dbm' functions. + . + The basic use of 'gdbm' is to store key/data pairs in a data file, thus + providing a persistent version of the 'dictionary' Abstract Data Type + ('hash' to perl programmers). +Original-Maintainer: Anibal Monsalve Salazar <anibal@debian.org> +Homepage: http://directory.fsf.org/project/gdbm/ + +Package: xserver-xorg-video-v4l +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 136 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1:0.2.0-4 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-v4l +Provides: xserver-xorg-video-6 +Depends: libc6 (>= 2.4), xserver-xorg-core (>= 2:1.6.99.900) +Conflicts: xserver-xorg-driver-v4l +Description: X.Org X server -- Video 4 Linux display driver + This driver for the X.Org X server (see xserver-xorg for a further description) + uses the Video For Linux interface. It does not provide a graphics chip + driver, but instead registers a number of generic Xv adaptors which can be + used with any graphics chipset driver. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-v4l driver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libgcrypt11 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 560 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1.4.4-5ubuntu2 +Depends: libc6 (>= 2.4), libgpg-error0 (>= 1.6) +Suggests: rng-tools +Description: LGPL Crypto library - runtime library + libgcrypt contains cryptographic functions. Many important free + ciphers, hash algorithms and public key signing algorithms have been + implemented: + arcfour, blowfish, cast5, DSA, DSA2, des, 3DES, elgamal, MD5, rijndael, + RMD160, RSA, SEED, SHA1, SHA-384, SHA-512, twofish, tiger. +Homepage: http://directory.fsf.org/project/libgcrypt/ +Original-Maintainer: Debian GnuTLS Maintainers <pkg-gnutls-maint@lists.alioth.debian.org> + +Package: xserver-xorg-video-sis +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 664 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1:0.10.2-2 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-sis +Provides: xserver-xorg-video-6 +Depends: libc6 (>= 2.7), xserver-xorg-core (>= 2:1.6.99.900) +Conflicts: xserver-xorg-driver-sis +Description: X.Org X server -- SiS display driver + This package provides the driver for all SiS and XGI Volari cards. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-sis driver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libxinerama1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 68 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libxinerama +Version: 2:1.1-2 +Depends: libc6 (>= 2.2.5), libx11-6, libxext6 +Description: X11 Xinerama extension library + libXinerama provides an X Window System client interface to the XINERAMA + extension to the X protocol. + . + The Xinerama (also known as panoramiX) extension allows for multiple screens + attached to a single display to be treated as belonging together, and to give + desktop applications a better idea of the monitor layout. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libXinerama +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: lzma +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 172 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 4.43-14ubuntu2 +Depends: libc6 (>= 2.4), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.4.0) +Description: Compression method of 7z format in 7-Zip program + LZMA is a compression algorithm, based on the famous Lempel Ziv + compression method. + . + The main characteristics of the algorithm are very good compression, + fast decompression, use of lot of RAM for compression and low usage of + RAM for decompression. + . + LZMA provides high compression ratio and very fast decompression, so it + is very suitable for embedded applications. For example, it can be used + for ROM (firmware) compression. + . + This package provides a gzip-like interface for the lzma program. +Homepage: http://www.7-zip.org/sdk.htm +Original-Maintainer: Mohammed Adnène Trojette <adn+deb@diwi.org> + +Package: libuuid1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 120 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: util-linux +Version: 2.17.2-0ubuntu1 +Replaces: e2fsprogs (<< 1.34-1) +Depends: passwd, libc6 (>= 2.4) +Recommends: uuid-runtime +Description: Universally Unique ID library + The libuuid library generates and parses 128-bit universally unique + ids (UUIDs). A UUID is an identifier that is unique across both + space and time, with respect to the space of all UUIDs. A UUID can + be used for multiple purposes, from tagging objects with an extremely + short lifetime, to reliably identifying very persistent objects + across a network. + . + See RFC 4122 for more information. +Original-Maintainer: LaMont Jones <lamont@debian.org> + +Package: libtasn1-3 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 144 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 2.4-1 +Depends: libc6 (>= 2.4) +Conflicts: libtasn1-2 (= 0.3.1-1) +Description: Manage ASN.1 structures (runtime) + Manage ASN1 (Abstract Syntax Notation One) structures. + The main features of this library are: + * on-line ASN1 structure management that doesn't require any C code + file generation. + * off-line ASN1 structure management with C code file generation + containing an array. + * DER (Distinguish Encoding Rules) encoding + * no limits for INTEGER and ENUMERATED values + . + This package contains runtime libraries. +Original-Maintainer: Debian GnuTLS Maintainers <pkg-gnutls-maint@lists.alioth.debian.org> +Homepage: http://www.gnu.org/software/libtasn1/ + +Package: lsb-base +Status: install ok installed +Priority: required +Section: misc +Installed-Size: 84 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Source: lsb +Version: 4.0-0ubuntu8 +Replaces: lsb (<< 2.0-6), lsb-core (<< 2.0-6) +Depends: sed, ncurses-bin +Conflicts: lsb (<< 2.0-6), lsb-core (<< 2.0-6) +Conffiles: + /etc/lsb-base-logging.sh 5126106e3af09b522cdbd5e4685942af +Description: Linux Standard Base 4.0 init script functionality + The Linux Standard Base (http://www.linuxbase.org/) is a standard + core system that third-party applications written for Linux can + depend upon. + . + This package only includes the init-functions shell library, which + may be used by other packages' initialization scripts for console + logging and other purposes. +Homepage: http://www.linux-foundation.org/en/LSB +Original-Maintainer: Chris Lawrence <lawrencc@debian.org> + +Package: libcurl3-gnutls +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 440 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: curl +Version: 7.19.7-1ubuntu1 +Replaces: libcurl4-gnutls +Depends: libc6 (>= 2.7), libgcrypt11 (>= 1.4.2), libgnutls26 (>= 2.7.14-0), libgssapi-krb5-2 (>= 1.7dfsg~beta1), libidn11 (>= 1.13), libldap-2.4-2 (>= 2.4.7), zlib1g (>= 1:1.1.4), ca-certificates +Conflicts: libcurl4-gnutls +Description: Multi-protocol file transfer library (GnuTLS) + libcurl is designed to be a solid, usable, reliable and portable + multi-protocol file transfer library. + . + SSL support is provided by GnuTLS. + . + This is the shared version of libcurl. +Homepage: http://curl.haxx.se +Original-Maintainer: Domenico Andreoli <cavok@debian.org> + +Package: cpp-4.4 +Status: install ok installed +Priority: optional +Section: interpreters +Installed-Size: 9828 +Maintainer: Ubuntu Core developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: gcc-4.4 +Version: 4.4.3-4ubuntu5 +Depends: gcc-4.4-base (= 4.4.3-4ubuntu5), libc6 (>= 2.11), libgmp3c2, libmpfr1ldbl +Suggests: gcc-4.4-locales (>= 4.4.3-1) +Description: The GNU C preprocessor + A macro processor that is used automatically by the GNU C compiler + to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor but not the compiler. +Homepage: http://gcc.gnu.org/ +Original-Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org> + +Package: procps +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 808 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1:3.2.8-1ubuntu4 +Replaces: bsdutils (<< 2.9x-1), watch +Provides: watch +Depends: libc6 (>= 2.4), libncurses5 (>= 5.6+20071006-3), upstart-job, lsb-base (>= 3.0-10) +Recommends: psmisc +Conflicts: libproc-dev (<< 1:1.2.6-2), pgrep (<< 3.3-5), procps-nonfree, w-bassman (<< 1.0-3), watch +Conffiles: + /etc/sysctl.d/10-console-messages.conf 154f6f5c5810d10bb303fb6a8e907c6a + /etc/sysctl.d/10-network-security.conf 4ac7258f5336e7eeaf448c05ab668d3c + /etc/sysctl.d/10-zeropage.conf 8d7193abcc4dfedaf519dd03016a5e59 + /etc/sysctl.d/README c20074b9b11a5202758c69d7bcb6996f + /etc/sysctl.conf 86b831bbed0a49bc7361ed64d6c09435 + /etc/init/procps.conf 72d5354efb1017283c440cf102b5d74a +Description: /proc file system utilities + These are utilities to browse the /proc filesystem, which is not a real file + system but a way for the kernel to provide information about the status of + entries in its process table. (e.g. running, stopped or "zombie") + Both command line and full screen utilities are provided. Ncurses is needed + for the full screen utilities. More information can be found at procps + website http://procps.sf.net/ + . + This package includes the following utilities: top, uptime, tload, + free, vmstat, watch, skill, pmap, pgrep, slabtop and pwdx. +Original-Maintainer: Craig Small <csmall@debian.org> + +Package: libgssapi-krb5-2 +Status: install ok installed +Priority: standard +Section: libs +Installed-Size: 312 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: krb5 +Version: 1.8.1+dfsg-2 +Replaces: libkrb53 (<< 1.6.dfsg.4~beta1-7) +Depends: libc6 (>= 2.7), libcomerr2 (>= 1.34), libk5crypto3 (>= 1.8+dfsg), libkeyutils1, libkrb5-3 (= 1.8.1+dfsg-2), libkrb5support0 (>= 1.7dfsg~beta2) +Suggests: krb5-doc, krb5-user +Description: MIT Kerberos runtime libraries - krb5 GSS-API Mechanism + Kerberos is a system for authenticating users and services on a network. + Kerberos is a trusted third-party service. That means that there is a + third party (the Kerberos server) that is trusted by all the entities on + the network (users and services, usually called "principals"). + . + This is the MIT reference implementation of Kerberos V5. + . + This package contains the runtime library for the MIT Kerberos + implementation of GSS-API used by applications and Kerberos clients. +Original-Maintainer: Sam Hartman <hartmans@debian.org> +Homepage: http://web.mit.edu/kerberos/ + +Package: python-minimal +Essential: yes +Status: install ok installed +Priority: required +Section: python +Installed-Size: 120 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Source: python-defaults +Version: 2.6.5-0ubuntu1 +Replaces: python (<= 2.4-1) +Depends: python2.6-minimal (>= 2.6.5), dpkg (>= 1.13.20) +Recommends: python +Conflicts: python (<= 2.4-1), python-central (<< 0.5.5) +Description: A minimal subset of the Python language (default version) + This package contains the interpreter and some essential modules. It's used + in the boot process for some basic tasks. + See /usr/share/doc/python2.6-minimal/README.Debian for a list of the modules + contained in this package. +Original-Maintainer: Matthias Klose <doko@debian.org> + +Package: ncurses-base +Essential: yes +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 488 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Source: ncurses +Version: 5.7+20090803-2ubuntu3 +Replaces: ncurses-term +Provides: ncurses-runtime +Depends: libncurses5 +Conflicts: ncurses, ncurses-runtime +Conffiles: + /etc/terminfo/README 9d086188afcd9479ae96ff55dd6c1573 +Description: basic terminal type definitions + This package contains terminfo data files to support the most common types of + terminal, including ansi, dumb, linux, rxvt, screen, sun, vt100, vt102, vt220, + vt52, and xterm. +Homepage: ftp://invisible-island.net/ncurses/ +Original-Maintainer: Debian QA Group <packages@qa.debian.org> + +Package: libpam0g +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 272 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: pam +Version: 1.1.1-2ubuntu2 +Replaces: libpam0g-util +Depends: libc6 (>= 2.8), debconf (>= 0.5) | debconf-2.0 +Suggests: libpam-doc +Description: Pluggable Authentication Modules library + Contains the C shared library for Linux-PAM, a suite of shared + libraries that enable the local system administrator to choose how + applications authenticate users. In other words, without rewriting + or recompiling a PAM-aware application, it is possible to switch + between the authentication mechanism(s) it uses. One may entirely + upgrade the local authentication system without touching the + applications themselves. +Homepage: http://pam.sourceforge.net/ +Original-Maintainer: Steve Langasek <vorlon@debian.org> + +Package: libusb-0.1-4 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 100 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libusb +Version: 2:0.1.12-14 +Replaces: libusb0 +Depends: libc6 (>= 2.4) +Conflicts: libccid (<< 0.9.2-3), libusb0 +Description: userspace USB programming library + Library for programming USB applications without the knowledge + of Linux kernel internals. +Original-Maintainer: Aurelien Jarno <aurel32@debian.org> +Homepage: http://www.linux-usb.org/ + +Package: libgpg-error0 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 236 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libgpg-error +Version: 1.6-1ubuntu2 +Depends: libc6 (>= 2.2.5) +Description: library for common error values and messages in GnuPG components + Library that defines common error values for all GnuPG + components. Among these are GPG, GPGSM, GPGME, GPG-Agent, libgcrypt, + pinentry, SmartCard Daemon and possibly more in the future. +Original-Maintainer: Jose Carlos Garcia Sogo <jsogo@debian.org> + +Package: ucf +Status: install ok installed +Priority: standard +Section: utils +Installed-Size: 260 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Version: 3.0025 +Depends: debconf (>= 1.5.19), coreutils (>= 5.91) +Conffiles: + /etc/ucf.conf 5565b8b26108c49ba575ba452cd69b3e +Description: Update Configuration File: preserve user changes to config files. + Debian policy mandates that user changes to configuration files must be + preserved during package upgrades. The easy way to achieve this behavior + is to make the configuration file a 'conffile', in which case dpkg + handles the file specially during upgrades, prompting the user as + needed. + . + This is appropriate only if it is possible to distribute a default + version that will work for most installations, although some system + administrators may choose to modify it. This implies that the + default version will be part of the package distribution, and must + not be modified by the maintainer scripts during installation (or at + any other time). + . + This script attempts to provide conffile-like handling for files that + may not be labelled conffiles, and are not shipped in a Debian package, + but handled by the postinst instead. This script allows one to + maintain files in /etc, preserving user changes and in general + offering the same facilities while upgrading that dpkg normally + provides for 'conffiles'. + . + Additionally, this script provides facilities for transitioning a + file that had not been provided with conffile-like protection to come + under this schema, and attempts to minimize questions asked at + installation time. Indeed, the transitioning facility is better than the + one offered by dpkg while transitioning a file from a non-conffile to + conffile status. +Original-Maintainer: Manoj Srivastava <srivasta@debian.org> + +Package: perl-modules +Status: deinstall ok config-files +Priority: standard +Section: perl +Installed-Size: 15848 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Source: perl +Version: 5.10.1-8ubuntu2 +Config-Version: 5.10.1-8ubuntu2 +Replaces: libansicolor-perl, libarchive-tar-perl, libattribute-handlers-perl, libautodie-perl, libcgi-pm-perl, libcpanplus-perl, libextutils-cbuilder-perl, libextutils-parsexs-perl, libfile-temp-perl, libi18n-langtags-perl, libio-zlib-perl, liblocale-codes-perl, liblocale-maketext-perl, liblocale-maketext-simple-perl, libmath-bigint-perl, libmodule-build-perl, libmodule-corelist-perl, libmodule-load-conditional-perl, libmodule-load-perl, libmodule-pluggable-perl, libnet-perl, libnet-ping-perl, libparams-check-perl, libparent-perl, libparse-cpan-meta-perl, libpod-escapes-perl, libpod-parser-perl, libpod-simple-perl, libtest-harness-perl, libtest-simple-perl, libthread-queue-perl, libversion-perl, podlators-perl +Provides: libansicolor-perl, libarchive-tar-perl, libattribute-handlers-perl, libautodie-perl, libcgi-pm-perl, libcpanplus-perl, libextutils-cbuilder-perl, libextutils-parsexs-perl, libfile-temp-perl, libi18n-langtags-perl, libio-zlib-perl, liblocale-codes-perl, liblocale-maketext-perl, liblocale-maketext-simple-perl, libmath-bigint-perl, libmodule-build-perl, libmodule-corelist-perl, libmodule-load-conditional-perl, libmodule-load-perl, libmodule-pluggable-perl, libnet-perl, libnet-ping-perl, libparams-check-perl, libparent-perl, libparse-cpan-meta-perl, libpod-escapes-perl, libpod-parser-perl, libpod-simple-perl, libtest-harness-perl, libtest-simple-perl, libthread-queue-perl, libversion-perl, podlators-perl +Depends: perl (>= 5.10.1-1) +Conflicts: libansicolor-perl (<< 1.10-1), libarchive-tar-perl (<< 1.52), libattribute-handlers-perl (<< 0.85), libautodie-perl (<< 2.06.01), libcgi-pm-perl (<< 3.43), libcpanplus-perl (<< 0.88), libextutils-cbuilder-perl (<< 0.2602), libextutils-parsexs-perl (<< 2.2002), libfile-temp-perl (<< 0.22), libi18n-langtags-perl (<< 0.35-1), libio-zlib-perl (<< 1.09), liblocale-codes-perl (<< 2.07), liblocale-maketext-perl (<< 1.13), liblocale-maketext-simple-perl (<< 0.18-1), libmath-bigint-perl (<< 1.89), libmodule-build-perl (<< 0.340201), libmodule-corelist-perl (<< 2.18), libmodule-load-conditional-perl (<< 0.30), libmodule-load-perl (<< 0.16), libmodule-pluggable-perl (<< 3.9), libnet-perl (<= 1:1.19-3), libnet-ping-perl (<< 2.36), libparams-check-perl (<< 0.26-1), libparent-perl (<< 0.221), libparse-cpan-meta-perl (<< 1.39), libpod-escapes-perl (<< 1.04), libpod-parser-perl (<< 1.37), libpod-simple-perl (<< 3.07), libtest-harness-perl (<< 3.17), libtest-simple-perl (<< 0.92), libthread-queue-perl (<< 2.11), libversion-perl (<< 1:0.7700), podlators-perl (<= 2.2.2-1) +Conffiles: + /etc/perl/Net/libnet.cfg fb2946cae573b8ed3d654a180d458733 +Description: Core Perl modules + Architecture independent Perl modules. These modules are part of Perl and + required if the `perl' package is installed. +Original-Maintainer: Niko Tyni <ntyni@debian.org> + +Package: bsdutils +Essential: yes +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 208 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: util-linux (2.17.2-0ubuntu1) +Version: 1:2.17.2-0ubuntu1 +Depends: libc6 (>= 2.7) +Recommends: bsdmainutils +Description: Basic utilities from 4.4BSD-Lite + This package contains the bare minimum number of BSD utilities needed + to boot a Debian system: logger, renice, script, scriptreplay, and wall. + The remaining standard BSD utilities are provided by bsdmainutils. +Original-Maintainer: LaMont Jones <lamont@debian.org> + +Package: xserver-xorg-video-apm +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 216 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1:1.2.2-1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-apm +Provides: xserver-xorg-video-6 +Depends: libc6 (>= 2.4), xserver-xorg-core (>= 2:1.6.99.900) +Conflicts: xserver-xorg-driver-apm +Description: X.Org X server -- APM display driver + This package provides the driver for the Alliance Pro Motion family + of video cards; specifically, the 6420, 6422, AT24, AT25, and AT3D + cards. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-apm driver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: sensible-utils +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 108 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Version: 0.0.1ubuntu3 +Replaces: debianutils (<= 2.32.3) +Description: Utilities for sensible alternative selection + This package provides a number of small utilities which are used + by programs to sensibly select and spawn an appropriate browser, + editor, or pager. + . + The specific utilities included are: select-editor sensible-browser + sensible-editor sensible-pager +Original-Maintainer: Clint Adams <schizo@debian.org> + +Package: xserver-xorg-video-voodoo +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 108 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1:1.2.3-1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-voodoo +Provides: xserver-xorg-video-6 +Depends: libc6 (>= 2.2.5), xserver-xorg-core (>= 2:1.6.99.900) +Conflicts: xserver-xorg-driver-voodoo +Description: X.Org X server -- Voodoo display driver + This package provides the driver for 3dfx Voodoo1 and Voodoo2 chipsets. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-voodoo driver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libxkbfile1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 204 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libxkbfile +Version: 1:1.0.6-1 +Depends: libc6 (>= 2.7), libx11-6 +Description: X11 keyboard file manipulation library + libxkbfile provides an interface to read and manipulate description files for + XKB, the X11 keyboard configuration extension. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libxkbfile +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: dpkg-dev +Status: deinstall ok config-files +Priority: optional +Section: utils +Installed-Size: 2068 +Origin: debian +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Bugs: debbugs://bugs.debian.org +Architecture: all +Source: dpkg +Version: 1.15.5.6ubuntu4 +Config-Version: 1.15.5.6ubuntu4 +Replaces: manpages-pl (<= 20051117-1) +Depends: dpkg (>= 1.15.4), perl5, perl-modules, bzip2, lzma, xz-utils, patch (>= 2.2-1), make, binutils, libtimedate-perl, base-files (>= 5.0.0) +Recommends: gcc | c-compiler, build-essential, fakeroot, gnupg, gpgv +Suggests: debian-keyring, debian-maintainers +Conflicts: devscripts (<< 2.10.26), dpkg-cross (<< 2.0.0) +Conffiles: + /etc/dpkg/shlibs.default 1a2b9d0a869e2aa885ae3621c557fb95 + /etc/dpkg/shlibs.override 84b1e69080569cc5c613a50887af5200 +Description: Debian package development tools + This package provides the development tools (including dpkg-source) + required to unpack, build and upload Debian source packages. + . + Most Debian source packages will require additional tools to build; + for example, most packages need make and the C compiler gcc. +Homepage: http://wiki.debian.org/Teams/Dpkg +Original-Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org> + +Package: xserver-xorg-video-s3virge +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 160 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1:1.10.4-1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-s3virge +Provides: xserver-xorg-video-6 +Depends: libc6 (>= 2.2.5), xserver-xorg-core (>= 2:1.6.99.900) +Conflicts: xserver-xorg-driver-s3virge +Description: X.Org X server -- S3 ViRGE display driver + This package provides the driver for the S3 ViRGE and Trio3D family + of chipsets. It does not support Trio64 or S3 96x cards; support for + these can be found in the xserver-xorg-video-s3 package. Support for + S3 Savage chipsets can be found in xserver-xorg-video-savage. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-s3virge driver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libssl0.9.8 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 2332 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: openssl +Version: 0.9.8k-7ubuntu8 +Depends: libc6 (>= 2.7), zlib1g (>= 1:1.1.4), debconf (>= 0.5) | debconf-2.0 +Conflicts: libssl, libssl096-dev (<< 0.9.6-2), openssl (<< 0.9.6-2), ssleay (<< 0.9.2b) +Description: SSL shared libraries + libssl and libcrypto shared libraries needed by programs like + apache-ssl, telnet-ssl and openssh. + . + It is part of the OpenSSL implementation of SSL. +Original-Maintainer: Debian OpenSSL Team <pkg-openssl-devel@lists.alioth.debian.org> + +Package: bzip2 +Status: install ok installed +Priority: optional +Section: utils +Installed-Size: 160 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1.0.5-4 +Replaces: libbz2 (<< 0.9.5d-3) +Depends: libbz2-1.0 (= 1.0.5-4), libc6 (>= 2.4) +Suggests: bzip2-doc +Description: high-quality block-sorting file compressor - utilities + bzip2 is a freely available, patent free, high-quality data compressor. + It typically compresses files to within 10% to 15% of the best available + techniques, whilst being around twice as fast at compression and six + times faster at decompression. + . + bzip2 compresses files using the Burrows-Wheeler block-sorting text + compression algorithm, and Huffman coding. Compression is generally + considerably better than that achieved by more conventional + LZ77/LZ78-based compressors, and approaches the performance of the PPM + family of statistical compressors. + . + The archive file format of bzip2 (.bz2) is incompatible with that of its + predecessor, bzip (.bz). +Original-Maintainer: Anibal Monsalve Salazar <anibal@debian.org> +Homepage: http://www.bzip.org/ + +Package: vim-common +Status: install ok installed +Priority: important +Section: editors +Installed-Size: 380 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: vim +Version: 2:7.2.330-1ubuntu3 +Depends: libc6 (>= 2.4) +Recommends: vim | vim-gnome | vim-gtk | vim-lesstif | vim-nox | vim-tiny +Conffiles: + /etc/vim/vimrc e8793640eb83ade46e2d452bcf62e7e3 +Description: Vi IMproved - Common files + Vim is an almost compatible version of the UNIX editor Vi. + . + Many new features have been added: multi level undo, syntax + highlighting, command line history, on-line help, filename + completion, block operations, folding, Unicode support, etc. + . + This package contains files shared by all non GUI-enabled vim + variants (vim and vim-tiny currently) available in Debian. + Examples of such shared files are: manpages, common executables + like xxd, and configuration files. +Homepage: http://www.vim.org/ +Original-Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> + +Package: openssl +Status: install ok installed +Priority: optional +Section: utils +Installed-Size: 844 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 0.9.8k-7ubuntu8 +Depends: libc6 (>= 2.7), libssl0.9.8 (>= 0.9.8k-1), zlib1g (>= 1:1.1.4) +Suggests: ca-certificates, openssl-doc +Conflicts: ssleay (<< 0.9.2b) +Conffiles: + /etc/ssl/openssl.cnf 0b1cf9a835b829131d630b7c2fe55f3c +Description: Secure Socket Layer (SSL) binary and related cryptographic tools + This package contains the openssl binary and related tools. + . + It is part of the OpenSSL implementation of SSL. + . + You need it to perform certain cryptographic actions like: + - Creation of RSA, DH and DSA key parameters; + - Creation of X.509 certificates, CSRs and CRLs; + - Calculation of message digests; + - Encryption and decryption with ciphers; + - SSL/TLS client and server tests; + - Handling of S/MIME signed or encrypted mail. +Original-Maintainer: Debian OpenSSL Team <pkg-openssl-devel@lists.alioth.debian.org> + +Package: ncurses-bin +Essential: yes +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 520 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: ncurses +Version: 5.7+20090803-2ubuntu3 +Provides: tput +Pre-Depends: libc6 (>= 2.4), libncurses5 (>= 5.6+20071006-3) +Conflicts: ncurses, tput +Description: terminal-related programs and man pages + This package contains the programs used for manipulating the terminfo + database and individual terminfo entries, as well as some programs for + resetting terminals and such. +Homepage: ftp://invisible-island.net/ncurses/ +Original-Maintainer: Debian QA Group <packages@qa.debian.org> + +Package: perl-base +Essential: yes +Status: install ok installed +Priority: required +Section: perl +Installed-Size: 4900 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: perl +Version: 5.10.1-8ubuntu2 +Replaces: libperl5.8 (<< 5.8.0-20), libscalar-list-utils-perl, libxsloader-perl, perl (<= 5.10.0-9), perl-modules (<< 5.10.1-1) +Provides: libscalar-list-utils-perl, libxsloader-perl, perl5-base, perlapi-5.10.0, perlapi-5.10.1 +Pre-Depends: libc6 (>= 2.11), dpkg (>= 1.14.20) +Suggests: perl +Breaks: doc-base (<< 0.8.16) +Conflicts: autoconf2.13 (<< 2.13-45), libscalar-list-utils-perl (<< 1:1.18-1), libxsloader-perl (<< 0.08-1), safe-rm (<< 0.8) +Description: minimal Perl system + Perl is a scripting language used in many system scripts and utilities. + . + This package provides a Perl interpreter and the small subset of the + standard run-time library required to perform basic tasks. For a full + Perl installation, install "perl" (and its dependencies, "perl-modules" + and "perl-doc"). +Original-Maintainer: Niko Tyni <ntyni@debian.org> + +Package: sysv-rc +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 288 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Source: sysvinit +Version: 2.87dsf-4ubuntu17 +Replaces: file-rc +Depends: debconf | debconf-2.0, sysvinit-utils (>= 2.86.ds1-62), insserv (>> 1.12.0-10) +Recommends: lsb-base (>= 3.2-14) +Suggests: sysv-rc-conf, bum +Breaks: initscripts (<< 2.86.ds1-63) +Conflicts: file-rc +Description: System-V-like runlevel change mechanism + This package provides support for the System-V like system + for booting, shutting down and changing runlevels, + configured through symbolic links in /etc/rc?.d/. +Homepage: http://freshmeat.net/projects/sysvinit/ +Original-Maintainer: Debian sysvinit maintainers <pkg-sysvinit-devel@lists.alioth.debian.org> + +Package: apt +Status: install ok installed +Priority: important +Section: admin +Installed-Size: 5488 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 0.7.25.3ubuntu7 +Replaces: libapt-pkg-dev (<< 0.3.7), libapt-pkg-doc (<< 0.3.7) +Provides: libapt-pkg-libc6.10-6-4.8 +Depends: libc6 (>= 2.8), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.4.0) +Recommends: ubuntu-keyring +Suggests: aptitude | synaptic | wajig, dpkg-dev, apt-doc, bzip2, lzma, python-apt +Conffiles: + /etc/apt/apt.conf.d/01autoremove 6154750d39a78704b5bbf6fafd65ada7 + /etc/apt/apt.conf.d/01ubuntu 078b96538a377743bee0f554eb5b2fc6 + /etc/logrotate.d/apt 179f2ed4f85cbaca12fa3d69c2a4a1c3 + /etc/cron.daily/apt 3528ddf873535d4c268d83e73e85dc79 +Description: Advanced front-end for dpkg + This is Debian's next generation front-end for the dpkg package manager. + It provides the apt-get utility and APT dselect method that provides a + simpler, safer way to install and upgrade packages. + . + APT features complete installation ordering, multiple source capability + and several other unique features, see the Users Guide in apt-doc. +Original-Maintainer: APT Development Team <deity@lists.debian.org> + +Package: xserver-xorg-core +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 4872 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Architecture: amd64 +Source: xorg-server +Version: 2:1.7.6-2ubuntu7 +Replaces: xserver-common (<< 7), xserver-xfree86 (<< 1:7.0.0), xserver-xorg (<< 6.8.2-38) +Provides: xserver +Depends: xserver-common (>= 2:1.7.6-2ubuntu7), xserver-xorg, udev (>= 149), libc6 (>= 2.7), libdrm2 (>= 2.3.1), libgcrypt11 (>= 1.4.2), libpciaccess0 (>= 0.10.7), libpixman-1-0 (>= 0.15.16), libudev0 (>= 147), libxau6, libxdmcp6, libxfont1 (>= 1:1.2.9) +Recommends: libgl1-mesa-dri (>= 7.1~rc1) +Suggests: xfonts-100dpi | xfonts-75dpi, xfonts-scalable +Conflicts: xserver-common (<< 7), xserver-xfree86 (<< 1:7.0.0), xserver-xorg (<< 6.8.2-38), xserver-xorg-input, xserver-xorg-input-2, xserver-xorg-input-2.1, xserver-xorg-input-4, xserver-xorg-input-wacom (<< 0.7.8), xserver-xorg-video, xserver-xorg-video-1.0, xserver-xorg-video-1.9, xserver-xorg-video-2, xserver-xorg-video-4, xserver-xorg-video-5 +Description: Xorg X server - core server + The Xorg X server is an X server for several architectures and operating + systems, which is derived from the XFree86 4.x series of X servers. + . + The Xorg server supports most modern graphics hardware from most vendors, + and supersedes all XFree86 X servers. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xserver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libk5crypto3 +Status: install ok installed +Priority: standard +Section: libs +Installed-Size: 252 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: krb5 +Version: 1.8.1+dfsg-2 +Replaces: libkrb53 (<< 1.6.dfsg.4~beta1-7) +Depends: libc6 (>= 2.4), libkeyutils1, libkrb5support0 (>= 1.7dfsg~beta2) +Suggests: krb5-doc, krb5-user +Breaks: libgssapi-krb5-2 (<= 1.8~aa), libkrb5-3 (<= 1.8~aa) +Description: MIT Kerberos runtime libraries - Crypto Library + Kerberos is a system for authenticating users and services on a network. + Kerberos is a trusted third-party service. That means that there is a + third party (the Kerberos server) that is trusted by all the entities on + the network (users and services, usually called "principals"). + . + This is the MIT reference implementation of Kerberos V5. + . + This package contains the runtime cryptography libraries used by + applications and Kerberos clients. +Original-Maintainer: Sam Hartman <hartmans@debian.org> +Homepage: http://web.mit.edu/kerberos/ + +Package: netbase +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 100 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Version: 4.35ubuntu3 +Depends: lsb-base (>= 3.0-6), upstart-job +Recommends: ifupdown +Conflicts: inetutils-inetd (<< 2:1.4.3+20060719-3), openbsd-inetd (<< 0.20050402-3) +Conffiles: + /etc/protocols 3aaa310b088fa84233d7fb2e358d4d29 + /etc/rpc f0b6f6352bf886623adc04183120f83b + /etc/services b6a26fbe90d859f7c8600d5941262921 + /etc/init.d/networking db7e515f04f04f54708b5ea862585c31 +Description: Basic TCP/IP networking system + This package provides the necessary infrastructure for basic TCP/IP based + networking. +Original-Maintainer: Marco d'Itri <md@linux.it> + +Package: libdrm2 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 480 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Architecture: amd64 +Source: libdrm +Version: 2.4.18-1ubuntu3 +Depends: libc6 (>= 2.7) +Description: Userspace interface to kernel DRM services -- runtime + This library implements the userspace interface to the kernel DRM + services. DRM stands for "Direct Rendering Manager", which is the + kernelspace portion of the "Direct Rendering Infrastructure" (DRI). + The DRI is currently used on Linux to provide hardware-accelerated + OpenGL drivers. + . + This package provides the runtime environment for libdrm. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: xserver-xorg-video-openchrome +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 588 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1:0.2.904+svn827-1 +Replaces: libchromexvmc1, libchromexvmcpro1 +Provides: xserver-xorg-video-6 +Depends: libc6 (>= 2.4), libdrm2 (>= 2.3.1), libx11-6 (>= 0), libxext6 (>= 0), libxv1, libxvmc1, xserver-xorg-core (>= 2:1.6.99.900) +Conflicts: libchromexvmc1, libchromexvmcpro1 +Description: X.Org X server -- VIA display driver + OpenChrome is a project for the development of free and open-source drivers + for the VIA UniChrome video chipsets. + . + Originally called the 'snapshot' release, since it was a snapshot of an + experimental branch of the unichrome cvs code, this is a continued development + of the open source unichrome driver (from http://unichrome.sf.net) which + also incorporates support for the unichrome-pro chipsets. + . + Support for hardware acceleration (XvMC) for all chipsets has subsequently + been ripped out of the unichrome.sf.net driver. Therefore your only option if + you wish to make use of the acceleration features of your VIA chip with free + and open-source drivers is to use this version of the driver. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Homepage: http://www.openchrome.org + +Package: libxapian15 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 1644 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: xapian-core +Version: 1.0.18-1 +Depends: libc6 (>= 2.4), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.4.0), zlib1g (>= 1:1.1.4) +Suggests: xapian-tools +Conflicts: libxapian2 +Description: Search engine library + This package contains the core Xapian runtime library. + . + The Xapian search engine library is a highly adaptable toolkit which allows + developers to easily add advanced indexing and search facilities to their own + applications. It implements the probabilistic model of information retrieval, + and provides facilities for performing ranked free-text searches, relevance + feedback, phrase searching, boolean searching, stemming, and simultaneous + update and searching. It is highly scalable, and is capable of working with + collections containing hundreds of millions of documents. +Original-Maintainer: Olly Betts <olly@survex.com> +Homepage: http://xapian.org/ + +Package: libsepol1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 328 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libsepol +Version: 2.0.40-2 +Depends: libc6 (>= 2.4) +Description: SELinux library for manipulating binary security policies + Security-enhanced Linux is a patch of the Linux kernel and a number + of utilities with enhanced security functionality designed to add + mandatory access controls to Linux. The Security-enhanced Linux + kernel contains new architectural components originally developed to + improve the security of the Flask operating system. These + architectural components provide general support for the enforcement + of many kinds of mandatory access control policies, including those + based on the concepts of Type Enforcement®, Role-based Access + Control, and Multi-level Security. + . + libsepol provides an API for the manipulation of SELinux binary policies. + It is used by checkpolicy (the policy compiler) and similar tools, as well + as by programs like load_policy that need to perform specific transformations + on binary policies such as customizing policy boolean settings. +Original-Maintainer: Manoj Srivastava <srivasta@debian.org> + +Package: libpam-modules +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 1196 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: pam +Version: 1.1.1-2ubuntu2 +Replaces: libpam-umask, libpam0g-util +Provides: libpam-mkhomedir, libpam-motd, libpam-umask +Depends: base-files (>= 5.0.0ubuntu6) +Pre-Depends: libc6 (>= 2.8), libdb4.8, libpam0g (>= 1.1.0), libselinux1 (>= 2.0.85), debconf (>= 0.5) | debconf-2.0 +Conflicts: libpam-mkhomedir, libpam-motd, libpam-umask +Conffiles: + /etc/security/access.conf 13ec4d189f0ed9acf3433977a53d446b + /etc/security/group.conf 5a6bd21801df034da8d64b407470e8f6 + /etc/security/limits.conf cbacdff4aa5f51749f191b32754946cb + /etc/security/namespace.conf c600fa5899cfb3198a01dfba2bf281f3 + /etc/security/namespace.init 114e73ed5f40956527286e6213d305bc + /etc/security/pam_env.conf ed3f430e418ad366ddb23307a8755249 + /etc/security/sepermit.conf d41c74654734a5c069a37bfc02f0a6d4 + /etc/security/time.conf c23fcbb29dda6c1499e6a5e5ade0265e +Description: Pluggable Authentication Modules for PAM + This package completes the set of modules for PAM. It includes the + pam_unix_*.so module as well as some specialty modules. +Homepage: http://pam.sourceforge.net/ +Original-Maintainer: Steve Langasek <vorlon@debian.org> + +Package: xserver-xorg-video-vmware +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 140 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1:10.16.9-1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-vmware +Provides: xserver-xorg-video-6 +Depends: libc6 (>= 2.4), xserver-xorg-core (>= 2:1.6.99.900) +Conflicts: xserver-xorg-driver-vmware +Description: X.Org X server -- VMware display driver + This package provides the driver for VMware client sessions, i.e. if Linux + is running inside a VMware session. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-vmware driver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: tzdata +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 6276 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Version: 2010i-1 +Replaces: libc0.1, libc0.3, libc6, libc6.1 +Provides: tzdata-squeeze +Depends: debconf (>= 0.5) | debconf-2.0 +Description: time zone and daylight-saving time data + This package contains data required for the implementation of + standard local time for many representative locations around the + globe. It is updated periodically to reflect changes made by + political bodies to time zone boundaries, UTC offsets, and + daylight-saving rules. +Original-Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> + +Package: libudev0 +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 196 +Maintainer: Scott James Remnant <scott@ubuntu.com> +Architecture: amd64 +Source: udev +Version: 151-12 +Depends: libc6 (>= 2.4) +Description: udev library + libudev provides a set of functions for accessing the udev database + and querying sysfs. + +Package: libfontconfig1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 444 +Maintainer: Ubuntu Core developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: fontconfig +Version: 2.8.0-2ubuntu1 +Provides: libfontconfig +Depends: libc6 (>= 2.7), libexpat1 (>= 1.95.8), libfreetype6 (>= 2.2.1), zlib1g (>= 1:1.1.4), fontconfig-config (= 2.8.0-2ubuntu1) +Description: generic font configuration library - runtime + Fontconfig is a font configuration and customization library, which + does not depend on the X Window System. It is designed to locate + fonts within the system and select them according to requirements + specified by applications. + . + This package contains the runtime library needed to launch applications + using fontconfig. +Original-Maintainer: Keith Packard <keithp@debian.org> + +Package: xserver-xorg-input-wacom +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 264 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Architecture: amd64 +Source: xf86-input-wacom +Version: 1:0.10.5-0ubuntu4 +Replaces: wacom-tools (<= 1:0.8.4.1-0ubuntu4) +Provides: xserver-xorg-input-7 +Depends: xserver-xorg-core (>= 2:1.6.99.900), libc6 (>= 2.7), libx11-6 (>= 0), libxi6 (>= 2:1.2.0) +Suggests: xinput +Conflicts: wacom-tools (<= 1:0.8.4.1-0ubuntu4) +Description: X.Org X server -- Wacom input driver + This package provides the X.Org driver for Wacom tablet devices. +Homepage: http://linuxwacom.sf.net +Original-Maintainer: Ron Lee <ron@debian.org> + +Package: ifupdown +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 276 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 0.6.8ubuntu29 +Replaces: netbase (<< 4.00) +Depends: net-tools, libc6 (>= 2.7), debconf (>= 1.2.0) | debconf-2.0, upstart-job, lsb-base (>= 1.3-9ubuntu3), netbase (>= 4.30ubuntu2) +Suggests: iproute, dhcp3-client | dhcp-client, ppp +Breaks: udev (<< 136-1) +Description: high level tools to configure network interfaces + This package provides the tools ifup and ifdown which may be used to + configure (or, respectively, deconfigure) network interfaces based on + interface definitions in the file /etc/network/interfaces. +Original-Maintainer: Anthony Towns <ajt@debian.org> + +Package: libxxf86dga1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 84 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libxxf86dga +Version: 2:1.1.1-2 +Depends: libc6 (>= 2.3.4), libx11-6, libxext6, x11-common +Description: X11 Direct Graphics Access extension library + libXxf86dga provides the XFree86-DGA extension, which allows direct + graphics access to a framebuffer-like region, and also allows relative + mouse reporting, et al. It is mainly used by games and emulators for + games. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libXxf86dga +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libxext6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 148 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libxext +Version: 2:1.1.1-2 +Depends: libc6 (>= 2.4), libx11-6 +Description: X11 miscellaneous extension library + libXext provides an X Window System client interface to several extensions to + the X protocol. + . + The supported protocol extensions are: + - DOUBLE-BUFFER (DBE), the Double Buffer extension; + - DPMS, the VESA Display Power Management System extension; + - Extended-Visual-Information (EVI), an extension for gathering extra + information about the X server's visuals; + - LBX, the Low Bandwidth X extension; + - MIT-SHM, the MIT X client/server shared memory extension; + - MIT-SUNDRY-NONSTANDARD, a miscellaneous extension by MIT; + - Multi-Buffering, the multi-buffering and stereo display extension; + - SECURITY, the X security extension; + - SHAPE, the non-rectangular shaped window extension; + - SYNC, the X synchronization extension; + - TOG-CUP, the Open Group's Colormap Utilization extension; + - XC-APPGROUP, the X Consortium's Application Group extension; + - XC-MISC, the X Consortium's resource ID querying extension; + - XTEST, the X test extension (this is one of two client-side + implementations; the other is in the libXtst library, provided by the + libxtst6 package); + . + libXext also provides a small set of utility functions to aid authors of + client APIs for X protocol extensions. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libXext +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: xterm +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 1332 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Architecture: amd64 +Version: 256-1ubuntu1 +Provides: x-terminal-emulator +Depends: xbitmaps, libc6 (>= 2.11), libfontconfig1 (>= 2.8.0), libice6 (>= 1:1.0.0), libncurses5 (>= 5.6+20071006-3), libx11-6 (>= 0), libxaw7, libxft2 (>> 2.1.1), libxmu6, libxt6 +Recommends: x11-utils | xutils +Suggests: xfonts-cyrillic +Conffiles: + /etc/X11/app-defaults/KOI8RXTerm e904665737663827da6ff9b9651910df + /etc/X11/app-defaults/KOI8RXTerm-color d2d26270262950b81921694506281cfe + /etc/X11/app-defaults/UXTerm 420d7404a359b3b74a24d415d1a53254 + /etc/X11/app-defaults/UXTerm-color 446ecb44b3bec790d5c7ac8582ef6ca5 + /etc/X11/app-defaults/XTerm b13fe7ad4bb906659bfc22db2513bacb + /etc/X11/app-defaults/XTerm-color 0ceac6d8b2f3e33be29edddb64394d96 +Description: X terminal emulator + xterm is a terminal emulator for the X Window System. It provides DEC VT102 + and Tektronix 4014 compatible terminals for programs that cannot use the + window system directly. This version implements ISO/ANSI colors and most of + the control sequences used by DEC VT220 terminals. + . + This package provides four commands: xterm, which is the traditional + terminal emulator; uxterm, which is a wrapper around xterm that is + intelligent about locale settings (especially those which use the UTF-8 + character encoding), but which requires the luit program from the x11-utils + package; koi8rxterm, a wrapper similar to uxterm for locales that use the + KOI8-R character set; and lxterm, a simple wrapper that chooses which of the + previous commands to execute based on the user's locale settings. + . + A complete list of control sequences supported by the X terminal emulator + is provided in /usr/share/doc/xterm. + . + The xterm program uses bitmap images provided by the xbitmaps package. + . + Those interested in using koi8rxterm will likely want to install the + xfonts-cyrillic package as well. +Homepage: http://invisible-island.net/xterm/xterm.html +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: xserver-xorg-video-radeon +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 1564 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: xserver-xorg-video-ati +Version: 1:6.13.0-1ubuntu5 +Replaces: xserver-xorg-video-ati (<= 1:6.8.191-1) +Provides: xserver-xorg-video-6 +Depends: libc6 (>= 2.7), libdrm-radeon1 (>= 2.4.17), libdrm2 (>= 2.4.16), libpciaccess0 (>= 0.10.2), libpixman-1-0, xserver-xorg-core (>= 2:1.6.99.900) +Suggests: firmware-linux +Description: X.Org X server -- AMD/ATI Radeon display driver + This package provides the 'radeon' driver for the AMD/ATI Radeon, FireGL, + FireMV, FirePro and FireStream series. + . + Note that this is not the same as the ATI-provided, binary-only, 'fglrx' + driver, which provides additional 3D functionality for some newer Radeon + cards, but is not supported. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-ati driver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: x11-session-utils +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 304 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 7.5+1 +Replaces: smproxy, xbase-clients (<= 1:7.2.ds2-3), xsm (<= 1:1.0.1-1), xutils (<= 1:7.1.ds.3-1) +Depends: libc6 (>= 2.7), libice6 (>= 1:1.0.0), libsm6, libx11-6, libxaw7, libxmu6, libxt6, cpp +Pre-Depends: x11-common (>= 1:7.0.0) +Conflicts: smproxy, xsm (<= 1:1.0.1-1) +Conffiles: + /etc/X11/app-defaults/XSm 34f161c4cba12ff40099e12b40e511d3 +Description: X session utilities + This package provides the X session manager and related tools: + - rstart; + - smproxy, a session manager proxy for X clients that do not use the X + session manager protocol; + - xsm, a session manager for X sessions; + Installation of an rsh or ssh daemon (server) is necessary if rstartd is + to be used, and installation of an rsh or ssh client is necessary if + rstart is to be used. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libxrender1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 96 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libxrender +Version: 1:0.9.5-1 +Depends: libc6 (>= 2.2.5), libx11-6 +Description: X Rendering Extension client library + The X Rendering Extension (Render) introduces digital image composition as + the foundation of a new rendering model within the X Window System. + Rendering geometric figures is accomplished by client-side tessellation into + either triangles or trapezoids. Text is drawn by loading glyphs into the + server and rendering sets of them. The Xrender library exposes this + extension to X clients. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libXrender +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: mountall +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 232 +Maintainer: Scott James Remnant <scott@ubuntu.com> +Architecture: amd64 +Version: 2.14 +Replaces: upstart (<< 0.6.3-2) +Depends: makedev, udev, plymouth, coreutils (>= 7.1), libc6 (>= 2.9), libdbus-1-3 (>= 1.2.16), libnih-dbus1 (>= 1.0.0), libnih1 (>= 1.0.0), libplymouth2 (>= 0.8.1-3), libudev0 (>= 151-5) +Breaks: policycoreutils (<< 2.0.69-2ubuntu4), usplash (<< 0.5.47) +Conffiles: + /etc/init/mountall.conf fba4525691d30c5b18cc3409f990c5be + /etc/init/mountall-net.conf feff70cd7006f6763e24263d381940f3 + /etc/init/mountall-reboot.conf 43e3c229085a13005b0681a49b2bef51 + /etc/init/mountall-shell.conf aa05af89db3de044d1cd7f6971b46d9f + /etc/init/mounted-dev.conf 0c983df7da8b456ea38068e39f2f2a1e + /etc/init/mounted-varrun.conf f1908b81facd9a0e78319327e6a9db0a + /etc/init/mounted-tmp.conf b049fee4d7c235355555a004befe4633 +Description: filesystem mounting tool + mountall mounts filesystems when the underlying block devices are + ready, or when network interfaces come up, checking the filesystems + first. + +Package: xserver-xorg-video-savage +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 240 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Architecture: amd64 +Version: 1:2.3.1-1ubuntu1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-savage +Provides: xserver-xorg-video-6 +Depends: libc6 (>= 2.3.4), xserver-xorg-core (>= 2:1.6.99.900) +Conflicts: xserver-xorg-driver-savage +Description: X.Org X server -- Savage display driver + This package provides the driver for the S3/VIA Savage/ProSavage/Twister family + of chipsets. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-savage driver module. +Orig-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: xserver-xorg-video-fbdev +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 100 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1:0.4.1-1ubuntu1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-fbdev +Provides: xserver-xorg-video-6 +Depends: libc6 (>= 2.2.5), xserver-xorg-core (>= 2:1.6.99.900) +Conflicts: xserver-xorg-driver-fbdev +Description: X.Org X server -- fbdev display driver + This package provides the driver for the Linux framebuffer device (aka + 'fbdev'). + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-fbdev driver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libxfont1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 336 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libxfont +Version: 1:1.4.1-1 +Depends: libbz2-1.0, libc6 (>= 2.4), libfontenc1, libfreetype6 (>= 2.2.1), zlib1g (>= 1:1.1.4) +Conflicts: xprint (<< 2:1.6.0-1) +Description: X11 font rasterisation library + libXfont provides various services for X servers, most notably font + selection and rasterisation (through external libraries). + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libXfont +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: diffutils +Essential: yes +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 776 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1:2.8.1-18 +Replaces: diff +Pre-Depends: libc6 (>= 2.4) +Suggests: diffutils-doc +Description: File comparison utilities + The diffutils package provides the diff, diff3, sdiff, and cmp programs. + . + `diff' shows differences between two files, or each corresponding file + in two directories. `cmp' shows the offsets and line numbers where + two files differ. `cmp' can also show all the characters that + differ between the two files, side by side. `diff3' shows differences + among three files. `sdiff' merges two files interactively. + . + The set of differences produced by `diff' can be used to distribute + updates to text files (such as program source code) to other people. + This method is especially useful when the differences are small compared + to the complete files. Given `diff' output, the `patch' program can + update, or "patch", a copy of the file. +Original-Maintainer: Santiago Vila <sanvila@debian.org> + +Package: libxvmc1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 100 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libxvmc +Version: 2:1.0.5-1ubuntu1 +Depends: libc6 (>= 2.4), libx11-6, libxext6, libxv1, x11-common +Description: X11 Video extension library + libXvMC provides an X Window System client interface to the + XVideo-MotionCompensation extension to the X protocol. + . + The XVideo-MotionCompensation extension allows for further accelerated drawing + of videos. Video data may be sent at earlier stages of the decoding pipeline + than raw YUV data. At the moment, driver support for XvMC is poor to + non-existent. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libXvMC +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: xserver-xorg-input-evdev +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 180 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Architecture: amd64 +Version: 1:2.3.2-5ubuntu1 +Replaces: xserver-xorg (<< 6.8.2-35) +Provides: xserver-xorg-input-7 +Depends: libc6 (>= 2.7), xserver-xorg-core (>= 2:1.6.99.900) +Description: X.Org X server -- evdev input driver + This package provides the driver for input devices using evdev, the Linux + kernel's event delivery mechanism. This driver allows for multiple keyboards + and mice to be treated as separate input devices. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-input-evdev driver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libxpm4 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 128 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libxpm +Version: 1:3.5.8-1 +Depends: libc6 (>= 2.7), libx11-6 +Description: X11 pixmap library + libXpm provides support and common operation for the XPM pixmap format, which + is commonly used in legacy X applications. XPM is an extension of the + monochrome XBM bitmap specificied in the X protocol. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libXpm +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: tar +Essential: yes +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 2464 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1.22-2 +Replaces: cpio (<< 2.4.2-39) +Pre-Depends: libc6 (>= 2.7) +Suggests: bzip2, ncompress +Conflicts: cpio (<= 2.4.2-38) +Conffiles: + /etc/rmt 3c58b7cd13da1085eff0acc6a00f43c7 +Description: GNU version of the tar archiving utility + Tar is a program for packaging a set of files as a single archive in tar + format. The function it performs is conceptually similar to cpio, and to + things like PKZIP in the DOS world. It is heavily used by the Debian package + management system, and is useful for performing system backups and exchanging + sets of files with others. +Original-Maintainer: Bdale Garbee <bdale@gag.com> + +Package: gcc-4.4 +Status: install ok installed +Priority: optional +Section: devel +Installed-Size: 4692 +Maintainer: Ubuntu Core developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 4.4.3-4ubuntu5 +Provides: c-compiler +Depends: gcc-4.4-base (= 4.4.3-4ubuntu5), cpp-4.4 (= 4.4.3-4ubuntu5), binutils (>= 2.20), libgcc1 (>= 1:4.4.3-4ubuntu5), libgomp1 (>= 4.4.3-4ubuntu5), libc6 (>= 2.11) +Recommends: libc6-dev (>= 2.5) +Suggests: gcc-4.4-multilib, libmudflap0-4.4-dev (>= 4.4.3-4ubuntu5), gcc-4.4-doc (>= 4.4.3-1), gcc-4.4-locales (>= 4.4.3-1), libgcc1-dbg, libgomp1-dbg, libmudflap0-dbg, libcloog-ppl0, libppl-c2, libppl7 +Description: The GNU C compiler + This is the GNU C compiler, a fairly portable optimizing compiler for C. +Homepage: http://gcc.gnu.org/ +Original-Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org> + +Package: libdrm-radeon1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 452 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Architecture: amd64 +Source: libdrm +Version: 2.4.18-1ubuntu3 +Depends: libc6 (>= 2.3.4), libdrm2 (>= 2.4.3) +Description: Userspace interface to radeon-specific kernel DRM services -- runtime + This library implements the userspace interface to the radeon-specific kernel + DRM services. DRM stands for "Direct Rendering Manager", which is the + kernelspace portion of the "Direct Rendering Infrastructure" (DRI). The DRI is + currently used on Linux to provide hardware-accelerated OpenGL drivers. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: zlib1g +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 176 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: zlib +Version: 1:1.2.3.3.dfsg-15ubuntu1 +Provides: libz1 +Depends: libc6 (>= 2.4) +Conflicts: zlib1 (<= 1:1.0.4-7) +Description: compression library - runtime + zlib is a library implementing the deflate compression method found + in gzip and PKZIP. This package includes the shared library. +Original-Maintainer: Mark Brown <broonie@debian.org> + +Package: xserver-xorg +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 180 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Architecture: amd64 +Source: xorg +Version: 1:7.5+5ubuntu1 +Replaces: x11-common (<< 1:7.3+11), xserver-common (<< 7) +Depends: xserver-xorg-core (>= 2:1.7), xserver-xorg-video-all | xserver-xorg-video-6, xserver-xorg-input-all | xserver-xorg-input-7, xserver-xorg-input-evdev, libc6 (>= 2.7), xkb-data (>= 1.4), x11-xkb-utils, console-setup +Recommends: libgl1-mesa-dri +Conflicts: x11-common (<< 1:7.3+11), xserver-common (<< 7), xserver-xfree86 (<< 6.8.2.dfsg.1-1) +Description: the X.Org X server + This package depends on the full suite of the server and drivers for the + X.Org X server. It does not provide the actual server itself. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libxrandr2 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 100 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libxrandr +Version: 2:1.3.0-3 +Depends: libc6 (>= 2.2.5), libx11-6 (>= 0), libxext6 (>= 0), libxrender1 +Description: X11 RandR extension library + libXrandr provides an X Window System client interface to the RandR + extension to the X protocol. + . + The RandR extension allows for run-time configuration of display attributes + such as resolution, rotation, and reflection. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libXrandr +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libglu1-mesa +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 548 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Architecture: amd64 +Source: mesa +Version: 7.7.1-1ubuntu2 +Replaces: libglu1 +Provides: libglu1 +Depends: libc6 (>= 2.11), libgcc1 (>= 1:4.1.1), libgl1-mesa-glx | libgl1, libstdc++6 (>= 4.1.1) +Conflicts: libglu1, mesag3 (<< 5.0.0-1), xlibmesa3 +Description: The OpenGL utility library (GLU) + GLU offers simple interfaces for building mipmaps; checking for the + presence of extensions in the OpenGL (or other libraries which follow + the same conventions for advertising extensions); drawing + piecewise-linear curves, NURBS, quadrics and other primitives + (including, but not limited to, teapots); tesselating surfaces; setting + up projection matrices and unprojecting screen coordinates to world + coordinates. + . + On Linux, this library is also known as libGLU or libGLU.so.1. + . + This package provides the SGI implementation of GLU shipped with the + Mesa package (ergo the "-mesa" suffix). +Homepage: http://mesa3d.sourceforge.net/ +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: adduser +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 884 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Version: 3.112ubuntu1 +Replaces: manpages-it (<< 0.3.4-2), manpages-pl (<= 20051117-1) +Depends: perl-base (>= 5.6.0), passwd (>= 1:4.0.12), debconf | debconf-2.0 +Suggests: liblocale-gettext-perl, perl-modules, ecryptfs-utils (>= 67-1) +Conffiles: + /etc/deluser.conf 527e6a57d0bc9f7c1b1aca2071f3da00 +Description: add and remove users and groups + This package includes the 'adduser' and 'deluser' commands for creating + and removing users. + . + - 'adduser' creates new users and groups and adds existing users to + existing groups; + - 'deluser' removes users and groups and removes users from a given + group. + . + Adding users with 'adduser' is much easier than adding them manually. + Adduser will choose appropriate UID and GID values, create a home + directory, copy skeletal user configuration, and automate setting + initial values for the user's password, real name and so on. + . + Deluser can back up and remove users' home directories + and mail spool or all the files they own on the system. + . + A custom script can be executed after each of the commands. + . + Development mailing list: + http://lists.alioth.debian.org/mailman/listinfo/adduser-devel/ +Homepage: http://alioth.debian.org/projects/adduser/ +Original-Maintainer: Debian Adduser Developers <adduser-devel@lists.alioth.debian.org> + +Package: libxcb1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 180 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libxcb +Version: 1.5-2 +Depends: libc6 (>= 2.4), libxau6, libxdmcp6 +Breaks: libxcb-xlib0 +Description: X C Binding + This package contains the library files needed to run software using libxcb, + the X C Binding. + . + The XCB library provides an interface to the X Window System protocol, + designed to replace the Xlib interface. XCB provides several advantages over + Xlib: + . + * Size: small library and lower memory footprint + * Latency hiding: batch several requests and wait for the replies later + * Direct protocol access: one-to-one mapping between interface and protocol + * Thread support: access XCB from multiple threads, with no explicit locking + * Easy creation of new extensions: automatically generates interface from + machine-parsable protocol descriptions +Original-Maintainer: XCB Developers <xcb@lists.freedesktop.org> +Homepage: http://xcb.freedesktop.org + +Package: xserver-xorg-video-all +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 24 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Architecture: amd64 +Source: xorg +Version: 1:7.5+5ubuntu1 +Replaces: xserver-xorg-driver-all +Depends: xserver-xorg-video-apm, xserver-xorg-video-ark, xserver-xorg-video-ati, xserver-xorg-video-chips, xserver-xorg-video-cirrus, xserver-xorg-video-fbdev, xserver-xorg-video-i128, xserver-xorg-video-intel, xserver-xorg-video-mga, xserver-xorg-video-neomagic, xserver-xorg-video-nouveau, xserver-xorg-video-nv, xserver-xorg-video-rendition, xserver-xorg-video-s3, xserver-xorg-video-s3virge, xserver-xorg-video-savage, xserver-xorg-video-siliconmotion, xserver-xorg-video-sis, xserver-xorg-video-sisusb, xserver-xorg-video-tdfx, xserver-xorg-video-trident, xserver-xorg-video-tseng, xserver-xorg-video-vesa, xserver-xorg-video-openchrome, xserver-xorg-video-voodoo, xserver-xorg-video-v4l, xserver-xorg-video-vmware, x11-common +Conflicts: xserver-xorg-driver-all +Description: the X.Org X server -- output driver metapackage + This package depends on the full suite of output drivers for the X.Org X server + (Xorg). It does not provide any drivers itself, and may be removed if you wish + to only have certain drivers installed. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: locales +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 21820 +Maintainer: Martin Pitt <martin.pitt@ubuntu.com> +Architecture: all +Source: langpack-locales +Version: 2.11+git20100304-3 +Replaces: base-config, belocs-locale-data, belocs-locales-bin, libc6 (<< 2.3.6-0ubuntu6), libc6.1 (<< 2.3.6-0ubuntu6) +Depends: libc6 (>= 2.9-0ubuntu10) | libc6.1 (>= 2.9-0ubuntu10) +Conflicts: base-config, belocs-locale-data +Conffiles: + /etc/locale.alias 6ac3cbee43012440edc6bcbade0a61ce +Description: common files for locale support + This package provides support for localized environments (locales). + It installs character and transliteration maps, provides the POSIX + locale definition and provides common scripts for language pack + handling. + . + The actual locale definitions are not part of this package, these are + shipped in the language packs and are installed and removed + automatically. + +Package: manpages +Status: install ok installed +Priority: important +Section: doc +Installed-Size: 1104 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Version: 3.23-1 +Replaces: bind, rsh-server (<< 0.10-7) +Suggests: man-browser +Description: Manual pages about using a GNU/Linux system + This package contains GNU/Linux manual pages for these sections: + 4 = Devices (e.g. hd, sd). + 5 = File formats and protocols, syntaxes of several system + files (e.g. wtmp, /etc/passwd, nfs). + 7 = Conventions and standards, macro packages, etc. + (e.g. nroff, ascii). + . + Sections 1, 6 and 8 are provided by the respective applications. This + package only includes the intro man page describing the section. + . + The man pages describe syntaxes of several system files. +Original-Maintainer: Martin Schulze <joey@debian.org> + +Package: libgcc1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 132 +Maintainer: Ubuntu Core developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: gcc-4.4 (4.4.3-4ubuntu5) +Version: 1:4.4.3-4ubuntu5 +Depends: gcc-4.4-base (= 4.4.3-4ubuntu5), libc6 (>= 2.2.5) +Description: GCC support library + Shared version of the support library, a library of internal subroutines + that GCC uses to overcome shortcomings of particular machines, or + special needs for some languages. +Homepage: http://gcc.gnu.org/ +Original-Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org> + +Package: libklibc +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 136 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: klibc +Version: 1.5.17-4ubuntu1 +Description: minimal libc subset for use with initramfs + klibc is intended to be a minimalistic libc subset for use with + initramfs. It is deliberately written for small size, minimal + entanglement, and portability, not speed. It is definitely a work in + progress, and a lot of things are still missing. +Original-Maintainer: maximilian attems <maks@debian.org> + +Package: libxv1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 80 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libxv +Version: 2:1.0.5-1 +Depends: libc6 (>= 2.4), libx11-6, libxext6 +Description: X11 Video extension library + libXv provides an X Window System client interface to the XVideo + extension to the X protocol. + . + The XVideo extension allows for accelerated drawing of videos. Hardware + adaptors are exposed to clients, which may draw in a number of colourspaces, + including YUV. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libXv +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: base-files +Essential: yes +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 500 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 5.0.0ubuntu20 +Replaces: base, dpkg (<= 1.15.0), lsb-release (<< 3.0-8), miscutils +Provides: base +Depends: base-passwd (>= 2.0.3.4), libpam-modules (>= 0.79-3ubuntu3) +Pre-Depends: awk +Conffiles: + /etc/debian_version 82711d8dc3e89c428b4694a284e32541 + /etc/dpkg/origins/debian 731423fa8ba067262f8ef37882d1e742 + /etc/dpkg/origins/ubuntu ea35901c45553c3451f60476be94d2d8 + /etc/host.conf 89408008f2585c957c031716600d5a80 + /etc/issue 0773f7fd061b03b7643118d133e4c581 + /etc/issue.net b779759799b4ec17dd4dab41ad557f49 + /etc/lsb-release a50b6779ddccab3277e2560028f3eb15 +Description: Debian base system miscellaneous files + This package contains the basic filesystem hierarchy of a Debian system, and + several important miscellaneous files, such as /etc/debian_version, + /etc/host.conf, /etc/issue, /etc/motd, /etc/profile, /etc/nsswitch.conf, + and others, and the text of several common licenses in use on Debian systems. +Original-Maintainer: Santiago Vila <sanvila@debian.org> + +Package: mount +Essential: yes +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 380 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: util-linux +Version: 2.17.2-0ubuntu1 +Pre-Depends: libblkid1 (>= 2.17), libc6 (>= 2.7), libselinux1 (>= 2.0.15), libsepol1 (>= 1.14), libuuid1 (>= 2.16) +Suggests: nfs-common (>= 1:1.1.0-13) +Breaks: nfs-common (<< 1:1.1.0-7) +Description: Tools for mounting and manipulating filesystems + This package provides the mount(8), umount(8), swapon(8), + swapoff(8), and losetup(8) commands. +Original-Maintainer: LaMont Jones <lamont@debian.org> + +Package: libtext-iconv-perl +Status: install ok installed +Priority: required +Section: perl +Installed-Size: 108 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1.7-2 +Depends: libc6 (>= 2.2.5), perl-base (>= 5.10.0-24ubuntu4), perlapi-5.10.0 +Description: converts between character sets in Perl + The iconv() family of functions from XPG4 define an API for converting + between character sets (e.g. UTF-8 to Latin1, EBCDIC to ASCII). They + are provided by libc6. + . + This package allows access to them from Perl via the Text::Iconv + package. +Original-Maintainer: Anibal Monsalve Salazar <anibal@debian.org> +Homepage: http://search.cpan.org/search?module=Text::Iconv + +Package: console-setup +Status: install ok installed +Priority: optional +Section: utils +Installed-Size: 1396 +Maintainer: Ubuntu Installer Team <ubuntu-installer@lists.ubuntu.com> +Architecture: all +Version: 1.34ubuntu15 +Depends: debconf (>= 0.5) | debconf-2.0, console-terminus (>= 4.26), xkb-data (>= 0.9), initramfs-tools (>= 0.85eubuntu12), kbd (>= 1.15-1ubuntu3) +Suggests: lsb-base (>= 3.0-6), locales +Conflicts: lsb (<< 2.0-6), lsb-base (<< 3.0-6), lsb-core (<< 2.0-6) +Conffiles: + /etc/console-setup/compose.ARMSCII-8.inc fef36b61fb8b1cacc151ad3db127f777 + /etc/console-setup/compose.CP1251.inc fef88d8c8dd4c726498003fd3cd84a7f + /etc/console-setup/compose.CP1255.inc c972a2e90938657e97b643366b98b2ed + /etc/console-setup/compose.CP1256.inc 5ea5e4d41da7a88f742863810e86144b + /etc/console-setup/compose.GEORGIAN-ACADEMY.inc b6d80f40abff7e8af236796ebaca0247 + /etc/console-setup/compose.GEORGIAN-PS.inc cf45272b6bf35a22223b132600dc36c3 + /etc/console-setup/compose.IBM1133.inc a31102602f7e7cab9738022b6c5469ae + /etc/console-setup/compose.ISIRI-3342.inc 5ada7fbba750192f11fa238add232ba9 + /etc/console-setup/compose.ISO-8859-1.inc 719a4300a50dcb168d7de921bab338e9 + /etc/console-setup/compose.ISO-8859-10.inc e5fce59617c839b56574c9e323d34686 + /etc/console-setup/compose.ISO-8859-11.inc ad2f3cc7ee64602a790bad8a2a989243 + /etc/console-setup/compose.ISO-8859-13.inc 9c2f47a52091515749fefc62fc8efd63 + /etc/console-setup/compose.ISO-8859-14.inc a19822b59629ea7af7682d9247de807f + /etc/console-setup/compose.ISO-8859-15.inc cfa9b04fec26afa1debc17ce09d46a0a + /etc/console-setup/compose.ISO-8859-16.inc 8245c19b5262d8d23ca856587739eb20 + /etc/console-setup/compose.ISO-8859-2.inc a56cb83dbe0cd88e4deef52d966d30e4 + /etc/console-setup/compose.ISO-8859-3.inc e70d7b634791b9c97db75bddf6dcc5fa + /etc/console-setup/compose.ISO-8859-4.inc 4092be9556db0ac82e96eae413f1bd47 + /etc/console-setup/compose.ISO-8859-5.inc f861a4b0403490677e6d400f2d7129da + /etc/console-setup/compose.ISO-8859-6.inc 41ea36ea1c1a1c0c9bebdf0016395e1f + /etc/console-setup/compose.ISO-8859-7.inc aa280de25f20e82f58da707101b24d48 + /etc/console-setup/compose.ISO-8859-8.inc 9cceaa9f3312f89aba371d3c893f4e7b + /etc/console-setup/compose.ISO-8859-9.inc 1893bc3994c24917c907a17ceb2f284b + /etc/console-setup/compose.KOI8-R.inc 8cfd7766b86e5e55d6e71d0d95519c92 + /etc/console-setup/compose.KOI8-U.inc 217ee62f6982736276f41f760f8622f8 + /etc/console-setup/compose.TIS-620.inc 31b73af83ef3993c128e2b983b9eaf89 + /etc/console-setup/compose.VISCII.inc 0741db54ddb6268e476010a44f219f03 + /etc/init/console-setup.conf 1e2fdc7b62f4d1dee3845f5fc2b13fc4 +Description: console font and keymap setup program + This package provides the Linux console with the same + keyboard configuration scheme as the X Window System. As a result, + there is no need to duplicate or change the keyboard files just to + make simple customizations such as the use of dead keys, the key + functioning as AltGr or Compose key, the key(s) to switch between + Latin and non-Latin mode, etc. + . + The package also contains console fonts supporting many of the + world's languages. It provides an unified set of font faces - the + classic VGA, the simplistic Fixed, and the cleaned Terminus, + TerminusBold and TerminusBoldVGA. +Original-Maintainer: Debian Install System Team <debian-boot@lists.debian.org> + +Package: xserver-xorg-input-synaptics +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 356 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1.2.2-1ubuntu4 +Replaces: xfree86-driver-synaptics (<< 0.14.4-2), xorg-driver-synaptics +Provides: xfree86-driver-synaptics, xorg-driver-synaptics, xserver-xorg-input-7 +Depends: udev, libc6 (>= 2.4), libpciaccess0, libpixman-1-0, libx11-6 (>= 0), libxi6 (>= 2:1.2.0), xserver-xorg-core (>= 2:1.6.99.900) +Suggests: gpointing-device-settings, touchfreeze +Conflicts: xfree86-driver-synaptics (<< 0.14.4-2), xorg-driver-synaptics +Description: Synaptics TouchPad driver for X.Org server + This package provides an input driver for the X.Org X server to enable + advanced features of the Synaptics Touchpad including: + . + * Movement with adjustable, non-linear acceleration and speed + * Button events through short touching of the touchpad + * Double-Button events through double short touching of the touchpad + * Dragging through short touching and holding down the finger on the touchpad + * Middle and right button events on the upper and lower corner of the touchpad + * Vertical scrolling (button four and five events) through moving the finger + on the right side of the touchpad + * The up/down button sends button four/five events + * Horizontal scrolling (button six and seven events) through moving the finger + on the lower side of the touchpad + * The multi-buttons send button four/five events, and six/seven events for + horizontal scrolling + * Adjustable finger detection + * Multifinger taps: two finger for middle button and three finger for right + button events. (Needs hardware support. Not all models implement this + feature.) + * Run-time configuration using shared memory. This means you can change + parameter settings without restarting the X server (see synclient(1)). + * It also provides a daemon to disable touchpad while typing at the keyboard + and thus avoid unwanted mouse movements (see syndaemon(1)). +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: xserver-xorg-video-vesa +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 108 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1:2.3.0-1ubuntu1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-vesa +Provides: xserver-xorg-video-6 +Depends: libc6 (>= 2.2.5), xserver-xorg-core (>= 2:1.6.99.900) +Conflicts: xserver-xorg-driver-vesa +Description: X.Org X server -- VESA display driver + This driver for the X.Org X server (see xserver-xorg for a further description) + uses the standard VESA interface provided on all video cards, but runs + unaccelerated. This driver is not recommended for use unless you have a + problem with the normal driver for your card, because it will peform very + badly. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-vesa driver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libreadline6 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 408 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: readline6 +Version: 6.1-1 +Depends: readline-common, libc6 (>= 2.11~20100104-0ubuntu5), libncurses5 (>= 5.6+20071006-3) +Description: GNU readline and history libraries, run-time libraries + The GNU readline library aids in the consistency of user interface + across discrete programs that need to provide a command line + interface. + . + The GNU history library provides a consistent user interface for + recalling lines of previously typed input. +Original-Maintainer: Matthias Klose <doko@debian.org> + +Package: libncurses5 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 512 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: ncurses +Version: 5.7+20090803-2ubuntu3 +Depends: libc6 (>= 2.4) +Recommends: libgpm2 +Description: shared libraries for terminal handling + This package contains the shared libraries necessary to run programs + compiled with ncurses. +Homepage: ftp://invisible-island.net/ncurses/ +Original-Maintainer: Debian QA Group <packages@qa.debian.org> + +Package: libplymouth2 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 312 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: plymouth +Version: 0.8.2-2ubuntu2 +Replaces: plymouth (<< 0.7.0+git20090207-0ubuntu0.1~ppa4) +Depends: libc6 (>= 2.8), libpng12-0 (>= 1.2.13-4) +Breaks: casper (= 1.227), mountall (<< 2.8) +Description: graphical boot animation and logger - shared libraries + Plymouth is an application that runs very early in the boot process + (even before the root filesystem is mounted!) that provides a graphical + boot animation while the boot process happens in the background. + . + This package contains the shared libraries. + +Package: libkeyutils1 +Status: install ok installed +Priority: standard +Section: libs +Installed-Size: 60 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: keyutils +Version: 1.2-12 +Depends: libc6 (>= 2.2.5) +Description: Linux Key Management Utilities (library) + Keyutils is a set of utilities for managing the key retention facility in the + kernel, which can be used by filesystems, block devices and more to gain and + retain the authorization and encryption keys required to perform secure + operations. + . + This package provides a wrapper library for the key management facility system + calls. +Original-Maintainer: Daniel Baumann <daniel@lists.debian-maintainers.org> +Homepage: http://people.redhat.com/~dhowells/keyutils/ + +Package: libexpat1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 392 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: expat +Version: 2.0.1-7ubuntu1 +Depends: libc6 (>= 2.4) +Conflicts: wink (<= 1.5.1060-4) +Description: XML parsing C library - runtime library + This package contains the runtime, shared library of expat, the C + library for parsing XML. Expat is a stream-oriented parser in + which an application registers handlers for things the parser + might find in the XML document (like start tags). +Homepage: http://expat.sourceforge.net +Original-Maintainer: Debian XML/SGML Group <debian-xml-sgml-pkgs@lists.alioth.debian.org> + +Package: xserver-xorg-video-rendition +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 116 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1:4.2.3-1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-rendition +Provides: xserver-xorg-video-6 +Depends: libc6 (>= 2.4), xserver-xorg-core (>= 2:1.6.99.900) +Conflicts: xserver-xorg-driver-rendition +Description: X.Org X server -- Rendition display driver + This package provides the driver for the Rendition Verite family of chipsets, + commonly found in 3D accelerators such as the Creative 3D Blaster. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-rendition driver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: patch +Status: install ok installed +Priority: standard +Section: vcs +Installed-Size: 244 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 2.6-2ubuntu1 +Depends: libc6 (>= 2.4) +Suggests: ed, diffutils-doc +Description: Apply a diff file to an original + Patch will take a patch file containing any of the four forms + of difference listing produced by the diff program and apply + those differences to an original file, producing a patched + version. +Original-Maintainer: Christoph Berg <myon@debian.org> + +Package: initramfs-tools-bin +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 104 +Maintainer: Ubuntu Kernel Team <kernel-team@lists.ubuntu.com> +Architecture: amd64 +Source: initramfs-tools +Version: 0.92bubuntu78 +Depends: libc6 (>= 2.11), libudev0 (>= 147) +Description: binaries used by initramfs-tools + This package contains binaries used inside the initramfs images generated + by initramfs-tools. +Original-Maintainer: Debian kernel team <debian-kernel@lists.debian.org> + +Package: libxi6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 144 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libxi +Version: 2:1.3-3 +Depends: libc6 (>= 2.4), libx11-6 (>= 2:1.2.99.901), libxext6 (>= 0) +Description: X11 Input extension library + libXi provides an X Window System client interface to the XINPUT + extension to the X protocol. + . + The Input extension allows setup and configuration of multiple input devices, + and will soon allow hotplugging of input devices; to be added and removed on + the fly. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libXi +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: xinit +Status: deinstall ok config-files +Priority: optional +Section: x11 +Installed-Size: 128 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1.2.0-1 +Config-Version: 1.2.0-1 +Replaces: xbase-clients (<= 1:7.2.ds2-3) +Depends: libc6 (>= 2.4), libx11-6, x11-common, xauth +Recommends: xserver-xorg | xserver, xterm | x-session-manager | x-window-manager | x-terminal-emulator +Conffiles: + /etc/X11/xinit/xinitrc cc40a5ba097b062b284e639f4160c04e + /etc/X11/xinit/xserverrc 50faa91e980a25adcd0de32020b340bb +Description: X server initialisation tool + xinit and startx are programs which facilitate starting an X server, and + loading a base X session. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libattr1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 68 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: attr +Version: 1:2.4.44-1 +Depends: libc6 (>= 2.4) +Conflicts: attr (<< 2.0.0) +Description: Extended attribute shared library + Contains the runtime environment required by programs that make use + of extended attributes. +Original-Maintainer: Nathan Scott <nathans@debian.org> +Homepage: http://savannah.nongnu.org/projects/attr/ + +Package: xfonts-base +Status: install ok installed +Priority: optional +Section: fonts +Installed-Size: 8272 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Version: 1:1.0.1 +Replaces: xfonts-misc +Depends: xfonts-utils +Suggests: xfs | xserver +Conffiles: + /etc/X11/fonts/misc/xfonts-base.alias a8ec05d528431d4c9703b55a7efd67a8 +Description: standard fonts for X + xfonts-base provides a standard set of low-resolution bitmapped fonts. In + most cases it is desirable to have the X font server (xfs) and/or an X server + installed to make the fonts available to X clients. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: xserver-xorg-video-sisusb +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 156 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1:0.9.3-1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-sisusb +Provides: xserver-xorg-video-6 +Depends: libc6 (>= 2.7), xserver-xorg-core (>= 2:1.6.99.900) +Conflicts: xserver-xorg-driver-sisusb +Description: X.Org X server -- SiS USB display driver + This package provides the driver for SiS USB-attached video devices. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-sisusb driver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: sed +Essential: yes +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 972 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 4.2.1-6 +Depends: dpkg (>= 1.15.4) | install-info +Pre-Depends: libc6 (>= 2.4), libselinux1 (>= 1.32) +Description: The GNU sed stream editor + sed reads the specified files or the standard input if no + files are specified, makes editing changes according to a + list of commands, and writes the results to the standard + output. +Original-Maintainer: Clint Adams <schizo@debian.org> +Homepage: http://www.gnu.org/software/sed/ + +Package: libidn11 +Status: install ok installed +Priority: standard +Section: libs +Installed-Size: 368 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libidn +Version: 1.15-2 +Replaces: libidn11-dev +Depends: libc6 (>= 2.4) +Conflicts: libidn9-dev +Description: GNU Libidn library, implementation of IETF IDN specifications + GNU Libidn is a fully documented implementation of the Stringprep, + Punycode and IDNA specifications. Libidn's purpose is to encode and + decode internationalized domain names. The Nameprep, XMPP, SASLprep, + and iSCSI profiles are supported. + . + This package contains the shared library. +Original-Maintainer: Anibal Monsalve Salazar <anibal@debian.org> +Homepage: http://www.gnu.org/software/libidn/ + +Package: xserver-xorg-video-tdfx +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 156 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1:1.4.3-1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-tdfx +Provides: xserver-xorg-video-6 +Depends: libc6 (>= 2.2.5), xserver-xorg-core (>= 2:1.6.99.900) +Conflicts: xserver-xorg-driver-tdfx +Description: X.Org X server -- tdfx display driver + This package provides the driver for 3dfx Voodoo video cards and their + derivatives. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-tdfx driver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: klibc-utils +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 476 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: klibc +Version: 1.5.17-4ubuntu1 +Depends: libklibc (= 1.5.17-4ubuntu1) +Description: small utilities built with klibc for early boot + This package contains a collection of programs that are linked + against klibc. These duplicate some of the functionality of a + regular Linux toolset, but are typically much smaller than their + full-function counterparts. They are intended for inclusion in + initramfs images and embedded systems. +Original-Maintainer: maximilian attems <maks@debian.org> + +Package: e2fslibs +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 316 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: e2fsprogs +Version: 1.41.11-1ubuntu2 +Replaces: e2fsprogs (<< 1.34-1) +Provides: libe2p2, libext2fs2 +Depends: libc6 (>= 2.7) +Description: ext2/ext3/ext4 file system libraries + The ext2, ext3 and ext4 file systems are successors of the original ext + ("extended") file system. They are the main file system types used for + hard disks on Debian and other Linux systems. + . + This package provides the ext2fs and e2p libraries, for userspace software + that directly accesses extended file systems. Programs that use libext2fs + include e2fsck, mke2fs, and tune2fs. Programs that use libe2p include + dumpe2fs, chattr, and lsattr. +Homepage: http://e2fsprogs.sourceforge.net +Original-Maintainer: Theodore Y. Ts'o <tytso@mit.edu> + +Package: xfonts-100dpi +Status: install ok installed +Priority: optional +Section: fonts +Installed-Size: 4808 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Version: 1:1.0.1 +Depends: xfonts-utils +Suggests: xfs | xserver +Conffiles: + /etc/X11/fonts/100dpi/xfonts-100dpi.alias 85bebd6ca213aa656c301a72eb4397cb +Description: 100 dpi fonts for X + xfonts-100dpi provides a set of bitmapped fonts at 100 dots per inch. In + most cases it is desirable to have the X font server (xfs) and/or an X server + installed to make the fonts available to X clients. + . + This package contains only fonts in the ISO 10646-1 and ISO 8859-1 + encodings, to conserve disk space. For other encodings, see the + xfonts-100dpi-transcoded package. + . + This package and xfonts-75dpi provide the same set of fonts, rendered at + different resolutions; only one or the other is necessary, but both may be + installed. xfonts-100dpi may be more suitable for large monitors and/or + large screen resolutions (over 1024x768). + . + This package requires the xfonts-utils package to prepare the font + directories for use by an X server or X font server. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libkrb5support0 +Status: install ok installed +Priority: standard +Section: libs +Installed-Size: 124 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: krb5 +Version: 1.8.1+dfsg-2 +Replaces: libkrb53 (<< 1.6.dfsg.4~beta1-7) +Depends: libc6 (>= 2.3.4), libkeyutils1 +Suggests: krb5-doc, krb5-user +Description: MIT Kerberos runtime libraries - Support library + Kerberos is a system for authenticating users and services on a network. + Kerberos is a trusted third-party service. That means that there is a + third party (the Kerberos server) that is trusted by all the entities on + the network (users and services, usually called "principals"). + . + This is the MIT reference implementation of Kerberos V5. + . + This package contains an internal runtime support library used by other + Kerberos libraries. +Original-Maintainer: Sam Hartman <hartmans@debian.org> +Homepage: http://web.mit.edu/kerberos/ + +Package: libgl1-mesa-glx +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 632 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Architecture: amd64 +Source: mesa +Version: 7.7.1-1ubuntu2 +Replaces: libgl1, libgl1-mesa-dri (<< 6.4.0) +Provides: libgl1 +Depends: libc6 (>= 2.4), libdrm2 (>= 2.3.1), libx11-6 (>= 0), libxdamage1 (>= 1:1.1), libxext6 (>= 0), libxfixes3 (>= 1:4.0.1), libxxf86vm1, dpkg (>= 1.15.4) +Recommends: libgl1-mesa-dri (>= 7.2) +Conflicts: libgl1, libgl1-mesa-dri (<< 6.4.0) +Description: A free implementation of the OpenGL API -- GLX runtime + This version of Mesa provides GLX and DRI capabilities: it is capable of + both direct and indirect rendering. For direct rendering, it can use DRI + modules from the libgl1-mesa-dri package to accelerate drawing. + . + This package does not include the modules themselves: these can be found + in the libgl1-mesa-dri package. + . + For a complete description of Mesa, please look at the + libgl1-mesa-swx11 package. +Homepage: http://mesa3d.sourceforge.net/ +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: x11-utils +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 688 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 7.5+3 +Replaces: appres, editres, listres, luit, viewres, xbase-clients (<< 1:7.2.ds3), xdpyinfo, xdriinfo, xev, xfd, xfontsel, xkill, xlsatoms, xlsclients, xlsfonts, xmessage, xprop, xutils (<< 1:7.2), xvinfo, xwininfo +Depends: libc6 (>= 2.7), libfontconfig1 (>= 2.8.0), libfontenc1, libfreetype6 (>= 2.2.1), libgl1-mesa-glx | libgl1, libx11-6 (>= 0), libxaw7, libxext6 (>= 0), libxft2 (>> 2.1.1), libxi6 (>= 0), libxinerama1, libxmu6, libxmuu1, libxrender1, libxt6, libxtst6, libxv1, libxxf86dga1, libxxf86vm1, zlib1g (>= 1:1.1.4), cpp +Pre-Depends: x11-common (>= 1:7.0.0) +Suggests: mesa-utils +Conflicts: appres, editres, listres, luit, viewres, xdpyinfo, xdriinfo, xev, xfd, xfontsel, xkill, xlsatoms, xlsclients, xlsfonts, xmessage, xprop, xvinfo, xwininfo +Conffiles: + /etc/X11/app-defaults/Editres 04c860eb13ac3a4e8d74ebebcf3da76c + /etc/X11/app-defaults/Editres-color f16b07f1caf85b42cd40355e23d927a0 + /etc/X11/app-defaults/Viewres 4f77da598593ff07cda9d2d147a07772 + /etc/X11/app-defaults/Viewres-color ff9c397a80443790a97b909050f63282 + /etc/X11/app-defaults/Xfd 5cee09dc86e1dc14c19492b6b866d17c + /etc/X11/app-defaults/XFontSel d917f63ef27294544ab192a3e33e30df + /etc/X11/app-defaults/Xmessage eed84b35dde8b18e7dcfc80e75c1da67 + /etc/X11/app-defaults/Xmessage-color ca383db9e4e9648bda0952ad6b8a2115 +Description: X11 utilities + An X client is a program that interfaces with an X server (almost always via + the X libraries), and thus with some input and output hardware like a + graphics card, monitor, keyboard, and pointing device (such as a mouse). + . + This package provides a miscellaneous assortment of X utilities + that ship with the X Window System, including: + - appres, editres, listres and viewres, which query the X resource database; + - luit, a filter that can be run between an arbitrary application and a + UTF-8 terminal emulator; + - xdpyinfo, a display information utility for X; + - xdriinfo, query configuration information of DRI drivers; + - xev, an X event displayer; + - xfd, a tool that displays all the glyphs in a given X font; + - xfontsel, a tool for browsing and selecting X fonts; + - xkill, a tool for terminating misbehaving X clients; + - xlsatoms, which lists interned atoms defined on an X server; + - xlsclients, which lists client applications running on an X display; + - xlsfonts, a server font list displayer; + - xmessage, a tool to display message or dialog boxes; + - xprop, a property displayer for X; + - xvinfo, an Xv extension information utility for X; + - xwininfo, a window information utility for X; + . + The editres and viewres programs use bitmap images provided by the + xbitmaps package. The luit program requires locale information from + the libx11-data package. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: base-passwd +Essential: yes +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 184 +Maintainer: Colin Watson <cjwatson@debian.org> +Architecture: amd64 +Version: 3.5.22 +Replaces: base +Depends: libc6 (>= 2.8) +Description: Debian base system master password and group files + These are the canonical master copies of the user database files + (/etc/passwd and /etc/group), containing the Debian-allocated user and + group IDs. The update-passwd tool is provided to keep the system databases + synchronized with these master files. + +Package: libcomerr2 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 108 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: e2fsprogs +Version: 1.41.11-1ubuntu2 +Replaces: e2fsprogs (<< 1.34-1) +Provides: libcomerr-kth-compat +Depends: libc6 (>= 2.3.4) +Description: common error description library + libcomerr is an attempt to present a common error-handling mechanism to + manipulate the most common form of error code in a fashion that does not + have the problems identified with mechanisms commonly in use. +Homepage: http://e2fsprogs.sourceforge.net +Original-Maintainer: Theodore Y. Ts'o <tytso@mit.edu> + +Package: mawk +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 256 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1.3.3-15ubuntu2 +Provides: awk +Pre-Depends: libc6 (>= 2.11~20100104-0ubuntu3) +Description: a pattern scanning and text processing language + Mawk is an interpreter for the AWK Programming Language. The AWK + language is useful for manipulation of data files, text retrieval and + processing, and for prototyping and experimenting with algorithms. Mawk + is a new awk meaning it implements the AWK language as defined in Aho, + Kernighan and Weinberger, The AWK Programming Language, Addison-Wesley + Publishing, 1988. (Hereafter referred to as the AWK book.) Mawk conforms + to the POSIX 1003.2 (draft 11.3) definition of the AWK language + which contains a few features not described in the AWK book, and mawk + provides a small number of extensions. + . + Mawk is smaller and much faster than gawk. It has some compile-time + limits such as NF = 32767 and sprintf buffer = 1020. +Original-Maintainer: Steve Langasek <vorlon@debian.org> + +Package: xserver-xorg-video-ark +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 84 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1:0.7.2-1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-ark +Provides: xserver-xorg-video-6 +Depends: libc6 (>= 2.2.5), xserver-xorg-core (>= 2:1.6.99.900) +Conflicts: xserver-xorg-driver-ark +Description: X.Org X server -- ark display driver + This package provides the driver for the ark family + of chipsets. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-ark driver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: gnupg +Status: install ok installed +Priority: important +Section: utils +Installed-Size: 5320 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1.4.10-2ubuntu1 +Depends: libbz2-1.0, libc6 (>= 2.4), libreadline6, libusb-0.1-4 (>= 2:0.1.12), zlib1g (>= 1:1.1.4), dpkg (>= 1.15.4) | install-info, gpgv +Recommends: libldap-2.4-2 (>= 2.4.7), gnupg-curl +Suggests: gnupg-doc, xloadimage | imagemagick | eog, libpcsclite1 +Description: GNU privacy guard - a free PGP replacement + GnuPG is GNU's tool for secure communication and data storage. + It can be used to encrypt data and to create digital signatures. + It includes an advanced key management facility and is compliant + with the proposed OpenPGP Internet standard as described in RFC2440. + . + The gnupg package is built without libcurl. So it does not support + HKPS keyservers. Install the gnupg-curl package if you want to use + the keyserver helper tools built with libcurl and supporting HKPS. + . + GnuPG does not use any patented algorithms. This means it cannot be + compatible with PGP2, because that uses IDEA (which is patented in + a number of countries). +Homepage: http://www.gnupg.org +Original-Maintainer: Debian GnuPG-Maintainers <pkg-gnupg-maint@lists.alioth.debian.org> + +Package: xserver-xorg-video-cirrus +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 164 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Architecture: amd64 +Version: 1:1.3.2-1ubuntu1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-cirrus +Provides: xserver-xorg-video-6 +Depends: libc6 (>= 2.4), xserver-xorg-core (>= 2:1.6.99.900) +Conflicts: xserver-xorg-driver-cirrus +Description: X.Org X server -- Cirrus display driver + This package provides the driver for the Cirrus Logic family of video + cards. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-cirrus driver module. +Orig-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libdb4.8 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 1516 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: db +Version: 4.8.24-1ubuntu1 +Depends: libc6 (>= 2.4) +Conflicts: libdb2 (<< 2:2.7.7-3) +Description: Berkeley v4.8 Database Libraries [runtime] + This is the runtime package for programs that use the v4.8 Berkeley + database library. +Homepage: http://www.oracle.com/technology/software/products/berkeley-db/index.html +Original-Maintainer: Debian Berkeley DB Maintainers <pkg-db-devel@lists.alioth.debian.org> + +Package: x11-apps +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 2276 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 7.5+1ubuntu2 +Replaces: bitmap, ico, oclock, x11perf, xbase-clients (<= 1:7.2.ds2-3), xbiff, xcalc, xclipboard, xclock, xconsole, xcursorgen, xditview, xeyes, xgc, xload, xlogo, xmag, xman, xmore, xwd, xwud +Depends: libc6 (>= 2.11), libpng12-0 (>= 1.2.13-4), libsm6, libx11-6 (>= 0), libxaw7, libxcursor1 (>> 1.1.2), libxext6 (>= 0), libxft2 (>> 2.1.1), libxkbfile1, libxmu6, libxmuu1, libxrender1, libxt6, cpp +Pre-Depends: x11-common (>= 1:7.0.0) +Suggests: mesa-utils +Conflicts: bitmap, ico, oclock, x11perf, xbiff, xcalc, xclipboard, xclock, xconsole, xcursorgen, xditview, xeyes, xgc, xload, xlogo, xmag, xman, xmore, xwd, xwud +Conffiles: + /etc/X11/app-defaults/Bitmap 53d1579022e3e95bc2b15eb813f08731 + /etc/X11/app-defaults/Bitmap-color 946b659d5d6c41b6840f5e0df10680d9 + /etc/X11/app-defaults/Bitmap-nocase f2db8f925e5ea5680090c32db9121c8d + /etc/X11/app-defaults/Clock-color b4ba6ae900e0e488e4b030f14c6fe656 + /etc/X11/app-defaults/XCalc bc0d4c4717137a2d25e17b7358c8ad8d + /etc/X11/app-defaults/XCalc-color c8efe9caf8987a902df98270e2b291c9 + /etc/X11/app-defaults/XClipboard 18ebd8e152da9203e9e34e88dad98d97 + /etc/X11/app-defaults/XClock 812dfcc6f6d83e2ae9da809c3bf11c67 + /etc/X11/app-defaults/XClock-color 7b049809f0bca03c76480959e2e4db89 + /etc/X11/app-defaults/XConsole a310ffbe0ed9509a2477ea5f1ac1dcc5 + /etc/X11/app-defaults/Xditview 49d35244a61618b60f17d3400f64a81e + /etc/X11/app-defaults/Xditview-chrtr 98a562569a7db396c9a0d2e6d414067e + /etc/X11/app-defaults/Xedit 013f41442eb431168793e1943779c8f3 + /etc/X11/app-defaults/Xedit-color 59d7f0d96f4346ae0fe4904d46daf53c + /etc/X11/app-defaults/Xgc 744adc578acb239541e378eb16e337f7 + /etc/X11/app-defaults/Xgc-color 8dfaceb0c12917fd0b1c77423f9f6a47 + /etc/X11/app-defaults/XLoad 3ea554c7be110102e42e25d3d83c4134 + /etc/X11/app-defaults/XLogo fb1407c8cb1574726a6eb743b0092407 + /etc/X11/app-defaults/XLogo-color 439375bf8e3b87f46eebf35f55a8dbb5 + /etc/X11/app-defaults/Xmag 798a596142ae1b051408171e2b2db096 + /etc/X11/app-defaults/Xman b34cc2adfe0b89d436864163387417d1 + /etc/X11/app-defaults/XMore d6a85ee054f522e47a246d4471b6ab49 +Description: X applications + This package provides a miscellaneous assortment of X applications + that ship with the X Window System, including: + - atobm, bitmap, and bmtoa, tools for manipulating bitmap images; + - oclock and xclock, graphical clocks; + - xbiff, a tool which tells you when you have new email; + - xcalc, a scientific calculator desktop accessory; + - xclipboard, a tool to manage cut-and-pasted text selections; + - xconsole, which monitors system console messages; + - xcursorgen, a tool for creating X cursor files from PNGs; + - xditview, a viewer for ditroff output; + - xedit, a simple text editor for X; + - xeyes, a demo program in which a pair of eyes track the pointer; + - xgc, a graphics demo; + - xload, a monitor for the system load average; + - xlogo, a demo program that displays the X logo; + - xmag, which magnifies parts of the X screen; + - xman, a manual page browser; + - xmore, a text pager; + - xwd, a utility for taking window dumps ("screenshots") of the X session; + - xwud, a viewer for window dumps created by xwd; + - Xmark, x11perf, and x11perfcomp, tools for benchmarking graphical + operations under the X Window System; + . + The xbiff, xcalc, xconsole and xman programs use bitmap images provided + by the xbitmaps package. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: x11-common +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 640 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Architecture: all +Source: xorg +Version: 1:7.5+5ubuntu1 +Replaces: x-common, xfree86-common, xorg-common, xserver-common (<< 7) +Depends: debconf (>= 0.5) | debconf-2.0, upstart-job, debianutils (>= 1.13), lsb-base (>= 1.3-9ubuntu2) +Pre-Depends: debconf | debconf-2.0 +Conflicts: aee (<= 2.2.15b-1), ascd (<= 0.13.2-3), beaver (<= 0.2.5-2), bibview (<= 2.2-8), bugsx (<= 1.08-8), buici-clock (<= 0.4.5+b1), communicator-smotif-477, ctwm (<= 3.7-2), emelfm (<= 0.9.2-7), epan, fte-xwindow (<= 0.50.0-1.3), fvwm1 (<= 1.24r-46), fvwm95 (<= 2.0.43ba-23+b1), gerstensaft (<= 0.2-5.1), ghostview, gipsc (<= 0.4.3-2), grace (<= 1:5.1.18-1), grace6 (<= 5.99.0+final-4), gradio (<= 1.0.1-6), groff (<= 1.18.1.1-7), guitar (<= 0.1.4-11), hamsoft (<< 0.2.3-1), hanterm-classic (<= 3.1.6.0-4), hanterm-xf (<= 1:3.3.1p18-9.2), hfsutils-tcltk (<= 3.2.6-7), ibp (<= 0.21-4), isdnutils-xtools (<= 1:3.8.2005-12-06-4), ivtools-bin (<= 1.1.3-5), ivtools-dev (<= 1.1.3-5), kdrill (<= 6.4-2.1), kinput2-canna (<= 3.1-7), kinput2-canna-wnn (<= 3.1-7), kinput2-wnn (<= 3.1-7), kterm (<= 6.2.0-45), lbxproxy (<< 7.0), libmotif-dev (<= 2.2.3-1.3), libxft-dev (<= 2.1.8.2-5), lm-batmon (<= 0.96-3), login.app (<= 1.2.1-18), lsb-core (<= 3.1-4), lwm (<= 1.2.1-1), mctools-lite (<= 970129-16), mgp (<= 1.11b-6), motif-clients (<= 2.2.3-1.3), navigator-smotif-477, netscape-base-4, olvwm (<= 4.4.3.2p1.4-21), olwm (<= 3.2p1.4-21), oneko (<= 1.2.sakura.6-1), opera (<< 9.10-20060616), pgaccess (<= 1:0.98.8.20030520-2), phototk, pixmap (<= 2.6pl4-14.1), plotmtv (<= 1.4.4t-8.1), pmud (<= 0.10-9), ppxp (<= 0.2001080415-14), ppxp-x11 (<= 0.2001080415-14), procmeter (<= 2.5.1-11), propsel (<= 971130-5.3), proxymngr (<< 7.0), qcam (<= 0.91-11.1), regexplorer (<= 0.1.6-12), seyon (<= 2.20c-20), skkinput (<= 1:2.06.4-4), stella (<< 2.2-1), tkdesk (<= 2.0-5), tkseti (<= 3.06-1), tkworld, twlog (<= 1.3-4), twm (<< 7.0), ucbmpeg-play (<< 2.3p-13), vide (<= 1.21-3), videogen (<= 0.32-1), vtwm (<= 5.4.7-2), w9wm (<= 0.4.2-4), wdm (<= 1.28-1), wily (<= 0.13.41-6), wmavgload (<= 0.7.0-6.1), wmcpu (<= 1.3-4.1), wmdate (<= 0.5-7.1), wmnet (<= 1.05-12), wmnetselect (<= 0.85-5.5), wmscope (<= 3.0-9.1), wmsensors (<= 1.0.4-3.4), wmtv (<= 0.6.5-15), x-common, xautolock (<= 1:2.1-6), xbanner (<= 1.31-23), xbase-clients (<< 1:7.0), xbatt (<= 1.2.1-4), xbattbar (<= 1.4.2-3.1), xcal (<= 4.1-18.2), xcalendar-i18n (<= 4.0.0.i18p1-13.1), xcb (<= 2.4-4), xclip (<= 0.08-5), xclips (<= 6.21-6), xcolors (<= 1.5a-2), xcolorsel (<= 1.1a-11), xdkcal (<= 0.9d-2.1), xdm (<= 1:1.0.1-6), xdmx (<< 1:1.0), xdu (<= 3.0-14), xearth (<= 1.1-10.2), xengine (<= 1.11-9), xephem (<= 3.4-5), xext, xezmlm (<= 1.0.3-11), xfaces (<= 3.3-25), xfishtank (<= 2.2-23.1), xfm (<= 1.4.3-8), xfractint (<< 20.3.01-1), xfree86-common, xfs (<< 1:1.0), xfs-xtt (<= 1:1.4.1.xf430-6), xftp, xfwp (<< 7.0), xgdipc (<= 1.2-0.3), xgmod (<= 3.1-9), xgobi, xgraph (<= 12.1-3), xinput (<= 1.2-5.2), xipmsg (<= 0.8088-1.1), xisp, xlbiff (<< 4.1-4), xli (<= 1.17.0-21), xlockmore (<= 1:5.21-1), xlockmore-gl (<= 1:5.21-1), xlogmaster (<= 1.6.0-8), xmailbox (<= 2.5-9), xmem (<= 1.20-19), xmeter (<= 1.15-6), xmh (<= 6.8.2.dfsg.1-4), xmix (<= 2.1-5), xmon (<= 1.5.6-1.3), xnecview (<= 1.34-2), xnest (<< 1:1.0), xodo (<= 1.2-9.2), xorg-common, xpaste, xpmumon (<= 1.3.0), xpostit (<= 3.3.1-8.2), xpostitplus, xprint (<= 1:0.1.0.alpha1-13), xqbiff (<= 0.75-4), xrn (<= 9.02-7.1), xserver-common (<< 7), xserver-xfree86 (<< 1:7.0), xserver-xfree86-dbg, xserver-xorg (<< 1:7.4~), xslideshow (<= 3.1-8.1), xsysinfo (<= 1.7-2), xtel (<= 3.3.0-5.4), xterm (<< 208-1), xtoolwait (<= 1.3-6), xtrkcad (<= 3.1.4-1), xtrlock (<= 2.0-11), xturqstat (<= 2.2.2sarge1), xutils (<< 1:7.0), xv (<= 3.10a-26), xvfb (<< 1:1.0), xview-clients (<= 3.2p1.4-21), xviewg (<= 3.2p1.4-21), xviewg-dev (<= 3.2p1.4-21), xvkbd (<= 2.6-2.1), xwit (<= 3.4-6), xxkb (<= 1.10-2.1), xzoom (<= 0.3-17), yank (<= 0.2.1-7.2) +Conffiles: + /etc/X11/rgb.txt 09ee098b83d94c7c046d6b55ebe84ae1 + /etc/X11/Xreset 05d188ccac2f3360af8fe0c216640233 + /etc/X11/Xreset.d/README b344c222b5daf81926fd3270df374b5f + /etc/X11/Xsession 50678401170c9c701d2375bd279690c5 + /etc/X11/Xsession.d/20x11-common_process-args 862c8286749d25fe58dd98cad24c3fe4 + /etc/X11/Xsession.d/30x11-common_xresources 61cebe25ee0c64e981b88958dfee6f9c + /etc/X11/Xsession.d/40x11-common_xsessionrc db544c8543d1cb3762b9859288e77040 + /etc/X11/Xsession.d/50x11-common_determine-startup fe7c99261ba27b26aa14926d92447439 + /etc/X11/Xsession.d/60x11-common_localhost 2353ea72efc0c3e101058c3c56e282b4 + /etc/X11/Xsession.d/90x11-common_ssh-agent ae74aadf705c5fccf841ef921b45ca72 + /etc/X11/Xsession.d/99x11-common_start 3874d5e8f3ec888f69adb126e223e168 + /etc/X11/Xsession.options 210cd520efa87a5197cac01e10b3a84a + /etc/X11/Xresources/x11-common b640adb1cd646ec097f8df5b6deca9f0 + /etc/gdm/failsafeBlacklist 9b860f21bf33a6bfce55f233ba975e41 + /etc/gdm/failsafeXinit bf497dc1b011021e548c37392bd2a883 + /etc/gdm/failsafeXServer 791297354d1c22d1616154b3c6060f2d + /etc/init.d/x11-common 9a2901c839ade46a2a0f795ad1400fdf + /etc/init/failsafe-x.conf b85b200b5d58cbba7c81d51485e210fc +Description: X Window System (X.Org) infrastructure + x11-common contains the filesystem infrastructure required for further + installation of the X Window System in any configuration; it does not + provide a full installation of clients, servers, libraries, and utilities + required to run the X Window System. + . + A number of terms are used to refer to the X Window System, including "X", + "X Version 11", "X11", "X11R6", and "X11R7". The version of X used in + Debian is derived from the version released by the X.Org Foundation, and + is thus often also referred to as "X.Org". All of the preceding quoted + terms are functionally interchangeable in an Debian system. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: net-tools +Status: install ok installed +Priority: required +Section: net +Installed-Size: 1044 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1.60-23ubuntu2 +Replaces: ja-trans (<= 0.8-2), netbase (<< 4.00) +Depends: libc6 (>= 2.4) +Conflicts: ja-trans (<= 0.8-2) +Description: The NET-3 networking toolkit + This package includes the important tools for controlling the network + subsystem of the Linux kernel. This includes arp, ifconfig, netstat, + rarp, nameif and route. Additionally, this package contains utilities + relating to particular network hardware types (plipconfig, slattach, + mii-tool) and advanced aspects of IP configuration (iptunnel, ipmaddr). + . + In the upstream package 'hostname' and friends are included. Those are + not installed by this package, since there is a special "hostname*.deb". +Original-Maintainer: net-tools Team <pkg-net-tools-maintainers@lists.alioth.debian.org> + +Package: libxfixes3 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 80 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libxfixes +Version: 1:4.0.4-1 +Depends: libc6 (>= 2.2.5), libx11-6 +Description: X11 miscellaneous 'fixes' extension library + libXfixes provides an X Window System client interface to the 'XFIXES' + extension to the X protocol. + . + It provides support for Region types, and some cursor functions. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libXfixes +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: ccache +Status: install ok installed +Priority: optional +Section: devel +Installed-Size: 128 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 2.4-17build1 +Depends: libc6 (>= 2.8), zlib1g (>= 1:1.1.4) +Suggests: distcc +Description: Compiler results cacher, for fast recompiles + ccache is a compiler cache. It speeds up re-compilation of C/C++ code + by caching previous compiles and detecting when the same compile is + being done again. +Original-Maintainer: Y Giridhar Appaji Nag <appaji@debian.org> +Homepage: http://ccache.samba.org + +Package: xserver-xorg-video-r128 +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 320 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 6.8.1-2ubuntu1 +Replaces: xserver-xorg-video-ati (<= 1:6.8.0-1ubuntu1) +Provides: xserver-xorg-video-6 +Depends: libc6 (>= 2.7), xserver-xorg-core (>= 2:1.6.99.900) +Suggests: firmware-linux +Conflicts: xserver-xorg-video-ati (<= 1:6.8.0-1ubuntu1) +Description: X.Org X server -- ATI r128 display driver + This driver for the X.Org X server (see xserver-xorg for a further description) + provides support for the ATI Rage 'r128' series. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-r128 driver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libfs6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 116 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libfs +Version: 2:1.0.2-1build1 +Depends: libc6 (>= 2.4) +Description: X11 Font Services library + libFS, the Font Services library, provides various functions useful to + X11 font servers, and clients connecting to font servers. It is not used + outside of these implementations. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libFS +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: debconf-i18n +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 1136 +Maintainer: Colin Watson <cjwatson@ubuntu.com> +Architecture: all +Source: debconf +Version: 1.5.28ubuntu4 +Replaces: debconf (<< 1.3.0), debconf-utils (<< 1.3.22) +Depends: debconf, liblocale-gettext-perl, libtext-iconv-perl, libtext-wrapi18n-perl, libtext-charwidth-perl +Conflicts: debconf-english, debconf-utils (<< 1.3.22) +Description: full internationalization support for debconf + This package provides full internationalization for debconf, including + translations into all available languages, support for using translated + debconf templates, and support for proper display of multibyte character + sets. +Original-Maintainer: Debconf Developers <debconf-devel@lists.alioth.debian.org> + +Package: libxmu6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 164 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libxmu +Version: 2:1.0.5-1 +Depends: libc6 (>= 2.7), libx11-6, libxext6, libxt6 +Description: X11 miscellaneous utility library + libXmu provides a set of miscellaneous utility convenience functions for X + libraries to use. libXmuu is a lighter-weight version that does not depend + on libXt or libXext; for more information, see libxmuu1. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libXmu +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: grep +Essential: yes +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 1188 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 2.5.4-4build1 +Provides: rgrep +Pre-Depends: libc6 (>= 2.4) +Suggests: libpcre3 (>= 7.7) +Conflicts: rgrep +Description: GNU grep, egrep and fgrep + 'grep' is a utility to search for text in files; it can be used from the + command line or in scripts. Even if you don't want to use it, other packages + on your system probably will. + . + The GNU family of grep utilities may be the "fastest grep in the west". + GNU grep is based on a fast lazy-state deterministic matcher (about + twice as fast as stock Unix egrep) hybridized with a Boyer-Moore-Gosper + search for a fixed string that eliminates impossible text from being + considered by the full regexp matcher without necessarily having to + look at every character. The result is typically many times faster + than Unix grep or egrep. (Regular expressions containing backreferencing + will run more slowly, however.) +Original-Maintainer: Anibal Monsalve Salazar <anibal@debian.org> +Homepage: http://www.gnu.org/software/grep/ + +Package: plymouth +Status: install ok installed +Priority: required +Section: x11 +Installed-Size: 480 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 0.8.2-2ubuntu2 +Depends: libc6 (>= 2.8), libdrm-intel1 (>= 2.4.9), libdrm-nouveau1 (>= 2.4.11-1ubuntu1~), libdrm-radeon1 (>= 2.4.17), libdrm2 (>= 2.4.3), libplymouth2 (= 0.8.2-2ubuntu2), upstart-job, udev (>= 149-2), mountall (>= 2.0), initramfs-tools +Recommends: plymouth-theme-ubuntu-text | plymouth-theme +Breaks: gdm (<< 2.29.1-0ubuntu4), kdm (<< 4:4.4.2-0ubuntu6), lubuntu-plymouth-theme (<= 0.4), ubuntustudio-plymouth-theme (<= 0.38), xubuntu-plymouth-theme (<< 10.04.4) +Conflicts: usplash +Conffiles: + /etc/init/plymouth.conf a0352db1159bc9f4322170dd78cd1dae + /etc/init/plymouth-log.conf 65d2943a69f455dec3fed43fd7996d76 + /etc/init/plymouth-splash.conf 5daa5d5dafaee30442e4d8d82e542c0a + /etc/init/plymouth-stop.conf f422b651bb1fe8164f968bb58e18bb6c +Description: graphical boot animation and logger - main package + Plymouth is an application that runs very early in the boot process + (even before the root filesystem is mounted!) that provides a graphical + boot animation while the boot process happens in the background. + +Package: libdrm-nouveau1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 456 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Architecture: amd64 +Source: libdrm +Version: 2.4.18-1ubuntu3 +Depends: libc6 (>= 2.3.4), libdrm2 (>= 2.4.3) +Description: Userspace interface to nouveau-specific kernel DRM services -- runtime + This library implements the userspace interface to the nouveau-specific kernel + DRM services. DRM stands for "Direct Rendering Manager", which is the + kernelspace portion of the "Direct Rendering Infrastructure" (DRI). The DRI is + currently used on Linux to provide hardware-accelerated OpenGL drivers. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: kbd +Status: install ok installed +Priority: extra +Section: utils +Installed-Size: 1632 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1.15-1ubuntu3 +Replaces: open, util-linux (<< 2.11) +Provides: console-utilities, open +Depends: libc6 (>= 2.7), console-setup, lsb-base (>= 3.0-10), initramfs-tools +Conflicts: console-utilities, kbd-data, open, util-linux (<< 2.11) +Conffiles: + /etc/kbd/config 182c6394322efb8a10e6e95836ad220d + /etc/kbd/remap 2f1f15d62b45ab43c04b3ddbfcf591ec +Description: Linux console font and keytable utilities + This package allows you to set up the Linux console, change the font, + resize text mode virtual consoles and remap the keyboard. + . + You will probably want to install a set of data files, such as the one + in the “console-setup” package. +Original-Maintainer: Console utilities maintainers <pkg-kbd-devel@lists.alioth.debian.org> + +Package: libxdamage1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 64 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libxdamage +Version: 1:1.1.2-1 +Depends: libc6 (>= 2.2.5), libx11-6, libxfixes3 (>= 1:4.0.1) +Description: X11 damaged region extension library + libXdamage provides an X Window System client interface to the DAMAGE + extension to the X protocol. + . + The Damage extension provides for notification of when on-screen regions have + been 'damaged' (altered). + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libXdamage +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: x11-xserver-utils +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 556 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 7.5+1ubuntu2 +Replaces: iceauth, sessreg, xbase-clients (<< 1:7.3), xgamma, xhost, xmodmap, xrandr, xrdb, xrefresh, xrgb, xset, xsetmode, xsetpointer, xsetroot, xstdcmap, xutils (<< 1:7.2), xvidtune +Depends: libc6 (>= 2.7), libice6 (>= 1:1.0.0), libx11-6 (>= 0), libxau6, libxaw7, libxext6 (>= 0), libxi6 (>= 0), libxmu6, libxmuu1, libxrandr2 (>= 2:1.2.99.3), libxrender1, libxt6, libxxf86vm1, cpp +Pre-Depends: x11-common (>= 1:7.0.0) +Suggests: nickle, cairo-5c, xorg-docs-core +Conflicts: iceauth, sessreg, xgamma, xhost, xmodmap, xrandr, xrdb, xrefresh, xrgb, xset, xsetmode, xsetpointer, xsetroot, xstdcmap, xvidtune +Conffiles: + /etc/X11/app-defaults/Xvidtune b8a276636b9bee314fa77b468a54a84a +Description: X server utilities + An X client is a program that interfaces with an X server (almost always via + the X libraries), and thus with some input and output hardware like a + graphics card, monitor, keyboard, and pointing device (such as a mouse). + . + This package provides a miscellaneous assortment of X Server utilities + that ship with the X Window System, including: + - iceauth, a tool for manipulating ICE protocol authorization records; + - rgb; + - sessreg, a simple program for managing utmp/wtmp entries; + - xcmsdb, a device color characteristic utility for the X Color Management + System; + - xgamma, a tool for querying and setting a monitor's gamma correction; + - xhost, a very dangerous program that you should never use; + - xmodmap, a utility for modifying keymaps and pointer button mappings in X; + - xrandr, a command-line interface to the RandR extension; + - xrdb, a tool to manage the X server resource database; + - xrefresh, a tool that forces a redraw of the X screen; + - xset, a tool for setting miscellaneous X server parameters; + - xsetmode and xsetpointer, tools for handling X Input devices; + - xsetroot, a tool for tailoring the appearance of the root window; + - xstdcmap, a utility to selectively define standard colormap properties; + - xvidtune, a tool for customizing X server modelines for your monitor. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libxaw7 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 516 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libxaw +Version: 2:1.0.7-1 +Depends: libc6 (>= 2.4), libx11-6, libxext6, libxmu6, libxpm4, libxt6 +Description: X11 Athena Widget library + libXaw7 provides the second version of Xaw, the Athena Widgets tookit, + which is largely used by legacy X applications. This version is the + most common version, as version 6 is considered deprecated, and version + 8, which adds Xprint support, is unsupported and not widely used. + In general, use of a more modern toolkit such as GTK+ is recommended. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libXaw +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: upstart +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 856 +Maintainer: Scott James Remnant <scott@ubuntu.com> +Architecture: amd64 +Version: 0.6.5-6 +Replaces: startup-tasks, system-services, sysvinit, upstart-compat-sysv, upstart-job +Provides: startup-tasks, system-services, upstart-compat-sysv, upstart-job +Depends: libc6 (>= 2.4), libdbus-1-3 (>= 1.2.16), libnih-dbus1 (>= 1.0.0), libnih1 (>= 1.0.0), libudev0 (>= 151-5), sysvinit-utils, sysv-rc, initscripts, mountall, ifupdown (>= 0.6.8ubuntu29) +Conflicts: startup-tasks, system-services, sysvinit, upstart-compat-sysv, upstart-job +Conffiles: + /etc/dbus-1/system.d/Upstart.conf 64be74cddb0c74b7d98202b40389784c + /etc/init/control-alt-delete.conf 16e6603524084b63b0f0ca04eb56757e + /etc/init/rc-sysinit.conf bd0415c6387debecfff37a371b07002a + /etc/init/rc.conf c5e4b13b644d79d5a5c02e1396159c00 + /etc/init/rcS.conf 918e9d799d6aa99a0d96538d9685821d + /etc/init/tty1.conf 543a3404e714bb96b676770c8334d86d + /etc/init/tty2.conf 5eed82253d8c362021c344f1dbdc863b + /etc/init/tty3.conf b75577836957bb5adb50b3482c429edb + /etc/init/tty4.conf 27b4a36d59bf74fd6792a69394511e42 + /etc/init/tty5.conf 9803918babed47f733554dcd556d09d1 + /etc/init/tty6.conf 34f7b6971a5580f5fb6a2ff6f14af996 + /etc/init/upstart-udev-bridge.conf b3d59bd6e5debf634e4fe258d5a4dd71 +Description: event-based init daemon + upstart is a replacement for the /sbin/init daemon which handles + starting of tasks and services during boot, stopping them during + shutdown and supervising them while the system is running. +Homepage: http://upstart.ubuntu.com/ + +Package: xserver-xorg-video-neomagic +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 156 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1:1.2.4-2 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-neomagic +Provides: xserver-xorg-video-6 +Depends: libc6 (>= 2.2.5), xserver-xorg-core (>= 2:1.6.99.900) +Conflicts: xserver-xorg-driver-neomagic +Description: X.Org X server -- Neomagic display driver + This package provides the driver for Neomagic MagicGraph chipsets, which are + commonly found in laptops. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-neomagic driver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libcwidget3 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 844 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: cwidget +Version: 0.5.13-1ubuntu1 +Depends: libc6 (>= 2.4), libgcc1 (>= 1:4.1.1), libncursesw5 (>= 5.6+20071006-3), libsigc++-2.0-0c2a (>= 2.0.2), libstdc++6 (>= 4.1.1) +Suggests: libcwidget-dev +Description: high-level terminal interface library for C++ (runtime files) + libcwidget is a modern user interface library modeled on GTK+ and Qt, + but using curses as its display layer and with widgets that are + tailored to a terminal environment. + . + This package contains the files that are required to run programs + compiled against libcwidget. +Homepage: http://cwidget.alioth.debian.org +Original-Maintainer: Daniel Burrows <dburrows@debian.org> + +Package: libsasl2-modules +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 500 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: cyrus-sasl2 +Version: 2.1.23.dfsg1-5ubuntu1 +Depends: libsasl2-2 (= 2.1.23.dfsg1-5ubuntu1), libc6 (>= 2.4), libssl0.9.8 (>= 0.9.8k-1) +Suggests: libsasl2-modules-otp, libsasl2-modules-ldap, libsasl2-modules-sql, libsasl2-modules-gssapi-mit | libsasl2-modules-gssapi-heimdal +Description: Cyrus SASL - pluggable authentication modules + This is the Cyrus SASL API implementation, version 2.1. See package + libsasl2-2 and RFC 2222 for more information. + . + This package provides the following SASL modules: LOGIN, PLAIN, ANONYMOUS, + NTLM, CRAM-MD5, and DIGEST-MD5 (with DES support). +Homepage: http://cyrusimap.web.cmu.edu/ +Original-Maintainer: Debian Cyrus SASL Team <pkg-cyrus-sasl2-debian-devel@lists.alioth.debian.org> + +Package: libsasl2-2 +Status: install ok installed +Priority: standard +Section: libs +Installed-Size: 272 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: cyrus-sasl2 +Version: 2.1.23.dfsg1-5ubuntu1 +Replaces: libsasl2 +Depends: libc6 (>= 2.4), libdb4.8 +Recommends: libsasl2-modules (= 2.1.23.dfsg1-5ubuntu1) +Conflicts: libsasl2-gssapi-mit (<< 2.1.22), libsasl2-krb4-mit (<< 2.1.22), postfix (<< 2.3.4-3) +Description: Cyrus SASL - authentication abstraction library + This is the Cyrus SASL API implementation, version 2.1. + . + SASL is the Simple Authentication and Security Layer, a method for + adding authentication support to connection-based protocols. To use + SASL, a protocol includes a command for identifying and + authenticating a user to a server and for optionally negotiating + protection of subsequent protocol interactions. If its use is + negotiated, a security layer is inserted between the protocol and the + connection. See RFC 2222 for more information. + . + Any of: ANONYMOUS, CRAM-MD5, DIGEST-MD5, GSSAPI (MIT or Heimdal + Kerberos 5), NTLM, OTP, PLAIN, or LOGIN can be used. If you intend to + use this package on a server that provides SASL authentication, then + you must install some of the libsasl2-modules* packages. +Homepage: http://cyrusimap.web.cmu.edu/ +Original-Maintainer: Debian Cyrus SASL Team <pkg-cyrus-sasl2-debian-devel@lists.alioth.debian.org> + +Package: passwd +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 2640 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: shadow +Version: 1:4.1.4.2-1ubuntu2 +Replaces: manpages-tr (<< 1.0.5), manpages-zh (<< 1.5.1-1) +Depends: libc6 (>= 2.4), libpam0g (>= 0.99.7.1), libselinux1 (>= 1.32), libpam-modules, debianutils (>= 2.15.2) +Conffiles: + /etc/default/useradd cc9f9a7713ab62a32cd38363d958f396 + /etc/pam.d/passwd eaf2ad85b5ccd06cceb19a3e75f40c63 + /etc/pam.d/chfn 4d466e00a348ba426130664d795e8afa + /etc/pam.d/chsh a6e9b589e90009334ffd030d819290a6 + /etc/pam.d/chpasswd 9900720564cb4ee98b7da29e2d183cb2 + /etc/pam.d/newusers 1454e29bfa9f2a10836563e76936cea5 +Description: change and administer password and group data + This package includes passwd, chsh, chfn, and many other programs to + maintain password and group data. + . + Shadow passwords are supported. See /usr/share/doc/passwd/README.Debian +Homepage: http://pkg-shadow.alioth.debian.org/ +Original-Maintainer: Shadow package maintainers <pkg-shadow-devel@lists.alioth.debian.org> + +Package: xfonts-75dpi +Status: install ok installed +Priority: optional +Section: fonts +Installed-Size: 4476 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Version: 1:1.0.1 +Depends: xfonts-utils +Suggests: xfs | xserver +Conffiles: + /etc/X11/fonts/75dpi/xfonts-75dpi.alias 6bc48023f2ae7f3bfc105db7b0ee6b49 +Description: 75 dpi fonts for X + xfonts-75dpi provides a set of bitmapped fonts at 75 dots per inch. In + most cases it is desirable to have the X font server (xfs) and/or an X server + installed to make the fonts available to X clients. + . + This package contains only fonts in the ISO 10646-1 and ISO 8859-1 + encodings, to conserve disk space. For other encodings, see the + xfonts-75dpi-transcoded package. + . + This package and xfonts-100dpi provide the same set of fonts, rendered at + different resolutions; only one or the other is necessary, but both may be + installed. xfonts-75dpi may be more suitable for small monitors and/or + small screen resolutions (under 1024x768). + . + This package requires the xfonts-utils package to prepare the font + directories for use by an X server or X font server. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: hostname +Essential: yes +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 112 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 3.03ubuntu1 +Replaces: nis (<< 3.17-30) +Pre-Depends: libc6 (>= 2.4), upstart-job +Conflicts: nis (<< 3.17-30) +Conffiles: + /etc/init/hostname.conf e426591274acd83666295d90a937ee7a +Description: utility to set/show the host name or domain name + This package provides commands which can be used to display the system's + DNS name, and to display or set its hostname or NIS domain name. +Original-Maintainer: Debian Hostname Team <hostname-devel@lists.alioth.debian.org> + +Package: xkb-data +Status: install ok installed +Priority: extra +Section: x11 +Installed-Size: 3384 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Source: xkeyboard-config +Version: 1.8-1ubuntu8 +Breaks: libx11-6 (<< 2:1.1) +Description: X Keyboard Extension (XKB) configuration data + This package contains configuration data used by the X Keyboard + Extension (XKB), which allows selection of keyboard layouts when + using a graphical interface. + . + Every X11 vendor provides its own XKB data files, so keyboard layout + designers have to send their layouts to several places. The + xkeyboard-config project has been launched at FreeDesktop in order + to provide a central repository that could be used by all vendors. +Homepage: http://www.freedesktop.org/Software/XKeyboardConfig +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: fakeroot +Status: install ok installed +Priority: optional +Section: utils +Installed-Size: 372 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1.14.4-1ubuntu1 +Depends: libc6 (>= 2.7) +Description: Gives a fake root environment + This package is intended to enable something like: + dpkg-buildpackage -rfakeroot + i.e. to remove the need to become root for a package build. + This is done by setting LD_PRELOAD to libfakeroot.so, + which provides wrappers around getuid, chown, chmod, mknod, + stat, and so on, thereby creating a fake root environment. + . + fakeroot requires SYSV IPC or TCP to operate. +Original-Maintainer: Clint Adams <schizo@debian.org> + +Package: libacl1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 92 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: acl +Version: 2.2.49-2 +Depends: libattr1 (>= 2.4.41-1), libc6 (>= 2.4) +Conflicts: acl (<< 2.0.0), libacl1-kerberos4kth +Description: Access control list shared library + This package contains the libacl.so dynamic library containing + the POSIX 1003.1e draft standard 17 functions for manipulating + access control lists. +Original-Maintainer: Nathan Scott <nathans@debian.org> +Homepage: http://savannah.nongnu.org/projects/acl/ + +Package: python2.6-minimal +Status: install ok installed +Priority: required +Section: python +Installed-Size: 5044 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: python2.6 +Version: 2.6.5-1ubuntu6 +Replaces: python2.6 (<< 2.6.4~rc1-1) +Depends: libc6 (>= 2.4), libssl0.9.8 (>= 0.9.8k-1), zlib1g (>= 1:1.2.0) +Recommends: python2.6 +Suggests: binfmt-support +Conflicts: binfmt-support (<< 1.1.2), python-central (<< 0.6.11ubuntu6) +Conffiles: + /etc/python2.6/sitecustomize.py d6b276695157bde06a56ba1b2bc53670 +Description: A minimal subset of the Python language (version 2.6) + This package contains the interpreter and some essential modules. It can + be used in the boot process for some basic tasks. + See /usr/share/doc/python2.6-minimal/README.Debian for a list of the modules + contained in this package. +Original-Maintainer: Matthias Klose <doko@debian.org> +Python-Runtime: python2.6 +Python-Version: 2.6 + +Package: libpam-runtime +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 1248 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Source: pam +Version: 1.1.1-2ubuntu2 +Replaces: libpam0g-dev, libpam0g-util +Depends: debconf (>= 1.5.19), libpam-modules (>= 1.0.1-6) +Conflicts: libpam0g-util +Conffiles: + /etc/pam.conf 87fc76f18e98ee7d3848f6b81b3391e5 + /etc/pam.d/other 31aa7f2181889ffb00b87df4126d1701 +Description: Runtime support for the PAM library + Contains configuration files and directories required for + authentication to work on Debian systems. This package is required + on almost all installations. +Homepage: http://pam.sourceforge.net/ +Original-Maintainer: Steve Langasek <vorlon@debian.org> + +Package: libslang2 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 1520 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: slang2 +Version: 2.2.2-2ubuntu1 +Depends: libc6 (>= 2.4) +Recommends: libpng12-0 +Description: The S-Lang programming library - runtime version + S-Lang is a C programmer's library that includes routines for the rapid + development of sophisticated, user friendly, multi-platform applications. + . + This package contains only the shared library libslang.so.* and copyright + information. It is only necessary for programs that use this library (such + as jed and slrn). If you plan on doing development with S-Lang, you will + need the companion -dev package as well. +Original-Maintainer: Alastair McKinstry <mckinstry@debian.org> + +Package: initscripts +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 336 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: sysvinit +Version: 2.87dsf-4ubuntu17 +Replaces: libc0.1, libc0.3, libc6, libc6.1 +Depends: libc6 (>= 2.4), mount (>= 2.11x-1), debianutils (>= 2.13.1), lsb-base (>= 3.2-14), sysvinit-utils (>= 2.86.ds1-39), sysv-rc | file-rc, passwd, upstart +Recommends: psmisc, e2fsprogs +Breaks: hostname (<< 2.95ubuntu1~boot2), rsyslog (<< 4.2.0-2ubuntu3~boot1), udev (<< 146-2~boot6), upstart (<< 0.6.3-2~boot4) +Conflicts: libdevmapper1.02.1 (<< 2:1.02.24-1) +Conffiles: + /etc/init.d/bootlogd 6e90878c898804bf9059f8a304faed5d + /etc/init.d/stop-bootlogd e1a190ec1150ff0c1514eb318be9e227 + /etc/init.d/stop-bootlogd-single 1046585487345dd2d5d4b2841fb4a75b + /etc/init.d/halt 6ae1b3b1b8198567a5e32116077f12a2 + /etc/init.d/killprocs 5e404d35091fab6c4889302736ed4602 + /etc/init.d/ondemand cc2a79a545967eec1170dc2bb44468e0 + /etc/init.d/rc.local 2964c1446c6453cdde4213eede97ac38 + /etc/init.d/reboot 1b9db1ef7bfd79b128ef85d5065721a6 + /etc/init.d/sendsigs 2a1f251ca12ef06f46a166f9a37e2400 + /etc/init.d/single dc13cb373c5c098a8fb95424701373e3 + /etc/init.d/umountfs 842eba3cdd65c66a424f80a53f87d704 + /etc/init.d/umountnfs.sh b824a44ff24087eb2bf6780db7dfd9dc + /etc/init.d/umountroot aa9aa9db438cc99f76b065827971ff42 + /etc/init.d/urandom d0385e199d51b19181b77dc55211ac02 + /etc/default/bootlogd 70a108da715299a6e33470eb450669fb + /etc/default/devpts fc857c5ac5fb84d80720ed4d1c624f6e + /etc/default/halt 18d9844cf8ca8608e2a559a4555e593a + /etc/default/tmpfs d959a98cfb571cd7fdfb36bbb3d0a5c8 +Description: scripts for initializing and shutting down the system + The scripts in this package initialize a standard Debian + GNU/Linux system at boot time and shut it down at halt or + reboot time. +Homepage: http://freshmeat.net/projects/sysvinit/ +Original-Maintainer: Debian sysvinit maintainers <pkg-sysvinit-devel@lists.alioth.debian.org> + +Package: libblkid1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 248 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: util-linux +Version: 2.17.2-0ubuntu1 +Depends: libc6 (>= 2.4), libuuid1 (>= 2.16) +Conffiles: + /etc/blkid.conf 7f4c49e01e0a23d2f4b20eeb32e95abb +Description: block device id library + The blkid library which allows system programs like fsck and + mount to quickly and easily find block devices by filesystem UUID and + LABEL. This allows system administrators to avoid specifying + filesystems by hard-coded device names, but via a logical naming + system instead. +Original-Maintainer: LaMont Jones <lamont@debian.org> + +Package: xinput +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 92 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1.5.0-2ubuntu1 +Depends: libc6 (>= 2.4), libx11-6 (>= 2:1.2.99.901), libxext6, libxi6 (>= 2:1.2.99.4) +Description: Runtime configuration and test of XInput devices + Xinput is an utility for configuring and testing XInput + devices. +Original-Maintainer: Julien Cristau <jcristau@debian.org> + +Package: libss2 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 120 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: e2fsprogs +Version: 1.41.11-1ubuntu2 +Replaces: e2fsprogs (<< 1.34-1) +Depends: libcomerr2, libc6 (>= 2.11) +Description: command-line interface parsing library + This package includes a tool that parses a command table to generate + a simple command-line interface parser, the include files needed to + compile and use it, and the static libs. + . + It was originally inspired by the Multics SubSystem library. +Homepage: http://e2fsprogs.sourceforge.net +Original-Maintainer: Theodore Y. Ts'o <tytso@mit.edu> + +Package: findutils +Essential: yes +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 1892 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 4.4.2-1ubuntu1 +Pre-Depends: libc6 (>= 2.7) +Suggests: mlocate | locate | slocate +Description: utilities for finding files--find, xargs + GNU findutils provides utilities to find files meeting specified + criteria and perform various actions on the files which are found. + This package contains 'find' and 'xargs'; however, 'locate' has + been split off into a separate package. +Homepage: http://savannah.gnu.org/projects/findutils/ +Original-Maintainer: Andreas Metzler <ametzler@debian.org> + +Package: libxft2 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 152 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Architecture: amd64 +Source: xft +Version: 2.1.14-1ubuntu1 +Depends: libc6 (>= 2.4), libfontconfig1 (>= 2.4.0), libfreetype6 (>= 2.3.5), libx11-6, libxrender1 +Description: FreeType-based font drawing library for X + Xft provides a client-side font API for X applications, making the FreeType + font rasterizer available to X clients. Fontconfig is used for font + specification resolution. Where available, the RENDER extension handles + glyph drawing; otherwise, the core X protocol is used. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: xz-utils +Status: install ok installed +Priority: optional +Section: utils +Installed-Size: 476 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 4.999.9beta+20091116-1 +Depends: libc6 (>= 2.7), liblzma1 (>= 4.999.9beta) +Conflicts: xz-lzma (<< 4.999.9beta+20091004-1) +Description: XZ-format compression utilities + XZ is the successor to the Lempel-Ziv/Markov-chain Algorithm + compression format, which provides memory-hungry but powerful + compression (often better than bzip2) and fast, easy decompression. + . + This package provides the command line tools for working with XZ + compression, including xz, unxz, xzcat, xzgrep, and so on. They can + also handle the older LZMA format, and if invoked via appropriate + symlinks will emulate the behavior of the commands in the lzma + package. + . + The XZ format is similar to the older LZMA format but includes some + improvements for general use: + . + * 'file' magic for detecting XZ files; + * crc64 data integrity check; + * limited random-access reading support; + * improved support for multithreading (not used in xz-utils); + * support for flushing the encoder. +Original-Maintainer: Jonathan Nieder <jrnieder@gmail.com> +Homepage: http://tukaani.org/xz/ + +Package: xserver-xorg-video-nouveau +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 296 +Maintainer: Ubuntu MOTU Developers <ubuntu-motu@lists.ubuntu.com> +Architecture: amd64 +Version: 1:0.0.15+git20100219+9b4118d-0ubuntu5 +Replaces: xserver-xorg (<< 6.8.2-35) +Provides: xserver-xorg-video-6 +Depends: libc6 (>= 2.4), libdrm-nouveau1 (>= 2.4.16), xserver-xorg-core (>= 2:1.6.99.900) +Description: X.Org X server -- Nouveau display driver (experimental) + This driver for the X.Org X server (see xserver-xorg for a further description) + provides support for NVIDIA Riva, TNT, GeForce, and Quadro cards. + . + Although the nouveau project aims to provide full 3D support it is not yet + complete, and these packages do not include any 3D support. + Users requiring 3D support should use the non-free "nvidia" driver. + . + This package is built from the FreeDesktop.org xf86-video-nouveau driver. +Homepage: http://nouveau.freedesktop.org/wiki/ +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: xfonts-encodings +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 832 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Version: 1:1.0.3-1 +Replaces: xfonts-base (<< 1:1.0.0) +Depends: x11-common +Description: Encodings for X.Org fonts + This package contains the encodings that map to specific characters. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libx11-6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 1456 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Architecture: amd64 +Source: libx11 +Version: 2:1.3.2-1ubuntu3 +Depends: libc6 (>= 2.4), libxcb1 (>= 1.2), libx11-data +Conflicts: xlibs-data (<< 1:7.0.0) +Description: X11 client-side library + This package provides a client interface to the X Window System, otherwise + known as 'Xlib'. It provides a complete API for the basic functions of the + window system. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libX11 +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: e2fsprogs +Essential: yes +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 2148 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1.41.11-1ubuntu2 +Replaces: hurd (<= 20040301-1), libblkid1 (<< 1.38+1.39-WIP-2005.12.10-2), libuuid1 (<< 1.38+1.39-WIP-2005.12.10-2) +Pre-Depends: e2fslibs (= 1.41.11-1ubuntu2), libblkid1 (>= 1.34-1), libc6 (>= 2.11), libcomerr2 (>= 1.34-1), libss2 (>= 1.34-1), libuuid1 (>= 1.34-1), util-linux (>= 2.15~rc1-1) +Suggests: gpart, parted, e2fsck-static +Conflicts: dump (<< 0.4b4-4), initscripts (<< 2.85-4), quota (<< 1.55-8.1), sysvinit (<< 2.85-4) +Conffiles: + /etc/mke2fs.conf 33c2a4bda46c7cee498bb660084492dd +Description: ext2/ext3/ext4 file system utilities + The ext2, ext3 and ext4 file systems are successors of the original ext + ("extended") file system. They are the main file system types used for + hard disks on Debian and other Linux systems. + . + This package contains programs for creating, checking, and maintaining + ext-based file systems, and the generic fsck wrapper. +Homepage: http://e2fsprogs.sourceforge.net +Original-Maintainer: Theodore Y. Ts'o <tytso@mit.edu> + +Package: libsigc++-2.0-0c2a +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 100 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libsigc++-2.0 +Version: 2.2.4.2-1 +Replaces: libsigc++-1.9-0, libsigc++-2.0-0, libsigc++-2.0-0c2 +Depends: libc6 (>= 2.2.5), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.1.1) +Conflicts: libsigc++-1.9-0, libsigc++-2.0-0, libsigc++-2.0-0c2 +Description: type-safe Signal Framework for C++ - runtime + This library implements a full callback system for use in widget + libraries, abstract interfaces, and general programming. It provides + the ability to connect an abstract callback to a class method, + function, or function object, and contains adaptor classes for the + connection of dissimilar callbacks. + . + These are the runtime files for libsigc++, needed only if you wish to + run software which depends on it. +Original-Maintainer: Daniel Burrows <dburrows@debian.org> + +Package: liblzma1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 288 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: xz-utils +Version: 4.999.9beta+20091116-1 +Depends: libc6 (>= 2.4) +Description: XZ-format compression library + XZ is the successor to the Lempel-Ziv/Markov-chain Algorithm + compression format, which provides memory-hungry but powerful + compression (often better than bzip2) and fast, easy decompression. + . + The native format of liblzma is XZ; it also supports raw (headerless) + streams and the older LZMA format used by lzma. (For 7-Zip's related + format, use the p7zip package instead.) +Original-Maintainer: Jonathan Nieder <jrnieder@gmail.com> +Homepage: http://tukaani.org/xz/ + +Package: libnih1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 252 +Maintainer: Scott James Remnant <scott@ubuntu.com> +Architecture: amd64 +Source: libnih +Version: 1.0.1-1 +Depends: libc6 (>> 2.10), libc6 (<< 2.12) +Description: NIH Utility Library + libnih is a light-weight "standard library" of C functions to ease the + development of other libraries and applications, especially those + normally found in /lib. + . + This package contains the shared library. + +Package: cpp +Status: install ok installed +Priority: optional +Section: interpreters +Installed-Size: 104 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: gcc-defaults (1.93ubuntu1) +Version: 4:4.4.3-1ubuntu1 +Depends: cpp-4.4 (>= 4.4.3-1) +Suggests: cpp-doc +Conflicts: cpp-doc (<< 1:2.95.3) +Description: The GNU C preprocessor (cpp) + The GNU C preprocessor is a macro processor that is used automatically + by the GNU C compiler to transform programs before actual compilation. + . + This package has been separated from gcc for the benefit of those who + require the preprocessor but not the compiler. + . + This is a dependency package providing the default GNU C preprocessor. +Original-Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org> + +Package: libgnutls26 +Status: install ok installed +Priority: standard +Section: libs +Installed-Size: 1176 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: gnutls26 +Version: 2.8.5-2 +Replaces: gnutls0, gnutls0.4, gnutls3 +Depends: libc6 (>= 2.8), libgcrypt11 (>= 1.4.2), libtasn1-3 (>= 1.6-0), zlib1g (>= 1:1.1.4) +Suggests: gnutls-bin +Conflicts: gnutls0, gnutls0.4 +Description: the GNU TLS library - runtime library + gnutls is a portable library which implements the Transport Layer + Security (TLS) 1.0 and Secure Sockets Layer (SSL) 3.0 protocols. + . + Currently gnutls implements: + - the TLS 1.0 and SSL 3.0 protocols, without any US-export + controlled algorithms + - X509 Public Key Infrastructure (with several limitations). + - SRP for TLS authentication. + - TLS Extension mechanism + . + This package contains the runtime libraries. +Original-Maintainer: Debian GnuTLS Maintainers <pkg-gnutls-maint@lists.alioth.debian.org> +Homepage: http://www.gnutls.org/ + +Package: xserver-xorg-video-mga +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 284 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1:1.4.11.dfsg-2ubuntu1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-mga +Provides: xserver-xorg-video-6 +Depends: libc6 (>= 2.7), xserver-xorg-core (>= 2:1.6.99.900) +Suggests: firmware-linux +Conflicts: xserver-xorg-driver-mga +Description: X.Org X server -- MGA display driver + This package provides the driver for the Matrox MGA family of chipsets, + including Matrox Millennium and Mystique cards. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-mga driver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: insserv +Status: install ok installed +Priority: required +Section: misc +Installed-Size: 292 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1.12.0-14 +Depends: libc6 (>= 2.7) +Suggests: bootchart +Breaks: sysv-rc (<< 2.87dsf-3) +Conffiles: + /etc/bash_completion.d/insserv 32975fe14795d6fce1408d5fd22747fd + /etc/insserv.conf 9c13a4d5da9cb2c2fa550a30705f041a +Description: Tool to organize boot sequence using LSB init.d script dependencies + The insserv program is used to update the order of symlinks in + /etc/rc?.d/ with sysv-rc based on dependencies specified in the + scripts themselves using LSB init.d script headers. + . + This allow each package maintainer to specify their init.d script + relation to other scripts and make it possible to detect and reject + script dependency loops as well as making sure all scripts start in + their intended order. + . + The program insserv in this package should be used with care and + together with the sysv-rc package, as using it incorrectly can lead + to an unbootable system. +Original-Maintainer: Petter Reinholdtsen <pere@debian.org> +Homepage: http://ftp.suse.com/pub/projects/init/ + +Package: xserver-xorg-video-i128 +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 140 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1:1.3.3-1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-i128 +Provides: xserver-xorg-video-6 +Depends: libc6 (>= 2.4), xserver-xorg-core (>= 2:1.6.99.900) +Conflicts: xserver-xorg-driver-i128 +Description: X.Org X server -- i128 display driver + This package provides the driver for Number 9 Imagine (I128) video cards. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-i128 driver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: gzip +Essential: yes +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 284 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1.3.12-9ubuntu1 +Pre-Depends: libc6 (>= 2.4) +Suggests: less +Description: GNU compression utilities + This package provides the standard GNU file compression utilities, which + are also the default compression tools for Debian. They typically operate + on files with names ending in '.gz', but can also decompress files ending + in '.Z' created with 'compress'. +Original-Maintainer: Bdale Garbee <bdale@gag.com> + +Package: dpkg +Essential: yes +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 6728 +Origin: debian +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Bugs: debbugs://bugs.debian.org +Architecture: amd64 +Version: 1.15.5.6ubuntu4 +Replaces: manpages-de (<= 0.4-3), manpages-pl (<= 20051117-1) +Pre-Depends: libc6 (>= 2.11), coreutils (>= 5.93-1), lzma +Suggests: apt +Breaks: emacs21 (<< 21.4a+1-5.7), emacs21-nox (<< 21.4a+1-5.7), emacs22 (<= 22.2-0ubuntu2), emacs22-gtk (<= 22.2-0ubuntu2), emacs22-nox (<= 22.2-0ubuntu2), jed (<< 1:0.99.18+dfsg.1-13), jed-extra (<= 2.5.3-2), konqueror (<= 4:4.2.96-1), pinfo (<< 0.6.9-3.1), tkinfo (<< 2.8-3.1), xemacs21-support (<< 21.4.22-2), xjed (<< 1:0.99.18+dfsg.1-13) +Conflicts: apt (<< 0.7.7), aptitude (<< 0.4.7-1), dpkg-dev (<< 1.14.16), dpkg-iasearch (<< 0.11), sysvinit (<< 2.82-1) +Conffiles: + /etc/dpkg/dpkg.cfg f4413ffb515f8f753624ae3bb365b81b + /etc/alternatives/README 69c4ba7f08363e998e0f2e244a04f881 + /etc/cron.daily/dpkg b6b8dc21210ea50db7cc4636f521758f + /etc/logrotate.d/dpkg 9e25c8505966b5829785f34a548ae11f +Description: Debian package management system + This package provides the low-level infrastructure for handling the + installation and removal of Debian software packages. + . + For Debian package development tools, install dpkg-dev. +Homepage: http://wiki.debian.org/Teams/Dpkg +Original-Maintainer: Dpkg Developers <debian-dpkg@lists.debian.org> + +Package: libpcre3 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 456 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: pcre3 +Version: 7.8-3build1 +Depends: libc6 (>= 2.4) +Conflicts: libpcre3-dev (<= 4.3-3) +Description: Perl 5 Compatible Regular Expression Library - runtime files + This is a library of functions to support regular expressions whose syntax + and semantics are as close as possible to those of the Perl 5 language. + . + This package contains the runtime libraries. +Original-Maintainer: Mark Baker <mark@mnb.org.uk> + +Package: aptitude +Status: install ok installed +Priority: important +Section: admin +Installed-Size: 9828 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 0.4.11.11-1ubuntu10 +Depends: libapt-pkg-libc6.10-6-4.8, libc6 (>= 2.4), libcwidget3, libept0 (>= 0.5.30), libgcc1 (>= 1:4.1.1), libncursesw5 (>= 5.6+20071006-3), libsigc++-2.0-0c2a (>= 2.0.2), libstdc++6 (>= 4.4.0), libxapian15, zlib1g (>= 1:1.1.4) +Recommends: libparse-debianchangelog-perl +Suggests: aptitude-doc-en | aptitude-doc, tasksel, debtags +Conffiles: + /etc/apt/apt.conf.d/05aptitude 85b39c8f9413a8f29ddcce844d026929 + /etc/cron.daily/aptitude f934222d5eb13cb132e2751bdb023318 + /etc/logrotate.d/aptitude fb66bc5dc8c13edbcb83cea15ff86959 +Description: terminal-based package manager + aptitude is a terminal-based package manager with a number of useful + features, including: a mutt-like syntax for matching packages in a + flexible manner, dselect-like persistence of user actions, the + ability to retrieve and display the Debian changelog of most + packages, and a command-line mode similar to that of apt-get. + . + aptitude is also Y2K-compliant, non-fattening, naturally cleansing, + and housebroken. +Original-Maintainer: Daniel Burrows <dburrows@debian.org> + +Package: libept0 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 528 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libept +Version: 0.5.30 +Depends: libapt-pkg-libc6.10-6-4.8, libc6 (>= 2.8), libgcc1 (>= 1:4.1.1), libstdc++6 (>= 4.4.0), libxapian15, zlib1g (>= 1:1.1.4) +Description: High-level library for managing Debian package information + The library defines a very minimal framework in which many sources of data + about Debian packages can be implemented and queried together. + . + The library includes four data sources: + . + * APT: access the APT database + * Debtags: access the Debtags tag information + * Popcon: access Popcon package scores + * The Xapian index built by apt-xapian-index + . + This is the shared library. +Original-Maintainer: Enrico Zini <enrico@debian.org> + +Package: libncursesw5 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 556 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: ncurses +Version: 5.7+20090803-2ubuntu3 +Depends: libc6 (>= 2.4) +Recommends: libgpm2 +Description: shared libraries for terminal handling (wide character support) + This package contains the shared libraries necessary to run programs + compiled with ncursesw, which includes support for wide characters. +Homepage: ftp://invisible-island.net/ncurses/ +Original-Maintainer: Debian QA Group <packages@qa.debian.org> + +Package: liblocale-gettext-perl +Status: install ok installed +Priority: required +Section: perl +Installed-Size: 108 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1.05-6 +Depends: libc6 (>= 2.2.5) +Pre-Depends: perl-base (>= 5.10.0-24ubuntu4), perlapi-5.10.0 +Description: Using libc functions for internationalization in Perl + The gettext module permits access from perl to the gettext() family of + functions for retrieving message strings from databases constructed + to internationalize software. + . + It provides gettext(), dgettext(), dcgettext(), textdomain(), + bindtextdomain(), bind_textdomain_codeset(), ngettext(), dcngettext() + and dngettext(). +Original-Maintainer: Debian Perl Group <pkg-perl-maintainers@lists.alioth.debian.org> +Homepage: http://search.cpan.org/dist/gettext/gettext.pm + +Package: ubuntu-keyring +Status: install ok installed +Priority: important +Section: misc +Installed-Size: 60 +Maintainer: Michael Vogt <michael.vogt@canonical.com> +Architecture: all +Version: 2010.11.09 +Depends: gnupg (>= 1.0.6-4) +Description: GnuPG keys of the Ubuntu archive + The Ubuntu project digitally signs its Release files. This package + contains the archive keys used for that. + +Package: xbitmaps +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 476 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Version: 1.1.0-1 +Description: Base X bitmaps + This package contains the base X bitmaps, which are used in many legacy X + clients. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: busybox-initramfs +Status: install ok installed +Priority: required +Section: shells +Installed-Size: 344 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: busybox +Version: 1:1.13.3-1ubuntu11 +Replaces: busybox-cvs-initramfs +Depends: libc6 (>= 2.11) +Conflicts: busybox-cvs-initramfs +Description: Standalone shell setup for initramfs + BusyBox combines tiny versions of many common UNIX utilities into a single + small executable. It provides minimalist replacements for the most common + utilities you would usually find on your desktop system (i.e., ls, cp, mv, + mount, tar, etc.). The utilities in BusyBox generally have fewer options than + their full-featured GNU cousins; however, the options that are included + provide the expected functionality and behave very much like their GNU + counterparts. + . + busybox-initramfs provides a statically linked simple stand alone shell + that provides only the basic utilities needed for the initramfs. +Original-Maintainer: Debian Install System Team <debian-boot@lists.debian.org> + +Package: xserver-xorg-video-s3 +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 148 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1:0.6.3-1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-s3 +Provides: xserver-xorg-video-6 +Depends: libc6 (>= 2.2.5), xserver-xorg-core (>= 2:1.6.99.900) +Conflicts: xserver-xorg-driver-s3 +Description: X.Org X server -- legacy S3 display driver + This package provides the driver for certain legacy S3 video card chipsets, + including the Trio64 and 96x cards. It does not provide support for + ViRGE/Trio3D or Savage chipsets; support for these cards is provided by + xserver-xorg-video-s3virge and xserver-xorg-driver-savage, respectively. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-s3 driver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: ttf-dejavu-core +Status: install ok installed +Priority: optional +Section: fonts +Installed-Size: 2564 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Source: ttf-dejavu +Version: 2.30-2 +Replaces: ttf-dejavu (<< 2.20-1) +Conflicts: ttf-dejavu (<< 2.20-1) +Description: Vera font family derivative with additional characters + DejaVu provides an expanded version of the Vera font family aiming for + quality and broader Unicode coverage while retaining the original Vera + style. DejaVu currently works towards conformance with the Multilingual + European Standards (MES-1 and MES-2) for Unicode coverage. The DejaVu + fonts provide serif, sans and monospaced variants. + . + This package only contains the sans, sans-bold, serif, serif-bold, + mono and mono-bold variants. For additional variants, see the + ttf-dejavu-extra package. + . + DejaVu fonts are intended for use on low-resolution devices (mainly + computer screens) but can be used in printing as well. +Original-Maintainer: Debian Fonts Task Force <pkg-fonts-devel@lists.alioth.debian.org> +Homepage: http://dejavu-fonts.org/ + +Package: xserver-xorg-video-trident +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 244 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1:1.3.3-1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-trident +Provides: xserver-xorg-video-6 +Depends: libc6 (>= 2.7), xserver-xorg-core (>= 2:1.6.99.900) +Conflicts: xserver-xorg-driver-trident +Description: X.Org X server -- Trident display driver + This package provides the driver for Trident Blade/Image/ProVidia/TGUI/9xxx + video cards. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-trident driver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libbz2-1.0 +Status: install ok installed +Priority: important +Section: libs +Installed-Size: 128 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: bzip2 +Version: 1.0.5-4 +Depends: libc6 (>= 2.4) +Description: high-quality block-sorting file compressor library - runtime + This package contains libbzip2 which is used by the bzip2 compressor. + . + bzip2 is a freely available, patent free, high-quality data compressor. + It typically compresses files to within 10% to 15% of the best available + techniques, whilst being around twice as fast at compression and six + times faster at decompression. + . + bzip2 compresses files using the Burrows-Wheeler block-sorting text + compression algorithm, and Huffman coding. Compression is generally + considerably better than that achieved by more conventional + LZ77/LZ78-based compressors, and approaches the performance of the PPM + family of statistical compressors. + . + The archive file format of bzip2 (.bz2) is incompatible with that of its + predecessor, bzip (.bz). +Original-Maintainer: Anibal Monsalve Salazar <anibal@debian.org> +Homepage: http://www.bzip.org/ + +Package: xserver-xorg-video-chips +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 232 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1:1.2.2-1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-chips +Provides: xserver-xorg-video-6 +Depends: libc6 (>= 2.2.5), xserver-xorg-core (>= 2:1.6.99.900) +Conflicts: xserver-xorg-driver-chips +Description: X.Org X server -- Chips display driver + This package provides the driver for the Chips & Technologies family + of video cards. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-chips driver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: xserver-xorg-video-intel +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 1688 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 2:2.9.1-3ubuntu5 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-i810, xserver-xorg-video-i810 (<< 2:1.9.91-1), xserver-xorg-video-i810-modesetting, xserver-xorg-video-intel-modesetting +Provides: xserver-xorg-video-6 +Depends: libc6 (>= 2.4), libdrm-intel1 (>= 2.4.11), libdrm2 (>= 2.4.3), libpciaccess0 (>= 0.8.0+git20071002), libxext6 (>= 0), libxfixes3 (>= 1:4.0.1), libxv1, libxvmc1, xserver-xorg-core (>= 2:1.6.99.900) +Recommends: intel-gpu-tools +Conflicts: 915resolution, xserver-xorg-driver-i810, xserver-xorg-video-i810 (<< 2:1.9.91-1), xserver-xorg-video-i810-modesetting, xserver-xorg-video-intel-modesetting +Description: X.Org X server -- Intel i8xx, i9xx display driver + This package provides the driver for the Intel i8xx and i9xx family + of chipsets, including i810, i815, i830, i845, i855, i865, i915, i945 + and i965 series chips. + . + This package also provides XvMC (XVideo Motion Compensation) drivers + for i810/i815 and i9xx and newer chipsets. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-intel driver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: xserver-xorg-video-mach64 +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 388 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 6.8.2-2 +Replaces: xserver-xorg-video-ati (<= 1:6.8.0-1) +Provides: xserver-xorg-video-6 +Depends: libc6 (>= 2.4), xserver-xorg-core (>= 2:1.6.99.900) +Conflicts: xserver-xorg-video-ati (<= 1:6.8.0-1) +Description: X.Org X server -- ATI Mach64 display driver + This driver for the X.Org X server (see xserver-xorg for a further description) + provides support for the ATI Mach64 series. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-mach64 driver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: console-terminus +Status: install ok installed +Priority: optional +Section: fonts +Installed-Size: 784 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Source: xfonts-terminus +Version: 4.30-2 +Recommends: kbd | console-tools +Suggests: console-setup +Conflicts: console-cyrillic (<= 0.9-11) +Description: Fixed-width fonts for fast reading on the Linux console + This package installs in /usr/share/consolefonts several console + variants of the Terminus font. If you have to work for extended time + in front of monitor (i.e. over eight hours), you may find that using + of these fonts reduces your eyes-fatigue. + . + The following charsets are supported: western European Latin, central + European Latin, Turkish Latin, Romanian Latin, Slavic Cyrillic and + Asian Cyrillic (Bashkyr, Kazakh, Mongolian and others). +Original-Maintainer: Anton Zinoviev <zinoviev@debian.org> + +Package: libdrm-intel1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 476 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Architecture: amd64 +Source: libdrm +Version: 2.4.18-1ubuntu3 +Depends: libc6 (>= 2.3.4), libdrm2 (>= 2.4.1) +Description: Userspace interface to intel-specific kernel DRM services -- runtime + This library implements the userspace interface to the intel-specific kernel + DRM services. DRM stands for "Direct Rendering Manager", which is the + kernelspace portion of the "Direct Rendering Infrastructure" (DRI). The DRI is + currently used on Linux to provide hardware-accelerated OpenGL drivers. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libpciaccess0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 112 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libpciaccess +Version: 0.11.0-1 +Depends: libc6 (>= 2.7), zlib1g (>= 1:1.1.4) +Suggests: pciutils +Description: Generic PCI access library for X + Provides functionality for X to access the PCI bus and devices + in a platform-independent way. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libc-bin +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 1784 +Maintainer: Ubuntu Core developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: eglibc +Version: 2.11.1-0ubuntu7 +Replaces: libc0.1, libc0.3, libc6, libc6.1 +Breaks: libc0.1 (<< 2.10), libc0.3 (<< 2.10), libc6 (<< 2.10), libc6.1 (<< 2.10) +Conffiles: + /etc/bindresvport.denylist 154db0e55fa99051ff1bd99e5b2c0584 + /etc/ld.so.conf.d/libc.conf d4d833fd095fb7b90e1bb4a547f16de6 + /etc/gai.conf 4b3389be7132a6a8805f3df8d0ff00f6 +Description: Embedded GNU C Library: Binaries + This package contains utility programs related to the GNU C Library. + . + * catchsegv: catch segmentation faults in programs + * getconf: query system configuration variables + * getent: get entries from administrative databases + * iconv, iconvconfig: convert between character encodings + * ldd, ldconfig: print/configure shared library dependencies + * locale, localedef: show/generate locale definitions + * rpcinfo: report RPC information + * tzselect, zdump, zic: select/dump/compile time zones +Homepage: http://www.eglibc.org +Original-Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> + +Package: libldap-2.4-2 +Status: install ok installed +Priority: standard +Section: libs +Installed-Size: 496 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: openldap +Version: 2.4.21-0ubuntu5 +Replaces: libldap-2.3-0, libldap2 +Depends: libc6 (>= 2.4), libgnutls26 (>= 2.7.14-0), libgssapi-krb5-2 (>= 1.7+dfsg), libsasl2-2 +Conflicts: ldap-utils (<= 2.1.23-1) +Conffiles: + /etc/ldap/ldap.conf 7fac807f65d84394410881bc16f1198a +Description: OpenLDAP libraries + These are the run-time libraries for the OpenLDAP (Lightweight Directory + Access Protocol) servers and clients. +Homepage: http://www.openldap.org/ +Original-Maintainer: Debian OpenLDAP Maintainers <pkg-openldap-devel@lists.alioth.debian.org> + +Package: sysvinit-utils +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 300 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: sysvinit +Version: 2.87dsf-4ubuntu17 +Replaces: last, sysvconfig (<< 0.80ubuntu1), sysvinit (<= 2.86.ds1-65), sysvutils (<< 2.86.ds1-56ubuntu1) +Provides: sysvutils +Depends: libc6 (>= 2.8), libselinux1 (>= 1.32), libsepol1 (>= 1.14) +Recommends: upstart (>= 0.6.3-4) +Suggests: sash +Conflicts: chkconfig (<< 11.0-79.1-1ubuntu1), last, sysvconfig +Description: System-V-like utilities + This package contains the important System-V-like utilities. + . + Specifically, this package includes: + killall5, last, lastb, mesg, pidof, service, sulogin +Homepage: http://freshmeat.net/projects/sysvinit/ +Original-Maintainer: Debian sysvinit maintainers <pkg-sysvinit-devel@lists.alioth.debian.org> + +Package: xserver-xorg-input-all +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 24 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Architecture: amd64 +Source: xorg +Version: 1:7.5+5ubuntu1 +Depends: xserver-xorg-input-evdev, xserver-xorg-input-synaptics, xserver-xorg-input-vmmouse, xserver-xorg-input-wacom, x11-common +Description: the X.Org X server -- input driver metapackage + This package depends on the full suite of input drivers for the X.Org X server + (Xorg). It does not provide any drivers itself, and may be removed if you wish + to only have certain drivers installed. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: fontconfig-config +Status: install ok installed +Priority: optional +Section: fonts +Installed-Size: 428 +Maintainer: Ubuntu Core developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Source: fontconfig +Version: 2.8.0-2ubuntu1 +Replaces: fontconfig (<< 2.3.2-2) +Depends: ucf (>= 0.29), ttf-dejavu-core | ttf-bitstream-vera | ttf-freefont | gsfonts-x11 +Conflicts: fontconfig (<< 2.3.2-2) +Conffiles: + /etc/fonts/fonts.conf 4c841acd3dd065819b23a0fc077d783c + /etc/fonts/fonts.dtd 9a099c7722190e00548c0d8375bdc24b + /etc/fonts/conf.d/README 296384642206e0c9952d5c73a5451eec + /etc/fonts/conf.avail/10-antialias.conf d77e6cfb9608490da012671c25213fe4 + /etc/fonts/conf.avail/10-autohint.conf 5fe723b1fde478085868af26461bcf58 + /etc/fonts/conf.avail/10-hinting-full.conf 65b0e8b7e1392797850856d8411d7272 + /etc/fonts/conf.avail/10-hinting-medium.conf b663214dd84d0f5c4e279b153e0b38f9 + /etc/fonts/conf.avail/10-hinting-slight.conf 4d7df8529053d526a503b472ee42b2b3 + /etc/fonts/conf.avail/10-hinting.conf 4d1fb88a99c516270526c8dca5764df8 + /etc/fonts/conf.avail/10-no-sub-pixel.conf d06c13e792afb20a06528d23e6542459 + /etc/fonts/conf.avail/10-sub-pixel-bgr.conf cacb7572b778448d592501d03a7f96fd + /etc/fonts/conf.avail/10-sub-pixel-rgb.conf 60ef22ca1f56543131eddee764383b46 + /etc/fonts/conf.avail/10-sub-pixel-vbgr.conf d526b41cd9b4d5e09ab4044a39b4c038 + /etc/fonts/conf.avail/10-sub-pixel-vrgb.conf a3198f34365f978c1fb5355a92e4ef94 + /etc/fonts/conf.avail/10-unhinted.conf 7bdecdf76d7bb22cd39e3b18bcbcc28d + /etc/fonts/conf.avail/11-lcd-filter-lcddefault.conf 34d7cffd14602241d09f23b0d1a39521 + /etc/fonts/conf.avail/20-fix-globaladvance.conf fbad2da072b8609477d89a59a167705a + /etc/fonts/conf.avail/20-unhint-small-vera.conf b975a96cc427cde633cbdedc4012aa22 + /etc/fonts/conf.avail/25-unhint-nonlatin.conf 62953912e2a45ea9a1ef4d8a400b2894 + /etc/fonts/conf.avail/30-metric-aliases.conf 64accc211b62e4fb7da141d8c1c271b3 + /etc/fonts/conf.avail/30-urw-aliases.conf c6c33cfde9f637e1d2b8cad9353df6dc + /etc/fonts/conf.avail/40-nonlatin.conf c78f533d9546bfc3a78f85d96f9eccf7 + /etc/fonts/conf.avail/45-latin.conf 8d9a57e7891ecc9d6f0806a3e7c204a1 + /etc/fonts/conf.avail/49-sansserif.conf 22278b0b48e5864d9c7fcbc178da0db3 + /etc/fonts/conf.avail/50-user.conf 0165add6524289f6eb0461ba0be73be2 + /etc/fonts/conf.avail/51-local.conf a2fa562c168c2c4cc0c2480bfdc0f8eb + /etc/fonts/conf.avail/53-monospace-lcd-filter.conf a6737024098d0bdc74b70846d4b99fe9 + /etc/fonts/conf.avail/60-latin.conf 2a898e836efee4347362e1e7f09cd0d6 + /etc/fonts/conf.avail/65-fonts-persian.conf 7df3a06989afcf1ecd9a8f44c9bf5d63 + /etc/fonts/conf.avail/65-khmer.conf ce66ea0c26f43091ab70092f3f7024d4 + /etc/fonts/conf.avail/65-nonlatin.conf 12a4cb7a2d642497f73f338abf988235 + /etc/fonts/conf.avail/69-unifont.conf 49a6cb52e1cf23e0f691807a3e8c105d + /etc/fonts/conf.avail/70-no-bitmaps.conf dccfa658875eea3b30514d7a8bc306bc + /etc/fonts/conf.avail/70-yes-bitmaps.conf 91c414090c7d8bfe557785fe845cb6bd + /etc/fonts/conf.avail/80-delicious.conf 1c0cbfdceb6bc7a55668c11f03b0710b + /etc/fonts/conf.avail/90-synthetic.conf 7659edb861f44ff8e9f4e31567d24e47 + /etc/fonts/conf.avail/70-force-bitmaps.conf 6423e63e204d4ea4629cd3f58636fcdc +Description: generic font configuration library - configuration + Fontconfig is a font configuration and customization library, which + does not depend on the X Window System. It is designed to locate + fonts within the system and select them according to requirements + specified by applications. + . + This package contains the configuration files and scripts for fontconfig. +Original-Maintainer: Keith Packard <keithp@debian.org> + +Package: libxtst6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 84 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libxtst +Version: 2:1.1.0-2 +Depends: libc6 (>= 2.4), libx11-6, libxext6, libxi6, x11-common +Description: X11 Testing -- Resource extension library + libXtst provides an X Window System client interface to the Record + extension to the X protocol. + . + The Record extension allows X clients to synthesise input events, which + is useful for automated testing. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libXtst +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: xserver-xorg-input-mouse +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 160 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1:1.5.0-1 +Replaces: xserver-xorg (<< 6.8.2-35) +Provides: xserver-xorg-input-7 +Depends: libc6 (>= 2.7), xserver-xorg-core (>= 2:1.6.99.900) +Description: X.Org X server -- mouse input driver + This package provides the driver for mouse input devices. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-input-mouse driver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libice6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 156 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libice +Version: 2:1.0.6-1 +Depends: libc6 (>= 2.4), x11-common +Description: X11 Inter-Client Exchange library + This package provides the main interface to the X11 Inter-Client Exchange + library, which allows for communication of data between X clients. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libICE +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libnih-dbus1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 80 +Maintainer: Scott James Remnant <scott@ubuntu.com> +Architecture: amd64 +Source: libnih +Version: 1.0.1-1 +Depends: libnih1 (= 1.0.1-1), libc6 (>= 2.3.4), libdbus-1-3 (>= 1.2.16) +Description: NIH D-Bus Bindings Library + libnih-dbus is a D-Bus bindings library that integrates with the main + loop provided by libnih. + . + This package contains the shared library. + +Package: libx11-data +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 2500 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Architecture: all +Source: libx11 +Version: 2:1.3.2-1ubuntu3 +Replaces: libx11-6 (<= 2:1.0.0-1) +Description: X11 client-side library + This package provides the locale data files for libx11. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libX11 +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libselinux1 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 228 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libselinux +Version: 2.0.89-4 +Depends: libc6 (>= 2.8) +Description: SELinux runtime shared libraries + This package provides the shared libraries for Security-enhanced + Linux that provides interfaces (e.g. library functions for the + SELinux kernel APIs like getcon(), other support functions like + getseuserbyname()) to SELinux-aware applications. Security-enhanced + Linux is a patch of the Linux kernel and a number of utilities with + enhanced security functionality designed to add mandatory access + controls to Linux. The Security-enhanced Linux kernel contains new + architectural components originally developed to improve the security + of the Flask operating system. These architectural components provide + general support for the enforcement of many kinds of mandatory access + control policies, including those based on the concepts of Type + Enforcement, Role-based Access Control, and Multi-level Security. + . + libselinux1 provides an API for SELinux applications to get and set + process and file security contexts and to obtain security policy + decisions. Required for any applications that use the SELinux + API. libselinux may use the shared libsepol to manipulate the binary + policy if necessary (e.g. to downgrade the policy format to an older + version supported by the kernel) when loading policy. +Original-Maintainer: Manoj Srivastava <srivasta@debian.org> + +Package: libc6 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 10208 +Maintainer: Ubuntu Core developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: eglibc +Version: 2.11.1-0ubuntu7 +Replaces: belocs-locales-bin +Provides: glibc-2.10-1 +Depends: libc-bin (= 2.11.1-0ubuntu7), debconf (>= 0.5) | debconf-2.0, libgcc1, tzdata, findutils (>= 4.4.0-2ubuntu2) +Suggests: glibc-doc, locales +Breaks: nscd (<< 2.9) +Conflicts: belocs-locales-bin, tzdata (<< 2007k-1), tzdata-etch +Conffiles: + /etc/ld.so.conf.d/x86_64-linux-gnu.conf 593ad12389ab2b6f952e7ede67b8fbbf +Description: Embedded GNU C Library: Shared libraries + Contains the standard libraries that are used by nearly all programs on + the system. This package includes shared versions of the standard C library + and the standard math library, as well as many others. +Homepage: http://www.eglibc.org +Original-Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> + +Package: xserver-xorg-video-nv +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 304 +Maintainer: Ubuntu X-SWAT <ubuntu-x@lists.ubuntu.com> +Architecture: amd64 +Version: 1:2.1.15-1ubuntu3 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-nv, xserver-xorg-video-riva128 +Provides: xf86-video-driver-riva128, xserver-xorg-video-6 +Depends: libc6 (>= 2.4), xserver-xorg-core (>= 2:1.6.99.900) +Conflicts: xserver-xorg-driver-nv, xserver-xorg-video-riva128 +Description: X.Org X server -- NV display driver + This driver for the X.Org X server (see xserver-xorg for a further description) + provides support for NVIDIA Riva, TNT, GeForce, and Quadro cards. + . + Note that this is not the same as the binary-only 'nvidia' driver, which + adds 3D support, but is binary-only and not supported. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-nv driver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libsm6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 92 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libsm +Version: 2:1.1.1-1 +Depends: libc6 (>= 2.4), libice6 (>= 1:1.0.0), libuuid1 (>= 2.16-1) +Description: X11 Session Management library + This package provides the main interface to the X11 Session Management + library, which allows for applications to both manage sessions, and make use + of session managers to save and restore their state for later use. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libSM +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libxxf86vm1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 76 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libxxf86vm +Version: 1:1.1.0-2 +Depends: libc6 (>= 2.2.5), libx11-6, libxext6 +Description: X11 XFree86 video mode extension library + libXxf86vm provides an interface to the XFree86-VidModeExtension + extension, which allows client applications to get and set video mode + timings in extensive detail. It is used by the xvidtune program in + particular. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libXxf86vm +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libpng12-0 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 336 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libpng +Version: 1.2.42-1ubuntu2 +Replaces: libpng12-dev (<= 1.2.8rel-7) +Depends: libc6 (>= 2.11), zlib1g (>= 1:1.1.4) +Conflicts: libpng12-dev (<= 1.2.8rel-7), mzscheme (<= 1:209-5), pngcrush (<= 1.5.10-2), pngmeta (<= 1.11-3), povray-3.5 (<= 3.5.0c-10), qemacs (<= 0.3.1-5) +Description: PNG library - runtime + libpng is a library implementing an interface for reading and writing + PNG (Portable Network Graphics) format files. + . + This package contains the runtime library files needed to run software + using libpng. +Homepage: http://libpng.org/pub/png/libpng.html +Original-Maintainer: Anibal Monsalve Salazar <anibal@debian.org> + +Package: udev +Status: install ok installed +Priority: required +Section: admin +Installed-Size: 1584 +Maintainer: Scott James Remnant <scott@ubuntu.com> +Architecture: amd64 +Version: 151-12 +Replaces: hotplug, ifrename, initramfs-tools (<< 0.040ubuntu1), udev-extras (<= 20090618) +Depends: libacl1 (>= 2.2.11-1), libc6 (>= 2.9), libglib2.0-0 (>= 2.16.0), libselinux1 (>= 1.32), libusb-0.1-4 (>= 2:0.1.12), upstart-job, module-init-tools (>= 3.2.1-0ubuntu3), initramfs-tools (>= 0.92bubuntu63), procps, adduser, util-linux (>> 2.15~rc2) +Suggests: watershed +Breaks: casper (<< 1.174), consolekit (<= 0.4.1), dmsetup (<= 2:1.02.27-4ubuntu5), initramfs-tools (<< 0.92bubuntu30), lvm2 (<= 2.02.39-0ubuntu9), mdadm (<= 2.6.7.1-1ubuntu8) +Conflicts: hotplug, ifrename, libdevmapper1.02 (<< 2:1.02.08-1ubuntu7), udev-extras (<= 20090618) +Conffiles: + /etc/udev/rules.d/README 3b6de9f3f911176734c66903b4f8735c + /etc/udev/udev.conf 8b024b79a468658332fbf2586737907e + /etc/init/udev.conf 57d33a5ba9c438b3be4275e908213535 + /etc/init/udev-finish.conf 28ebb3ad2d2c6ca545d72f3f0769f448 + /etc/init/udevtrigger.conf 16f1ef5e6e1a9c589fa6993af7ea9ff5 + /etc/init/udevmonitor.conf b541dfb5aa4958e9a5336ecaec00ca15 +Description: rule-based device node and kernel event manager + udev is a collection of tools and a daemon to manage events received from + the kernel and deal with them in user-space. Primarily this involves + creating and removing device nodes in /dev when hardware is discovered or + removed from the system. + . + Events are received via kernel netlink messaged and processed according to + rules in /etc/udev/rules.d and /lib/udev/rules.d, altering the name of the + device node, creating additional symlinks or calling other tools and programs + including those to load kernel modules and initialise the device. + +Package: libpixman-1-0 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 504 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: pixman +Version: 0.16.4-1ubuntu2 +Depends: libc6 (>= 2.4) +Description: pixel-manipulation library for X and cairo + A library for manipulating pixel regions -- a set of Y-X banded + rectangles, image compositing using the Porter/Duff model + and implicit mask generation for geometric primitives including + trapezoids, triangles, and rectangles. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: bash +Essential: yes +Status: install ok installed +Priority: required +Section: shells +Installed-Size: 3612 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 4.1-2ubuntu3 +Replaces: bash-completion (<< 20060301-0), bash-doc (<= 2.05-1) +Depends: base-files (>= 2.1.12), debianutils (>= 2.15) +Pre-Depends: dash, libc6 (>= 2.11), libncurses5 (>= 5.6+20071006-3) +Recommends: bash-completion (>= 20060301-0) +Suggests: bash-doc +Conflicts: bash-completion (<< 20060301-0) +Conffiles: + /etc/skel/.bashrc 65c464307b8370db7fd43189f237dbd6 + /etc/skel/.profile ecb6d3479ac3823f1da7f314d871989b + /etc/skel/.bash_logout 22bfb8c1dd94b5f3813a2b25da67463f + /etc/bash.bashrc 856b64d15f052027a6807413e9035d3f +Description: The GNU Bourne Again SHell + Bash is an sh-compatible command language interpreter that executes + commands read from the standard input or from a file. Bash also + incorporates useful features from the Korn and C shells (ksh and csh). + . + Bash is ultimately intended to be a conformant implementation of the + IEEE POSIX Shell and Tools specification (IEEE Working Group 1003.2). + . + The Programmable Completion Code, by Ian Macdonald, is now found in + the bash-completion package. +Homepage: http://tiswww.case.edu/php/chet/bash/bashtop.html +Original-Maintainer: Matthias Klose <doko@debian.org> + +Package: make +Status: install ok installed +Priority: standard +Section: devel +Installed-Size: 1224 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: make-dfsg +Version: 3.81-7ubuntu1 +Suggests: make-doc +Description: An utility for Directing compilation. + GNU Make is an utility which controls the generation of executables and + other target files of a program from the program's source files. It + determines automatically which pieces of a large program need to be + (re)created, and issues the commands to (re)create them. Make is not + limited to programs and executable, it can be applied to any task + where a set of target files must be created based on a set of input + files, based on dependency and processing rules. Indeed, Make is a + general purpose dependency solver. +Original-Maintainer: Manoj Srivastava <srivasta@debian.org> +Homepage: http://www.gnu.org/software/make/ + +Package: util-linux +Essential: yes +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 2344 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 2.17.2-0ubuntu1 +Replaces: e2fsprogs (<= 1.41.8-1ubuntu1), fdisk, linux32, miscutils, schedutils, setterm, sparc-utils +Provides: linux32, schedutils +Depends: upstart-job, lsb-base (>= 3.0-6), tzdata (>= 2006c-2), dpkg (>= 1.15.4) | install-info +Pre-Depends: libblkid1 (>= 2.17), libc6 (>= 2.11), libncurses5 (>= 5.6+20071006-3), libselinux1 (>= 1.32), libslang2 (>= 2.0.7-1), libuuid1 (>= 2.16), zlib1g (>= 1:1.1.4) +Suggests: util-linux-locales, kbd | console-tools, dosfstools +Breaks: udev (<< 136-1) +Conflicts: console-tools (<< 1:0.2.3-21), fdisk, kbd (<< 1.05-3), linux32, schedutils, setterm +Conffiles: + /etc/init/hwclock.conf 132aa3db7e5a8cf55168e4866052208a + /etc/init/hwclock-save.conf 4a002046525e338fc23e4418602865c9 +Description: Miscellaneous system utilities + This package contains a number of important utilities, most of which + are oriented towards maintenance of your system. Some of the more + important utilities included in this package allow you to partition + your hard disk, view kernel messages, and create new filesystems. +Original-Maintainer: LaMont Jones <lamont@debian.org> + +Package: libxcursor1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 92 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libxcursor +Version: 1:1.1.10-1 +Depends: libc6 (>= 2.4), libx11-6, libxfixes3 (>= 1:4.0.1), libxrender1 +Description: X cursor management library + Xcursor is a simple library designed to help locate and load cursors for the + X Window System. Cursors can be loaded from files or memory and can exist in + several sizes; the library automatically picks the best size. When using + images loaded from files, Xcursor prefers to use the Render extension's + CreateCursor request for rendering cursors. Where the Render extension is + not supported, Xcursor maps the cursor image to a standard X cursor and uses + the core X protocol CreateCursor request. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: xfonts-utils +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 528 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1:7.5+2 +Replaces: fonttosfnt (<< 1.0.4), xutils (<< 1:1.0.1-1) +Depends: libc6 (>= 2.8), libfontenc1, libfreetype6 (>= 2.2.1), libxfont1 (>= 1:1.2.9), zlib1g (>= 1:1.1.4), x11-common, xfonts-encodings +Description: X Window System font utility programs + xfonts-utils provides a set of utility programs shipped with the X Window + System that are needed for font management. + . + The programs in this package include: + - bdftopcf, which converts BDF fonts to PCF fonts; + - bdftruncate and ucs2any, tools to generate fonts with various encodings + from ISO 10646-encoded fonts + - mkfontdir, a program to generate fonts.dir files; + - mkfontscale, a program to generate fonts.scale files; + - fonttosfnt, a program to wrap bitmap fonts in a sfnt (TrueType) wrapper. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libfontenc1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 88 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libfontenc +Version: 1:1.0.5-1 +Depends: libc6 (>= 2.7), zlib1g (>= 1:1.1.4) +Description: X11 font encoding library + libfontenc is a library which helps font libraries portably determine + and deal with different encodings of fonts. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libfontenc +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: cpio +Status: install ok installed +Priority: required +Section: utils +Installed-Size: 872 +Maintainer: Ubuntu Core Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 2.10-1ubuntu2 +Replaces: cpio-mt +Depends: libc6 (>= 2.6) +Conflicts: cpio-mt, mt-st (<< 0.6) +Description: GNU cpio -- a program to manage archives of files + GNU cpio is a tool for creating and extracting archives, or copying + files from one place to another. It handles a number of cpio formats + as well as reading and writing tar files. +Original-Maintainer: Clint Adams <schizo@debian.org> + +Package: libstdc++6 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 1268 +Maintainer: Ubuntu Core developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: gcc-4.4 +Version: 4.4.3-4ubuntu5 +Depends: gcc-4.4-base (= 4.4.3-4ubuntu5), libc6 (>= 2.4), libgcc1 +Conflicts: scim (<< 1.4.2-1) +Description: The GNU Standard C++ Library v3 + This package contains an additional runtime library for C++ programs + built with the GNU compiler. + . + libstdc++-v3 is a complete rewrite from the previous libstdc++-v2, which + was included up to g++-2.95. The first version of libstdc++-v3 appeared + in g++-3.0. +Homepage: http://gcc.gnu.org/ +Original-Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org> + +Package: x11-xfs-utils +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 132 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 7.4+1build2 +Replaces: fslsfonts, fstobdf, showfont, xbase-clients (<= 1:7.2.ds2-3), xfsinfo, xutils (<= 1:7.1.ds.3-1) +Depends: libc6 (>= 2.4), libfs6, libx11-6 (>= 0) +Pre-Depends: x11-common (>= 1:7.0.0) +Conflicts: fslsfonts, fstobdf, showfont, xfsinfo +Description: X font server utilities + x11-xfs-utils provides a set of utility programs useful on a system that uses + an X font server. + . + The programs in this package include: + - fslsfonts, a tool that lists fonts served by an X font server; + - fstobdf, a tool which retrieves a font in BDF format from an X font server; + - showfont, a font dumper for use with an X font server; + - xfsinfo, an X font server information utility. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: ca-certificates +Status: install ok installed +Priority: optional +Section: misc +Installed-Size: 736 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Version: 20090814 +Depends: openssl, debconf (>= 0.5) | debconf-2.0 +Enhances: libssl0.9.8, openssl +Description: Common CA certificates + This package includes PEM files of CA certificates to allow SSL-based + applications to check for the authenticity of SSL connections. + . + It includes, among others, certificate authorities used by the Debian + infrastructure and those shipped with Mozilla's browsers. + . + Please note that certificate authorities whose certificates are + included in this package are not in any way audited for + trustworthiness and RFC 3647 compliance, and that full responsibility + to assess them belongs to the local system administrator. +Original-Maintainer: Philipp Kern <pkern@debian.org> + +Package: vim-tiny +Status: install ok installed +Priority: important +Section: editors +Installed-Size: 840 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: vim +Version: 2:7.2.330-1ubuntu3 +Replaces: vim-common (<< 1:7.1.293-2) +Provides: editor +Depends: vim-common (= 2:7.2.330-1ubuntu3), libc6 (>= 2.11), libncurses5 (>= 5.6+20071006-3), libselinux1 (>= 1.32) +Suggests: indent +Conflicts: vim-common (<< 1:7.1.293-2), vim-runtime (<< 1:7.1-056+1) +Conffiles: + /etc/vim/vimrc.tiny 3b4112567ad92c78ccc16c670df381e9 +Description: Vi IMproved - enhanced vi editor - compact version + Vim is an almost compatible version of the UNIX editor Vi. + . + Many new features have been added: multi level undo, syntax + highlighting, command line history, on-line help, filename + completion, block operations, folding, Unicode support, etc. + . + This package contains a minimal version of vim compiled with no + GUI and a small subset of features in order to keep small the + package size. This package does not depend on the vim-runtime + package, but installing it you will get its additional benefits + (online documentation, plugins, ...). +Homepage: http://www.vim.org/ +Original-Maintainer: Debian Vim Maintainers <pkg-vim-maintainers@lists.alioth.debian.org> + +Package: xorg-docs-core +Status: install ok installed +Priority: optional +Section: doc +Installed-Size: 108 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Source: xorg-docs +Version: 1:1.5-1 +Replaces: xorg-docs (<< 1:1.4-5) +Suggests: xorg-docs +Description: Core documentation for the X.org X Window System + This package contains core documentation for the X.org X Window + System. This currently includes only a set of manpages which are + standard for the system. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: xserver-xorg-video-ati +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 320 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1:6.13.0-1ubuntu5 +Provides: xserver-xorg-video-6 +Depends: libc6 (>= 2.2.5), libpciaccess0 (>= 0), xserver-xorg-core (>= 2:1.6.99.900), xserver-xorg-video-r128, xserver-xorg-video-mach64, xserver-xorg-video-radeon +Description: X.Org X server -- AMD/ATI display driver wrapper + This package provides the 'ati' driver for the AMD/ATI Mach64, Rage128, + Radeon, FireGL, FireMV, FirePro and FireStream series. This driver is + actually a wrapper that loads one of the 'mach64', 'r128' or 'radeon' + sub-drivers depending on the hardware. + These sub-drivers are brought through package dependencies. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-ati driver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: xserver-xorg-video-siliconmotion +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 228 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1:1.7.3-1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-siliconmotion +Provides: xserver-xorg-video-6 +Depends: libc6 (>= 2.7), xserver-xorg-core (>= 2:1.6.99.900) +Conflicts: xserver-xorg-driver-siliconmotion +Description: X.Org X server -- SiliconMotion display driver + This package provides the driver for the SiliconMotion Lynx and Cougar family + of chipsets, commonly found in laptops. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-siliconmotion driver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: binutils +Status: install ok installed +Priority: optional +Section: devel +Installed-Size: 10176 +Maintainer: Ubuntu Core developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 2.20.1-3ubuntu5 +Replaces: binutils-gold (<< 2.20-5) +Provides: elf-binutils +Depends: libc6 (>= 2.11), zlib1g (>= 1:1.1.4) +Suggests: binutils-doc (>= 2.20.1-3ubuntu5) +Conflicts: elf-binutils, gas, modutils (<< 2.4.19-1) +Description: The GNU assembler, linker and binary utilities + The programs in this package are used to assemble, link and manipulate + binary and object files. They may be used in conjunction with a compiler + and various libraries to build programs. +Original-Maintainer: Matthias Klose <doko@debian.org> + +Package: libglib2.0-0 +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 2428 +Maintainer: Ubuntu Desktop Team <ubuntu-desktop@lists.ubuntu.com> +Architecture: amd64 +Source: glib2.0 +Version: 2.24.0-0ubuntu4 +Replaces: libglib2.0-dev (<< 2.23.2-2) +Depends: libc6 (>= 2.9), libpcre3 (>= 7.7), libselinux1 (>= 1.32), zlib1g (>= 1:1.1.4) +Recommends: libglib2.0-data, shared-mime-info +Conflicts: libpango1.0-0 (<< 1.11) +Description: The GLib library of C routines + GLib is a library containing many useful C routines for things such + as trees, hashes, lists, and strings. It is a useful general-purpose + C library used by projects such as GTK+, GIMP, and GNOME. + . + This package contains the shared libraries. +Homepage: http://www.gtk.org/ +Original-Maintainer: Loic Minier <lool@dooz.org> + +Package: libgomp1 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 96 +Maintainer: Ubuntu Core developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: gcc-4.4 +Version: 4.4.3-4ubuntu5 +Depends: gcc-4.4-base (= 4.4.3-4ubuntu5), libc6 (>= 2.6) +Description: GCC OpenMP (GOMP) support library + GOMP is an implementation of OpenMP for the C, C++, and Fortran 95 compilers + in the GNU Compiler Collection. +Homepage: http://gcc.gnu.org/ +Original-Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org> + +Package: xserver-xorg-video-tseng +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 136 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 1:1.2.3-1 +Replaces: xserver-xorg (<< 6.8.2-35), xserver-xorg-driver-tseng +Provides: xserver-xorg-video-6 +Depends: libc6 (>= 2.2.5), xserver-xorg-core (>= 2:1.6.99.900) +Conflicts: xserver-xorg-driver-tseng +Description: X.Org X server -- Tseng display driver + This package provides the driver for Tseng Labs cards. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This package is built from the X.org xf86-video-tseng driver module. +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: libtext-charwidth-perl +Status: install ok installed +Priority: required +Section: perl +Installed-Size: 96 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Version: 0.04-6 +Depends: libc6 (>= 2.2.5), perl-base (>= 5.10.0-24ubuntu4), perlapi-5.10.0 +Description: get display widths of characters on the terminal + This module permits perl software to get the display widths of characters + and strings on the terminal, using wcwidth() and wcswidth() from libc. + . + It provides mbwidth(), mbswidth(), and mblen(). +Original-Maintainer: Anibal Monsalve Salazar <anibal@debian.org> +Homepage: http://search.cpan.org/search?module=Text::CharWidth + +Package: libxt6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 468 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libxt +Version: 1:1.0.7-1 +Depends: libc6 (>= 2.7), libice6 (>= 1:1.0.0), libsm6, libx11-6 +Description: X11 toolkit intrinsics library + libXt provides the X Toolkit Intrinsics, an abstract widget library upon + which other toolkits are based. Xt is the basis for many toolkits, including + the Athena widgets (Xaw), and LessTif (a Motif implementation). + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libXt +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + +Package: readline-common +Status: install ok installed +Priority: important +Section: utils +Installed-Size: 132 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: all +Source: readline6 +Version: 6.1-1 +Replaces: libreadline-common, libreadline4 (<< 4.3-16), libreadline5 (<< 5.0-11) +Depends: dpkg (>= 1.15.4) | install-info +Conflicts: libreadline-common, libreadline5 (<< 5.0-11) +Description: GNU readline and history libraries, common files + The GNU readline library aids in the consistency of user interface + across discrete programs that need to provide a command line + interface. + . + The GNU history library provides a consistent user interface for + recalling lines of previously typed input. +Original-Maintainer: Matthias Klose <doko@debian.org> + +Package: gnupg-curl +Status: install ok installed +Priority: optional +Section: utils +Installed-Size: 156 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: gnupg +Version: 1.4.10-2ubuntu1 +Depends: libc6 (>= 2.4), libcurl3-gnutls (>= 7.16.2-1), libldap-2.4-2 (>= 2.4.7), gnupg +Description: GNU privacy guard - a free PGP replacement (cURL) + GnuPG is GNU's tool for secure communication and data storage. + It can be used to encrypt data and to create digital signatures. + It includes an advanced key management facility and is compliant + with the proposed OpenPGP Internet standard as described in RFC2440. + . + This package contains the keyserver helper tools built with libcurl, + which replace the ones in the gnupg package built with the "curl shim" + variant of gnupg. This package provides support for HKPS keyservers. + . + GnuPG does not use any patented algorithms. This means it cannot be + compatible with PGP2, because that uses IDEA (which is patented in + a number of countries). +Homepage: http://www.gnupg.org +Original-Maintainer: Debian GnuPG-Maintainers <pkg-gnupg-maint@lists.alioth.debian.org> + +Package: gcc-4.4-base +Status: install ok installed +Priority: required +Section: libs +Installed-Size: 172 +Maintainer: Ubuntu Core developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: gcc-4.4 +Version: 4.4.3-4ubuntu5 +Description: The GNU Compiler Collection (base package) + This package contains files common to all languages and libraries + contained in the GNU Compiler Collection (GCC). +Homepage: http://gcc.gnu.org/ +Original-Maintainer: Debian GCC Maintainers <debian-gcc@lists.debian.org> + +Package: libkrb5-3 +Status: install ok installed +Priority: standard +Section: libs +Installed-Size: 964 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: krb5 +Version: 1.8.1+dfsg-2 +Replaces: libkrb53 (<< 1.6.dfsg.4~beta1-7) +Depends: libc6 (>= 2.9), libcomerr2 (>= 1.34), libk5crypto3 (>= 1.8+dfsg), libkeyutils1, libkrb5support0 (= 1.8.1+dfsg-2) +Suggests: krb5-doc, krb5-user +Conflicts: libapache-mod-auth-kerb (<= 4.996-5.0-rc6-2), libapache2-mod-auth-kerb (<= 4.996-5.0-rc6-2), ssh-krb5 (<< 3.8.1p1-10) +Description: MIT Kerberos runtime libraries + Kerberos is a system for authenticating users and services on a network. + Kerberos is a trusted third-party service. That means that there is a + third party (the Kerberos server) that is trusted by all the entities on + the network (users and services, usually called "principals"). + . + This is the MIT reference implementation of Kerberos V5. + . + This package contains the runtime library for the main Kerberos v5 API + used by applications and Kerberos clients. +Original-Maintainer: Sam Hartman <hartmans@debian.org> +Homepage: http://web.mit.edu/kerberos/ + +Package: libxau6 +Status: install ok installed +Priority: optional +Section: libs +Installed-Size: 72 +Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com> +Architecture: amd64 +Source: libxau +Version: 1:1.0.5-1 +Depends: libc6 (>= 2.4) +Description: X11 authorisation library + This package provides the main interface to the X11 authorisation handling, + which controls authorisation for X connections, both client-side and + server-side. + . + More information about X.Org can be found at: + <URL:http://www.X.org> + <URL:http://xorg.freedesktop.org> + <URL:http://lists.freedesktop.org/mailman/listinfo/xorg> + . + This module can be found at + git://anongit.freedesktop.org/git/xorg/lib/libXau +Original-Maintainer: Debian X Strike Force <debian-x@lists.debian.org> + diff --git a/test/integration/status-xorg-break-providers b/test/integration/status-xorg-break-providers new file mode 100644 index 0000000..c637351 --- /dev/null +++ b/test/integration/status-xorg-break-providers @@ -0,0 +1,22 @@ +Package: xserver-xorg-core +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 4436 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Source: xorg-server +Version: 2:1.7.7-8 +Breaks: xserver-xorg-video-5 +Description: Xorg X server - core server + +Package: xserver-xorg-video-intel +Status: install ok installed +Priority: optional +Section: x11 +Installed-Size: 1268 +Maintainer: Debian X Strike Force <debian-x@lists.debian.org> +Architecture: i386 +Version: 2:2.13.0-2 +Provides: xserver-xorg-video-6 +Description: X.Org X server -- Intel i8xx, i9xx display driver diff --git a/test/integration/test-00-commands-have-help b/test/integration/test-00-commands-have-help new file mode 100755 index 0000000..f91238d --- /dev/null +++ b/test/integration/test-00-commands-have-help @@ -0,0 +1,105 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' + +# this test does double duty: The obvious is checking for --help and co, +# but it also checks if the binary can find all methods in the library. +# The later is quite handy for manual testing of non-abibreaking changes +export LD_BIND_NOW=1 +# german variant of klingon used for testing usage of non-existent l10n +export LC_ALL=tlh_DE.UTF-8 + +checkversionmessage() { + testsuccess grep '^apt .* (' ${1}-help.output +} + +checkhelpmessage() { + checkversionmessage "$1" + testsuccess grep '^Usage:' ${1}-help.output +} + +checkoptions() { + testsuccess $1 --help + cp -f rootdir/tmp/testsuccess.output ${1}-help.output + checkhelpmessage "$1" + + testsuccess $1 --version + cp -f rootdir/tmp/testsuccess.output ${1}-help.output + checkversionmessage "$1" +} + +for CMD in 'apt-cache' 'apt-cdrom' 'apt-config' \ + 'apt-extracttemplates' 'apt-get' 'apt-helper' \ + 'apt-mark' 'apt-sortpkgs' 'apt' 'apt-ftparchive'; do + cmd="$(echo "$CMD" | tr -d '-')" + msgtest 'Test for failure with no parameters calling' "$CMD" + if $cmd > ${cmd}-help.output 2>&1; then + echo + cat ${cmd}-help.output + msgfail 'zero exit' + else + msgpass + fi + checkhelpmessage "$cmd" + checkoptions "$cmd" +done + + +rred() { + runapt "${METHODSDIR}/rred" "$@" +} +for CMD in 'apt-dump-solver' 'apt-internal-solver' 'apt-internal-planner' 'rred'; do + checkoptions "$(echo "$CMD" | tr -d '-')" +done + +# in times of need, we all look for super cow to save the day +testsuccess aptget moo +testsuccess aptget moo -q=2 +testsuccess aptget moo moo +testsuccess aptget moo moo -q=2 +testsuccess aptget moo moo --color +testsuccess aptget moo moo moo +testsuccess aptget moo moo moo -q=2 +testsuccess aptget moo moo moo moo +testsuccess aptget moo moo moo moo -q=2 + +export SOURCE_DATE_EPOCH=moo +testwarningmsg 'W: Environment variable SOURCE_DATE_EPOCH was ignored as it has an invalid value: "moo"' apt moo +testmoo() { + export SOURCE_DATE_EPOCH="$(date -d "$1" +'%s')" + testsuccess aptget moo + cp rootdir/tmp/testsuccess.output moo.output + testsuccess grep "$2" moo.output + testsuccessequal "$2" apt moo -qqq + unset SOURCE_DATE_EPOCH +} +testmoo '@0' 'Have you mooed today?' +# the year 0 is too early for 32bit architectures +testmoo '2000-12-25' 'Happy package management day!' +testmoo '1930-02-18' "It's a Bird ... It's a Plane ... It's Super Cow!" +testmoo '1966-11-07' 'Whoever needs milk, bows to the animal.' +testmoo '1988-03-29' 'Have you mooed today?' +testmoo '1993-08-16' 'Three moos for Debian!' +testmoo '1998-04-01' 'Have you smashed some milk today?' +testmoo '@1484822790' 'Have you mooed today?' +testmoo '@1484822791' 'Have you mooed today?' +testmoo '@1484822792' 'Have you mooed today?' +testmoo '@1484822793' 'Have you mooed today?' + +# that also helps with reproducibility of output… +export COLUMNS=80 +testsuccess aptget moo +export COLUMNS=0 +testwarning aptget moo +export COLUMNS=80a +testwarning aptget moo +export COLUMNS=a80 +testwarning aptget moo +export COLUMNS= +testwarning aptget moo +unset COLUMNS diff --git a/test/integration/test-acquire-binary-all b/test/integration/test-acquire-binary-all new file mode 100755 index 0000000..379348e --- /dev/null +++ b/test/integration/test-acquire-binary-all @@ -0,0 +1,142 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +buildsimplenativepackage 'foo-1' 'all' '2' 'unstable' +buildsimplenativepackage 'foo-2' 'amd64' '2' 'unstable' +setupaptarchive --no-update + +cat >rootdir/etc/apt/apt.conf.d/get-contents <<EOF +Acquire::IndexTargets::deb::Contents { + MetaKey "\$(COMPONENT)/Contents-\$(ARCHITECTURE)"; + ShortDescription "Contents"; + Description "\$(RELEASE)/\$(COMPONENT) \$(ARCHITECTURE) Contents"; + KeepCompressed "true"; +}; +EOF +cp -a rootdir/etc/apt/sources.list.d rootdir/etc/apt/sources.list.d.bak + +msgmsg 'Releasefile with Architectures field and all included' +testsuccess apt update +cp rootdir/tmp/testsuccess.output aptupdate.output +testsuccess grep '^Get.* all Packages ' aptupdate.output +testsuccess grep '^Get.* all Contents ' aptupdate.output +testequal 'foo-1 +foo-2' aptcache pkgnames foo- + +listcurrentlistsdirectory > lists.before +testsuccess grep '_binary-all_Packages' lists.before +testsuccess grep '_Contents-all\.' lists.before + +configarchitecture 'amd64' 'i386' +testsuccessequal "All packages are up to date. +N: Skipping acquire of configured file 'main/binary-i386/Packages' as repository 'file:$(readlink -f ./aptarchive) unstable InRelease' doesn't support architecture 'i386'" apt update -o quiet::NoProgress=1 +testfileequal lists.before "$(listcurrentlistsdirectory)" +testequal 'foo-1 +foo-2' aptcache pkgnames foo- + +rm -rf rootdir/var/lib/apt/lists +msgmsg 'Releasefile with Architectures field and all included, but arch-=all' +sed -i 's#^deb\(-src\)\? #deb\1 [arch-=all] #' rootdir/etc/apt/sources.list.d/* +testsuccesswithnotice apt update +cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/ +cp rootdir/tmp/testsuccess.output aptupdate.output +testfailure grep '^Get.* all Packages ' aptupdate.output +testfailure grep '^Get.* all Contents ' aptupdate.output +testequal 'foo-2' aptcache pkgnames foo- + +rm -rf rootdir/var/lib/apt/lists +msgmsg 'Releasefile has all, but forbids its usage' +configarchitecture 'amd64' +sed -i '/^Architectures: / a\ +No-Support-for-Architecture-all: Packages' $(find ./aptarchive -name 'Release') +signreleasefiles +testsuccess apt update +cp rootdir/tmp/testsuccess.output aptupdate.output +testfailure grep '^Get.* all Packages ' aptupdate.output +testsuccess grep '^Get.* all Contents ' aptupdate.output +sed -i '/^No-Support-for-Architecture-all: / d' $(find ./aptarchive -name 'Release') + +rm -rf rootdir/var/lib/apt/lists +msgmsg 'Releasefile has all, forbids its usage, but it is forced with arch=all' +sed -i 's#^deb\(-src\)\? #deb\1 [arch=all] #' rootdir/etc/apt/sources.list.d/* +testsuccess apt update +cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/ +cp rootdir/tmp/testsuccess.output aptupdate.output +testsuccess grep '^Get.* all Packages ' aptupdate.output +testsuccess grep '^Get.* all Contents ' aptupdate.output +testequal 'foo-1' aptcache pkgnames foo- + +rm -rf rootdir/var/lib/apt/lists +msgmsg 'Releasefile with Architectures field but without all' +configarchitecture 'amd64' 'i386' +getarchitecturesfromreleasefile() { echo "$(getarchitectures)"; } +generatereleasefiles +signreleasefiles +testsuccessequal 'All packages are up to date.' apt update -o quiet::NoProgress=1 +cp rootdir/tmp/testsuccess.output aptupdate.output +testfailure grep '^Get.* all Packages ' aptupdate.output +testfailure grep '^Get.* all Contents ' aptupdate.output +testequal 'foo-2' aptcache pkgnames foo- + +configarchitecture 'amd64' +testsuccess apt update +cp rootdir/tmp/testsuccess.output aptupdate.output +testfailure grep '^Get.* all Packages ' aptupdate.output +testfailure grep '^Get.* all Contents ' aptupdate.output +testequal 'foo-2' aptcache pkgnames foo- + +rm -rf rootdir/var/lib/apt/lists +msgmsg 'Releasefile with Architectures field but without all forced with arch+=all' +sed -i 's#^deb\(-src\)\? #deb\1 [arch+=all] #' rootdir/etc/apt/sources.list.d/* +testsuccess apt update +cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/ +cp rootdir/tmp/testsuccess.output aptupdate.output +testsuccess grep '^Get.* all Packages ' aptupdate.output +testsuccess grep '^Get.* all Contents ' aptupdate.output +testequal 'foo-1 +foo-2' aptcache pkgnames foo- + +rm -rf rootdir/var/lib/apt/lists +msgmsg 'Releasefile without Architectures field' +getarchitecturesfromreleasefile() { echo -n ''; } +generatereleasefiles +signreleasefiles +testfailure grep '^Architectures: ' $(find ./aptarchive -name 'Release') +testsuccess apt update +cp rootdir/tmp/testsuccess.output aptupdate.output +testsuccess grep '^Get.* all Packages ' aptupdate.output +testsuccess grep '^Get.* all Contents ' aptupdate.output +testequal 'foo-1 +foo-2' aptcache pkgnames foo- + +# apt doesn't know supported archs, so missing a configured arch is a problem +configarchitecture 'amd64' 'i386' +testwarningmsg "W: Skipping acquire of configured file 'main/binary-i386/Packages' as repository 'file:$(readlink -f ./aptarchive) unstable InRelease' does not seem to provide it (sources.list entry misspelt?)" apt update +testequal 'foo-1 +foo-2' aptcache pkgnames foo- + +rm -rf rootdir/var/lib/apt/lists +msgmsg 'Releasefile no Architectures all, but forbids its usage' +configarchitecture 'amd64' +sed -i '/^Date: / a\ +No-Support-for-Architecture-all: Packages' $(find ./aptarchive -name 'Release') +signreleasefiles +testsuccess apt update +cp rootdir/tmp/testsuccess.output aptupdate.output +testfailure grep '^Get.* all Packages ' aptupdate.output +testsuccess grep '^Get.* all Contents ' aptupdate.output +sed -i '/^No-Support-for-Architecture-all: / d' $(find ./aptarchive -name 'Release') + +msgmsg 'No Releasefile' +rm -rf rootdir/var/lib/apt/lists +find aptarchive -name '*Release*' -delete +configarchitecture 'amd64' +testfailure apt update +testwarning apt update --allow-insecure-repositories +testequal 'foo-1 +foo-2' aptcache pkgnames foo- diff --git a/test/integration/test-acquire-same-file-multiple-times b/test/integration/test-acquire-same-file-multiple-times new file mode 100755 index 0000000..fc82412 --- /dev/null +++ b/test/integration/test-acquire-same-file-multiple-times @@ -0,0 +1,90 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +TESTFILE="$TESTDIR/framework" +cp "$TESTFILE" aptarchive/foo +APTARCHIVE="$(readlink -f ./aptarchive)" + +filedown() { + msgtest 'Downloading the same URI twice over file' "$1" + testsuccess --nomsg apthelper download-file "file://$APTARCHIVE/foo" './downloaded/foo1' '' \ + "file://$APTARCHIVE/foo" './downloaded/foo2' '' -o Debug::pkgAcquire::Worker=1 + cp rootdir/tmp/testsuccess.output download.log + testsuccess cmp "$TESTFILE" ./downloaded/foo1 + testsuccess cmp ./downloaded/foo1 ./downloaded/foo2 + testequal '1' grep -c '200%20URI%20Start' ./download.log + testequal '1' grep -c '201%20URI%20Done' ./download.log + rm -f ./downloaded/foo1 ./downloaded/foo2 +} + +testrun() { + $1 'no partial' + cp "$TESTFILE" ./downloaded/foo1 + $1 'complete partial 1' + cp "$TESTFILE" ./downloaded/foo2 + $1 'complete partial 2' + cp "$TESTFILE" ./downloaded/foo1 + cp "$TESTFILE" ./downloaded/foo2 + $1 'complete partial 1+2' + dd if="$TESTFILE" of=./downloaded/foo1 bs=500 count=1 2>/dev/null + $1 'partial partial 1' + dd if="$TESTFILE" of=./downloaded/foo2 bs=500 count=1 2>/dev/null + $1 'partial partial 2' + dd if="$TESTFILE" of=./downloaded/foo1 bs=500 count=1 2>/dev/null + dd if="$TESTFILE" of=./downloaded/foo2 bs=500 count=1 2>/dev/null + $1 'partial partial 1+2' +} +testrun 'filedown' + +changetowebserver -o aptwebserver::redirect::replace::/foo2=/foo + +httpdown() { + msgtest 'Downloading the same URI to different files' 'twice over http' + testsuccess --nomsg apthelper download-file "http://localhost:${APTHTTPPORT}/foo" "./downloaded/foo1" '' \ + "http://localhost:${APTHTTPPORT}/foo" './downloaded/foo2' '' -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::http=1 + cp rootdir/tmp/testsuccess.output download.log + testsuccess cmp "$TESTDIR/framework" ./downloaded/foo1 + testsuccess cmp ./downloaded/foo1 ./downloaded/foo2 + testequal '1' grep -c '200%20URI%20Start' ./download.log + testequal '1' grep -c '201%20URI%20Done' ./download.log + rm -f ./downloaded/foo1 ./downloaded/foo2 +} +testrun 'httpdown' + +httpredirectdown() { + msgtest 'Redirect leads' 'first URI to the second URI' + for i in 1 2 3 4 5 6 7 8 9 10; do + rm -f ./downloaded/foo1 ./downloaded/foo2 + testsuccess --nomsg apthelper download-file "http://localhost:${APTHTTPPORT}/foo2" "./downloaded/foo1" '' \ + "http://localhost:${APTHTTPPORT}/foo" './downloaded/foo2' '' -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::http=1 + cp rootdir/tmp/testsuccess.output download.log + testsuccess cmp "$TESTDIR/framework" ./downloaded/foo1 + testsuccess cmp ./downloaded/foo1 ./downloaded/foo2 + + if grep -q '103%20Redirect' ./download.log; then + break + fi + done + testequal '1' grep -c '200%20URI%20Start' ./download.log + testequal '1' grep -c '103%20Redirect' ./download.log + testequal '1' grep -c '201%20URI%20Done' ./download.log + rm -f ./downloaded/foo1 ./downloaded/foo2 +} +testrun 'httpredirectdown' + +httpsamedown() { + msgtest 'Downloading two files via the same URI to' 'the same file' + testsuccess --nomsg apthelper download-file "http://localhost:${APTHTTPPORT}/foo" "./downloaded/foo1" '' \ + "http://localhost:${APTHTTPPORT}/foo" './downloaded/foo1' '' -o Debug::pkgAcquire::Worker=1 + cp rootdir/tmp/testsuccess.output download.log + testsuccess cmp "$TESTDIR/framework" ./downloaded/foo1 + testequal '1' grep -c '200%20URI%20Start' ./download.log + testequal '1' grep -c '201%20URI%20Done' ./download.log + rm -f ./downloaded/foo1 +} +testrun 'httpsamedown' diff --git a/test/integration/test-allow b/test/integration/test-allow new file mode 100755 index 0000000..2cc57bc --- /dev/null +++ b/test/integration/test-allow @@ -0,0 +1,98 @@ +#!/bin/sh +# +# Test for --allow-remove-essential and friends replacing --force-yes +# +set -e + +TESTDIR="$(readlink -f "$(dirname $0)")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertpackage 'unstable' 'downgrade' 'all' '1' +insertinstalledpackage 'downgrade' 'all' '2' + +insertpackage 'unstable' 'hold' 'all' '2' +insertinstalledpackage 'hold' 'all' '1' + +insertinstalledpackage 'essential' 'all' '1' 'Essential: yes' + +setupaptarchive + +testsuccess aptmark hold hold + +# Test --allow-remove--essential + +testfailureequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + essential +WARNING: The following essential packages will be removed. +This should NOT be done unless you know exactly what you are doing! + essential +0 upgraded, 0 newly installed, 1 to remove and 1 not upgraded. +E: Essential packages were removed and -y was used without --allow-remove-essential.' aptget remove essential -y -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + essential +WARNING: The following essential packages will be removed. +This should NOT be done unless you know exactly what you are doing! + essential +0 upgraded, 0 newly installed, 1 to remove and 1 not upgraded. +Remv essential [1]' aptget remove essential -y --allow-remove-essential -s + +# Test --allow-change-held-packages (should not influence dist-upgrade, but an install) + +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages have been kept back: + hold +0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.' aptget dist-upgrade --allow-change-held-packages -s + +testfailureequal 'Reading package lists... +Building dependency tree... +The following held packages will be changed: + hold +The following packages will be upgraded: + hold +1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +E: Held packages were changed and -y was used without --allow-change-held-packages.' aptget install hold -y -s + +testfailureequal 'Reading package lists... +Building dependency tree... +The following held packages will be changed: + hold +The following packages will be upgraded: + hold +1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +E: Held packages were changed and -y was used without --allow-change-held-packages.' aptget install hold -y -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following held packages will be changed: + hold +The following packages will be upgraded: + hold +1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Inst hold [1] (2 unstable [all]) +Conf hold (2 unstable [all])' aptget install hold -y -s --allow-change-held-packages + +# Test --allow-downgrades + +testfailureequal 'Reading package lists... +Building dependency tree... +The following packages will be DOWNGRADED: + downgrade +0 upgraded, 0 newly installed, 1 downgraded, 0 to remove and 1 not upgraded. +E: Packages were downgraded and -y was used without --allow-downgrades.' aptget install downgrade=1 -y -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following packages will be DOWNGRADED: + downgrade +0 upgraded, 0 newly installed, 1 downgraded, 0 to remove and 1 not upgraded. +Inst downgrade [2] (1 unstable [all]) +Conf downgrade (1 unstable [all])' aptget install downgrade=1 --allow-downgrades -y -s diff --git a/test/integration/test-allow-scores-for-all-dependency-types b/test/integration/test-allow-scores-for-all-dependency-types new file mode 100755 index 0000000..999efc0 --- /dev/null +++ b/test/integration/test-allow-scores-for-all-dependency-types @@ -0,0 +1,154 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertpackage 'unversioned' 'libdb-dev' 'amd64' '5.3.0' 'Depends: libdb5.3-dev +Conflicts: libdb5.1-dev' +insertpackage 'unversioned' 'libdb5.1-dev' 'amd64' '5.1.29-7' +insertpackage 'unversioned' 'libdb5.3-dev' 'amd64' '5.3.28-3' 'Conflicts: libdb5.1-dev' + +insertpackage 'unversioned' 'foo' 'amd64' '1' +insertpackage 'unversioned' 'bar' 'amd64' '1' +insertpackage 'unversioned' 'foo' 'amd64' '2' 'Conflicts: bar' +insertpackage 'unversioned' 'bar' 'amd64' '2' 'Conflicts: foo' +insertpackage 'unversioned' 'baz' 'amd64' '2' 'Depends: bar | foo' + +insertpackage 'versioned' 'libdb-dev' 'amd64' '5.3.0' 'Depends: libdb5.3-dev +Conflicts: libdb5.1-dev (<< 5.2)' +insertpackage 'versioned' 'libdb5.3-dev' 'amd64' '5.3.28-3' 'Conflicts: libdb5.1-dev (<< 5.2)' + +insertpackage 'versioned' 'foo' 'amd64' '2' 'Conflicts: bar (<= 2)' +insertpackage 'versioned' 'bar' 'amd64' '2' 'Conflicts: foo (<= 2)' +insertpackage 'versioned' 'baz' 'amd64' '2' 'Depends: bar (>= 2) | foo (>= 2)' + +insertpackage 'multipleno' 'foo' 'amd64' '2.1' 'Conflicts: bar (<= 3)' +insertpackage 'multipleno' 'bar' 'amd64' '2.1' 'Conflicts: foo (<= 3), foo (<= 1)' + +insertpackage 'multipleyes' 'foo' 'amd64' '2.2' 'Conflicts: bar (<= 3)' +# having foo multiple times as conflict is a non-advisable hack in general +insertpackage 'multipleyes' 'bar' 'amd64' '2.2' 'Conflicts: foo (<= 3), foo (<= 3)' + +#774924 - slightly simplified +insertpackage 'jessie' 'login' 'amd64' '2' 'Pre-Depends: libaudit1 (>= 0)' +insertpackage 'jessie' 'libaudit1' 'amd64' '2' 'Depends: libaudit-common (>= 0)' +insertpackage 'jessie' 'libaudit-common' 'amd64' '2' 'Breaks: libaudit0, libaudit1 (<< 2)' + +setupaptarchive + +insertinstalledpackage 'libdb-dev' 'amd64' '5.1.7' 'Depends: libdb5.1-dev' +insertinstalledpackage 'libdb5.1-dev' 'amd64' '5.1.29-7' +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be REMOVED: + libdb5.1-dev +The following NEW packages will be installed: + libdb5.3-dev +The following packages will be upgraded: + libdb-dev +1 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Remv libdb5.1-dev [5.1.29-7] [libdb-dev:amd64 ] +Inst libdb-dev [5.1.7] (5.3.0 unversioned [amd64]) [] +Inst libdb5.3-dev (5.3.28-3 unversioned [amd64]) +Conf libdb-dev (5.3.0 unversioned [amd64]) +Conf libdb5.3-dev (5.3.28-3 unversioned [amd64])' aptget dist-upgrade -st unversioned +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be REMOVED: + libdb5.1-dev +The following NEW packages will be installed: + libdb5.3-dev +The following packages will be upgraded: + libdb-dev +1 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Remv libdb5.1-dev [5.1.29-7] [libdb-dev:amd64 ] +Inst libdb-dev [5.1.7] (5.3.0 versioned [amd64]) [] +Inst libdb5.3-dev (5.3.28-3 versioned [amd64]) +Conf libdb-dev (5.3.0 versioned [amd64]) +Conf libdb5.3-dev (5.3.28-3 versioned [amd64])' aptget dist-upgrade -st versioned + +rm -f rootdir/var/lib/dpkg/status +insertinstalledpackage 'foo' 'amd64' '1' +insertinstalledpackage 'bar' 'amd64' '1' +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages have been kept back: + bar foo +0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.' aptget dist-upgrade -st unversioned +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages have been kept back: + bar foo +0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.' aptget dist-upgrade -st versioned +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages have been kept back: + bar foo +0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.' aptget dist-upgrade -st multipleno +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be REMOVED: + foo +The following packages will be upgraded: + bar +1 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. +Remv foo [1] +Inst bar [1] (2.2 multipleyes [amd64]) +Conf bar (2.2 multipleyes [amd64])' aptget dist-upgrade -st multipleyes + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + baz +0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded. +Inst baz (2 unversioned [amd64]) +Conf baz (2 unversioned [amd64])' aptget install baz -st unversioned +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + bar +The following packages will be REMOVED: + foo +The following NEW packages will be installed: + baz +The following packages will be upgraded: + bar +1 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Remv foo [1] +Inst bar [1] (2 versioned [amd64]) +Inst baz (2 versioned [amd64]) +Conf bar (2 versioned [amd64]) +Conf baz (2 versioned [amd64])' aptget install baz -st versioned + +# recreating the exact situation is hard, so we pull tricks to get the score +rm -f rootdir/var/lib/dpkg/status +insertinstalledpackage 'gdm3' 'amd64' '1' 'Depends: libaudit0, libaudit0' +insertinstalledpackage 'login' 'amd64' '1' 'Essential: yes' +insertinstalledpackage 'libaudit0' 'amd64' '1' +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be REMOVED: + gdm3 libaudit0 +The following NEW packages will be installed: + libaudit-common libaudit1 +The following packages will be upgraded: + login +1 upgraded, 2 newly installed, 2 to remove and 0 not upgraded. +Remv gdm3 [1] +Remv libaudit0 [1] +Inst libaudit-common (2 jessie [amd64]) +Conf libaudit-common (2 jessie [amd64]) +Inst libaudit1 (2 jessie [amd64]) +Conf libaudit1 (2 jessie [amd64]) +Inst login [1] (2 jessie [amd64]) +Conf login (2 jessie [amd64])' aptget dist-upgrade -st jessie diff --git a/test/integration/test-apt-acquire-additional-files b/test/integration/test-apt-acquire-additional-files new file mode 100755 index 0000000..928c703 --- /dev/null +++ b/test/integration/test-apt-acquire-additional-files @@ -0,0 +1,246 @@ +#!/bin/sh +set -e +# Cause umask failures +umask 000 + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' + +# note that in --print-uri we talk about .xz because that is the default. +# This doesn't mean it is actually attempt to download it. +configcompression '.' 'gz' +LOWCOSTEXT='lz4' + +buildsimplenativepackage 'foo' 'amd64' '1' 'unstable' +buildsimplenativepackage 'bar' 'all' '1' 'unstable' + +setupaptarchive --no-update +changetowebserver + +testequal "'http://localhost:${APTHTTPPORT}/dists/unstable/InRelease' localhost:${APTHTTPPORT}_dists_unstable_InRelease 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/source/Sources.xz' localhost:${APTHTTPPORT}_dists_unstable_main_source_Sources 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/binary-amd64/Packages.xz' localhost:${APTHTTPPORT}_dists_unstable_main_binary-amd64_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/binary-all/Packages.xz' localhost:${APTHTTPPORT}_dists_unstable_main_binary-all_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/i18n/Translation-en.xz' localhost:${APTHTTPPORT}_dists_unstable_main_i18n_Translation-en 0 " aptget update --print-uris + +testsuccessequal "Get:1 http://localhost:${APTHTTPPORT} unstable InRelease [$(stat -c%s aptarchive/dists/unstable/InRelease) B] +Get:2 http://localhost:${APTHTTPPORT} unstable/main Sources [$(stat -c%s aptarchive/dists/unstable/main/source/Sources.gz) B] +Get:3 http://localhost:${APTHTTPPORT} unstable/main amd64 Packages [$(stat -c%s aptarchive/dists/unstable/main/binary-amd64/Packages.gz) B] +Get:4 http://localhost:${APTHTTPPORT} unstable/main all Packages [$(stat -c%s aptarchive/dists/unstable/main/binary-all/Packages.gz) B] +Get:5 http://localhost:${APTHTTPPORT} unstable/main Translation-en [$(stat -c%s aptarchive/dists/unstable/main/i18n/Translation-en.gz) B] +Reading package lists..." aptget update + +testempty find rootdir/var/lib/apt/lists -name '*Contents*' + +msgmsg "Normal Contents file" +cat > rootdir/etc/apt/apt.conf.d/content-target.conf <<EOF +Acquire::IndexTargets::deb::Contents { + MetaKey "\$(COMPONENT)/Contents-\$(ARCHITECTURE)"; + ShortDescription "Contents"; + Description "\$(RELEASE)/\$(COMPONENT) \$(ARCHITECTURE) Contents"; +}; +EOF + +readfile() { + while [ -n "$1" ]; do + readlink -f "./rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_${1}" + shift + done +} + +testequal "$(readfile Contents-amd64 Contents-all)" aptget indextargets --no-release-info --format '$(FILENAME)' 'Identifier: Contents' +testempty aptget indextargets --format '$(FILENAME)' 'Identifier: Contents' +# lets fake the existence of a compressed Contents file +touch "./rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-amd64.gz" +chmod 644 "./rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-amd64.gz" +testequal "$(readfile Contents-amd64.gz)" aptget indextargets --format '$(FILENAME)' 'Identifier: Contents' +touch "./rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-all.gz" +chmod 644 "./rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-all.gz" +testequal "$(readfile Contents-amd64.gz Contents-all.gz)" aptget indextargets --format '$(FILENAME)' 'Identifier: Contents' + +testequal "'http://localhost:${APTHTTPPORT}/dists/unstable/InRelease' localhost:${APTHTTPPORT}_dists_unstable_InRelease 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/source/Sources.xz' localhost:${APTHTTPPORT}_dists_unstable_main_source_Sources 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/binary-amd64/Packages.xz' localhost:${APTHTTPPORT}_dists_unstable_main_binary-amd64_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/binary-all/Packages.xz' localhost:${APTHTTPPORT}_dists_unstable_main_binary-all_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/i18n/Translation-en.xz' localhost:${APTHTTPPORT}_dists_unstable_main_i18n_Translation-en 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/Contents-amd64.xz' localhost:${APTHTTPPORT}_dists_unstable_main_Contents-amd64 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/Contents-all.xz' localhost:${APTHTTPPORT}_dists_unstable_main_Contents-all 0 " aptget update --print-uris + +# apt believes the Contents files we faked are good +testsuccessequal "Hit:1 http://localhost:${APTHTTPPORT} unstable InRelease +Reading package lists..." aptget update +testequal "$(readfile Contents-amd64.gz Contents-all.gz)" aptget indextargets --format '$(FILENAME)' 'Identifier: Contents' + +find rootdir/var/lib/apt/lists -name '*Contents*' -delete + +testequal "'http://localhost:${APTHTTPPORT}/dists/unstable/InRelease' localhost:${APTHTTPPORT}_dists_unstable_InRelease 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/source/Sources.xz' localhost:${APTHTTPPORT}_dists_unstable_main_source_Sources 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/binary-amd64/Packages.xz' localhost:${APTHTTPPORT}_dists_unstable_main_binary-amd64_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/binary-all/Packages.xz' localhost:${APTHTTPPORT}_dists_unstable_main_binary-all_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/i18n/Translation-en.xz' localhost:${APTHTTPPORT}_dists_unstable_main_i18n_Translation-en 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/Contents-amd64.xz' localhost:${APTHTTPPORT}_dists_unstable_main_Contents-amd64 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/Contents-all.xz' localhost:${APTHTTPPORT}_dists_unstable_main_Contents-all 0 " aptget update --print-uris + +testsuccessequal "Hit:1 http://localhost:${APTHTTPPORT} unstable InRelease +Get:2 http://localhost:${APTHTTPPORT} unstable/main amd64 Contents [$(stat -c%s aptarchive/dists/unstable/main/Contents-amd64.gz) B] +Get:3 http://localhost:${APTHTTPPORT} unstable/main all Contents [$(stat -c%s aptarchive/dists/unstable/main/Contents-all.gz) B] +Reading package lists..." aptget update + +testequal "rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-amd64" find rootdir/var/lib/apt/lists -name '*Contents-amd64*' +testequal "rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-all" find rootdir/var/lib/apt/lists -name '*Contents-all*' +testequal "$(readfile Contents-amd64 Contents-all)" aptget indextargets --format '$(FILENAME)' 'Identifier: Contents' +testsuccess cmp "rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-amd64" 'aptarchive/dists/unstable/main/Contents-amd64' +testsuccess cmp "rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-all" 'aptarchive/dists/unstable/main/Contents-all' + +rm ./rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-amd64 \ + ./rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-all +testempty aptget indextargets --format '$(FILENAME)' 'Identifier: Contents' + +# if we asked for keeping it compressed, keep it +msgmsg "Normal Contents file with KeepCompressed" +echo 'Acquire::IndexTargets::deb::Contents::KeepCompressed "true";' >> rootdir/etc/apt/apt.conf.d/content-target.conf +testsuccessequal "Hit:1 http://localhost:${APTHTTPPORT} unstable InRelease +Get:2 http://localhost:${APTHTTPPORT} unstable/main amd64 Contents [$(stat -c%s aptarchive/dists/unstable/main/Contents-amd64.gz) B] +Get:3 http://localhost:${APTHTTPPORT} unstable/main all Contents [$(stat -c%s aptarchive/dists/unstable/main/Contents-all.gz) B] +Reading package lists..." aptget update + +testequal "rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-amd64.$LOWCOSTEXT" find rootdir/var/lib/apt/lists -name '*Contents-amd64*' +testequal "rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-all.$LOWCOSTEXT" find rootdir/var/lib/apt/lists -name '*Contents-all*' +testequal "$(readfile Contents-amd64.$LOWCOSTEXT Contents-all.$LOWCOSTEXT)" aptget indextargets --format '$(FILENAME)' 'Identifier: Contents' +testequal "$(apthelper cat-file rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-amd64.$LOWCOSTEXT)" apthelper cat-file 'aptarchive/dists/unstable/main/Contents-amd64.gz' +testequal "$(apthelper cat-file rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-all.$LOWCOSTEXT)" apthelper cat-file 'aptarchive/dists/unstable/main/Contents-all.gz' + +rm ./rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-amd64.$LOWCOSTEXT +rm ./rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-all.$LOWCOSTEXT +testempty aptget indextargets --format '$(FILENAME)' 'Identifier: Contents' + +msgmsg "Compressed Contents file" +# and no automatic uncompress based on the name please, +# only if we downloaded a compressed file, but target was uncompressed +cat > rootdir/etc/apt/apt.conf.d/content-target.conf <<EOF +Acquire::IndexTargets::deb::Contents { + MetaKey "\$(COMPONENT)/Contents-\$(ARCHITECTURE).gz"; + ShortDescription "Contents.gz"; + Description "\$(RELEASE)/\$(COMPONENT) \$(ARCHITECTURE) Contents.gz"; +}; +EOF + +runthistest() { + # the last lines are utter bogus of course, but how should apt know… + testequal "'http://localhost:${APTHTTPPORT}/dists/unstable/InRelease' localhost:${APTHTTPPORT}_dists_unstable_InRelease 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/source/Sources.xz' localhost:${APTHTTPPORT}_dists_unstable_main_source_Sources 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/binary-amd64/Packages.xz' localhost:${APTHTTPPORT}_dists_unstable_main_binary-amd64_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/binary-all/Packages.xz' localhost:${APTHTTPPORT}_dists_unstable_main_binary-all_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/i18n/Translation-en.xz' localhost:${APTHTTPPORT}_dists_unstable_main_i18n_Translation-en 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/Contents-amd64.gz.xz' localhost:${APTHTTPPORT}_dists_unstable_main_Contents-amd64.gz 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/Contents-all.gz.xz' localhost:${APTHTTPPORT}_dists_unstable_main_Contents-all.gz 0 " aptget update --print-uris + + testsuccessequal "Hit:1 http://localhost:${APTHTTPPORT} unstable InRelease +Get:2 http://localhost:${APTHTTPPORT} unstable/main amd64 Contents.gz [$(stat -c%s aptarchive/dists/unstable/main/Contents-amd64.gz) B] +Get:3 http://localhost:${APTHTTPPORT} unstable/main all Contents.gz [$(stat -c%s aptarchive/dists/unstable/main/Contents-all.gz) B] +Reading package lists..." aptget update + + testequal "rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-amd64.gz" find rootdir/var/lib/apt/lists -name '*Contents-amd64*' + testequal "rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-all.gz" find rootdir/var/lib/apt/lists -name '*Contents-all*' + testequal "$(readfile Contents-amd64.gz Contents-all.gz)" aptget indextargets --format '$(FILENAME)' 'Identifier: Contents' + testsuccess cmp "rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-amd64.gz" 'aptarchive/dists/unstable/main/Contents-amd64.gz' + testsuccess cmp "rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-all.gz" 'aptarchive/dists/unstable/main/Contents-all.gz' +} +runthistest + +msgmsg "Compressed Contents file from native architecture" +echo 'Acquire::IndexTargets::deb::Contents::MetaKey "$(COMPONENT)/Contents-$(NATIVE_ARCHITECTURE).gz";' >> rootdir/etc/apt/apt.conf.d/content-target.conf +rm ./rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-amd64.gz +rm ./rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-all.gz +testempty aptget indextargets --format '$(FILENAME)' 'Identifier: Contents' +runthistest + +msgmsg "Contents with 3 MetaKeys, first match" +rm ./rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-amd64.gz +rm ./rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-all.gz +testempty aptget indextargets --format '$(FILENAME)' 'Identifier: Contents' +cat > rootdir/etc/apt/apt.conf.d/content-target.conf <<EOF +Acquire::IndexTargets::deb::Contents3 { + MetaKey "main/Contents-all"; + ShortDescription "Contents3"; + Description "\$(RELEASE) all Contents3"; + Fallback-Of "Contents2"; + Identifier "Contents"; +}; +Acquire::IndexTargets::deb::Contents { + MetaKey "\$(COMPONENT)/Contents-amd64"; + ShortDescription "Contents"; + Description "\$(RELEASE)/\$(COMPONENT) amd64 Contents"; +}; +Acquire::IndexTargets::deb::Contents2 { + MetaKey "Contents-all"; + ShortDescription "Contents2"; + Description "\$(RELEASE) all Contents2"; + Fallback-Of "Contents"; + Identifier "Contents"; +}; +EOF +testequal "'http://localhost:${APTHTTPPORT}/dists/unstable/InRelease' localhost:${APTHTTPPORT}_dists_unstable_InRelease 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/source/Sources.xz' localhost:${APTHTTPPORT}_dists_unstable_main_source_Sources 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/binary-amd64/Packages.xz' localhost:${APTHTTPPORT}_dists_unstable_main_binary-amd64_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/binary-all/Packages.xz' localhost:${APTHTTPPORT}_dists_unstable_main_binary-all_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/i18n/Translation-en.xz' localhost:${APTHTTPPORT}_dists_unstable_main_i18n_Translation-en 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/Contents-amd64.xz' localhost:${APTHTTPPORT}_dists_unstable_main_Contents-amd64 0 " aptget update --print-uris +testsuccessequal "Hit:1 http://localhost:${APTHTTPPORT} unstable InRelease +Get:2 http://localhost:${APTHTTPPORT} unstable/main amd64 Contents [$(stat -c%s aptarchive/dists/unstable/main/Contents-amd64.gz) B] +Reading package lists..." aptget update +testequal "rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-amd64" find rootdir/var/lib/apt/lists -name '*Contents*' +testequal "$(readfile Contents-amd64)" aptget indextargets --format '$(FILENAME)' 'Identifier: Contents' +testsuccess cmp "rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-amd64" 'aptarchive/dists/unstable/main/Contents-amd64' + +msgmsg "Contents with 3 MetaKeys, third match" +rm ./rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-amd64 +testempty aptget indextargets --format '$(FILENAME)' 'Identifier: Contents' +echo 'Acquire::IndexTargets::deb::Contents::MetaKey "$(COMPONENT)/Contents-i386";' >> rootdir/etc/apt/apt.conf.d/content-target.conf +testequal "'http://localhost:${APTHTTPPORT}/dists/unstable/InRelease' localhost:${APTHTTPPORT}_dists_unstable_InRelease 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/source/Sources.xz' localhost:${APTHTTPPORT}_dists_unstable_main_source_Sources 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/binary-amd64/Packages.xz' localhost:${APTHTTPPORT}_dists_unstable_main_binary-amd64_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/binary-all/Packages.xz' localhost:${APTHTTPPORT}_dists_unstable_main_binary-all_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/i18n/Translation-en.xz' localhost:${APTHTTPPORT}_dists_unstable_main_i18n_Translation-en 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/Contents-i386.xz' localhost:${APTHTTPPORT}_dists_unstable_main_Contents-i386 0 " aptget update --print-uris +testsuccessequal "Hit:1 http://localhost:${APTHTTPPORT} unstable InRelease +Get:2 http://localhost:${APTHTTPPORT} unstable all Contents3 [$(stat -c%s aptarchive/dists/unstable/main/Contents-all.gz) B] +Reading package lists..." aptget update +testequal "rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-all" find rootdir/var/lib/apt/lists -name '*Contents*' +testequal "$(readfile Contents-all)" aptget indextargets --format '$(FILENAME)' 'Identifier: Contents' +testsuccess cmp "rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-all" 'aptarchive/dists/unstable/main/Contents-all' + +rm ./rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_Contents-all +msgmsg "No Contents file" +cat > rootdir/etc/apt/apt.conf.d/content-target-notdefault.conf <<EOF +Acquire::IndexTargets::deb::Contents::DefaultEnabled "no"; +Acquire::IndexTargets::deb::Contents2::DefaultEnabled "no"; +Acquire::IndexTargets::deb::Contents3::DefaultEnabled "no"; +EOF +testequal "'http://localhost:${APTHTTPPORT}/dists/unstable/InRelease' localhost:${APTHTTPPORT}_dists_unstable_InRelease 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/source/Sources.xz' localhost:${APTHTTPPORT}_dists_unstable_main_source_Sources 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/binary-amd64/Packages.xz' localhost:${APTHTTPPORT}_dists_unstable_main_binary-amd64_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/binary-all/Packages.xz' localhost:${APTHTTPPORT}_dists_unstable_main_binary-all_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/i18n/Translation-en.xz' localhost:${APTHTTPPORT}_dists_unstable_main_i18n_Translation-en 0 " aptget update --print-uris + +testsuccessequal "Hit:1 http://localhost:${APTHTTPPORT} unstable InRelease +Reading package lists..." aptget update + +testempty find rootdir/var/lib/apt/lists -name '*Contents*' + +msgmsg "Order of Contents files" +sameupdateoutput() { + testsuccessequal "'http://localhost:${APTHTTPPORT}/dists/unstable/InRelease' localhost:${APTHTTPPORT}_dists_unstable_InRelease 0 +'http://localhost:${APTHTTPPORT}/dists/unstable/main/Contents-i386.xz' localhost:${APTHTTPPORT}_dists_unstable_main_Contents-i386 0 " aptget update --print-uris +} +sed -i -e 's#deb\(-src\)\? http#deb\1 [target=Contents3,Contents2,Contents] http#' rootdir/etc/apt/sources.list.d/* +sameupdateoutput +sed -i -e 's#deb\(-src\)\? \[target=[^]]\+\] http#deb\1 [target=Contents2,Contents3,Contents] http#' rootdir/etc/apt/sources.list.d/* +sameupdateoutput +sed -i -e 's#deb\(-src\)\? \[target=[^]]\+\] http#deb\1 [target=Contents3,Contents,Contents2] http#' rootdir/etc/apt/sources.list.d/* +sameupdateoutput +sed -i -e 's#deb\(-src\)\? \[target=[^]]\+\] http#deb\1 [target=Contents,Contents3,Contents2] http#' rootdir/etc/apt/sources.list.d/* +sameupdateoutput diff --git a/test/integration/test-apt-acquire-additional-files-duplicates b/test/integration/test-apt-acquire-additional-files-duplicates new file mode 100755 index 0000000..b0b6460 --- /dev/null +++ b/test/integration/test-apt-acquire-additional-files-duplicates @@ -0,0 +1,105 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' + +cat > rootdir/etc/apt/apt.conf.d/content-target.conf <<EOF +Acquire::IndexTargets::deb::Contents1 { + MetaKey "\$(COMPONENT)/Contents-\$(ARCHITECTURE)"; + ShortDescription "Contents"; + Description "\$(RELEASE) Contents"; + DefaultEnabled "false"; +}; +Acquire::IndexTargets::deb::Contents2 { + MetaKey "\$(COMPONENT)/Contents-\$(ARCHITECTURE)"; + ShortDescription "Contents"; + Description "\$(RELEASE) Contents"; + DefaultEnabled "false"; +}; +Acquire::IndexTargets::deb::Contentsflat { + MetaKey "Contents-\$(ARCHITECTURE)"; + ShortDescription "Contents"; + Description "\$(RELEASE) Contents"; + DefaultEnabled "false"; +}; +EOF + +mkdir -p ./rootdir/var/lib/apt/lists +APTLISTS="$(readlink -f ./rootdir/var/lib/apt/lists)" +APTETC="$(readlink -f ./rootdir/etc/apt)" +cat > rootdir/etc/apt/sources.list <<EOF +deb http://example.org/debian stable main rocks +deb-src http://example.org/debian stable main rocks +EOF +testsuccessequal "${APTLISTS}/example.org_debian_dists_stable_main_source_Sources +${APTLISTS}/example.org_debian_dists_stable_rocks_source_Sources +${APTLISTS}/example.org_debian_dists_stable_main_binary-amd64_Packages +${APTLISTS}/example.org_debian_dists_stable_main_binary-i386_Packages +${APTLISTS}/example.org_debian_dists_stable_main_binary-all_Packages +${APTLISTS}/example.org_debian_dists_stable_main_i18n_Translation-en +${APTLISTS}/example.org_debian_dists_stable_rocks_binary-amd64_Packages +${APTLISTS}/example.org_debian_dists_stable_rocks_binary-i386_Packages +${APTLISTS}/example.org_debian_dists_stable_rocks_binary-all_Packages +${APTLISTS}/example.org_debian_dists_stable_rocks_i18n_Translation-en" aptget indextargets --no-release-info --format '$(FILENAME)' + +cat >> rootdir/etc/apt/sources.list <<EOF +deb http://example.org/debian stable main rocks +EOF +rm -r rootdir/var/cache/apt/*.bin +testwarning aptcache gencaches +testwarningequal "${APTLISTS}/example.org_debian_dists_stable_main_source_Sources +${APTLISTS}/example.org_debian_dists_stable_rocks_source_Sources +${APTLISTS}/example.org_debian_dists_stable_main_binary-amd64_Packages +${APTLISTS}/example.org_debian_dists_stable_main_binary-i386_Packages +${APTLISTS}/example.org_debian_dists_stable_main_binary-all_Packages +${APTLISTS}/example.org_debian_dists_stable_main_i18n_Translation-en +${APTLISTS}/example.org_debian_dists_stable_rocks_binary-amd64_Packages +${APTLISTS}/example.org_debian_dists_stable_rocks_binary-i386_Packages +${APTLISTS}/example.org_debian_dists_stable_rocks_binary-all_Packages +${APTLISTS}/example.org_debian_dists_stable_rocks_i18n_Translation-en +W: Target Packages (main/binary-amd64/Packages) is configured multiple times in ${APTETC}/sources.list:1 and ${APTETC}/sources.list:3 +W: Target Packages (main/binary-i386/Packages) is configured multiple times in ${APTETC}/sources.list:1 and ${APTETC}/sources.list:3 +W: Target Packages (main/binary-all/Packages) is configured multiple times in ${APTETC}/sources.list:1 and ${APTETC}/sources.list:3 +W: Target Translations (main/i18n/Translation-en) is configured multiple times in ${APTETC}/sources.list:1 and ${APTETC}/sources.list:3 +W: Target Packages (rocks/binary-amd64/Packages) is configured multiple times in ${APTETC}/sources.list:1 and ${APTETC}/sources.list:3 +W: Target Packages (rocks/binary-i386/Packages) is configured multiple times in ${APTETC}/sources.list:1 and ${APTETC}/sources.list:3 +W: Target Packages (rocks/binary-all/Packages) is configured multiple times in ${APTETC}/sources.list:1 and ${APTETC}/sources.list:3 +W: Target Translations (rocks/i18n/Translation-en) is configured multiple times in ${APTETC}/sources.list:1 and ${APTETC}/sources.list:3" aptget indextargets --no-release-info --format '$(FILENAME)' + +cat >> rootdir/etc/apt/sources.list <<EOF +deb [target=Contents1,Contents2,Contentsflat arch=amd64] http://example.org/debian stable main rocks +deb-src [target=Contents1,Contents2,Contentsflat arch=amd64] http://example.org/debian stable main rocks +EOF +rm -r rootdir/var/cache/apt/*.bin +testwarning aptcache gencaches +testwarningequal "${APTLISTS}/example.org_debian_dists_stable_main_source_Sources +${APTLISTS}/example.org_debian_dists_stable_rocks_source_Sources +${APTLISTS}/example.org_debian_dists_stable_main_binary-amd64_Packages +${APTLISTS}/example.org_debian_dists_stable_main_binary-i386_Packages +${APTLISTS}/example.org_debian_dists_stable_main_binary-all_Packages +${APTLISTS}/example.org_debian_dists_stable_main_i18n_Translation-en +${APTLISTS}/example.org_debian_dists_stable_rocks_binary-amd64_Packages +${APTLISTS}/example.org_debian_dists_stable_rocks_binary-i386_Packages +${APTLISTS}/example.org_debian_dists_stable_rocks_binary-all_Packages +${APTLISTS}/example.org_debian_dists_stable_rocks_i18n_Translation-en +${APTLISTS}/example.org_debian_dists_stable_main_Contents-amd64 +${APTLISTS}/example.org_debian_dists_stable_main_Contents-all +${APTLISTS}/example.org_debian_dists_stable_Contents-amd64 +${APTLISTS}/example.org_debian_dists_stable_Contents-all +${APTLISTS}/example.org_debian_dists_stable_rocks_Contents-amd64 +${APTLISTS}/example.org_debian_dists_stable_rocks_Contents-all +W: Target Packages (main/binary-amd64/Packages) is configured multiple times in ${APTETC}/sources.list:1 and ${APTETC}/sources.list:3 +W: Target Packages (main/binary-i386/Packages) is configured multiple times in ${APTETC}/sources.list:1 and ${APTETC}/sources.list:3 +W: Target Packages (main/binary-all/Packages) is configured multiple times in ${APTETC}/sources.list:1 and ${APTETC}/sources.list:3 +W: Target Translations (main/i18n/Translation-en) is configured multiple times in ${APTETC}/sources.list:1 and ${APTETC}/sources.list:3 +W: Target Packages (rocks/binary-amd64/Packages) is configured multiple times in ${APTETC}/sources.list:1 and ${APTETC}/sources.list:3 +W: Target Packages (rocks/binary-i386/Packages) is configured multiple times in ${APTETC}/sources.list:1 and ${APTETC}/sources.list:3 +W: Target Packages (rocks/binary-all/Packages) is configured multiple times in ${APTETC}/sources.list:1 and ${APTETC}/sources.list:3 +W: Target Translations (rocks/i18n/Translation-en) is configured multiple times in ${APTETC}/sources.list:1 and ${APTETC}/sources.list:3 +W: Target Contents2 wants to acquire the same file (main/Contents-amd64) as Contents1 from source ${APTETC}/sources.list:4 +W: Target Contents2 wants to acquire the same file (main/Contents-all) as Contents1 from source ${APTETC}/sources.list:4 +W: Target Contents2 wants to acquire the same file (rocks/Contents-amd64) as Contents1 from source ${APTETC}/sources.list:4 +W: Target Contents2 wants to acquire the same file (rocks/Contents-all) as Contents1 from source ${APTETC}/sources.list:4" aptget indextargets --no-release-info --format '$(FILENAME)' diff --git a/test/integration/test-apt-by-hash-update b/test/integration/test-apt-by-hash-update new file mode 100755 index 0000000..65c3766 --- /dev/null +++ b/test/integration/test-apt-by-hash-update @@ -0,0 +1,107 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'i386' +confighashes 'SHA512' +configcompression '.' 'gz' + +insertpackage 'unstable' 'foo' 'all' '1.0' +insertpackage 'unstable' 'bar' 'i386' '1.0' + +setupaptarchive --no-update + +# make Packages *only* accessible by-hash for this test +makebyhashonly() { + local NORMAL="$(readlink -f "./aptarchive/dists/unstable/main/${1}")" + local BYHASH="${NORMAL}/by-hash/SHA512" + mkdir -p "${BYHASH}" + find "${NORMAL}/" -maxdepth 1 -name "${2}*" -exec mv '{}' "$BYHASH" \; + ln -s "${BYHASH}/${2}.gz" "${BYHASH}/$(sha512sum "${BYHASH}/${2}.gz" | cut -f1 -d' ')" +} +makebyhashonly 'binary-i386' 'Packages' +makebyhashonly 'binary-all' 'Packages' +makebyhashonly 'source' 'Sources' + +ensureitsbroken() { + rm -rf rootdir/var/lib/apt/lists + # we moved the Packages file away, normal update won't work + testfailure aptget update "$@" + # ensure we do not know about "foo" + testfailureequal "Reading package lists... +Building dependency tree... +E: Unable to locate package foo" aptget install -q -s foo +} +ensureitsbroken +ensureitsbroken -o Acquire::By-Hash=1 + +ensureitworks() { + rm -rf rootdir/var/lib/apt/lists + testsuccess aptget update "$@" -o Acquire::Languages=none + testfailure grep '^Ign' rootdir/tmp/testsuccess.output + rm -rf rootdir/var/lib/apt/lists + testsuccess aptget update "$@" + cp -f rootdir/tmp/testsuccess.output rootdir/tmp/aptupdate.output + testsuccess grep '^Ign' rootdir/tmp/aptupdate.output + testsuccessequal "Inst foo (1.0 unstable [all]) +Conf foo (1.0 unstable [all])" aptget install -qq -s foo + testsuccessequal "Inst bar (1.0 unstable [i386]) +Conf bar (1.0 unstable [i386])" aptget install -qq -s bar +} +msgmsg 'Test by-hash via' 'config option' +ensureitworks -o Acquire::By-Hash=force + +msgmsg 'Test by-hash via' 'release option' +cp -a aptarchive/dists aptarchive/dists.bak +# add magic string to Release file ... +sed -i '/^Suite: / a \ +Acquire-By-Hash: yes' aptarchive/dists/unstable/Release +signreleasefiles +ensureitworks +ensureitsbroken -o Acquire::By-Hash=0 + +msgmsg 'Test by-hash via' 'sources option' +sed -i "s#^\(deb\(-src\)\?\) #\1 [by-hash=yes] #" rootdir/etc/apt/sources.list.d/* +ensureitworks +#ensureitsbroken -o Acquire::By-Hash=0 + +rm -rf aptarchive/dists +cp -a aptarchive/dists.bak aptarchive/dists +#ensureitworks -o Acquire::By-Hash=force +ensureitsbroken -o Acquire::By-Hash=1 +ensureitsbroken -o Acquire::By-Hash=0 + +sed -i "s#^\(deb\(-src\)\?\) \[by-hash=yes\] #\1 [by-hash=force] #" rootdir/etc/apt/sources.list.d/* +ensureitworks +#ensureitsbroken -o Acquire::By-Hash=0 + + + +msgmsg 'Test InRelease by-hash via' 'sources option' + +rm -rf aptarchive/dists +cp -a aptarchive/dists.bak aptarchive/dists +mkdir -p aptarchive/dists/unstable/by-hash/SHA256 +inrelease_hash=$(sha256sum aptarchive/dists/unstable/InRelease | awk '{print $1}') +mv aptarchive/dists/unstable/InRelease aptarchive/dists/unstable/by-hash/SHA256/$inrelease_hash +#ensureitworks -o Acquire::By-Hash=force +ensureitsbroken -o Acquire::By-Hash=1 +ensureitsbroken -o Acquire::By-Hash=0 + +sed -i "s#^\(deb\(-src\)\?\) \[by-hash=force\] #\1 [by-hash=force inrelease-path=by-hash/SHA256/$inrelease_hash] #" rootdir/etc/apt/sources.list.d/* +ensureitworks +#ensureitsbroken -o Acquire::By-Hash=0 + +msgmsg 'Test InRelease by-hash with' 'no fallback' + +rm -rf aptarchive/dists +cp -a aptarchive/dists.bak aptarchive/dists + +testfailureequal "Get:1 file:${TMPWORKINGDIRECTORY}/aptarchive unstable InRelease +Err:1 file:${TMPWORKINGDIRECTORY}/aptarchive unstable InRelease + File not found - ${TMPWORKINGDIRECTORY}/aptarchive/dists/unstable/by-hash/SHA256/${inrelease_hash} (2: No such file or directory) +Reading package lists... +E: Failed to fetch file:${TMPWORKINGDIRECTORY}/aptarchive/dists/unstable/InRelease File not found - ${TMPWORKINGDIRECTORY}/aptarchive/dists/unstable/by-hash/SHA256/${inrelease_hash} (2: No such file or directory)" aptget update diff --git a/test/integration/test-apt-cache b/test/integration/test-apt-cache new file mode 100755 index 0000000..c003fba --- /dev/null +++ b/test/integration/test-apt-cache @@ -0,0 +1,183 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' 'i386' + +DESCR='Some description + That has multiple lines' +insertpackage 'unstable' 'fancy' 'all' '1' +insertpackage 'unstable,installed' 'foo' 'all' '1' 'Depends: bar +Conflicts: foobar +Recommends: cool (>= 2) | cooler (<< 5)' "$DESCR" +insertpackage 'unstable' 'bar' 'all' '1' 'Depends: bar +Breaks: foo (<< 1) +Replaces: foo (<< 1)' "$DESCR" +insertpackage 'unstable' 'specific' 'all' '1' 'Depends: bar:i386, specific:amd64 +Breaks: foo:amd64 (<< 1) +Replaces: foo:i386 (<< 1)' "$DESCR" + +setupaptarchive + +insertinstalledpackage 'awesome' 'all' '1' +testdpkginstalled 'awesome' +testempty aptcache unmet awesome + +# FIXME: Find some usecase for unmet as it seems kinda useless/broken +#testsuccess aptcache unmet +#testsuccess aptcache unmet foo + +# not too useful to test, but makes coverage green… +testsuccess aptcache stats +cp rootdir/tmp/testsuccess.output stats.output +testsuccess test -s stats.output +testfailureequal 'E: apt-cache stats does not take any arguments' aptcache stats foo +testsuccess aptcache xvcg foo +cp rootdir/tmp/testsuccess.output xvcg.output +testsuccess test -s xvcg.output +testsuccess aptcache dotty foo +cp rootdir/tmp/testsuccess.output dotty.output +testsuccess test -s dotty.output +# for this, even the sourcecode says it is useless (expect debugging) +testsuccess aptcache dump +cp rootdir/tmp/testsuccess.output dump.output +testsuccess test -s dump.output + +testsuccessequal 'bar +foo +awesome +specific +fancy' aptcache pkgnames +testsuccessequal 'bar' aptcache pkgnames bar +testsuccessequal 'foo +fancy' aptcache pkgnames f + +testsuccessequal " foo | 1 | file:$(readlink -f .)/aptarchive unstable/main all Packages" aptcache madison foo + +### depends + +testsuccessequal 'foo + Depends: bar + Conflicts: <foobar> + |Recommends: <cool> + Recommends: <cooler>' aptcache depends foo +testsuccessequal 'foo + Depends: bar + Conflicts: <foobar> + |Recommends: <cool> + Recommends: <cooler>' aptcache depends foo --implicit +testsuccessequal 'foo + Depends: bar + Conflicts: <foobar> + Recommends: <cool>' aptcache depends foo -o APT::Cache::ShowOnlyFirstOr=1 +testsuccessequal 'foo + Depends: bar + Conflicts: <foobar> + Recommends: <cool>' aptcache depends foo -o APT::Cache::ShowOnlyFirstOr=1 --implicit +testsuccessequal 'foo + Depends: bar + Conflicts: <foobar> + |Recommends: <cool> (>= 2) + Recommends: <cooler> (<< 5)' aptcache depends foo -o APT::Cache::ShowVersion=1 +testsuccessequal 'foo + Depends: bar + Conflicts: <foobar> + |Recommends: <cool> (>= 2) + Recommends: <cooler> (<< 5)' aptcache depends foo -o APT::Cache::ShowVersion=1 --implicit +testsuccessequal 'foo + Depends: bar + Conflicts: <foobar>' aptcache depends foo --no-recommends +testsuccessequal 'foo + Depends: bar + Conflicts: <foobar>' aptcache depends foo --no-recommends --implicit +testsuccessequal 'foo + Depends: bar' aptcache depends foo --important --implicit +testsuccessequal 'foo + Conflicts: <foobar>' aptcache depends foo --important --no-depends --conflicts +testsuccessequal 'foo + Conflicts: <foobar>' aptcache depends foo --important --no-depends --conflicts --implicit +testsuccessequal 'foo + Depends: bar + Conflicts: <foobar> + |Recommends: <cool> + Recommends: <cooler> +bar + Depends: bar + Breaks: foo + Replaces: foo +<foobar> +<cool> +<cooler>' aptcache depends foo --recurse +testsuccessequal 'foo + Depends: bar + Conflicts: <foobar> + |Recommends: <cool> + Recommends: <cooler> +bar + Depends: bar + Breaks: foo + Replaces: foo + Breaks: <foo:i386> + Replaces: <foo:i386> +<foobar> +<cool> +<cooler> +<foo:i386>' aptcache depends foo --recurse --implicit +testsuccessequal 'foo + Depends: bar +bar + Depends: bar + Replaces: foo' aptcache depends foo --recurse --important --replaces +testsuccessequal 'foo + Depends: bar +bar + Depends: bar + Replaces: foo + Replaces: <foo:i386> +<foo:i386>' aptcache depends foo --recurse --important --replaces --implicit +testsuccessequal 'bar + Depends: bar + Breaks: foo + Replaces: foo' aptcache depends bar +testsuccessequal 'bar + Depends: bar + Breaks: foo + Replaces: foo + Breaks: <foo:i386> + Replaces: <foo:i386>' aptcache depends bar --implicit + +testsuccessequal 'specific + Depends: <bar:i386> + Depends: <specific:amd64> + specific + Breaks: <foo:amd64> + Replaces: <foo:i386>' aptcache depends specific +testsuccessequal 'specific + Depends: <bar:i386> + Depends: <specific:amd64> + specific + Breaks: <foo:amd64> + Replaces: <foo:i386>' aptcache depends specific --implicit + +## rdepends + +# Note that specific does not appear in this list as it doesn't depend on foo, +# but on an arch-specific foo! +testsuccessequal 'foo +Reverse Depends: + bar + bar' aptcache rdepends foo +testsuccessequal 'foo +Reverse Depends: + Breaks: bar + Replaces: bar' aptcache rdepends foo -o APT::Cache::ShowDependencyType=1 +testsuccessequal 'foo +Reverse Depends: + Breaks: bar (<< 1) + Replaces: bar (<< 1)' aptcache rdepends foo -o APT::Cache::ShowDependencyType=1 -o APT::Cache::ShowVersion=1 +testsuccessequal 'foo +Reverse Depends: + Breaks: bar (<< 1)' aptcache rdepends foo -o APT::Cache::ShowDependencyType=1 -o APT::Cache::ShowVersion=1 --important --breaks diff --git a/test/integration/test-apt-cache-remapping b/test/integration/test-apt-cache-remapping new file mode 100755 index 0000000..19647a6 --- /dev/null +++ b/test/integration/test-apt-cache-remapping @@ -0,0 +1,48 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' + +buildsimplenativepackage 'foo' 'amd64' '1' +insertinstalledpackage 'bar' 'all' '1' + +# the default is 1MB – too much for our simple tests +echo 'APT::Cache-Grow "1000";' > rootdir/etc/apt/apt.conf.d/limit-cachegrow.conf + +# experiment with cache remapping +rm -f rootdir/var/cache/apt/*.bin +testsuccess apt install ./incoming/foo_1_amd64.deb -s +msgtest 'Cache files are generated in tests' +if [ ! -e rootdir/var/cache/apt/srcpkgcache.bin -o ! -e rootdir/var/cache/apt/pkgcache.bin ]; then + msgfail 'files do not exist' + ls -l rootdir/var/cache/apt/*.bin + exit 1 +else + msgpass +fi + +SLSIZE="$(stat -c '%s' rootdir/var/cache/apt/srcpkgcache.bin)" +STSIZE="$(stat -c '%s' rootdir/var/cache/apt/pkgcache.bin)" +rm -f rootdir/var/cache/apt/*.bin +testfailure apt install ./incoming/foo_1_amd64.deb -s -o APT::Cache-Start="$SLSIZE" -o APT::Cache-Grow=0 +testfailure test -e rootdir/var/cache/apt/pkgcache.bin +rm -f rootdir/var/cache/apt/*.bin +testfailure apt install ./incoming/foo_1_amd64.deb -s -o APT::Cache-Start="$SLSIZE" -o APT::Cache-Limit="$SLSIZE" +testfailure test -e rootdir/var/cache/apt/pkgcache.bin +rm -f rootdir/var/cache/apt/*.bin +testsuccess apt install ./incoming/foo_1_amd64.deb -s -o APT::Cache-Start="$SLSIZE" +testsuccess test -e rootdir/var/cache/apt/srcpkgcache.bin -a -e rootdir/var/cache/apt/pkgcache.bin + +rm -f rootdir/var/cache/apt/*.bin +testfailure apt install ./incoming/foo_1_amd64.deb -s -o APT::Cache-Start="$STSIZE" -o APT::Cache-Grow=0 +rm -f rootdir/var/cache/apt/*.bin +testfailure apt install ./incoming/foo_1_amd64.deb -s -o APT::Cache-Start="$STSIZE" -o APT::Cache-Limit="$SLSIZE" +rm -f rootdir/var/cache/apt/*.bin +testfailure apt install ./incoming/foo_1_amd64.deb -s -o APT::Cache-Start="$STSIZE" -o APT::Cache-Limit="$STSIZE" +rm -f rootdir/var/cache/apt/*.bin +testsuccess apt install ./incoming/foo_1_amd64.deb -s -o APT::Cache-Start="$STSIZE" +testsuccess test -e rootdir/var/cache/apt/srcpkgcache.bin -a -e rootdir/var/cache/apt/pkgcache.bin diff --git a/test/integration/test-apt-cache-showsrc b/test/integration/test-apt-cache-showsrc new file mode 100755 index 0000000..d3f61d9 --- /dev/null +++ b/test/integration/test-apt-cache-showsrc @@ -0,0 +1,31 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "i386" + +# we have a foo source package +insertsource 'unstable' 'foo' 'all' '1.0' '' 'foo-binary' + +# and a similar one that builds a foo binary package +insertsource 'unstable' 'unrelated' 'all' '1.0' '' 'foo' + +# just here to workaround the need for a authenticated package +insertpackage 'unstable' 'workaround' 'all' '1.0' + +setupaptarchive + +# by default apt-cache showsrc will look into "binary" and "source" names +# and show all matches +aptcache showsrc foo > output.txt +testsuccess grep "Package: foo" output.txt +testsuccess grep "Package: unrelated" output.txt + +# by default apt-cache showsrc will look into "binary" and "source" names +# and show all matches +aptcache showsrc --only-source foo > output.txt +testsuccess grep "Package: foo" output.txt +testfailure grep "Package: unrelated" output.txt diff --git a/test/integration/test-apt-cdrom b/test/integration/test-apt-cdrom new file mode 100755 index 0000000..01680c4 --- /dev/null +++ b/test/integration/test-apt-cdrom @@ -0,0 +1,158 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' + +buildsimplenativepackage 'testing' 'amd64,i386' '0.8.15' 'stable' +setupaptarchive --no-update + +changetocdrom 'Debian APT Testdisk 0.8.15' + +# -de is not in the Release file, but picked up anyway for compatibility +cd rootdir/media/cdrom-unmounted/dists/stable/main/i18n +chmod +w . +sed -e '/^Description-en:/ d' -e '/^ / d' -e '/^$/ d' Translation-en > Translation-de +echo 'Description-de: automatisch generiertes Testpaket testing=0.8.15/stable + Diese Pakete sind nur für das testen von APT gedacht, + sie erfüllen keinen Zweck auf einem normalen System… +' >> Translation-de +compressfile Translation-de +rm -f Translation-en Translation-de +chmod -R 555 . +cd - > /dev/null + +aptcdromlog() { + rm -f rootdir/tmp/apt-cdrom.log + test ! -e rootdir/media/cdrom || echo "CD-ROM is mounted, but shouldn't be!" + test -e rootdir/media/cdrom-unmounted || echo "Unmounted CD-ROM doesn't exist, but it should!" + aptcdrom "$@" -o quiet=1 >rootdir/tmp/apt-cdrom.log 2>&1 </dev/null + sed -e '/gpgv\?:\s*Signature made/ d' \ + -e '/gpgv\?:\s*Good signature/ d' \ + -e '/gpgv\?:\s*using RSA key/ d' \ + -e '/gpgv\?:\s*issuer/ d' \ + -e '/^Identifying/ d' \ + -e '/Reading / d' rootdir/tmp/apt-cdrom.log + test ! -e rootdir/media/cdrom || echo "CD-ROM is mounted, but shouldn't be!" + test -e rootdir/media/cdrom-unmounted || echo "Unmounted CD-ROM doesn't exist, but it should!" +} +aptautotest_aptcdromlog_add() { aptautotest_aptget_update "$@"; } + +CDROM_PRE="Using CD-ROM mount point $(readlink -f ./rootdir/media)/cdrom/ +Unmounting CD-ROM... +Waiting for disc... +Please insert a Disc in the drive and press [Enter] +Mounting CD-ROM... +Scanning disc for index files..." +CDROM_POST="This disc is called: +'Debian APT Testdisk 0.8.15' +Writing new source list +Source list entries for this disc are: +deb cdrom:[Debian APT Testdisk 0.8.15]/ stable main +deb-src cdrom:[Debian APT Testdisk 0.8.15]/ stable main +Unmounting CD-ROM... +Repeat this process for the rest of the CDs in your set." + +testsuccessequal "$CDROM_PRE +Found 3 package indexes, 1 source indexes, 1 translation indexes and 1 signatures +Found label 'Debian APT Testdisk 0.8.15' +$CDROM_POST" aptcdromlog add + +testsuccessequal "Using CD-ROM mount point $(readlink -f ./rootdir/media)/cdrom/ +Mounting CD-ROM... +Stored label: Debian APT Testdisk 0.8.15 +Unmounting CD-ROM..." aptcdromlog ident + +# apt-setup uses these commands (expect the tr in the id) to find id and label +ident="$(LC_ALL=C aptcdrom ident 2>&1 )" +CD_ID="$(echo "$ident" | grep "^Identifying" | head -n1 | cut -d" " -f2 | tr --delete '[]')" +CD_LABEL="$(echo "$ident" | grep "^Stored label:" | head -n1 | sed "s/^[^:]*: //")" +testfileequal rootdir/var/lib/apt/cdroms.list "CD::${CD_ID} \"${CD_LABEL}\"; +CD::${CD_ID}::Label \"${CD_LABEL}\";" + +testcdromusage() { + touch rootdir/var/lib/apt/extended_states + + testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following NEW packages will be installed: + testing +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst testing (0.8.15 stable [amd64]) +Conf testing (0.8.15 stable [amd64])' aptget install testing -s + + testdpkgnotinstalled testing + testsuccess aptget install testing -y + testdpkginstalled testing + testsuccess aptget purge testing -y + testdpkgnotinstalled testing + + testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following NEW packages will be installed: + testing:i386 +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst testing:i386 (0.8.15 stable [i386]) +Conf testing:i386 (0.8.15 stable [i386])' aptget install testing:i386 -s + + testdpkgnotinstalled testing:i386 + testsuccess aptget install testing:i386 -y + testdpkginstalled testing:i386 + testsuccess aptget purge testing:i386 -y + testdpkgnotinstalled testing:i386 + + cd downloaded + rm -f testing_0.8.15_amd64.deb + testsuccess aptget download testing + testsuccess test -s testing_0.8.15_amd64.deb + rm -f testing_0.8.15_amd64.deb + + rm -f testing_0.8.15.dsc + testsuccess aptget source testing --dsc-only + testsuccess test -s testing_0.8.15.dsc + rm -f testing_0.8.15.dsc + cd - >/dev/null +} +testcdromusage + +# check Idempotence of apt-cdrom (and disabling of Translation dropping) +testsuccessequal "$CDROM_PRE +Found 3 package indexes, 1 source indexes, 2 translation indexes and 1 signatures +$CDROM_POST" aptcdromlog add -o APT::CDROM::DropTranslation=0 + +# take Translations from previous runs as needed +testsuccessequal "$CDROM_PRE +Found 3 package indexes, 1 source indexes, 2 translation indexes and 1 signatures +$CDROM_POST" aptcdromlog add +msgtest 'Test for the german description translation of' 'testing' +aptcache show testing -o Acquire::Languages=de | grep -q '^Description-de: ' && msgpass || msgfail +rm -rf rootdir/var/lib/apt/lists +testsuccessequal "$CDROM_PRE +Found 3 package indexes, 1 source indexes, 1 translation indexes and 1 signatures +$CDROM_POST" aptcdromlog add +msgtest 'Test for the english description translation of' 'testing' +aptcache show testing -o Acquire::Languages=en | grep -q '^Description-en: ' && msgpass || msgfail + +# ensure cdrom method isn't trying to mount the cdrom +mv rootdir/media/cdrom-unmounted rootdir/media/cdrom-ejected +msgmsg "ensure an update doesn't mess with cdrom sources" +testsuccess aptget update +testfileequal rootdir/tmp/testsuccess.output 'Hit:1 cdrom://Debian APT Testdisk 0.8.15 stable InRelease +Reading package lists...' +mv rootdir/media/cdrom-ejected rootdir/media/cdrom-unmounted +testcdromusage + +msgmsg 'and again to check that it withstands the temptation even if it could mount' +testsuccess aptget update +testfileequal rootdir/tmp/testsuccess.output 'Hit:1 cdrom://Debian APT Testdisk 0.8.15 stable InRelease +Reading package lists...' +testcdromusage + +msgmsg 'Check that nothing touched our' 'CD-ROM' +for file in $(find rootdir/media/cdrom-unmounted/dists); do + testfilestats "$file" '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:555" +done diff --git a/test/integration/test-apt-cli-json-hooks b/test/integration/test-apt-cli-json-hooks new file mode 100755 index 0000000..9a3208c --- /dev/null +++ b/test/integration/test-apt-cli-json-hooks @@ -0,0 +1,340 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +getoriginfromsuite() { echo 'Oranges'; } +getlabelfromsuite() { echo 'Lemons'; } +getversionfromsuite() { echo 'Volkamer'; } + +setupenvironment +configarchitecture "i386" + +DESCR='Some description that has a unusual word xxyyzz and aabbcc and a UPPERCASE' +DESCR2='Some other description with the unusual aabbcc only' +insertpackage 'unstable' 'foo' 'all' '1.0' '' '' "$DESCR + Long description of stuff and such, with lines + . + and paragraphs and everything." +insertpackage 'testing' 'bar' 'i386' '2.0' '' '' "$DESCR2" +insertpackage 'testing' 'upgrade' 'i386' '2.0' +insertinstalledpackage 'upgrade' 'i386' '1.0' + +setupaptarchive + +APTARCHIVE="$(readlink -f ./aptarchive)" +export TEST_HOOK_VERSION=0.2 + +cat >> json-hook.sh << EOF +#!/bin/bash +trap '' SIGPIPE +while true; do + read request <&\$APT_HOOK_SOCKET || exit 1 + + if echo "\$request" | grep -q ".hello"; then + echo "HOOK: HELLO" + fi + + if echo "\$request" | grep -q ".bye"; then + echo "HOOK: BYE" + exit 0; + fi + + echo HOOK: request \$request + + read empty <&\$APT_HOOK_SOCKET || exit 1 + + echo HOOK: empty \$empty + + if echo "\$request" | grep -q ".hello"; then + printf '{"jsonrpc": "2.0", "result": {"version": "'\$TEST_HOOK_VERSION'"}, "id": 0}\n\n' >&\$APT_HOOK_SOCKET 2>/dev/null || exit 1 + fi + + +done +EOF + +chmod +x json-hook.sh + +HOOK="$(readlink -f ./json-hook.sh)" + +# Setup all hooks +cat >> rootdir/etc/apt/apt.conf.d/99-json-hooks << EOF + AptCli::Hooks::Install:: "$HOOK"; + AptCli::Hooks::Upgrade:: "$HOOK"; + AptCli::Hooks::Search:: "$HOOK"; +EOF + + +############################# Success search ####################### +testsuccessequal 'HOOK: HELLO +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.hello","id":0,"params":{"versions":["0.1","0.2"]}} +HOOK: empty +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.search.pre","params":{"command":"search","search-terms":["foo"],"unknown-packages":[],"packages":[]}} +HOOK: empty +HOOK: BYE +Sorting... +Full Text Search... +foo/unstable 1.0 all + Some description that has a unusual word xxyyzz and aabbcc and a UPPERCASE + +HOOK: HELLO +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.hello","id":0,"params":{"versions":["0.1","0.2"]}} +HOOK: empty +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.search.post","params":{"command":"search","search-terms":["foo"],"unknown-packages":[],"packages":[]}} +HOOK: empty +HOOK: BYE' apt search foo + +############################# Failed search ####################### +testsuccessequal 'HOOK: HELLO +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.hello","id":0,"params":{"versions":["0.1","0.2"]}} +HOOK: empty +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.search.pre","params":{"command":"search","search-terms":["foox"],"unknown-packages":[],"packages":[]}} +HOOK: empty +HOOK: BYE +Sorting... +Full Text Search... +HOOK: HELLO +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.hello","id":0,"params":{"versions":["0.1","0.2"]}} +HOOK: empty +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.search.fail","params":{"command":"search","search-terms":["foox"],"unknown-packages":[],"packages":[]}} +HOOK: empty +HOOK: BYE' apt search foox + + +############################# Failed install ####################### + +testfailureequal 'Reading package lists... +Building dependency tree... +HOOK: HELLO +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.hello","id":0,"params":{"versions":["0.1","0.2"]}} +HOOK: empty +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.fail","params":{"command":"install","search-terms":["foxxx"],"unknown-packages":["foxxx"],"packages":[]}} +HOOK: empty +HOOK: BYE +E: Unable to locate package foxxx' apt install foxxx + +############################# Success install ####################### + +testsuccessequal 'Reading package lists... +Building dependency tree... +HOOK: HELLO +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.hello","id":0,"params":{"versions":["0.1","0.2"]}} +HOOK: empty +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.pre-prompt","params":{"command":"install","search-terms":["foo"],"unknown-packages":[],"packages":[{"id":2,"name":"foo","architecture":"i386","mode":"install","automatic":false,"versions":{"candidate":{"id":2,"version":"1.0","architecture":"all","pin":500,"origins":[{"archive":"unstable","codename":"sid","origin":"Oranges","label":"Lemons","site":""}]},"install":{"id":2,"version":"1.0","architecture":"all","pin":500,"origins":[{"archive":"unstable","codename":"sid","origin":"Oranges","label":"Lemons","site":""}]}}}]}} +HOOK: empty +HOOK: BYE +The following NEW packages will be installed: + foo +HOOK: HELLO +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.hello","id":0,"params":{"versions":["0.1","0.2"]}} +HOOK: empty +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.package-list","params":{"command":"install","search-terms":["foo"],"unknown-packages":[],"packages":[{"id":2,"name":"foo","architecture":"i386","mode":"install","automatic":false,"versions":{"candidate":{"id":2,"version":"1.0","architecture":"all","pin":500,"origins":[{"archive":"unstable","codename":"sid","origin":"Oranges","label":"Lemons","site":""}]},"install":{"id":2,"version":"1.0","architecture":"all","pin":500,"origins":[{"archive":"unstable","codename":"sid","origin":"Oranges","label":"Lemons","site":""}]}}}]}} +HOOK: empty +HOOK: BYE +0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. +HOOK: HELLO +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.hello","id":0,"params":{"versions":["0.1","0.2"]}} +HOOK: empty +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.statistics","params":{"command":"install","search-terms":["foo"],"unknown-packages":[],"packages":[{"id":2,"name":"foo","architecture":"i386","mode":"install","automatic":false,"versions":{"candidate":{"id":2,"version":"1.0","architecture":"all","pin":500,"origins":[{"archive":"unstable","codename":"sid","origin":"Oranges","label":"Lemons","site":""}]},"install":{"id":2,"version":"1.0","architecture":"all","pin":500,"origins":[{"archive":"unstable","codename":"sid","origin":"Oranges","label":"Lemons","site":""}]}}}]}} +HOOK: empty +HOOK: BYE +Inst foo (1.0 Lemons:unstable [all]) +Conf foo (1.0 Lemons:unstable [all]) +HOOK: HELLO +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.hello","id":0,"params":{"versions":["0.1","0.2"]}} +HOOK: empty +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.post","params":{"command":"install","search-terms":["foo"],"unknown-packages":[],"packages":[{"id":2,"name":"foo","architecture":"i386","mode":"install","automatic":false,"versions":{"candidate":{"id":2,"version":"1.0","architecture":"all","pin":500,"origins":[{"archive":"unstable","codename":"sid","origin":"Oranges","label":"Lemons","site":""}]},"install":{"id":2,"version":"1.0","architecture":"all","pin":500,"origins":[{"archive":"unstable","codename":"sid","origin":"Oranges","label":"Lemons","site":""}]}}}]}} +HOOK: empty +HOOK: BYE' apt install foo -s + +############################# Failed dist-upgrade ####################### + +testfailureequal 'Reading package lists... +Building dependency tree... +HOOK: HELLO +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.hello","id":0,"params":{"versions":["0.1","0.2"]}} +HOOK: empty +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.fail","params":{"command":"dist-upgrade","search-terms":["foxxx"],"unknown-packages":["foxxx"],"packages":[]}} +HOOK: empty +HOOK: BYE +E: Unable to locate package foxxx' apt dist-upgrade foxxx + +############################# Success install ####################### + +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +HOOK: HELLO +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.hello","id":0,"params":{"versions":["0.1","0.2"]}} +HOOK: empty +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.pre-prompt","params":{"command":"dist-upgrade","search-terms":[],"unknown-packages":[],"packages":[{"id":1,"name":"upgrade","architecture":"i386","mode":"upgrade","automatic":false,"versions":{"candidate":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"install":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"current":{"id":3,"version":"1.0","architecture":"i386","pin":100,"origins":[]}}}]}} +HOOK: empty +HOOK: BYE +The following packages will be upgraded: + upgrade +HOOK: HELLO +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.hello","id":0,"params":{"versions":["0.1","0.2"]}} +HOOK: empty +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.package-list","params":{"command":"dist-upgrade","search-terms":[],"unknown-packages":[],"packages":[{"id":1,"name":"upgrade","architecture":"i386","mode":"upgrade","automatic":false,"versions":{"candidate":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"install":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"current":{"id":3,"version":"1.0","architecture":"i386","pin":100,"origins":[]}}}]}} +HOOK: empty +HOOK: BYE +1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +HOOK: HELLO +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.hello","id":0,"params":{"versions":["0.1","0.2"]}} +HOOK: empty +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.statistics","params":{"command":"dist-upgrade","search-terms":[],"unknown-packages":[],"packages":[{"id":1,"name":"upgrade","architecture":"i386","mode":"upgrade","automatic":false,"versions":{"candidate":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"install":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"current":{"id":3,"version":"1.0","architecture":"i386","pin":100,"origins":[]}}}]}} +HOOK: empty +HOOK: BYE +Inst upgrade [1.0] (2.0 Lemons:testing [i386]) +Conf upgrade (2.0 Lemons:testing [i386]) +HOOK: HELLO +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.hello","id":0,"params":{"versions":["0.1","0.2"]}} +HOOK: empty +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.post","params":{"command":"dist-upgrade","search-terms":[],"unknown-packages":[],"packages":[{"id":1,"name":"upgrade","architecture":"i386","mode":"upgrade","automatic":false,"versions":{"candidate":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"install":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"current":{"id":3,"version":"1.0","architecture":"i386","pin":100,"origins":[]}}}]}} +HOOK: empty +HOOK: BYE' apt dist-upgrade -s + + +################## version 0.1 ######################### +TEST_HOOK_VERSION=0.1 + +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +HOOK: HELLO +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.hello","id":0,"params":{"versions":["0.1","0.2"]}} +HOOK: empty +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.pre-prompt","params":{"command":"dist-upgrade","search-terms":[],"unknown-packages":[],"packages":[{"id":1,"name":"upgrade","architecture":"i386","mode":"install","automatic":false,"versions":{"candidate":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"install":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"current":{"id":3,"version":"1.0","architecture":"i386","pin":100,"origins":[]}}}]}} +HOOK: empty +HOOK: BYE +The following packages will be upgraded: + upgrade +HOOK: HELLO +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.hello","id":0,"params":{"versions":["0.1","0.2"]}} +HOOK: empty +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.package-list","params":{"command":"dist-upgrade","search-terms":[],"unknown-packages":[],"packages":[{"id":1,"name":"upgrade","architecture":"i386","mode":"install","automatic":false,"versions":{"candidate":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"install":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"current":{"id":3,"version":"1.0","architecture":"i386","pin":100,"origins":[]}}}]}} +HOOK: empty +HOOK: BYE +1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +HOOK: HELLO +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.hello","id":0,"params":{"versions":["0.1","0.2"]}} +HOOK: empty +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.statistics","params":{"command":"dist-upgrade","search-terms":[],"unknown-packages":[],"packages":[{"id":1,"name":"upgrade","architecture":"i386","mode":"install","automatic":false,"versions":{"candidate":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"install":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"current":{"id":3,"version":"1.0","architecture":"i386","pin":100,"origins":[]}}}]}} +HOOK: empty +HOOK: BYE +Inst upgrade [1.0] (2.0 Lemons:testing [i386]) +Conf upgrade (2.0 Lemons:testing [i386]) +HOOK: HELLO +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.hello","id":0,"params":{"versions":["0.1","0.2"]}} +HOOK: empty +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.install.post","params":{"command":"dist-upgrade","search-terms":[],"unknown-packages":[],"packages":[{"id":1,"name":"upgrade","architecture":"i386","mode":"install","automatic":false,"versions":{"candidate":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"install":{"id":1,"version":"2.0","architecture":"i386","pin":500,"origins":[{"archive":"testing","codename":"testing","origin":"Oranges","label":"Lemons","site":""}]},"current":{"id":3,"version":"1.0","architecture":"i386","pin":100,"origins":[]}}}]}} +HOOK: empty +HOOK: BYE' apt dist-upgrade -s + + +################## Wrong version ######################### +TEST_HOOK_VERSION=42 + +testfailureequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +HOOK: HELLO +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.hello","id":0,"params":{"versions":["0.1","0.2"]}} +HOOK: empty +HOOK: HELLO +HOOK: request {"jsonrpc":"2.0","method":"org.debian.apt.hooks.hello","id":0,"params":{"versions":["0.1","0.2"]}} +HOOK: empty +E: Unknown hook version in handshake from hook '$HOOK': {"jsonrpc": "2.0", "result": {"version": "42"}, "id": 0} +E: Sub-process '$HOOK' returned an error code (1) +E: Failure running hook '$HOOK' +E: Unknown hook version in handshake from hook '$HOOK': {"jsonrpc": "2.0", "result": {"version": "42"}, "id": 0} +E: Sub-process '$HOOK' returned an error code (1) +E: Failure running hook '$HOOK'' apt dist-upgrade -s +################## Error in hello response ######################### + +cat > json-hook.sh << EOF +#!/bin/bash +exec 2>/dev/null +trap '' SIGPIPE +while true; do + read request <&\$APT_HOOK_SOCKET + read empty <&\$APT_HOOK_SOCKET + + if echo "\$request" | grep -q ".hello"; then + printf '{"jsonrpc": "2.0", "error": {"version": "0.1"}, "id": 0}\n\n' >&\$APT_HOOK_SOCKET + break + fi +done +exit 0 +EOF + + +testfailureequal 'Reading package lists... +Building dependency tree... +E: Hook '$HOOK' reported an error during hello: {"jsonrpc": "2.0", "error": {"version": "0.1"}, "id": 0} +E: Hook '$HOOK' reported an error during hello: {"jsonrpc": "2.0", "error": {"version": "0.1"}, "id": 0}' apt install foo -s + +################## Missing separator line ######################### +cat > json-hook.sh << EOF +#!/bin/bash +exec 2>/dev/null +trap '' SIGPIPE +while true; do + read request <&\$APT_HOOK_SOCKET + read empty <&\$APT_HOOK_SOCKET + + if echo "\$request" | grep -q ".hello"; then + printf '{"jsonrpc": "2.0", "result": {"version": "0.1"}, "id": 0}\n' >&\$APT_HOOK_SOCKET + break + fi +done +exit 0 +EOF + + +testfailureequal 'Reading package lists... +Building dependency tree... +E: Could not read message separator line after handshake from '$HOOK': end of file +E: Could not read message separator line after handshake from '$HOOK': end of file' apt install foo -s + +################## Wrong separator line ######################### +cat > json-hook.sh << EOF +#!/bin/bash +exec 2>/dev/null +trap '' SIGPIPE +while true; do + read request <&\$APT_HOOK_SOCKET + read empty <&\$APT_HOOK_SOCKET + + if echo "\$request" | grep -q ".hello"; then + printf '{"jsonrpc": "2.0", "result": {"version": "0.1"}, "id": 0}\nXX' >&\$APT_HOOK_SOCKET + break + fi +done +exit 0 +EOF + + +testfailureequal 'Reading package lists... +Building dependency tree... +E: Expected empty line after handshake from '$HOOK', received XX +E: Expected empty line after handshake from '$HOOK', received XX' apt install foo -s + +##################### Removed hook || true ############################ +cat > rootdir/etc/apt/apt.conf.d/99-json-hooks << EOF + AptCli::Hooks::Install:: "true"; + AptCli::Hooks::Search:: "true"; +EOF + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + foo +0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. +Inst foo (1.0 Lemons:unstable [all]) +Conf foo (1.0 Lemons:unstable [all])' apt install foo -s + + + diff --git a/test/integration/test-apt-cli-list b/test/integration/test-apt-cli-list new file mode 100755 index 0000000..e81a3b7 --- /dev/null +++ b/test/integration/test-apt-cli-list @@ -0,0 +1,91 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'i386' 'armel' + +insertpackage 'unstable' 'foo' 'all' '1.0' +insertinstalledpackage 'bar' 'i386' '1.0' + +insertinstalledpackage 'foobar' 'i386' '1.0' +insertpackage 'unstable' 'foobar' 'i386' '2.0' + +insertinstalledpackage 'baz' 'all' '0.1' +insertpackage 'testing' 'baz' 'all' '1.0' +insertpackage 'unstable' 'baz' 'all' '2.0' + +insertinstalledpackage 'foreign' 'armel' '1.0' 'Multi-Arch: foreign' +insertpackage 'unstable' 'foreign' 'i386,armel' '2.0' 'Multi-Arch: foreign' +insertpackage 'unstable' 'lib' 'i386,armel' '2.0' 'Multi-Arch: same' + +setupaptarchive + +testsuccessequal "Listing... +bar/now 1.0 i386 [installed,local] +baz/unstable 2.0 all [upgradable from: 0.1] +foo/unstable 1.0 all +foobar/unstable 2.0 i386 [upgradable from: 1.0] +foreign/unstable 2.0 armel [upgradable from: 1.0] +foreign/unstable 2.0 i386 +lib/unstable 2.0 armel +lib/unstable 2.0 i386" apt list + +testsuccessequal "Listing... +foo/unstable 1.0 all +foobar/unstable 2.0 i386 [upgradable from: 1.0]" apt list "foo*" + +testsuccessequal "Listing... +baz/unstable 2.0 all [upgradable from: 0.1] +foobar/unstable 2.0 i386 [upgradable from: 1.0] +foreign/unstable 2.0 armel [upgradable from: 1.0]" apt list --upgradable + +# FIXME: hm, hm - does it make sense to have this different? shouldn't +# we use "installed,upgradable" consistently? +testsuccessequal "Listing... +bar/now 1.0 i386 [installed,local] +baz/now 0.1 all [installed,upgradable to: 2.0] +foobar/now 1.0 i386 [installed,upgradable to: 2.0] +foreign/now 1.0 armel [installed,upgradable to: 2.0]" apt list --installed + +testsuccessequal "Listing... +bar/now 1.0 i386 [installed,local] + +foobar/unstable 2.0 i386 [upgradable from: 1.0] +foobar/now 1.0 i386 [installed,upgradable to: 2.0] +" apt list bar foobar --all-versions + +testsuccessequal "Listing... +bar/now 1.0 i386 [installed,local] + an autogenerated dummy bar=1.0/installed +" apt list bar --verbose + +# test for dpkg ^rc state +insertinstalledpackage 'conf-only' 'i386' '1.0' '' '' 'deinstall ok config-files' +testsuccessequal "Listing... +conf-only/now 1.0 i386 [residual-config]" apt list conf-only + +# ensure that the users learns about multiple versions too +testsuccessequal "Listing... +baz/unstable 2.0 all [upgradable from: 0.1] +N: There are 2 additional versions. Please use the '-a' switch to see them." apt list baz -o quiet=0 +testsuccessequal 'Listing... +baz/unstable 2.0 all [upgradable from: 0.1] +baz/testing 1.0 all +baz/now 0.1 all [installed,upgradable to: 2.0] +' apt list baz -o quiet=0 -a + +# test format strings for machine parseable output +testsuccessequal 'bar - 1.0 - 1.0 +baz - 0.1 - 2.0' apt list -qq bar baz -o APT::Cmd::use-format=true -o APT::Cmd::format="\${Package} - \${installed:Version} - \${candidate:Version}" + + +insertinstalledpackage 'lib' 'i386,armel' '1.0' 'Multi-Arch: same' +testsuccessequal 'Listing... +baz/unstable 2.0 all [upgradable from: 0.1] +foobar/unstable 2.0 i386 [upgradable from: 1.0] +foreign/unstable 2.0 armel [upgradable from: 1.0] +lib/unstable 2.0 armel [upgradable from: 1.0] +lib/unstable 2.0 i386 [upgradable from: 1.0]' apt list --upgradeable diff --git a/test/integration/test-apt-cli-search b/test/integration/test-apt-cli-search new file mode 100755 index 0000000..6457ece --- /dev/null +++ b/test/integration/test-apt-cli-search @@ -0,0 +1,79 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "i386" + +DESCR='Some description that has a unusual word xxyyzz and aabbcc and a UPPERCASE' +DESCR2='Some other description with the unusual aabbcc only' +insertpackage 'unstable' 'foo' 'all' '1.0' '' '' "$DESCR + Long description of stuff and such, with lines + . + and paragraphs and everything." +insertpackage 'testing' 'bar' 'i386' '2.0' '' '' "$DESCR2" + +setupaptarchive + +APTARCHIVE="$(readlink -f ./aptarchive)" + +testfailureequal 'E: You must give at least one search pattern' aptcache search +testfailureequal 'E: You must give at least one search pattern' apt search + +# with OP progress +testsuccessequal "Sorting... +Full Text Search... +foo/unstable 1.0 all + $DESCR +" apt search xxyyzz + +# without op progress +testsuccessequal "foo/unstable 1.0 all + $DESCR +" apt search -qq xxyyzz +testempty apt search -qq --names-only xxyyzz + +# search name +testsuccessequal "foo/unstable 1.0 all + $DESCR +" apt search -qq foo +testsuccessequal "foo/unstable 1.0 all + $DESCR +" apt search -qq --names-only foo + +# search with multiple words is a AND search +testsuccessequal "foo/unstable 1.0 all + $DESCR +" apt search -qq aabbcc xxyyzz +testsuccessequal "foo/unstable 1.0 all + $DESCR +" apt search -qq 'a+b+c+' 'i*xxy{0,2}zz' + +# search is not case-sensitive by default +testsuccessequal "foo/unstable 1.0 all + $DESCR +" apt search -qq uppercase +testsuccessequal "foo/unstable 1.0 all + $DESCR +" apt search -qq 'up[pP]erc[Aa]se' + +# search is done in the long description +testsuccessequal "foo/unstable 1.0 all + $DESCR +" apt search -qq 'long description' +testsuccessequal "foo/unstable 1.0 all + $DESCR + Long description of stuff and such, with lines + . + and paragraphs and everything. +" apt search --full -qq 'long description' + +# output is sorted and search word finds both package +testsuccessequal "bar/testing 2.0 i386 + $DESCR2 + +foo/unstable 1.0 all + $DESCR +" apt search -qq aabbcc diff --git a/test/integration/test-apt-cli-show b/test/integration/test-apt-cli-show new file mode 100755 index 0000000..05a801f --- /dev/null +++ b/test/integration/test-apt-cli-show @@ -0,0 +1,201 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'i386' 'amd64' + +generatelotsofnames() { + for i in $(seq 0 10000); do + printf ', this-is-a-long-pkg-name-%s (= 0.a.long.version)' "$i" + done +} + +DESCR='Some description + That has multiple lines' +insertpackage 'unstable' 'foo' 'all' '1.0' '' '' "$DESCR" +insertpackage 'unstable' 'bar' 'i386,amd64' '1' '' '' "$DESCR" +insertpackage 'unstable' 'big' 'i386,amd64' '1' 'Installed-Size: 4129421' '' "$DESCR" +insertpackage 'unstable' 'large' 'all' '1' "Provides: pkga$(generatelotsofnames)" '' "$DESCR" +insertpackage 'unstable' 'large2' 'all' '1' "Provides: foobar, pkga$(generatelotsofnames)" '' "$DESCR" +insertpackage 'unstable' 'multi' 'all' '1.0' '' '' "$DESCR" +insertpackage 'unstable' 'multi' 'all' '2.0' '' '' "$DESCR" +insertinstalledpackage 'foo' 'all' '1.0' + +setupaptarchive + +APTARCHIVE=$(readlink -f ./aptarchive) + +# note that we do not display Description-md5 with the "apt" cmd +# and also show some additional fields that are calculated +testsuccessequal "Package: foo +Version: 1.0 +Priority: optional +Section: other +Maintainer: Joe Sixpack <joe@example.org> +Installed-Size: 43.0 kB +Download-Size: 42 B +APT-Manual-Installed: yes +APT-Sources: file:$APTARCHIVE unstable/main all Packages +Description: Some description + That has multiple lines +" apt show foo +testsuccessequal "Package: foo +Version: 1.0 +Priority: optional +Section: other +Maintainer: Joe Sixpack <joe@example.org> +Installed-Size: 43.0 kB +Filename: pool/main/foo/foo_1.0_all.deb +SHA256: 0000000000000000000000000000000000000000000000000000000000000000 +Download-Size: 42 B +APT-Manual-Installed: yes +APT-Sources: file:$APTARCHIVE unstable/main all Packages +Description: Some description + That has multiple lines +" apt show foo --full +testsuccessequal "Package: bar +Version: 1 +Priority: optional +Section: other +Maintainer: Joe Sixpack <joe@example.org> +Installed-Size: 43.0 kB +Download-Size: 42 B +APT-Sources: file:$APTARCHIVE unstable/main i386 Packages +Description: Some description + That has multiple lines +" apt show bar +testsuccessequal "Package: bar:amd64 +Version: 1 +Priority: optional +Section: other +Maintainer: Joe Sixpack <joe@example.org> +Installed-Size: 43.0 kB +Download-Size: 42 B +APT-Sources: file:$APTARCHIVE unstable/main amd64 Packages +Description: Some description + That has multiple lines +" apt show bar:amd64 +testsuccessequal "Package: big:amd64 +Version: 1 +Priority: optional +Section: other +Maintainer: Joe Sixpack <joe@example.org> +Installed-Size: 4229 MB +Download-Size: 42 B +APT-Sources: file:$APTARCHIVE unstable/main amd64 Packages +Description: Some description + That has multiple lines +" apt show big:amd64 + +testsuccessequal "Package: large +Version: 1 +Priority: optional +Section: other +Maintainer: Joe Sixpack <joe@example.org> +Installed-Size: 43.0 kB +Provides: pkga$(generatelotsofnames) +Download-Size: 42 B +APT-Sources: file:$APTARCHIVE unstable/main all Packages +Description: Some description + That has multiple lines +" apt show large +testsuccessequal "Package: large2 +Version: 1 +Priority: optional +Section: other +Maintainer: Joe Sixpack <joe@example.org> +Installed-Size: 43.0 kB +Provides: foobar, pkga$(generatelotsofnames) +Download-Size: 42 B +APT-Sources: file:$APTARCHIVE unstable/main all Packages +Description: Some description + That has multiple lines +" apt show large2 + +# Test for multiple versions +testsuccessequal "Package: multi +Version: 2.0 +Priority: optional +Section: other +Maintainer: Joe Sixpack <joe@example.org> +Installed-Size: 43.0 kB +Download-Size: 42 B +APT-Sources: file:$APTARCHIVE unstable/main all Packages +Description: Some description + That has multiple lines + +N: There is 1 additional record. Please use the '-a' switch to see it" apt show multi + +testsuccessequal "Package: multi +Version: 2.0 +Priority: optional +Section: other +Maintainer: Joe Sixpack <joe@example.org> +Installed-Size: 43.0 kB +Download-Size: 42 B +APT-Sources: file:$APTARCHIVE unstable/main all Packages +Description: Some description + That has multiple lines + +Package: multi +Version: 1.0 +Priority: optional +Section: other +Maintainer: Joe Sixpack <joe@example.org> +Installed-Size: 43.0 kB +Download-Size: 42 B +APT-Sources: file:$APTARCHIVE unstable/main all Packages +Description: Some description + That has multiple lines +" apt show multi -a + +# test apt info +testsuccessequal "Package: multi +Version: 2.0 +Priority: optional +Section: other +Maintainer: Joe Sixpack <joe@example.org> +Installed-Size: 43.0 kB +Download-Size: 42 B +APT-Sources: file:$APTARCHIVE unstable/main all Packages +Description: Some description + That has multiple lines + +N: There is 1 additional record. Please use the '-a' switch to see it" apt info multi + +testsuccessequal "Package: multi +Version: 2.0 +Priority: optional +Section: other +Maintainer: Joe Sixpack <joe@example.org> +Installed-Size: 43.0 kB +Download-Size: 42 B +APT-Sources: file:$APTARCHIVE unstable/main all Packages +Description: Some description + That has multiple lines + +Package: multi +Version: 1.0 +Priority: optional +Section: other +Maintainer: Joe Sixpack <joe@example.org> +Installed-Size: 43.0 kB +Download-Size: 42 B +APT-Sources: file:$APTARCHIVE unstable/main all Packages +Description: Some description + That has multiple lines +" apt info multi -a + +# this is the default, but disabled by the testcases +testsuccess apt show foo -o Apt::Cmd::Disable-Script-Warning=0 +cp rootdir/tmp/testsuccess.output aptshow.output +testsuccess grep '^WARNING: ' aptshow.output + +if [ "$(id -u)" != '0' ]; then + testsuccess apt install foo -s -o APT::Get::Show-User-Simulation-Note=1 + cp rootdir/tmp/testsuccess.output aptshow.output + testsuccess grep '^NOTE: ' aptshow.output +fi diff --git a/test/integration/test-apt-cli-update b/test/integration/test-apt-cli-update new file mode 100755 index 0000000..8102215 --- /dev/null +++ b/test/integration/test-apt-cli-update @@ -0,0 +1,22 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "i386" + +insertpackage 'unstable' 'foo' 'all' '2.0' +insertinstalledpackage 'foo' 'all' '1.0' + +setupaptarchive --no-update + +testfailuremsg 'E: The update command takes no arguments' apt update arguments + +testempty apt update -qq -o pkgCacheFile::Generate=false +testsuccessequal "1 package can be upgraded. Run 'apt list --upgradable' to see it." apt update -qq + +rm -f rootdir/var/lib/dpkg/status +insertinstalledpackage 'foo' 'all' '2.0' +testsuccessequal 'All packages are up to date.' apt update -qq diff --git a/test/integration/test-apt-cli-upgrade b/test/integration/test-apt-cli-upgrade new file mode 100755 index 0000000..705c163 --- /dev/null +++ b/test/integration/test-apt-cli-upgrade @@ -0,0 +1,32 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "i386" + +insertpackage 'unstable' 'foo' 'all' '2.0' 'Depends: foo-new-dependency' +insertpackage 'unstable' 'foo-new-dependency' 'all' '2.0' +insertinstalledpackage 'foo' 'all' '1.0' + +setupaptarchive + +APTARCHIVE="$(readlink -f ./aptarchive)" + +# default is to allow new dependencies +testsuccessequal "The following NEW packages will be installed: + foo-new-dependency +The following packages will be upgraded: + foo +1 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst foo-new-dependency (2.0 unstable [all]) +Inst foo [1.0] (2.0 unstable [all]) +Conf foo-new-dependency (2.0 unstable [all]) +Conf foo (2.0 unstable [all])" apt upgrade -qq -s + +# ensure the 'old' way works as well +testsuccessequal "The following packages have been kept back: + foo +0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded." apt upgrade -qq -s --no-new-pkgs diff --git a/test/integration/test-apt-config b/test/integration/test-apt-config new file mode 100755 index 0000000..12df63d --- /dev/null +++ b/test/integration/test-apt-config @@ -0,0 +1,50 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' + +testsuccess aptconfig dump +testsuccessequal 'APT::Architecture "amd64";' aptconfig dump APT::Architecture +testempty aptconfig dump config::which::does::not::exist + +testsuccessequal 'APT::Architectures ""; +APT::Architectures:: "amd64";' aptconfig dump APT::Architectures +testsuccessequal 'APT::Architectures:: "amd64";' aptconfig dump --no-empty APT::Architectures +testsuccessequal 'amd64' aptconfig dump --no-empty --format='%v%n' APT::Architectures + +testempty aptconfig shell +testfailureequal 'E: Arguments not in pairs' aptconfig shell APT::Architecture +testempty aptconfig shell APT::Architecture ARCH # incorrect order +testsuccessequal "ARCH='amd64'" aptconfig shell ARCH APT::Architecture + +ROOTDIR="$(readlink -f rootdir)" +testsuccessequal "CONFIG='apt.conf'" aptconfig shell CONFIG Dir::Etc::main +testsuccessequal "CONFIG='${ROOTDIR}/etc/apt/apt.conf'" aptconfig shell CONFIG Dir::Etc::main/f +testsuccessequal "CONFIG='etc/apt'" aptconfig shell CONFIG Dir::Etc +testsuccessequal "CONFIG='${ROOTDIR}/etc/apt/'" aptconfig shell CONFIG Dir::Etc/ # old style +testsuccessequal "CONFIG='${ROOTDIR}/etc/apt/'" aptconfig shell CONFIG Dir::Etc/d + +testempty aptconfig dump --no-empty --format='%v%n' APT::Build-Profiles +export DEB_BUILD_PROFILES='nodoc stage1' +testsuccessequal 'nodoc +stage1' aptconfig dump --no-empty --format='%v%n' APT::Build-Profiles +unset DEB_BUILD_PROFILES +testempty aptconfig dump --no-empty --format='%v%n' APT::Build-Profiles + +cat > spaces.conf <<EOF +Spaces::Test::"Foo Bar" "1 1"; +Spaces::Test2::" Bar Baz " "B B" { + A%20B "C C"; + "B C" "A A"; +}; +EOF +testsuccessequal 'Spaces::Test ""; +Spaces::Test::Foo%20Bar "1 1"; +Spaces::Test2 ""; +Spaces::Test2::%20Bar%20Baz%20 "B B"; +Spaces::Test2::%20Bar%20Baz%20::A%20B "C C"; +Spaces::Test2::%20Bar%20Baz%20::B%20C "A A";' aptconfig dump -c spaces.conf Spaces::Test Spaces::Test2 diff --git a/test/integration/test-apt-edit-sources b/test/integration/test-apt-edit-sources new file mode 100755 index 0000000..58742e9 --- /dev/null +++ b/test/integration/test-apt-edit-sources @@ -0,0 +1,39 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'native' + +echo 'Dir::Bin::Editor "cat";' > rootdir/etc/apt/apt.conf.d/editor.conf + +echo 'deb http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list.d/rocks.list +testsuccessequal "$(cat rootdir/etc/apt/sources.list.d/rocks.list)" apt edit-sources rocks.list + +cat >editor.sh <<EOF +#!/bin/sh +umask 077 +touch "\$@" +EOF +chmod +x ./editor.sh +echo 'Dir::Bin::Editor "./editor.sh";' > rootdir/etc/apt/apt.conf.d/editor.conf +testsuccess apt edit-sources blub.list +testfailure test -e 'rootdir/etc/apt/sources.list.d/blub.list' + +cat >editor.sh <<EOF +#!/bin/sh +umask 077 +echo '#comment' > "\$1" +EOF +testsuccess apt edit-sources blub.list +testfilestats 'rootdir/etc/apt/sources.list.d/blub.list' '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:644" + +echo 'Dir::Bin::Editor "cat";' > rootdir/etc/apt/apt.conf.d/editor.conf +echo 'blub' > rootdir/etc/apt/sources.list.d/blub.list +testfailure apt edit-sources blub.list --assume-no + +echo 'deb http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list.d/blub.list +touch -m -d 'now + 1 hour' rootdir/etc/apt/sources.list.d/blub.list +testwarning apt edit-sources blub.list --assume-no diff --git a/test/integration/test-apt-extracttemplates b/test/integration/test-apt-extracttemplates new file mode 100755 index 0000000..a47257c --- /dev/null +++ b/test/integration/test-apt-extracttemplates @@ -0,0 +1,78 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' + +# apt-extracttemplates needs this +insertinstalledpackage 'pkg-with-template' 'amd64' '1.0' + +# build a simple package that contains a config and a template +mkdir -p DEBIAN +CONFIG_STR="#!/bin/sh +random shell stuff +" +echo "$CONFIG_STR" > DEBIAN/config +chmod 755 DEBIAN/config + +testrun() { + local TEMPLATE_STR='Template: foo/bar +Type: string +Description: Some bar var +' + echo "$TEMPLATE_STR" > DEBIAN/templates + buildsimplenativepackage "$1" 'amd64' '0.8.15' 'stable' "$2" 'pkg with template' '' '' './DEBIAN' + + cp dpkg.status rootdir/var/lib/dpkg/status + insertinstalledpackage 'debconf' 'amd64' '3' + + # ensure we get the right stuff out of the file + rm -rf extracttemplates-out rootdir/var/cache/apt + mkdir extracttemplates-out + testsuccess aptextracttemplates -t ./extracttemplates-out incoming/${1}*.deb + OUT='rootdir/tmp/testsuccess.output' + testequal "$1" cut -f1 -d' ' $OUT + if [ -n "$2" ]; then + testequal '' cut -s -f2 -d' ' $OUT + else + testequal '1.0' cut -f2 -d' ' $OUT + fi + TEMPLATE=$(cut -f3 -d' ' $OUT) + testfileequal "$TEMPLATE" "$TEMPLATE_STR" + CONFIG=$(cut -f4 -d' ' $OUT) + testfileequal "$CONFIG" "$CONFIG_STR" + msgtest 'No extra files or directories in extraction directory' + if [ "$(find ./extracttemplates-out | wc -l)" = '3' ]; then + msgpass + else + msgfail + ls -l ./extracttemplates-out + fi + + # ensure that the format of the output string has the right number of dots + for s in "$CONFIG" "$TEMPLATE"; do + NR_DOTS=$(basename "$s" | tr -c -d '.') + testequal '..' echo $NR_DOTS + done + + if [ -n "$2" ]; then + rm -rf extracttemplates-out rootdir/var/cache/apt + mkdir extracttemplates-out + cp dpkg.status rootdir/var/lib/dpkg/status + insertinstalledpackage 'debconf' 'amd64' '1' + testempty aptextracttemplates -t ./extracttemplates-out incoming/${1}*.deb + fi +} + +cp rootdir/var/lib/dpkg/status dpkg.status +testrun 'pkg-with-template' '' +testrun 'pkg-with-template-depends' 'Depends: debconf (>= 2)' +testrun 'pkg-with-template-predepends' 'Pre-Depends: debconf (>= 2)' + +# test with no debconf installed +cp dpkg.status rootdir/var/lib/dpkg/status +testfailure aptextracttemplates -t ./extracttemplates-out incoming/pkg-with-template-depends*.deb +testfileequal 'rootdir/tmp/testfailure.output' 'E: Cannot get debconf version. Is debconf installed?' diff --git a/test/integration/test-apt-ftparchive b/test/integration/test-apt-ftparchive new file mode 100755 index 0000000..378b059 --- /dev/null +++ b/test/integration/test-apt-ftparchive @@ -0,0 +1,64 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment + +buildsimplenativepackage 'baz' 'all' '1' +buildsimplenativepackage 'foo' 'all' '1' +buildsimplenativepackage 'bar' 'all' '2' +buildsimplenativepackage 'bar' 'all' '1' + +EXPECT_PKG='Package: bar +Version: 1 +Package: bar +Version: 2 +Package: baz +Version: 1 +Package: foo +Version: 1' +EXPECT_SRC="$EXPECT_PKG" + +linkfiles() { + ln -s "../incoming/${2}.dsc" "${1}/${2}.dsc" + ln -s "../incoming/${2}.tar.xz" "${1}/${2}.tar.xz" + ln -s "../incoming/${2}_all.deb" "${1}/${2}_all.deb" +} +genoptions() { + echo 'baz_1' + echo 'foo_1' + echo 'bar_2' + echo 'bar_1' +} +gencombos() { + for a in $(genoptions); do + for b in $(genoptions); do + if [ "$a" = "$b" ]; then continue; fi + for c in $(genoptions); do + if [ "$a" = "$c" -o "$b" = "$c" ]; then continue; fi + for d in $(genoptions); do + if [ "$a" = "$d" -o "$b" = "$d" -o "$c" = "$d" ]; then continue; fi + echo "${a};${b};${c};${d}" + done + done + done + done +} +for combo in $(gencombos); do + msgmsg 'Running apt-ftparchive in configuration' "$combo" + incomedir="incoming${combo}" + mkdir "$incomedir" + for i in $(echo "$combo" | tr ';' '\n'); do + linkfiles "$incomedir" "$i" + done + + testsuccess aptftparchive packages "$incomedir" + cp rootdir/tmp/testsuccess.output aptarchive/Packages + testsuccessequal "$EXPECT_PKG" grep -e '^Package: ' -e '^Version: ' aptarchive/Packages + + testsuccess aptftparchive -qq sources "$incomedir" + cp rootdir/tmp/testsuccess.output aptarchive/Sources + testsuccessequal "$EXPECT_SRC" grep -e '^Package: ' -e '^Version: ' aptarchive/Sources +done diff --git a/test/integration/test-apt-ftparchive-by-hash b/test/integration/test-apt-ftparchive-by-hash new file mode 100755 index 0000000..ccfc627 --- /dev/null +++ b/test/integration/test-apt-ftparchive-by-hash @@ -0,0 +1,70 @@ +#!/bin/sh +set -e + +verify_by_hash() { + for hash_gen in SHA256:sha256sum SHA512:sha512sum; do + hash=$(echo ${hash_gen} | cut -f1 -d:) + gen=$(echo ${hash_gen} | cut -f2 -d:) + testsuccess stat aptarchive/dists/unstable/main/binary-i386/by-hash/$hash/$($gen aptarchive/dists/unstable/main/binary-i386/Packages | cut -f1 -d' ') + testsuccess stat aptarchive/dists/unstable/main/binary-i386/by-hash/$hash/$($gen aptarchive/dists/unstable/main/binary-i386/Packages.gz | cut -f1 -d' ') + done +} + +# +# main() +# +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' +configcompression 'gz' '.' +confighashes 'SHA256' 'SHA512' + +# enable by-hash in apt-ftparchive +echo 'APT::FTPArchive::DoByHash "1";' >> aptconfig.conf + +# build one package +buildsimplenativepackage 'foo' 'i386' '1' 'unstable' +buildaptarchivefromincoming + +# verify initial run +verify_by_hash +previous_hash=$(sha256sum aptarchive/dists/unstable/main/binary-i386/Packages | cut -f1 -d' ') + +# insert new package +buildsimplenativepackage 'bar' 'i386' '1' 'unstable' +# and build again +buildaptarchivefromincoming + +# ensure the new package packag is there +testsuccess zgrep "Package: bar" aptarchive/dists/unstable/main/binary-i386/Packages.gz + +# ensure we have the by-hash stuff +verify_by_hash + +# ensure the old hash is still there +testsuccess stat aptarchive/dists/unstable/main/binary-i386/by-hash/SHA256/$previous_hash + +# ensure we have it in the Release file +testsuccess grep "Acquire-By-Hash: yes" aptarchive/dists/unstable/*Release + +# now ensure gc work +for i in $(seq 3); do + buildsimplenativepackage 'bar' 'i386' "$i" 'unstable' + buildaptarchivefromincoming +done + +hash_count=$(ls aptarchive/dists/unstable/main/binary-i386/by-hash/SHA256/|wc -l) +# we have 2 files (uncompressed, gz) per run, 5 runs in total +# by default apt-ftparchive keeps three generations (current plus 2 older) +msgtest "Check that gc for by-hash works… " +if [ "$hash_count" = "6" ]; then + msgpass +else + echo "Got $hash_count expected 6" + msgfail +fi + +# ensure the current generation is still there +verify_by_hash + diff --git a/test/integration/test-apt-ftparchive-cachedb b/test/integration/test-apt-ftparchive-cachedb new file mode 100755 index 0000000..73d762c --- /dev/null +++ b/test/integration/test-apt-ftparchive-cachedb @@ -0,0 +1,103 @@ +#!/bin/sh +set -e + +ensure_correct_packages_file() { + testequal "Package: foo +Architecture: i386 +Version: 1 +Priority: optional +Section: others +Maintainer: Joe Sixpack <joe@example.org> +$(dpkg-deb -I ./aptarchive/pool/main/foo_1_i386.deb | grep 'Installed-Size:' | sed 's#^ ##') +Filename: pool/main/foo_1_i386.deb" head -n8 ./aptarchive/dists/test/main/binary-i386/Packages +} + +ensure_correct_contents_file() { + testfileequal ./aptarchive/dists/test/Contents-i386 "usr/bin/foo-i386 others/foo +usr/share/doc/foo/FEATURES others/foo +usr/share/doc/foo/changelog others/foo +usr/share/doc/foo/copyright others/foo" +} + +# +# main() +# +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' + +mkdir -p aptarchive/dists/test/main/i18n/ +mkdir -p aptarchive/dists/test/main/source/ +mkdir -p aptarchive/dists/test/main/binary-i386 +mkdir -p aptarchive/pool/main + +mkdir aptarchive-overrides +mkdir aptarchive-cache +cat > ftparchive.conf <<"EOF" +Dir { + ArchiveDir "./aptarchive"; + OverrideDir "./aptarchive-overrides"; + CacheDir "./aptarchive-cache"; +}; + +Default { + Packages::Compress ". gzip bzip2"; + Contents::Compress ". gzip bzip2"; + LongDescription "false"; +}; + +TreeDefault { + BinCacheDB "packages-$(SECTION)-$(ARCH).db"; + + Directory "pool/$(SECTION)"; + SrcDirectory "pool/$(SECTION)"; + + Packages "$(DIST)/$(SECTION)/binary-$(ARCH)/Packages"; + Contents "$(DIST)/Contents-$(ARCH)"; +}; + +Tree "dists/test" { + Sections "main"; + Architectures "i386"; + +}; +EOF + +# build one package +buildsimplenativepackage 'foo' 'i386' '1' 'test' +mv incoming/* aptarchive/pool/main/ + +# generate (empty cachedb) +testsuccess aptftparchive generate ftparchive.conf -o APT::FTPArchive::ShowCacheMisses=1 +cp rootdir/tmp/testsuccess.output stats-out.txt +ensure_correct_packages_file +ensure_correct_contents_file +testsuccessequal ' Misses in Cache: 2 + dists/test/Contents-i386: New 402 B Misses in Cache: 0' grep Misses stats-out.txt + +# generate again +testsuccess aptftparchive generate ftparchive.conf -o APT::FTPArchive::ShowCacheMisses=1 +cp rootdir/tmp/testsuccess.output stats-out.txt +ensure_correct_packages_file +ensure_correct_contents_file +testsuccessequal ' Misses in Cache: 0 + dists/test/Contents-i386: Misses in Cache: 0' grep Misses stats-out.txt + +# and again (with removing the Packages file) +rm -f ./aptarchive/dists/test/main/binary-i386/* +rm -f ./aptarchive/dists/test/Contents-i386 +testsuccess aptftparchive generate ftparchive.conf -o APT::FTPArchive::ShowCacheMisses=1 +cp rootdir/tmp/testsuccess.output stats-out.txt +ensure_correct_packages_file +ensure_correct_contents_file +testsuccessequal ' Misses in Cache: 0 + dists/test/Contents-i386: New 402 B Misses in Cache: 0' grep Misses stats-out.txt + +# and clean +rm -rf aptarchive/pool/main/* +testsuccessequal "packages-main-i386.db" aptftparchive clean ftparchive.conf +testsuccess aptftparchive clean ftparchive.conf -o Debug::APT::FTPArchive::Clean=1 +cp rootdir/tmp/testsuccess.output clean-out.txt +testsuccessequal "0 Number of unique keys in the tree" grep unique clean-out.txt +testsuccessequal "packages-main-i386.db" grep packages-main-i386.db clean-out.txt diff --git a/test/integration/test-apt-ftparchive-cachedb-lp1274466 b/test/integration/test-apt-ftparchive-cachedb-lp1274466 new file mode 100755 index 0000000..b0bcae8 --- /dev/null +++ b/test/integration/test-apt-ftparchive-cachedb-lp1274466 @@ -0,0 +1,59 @@ +#!/bin/sh +set -e + + +# +# main() +# +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "i386" +confighashes 'MD5' 'SHA1' 'SHA256' 'SHA512' + +db_dump=db_dump +if command -v db_dump-5 >/dev/null 2>&1; then + db_dump=db_dump-5 +fi + +# gather the db and the deb, ensure mtime is not modified as its saved in the DB +cp -p "$TESTDIR/deb-lp1274466-cachedb.deb" foo_1_i386.deb +cp -p "$TESTDIR/cachedb-lp1274466-old-format.db" old-format.db + +# verify that the format is different +testsuccess aptftparchive --db new-format.db packages . +$db_dump new-format.db > new-format.dump +$db_dump old-format.db > old-format.dump +testfailure diff -u old-format.dump new-format.dump + +# ensure the new format as the sha512 +testsuccess grep 7da58ff901a40ecf42a730dc33198b182e9ba9ec98799fc2c2b6fabeeee40cc12a0e7cadb4b66764235c56e1009dbfe8a9a566fb1eedf47a992d1fff2cc3332c new-format.dump +# but the old format does not +testfailure grep 7da58ff901a40ecf42a730dc33198b182e9ba9ec98799fc2c2b6fabeeee40cc12a0e7cadb4b66764235c56e1009dbfe8a9a566fb1eedf47a992d1fff2cc3332c old-format.dump + +# regression test for corruption with previous generation of cachedb +testsuccessequal "Package: foo +Architecture: i386 +Version: 1 +Priority: optional +Section: others +Maintainer: Joe Sixpack <joe@example.org> +Installed-Size: 29 +Filename: ./foo_1_i386.deb +Size: 1270 +MD5sum: 85d0e908c1a897700e2c5dea72d7e3c0 +SHA1: 858b09169032b7925a0e463f46b6634243fc40ce +SHA256: 3750a2c9c6b5beee7f307564be3d51d3ec7cbb78fa4f0b47f84a7c41477bff59 +SHA512: 7da58ff901a40ecf42a730dc33198b182e9ba9ec98799fc2c2b6fabeeee40cc12a0e7cadb4b66764235c56e1009dbfe8a9a566fb1eedf47a992d1fff2cc3332c +Description: an autogenerated dummy foo=1/test + If you find such a package installed on your system, + something went horribly wrong! They are autogenerated + und used only by testcases and surf no other propose… +" aptftparchive --db old-format.db packages . + +# ensure that the db is updated and contains the new sha512 +$db_dump old-format.db > old-format.dump + +testsuccess grep 7da58ff901a40ecf42a730dc33198b182e9ba9ec98799fc2c2b6fabeeee40cc12a0e7cadb4b66764235c56e1009dbfe8a9a566fb1eedf47a992d1fff2cc3332c old-format.dump + + diff --git a/test/integration/test-apt-ftparchive-notautomatic b/test/integration/test-apt-ftparchive-notautomatic new file mode 100755 index 0000000..b2f65cc --- /dev/null +++ b/test/integration/test-apt-ftparchive-notautomatic @@ -0,0 +1,54 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' + +getnotautomaticfromsuite() { + case "$1" in + experimental|backports) echo 'yes';; + esac +} +getbutautomaticupgradesfromsuite() { + case "$1" in + backports) echo 'yes';; + esac +} + +insertpackage 'unstable' 'foo' 'i386' '1' +insertpackage 'backports' 'foo' 'i386' '3~bpo1' +insertpackage 'experimental' 'foo' 'i386' '3' +setupaptarchive + +# check no unstable NotAutomatic field +testfailure grep "NotAutomatic:" aptarchive/dists/unstable/*Release +# check backports NotAutomatic field +testsuccess grep "NotAutomatic: yes" aptarchive/dists/backports/*Release +# check experimental NotAutomatic field +testsuccess grep "NotAutomatic: yes" aptarchive/dists/experimental/*Release + +# check no unstable ButAutomaticUpgrades field +testfailure grep "ButAutomaticUpgrades:" aptarchive/dists/unstable/*Release +# check backports ButAutomaticUpgrades field +testsuccess grep "ButAutomaticUpgrades: yes" aptarchive/dists/backports/*Release +# check no experimental ButAutomaticUpgrades field +testfailure grep "ButAutomaticUpgrades:" aptarchive/dists/experimental/*Release + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + foo +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1 unstable [i386]) +Conf foo (1 unstable [i386])' apt install foo -s + +insertinstalledpackage 'foo' 'i386' '2' +testsuccessequal 'Reading package lists... +Building dependency tree... +The following packages will be upgraded: + foo +1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Inst foo [2] (3~bpo1 backports [i386]) +Conf foo (3~bpo1 backports [i386])' apt install foo -s diff --git a/test/integration/test-apt-ftparchive-src-cachedb b/test/integration/test-apt-ftparchive-src-cachedb new file mode 100755 index 0000000..8bab1fd --- /dev/null +++ b/test/integration/test-apt-ftparchive-src-cachedb @@ -0,0 +1,191 @@ +#!/bin/sh +set -e + +assert_correct_sources_file() { + testsuccessequal "Package: bar +Format: 3.0 (native) +Binary: bar +Architecture: all +Version: 1.0 +Directory: pool/main +Package-List: + bar deb admin extra +Files: + 7b57dd065e51de5905288a5104d4bef5 406 bar_1.0.dsc + d41d8cd98f00b204e9800998ecf8427e 0 bar_1.0.tar.gz +Checksums-Sha1: + 17a40b76715f393ab7fd6485c9392a02f1adf903 406 bar_1.0.dsc + da39a3ee5e6b4b0d3255bfef95601890afd80709 0 bar_1.0.tar.gz +Checksums-Sha256: + d9d7507f66a89258b6920aca47747d7a30e0e64b09ecabbf02b2efbdabf840a9 406 bar_1.0.dsc + e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 0 bar_1.0.tar.gz +Checksums-Sha512: + ee0a9bfb6614159b45203fc29487d4f37387993ca0e6d6f27b80010498f3731d75753188ece307508ae9af0259bd11a6af15a1a38f0b87dbd5ea1273b7a7d53e 406 bar_1.0.dsc + cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e 0 bar_1.0.tar.gz + +Package: foo +Format: 3.0 (native) +Binary: foo +Architecture: all +Version: 1.0 +Directory: pool/main +Package-List: + foo deb admin extra +Files: + d144826e6f02831c1933e910c92cd7e0 171 foo_1.0.dsc + d41d8cd98f00b204e9800998ecf8427e 0 foo_1.0.tar.gz +Checksums-Sha1: + 979306aa3ccff3d61bba062bb6977e2493c6f907 171 foo_1.0.dsc + da39a3ee5e6b4b0d3255bfef95601890afd80709 0 foo_1.0.tar.gz +Checksums-Sha256: + 8c780af8b5a6d5b3c2e2f9518940beebea52ac6d6ad7b52c082dc925cfe5b532 171 foo_1.0.dsc + e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 0 foo_1.0.tar.gz +Checksums-Sha512: + 3da0240fd764657c2f3661b4d750578a9a99b0580591b133756379d48117ebda87a5ed2467f513200d6e7eaf51422cbe91c15720eef7fb4bba2cc8ff81ebc547 171 foo_1.0.dsc + cf83e1357eefb8bdf1542850d66d8007d620e4050b5715dc83f4a921d36ce9ce47d0d13c5d85f2b0ff8318d2877eec2f63b931bd47417a81a538327af927da3e 0 foo_1.0.tar.gz +" aptsortpkgs ./aptarchive/dists/test/main/source/Sources -o APT::SortPkgs::Source=true +} + +create_source_files() { + NAME="$1" + REQUEST_CLEARSIGN="$2" + + TARFILE="aptarchive/pool/main/${NAME}_1.0.tar.gz" + DSC_FILE="aptarchive/pool/main/${NAME}_1.0.dsc" + touch $TARFILE + if [ "$REQUEST_CLEARSIGN" = "CLEARSIGN" ]; then + printf -- "-----BEGIN PGP SIGNED MESSAGE-----\n\n" > $DSC_FILE + fi + cat >> $DSC_FILE << EOF +Format: 3.0 (native) +Source: $NAME +Binary: $NAME +Architecture: all +Version: 1.0 +Package-List: + $NAME deb admin extra +Files: + $(md5sum $TARFILE|cut -f1 -d' ') $(stat --print="%s" $TARFILE) ${NAME}_1.0.tar.gz +EOF + if [ "$REQUEST_CLEARSIGN" = "CLEARSIGN" ]; then + cat >> $DSC_FILE <<EOF + +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.11 (GNU/Linux) + +iEYEARECAAYFAk3k/VoACgkQliSD4VZixzQxlgCgpav7j68z48qNTDFuT9fLqwT5 +DFwAoIXatJFENEC371bMKTkUKlwZxQEk +=iI9V +-----END PGP SIGNATURE----- +EOF + fi +} + +create_clearsigned_source_files() { + NAME="$1" + create_source_files "$NAME" "CLEARSIGN" +} + +# +# main() +# +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "i386" +confighashes 'MD5' 'SHA1' 'SHA256' 'SHA512' + +msgtest 'Test apt-ftparchive source with missing hashes in .dsc' + +mkdir -p aptarchive/pool/main +create_source_files foo +create_clearsigned_source_files bar + +mkdir -p aptarchive/dists/test/main/i18n/ +mkdir -p aptarchive/dists/test/main/source/ + +mkdir aptarchive-overrides +mkdir aptarchive-cache + +msgtest 'generate with --db option' +cd aptarchive +aptftparchive --db ./test.db sources pool/main/ -o APT::FTPArchive::ShowCacheMisses=1 > dists/test/main/source/Sources 2>stats-out.txt && msgpass || msgfail +testsuccess grep Misses stats-out.txt +testfileequal '../rootdir/tmp/testsuccess.output' ' Misses in Cache: 2' +cd .. +assert_correct_sources_file + +msgtest 'generate with --db option (again to ensure its in the cache)' +cd aptarchive +aptftparchive --db ./test.db sources pool/main/ -o APT::FTPArchive::ShowCacheMisses=1 > dists/test/main/source/Sources 2>stats-out.txt && msgpass || msgfail +testsuccess grep Misses stats-out.txt +testfileequal '../rootdir/tmp/testsuccess.output' ' Misses in Cache: 0' +cd .. +assert_correct_sources_file + +# get ready for the "apt-ftparchive generate" command +cat > apt-ftparchive.conf <<"EOF" +Dir { + ArchiveDir "./aptarchive"; + OverrideDir "./aptarchive-overrides"; + CacheDir "./aptarchive-cache"; +}; + +Default { + Packages::Compress ". gzip bzip2"; + Contents::Compress ". gzip bzip2"; + LongDescription "false"; +}; + +TreeDefault { + BinCacheDB "packages-$(SECTION)-$(ARCH).db"; + SrcCacheDB "sources-$(SECTION).db"; + + Directory "pool/$(SECTION)"; + SrcDirectory "pool/$(SECTION)"; + + Sources "$(DIST)/$(SECTION)/source/Sources"; +}; + +Tree "dists/test" { + Sections "main"; + Architectures "source"; + +}; +EOF + +msgtest 'generate (empty cachedb)' +testsuccess aptftparchive generate apt-ftparchive.conf -o APT::FTPArchive::ShowCacheMisses=1 +cp rootdir/tmp/testsuccess.output stats-out.txt +testsuccess grep Misses stats-out.txt +testfileequal rootdir/tmp/testsuccess.output ' Misses in Cache: 2' +assert_correct_sources_file + +msgtest 'generate again out of the cache' +rm -f ./aptarchive/dists/test/main/source/Sources +testsuccess aptftparchive generate apt-ftparchive.conf -o APT::FTPArchive::ShowCacheMisses=1 +cp rootdir/tmp/testsuccess.output stats-out.txt +testsuccess grep Misses stats-out.txt +testfileequal rootdir/tmp/testsuccess.output ' Misses in Cache: 0' +assert_correct_sources_file + +# generate invalid files +mkdir aptarchive/pool/invalid +printf "meep" > aptarchive/pool/invalid/invalid_1.0.dsc +testequal " +E: Could not find a record in the DSC 'aptarchive/pool/invalid/invalid_1.0.dsc'" aptftparchive sources aptarchive/pool/invalid +rm -f aptarchive/pool/invalid/invalid_1.0.dsc + +printf "meep: yes" > aptarchive/pool/invalid/invalid_1.0.dsc +testequal " +E: Could not find a Source entry in the DSC 'aptarchive/pool/invalid/invalid_1.0.dsc'" aptftparchive sources aptarchive/pool/invalid +rm -f aptarchive/pool/invalid/invalid_1.0.dsc + +# ensure clean works +rm -f aptarchive/pool/main/* +testsuccess aptftparchive clean apt-ftparchive.conf -o Debug::APT::FTPArchive::Clean=1 +cp rootdir/tmp/testsuccess.output clean-out.txt +testsuccess grep unique clean-out.txt +testfileequal 'rootdir/tmp/testsuccess.output' "0 Number of unique keys in the tree" +testsuccess grep sources-main.db clean-out.txt +testfileequal 'rootdir/tmp/testsuccess.output' "sources-main.db" diff --git a/test/integration/test-apt-get-autoremove b/test/integration/test-apt-get-autoremove new file mode 100755 index 0000000..66257f4 --- /dev/null +++ b/test/integration/test-apt-get-autoremove @@ -0,0 +1,260 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' + +buildsimplenativepackage 'unrelated' 'all' '1' 'unstable' +buildsimplenativepackage 'po-debconf' 'all' '1.0.16' 'unstable' +buildsimplenativepackage 'debhelper' 'all' '8.0.0' 'unstable' 'Depends: po-debconf' +buildsimplenativepackage 'base-files' 'all' '10' 'unstable' 'Essential: yes' +buildsimplenativepackage 'fdisk' 'all' '2.30.2' 'unstable' 'XB-Important: yes' +buildsimplenativepackage 'linux-image' 'all' '4.9.80' 'unstable' +buildsimplenativepackage 'hold-me' 'all' '1.0' 'unstable' +buildsimplenativepackage 'remove-me' 'all' '1.0' 'unstable' +buildsimplenativepackage 'system-base' 'all' '1.0' 'unstable' 'Depends: unrelated, base-files, fdisk, linux-image, hold-me, remove-me' +setupaptarchive + +testsuccess aptget install unrelated debhelper -y +testdpkginstalled 'unrelated' 'debhelper' 'po-debconf' + +testmarkedauto 'po-debconf' +testsuccess aptget remove debhelper -y +testdpkgnotinstalled 'debhelper' +testdpkginstalled 'po-debconf' 'unrelated' +echo 'unrelated purge' | dpkg --set-selections +testdpkgstatus 'pi' '1' 'unrelated' + +AUTOREMOVE='apt autoremove' +if [ -n "$SUDO_USER" ]; then + AUTOREMOVE="sudo $AUTOREMOVE" +fi +echo 'APT::NeverAutoRemove { "^debc.*nf$"; };' > rootdir/etc/apt/apt.conf.d/00autoremove +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + po-debconf +0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. +Remv po-debconf [1.0.16]' aptget autoremove -s +testequal "Reading package lists... +Building dependency tree... +Reading state information... +The following package was automatically installed and is no longer required: + po-debconf +Use '$AUTOREMOVE' to remove it. +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded." aptget install -s +testequal "Reading package lists... +Building dependency tree... +Reading state information... +1 package was automatically installed and is no longer required. +Use '$AUTOREMOVE' to remove it. +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded." aptget install -s -o APT::Get::HideAutoRemove=small +testequal "Reading package lists... +Building dependency tree... +Reading state information... +Calculating upgrade... +The following package was automatically installed and is no longer required: + po-debconf +Use '$AUTOREMOVE' to remove it. +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded." aptget upgrade -s +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + po-debconf +0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. +Remv po-debconf [1.0.16]' aptget install -s --autoremove +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +Calculating upgrade... +The following packages will be REMOVED: + po-debconf +0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. +Remv po-debconf [1.0.16]' aptget upgrade -s --autoremove +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + po-debconf +0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. +Remv po-debconf [1.0.16]' aptget install -s '?garbage-' +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + po-debconf +0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. +Remv po-debconf [1.0.16]' aptget remove -s '?garbage' +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +Calculating upgrade... +The following packages will be REMOVED: + po-debconf +0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. +Remv po-debconf [1.0.16]' aptget upgrade -s '?garbage-' +echo 'APT::Get::AutomaticRemove "true";' > rootdir/etc/apt/apt.conf.d/autoremoval +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + po-debconf +0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. +Remv po-debconf [1.0.16]' aptget install -s +testequal "Reading package lists... +Building dependency tree... +Reading state information... +Calculating upgrade... +The following package was automatically installed and is no longer required: + po-debconf +Use '$AUTOREMOVE' to remove it. +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded." aptget upgrade -s +rm -f rootdir/etc/apt/apt.conf.d/autoremoval + +testdpkginstalled 'po-debconf' + +echo 'APT::NeverAutoRemove { "^po-debconf$"; };' > rootdir/etc/apt/apt.conf.d/00autoremove +testsuccess aptget autoremove -y +testdpkginstalled 'po-debconf' +testdpkgstatus 'pi' '1' 'unrelated' + +echo 'APT::NeverAutoRemove { "^po-.*$"; };' > rootdir/etc/apt/apt.conf.d/00autoremove +testsuccess aptget autoremove -y +testdpkginstalled "po-debconf" +testdpkgstatus 'pi' '1' 'unrelated' + +rm rootdir/etc/apt/apt.conf.d/00autoremove +testsuccess aptget autoremove -y +testdpkgnotinstalled 'po-debconf' +testdpkgstatus 'pi' '1' 'unrelated' +testmarkedauto + +sed rootdir/var/log/apt/history.log -e '/^Commandline: / d' \ + -e '/^Start-Date: / d' -e '/^End-Date: / d' \ + -e '/^Requested-By: / d' \ + -e 's#), #)\nInstall: #g' | sort -u > apt-history.log +testfileequal 'apt-history.log' ' +Install: debhelper:i386 (8.0.0) +Install: po-debconf:i386 (1.0.16, automatic) +Install: unrelated:i386 (1) +Remove: debhelper:i386 (8.0.0) +Remove: po-debconf:i386 (1.0.16)' + +testsuccess aptget install debhelper -y +testdpkgstatus 'pi' '1' 'unrelated' +testdpkginstalled 'debhelper' 'po-debconf' +testsuccess aptmark auto debhelper + +testmarkedauto 'debhelper' 'po-debconf' +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + debhelper po-debconf +0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded. +Remv debhelper [8.0.0] +Remv po-debconf [1.0.16]' aptget autoremove -s +testequal "Reading package lists... +Building dependency tree... +Reading state information... +The following packages were automatically installed and are no longer required: + debhelper po-debconf +Use '$AUTOREMOVE' to remove them. +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded." aptget install -s +testequal "Reading package lists... +Building dependency tree... +Reading state information... +2 packages were automatically installed and are no longer required. +Use '$AUTOREMOVE' to remove them. +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded." aptget install -s -o APT::Get::HideAutoRemove=small + +testsuccess aptmark hold debhelper +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget autoremove -s + +testsuccess aptget autoremove debhelper -y --allow-change-held-packages +testdpkgnotinstalled 'po-debconf' 'debhelper' +testdpkgstatus 'pi' '1' 'unrelated' +testmarkedauto +testsuccess aptget install debhelper --solver apt -y -o Debug::pkgDepCache::Marker=1 +testmarkedauto 'po-debconf' +testdpkgstatus 'pi' '1' 'unrelated' + +testsuccess aptget install system-base debhelper -y +testdpkginstalled 'debhelper' 'po-debconf' 'system-base' 'base-files' 'fdisk' 'linux-image' 'hold-me' 'remove-me' +testsuccess aptmark hold 'hold-me' +echo 'APT::NeverAutoRemove { "^linux-image$"; };' > rootdir/etc/apt/apt.conf.d/00autoremove +testsuccess aptget remove system-base -y +testsuccess aptget autoremove -y -o Debug::pkgAutoRemove=yes +DEBUGLOG=${TMPWORKINGDIRECTORY}/rootdir/tmp/autoremove.debuglog +cp "${TMPWORKINGDIRECTORY}/rootdir/tmp/testsuccess.output" "$DEBUGLOG" +testsuccess grep -Fx 'Marking: fdisk:i386 2.30.2 (Important)' "$DEBUGLOG" +testsuccess grep -Fx 'Marking: base-files:i386 10 (Essential)' "$DEBUGLOG" +testsuccess grep -Fx 'Marking: unrelated:i386 1 (Manual-Installed)' "$DEBUGLOG" +testsuccess grep -Fx 'Marking: hold-me:i386 1.0 (Hold)' "$DEBUGLOG" +testsuccess grep -Fx 'Marking: po-debconf:i386 1.0.16 (Dependency)' "$DEBUGLOG" +testsuccess grep -Fx 'Marking: linux-image:i386 4.9.80 (Blacklisted [APT::NeverAutoRemove])' "$DEBUGLOG" +testdpkginstalled 'debhelper' 'po-debconf' 'base-files' 'fdisk' 'linux-image' +testdpkgstatus 'hi' '1' 'hold-me' +testdpkgnotinstalled 'remove-me' +testdpkgstatus 'pi' '1' 'unrelated' + +insertinstalledpackage 'bar' 'all' '1' 'Depends: foo-provider' +insertinstalledpackage 'foo-multi1-1' 'all' '1' 'Provides: foo-provider +Source: foo-multi (1)' +insertinstalledpackage 'foo-multi1-2' 'all' '1' 'Provides: foo-provider +Source: foo-multi (2)' +insertinstalledpackage 'foo-multi1-3' 'all' '1' 'Provides: foo-provider +Source: foo-multi (3)' +insertinstalledpackage 'foo-multi2-1' 'all' '1' 'Provides: foo-provider +Source: foo-multi (1)' +insertinstalledpackage 'foo-multi2-2' 'all' '1' 'Provides: foo-provider +Source: foo-multi (2)' +insertinstalledpackage 'foo-multi2-3' 'all' '1' 'Provides: foo-provider +Source: foo-multi (3)' +insertinstalledpackage 'foo-plus-1' 'all' '1' 'Provides: foo-provider +Source: foo-plus (1)' +insertinstalledpackage 'foo-plus-2' 'all' '1' 'Provides: foo-provider +Source: foo-plus (2)' +insertinstalledpackage 'foo-plus-3' 'all' '1' 'Provides: foo-provider +Source: foo-plus (3)' +insertinstalledpackage 'foo-single-1' 'all' '1' 'Provides: foo-provider' +insertinstalledpackage 'foo-single-2' 'all' '1' 'Provides: foo-provider' + +testsuccess aptmark auto 'foo-*' +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + foo-multi1-1 foo-multi1-2 foo-multi2-1 foo-multi2-2 foo-plus-1 foo-plus-2 +0 upgraded, 0 newly installed, 6 to remove and 0 not upgraded. +Remv foo-multi1-1 [1] +Remv foo-multi1-2 [1] +Remv foo-multi2-1 [1] +Remv foo-multi2-2 [1] +Remv foo-plus-1 [1] +Remv foo-plus-2 [1]' apt autoremove -s + + +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + foo-multi1-1* foo-multi1-2* foo-multi2-1* foo-multi2-2* foo-plus-1* + foo-plus-2* +0 upgraded, 0 newly installed, 6 to remove and 0 not upgraded. +Purg foo-multi1-1 [1] +Purg foo-multi1-2 [1] +Purg foo-multi2-1 [1] +Purg foo-multi2-2 [1] +Purg foo-plus-1 [1] +Purg foo-plus-2 [1]' apt autopurge -s + +testdpkgstatus 'pi' '1' 'unrelated' +testsuccess apt purge unrelated -y diff --git a/test/integration/test-apt-get-autoremove-kernel-module-providers b/test/integration/test-apt-get-autoremove-kernel-module-providers new file mode 100755 index 0000000..76c0030 --- /dev/null +++ b/test/integration/test-apt-get-autoremove-kernel-module-providers @@ -0,0 +1,103 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertinstalledpackage 'old-kernel-modules-0.8' 'all' '1' 'Depends: linux-image-0.8 +Provides: old-module +Source: kernel-module' +insertinstalledpackage 'old-kernel-modules-0.9' 'all' '1' 'Depends: linux-image-0.9 +Provides: old-module +Source: kernel-module' +insertinstalledpackage 'kernel-modules-1.0' 'all' '1' 'Depends: linux-image-1.0 +Provides: module +Source: kernel-module' +insertinstalledpackage 'kernel-modules-1.1' 'all' '2' 'Depends: linux-image-1.1 +Provides: module +Source: kernel-module' +insertinstalledpackage 'kernel-modules-1.2' 'all' '2' 'Depends: linux-image-1.2 +Provides: module +Source: kernel-module' +insertinstalledpackage 'kernel-modules-2.0' 'all' '2' 'Depends: linux-image-2.0 +Provides: module +Source: kernel-module' +insertinstalledpackage 'kernel-modules-2.1' 'all' '2' 'Depends: linux-image-2.1 +Provides: module +Source: kernel-module' +insertinstalledpackage 'texteditor-gtk' 'all' '2' 'Provides: editor +Source: texteditor' +insertinstalledpackage 'texteditor-kde' 'all' '2' 'Provides: editor +Source: texteditor' + +insertinstalledpackage 'linux-image-0.8' 'all' '0.8' 'Provides: linux-image +Source: linux-image' +insertinstalledpackage 'linux-image-0.9' 'all' '0.9' 'Provides: linux-image +Source: linux-image' +insertinstalledpackage 'linux-image-1.0' 'all' '1.0' 'Provides: linux-image +Source: linux-image' +insertinstalledpackage 'linux-image-1.1' 'all' '1.1' 'Provides: linux-image +Source: linux-image' +insertinstalledpackage 'linux-image-1.2' 'all' '1.2' 'Provides: linux-image +Source: linux-image' +insertinstalledpackage 'linux-image-2.0' 'all' '2.0' 'Provides: linux-image +Source: linux-image' +insertinstalledpackage 'linux-image-2.1' 'all' '2.1' 'Provides: linux-image +Source: linux-image' +insertinstalledpackage 'has-needs' 'all' '1' 'Depends: editor, module, linux-image' +insertinstalledpackage 'old-needs' 'all' '1' 'Depends: old-module' + +testsuccess aptmark auto 'linux-image-*' 'old-kernel-modules-*' 'kernel-modules-*' 'texteditor-*' +testsuccessequal 'kernel-modules-1.0 +kernel-modules-1.1 +kernel-modules-1.2 +kernel-modules-2.0 +kernel-modules-2.1 +linux-image-0.8 +linux-image-0.9 +linux-image-1.0 +linux-image-1.1 +linux-image-1.2 +linux-image-2.0 +linux-image-2.1 +old-kernel-modules-0.8 +old-kernel-modules-0.9 +texteditor-gtk +texteditor-kde' aptmark showauto + +testsuccess aptget check -s +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + kernel-modules-1.0 kernel-modules-1.1 kernel-modules-1.2 linux-image-1.0 + linux-image-1.1 linux-image-1.2 +0 upgraded, 0 newly installed, 6 to remove and 0 not upgraded. +Remv kernel-modules-1.0 [1] +Remv kernel-modules-1.1 [2] +Remv kernel-modules-1.2 [2] +Remv linux-image-1.0 [1.0] +Remv linux-image-1.1 [1.1] +Remv linux-image-1.2 [1.2]' apt autoremove -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + kernel-modules-1.0 kernel-modules-1.1 kernel-modules-1.2 linux-image-0.8 + linux-image-0.9 linux-image-1.0 linux-image-1.1 linux-image-1.2 + old-kernel-modules-0.8 old-kernel-modules-0.9 old-needs +0 upgraded, 0 newly installed, 11 to remove and 0 not upgraded. +Remv kernel-modules-1.0 [1] +Remv kernel-modules-1.1 [2] +Remv kernel-modules-1.2 [2] +Remv old-needs [1] +Remv old-kernel-modules-0.8 [1] +Remv linux-image-0.8 [0.8] +Remv old-kernel-modules-0.9 [1] +Remv linux-image-0.9 [0.9] +Remv linux-image-1.0 [1.0] +Remv linux-image-1.1 [1.1] +Remv linux-image-1.2 [1.2]' apt autoremove -s old-needs- diff --git a/test/integration/test-apt-get-autoremove-real-virtual-provider b/test/integration/test-apt-get-autoremove-real-virtual-provider new file mode 100755 index 0000000..4940ab5 --- /dev/null +++ b/test/integration/test-apt-get-autoremove-real-virtual-provider @@ -0,0 +1,32 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertinstalledpackage 'needs' 'all' '1' +insertinstalledpackage 'needs-provider1' 'all' '1' 'Provides: needs (= 1)' +insertinstalledpackage 'needs-provider2' 'all' '1' 'Provides: needs (= 2)' +insertinstalledpackage 'needs-provider3' 'all' '1' 'Provides: needs (= 3)' +insertinstalledpackage 'needs-provider4' 'all' '1' 'Provides: needs (= 4)' + +insertinstalledpackage 'foo' 'all' '1' 'Depends: needs (= 1), needs (= 2), needs (= 3)' + +testsuccess aptmark auto 'needs*' +testsuccessequal 'needs +needs-provider1 +needs-provider2 +needs-provider3 +needs-provider4' aptmark showauto + +testsuccess aptget check -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + needs-provider4 +0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. +Remv needs-provider4 [1]' aptget autoremove -s diff --git a/test/integration/test-apt-get-build-dep b/test/integration/test-apt-get-build-dep new file mode 100755 index 0000000..403de8f --- /dev/null +++ b/test/integration/test-apt-get-build-dep @@ -0,0 +1,149 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'i386' + +insertpackage 'stable' 'build-essential' 'i386' '1' +insertpackage 'stable' 'build-essential2' 'i386' '1' +insertpackage 'stable' 'build-depends' 'i386' '1' +insertpackage 'stable' 'build-depends-arch' 'i386' '1' +insertpackage 'stable' 'build-depends-indep' 'i386' '1' +insertinstalledpackage 'build-conflicts' 'i386' '1' +insertinstalledpackage 'build-conflicts-arch' 'i386' '1' +insertinstalledpackage 'build-conflicts-indep' 'i386' '1' + +setupaptarchive + +cat > foobar.dsc <<EOF +Format: 3.0 (native) +Source: foobar +Binary: foobar +Architecture: all +Version: 1 +Maintainer: Joe Sixpack <joe@example.org> +Build-Depends: build-depends (>= 1) +Build-Depends-Indep: build-depends-indep (>= 1) +Build-Depends-Arch: build-depends-arch (>= 1) +Build-Conflicts: build-conflicts (>= 1) +Build-Conflicts-Indep: build-conflicts-indep (>= 1) +Build-Conflicts-Arch: build-conflicts-arch (>= 1) +Standards-Version: 3.9.8 +EOF +testsuccessequal "Note, using file './foobar.dsc' to get the build dependencies +Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + build-conflicts build-conflicts-arch build-conflicts-indep +The following NEW packages will be installed: + build-depends build-depends-arch build-depends-indep build-essential +0 upgraded, 4 newly installed, 3 to remove and 0 not upgraded. +Remv build-conflicts [1] +Remv build-conflicts-arch [1] +Remv build-conflicts-indep [1] +Inst build-depends (1 stable [i386]) +Inst build-depends-arch (1 stable [i386]) +Inst build-depends-indep (1 stable [i386]) +Inst build-essential (1 stable [i386]) +Conf build-depends (1 stable [i386]) +Conf build-depends-arch (1 stable [i386]) +Conf build-depends-indep (1 stable [i386]) +Conf build-essential (1 stable [i386])" aptget build-dep --simulate ./foobar.dsc + +testsuccessequal "Note, using file './foobar.dsc' to get the build dependencies +Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + build-conflicts build-conflicts-arch build-conflicts-indep +The following NEW packages will be installed: + build-depends build-depends-arch build-depends-indep build-essential2 +0 upgraded, 4 newly installed, 3 to remove and 0 not upgraded. +Remv build-conflicts [1] +Remv build-conflicts-arch [1] +Remv build-conflicts-indep [1] +Inst build-depends (1 stable [i386]) +Inst build-depends-arch (1 stable [i386]) +Inst build-depends-indep (1 stable [i386]) +Inst build-essential2 (1 stable [i386]) +Conf build-depends (1 stable [i386]) +Conf build-depends-arch (1 stable [i386]) +Conf build-depends-indep (1 stable [i386]) +Conf build-essential2 (1 stable [i386])" aptget build-dep --simulate ./foobar.dsc -o APT::Build-Essential="build-essential2" + +testsuccessequal "Note, using file './foobar.dsc' to get the build dependencies +Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + build-conflicts build-conflicts-arch build-conflicts-indep +The following NEW packages will be installed: + build-depends build-depends-arch build-depends-indep +0 upgraded, 3 newly installed, 3 to remove and 0 not upgraded. +Remv build-conflicts [1] +Remv build-conflicts-arch [1] +Remv build-conflicts-indep [1] +Inst build-depends (1 stable [i386]) +Inst build-depends-arch (1 stable [i386]) +Inst build-depends-indep (1 stable [i386]) +Conf build-depends (1 stable [i386]) +Conf build-depends-arch (1 stable [i386]) +Conf build-depends-indep (1 stable [i386])" aptget build-dep --simulate ./foobar.dsc -o APT::Build-Essential="," + +testsuccessequal "Note, using file './foobar.dsc' to get the build dependencies +Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + build-conflicts build-conflicts-arch build-conflicts-indep +The following NEW packages will be installed: + build-depends build-depends-arch build-depends-indep build-essential + build-essential2 +0 upgraded, 5 newly installed, 3 to remove and 0 not upgraded. +Remv build-conflicts [1] +Remv build-conflicts-arch [1] +Remv build-conflicts-indep [1] +Inst build-depends (1 stable [i386]) +Inst build-depends-arch (1 stable [i386]) +Inst build-depends-indep (1 stable [i386]) +Inst build-essential (1 stable [i386]) +Inst build-essential2 (1 stable [i386]) +Conf build-depends (1 stable [i386]) +Conf build-depends-arch (1 stable [i386]) +Conf build-depends-indep (1 stable [i386]) +Conf build-essential (1 stable [i386]) +Conf build-essential2 (1 stable [i386])" aptget build-dep --simulate ./foobar.dsc -o APT::Build-Essential::="build-essential2" + +testsuccessequal "Note, using file './foobar.dsc' to get the build dependencies +Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + build-conflicts build-conflicts-arch +The following NEW packages will be installed: + build-depends build-depends-arch build-essential +0 upgraded, 3 newly installed, 2 to remove and 0 not upgraded. +Remv build-conflicts [1] +Remv build-conflicts-arch [1] +Inst build-depends (1 stable [i386]) +Inst build-depends-arch (1 stable [i386]) +Inst build-essential (1 stable [i386]) +Conf build-depends (1 stable [i386]) +Conf build-depends-arch (1 stable [i386]) +Conf build-essential (1 stable [i386])" aptget build-dep --simulate ./foobar.dsc --arch-only + +testsuccessequal "Note, using file './foobar.dsc' to get the build dependencies +Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + build-conflicts build-conflicts-indep +The following NEW packages will be installed: + build-depends build-depends-indep build-essential +0 upgraded, 3 newly installed, 2 to remove and 0 not upgraded. +Remv build-conflicts [1] +Remv build-conflicts-indep [1] +Inst build-depends (1 stable [i386]) +Inst build-depends-indep (1 stable [i386]) +Inst build-essential (1 stable [i386]) +Conf build-depends (1 stable [i386]) +Conf build-depends-indep (1 stable [i386]) +Conf build-essential (1 stable [i386])" aptget build-dep --simulate ./foobar.dsc --indep-only diff --git a/test/integration/test-apt-get-build-dep-barbarian b/test/integration/test-apt-get-build-dep-barbarian new file mode 100755 index 0000000..688f7a5 --- /dev/null +++ b/test/integration/test-apt-get-build-dep-barbarian @@ -0,0 +1,140 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' 'armel' 'mipsel' + +insertinstalledpackage 'build-essential' 'all' '1' +insertpackage 'unstable' 'samey' 'amd64,i386,armel,mipsel' '1' 'Multi-Arch: same' +insertinstalledpackage 'samey' 'unknown' '1' 'Multi-Arch: same' + +insertsource 'unstable' 'cool-foo' 'any' '1' 'Build-Depends: foo, samey' +insertsource 'unstable' 'bad-amd64-foo' 'any' '1' 'Build-Depends: foo, samey +Build-Conflicts: foo:amd64' +insertsource 'unstable' 'bad-armel-foo' 'any' '1' 'Build-Depends: foo, samey +Build-Conflicts: foo:armel' +insertsource 'unstable' 'bad-amd64-armel-foo' 'any' '1' 'Build-Depends: foo, samey +Build-Conflicts: foo:amd64, foo:armel' +insertsource 'unstable' 'bad-amd64-i386-foo' 'any' '1' 'Build-Depends: foo, samey +Build-Conflicts: foo:amd64, foo:i386' +insertsource 'unstable' 'bad-amd64-i386-armel-foo' 'any' '1' 'Build-Depends: foo, samey +Build-Conflicts: foo:amd64, foo:i386, foo:armel' +insertpackage 'unstable' 'foo' 'amd64,i386,armel,mipsel' '1' 'Multi-Arch: foreign' + +setupaptarchive + +installsfoosamey() { + local FOO="foo:$1" + local SAMEY="samey:$2" + if [ "$1" = 'amd64' ]; then FOO='foo'; fi + if [ "$2" = 'amd64' ]; then SAMEY='samey'; fi + echo "Reading package lists... +Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + $FOO $SAMEY +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst $FOO (1 unstable [$1]) +Inst $SAMEY (1 unstable [$2]) +Conf $FOO (1 unstable [$1]) +Conf $SAMEY (1 unstable [$2])" +} + +testdpkginstalled 'samey:unknown' + +testsuccessequal "$(installsfoosamey 'amd64' 'amd64')" apt build-dep cool-foo -s +testsuccessequal "$(installsfoosamey 'amd64' 'amd64')" apt build-dep cool-foo -s -a amd64 +testsuccessequal "$(installsfoosamey 'amd64' 'i386')" apt build-dep cool-foo -s -a i386 +testsuccessequal "$(installsfoosamey 'amd64' 'armel')" apt build-dep cool-foo -s -a armel + +testsuccessequal "$(installsfoosamey 'i386' 'amd64')" apt build-dep bad-amd64-foo -s +testsuccessequal "$(installsfoosamey 'i386' 'amd64')" apt build-dep bad-amd64-foo -s -a amd64 +testsuccessequal "$(installsfoosamey 'i386' 'i386')" apt build-dep bad-amd64-foo -s -a i386 +testsuccessequal "$(installsfoosamey 'i386' 'armel')" apt build-dep bad-amd64-foo -s -a armel + +testsuccessequal "$(installsfoosamey 'amd64' 'amd64')" apt build-dep bad-armel-foo -s +testsuccessequal "$(installsfoosamey 'amd64' 'amd64')" apt build-dep bad-armel-foo -s -a amd64 +testsuccessequal "$(installsfoosamey 'amd64' 'i386')" apt build-dep bad-armel-foo -s -a i386 +testsuccessequal "$(installsfoosamey 'amd64' 'armel')" apt build-dep bad-armel-foo -s -a armel + +testsuccessequal "$(installsfoosamey 'i386' 'amd64')" apt build-dep bad-amd64-armel-foo -s +testsuccessequal "$(installsfoosamey 'i386' 'amd64')" apt build-dep bad-amd64-armel-foo -s -a amd64 +testsuccessequal "$(installsfoosamey 'i386' 'i386')" apt build-dep bad-amd64-armel-foo -s -a i386 +testsuccessequal "$(installsfoosamey 'i386' 'armel')" apt build-dep bad-amd64-armel-foo -s -a armel + +testsuccessequal "$(installsfoosamey 'armel' 'amd64')" apt build-dep bad-amd64-i386-foo -s +testsuccessequal "$(installsfoosamey 'armel' 'amd64')" apt build-dep bad-amd64-i386-foo -s -a amd64 +testsuccessequal "$(installsfoosamey 'armel' 'i386')" apt build-dep bad-amd64-i386-foo -s -a i386 +testsuccessequal "$(installsfoosamey 'armel' 'armel')" apt build-dep bad-amd64-i386-foo -s -a armel + +testsuccessequal "$(installsfoosamey 'mipsel' 'amd64')" apt build-dep bad-amd64-i386-armel-foo -s +testsuccessequal "$(installsfoosamey 'mipsel' 'amd64')" apt build-dep bad-amd64-i386-armel-foo -s -a amd64 +testsuccessequal "$(installsfoosamey 'mipsel' 'i386')" apt build-dep bad-amd64-i386-armel-foo -s -a i386 +testsuccessequal "$(installsfoosamey 'mipsel' 'armel')" apt build-dep bad-amd64-i386-armel-foo -s -a armel + + +msgmsg 'BarbarianArchitectures' 'config' +echo 'APT::BarbarianArchitectures { "mipsel"; "armel"; };' > rootdir/etc/apt/apt.conf.d/99barbarianarchs +testsuccess aptcache gencaches + +testsuccessequal "$(installsfoosamey 'amd64' 'i386')" apt build-dep cool-foo -s -a i386 +testsuccessequal "$(installsfoosamey 'i386' 'i386')" apt build-dep bad-amd64-foo -s -a i386 +testsuccessequal "$(installsfoosamey 'amd64' 'i386')" apt build-dep bad-armel-foo -s -a i386 +testsuccessequal "$(installsfoosamey 'i386' 'i386')" apt build-dep bad-amd64-armel-foo -s -a i386 +testfailureequal 'Reading package lists... +Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + builddeps:bad-amd64-i386-foo:i386 : Depends: foo:i386 +E: Unable to correct problems, you have held broken packages.' apt build-dep bad-amd64-i386-foo -s -a i386 +testfailureequal 'Reading package lists... +Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + builddeps:bad-amd64-i386-armel-foo:i386 : Depends: foo:i386 +E: Unable to correct problems, you have held broken packages.' apt build-dep bad-amd64-i386-armel-foo -s -a i386 + +testsuccessequal "$(installsfoosamey 'amd64' 'armel')" apt build-dep cool-foo -s -a armel +testsuccessequal "$(installsfoosamey 'i386' 'armel')" apt build-dep bad-amd64-foo -s -a armel +testsuccessequal "$(installsfoosamey 'amd64' 'armel')" apt build-dep bad-armel-foo -s -a armel +testsuccessequal "$(installsfoosamey 'i386' 'armel')" apt build-dep bad-amd64-armel-foo -s -a armel +testsuccessequal "$(installsfoosamey 'armel' 'armel')" apt build-dep bad-amd64-i386-foo -s -a armel +FAILURE='Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + builddeps:bad-amd64-i386-armel-foo:armel : Depends: foo:armel +E: Unable to correct problems, you have held broken packages.' +testfailureequal "Reading package lists... +$FAILURE" apt build-dep bad-amd64-i386-armel-foo -s -a armel + +msgmsg 'BarbarianArchitectures' 'cmdline options' +rm rootdir/etc/apt/apt.conf.d/99barbarianarchs +testsuccess aptcache gencaches + +testsuccessequal "$(installsfoosamey 'mipsel' 'armel')" apt build-dep bad-amd64-i386-armel-foo -s -a armel +testsuccess aptcache gencaches -o APT::BarbarianArchitectures::=armel +testsuccessequal "$(installsfoosamey 'mipsel' 'armel')" apt build-dep bad-amd64-i386-armel-foo -s -a armel -o APT::BarbarianArchitectures::=armel +testfailureequal "$FAILURE" apt build-dep bad-amd64-i386-armel-foo -s -a armel -o APT::BarbarianArchitectures::=mipsel +testfailureequal "$FAILURE" apt build-dep bad-amd64-i386-armel-foo -s -a armel -o APT::BarbarianArchitectures::=mipsel -o APT::BarbarianArchitectures::=armel +testfailureequal "Reading package lists... +$FAILURE" apt build-dep bad-amd64-i386-armel-foo -s -a armel -o APT::BarbarianArchitectures=mipsel,armel diff --git a/test/integration/test-apt-get-build-dep-file b/test/integration/test-apt-get-build-dep-file new file mode 100755 index 0000000..88bf10b --- /dev/null +++ b/test/integration/test-apt-get-build-dep-file @@ -0,0 +1,222 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'i386' + +insertpackage 'stable' 'debhelper' 'i386' '7' +insertpackage 'stable' 'build-essential' 'i386' '1' +insertpackage 'stable' 'build-depends' 'i386' '1' +insertsource 'stable' 'unrelated' 'any' '1' +insertinstalledpackage 'build-conflict' 'i386' '1' + +setupaptarchive + +msgmsg 'Test with' 'unsigned dsc' +cat > 2vcard_0.5-3.dsc <<EOF +Format: 1.0 +Source: 2vcard +Binary: 2vcard +Architecture: all +Version: 0.5-3 +Maintainer: Martin Albisetti <argentina@gmail.com> +Uploaders: Marcela Tiznado <mlt@debian.org> +Standards-Version: 3.8.0 +Build-Depends: debhelper (>= 5.0.37) +Build-Conflicts: build-conflict (<< 2) +Checksums-Sha1: + b7f1ce31ec856414a3f0f1090689f91aa7456d56 9398 2vcard_0.5.orig.tar.gz + 5f9acd07ebda6ab00fa6b4fe3198c13e94090862 2036 2vcard_0.5-3.diff.gz +Checksums-Sha256: + efdc22859ac2f8f030d038dc4faa9020082ebae34212498c288968ffd45c9764 9398 2vcard_0.5.orig.tar.gz + 82673ff3456af571094066c89bcea87b25c23c87cf1d0050b731e5222563626b 2036 2vcard_0.5-3.diff.gz +Files: + f73a69c170f772f3f6e75f2d11bbb792 9398 2vcard_0.5.orig.tar.gz + 1e806d32233af87437258d86b1561f57 2036 2vcard_0.5-3.diff.gz +EOF + +test2vcardbuilddep() { + local name="$1" + testsuccessequal "Note, using file './$name' to get the build dependencies +Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + build-conflict +The following NEW packages will be installed: + build-essential debhelper +0 upgraded, 2 newly installed, 1 to remove and 0 not upgraded. +Remv build-conflict [1] +Inst build-essential (1 stable [i386]) +Inst debhelper (7 stable [i386]) +Conf build-essential (1 stable [i386]) +Conf debhelper (7 stable [i386])" aptget build-dep -s ./$name +testfailure aptget build-dep --simulate $name +cd downloaded +testsuccess aptget build-dep --simulate ../$name +testsuccess aptget build-dep --simulate "$(readlink -f ../$name)" +cd .. +} +test2vcardbuilddep "2vcard_0.5-3.dsc" +cp "2vcard_0.5-3.dsc" "2VCard_0.5-3.dsc" +test2vcardbuilddep "2VCard_0.5-3.dsc" + +msgmsg 'Test with' 'signed dsc' +cat > 2vcard_0.5-3.dsc <<EOF +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA1 + +Format: 1.0 +Source: 2vcard +Binary: 2vcard +Architecture: all +Version: 0.5-3 +Maintainer: Martin Albisetti <argentina@gmail.com> +Uploaders: Marcela Tiznado <mlt@debian.org> +Standards-Version: 3.8.0 +Build-Depends: debhelper (>= 5.0.37) +Build-Conflicts: build-conflict (<< 2) +Checksums-Sha1: + b7f1ce31ec856414a3f0f1090689f91aa7456d56 9398 2vcard_0.5.orig.tar.gz + 5f9acd07ebda6ab00fa6b4fe3198c13e94090862 2036 2vcard_0.5-3.diff.gz +Checksums-Sha256: + efdc22859ac2f8f030d038dc4faa9020082ebae34212498c288968ffd45c9764 9398 2vcard_0.5.orig.tar.gz + 82673ff3456af571094066c89bcea87b25c23c87cf1d0050b731e5222563626b 2036 2vcard_0.5-3.diff.gz +Files: + f73a69c170f772f3f6e75f2d11bbb792 9398 2vcard_0.5.orig.tar.gz + 1e806d32233af87437258d86b1561f57 2036 2vcard_0.5-3.diff.gz + +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v1.4.9 (GNU/Linux) + +iEYEARECAAYFAkijKhsACgkQsrBfRdYmq7aA2gCfaOW9riTYVQMx5ajKQVAcctlC +z2UAn1oXgTai6opwhVfkxrlmJ+iRxzuc +=4eRd +-----END PGP SIGNATURE----- +EOF +test2vcardbuilddep "2vcard_0.5-3.dsc" +cp "2vcard_0.5-3.dsc" "2VCard_0.5-3.dsc" +test2vcardbuilddep "2VCard_0.5-3.dsc" + + +msgmsg 'Test with' 'unpacked source dir' +mkdir -p foo-1.0/debian +cat > foo-1.0/debian/control <<'EOF' +Source: apturl +Section: admin +Priority: optional +Maintainer: Michael Vogt <mvo@ubuntu.com> +Build-Depends: ,debhelper (>= 7), +Build-Conflicts: ,,, +Build-Depends-Indep: +X-Python3-Version: >= 3.2 +Standards-Version: 3.9.3 + +Package: apturl-common +Architecture: any +Depends: ${python3:Depends}, + ${shlibs:Depends}, + ${misc:Depends}, + python3-apt, + python3-update-manager +Replaces: apturl (<< 0.3.6ubuntu2) +Description: install packages using the apt protocol - common data + AptUrl is a simple graphical application that takes an URL (which follows the + apt-protocol) as a command line option, parses it and carries out the + operations that the URL describes (that is, it asks the user if he wants the + indicated packages to be installed and if the answer is positive does so for + him). + . + This package contains the common data shared between the frontends. + +EOF + +testsuccessequal "Note, using directory './foo-1.0' to get the build dependencies +Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + build-essential debhelper +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst build-essential (1 stable [i386]) +Inst debhelper (7 stable [i386]) +Conf build-essential (1 stable [i386]) +Conf debhelper (7 stable [i386])" aptget build-dep --simulate ./foo-1.0 +testfailure aptget build-dep --simulate foo-1.0 +cd downloaded +testsuccess aptget build-dep --simulate ../foo-1.0 +testsuccess aptget build-dep --simulate "$(readlink -f ../foo-1.0)" +cd .. +cd foo-1.0 +testsuccess aptget build-dep --simulate './' +testsuccess aptget build-dep --simulate '.' +cd debian +testsuccess aptget build-dep --simulate './../' +testsuccess aptget build-dep --simulate '../' +testsuccess aptget build-dep --simulate '..' +cd ../.. + +testfailureequal 'E: Must specify at least one package to check builddeps for' aptget build-dep +testfailureequal "Note, using directory './foo-1.0' to get the build dependencies +Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + builddeps:./foo-1.0:armel : Depends: debhelper:armel (>= 7) but it is not installable +W: No architecture information available for armel. See apt.conf(5) APT::Architectures for setup +E: Unable to correct problems, you have held broken packages." aptget build-dep --simulate ./foo-1.0 -a armel +testfailureequal 'Reading package lists... +E: Unable to find a source package for foo' aptget build-dep --simulate foo + +msgmsg 'Test with a dsc' 'with comments' +cat > comments.dsc <<EOF +# I love comments +# I love them so much, I give them their own paragraph + +#This is my first package +Format: 3.0 (native) +Source: comments +Binary: comments +Architecture: all +Version: 1 +#Version: 2 +Maintainer: Joe Sixpack <joe@example.org> +Build-Depends: debhelper (>= 5), +# TODO: add more + build-depends (= 1), +Standards-Version: 3.9.6 +# This is the end… + +# or this? +EOF +testsuccessequal "Note, using file './comments.dsc' to get the build dependencies +Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + build-depends build-essential debhelper +0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. +Inst build-depends (1 stable [i386]) +Inst build-essential (1 stable [i386]) +Inst debhelper (7 stable [i386]) +Conf build-depends (1 stable [i386]) +Conf build-essential (1 stable [i386]) +Conf debhelper (7 stable [i386])" aptget build-dep --simulate ./comments.dsc +testsuccessequal "Note, using file './comments.dsc' to get the build dependencies +Reading package lists... +Building dependency tree... +Execute external solver... +The following NEW packages will be installed: + build-depends build-essential debhelper +0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. +Inst build-depends (1 stable [i386]) +Inst build-essential (1 stable [i386]) +Inst debhelper (7 stable [i386]) +Conf build-depends (1 stable [i386]) +Conf build-essential (1 stable [i386]) +Conf debhelper (7 stable [i386])" aptget build-dep --simulate ./comments.dsc --solver apt diff --git a/test/integration/test-apt-get-changelog b/test/integration/test-apt-get-changelog new file mode 100755 index 0000000..c0eecba --- /dev/null +++ b/test/integration/test-apt-get-changelog @@ -0,0 +1,146 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'native' + +buildsimplenativepackage 'awesome' 'native' '42' 'stable' +buildsimplenativepackage 'foo' 'all' '1.0' 'stable' +buildsimplenativepackage 'libbar' 'all' '1.0' 'stable' + +getlabelfromsuite() { echo 'Testcases'; } +getoriginfromsuite() { echo 'Debian'; } + +setupaptarchive --no-update +changetowebserver +testsuccess aptget update + +testsuccessequal "'https://metadata.ftp-master.debian.org/changelogs/main/f/foo/foo_1.0_changelog' foo.changelog +'https://metadata.ftp-master.debian.org/changelogs/main/libb/libbar/libbar_1.0_changelog' libbar.changelog" aptget changelog foo libbar --print-uris + +releasechanger() { + # modifying the Release files in lists… bad stuff. Good that this is only a test… + sed -i "s#^${1}: .*#${1}: ${2}#" $(find rootdir/var/lib/apt/lists -name '*Release') + rm -f rootdir/var/cache/apt/*.bin +} +releasechanger 'Origin' 'Ubuntu' +testsuccessequal "'https://changelogs.ubuntu.com/changelogs/pool/main/f/foo/foo_1.0/changelog' foo.changelog +'https://changelogs.ubuntu.com/changelogs/pool/main/libb/libbar/libbar_1.0/changelog' libbar.changelog" aptget changelog foo libbar --print-uris + +releasechanger 'Label' 'Debian' +testsuccessequal "'https://changelogs.ubuntu.com/changelogs/pool/main/f/foo/foo_1.0/changelog' foo.changelog +'https://changelogs.ubuntu.com/changelogs/pool/main/libb/libbar/libbar_1.0/changelog' libbar.changelog" aptget changelog foo libbar --print-uris + +testsuccessequal "'http://localhost:${APTHTTPPORT}/main/f/foo/foo_1.0.changelog' foo.changelog +'http://localhost:${APTHTTPPORT}/main/libb/libbar/libbar_1.0.changelog' libbar.changelog" aptget changelog foo libbar --print-uris -o Acquire::Changelogs::URI::Label::Debian="http://localhost:${APTHTTPPORT}/@CHANGEPATH@.changelog" + +sed -i '/^Origin: / a\ +Changelogs: http://example.org/@CHANGEPATH@-changelog' $(find rootdir/var/lib/apt/lists -name '*Release') +rm -f rootdir/var/cache/apt/*.bin + +testsuccessequal "'http://example.org/main/f/foo/foo_1.0-changelog' foo.changelog +'http://example.org/main/libb/libbar/libbar_1.0-changelog' libbar.changelog" aptget changelog foo libbar --print-uris -o Acquire::Changelogs::URI::Label::Debian="http://localhost:${APTHTTPPORT}/@CHANGEPATH@.changelog" + +testsuccessequal "'http://localhost:${APTHTTPPORT}/main/f/foo/foo_1.0.changelog' foo.changelog +'http://localhost:${APTHTTPPORT}/main/libb/libbar/libbar_1.0.changelog' libbar.changelog" aptget changelog foo libbar --print-uris -o Acquire::Changelogs::URI::Override::Label::Debian="http://localhost:${APTHTTPPORT}/@CHANGEPATH@.changelog" + +releasechanger 'Changelogs' 'no' +testfailuremsg 'E: Failed to fetch changelog:/foo.changelog Changelog unavailable for foo=1.0' aptget changelog foo -d + +sed -i '/^Changelogs: / d' $(find rootdir/var/lib/apt/lists -name '*Release') +releasechanger 'Label' 'Testcases' + +echo "Acquire::Changelogs::URI::Label::Testcases \"http://localhost:${APTHTTPPORT}/@CHANGEPATH@/change.txt\";" > rootdir/etc/apt/apt.conf.d/changelog.conf +testsuccessequal "'http://localhost:${APTHTTPPORT}/main/f/foo/foo_1.0/change.txt' foo.changelog +'http://localhost:${APTHTTPPORT}/main/libb/libbar/libbar_1.0/change.txt' libbar.changelog" aptget changelog foo libbar --print-uris + +echo "Acquire::Changelogs::URI::Label::Testcases \"http://localhost:${APTHTTPPORT}/pool/@CHANGEPATH@/changelog\";" > rootdir/etc/apt/apt.conf.d/changelog.conf +testsuccessequal "'http://localhost:${APTHTTPPORT}/pool/main/f/foo/foo_1.0/changelog' foo.changelog" aptget changelog foo --print-uris + + +testsuccess aptget changelog foo -qq +testfileequal 'rootdir/tmp/testsuccess.output' "$(cat aptarchive/pool/main/f/foo/foo_1.0/changelog)" + +testsuccess aptget changelog foo libbar -qq +testfileequal 'rootdir/tmp/testsuccess.output' "$(cat aptarchive/pool/main/f/foo/foo_1.0/changelog) +$(cat aptarchive/pool/main/libb/libbar/libbar_1.0/changelog)" + +testsuccess aptget changelog foo -d +testfilestats 'foo.changelog' '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:644" +testfileequal 'foo.changelog' "$(cat aptarchive/pool/main/f/foo/foo_1.0/changelog)" +rm -f foo.changelog + +testsuccess aptget changelog libbar foo -d +testfilestats 'libbar.changelog' '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:644" +testfilestats 'foo.changelog' '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:644" +testfileequal 'libbar.changelog' "$(cat aptarchive/pool/main/libb/libbar/libbar_1.0/changelog)" +testfileequal 'foo.changelog' "$(cat aptarchive/pool/main/f/foo/foo_1.0/changelog)" +rm -f libbar.changelog foo.changelog + +# as such bogus, but can happen with multiple binaries from the same source +testsuccessequal "'http://localhost:${APTHTTPPORT}/pool/main/f/foo/foo_1.0/changelog' foo.changelog +'http://localhost:${APTHTTPPORT}/pool/main/f/foo/foo_1.0/changelog' foo.changelog" aptget changelog foo foo --print-uris +testsuccess aptget changelog foo foo -qq +testfileequal 'rootdir/tmp/testsuccess.output' "$(cat aptarchive/pool/main/f/foo/foo_1.0/changelog) +$(cat aptarchive/pool/main/f/foo/foo_1.0/changelog)" +testsuccess aptget changelog foo foo -d +testfilestats 'foo.changelog' '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:644" +testfileequal 'foo.changelog' "$(cat aptarchive/pool/main/f/foo/foo_1.0/changelog)" +# we have the file already, confused? +testsuccess aptget changelog foo foo -d +testfilestats 'foo.changelog' '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:644" +testfileequal 'foo.changelog' "$(cat aptarchive/pool/main/f/foo/foo_1.0/changelog)" +echo 'bogus' > foo.changelog +touch -d 'now + 1 hour' foo.changelog +testsuccess aptget changelog foo foo -d +testfilestats 'foo.changelog' '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:644" +testfileequal 'foo.changelog' "$(cat aptarchive/pool/main/f/foo/foo_1.0/changelog)" +echo -n 'bogus' > foo.changelog +touch -d "$(stat -c%y aptarchive/pool/main/f/foo/foo_1.0/changelog)" foo.changelog +testsuccess aptget changelog foo foo -d +testfilestats 'foo.changelog' '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:644" +testequal 'bogus1.0) stable; urgency=low' head -n 1 foo.changelog +rm -f foo.changelog + +# no @CHANGEPATH@ in the URI +testequal 'E: Failed to fetch changelog:/foo.changelog Changelog unavailable for foo=1.0' \ + aptget changelog foo -qq -d -o Acquire::Changelogs::URI::Label::Testcases="http://localhost:${APTHTTPPORT}/change.txt" +testfailure test -e foo.changelog + +testequal "E: Failed to fetch http://localhost:${APTHTTPPORT}/does/not/exist/main/f/foo/foo_1.0/change.txt Changelog unavailable for foo=1.0 (404 Not Found)" \ + aptget changelog foo -qq -d -o Acquire::Changelogs::URI::Label::Testcases="http://localhost:${APTHTTPPORT}/does/not/exist/@CHANGEPATH@/change.txt" +testfailure test -e foo.changelog + +testdpkgnotinstalled 'foo' +testsuccessequal "'http://localhost:${APTHTTPPORT}/pool/main/f/foo/foo_1.0/changelog' foo.changelog" apt changelog foo --print-uris -o Acquire::Changelogs::AlwaysOnline=false +testsuccessequal "'http://localhost:${APTHTTPPORT}/pool/main/f/foo/foo_1.0/changelog' foo.changelog" apt changelog foo --print-uris -o Acquire::Changelogs::AlwaysOnline=true + +testsuccess apt install awesome -y +# at this moment, we still have the Releasefile claim to be origin:ubuntu +echo 'Acquire::Changelogs::AlwaysOnline::Origin::Ubuntu "false";' >> rootdir/etc/apt/apt.conf.d/nooriginchangelogs +testsuccessequal "'http://localhost:${APTHTTPPORT}/pool/main/a/awesome/awesome_42/changelog' awesome.changelog" apt changelog awesome --print-uris +testsuccessequal "'copy://${TMPWORKINGDIRECTORY}/rootdir/usr/share/doc/awesome/changelog' awesome.changelog" apt changelog awesome --print-uris -o Acquire::Changelogs::AlwaysOnline=false +testsuccessequal "'http://localhost:${APTHTTPPORT}/pool/main/a/awesome/awesome_42/changelog' awesome.changelog" apt changelog awesome --print-uris -o Acquire::Changelogs::AlwaysOnline=true +testsuccessequal "'http://localhost:${APTHTTPPORT}/pool/main/a/awesome/awesome_42/changelog' awesome.changelog" apt changelog awesome --print-uris -o Acquire::Changelogs::AlwaysOnline=false -o Acquire::Changelogs::AlwaysOnline::Origin::Ubuntu=true +testsuccessequal "'copy://${TMPWORKINGDIRECTORY}/rootdir/usr/share/doc/awesome/changelog' awesome.changelog" apt changelog awesome --print-uris -o Acquire::Changelogs::AlwaysOnline=false -o Acquire::Changelogs::AlwaysOnline::Origin::Debian=true + +printf '\n# Older entries have been removed from this changelog.' >> rootdir/usr/share/doc/awesome/changelog +testsuccessequal "'copy://${TMPWORKINGDIRECTORY}/rootdir/usr/share/doc/awesome/changelog' awesome.changelog" apt changelog awesome --print-uris -o Acquire::Changelogs::AlwaysOnline=false +printf '\n# To read the complete changelog use `apt changelog awesome`.' >> rootdir/usr/share/doc/awesome/changelog +testsuccessequal "'http://localhost:${APTHTTPPORT}/pool/main/a/awesome/awesome_42/changelog' awesome.changelog" apt changelog awesome --print-uris -o Acquire::Changelogs::AlwaysOnline=false +printf '\n# No guarantees the trigger is the last line' >> rootdir/usr/share/doc/awesome/changelog +testsuccessequal "'http://localhost:${APTHTTPPORT}/pool/main/a/awesome/awesome_42/changelog' awesome.changelog" apt changelog awesome --print-uris -o Acquire::Changelogs::AlwaysOnline=false + +testsuccess apt changelog awesome -d +testfilestats 'awesome.changelog' '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:644" +head -n 3 awesome.changelog > awesome.change +testfileequal 'awesome.change' "$(apthelper cat-file 'rootdir/usr/share/doc/awesome/changelog' | head -n 3)" +rm -f awesome.change awesome.changelog + +# no package specified +testfailureequal 'E: No packages found' aptget changelog +testfailureequal 'E: Unable to locate package clclclclc +E: No packages found' aptget changelog clclclclc diff --git a/test/integration/test-apt-get-clean b/test/integration/test-apt-get-clean new file mode 100755 index 0000000..32dd3e8 --- /dev/null +++ b/test/integration/test-apt-get-clean @@ -0,0 +1,120 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' + +insertpackage 'testing' 'foo' 'all' '1' +insertpackage 'unstable' 'foo' 'all' '2' +insertpackage 'experimental' 'foo' 'all' '1:1' +insertinstalledpackage 'foo' 'all' '3' + +setupaptarchive --no-update +mkdir -p rootdir/var/lib/apt/lists/partial +testsuccess test -d rootdir/var/lib/apt/lists/partial + +# nothing to do always works (part 1) +for cmd in aptget apt; do + for sub in distclean dist-clean; do + testsuccess $cmd $sub + testsuccess $cmd $sub -s + done +done +testsuccess test -d rootdir/var/lib/apt/lists/partial + +testsuccess apt update + +# nothing to do always works (part 2) +for cmd in aptget apt; do + for sub in clean autoclean auto-clean; do + testsuccess $cmd $sub + testsuccess $cmd $sub -s + done +done + +# generate some dirt and clean it up +generatedirt() { + touch rootdir/var/lib/apt/lists/partial/http.debian.net_debian_dists_sid_main_i18n_Translation-en + mkdir -p rootdir/var/cache/apt/archives/lost+found + touch rootdir/var/cache/apt/archives/foo_1_all.deb + touch rootdir/var/cache/apt/archives/foo_1%3a1_all.deb + touch rootdir/var/cache/apt/archives/foo_2%3a1_all.deb + touch rootdir/var/cache/apt/archives/foo_2_all.deb + touch rootdir/var/cache/apt/archives/foo_3_all.deb + touch rootdir/var/cache/apt/archives/foo_4_all.deb +} + +generatedirt +testsuccess aptget autoclean +testsuccess test -e rootdir/var/lib/apt/lists/partial/http.debian.net_debian_dists_sid_main_i18n_Translation-en +testsuccess test -e rootdir/var/cache/apt/archives/foo_1_all.deb +testsuccess test -e rootdir/var/cache/apt/archives/foo_1%3a1_all.deb +testfailure test -e rootdir/var/cache/apt/archives/foo_2%3a1_all.deb +testsuccess test -e rootdir/var/cache/apt/archives/foo_2_all.deb +testfailure test -e rootdir/var/cache/apt/archives/foo_3_all.deb +testfailure test -e rootdir/var/cache/apt/archives/foo_4_all.deb + +generatedirt +testsuccess aptget clean +testfailure test -e rootdir/var/lib/apt/lists/partial/http.debian.net_debian_dists_sid_main_i18n_Translation-en +testfailure test -e rootdir/var/cache/apt/archives/foo_1_all.deb +testfailure test -e rootdir/var/cache/apt/archives/foo_1%3a1_all.deb +testfailure test -e rootdir/var/cache/apt/archives/foo_2%3a1_all.deb +testfailure test -e rootdir/var/cache/apt/archives/foo_2_all.deb +testfailure test -e rootdir/var/cache/apt/archives/foo_3_all.deb +testfailure test -e rootdir/var/cache/apt/archives/foo_4_all.deb + +if [ "$(id -u)" != '0' ]; then + msgmsg 'No clean if lock can not be acquired' + touch rootdir/var/cache/apt/archives/foo_4_all.deb + touch rootdir/var/cache/apt/archives/lock + chmod 444 rootdir/var/cache/apt/archives/lock + testfailure apt clean + testsuccess test -e rootdir/var/cache/apt/archives/foo_4_all.deb + chmod 644 rootdir/var/cache/apt/archives/lock +fi + +msgmsg 'distclean' +listcurrentlistsdirectory > aptdistclean.before +testsuccessequal '3' grep -c -e 'Release$' aptdistclean.before +testsuccess grep -e 'Packages$' -e 'Sources$' -e 'Translation-*$' aptdistclean.before +testsuccess apt distclean +listcurrentlistsdirectory > aptdistclean.after +testfailure cmp aptdistclean.before aptdistclean.after +testsuccessequal '3' grep -c -e 'Release$' aptdistclean.after +testfailureequal '0' grep -c -e 'Packages$' -e 'Sources$' -e 'Translation-*$' aptdistclean.after +for dirt in Packages.gz Sources.xz Release2gpg Release_Packages; do + touch "rootdir/var/lib/apt/lists/_foo_bar_$dirt" +done +listcurrentlistsdirectory > aptdistclean.before +testsuccess apt distclean +listcurrentlistsdirectory > aptdistclean.cleaned +testsuccess cmp aptdistclean.after aptdistclean.cleaned + +directorygone() { + rm -rf "$1" + testsuccess apt autoclean + testfailure test -d "$1" + testsuccess apt clean + # clean creates an empty partial directory via GetLock + if [ "$(basename "$1")" = 'partial' ]; then + testsuccess test -d "$1" + else + testfailure test -d "$1" + fi +} +msgmsg 'Partial directory missing' +directorygone 'rootdir/var/cache/apt/archives/partial' +directorygone 'rootdir/var/lib/apt/lists/partial' + +msgmsg 'Archives directory missing' +directorygone 'rootdir/var/cache/apt/archives' +directorygone 'rootdir/var/lib/apt/lists' + +msgmsg 'apt directory missing' +directorygone 'rootdir/var/cache/apt' +directorygone 'rootdir/var/lib/apt' + diff --git a/test/integration/test-apt-get-download b/test/integration/test-apt-get-download new file mode 100755 index 0000000..ea74ac6 --- /dev/null +++ b/test/integration/test-apt-get-download @@ -0,0 +1,113 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "i386" +confighashes 'SHA512' + +buildsimplenativepackage 'apt' 'all' '1.0' 'stable' +buildsimplenativepackage 'apt' 'all' '2.0' 'unstable' +insertinstalledpackage 'vrms' 'all' '1.0' + +addtrap 'prefix' "umask $(umask);" +umask 0027 +setupaptarchive --no-update + +# directories should be readable by everyone +find aptarchive/dists -type d | while read dir; do + chmod o+rx "$dir" +done +# apt-ftparchive knows how to chmod files +find aptarchive/dists -name '*Packages*' -type f | while read file; do + testaccessrights "$file" '644' + chmod 640 "$file" +done +# created by the framework without special care +find aptarchive/dists -name '*Release*' -type f | while read file; do + testaccessrights "$file" '640' +done +if [ "$(id -u)" = '0' ]; then + # Release file can't be accessed by _apt + testsuccesswithnotice aptget update +fi + +#everything (too) permissive +find aptarchive/ -type f | while read file; do + chmod 777 "$file" +done +find incoming/ -type f | while read file; do + chmod 777 "$file" +done +testsuccess aptget update + +testdownload() { + local DEB="$1" + shift + msgtest "Test download of package file $DEB with" "$@" + testsuccess --nomsg aptget download "$@" -o Debug::pkgAcquire::Worker=1 -o Debug::pkgAcquire::Auth=1 + testsuccess test -f "$DEB" + testaccessrights "$DEB" '644' + rm -f "$DEB" +} + +# normal case as "root" +OLDPWD="$(pwd)" +cd downloaded +testdownload apt_2.0_all.deb apt +cd "$OLDPWD" + +# simulate normal user with non-existent root-owned directories +rm -rf rootdir/var/cache/apt/archives/ +mkdir rootdir/var/cache/apt/archives/ +addtrap 'prefix' "chmod -f -R +w $PWD/rootdir/var/cache/apt/archives || true;" +chmod -R -w rootdir/var/cache/apt/archives + +OLDPWD="$(pwd)" +cd downloaded + +# normal case(es) +testdownload apt_1.0_all.deb apt/stable +testdownload apt_2.0_all.deb apt + +DEBFILE="$(readlink -f ../aptarchive)/pool/apt_2.0_all.deb" +testequal "'file:${DEBFILE}' apt_2.0_all.deb $(stat -c%s "$DEBFILE") SHA512:$(sha512sum "$DEBFILE" | cut -d' ' -f 1)" aptget download apt --print-uris + +# deb:677887 +testequal "E: Can't find a source to download version '1.0' of 'vrms:i386'" aptget download vrms --print-uris +testequal "E: Can't find a source to download version '1.0' of 'vrms:i386'" aptget download vrms + +# deb:736962 +testsuccess aptget download apt +testsuccess test -s apt_2.0_all.deb +testaccessrights 'apt_2.0_all.deb' '644' +testsuccess aptget download apt +testsuccess test -s apt_2.0_all.deb +testaccessrights 'apt_2.0_all.deb' '644' + +rm -f apt_1.0_all.deb apt_2.0_all.deb + +# deb:738103 +testdownload apt_2.0_all.deb apt apt apt/unstable apt=2.0 + +# FIXME: pick up already downloaded deb files for real +# restore "root" rights +#cd "$OLDPWD" +#chmod -f -R +w "$PWD/rootdir/var/cache/apt/archives" +#rm -rf rootdir/var/cache/apt/archives/ + +# file: debs aren't copied to archives, so change to http which obviously are +#changetowebserver +#testsuccess aptget update + +# test with already stored deb +#testsuccess aptget install -d apt +#testsuccess test -s rootdir/var/cache/apt/archives/apt_2.0_all.deb +#testaccessrights 'rootdir/var/cache/apt/archives/apt_2.0_all.deb' '644' +#mv aptarchive/pool/apt_2.0_all.deb aptarchive/pool/apt_2.0_all.deb.gone +#cd downloaded +#testdownload apt_2.0_all.deb apt +#cd "$OLDPWD" +#mv aptarchive/pool/apt_2.0_all.deb.gone aptarchive/pool/apt_2.0_all.deb diff --git a/test/integration/test-apt-get-install-deb b/test/integration/test-apt-get-install-deb new file mode 100755 index 0000000..bcf8bae --- /dev/null +++ b/test/integration/test-apt-get-install-deb @@ -0,0 +1,258 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' 'i386' + +# regression test for #754904 +cat > foo.rpm <<EOF +I'm not a deb, I'm a teapot. +EOF +for exe in apt aptget; do + for cmd in install remove purge upgrade full-upgrade; do + testfailureequal 'E: Unsupported file /dev/null given on commandline' $exe $cmd -qq /dev/null + testfailureequal 'E: Unsupported file ./foo.rpm given on commandline' $exe $cmd -qq ./foo.rpm + done +done + +# and ensure we fail for invalid debs +mv foo.rpm foo.deb +for exe in apt aptget; do + for cmd in install remove purge upgrade full-upgrade; do + testfailuremsg "E: Invalid archive signature +E: Internal error, could not locate member control.tar{.zst,.lz4,.gz,.xz,.bz2,.lzma,} +E: Could not read meta data from ${TMPWORKINGDIRECTORY}/foo.deb +E: The package lists or status file could not be parsed or opened." $exe $cmd ./foo.deb + done +done + +buildsimplenativepackage 'foo' 'i386,amd64' '1.0' + +testfailureequal "Reading package lists... +Building dependency tree... +Note, selecting 'foo:i386' instead of './incoming/foo_1.0_i386.deb' +Note, selecting 'foo' instead of './incoming/foo_1.0_amd64.deb' +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + foo:i386 : Conflicts: foo but 1.0 is to be installed + foo : Conflicts: foo:i386 but 1.0 is to be installed +E: Unable to correct problems, you have held broken packages." aptget install ./incoming/foo_1.0_i386.deb ./incoming/foo_1.0_amd64.deb -s + +testsuccess apt show foo --with-source ./incoming/foo_1.0_amd64.deb +testequal 'Package: foo +Version: 1.0' grep -e '^Package:' -e '^Version:' -e '^Architecture:' rootdir/tmp/testsuccess.output +testsuccess apt show ./incoming/foo_1.0_amd64.deb +testequal 'Package: foo +Version: 1.0' grep -e '^Package:' -e '^Version:' -e '^Architecture:' rootdir/tmp/testsuccess.output +testsuccess apt show foo:i386 ./incoming/foo_1.0_amd64.deb --with-source ./incoming/foo_1.0_i386.deb +testequal 'Package: foo:i386 +Version: 1.0 +Package: foo +Version: 1.0' grep -e '^Package:' -e '^Version:' -e '^Architecture:' rootdir/tmp/testsuccess.output + +testsuccess aptcache show foo --with-source ./incoming/foo_1.0_amd64.deb +testequal 'Package: foo +Version: 1.0 +Architecture: amd64' grep -e '^Package:' -e '^Version:' -e '^Architecture:' rootdir/tmp/testsuccess.output +testsuccess aptcache show ./incoming/foo_1.0_amd64.deb +testequal 'Package: foo +Version: 1.0 +Architecture: amd64' grep -e '^Package:' -e '^Version:' -e '^Architecture:' rootdir/tmp/testsuccess.output +testsuccess aptcache show foo:i386 ./incoming/foo_1.0_amd64.deb --with-source ./incoming/foo_1.0_i386.deb +testequal 'Package: foo +Version: 1.0 +Architecture: i386 +Package: foo +Version: 1.0 +Architecture: amd64' grep -e '^Package:' -e '^Version:' -e '^Architecture:' rootdir/tmp/testsuccess.output + +testsuccessequal 'Sorting... +Full Text Search... +foo/local-deb 1.0 amd64 + an autogenerated dummy foo=1.0/unstable +' apt search foo --with-source ./incoming/foo_1.0_amd64.deb +testsuccessequal 'foo - an autogenerated dummy foo=1.0/unstable' aptcache search foo --with-source ./incoming/foo_1.0_amd64.deb + +testdpkgnotinstalled 'foo' 'foo:i386' +testsuccess aptget install ./incoming/foo_1.0_i386.deb -o Debug::pkgCacheGen=1 +testdpkginstalled 'foo:i386' +testfailure aptget install incoming/foo_1.0_i386.deb -o Debug::pkgCacheGen=1 +cd downloaded +testsuccess aptget install "$(readlink -f ../incoming/foo_1.0_i386.deb)" -o Debug::pkgCacheGen=1 -y --reinstall +testfailure grep 'is already the newest version' ../rootdir/tmp/testsuccess.output +testsuccess aptget install ../incoming/foo_1.0_i386.deb -o Debug::pkgCacheGen=1 -y --reinstall +testfailure grep 'is already the newest version' ../rootdir/tmp/testsuccess.output +cd .. + +testsuccessequal "Reading package lists... +Building dependency tree... +Reading state information... +Note, selecting 'foo' instead of './incoming/foo_1.0_amd64.deb' +The following packages will be REMOVED: + foo:i386 +The following NEW packages will be installed: + foo +0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Remv foo:i386 [1.0] +Inst foo (1.0 local-deb [amd64]) +Conf foo (1.0 local-deb [amd64])" aptget install ./incoming/foo_1.0_amd64.deb -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget install --with-source ./incoming/foo_1.0_amd64.deb -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + foo:i386 +The following NEW packages will be installed: + foo +0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Remv foo:i386 [1.0] +Inst foo (1.0 local-deb [amd64]) +Conf foo (1.0 local-deb [amd64])' aptget install --with-source ./incoming/foo_1.0_amd64.deb foo -s + +# Check that installing the local deb works if it is not the candidate +echo "Package: foo +Pin: version 1.0 +Pin-Priority: -1" > rootdir/etc/apt/preferences + +testsuccessequal "Reading package lists... +Building dependency tree... +Reading state information... +Note, selecting 'foo' instead of './incoming/foo_1.0_amd64.deb' +The following packages will be REMOVED: + foo:i386 +The following NEW packages will be installed: + foo +0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Remv foo:i386 [1.0] +Inst foo (1.0 local-deb [amd64]) +Conf foo (1.0 local-deb [amd64])" aptget install ./incoming/foo_1.0_amd64.deb -s + +createpkg() { + local PKG="pkg-$1" + mkdir -p ./incoming/$PKG/DEBIAN + if [ -n "$2" ]; then + echo -n "$2" >> ./incoming/$PKG/DEBIAN/control + fi + echo "Package: $PKG +Version: 0 +Priority: extra +Maintainer: No Body <no@example.org> +Architecture: all +Depends: foo:i386 +Description: test package" >> ./incoming/$PKG/DEBIAN/control + if [ -n "$3" ]; then + echo -n "$3" >> ./incoming/$PKG/DEBIAN/control + fi + testsuccess dpkg-deb --build ./incoming/$PKG/ ./incoming + #dpkg-deb -I ./incoming/${PKG}_0_all.deb control +} +createpkg 'as-it-should-be' +createpkg 'leading-newline' ' + +' +createpkg 'trailing-newline' '' ' +' +createpkg 'double-trailing-newline' '' ' + +' +createpkg 'last-line-parse' '' 'Pre-Depends: pkg-as-it-should-be +' + +echo 'Package: /pkg-/ +Pin: release a=experimental +Pin-Priority: 501' > rootdir/etc/apt/preferences.d/pinit + +testfailuremsg 'E: Unable to correct problems, you have held broken packages.' aptget install -q=0 ./incoming/pkg-last-line-parse_0_all.deb +testsuccess aptget install ./incoming/pkg-as-it-should-be_0_all.deb +testsuccess aptget install ./incoming/pkg-last-line-parse_0_all.deb +testsuccess aptget install "$(readlink -f ./incoming/pkg-leading-newline_0_all.deb)" +testsuccess aptget install ./incoming/pkg-trailing-newline_0_all.deb +testsuccess aptget install ./incoming/pkg-double-trailing-newline_0_all.deb + +testempty apt clean +if [ "$(id -u)" = '0' ]; then + # see if permission dropping is checked before usage + chmod 711 ./incoming + testsuccess aptget install -y ./incoming/pkg-as-it-should-be_0_all.deb --reinstall + testfailure grep 'is already the newest version' rootdir/tmp/testsuccess.output + chmod 710 ./incoming + testsuccesswithnotice aptget install -y ./incoming/pkg-as-it-should-be_0_all.deb --reinstall + testfailure grep 'is already the newest version' rootdir/tmp/testsuccesswithnotice.output + chmod 700 ./incoming + testsuccesswithnotice aptget install -y ./incoming/pkg-as-it-should-be_0_all.deb --reinstall + testfailure grep 'is already the newest version' rootdir/tmp/testsuccesswithnotice.output + chmod 711 ./incoming +else + testsuccess aptget install -y ./incoming/pkg-as-it-should-be_0_all.deb --reinstall + testfailure grep 'is already the newest version' rootdir/tmp/testsuccess.output +fi + +sed -i -e '/^Depends: foo/ d' rootdir/var/lib/dpkg/status +testsuccess aptget install -y ./incoming/pkg-as-it-should-be_0_all.deb +testfailure grep 'is already the newest version' rootdir/tmp/testsuccess.output +testsuccess apt purge -y pkg-as-it-should-be + +echo "Package: pkg-as-it-should-be +Architecture: all +Version: 0 +Installed-Size: 2903 +Filename: incoming/pkg-as-it-should-be_0%3a0+0_all.deb +Size: $(stat -c %s incoming/pkg-as-it-should-be_0_all.deb) +SHA256: $(sha256sum incoming/pkg-as-it-should-be_0_all.deb | cut -d' ' -f 1) +" > Packages +ln -s pkg-as-it-should-be_0_all.deb incoming/pkg-as-it-should-be_0%3a0+0_all.deb +testdpkgnotinstalled 'pkg-as-it-should-be' +testnopackage pkg-as-it-should-be +testsuccess apt install --with-source ./Packages pkg-as-it-should-be -s +testsuccess apt install --with-source ./Packages pkg-as-it-should-be --print-uris +testsuccess apt show --with-source ./Packages pkg-as-it-should-be +testequal 'Package: pkg-as-it-should-be' head -n1 rootdir/tmp/testsuccess.output +testsuccess apt install -y --with-source ./Packages pkg-as-it-should-be -o Debug::pkgAcquire::Worker=1 +testdpkginstalled 'pkg-as-it-should-be' +rm -f ./Packages + +echo 'dpkg::install::recursive "true"; +dpkg::install::recursive::force "true"; +dpkg::install::recursive::minimum "0";' > rootdir/etc/apt/apt.conf.d/lowerminimum.conf +mv ./incoming/pkg-as-it-should-be_0_all.deb ./incoming/pkg-as-it-should-be_0%3a0+0_all.ddeb +testsuccess aptget install -y ./incoming/pkg-as-it-should-be_0%3a0+0_all.ddeb --reinstall -o Debug::pkgDpkgPm=1 +cp rootdir/tmp/testsuccess.output apt.output +testsuccess grep "^${TMPWORKINGDIRECTORY}/.*/dpkg.* --recursive .*/apt-dpkg-install-" apt.output +testsuccess aptget install -y ./incoming/pkg-as-it-should-be_0%3a0+0_all.ddeb --reinstall -o Debug::pkgDpkgPm=1 -o DPkg::Chroot-Directory="${TMPWORKINGDIRECTORY}/rootdir/" +cp rootdir/tmp/testsuccess.output apt.output +testsuccess grep 'dpkg.* --recursive .*/apt-dpkg-install-' apt.output +testfailure grep "^${TMPWORKINGDIRECTORY}/.*/dpkg.* --recursive .*/apt-dpkg-install-" apt.output +testfailure grep "dpkg.* --recursive ${TMPWORKINGDIRECTORY}" apt.output +testsuccess aptget install -y ./incoming/pkg-as-it-should-be_0%3a0+0_all.ddeb --reinstall +testfailure grep 'is already the newest version' rootdir/tmp/testsuccess.output +testsuccess apt purge -y pkg-as-it-should-be +testdpkgnotinstalled 'pkg-as-it-should-be' + +mv ./incoming/pkg-as-it-should-be_0%3a0+0_all.ddeb ./incoming/pkg-as-it-should-be_0_all.foobar +echo "Package: pkg-as-it-should-be +Architecture: all +Version: 0 +Installed-Size: 2903 +Filename: incoming/pkg-as-it-should-be_0_all.foobar +Size: $(stat -c %s incoming/pkg-as-it-should-be_0_all.foobar) +SHA256: $(sha256sum incoming/pkg-as-it-should-be_0_all.foobar | cut -d' ' -f 1) +" | gzip > Packages.gz +testsuccess apt install --with-source ./Packages.gz pkg-as-it-should-be -s +testsuccess apt install --with-source ./Packages.gz pkg-as-it-should-be --print-uris +testsuccess apt show --with-source ./Packages.gz pkg-as-it-should-be +testequal 'Package: pkg-as-it-should-be' head -n1 rootdir/tmp/testsuccess.output +testsuccess apt install -y --with-source ./Packages.gz pkg-as-it-should-be +testdpkginstalled 'pkg-as-it-should-be' diff --git a/test/integration/test-apt-get-install-update b/test/integration/test-apt-get-install-update new file mode 100755 index 0000000..33be6e3 --- /dev/null +++ b/test/integration/test-apt-get-install-update @@ -0,0 +1,111 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' + +buildsimplenativepackage 'awesome' 'native' '42' 'stable' +buildsimplenativepackage 'foo' 'all' '1.0' 'stable' +buildsimplenativepackage 'libbar' 'all' '1.0' 'stable' + +setupaptarchive --no-update +changetowebserver +testfailureequal "Reading package lists... +Building dependency tree... +E: Unable to locate package awesome" aptget install awesome -s + +msgmsg "apt-get {install,remove} {-U, --update}" +for command in install remove; do + for option in -U --update; do +testsuccessequal "Get:1 http://localhost:${APTHTTPPORT} stable InRelease [$(stat -c %s aptarchive/dists/stable/InRelease) B] +Get:2 http://localhost:${APTHTTPPORT} stable/main Sources [$(stat -c %s aptarchive/dists/stable/main/source/Sources.gz) B] +Get:3 http://localhost:${APTHTTPPORT} stable/main amd64 Packages [$(stat -c %s aptarchive/dists/stable/main/binary-amd64/Packages.gz) B] +Get:4 http://localhost:${APTHTTPPORT} stable/main all Packages [$(stat -c %s aptarchive/dists/stable/main/binary-all/Packages.gz) B] +Get:5 http://localhost:${APTHTTPPORT} stable/main Translation-en [$(stat -c %s aptarchive/dists/stable/main/i18n/Translation-en.gz) B] +Reading package lists... +Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + awesome +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst awesome (42 stable [amd64]) +Conf awesome (42 stable [amd64])" \ + aptget $command $option awesome+ -s + find rootdir/var/lib/apt/lists/ -type f -delete + done +done + +msgmsg "apt {install,remove} {-U, --update}" + +for command in install remove; do + for option in -U --update; do +testsuccessequal "Get:1 http://localhost:${APTHTTPPORT} stable InRelease [$(stat -c %s aptarchive/dists/stable/InRelease) B] +Get:2 http://localhost:${APTHTTPPORT} stable/main Sources [$(stat -c %s aptarchive/dists/stable/main/source/Sources.gz) B] +Get:3 http://localhost:${APTHTTPPORT} stable/main amd64 Packages [$(stat -c %s aptarchive/dists/stable/main/binary-amd64/Packages.gz) B] +Get:4 http://localhost:${APTHTTPPORT} stable/main all Packages [$(stat -c %s aptarchive/dists/stable/main/binary-all/Packages.gz) B] +Get:5 http://localhost:${APTHTTPPORT} stable/main Translation-en [$(stat -c %s aptarchive/dists/stable/main/i18n/Translation-en.gz) B] +Reading package lists... +Building dependency tree... +All packages are up to date. +Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + awesome +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst awesome (42 stable [amd64]) +Conf awesome (42 stable [amd64])" \ + apt $command $option awesome+ -s + find rootdir/var/lib/apt/lists/ -type f -delete + done +done + +msgmsg "apt-get *upgrade {-U, --update}" + +for command in upgrade dist-upgrade full-upgrade; do + for option in -U --update; do +testsuccessequal "Get:1 http://localhost:${APTHTTPPORT} stable InRelease [$(stat -c %s aptarchive/dists/stable/InRelease) B] +Get:2 http://localhost:${APTHTTPPORT} stable/main Sources [$(stat -c %s aptarchive/dists/stable/main/source/Sources.gz) B] +Get:3 http://localhost:${APTHTTPPORT} stable/main amd64 Packages [$(stat -c %s aptarchive/dists/stable/main/binary-amd64/Packages.gz) B] +Get:4 http://localhost:${APTHTTPPORT} stable/main all Packages [$(stat -c %s aptarchive/dists/stable/main/binary-all/Packages.gz) B] +Get:5 http://localhost:${APTHTTPPORT} stable/main Translation-en [$(stat -c %s aptarchive/dists/stable/main/i18n/Translation-en.gz) B] +Reading package lists... +Reading package lists... +Building dependency tree... +Calculating upgrade... +The following NEW packages will be installed: + awesome +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst awesome (42 stable [amd64]) +Conf awesome (42 stable [amd64])" \ + aptget $command $option awesome -s + find rootdir/var/lib/apt/lists/ -type f -delete + done +done + +msgmsg "apt *upgrade {-U, --update}" + +for command in upgrade dist-upgrade full-upgrade; do + for option in -U --update; do +testsuccessequal "Get:1 http://localhost:${APTHTTPPORT} stable InRelease [$(stat -c %s aptarchive/dists/stable/InRelease) B] +Get:2 http://localhost:${APTHTTPPORT} stable/main Sources [$(stat -c %s aptarchive/dists/stable/main/source/Sources.gz) B] +Get:3 http://localhost:${APTHTTPPORT} stable/main amd64 Packages [$(stat -c %s aptarchive/dists/stable/main/binary-amd64/Packages.gz) B] +Get:4 http://localhost:${APTHTTPPORT} stable/main all Packages [$(stat -c %s aptarchive/dists/stable/main/binary-all/Packages.gz) B] +Get:5 http://localhost:${APTHTTPPORT} stable/main Translation-en [$(stat -c %s aptarchive/dists/stable/main/i18n/Translation-en.gz) B] +Reading package lists... +Building dependency tree... +All packages are up to date. +Reading package lists... +Building dependency tree... +Calculating upgrade... +The following NEW packages will be installed: + awesome +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst awesome (42 stable [amd64]) +Conf awesome (42 stable [amd64])" \ + apt $command $option awesome -s + find rootdir/var/lib/apt/lists/ -type f -delete + done +done diff --git a/test/integration/test-apt-get-install-virtual-pkgs b/test/integration/test-apt-get-install-virtual-pkgs new file mode 100755 index 0000000..99e01ab --- /dev/null +++ b/test/integration/test-apt-get-install-virtual-pkgs @@ -0,0 +1,138 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' + +insertpackage 'unstable' 'foo' 'amd64' '1' 'Provides: foo-prv' + +insertpackage 'unstable' 'baz1' 'amd64' '1' 'Provides: foo-prv1' +insertpackage 'unstable' 'foo1' 'amd64' '1' 'Provides: foo-prv1' + +insertpackage 'unstable' 'baz2' 'amd64' '1' 'Provides: foo-prv2' +insertpackage 'unstable' 'foo2' 'amd64' '2' 'Provides: foo-prv2:amd64' + +insertpackage 'unstable' 'baz3' 'amd64' '1' 'Provides: foo-prv3' +insertpackage 'unstable' 'foo3' 'i386' '2' 'Provides: foo-prv3:amd64' + +insertpackage 'unstable' 'baz4' 'amd64' '1' 'Provides: foo-prv4:amd64' +insertpackage 'unstable' 'foo4' 'i386' '2' 'Provides: foo-prv4:amd64' + +insertpackage 'experimental' 'baz5' 'amd64' '1' 'Provides: foo-prv5:amd64' +insertpackage 'experimental' 'foo5' 'i386' '2' 'Provides: foo-prv5:amd64' + +insertpackage 'stable' 'debhelper' 'amd64,i386' '1' 'Provides: debhelper-compat (= 12)' +insertpackage 'unstable,testing' 'debhelper' 'amd64,i386' '2' 'Provides: debhelper-compat (= 13)' +insertpackage 'experimental' 'debhelper' 'amd64,i386' '3' 'Provides: debhelper-compat (= 13)' +insertpackage 'experimental' 'debhelper-ng' 'amd64,i386' '4' 'Provides: debhelper-compat (= 13)' + +setupaptarchive + +testsuccessequal "Reading package lists... +Building dependency tree... +Note, selecting 'foo' instead of 'foo-prv' +The following NEW packages will be installed: + foo +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1 unstable [amd64]) +Conf foo (1 unstable [amd64])" aptget install foo-prv -s + +testvirtuals() { + testfailureequal "Reading package lists... +Building dependency tree... +Package $1 is a virtual package provided by: + $3 + $2 +You should explicitly select one to install. + +E: Package '$1' has no installation candidate" aptget install $1 -s +} + +testvirtuals 'foo-prv1' 'baz1 1' 'foo1 1' +testvirtuals 'foo-prv2' 'baz2 1' 'foo2 2' +testvirtuals 'foo-prv3' 'baz3 1' 'foo3:i386 2' +testvirtuals 'foo-prv4' 'baz4 1' 'foo4:i386 2' +testvirtuals 'foo-prv5' 'baz5 1' 'foo5:i386 2' + +echo 'Package: * +Pin: release a=experimental +Pin-Priority: -1' > rootdir/etc/apt/preferences.d/experimental.pref + +testfailureequal "Reading package lists... +Building dependency tree... +Package foo-prv5 is a virtual package provided by: + foo5:i386 2 [Not candidate version] + baz5 1 [Not candidate version] + +E: Package 'foo-prv5' has no installation candidate" aptget install foo-prv5 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + debhelper +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst debhelper (2 testing, unstable [amd64]) +Conf debhelper (2 testing, unstable [amd64])' apt install debhelper -s +testsuccessequal "Reading package lists... +Building dependency tree... +Note, selecting 'debhelper' instead of 'debhelper-compat' +The following NEW packages will be installed: + debhelper +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst debhelper (2 testing, unstable [amd64]) +Conf debhelper (2 testing, unstable [amd64])" apt install debhelper-compat -s +testsuccessequal "Reading package lists... +Building dependency tree... +Note, selecting 'debhelper' instead of 'debhelper-compat' +Selected version '1' (stable [amd64]) for 'debhelper' +The following NEW packages will be installed: + debhelper +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst debhelper (1 stable [amd64]) +Conf debhelper (1 stable [amd64])" apt install debhelper-compat=12 -s +testsuccessequal "Reading package lists... +Building dependency tree... +Note, selecting 'debhelper' instead of 'debhelper-compat' +Selected version '1' (stable [amd64]) for 'debhelper' +The following NEW packages will be installed: + debhelper +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst debhelper (1 stable [amd64]) +Conf debhelper (1 stable [amd64])" apt install debhelper-compat/stable -s +# by version selection we have selected the experimental debhelper-ng here +# but dehelper stays at the candidate as it already provides 13 +testfailureequal "Reading package lists... +Building dependency tree... +Package debhelper-compat is a virtual package provided by: + debhelper 2 (= 13) + debhelper-ng 4 (= 13) +You should explicitly select one to install. + +E: Version '13' for 'debhelper-compat' was not found" apt install debhelper-compat=13 -s +testsuccessequal "Reading package lists... +Building dependency tree... +Note, selecting 'debhelper' instead of 'debhelper-compat' +Selected version '2' (testing, unstable [amd64]) for 'debhelper' +The following NEW packages will be installed: + debhelper +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst debhelper (2 testing, unstable [amd64]) +Conf debhelper (2 testing, unstable [amd64])" apt install debhelper-compat/unstable -s +testfailureequal "Reading package lists... +Building dependency tree... +Package debhelper-compat is a virtual package provided by: + debhelper-ng 4 (= 13) + debhelper 3 (= 13) +You should explicitly select one to install. + +E: Version '13' for 'debhelper-compat' was not found" apt install debhelper-compat=13 -st experimental +testfailureequal "Reading package lists... +Building dependency tree... +Package debhelper-compat is a virtual package provided by: + debhelper-ng 4 (= 13) + debhelper 3 (= 13) +You should explicitly select one to install. + +E: Release 'experimental' for 'debhelper-compat' was not found" apt install debhelper-compat/experimental -s diff --git a/test/integration/test-apt-get-remove-depends b/test/integration/test-apt-get-remove-depends new file mode 100755 index 0000000..2d2cf0d --- /dev/null +++ b/test/integration/test-apt-get-remove-depends @@ -0,0 +1,29 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' + +buildsimplenativepackage 'alpha' 'all' '1' 'unstable' 'Depends: beta' +buildsimplenativepackage 'beta' 'all' '1' 'unstable' +setupaptarchive + +testsuccess aptget install alpha -y + +cat > rootdir/var/lib/dpkg/info/alpha.prerm << EOF +#!/bin/sh +exit 42 +EOF +chmod 755 rootdir/var/lib/dpkg/info/alpha.prerm + + +testdpkginstalled 'alpha' 'beta' + + +testfailure aptget remove -y beta + +# Beta should not be removed because alpha failed to be removed and depends on it + +testdpkginstalled 'alpha' 'beta' diff --git a/test/integration/test-apt-get-satisfy b/test/integration/test-apt-get-satisfy new file mode 100755 index 0000000..267760f --- /dev/null +++ b/test/integration/test-apt-get-satisfy @@ -0,0 +1,111 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'i386' 'amd64' + +insertpackage 'stable' 'depends' 'i386' '1' +insertpackage 'stable' 'depends' 'amd64' '1' +insertinstalledpackage 'conflicts' 'i386' '1' 'Multi-Arch: same' +insertinstalledpackage 'conflicts' 'amd64' '1' 'Multi-Arch: same' +setupaptarchive + +testrun() { + local TYPE="$1" + local HEADER="$2" + shift 2 + msgmsg "$TYPE: Normal" + testsuccessequal "$HEADER +The following packages will be REMOVED: + conflicts +The following NEW packages will be installed: + depends +0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Remv conflicts [1] +Inst depends (1 stable [i386]) +Conf depends (1 stable [i386])" aptget satisfy --simulate "depends (>= 1)" "Conflicts: conflicts:i386 (>= 1) [i386], conflicts:amd64 (>= 1) [amd64]" "$@" + + testsuccessequal "$HEADER +The following packages will be REMOVED: + conflicts:amd64 +The following NEW packages will be installed: + depends:amd64 +0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Remv conflicts:amd64 [1] +Inst depends:amd64 (1 stable [amd64]) +Conf depends:amd64 (1 stable [amd64])" aptget satisfy --simulate "depends (>= 1)" "Conflicts: conflicts:i386 (>= 1) [i386], conflicts:amd64 (>= 1) [amd64]" --host-architecture amd64 "$@" + + msgmsg "$TYPE: Build profile" + + testsuccessequal "$HEADER +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded." aptget satisfy --simulate "depends:amd64 <a>, depends:i386 <i>" "$@" + + testsuccessequal "$HEADER +The following NEW packages will be installed: + depends:amd64 +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst depends:amd64 (1 stable [amd64]) +Conf depends:amd64 (1 stable [amd64])" aptget satisfy --simulate "depends:amd64 <a>, depends:i386 <i>" -P a "$@" + + testsuccessequal "$HEADER +The following NEW packages will be installed: + depends +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst depends (1 stable [i386]) +Conf depends (1 stable [i386])" aptget satisfy --simulate "depends:amd64 <a>, depends:i386 <i>" -P i "$@" + + msgmsg "$TYPE: Broken syntax" + testfailureequal "E: Problem parsing dependency: apt (>= 2" aptget satisfy 'foo' 'apt (>= 2' -s "$@" + testfailureequal "E: Problem parsing dependency: Conflicts: apt (>= 2" aptget satisfy 'foo' 'Conflicts: apt (>= 2' -s "$@" + + msgmsg "$TYPE: Legacy operators" + testfailureequal "E: Invalid operator '<' at offset 5, did you mean '<<' or '<='? - in: foo (< 1)" aptget satisfy 'foo (< 1)' -s "$@" + testfailureequal "E: Invalid operator '>' at offset 5, did you mean '>>' or '>='? - in: foo (> 1)" aptget satisfy 'foo (> 1)' -s "$@" + + msgmsg "$TYPE: Unsupported dependency type" + testfailureequal "E: Problem parsing dependency: Recommends: foo" aptget satisfy 'Recommends: foo' -s "$@" + + msgmsg "$TYPE: Empty dependency" + testfailureequal "E: Problem parsing dependency: " aptget satisfy '' -s "$@" +} + +testrun 'Internal' 'Reading package lists... +Building dependency tree...' + +testrun 'External' 'Reading package lists... +Building dependency tree... +Execute external solver...' --solver apt + +testfailureequal "Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + satisfy:command-line : Depends: depends (>= 2) but it is not going to be installed +E: Unable to correct problems, you have held broken packages." aptget satisfy --simulate "depends (>= 2)" "Conflicts: conflicts:i386 (>= 1) [i386], conflicts:amd64 (>= 1) [amd64]" + +testfailureequal "Reading package lists... +Building dependency tree... +Execute external solver... +The solver encountered an error of type: ERR_UNSOLVABLE +The following information might help you to understand what is wrong: +The following packages have unmet dependencies: + satisfy:command-line : Depends: depends (>= 2) but it is not going to be installed + +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + satisfy:command-line : Depends: depends (>= 2) but it is not going to be installed + Conflicts: conflicts:i386 (>= 1) +E: External solver failed with: The following packages have unmet dependencies:" aptget satisfy --simulate "depends (>= 2)" "Conflicts: conflicts:i386 (>= 1) [i386], conflicts:amd64 (>= 1) [amd64]" --solver apt diff --git a/test/integration/test-apt-get-source-arch b/test/integration/test-apt-get-source-arch new file mode 100755 index 0000000..573ae14 --- /dev/null +++ b/test/integration/test-apt-get-source-arch @@ -0,0 +1,68 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "i386" "amd64" + + +# different version for the individual arches +insertpackage 'stable' 'foo' 'amd64' '1.0' +insertsource 'stable' 'foo' 'amd64' '1.0' + +insertpackage 'stable' 'foo' 'i386' '1.0' +insertsource 'stable' 'foo' 'i386' '1.0' +insertpackage 'stable' 'foo' 'i386' '2.0' +insertsource 'stable' 'foo' 'i386' '2.0' + +insertpackage 'oldstable' 'foo' 'i386' '0.1' +insertsource 'oldstable' 'foo' 'i386' '0.1' +# just needed so that there is a release file entry for the test +insertpackage 'oldstable' 'unreleated' 'amd64' '0.1' + +setupaptarchive + +APTARCHIVE=$(readlink -f ./aptarchive) + +HEADER='Reading package lists...' +DOWNLOAD10="Need to get 0 B/25 B of source archives. +'file:${APTARCHIVE}/foo_1.0.dsc' foo_1.0.dsc 11 SHA256:ed7c25c832596339bee13e4e7c45cf49f869b60d2bf57252f18191d75866c2a7 +'file:${APTARCHIVE}/foo_1.0.tar.gz' foo_1.0.tar.gz 14 SHA256:f3da8c6ebc62c8ef2dae439a498dddcdacc1a07f45ff67ad12f44b6e2353c239" + +# pick :amd64 +testsuccessequal "$HEADER +$DOWNLOAD10" aptget source -q --print-uris foo:amd64 + +# pick :i386 +testsuccessequal "$HEADER +Need to get 0 B/25 B of source archives. +'file:${APTARCHIVE}/foo_2.0.dsc' foo_2.0.dsc 11 SHA256:0fcb803ffbeef26db884625aaf06e75f3eda5c994634980e7c20fd37ed1fc104 +'file:${APTARCHIVE}/foo_2.0.tar.gz' foo_2.0.tar.gz 14 SHA256:ca9b0b828ca22372502af2b80f61f0bd9063910ece9fc34eeaf9d9e31aa8195a" aptget source -q --print-uris foo:i386 + +# pick :i386 by release +testsuccessequal "$HEADER +Selected version '0.1' (oldstable) for foo +Need to get 0 B/25 B of source archives. +'file:${APTARCHIVE}/foo_0.1.dsc' foo_0.1.dsc 11 SHA256:72af24b0290fe1d13a3e25fddd2633e43c87ff79d249bc850009e47bcce73565 +'file:${APTARCHIVE}/foo_0.1.tar.gz' foo_0.1.tar.gz 14 SHA256:ec748ad88a71f98bfdc012e1a7632377d05fe3ebbf9c0922e0691fe4d79c0585" aptget source -q --print-uris foo:i386/oldstable + +# pick :i386 by version +testsuccessequal "$HEADER +$DOWNLOAD10" aptget source -q --print-uris foo:i386=1.0 + +# error on unknown arch +testfailureequal "$HEADER +E: Can not find a package for architecture 'not-a-available-arch' +E: Unable to find a source package for foo:not-a-available-arch" aptget source -q --print-uris foo:not-a-available-arch + +# error on unavailable version for arch +testfailureequal "$HEADER +E: Can not find a package 'foo:amd64' with version '2.0' +E: Unable to find a source package for foo:amd64=2.0" aptget source -q --print-uris foo:amd64=2.0 + +# error on unavailable release for arch +testfailureequal "$HEADER +E: Can not find a package 'foo:amd64' with release 'oldstable' +E: Unable to find a source package for foo:amd64/oldstable" aptget source -q --print-uris foo:amd64/oldstable diff --git a/test/integration/test-apt-get-source-authenticated b/test/integration/test-apt-get-source-authenticated new file mode 100755 index 0000000..d5a4fac --- /dev/null +++ b/test/integration/test-apt-get-source-authenticated @@ -0,0 +1,33 @@ +#!/bin/sh +# +# Regression test for debian bug #749795. Ensure that we fail with +# an error if apt-get source foo will download a source that comes +# from an unauthenticated repository +# +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "i386" + +# a "normal" package with source and binary +buildsimplenativepackage 'foo' 'all' '2.0' + +setupaptarchive --no-update + +APTARCHIVE="$(readlink -f ./aptarchive)" +find "$APTARCHIVE/dists/unstable" -name '*Release*' -delete + +# update without authenticated InRelease file +testwarning aptget update --allow-insecure-repositories + +# this all should fail +testfailure aptget install -y foo +cd downloaded +testfailure aptget source foo +testfailure test -e foo_2.0.dsc +# allow overriding the warning +testsuccess aptget source --allow-unauthenticated foo -o Debug::pkgAcquire::Worker=1 +testsuccess test -s foo_2.0.dsc -a -L foo_2.0.dsc diff --git a/test/integration/test-apt-get-source-multisources b/test/integration/test-apt-get-source-multisources new file mode 100755 index 0000000..fbc52cc --- /dev/null +++ b/test/integration/test-apt-get-source-multisources @@ -0,0 +1,29 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'armhf' + +insertsource 'unstable' 'adduser' 'all' '3.113+nmu3' +insertsource 'stable' 'python-fll' 'all' '0.9.11' + +insertpackage 'unstable' 'adduser' 'all' '3.113+nmu3' +insertpackage 'stable' 'python-fll' 'all' '0.9.11' + +setupaptarchive + +APTARCHIVE=$(readlink -f ./aptarchive) + +HEADER='Reading package lists...' +testsuccessequal "$HEADER +Need to get 0 B/43 B of source archives. +'file:${APTARCHIVE}/adduser_3.113%2bnmu3.dsc' adduser_3.113+nmu3.dsc 22 SHA256:19cc1abe85063976bf71c033f62f3e6bf6621647fe44a6ee31ed687e3fa5cbb7 +'file:${APTARCHIVE}/python-fll_0.9.11.dsc' python-fll_0.9.11.dsc 21 SHA256:51429e835ded66abf6bbc157865af29920435e74aea2836ba1f46443feae9285" aptget source -qdy --print-uris --dsc-only adduser=3.113 python-fll=0.9.11 + +testsuccessequal "$HEADER +Need to get 0 B/43 B of source archives. +'file:${APTARCHIVE}/python-fll_0.9.11.dsc' python-fll_0.9.11.dsc 21 SHA256:51429e835ded66abf6bbc157865af29920435e74aea2836ba1f46443feae9285 +'file:${APTARCHIVE}/adduser_3.113%2bnmu3.dsc' adduser_3.113+nmu3.dsc 22 SHA256:19cc1abe85063976bf71c033f62f3e6bf6621647fe44a6ee31ed687e3fa5cbb7" aptget source -qdy --print-uris --dsc-only python-fll=0.9.11 adduser=3.113 diff --git a/test/integration/test-apt-get-update-sourceslist-warning b/test/integration/test-apt-get-update-sourceslist-warning new file mode 100755 index 0000000..3a3cb2e --- /dev/null +++ b/test/integration/test-apt-get-update-sourceslist-warning @@ -0,0 +1,86 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' +setupaptarchive --no-update + +testsuccess apt update +testsuccess apt update --no-download + +cat > rootdir/var/lib/apt/lists/example.org_debian_dists_bookworm_Release <<EOF +Origin: Debian +Label: Debian +Suite: unreleased +Codename: bookworm +Date: Sun, 29 Jan 2023 20:14:10 +0000 +Architectures: amd64 +Components: main contrib non-free non-free-firmware +Description: Debian x.y Bookworm - Not Released +EOF +touch rootdir/var/lib/apt/lists/example.org_debian_dists_bookworm_main_binary-amd64_Packages +touch rootdir/var/lib/apt/lists/example.org_debian_dists_bookworm_contrib_binary-amd64_Packages +touch rootdir/var/lib/apt/lists/example.org_debian_dists_bookworm_non-free_binary-amd64_Packages +touch rootdir/var/lib/apt/lists/example.org_debian_dists_bookworm_non-free-firmware_binary-amd64_Packages +find rootdir/var/lib/apt/lists/ -type f -exec chmod 644 {} \; + +NOTESURL='https://www.debian.org/releases/bookworm/amd64/release-notes/ch-information.html#non-free-split' +BOILERPLATE='Reading package lists... +Building dependency tree... +All packages are up to date.' + +msgmsg 'Do not suggest new non-free-firmware component if no non-free' +echo 'deb http://example.org/debian bookworm main' > rootdir/etc/apt/sources.list.d/example.list +testsuccessequal "$BOILERPLATE" apt update --no-download +echo 'deb-src http://example.org/debian bookworm main non-free' > rootdir/etc/apt/sources.list.d/example.list +testsuccessequal "$BOILERPLATE" apt update --no-download + +msgmsg 'Suggest Signed-By for deb822 sources.list(5) entries' +rm rootdir/etc/apt/sources.list.d/example.list +echo 'Types: deb +URIs: http://example.org/debian +Suites: bookworm +Components: main +' > rootdir/etc/apt/sources.list.d/example.sources +testsuccessequal "$BOILERPLATE +N: Missing Signed-By in the sources.list(5) entry for 'http://example.org/debian'" apt update --no-download +rm rootdir/etc/apt/sources.list.d/example.sources + +msgmsg 'Is non-free-firmware missing?' +echo 'deb http://example.org/debian bookworm main non-free' > rootdir/etc/apt/sources.list.d/example.list +cat >> rootdir/var/lib/apt/lists/example.org_debian_dists_bookworm_non-free_binary-amd64_Packages <<EOF +Package: firmware-linux-nonfree +Architecture: all +Version: 1 +EOF +testsuccessequal "$BOILERPLATE" apt update --no-download +echo -n > rootdir/var/lib/apt/lists/example.org_debian_dists_bookworm_non-free_binary-amd64_Packages +testsuccessequal "$BOILERPLATE +N: Repository 'Debian bookworm' changed its 'non-free component' value from 'non-free' to 'non-free non-free-firmware' +N: More information about this can be found online in the Release notes at: $NOTESURL" apt update --no-download + +msgmsg 'Component already present' +echo 'deb http://example.org/debian bookworm non-free non-free-firmware' > rootdir/etc/apt/sources.list.d/example.list +testsuccessequal "$BOILERPLATE" apt update --no-download +echo 'deb http://example.org/debian bookworm non-free +deb http://example.org/debian bookworm non-free-firmware' > rootdir/etc/apt/sources.list.d/example.list +testsuccessequal "$BOILERPLATE" apt update --no-download + +msgmsg 'Detect login info embedded in sources.list' +echo 'deb http://apt:debian@example.org/debian bookworm main' > rootdir/etc/apt/sources.list.d/example.list +testsuccessequal "$BOILERPLATE +N: Usage of apt_auth.conf(5) should be preferred over embedding login information directly in the sources.list(5) entry for 'http://example.org/debian'" apt update --no-download +echo 'deb tor+https://apt:debian@example.org/debian bookworm main' > rootdir/etc/apt/sources.list.d/example.list +testsuccessequal "$BOILERPLATE +N: Usage of apt_auth.conf(5) should be preferred over embedding login information directly in the sources.list(5) entry for 'tor+https://example.org/debian'" apt update --no-download + +msgmsg 'Firmware packages without upgrades' +echo 'deb http://example.org/debian bookworm main' > rootdir/etc/apt/sources.list.d/example.list +insertinstalledpackage 'firmware-linux-nonfree' 'all' '1' +testsuccessequal "$BOILERPLATE +N: Repository 'Debian bookworm' changed its 'firmware component' value from 'non-free' to 'non-free-firmware' +N: More information about this can be found online in the Release notes at: $NOTESURL" apt update --no-download + diff --git a/test/integration/test-apt-get-update-unauth-warning b/test/integration/test-apt-get-update-unauth-warning new file mode 100755 index 0000000..42c4e5a --- /dev/null +++ b/test/integration/test-apt-get-update-unauth-warning @@ -0,0 +1,94 @@ +#!/bin/sh +# +# ensure we print warnings for unauthenticated repositories +# +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "i386" +configcompression '.' 'gz' + +echo 'Acquire::Progress::Ignore::ShowErrorText "false";' > rootdir/etc/apt/apt.conf.d/99show-no-ignore-errors.conf + +# a "normal" package with source and binary +buildsimplenativepackage 'foo' 'all' '2.0' + +setupaptarchive --no-update + +APTARCHIVE="$(readlink -f ./aptarchive)" +find "$APTARCHIVE/dists/unstable" \( -name 'InRelease' -o -name 'Release.gpg' \) -delete +sed -i -n '/^SHA1:$/q;p' "${APTARCHIVE}/dists/unstable/Release" +testfailure aptget update +testwarning aptget update --allow-insecure-repositories + + +rm -rf rootdir/var/lib/apt/lists +find "$APTARCHIVE/dists/unstable" -name '*Release*' -delete +# update without authenticated files leads to warning +testfailureequal "Get:1 file:$APTARCHIVE unstable InRelease +Ign:1 file:$APTARCHIVE unstable InRelease +Get:2 file:$APTARCHIVE unstable Release +Err:2 file:$APTARCHIVE unstable Release + File not found - ${APTARCHIVE}/dists/unstable/Release (2: No such file or directory) +Reading package lists... +E: The repository 'file:$APTARCHIVE unstable Release' does not have a Release file. +N: Updating from such a repository can't be done securely, and is therefore disabled by default. +N: See apt-secure(8) manpage for repository creation and user configuration details." aptget update + +# no package foo +testsuccessequal 'Listing...' apt list foo +testequal 'auxfiles +lock +partial' ls rootdir/var/lib/apt/lists + +filesize() { + local CREATEDBY="$1" + shift + stat -c%s "/$(aptget indextargets --no-release-info --format '$(URI)' "Created-By: $CREATEDBY" "$@" | cut -d'/' -f 2- ).gz" +} +# allow override +#aptget update --allow-insecure-repositories -o Debug::pkgAcquire::worker=1 +#exit +testwarningequal "Get:1 file:$APTARCHIVE unstable InRelease +Ign:1 file:$APTARCHIVE unstable InRelease +Get:2 file:$APTARCHIVE unstable Release +Ign:2 file:$APTARCHIVE unstable Release +Get:3 file:$APTARCHIVE unstable/main Sources +Ign:3 file:$APTARCHIVE unstable/main Sources +Get:4 file:$APTARCHIVE unstable/main i386 Packages +Ign:4 file:$APTARCHIVE unstable/main i386 Packages +Get:5 file:$APTARCHIVE unstable/main all Packages +Ign:5 file:$APTARCHIVE unstable/main all Packages +Get:6 file:$APTARCHIVE unstable/main Translation-en +Ign:6 file:$APTARCHIVE unstable/main Translation-en +Get:3 file:$APTARCHIVE unstable/main Sources +Ign:3 file:$APTARCHIVE unstable/main Sources +Get:4 file:$APTARCHIVE unstable/main i386 Packages +Ign:4 file:$APTARCHIVE unstable/main i386 Packages +Get:5 file:$APTARCHIVE unstable/main all Packages +Ign:5 file:$APTARCHIVE unstable/main all Packages +Get:6 file:$APTARCHIVE unstable/main Translation-en +Ign:6 file:$APTARCHIVE unstable/main Translation-en +Get:3 file:$APTARCHIVE unstable/main Sources +Ign:3 file:$APTARCHIVE unstable/main Sources +Get:4 file:$APTARCHIVE unstable/main i386 Packages +Ign:4 file:$APTARCHIVE unstable/main i386 Packages +Get:5 file:$APTARCHIVE unstable/main all Packages +Ign:5 file:$APTARCHIVE unstable/main all Packages +Get:6 file:$APTARCHIVE unstable/main Translation-en +Ign:6 file:$APTARCHIVE unstable/main Translation-en +Get:3 file:$APTARCHIVE unstable/main Sources [$(filesize 'Sources') B] +Get:4 file:$APTARCHIVE unstable/main i386 Packages [$(filesize 'Packages' 'Architecture: i386') B] +Get:5 file:$APTARCHIVE unstable/main all Packages [$(filesize 'Packages' 'Architecture: all') B] +Get:6 file:$APTARCHIVE unstable/main Translation-en [$(filesize 'Translations') B] +Reading package lists... +W: The repository 'file:$APTARCHIVE unstable Release' does not have a Release file. +N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use. +N: See apt-secure(8) manpage for repository creation and user configuration details." aptget update --allow-insecure-repositories +# ensure we can not install the package +testfailureequal "WARNING: The following packages cannot be authenticated! + foo +E: There were unauthenticated packages and -y was used without --allow-unauthenticated" aptget install -qq -y foo diff --git a/test/integration/test-apt-get-upgrade b/test/integration/test-apt-get-upgrade new file mode 100755 index 0000000..50a90ce --- /dev/null +++ b/test/integration/test-apt-get-upgrade @@ -0,0 +1,144 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "i386" + +# simple case +insertpackage 'stable,installed' 'upgrade-simple' 'all' '1.0' +insertpackage 'unstable' 'upgrade-simple' 'all' '2.0' + +# upgrade with a new dependency +insertpackage 'stable,installed' 'upgrade-with-new-dep' 'all' '1.0' +insertpackage 'unstable' 'upgrade-with-new-dep' 'all' '2.0' 'Depends: new-dep' +insertpackage 'stable' 'new-dep' 'all' '1.0' + +# upgrade with conflict and a new pkg with higher priority than conflict +insertpackage 'stable,installed' 'upgrade-with-conflict' 'all' '1.0' +insertpackage 'unstable' 'upgrade-with-conflict' 'all' '2.0' 'Conflicts: conflicting-dep' 'standard' +insertpackage 'stable,installed' 'conflicting-dep' 'all' '1.0' + +# upgrade with conflict and a new pkg with higher priority than conflict +insertpackage 'stable,installed' 'init' 'all' '1' +insertpackage 'unstable' 'init' 'all' '2' 'Pre-Depends: systemd | sysvinit' +insertpackage 'unstable' 'systemd' 'all' '2' 'Conflicts: conflicting-dep' +insertpackage 'unstable' 'sysvinit' 'all' '2' + +setupaptarchive + +# Test if normal upgrade works as expected +UPGRADE='Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages have been kept back: + init upgrade-with-conflict upgrade-with-new-dep +The following packages will be upgraded: + upgrade-simple +1 upgraded, 0 newly installed, 0 to remove and 3 not upgraded. +Inst upgrade-simple [1.0] (2.0 unstable [all]) +Conf upgrade-simple (2.0 unstable [all])' +testsuccessequal "$UPGRADE" aptget upgrade -s +testsuccessequal "$UPGRADE" apt upgrade -s --without-new-pkgs + +# Test if apt-get upgrade --with-new-pkgs works +UPGRADENEW='Reading package lists... +Building dependency tree... +Calculating upgrade... +The following NEW packages will be installed: + new-dep +The following packages have been kept back: + init upgrade-with-conflict +The following packages will be upgraded: + upgrade-simple upgrade-with-new-dep +2 upgraded, 1 newly installed, 0 to remove and 2 not upgraded. +Inst new-dep (1.0 stable [all]) +Inst upgrade-simple [1.0] (2.0 unstable [all]) +Inst upgrade-with-new-dep [1.0] (2.0 unstable [all]) +Conf new-dep (1.0 stable [all]) +Conf upgrade-simple (2.0 unstable [all]) +Conf upgrade-with-new-dep (2.0 unstable [all])' +testsuccessequal "$UPGRADENEW" aptget upgrade -s --with-new-pkgs +testsuccessequal "$UPGRADENEW" apt upgrade -s + +# Test if apt-get dist-upgrade works +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be REMOVED: + conflicting-dep +The following NEW packages will be installed: + new-dep systemd +The following packages will be upgraded: + init upgrade-simple upgrade-with-conflict upgrade-with-new-dep +4 upgraded, 2 newly installed, 1 to remove and 0 not upgraded. +Remv conflicting-dep [1.0] +Inst systemd (2 unstable [all]) +Conf systemd (2 unstable [all]) +Inst init [1] (2 unstable [all]) +Inst upgrade-with-conflict [1.0] (2.0 unstable [all]) +Inst new-dep (1.0 stable [all]) +Inst upgrade-simple [1.0] (2.0 unstable [all]) +Inst upgrade-with-new-dep [1.0] (2.0 unstable [all]) +Conf init (2 unstable [all]) +Conf upgrade-with-conflict (2.0 unstable [all]) +Conf new-dep (1.0 stable [all]) +Conf upgrade-simple (2.0 unstable [all]) +Conf upgrade-with-new-dep (2.0 unstable [all])' aptget -s dist-upgrade + +msgmsg 'make systemd a non-choice in the or-group and try again' +echo 'Package: systemd +Pin: release unstable +Pin-Priority: -1' > rootdir/etc/apt/preferences.d/nosystemd.pref + +testsuccessequal "$UPGRADE" aptget upgrade -s +testsuccessequal "$UPGRADE" apt upgrade -s --without-new-pkgs + +UPGRADENEW='Reading package lists... +Building dependency tree... +Calculating upgrade... +The following NEW packages will be installed: + new-dep sysvinit +The following packages have been kept back: + upgrade-with-conflict +The following packages will be upgraded: + init upgrade-simple upgrade-with-new-dep +3 upgraded, 2 newly installed, 0 to remove and 1 not upgraded. +Inst sysvinit (2 unstable [all]) +Conf sysvinit (2 unstable [all]) +Inst init [1] (2 unstable [all]) +Inst new-dep (1.0 stable [all]) +Inst upgrade-simple [1.0] (2.0 unstable [all]) +Inst upgrade-with-new-dep [1.0] (2.0 unstable [all]) +Conf init (2 unstable [all]) +Conf new-dep (1.0 stable [all]) +Conf upgrade-simple (2.0 unstable [all]) +Conf upgrade-with-new-dep (2.0 unstable [all])' +testsuccessequal "$UPGRADENEW" aptget upgrade -s --with-new-pkgs +testsuccessequal "$UPGRADENEW" apt upgrade -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be REMOVED: + conflicting-dep +The following NEW packages will be installed: + new-dep sysvinit +The following packages will be upgraded: + init upgrade-simple upgrade-with-conflict upgrade-with-new-dep +4 upgraded, 2 newly installed, 1 to remove and 0 not upgraded. +Remv conflicting-dep [1.0] +Inst sysvinit (2 unstable [all]) +Conf sysvinit (2 unstable [all]) +Inst init [1] (2 unstable [all]) +Inst upgrade-with-conflict [1.0] (2.0 unstable [all]) +Inst new-dep (1.0 stable [all]) +Inst upgrade-simple [1.0] (2.0 unstable [all]) +Inst upgrade-with-new-dep [1.0] (2.0 unstable [all]) +Conf init (2 unstable [all]) +Conf upgrade-with-conflict (2.0 unstable [all]) +Conf new-dep (1.0 stable [all]) +Conf upgrade-simple (2.0 unstable [all]) +Conf upgrade-with-new-dep (2.0 unstable [all])' aptget -s dist-upgrade diff --git a/test/integration/test-apt-get-upgrade-by-source b/test/integration/test-apt-get-upgrade-by-source new file mode 100755 index 0000000..bac91f0 --- /dev/null +++ b/test/integration/test-apt-get-upgrade-by-source @@ -0,0 +1,53 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment + +insertinstalledpackage 'pkg' 'all' '1' 'Source: pkg' +insertinstalledpackage 'pkg-foo' 'all' '1' 'Source: pkg' +insertinstalledpackage 'pkg-bar' 'all' '1' 'Source: pkg' +insertpackage 'unstable' 'pkg' 'all' '2' 'Source: pkg' +insertpackage 'unstable' 'pkg-foo' 'all' '2' 'Source: pkg' +insertpackage 'unstable' 'pkg-bar' 'all' '2' 'Source: pkg' + +configarchitecture 'arm64' +setupaptarchive + +noprogress() { + "$@" | sed /^Progress/d +} + +testsuccessequal "Reading package lists... +Building dependency tree... + MarkInstall pkg:arm64 < 1 -> 2 @ii pumU > FU=1 + Upgrading pkg-bar:arm64 < 1 | 2 @ii umH > due to pkg:arm64 + Upgrading pkg-foo:arm64 < 1 | 2 @ii umH > due to pkg:arm64 +Starting pkgProblemResolver with broken count: 0 +Starting 2 pkgProblemResolver with broken count: 0 +Done +The following additional packages will be installed: + pkg-bar pkg-foo +The following packages will be upgraded: + pkg pkg-bar pkg-foo +3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Inst pkg [1] (2 unstable [all]) +Inst pkg-bar [1] (2 unstable [all]) +Inst pkg-foo [1] (2 unstable [all]) +Conf pkg (2 unstable [all]) +Conf pkg-bar (2 unstable [all]) +Conf pkg-foo (2 unstable [all])" aptget install pkg -o debug::pkgdepcache::marker=1 -o Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::AutoInstall=1 -s + +testsuccessequal "Reading package lists... +Building dependency tree... + MarkInstall pkg:arm64 < 1 -> 2 @ii pumU > FU=1 +Starting pkgProblemResolver with broken count: 0 +Starting 2 pkgProblemResolver with broken count: 0 +Done +The following packages will be upgraded: + pkg +1 upgraded, 0 newly installed, 0 to remove and 2 not upgraded. +Inst pkg [1] (2 unstable [all]) +Conf pkg (2 unstable [all])" aptget install pkg -o debug::pkgdepcache::marker=1 -o Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::AutoInstall=1 -o APT::Get::Upgrade-By-Source-Package=0 -s diff --git a/test/integration/test-apt-helper b/test/integration/test-apt-helper new file mode 100755 index 0000000..ae1ca74 --- /dev/null +++ b/test/integration/test-apt-helper @@ -0,0 +1,132 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'i386' + +changetohttpswebserver + +echo 'foo' > aptarchive/foo +echo 'bar' > aptarchive/foo2 + +test_apt_helper_download() { + msgmsg 'Test with' "$1" + + msgtest 'apt-file download-file' 'md5sum' + testsuccess --nomsg apthelper download-file "${1}/foo" './downloaded/foo2' 'MD5Sum:d3b07384d113edec49eaa6238ad5ff00' + testfileequal ./downloaded/foo2 'foo' + + msgtest 'apt-file download-file' 'sha1' + testsuccess --nomsg apthelper download-file "${1}/foo" './downloaded/foo1' 'SHA1:f1d2d2f924e986ac86fdf7b36c94bcdf32beec15' + testfileequal ./downloaded/foo1 'foo' + + msgtest 'apt-file download-file' 'sha256' + testsuccess --nomsg apthelper download-file "${1}/foo" './downloaded/foo3' 'SHA256:b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c' + testfileequal ./downloaded/foo3 'foo' + + msgtest 'apt-file download-file' 'no-hash' + testsuccess --nomsg apthelper download-file "${1}/foo" './downloaded/foo4' + testfileequal ./downloaded/foo4 'foo' + + msgtest 'apt-file download-file' 'wrong md5sum' + testfailure --nomsg apthelper -qq download-file "${1}/foo" './downloaded/foo5' 'MD5Sum:aabbcc' + testfileequal rootdir/tmp/testfailure.output "E: Failed to fetch ${1}/foo Hash Sum mismatch + Hashes of expected file: + - MD5Sum:aabbcc [weak] + Hashes of received file: + - SHA512:0cf9180a764aba863a67b6d72f0918bc131c6772642cb2dce5a34f0a702f9470ddc2bf125c12198b1995c233c34b4afd346c54a2334c350a948a51b6e8b4e6b6 + - SHA256:b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c + - SHA1:f1d2d2f924e986ac86fdf7b36c94bcdf32beec15 [weak] + - MD5Sum:d3b07384d113edec49eaa6238ad5ff00 [weak] + - Filesize:4 [weak] + Last modification reported: $(lastmodification 'aptarchive/foo') +E: Download Failed" + testfileequal ./downloaded/foo5.FAILED 'foo' + + msgtest 'apt-file download-file' 'wrong sha256' + testfailure --nomsg apthelper -qq download-file "${1}/foo" './downloaded/foo6' 'SHA256:aabbcc' + testfileequal rootdir/tmp/testfailure.output "E: Failed to fetch ${1}/foo Hash Sum mismatch + Hashes of expected file: + - SHA256:aabbcc + Hashes of received file: + - SHA256:b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c + - Filesize:4 [weak] + Last modification reported: $(lastmodification 'aptarchive/foo') +E: Download Failed" + testfileequal './downloaded/foo6.FAILED' 'foo' + + msgtest 'apt-file download-file' 'sha256 sha1' + testsuccess --nomsg apthelper download-file "${1}/foo" './downloaded/foo8' 'SHA256:b5bb9d8014a0f9b1d61e21e796d78dccdf1352f23cd32812f4850b878ae4944c' \ + "${1}/foo2" './downloaded/foo7' 'SHA1:e242ed3bffccdf271b7fbaf34ed72d089537b42f' + testfileequal './downloaded/foo8' 'foo' + testfileequal './downloaded/foo7' 'bar' + + msgtest 'apt-file download-file' 'md5sum sha1' + testsuccess --nomsg apthelper download-file "${1}/foo" './downloaded/foo9' 'MD5Sum:d3b07384d113edec49eaa6238ad5ff00' \ + "${1}/foo2" './downloaded/foo10' 'SHA1:e242ed3bffccdf271b7fbaf34ed72d089537b42f' + testfileequal './downloaded/foo9' 'foo' + testfileequal './downloaded/foo10' 'bar' +} + +setupproxydetect() { + local METH="$1" + shift + { + echo '#!/bin/sh -e' + echo "$@" + } > "${TMPWORKINGDIRECTORY}/apt-proxy-detect" + chmod 755 "${TMPWORKINGDIRECTORY}/apt-proxy-detect" + echo "Acquire::${METH}::${CONFNAME} \"${TMPWORKINGDIRECTORY}/apt-proxy-detect\";" > rootdir/etc/apt/apt.conf.d/02proxy-detect +} + +test_apt_helper_detect_proxy() { + msgmsg "apt-helper $CONFNAME" 'no proxy' + testsuccessequal "Using proxy '' for URL 'http://example.com/'" apthelper auto-detect-proxy http://example.com/ + setupproxydetect 'http' 'exit 0' + testsuccessequal "Using proxy '' for URL 'http://example.com/'" apthelper auto-detect-proxy http://example.com/ + setupproxydetect 'http' 'exit 1' + testfailureequal 'E: Sub-process ProxyAutoDetect returned an error code (1)' apthelper auto-detect-proxy http://example.com/ + setupproxydetect 'http' 'echo' + testwarningequal "Using proxy '' for URL 'http://example.com/' +W: ProxyAutoDetect command returned an empty line" apthelper auto-detect-proxy http://example.com/ + setupproxydetect 'http' 'echo DIRECT' + testsuccessequal "Using proxy 'DIRECT' for URL 'http://example.com/'" apthelper auto-detect-proxy http://example.com/ + chmod -x "${TMPWORKINGDIRECTORY}/apt-proxy-detect" + testfailureequal "E: ProxyAutoDetect command '${TMPWORKINGDIRECTORY}/apt-proxy-detect' can not be executed! - access (13: Permission denied)" apthelper auto-detect-proxy http://example.com/ + + msgmsg "apt-helper $CONFNAME" 'http proxy' + setupproxydetect 'http' 'echo "http://some-proxy"' + testsuccessequal "Using proxy 'http://some-proxy' for URL 'http://www.example.com/'" apthelper auto-detect-proxy http://www.example.com + testsuccessequal "Using proxy '' for URL 'https://ssl.example.com/'" apthelper auto-detect-proxy https://ssl.example.com + + msgmsg "apt-helper $CONFNAME" 'https proxy' + setupproxydetect 'https' 'echo "https://https-proxy"' + testsuccessequal "Using proxy '' for URL 'http://no-ssl.example.com/'" apthelper auto-detect-proxy http://no-ssl.example.com + testsuccessequal "Using proxy 'https://https-proxy' for URL 'https://ssl.example.com/'" apthelper auto-detect-proxy https://ssl.example.com + rm -f rootdir/etc/apt/apt.conf.d/02proxy-detect "${TMPWORKINGDIRECTORY}/apt-proxy-detect" +} + +test_apt_helper_download "http://localhost:${APTHTTPPORT}" +test_apt_helper_download "https://localhost:${APTHTTPSPORT}" +for CONFNAME in 'ProxyAutoDetect' 'Proxy-Auto-Detect' ; do + test_apt_helper_detect_proxy +done +msgmsg 'test various failure modes' +testfailureequal 'E: Invalid operation download' apthelper download +testfailureequal 'E: Must specify at least one pair url/filename' apthelper download-file +testfailureequal 'E: Must specify at least one pair url/filename' apthelper download-file 'http://example.org/' +testfailureequal 'E: Need one URL as argument' apthelper auto-detect-proxy +testfailureequal 'E: Must specify at least one SRV record' apthelper srv-lookup +testfailureequal 'E: GetSrvRec failed for localhost' apthelper -q=1 srv-lookup 'localhost' +testfailureequal "E: GetSrvRec failed for localhost:${APTHTTPPORT}" apthelper -q=1 srv-lookup "localhost:${APTHTTPPORT}" +testfailureequal "E: GetSrvRec failed for localhost:${APTHTTPSPORT}" apthelper -q=1 srv-lookup "localhost:${APTHTTPSPORT}" + +msgmsg 'apt-helper' 'drop-privs' +testfailureequal "E: No command given to run without privileges" apthelper drop-privs +testsuccess apthelper -- drop-privs true +testsuccess apthelper drop-privs -- true +DATE="$(date -u +'%Y-%m-%d')" +testsuccessequal "$DATE" apthelper drop-privs -- date -u -d "$DATE" +'%Y-%m-%d' diff --git a/test/integration/test-apt-helper-cat-file b/test/integration/test-apt-helper-cat-file new file mode 100755 index 0000000..064760c --- /dev/null +++ b/test/integration/test-apt-helper-cat-file @@ -0,0 +1,46 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment + +TESTTOOL="${APTTESTHELPERSBINDIR}/test_fileutl" +msgtest 'Check if we have build the test tool' "$TESTTOOL" +if [ -x "$TESTTOOL" ]; then + msgpass +else + msgskip 'not available' + exit 0 +fi + +cat >rootdir/etc/apt/apt.conf.d/rev-as-compressor <<EOF +APT::Compressor::rev { + Name "rev"; + Extension ".rev"; + Binary "rev"; + Cost "1"; +}; +EOF + +configcompression 'ALL' +cat >./test.txt <<EOF +This is a test. +EOF + +compressfile ./test.txt +while read compressor extension command; do + if [ "$compressor" = '.' ]; then + FILE='./test.txt' + else + FILE="./test.txt.${extension}" + fi + if [ -d /proc/self/fd ]; then + testsuccess runapt "${TESTTOOL}" "$FILE" + testequal '3' grep -c '/test.txt' rootdir/tmp/testsuccess.output + else + msgtest 'Test if /proc interface is available' + msgskip 'seems not' + fi + testsuccessequal "$(cat ./test.txt)" apthelper cat-file "$FILE" +done < "${TMPWORKINGDIRECTORY}/rootdir/etc/testcase-compressor.conf" diff --git a/test/integration/test-apt-https-no-redirect b/test/integration/test-apt-https-no-redirect new file mode 100755 index 0000000..1c38809 --- /dev/null +++ b/test/integration/test-apt-https-no-redirect @@ -0,0 +1,48 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "i386" + +insertpackage 'stable' 'apt' 'all' '1' +setupaptarchive --no-update + +echo 'alright' > aptarchive/working +changetohttpswebserver +webserverconfig 'aptwebserver::redirect::replace::/redirectme/' "http://localhost:${APTHTTPPORT}/" +webserverconfig 'aptwebserver::redirect::replace::/redirectme2/' "https://localhost:${APTHTTPSPORT}/" +echo 'Dir::Bin::Methods::https+http "http";' > rootdir/etc/apt/apt.conf.d/99add-https-http-method +echo 'Dir::Bin::Methods::foo+https "http";' > rootdir/etc/apt/apt.conf.d/99add-foo-https-method + +msgtest 'download of a file works via' 'http' +testsuccess --nomsg downloadfile "http://localhost:${APTHTTPPORT}/working" httpfile +testfileequal httpfile 'alright' + +msgtest 'download of a file works via' 'https' +testsuccess --nomsg downloadfile "https://localhost:${APTHTTPSPORT}/working" httpsfile +testfileequal httpsfile 'alright' +rm -f httpfile httpsfile + +msgtest 'download of http file works via' 'https+http' +testsuccess --nomsg downloadfile "https+http://localhost:${APTHTTPPORT}/working" httpfile +testfileequal httpfile 'alright' +rm -f httpfile + +msgtest 'download of a file does not work if' 'https redirected to http' +testfailure --nomsg downloadfile "https://localhost:${APTHTTPSPORT}/redirectme/working" redirectfile +msgtest 'libcurl has forbidden access in last request to' 'http resource' +testsuccess --nomsg grep -q -E -- "Redirection from https to 'http://.*' is forbidden" rootdir/tmp/testfailure.output +rm -f redirectfile + +msgtest 'download of a file does work if' 'https+http redirected to https' +testsuccess --nomsg downloadfile "https+http://localhost:${APTHTTPPORT}/redirectme2/working" redirectfile +testfileequal redirectfile 'alright' +rm -f redirectfile + +msgtest 'download of a file does work if' 'foo+https redirected to https' +testsuccess --nomsg downloadfile "foo+https://localhost:${APTHTTPSPORT}/redirectme2/working" redirectfile +testfileequal redirectfile 'alright' +rm -f redirectfile diff --git a/test/integration/test-apt-https-transient b/test/integration/test-apt-https-transient new file mode 100755 index 0000000..f2b7347 --- /dev/null +++ b/test/integration/test-apt-https-transient @@ -0,0 +1,43 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "i386" + +# Disable sandbox to avoid W: down below +echo 'APT::Sandbox::User "root";' > rootdir/etc/apt/apt.conf.d/no-acquire-sandbox + +echo 'alright' > aptarchive/working +changetohttpswebserver + +msgtest 'download of a file works via' 'http' +testsuccess --nomsg downloadfile "http://localhost:${APTHTTPPORT}/working" httpsfile +testfileequal httpsfile 'alright' +rm -f httpfile httpsfile + +msgtest 'download of a file works via' 'https' +testsuccess --nomsg downloadfile "https://localhost:${APTHTTPSPORT}/working" httpfile +testfileequal httpfile 'alright' +rm -f httpfile httpsfile + +# Speak wrong protocols (https on http port and vice versa). We check that they can be retried. + +msgtest 'protocol negotiation error is transient for' 'https' +testfailureequal "Ign:1 https://localhost:${APTHTTPPORT}/working + Could not wait for server fd - select (11: Resource temporarily unavailable) +Err:1 https://localhost:${APTHTTPPORT}/working + Could not wait for server fd - select (11: Resource temporarily unavailable) +E: Failed to fetch https://localhost:${APTHTTPPORT}/working Could not wait for server fd - select (11: Resource temporarily unavailable) +E: Download Failed" apthelper download-file "https://localhost:${APTHTTPPORT}/working" httpfile -oAcquire::https::Timeout=1 -oAcquire::Retries=1 + +# Speak wrong protocols (https on http port and vice versa) +msgtest 'protocol negotiation error is transient for' 'http' +testfailureequal "Ign:1 http://localhost:${APTHTTPSPORT}/working + Connection failed +Err:1 http://localhost:${APTHTTPSPORT}/working + Connection failed +E: Failed to fetch http://localhost:${APTHTTPSPORT}/working Connection failed +E: Download Failed" apthelper download-file "http://localhost:${APTHTTPSPORT}/working" httpfile -oAcquire::https::Timeout=1 -oAcquire::Retries=1 diff --git a/test/integration/test-apt-install-file-reltag b/test/integration/test-apt-install-file-reltag new file mode 100755 index 0000000..afbf9be --- /dev/null +++ b/test/integration/test-apt-install-file-reltag @@ -0,0 +1,94 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'i386' + +insertpackage 'unstable' 'foo' 'all' '2' 'Depends: foo-common (= 2)' +insertpackage 'unstable' 'foo-common' 'all' '2' +insertpackage 'unstable' 'baz' 'all' '1' +insertpackage 'experimental' 'foo' 'all' '5' 'Depends: foo-common (= 5)' +insertpackage 'experimental' 'foo-common' 'all' '5' 'Source: foo (5)' +insertpackage 'experimental' 'baz' 'all' '2' +setupaptarchive + +insertinstalledpackage 'build-essential' 'all' '1' + +cat > foobar.dsc <<EOF +Format: 3.0 (native) +Source: foobar +Binary: foobar +Architecture: all +Version: 1 +Maintainer: Joe Sixpack <joe@example.org> +Build-Depends: foo (= 5), baz +Standards-Version: 4.1.3 +EOF +buildsimplenativepackage 'foobar2' 'all' '1' 'unstable' 'Depends: foo (= 5), baz' + +ln -s "$(readlink -f ./incoming/foobar2_1_all.deb)" foobar.deb +mkdir -p foobar +testfailuremsg 'E: Unable to correct problems, you have held broken packages.' apt build-dep "$(readlink -f ./foobar.dsc)" -s +testfailuremsg 'E: Unable to correct problems, you have held broken packages.' apt install "$(readlink -f ./foobar.deb)" -s +testfailuremsg 'E: Unable to correct problems, you have held broken packages.' apt build-dep ./foobar.dsc -s +testfailuremsg 'E: Unable to correct problems, you have held broken packages.' apt install ./foobar.deb -s +cd foobar +testfailuremsg 'E: Unable to correct problems, you have held broken packages.' apt build-dep ../foobar.dsc -s +testfailuremsg 'E: Unable to correct problems, you have held broken packages.' apt install ../foobar.deb -s +cd .. + +SUCCESSDSC='The following NEW packages will be installed: + baz foo foo-common +0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. +Inst baz (1 unstable [all]) +Inst foo-common (5 experimental [all]) +Inst foo (5 experimental [all]) +Conf baz (1 unstable [all]) +Conf foo-common (5 experimental [all]) +Conf foo (5 experimental [all])' +SUCCESSDEB='The following additional packages will be installed: + baz foo foo-common +The following NEW packages will be installed: + baz foo foo-common foobar2 +0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. +Inst baz (1 unstable [all]) +Inst foo-common (5 experimental [all]) +Inst foo (5 experimental [all]) +Inst foobar2 (1 local-deb [all]) +Conf baz (1 unstable [all]) +Conf foo-common (5 experimental [all]) +Conf foo (5 experimental [all]) +Conf foobar2 (1 local-deb [all])' +testsuccessequal "Note, using file '$(readlink -f ./foobar.dsc)' to get the build dependencies +$SUCCESSDSC" apt build-dep "$(readlink -f ./foobar.dsc)/experimental" -s -q=2 +testsuccessequal "Reading package lists... +Building dependency tree... +Note, selecting 'foobar2' instead of '$(readlink -f ./foobar.deb)' +$SUCCESSDEB" apt install "$(readlink -f ./foobar.deb)/experimental" -s +testsuccessequal "Note, using file './foobar.dsc' to get the build dependencies +$SUCCESSDSC" apt build-dep ./foobar.dsc/experimental -sq=2 +testsuccessequal "Reading package lists... +Building dependency tree... +Note, selecting 'foobar2' instead of './foobar.deb' +$SUCCESSDEB" apt install "./foobar.deb/experimental" -s +cd foobar +testsuccessequal "Note, using file '../foobar.dsc' to get the build dependencies +$SUCCESSDSC" apt build-dep ../foobar.dsc/experimental -sqq +testsuccessequal "Reading package lists... +Building dependency tree... +Note, selecting 'foobar2' instead of '../foobar.deb' +$SUCCESSDEB" apt install "../foobar.deb/experimental" -s +cd .. + +msgmsg 'fail with' 'incorrect release' +testfailuremsg 'E: Unable to correct problems, you have held broken packages.' apt build-dep "$(readlink -f ./foobar.dsc)/stable" -s +testfailuremsg 'E: Unable to correct problems, you have held broken packages.' apt install "$(readlink -f ./foobar.deb)/stable" -s +testfailuremsg 'E: Unable to correct problems, you have held broken packages.' apt build-dep ./foobar.dsc/stable -s +testfailuremsg 'E: Unable to correct problems, you have held broken packages.' apt install ./foobar.deb/stable -s +cd foobar +testfailuremsg 'E: Unable to correct problems, you have held broken packages.' apt build-dep ../foobar.dsc/stable -s +testfailuremsg 'E: Unable to correct problems, you have held broken packages.' apt install ../foobar.deb/stable -s +cd .. diff --git a/test/integration/test-apt-install-order-matters-a-bit b/test/integration/test-apt-install-order-matters-a-bit new file mode 100755 index 0000000..e41709f --- /dev/null +++ b/test/integration/test-apt-install-order-matters-a-bit @@ -0,0 +1,75 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertpackage 'unstable' 'a' 'all' '1' 'Depends: b | d' +insertpackage 'unstable' 'b' 'all' '1' +insertpackage 'unstable' 'c' 'all' '1' 'Depends: d | b' +insertpackage 'unstable' 'd' 'all' '1' + +setupaptarchive + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + b +The following NEW packages will be installed: + a b c +0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. +Inst b (1 unstable [all]) +Inst a (1 unstable [all]) +Inst c (1 unstable [all]) +Conf b (1 unstable [all]) +Conf a (1 unstable [all]) +Conf c (1 unstable [all])' apt install a c -s +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + d +The following NEW packages will be installed: + a c d +0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. +Inst d (1 unstable [all]) +Inst a (1 unstable [all]) +Inst c (1 unstable [all]) +Conf d (1 unstable [all]) +Conf a (1 unstable [all]) +Conf c (1 unstable [all])' apt install c a -s + +TOPLEVELCHOICE='Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + a c d +0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. +Inst d (1 unstable [all]) +Inst a (1 unstable [all]) +Inst c (1 unstable [all]) +Conf d (1 unstable [all]) +Conf a (1 unstable [all]) +Conf c (1 unstable [all])' +testsuccessequal "$TOPLEVELCHOICE" apt install d a c -s +testsuccessequal "$TOPLEVELCHOICE" apt install a c d -s + +testsuccessequal 'Reading package lists... +Building dependency tree... + MarkInstall a:amd64 < none -> 1 @un puN Ib > FU=1 + MarkInstall b:amd64 < none -> 1 @un uN > FU=0 + MarkInstall c:amd64 < none -> 1 @un puN > FU=1 +Starting pkgProblemResolver with broken count: 0 +Starting 2 pkgProblemResolver with broken count: 0 +Done +The following additional packages will be installed: + b +The following NEW packages will be installed: + a b c +0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. +Inst b (1 unstable [all]) +Inst a (1 unstable [all]) +Inst c (1 unstable [all]) +Conf b (1 unstable [all]) +Conf a (1 unstable [all]) +Conf c (1 unstable [all])' apt install a a a c a a a -s -o Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::Marker=1 diff --git a/test/integration/test-apt-keep-downloaded-pkgs b/test/integration/test-apt-keep-downloaded-pkgs new file mode 100755 index 0000000..c5f6295 --- /dev/null +++ b/test/integration/test-apt-keep-downloaded-pkgs @@ -0,0 +1,54 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'native' + +buildsimplenativepackage 'pkg1' 'all' '1.0' 'stable' +buildsimplenativepackage 'pkg2' 'all' '1.0' 'stable' +buildsimplenativepackage 'pkg3' 'all' '1.0' 'stable' +buildsimplenativepackage 'pkg4' 'all' '1.0' 'stable' + +# local (file) installs +setupaptarchive + +# a file:// "download" is not a real download and hence passes +testsuccess aptget install pkg1 --no-download --download-only -y +testfailure test -f rootdir/var/cache/apt/archives/pkg1_1.0_all.deb +testsuccess test -f aptarchive/pool/pkg1_1.0_all.deb + +# ensure that install from local sources does not remove debs +testsuccess aptget install pkg1 -o APT::Keep-Downloaded-Packages=false +testsuccess test -f aptarchive/pool/pkg1_1.0_all.deb +testfailure test -f rootdir/var/cache/apt/archives/pkg1_1.0_all.deb + +# now switch to http and downloading debs +changetowebserver +testsuccess aptget update + +# see if no-download really doesn't download the package +testfailuremsg 'E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?' aptget install pkg2 --no-download -y +testsuccess test -f aptarchive/pool/pkg2_1.0_all.deb +testfailure test -f rootdir/var/cache/apt/archives/pkg2_1.0_all.deb + +# ensure that the downloaded pkg is kept with "keep=true" +testsuccess aptget install pkg2 -o APT::Keep-Downloaded-Packages=true +testsuccess test -f aptarchive/pool/pkg2_1.0_all.deb +testsuccess test -f rootdir/var/cache/apt/archives/pkg2_1.0_all.deb + +# ensure that the downloaded pkg is removed when requested +testsuccess aptget install pkg3 -o APT::Keep-Downloaded-Packages=false +testsuccess test -f aptarchive/pool/pkg3_1.0_all.deb +# this was there before, keep it +testsuccess test -f rootdir/var/cache/apt/archives/pkg2_1.0_all.deb +# this got installed so we can remove it now +testfailure test -f rootdir/var/cache/apt/archives/pkg3_1.0_all.deb + + +# ensure that install from the download dir does not delete packages +mv aptarchive/pool/pkg4_1.0_all.deb rootdir/var/cache/apt/archives +testsuccess aptget install $(pwd)/rootdir/var/cache/apt/archives/pkg4_1.0_all.deb -o APT::Keep-Downloaded-Packages=false +testsuccess test -f $(pwd)/rootdir/var/cache/apt/archives/pkg4_1.0_all.deb diff --git a/test/integration/test-apt-key b/test/integration/test-apt-key new file mode 100755 index 0000000..a1e633c --- /dev/null +++ b/test/integration/test-apt-key @@ -0,0 +1,428 @@ +#!/bin/sh +set -e + +# apt-key is a shell script, so relatively prune to be effected by 'crazy' things: +# confuses config parser as there exists no way of escaping " currently. +#TMPDIR="$(mktemp -d)/This is \"fü\$\$ing cràzy\", \$(man man | head -n1 | cut -d' ' -f 1)\$!" +# gpg doesn't like | in path names – documented e.g. in the man gpg2 --agent-program +#TMPDIR="$(mktemp -d)/This is fü\$\$ing cràzy, \$(man man | head -n1 | cut -d' ' -f 1)\$!" +TMPDIR_ADD="This is fü\$\$ing cràzy, \$(apt -v)\$!" + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +chmod o+x "${TMPWORKINGDIRECTORY}/.." +configarchitecture 'amd64' + +insertpackage 'unstable' 'bar' 'i386' '1' +insertsource 'unstable' 'foo' 'all' '1' +setupaptarchive --no-update + +# start from a clean plate again +cleanplate() { + rm -rf "${ROOTDIR}/etc/apt/trusted.gpg.d/" "${ROOTDIR}/etc/apt/trusted.gpg" + mkdir "${ROOTDIR}/etc/apt/trusted.gpg.d/" +} +testmultigpg() { + testfailure --nomsg aptkey --quiet --readonly "$@" + testsuccess grep "^gpgv: Can't check signature" "${ROOTDIR}/tmp/testfailure.output" + testsuccess grep '^gpgv: Good signature from' "${ROOTDIR}/tmp/testfailure.output" +} +testaptkeyskeyring() { + local KEYRING="$1" + shift + local OUTPUT="${TMPWORKINGDIRECTORY}/rootdir/tmp/aptkeylistkeyring.output" + if ! aptkey --keyring "$KEYRING" list --with-colon 2>/dev/null | grep '^pub' | cut -d':' -f 5 > "$OUTPUT"; then + echo -n > "$OUTPUT" + fi + testfileequal "$OUTPUT" "$(mapkeynametokeyid "$@")" +} +testsuccessempty() { + testempty "$@" +} +testrun() { + local EXT="${1:-gpg}" + local TESTSTATE="${2:-testsuccess}" + echo "APT::Key::ArchiveKeyring \"${KEYDIR}/joesixpack.pub.gpg\"; +APT::Key::RemovedKeys \"${KEYDIR}/rexexpired.pub.gpg\";" > "${ROOTDIR}/etc/apt/apt.conf.d/aptkey.conf" + + cleanplate + ln -sf "$(readlink -f "${KEYDIR}/joesixpack.pub.${EXT}")" "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}" + testaptkeys 'Joe Sixpack' + + ${TESTSTATE} aptkey list + msgtest 'Check that paths in list output are not' 'double-slashed' + testfailure --nomsg grep '//' "${ROOTDIR}/tmp/${TESTSTATE}.output" + + ${TESTSTATE} aptkey finger + msgtest 'Check that paths in finger output are not' 'double-slashed' + testfailure --nomsg grep '//' "${ROOTDIR}/tmp/${TESTSTATE}.output" + + cp -a "${KEYDIR}/joesixpack.pub.${EXT}" "${KEYDIR}/joesixpack.pub.${EXT}.bak" + if [ "$TESTSTATE" = 'testwarning' ]; then + testwarning aptkey --fakeroot update + testsuccess grep '^gpg: key .*DBAC8DAE: "Joe Sixpack (APT Testcases Dummy) <joe@example.org>" not changed$' "${ROOTDIR}/tmp/testwarning.output" + testsuccess grep '^W: .* are ignored as the file has an unsupported filetype' "${ROOTDIR}/tmp/testwarning.output" + else + testequalor2 'gpg: key DBAC8DAE: "Joe Sixpack (APT Testcases Dummy) <joe@example.org>" not changed +gpg: Total number processed: 1 +gpg: unchanged: 1' 'gpg: key 5A90D141DBAC8DAE: "Joe Sixpack (APT Testcases Dummy) <joe@example.org>" not changed +gpg: Total number processed: 1 +gpg: unchanged: 1' aptkey --fakeroot update + fi + testsuccess test -L "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}" + testsuccess cmp "${KEYDIR}/joesixpack.pub.${EXT}" "${KEYDIR}/joesixpack.pub.${EXT}.bak" + + testaptkeys 'Joe Sixpack' + testfailure test -e "${ROOTDIR}/etc/apt/trusted.gpg" + + ${TESTSTATE} aptkey --fakeroot add "${KEYDIR}/rexexpired.pub.${EXT}" + testfilestats "${ROOTDIR}/etc/apt/trusted.gpg" '%a' '=' '644' + + testaptkeys 'Rex Expired' 'Joe Sixpack' + + msgtest 'Check that Sixpack key can be' 'exported' + aptkey export 'Sixpack' > "${TMPWORKINGDIRECTORY}/aptkey.export" 2>/dev/null + aptkey --keyring "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}" exportall > "${TMPWORKINGDIRECTORY}/aptkey.exportall" + testsuccess --nomsg cmp "${TMPWORKINGDIRECTORY}/aptkey.export" "${TMPWORKINGDIRECTORY}/aptkey.exportall" + testsuccess test -s "${TMPWORKINGDIRECTORY}/aptkey.export" + testsuccess test -s "${TMPWORKINGDIRECTORY}/aptkey.exportall" + + msgtest 'Check that multiple keys can be' 'exported' + aptkey export 'Sixpack' 'Expired' > "${TMPWORKINGDIRECTORY}/aptkey.export" 2>/dev/null + aptkey --keyring "${KEYDIR}/rexexpired.pub.${EXT}" \ + --keyring "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}" exportall > "${TMPWORKINGDIRECTORY}/aptkey.exportall" + testsuccess --nomsg cmp "${TMPWORKINGDIRECTORY}/aptkey.export" "${TMPWORKINGDIRECTORY}/aptkey.exportall" + testsuccess test -s "${TMPWORKINGDIRECTORY}/aptkey.export" + testsuccess test -s "${TMPWORKINGDIRECTORY}/aptkey.exportall" + + msgtest 'Execute update again to trigger removal of' 'Rex Expired key' + ${TESTSTATE} --nomsg aptkey --fakeroot update + + testaptkeys 'Joe Sixpack' + + msgtest "Try to remove a key which exists, but isn't in the" 'forced keyring' + testsuccess --nomsg aptkey --fakeroot --keyring "${ROOTDIR}/etc/apt/trusted.gpg" del DBAC8DAE + + testaptkeys 'Joe Sixpack' + + ${TESTSTATE} aptkey --fakeroot del DBAC8DAE + "${TESTSTATE}empty" aptkey list + + ln -sf "$(readlink -f "${KEYDIR}/joesixpack.pub.${EXT}")" "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}" + testaptkeys 'Joe Sixpack' + msgtest "Remove a key from" 'forced keyring in trusted.d.gpg' + testsuccess --nomsg aptkey --fakeroot --keyring "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}" del DBAC8DAE + testsuccess cmp -s "$(readlink -f "${KEYDIR}/joesixpack.pub.${EXT}")" "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}~" + "${TESTSTATE}empty" aptkey list + + cp -a "${KEYDIR}/marvinparanoid.pub.asc" "${ROOTDIR}/etc/foobar.pub" + testsuccess aptkey --fakeroot --keyring "${ROOTDIR}/etc/foobar.pub" add "${KEYDIR}/rexexpired.pub.asc" "${KEYDIR}/joesixpack.pub.gpg" + testfilestats "${ROOTDIR}/etc/foobar.pub" '%a' '=' '644' + testaptkeyskeyring "${ROOTDIR}/etc/foobar.pub" 'Marvin Paranoid' 'Rex Expired' 'Joe Sixpack' + "${TESTSTATE}empty" aptkey list + + msgtest 'Test key removal with' 'lowercase key ID' #keylength somewhere between 8byte and short + cleanplate + cp -a "${KEYDIR}/joesixpack.pub.${EXT}" "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}" + ${TESTSTATE} --nomsg aptkey --fakeroot del d141dbac8dae + "${TESTSTATE}empty" aptkey list + + if [ "$(id -u)" != '0' ]; then + msgtest 'Test key removal with' 'unreadable key' + cleanplate + cp -a "${KEYDIR}/joesixpack.pub.${EXT}" "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}" + echo 'foobar' > "${ROOTDIR}/etc/apt/trusted.gpg.d/unreadablekey.${EXT}" + chmod 000 "${ROOTDIR}/etc/apt/trusted.gpg.d/unreadablekey.${EXT}" + testwarning --nomsg aptkey --fakeroot del d141dbac8dae + testwarning aptkey list + chmod 644 "${ROOTDIR}/etc/apt/trusted.gpg.d/unreadablekey.${EXT}" + rm -f "${ROOTDIR}/etc/apt/trusted.gpg.d/unreadablekey.${EXT}" + grep -v '^W: ' "${ROOTDIR}/tmp/testwarning.output" > "${ROOTDIR}/aptkeylist.output" || true + testempty cat "${ROOTDIR}/aptkeylist.output" + fi + + msgtest 'Test key removal with' 'single key in real file' + cleanplate + cp -a "${KEYDIR}/joesixpack.pub.${EXT}" "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}" + ${TESTSTATE} --nomsg aptkey --fakeroot del DBAC8DAE + "${TESTSTATE}empty" aptkey list + testfailure test -e "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}" + testsuccess cmp "${KEYDIR}/joesixpack.pub.${EXT}" "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}~" + + msgtest 'Test key removal with' 'different key specs' + cleanplate + cp -a "${KEYDIR}/joesixpack.pub.${EXT}" "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}" + cp -a "${KEYDIR}/marvinparanoid.pub.${EXT}" "${ROOTDIR}/etc/apt/trusted.gpg.d/marvinparanoid.${EXT}" + ${TESTSTATE} --nomsg aptkey --fakeroot del 0xDBAC8DAE 528144E2 + "${TESTSTATE}empty" aptkey list + testfailure test -e "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}" + testsuccess cmp "${KEYDIR}/joesixpack.pub.${EXT}" "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}~" + testfailure test -e "${ROOTDIR}/etc/apt/trusted.gpg.d/marvinparanoid.${EXT}" + testsuccess cmp "${KEYDIR}/marvinparanoid.pub.${EXT}" "${ROOTDIR}/etc/apt/trusted.gpg.d/marvinparanoid.${EXT}~" + + msgtest 'Test key removal with' 'long key ID' + cleanplate + cp -a "${KEYDIR}/joesixpack.pub.${EXT}" "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}" + ${TESTSTATE} --nomsg aptkey --fakeroot del 5A90D141DBAC8DAE + "${TESTSTATE}empty" aptkey list + testfailure test -e "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}" + testsuccess cmp "${KEYDIR}/joesixpack.pub.${EXT}" "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}~" + + msgtest 'Test key removal with' 'fingerprint' + cleanplate + cp -a "${KEYDIR}/joesixpack.pub.${EXT}" "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}" + ${TESTSTATE} --nomsg aptkey --fakeroot del 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE + "${TESTSTATE}empty" aptkey list + testfailure test -e "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}" + testsuccess cmp "${KEYDIR}/joesixpack.pub.${EXT}" "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}~" + + msgtest 'Test key removal with' 'spaced fingerprint' + cleanplate + cp -a "${KEYDIR}/joesixpack.pub.${EXT}" "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}" + ${TESTSTATE} --nomsg aptkey --fakeroot del '34A8 E9D1 8DB3 20F3 67E8 EAA0 5A90 D141 DBAC 8DAE' + "${TESTSTATE}empty" aptkey list + testfailure test -e "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}" + testsuccess cmp "${KEYDIR}/joesixpack.pub.${EXT}" "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}~" + + msgtest 'Test key removal with' 'single key in softlink' + cleanplate + ln -sf "$(readlink -f "${KEYDIR}/joesixpack.pub.${EXT}")" "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}" + ${TESTSTATE} --nomsg aptkey --fakeroot del DBAC8DAE + "${TESTSTATE}empty" aptkey list + testfailure test -e "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}" + testsuccess test -L "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}~" + + cleanplate + ${TESTSTATE} aptkey --fakeroot add "${KEYDIR}/joesixpack.pub.${EXT}" + ln -sf "$(readlink -f "${KEYDIR}/marvinparanoid.pub.${EXT}")" "${KEYDIR}/marvin paránöid.pub.${EXT}" + ${TESTSTATE} aptkey --fakeroot add "${KEYDIR}/marvin paránöid.pub.${EXT}" + testaptkeys 'Joe Sixpack' 'Marvin Paranoid' + cp -a "${ROOTDIR}/etc/apt/trusted.gpg" "${KEYDIR}/testcase-multikey.pub.gpg" # store for reuse + aptkey --keyring "${KEYDIR}/testcase-multikey.pub.gpg" export > "${KEYDIR}/testcase-multikey.pub.asc" + + msgtest 'Test key removal with' 'multi key in real file' + cleanplate + cp -a "${KEYDIR}/testcase-multikey.pub.${EXT}" "${ROOTDIR}/etc/apt/trusted.gpg.d/multikey.${EXT}" + ${TESTSTATE} --nomsg aptkey --fakeroot del DBAC8DAE + testaptkeys 'Marvin Paranoid' + testsuccess cmp "${KEYDIR}/testcase-multikey.pub.${EXT}" "${ROOTDIR}/etc/apt/trusted.gpg.d/multikey.${EXT}~" + + msgtest 'Test key removal with' 'multi key in softlink' + cleanplate + ln -s "$(readlink -f "${KEYDIR}/testcase-multikey.pub.${EXT}")" "${ROOTDIR}/etc/apt/trusted.gpg.d/multikey.${EXT}" + ${TESTSTATE} --nomsg aptkey --fakeroot del DBAC8DAE + testaptkeys 'Marvin Paranoid' + testsuccess cmp "${KEYDIR}/testcase-multikey.pub.${EXT}" "${ROOTDIR}/etc/apt/trusted.gpg.d/multikey.${EXT}~" + testfailure test -L "${ROOTDIR}/etc/apt/trusted.gpg.d/multikey.${EXT}" + testsuccess test -L "${ROOTDIR}/etc/apt/trusted.gpg.d/multikey.${EXT}~" + + msgtest 'Test key removal with' 'multiple files including key' + cleanplate + cp -a "${KEYDIR}/joesixpack.pub.${EXT}" "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}" + cp -a "${KEYDIR}/testcase-multikey.pub.${EXT}" "${ROOTDIR}/etc/apt/trusted.gpg.d/multikey.${EXT}" + ${TESTSTATE} --nomsg aptkey --fakeroot del DBAC8DAE + testaptkeys 'Marvin Paranoid' + testfailure test -e "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}" + testsuccess cmp "${KEYDIR}/joesixpack.pub.${EXT}" "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}~" + testsuccess cmp "${KEYDIR}/testcase-multikey.pub.${EXT}" "${ROOTDIR}/etc/apt/trusted.gpg.d/multikey.${EXT}~" + + cleanplate + cp -a "${KEYDIR}/joesixpack.pub.${EXT}" "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}" + cp -a "${KEYDIR}/testcase-multikey.pub.${EXT}" "${ROOTDIR}/etc/apt/trusted.gpg.d/multikey.${EXT}" + testaptkeys 'Joe Sixpack' 'Joe Sixpack' 'Marvin Paranoid' + msgtest 'Test merge-back of' 'added keys' + ${TESTSTATE} --nomsg aptkey adv --batch --yes --import "${KEYDIR}/rexexpired.pub.${EXT}" + testaptkeys 'Rex Expired' 'Joe Sixpack' 'Joe Sixpack' 'Marvin Paranoid' + + msgtest 'Test merge-back of' 'removed keys' + ${TESTSTATE} --nomsg aptkey adv --batch --yes --delete-keys 27CE74F9 + testaptkeys 'Joe Sixpack' 'Joe Sixpack' 'Marvin Paranoid' + + msgtest 'Test merge-back of' 'removed duplicate keys' + ${TESTSTATE} --nomsg aptkey adv --batch --yes --delete-keys DBAC8DAE + testaptkeys 'Marvin Paranoid' + + cleanplate + cp -a "${KEYDIR}/joesixpack.pub.${EXT}" "${ROOTDIR}/etc/apt/trusted.gpg.d/joesixpack.${EXT}" + cp -a "${KEYDIR}/testcase-multikey.pub.${EXT}" "${ROOTDIR}/etc/apt/trusted.gpg.d/multikey.${EXT}" + local SIGNATURE="${TMPWORKINGDIRECTORY}/signature" + msgtest 'Test signing a file' 'with a key' + echo 'Verify me. This is my signature.' > "$SIGNATURE" + echo 'lalalalala' > "${SIGNATURE}2" + testsuccess --nomsg aptkey --quiet --keyring "${KEYDIR}/marvinparanoid.pub.gpg" --secret-keyring "${KEYDIR}/marvinparanoid.sec" --readonly \ + adv --batch --yes --default-key 'Marvin' --armor --detach-sign --sign --output "${SIGNATURE}.gpg" "${SIGNATURE}" + testsuccess test -s "${SIGNATURE}.gpg" -a -s "${SIGNATURE}" + + msgtest 'Test verify a file' 'with no sig' + testfailure --nomsg aptkey --quiet --readonly --keyring "${KEYDIR}/testcase-multikey.pub.${EXT}" verify "${SIGNATURE}" "${SIGNATURE}2" + + for GPGV in '' 'gpgv' 'gpgv1' 'gpgv2'; do + echo "APT::Key::GPGVCommand \"$GPGV\";" > "${ROOTDIR}/etc/apt/apt.conf.d/00gpgvcmd" + if [ -n "$GPGV" ] && ! command dpkg -l gnupg1 2>&1 | grep -q '^ii'; then continue; fi + + msgtest 'Test verify a file' 'with all keys' + ${TESTSTATE} --nomsg aptkey --quiet --readonly verify "${SIGNATURE}.gpg" "${SIGNATURE}" + + if [ "$(id -u)" != '0' ]; then + msgtest 'Test verify a file' 'with unreadable key' + echo 'foobar' > "${ROOTDIR}/etc/apt/trusted.gpg.d/unreadablekey.${EXT}" + chmod 000 "${ROOTDIR}/etc/apt/trusted.gpg.d/unreadablekey.${EXT}" + testwarning --nomsg aptkey --quiet --readonly verify "${SIGNATURE}.gpg" "${SIGNATURE}" + testwarning aptkey list + # check that apt users see warnings, too + rm -rf "${ROOTDIR}/var/lib/apt/lists" + testwarning apt update + + chmod 644 "${ROOTDIR}/etc/apt/trusted.gpg.d/unreadablekey.${EXT}" + rm -f "${ROOTDIR}/etc/apt/trusted.gpg.d/unreadablekey.${EXT}" + fi + + msgtest 'Test verify a file' 'with good keyring' + testsuccess --nomsg aptkey --quiet --readonly --keyring "${KEYDIR}/testcase-multikey.pub.${EXT}" verify "${SIGNATURE}.gpg" "${SIGNATURE}" + + msgtest 'Test verify a file' 'with good keyrings 1' + testsuccess --nomsg aptkey --quiet --readonly --keyring "${KEYDIR}/joesixpack.pub.${EXT}" \ + --keyring "${KEYDIR}/marvinparanoid.pub.${EXT}" verify "${SIGNATURE}.gpg" "${SIGNATURE}" + + msgtest 'Test verify a file' 'with good keyrings 2' + testsuccess --nomsg aptkey --quiet --readonly --keyring "${KEYDIR}/marvinparanoid.pub.${EXT}" \ + --keyring "${KEYDIR}/joesixpack.pub.${EXT}" verify "${SIGNATURE}.gpg" "${SIGNATURE}" + + msgtest 'Test fail verify a file' 'with bad keyring' + testfailure --nomsg aptkey --quiet --readonly --keyring "${KEYDIR}/joesixpack.pub.${EXT}" verify "${SIGNATURE}.gpg" "${SIGNATURE}" + + msgtest 'Test fail verify a file' 'with non-existing keyring' + testfailure --nomsg aptkey --quiet --readonly --keyring "${KEYDIR}/does-not-exist.pub.${EXT}" verify "${SIGNATURE}.gpg" "${SIGNATURE}" + testfailure test -e "${KEYDIR}/does-not-exist.pub.${EXT}" + + # note: this isn't how apts gpgv method implements keyid for verify + msgtest 'Test verify a file' 'with good keyid' + ${TESTSTATE} --nomsg aptkey --quiet --readonly --keyid 'Paranoid' verify "${SIGNATURE}.gpg" "${SIGNATURE}" + + msgtest 'Test fail verify a file' 'with bad keyid' + testfailure --nomsg aptkey --quiet --readonly --keyid 'Sixpack' verify "${SIGNATURE}.gpg" "${SIGNATURE}" + + msgtest 'Test fail verify a file' 'with non-existing keyid' + testfailure --nomsg aptkey --quiet --readonly --keyid 'Kalnischkies' verify "${SIGNATURE}.gpg" "${SIGNATURE}" + + msgtest 'Test verify fails on' 'bad file' + testfailure --nomsg aptkey --quiet --readonly verify "${SIGNATURE}.gpg" "${SIGNATURE}2" + + # try to perform an entire update with this gpgv + rm -rf "${ROOTDIR}/var/lib/apt/lists" + ${TESTSTATE} apt update -o Test::Dir="${ROOTDIR}" + done + rm -f "${ROOTDIR}/etc/apt/apt.conf.d/00gpgvcmd" + + msgtest 'Test verify a file' 'with good keyring' + testsuccess --nomsg aptkey --quiet --readonly --keyring "${KEYDIR}/testcase-multikey.pub.${EXT}" verify "${SIGNATURE}.gpg" "${SIGNATURE}" + + cleanplate + cat "${KEYDIR}/joesixpack.pub.gpg" "${KEYDIR}/marvinparanoid.pub.gpg" > "${KEYDIR}/double.pub.gpg" + cat "${KEYDIR}/joesixpack.pub.asc" "${KEYDIR}/marvinparanoid.pub.asc" > "${KEYDIR}/double.pub.asc" + cat "${KEYDIR}/joesixpack.sec" "${KEYDIR}/marvinparanoid.sec" > "${KEYDIR}/double.sec" + cp -a "${KEYDIR}/double.pub.${EXT}" "${ROOTDIR}/etc/apt/trusted.gpg.d/double.${EXT}" + cp -a "${KEYDIR}/testcase-multikey.pub.${EXT}" "${ROOTDIR}/etc/apt/trusted.gpg.d/multikey.${EXT}" + rm -f "${SIGNATURE}.gpg" + testsuccess aptkey --quiet --keyring "${KEYDIR}/double.pub.gpg" --secret-keyring "${KEYDIR}/double.sec" --readonly \ + adv --batch --yes -u 'Marvin' -u 'Joe' --armor --detach-sign --sign --output "${SIGNATURE}.gpg" "${SIGNATURE}" + testsuccess test -s "${SIGNATURE}.gpg" -a -s "${SIGNATURE}" + + for GPGV in '' 'gpgv' 'gpgv1' 'gpgv2'; do + echo "APT::Key::GPGVCommand \"$GPGV\";" > "${ROOTDIR}/etc/apt/apt.conf.d/00gpgvcmd" + if [ -n "$GPGV" ] && ! command dpkg -l gnupg1 2>&1 | grep -q '^ii'; then continue; fi + + msgtest 'Test verify a doublesigned file' 'with all keys' + ${TESTSTATE} --nomsg aptkey --quiet --readonly verify "${SIGNATURE}.gpg" "${SIGNATURE}" + + msgtest 'Test verify a doublesigned file' 'with good keyring joe' + testmultigpg --keyring "${KEYDIR}/joesixpack.pub.${EXT}" verify "${SIGNATURE}.gpg" "${SIGNATURE}" + + msgtest 'Test verify a doublesigned file' 'with good keyring marvin' + testmultigpg --keyring "${KEYDIR}/marvinparanoid.pub.${EXT}" verify "${SIGNATURE}.gpg" "${SIGNATURE}" + + msgtest 'Test fail verify a doublesigned file' 'with bad keyring' + testfailure --nomsg aptkey --quiet --readonly --keyring "${KEYDIR}/rexexpired.pub.${EXT}" verify "${SIGNATURE}.gpg" "${SIGNATURE}" + + msgtest 'Test fail verify a doublesigned file' 'with non-existing keyring' + testfailure --nomsg aptkey --quiet --readonly --keyring "${KEYDIR}/does-not-exist.pub.${EXT}" verify "${SIGNATURE}.gpg" "${SIGNATURE}" + testfailure test -e "${KEYDIR}/does-not-exist.pub.${EXT}" + + # note: this isn't how apts gpgv method implements keyid for verify + msgtest 'Test verify a doublesigned file' 'with good keyid' + testmultigpg --keyid 'Paranoid' verify "${SIGNATURE}.gpg" "${SIGNATURE}" + + msgtest 'Test fail verify a doublesigned file' 'with bad keyid' + testfailure --nomsg aptkey --quiet --readonly --keyid 'Rex' verify "${SIGNATURE}.gpg" "${SIGNATURE}" + + msgtest 'Test fail verify a doublesigned file' 'with non-existing keyid' + testfailure --nomsg aptkey --quiet --readonly --keyid 'Kalnischkies' verify "${SIGNATURE}.gpg" "${SIGNATURE}" + + msgtest 'Test verify fails on' 'bad doublesigned file' + testfailure --nomsg aptkey --quiet --readonly verify "${SIGNATURE}.gpg" "${SIGNATURE}2" + done + rm -f "${ROOTDIR}/etc/apt/apt.conf.d/00gpgvcmd" +} + +setupgpgcommand() { + local GPGEXE; + if command dpkg -l gnupg1 2>&1 | grep -q '^ii'; then + if [ "$1" = '1' ]; then + GPGEXE='gpg1' + else + GPGEXE='gpg' + fi + else + if [ "$1" = '1' ]; then + GPGEXE='gpg' + else + GPGEXE='gpg2' + fi + fi + msgmsg 'Force tests to be run with' "$GPGEXE" + echo "APT::Key::GPGCommand \"$GPGEXE\";" > "${ROOTDIR}/etc/apt/apt.conf.d/00gpgcmd" + testsuccess aptkey --readonly adv --version + cp "${ROOTDIR}/tmp/testsuccess.output" "${TMPWORKINGDIRECTORY}/aptkey.version" + testsuccess grep "^gpg (GnuPG) $1\." "${TMPWORKINGDIRECTORY}/aptkey.version" +} + +(cd /; find "${TMPWORKINGDIRECTORY}/keys" -name '*.pub' -type f) | while read trusted; do + testsuccess aptkey --keyring "$trusted" adv --armor --export --output "${trusted}.asc" + cp -a "$trusted" "${trusted}.gpg" +done + +# run with default (whatever this is) in current CWD with relative paths +ROOTDIR="./rootdir" +KEYDIR="./keys" +testrun + +# run with … and up the game with a strange CWD & absolute paths +ROOTDIR="${TMPWORKINGDIRECTORY}/rootdir" +KEYDIR="${TMPWORKINGDIRECTORY}/keys" +mkdir inaccessible +cd inaccessible +chmod 600 ../inaccessible +testfilestats "${TMPWORKINGDIRECTORY}/inaccessible" '%a' '=' '600' + +setupgpgcommand '1' +testrun +setupgpgcommand '2' +testrun + +msgmsg 'Tests to be run with' 'asc files' +rm -f "${ROOTDIR}/etc/apt/apt.conf.d/00gpgcmd" +testrun 'asc' + +msgmsg 'Tests to be run with' 'bad files' +# don't let the plate be so clean anymore +cleanplate() { + rm -rf "${ROOTDIR}/etc/apt/trusted.gpg.d/" "${ROOTDIR}/etc/apt/trusted.gpg" + mkdir "${ROOTDIR}/etc/apt/trusted.gpg.d/" + touch "${ROOTDIR}/etc/apt/trusted.gpg.d/emptyfile.gpg" + touch "${ROOTDIR}/etc/apt/trusted.gpg.d/emptyfile.asc" + echo 'broken' > "${ROOTDIR}/etc/apt/trusted.gpg.d/brokenfile.gpg" + echo 'broken' > "${ROOTDIR}/etc/apt/trusted.gpg.d/brokenfile.asc" +} +testrun 'gpg' 'testwarning' diff --git a/test/integration/test-apt-key-net-update b/test/integration/test-apt-key-net-update new file mode 100755 index 0000000..b9f716e --- /dev/null +++ b/test/integration/test-apt-key-net-update @@ -0,0 +1,41 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "i386" +changetowebserver + +# setup env +mkdir -p var/lib/apt/keyrings +mkdir -p usr/share/keyrings + +# install the fake master keyring +install -m0644 keys/test-master-keyring.pub usr/share/keyrings +echo "APT::Key::MasterKeyring \"${TMPWORKINGDIRECTORY}/usr/share/keyrings/test-master-keyring.pub\";" >> ./aptconfig.conf + +# setup archive-keyring +mkdir -p aptarchive/ubuntu/project +install -m0644 keys/test-archive-keyring.pub aptarchive/ubuntu/project/ +echo "APT::Key::ArchiveKeyringURI \"http://localhost:${APTHTTPPORT}/ubuntu/project/test-archive-keyring.pub\";" >> ./aptconfig.conf +echo 'APT::Key::Net-Update-Enabled "1";' >> ./aptconfig.conf + +# test against the "real" webserver +testsuccess aptkey --fakeroot net-update +testfailure grep 'not added' rootdir/tmp/testsuccess.output +testaptkeys 'oldarchive' 'newarchive' + +# now try a different one +# setup archive-keyring +mkdir -p aptarchive/ubuntu/project +install -m0644 keys/marvinparanoid.pub aptarchive/ubuntu/project/ +echo "APT::Key::ArchiveKeyringURI \"http://localhost:${APTHTTPPORT}/ubuntu/project/marvinparanoid.pub\";" >> ./aptconfig.conf +echo 'APT::Key::Net-Update-Enabled "1";' >> ./aptconfig.conf + +# test against the "real" webserver +testsuccessequal "Checking for new archive signing keys now +Key 'DE66AECA9151AFA1877EC31DE8525D47528144E2' not added. It is not signed with a master key" aptkey --fakeroot net-update + +testaptkeys 'oldarchive' 'newarchive' diff --git a/test/integration/test-apt-key-used-in-maintainerscript b/test/integration/test-apt-key-used-in-maintainerscript new file mode 100755 index 0000000..b5ed327 --- /dev/null +++ b/test/integration/test-apt-key-used-in-maintainerscript @@ -0,0 +1,43 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +unset APT_KEY_DONT_WARN_ON_DANGEROUS_USAGE +configarchitecture 'native' +configdpkgnoopchroot + +buildingpkg() { + local PKG="$1" + shift + setupsimplenativepackage "$PKG" 'native' '1' 'unstable' "$@" + BUILDDIR="incoming/${PKG}-1" + echo '#!/bin/sh +apt-key list >/dev/null' > "${BUILDDIR}/debian/postinst" + buildpackage "$BUILDDIR" 'unstable' 'main' 'native' + rm -rf "$BUILDDIR" +} +buildingpkg 'aptkeyuser-nodepends' 'Depends: unrelated' +buildingpkg 'aptkeyuser-depends' 'Depends: gnupg' + +insertinstalledpackage 'unrelated' 'native' '1' +insertinstalledpackage 'gnupg' 'native' '1' +testdpkgnotinstalled 'aptkeyuser-depends' 'aptkeyuser-nodepends' + +testsuccess apt install ./incoming/aptkeyuser-depends_*.changes -y +cp rootdir/tmp/testsuccess.output apt.output +testdpkginstalled 'aptkeyuser-depends' +testfailure grep '^Warning: This will BREAK' apt.output +testsuccess grep '^Warning: apt-key' apt.output + +testsuccess apt install --with-source ./incoming/aptkeyuser-nodepends_*.changes aptkeyuser-nodepends -y +cp rootdir/tmp/testsuccess.output apt.output +testdpkginstalled 'aptkeyuser-nodepends' +testsuccess grep '^Warning: This will BREAK' apt.output +testsuccess grep '^Warning: apt-key' apt.output + +testsuccess aptkey list +cp rootdir/tmp/testsuccess.output aptkey.list +testsuccess grep '^Warning: apt-key' aptkey.list diff --git a/test/integration/test-apt-mark b/test/integration/test-apt-mark new file mode 100755 index 0000000..d1c65ad --- /dev/null +++ b/test/integration/test-apt-mark @@ -0,0 +1,158 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' + +insertpackage 'unstable' 'bar' 'amd64,i386' '1' +insertpackage 'unstable' 'uninstalled' 'all' '1' +insertpackage 'unstable' 'uninstalled-native' 'amd64' '1' + +insertinstalledpackage 'foo' 'all' '1' +insertinstalledpackage 'bar' 'amd64' '1' + +setupaptarchive + +testnoautopkg() { + testempty aptmark showauto + testempty aptcache -q=1 showauto + testsuccessequal 'bar +foo' aptmark showmanual + testsuccessequal 'bar +foo' aptmark showmanual bar foo uninstalled +} +testfooisauto() { + testsuccessequal 'foo' aptmark showauto + testsuccessequal 'foo' aptcache -q=1 showauto + testsuccessequal 'foo' aptmark showauto foo + testsuccessequal 'foo' aptcache -q=1 showauto foo + testsuccessequal 'bar' aptmark showmanual + testsuccessequal 'bar' aptmark showmanual bar +} +testmarkonpkgasauto() { + testsuccess $1 -q=1 $2 foo + testfooisauto + testsuccess $1 -q=1 $2 foo + testfooisauto + + testsuccess $1 -q=1 $3 foo + testnoautopkg + testsuccess $1 -q=1 $3 foo + testnoautopkg +} + +testfailureequal 'E: No packages found' aptmark auto +testfailureequal 'E: No packages found' aptmark manual + +testnoautopkg +testmarkonpkgasauto 'aptmark' 'auto' 'manual' +testmarkonpkgasauto 'aptmark' 'markauto' 'unmarkauto' +testmarkonpkgasauto 'aptget' 'markauto' 'unmarkauto' + +testnoholdpkg() { + testempty aptmark showhold + testempty aptmark showholds # typical "typo" +} +testpkgonhold() { + testsuccessequal "$1" aptmark showhold + testsuccessequal "$1" aptmark showholds + testsuccessequal "$1" aptmark showhold $1 + testsuccessequal "$1" aptmark showholds $1 +} +testmarkonepkgashold() { + testsuccess aptmark hold $1 + testpkgonhold $1 + testsuccess aptmark hold $1 + testpkgonhold $1 + testsuccess aptmark unhold $1 + testnoholdpkg + testsuccess aptmark unhold $1 + testnoholdpkg +} + +testfailureequal 'E: No packages found' aptmark hold +testfailureequal 'E: No packages found' aptmark unhold + +testnoholdpkg +testmarkonepkgashold 'foo' +testmarkonepkgashold 'bar' + +msgtest 'dpkg supports --merge-avail via' 'stdin' +if dpkg --merge-avail - < /dev/null >/dev/null 2>&1; then + msgpass +else + msgskip 'dpkg version too old' + exit 0 +fi + +testmarkonepkgashold 'uninstalled' +testmarkonepkgashold 'uninstalled-native' + +testsuccessequal 'uninstalled set on hold.' aptmark hold uninstalled +testsuccessequal 'uninstalled-native set on hold.' aptmark hold uninstalled-native +# FIXME: Remove old alternative answer for dpkg < 1.20.7 post bullseye release +testequalor2 'Reading package lists... +Building dependency tree... +Reading state information... +The following NEW packages will be installed: + uninstalled uninstalled-native +The following held packages will be changed: + uninstalled uninstalled-native +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst uninstalled (1 unstable [all]) +Inst uninstalled-native (1 unstable [amd64]) +Conf uninstalled (1 unstable [all]) +Conf uninstalled-native (1 unstable [amd64])' 'Reading package lists... +Building dependency tree... +Reading state information... +The following NEW packages will be installed: + uninstalled uninstalled-native +The following held packages will be changed: + uninstalled-native +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst uninstalled (1 unstable [all]) +Inst uninstalled-native (1 unstable [amd64]) +Conf uninstalled (1 unstable [all]) +Conf uninstalled-native (1 unstable [amd64])' aptget install uninstalled uninstalled-native -s +testsuccess aptmark unhold uninstalled uninstalled-native + +testselections() { + testsuccess aptmark hold "$1" + testsuccessequal "$1" aptmark showholds "$1" + testsuccess aptmark unhold "$1" + testsuccessequal "$1" aptmark showinstalls "$1" + testsuccess aptmark hold "$1" + testsuccessequal "$1" aptmark showholds "$1" + testsuccess aptmark install "$1" + testsuccessequal "$1" aptmark showinstalls "$1" + testsuccess aptmark remove "$1" + testsuccessequal "$1" aptmark showremoves "$1" + testsuccess aptmark purge "$1" + testsuccessequal "$1" aptmark showpurges "$1" +} +testselections 'foo' +testselections 'bar' + +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + bar* foo* +0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded. +Purg bar [1] +Purg foo [1]' aptget dselect-upgrade -s + +testuninstalledselections() { + testsuccess aptmark hold "$1" + testsuccessequal "$1" aptmark showholds "$1" + testsuccess aptmark unhold "$1" + testsuccessequal "$1" aptmark showremoves "$1" + testsuccess aptmark hold "$1" + testsuccessequal "$1" aptmark showholds "$1" + testsuccess aptmark install "$1" + testsuccessequal "$1" aptmark showinstalls "$1" +} +testuninstalledselections 'uninstalled' +testuninstalledselections 'uninstalled-native' diff --git a/test/integration/test-apt-move-and-forget-manual-sections b/test/integration/test-apt-move-and-forget-manual-sections new file mode 100755 index 0000000..ab90be0 --- /dev/null +++ b/test/integration/test-apt-move-and-forget-manual-sections @@ -0,0 +1,74 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'native' + +aptconfig dump --no-empty --format '%v%n' APT::Move-Autobit-Sections > move-autobit.sections +testsuccess grep '^oldlibs$' move-autobit.sections + +buildsimplenativepackage 'libabc' 'native' '1' 'stable' '' '' 'libs' +buildsimplenativepackage 'libabc' 'native' '2' 'unstable' 'Depends: libdef' '' 'oldlibs' +buildsimplenativepackage 'libzoo' 'native' '1' 'stable' '' '' 'libs' +buildsimplenativepackage 'libzoo' 'native' '2' 'unstable' 'Depends: libdef' '' 'non-free/oldlibs' +buildsimplenativepackage 'libdef' 'native' '1' 'unstable' '' '' 'libs' +setupaptarchive + +testmarkedauto +testmarkedmanual + +msgmsg 'Move bit on install of replacement' +testsuccess aptget install libabc/stable -y +testdpkginstalled 'libabc' +testdpkgnotinstalled 'libdef' 'libzoo' + +testmarkedmanual 'libabc' +testmarkedauto + +testsuccess aptget dist-upgrade -y +testdpkginstalled 'libabc' 'libdef' + +testmarkedauto 'libabc' +testmarkedmanual 'libdef' + +testsuccess apt autopurge -y +testdpkgnotinstalled 'libabc' 'libzoo' + +msgmsg 'Do not move bit if replacement is already installed' +testsuccess aptget install libzoo/stable -y +testdpkginstalled 'libzoo' + +testmarkedmanual 'libzoo' 'libdef' +testmarkedauto + +testsuccess aptmark auto libdef +testmarkedauto 'libdef' + +testsuccess aptget dist-upgrade -y +testdpkginstalled 'libzoo' 'libdef' + +testmarkedmanual 'libzoo' +testmarkedauto 'libdef' + +testsuccess apt autopurge -y libzoo- +testdpkgnotinstalled 'libabc' 'libzoo' 'libdef' + +msgmsg 'Move bit on install of replacement (subsection)' +testfailure grep '^non-free/oldlibs$' move-autobit.sections +testsuccess aptget install libzoo/stable -y +testdpkginstalled 'libzoo' +testdpkgnotinstalled 'libdef' 'libabc' + +testmarkedmanual 'libzoo' +testmarkedauto + +testsuccess aptget dist-upgrade -y +testdpkginstalled 'libzoo' 'libdef' + +testmarkedauto 'libzoo' +testmarkedmanual 'libdef' + +testsuccess apt autopurge -y +testdpkgnotinstalled 'libabc' 'libzoo' diff --git a/test/integration/test-apt-never-markauto-sections b/test/integration/test-apt-never-markauto-sections new file mode 100755 index 0000000..b47966e --- /dev/null +++ b/test/integration/test-apt-never-markauto-sections @@ -0,0 +1,82 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' + +aptconfig dump --no-empty --format '%v%n' APT::Never-MarkAuto-Sections > nevermarkauto.sections +testsuccess grep '^metapackages$' nevermarkauto.sections +testfailure grep '^universe/metapackages$' nevermarkauto.sections + +buildsimplenativepackage 'mydesktop' 'all' '1' 'unstable' 'Depends: mydesktop-core, foreignpkg +Recommends: notavailable' '' 'metapackages' +buildsimplenativepackage 'mydesktop-core' 'amd64' '1' 'unstable' 'Depends: bad-texteditor | texteditor, browser (>= 42), nosection, foreignpkg +Recommends: notavailable +Multi-Arch: foreign' '' 'universe/metapackages' +buildsimplenativepackage 'browser' 'amd64' '41' 'stable' +buildsimplenativepackage 'browser' 'amd64' '42' 'unstable' +buildsimplenativepackage 'texteditor' 'amd64' '1' 'stable' +buildsimplenativepackage 'bad-texteditor' 'amd64' '1' 'stable' 'Depends: texteditor +Conflicts: mydesktop-core' +buildsimplenativepackage 'nosection' 'amd64' '1' 'stable' '' '' '<none>' +buildsimplenativepackage 'foreignpkg' 'i386' '1' 'stable' 'Multi-Arch: foreign' +setupaptarchive + +testsuccess aptcache show nosection +testfailure grep 'Section' rootdir/tmp/testsuccess.output +testempty aptmark showmanual + +testsuccess aptget install mydesktop -y -o Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::Marker=1 -o Debug::pkgDepCache::AutoInstall=1 + +testmarkedmanual 'mydesktop' +testmarkedauto 'mydesktop-core' 'foreignpkg:i386' 'texteditor' 'browser' 'nosection' + +# if the remove is from a user, don't do manual-bit passing +testequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + browser foreignpkg:i386 mydesktop mydesktop-core nosection texteditor +0 upgraded, 0 newly installed, 6 to remove and 0 not upgraded. +Remv mydesktop [1] +Remv mydesktop-core [1] +Remv browser [42] +Remv foreignpkg:i386 [1] +Remv nosection [1] +Remv texteditor [1]' aptget autoremove mydesktop -s + +testequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + mydesktop mydesktop-core texteditor +0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. +Remv mydesktop [1] +Remv mydesktop-core [1] +Remv texteditor [1]' aptget autoremove texteditor -s #-o Debug::pkgDepCache::AutoInstall=1 -o Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::Marker=1 +testsuccess aptget autoremove texteditor -y + +testdpkgnotinstalled mydesktop mydesktop-core texteditor +testdpkginstalled browser + +testmarkedmanual 'browser' 'foreignpkg:i386' 'nosection' +testmarkedauto + +# test that installed/upgraded auto-pkgs are not set to manual + +testsuccess aptget install browser=41 -y --allow-downgrades + +testmarkedmanual 'browser' 'foreignpkg:i386' 'nosection' +testmarkedauto +testsuccess aptmark auto browser +testmarkedauto 'browser' +testsuccess aptmark auto nosection +testmarkedauto 'browser' 'nosection' +testmarkedmanual 'foreignpkg:i386' + +testsuccess aptget install mydesktop -y -o Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::Marker=1 -o Debug::pkgDepCache::AutoInstall=1 + +testmarkedmanual 'foreignpkg:i386' 'mydesktop' +testmarkedauto 'browser' 'mydesktop-core' 'texteditor' 'nosection' diff --git a/test/integration/test-apt-patterns b/test/integration/test-apt-patterns new file mode 100755 index 0000000..85370ae --- /dev/null +++ b/test/integration/test-apt-patterns @@ -0,0 +1,284 @@ +#!/bin/sh +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'i386' 'amd64' + +insertpackage 'unstable' 'available' 'all' '1.0' 'Section: asection' + +insertinstalledpackage 'manual1' 'i386' '1.0' 'Depends: automatic1' +insertinstalledpackage 'manual2' 'i386' '1.0' + +insertinstalledpackage 'automatic1' 'i386' '1.0' 'Source: automatic (0)' +insertinstalledpackage 'automatic2' 'i386' '1.0' 'Source: automatic (1)' + +insertinstalledpackage 'essential' 'i386' '1.0' 'Essential: yes +Section: asection' +insertinstalledpackage 'required' 'i386' '1.0' 'Priority: required' +insertinstalledpackage 'conf-only' 'i386' '1.0' '' '' 'deinstall ok config-files' +insertinstalledpackage 'broken' 'i386' '1.0' 'Depends: does-not-exist' + +insertinstalledpackage 'not-obsolete' 'i386' '1.0' +insertpackage 'unstable' 'not-obsolete' 'all' '2.0' + +insertpackage 'unstable' 'foreign' 'amd64' '2.0' + +getoriginfromsuite() { echo -n 'meow'; } +setupaptarchive + +cat >> rootdir/var/lib/dpkg/status <<EOF + +Package: notinstalled +Status: hold ok not-installed +Architecture: amd64 + +Package: nosection +Status: install ok installed +Architecture: amd64 +Version: 29 +EOF + +testsuccess aptmark auto automatic1 automatic2 + +msgmsg "Check that commands understand patterns" + +testfailureequal "E: input:0-14: error: Unrecognized pattern '?not-a-pattern' + ?not-a-pattern + ^^^^^^^^^^^^^^ +N: Unable to locate package ?not-a-pattern +E: input:0-14: error: Unrecognized pattern '?not-a-pattern' + ?not-a-pattern + ^^^^^^^^^^^^^^ +N: Unable to locate package ?not-a-pattern +E: No packages found" apt show '?not-a-pattern' + +testfailureequal "Listing... +E: input:0-14: error: Unrecognized pattern '?not-a-pattern' + ?not-a-pattern + ^^^^^^^^^^^^^^" apt list '?not-a-pattern' + +testfailureequal "Reading package lists... +Building dependency tree... +Reading state information... +E: input:0-14: error: Unrecognized pattern '?not-a-pattern' + ?not-a-pattern + ^^^^^^^^^^^^^^ +E: Unable to locate package ?not-a-pattern" apt install -s '?not-a-pattern' + + +msgmsg "Ensure that argument lists are present where needed, and absent elsewhere" + +testfailureequal "Listing... +E: input:0-7: error: ?true does not expect an argument list + ?true() + ^^^^^^^" apt list '?true()' +testfailureequal "Listing... +E: input:0-4: error: ?and expects an argument list + ?and + ^^^^" apt list '?and' +testfailureequal "Listing... +E: input:0-3: error: ?or expects an argument list + ?or + ^^^" apt list '?or' + + +msgmsg "Basic logic: true, false, not, ?or, ?and" +for pattern in '?true' '?not(?false)'; do +testsuccessequal "Listing... +automatic1/now 1.0 i386 [installed,local] +automatic2/now 1.0 i386 [installed,local] +available/unstable 1.0 all +broken/now 1.0 i386 [installed,local] +conf-only/now 1.0 i386 [residual-config] +essential/now 1.0 i386 [installed,local] +foreign/unstable 2.0 amd64 +manual1/now 1.0 i386 [installed,local] +manual2/now 1.0 i386 [installed,local] +nosection/now 29 amd64 [installed,local] +not-obsolete/unstable 2.0 i386 [upgradable from: 1.0] +required/now 1.0 i386 [installed,local]" apt list "$pattern" +done +testsuccessequal "Listing..." apt list '?false' +testsuccessequal "Listing..." apt list '?not(?true)' +testsuccessequal "Listing... +automatic1/now 1.0 i386 [installed,local] +automatic2/now 1.0 i386 [installed,local] +manual1/now 1.0 i386 [installed,local] +manual2/now 1.0 i386 [installed,local]" apt list '?or(?name(^automatic),?name(^manual))' +testsuccessequal "Listing... +automatic1/now 1.0 i386 [installed,local]" apt list '?and(?name(^automatic),?name(1$))' + + +msgmsg "Narrow and friends" +testsuccessequal "Listing... +not-obsolete/unstable 2.0 i386 [upgradable from: 1.0] +N: There is 1 additional version. Please use the '-a' switch to see it" apt list '?and(?version(^1\.0$),?version(^2\.0$))' + +testsuccessequal "Listing..." apt list '?any-version(?and(?version(^1\.0$),?version(^2\.0$)))' +testsuccessequal "Listing..." apt list '?narrow(?version(^1\.0$),?version(^2\.0$))' + +# XXX FIXME: I guess we do want this to only show version 1.0? +testsuccessequal "Listing... +not-obsolete/unstable 2.0 i386 [upgradable from: 1.0] +N: There is 1 additional version. Please use the '-a' switch to see it" apt list '?any-version(?and(?version(^1\.0$),?name(not-obsolete)))' +testsuccessequal "Listing... +not-obsolete/unstable 2.0 i386 [upgradable from: 1.0] +N: There is 1 additional version. Please use the '-a' switch to see it" apt list '?narrow(?version(^1\.0$),?name(not-obsolete))' + + +testsuccessequal "Listing... +foreign/unstable 2.0 amd64 +nosection/now 29 amd64 [installed,local] +not-obsolete/unstable 2.0 i386 [upgradable from: 1.0]" apt list '?not(?all-versions(?version(^1)))' + +msgmsg "Package patterns" + +testsuccessequal "Listing... +foreign/unstable 2.0 amd64 +nosection/now 29 amd64 [installed,local]" apt list '?architecture(amd64)' + +# XXX FIXME We should have support for foreign and native +testsuccessequal "Listing..." apt list '?architecture(foreign)' +testsuccessequal "Listing..." apt list '?architecture(native)' + +testsuccessequal "Listing... +available/unstable 1.0 all +foreign/unstable 2.0 amd64 +not-obsolete/unstable 2.0 i386 [upgradable from: 1.0]" apt list '?archive(^unstable$)' + +testsuccessequal "Listing... +available/unstable 1.0 all +foreign/unstable 2.0 amd64 +not-obsolete/unstable 2.0 i386 [upgradable from: 1.0]" apt list '?codename(^sid$)' + +testsuccessequal "Listing... +automatic1/now 1.0 i386 [installed,local] +automatic2/now 1.0 i386 [installed,local]" apt list '?automatic' + +testsuccessequal "Listing... +broken/now 1.0 i386 [installed,local]" apt list '?broken' + +testsuccessequal "Listing... +conf-only/now 1.0 i386 [residual-config]" apt list '?config-files' + +testsuccessequal "Listing... +essential/now 1.0 i386 [installed,local]" apt list '?essential' + +testsuccessequal "Listing... +required/now 1.0 i386 [installed,local]" apt list '?priority(required)' + +testsuccessequal "Listing..." apt list '?exact-name(automatic)' +testsuccessequal "Listing... +automatic1/now 1.0 i386 [installed,local]" apt list '?exact-name(automatic1)' + +testsuccessequal "Listing... +automatic2/now 1.0 i386 [installed,local]" apt list '?garbage' + +testsuccessequal "Listing... +automatic1/now 1.0 i386 [installed,local] +automatic2/now 1.0 i386 [installed,local] +broken/now 1.0 i386 [installed,local] +essential/now 1.0 i386 [installed,local] +manual1/now 1.0 i386 [installed,local] +manual2/now 1.0 i386 [installed,local] +nosection/now 29 amd64 [installed,local] +not-obsolete/unstable 2.0 i386 [upgradable from: 1.0] +required/now 1.0 i386 [installed,local]" apt list '?installed' + +testsuccessequal "Listing... +available/unstable 1.0 all +conf-only/now 1.0 i386 [residual-config] +foreign/unstable 2.0 amd64" apt list '?not(?installed)' + +testsuccessequal "Listing... +not-obsolete/unstable 2.0 i386 [upgradable from: 1.0] +N: There is 1 additional version. Please use the '-a' switch to see it" apt list '?installed?exact-name(not-obsolete)?version(2.0)' + +testsuccessequal "Listing..." apt list '?narrow(?installed?exact-name(not-obsolete)?version(2.0))' + +testsuccessequal "Listing... +automatic1/now 1.0 i386 [installed,local] +automatic2/now 1.0 i386 [installed,local]" apt list '?name(^automatic)' + +testsuccessequal "Listing... +available/unstable 1.0 all +conf-only/now 1.0 i386 [residual-config] +foreign/unstable 2.0 amd64 +not-obsolete/unstable 2.0 i386 [upgradable from: 1.0]" apt list '?not(?obsolete)' + +testsuccessequal "Listing... +available/unstable 1.0 all +foreign/unstable 2.0 amd64 +not-obsolete/unstable 2.0 i386 [upgradable from: 1.0]" apt list '?origin(^meow$)' + +testsuccessequal "Listing... +available/unstable 1.0 all +essential/now 1.0 i386 [installed,local]" apt list '?section(asection)' + +testsuccessequal 'Listing... +essential/now 1.0 i386 [installed,local]' apt list '~i !~M (~slibs|~sasection)' + +testsuccessequal "Listing... +automatic1/now 1.0 i386 [installed,local] +automatic2/now 1.0 i386 [installed,local]" apt list '?source-package(^automatic$)' + +testsuccessequal "Listing... +automatic2/now 1.0 i386 [installed,local]" apt list '?source-version(^1$)' + +testsuccessequal "Listing... +not-obsolete/unstable 2.0 i386 [upgradable from: 1.0] +N: There is 1 additional version. Please use the '-a' switch to see it" apt list '?upgradable' + +testsuccessequal "Listing... +foreign/unstable 2.0 amd64 +not-obsolete/unstable 2.0 i386 [upgradable from: 1.0]" apt list '?version(2.0)' + +testsuccessequal "Package: does-not-exist +State: not a real package (virtual) +Package: notinstalled:amd64 +State: not a real package (virtual) +N: Can't select candidate version from package does-not-exist as it has no candidate +N: Can't select candidate version from package notinstalled:amd64 as it has no candidate +N: Can't select versions from package 'does-not-exist' as it is purely virtual +N: Can't select versions from package 'notinstalled:amd64' as it is purely virtual +N: No packages found" apt show '?virtual' + +testsuccessequal "Listing..." apt list '?x-name-fnmatch(1)' +testsuccessequal "Listing... +automatic1/now 1.0 i386 [installed,local] +manual1/now 1.0 i386 [installed,local]" apt list '?x-name-fnmatch(*1)' + + +# * wildcards should still work +testsuccessequal "Listing... +automatic1/now 1.0 i386 [installed,local] +automatic2/now 1.0 i386 [installed,local]" apt list 'automatic*' + +testfailureequal "Reading package lists... +Building dependency tree... +Reading state information... +Note, selecting 'automatic1' for glob 'automatic*' +Note, selecting 'automatic2' for glob 'automatic*' +automatic1 is already the newest version (1.0). +automatic1 set to manually installed. +automatic2 is already the newest version (1.0). +automatic2 set to manually installed. +You might want to run 'apt --fix-broken install' to correct these. +The following packages have unmet dependencies: + broken : Depends: does-not-exist but it is not installable +E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution)." apt install -s 'automatic*' + +# other wildcards should fail + +testfailureequal "Listing... +E: input:0-10: error: Expected pattern + automatic? + ^^^^^^^^^^" apt list 'automatic?' + + + +testfailureequal "Reading package lists... +Building dependency tree... +Reading state information... +E: Unable to locate package automatic?" apt install -s 'automatic?' diff --git a/test/integration/test-apt-progress-fd b/test/integration/test-apt-progress-fd new file mode 100755 index 0000000..4c19a7b --- /dev/null +++ b/test/integration/test-apt-progress-fd @@ -0,0 +1,80 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' 'i386' + +buildsimplenativepackage 'testing' 'amd64' '0.1' 'stable' +buildsimplenativepackage 'testing' 'amd64' '0.8.15' 'stable' +buildsimplenativepackage 'testing2' 'amd64,i386' '0.8.15' 'stable' +setupaptarchive + +# install native +exec 3> apt-progress.log +testsuccess aptget install testing=0.1 -y -o APT::Status-Fd=3 +testfileequal './apt-progress.log' 'dlstatus:1:0.0000:Retrieving file 1 of 1 +dlstatus:1:100.0000:Retrieving file 1 of 1 +pmstatus:dpkg-exec:0.0000:Running dpkg +pmstatus:testing:0.0000:Preparing testing (amd64) +pmstatus:testing:20.0000:Unpacking testing (amd64) +pmstatus:testing:40.0000:Installing testing (amd64) +pmstatus:dpkg-exec:40.0000:Running dpkg +pmstatus:testing:40.0000:Preparing to configure testing (amd64) +pmstatus:testing:60.0000:Configuring testing (amd64) +pmstatus:testing:80.0000:Installed testing (amd64)' + +# upgrade +exec 3> apt-progress.log +testsuccess aptget install testing=0.8.15 -y -o APT::Status-Fd=3 +testfileequal './apt-progress.log' 'dlstatus:1:0.0000:Retrieving file 1 of 1 +dlstatus:1:100.0000:Retrieving file 1 of 1 +pmstatus:dpkg-exec:0.0000:Running dpkg +pmstatus:testing:0.0000:Preparing testing (amd64) +pmstatus:testing:20.0000:Unpacking testing (amd64) +pmstatus:testing:40.0000:Installing testing (amd64) +pmstatus:dpkg-exec:40.0000:Running dpkg +pmstatus:testing:40.0000:Preparing to configure testing (amd64) +pmstatus:testing:60.0000:Configuring testing (amd64) +pmstatus:testing:80.0000:Installed testing (amd64)' + +# reinstall +exec 3> apt-progress.log +testsuccess aptget install testing=0.8.15 --reinstall -y -o APT::Status-Fd=3 +testfileequal './apt-progress.log' 'dlstatus:1:0.0000:Retrieving file 1 of 1 +dlstatus:1:100.0000:Retrieving file 1 of 1 +pmstatus:dpkg-exec:0.0000:Running dpkg +pmstatus:testing:0.0000:Preparing testing (amd64) +pmstatus:testing:20.0000:Unpacking testing (amd64) +pmstatus:testing:40.0000:Installing testing (amd64) +pmstatus:dpkg-exec:40.0000:Running dpkg +pmstatus:testing:40.0000:Preparing to configure testing (amd64) +pmstatus:testing:60.0000:Configuring testing (amd64) +pmstatus:testing:80.0000:Installed testing (amd64)' + +# and remove +exec 3> apt-progress.log +testsuccess aptget remove testing -y -o APT::Status-Fd=3 +testfileequal './apt-progress.log' 'pmstatus:dpkg-exec:0.0000:Running dpkg +pmstatus:testing:0.0000:Preparing for removal of testing (amd64) +pmstatus:testing:33.3333:Removing testing (amd64) +pmstatus:testing:66.6667:Removing testing (amd64) +pmstatus:dpkg-exec:66.6667:Running dpkg' + +# install non-native and ensure we get proper progress info +exec 3> apt-progress.log +testsuccess aptget install testing2:i386 -y -o APT::Status-Fd=3 +testfileequal './apt-progress.log' 'dlstatus:1:0.0000:Retrieving file 1 of 1 +dlstatus:1:100.0000:Retrieving file 1 of 1 +pmstatus:dpkg-exec:0.0000:Running dpkg +pmstatus:testing2:0.0000:Preparing testing2 (i386) +pmstatus:testing2:20.0000:Unpacking testing2 (i386) +pmstatus:testing2:40.0000:Installing testing2 (i386) +pmstatus:dpkg-exec:40.0000:Running dpkg +pmstatus:testing2:40.0000:Preparing to configure testing2 (i386) +pmstatus:testing2:60.0000:Configuring testing2 (i386) +pmstatus:testing2:80.0000:Installed testing2 (i386)' + +rm -f apt-progress*.log diff --git a/test/integration/test-apt-progress-fd-conffile b/test/integration/test-apt-progress-fd-conffile new file mode 100755 index 0000000..9fb6fbe --- /dev/null +++ b/test/integration/test-apt-progress-fd-conffile @@ -0,0 +1,42 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'native' + +# old conffile +setupsimplenativepackage 'compiz-core' 'native' '1.0' 'unstable' +BUILDDIR='incoming/compiz-core-1.0' +mkdir -p "${BUILDDIR}/debian/compiz-core/etc" +echo 'foo=bar;' > "${BUILDDIR}/compiz.conf" +echo 'compiz.conf /etc/compiz.conf' >> "${BUILDDIR}/debian/install" +buildpackage "$BUILDDIR" 'unstable' 'main' 'native' +rm -rf "$BUILDDIR" + +# new conffile +setupsimplenativepackage 'compiz-core' 'native' '2.0' 'unstable' +BUILDDIR='incoming/compiz-core-2.0' +mkdir -p "${BUILDDIR}/debian/compiz-core/etc" +echo 'foo2=bar2;' > "${BUILDDIR}/compiz.conf" +echo 'compiz.conf /etc/compiz.conf' >> "${BUILDDIR}/debian/install" +buildpackage "$BUILDDIR" 'unstable' 'main' 'native' +rm -rf "$BUILDDIR" + +setupaptarchive + +testsuccess aptget install compiz-core=1.0 + +# fake conffile change +echo 'meep' >> rootdir/etc/compiz.conf/compiz.conf + +# FIXME: Is there really no way to see if dpkg actually prompts? +msgtest 'Test for successful execution of' 'apt-get install compiz-core=2.0' +exec 3> apt-progress.log +testsuccess --nomsg aptget install compiz-core=2.0 -o APT::Status-Fd=3 -o Dpkg::Use-Pty=false -o dpkg::options::='--force-confold' + +# and ensure there is a conffile message in the file +msgtest 'Test status fd for an included' 'pmconffile msg' +testsuccess --nomsg grep "pmconffile:/etc/compiz.conf/compiz.conf" apt-progress.log diff --git a/test/integration/test-apt-progress-fd-deb822 b/test/integration/test-apt-progress-fd-deb822 new file mode 100755 index 0000000..dd66e28 --- /dev/null +++ b/test/integration/test-apt-progress-fd-deb822 @@ -0,0 +1,58 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' 'i386' + +buildsimplenativepackage 'testing' 'amd64' '0.1' 'stable' +buildsimplenativepackage 'testing' 'all' '0.8.15' 'stable' +buildsimplenativepackage 'testing2' 'amd64,i386' '0.8.15' 'stable' +setupaptarchive + +# install native +exec 3> apt-progress.log +testsuccess aptget install testing=0.1 -y -o APT::Status-deb822-Fd=3 + +testfileequal './apt-progress.log' 'Status: progress +Percent: 0.0000 +Message: Running dpkg + +Status: progress +Package: testing:amd64 +Percent: 0.0000 +Message: Preparing testing (amd64) + +Status: progress +Package: testing:amd64 +Percent: 20.0000 +Message: Unpacking testing (amd64) + +Status: progress +Package: testing:amd64 +Percent: 40.0000 +Message: Installing testing (amd64) + +Status: progress +Percent: 40.0000 +Message: Running dpkg + +Status: progress +Package: testing:amd64 +Percent: 40.0000 +Message: Preparing to configure testing (amd64) + +Status: progress +Package: testing:amd64 +Percent: 60.0000 +Message: Configuring testing (amd64) + +Status: progress +Package: testing:amd64 +Percent: 80.0000 +Message: Installed testing (amd64) +' + +rm -f apt-progress*.log diff --git a/test/integration/test-apt-progress-fd-error b/test/integration/test-apt-progress-fd-error new file mode 100755 index 0000000..39c1053 --- /dev/null +++ b/test/integration/test-apt-progress-fd-error @@ -0,0 +1,25 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'native' + +mkdir -p usr/bin +touch usr/bin/file-conflict + +buildsimplenativepackage 'foo1' 'native' '0.8.15' 'stable' '' 'pkg with file conflicts' '' '' 'usr/' +buildsimplenativepackage 'foo2' 'native' '0.8.15' 'stable' '' 'pkg with file conflicts' '' '' 'usr/' +insertinstalledpackage 'apport' 'native' '1' + +setupaptarchive + +exec 3> apt-progress.log +testfailure aptget install foo1 foo2 -y -o APT::Status-Fd=3 +msgtest 'Ensure correct error message' 'file-conflict' +testsuccess --nomsg grep "foo2_0.8.15_[^.]\+.deb:[0-9.]\+:trying to overwrite '/usr/bin/file-conflict', which is also in package foo1 0.8.15" apt-progress.log + +testsuccess test -s rootdir/var/crash/foo2.0.crash +testsuccess grep '^Package: foo2 0.8.15$' rootdir/var/crash/foo2.0.crash diff --git a/test/integration/test-apt-redirect-loop b/test/integration/test-apt-redirect-loop new file mode 100755 index 0000000..e1a8aee --- /dev/null +++ b/test/integration/test-apt-redirect-loop @@ -0,0 +1,20 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "i386" + +echo 'alright' > aptarchive/working +changetohttpswebserver +webserverconfig 'aptwebserver::redirect::replace::/redirectme3/' '/redirectme/' +webserverconfig 'aptwebserver::redirect::replace::/redirectme2/' '/redirectme3/' +webserverconfig 'aptwebserver::redirect::replace::/redirectme/' '/redirectme2/' + +testfailure apthelper download-file "http://localhost:${APTHTTPPORT}/redirectme/working" httpfile +testsuccess grep 'Redirection loop encountered' rootdir/tmp/testfailure.output + +testfailure apthelper download-file "https://localhost:${APTHTTPSPORT}/redirectme/working" httpsfile +testsuccess grep 'Redirection loop encountered' rootdir/tmp/testfailure.output diff --git a/test/integration/test-apt-showlist-orgroup-in-recommends b/test/integration/test-apt-showlist-orgroup-in-recommends new file mode 100755 index 0000000..a03c367 --- /dev/null +++ b/test/integration/test-apt-showlist-orgroup-in-recommends @@ -0,0 +1,200 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'i386' + +# simple case +insertinstalledpackage 'aaa' 'all' '1' +insertinstalledpackage 'ddd' 'all' '1' +insertpackage 'unstable' 'aaa' 'all' '1' +insertpackage 'unstable' 'ddd' 'all' '1' +insertpackage 'unstable' 'yyy' 'all' '1' +insertpackage 'unstable' 'zzz' 'all' '1:1' +insertpackage 'unstable' 'simple' 'all' '1' 'Recommends: aaa, bbb +Suggests: ccc, ddd' +insertpackage 'unstable' 'orgroup' 'all' '1' 'Recommends: aaa | bbb +Suggests: ccc | ddd' +insertpackage 'unstable' 'orgroup2' 'all' '1' 'Recommends: xxx | yyy +Suggests: yyy | zzz' +insertpackage 'unstable' 'orgroup3' 'all' '1' 'Recommends: xxx | yyy +Suggests: yyy | zzz' +insertpackage 'unstable' 'orgroup4' 'all' '1' 'Recommends: xxx +Suggests: zzz' +insertpackage 'unstable' 'versionedor' 'all' '1' 'Recommends: aaa (>> 2) | bbb +Suggests: ccc | ddd (>> 2)' + +setupaptarchive + +testsuccessequal 'Reading package lists... +Building dependency tree... +Suggested packages: + ccc +Recommended packages: + bbb +The following NEW packages will be installed: + simple +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst simple (1 unstable [all]) +Conf simple (1 unstable [all])' aptget install simple -s --install-recommends --install-suggests +testsuccessequal 'Reading package lists... +Building dependency tree... +Suggested packages: + ccc +Recommended packages: + bbb +The following NEW packages will be installed: + simple +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst simple (1 unstable [all]) +Conf simple (1 unstable [all])' aptget install simple -s --no-install-recommends +testsuccessequal 'Reading package lists... +Building dependency tree... +Suggested packages: + ccc +Recommended packages: + aaa bbb +The following packages will be REMOVED: + aaa +The following NEW packages will be installed: + simple +0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Remv aaa [1] +Inst simple (1 unstable [all]) +Conf simple (1 unstable [all])' aptget install simple aaa- -s --no-install-recommends +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + orgroup +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst orgroup (1 unstable [all]) +Conf orgroup (1 unstable [all])' aptget install orgroup -s --no-install-recommends +testsuccessequal 'Reading package lists... +Building dependency tree... +Recommended packages: + aaa | bbb +The following packages will be REMOVED: + aaa +The following NEW packages will be installed: + orgroup +0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Remv aaa [1] +Inst orgroup (1 unstable [all]) +Conf orgroup (1 unstable [all])' aptget install orgroup aaa- -s --no-install-recommends +testsuccessequal 'Reading package lists... +Building dependency tree... +Suggested packages: + yyy | zzz +Recommended packages: + xxx | yyy +The following NEW packages will be installed: + orgroup2 +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst orgroup2 (1 unstable [all]) +Conf orgroup2 (1 unstable [all])' aptget install orgroup2 -s --no-install-recommends +testsuccessequal 'Reading package lists... +Building dependency tree... +Suggested packages: + yyy | zzz +Recommended packages: + xxx | yyy +The following NEW packages will be installed: + orgroup2 orgroup3 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst orgroup2 (1 unstable [all]) +Inst orgroup3 (1 unstable [all]) +Conf orgroup2 (1 unstable [all]) +Conf orgroup3 (1 unstable [all])' aptget install orgroup2 orgroup3 -s --no-install-recommends +testsuccessequal 'Reading package lists... +Building dependency tree... +Suggested packages: + yyy | zzz zzz +Recommended packages: + xxx | yyy xxx +The following NEW packages will be installed: + orgroup2 orgroup4 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst orgroup2 (1 unstable [all]) +Inst orgroup4 (1 unstable [all]) +Conf orgroup2 (1 unstable [all]) +Conf orgroup4 (1 unstable [all])' aptget install orgroup2 orgroup4 -s --no-install-recommends +testsuccessequal 'Reading package lists... +Building dependency tree... +Suggested packages: + yyy (1) + | zzz (1:1) + zzz (1:1) +Recommended packages: + xxx + | yyy (1) + xxx +The following NEW packages will be installed: + orgroup2 (1) + orgroup4 (1) +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst orgroup2 (1 unstable [all]) +Inst orgroup4 (1 unstable [all]) +Conf orgroup2 (1 unstable [all]) +Conf orgroup4 (1 unstable [all])' aptget install orgroup2 orgroup4 -s -V --no-install-recommends +testsuccessequal 'Reading package lists... +Building dependency tree... +Suggested packages: + zzz (1:1) +Recommended packages: + xxx +The following NEW packages will be installed: + orgroup2 (1) + orgroup4 (1) + yyy (1) +0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. +Inst orgroup2 (1 unstable [all]) +Inst orgroup4 (1 unstable [all]) +Inst yyy (1 unstable [all]) +Conf orgroup2 (1 unstable [all]) +Conf orgroup4 (1 unstable [all]) +Conf yyy (1 unstable [all])' aptget install orgroup2 orgroup4 yyy -s -V --no-install-recommends +testsuccessequal 'Reading package lists... +Building dependency tree... +Suggested packages: + ccc | ddd +Recommended packages: + aaa | bbb +The following NEW packages will be installed: + versionedor +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst versionedor (1 unstable [all]) +Conf versionedor (1 unstable [all])' aptget install versionedor -s --no-install-recommends + +SHOWSUGGEST='Reading package lists... +Building dependency tree... +Suggested packages: + zzz +Recommended packages: + xxx +The following NEW packages will be installed: + orgroup4 +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst orgroup4 (1 unstable [all]) +Conf orgroup4 (1 unstable [all])' +INSTSUGGEST='Reading package lists... +Building dependency tree... +The following additional packages will be installed: + zzz +Recommended packages: + xxx +The following NEW packages will be installed: + orgroup4 zzz +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst orgroup4 (1 unstable [all]) +Inst zzz (1:1 unstable [all]) +Conf orgroup4 (1 unstable [all]) +Conf zzz (1:1 unstable [all])' +testsuccessequal "$SHOWSUGGEST" aptget install orgroup4 -s +testsuccessequal "$INSTSUGGEST" aptget install orgroup4 --install-suggests -s +echo 'Binary::apt-get::APT::Install-Suggests "true";' > rootdir/etc/apt/apt.conf.d/99binaryspecific.conf +testsuccessequal "$INSTSUGGEST" aptget install orgroup4 -s +testsuccessequal "$SHOWSUGGEST" apt install orgroup4 -s +testsuccessequal "$SHOWSUGGEST" aptget install orgroup4 -s --no-install-suggests diff --git a/test/integration/test-apt-source-and-build-dep b/test/integration/test-apt-source-and-build-dep new file mode 100755 index 0000000..a089d62 --- /dev/null +++ b/test/integration/test-apt-source-and-build-dep @@ -0,0 +1,250 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'i386' + +# we need to insert a package into "unstable" so that a Release file is +# create for the test +insertpackage 'wheezy' 'build-essential' 'all' '1.0' + +# a "normal" package with source and binary +insertpackage 'unstable' 'foo' 'all' '2.0' +insertsource 'unstable' 'foo' 'all' '2.0' +insertpackage 'unstable' 'foo-common' 'all' '2.0' 'Source: foo (2.0)' +insertpackage 'experimental' 'foo' 'all' '5' 'Depends: foo-common (= 5)' +insertpackage 'experimental' 'foo-common' 'all' '5' 'Source: foo (5)' +insertsource 'experimental' 'foo-source' 'all' '42' 'Build-Depends: foo (= 5), baz' + +# binary packages with Source-field +insertpackage 'unstable,testing' 'bin' 'i386' '3-2+b1' 'Source: bin (3-2)' +insertsource 'unstable,testing' 'bin' 'any' '3-2' +insertpackage 'stable' 'bin' 'i386' '2-2+b1' 'Source: bin-backport (2-2)' +insertsource 'stable' 'bin-backport' 'any' '2-2' + +# its possible to have multiple src versions in the sources file, ensure +# to pick the correct one in this case (bts #731853) +insertsource 'stable' 'foo' 'all' '1.5' +insertsource 'stable' 'foo' 'all' '0.5' +insertpackage 'stable' 'foo' 'all' '1.0' +insertsource 'stable' 'foo' 'all' '1.0' + +# these packages exists only as sources, add two versions to ensure that +# apt will pick the higher version number (bts #731853) +insertsource 'wheezy' 'foo' 'all' '0.0.1' +insertsource 'wheezy' 'foo' 'all' '0.1' + +# the order of these versions is chosen to ensure that +# * apt will pick the one in the correct release, despite a higher version coming later and +# * apt will pick the highest version in a release, despite a lower version coming later. +# (bts #746412) +insertsource 'stable' 'baz' 'all' '1.0' +insertsource 'unstable' 'baz' 'all' '2.0' +insertsource 'unstable' 'baz' 'all' '1.5' +insertpackage 'unstable' 'baz' 'all' '2.0' +insertpackage 'experimental' 'baz' 'all' '5.0' + +# ensure we really have the situation we wanted (first 2.0 is foo above) +testequal 'Version: 2.0 +Version: 3-2 +Version: 2.0 +Version: 1.5' grep '^Version:' aptarchive/dists/unstable/main/source/Sources + +insertsource 'stable' 'bar' 'any' '1.1' 'Vcs-Browser: https://anonscm.debian.org/cgit/bar/bar.git +Vcs-Git: git://anonscm.debian.org/bar/bar.git -b debian/experimental' + +setupaptarchive + +APTARCHIVE=$(readlink -f ./aptarchive) + +# normal operation gets highest version number +HEADER='Reading package lists...' +DOWNLOAD1="Need to get 0 B/25 B of source archives. +'file:${APTARCHIVE}/foo_1.0.dsc' foo_1.0.dsc 11 SHA256:ed7c25c832596339bee13e4e7c45cf49f869b60d2bf57252f18191d75866c2a7 +'file:${APTARCHIVE}/foo_1.0.tar.gz' foo_1.0.tar.gz 14 SHA256:f3da8c6ebc62c8ef2dae439a498dddcdacc1a07f45ff67ad12f44b6e2353c239" +DOWNLOAD2="Need to get 0 B/25 B of source archives. +'file:${APTARCHIVE}/foo_2.0.dsc' foo_2.0.dsc 11 SHA256:0fcb803ffbeef26db884625aaf06e75f3eda5c994634980e7c20fd37ed1fc104 +'file:${APTARCHIVE}/foo_2.0.tar.gz' foo_2.0.tar.gz 14 SHA256:ca9b0b828ca22372502af2b80f61f0bd9063910ece9fc34eeaf9d9e31aa8195a" +DOWNLOAD3="Need to get 0 B/25 B of source archives. +'file:${APTARCHIVE}/baz_1.0.dsc' baz_1.0.dsc 11 SHA256:322245f56092b466801dda62d79c8687bba9724af6d16d450d655d29e41d3d7b +'file:${APTARCHIVE}/baz_1.0.tar.gz' baz_1.0.tar.gz 14 SHA256:0870bc73164ff5ba1f52153fdcb48e140137f9c7c122d57592cea136a57f73c0" +DOWNLOAD4="Need to get 0 B/25 B of source archives. +'file:${APTARCHIVE}/baz_2.0.dsc' baz_2.0.dsc 11 SHA256:47d062d29070b3f592d1c8aed8c1e7913804bbb67ca1d64877c8219dac5e0420 +'file:${APTARCHIVE}/baz_2.0.tar.gz' baz_2.0.tar.gz 14 SHA256:11c1b202c94a64ab6433d9f0ed5515fce1dc7b20e6bcf51cec9ef8b9455f5a41" +testsuccessequal "$HEADER +$DOWNLOAD2" apt source -q --print-uris foo +testsuccessequal "$HEADER +$DOWNLOAD2" apt source -q --print-uris foo foo +getbuilddep() { + echo 'Reading package lists...' + if [ -n "$2" ]; then + echo "$2" + fi + echo "${1} has no build depends. +Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + build-essential +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst build-essential (1.0 wheezy [all]) +Conf build-essential (1.0 wheezy [all])" +} +testsuccessequal "$(getbuilddep 'foo')" apt build-dep foo -s + +# select by release: suite +testsuccessequal "$HEADER +Selected version '1.0' (stable) for foo +$DOWNLOAD1" apt source -q --print-uris foo/stable +testsuccessequal "$(getbuilddep 'foo' "Selected version '1.0' (stable) for foo")" apt build-dep foo/stable -s +testsuccessequal "$HEADER +Selected version '2.0' (unstable) for foo +$DOWNLOAD2" apt source -q --print-uris foo/unstable +testsuccessequal "$(getbuilddep 'foo' "Selected version '2.0' (unstable) for foo")" apt build-dep foo/unstable -s +testsuccessequal "$HEADER +Selected version '1.0' (stable) for foo +$DOWNLOAD1" apt source -q --print-uris foo -t stable +testsuccessequal "$(getbuilddep 'foo' "Selected version '1.0' (stable) for foo")" apt build-dep foo -t stable -s +testsuccessequal "$HEADER +Selected version '2.0' (unstable) for foo +$DOWNLOAD2" apt source -q --print-uris foo -t unstable +testsuccessequal "$(getbuilddep 'foo' "Selected version '2.0' (unstable) for foo")" apt build-dep foo -t unstable -s +testsuccessequal "$HEADER +Selected version '1.0' (stable) for baz +$DOWNLOAD3" apt source -q --print-uris baz -t stable +testsuccessequal "$(getbuilddep 'baz' "Selected version '1.0' (stable) for baz")" apt build-dep baz -t stable -s + +# select by release: codename +testsuccessequal "$HEADER +Selected version '2.0' (sid) for foo +$DOWNLOAD2" apt source -q --print-uris foo/sid +testsuccessequal "$(getbuilddep 'foo' "Selected version '2.0' (sid) for foo")" apt build-dep foo/sid -s +testsuccessequal "$HEADER +Selected version '2.0' (sid) for foo +$DOWNLOAD2" apt source -q --print-uris foo -t sid +testsuccessequal "$(getbuilddep 'foo' "Selected version '2.0' (sid) for foo")" apt build-dep foo -t sid -s +testsuccessequal "$HEADER +Selected version '2.0' (sid) for baz +$DOWNLOAD4" apt source -q --print-uris baz -t sid +testsuccessequal "$(getbuilddep 'baz' "Selected version '2.0' (sid) for baz")" apt build-dep baz -t sid -s + +# select by version +testsuccessequal "$HEADER +$DOWNLOAD1" apt source -q --print-uris foo=1.0 +testsuccessequal "$(getbuilddep 'foo')" apt build-dep foo=1.0 -s + +# select by release with no binary package (Bug#731102) but ensure to get +# highest version +DOWNLOAD01="Need to get 0 B/25 B of source archives. +'file:${APTARCHIVE}/foo_0.1.dsc' foo_0.1.dsc 11 SHA256:72af24b0290fe1d13a3e25fddd2633e43c87ff79d249bc850009e47bcce73565 +'file:${APTARCHIVE}/foo_0.1.tar.gz' foo_0.1.tar.gz 14 SHA256:ec748ad88a71f98bfdc012e1a7632377d05fe3ebbf9c0922e0691fe4d79c0585" +testsuccessequal "$HEADER +Selected version '0.1' (wheezy) for foo +$DOWNLOAD01" apt source -q --print-uris foo/wheezy +testsuccessequal "$(getbuilddep 'foo' "Selected version '0.1' (wheezy) for foo")" apt build-dep foo/wheezy -s + +# unavailable one +testfailureequal "$HEADER +E: Can not find version '9.9-not-there' of package 'foo' +E: Unable to find a source package for foo" apt source -q --print-uris foo=9.9-not-there +testfailureequal "Reading package lists... +E: Can not find version '9.9-not-there' of package 'foo' +E: Unable to find a source package for foo=9.9-not-there" apt build-dep -s foo=9.9-not-there + +# version and release +DOWNLOAD001="Need to get 0 B/29 B of source archives. +'file:${APTARCHIVE}/foo_0.0.1.dsc' foo_0.0.1.dsc 13 SHA256:649dfe03bbb70cebdfe7c6bf9036f9f2472510b8f52e823bdf5ade362ebaa76f +'file:${APTARCHIVE}/foo_0.0.1.tar.gz' foo_0.0.1.tar.gz 16 SHA256:ab7ba789d178362ecc808e49705e2338988a7f5b9410ec11a6c9555c017de907" +testsuccessequal "$HEADER +$DOWNLOAD001" apt source -q --print-uris -t unstable foo=0.0.1 +testsuccessequal "$(getbuilddep 'foo')" apt build-dep foo=0.0.1 -s + +testsuccessequal "$HEADER +Need to get 0 B/25 B of source archives. +Fetch source foo" apt source -q -s foo +testsuccessequal "$(getbuilddep 'foo')" apt build-dep foo -s + +testfailureequal 'E: Must specify at least one package to fetch source for' apt source +testfailureequal 'E: Must specify at least one package to check builddeps for' apt build-dep + +testsuccessequal "Reading package lists... +NOTICE: 'bar' packaging is maintained in the 'Git' version control system at: +git://anonscm.debian.org/bar/bar.git -b debian/experimental +Please use: +git clone git://anonscm.debian.org/bar/bar.git -b debian/experimental +to retrieve the latest (possibly unreleased) updates to the package. +Need to get 0 B/25 B of source archives. +Fetch source bar" apt source bar -s +testsuccessequal "$(getbuilddep 'bar')" apt build-dep bar -s + +testsuccessequal "$HEADER +Need to get 0 B/25 B of source archives. +Fetch source bin" apt source bin -s -q +testsuccessequal "$(getbuilddep 'bin')" apt build-dep bin -s +testsuccessequal "$HEADER +Selected version '3-2' (unstable) for bin +Need to get 0 B/25 B of source archives. +Fetch source bin" apt source bin/unstable -s -q +testsuccessequal "$(getbuilddep 'bin' "Selected version '3-2' (unstable) for bin")" apt build-dep bin/unstable -s +testsuccessequal "$HEADER +Picking 'bin-backport' as source package instead of 'bin' +Selected version '2-2' (stable) for bin-backport +Need to get 0 B/43 B of source archives. +Fetch source bin-backport" apt source bin/stable -s -q +testsuccessequal "$(getbuilddep 'bin-backport' "Picking 'bin-backport' as source package instead of 'bin' +Selected version '2-2' (stable) for bin-backport")" apt build-dep bin/stable -s + +testsuccess apt install foo/experimental -s +testfailure apt build-dep foo-source -s +testsuccessequal "Reading package lists... +Selected version '42' (experimental) for foo-source +Reading package lists... +Building dependency tree... +Selected version '5' (experimental [all]) for 'foo' because of 'src:foo-source' +Selected version '5' (experimental [all]) for 'foo-common' because of 'foo' +The following NEW packages will be installed: + baz build-essential foo foo-common +0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. +Inst baz (2.0 unstable [all]) +Inst build-essential (1.0 wheezy [all]) +Inst foo-common (5 experimental [all]) +Inst foo (5 experimental [all]) +Conf baz (2.0 unstable [all]) +Conf build-essential (1.0 wheezy [all]) +Conf foo-common (5 experimental [all]) +Conf foo (5 experimental [all])" apt build-dep foo-source/experimental -s +testsuccessequal "Reading package lists... +Selected version '42' (experimental) for foo-source +Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + baz build-essential foo foo-common +0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. +Inst baz (5.0 experimental [all]) +Inst build-essential (1.0 wheezy [all]) +Inst foo-common (5 experimental [all]) +Inst foo (5 experimental [all]) +Conf baz (5.0 experimental [all]) +Conf build-essential (1.0 wheezy [all]) +Conf foo-common (5 experimental [all]) +Conf foo (5 experimental [all])" apt build-dep foo-source -t experimental -s +# this checks that mentioning the source pkg baz has no influence on the binary package baz +testsuccessequal "Reading package lists... +Selected version '42' (experimental) for foo-source +Selected version '2.0' (unstable) for baz +baz has no build depends. +Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + baz build-essential foo foo-common +0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. +Inst baz (5.0 experimental [all]) +Inst build-essential (1.0 wheezy [all]) +Inst foo-common (5 experimental [all]) +Inst foo (5 experimental [all]) +Conf baz (5.0 experimental [all]) +Conf build-essential (1.0 wheezy [all]) +Conf foo-common (5 experimental [all]) +Conf foo (5 experimental [all])" apt build-dep foo-source baz/unstable -t experimental -s diff --git a/test/integration/test-apt-sources-deb822 b/test/integration/test-apt-sources-deb822 new file mode 100755 index 0000000..8ffe0ab --- /dev/null +++ b/test/integration/test-apt-sources-deb822 @@ -0,0 +1,361 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'i386' + +LISTS='rootdir/etc/apt/sources.list.d/test.list' +ABSLISTS="$(readlink -f $LISTS)" +SOURCES='rootdir/etc/apt/sources.list.d/test.sources' +BASE='# some comment +# that contains a : as well +#Types: meep + +# a free-standing comment appears + +Types: deb +#Types: deb-src +URIs: http://ftp.debian.org/debian +Suites: stable +Components: main +Description: summary +# comments are ignored + and the long part' + +msgcleantest() { + rm -f $LISTS $SOURCES + msgtest "$@" +} + +msgcleantest 'Test sources.list' 'old style' +echo "deb http://ftp.debian.org/debian stable main" > $LISTS +testsuccessequal --nomsg "'http://ftp.debian.org/debian/dists/stable/InRelease' ftp.debian.org_debian_dists_stable_InRelease 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-i386/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-i386_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-all/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-all_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/i18n/Translation-en.xz' ftp.debian.org_debian_dists_stable_main_i18n_Translation-en 0 " aptget update --print-uris + +msgcleantest 'Test sources.list' 'old style with tabs' +echo "deb http://ftp.debian.org/debian stable main" > $LISTS +testsuccessequal --nomsg "'http://ftp.debian.org/debian/dists/stable/InRelease' ftp.debian.org_debian_dists_stable_InRelease 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-i386/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-i386_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-all/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-all_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/i18n/Translation-en.xz' ftp.debian.org_debian_dists_stable_main_i18n_Translation-en 0 " aptget update --print-uris + +msgcleantest 'Test sources.list' 'old style with forgotten end for options' +echo "deb [trusted=yes arch+=armel,powerpc http://ftp.debian.org/debian stable main" > $LISTS +testfailureequal --nomsg "E: Malformed entry 1 in list file $ABSLISTS ([option] not assignment) +E: The list of sources could not be read." aptget update --print-uris + +msgcleantest 'Test sources.list' 'old style with stray ] instead of options' +echo "deb ] http://ftp.debian.org/debian stable main" > $LISTS +testfailureequal --nomsg "E: Malformed entry 1 in list file $ABSLISTS (URI parse) +E: The list of sources could not be read." aptget update --print-uris + +msgcleantest 'Test sources.list' 'old style options no key' +echo "deb [=test] http://ftp.debian.org/debian stable main" > $LISTS +testfailureequal --nomsg "E: Malformed entry 1 in list file $ABSLISTS ([option] no key) +E: The list of sources could not be read." aptget update --print-uris + +msgcleantest 'Test sources.list' 'old style options no value' +echo "deb [test=] http://ftp.debian.org/debian stable main" > $LISTS +testfailureequal --nomsg "E: Malformed entry 1 in list file $ABSLISTS ([option] no value) +E: The list of sources could not be read." aptget update --print-uris + +msgcleantest 'Test sources.list' 'old style with options' +echo "deb [trusted=yes arch+=armel,powerpc] http://ftp.debian.org/debian stable main" > $LISTS +testsuccessequal --nomsg "'http://ftp.debian.org/debian/dists/stable/InRelease' ftp.debian.org_debian_dists_stable_InRelease 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-i386/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-i386_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-armel/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-armel_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-powerpc/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-powerpc_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-all/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-all_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/i18n/Translation-en.xz' ftp.debian.org_debian_dists_stable_main_i18n_Translation-en 0 " aptget update --print-uris + +msgcleantest 'Test sources.list' 'old style with comments' +echo "deb http://ftp.debian.org/debian stable main # non-free" > $LISTS +testsuccessequal --nomsg "'http://ftp.debian.org/debian/dists/stable/InRelease' ftp.debian.org_debian_dists_stable_InRelease 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-i386/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-i386_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-all/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-all_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/i18n/Translation-en.xz' ftp.debian.org_debian_dists_stable_main_i18n_Translation-en 0 " aptget update --print-uris + +msgcleantest 'Test sources.list' 'old style with option comments' +echo "deb [trusted=yes#yeahreally] http://ftp.debian.org/debian stable main # non-free" > $LISTS +testsuccessequal --nomsg "'http://ftp.debian.org/debian/dists/stable/InRelease' ftp.debian.org_debian_dists_stable_InRelease 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-i386/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-i386_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-all/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-all_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/i18n/Translation-en.xz' ftp.debian.org_debian_dists_stable_main_i18n_Translation-en 0 " aptget update --print-uris + +msgcleantest 'Test sources.list' 'simple deb822' +echo "$BASE" > $SOURCES +testsuccessequal --nomsg "'http://ftp.debian.org/debian/dists/stable/InRelease' ftp.debian.org_debian_dists_stable_InRelease 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-i386/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-i386_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-all/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-all_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/i18n/Translation-en.xz' ftp.debian.org_debian_dists_stable_main_i18n_Translation-en 0 " aptget update --print-uris + +msgcleantest 'Test deb822 with' 'two entries' +# Two entries +echo "$BASE" > $SOURCES +echo "" >> $SOURCES +echo "$BASE" | sed s/stable/unstable/ >> $SOURCES +testsuccessequal --nomsg "'http://ftp.debian.org/debian/dists/stable/InRelease' ftp.debian.org_debian_dists_stable_InRelease 0 +'http://ftp.debian.org/debian/dists/unstable/InRelease' ftp.debian.org_debian_dists_unstable_InRelease 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-i386/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-i386_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-all/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-all_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/i18n/Translation-en.xz' ftp.debian.org_debian_dists_stable_main_i18n_Translation-en 0 +'http://ftp.debian.org/debian/dists/unstable/main/binary-i386/Packages.xz' ftp.debian.org_debian_dists_unstable_main_binary-i386_Packages 0 +'http://ftp.debian.org/debian/dists/unstable/main/binary-all/Packages.xz' ftp.debian.org_debian_dists_unstable_main_binary-all_Packages 0 +'http://ftp.debian.org/debian/dists/unstable/main/i18n/Translation-en.xz' ftp.debian.org_debian_dists_unstable_main_i18n_Translation-en 0 " aptget update --print-uris + +# two suite entries +msgcleantest 'Test deb822 with' 'two Suite entries' +echo "$BASE" | sed -e "s/stable/stable unstable/" > $SOURCES +testsuccessequal --nomsg "'http://ftp.debian.org/debian/dists/stable/InRelease' ftp.debian.org_debian_dists_stable_InRelease 0 +'http://ftp.debian.org/debian/dists/unstable/InRelease' ftp.debian.org_debian_dists_unstable_InRelease 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-i386/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-i386_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-all/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-all_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/i18n/Translation-en.xz' ftp.debian.org_debian_dists_stable_main_i18n_Translation-en 0 +'http://ftp.debian.org/debian/dists/unstable/main/binary-i386/Packages.xz' ftp.debian.org_debian_dists_unstable_main_binary-i386_Packages 0 +'http://ftp.debian.org/debian/dists/unstable/main/binary-all/Packages.xz' ftp.debian.org_debian_dists_unstable_main_binary-all_Packages 0 +'http://ftp.debian.org/debian/dists/unstable/main/i18n/Translation-en.xz' ftp.debian.org_debian_dists_unstable_main_i18n_Translation-en 0 " aptget update --print-uris + +msgcleantest 'Test deb822' 'architecture option' +echo "$BASE" > $SOURCES +echo "Architectures: amd64 armel" >> $SOURCES +testsuccessequal --nomsg "'http://ftp.debian.org/debian/dists/stable/InRelease' ftp.debian.org_debian_dists_stable_InRelease 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-amd64_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-armel/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-armel_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-all/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-all_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/i18n/Translation-en.xz' ftp.debian.org_debian_dists_stable_main_i18n_Translation-en 0 " aptget update --print-uris + +msgcleantest 'Test old-style' 'suite arch variable' +echo 'deb http://ftp.tlh.debian.org/universe unstable/binary-$(ARCH)/' > $LISTS +testsuccessequal --nomsg "'http://ftp.tlh.debian.org/universe/unstable/binary-i386/InRelease' ftp.tlh.debian.org_universe_unstable_binary-i386_InRelease 0 +'http://ftp.tlh.debian.org/universe/unstable/binary-i386/Packages.xz' ftp.tlh.debian.org_universe_unstable_binary-i386_Packages 0 +'http://ftp.tlh.debian.org/universe/unstable/binary-i386/en.xz' ftp.tlh.debian.org_universe_unstable_binary-i386_en 0 " aptget update --print-uris + +msgcleantest 'Test deb822' 'suite arch variable' +echo 'Types: deb +URIs: http://ftp.tlh.debian.org/universe +Suites: stable/binary-$(ARCH)/' > $SOURCES +testsuccessequal --nomsg "'http://ftp.tlh.debian.org/universe/stable/binary-i386/InRelease' ftp.tlh.debian.org_universe_stable_binary-i386_InRelease 0 +'http://ftp.tlh.debian.org/universe/stable/binary-i386/Packages.xz' ftp.tlh.debian.org_universe_stable_binary-i386_Packages 0 +'http://ftp.tlh.debian.org/universe/stable/binary-i386/en.xz' ftp.tlh.debian.org_universe_stable_binary-i386_en 0 " aptget update --print-uris + +msgcleantest 'Test old-style sources.list file which has' 'malformed dist' +echo "deb http://ftp.debian.org" > $LISTS +testfailureequal --nomsg "E: Malformed entry 1 in list file $TMPWORKINGDIRECTORY/$LISTS (Suite) +E: The list of sources could not be read." aptget update --print-uris + +msgcleantest 'Test deb822 sources.list file which has' 'malformed URI' +echo "Types: deb +Suites: stable +" > $SOURCES +testfailureequal --nomsg "E: Malformed entry 1 in sources file $TMPWORKINGDIRECTORY/$SOURCES (URI) +E: The list of sources could not be read." aptget update --print-uris + +# with Enabled: false +echo "$BASE" > $SOURCES +echo "Enabled: no" >> $SOURCES +testempty aptget update --print-uris + +# multiple URIs +msgcleantest 'Test deb822 sources.list file which has' 'Multiple URIs work' +echo "$BASE" | sed -e 's#http://ftp.debian.org/debian#http://ftp.debian.org/debian http://ftp.de.debian.org/debian#' > $SOURCES +testsuccessequal --nomsg "'http://ftp.de.debian.org/debian/dists/stable/InRelease' ftp.de.debian.org_debian_dists_stable_InRelease 0 +'http://ftp.de.debian.org/debian/dists/stable/main/binary-i386/Packages.xz' ftp.de.debian.org_debian_dists_stable_main_binary-i386_Packages 0 +'http://ftp.de.debian.org/debian/dists/stable/main/binary-all/Packages.xz' ftp.de.debian.org_debian_dists_stable_main_binary-all_Packages 0 +'http://ftp.de.debian.org/debian/dists/stable/main/i18n/Translation-en.xz' ftp.de.debian.org_debian_dists_stable_main_i18n_Translation-en 0 +'http://ftp.debian.org/debian/dists/stable/InRelease' ftp.debian.org_debian_dists_stable_InRelease 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-i386/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-i386_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-all/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-all_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/i18n/Translation-en.xz' ftp.debian.org_debian_dists_stable_main_i18n_Translation-en 0 " aptget update --print-uris + +# multiple Type in one field +msgcleantest 'Test deb822 sources.list file which has' 'Multiple Types work' +echo "$BASE" | sed -e 's#Types: deb#Types: deb deb-src#' > $SOURCES +testsuccessequal --nomsg "'http://ftp.debian.org/debian/dists/stable/InRelease' ftp.debian.org_debian_dists_stable_InRelease 0 +'http://ftp.debian.org/debian/dists/stable/main/source/Sources.xz' ftp.debian.org_debian_dists_stable_main_source_Sources 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-i386/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-i386_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-all/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-all_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/i18n/Translation-en.xz' ftp.debian.org_debian_dists_stable_main_i18n_Translation-en 0 " aptget update --print-uris + +# a Suite +msgcleantest 'Test deb822 sources.list file which has' 'an exact path and no sections' +cat > $SOURCES <<EOF +Types: deb +URIs: http://emacs.naquadah.org +Suites: stable/ +EOF +testsuccessequal --nomsg "'http://emacs.naquadah.org/stable/InRelease' emacs.naquadah.org_stable_InRelease 0 +'http://emacs.naquadah.org/stable/Packages.xz' emacs.naquadah.org_stable_Packages 0 +'http://emacs.naquadah.org/stable/en.xz' emacs.naquadah.org_stable_en 0 " aptget update --print-uris + +# multivalue -Add/-Remove +msgcleantest 'Test deb822 sources.list file which has' '-Add/-Remove multivalues' +echo "$BASE" > $SOURCES +echo "Languages-Remove: en" >> $SOURCES +echo "Architectures-Add: armel" >> $SOURCES +testsuccessequal --nomsg "'http://ftp.debian.org/debian/dists/stable/InRelease' ftp.debian.org_debian_dists_stable_InRelease 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-i386/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-i386_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-armel/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-armel_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-all/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-all_Packages 0 " aptget update --print-uris + +msgcleantest 'Test deb822 sources with' 'multiline multivalues' +cat > "$SOURCES" <<EOF +Types: deb + deb-src +URIs: + http://ftp.debian.org/debian + http://ftp.debian.org/debian2 +Suites: stable + sid +Components: + main + contrib non-free +Architectures: amd64 + armhf powerpc +EOF +testsuccessequal --nomsg "'http://ftp.debian.org/debian/dists/stable/InRelease' ftp.debian.org_debian_dists_stable_InRelease 0 +'http://ftp.debian.org/debian/dists/sid/InRelease' ftp.debian.org_debian_dists_sid_InRelease 0 +'http://ftp.debian.org/debian2/dists/stable/InRelease' ftp.debian.org_debian2_dists_stable_InRelease 0 +'http://ftp.debian.org/debian2/dists/sid/InRelease' ftp.debian.org_debian2_dists_sid_InRelease 0 +'http://ftp.debian.org/debian/dists/stable/main/source/Sources.xz' ftp.debian.org_debian_dists_stable_main_source_Sources 0 +'http://ftp.debian.org/debian/dists/stable/contrib/source/Sources.xz' ftp.debian.org_debian_dists_stable_contrib_source_Sources 0 +'http://ftp.debian.org/debian/dists/stable/non-free/source/Sources.xz' ftp.debian.org_debian_dists_stable_non-free_source_Sources 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-amd64/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-amd64_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-armhf/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-armhf_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-powerpc/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-powerpc_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/binary-all/Packages.xz' ftp.debian.org_debian_dists_stable_main_binary-all_Packages 0 +'http://ftp.debian.org/debian/dists/stable/main/i18n/Translation-en.xz' ftp.debian.org_debian_dists_stable_main_i18n_Translation-en 0 +'http://ftp.debian.org/debian/dists/stable/contrib/binary-amd64/Packages.xz' ftp.debian.org_debian_dists_stable_contrib_binary-amd64_Packages 0 +'http://ftp.debian.org/debian/dists/stable/contrib/binary-armhf/Packages.xz' ftp.debian.org_debian_dists_stable_contrib_binary-armhf_Packages 0 +'http://ftp.debian.org/debian/dists/stable/contrib/binary-powerpc/Packages.xz' ftp.debian.org_debian_dists_stable_contrib_binary-powerpc_Packages 0 +'http://ftp.debian.org/debian/dists/stable/contrib/binary-all/Packages.xz' ftp.debian.org_debian_dists_stable_contrib_binary-all_Packages 0 +'http://ftp.debian.org/debian/dists/stable/contrib/i18n/Translation-en.xz' ftp.debian.org_debian_dists_stable_contrib_i18n_Translation-en 0 +'http://ftp.debian.org/debian/dists/stable/non-free/binary-amd64/Packages.xz' ftp.debian.org_debian_dists_stable_non-free_binary-amd64_Packages 0 +'http://ftp.debian.org/debian/dists/stable/non-free/binary-armhf/Packages.xz' ftp.debian.org_debian_dists_stable_non-free_binary-armhf_Packages 0 +'http://ftp.debian.org/debian/dists/stable/non-free/binary-powerpc/Packages.xz' ftp.debian.org_debian_dists_stable_non-free_binary-powerpc_Packages 0 +'http://ftp.debian.org/debian/dists/stable/non-free/binary-all/Packages.xz' ftp.debian.org_debian_dists_stable_non-free_binary-all_Packages 0 +'http://ftp.debian.org/debian/dists/stable/non-free/i18n/Translation-en.xz' ftp.debian.org_debian_dists_stable_non-free_i18n_Translation-en 0 +'http://ftp.debian.org/debian/dists/sid/main/source/Sources.xz' ftp.debian.org_debian_dists_sid_main_source_Sources 0 +'http://ftp.debian.org/debian/dists/sid/contrib/source/Sources.xz' ftp.debian.org_debian_dists_sid_contrib_source_Sources 0 +'http://ftp.debian.org/debian/dists/sid/non-free/source/Sources.xz' ftp.debian.org_debian_dists_sid_non-free_source_Sources 0 +'http://ftp.debian.org/debian/dists/sid/main/binary-amd64/Packages.xz' ftp.debian.org_debian_dists_sid_main_binary-amd64_Packages 0 +'http://ftp.debian.org/debian/dists/sid/main/binary-armhf/Packages.xz' ftp.debian.org_debian_dists_sid_main_binary-armhf_Packages 0 +'http://ftp.debian.org/debian/dists/sid/main/binary-powerpc/Packages.xz' ftp.debian.org_debian_dists_sid_main_binary-powerpc_Packages 0 +'http://ftp.debian.org/debian/dists/sid/main/binary-all/Packages.xz' ftp.debian.org_debian_dists_sid_main_binary-all_Packages 0 +'http://ftp.debian.org/debian/dists/sid/main/i18n/Translation-en.xz' ftp.debian.org_debian_dists_sid_main_i18n_Translation-en 0 +'http://ftp.debian.org/debian/dists/sid/contrib/binary-amd64/Packages.xz' ftp.debian.org_debian_dists_sid_contrib_binary-amd64_Packages 0 +'http://ftp.debian.org/debian/dists/sid/contrib/binary-armhf/Packages.xz' ftp.debian.org_debian_dists_sid_contrib_binary-armhf_Packages 0 +'http://ftp.debian.org/debian/dists/sid/contrib/binary-powerpc/Packages.xz' ftp.debian.org_debian_dists_sid_contrib_binary-powerpc_Packages 0 +'http://ftp.debian.org/debian/dists/sid/contrib/binary-all/Packages.xz' ftp.debian.org_debian_dists_sid_contrib_binary-all_Packages 0 +'http://ftp.debian.org/debian/dists/sid/contrib/i18n/Translation-en.xz' ftp.debian.org_debian_dists_sid_contrib_i18n_Translation-en 0 +'http://ftp.debian.org/debian/dists/sid/non-free/binary-amd64/Packages.xz' ftp.debian.org_debian_dists_sid_non-free_binary-amd64_Packages 0 +'http://ftp.debian.org/debian/dists/sid/non-free/binary-armhf/Packages.xz' ftp.debian.org_debian_dists_sid_non-free_binary-armhf_Packages 0 +'http://ftp.debian.org/debian/dists/sid/non-free/binary-powerpc/Packages.xz' ftp.debian.org_debian_dists_sid_non-free_binary-powerpc_Packages 0 +'http://ftp.debian.org/debian/dists/sid/non-free/binary-all/Packages.xz' ftp.debian.org_debian_dists_sid_non-free_binary-all_Packages 0 +'http://ftp.debian.org/debian/dists/sid/non-free/i18n/Translation-en.xz' ftp.debian.org_debian_dists_sid_non-free_i18n_Translation-en 0 +'http://ftp.debian.org/debian2/dists/stable/main/source/Sources.xz' ftp.debian.org_debian2_dists_stable_main_source_Sources 0 +'http://ftp.debian.org/debian2/dists/stable/contrib/source/Sources.xz' ftp.debian.org_debian2_dists_stable_contrib_source_Sources 0 +'http://ftp.debian.org/debian2/dists/stable/non-free/source/Sources.xz' ftp.debian.org_debian2_dists_stable_non-free_source_Sources 0 +'http://ftp.debian.org/debian2/dists/stable/main/binary-amd64/Packages.xz' ftp.debian.org_debian2_dists_stable_main_binary-amd64_Packages 0 +'http://ftp.debian.org/debian2/dists/stable/main/binary-armhf/Packages.xz' ftp.debian.org_debian2_dists_stable_main_binary-armhf_Packages 0 +'http://ftp.debian.org/debian2/dists/stable/main/binary-powerpc/Packages.xz' ftp.debian.org_debian2_dists_stable_main_binary-powerpc_Packages 0 +'http://ftp.debian.org/debian2/dists/stable/main/binary-all/Packages.xz' ftp.debian.org_debian2_dists_stable_main_binary-all_Packages 0 +'http://ftp.debian.org/debian2/dists/stable/main/i18n/Translation-en.xz' ftp.debian.org_debian2_dists_stable_main_i18n_Translation-en 0 +'http://ftp.debian.org/debian2/dists/stable/contrib/binary-amd64/Packages.xz' ftp.debian.org_debian2_dists_stable_contrib_binary-amd64_Packages 0 +'http://ftp.debian.org/debian2/dists/stable/contrib/binary-armhf/Packages.xz' ftp.debian.org_debian2_dists_stable_contrib_binary-armhf_Packages 0 +'http://ftp.debian.org/debian2/dists/stable/contrib/binary-powerpc/Packages.xz' ftp.debian.org_debian2_dists_stable_contrib_binary-powerpc_Packages 0 +'http://ftp.debian.org/debian2/dists/stable/contrib/binary-all/Packages.xz' ftp.debian.org_debian2_dists_stable_contrib_binary-all_Packages 0 +'http://ftp.debian.org/debian2/dists/stable/contrib/i18n/Translation-en.xz' ftp.debian.org_debian2_dists_stable_contrib_i18n_Translation-en 0 +'http://ftp.debian.org/debian2/dists/stable/non-free/binary-amd64/Packages.xz' ftp.debian.org_debian2_dists_stable_non-free_binary-amd64_Packages 0 +'http://ftp.debian.org/debian2/dists/stable/non-free/binary-armhf/Packages.xz' ftp.debian.org_debian2_dists_stable_non-free_binary-armhf_Packages 0 +'http://ftp.debian.org/debian2/dists/stable/non-free/binary-powerpc/Packages.xz' ftp.debian.org_debian2_dists_stable_non-free_binary-powerpc_Packages 0 +'http://ftp.debian.org/debian2/dists/stable/non-free/binary-all/Packages.xz' ftp.debian.org_debian2_dists_stable_non-free_binary-all_Packages 0 +'http://ftp.debian.org/debian2/dists/stable/non-free/i18n/Translation-en.xz' ftp.debian.org_debian2_dists_stable_non-free_i18n_Translation-en 0 +'http://ftp.debian.org/debian2/dists/sid/main/source/Sources.xz' ftp.debian.org_debian2_dists_sid_main_source_Sources 0 +'http://ftp.debian.org/debian2/dists/sid/contrib/source/Sources.xz' ftp.debian.org_debian2_dists_sid_contrib_source_Sources 0 +'http://ftp.debian.org/debian2/dists/sid/non-free/source/Sources.xz' ftp.debian.org_debian2_dists_sid_non-free_source_Sources 0 +'http://ftp.debian.org/debian2/dists/sid/main/binary-amd64/Packages.xz' ftp.debian.org_debian2_dists_sid_main_binary-amd64_Packages 0 +'http://ftp.debian.org/debian2/dists/sid/main/binary-armhf/Packages.xz' ftp.debian.org_debian2_dists_sid_main_binary-armhf_Packages 0 +'http://ftp.debian.org/debian2/dists/sid/main/binary-powerpc/Packages.xz' ftp.debian.org_debian2_dists_sid_main_binary-powerpc_Packages 0 +'http://ftp.debian.org/debian2/dists/sid/main/binary-all/Packages.xz' ftp.debian.org_debian2_dists_sid_main_binary-all_Packages 0 +'http://ftp.debian.org/debian2/dists/sid/main/i18n/Translation-en.xz' ftp.debian.org_debian2_dists_sid_main_i18n_Translation-en 0 +'http://ftp.debian.org/debian2/dists/sid/contrib/binary-amd64/Packages.xz' ftp.debian.org_debian2_dists_sid_contrib_binary-amd64_Packages 0 +'http://ftp.debian.org/debian2/dists/sid/contrib/binary-armhf/Packages.xz' ftp.debian.org_debian2_dists_sid_contrib_binary-armhf_Packages 0 +'http://ftp.debian.org/debian2/dists/sid/contrib/binary-powerpc/Packages.xz' ftp.debian.org_debian2_dists_sid_contrib_binary-powerpc_Packages 0 +'http://ftp.debian.org/debian2/dists/sid/contrib/binary-all/Packages.xz' ftp.debian.org_debian2_dists_sid_contrib_binary-all_Packages 0 +'http://ftp.debian.org/debian2/dists/sid/contrib/i18n/Translation-en.xz' ftp.debian.org_debian2_dists_sid_contrib_i18n_Translation-en 0 +'http://ftp.debian.org/debian2/dists/sid/non-free/binary-amd64/Packages.xz' ftp.debian.org_debian2_dists_sid_non-free_binary-amd64_Packages 0 +'http://ftp.debian.org/debian2/dists/sid/non-free/binary-armhf/Packages.xz' ftp.debian.org_debian2_dists_sid_non-free_binary-armhf_Packages 0 +'http://ftp.debian.org/debian2/dists/sid/non-free/binary-powerpc/Packages.xz' ftp.debian.org_debian2_dists_sid_non-free_binary-powerpc_Packages 0 +'http://ftp.debian.org/debian2/dists/sid/non-free/binary-all/Packages.xz' ftp.debian.org_debian2_dists_sid_non-free_binary-all_Packages 0 +'http://ftp.debian.org/debian2/dists/sid/non-free/i18n/Translation-en.xz' ftp.debian.org_debian2_dists_sid_non-free_i18n_Translation-en 0 " aptget update --print-uris + +EXPECTEDUK="'http://ftp.uk.debian.org/debian/dists/stretch/InRelease' ftp.uk.debian.org_debian_dists_stretch_InRelease 0 +'http://ftp.uk.debian.org/debian/dists/stretch/main/source/Sources.xz' ftp.uk.debian.org_debian_dists_stretch_main_source_Sources 0 +'http://ftp.uk.debian.org/debian/dists/stretch/contrib/source/Sources.xz' ftp.uk.debian.org_debian_dists_stretch_contrib_source_Sources 0 +'http://ftp.uk.debian.org/debian/dists/stretch/non-free/source/Sources.xz' ftp.uk.debian.org_debian_dists_stretch_non-free_source_Sources 0 +'http://ftp.uk.debian.org/debian/dists/stretch/main/binary-i386/Packages.xz' ftp.uk.debian.org_debian_dists_stretch_main_binary-i386_Packages 0 +'http://ftp.uk.debian.org/debian/dists/stretch/main/binary-all/Packages.xz' ftp.uk.debian.org_debian_dists_stretch_main_binary-all_Packages 0 +'http://ftp.uk.debian.org/debian/dists/stretch/main/i18n/Translation-en.xz' ftp.uk.debian.org_debian_dists_stretch_main_i18n_Translation-en 0 +'http://ftp.uk.debian.org/debian/dists/stretch/contrib/binary-i386/Packages.xz' ftp.uk.debian.org_debian_dists_stretch_contrib_binary-i386_Packages 0 +'http://ftp.uk.debian.org/debian/dists/stretch/contrib/binary-all/Packages.xz' ftp.uk.debian.org_debian_dists_stretch_contrib_binary-all_Packages 0 +'http://ftp.uk.debian.org/debian/dists/stretch/contrib/i18n/Translation-en.xz' ftp.uk.debian.org_debian_dists_stretch_contrib_i18n_Translation-en 0 +'http://ftp.uk.debian.org/debian/dists/stretch/non-free/binary-i386/Packages.xz' ftp.uk.debian.org_debian_dists_stretch_non-free_binary-i386_Packages 0 +'http://ftp.uk.debian.org/debian/dists/stretch/non-free/binary-all/Packages.xz' ftp.uk.debian.org_debian_dists_stretch_non-free_binary-all_Packages 0 +'http://ftp.uk.debian.org/debian/dists/stretch/non-free/i18n/Translation-en.xz' ftp.uk.debian.org_debian_dists_stretch_non-free_i18n_Translation-en 0 " + +msgcleantest 'Test deb822 sources.list file comments' 'top' +cat > $SOURCES <<EOF +#NOTE: Most preferred source listed first! + + +#=== NEW MULTI-LINE FORMAT =============== +Types: deb deb-src +URIs:http://ftp.uk.debian.org/debian/ +Suites: stretch +Components: main contrib non-free +EOF +testsuccessequal --nomsg "$EXPECTEDUK" aptget update --print-uris + +msgcleantest 'Test deb822 sources.list file comments' 'bottom' +cat > $SOURCES <<EOF +Types: deb deb-src +URIs:http://ftp.uk.debian.org/debian/ +Suites: stretch +Components: main contrib non-free +#=== NEW MULTI-LINE FORMAT =============== + + +#NOTE: Most preferred source listed first! +EOF +testsuccessequal --nomsg "$EXPECTEDUK" aptget update --print-uris + +msgcleantest 'Test deb822 sources.list file comments' 'both' +cat > $SOURCES <<EOF +#=== NEW MULTI-LINE FORMAT =============== + + +#NOTE: Most preferred source listed first! +Types: deb deb-src +URIs:http://ftp.uk.debian.org/debian/ +Suites: stretch +Components: main contrib non-free +#=== NEW MULTI-LINE FORMAT =============== + + +#NOTE: Most preferred source listed first! +EOF +testsuccessequal --nomsg "$EXPECTEDUK" aptget update --print-uris + + +msgcleantest 'Test deb822 sources.list file comments' 'empty' +cat > $SOURCES <<EOF +#=== NEW MULTI-LINE FORMAT =============== + + +EOF +testempty aptget update --print-uris diff --git a/test/integration/test-apt-tagfile-fields-order b/test/integration/test-apt-tagfile-fields-order new file mode 100755 index 0000000..aa81714 --- /dev/null +++ b/test/integration/test-apt-tagfile-fields-order @@ -0,0 +1,120 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment + +DPKG_PERL_VERSION="$(perl -e 'use Dpkg; print "$Dpkg::PROGVERSION";')" +DPKG_OUTPUT_SORT='sort -u' +if dpkg --compare-versions "$DPKG_PERL_VERSION" '>=' '1.21.4~'; then + DPKG_OUTPUT_SORT='sort' +fi + +dpkg_field_ordered_list() { + local FIELDS="$(perl -e " +use Dpkg::Control; +use Dpkg::Control::Fields; +foreach \$f (field_ordered_list(${1})) { + print \"\$f\\n\"; +}" | $DPKG_OUTPUT_SORT )" + if [ -z "$FIELDS" ]; then + msgfail 'Could not get fields via libdpkg-perl' + fi + echo "$FIELDS" +} + +comparelsts() { + local DIFFOUTPUT="$(diff -u apt.lst dpkg.lst || true)" + if echo "$DIFFOUTPUT" | grep -q '^+[^+]'; then + echo + echo "$DIFFOUTPUT" | grep '^[+-][^+-]' + msgfail + else + msgpass + fi +} + +grep -v '^#' "${SOURCEDIRECTORY}/apt-pkg/tagfile-keys.list" > tagfile-keys.list +# Hardcoding this is a bit silly, but it might help preventing issues… +msgtest 'File is append only: do not sort, remove or insert keys in' 'tagfile-keys.list' +testequal --nomsg 'Version' sed '72q;d' tagfile-keys.list + +msgtest 'List has fewer entries than pkgTagSection buckets' 'tagfile-keys.list' +ENTRIES_LIST="$(wc -l tagfile-keys.list | cut -d' ' -f 1)" +ENTRIES_BUCKET="$(grep -m 1 'AlphaIndexes\[' "${SOURCEDIRECTORY}/apt-pkg/tagfile.h" | sed -e 's#.*\[\([0-9]\+\)\].*#\1#')" +if test $ENTRIES_LIST -lt $ENTRIES_BUCKET; then + msgpass +else + echo + echo "List has $ENTRIES_LIST entries, but pkgTagSection can only store $ENTRIES_BUCKET as AlphaIndexes" + msgfail +fi + +msgtest 'Check for duplicates in' 'tagfile-keys.list' +sort tagfile-keys.list > apt.lst +testempty --nomsg uniq --repeated 'apt.lst' + +msgtest 'Check that apt knows all fields it orders' 'itself' +grep -v "// NO_KEY: " "${SOURCEDIRECTORY}/apt-pkg/tagfile-order.c" | sed -ne 's#^ "\(.*\)",.*$#\1#p' | sort -u > dpkg.lst +comparelsts + +msgtest 'Check tagfile-keys.list does not contain' 'obsoleted and internal fields' +grep "// NO_KEY: " "${SOURCEDIRECTORY}/apt-pkg/tagfile-order.c" | sed -ne 's#^ "\(.*\)",.*$#\1#p' > obsolete.lst +sed -n -e's#^ *// *"\(.*\)",.*$#\1#p' "${SOURCEDIRECTORY}/apt-pkg/tagfile-order.c" >> obsolete.lst +sort -u obsolete.lst > obsolete-sorted.lst +sort obsolete-sorted.lst tagfile-keys.list > obsolete-keys.lst +testempty --nomsg uniq --repeat 'obsolete-keys.lst' + +msgtest 'Check that apt knows all fields dpkg orders in' 'Packages' +dpkg_field_ordered_list 'CTRL_INDEX_PKG' > dpkg.lst +sed -ne 's#^ "\(.*\)",.*$#\1#p' "${SOURCEDIRECTORY}/apt-pkg/tagfile-order.c" | sed -n '/^Package$/,/^Package$/ p' | head -n -1 | sort > apt.lst +comparelsts + +msgtest 'Check that apt knows all fields dpkg orders in' 'status' +dpkg_field_ordered_list 'CTRL_FILE_STATUS' > dpkg.lst +comparelsts + +msgtest 'Check that apt knows all fields dpkg orders in' 'DEBIAN/control' +dpkg_field_ordered_list 'CTRL_PKG_DEB' > dpkg.lst +comparelsts + +msgtest 'Check that apt knows all fields dpkg orders in' 'Sources' +dpkg_field_ordered_list 'CTRL_INDEX_SRC' > dpkg.lst +echo 'Package' > apt.tmp +sed -ne 's#^ "\(.*\)",.*$#\1#p' "${SOURCEDIRECTORY}/apt-pkg/tagfile-order.c" | sed '/^Package$/,/^Package$/ d' >> apt.tmp +sort -u apt.tmp > apt.lst +comparelsts + +msgtest 'Check that apt knows all fields dpkg orders in' 'dsc' +dpkg_field_ordered_list 'CTRL_PKG_SRC' > dpkg.lst +comparelsts + +DPKG_SOURCE_PARSE_C="${DPKG_SOURCE_DIRECTORY}/lib/dpkg/parse.c" +msgtest 'Compare our knowledge with the source code of' 'dpkg' +if [ -z "$DPKG_SOURCE_DIRECTORY" ]; then + msgskip 'source not provided' +elif [ ! -r "$DPKG_SOURCE_PARSE_C" ]; then + msgfail 'source not found' +else + msgpass + msgtest 'Check that apt knows about all fields' 'dpkg parses' + sed -n 's#^.*FIELD("\(.*\)").*$#\1#p' "${DPKG_SOURCE_PARSE_C}" | sort -u > dpkg.lst + sed -n -e's#^ *// *"# "#' -e 's#^ "\(.*\)",.*$#\1#p' "${SOURCEDIRECTORY}/apt-pkg/tagfile-order.c" | sed -n '/^Package$/,/^Package$/ p' | head -n -1 | sort > apt.lst + comparelsts +fi + +DAK_SOURCE_METADATAKEYS="${DAK_SOURCE_DIRECTORY}/setup/core-init.d/080_metadatakeys" +msgtest 'Compare our knowledge with the source code of' 'dak' +if [ -z "$DAK_SOURCE_DIRECTORY" ]; then + msgskip 'source not provided' +elif [ ! -r "$DAK_SOURCE_METADATAKEYS" ]; then + msgfail 'source not found' +else + msgpass + msgtest 'Check that apt knows about all fields' 'dak knows' + # dak mixes both, so we can only check with the mixed one as well + sed -ne "s#^.* VALUES ('\(.*\)', \(.*\)).*\$#\1 \2#p" "${DAK_SOURCE_METADATAKEYS}" | cut -d ' ' -f 1 | sort -u > dpkg.lst + sed -ne 's#^ "\(.*\)",.*$#\1#p' "${SOURCEDIRECTORY}/apt-pkg/tagfile-order.c" | sort -u > apt.lst + comparelsts +fi diff --git a/test/integration/test-apt-translation-has-no-packages b/test/integration/test-apt-translation-has-no-packages new file mode 100755 index 0000000..3c07af3 --- /dev/null +++ b/test/integration/test-apt-translation-has-no-packages @@ -0,0 +1,35 @@ +#!/bin/sh +# +# Due to corruption (local or network) a user might end up with a +# Translation-$lang file on disk that is actually a Packages file. In this +# case apt used to generate invalid package versions out of the +# Translation-$lang file (i.e. apt-cache policy foo) would show a version +# coming out of a Translation file. Downloading this versions fails as +# there is no acquire method available for the package +# +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "amd64" + +buildsimplenativepackage 'foo' 'all' '1.0' +setupaptarchive + +APTARCHIVE="$(readlink -f ./aptarchive)" + +# corrupt the Translation-en file to look like a regular Packages file +rm rootdir/var/cache/apt/*.bin +cp "$APTARCHIVE/dists/unstable/main/binary-amd64/Packages" \ + rootdir/var/lib/apt/lists/*Translation-en + +# ensure that there is no Version for the package foo generated out of +# the corrupted Translation-en file +testsuccessequal "foo: + Installed: (none) + Candidate: 1.0 + Version table: + 1.0 500 + 500 file:$APTARCHIVE unstable/main all Packages" aptcache policy foo diff --git a/test/integration/test-apt-update-disappeared-component b/test/integration/test-apt-update-disappeared-component new file mode 100755 index 0000000..7c7dd77 --- /dev/null +++ b/test/integration/test-apt-update-disappeared-component @@ -0,0 +1,45 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertpackage 'unstable' 'foobar' 'all' '1' + +APTARCHIVE="file:$(readlink -f ./aptarchive) unstable InRelease" +setupaptarchive --no-update +sed -i -e 's#main\s*$#main contrib non-free sub/component#' rootdir/etc/apt/sources.list.d/* + +# if no Component info is available we assume all are supported, which means +# that non-existent Packages files are assumed to be missing because they are +# empty (as the repository is declaring support for them via Architectures) +testwarningmsg "W: Skipping acquire of configured file 'contrib/source/Sources' as repository '${APTARCHIVE}' does not seem to provide it (sources.list entry misspelt?) +W: Skipping acquire of configured file 'non-free/source/Sources' as repository '${APTARCHIVE}' does not seem to provide it (sources.list entry misspelt?) +W: Skipping acquire of configured file 'sub/component/source/Sources' as repository '${APTARCHIVE}' does not seem to provide it (sources.list entry misspelt?)" apt update + +sed -i -e '/^Codename: / a\ +Components: main contrib' $(find ./aptarchive -name 'Release') +signreleasefiles + +testwarningmsg "W: Skipping acquire of configured file 'contrib/source/Sources' as repository '${APTARCHIVE}' does not seem to provide it (sources.list entry misspelt?) +W: Skipping acquire of configured file 'non-free/source/Sources' as repository '${APTARCHIVE}' doesn't have the component 'non-free' (component misspelt in sources.list?) +W: Skipping acquire of configured file 'sub/component/source/Sources' as repository '${APTARCHIVE}' doesn't have the component 'sub/component' (component misspelt in sources.list?) +W: Skipping acquire of configured file 'non-free/binary-amd64/Packages' as repository '${APTARCHIVE}' doesn't have the component 'non-free' (component misspelt in sources.list?) +W: Skipping acquire of configured file 'non-free/binary-all/Packages' as repository '${APTARCHIVE}' doesn't have the component 'non-free' (component misspelt in sources.list?) +W: Skipping acquire of configured file 'non-free/i18n/Translation-en' as repository '${APTARCHIVE}' doesn't have the component 'non-free' (component misspelt in sources.list?) +W: Skipping acquire of configured file 'sub/component/binary-amd64/Packages' as repository '${APTARCHIVE}' doesn't have the component 'sub/component' (component misspelt in sources.list?) +W: Skipping acquire of configured file 'sub/component/binary-all/Packages' as repository '${APTARCHIVE}' doesn't have the component 'sub/component' (component misspelt in sources.list?) +W: Skipping acquire of configured file 'sub/component/i18n/Translation-en' as repository '${APTARCHIVE}' doesn't have the component 'sub/component' (component misspelt in sources.list?)" apt update + +# the field looks like this e.g. for security.debian.org sources +sed -i -e 's#^Components:.*$#Components: updates/main updates/contrib sub/component#' $(find ./aptarchive -name 'Release') +signreleasefiles + +testwarningmsg "W: Skipping acquire of configured file 'contrib/source/Sources' as repository '${APTARCHIVE}' does not seem to provide it (sources.list entry misspelt?) +W: Skipping acquire of configured file 'non-free/source/Sources' as repository '${APTARCHIVE}' doesn't have the component 'non-free' (component misspelt in sources.list?) +W: Skipping acquire of configured file 'sub/component/source/Sources' as repository '${APTARCHIVE}' does not seem to provide it (sources.list entry misspelt?) +W: Skipping acquire of configured file 'non-free/binary-amd64/Packages' as repository '${APTARCHIVE}' doesn't have the component 'non-free' (component misspelt in sources.list?) +W: Skipping acquire of configured file 'non-free/binary-all/Packages' as repository '${APTARCHIVE}' doesn't have the component 'non-free' (component misspelt in sources.list?) +W: Skipping acquire of configured file 'non-free/i18n/Translation-en' as repository '${APTARCHIVE}' doesn't have the component 'non-free' (component misspelt in sources.list?)" apt update diff --git a/test/integration/test-apt-update-empty-files b/test/integration/test-apt-update-empty-files new file mode 100755 index 0000000..24e40f9 --- /dev/null +++ b/test/integration/test-apt-update-empty-files @@ -0,0 +1,47 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' +configcompression '.' 'gz' + +insertpackage 'unstable' 'apt' 'amd64' '1' +# this automatically gives us an empty Sources file + +setupaptarchive --no-update + +msgmsg 'Test with file' +rm -rf rootdir/var/lib/apt/lists +testsuccess apt update -o Debug::pkgAcquire::Worker=1 +cp rootdir/tmp/testsuccess.output apt.output +testfailure grep '%0a\(Alt\)\?Filename:%20/.*/Sources\(\.gz\)\?%0a' apt.output +testempty find rootdir/var/lib/apt/lists -name '*_Sources' + +msgmsg 'Test with http' +changetowebserver +rm -rf rootdir/var/lib/apt/lists +testsuccess apt update -o Debug::pkgAcquire::Worker=1 +cp rootdir/tmp/testsuccess.output apt.output +testfailure grep 'http:600.*Sources' apt.output +testempty find rootdir/var/lib/apt/lists -name '*_Sources' + +msgmsg 'Test lists-cleanup on newly empty' +rm -rf rootdir/var/lib/apt/lists +insertsource 'unstable' 'apt' 'any' '1' +compressfile aptarchive/dists/unstable/main/source/Sources +generatereleasefiles +signreleasefiles +testsuccess apt update -o Debug::pkgAcquire::Worker=1 +cp rootdir/tmp/testsuccess.output apt.output +testsuccess grep 'http:600.*Sources' apt.output +echo -n > aptarchive/dists/unstable/main/source/Sources +compressfile aptarchive/dists/unstable/main/source/Sources +generatereleasefiles 'now + 1hour' +signreleasefiles +testsuccess apt update -o Debug::pkgAcquire::Worker=1 -o APT::Get::List-Cleanup=0 -o Debug::Acquire::Transaction=1 +cp rootdir/tmp/testsuccess.output apt.output +testfailure grep 'http:600.*Sources' apt.output +testempty find rootdir/var/lib/apt/lists -name '*_Sources' diff --git a/test/integration/test-apt-update-expected-size b/test/integration/test-apt-update-expected-size new file mode 100755 index 0000000..32fa039 --- /dev/null +++ b/test/integration/test-apt-update-expected-size @@ -0,0 +1,99 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'i386' +configcompression '.' 'gz' + +insertpackage 'unstable' 'apt' 'i386' '1.0' + +export APT_DONT_SIGN='' +setupaptarchive --no-update +cp -a aptarchive/dists aptarchive/dists.good + +test_inreleasetoobig() { + # make InRelease really big to trigger fallback + dd if=/dev/zero of=aptarchive/dists/unstable/InRelease bs=1M count=2 2>/dev/null + touch -d '+1hour' aptarchive/dists/unstable/InRelease + testsuccess aptget update -o Apt::Get::List-Cleanup=0 -o acquire::MaxReleaseFileSize=$((1*1000*1000)) -o Debug::pkgAcquire::worker=0 + msgtest 'Check that the max write warning is triggered' + cp rootdir/tmp/testsuccess.output update.output + testsuccess --nomsg grep -q 'File has unexpected size' update.output + rm -f update.output + # ensure the failed InRelease file got renamed + testsuccess ls rootdir/var/lib/apt/lists/partial/*InRelease.FAILED + testfailure test -e rootdir/var/lib/apt/lists/partial/Old.FAILED +} + +test_packagestoobig() { + insertpackage 'unstable' 'foo' 'i386' '1.0' + buildaptarchivefromfiles '+1 hour' + signreleasefiles + # append junk at the end of the Packages.gz/Packages + SIZE="$(stat --printf=%s aptarchive/dists/unstable/main/binary-i386/Packages.gz)" + find aptarchive/dists -name 'Packages*' | while read pkg; do + echo "1234567890" >> "$pkg" + touch -d '+1hour' "$pkg" + done + NEW_SIZE="$(stat --printf=%s aptarchive/dists/unstable/main/binary-i386/Packages.gz)" + testfailuremsg "E: Failed to fetch ${1}/dists/unstable/main/binary-i386/Packages.gz File has unexpected size ($NEW_SIZE != $SIZE). Mirror sync in progress? +E: Some index files failed to download. They have been ignored, or old ones used instead." aptget update -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::Transaction=0 + testsuccess ls rootdir/var/lib/apt/lists/partial/*Packages*.FAILED + testfailure test -e rootdir/var/lib/apt/lists/partial/Old.FAILED +} + +test_packagestoosmall() { + insertpackage 'unstable' 'foo' 'i386' '1.0' + buildaptarchivefromfiles '+1 hour' + signreleasefiles + # replace Packages.gz/Packages with short junk + SIZE="$(stat --printf=%s aptarchive/dists/unstable/main/binary-i386/Packages.gz)" + find aptarchive/dists -name 'Packages*' | while read pkg; do + echo "1234567890" > "$pkg" + touch -d '+1hour' "$pkg" + done + NEW_SIZE="$(stat --printf=%s aptarchive/dists/unstable/main/binary-i386/Packages.gz)" + testfailuremsg "E: Failed to fetch ${1}/dists/unstable/main/binary-i386/Packages.gz File is smaller than expected ($NEW_SIZE < $SIZE). Mirror sync in progress? +E: Some index files failed to download. They have been ignored, or old ones used instead." aptget update -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::Transaction=0 + testsuccess ls rootdir/var/lib/apt/lists/partial/*Packages*.FAILED + testfailure test -e rootdir/var/lib/apt/lists/partial/Old.FAILED +} + + +methodtest() { + # less complicated test setup this way + webserverconfig 'aptwebserver::support::modified-since' 'false' "$1" + webserverconfig 'aptwebserver::support::last-modified' 'false' "$1" # curl is clever and sees hits here also + + msgmsg 'Test with' "$1" 'and clean start' + rm -rf rootdir/var/lib/apt/lists rootdir/var/lib/apt/lists.good aptarchive/dists + cp -a aptarchive/dists.good aptarchive/dists + # normal update works fine + testsuccess aptget update + touch rootdir/var/lib/apt/lists/partial/Old.FAILED + mv rootdir/var/lib/apt/lists rootdir/var/lib/apt/lists.good + # starting fresh works + test_inreleasetoobig "$1" + rm -rf aptarchive/dists rootdir/var/lib/apt/lists + cp -a aptarchive/dists.good aptarchive/dists + test_packagestoobig "$1" + + msgmsg 'Test with' "$1" 'and existing old data' + rm -rf aptarchive/dists rootdir/var/lib/apt/lists + cp -a rootdir/var/lib/apt/lists.good rootdir/var/lib/apt/lists + cp -a aptarchive/dists.good aptarchive/dists + test_inreleasetoobig "$1" + rm -rf aptarchive/dists rootdir/var/lib/apt/lists + cp -a rootdir/var/lib/apt/lists.good rootdir/var/lib/apt/lists + cp -a aptarchive/dists.good aptarchive/dists + test_packagestoobig "$1" +} + +changetowebserver +methodtest "http://localhost:${APTHTTPPORT}" + +changetohttpswebserver +methodtest "https://localhost:${APTHTTPSPORT}" diff --git a/test/integration/test-apt-update-failure-propagation b/test/integration/test-apt-update-failure-propagation new file mode 100755 index 0000000..f8de3b5 --- /dev/null +++ b/test/integration/test-apt-update-failure-propagation @@ -0,0 +1,99 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +buildsimplenativepackage 'foo' 'all' '1' 'stable' +buildsimplenativepackage 'foo' 'all' '2' 'sid' +setupaptarchive --no-update + +NEWMETHODS="$(readlink -f rootdir)/usr/lib/apt/methods" +OLDMETHODS="$(readlink -f rootdir/usr/lib/apt/methods)" +rm "$NEWMETHODS" +mkdir "$NEWMETHODS" +backupIFS="$IFS" +IFS="$(printf "\n\b")" +for METH in $(find "$OLDMETHODS" -maxdepth 1 ! -type d); do + ln -s "$OLDMETHODS/$(basename "$METH")" "$NEWMETHODS" +done +IFS="$backupIFS" + +changetohttpswebserver +for FILE in rootdir/etc/apt/sources.list.d/*-sid-* ; do + sed -i -e 's#https:#http:#' -e "s#:${APTHTTPSPORT}/#:${APTHTTPPORT}/#" "$FILE" +done + +# these tests are designed to fail, retries are just a waste of time here +echo 'Acquire::Retries 0;' > rootdir/etc/apt/apt.conf.d/disable-retries.conf + +pretest() { + msgmsg "$@" + rm -rf rootdir/var/lib/apt/lists + testsuccessequal 'N: Unable to locate package foo' aptcache policy foo +} +pretest 'initialize test' 'update' +testsuccess aptget update +testsuccessequal "foo: + Installed: (none) + Candidate: 2 + Version table: + 2 500 + 500 http://localhost:${APTHTTPPORT} sid/main all Packages + 1 500 + 500 https://localhost:${APTHTTPSPORT} stable/main all Packages" aptcache policy foo + +pretest 'not found' 'release files' +mv aptarchive/dists/stable aptarchive/dists/stable.good +testfailuremsg "E: The repository 'https://localhost:${APTHTTPSPORT} stable Release' does not have a Release file. +N: Updating from such a repository can't be done securely, and is therefore disabled by default. +N: See apt-secure(8) manpage for repository creation and user configuration details." apt update +testfailuremsg "E: The repository 'https://localhost:${APTHTTPSPORT} stable Release' does not have a Release file. +N: Updating from such a repository can't be done securely, and is therefore disabled by default. +N: See apt-secure(8) manpage for repository creation and user configuration details." aptget update + +mv aptarchive/dists/stable.good aptarchive/dists/stable +posttest() { + testsuccessequal "foo: + Installed: (none) + Candidate: 2 + Version table: + 2 500 + 500 http://localhost:${APTHTTPPORT} sid/main all Packages" aptcache policy foo +} +posttest + +pretest 'method disabled' 'https' +echo 'Dir::Bin::Methods::https "false";' > rootdir/etc/apt/apt.conf.d/99disable-https +testfailuremsg "E: The method 'https' is explicitly disabled via configuration. +N: If you meant to use Tor remember to use tor+https instead of https. +E: Failed to fetch https://localhost:${APTHTTPSPORT}/dists/stable/InRelease +E: Some index files failed to download. They have been ignored, or old ones used instead." aptget update +rm -f rootdir/etc/apt/apt.conf.d/99disable-https +posttest + +pretest 'method not installed' 'https' +rm "${NEWMETHODS}/https" +testfailuremsg "E: The method driver ${TMPWORKINGDIRECTORY}/rootdir/usr/lib/apt/methods/https could not be found. +N: Is the package apt-transport-https installed? +E: Failed to fetch https://localhost:${APTHTTPSPORT}/dists/stable/InRelease +E: Some index files failed to download. They have been ignored, or old ones used instead." aptget update +posttest + +pretest 'https connection refused' 'doom port' +for FILE in rootdir/etc/apt/sources.list.d/*-stable-* ; do + # lets see how many testservers run also Doom + sed -i -e "s#:${APTHTTPSPORT}/#:666/#" "$FILE" +done +testwarning aptget update -o Dir::Bin::Methods::https="${OLDMETHODS}/https" +testsuccess grep '^W: Failed to fetch https://localhost:666/dists/stable/InRelease ' rootdir/tmp/testwarning.output +testequal 'W: Some index files failed to download. They have been ignored, or old ones used instead.' tail -n 1 rootdir/tmp/testwarning.output +posttest + +pretest 'error-mode=any' 'doom port' +testfailure aptget update -o Dir::Bin::Methods::https="${OLDMETHODS}/https" -eany +testsuccess grep '^E: Failed to fetch https://localhost:666/dists/stable/InRelease ' rootdir/tmp/testfailure.output +testequal 'E: Some index files failed to download. They have been ignored, or old ones used instead.' tail -n 1 rootdir/tmp/testfailure.output +posttest diff --git a/test/integration/test-apt-update-file b/test/integration/test-apt-update-file new file mode 100755 index 0000000..8da4ec3 --- /dev/null +++ b/test/integration/test-apt-update-file @@ -0,0 +1,79 @@ +#!/bin/sh +# +# Ensure that we do not modify file:/// uris (regression test for +# CVE-2014-0487 +# +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "amd64" +configcompression 'bz2' 'gz' +confighashes 'SHA512' + +insertpackage 'unstable' 'foo' 'all' '1' +insertpackage 'unstable' 'bar' 'amd64' '1' +insertsource 'unstable' 'foo' 'all' '1' + +setupaptarchive --no-update +logcurrentarchivedirectory + +# ensure the archive is not writable +addtrap 'prefix' 'chmod 755 aptarchive/dists/unstable/main/binary-all;' +if [ "$(id -u)" = '0' ]; then + # too deep to notice it, but it also unlikely that files in the same repo have different permissions + chmod 500 aptarchive/dists/unstable/main/binary-all + testfailure aptget update + rm -rf rootdir/var/lib/apt/lists + chmod 755 aptarchive/dists/unstable/main/binary-all + testsuccess aptget update + rm -rf rootdir/var/lib/apt/lists + chmod 511 aptarchive/dists/ + testsuccess aptget update + rm -rf rootdir/var/lib/apt/lists + chmod 510 aptarchive/dists/ + testsuccesswithnotice aptget update + rm -rf rootdir/var/lib/apt/lists + chmod 500 aptarchive/dists/ + testsuccesswithnotice aptget update + chmod 755 aptarchive/dists/ +else + testsuccess aptget update +fi +mv rootdir/var/lib/apt/lists/_* rootdir/var/lib/apt/lists/partial +chmod 555 aptarchive/dists/unstable/main/binary-all +testsuccess aptget update -o Debug::pkgAcquire::Worker=1 +cp -a rootdir/tmp/testsuccess.output rootdir/tmp/update.output +testsuccess grep '%0aAlt-Filename:%20' rootdir/tmp/update.output + +# the release files aren't an IMS-hit, but the indexes are +redatereleasefiles '+1 hour' + +# we don't download the index if it isn't updated +testsuccess aptget update -o Debug::pkgAcquire::Auth=1 +# file:/ isn't shown in the log, so see if it was downloaded anyhow +cp -a rootdir/tmp/testsuccess.output rootdir/tmp/update.output +canary="SHA512:$(bzcat aptarchive/dists/unstable/main/binary-all/Packages.bz2 | sha512sum |cut -f1 -d' ')" +testfailure grep -- "$canary" rootdir/tmp/update.output + +testfoo() { + # foo is still available + testsuccess aptget install -s foo + testsuccess aptcache showsrc foo + testsuccess aptget source foo --print-uris +} +testfoo + +# the release file is new again, the index still isn't, but it is somehow gone now from disk +redatereleasefiles '+2 hour' +find rootdir/var/lib/apt/lists -name '*_Packages*' -delete + +testsuccess aptget update -o Debug::pkgAcquire::Auth=1 +# file:/ isn't shown in the log, so see if it was downloaded anyhow +cp -a rootdir/tmp/testsuccess.output rootdir/tmp/update.output +canary="SHA512:$(bzcat aptarchive/dists/unstable/main/binary-all/Packages.bz2 | sha512sum |cut -f1 -d' ')" +testsuccess grep -- "$canary" rootdir/tmp/update.output + +testfoo diff --git a/test/integration/test-apt-update-filesize-mismatch b/test/integration/test-apt-update-filesize-mismatch new file mode 100755 index 0000000..26b670d --- /dev/null +++ b/test/integration/test-apt-update-filesize-mismatch @@ -0,0 +1,54 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' +configcompression 'gz' + +insertpackage 'testing' 'foo' 'all' '1' +insertpackage 'testing' 'foo2' 'all' '1' +insertsource 'testing' 'foo' 'all' '1' +insertsource 'testing' 'foo2' 'all' '1' + +setupaptarchive --no-update +changetowebserver + +find aptarchive \( -name 'Packages' -o -name 'Sources' -o -name 'Translation-en' \) -delete +for release in $(find aptarchive -name 'Release'); do + cp "$release" "${release}.backup" +done + +testsuccess aptget update +testsuccess aptcache show foo +testsuccess aptget install foo -s + +for get in $(sed -n 's#^GET /\([^ ]\+\.gz\) HTTP.\+$#\1#p' aptarchive/webserver.log.client*.log); do + for ext in '' '.gz'; do + COMPRESSFILE="$get" + get="${get}${ext}" + FILE="$(basename "$get" '.gz')" + msgmsg 'Test filesize mismatch with file' "$FILE" + rm -rf rootdir/var/lib/apt/lists + + for release in $(find aptarchive -name 'Release'); do + SIZE="$(awk "/$FILE\$/ { print \$2; exit }" "${release}.backup")" + sed "s# $SIZE # $(($SIZE + 111)) #" "${release}.backup" > "$release" + done + signreleasefiles + + testfailure aptget update -o Debug::pkgAcquire::Worker=1 + cp rootdir/tmp/testfailure.output rootdir/tmp/update.output + if [ -z "$ext" ]; then + testsuccess grep -E "$(basename "$COMPRESSFILE" '.gz').*Hash Sum mismatch" rootdir/tmp/update.output + else + testsuccess grep -E "$(basename "$COMPRESSFILE" '.gz').*File has unexpected size" rootdir/tmp/update.output + fi + testfailure aptcache show foo + testfailure aptget install foo -s + + testfailure aptcache show bar + testfailure aptget install bar -s + done +done diff --git a/test/integration/test-apt-update-hashsum-mismatch b/test/integration/test-apt-update-hashsum-mismatch new file mode 100755 index 0000000..48d041a --- /dev/null +++ b/test/integration/test-apt-update-hashsum-mismatch @@ -0,0 +1,39 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' +configcompression 'gz' + +insertpackage 'testing' 'foo' 'all' '1' +insertpackage 'testing' 'foo2' 'all' '1' +insertsource 'testing' 'foo' 'all' '1' +insertsource 'testing' 'foo2' 'all' '1' + +setupaptarchive --no-update +changetowebserver + +find aptarchive \( -name 'Packages' -o -name 'Sources' -o -name 'Translation-en' \) -delete + +testsuccess aptget update +testsuccess aptcache show foo +testsuccess aptget install foo -s + +for get in $(sed -n 's#^GET /\([^ ]\+\.gz\) HTTP.\+$#\1#p' aptarchive/webserver.log.client*.log); do + msgmsg 'Test hashsum mismatch with file' "$get" + breakfiles "aptarchive/${get}" + rm -rf rootdir/var/lib/apt/lists + + testfailure aptget update + cp rootdir/tmp/testfailure.output rootdir/tmp/update.output + testsuccess grep -E "$(basename "$get" '.gz').*Hash Sum mismatch" rootdir/tmp/update.output + testfailure aptcache show foo + testfailure aptget install foo -s + + testfailure aptcache show bar + testfailure aptget install bar -s + + unbreakfiles "aptarchive/${get}" +done diff --git a/test/integration/test-apt-update-hooks b/test/integration/test-apt-update-hooks new file mode 100755 index 0000000..d81ef29 --- /dev/null +++ b/test/integration/test-apt-update-hooks @@ -0,0 +1,49 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'i386' +confighashes 'SHA512' + +insertpackage 'unstable' 'foo' 'i386' '1.0' +insertpackage 'testing' 'foo' 'i386' '1.0' + +setupaptarchive --no-update +APTARCHIVE="$(readlink -f ./aptarchive)" + +signreleasefiles 'Joe Sixpack' + +echo 'APT::Update::Post-Invoke-Success { "echo SUCCESS"; };' >> rootdir/etc/apt/apt.conf.d/display-success.conf +echo 'APT::Update::Post-Invoke { "echo RUN"; };' >> rootdir/etc/apt/apt.conf.d/display-success.conf + + +msgmsg "All sources OK => run Post-Invoke-Success and Post-Invoke" +testsuccess aptget update +cp rootdir/tmp/testsuccess.output aptupdate.output +testsuccess grep "RUN" aptupdate.output +testsuccess grep "SUCCESS" aptupdate.output + +msgmsg "Some sources broken => run Post-Invoke-Success and Post-Invoke" +sed -i -e '/^ / d' -e '/^SHA512:/ d' "$APTARCHIVE/dists/unstable/Release" +testsuccess rm "$(aptget indextargets 'Created-By: Packages' 'Suite: testing' --format '$(FILENAME)')" +signreleasefiles +listcurrentlistsdirectory > lists.before +testfailure apt update +cp rootdir/tmp/testfailure.output aptupdate.output +listcurrentlistsdirectory > lists.after +testfailure cmp lists.before lists.after +testsuccess grep "RUN" aptupdate.output +testsuccess grep "SUCCESS" aptupdate.output + +msgmsg "All sources broken => run Post-Invoke" +sed -i -e '/^ / d' -e '/^SHA512:/ d' "$APTARCHIVE/dists/testing/Release" +signreleasefiles +mv lists.after lists.before +testfailure apt update +cp rootdir/tmp/testfailure.output aptupdate.output +testfileequal lists.before "$(listcurrentlistsdirectory)" +testsuccess grep "RUN" aptupdate.output +testfailure grep "SUCCESS" aptupdate.output diff --git a/test/integration/test-apt-update-ims b/test/integration/test-apt-update-ims new file mode 100755 index 0000000..1894c3a --- /dev/null +++ b/test/integration/test-apt-update-ims @@ -0,0 +1,192 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertpackage 'unstable' 'unrelated' 'all' '0.5~squeeze1' +insertpackage 'unstable' 'unrelated2' 'amd64' '0.5~squeeze1' +insertsource 'unstable' 'unrelated' 'all' '0.5~squeeze1' + +export APT_DONT_SIGN="" +setupaptarchive --no-update +logcurrentarchivedirectory +changetowebserver + +runtest() { + local APTOPT="" + if [ -n "$1" ]; then + APTOPT='--allow-insecure-repositories' + else + APTOPT='--no-allow-insecure-repositories' + fi + + rm -rf rootdir/var/lib/apt/lists/ + + local TEST="test${1:-success}" + $TEST aptget update $APTOPT -o Debug::pkgAcquire::Worker=1 + if [ "$1" = 'failure' ]; then + # accept the outdated Release file so we can check Hit behaviour + "test${2:-success}" aptget update -o Acquire::Min-ValidTime=9999999 $APTOPT + fi + listcurrentlistsdirectory > listsdir.lst + testsuccess grep '_Packages\(\.[0-9a-z]\+\)\?$' listsdir.lst + testsuccess grep '_Sources\(\.[0-9a-z]\+\)\?$' listsdir.lst + testsuccess grep '_Translation-en\(\.[0-9a-z]\+\)\?$' listsdir.lst + + # ensure no leftovers in partial + testfailure ls 'rootdir/var/lib/apt/lists/partial/*' + + # check that I-M-S header is kept in redirections + echo "$EXPECT" | sed -e 's#(invalid since [^)]\+)#(invalid since)#' > expected.output + $TEST aptget update -o Debug::pkgAcquire::Worker=0 -o Debug::Acquire::http=0 $APTOPT + sed -i -e 's#(invalid since [^)]\+)#(invalid since)#' rootdir/tmp/${TEST}.output + testequal "$(cat expected.output)" cat rootdir/tmp/${TEST}.output + testfileequal 'listsdir.lst' "$(listcurrentlistsdirectory)" + + # ensure that we still do a hash check for other files on ims hit of Release + if grep -q '^Hit:[0-9]\+ .* InRelease$' expected.output || ! grep -q '^Ign:[0-9]\+ .* Release\(\.gpg\)\?$' expected.output; then + $TEST aptget update -o Debug::Acquire::gpgv=1 $APTOPT + cp rootdir/tmp/${TEST}.output goodsign.output + testfileequal 'listsdir.lst' "$(listcurrentlistsdirectory)" + testsuccess grep '^Got GOODSIG ' goodsign.output + fi + + # ensure no leftovers in partial + testfailure ls 'rootdir/var/lib/apt/lists/partial/*' +} + +msgmsg 'InRelease' +EXPECT="Hit:1 http://localhost:${APTHTTPPORT} unstable InRelease +Reading package lists..." +echo 'Acquire::GzipIndexes "0";' > rootdir/etc/apt/apt.conf.d/02compressindex +runtest +echo 'Acquire::GzipIndexes "1";' > rootdir/etc/apt/apt.conf.d/02compressindex +runtest + +msgmsg 'Release/Release.gpg' +EXPECT="Ign:1 http://localhost:${APTHTTPPORT} unstable InRelease + 404 Not Found +Hit:2 http://localhost:${APTHTTPPORT} unstable Release +Reading package lists..." +find aptarchive -name 'InRelease' -delete +logcurrentarchivedirectory +echo 'Acquire::GzipIndexes "0";' > rootdir/etc/apt/apt.conf.d/02compressindex +runtest +echo 'Acquire::GzipIndexes "1";' > rootdir/etc/apt/apt.conf.d/02compressindex +runtest + +msgmsg 'Release only' +EXPECT="Ign:1 http://localhost:${APTHTTPPORT} unstable InRelease + 404 Not Found +Hit:2 http://localhost:${APTHTTPPORT} unstable Release +Ign:3 http://localhost:${APTHTTPPORT} unstable Release.gpg + 404 Not Found +Reading package lists... +W: The repository 'http://localhost:${APTHTTPPORT} unstable Release' is not signed. +N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use. +N: See apt-secure(8) manpage for repository creation and user configuration details." +find aptarchive -name 'Release.gpg' -delete +logcurrentarchivedirectory +echo 'Acquire::GzipIndexes "0";' > rootdir/etc/apt/apt.conf.d/02compressindex +runtest 'warning' +echo 'Acquire::GzipIndexes "1";' > rootdir/etc/apt/apt.conf.d/02compressindex +runtest 'warning' + + +# make the release file old +find aptarchive -name '*Release' -exec sed -i \ + -e "s#^Date: .*\$#Date: $(date -ud '-2 weeks' '+%a, %d %b %Y %H:%M:%S %Z')#" \ + -e '/^Valid-Until: / d' -e "/^Date: / a\ +Valid-Until: $(date -ud '-1 weeks' '+%a, %d %b %Y %H:%M:%S %Z')" '{}' \; +signreleasefiles +logcurrentarchivedirectory + +msgmsg 'expired InRelease' +EXPECT="Hit:1 http://localhost:${APTHTTPPORT} unstable InRelease +Reading package lists... +E: Release file for http://localhost:${APTHTTPPORT}/dists/unstable/InRelease is expired (invalid since). Updates for this repository will not be applied." +echo 'Acquire::GzipIndexes "0";' > rootdir/etc/apt/apt.conf.d/02compressindex +runtest 'failure' +echo 'Acquire::GzipIndexes "1";' > rootdir/etc/apt/apt.conf.d/02compressindex +runtest 'failure' + +msgmsg 'expired Release/Release.gpg' +EXPECT="Ign:1 http://localhost:${APTHTTPPORT} unstable InRelease + 404 Not Found +Hit:2 http://localhost:${APTHTTPPORT} unstable Release +Reading package lists... +E: Release file for http://localhost:${APTHTTPPORT}/dists/unstable/Release is expired (invalid since). Updates for this repository will not be applied." +find aptarchive -name 'InRelease' -delete +logcurrentarchivedirectory +echo 'Acquire::GzipIndexes "0";' > rootdir/etc/apt/apt.conf.d/02compressindex +runtest 'failure' +echo 'Acquire::GzipIndexes "1";' > rootdir/etc/apt/apt.conf.d/02compressindex +runtest 'failure' + +msgmsg 'expired Release only' +EXPECT="Ign:1 http://localhost:${APTHTTPPORT} unstable InRelease + 404 Not Found +Hit:2 http://localhost:${APTHTTPPORT} unstable Release +Ign:3 http://localhost:${APTHTTPPORT} unstable Release.gpg + 404 Not Found +Reading package lists... +W: The repository 'http://localhost:${APTHTTPPORT} unstable Release' is not signed. +N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use. +N: See apt-secure(8) manpage for repository creation and user configuration details. +E: Release file for http://localhost:${APTHTTPPORT}/dists/unstable/Release is expired (invalid since). Updates for this repository will not be applied." +find aptarchive -name 'Release.gpg' -delete +logcurrentarchivedirectory +echo 'Acquire::GzipIndexes "0";' > rootdir/etc/apt/apt.conf.d/02compressindex +runtest 'failure' 'warning' +echo 'Acquire::GzipIndexes "1";' > rootdir/etc/apt/apt.conf.d/02compressindex +runtest 'failure' 'warning' + + +msgmsg 'no Release at all' +EXPECT="Ign:1 http://localhost:${APTHTTPPORT} unstable InRelease + 404 Not Found +Ign:2 http://localhost:${APTHTTPPORT} unstable Release + 404 Not Found +Ign:3 http://localhost:${APTHTTPPORT} unstable/main Sources + 404 Not Found +Ign:4 http://localhost:${APTHTTPPORT} unstable/main amd64 Packages + 404 Not Found +Ign:5 http://localhost:${APTHTTPPORT} unstable/main all Packages + 404 Not Found +Ign:6 http://localhost:${APTHTTPPORT} unstable/main Translation-en + 404 Not Found +Ign:3 http://localhost:${APTHTTPPORT} unstable/main Sources + 404 Not Found +Ign:4 http://localhost:${APTHTTPPORT} unstable/main amd64 Packages + 404 Not Found +Ign:5 http://localhost:${APTHTTPPORT} unstable/main all Packages + 404 Not Found +Ign:6 http://localhost:${APTHTTPPORT} unstable/main Translation-en + 404 Not Found +Ign:3 http://localhost:${APTHTTPPORT} unstable/main Sources + 404 Not Found +Ign:4 http://localhost:${APTHTTPPORT} unstable/main amd64 Packages + 404 Not Found +Ign:5 http://localhost:${APTHTTPPORT} unstable/main all Packages + 404 Not Found +Ign:6 http://localhost:${APTHTTPPORT} unstable/main Translation-en + 404 Not Found +Hit:3 http://localhost:${APTHTTPPORT} unstable/main Sources +Hit:4 http://localhost:${APTHTTPPORT} unstable/main amd64 Packages +Hit:5 http://localhost:${APTHTTPPORT} unstable/main all Packages +Hit:6 http://localhost:${APTHTTPPORT} unstable/main Translation-en +Reading package lists... +W: The repository 'http://localhost:${APTHTTPPORT} unstable Release' does not have a Release file. +N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use. +N: See apt-secure(8) manpage for repository creation and user configuration details." +find aptarchive -name '*Release*' -delete +logcurrentarchivedirectory +echo 'Acquire::GzipIndexes "0"; +Acquire::PDiffs "0";' > rootdir/etc/apt/apt.conf.d/02compressindex +runtest 'warning' +echo 'Acquire::GzipIndexes "1"; +Acquire::PDiffs "0";' > rootdir/etc/apt/apt.conf.d/02compressindex +runtest 'warning' diff --git a/test/integration/test-apt-update-nofallback b/test/integration/test-apt-update-nofallback new file mode 100755 index 0000000..18f12b1 --- /dev/null +++ b/test/integration/test-apt-update-nofallback @@ -0,0 +1,273 @@ +#!/bin/sh +# +# ensure we never fallback from a signed to a unsigned repo +# +# hash checks are done in +# +set -e + +simulate_mitm_and_inject_evil_package() +{ + redatereleasefiles '+1 hour' + rm -f "$APTARCHIVE/dists/unstable/InRelease" "$APTARCHIVE/dists/unstable/Release.gpg" + inject_evil_package +} + +inject_evil_package() +{ + cat > "$APTARCHIVE/dists/unstable/main/binary-i386/Packages" <<EOF +Package: evil +Installed-Size: 29 +Maintainer: Joe Sixpack <joe@example.org> +Architecture: all +Version: 1.0 +Filename: pool/evil_1.0_all.deb +Size: 1270 +Description: an autogenerated evil package +EOF + # avoid ims hit + touch -d '+1hour' aptarchive/dists/unstable/main/binary-i386/Packages + compressfile aptarchive/dists/unstable/main/binary-i386/Packages +} + +assert_update_is_refused_and_last_good_state_used() +{ + testfailuremsg "E: The repository 'file:${APTARCHIVE} unstable Release' is no longer signed. +N: Updating from such a repository can't be done securely, and is therefore disabled by default. +N: See apt-secure(8) manpage for repository creation and user configuration details." aptget update + + assert_repo_is_intact +} + +assert_repo_is_intact() +{ + testsuccessequal 'foo/unstable 2.0 all' apt list -qq + testsuccess aptget install -y -s foo + testfailure aptget install -y evil + testsuccess aptget source foo --print-uris + + LISTDIR=rootdir/var/lib/apt/lists + testempty find "$LISTDIR" -name 'InRelease' -o -name 'Release.gpg' +} + +setupaptarchive_with_lists_clean() +{ + setupaptarchive --no-update + rm -rf rootdir/var/lib/apt/lists +} + +test_from_inrelease_to_unsigned() +{ + export APT_DONT_SIGN='Release.gpg' + setupaptarchive_with_lists_clean + testsuccess aptget update + listcurrentlistsdirectory > lists.before + + simulate_mitm_and_inject_evil_package + assert_update_is_refused_and_last_good_state_used + testfileequal lists.before "$(listcurrentlistsdirectory)" +} + +test_from_release_gpg_to_unsigned() +{ + export APT_DONT_SIGN='InRelease' + setupaptarchive_with_lists_clean + testsuccess aptget update + listcurrentlistsdirectory > lists.before + + simulate_mitm_and_inject_evil_package + assert_update_is_refused_and_last_good_state_used + testfileequal lists.before "$(listcurrentlistsdirectory)" +} + +test_from_inrelease_to_unsigned_with_override() +{ + export APT_DONT_SIGN='Release.gpg' + # setup archive with InRelease file + setupaptarchive_with_lists_clean + testsuccess aptget update + + # simulate moving to a unsigned but otherwise valid repo + simulate_mitm_and_inject_evil_package + generatereleasefiles '+2 hours' + find "$APTARCHIVE" -name '*Packages*' -exec touch -d '+2 hours' {} \; + + # and ensure we can update to it (with enough force) + testfailure apt update + testfailure aptget update + testfailure aptget update --allow-insecure-repositories + testfailure aptget update --no-allow-insecure-repositories + sed -i 's#^deb\(-src\)\? #deb\1 [allow-downgrade-to-insecure=yes] #' rootdir/etc/apt/sources.list.d/* + testfailure aptget update --no-allow-insecure-repositories + testfailure apt update + testwarning apt update --allow-insecure-repositories \ + -o Debug::pkgAcquire::Worker=1 -o Debug::pkgAcquire::Auth=1 + sed -i 's#^deb\(-src\)\? \[allow-downgrade-to-insecure=yes\] #deb\1 #' rootdir/etc/apt/sources.list.d/* + # but that the individual packages are still considered untrusted + testfailureequal "WARNING: The following packages cannot be authenticated! + evil +E: There were unauthenticated packages and -y was used without --allow-unauthenticated" aptget install -qq -y evil +} + +test_from_inrelease_to_norelease_with_override() +{ + # setup archive with InRelease file + setupaptarchive_with_lists_clean + testsuccess aptget update + + # simulate moving to a unsigned but otherwise valid repo + simulate_mitm_and_inject_evil_package + find "$APTARCHIVE" -name '*Release*' -delete + find "$APTARCHIVE" -name '*Packages*' -exec touch -d '+2 hours' {} \; + + # and ensure we can update to it (with enough force) + testfailure aptget update + testfailure aptget update --allow-insecure-repositories + testwarning aptget update --allow-insecure-repositories \ + -o Acquire::AllowDowngradeToInsecureRepositories=1 -o Debug::pkgAcquire::Worker=1 -o Debug::pkgAcquire::Auth=1 + # but that the individual packages are still considered untrusted + testfailureequal "WARNING: The following packages cannot be authenticated! + evil +E: There were unauthenticated packages and -y was used without --allow-unauthenticated" aptget install -qq -y evil +} + +test_cve_2012_0214() +{ + # see https://bugs.launchpad.net/ubuntu/+source/apt/+bug/947108 + # + # it was possible to MITM the download so that InRelease/Release.gpg + # are not delivered (404) and a altered Release file was send + # + # apt left the old InRelease file in /var/lib/apt/lists and downloaded + # the unauthenticated Release file too giving the false impression that + # Release was authenticated + # + # Note that this is pretty much impossible nowadays because: + # a) InRelease is left as is, not split to InRelease/Release as it was + # in the old days + # b) we refuse to go from signed->unsigned + # + # Still worth having a regression test the simulates the condition + + export APT_DONT_SIGN='Release.gpg' + setupaptarchive_with_lists_clean + testsuccess aptget update + listcurrentlistsdirectory > lists.before + + # do what CVE-2012-0214 did + rm -f "$APTARCHIVE/dists/unstable/InRelease" "$APTARCHIVE/dists/unstable/Release.gpg" + inject_evil_package + # build valid Release file + aptftparchive -qq release ./aptarchive > aptarchive/dists/unstable/Release + + assert_update_is_refused_and_last_good_state_used + testfileequal lists.before "$(listcurrentlistsdirectory)" + + # ensure there is no _Release file downloaded + testfailure ls rootdir/var/lib/apt/lists/*_Release +} + +test_subvert_inrelease() +{ + export APT_DONT_SIGN='Release.gpg' + setupaptarchive_with_lists_clean + testsuccess aptget update + listcurrentlistsdirectory > lists.before + + # replace InRelease with something else + mv "$APTARCHIVE/dists/unstable/Release" "$APTARCHIVE/dists/unstable/InRelease" + + testfailuremsg "E: Failed to fetch file:${APTARCHIVE}/dists/unstable/InRelease Clearsigned file isn't valid, got 'NOSPLIT' (does the network require authentication?) +E: The repository 'file:${APTARCHIVE} unstable InRelease' is no longer signed. +N: Updating from such a repository can't be done securely, and is therefore disabled by default. +N: See apt-secure(8) manpage for repository creation and user configuration details." aptget update + + # ensure we keep the repo + testfileequal lists.before "$(listcurrentlistsdirectory)" + assert_repo_is_intact +} + +test_inrelease_to_invalid_inrelease() +{ + export APT_DONT_SIGN='Release.gpg' + setupaptarchive_with_lists_clean + testsuccess aptget update + listcurrentlistsdirectory > lists.before + + # now remove InRelease and subvert Release do no longer verify + sed -i 's/^Codename:.*/Codename: evil!/' "$APTARCHIVE/dists/unstable/InRelease" + inject_evil_package + + testwarningequal "W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: file:${APTARCHIVE} unstable InRelease: The following signatures were invalid: BADSIG 5A90D141DBAC8DAE Joe Sixpack (APT Testcases Dummy) <joe@example.org> +W: Failed to fetch file:${APTARCHIVE}/dists/unstable/InRelease The following signatures were invalid: BADSIG 5A90D141DBAC8DAE Joe Sixpack (APT Testcases Dummy) <joe@example.org> +W: Some index files failed to download. They have been ignored, or old ones used instead." aptget update -qq + + # ensure we keep the repo + testfailure grep 'evil' rootdir/var/lib/apt/lists/*InRelease + testfileequal lists.before "$(listcurrentlistsdirectory)" + assert_repo_is_intact +} + +test_release_gpg_to_invalid_release_release_gpg() +{ + export APT_DONT_SIGN='InRelease' + setupaptarchive_with_lists_clean + testsuccess aptget update + listcurrentlistsdirectory > lists.before + + # now subvert Release do no longer verify + echo "Some evil data" >> "$APTARCHIVE/dists/unstable/Release" + inject_evil_package + + testwarningequal "W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: file:${APTARCHIVE} unstable Release: The following signatures were invalid: BADSIG 5A90D141DBAC8DAE Joe Sixpack (APT Testcases Dummy) <joe@example.org> +W: Failed to fetch file:${APTARCHIVE}/dists/unstable/Release.gpg The following signatures were invalid: BADSIG 5A90D141DBAC8DAE Joe Sixpack (APT Testcases Dummy) <joe@example.org> +W: Some index files failed to download. They have been ignored, or old ones used instead." aptget update -qq + + testfailure grep 'evil' rootdir/var/lib/apt/lists/*Release + testfileequal lists.before "$(listcurrentlistsdirectory)" + assert_repo_is_intact +} + + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "i386" + +# a "normal" package with source and binary +buildsimplenativepackage 'foo' 'all' '2.0' + +# setup the archive and ensure we have a single package that installs fine +setupaptarchive +APTARCHIVE="$(readlink -f ./aptarchive)" +assert_repo_is_intact + +# test the various cases where a repo may go from signed->unsigned +msgmsg "test_from_inrelease_to_unsigned" +test_from_inrelease_to_unsigned + +msgmsg "test_from_release_gpg_to_unsigned" +test_from_release_gpg_to_unsigned + +# ensure we do not regress on CVE-2012-0214 +msgmsg "test_cve_2012_0214" +test_cve_2012_0214 + +# ensure InRelease can not be subverted +msgmsg "test_subvert_inrelease" +test_subvert_inrelease + +# ensure we revert to last good state if InRelease does not verify +msgmsg "test_inrelease_to_invalid_inrelease" +test_inrelease_to_invalid_inrelease + +# ensure we revert to last good state if Release/Release.gpg does not verify +msgmsg "test_release_gpg_to_invalid_release_release_gpg" +test_release_gpg_to_invalid_release_release_gpg + +# ensure we can override the downgrade error +msgmsg "test_from_inrelease_to_unsigned_with_override" +test_from_inrelease_to_unsigned_with_override +msgmsg "test_from_inrelease_to_norelease_with_override" +test_from_inrelease_to_norelease_with_override diff --git a/test/integration/test-apt-update-not-modified b/test/integration/test-apt-update-not-modified new file mode 100755 index 0000000..c6dbb8d --- /dev/null +++ b/test/integration/test-apt-update-not-modified @@ -0,0 +1,183 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' 'i386' +confighashes 'SHA256' + +insertpackage 'unstable' 'apt' 'amd64,i386' '1.0' + +export APT_DONT_SIGN='' +setupaptarchive --no-update + +methodtest() { + msgmsg 'Test InRelease with' "$1" + rm -rf rootdir/var/lib/apt/lists + cp -a aptarchive/dists aptarchive/dists.good + # get our cache populated + testsuccess aptget update + listcurrentlistsdirectory > listsdir.lst + + # hit again with a good cache + testsuccessequal "Hit:1 $1 unstable InRelease +Reading package lists..." aptget update + testfileequal 'listsdir.lst' "$(listcurrentlistsdirectory)" + + # drop an architecture, which means the file should be gone now + configarchitecture 'i386' + sed '/_binary-amd64_Packages/ d' listsdir.lst > listsdir-without-amd64.lst + testsuccessequal "Hit:1 $1 unstable InRelease +Reading package lists..." aptget update + testfileequal 'listsdir-without-amd64.lst' "$(listcurrentlistsdirectory)" + + # readd arch so its downloaded again… + configarchitecture 'amd64' 'i386' + # … but oh noes, hashsum mismatch! + SIZE=$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') + breakfiles aptarchive/dists/unstable/main/binary-amd64/Packages.gz + testfailureequal "Hit:1 $1 unstable InRelease +Get:2 $1 unstable/main amd64 Packages [$SIZE B] +Err:2 $1 unstable/main amd64 Packages + Hash Sum mismatch + Hashes of expected file: + - Filesize:$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz.bak') [weak] + - SHA256:$(sha256sum 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz.bak' | cut -d' ' -f 1) + Hashes of received file: + - SHA256:$(sha256sum 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz' | cut -d' ' -f 1) + - Filesize:$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') [weak] + Last modification reported: $(lastmodification 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') + Release file created at: $(releasefiledate 'aptarchive/dists/unstable/InRelease') +Reading package lists... +E: Failed to fetch $1/dists/unstable/main/binary-amd64/Packages.gz Hash Sum mismatch + Hashes of expected file: + - Filesize:$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz.bak') [weak] + - SHA256:$(sha256sum 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz.bak' | cut -d' ' -f 1) + Hashes of received file: + - SHA256:$(sha256sum 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz' | cut -d' ' -f 1) + - Filesize:$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') [weak] + Last modification reported: $(lastmodification 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') + Release file created at: $(releasefiledate 'aptarchive/dists/unstable/InRelease') +E: Some index files failed to download. They have been ignored, or old ones used instead." aptget update + testfileequal 'listsdir-without-amd64.lst' "$(listcurrentlistsdirectory)" + rm -rf aptarchive/dists + cp -a aptarchive/dists.good aptarchive/dists + + # … now everything is fine again + testsuccessequal "Hit:1 $1 unstable InRelease +Get:2 $1 unstable/main amd64 Packages [$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') B] +Reading package lists..." aptget update + testfileequal 'listsdir.lst' "$(listcurrentlistsdirectory)" + + webserverconfig 'aptwebserver::support::modified-since' 'false' + webserverconfig 'aptwebserver::support::last-modified' 'false' + testsuccessequal "Get:1 $1 unstable InRelease [$(stat -c '%s' 'aptarchive/dists/unstable/InRelease') B] +Reading package lists..." aptget update + webserverconfig 'aptwebserver::support::modified-since' 'true' + webserverconfig 'aptwebserver::support::last-modified' 'true' + + msgmsg 'Test Release.gpg with' "$1" + rm -rf rootdir/var/lib/apt/lists + find aptarchive/dists -name 'InRelease' -delete + # get our cache populated + testsuccess aptget update + listcurrentlistsdirectory > listsdir.lst + + # hit again with a good cache + testsuccessequal "Ign:1 $1 unstable InRelease + 404 Not Found +Hit:2 $1 unstable Release +Reading package lists..." aptget update + testfileequal 'listsdir.lst' "$(listcurrentlistsdirectory)" + + # drop an architecture, which means the file should be gone now + configarchitecture 'i386' + sed '/_binary-amd64_Packages/ d' listsdir.lst > listsdir-without-amd64.lst + testsuccessequal "Ign:1 $1 unstable InRelease + 404 Not Found +Hit:2 $1 unstable Release +Reading package lists..." aptget update + testfileequal 'listsdir-without-amd64.lst' "$(listcurrentlistsdirectory)" + + # readd arch so its downloaded again… + configarchitecture 'amd64' 'i386' + # … but oh noes, hashsum mismatch! + SIZE=$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') + breakfiles 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz' + testfailureequal "Ign:1 $1 unstable InRelease + 404 Not Found +Hit:2 $1 unstable Release +Get:4 $1 unstable/main amd64 Packages [$SIZE B] +Err:4 $1 unstable/main amd64 Packages + Hash Sum mismatch + Hashes of expected file: + - Filesize:$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz.bak') [weak] + - SHA256:$(sha256sum 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz.bak' | cut -d' ' -f 1) + Hashes of received file: + - SHA256:$(sha256sum 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz' | cut -d' ' -f 1) + - Filesize:$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') [weak] + Last modification reported: $(lastmodification 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') + Release file created at: $(releasefiledate 'aptarchive/dists/unstable/Release') +Reading package lists... +E: Failed to fetch $1/dists/unstable/main/binary-amd64/Packages.gz Hash Sum mismatch + Hashes of expected file: + - Filesize:$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz.bak') [weak] + - SHA256:$(sha256sum 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz.bak' | cut -d' ' -f 1) + Hashes of received file: + - SHA256:$(sha256sum 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz' | cut -d' ' -f 1) + - Filesize:$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') [weak] + Last modification reported: $(lastmodification 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') + Release file created at: $(releasefiledate 'aptarchive/dists/unstable/Release') +E: Some index files failed to download. They have been ignored, or old ones used instead." aptget update + testfileequal 'listsdir-without-amd64.lst' "$(listcurrentlistsdirectory)" + rm -rf aptarchive/dists + cp -a aptarchive/dists.good aptarchive/dists + find aptarchive/dists -name 'InRelease' -delete + + # … now everything is fine again + testsuccessequal "Ign:1 $1 unstable InRelease + 404 Not Found +Hit:2 $1 unstable Release +Get:4 $1 unstable/main amd64 Packages [$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') B] +Reading package lists..." aptget update + testfileequal 'listsdir.lst' "$(listcurrentlistsdirectory)" + + webserverconfig 'aptwebserver::support::modified-since' 'false' + webserverconfig 'aptwebserver::support::last-modified' 'false' + testsuccessequal "Ign:1 $1 unstable InRelease + 404 Not Found +Get:2 $1 unstable Release [$(stat -c '%s' 'aptarchive/dists/unstable/Release') B] +Reading package lists..." aptget update + webserverconfig 'aptwebserver::support::modified-since' 'true' + webserverconfig 'aptwebserver::support::last-modified' 'true' + + rm -rf aptarchive/dists + cp -a aptarchive/dists.good aptarchive/dists + + # new release file, but the indexes are the same + redatereleasefiles '+2 hours' + + rm -rf rootdir/var/lib/apt/lists.good + cp -a rootdir/var/lib/apt/lists rootdir/var/lib/apt/lists.good + testsuccessequal "Get:1 $1 unstable InRelease [$(stat -c '%s' 'aptarchive/dists/unstable/InRelease') B] +Reading package lists..." aptget update + + rm -rf rootdir/var/lib/apt/lists + cp -a rootdir/var/lib/apt/lists.good rootdir/var/lib/apt/lists + find rootdir/var/lib/apt/lists -name '*_Packages*' -delete + testsuccessequal "Get:1 $1 unstable InRelease [$(stat -c '%s' 'aptarchive/dists/unstable/InRelease') B] +Get:2 $1 unstable/main amd64 Packages [$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-amd64/Packages.gz') B] +Get:3 $1 unstable/main i386 Packages [$(stat -c '%s' 'aptarchive/dists/unstable/main/binary-i386/Packages.gz') B] +Reading package lists..." aptget update + + rm -rf aptarchive/dists + cp -a aptarchive/dists.good aptarchive/dists +} + +changetowebserver +methodtest "http://localhost:${APTHTTPPORT}" + +changetohttpswebserver +methodtest "https://localhost:${APTHTTPSPORT}" diff --git a/test/integration/test-apt-update-releaseinfo-changes b/test/integration/test-apt-update-releaseinfo-changes new file mode 100755 index 0000000..ee36c46 --- /dev/null +++ b/test/integration/test-apt-update-releaseinfo-changes @@ -0,0 +1,94 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertpackage 'earth' 'human' 'all' '1' + +getoriginfromsuite() { echo -n 'Earth'; } +getlabelfromsuite() { echo -n 'Blue Planet'; } +getcodenamefromsuite() { echo -n 'home'; } +getreleaseversionfromsuite() { echo -n '1.0'; } +getnotautomaticfromsuite() { echo -n 'yes'; } +getbutautomaticupgradesfromsuite() { echo -n 'yes'; } +setupaptarchive --no-update +testsuccess aptget update + +cp -a aptarchive/dists aptarchive/dists.bak +cp -a rootdir/var/lib/apt/lists rootdir/var/lib/apt/lists.bak +APTARCHIVE="$(readlink -f './aptarchive')" + +sed -i -e 's#^Origin: Earth#Origin: Mars#' $(find ./aptarchive -name 'Release') +signreleasefiles +testfailuremsg "E: Repository 'file:$APTARCHIVE earth InRelease' changed its 'Origin' value from 'Earth' to 'Mars' +N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details." apt update +testfailure apt update --allow-releaseinfo-change-label +testsuccesswithnotice apt update --allow-releaseinfo-change +testequal "All packages are up to date. +N: Repository 'file:$APTARCHIVE earth InRelease' changed its 'Origin' value from 'Earth' to 'Mars'" tail -n 2 rootdir/tmp/testsuccesswithnotice.output + +rm -rf rootdir/var/lib/apt/lists +cp -a rootdir/var/lib/apt/lists.bak rootdir/var/lib/apt/lists +sed -i -e 's#^Label: Blue#Label: Red#' $(find ./aptarchive -name 'Release') +signreleasefiles +testfailuremsg "E: Repository 'file:$APTARCHIVE earth InRelease' changed its 'Origin' value from 'Earth' to 'Mars' +E: Repository 'file:$APTARCHIVE earth InRelease' changed its 'Label' value from 'Blue Planet' to 'Red Planet' +N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details." apt update +testfailure apt update --allow-releaseinfo-change-label +testfailuremsg "N: Repository 'file:$APTARCHIVE earth InRelease' changed its 'Origin' value from 'Earth' to 'Mars' +E: Repository 'file:$APTARCHIVE earth InRelease' changed its 'Label' value from 'Blue Planet' to 'Red Planet' +N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details." apt update --allow-releaseinfo-change-origin +testsuccess apt update --allow-releaseinfo-change-origin --allow-releaseinfo-change-label -o quiet::ReleaseInfoChange=true + +# version changes are allowed by default +sed -i -e 's#^Version: 1#Version: 2#' $(find ./aptarchive -name 'Release') +signreleasefiles +testfailuremsg "E: Repository 'file:$APTARCHIVE earth InRelease' changed its 'Version' value from '1.0' to '2.0' +N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details." apt update --no-allow-releaseinfo-change-version +testsuccesswithnotice apt update +testequal "All packages are up to date. +N: Repository 'file:$APTARCHIVE earth InRelease' changed its 'Version' value from '1.0' to '2.0'" tail -n 2 rootdir/tmp/testsuccesswithnotice.output + +sed -i -e 's#^Codename: home#Codename: colony#' $(find ./aptarchive -name 'Release') +signreleasefiles +testfailuremsg "E: Repository 'file:$APTARCHIVE earth InRelease' changed its 'Codename' value from 'home' to 'colony' +N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details." apt update --no-allow-releaseinfo-change-codename +testsuccesswithnotice apt update --allow-releaseinfo-change-codename +testequal "All packages are up to date. +N: Repository 'file:$APTARCHIVE earth InRelease' changed its 'Codename' value from 'home' to 'colony'" tail -n 2 rootdir/tmp/testsuccesswithnotice.output + +sed -i -e '/^ButAutomaticUpgrades: / d' $(find ./aptarchive -name 'Release') +signreleasefiles +testfailuremsg "E: Repository 'file:$APTARCHIVE earth InRelease' changed its default priority for apt_preferences(5) from 100 to 1. +N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details." apt update +testsuccesswithnotice apt update --allow-releaseinfo-change +testequal "All packages are up to date. +N: Repository 'file:$APTARCHIVE earth InRelease' changed its default priority for apt_preferences(5) from 100 to 1." tail -n 2 rootdir/tmp/testsuccesswithnotice.output + +sed -i -e '/^NotAutomatic: / d' -e '/^Codename: / a\ +Release-Notes: https://example.org/mars/release-notes' $(find ./aptarchive -name 'Release') +signreleasefiles +testfailuremsg "E: Repository 'file:$APTARCHIVE earth InRelease' changed its default priority for apt_preferences(5) from 1 to 500. +N: More information about this can be found online in the Release notes at: https://example.org/mars/release-notes +N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details." apt update +testsuccesswithnotice apt update --allow-releaseinfo-change-defaultpin +testequal "All packages are up to date. +N: Repository 'file:$APTARCHIVE earth InRelease' changed its default priority for apt_preferences(5) from 1 to 500. +N: More information about this can be found online in the Release notes at: https://example.org/mars/release-notes" tail -n 3 rootdir/tmp/testsuccesswithnotice.output + +# Suite testing also needs codename adjustment, otherwise complaints about +# mismatch between sources.list and Release file. +sed -i -e 's#^Suite: earth#Suite: mars#' $(find ./aptarchive -name 'Release') +sed -i -e 's#^Codename: colony#Codename: earth#' $(find ./aptarchive -name 'Release') +signreleasefiles +testfailuremsg "E: Repository 'file:$APTARCHIVE earth InRelease' changed its 'Suite' value from 'earth' to 'mars' +E: Repository 'file:$APTARCHIVE earth InRelease' changed its 'Codename' value from 'colony' to 'earth' +N: More information about this can be found online in the Release notes at: https://example.org/mars/release-notes +N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details." apt update --no-allow-releaseinfo-change-suite +testsuccesswithnotice apt update --allow-releaseinfo-change-codename +testequal "N: Repository 'file:$APTARCHIVE earth InRelease' changed its 'Suite' value from 'earth' to 'mars' +N: Repository 'file:$APTARCHIVE earth InRelease' changed its 'Codename' value from 'colony' to 'earth' +N: More information about this can be found online in the Release notes at: https://example.org/mars/release-notes" tail -n 3 rootdir/tmp/testsuccesswithnotice.output diff --git a/test/integration/test-apt-update-repeated-ims-hit b/test/integration/test-apt-update-repeated-ims-hit new file mode 100755 index 0000000..74d46b3 --- /dev/null +++ b/test/integration/test-apt-update-repeated-ims-hit @@ -0,0 +1,75 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' +configcompression '.' 'bz2' + +echo 'Package: apt +Priority: important +Section: admin +Installed-Size: 5984 +Maintainer: APT Development Team <deity@lists.debian.org> +Architecture: i386 +Version: 0.8.7 +Filename: pool/main/a/apt/apt_0.8.7_i386.deb +Size: 2140230 +MD5sum: 74769bfbcef9ebc4fa74f7a5271b9c08 +Description: Advanced front-end for dpkg +Description-md5: d41ee493aa9fcc6cbc9ce4eb7069959c' > aptarchive/Packages +compressfile aptarchive/Packages + +echo "Package: apt +Description-en: Advanced front-end for dpkg + This is Debian's next generation front-end for the dpkg package manager. + It provides the apt-get utility and APT dselect method that provides a + simpler, safer way to install and upgrade packages. +$MD5Sum" > aptarchive/en +compressfile aptarchive/en + +echo "APT::FTPArchive::Release::Patterns:: \"en\"; +APT::FTPArchive::Release::Patterns:: \"en.*\";" > rootdir/etc/apt/apt.conf.d/ftparchivepattern + +export APT_DONT_SIGN='InRelease' +setupaptarchive --no-update +rm -f aptarchive/Packages aptarchive/en + +rm -f rootdir/etc/apt/trusted.gpg.d/* +sed -i -e 's#^deb #deb [trusted=yes] #' rootdir/etc/apt/sources.list.d/* + +APTARCHIVE="$(readlink -f ./aptarchive)" +GPGERROR="W: GPG error: file:$APTARCHIVE Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5A90D141DBAC8DAE" + +msgmsg 'Running update again does not change result' '0' +testwarningmsg "$GPGERROR" apt update +listcurrentlistsdirectory > lists.before +testsuccess grep 'aptarchive_en$' lists.before +testsuccess grep 'aptarchive_Packages$' lists.before +testsuccess grep 'aptarchive_Release$' lists.before +testfailure grep 'aptarchive_Release.gpg$' lists.before + +for i in $(seq 1 3); do + msgmsg 'Running update again does not change result' "$i" + testwarningmsg "$GPGERROR" apt update + testfileequal lists.before "$(listcurrentlistsdirectory)" +done + +find rootdir/var/lib/apt/lists -name '*Release*' -delete +msgmsg 'Running update with a repository gaining hashsums' +testwarningmsg "$GPGERROR" apt update +testfileequal lists.before "$(listcurrentlistsdirectory)" + +changetowebserver +find aptarchive -name '*Release*' -delete +rm -rf rootdir/var/lib/apt/lists + +msgmsg 'Running update with no indexes' '0' +testsuccess apt update +listcurrentlistsdirectory > lists.before +for i in $(seq 1 3); do + msgmsg 'Running update with no indexes' "$i" + testsuccess apt update -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::Transaction=1 + testfileequal lists.before "$(listcurrentlistsdirectory)" +done diff --git a/test/integration/test-apt-update-reporting b/test/integration/test-apt-update-reporting new file mode 100755 index 0000000..cecf23a --- /dev/null +++ b/test/integration/test-apt-update-reporting @@ -0,0 +1,35 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +for i in $(seq 100); do + insertpackage 'unstable' "foo-$i" 'all' '1.0' + insertsource 'unstable' "foo-$i" 'all' '1.0' +done + +setupaptarchive --no-update +changetowebserver + +aptget update -o Debug::Acquire::Progress=1 2>progress.log >ignore.out + +has_progress() { + prev_percent=0.0 + while read line; do + percent="$(echo "$line"|cut -b2-6)" + # need to cut the decimal point and digits because sh can not do + # float compare + if [ "${percent%%.*}" -lt "${prev_percent%%.*}" ]; then + cat progress.log + return 1 + fi + prev_percent="$percent" + done < progress.log + return 0 +} + +msgtest "Testing that progress does not go backward" +testsuccess --nomsg has_progress diff --git a/test/integration/test-apt-update-rollback b/test/integration/test-apt-update-rollback new file mode 100755 index 0000000..8235968 --- /dev/null +++ b/test/integration/test-apt-update-rollback @@ -0,0 +1,217 @@ +#!/bin/sh +# +# test that apt-get update is transactional +# +set -e + +avoid_ims_hit() { + touch -d '+1hour' aptarchive/dists/unstable/main/binary-i386/Packages* + touch -d '+1hour' aptarchive/dists/unstable/main/source/Sources* + touch -d '+1hour' aptarchive/dists/unstable/*Release* + + touch -d '-1hour' rootdir/var/lib/apt/lists/* +} + +create_fresh_archive() +{ + rm -rf aptarchive/* + rm -f rootdir/var/lib/apt/lists/_* rootdir/var/lib/apt/lists/partial/* + + insertpackage 'unstable' 'old' 'all' '1.0' + + setupaptarchive --no-update +} + +add_new_package() { + insertpackage 'unstable' 'new' 'all' '1.0' + insertsource 'unstable' 'new' 'all' '1.0' + + setupaptarchive --no-update "$@" +} + +break_repository_sources_index() { + mv "$APTARCHIVE/dists/unstable/main/source/Sources.gz" "$APTARCHIVE/dists/unstable/main/source/Sources.gz.orig" + printf 'xxx' > "$APTARCHIVE/dists/unstable/main/source/Sources" + compressfile "$APTARCHIVE/dists/unstable/main/source/Sources" "$@" +} + +start_with_good_inrelease() { + create_fresh_archive + testsuccess aptget update + listcurrentlistsdirectory > lists.before + testsuccessequal 'old/unstable 1.0 all' apt list -qq +} + +test_inrelease_to_new_inrelease() { + msgmsg 'Test InRelease to new InRelease works fine' + start_with_good_inrelease + + add_new_package '+1hour' + testsuccess aptget update -o Debug::Acquire::Transaction=1 + testsuccessequal 'new/unstable 1.0 all +old/unstable 1.0 all' apt list -qq +} + +test_inrelease_to_broken_hash_reverts_all() { + msgmsg 'Test InRelease to broken InRelease reverts everything' + start_with_good_inrelease + + add_new_package '+1hour' + # break the Sources file + break_repository_sources_index '+1hour' + + # test the error condition + testfailureequal "E: Failed to fetch file:${APTARCHIVE}/dists/unstable/main/source/Sources.gz Hash Sum mismatch + Hashes of expected file: + - Filesize:$(stat -c '%s' 'aptarchive/dists/unstable/main/source/Sources.gz.orig') [weak] + - SHA256:$(sha256sum 'aptarchive/dists/unstable/main/source/Sources.gz.orig' | cut -d' ' -f 1) + Hashes of received file: + - SHA256:$(sha256sum 'aptarchive/dists/unstable/main/source/Sources.gz' | cut -d' ' -f 1) + - Filesize:$(stat -c '%s' 'aptarchive/dists/unstable/main/source/Sources.gz') [weak] + Last modification reported: $(lastmodification 'aptarchive/dists/unstable/main/source/Sources.gz') + Release file created at: $(releasefiledate 'aptarchive/dists/unstable/InRelease') +E: Some index files failed to download. They have been ignored, or old ones used instead." aptget update -qq + # ensure that the Packages file is also rolled back + testfileequal lists.before "$(listcurrentlistsdirectory)" + testfailureequal "E: Unable to locate package new" aptget install new -s -qq +} + +test_inrelease_to_valid_release() { + msgmsg 'Test InRelease to valid Release' + start_with_good_inrelease + + add_new_package '+1hour' + # switch to a unsigned repo now + rm -f "$APTARCHIVE/dists/unstable/InRelease" "$APTARCHIVE/dists/unstable/Release.gpg" + + # update fails + testfailureequal "E: The repository 'file:${APTARCHIVE} unstable Release' is no longer signed." aptget update -qq + + # test that security downgrade was not successful + testfileequal lists.before "$(listcurrentlistsdirectory)" + testsuccess aptget install old -s + testfailure aptget install new -s + testnotempty find "${ROOTDIR}/var/lib/apt/lists" -name '*_InRelease' + testempty find "${ROOTDIR}/var/lib/apt/lists" -name '*_Release' +} + +test_inrelease_to_release_reverts_all() { + msgmsg 'Test InRelease to broken Release reverts everything' + start_with_good_inrelease + + # switch to a unsigned repo now + add_new_package '+1hour' + rm -f "$APTARCHIVE/dists/unstable/InRelease" "$APTARCHIVE/dists/unstable/Release.gpg" + + # break it + break_repository_sources_index '+1hour' + + # ensure error + testfailureequal "E: The repository 'file:${APTARCHIVE} unstable Release' is no longer signed." aptget update -qq # -o Debug::acquire::transaction=1 + + # ensure that the Packages file is also rolled back + testfileequal lists.before "$(listcurrentlistsdirectory)" + testsuccess aptget install old -s + testfailure aptget install new -s + testnotempty find "${ROOTDIR}/var/lib/apt/lists" -name '*_InRelease' + testempty find "${ROOTDIR}/var/lib/apt/lists" -name '*_Release' +} + +test_unauthenticated_to_invalid_inrelease() { + msgmsg 'Test UnAuthenticated to invalid InRelease reverts everything' + create_fresh_archive + rm -f "$APTARCHIVE/dists/unstable/InRelease" "$APTARCHIVE/dists/unstable/Release.gpg" + + testwarning aptget update --allow-insecure-repositories + listcurrentlistsdirectory > lists.before + testfailureequal "WARNING: The following packages cannot be authenticated! + old +E: There were unauthenticated packages and -y was used without --allow-unauthenticated" aptget install -qq -y old + + # go to authenticated but not correct + add_new_package '+1hour' + break_repository_sources_index '+1hour' + + testfailureequal "E: Failed to fetch file:$APTARCHIVE/dists/unstable/main/source/Sources.gz Hash Sum mismatch + Hashes of expected file: + - Filesize:$(stat -c '%s' 'aptarchive/dists/unstable/main/source/Sources.gz.orig') [weak] + - SHA256:$(sha256sum 'aptarchive/dists/unstable/main/source/Sources.gz.orig' | cut -d' ' -f 1) + Hashes of received file: + - SHA256:$(sha256sum 'aptarchive/dists/unstable/main/source/Sources.gz' | cut -d' ' -f 1) + - Filesize:$(stat -c '%s' 'aptarchive/dists/unstable/main/source/Sources.gz') [weak] + Last modification reported: $(lastmodification 'aptarchive/dists/unstable/main/source/Sources.gz') + Release file created at: $(releasefiledate 'aptarchive/dists/unstable/InRelease') +E: Some index files failed to download. They have been ignored, or old ones used instead." aptget update -qq + + testfileequal lists.before "$(listcurrentlistsdirectory)" + testempty find "${ROOTDIR}/var/lib/apt/lists" -maxdepth 1 -name '*_InRelease' + testfailureequal "WARNING: The following packages cannot be authenticated! + old +E: There were unauthenticated packages and -y was used without --allow-unauthenticated" aptget install -qq -y old +} + +test_inrelease_to_unauth_inrelease() { + msgmsg 'Test InRelease to InRelease without good sig' + start_with_good_inrelease + + signreleasefiles 'Marvin Paranoid' + + testwarningequal "W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: file:${APTARCHIVE} unstable InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY E8525D47528144E2 +W: Failed to fetch file:$APTARCHIVE/dists/unstable/InRelease The following signatures couldn't be verified because the public key is not available: NO_PUBKEY E8525D47528144E2 +W: Some index files failed to download. They have been ignored, or old ones used instead." aptget update -qq + + testfileequal lists.before "$(listcurrentlistsdirectory)" + testnotempty find "${ROOTDIR}/var/lib/apt/lists" -name '*_InRelease' +} + +test_inrelease_to_broken_gzip() { + msgmsg "Test InRelease to broken gzip" + start_with_good_inrelease + + break_repository_sources_index '+1hour' + generatereleasefiles '+2hours' + signreleasefiles + + # append junk at the end of the compressed file + echo "lala" >> "$APTARCHIVE/dists/unstable/main/source/Sources.gz" + touch -d '+2min' "$APTARCHIVE/dists/unstable/main/source/Sources.gz" + # remove uncompressed file to avoid fallback + rm "$APTARCHIVE/dists/unstable/main/source/Sources" + + testfailure aptget update + testsuccess grep 'Hash Sum mismatch' rootdir/tmp/testfailure.output + testfileequal lists.before "$(listcurrentlistsdirectory)" +} + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "i386" +export APT_DONT_SIGN='Release.gpg' + +APTARCHIVE="$(readlink -f ./aptarchive)" +ROOTDIR="${TMPWORKINGDIRECTORY}/rootdir" +APTARCHIVE_LISTS="$(echo "$APTARCHIVE" | tr "/" "_" )" + +# test the following cases: +# - InRelease -> broken InRelease revert to previous state +# - empty lists dir and broken remote leaves nothing on the system +# - InRelease -> hashsum mismatch for one file reverts all files to previous state +# - Release/Release.gpg -> hashsum mismatch +# - InRelease -> Release with hashsum mismatch revert entire state and kills Release +# - Release -> InRelease with broken Sig/Hash removes InRelease +# going from Release/Release.gpg -> InRelease and vice versa +# - unauthenticated -> invalid InRelease + +# stuff to do: +# - ims-hit +# - gzip-index tests + +test_inrelease_to_new_inrelease +test_inrelease_to_broken_hash_reverts_all +test_inrelease_to_valid_release +test_inrelease_to_release_reverts_all +test_unauthenticated_to_invalid_inrelease +test_inrelease_to_unauth_inrelease +test_inrelease_to_broken_gzip diff --git a/test/integration/test-apt-update-simple b/test/integration/test-apt-update-simple new file mode 100755 index 0000000..0d28034 --- /dev/null +++ b/test/integration/test-apt-update-simple @@ -0,0 +1,42 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertpackage 'unstable' 'foo' 'all' '1' +insertpackage 'unstable' 'bar' 'amd64' '1' +insertpackage 'unstable' 'bar' 'i386' '1' +insertsource 'unstable' 'foo' 'all' '1' + +sed -e 's#^Description-en:#Description-de:#' \ + aptarchive/dists/unstable/main/i18n/Translation-en > aptarchive/dists/unstable/main/i18n/Translation-de + +setupaptarchive --no-update +changetowebserver + +# the framework modifies some configs to ensure testability, +# at the expense of creating an environment which doesn't always +# reflect apts "normal" behavior on a "normal" system +echo 'Acquire::IndexTargets::Randomized "true"; +Acquire::Languages { "environment"; "en"; "de"; }; +' > rootdir/etc/apt/apt.conf.d/restore-simplicity + +testempty aptget indextargets +testsuccess aptget update +testequal 'main/source/Sources +main/binary-amd64/Packages +main/binary-all/Packages +main/i18n/Translation-en +main/i18n/Translation-de' aptget indextargets --format '$(METAKEY)' + +# Check that -o Acquire::Queue-Mode=access does not crash +find rootdir/var/lib/apt/lists/ -type f -delete +if [ "$(command dpkg --print-architecture)" = "armhf" ]; then + msgskip "valgrind on armhf is broken" + testsuccess aptget update -o Acquire::Queue-Mode=access +else + testsuccess valgrind aptget update -o Acquire::Queue-Mode=access +fi diff --git a/test/integration/test-apt-update-stale b/test/integration/test-apt-update-stale new file mode 100755 index 0000000..a863458 --- /dev/null +++ b/test/integration/test-apt-update-stale @@ -0,0 +1,44 @@ +#!/bin/sh +# +# Ensure that a MITM can not stale the Packages/Sources without +# raising a error message. Note that the Release file is protected +# via the "Valid-Until" header +# +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "i386" + +insertpackage 'unstable' 'foo' 'i386' '1.0' + +setupaptarchive --no-update +changetowebserver + +echo "Acquire::Languages \"none\";" > rootdir/etc/apt/apt.conf.d/00nolanguages +testsuccess aptget update -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::http=1 +listcurrentlistsdirectory > lists.before + +# insert new version +mkdir aptarchive/dists/unstable/main/binary-i386/saved +cp -p aptarchive/dists/unstable/main/binary-i386/Packages* \ + aptarchive/dists/unstable/main/binary-i386/saved +insertpackage 'unstable' 'foo' 'i386' '2.0' +touch -d '+1 hour' aptarchive/dists/unstable/main/binary-i386/Packages +compressfile aptarchive/dists/unstable/main/binary-i386/Packages +# ensure that we do not get a I-M-S hit for the Release file + +generatereleasefiles '+1hour' +signreleasefiles + +# but now only deliver the previous Packages file instead of the new one +# (simulating a stale attack) +cp -p aptarchive/dists/unstable/main/binary-i386/saved/Packages* \ + aptarchive/dists/unstable/main/binary-i386/ + +# ensure this raises an error +testfailure aptget update -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::http=1 +testsuccess grep 'File has unexpected size' rootdir/tmp/testfailure.output +testfileequal lists.before "$(listcurrentlistsdirectory)" diff --git a/test/integration/test-apt-update-transactions b/test/integration/test-apt-update-transactions new file mode 100755 index 0000000..1f30d77 --- /dev/null +++ b/test/integration/test-apt-update-transactions @@ -0,0 +1,85 @@ +#!/bin/sh +set -e + +# ensure that an update will only succeed entirely or not at all + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'i386' +configcompression '.' 'gz' + +insertpackage 'unstable' 'foo' 'i386' '1.0' +insertsource 'unstable' 'foo' 'i386' '1.0' + +setupaptarchive --no-update + +breakfile() { + breakfiles "$1" "${1}.gz" +} +restorefile() { + unbreakfiles "$1" "${1}.gz" +} + +testrun() { + rm -rf aptarchive/dists.good + cp -a aptarchive/dists aptarchive/dists.good + insertpackage 'unstable' 'bar' 'i386' '1.0' + insertsource 'unstable' 'bar' 'i386' '1.0' + buildaptarchivefromfiles '+1 hour' + + # produce an unsigned repository + find aptarchive \( -name 'Release.gpg' -o -name 'InRelease' \) -delete + testfailure aptget update --no-allow-insecure-repositories + testfileequal "$1" "$(listcurrentlistsdirectory)" + + # signed but broken + signreleasefiles + + onehashbroken() { + rm -rf rootdir/var/lib/apt/lists/partial + testfailure aptget update -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::http=1 + # each file generates two messages with this string + testequal '2' grep --count 'Hash Sum mismatch' rootdir/tmp/testfailure.output + testfileequal "$1" "$(listcurrentlistsdirectory)" + } + + breakfile aptarchive/dists/unstable/main/binary-i386/Packages + onehashbroken "$1" + restorefile aptarchive/dists/unstable/main/binary-i386/Packages + + breakfile aptarchive/dists/unstable/main/source/Sources + onehashbroken "$1" + restorefile aptarchive/dists/unstable/main/source/Sources + + rm -rf aptarchive/dists + cp -a aptarchive/dists.good aptarchive/dists +} + +testsetup() { + msgmsg 'Test with no initial data over' "$1" + rm -rf rootdir/var/lib/apt/lists + mkdir -p rootdir/var/lib/apt/lists/partial + listcurrentlistsdirectory > listsdir.lst + testrun 'listsdir.lst' + + msgmsg 'Test with initial data over' "$1" + rm -rf rootdir/var/lib/apt/lists + testsuccess aptget update -o Debug::pkgAcquire::Worker=1 + listcurrentlistsdirectory > listsdir.lst + testrun 'listsdir.lst' +} + +testsetup 'file' + +changetowebserver +webserverconfig 'aptwebserver::support::modified-since' 'false' "$1" +webserverconfig 'aptwebserver::support::last-modified' 'false' "$1" # curl is clever and sees hits here also +webserverconfig 'aptwebserver::response-header::Accept-Ranges' 'none' "$1" + +testsetup 'http' + +changetohttpswebserver + +testsetup 'https' diff --git a/test/integration/test-apt-update-unauth b/test/integration/test-apt-update-unauth new file mode 100755 index 0000000..ef1e4ec --- /dev/null +++ b/test/integration/test-apt-update-unauth @@ -0,0 +1,80 @@ +#!/bin/sh +# +# Ensure that when going from unauthenticated to authenticated all +# files are checked again +# +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +umask 022 + +setupenvironment +configarchitecture "i386" +configcompression '.' 'xz' + +insertpackage 'unstable' 'foo' 'i386' '1.0' +insertsource 'unstable' 'foo' 'any' '1.0' + +setupaptarchive --no-update +changetowebserver + +# FIXME: +# - also check the unauth -> auth success case, i.e. that all files are +# reverified +runtest() { + # start unauthenticated + rm -rf rootdir/var/lib/apt/lists/ + find aptarchive/ -name '*Release*' -delete + + testwarning aptget update --allow-insecure-repositories + + # become authenticated + generatereleasefiles + signreleasefiles + + # move uncompressed away + mv aptarchive/dists/unstable/main/binary-i386/Packages \ + aptarchive/dists/unstable/main/binary-i386/Packages.uncompressed + + # and ensure we re-check the downloaded data + + # change the local packages file + PKGS=$(ls rootdir/var/lib/apt/lists/*Packages*) + echo "meep" > $PKGS + listcurrentlistsdirectory > lists.before + + # update and ensure all is reverted on the hashsum failure + testfailure aptget update -o Debug::Acquire::Transaction=1 -o Debug::pkgAcquire::Auth=1 -o Debug::pkgAcquire::worker=0 -o Debug::acquire::http=0 + + # ensure we have before what we have after + msgtest 'Check rollback on going from' 'unauth -> auth' + listcurrentlistsdirectory > lists.after + if cmp lists.before lists.after; then + msgpass + else + echo >&2 + echo >&2 '### Output of previous apt-get update ###' + cat >&2 rootdir/tmp/testfailure.output || true + echo >&2 '### Changes in the lists-directory: ###' + diff -u >&2 lists.before lists.after || true + echo >&2 '### Contents of the lists-directory: ###' + ls -l rootdir/var/lib/apt/lists rootdir/var/lib/apt/lists/partial || true + msgfail + fi + + # move uncompressed back for release file + mv aptarchive/dists/unstable/main/binary-i386/Packages.uncompressed \ + aptarchive/dists/unstable/main/binary-i386/Packages +} + +for COMPRESSEDINDEXES in 'false' 'true'; do + echo "Acquire::GzipIndexes \"$COMPRESSEDINDEXES\";" > rootdir/etc/apt/apt.conf.d/compressindexes + if $COMPRESSEDINDEXES; then + msgmsg 'Run tests with GzipIndexes enabled' + else + msgmsg 'Run tests with GzipIndexes disabled' + fi + runtest +done diff --git a/test/integration/test-apt-update-weak-hashes b/test/integration/test-apt-update-weak-hashes new file mode 100755 index 0000000..c44ab9a --- /dev/null +++ b/test/integration/test-apt-update-weak-hashes @@ -0,0 +1,202 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'i386' +confighashes 'MD5' +export APT_DONT_SIGN='' + +insertpackage 'unstable' 'foo' 'i386' '1.0' +insertsource 'unstable' 'foo' 'any' '1.0' + +setupaptarchive --no-update +APTARCHIVE="$(readlink -f ./aptarchive)" + +testnopkg() { + testnopackage "$@" + testnosrcpackage "$@" +} +testbadpkg() { + testempty find rootdir/var/lib/apt/lists -maxdepth 1 -name '*InRelease' -o -name '*Release.gpg' + testnotempty find rootdir/var/lib/apt/lists -maxdepth 1 -name '*Release' + testnotempty apt show "$@" + testnotempty apt showsrc "$@" + testfailureequal "WARNING: The following packages cannot be authenticated! + $* +E: There were unauthenticated packages and -y was used without --allow-unauthenticated" aptget install -qq -y "$@" + testfailureequal "WARNING: The following packages cannot be authenticated! + $* +E: Some packages could not be authenticated" aptget source -qq "$@" +} + +testrun() { + local TYPE="$1" + local FILENAME="$2" + shift 2 + local MANGLED="$(readlink -f ./rootdir)/var/lib/apt/lists/partial/$(echo "$FILENAME" | sed 's#/#_#g')" + msgmsg "$TYPE contains only weak hashes" + confighashes 'MD5' + generatereleasefiles + signreleasefiles + preparetest + if [ -z "$1" ]; then + listcurrentlistsdirectory > lists.before + testfailuremsg "W: No Hash entry in Release file ${MANGLED} which is considered strong enough for security purposes +E: The repository 'file:${APTARCHIVE} unstable $(basename "$FILENAME")' provides only weak security information. +N: Updating from such a repository can't be done securely, and is therefore disabled by default. +N: See apt-secure(8) manpage for repository creation and user configuration details." apt update + testfileequal lists.before "$(listcurrentlistsdirectory)" + testnopkg 'foo' + else + testwarningmsg "W: No Hash entry in Release file ${MANGLED} which is considered strong enough for security purposes +W: The repository 'file:${APTARCHIVE} unstable $(basename "$FILENAME")' provides only weak security information. +N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use. +N: See apt-secure(8) manpage for repository creation and user configuration details." apt update "$@" + testbadpkg 'foo' + fi + + msgmsg "$TYPE contains only weak hashes, but source allows weak" + sed -i 's#^deb\(-src\)\? #deb\1 [allow-weak=yes] #' rootdir/etc/apt/sources.list.d/* + genericprepare + testwarningmsg "W: No Hash entry in Release file ${MANGLED} which is considered strong enough for security purposes +W: The repository 'file:${APTARCHIVE} unstable $(basename "$FILENAME")' provides only weak security information. +N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use. +N: See apt-secure(8) manpage for repository creation and user configuration details." apt update "$@" + testbadpkg 'foo' + sed -i 's#^deb\(-src\)\? \[allow-weak=yes\] #deb\1 #' rootdir/etc/apt/sources.list.d/* + + msgmsg "$TYPE contains no hashes" + generatereleasefiles + sed -i -e '/^ / d' -e '/^MD5Sum:/ d' "$APTARCHIVE/dists/unstable/Release" + signreleasefiles + preparetest + if [ -z "$1" ]; then + listcurrentlistsdirectory > lists.before + testfailuremsg "W: No Hash entry in Release file ${MANGLED} +E: The repository 'file:${APTARCHIVE} unstable $(basename "$FILENAME")' provides only weak security information. +N: Updating from such a repository can't be done securely, and is therefore disabled by default. +N: See apt-secure(8) manpage for repository creation and user configuration details." apt update + testfileequal lists.before "$(listcurrentlistsdirectory)" + testnopkg 'foo' + else + testwarningmsg "W: No Hash entry in Release file ${MANGLED} +W: The repository 'file:${APTARCHIVE} unstable $(basename "$FILENAME")' provides only weak security information. +N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use. +N: See apt-secure(8) manpage for repository creation and user configuration details." apt update "$@" + testbadpkg 'foo' + fi + + msgmsg "$TYPE contains only weak hashes for some files" + confighashes 'MD5' 'SHA256' + generatereleasefiles + sed -i '/^ [0-9a-fA-Z]\{64\} .*Sources$/d' "$APTARCHIVE/dists/unstable/Release" + signreleasefiles + preparetest + if [ -z "$1" ]; then + testwarningmsg "W: Skipping acquire of configured file 'main/source/Sources' as repository 'file:${APTARCHIVE} unstable InRelease' provides only weak security information for it" apt update + testnosrcpackage foo + else + rm -f rootdir/var/lib/apt/lists/partial/* + testsuccess apt update "$@" + testnotempty apt showsrc foo + fi + testsuccess apt show foo +} + +genericprepare() { + rm -rf rootdir/var/lib/apt/lists + mkdir -p rootdir/var/lib/apt/lists/partial + touch rootdir/var/lib/apt/lists/lock + local RELEASEGPG="$(readlink -f ./rootdir)/var/lib/apt/lists/partial/$(echo "${APTARCHIVE}/dists/unstable/Release.gpg" | sed 's#/#_#g')" + touch "$RELEASEGPG" + chmod 644 "$RELEASEGPG" + local INRELEASE="$(readlink -f ./rootdir)/var/lib/apt/lists/partial/$(echo "${APTARCHIVE}/dists/unstable/InRelease" | sed 's#/#_#g')" + touch "$INRELEASE" + chmod 644 "$INRELEASE" +} +preparetest() { + rm -f "${APTARCHIVE}/dists/unstable/Release" "${APTARCHIVE}/dists/unstable/Release.gpg" + genericprepare +} +testrun 'InRelease' "${APTARCHIVE}/dists/unstable/InRelease" +testrun 'InRelease' "${APTARCHIVE}/dists/unstable/InRelease" --allow-weak-repositories -o APT::Get::List-Cleanup=0 + +preparetest() { + rm -f "${APTARCHIVE}/dists/unstable/InRelease" + genericprepare +} +testrun 'Release+Release.gpg' "${APTARCHIVE}/dists/unstable/Release" +testrun 'Release+Release.gpg' "${APTARCHIVE}/dists/unstable/Release" --allow-weak-repositories -o APT::Get::List-Cleanup=0 + +preparetest() { + rm -f "${APTARCHIVE}/dists/unstable/InRelease" "${APTARCHIVE}/dists/unstable/Release.gpg" + genericprepare +} + +msgmsg 'Moving between Release files with good and bad hashes' +rm -rf rootdir/var/lib/apt/lists +confighashes 'MD5' +generatereleasefiles 'now - 7 days' +signreleasefiles +testfailure apt update +testnopkg 'foo' +testwarning apt update --allow-weak-repositories +testbadpkg 'foo' + +confighashes 'MD5' 'SHA256' +rm -rf aptarchive/dists +insertpackage 'unstable' 'foo2' 'i386' '1.0' +insertsource 'unstable' 'foo2' 'any' '1.0' +setupaptarchive --no-update 'now - 5 days' +testsuccess apt update +testnopkg foo +testnotempty find rootdir/var/lib/apt/lists -maxdepth 1 -name '*InRelease' -o -name '*Release.gpg' +testnotempty apt show foo2 +testnotempty apt showsrc foo2 + +confighashes 'MD5' +rm -rf aptarchive/dists +insertpackage 'unstable' 'foo3' 'i386' '1.0' +insertsource 'unstable' 'foo3' 'any' '1.0' +setupaptarchive --no-update 'now - 3 days' +testfailure apt update +testnopkg foo +testnopkg foo3 +testnotempty find rootdir/var/lib/apt/lists -maxdepth 1 -name '*InRelease' -o -name '*Release.gpg' +testnotempty apt show foo2 +testnotempty apt showsrc foo2 +testwarning apt update --allow-weak-repositories +testnopkg foo2 +testbadpkg foo3 + +msgmsg 'Working with packages guarded only by weak hashes' +confighashes 'MD5' +rm -rf aptarchive/dists +buildsimplenativepackage 'foo4' 'i386' '1' 'unstable' +setupaptarchive --no-update +testfailure apt update +confighashes 'SHA256' +generatereleasefiles 'now - 1 day' +signreleasefiles +testsuccess apt update +cd downloaded +testfailure apt download foo4 +cp ../rootdir/tmp/testfailure.output download.output +testfailure grep 'Hash Sum mismatch' download.output +testsuccess grep 'Insufficient information' download.output + +testsuccess apt install foo4 -s +testfailure apt install foo4 -dy +cp ../rootdir/tmp/testfailure.output install.output +testfailure grep 'Hash Sum mismatch' install.output +testsuccess grep 'Insufficient information' download.output + +testsuccess apt source foo4 +cp ../rootdir/tmp/testsuccess.output source.output +testsuccess grep 'Skipping download of file' source.output +testfailure test -e foo4_1.dsc +testfailure test -e foo4_1.tar.* +cd .. diff --git a/test/integration/test-architecture-specification-parsing b/test/integration/test-architecture-specification-parsing new file mode 100755 index 0000000..2319938 --- /dev/null +++ b/test/integration/test-architecture-specification-parsing @@ -0,0 +1,120 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment + +# we need this construct here as it isn't really possible to fake native arch for dpkg-* tools +NATIVE="$(command dpkg --print-architecture)" +configarchitecture "${NATIVE}" 'armel' + +buildsimplenativepackage 'pkg-arch-foo' "$NATIVE" '1.0' 'stable' "Build-Depends: foo [${NATIVE} !${NATIVE}] +Depends: foo [${NATIVE} !${NATIVE}]" +buildsimplenativepackage 'pkg-arch-no-foo' "$NATIVE" '1.0' 'stable' "Build-Depends: foo [!${NATIVE} ${NATIVE}] +Depends: foo [!${NATIVE} ${NATIVE}]" +buildsimplenativepackage 'pkg-arch-foo-unrelated-no' "$NATIVE" '1.0' 'stable' "Build-Depends: foo [!someos-any ${NATIVE}] +Depends: foo [!someos-any ${NATIVE}]" +buildsimplenativepackage 'pkg-arch-foo-unrelated-no2' "$NATIVE" '1.0' 'stable' "Build-Depends: foo [${NATIVE} !someos-any] +Depends: foo [${NATIVE} !someos-any]" +buildsimplenativepackage 'no-depends' 'armel' '1.0' 'stable' 'Build-Depends: foo [armeb], bar [arm] +Depends: foo [armeb], bar [arm]' + +buildsimplenativepackage 'foo' "$NATIVE" '1.0' 'stable' + +insertinstalledpackage 'build-essential' 'all' '11.5' 'Multi-Arch: foreign' + +setupaptarchive + +testsuccessequal "Reading package lists... +Building dependency tree... +The following additional packages will be installed: + foo +The following NEW packages will be installed: + foo pkg-arch-foo +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1.0 stable [${NATIVE}]) +Inst pkg-arch-foo (1.0 stable [${NATIVE}]) +Conf foo (1.0 stable [${NATIVE}]) +Conf pkg-arch-foo (1.0 stable [${NATIVE}])" aptget install pkg-arch-foo -s + +testsuccessequal "Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + pkg-arch-no-foo +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst pkg-arch-no-foo (1.0 stable [${NATIVE}]) +Conf pkg-arch-no-foo (1.0 stable [${NATIVE}])" aptget install pkg-arch-no-foo -s + +testsuccessequal "Reading package lists... +Building dependency tree... +The following additional packages will be installed: + foo +The following NEW packages will be installed: + foo pkg-arch-foo-unrelated-no +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1.0 stable [${NATIVE}]) +Inst pkg-arch-foo-unrelated-no (1.0 stable [${NATIVE}]) +Conf foo (1.0 stable [${NATIVE}]) +Conf pkg-arch-foo-unrelated-no (1.0 stable [${NATIVE}])" aptget install pkg-arch-foo-unrelated-no -s + +testsuccessequal "Reading package lists... +Building dependency tree... +The following additional packages will be installed: + foo +The following NEW packages will be installed: + foo pkg-arch-foo-unrelated-no2 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1.0 stable [${NATIVE}]) +Inst pkg-arch-foo-unrelated-no2 (1.0 stable [${NATIVE}]) +Conf foo (1.0 stable [${NATIVE}]) +Conf pkg-arch-foo-unrelated-no2 (1.0 stable [${NATIVE}])" aptget install pkg-arch-foo-unrelated-no2 -s + +testsuccessequal "Reading package lists... +Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + foo +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1.0 stable [${NATIVE}]) +Conf foo (1.0 stable [${NATIVE}])" aptget build-dep pkg-arch-foo -s + +testsuccessequal 'Reading package lists... +pkg-arch-no-foo has no build depends. +Reading package lists... +Building dependency tree... +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget build-dep pkg-arch-no-foo -s + +testsuccessequal "Reading package lists... +Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + foo +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1.0 stable [${NATIVE}]) +Conf foo (1.0 stable [${NATIVE}])" aptget build-dep pkg-arch-foo-unrelated-no -s + +testsuccessequal "Reading package lists... +Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + foo +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1.0 stable [${NATIVE}]) +Conf foo (1.0 stable [${NATIVE}])" aptget build-dep pkg-arch-foo-unrelated-no2 -s + +testsuccessequal 'Reading package lists... +no-depends has no build depends. +Reading package lists... +Building dependency tree... +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget build-dep no-depends -s + +# this is not really testing APT - more that dpkg is in line with us +configarchitecture 'amd64' 'armel' +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + no-depends:armel +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst no-depends:armel (1.0 stable [armel]) +Conf no-depends:armel (1.0 stable [armel])' aptget install no-depends -s diff --git a/test/integration/test-authentication-basic b/test/integration/test-authentication-basic new file mode 100755 index 0000000..784a00c --- /dev/null +++ b/test/integration/test-authentication-basic @@ -0,0 +1,153 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'i386' + +insertpackage 'unstable' 'foo' 'all' '1' +setupaptarchive --no-update + +changetohttpswebserver --authorization="$(printf '%s' 'star@irc:hunter2' | base64 )" + +echo 'See, when YOU type hunter2, it shows to us as *******' > aptarchive/bash +echo 'Debug::Acquire::netrc "true";' > rootdir/etc/apt/apt.conf.d/netrcdebug.conf + +testauthfailure() { + testfailure apthelper download-file "${1}/bash" ./downloaded/bash + # crappy test, but http and https output are wastely different… + testsuccess grep 401 rootdir/tmp/testfailure.output + testfailure test -s ./downloaded/bash +} + +testauthsuccess() { + testsuccess apthelper download-file "${1}/bash" ./downloaded/bash + testfileequal ./downloaded/bash "$(cat aptarchive/bash)" + testfilestats ./downloaded/bash '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:644" + rm -f ./downloaded/bash + + # lets see if got/retains acceptable permissions + if [ -n "$AUTHCONF" ]; then + if [ "$(id -u)" = '0' ]; then + testfilestats "$AUTHCONF" '%U:%G:%a' '=' "_apt:$(id -gn):600" + else + testfilestats "$AUTHCONF" '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:600" + fi + fi + + rm -rf rootdir/var/lib/apt/lists + if expr index "$1" '@' >/dev/null; then + testsuccesswithnotice aptget update + else + testsuccess aptget update + fi + testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + foo +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1 unstable [all]) +Conf foo (1 unstable [all])' aptget install foo -s +} + +authfile() { + local AUTHCONF="${2:-rootdir/etc/apt/auth.conf}" + mkdir -p "$(dirname "$AUTHCONF")" + rm -f "$AUTHCONF" + printf '%s' "$1" > "$AUTHCONF" + chmod 600 "$AUTHCONF" +} + +runtest() { + # unauthorized fails + authfile '' + testauthfailure "$1" + + protocol="${1%%://*}" + + # good auth + authfile "machine ${protocol}://localhost +login star@irc +password hunter2" + testauthsuccess "$1" + + # bad auth + authfile "machine ${protocol}://localhost +login anonymous +password hunter2" + testauthfailure "$1" + + # 2 stanzas: unmatching + good auth + authfile "machine ${protocol}://debian.org +login debian +password jessie + +machine ${protocol}://localhost +login star@irc +password hunter2" + testauthsuccess "$1" + + # no protocol specifier + authfile "machine localhost +login star@irc +password hunter2" + if [ "$protocol" = "https" ]; then + testauthsuccess "$1" + else + testfailure apthelper download-file "${1}/bash" ./downloaded/bash + testsuccessequal "W: ${1}/bash: ${TMPWORKINGDIRECTORY}/rootdir/etc/apt/auth.conf: Credentials for localhost match, but the protocol is not encrypted. Annotate with http:// to use." grep "Credentials.*match" rootdir/tmp/testfailure.output + testauthfailure "$1" + fi + + # wrong protocol specifier + if [ "$protocol" = "https" ]; then + authfile "machine http://localhost +login star@irc +password hunter2" + else + authfile "machine https://localhost +login star@irc +password hunter2" + fi + testauthfailure "$1" + + # delete file, make sure it fails; add auth.conf.d snippet, works again. + rm rootdir/etc/apt/auth.conf + testauthfailure "$1" + + authfile "machine ${protocol}://localhost +login star@irc +password hunter2" rootdir/etc/apt/auth.conf.d/myauth.conf + testauthsuccess "$1" + rm rootdir/etc/apt/auth.conf.d/myauth.conf +} + +msgmsg 'server basic auth' +rewritesourceslist "http://localhost:${APTHTTPPORT}" +runtest "http://localhost:${APTHTTPPORT}" +rewritesourceslist "http://star%40irc:hunter2@localhost:${APTHTTPPORT}" +authfile '' +testauthsuccess "http://star%40irc:hunter2@localhost:${APTHTTPPORT}" +rewritesourceslist "https://localhost:${APTHTTPSPORT}" +runtest "https://localhost:${APTHTTPSPORT}" +rewritesourceslist "http://localhost:${APTHTTPPORT}" + +msgmsg 'proxy to server basic auth' +webserverconfig 'aptwebserver::request::absolute' 'uri' +# using ip instead of localhost avoids picking up the auth for the repo +# for the proxy as well as we serve them both over the same server… +export http_proxy="http://127.0.0.1:${APTHTTPPORT}" +runtest "http://localhost:${APTHTTPPORT}" +unset http_proxy + +msgmsg 'proxy basic auth to server basic auth' +webserverconfig 'aptwebserver::proxy-authorization' "$(printf 'moon:deer2' | base64)" +export http_proxy="http://moon:deer2@localhost:${APTHTTPPORT}" +runtest "http://localhost:${APTHTTPPORT}" + +msgmsg 'proxy basic auth to server' +authfile '' +webserverconfig 'aptwebserver::authorization' '' +testauthsuccess "http://localhost:${APTHTTPPORT}" diff --git a/test/integration/test-bug-1053887-regex-return-failure b/test/integration/test-bug-1053887-regex-return-failure new file mode 100755 index 0000000..46a0379 --- /dev/null +++ b/test/integration/test-bug-1053887-regex-return-failure @@ -0,0 +1,21 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +rm -f rootdir/etc/apt/sources.list +rm -f rootdir/etc/apt/sources.list.d/* + +insertinstalledpackage 'foo' 'all' '1' + +testfailureequal "Reading package lists... +Building dependency tree... +Note, selecting 'foo' for regex '^foo$' +Package foo is not available, but is referred to by another package. +This may mean that the package is missing, has been obsoleted, or +is only available from another source + +E: Version '2' for 'foo' was not found" apt install '^foo$'=2 diff --git a/test/integration/test-bug-254770-segfault-if-cache-not-buildable b/test/integration/test-bug-254770-segfault-if-cache-not-buildable new file mode 100755 index 0000000..6f6e1ab --- /dev/null +++ b/test/integration/test-bug-254770-segfault-if-cache-not-buildable @@ -0,0 +1,64 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +msgtest 'Test run as' 'non-root' +if [ "$(id -u)" = '0' ]; then + msgskip 'root has by definition no problems accessing files' + exit 0 +else + msgpass +fi + +setupenvironment +configarchitecture "i386" +setupaptarchive + +addtrap 'prefix' 'chmod a+x rootdir/var/lib/dpkg;' +chmod a-x rootdir/var/lib/dpkg + +testsegfault() { + msgtest "No segfault in" "$*" + local TEST="$("$@" 2>&1 | grep -v 'E:')" + if [ -z "$TEST" ]; then + msgpass + else + echo + echo "$TEST" + msgfail + fi +} + +echo 'quiet 2;' > rootdir/etc/apt/apt.conf.d/00be-quiet + +testsegfault aptcache gencaches +testsegfault aptcache showpkg +testsegfault aptcache showsrc +testsegfault aptcache stats +testsegfault aptcache dump +testsegfault aptcache dumpavail +testsegfault aptcache unmet +testsegfault aptcache search +testsegfault aptcache show apt +testsegfault aptcache depends apt +testsegfault aptcache rdepends apt +testsegfault aptcache pkgnames apt +testsegfault aptcache dotty apt +testsegfault aptcache xvcg apt +testsegfault aptcache policy apt + +testsegfault aptget update +testsegfault aptget upgrade +testsegfault aptget dselect-upgrade +testsegfault aptget dist-upgrade +testsegfault aptget install apt +testsegfault aptget remove apt +testsegfault aptget purge apt +testsegfault aptget source apt +testsegfault aptget build-dep apt +testsegfault aptget check +testsegfault aptget clean +testsegfault aptget autoclean +testsegfault aptget autoremove diff --git a/test/integration/test-bug-330162-encoded-tar-header b/test/integration/test-bug-330162-encoded-tar-header new file mode 100755 index 0000000..b779bbc --- /dev/null +++ b/test/integration/test-bug-330162-encoded-tar-header @@ -0,0 +1,11 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "i386" + +msgtest 'Test apt-ftparchive with encoded tar header package' +cp "$TESTDIR/deb-bug-330162-encoded-tar-header.deb" aptarchive/ +testsuccess aptftparchive packages aptarchive/ diff --git a/test/integration/test-bug-407511-fail-invalid-default-release b/test/integration/test-bug-407511-fail-invalid-default-release new file mode 100755 index 0000000..0e1b5ef --- /dev/null +++ b/test/integration/test-bug-407511-fail-invalid-default-release @@ -0,0 +1,66 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' + +insertpackage 'unstable' 'cool' 'all' '1.0-1' + +getcodenamefromsuite() { + if [ "$SUITE" = 'unstable' ]; then + echo -n 'sid' + else + echo -n "$SUITE" + fi +} +getreleaseversionfromsuite() { + if [ "$SUITE" = 'unstable' ]; then + echo -n '42.0' + else + echo -n '0.8.15' + fi +} + +getlabelfromsuite() { + if [ "$SUITE" = 'unstable' ]; then + echo -n 'UnstableTestcases' + else + echo -n 'Testcases' + fi +} + +setupaptarchive + +passdist() { + msgtest 'Test that target-release is accepted' $1 + testsuccess --nomsg aptget dist-upgrade -t $1 + msgtest 'Test that target-release pins with' $1 + aptcache policy -t $1 | grep -q ' 990' && msgpass || msgfail +} + +faildist() { + msgtest 'Test that target-release is refused' $1 + testfailure --nomsg aptget dist-upgrade -t $1 +} + +msgtest 'Test that no default-release is active in this test' 'setup' +aptcache policy | grep -q ' 990' && msgfall || msgpass + +passdist unstable +passdist sid +faildist sidd +faildist stable +passdist 42.0 +passdist 42.* +passdist 42* +passdist 4*.0 +faildist 21.0 +faildist 21* +# we accept, but don't validate the following +passdist a=unstable +passdist n=sid +passdist v=42.0 +passdist c=main +passdist l=UnstableTestcases diff --git a/test/integration/test-bug-470115-new-and-tighten-recommends b/test/integration/test-bug-470115-new-and-tighten-recommends new file mode 100755 index 0000000..f27990e --- /dev/null +++ b/test/integration/test-bug-470115-new-and-tighten-recommends @@ -0,0 +1,174 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' + +insertinstalledpackage 'cool' 'all' '1' +insertinstalledpackage 'stuff' 'all' '1' +insertinstalledpackage 'coolstuff' 'all' '1' + +insertpackage 'unstable' 'cool' 'all' '2' +insertpackage 'unstable' 'stuff' 'all' '2' +insertpackage 'unstable' 'coolstuff' 'all' '2' +insertpackage 'unstable' 'super' 'all' '2' + +insertinstalledpackage 'tighten-cool' 'all' '1' 'Recommends: cool (>= 1)' +insertpackage 'unstable' 'tighten-cool' 'all' '2' 'Recommends: cool (>= 2)' + +insertinstalledpackage 'tighten-coolorstuff' 'all' '1' 'Recommends: cool (>= 1) | stuff (>= 1)' +insertpackage 'unstable' 'tighten-coolorstuff' 'all' '2' 'Recommends: stuff (>= 2) | cool (>= 2)' + +insertinstalledpackage 'tighten-coolorstuff2' 'all' '1' 'Recommends: cool (>= 1) | stuff (>= 1)' +insertpackage 'unstable' 'tighten-coolorstuff2' 'all' '2' 'Recommends: stuff2 (>= 2) | cool (>= 2)' + +insertinstalledpackage 'newrec-cool' 'all' '1' +insertpackage 'unstable' 'newrec-cool' 'all' '2' 'Recommends: cool (>= 2)' + +insertinstalledpackage 'newrec-super' 'all' '1' +insertpackage 'unstable' 'newrec-super' 'all' '2' 'Recommends: super' + +insertinstalledpackage 'newrec-coolorstuff' 'all' '1' +insertpackage 'unstable' 'newrec-coolorstuff' 'all' '2' 'Recommends: cool (>= 2) | stuff (>= 2)' + +insertinstalledpackage 'cool-gone' 'all' '1' 'Recommends: cool (>= 1) | stuff (>= 2)' +insertpackage 'unstable' 'cool-gone' 'all' '2' 'Recommends: stuff (>= 2)' + +insertinstalledpackage 'super-overtake' 'all' '1' 'Recommends: cool | super, stuff | super' +insertpackage 'unstable' 'super-overtake' 'all' '2' 'Recommends: stuff (>= 3) | super, super | cool (>= 2)' + +insertinstalledpackage 'upgrade-over-new' 'all' '1' 'Recommends: cool' +insertpackage 'unstable' 'upgrade-over-new' 'all' '2' 'Recommends: cool (>= 2) | super' + +insertinstalledpackage 'now-satisfiable' 'all' '1' 'Recommends: cool (>= 3)' +insertpackage 'unstable' 'now-satisfiable' 'all' '2' 'Recommends: cool (>= 2)' + +setupaptarchive + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + cool +The following packages will be upgraded: + cool tighten-cool +2 upgraded, 0 newly installed, 0 to remove and 11 not upgraded. +Inst cool [1] (2 unstable [all]) +Inst tighten-cool [1] (2 unstable [all]) +Conf cool (2 unstable [all]) +Conf tighten-cool (2 unstable [all])' aptget install tighten-cool -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + stuff +The following packages will be upgraded: + stuff tighten-coolorstuff +2 upgraded, 0 newly installed, 0 to remove and 11 not upgraded. +Inst stuff [1] (2 unstable [all]) +Inst tighten-coolorstuff [1] (2 unstable [all]) +Conf stuff (2 unstable [all]) +Conf tighten-coolorstuff (2 unstable [all])' aptget install tighten-coolorstuff -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + cool +The following packages will be upgraded: + cool tighten-coolorstuff2 +2 upgraded, 0 newly installed, 0 to remove and 11 not upgraded. +Inst cool [1] (2 unstable [all]) +Inst tighten-coolorstuff2 [1] (2 unstable [all]) +Conf cool (2 unstable [all]) +Conf tighten-coolorstuff2 (2 unstable [all])' aptget install tighten-coolorstuff2 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + cool +The following packages will be upgraded: + cool newrec-cool +2 upgraded, 0 newly installed, 0 to remove and 11 not upgraded. +Inst cool [1] (2 unstable [all]) +Inst newrec-cool [1] (2 unstable [all]) +Conf cool (2 unstable [all]) +Conf newrec-cool (2 unstable [all])' aptget install newrec-cool -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + super +The following NEW packages will be installed: + super +The following packages will be upgraded: + newrec-super +1 upgraded, 1 newly installed, 0 to remove and 12 not upgraded. +Inst newrec-super [1] (2 unstable [all]) +Inst super (2 unstable [all]) +Conf newrec-super (2 unstable [all]) +Conf super (2 unstable [all])' aptget install newrec-super -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + cool +The following packages will be upgraded: + cool newrec-coolorstuff +2 upgraded, 0 newly installed, 0 to remove and 11 not upgraded. +Inst cool [1] (2 unstable [all]) +Inst newrec-coolorstuff [1] (2 unstable [all]) +Conf cool (2 unstable [all]) +Conf newrec-coolorstuff (2 unstable [all])' aptget install newrec-coolorstuff -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + stuff +The following packages will be upgraded: + cool-gone stuff +2 upgraded, 0 newly installed, 0 to remove and 11 not upgraded. +Inst cool-gone [1] (2 unstable [all]) +Inst stuff [1] (2 unstable [all]) +Conf cool-gone (2 unstable [all]) +Conf stuff (2 unstable [all])' aptget install cool-gone -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + super +The following NEW packages will be installed: + super +The following packages will be upgraded: + super-overtake +1 upgraded, 1 newly installed, 0 to remove and 12 not upgraded. +Inst super (2 unstable [all]) +Inst super-overtake [1] (2 unstable [all]) +Conf super (2 unstable [all]) +Conf super-overtake (2 unstable [all])' aptget install super-overtake -s + +# if super would be in front, we would get a new here as it is new and +# the first option in an or-group should be the preferred one… +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + cool +The following packages will be upgraded: + cool upgrade-over-new +2 upgraded, 0 newly installed, 0 to remove and 11 not upgraded. +Inst cool [1] (2 unstable [all]) +Inst upgrade-over-new [1] (2 unstable [all]) +Conf cool (2 unstable [all]) +Conf upgrade-over-new (2 unstable [all])' aptget install upgrade-over-new -s + +# the recommends wasn't used before so while we could do it now, +# the user doesn't seem to need it so avoid upgrading it +testsuccessequal 'Reading package lists... +Building dependency tree... +Recommended packages: + cool +The following packages will be upgraded: + now-satisfiable +1 upgraded, 0 newly installed, 0 to remove and 12 not upgraded. +Inst now-satisfiable [1] (2 unstable [all]) +Conf now-satisfiable (2 unstable [all])' aptget install now-satisfiable -s diff --git a/test/integration/test-bug-490000-search-in-all-translations b/test/integration/test-bug-490000-search-in-all-translations new file mode 100755 index 0000000..26c1618 --- /dev/null +++ b/test/integration/test-bug-490000-search-in-all-translations @@ -0,0 +1,120 @@ +#!/bin/sh + +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "${TESTDIR}/framework" + +setupenvironment + +ARCH='amd64' +DIST='unstable' + +PKG_NAME='foo' +PKG_VERSION='1.0' + +SHORT_DESCRIPTION_EN='have you fooed today?' +LONG_DESCRIPTION_EN="${SHORT_DESCRIPTION_EN} + Where there's foo, there's fire." + +SHORT_DESCRIPTION_ZZ='bar alter ego' +LONG_DESCRIPTION_ZZ="${SHORT_DESCRIPTION_ZZ} + He who foos last foos best." + +configure_languages() +{ + { + echo '#clear Acquire::Languages;' + echo 'Acquire::Languages {' + for language in "$@" + do + echo " \"${language}\";" + done + echo '};' + } > rootdir/etc/apt/apt.conf.d/languages.conf +} + +new_translation_record() +{ + echo "Package: ${1:?Package name expected}" + echo "Description-md5: ${2:?Description-md5 expected}" + echo "Description-${3:?Language code expected}: ${4:?Package description expected}" + echo +} + +str_md5sum() +{ + echo -n "${1:?String expected}" | md5sum | cut -d ' ' -f 1 +} + +configarchitecture "${ARCH}" + +insertpackage "${DIST}" "${PKG_NAME}" "${ARCH}" "${PKG_VERSION}" '' '' "${LONG_DESCRIPTION_EN}" +# English translation was already added by insertpackage above +new_translation_record "${PKG_NAME}" "$(str_md5sum "${LONG_DESCRIPTION_EN}")" 'zz' "${LONG_DESCRIPTION_ZZ}" > "aptarchive/dists/${DIST}/main/i18n/Translation-zz" + +configure_languages en zz +setupaptarchive + +# =========================== +# +# Tests +# +# =========================== + +# ---- LP: #1907850 - check that we actually include the translations we have in the cache, even if config changed --- +configure_languages en zz +testsuccess aptcache showpkg ${PKG_NAME} +cp rootdir/tmp/testsuccess.output showpkg.output + +testsuccess grep -qE Translation-zz showpkg.output +rm rootdir/etc/apt/apt.conf.d/languages.conf +rm rootdir/var/cache/apt/*.bin + +testsuccess aptcache showpkg ${PKG_NAME} +cp rootdir/tmp/testsuccess.output showpkg.output +testsuccess grep -qE Translation-zz showpkg.output + +# ----------[ apt ]---------- + +# Test that all translations are searched, but the short +# description is in the first configured language + +configure_languages en zz +testequal "${PKG_NAME}/${DIST} ${PKG_VERSION} ${ARCH} + ${SHORT_DESCRIPTION_EN} +" apt -qq search alter ego + +configure_languages zz en +testequal "${PKG_NAME}/${DIST} ${PKG_VERSION} ${ARCH} + ${SHORT_DESCRIPTION_ZZ} +" apt -qq search you today + +# Search in configured languages only +configure_languages zz +testempty apt -qq search where fire + +# Patterns are AND-ed i.e. all must match against a single +# description translation +configure_languages en zz +testempty apt -qq search there best + +# -------[ apt-cache ]------- + +# Test that all translations are searched, but the short +# description is in the first configured language + +configure_languages en zz +testequal "${PKG_NAME} - ${SHORT_DESCRIPTION_EN}" aptcache search alter ego + +configure_languages zz en +testequal "${PKG_NAME} - ${SHORT_DESCRIPTION_ZZ}" aptcache search you today + +# Search in configured languages only +configure_languages zz +testempty aptcache search where fire + +# Patterns are AND-ed i.e. all must match against a single +# description translation +configure_languages en zz +testempty aptcache search there best diff --git a/test/integration/test-bug-507998-dist-upgrade-recommends b/test/integration/test-bug-507998-dist-upgrade-recommends new file mode 100755 index 0000000..b546874 --- /dev/null +++ b/test/integration/test-bug-507998-dist-upgrade-recommends @@ -0,0 +1,26 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertinstalledpackage 'tshark' 'amd64' '1.0.4-1' 'Depends: wireshark-common' +insertinstalledpackage 'wireshark-common' 'amd64' '1.0.4-1' 'Recommends: wireshark (>= 1.0.4-1) | tshark (>= 1.0.4-1)' +insertpackage 'unstable' 'tshark' 'amd64' '1.2.1-2' 'Depends: wireshark-common (= 1.2.1-2)' +insertpackage 'unstable' 'wireshark-common' 'amd64' '1.2.1-2' 'Recommends: wireshark (>= 1.2.1-2) | tshark (>= 1.2.1-2)' +insertpackage 'unstable' 'wireshark' 'amd64' '1.2.1-2' 'Depends: wireshark-common (= 1.2.1-2)' + +setupaptarchive + +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be upgraded: + tshark wireshark-common +2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Inst wireshark-common [1.0.4-1] (1.2.1-2 unstable [amd64]) +Inst tshark [1.0.4-1] (1.2.1-2 unstable [amd64]) +Conf wireshark-common (1.2.1-2 unstable [amd64]) +Conf tshark (1.2.1-2 unstable [amd64])' aptget dist-upgrade -s diff --git a/test/integration/test-bug-543966-downgrade-below-1000-pin b/test/integration/test-bug-543966-downgrade-below-1000-pin new file mode 100755 index 0000000..db81b7c --- /dev/null +++ b/test/integration/test-bug-543966-downgrade-below-1000-pin @@ -0,0 +1,90 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'i386' + +insertpackage 'unstable' 'base-files' 'all' '5.0.0' +insertinstalledpackage 'base-files' 'all' '5.0.0-1' + +setupaptarchive + +STATUS=$(readlink -f rootdir/var/lib/dpkg/status) +APTARCHIVE="$(readlink -f aptarchive)" + +testsuccessequal "base-files: + Installed: 5.0.0-1 + Candidate: 5.0.0-1 + Version table: + *** 5.0.0-1 100 + 100 $STATUS + 5.0.0 500 + 500 file:${APTARCHIVE} unstable/main all Packages" aptcache policy base-files -o apt::pin=0 + +writepin() { + echo "Package: $1 +Pin: release a=unstable +Pin-Priority: $2" > rootdir/etc/apt/preferences +} + + + +testpinning() { + local PKGPINPRIO='' + local REPPINPRIO='' + if [ "$1" != '*' ]; then + PKGPINPRIO='' + REPPINPRIO=' 500' + fi + writepin "$1" '99' + testsuccessequal "base-files: + Installed: 5.0.0-1 + Candidate: 5.0.0-1 + Version table: + *** 5.0.0-1 100 + 100 $STATUS + 5.0.0 ${PKGPINPRIO:-99} + ${REPPINPRIO:- 99} file:${APTARCHIVE} unstable/main all Packages" aptcache policy base-files -o apt::pin=99 + + writepin "$1" '100' + testsuccessequal "base-files: + Installed: 5.0.0-1 + Candidate: 5.0.0-1 + Version table: + *** 5.0.0-1 100 + 100 $STATUS + 5.0.0 ${PKGPINPRIO:-100} + ${REPPINPRIO:- 100} file:${APTARCHIVE} unstable/main all Packages" aptcache policy base-files -o apt::pin=100 + + writepin "$1" '999' + testsuccessequal "base-files: + Installed: 5.0.0-1 + Candidate: 5.0.0-1 + Version table: + *** 5.0.0-1 100 + 100 $STATUS + 5.0.0 ${PKGPINPRIO:-999} + ${REPPINPRIO:- 999} file:${APTARCHIVE} unstable/main all Packages" aptcache policy base-files -o apt::pin=999 + + writepin "$1" '1000' + testsuccessequal "base-files: + Installed: 5.0.0-1 + Candidate: 5.0.0 + Version table: + *** 5.0.0-1 100 + 100 $STATUS + 5.0.0 ${PKGPINPRIO:-1000} + ${REPPINPRIO:-1000} file:${APTARCHIVE} unstable/main all Packages" aptcache policy base-files -o apt::pin=1000 +} + +msgmsg 'Tests with generic-form pin' +testpinning '*' +msgmsg 'Tests with specific-form pin' +testpinning 'base-files' +msgmsg 'Tests with specific-form pin with glob' +testpinning 'base-fil*' +msgmsg 'Tests with specific-form pin with regex' +testpinning '/^base-f[iI]les$/' diff --git a/test/integration/test-bug-549968-install-depends-of-not-installed b/test/integration/test-bug-549968-install-depends-of-not-installed new file mode 100755 index 0000000..90ce58a --- /dev/null +++ b/test/integration/test-bug-549968-install-depends-of-not-installed @@ -0,0 +1,28 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "i386" + +insertpackage 'unstable' 'libc6' 'all' '1.0' +insertpackage 'unstable' 'coolstuff' 'all' '1.0' 'Recommends: extracoolstuff' +insertpackage 'unstable' 'extracoolstuff' 'all' '1.0' 'Depends: libc6' + +setupaptarchive + +# We check the Markers here as the autoremove nuker will also +# prevent it, but to late - its better to fail earlier +testsuccessequal "Reading package lists... +Building dependency tree... + MarkInstall coolstuff:i386 < none -> 1.0 @un puN IPb > FU=1 + coolstuff:i386 Recommends on extracoolstuff:i386 < none | 1.0 @hn puH > can't be satisfied! (dep) +Package 'extracoolstuff' is not installed, so not removed +Recommended packages: + extracoolstuff +The following NEW packages will be installed: + coolstuff +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst coolstuff (1.0 unstable [all]) +Conf coolstuff (1.0 unstable [all])" aptget install coolstuff extracoolstuff- -o Debug::pkgDepCache::Marker=1 -s diff --git a/test/integration/test-bug-590041-prefer-non-virtual-packages b/test/integration/test-bug-590041-prefer-non-virtual-packages new file mode 100755 index 0000000..1b1e3aa --- /dev/null +++ b/test/integration/test-bug-590041-prefer-non-virtual-packages @@ -0,0 +1,54 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' 'armel' + +pkglibc6="Package: libc6 +Architecture: armel +Version: 2.11.2-2~0.3 +Description: Embedded GNU C Library: Shared libraries +Description-md5: b8c1e0561b75e2dc6b6482a99079c3e4 +Filename: pool/main/e/eglibc/libc6_2.11.2-2_armel.deb +Installed-Size: 9740 +MD5sum: f5b878ce5fb8aa01a7927fa1460df537 +Maintainer: GNU Libc Maintainers <debian-glibc@lists.debian.org> +Priority: required +SHA1: 0464d597dfbf949e8c17a42325b1f93fb4914afd +SHA256: faca4a3d9ccff57568abf41f6cb81ddd835be7b5d8b0161e2d5f9a7f26aae3c0 +Section: libs +Size: 4178958 +" + +pkglibdb1="Package: libdb1 +Architecture: i386 +Version: 2.1.3-13~0.3 +Replaces: libc6 (<< 2.2.5-13~0.3) +Description: The Berkeley database routines [glibc 2.0/2.1 compatibility] +Description-md5: de1876f7fe7f7709a110875e145e38a8 +Filename: pool/main/d/db1-compat/libdb1-compat_2.1.3-13_armel.deb +Installed-Size: 136 +MD5sum: 4043f176ab2b40b0c01bc1211b8c103c +Maintainer: Colin Watson <cjwatson@debian.org> +Priority: extra +SHA1: b9396fdd2e3e8d1d4ba9e74e7346075852d85666 +SHA256: f17decaa28d1db3eeb9eb17bebe50d437d293a509bcdd7cdfd3ebb56f5de3cea +Section: oldlibs +Size: 44168 +" + +cat >aptarchive/Packages <<EOF +$pkglibc6 +$pkglibdb1 +EOF + +setupaptarchive + +testnopackage libc6:i386 +testsuccessequal "$pkglibc6" aptcache show libc6:armel +testsuccessequal "$pkglibc6" aptcache show libc6 +testsuccessequal "$pkglibdb1" aptcache show libdb1:i386 +testnopackage libdb1:armel +testsuccessequal "$pkglibdb1" aptcache show libdb1 diff --git a/test/integration/test-bug-590438-broken-provides-thanks-to-remove-order b/test/integration/test-bug-590438-broken-provides-thanks-to-remove-order new file mode 100755 index 0000000..7610752 --- /dev/null +++ b/test/integration/test-bug-590438-broken-provides-thanks-to-remove-order @@ -0,0 +1,96 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "i386" +setupaptarchive + +pkgbasefile="Package: base-files +Status: install ok installed +Essential: yes +Priority: required +Section: admin +Installed-Size: 472 +Maintainer: Santiago Vila <sanvila@debian.org> +Architecture: i386 +Version: 5.8 +Replaces: base, dpkg (<= 1.15.0), miscutils +Provides: base +Filename: pool/main/b/base-files/base-files_5.8_i386.deb +Size: 73986 +MD5sum: 8489687ce10e656babd467c9ee389349 +Description-de: Verschiedene Dateien für das Basis-System von Debian" + +predependsgawk() { + cp "$TESTDIR/$(echo "$(basename "$0")" | sed 's/test-/status-/')" rootdir/var/lib/dpkg/status + echo "$pkgbasefile +Pre-Depends: $1 +" >> rootdir/var/lib/dpkg/status + testsuccessequal "Inst gawk (1:3.1.7.dfsg-5 localhost [i386]) +Conf gawk (1:3.1.7.dfsg-5 localhost [i386]) +Remv mawk [1.3.3-15]" aptget install gawk mawk- -sqq -o PreDepends=$(echo "$1" | sed 's/ //g') +} + +predependsgawk "gawk | mawk" +predependsgawk "mawk | gawk" + +predependsgawk "aawk | mawk | gawk" +predependsgawk "aawk | gawk | mawk" + +predependsgawk "gawk | awk" +predependsgawk "aawk | gawk | awk" + +predependsgawk "mawk | awk" + +predependsgawk "awk | gawk" +predependsgawk "awk | gawk | aawk" + +predependsgawk "awk | mawk" + +predependsgawk "aawk | awk" +predependsgawk "awk | aawk" + +predependsgawk "awk" + +predependsgawk2() { + cp "$TESTDIR/$(echo "$(basename "$0")" | sed 's/test-/status-/')" rootdir/var/lib/dpkg/status + echo "$pkgbasefile +Pre-Depends: $1 +" >> rootdir/var/lib/dpkg/status + testequalor2 "Inst coolstuff (1-1 localhost [all]) +Conf coolstuff (1-1 localhost [all]) +Inst gawk2 (1:3.1.7.dfsg-5 localhost [i386]) +Conf gawk2 (1:3.1.7.dfsg-5 localhost [i386]) +Remv mawk [1.3.3-15]" "Inst coolstuff (1-1 localhost [all]) +Inst gawk2 (1:3.1.7.dfsg-5 localhost [i386]) +Conf coolstuff (1-1 localhost [all]) +Conf gawk2 (1:3.1.7.dfsg-5 localhost [i386]) +Remv mawk [1.3.3-15]" aptget install gawk2 mawk- -sqq -o PreDepends=$(echo "$1" | sed 's/ //g') +} + +predependsgawk2 "gawk2 | mawk" +predependsgawk2 "mawk | gawk2" + +predependsgawk2 "aawk | mawk | gawk2" +predependsgawk2 "aawk | gawk2 | mawk" + +predependsgawk2 "gawk2 | awk" +predependsgawk2 "aawk | gawk2 | awk" + +predependsgawk2 "mawk | awk" + +predependsgawk2 "awk | gawk2" +predependsgawk2 "awk | gawk2 | aawk" + +predependsgawk2 "awk | mawk" + +predependsgawk2 "aawk | awk" +predependsgawk2 "awk | aawk" + +predependsgawk2 "awk" + + +# aptget install gawk2 mawk- -s #-o Debug::pkgOrderList=1 #-o Debug::pkgPackageManager=1 diff --git a/test/integration/test-bug-591882-conkeror b/test/integration/test-bug-591882-conkeror new file mode 100755 index 0000000..6b90343 --- /dev/null +++ b/test/integration/test-bug-591882-conkeror @@ -0,0 +1,77 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "i386" +setupaptarchive + +UPGRADEFAIL="Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be REMOVED: + conkeror libdatrie0 libkrb53 libxcb-xlib0 xulrunner-1.9 +The following NEW packages will be installed: + gcc-4.4-base libavahi-client3 libavahi-common-data libavahi-common3 libc-bin + libdatrie1 libdb4.7 libdb4.8 libdbus-1-3 libgssapi-krb5-2 libjasper1 + libk5crypto3 libkrb5-3 libkrb5support0 liblzma2 libpam-modules libpam0g + libuuid1 libxcb-atom1 libxcb-aux0 libxcb-event1 libxml2 passwd + sensible-utils shared-mime-info xz-utils +The following packages will be upgraded: + coreutils debconf debconf-i18n debianutils defoma dpkg file fontconfig + fontconfig-config libacl1 libatk1.0-0 libattr1 libbz2-1.0 libc6 libcairo2 + libcomerr2 libcups2 libexpat1 libfontconfig1 libfreetype6 libgcc1 + libgcrypt11 libgdbm3 libglib2.0-0 libgnutls26 libgpg-error0 libgtk2.0-0 + libgtk2.0-common libhunspell-1.2-0 libice6 libjpeg62 libkeyutils1 + liblocale-gettext-perl libmagic1 libncurses5 libnewt0.52 libnspr4-0d + libnss3-1d libpango1.0-0 libpango1.0-common libpcre3 libpixman-1-0 + libpng12-0 libpopt0 libselinux1 libslang2 libsm6 libsqlite3-0 + libstartup-notification0 libstdc++6 libtasn1-3 libtext-charwidth-perl + libtext-iconv-perl libtext-wrapi18n-perl libthai-data libthai0 libtiff4 + libx11-6 libx11-data libxau6 libxcb-render-util0 libxcb-render0 libxcb1 + libxcomposite1 libxcursor1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxft2 + libxi6 libxinerama1 libxrandr2 libxrender1 libxt6 lsb-base ncurses-bin perl + perl-base perl-modules readline-common sed ttf-dejavu-core ucf whiptail + x11-common zlib1g +87 upgraded, 26 newly installed, 5 to remove and 0 not upgraded. +Need to get 0 B/54.4 MB of archives. +After this operation, 12.4 MB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation." + +UPGRADESUCCESS="Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be REMOVED: + libdatrie0 libkrb53 libxcb-xlib0 xulrunner-1.9 +The following NEW packages will be installed: + gcc-4.4-base libasound2 libavahi-client3 libavahi-common-data + libavahi-common3 libc-bin libdatrie1 libdb4.7 libdb4.8 libdbus-1-3 + libgssapi-krb5-2 libjasper1 libk5crypto3 libkrb5-3 libkrb5support0 liblzma2 + libmozjs2d libpam-modules libpam0g libreadline6 libuuid1 libxcb-atom1 + libxcb-aux0 libxcb-event1 libxml2 passwd sensible-utils shared-mime-info + xulrunner-1.9.1 xz-utils +The following packages will be upgraded: + conkeror coreutils debconf debconf-i18n debianutils defoma dpkg file + fontconfig fontconfig-config libacl1 libatk1.0-0 libattr1 libbz2-1.0 libc6 + libcairo2 libcomerr2 libcups2 libexpat1 libfontconfig1 libfreetype6 libgcc1 + libgcrypt11 libgdbm3 libglib2.0-0 libgnutls26 libgpg-error0 libgtk2.0-0 + libgtk2.0-common libhunspell-1.2-0 libice6 libjpeg62 libkeyutils1 + liblocale-gettext-perl libmagic1 libncurses5 libnewt0.52 libnspr4-0d + libnss3-1d libpango1.0-0 libpango1.0-common libpcre3 libpixman-1-0 + libpng12-0 libpopt0 libselinux1 libslang2 libsm6 libsqlite3-0 + libstartup-notification0 libstdc++6 libtasn1-3 libtext-charwidth-perl + libtext-iconv-perl libtext-wrapi18n-perl libthai-data libthai0 libtiff4 + libx11-6 libx11-data libxau6 libxcb-render-util0 libxcb-render0 libxcb1 + libxcomposite1 libxcursor1 libxdamage1 libxdmcp6 libxext6 libxfixes3 libxft2 + libxi6 libxinerama1 libxrandr2 libxrender1 libxt6 lsb-base ncurses-bin perl + perl-base perl-modules readline-common sed ttf-dejavu-core ucf whiptail + x11-common zlib1g +88 upgraded, 30 newly installed, 4 to remove and 0 not upgraded. +Need to get 0 B/62.9 MB of archives. +After this operation, 36.0 MB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation." + +# Test that the old behavior can be restored with the option +testfailureequal "$UPGRADEFAIL" aptget dist-upgrade --trivial-only -o pkgProblemResolver::FixByInstall=0 +testfailureequal "$UPGRADESUCCESS" aptget dist-upgrade --trivial-only #-o pkgProblemResolver::FixByInstall=0 diff --git a/test/integration/test-bug-593360-modifiers-in-names b/test/integration/test-bug-593360-modifiers-in-names new file mode 100755 index 0000000..dc9a152 --- /dev/null +++ b/test/integration/test-bug-593360-modifiers-in-names @@ -0,0 +1,69 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "i386" +setupaptarchive + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + g++ +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst g++ (4:4.4.5-1 localhost [i386]) +Conf g++ (4:4.4.5-1 localhost [i386])' aptget install g++ -s + +testsuccessequal "Reading package lists... +Building dependency tree... +Package 'g++' is not installed, so not removed +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded." aptget remove g++ -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + g++ +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst g++ (4:4.4.5-1 localhost [i386]) +Conf g++ (4:4.4.5-1 localhost [i386])' aptget install g+++ -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + g++ +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst g++ (4:4.4.5-1 localhost [i386]) +Conf g++ (4:4.4.5-1 localhost [i386])' aptget purge g+++ -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + apt +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst apt (0.8.8 localhost [all]) +Conf apt (0.8.8 localhost [all])' aptget install apt -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + apt+ +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst apt+ (0.8.8 localhost [all]) +Conf apt+ (0.8.8 localhost [all])' aptget install apt+ -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + apt+ +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst apt+ (0.8.8 localhost [all]) +Conf apt+ (0.8.8 localhost [all])' aptget install apt++ -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + apt+ +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst apt+ (0.8.8 localhost [all]) +Conf apt+ (0.8.8 localhost [all])' aptget purge apt++ -s diff --git a/test/integration/test-bug-595691-empty-and-broken-archive-files b/test/integration/test-bug-595691-empty-and-broken-archive-files new file mode 100755 index 0000000..d71bd2c --- /dev/null +++ b/test/integration/test-bug-595691-empty-and-broken-archive-files @@ -0,0 +1,64 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "i386" + +buildaptarchive +touch aptarchive/Packages +setupflataptarchive + +failureupdate() { + rm -rf rootdir/var/lib/apt + testfailure aptget update --allow-insecure-repositories + testsuccess grep "^E: Failed to fetch store:${1} Empty files can't be valid archives$" rootdir/tmp/testfailure.output +} +successupdate() { + rm -rf rootdir/var/lib/apt + testwarning aptget update --allow-insecure-repositories +} + +createemptyarchive() { + find aptarchive/ \( -name "Packages*" -o -name "en*" \) -type f -delete + touch aptarchive/Packages + echo -n "" | $COMPRESSOR_CMD > aptarchive/${1}.$COMPRESS + find aptarchive -name '*Release*' -delete + rm -f aptarchive/Packages +} + +createemptyfile() { + find aptarchive/ \( -name "Packages*" -o -name "en*" \) -type f -delete + touch aptarchive/Packages aptarchive/${1}.$COMPRESS + find aptarchive -name '*Release*' -delete + rm -f aptarchive/Packages +} + +testoverfile() { + local APTARCHIVE="$(readlink -f ./aptarchive)" + forcecompressor "$1" + + msgmsg 'archive over file' "Packages.$COMPRESS" + createemptyarchive 'Packages' + successupdate + createemptyfile 'Packages' + failureupdate "$(readlink -f rootdir/var/lib/apt/lists/partial/$(echo "$APTARCHIVE" | sed -e 's#/#_#g')_Packages.${COMPRESS})" +} + +testoverhttp() { + forcecompressor "$1" + + msgmsg 'archive over http' "Packages.$COMPRESS" + createemptyarchive 'Packages' + successupdate + createemptyfile 'Packages' + failureupdate "$(readlink -f rootdir/var/lib/apt/lists/partial/localhost:${APTHTTPPORT}_Packages.${COMPRESS})" +} + +forallsupportedcompressors testoverfile + +# do the same again with http instead of file +changetowebserver + +forallsupportedcompressors testoverhttp diff --git a/test/integration/test-bug-596498-trusted-unsigned-repo b/test/integration/test-bug-596498-trusted-unsigned-repo new file mode 100755 index 0000000..4d0e3dc --- /dev/null +++ b/test/integration/test-bug-596498-trusted-unsigned-repo @@ -0,0 +1,75 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' + +buildsimplenativepackage 'cool' 'i386' '1.0' 'unstable' + +msgmsg 'default setup' +setupaptarchive + +aptgetupdate() { + rm -rf rootdir/var/lib/apt/ rootdir/var/cache/apt/*.bin + ${1:-testwarning} aptget update --allow-insecure-repositories +} + +PKGTEXT="$(aptget install cool --assume-no -d | head -n 8)" +DOWNLOG="$(echo "$PKGTEXT" | tail -n 1)" +PKGTEXT="$(echo "$PKGTEXT" | head -n 7)" +DEBFILE='rootdir/etc/apt/sources.list.d/apt-test-unstable-*.list' + +testsuccessequal "$PKGTEXT +$DOWNLOG +Download complete and in download only mode" aptget install cool --assume-no -d + +testsuccessequal "$PKGTEXT +$DOWNLOG +Download complete and in download only mode" aptget install cool --assume-no -d --allow-unauthenticated + +msgmsg 'sources marked trusted=no' +sed -i -e 's#\(deb\(-src\)\?\) #\1 [trusted=no] #' $DEBFILE +aptgetupdate 'testsuccess' + +testfailureequal "$PKGTEXT +WARNING: The following packages cannot be authenticated! + cool +Install these packages without verification? [y/N] N +E: Some packages could not be authenticated" aptget install cool --assume-no -d + +configarchitecture 'amd64' 'i386' +testequal "$(echo "$PKGTEXT" | sed 's#cool$#cool:i386#g') +WARNING: The following packages cannot be authenticated! + cool:i386 +Authentication warning overridden. +$DOWNLOG +Download complete and in download only mode" aptget install cool:i386 --assume-no -d --allow-unauthenticated +configarchitecture 'i386' + +find aptarchive/ \( -name 'Release.gpg' -o -name 'InRelease' \) -delete +msgmsg 'unsigned repo' +sed -i -e 's#\(deb\(-src\)\?\) \[trusted=no\] #\1 #' $DEBFILE +aptgetupdate + +testfailureequal "$PKGTEXT +WARNING: The following packages cannot be authenticated! + cool +Install these packages without verification? [y/N] N +E: Some packages could not be authenticated" aptget install cool --assume-no -d + +testsuccessequal "$PKGTEXT +WARNING: The following packages cannot be authenticated! + cool +Authentication warning overridden. +$DOWNLOG +Download complete and in download only mode" aptget install cool --assume-no -d --allow-unauthenticated + +msgmsg 'sources marked trusted=yes' +sed -i -e 's#\(deb\(-src\)\?\) #\1 [trusted=yes] #' $DEBFILE +aptgetupdate 'testsuccess' + +testsuccessequal "$PKGTEXT +$DOWNLOG +Download complete and in download only mode" aptget install cool --assume-no -d diff --git a/test/integration/test-bug-598669-install-postfix-gets-exim-heavy b/test/integration/test-bug-598669-install-postfix-gets-exim-heavy new file mode 100755 index 0000000..e7e4093 --- /dev/null +++ b/test/integration/test-bug-598669-install-postfix-gets-exim-heavy @@ -0,0 +1,19 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "i386" +setupaptarchive + +testfailureequal "Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + exim4 exim4-daemon-light +The following NEW packages will be installed: + postfix +0 upgraded, 1 newly installed, 2 to remove and 0 not upgraded. +Need to get 0 B/1326 kB of archives. +After this operation, 2236 kB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation." aptget install postfix --trivial-only diff --git a/test/integration/test-bug-601961-install-info b/test/integration/test-bug-601961-install-info new file mode 100755 index 0000000..3e13560 --- /dev/null +++ b/test/integration/test-bug-601961-install-info @@ -0,0 +1,50 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "i386" +setupaptarchive + +testfailureequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + findutils +WARNING: The following essential packages will be removed. +This should NOT be done unless you know exactly what you are doing! + findutils +0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. +After this operation, 1745 kB disk space will be freed. +E: Trivial Only specified but this is not a trivial operation.' aptget remove findutils --trivial-only + +testfailureequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + install-info +0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. +After this operation, 262 kB disk space will be freed. +E: Trivial Only specified but this is not a trivial operation.' aptget remove install-info --trivial-only + +testfailureequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + essentialpkg findutils +WARNING: The following essential packages will be removed. +This should NOT be done unless you know exactly what you are doing! + findutils essentialpkg (due to findutils) +0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded. +After this operation, 2007 kB disk space will be freed. +E: Trivial Only specified but this is not a trivial operation.' aptget remove essentialpkg findutils --trivial-only + +testfailureequal 'Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + findutils : Depends: essentialpkg but it is not going to be installed +E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.' aptget remove essentialpkg --trivial-only diff --git a/test/integration/test-bug-602412-dequote-redirect b/test/integration/test-bug-602412-dequote-redirect new file mode 100755 index 0000000..3db7b5e --- /dev/null +++ b/test/integration/test-bug-602412-dequote-redirect @@ -0,0 +1,64 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +buildsimplenativepackage 'unrelated' 'all' '0.5~squeeze1' 'unstable' +buildsimplenativepackage 'unrelated2' 'all' '0.5~squeeze1' 'unstable' +insertinstalledpackage 'unrelated2' 'all' '0.1' + +setupaptarchive --no-update +changetowebserver -o aptwebserver::redirect::replace::/pool/=/newpool/ \ + -o aptwebserver::redirect::replace::/dists/=/newdists/ + +mv aptarchive/pool aptarchive/newpool +mv aptarchive/dists aptarchive/newdists + +testrun() { + msgmsg "Test $1 redirection works in method boundaries" "$2" + msgtest 'Test redirection works in' 'apt-get update' + testsuccess --nomsg aptget update + + # check that I-M-S header is kept in redirections + testsuccessequal "Hit:1 $2 unstable InRelease +Reading package lists..." aptget update + + msgtest 'Test redirection works in' 'package download' + testsuccess --nomsg aptget install unrelated --download-only -y +} + +for CODE in 301 302 307 308; do + webserverconfig 'aptwebserver::redirect::httpcode' "$CODE" + rm -f aptarchive/webserver.log.client*.log + testrun "$CODE" "http://localhost:${APTHTTPPORT}" + testsuccess grep "^HTTP/1.1 $CODE " aptarchive/webserver.log.client*.log + rm -rf rootdir/var/lib/apt/lists rootdir/var/cache/apt/archives +done + +changetohttpswebserver + +for CODE in 301 302 307 308; do + webserverconfig 'aptwebserver::redirect::httpcode' "$CODE" + rm -f aptarchive/webserver.log.client*.log + testrun "$CODE" "https://localhost:${APTHTTPSPORT}" + testsuccess grep "^HTTP/1.1 $CODE " aptarchive/webserver.log.client*.log + rm -rf rootdir/var/lib/apt/lists rootdir/var/cache/apt/archives +done + +testsuccess apt update +testsuccess aptget install unrelated --download-only +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following NEW packages will be installed: + unrelated +The following packages have been kept back: + unrelated2 +0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. +Inst unrelated (0.5~squeeze1 unstable [all]) +Conf unrelated (0.5~squeeze1 unstable [all])' aptget dist-upgrade unrelated --no-download --fix-missing -s +testsuccess aptget dist-upgrade unrelated --no-download --fix-missing -y +testdpkginstalled unrelated diff --git a/test/integration/test-bug-604222-new-and-autoremove b/test/integration/test-bug-604222-new-and-autoremove new file mode 100755 index 0000000..47da810 --- /dev/null +++ b/test/integration/test-bug-604222-new-and-autoremove @@ -0,0 +1,116 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "i386" + +insertpackage 'stable' 'dummy-archive' 'i386' '0.invalid.0' 'Depends: libavcodec52, libvtk5-dev | libopenal-dev' +insertpackage 'stable' 'libavcodec52' 'i386' '4:0.5.2-6' 'Conflicts: libvtk5-dev' +insertpackage 'stable' 'libopenal-dev' 'i386' '1:1.12.854-2' +insertpackage 'stable' 'libvtk5-dev' 'i386' '5.4.2-8' 'Depends: libvtk5.4 (= 5.4.2-8)' +insertpackage 'stable' 'libvtk5.4' 'i386' '5.4.2-8' 'Depends: libavcodec52 (>= 4:0.5.1-1)' + +insertpackage 'stable' 'gwenview' 'i386' '4:16.08.0-1' 'Depends: libkf5kipi-bin, libkf5kipi-data' +insertpackage 'stable' 'libkf5kipi-bin' 'i386' '4:16.08.0-1' +insertpackage 'stable' 'libkf5kipi-data' 'i386' '4:16.08.0-1' 'Breaks: libkipi-data' +insertpackage 'stable' 'libkipi-data' 'i386' '4:15.08.0-1' '' 'important' + +setupaptarchive + +insertinstalledpackage 'libvtk5.4' 'i386' '5.4.2-7' +testsuccess aptmark markauto 'libvtk5.4' +testmarkedauto 'libvtk5.4' + +AUTOREMOVE='apt autoremove' +if [ -n "$SUDO_USER" ]; then + AUTOREMOVE="sudo $AUTOREMOVE" +fi + +testsuccessequal "Reading package lists... +Building dependency tree... +Reading state information... +The following package was automatically installed and is no longer required: + libvtk5.4 +Use '$AUTOREMOVE' to remove it. +The following NEW packages will be installed: + libavcodec52 +0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. +Inst libavcodec52 (4:0.5.2-6 stable [i386]) +Conf libavcodec52 (4:0.5.2-6 stable [i386])" aptget install libavcodec52 -s + +testsuccessequal "Reading package lists... +Building dependency tree... +Reading state information... +1 package was automatically installed and is no longer required. +Use '$AUTOREMOVE' to remove it. +The following NEW packages will be installed: + libavcodec52 +0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. +Inst libavcodec52 (4:0.5.2-6 stable [i386]) +Conf libavcodec52 (4:0.5.2-6 stable [i386])" aptget install libavcodec52 -s -o APT::Get::HideAutoRemove=small + +testfailureequal "Reading package lists... +Building dependency tree... +Reading state information... +The following package was automatically installed and is no longer required: + libvtk5.4 +Use '$AUTOREMOVE' to remove it. +The following additional packages will be installed: + libavcodec52 libopenal-dev +The following NEW packages will be installed: + dummy-archive libavcodec52 libopenal-dev +0 upgraded, 3 newly installed, 0 to remove and 1 not upgraded. +Need to get 0 B/126 B of archives. +After this operation, 129 kB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation." aptget install dummy-archive --trivial-only +testequal "Reading package lists... +Building dependency tree... +Reading state information... +1 package was automatically installed and is no longer required. +Use '$AUTOREMOVE' to remove it. +The following additional packages will be installed: + libavcodec52 libopenal-dev +The following NEW packages will be installed: + dummy-archive libavcodec52 libopenal-dev +0 upgraded, 3 newly installed, 0 to remove and 1 not upgraded. +Need to get 0 B/126 B of archives. +After this operation, 129 kB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation." aptget install dummy-archive --trivial-only -o APT::Get::HideAutoRemove=small + +rm -f rootdir/var/lib/dpkg/status rootdir/var/lib/apt/extended_states + +CONFLICTING='Reading package lists... +Building dependency tree... + MarkInstall dummy-archive:i386 < none -> 0.invalid.0 @un puN Ib > FU=1 + MarkInstall libavcodec52:i386 < none -> 4:0.5.2-6 @un puN > FU=0 + MarkInstall libopenal-dev:i386 < none -> 1:1.12.854-2 @un puN > FU=0 + Ignore MarkGarbage of libopenal-dev:i386 < none -> 1:1.12.854-2 @un puN > as its mode (Install) is protected + Ignore MarkGarbage of libavcodec52:i386 < none -> 4:0.5.2-6 @un puN > as its mode (Install) is protected +The following additional packages will be installed: + libavcodec52 libopenal-dev +The following NEW packages will be installed: + dummy-archive libavcodec52 libopenal-dev +0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/126 B of archives. +After this operation, 129 kB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation.' + +testfailureequal "$CONFLICTING" aptget install dummy-archive --trivial-only -o Debug::pkgDepCache::Marker=1 -o APT::Get::HideAutoRemove=0 +testfailureequal "$CONFLICTING" aptget install dummy-archive --trivial-only -o Debug::pkgDepCache::Marker=1 -o APT::Get::HideAutoRemove=1 +testfailureequal "$CONFLICTING" aptget install dummy-archive --trivial-only -o Debug::pkgDepCache::Marker=1 -o APT::Get::HideAutoRemove=small + +insertinstalledpackage 'my-metapackage' 'i386' '1' 'Depends: gwenview' +insertinstalledpackage 'gwenview' 'i386' '4:15.08.0-1' 'Depends: libkipi-data +Recommends: foobar' # trigger policy brokenness to avoid optimisation +insertinstalledpackage 'libkipi-data' 'i386' '4:15.08.0-1' '' 'important' +testsuccess aptmark markauto 'gwenview' + +testsuccessequal "Reading package lists... +Building dependency tree... +Reading state information... +Calculating upgrade... +The following packages have been kept back: + gwenview +0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded." apt dist-upgrade -s diff --git a/test/integration/test-bug-604401-files-are-directories b/test/integration/test-bug-604401-files-are-directories new file mode 100755 index 0000000..4261d54 --- /dev/null +++ b/test/integration/test-bug-604401-files-are-directories @@ -0,0 +1,67 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "i386" +setupaptarchive + +test ! -e rootdir/etc/apt/apt.conf || mv rootdir/etc/apt/apt.conf rootdir/etc/apt/apt.conf.d/000move-away-apt.conf + +msgtest "Directory instead of a file as apt.conf ignored" +mkdir -p rootdir/etc/apt/apt.conf +testsuccess --nomsg aptconfig dump +rmdir rootdir/etc/apt/apt.conf + +msgtest "Good link instead of a file as apt.conf ignored" +echo 'Test::APT::Link "good";' > rootdir/etc/apt/good-link.conf +ln -s rootdir/etc/apt/good-link.conf rootdir/etc/apt/apt.conf +testempty aptconfig shell TestLink 'Test::APT::Link' +rm rootdir/etc/apt/apt.conf + +msgtest "Broken link instead of a file as apt.conf ignored" +ln -s /tmp/doesnt-exist rootdir/etc/apt/apt.conf +testsuccess --nomsg aptconfig dump +rm rootdir/etc/apt/apt.conf + + +test ! -e rootdir/etc/apt/sources.list || mv rootdir/etc/apt/sources.list rootdir/etc/apt/sources.list.d/000move-away-sources.list + +msgtest "Directory instead of a file as sources.list ignored" +mkdir -p rootdir/etc/apt/sources.list +testsuccess --nomsg aptget update --print-uris +rmdir rootdir/etc/apt/sources.list + +msgtest "Good link instead of a file as sources.list ignored" +echo 'deb file:///tmp/debian sid main' > rootdir/etc/apt/good-link.list +ln -s rootdir/etc/apt/good-link.list rootdir/etc/apt/sources.list +testempty aptget update --print-uris +rm rootdir/etc/apt/sources.list + +msgtest "Broken link instead of a file as sources.list ignored" +ln -s /tmp/doesnt-exist rootdir/etc/apt/sources.list +testempty aptget update --print-uris +rm rootdir/etc/apt/sources.list + + +test ! -e rootdir/etc/apt/preferences || mv rootdir/etc/apt/preferences rootdir/etc/apt/preferences.d/000move-away-preferences + +msgtest "Directory instead of a file as preferences ignored" +mkdir -p rootdir/etc/apt/preferences +testsuccess --nomsg aptcache policy +rmdir rootdir/etc/apt/preferences + +msgtest "Good link instead of a file as preferences ignored" +echo 'Package: apt +Pin: release a=now +Pin-Value: 1000' > rootdir/etc/apt/good-link.pref +ln -s rootdir/etc/apt/good-link.pref rootdir/etc/apt/preferences +testsuccess aptcache policy +testfailure grep '1000 ' rootdir/tmp/testsucess.output +rm rootdir/etc/apt/preferences + +msgtest "Broken link instead of a file as preferences ignored" +ln -s /tmp/doesnt-exist rootdir/etc/apt/preferences +testsuccess --nomsg aptcache policy +rm rootdir/etc/apt/preferences diff --git a/test/integration/test-bug-605394-versioned-or-groups b/test/integration/test-bug-605394-versioned-or-groups new file mode 100755 index 0000000..43f35f7 --- /dev/null +++ b/test/integration/test-bug-605394-versioned-or-groups @@ -0,0 +1,30 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "i386" +setupaptarchive + +testfailureequal "Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be upgraded: + php5 php5-cgi +2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/5715 kB of archives. +After this operation, 0 B of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation." aptget dist-upgrade --trivial-only + +msgtest "Solution process doesn't involve" 'apache2-mpm-prefork' + +if aptget dist-upgrade --trivial-only -o Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::Marker=1 2>&1 | grep apache2-mpm-prefork > /dev/null; then + msgfail +else + msgpass +fi + +# the Packages file includes only MD5 +testfailure aptget dist-upgrade -y +testsuccess grep 'Insufficient information available to perform this download securely' rootdir/tmp/testfailure.output diff --git a/test/integration/test-bug-611729-mark-as-manual b/test/integration/test-bug-611729-mark-as-manual new file mode 100755 index 0000000..63f8245 --- /dev/null +++ b/test/integration/test-bug-611729-mark-as-manual @@ -0,0 +1,96 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "i386" + +buildsimplenativepackage "peace-dpkg" "all" "1.0" "stable" + +buildsimplenativepackage "a" "all" "1.0" "stable" "Depends: b" +buildsimplenativepackage "b" "all" "1.0" "stable" +buildsimplenativepackage "c" "all" "1.0" "stable" "Depends: b" + +setupaptarchive + +# dpkg freaks out if the last package is removed so keep one around +testsuccess aptget install peace-dpkg -y +testdpkginstalled peace-dpkg +testmarkedauto + +testsuccess aptget install a -y +testdpkginstalled a b +testdpkgnotinstalled c +testmarkedauto 'b' + +testsuccess aptget remove a -y +testdpkgnotinstalled a c +testdpkginstalled b +testmarkedauto 'b' + +testsuccess aptget install c -y +testdpkgnotinstalled a +testdpkginstalled b c +testmarkedauto 'b' + +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +b is already the newest version (1.0). +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget install b --only-upgrade +testmarkedauto 'b' + +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +b is already the newest version (1.0). +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget install b -d +testmarkedauto 'b' + +rm rootdir/var/log/apt/history.log + +testsuccess aptget install b --reinstall -y +testdpkgnotinstalled a +testdpkginstalled b c +testmarkedauto 'b' + +sed -i rootdir/var/log/apt/history.log -e '/^Commandline: / d' -e '/^Start-Date: / d' -e '/^End-Date: / d' +if [ -n "$SUDO_USER" ] && [ "$(id -u "$SUDO_USER")" -gt 0 ]; then + testfileequal 'rootdir/var/log/apt/history.log' " +Requested-By: $SUDO_USER ($(id -u "$SUDO_USER")) +Reinstall: b:i386 (1.0)" +else + testfileequal 'rootdir/var/log/apt/history.log' ' +Reinstall: b:i386 (1.0)' +fi + +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +b is already the newest version (1.0). +b set to manually installed. +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget install b +testmarkedauto + +testsuccess aptget remove b -y +testdpkgnotinstalled a b c +testmarkedauto + +testsuccess aptget install a b -y +testdpkginstalled a b +testdpkgnotinstalled c +testmarkedauto + +testsuccess aptget purge a b -y +testdpkgnotinstalled a b c +testmarkedauto + +testsuccess aptget install b c -y +testdpkgnotinstalled a +testdpkginstalled b c +testmarkedauto + +testsuccess aptget install a -y +testdpkginstalled a b c +testmarkedauto diff --git a/test/integration/test-bug-612099-multiarch-conflicts b/test/integration/test-bug-612099-multiarch-conflicts new file mode 100755 index 0000000..bc57395 --- /dev/null +++ b/test/integration/test-bug-612099-multiarch-conflicts @@ -0,0 +1,225 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' 'amd64' + +buildsimplenativepackage 'libc6' 'i386' '1.0' 'stable' +buildsimplenativepackage 'libc6' 'amd64' '1.0' 'stable' +buildsimplenativepackage 'libc6' 'all' '2.0' 'testing' + +buildsimplenativepackage 'foobar' 'i386' '1.0' 'stable' 'Depends: libc6' +buildsimplenativepackage 'foobar' 'amd64' '1.0' 'stable' 'Depends: libc6' + +setupaptarchive + +testsuccess aptget install libc6:i386 -t stable -y +testdpkginstalled libc6:i386 +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + libc6 +The following NEW packages will be installed: + libc6:amd64 +0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Remv libc6 [1.0] +Inst libc6:amd64 (1.0 stable [amd64]) +Conf libc6:amd64 (1.0 stable [amd64])' aptget install libc6:amd64 -s -t stable + +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following NEW packages will be installed: + foobar +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst foobar (1.0 stable [i386]) +Conf foobar (1.0 stable [i386])' aptget install foobar -st stable + +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following additional packages will be installed: + libc6:amd64 +The following packages will be REMOVED: + libc6 +The following NEW packages will be installed: + foobar:amd64 libc6:amd64 +0 upgraded, 2 newly installed, 1 to remove and 0 not upgraded. +Remv libc6 [1.0] +Inst libc6:amd64 (1.0 stable [amd64]) +Inst foobar:amd64 (1.0 stable [amd64]) +Conf libc6:amd64 (1.0 stable [amd64]) +Conf foobar:amd64 (1.0 stable [amd64])' aptget install foobar:amd64 -st stable + +testsuccessequal "Reading package lists... +Building dependency tree... +Reading state information... +Selected version '1.0' (stable [i386]) for 'foobar' +The following NEW packages will be installed: + foobar +The following packages will be upgraded: + libc6 +1 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst libc6 [1.0] (2.0 testing [all]) +Inst foobar (1.0 stable [i386]) +Conf libc6 (2.0 testing [all]) +Conf foobar (1.0 stable [i386])" aptget install foobar/stable libc6 -st testing + +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +Calculating upgrade... +The following packages will be upgraded: + libc6 +1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Inst libc6 [1.0] (2.0 testing [all]) +Conf libc6 (2.0 testing [all])' aptget upgrade -t testing -s +# FIXME: on amd64 systems this test wouldn't run with a real upgrade +# as APT (here i386) disagree about the native architecture, so +# we fake it here: +#aptget upgrade -y -qq >/dev/null 2>&1 +testsuccess aptget purge libc6 -y +testsuccess aptget install libc6:i386 -y +testdpkginstalled libc6:all + +testsuccessequal "Reading package lists... +Building dependency tree... +Reading state information... +Selected version '1.0' (stable [i386]) for 'foobar' +The following NEW packages will be installed: + foobar +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst foobar (1.0 stable [i386]) +Conf foobar (1.0 stable [i386])" aptget install foobar/stable -st testing + +testsuccessequal "Reading package lists... +Building dependency tree... +Reading state information... +Selected version '1.0' (stable [amd64]) for 'foobar:amd64' +The following additional packages will be installed: + libc6:amd64 +The following packages will be REMOVED: + libc6 +The following NEW packages will be installed: + foobar:amd64 libc6:amd64 +0 upgraded, 2 newly installed, 1 to remove and 0 not upgraded. +Remv libc6 [2.0] +Inst libc6:amd64 (1.0 stable [amd64]) +Inst foobar:amd64 (1.0 stable [amd64]) +Conf libc6:amd64 (1.0 stable [amd64]) +Conf foobar:amd64 (1.0 stable [amd64])" aptget install foobar:amd64/stable -st testing + + +testsuccessequal "Reading package lists... +Building dependency tree... +Reading state information... +Selected version '1.0' (stable [i386]) for 'libc6' +The following packages will be DOWNGRADED: + libc6 +0 upgraded, 0 newly installed, 1 downgraded, 0 to remove and 0 not upgraded. +Inst libc6 [2.0] (1.0 stable [i386]) +Conf libc6 (1.0 stable [i386])" aptget install libc6/stable -s + + +buildsimplenativepackage 'libc6-same' 'i386' '1.0' 'stable' 'Multi-Arch: same' +buildsimplenativepackage 'libc6-same' 'amd64' '1.0' 'stable' 'Multi-Arch: same' +buildsimplenativepackage 'libc6-same' 'all' '2.0' 'testing' + +buildsimplenativepackage 'foobar-same' 'i386' '1.0' 'stable' 'Depends: libc6-same' +buildsimplenativepackage 'foobar-same' 'amd64' '1.0' 'stable' 'Depends: libc6-same' + +setupaptarchive + +testsuccess aptget install libc6-same:i386 -t stable -y +testdpkginstalled libc6-same:i386 + +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following NEW packages will be installed: + foobar-same +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst foobar-same (1.0 stable [i386]) +Conf foobar-same (1.0 stable [i386])' aptget install foobar-same -st stable + +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following additional packages will be installed: + libc6-same:amd64 +The following NEW packages will be installed: + foobar-same:amd64 libc6-same:amd64 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst libc6-same:amd64 (1.0 stable [amd64]) +Inst foobar-same:amd64 (1.0 stable [amd64]) +Conf libc6-same:amd64 (1.0 stable [amd64]) +Conf foobar-same:amd64 (1.0 stable [amd64])' aptget install foobar-same:amd64 -st stable + +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following NEW packages will be installed: + libc6-same:amd64 +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst libc6-same:amd64 (1.0 stable [amd64]) +Conf libc6-same:amd64 (1.0 stable [amd64])' aptget install libc6-same:amd64 -s -t stable + +# FIXME: We should test installing libc6-same:amd64 here, but dpkg doesn't allow it currently + +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +Calculating upgrade... +The following packages will be upgraded: + libc6-same +1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Inst libc6-same [1.0] (2.0 testing [all]) +Conf libc6-same (2.0 testing [all])' aptget upgrade -t testing -s +# FIXME: on amd64 systems this test wouldn't run with a real upgrade +# as APT (here i386) disagree about the native architecture, so +# we fake it here: +#aptget upgrade -y -qq >/dev/null 2>&1 +testsuccess aptget purge libc6-same -y +testsuccess aptget install libc6-same:i386 -y +testdpkginstalled libc6-same:all + + +testsuccessequal "Reading package lists... +Building dependency tree... +Reading state information... +Selected version '1.0' (stable [i386]) for 'libc6-same' +The following packages will be DOWNGRADED: + libc6-same +0 upgraded, 0 newly installed, 1 downgraded, 0 to remove and 0 not upgraded. +Inst libc6-same [2.0] (1.0 stable [i386]) +Conf libc6-same (1.0 stable [i386])" aptget install libc6-same/stable -s + +testsuccessequal "Reading package lists... +Building dependency tree... +Reading state information... +Selected version '1.0' (stable [i386]) for 'foobar-same' +The following NEW packages will be installed: + foobar-same +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst foobar-same (1.0 stable [i386]) +Conf foobar-same (1.0 stable [i386])" aptget install foobar-same/stable -st testing + +testsuccessequal "Reading package lists... +Building dependency tree... +Reading state information... +Selected version '1.0' (stable [amd64]) for 'foobar-same:amd64' +The following additional packages will be installed: + libc6-same:amd64 +The following packages will be REMOVED: + libc6-same +The following NEW packages will be installed: + foobar-same:amd64 libc6-same:amd64 +0 upgraded, 2 newly installed, 1 to remove and 0 not upgraded. +Remv libc6-same [2.0] +Inst libc6-same:amd64 (1.0 stable [amd64]) +Inst foobar-same:amd64 (1.0 stable [amd64]) +Conf libc6-same:amd64 (1.0 stable [amd64]) +Conf foobar-same:amd64 (1.0 stable [amd64])" aptget install foobar-same:amd64/stable -st testing diff --git a/test/integration/test-bug-612557-garbage-upgrade b/test/integration/test-bug-612557-garbage-upgrade new file mode 100755 index 0000000..e0ede78 --- /dev/null +++ b/test/integration/test-bug-612557-garbage-upgrade @@ -0,0 +1,62 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "i386" + +insertpackage 'unstable' 'unrelated' 'all' '1:3.3.0-2' +insertpackage 'unstable' 'python-uno' 'all' '1:3.3.0-2' 'Depends: libreoffice-common' +insertpackage 'unstable' 'libreoffice-common' 'all' '1:3.3.0-2' 'Conflicts: openoffice.org-common' + +setupaptarchive + +touch rootdir/var/lib/apt/extended_states +testsuccess aptmark markauto python-uno openoffice.org-common +#aptmark unmarkauto openoffice.org-emailmerge +testmarkedauto python-uno openoffice.org-common + +testfailureequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following additional packages will be installed: + libreoffice-common +The following packages will be REMOVED: + openoffice.org-common openoffice.org-emailmerge +The following NEW packages will be installed: + libreoffice-common +The following packages will be upgraded: + python-uno +1 upgraded, 1 newly installed, 2 to remove and 0 not upgraded. +Need to get 0 B/84 B of archives. +After this operation, 53.2 MB disk space will be freed. +E: Trivial Only specified but this is not a trivial operation.' aptget --trivial-only install python-uno + +testsuccess aptmark markauto openoffice.org-emailmerge +testmarkedauto python-uno openoffice.org-common openoffice.org-emailmerge + +testfailureequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following additional packages will be installed: + libreoffice-common +The following packages will be REMOVED: + openoffice.org-common openoffice.org-emailmerge +The following NEW packages will be installed: + libreoffice-common +The following packages will be upgraded: + python-uno +1 upgraded, 1 newly installed, 2 to remove and 0 not upgraded. +Need to get 0 B/84 B of archives. +After this operation, 53.2 MB disk space will be freed. +E: Trivial Only specified but this is not a trivial operation.' aptget --trivial-only install python-uno + +testfailureequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + openoffice.org-common openoffice.org-emailmerge python-uno +0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. +After this operation, 53.3 MB disk space will be freed. +E: Trivial Only specified but this is not a trivial operation.' aptget autoremove --trivial-only diff --git a/test/integration/test-bug-612958-use-dpkg-multiarch-config b/test/integration/test-bug-612958-use-dpkg-multiarch-config new file mode 100755 index 0000000..54200ff --- /dev/null +++ b/test/integration/test-bug-612958-use-dpkg-multiarch-config @@ -0,0 +1,83 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' + +testpass() { + msgtest 'Test architecture handling success' "$1 with $2" + rm -f archs.conf + aptconfig dump --no-empty --format='%V%n' APT::Architectures > archs.conf + testsuccess --nomsg grep "^$2\$" archs.conf +} + +testfail() { + msgtest 'Test architecture handling failure' "$1 with $2" + rm -f archs.conf + aptconfig dump --no-empty --format='%V%n' APT::Architectures > archs.conf + testfailure --nomsg grep "^$2\$" archs.conf +} + +testpass 'no config' 'i386' +testfail 'no config' 'amd64' +testfail 'no config' 'armel' + +CONFFILE=rootdir/etc/apt/apt.conf.d/99multiarch +echo '#clear APT::Architectures;' >> $CONFFILE +echo 'APT::Architectures:: "i386";' >> $CONFFILE +echo 'APT::Architectures:: "amd64";' >> $CONFFILE + +testpass 'apt config' 'i386' +testpass 'apt config' 'amd64' +testfail 'apt config' 'armel' + +echo 'APT::Architectures:: "armel";' >> $CONFFILE + +testpass 'apt config' 'armel' + +rm $CONFFILE + +echo '#clear APT::Architectures;' >> $CONFFILE +echo 'APT::Architectures "i386,amd64";' >> $CONFFILE + +testpass 'apt config' 'i386' +testpass 'apt config' 'amd64' +testfail 'apt config' 'armel' + +rm $CONFFILE + +echo '#clear APT::Architectures;' >> $CONFFILE +echo 'Dir::Bin::dpkg "./dpkg-printer";' >> $CONFFILE + +echo '#! /bin/sh +echo "amd64"' > ./dpkg-printer +chmod +x ./dpkg-printer + +testpass 'dpkg config' 'i386' +testpass 'dpkg config' 'amd64' +testfail 'dpkg config' 'armel' + +echo '#! /bin/sh +echo "amd64 armel"' > ./dpkg-printer + +testpass 'dpkg config' 'i386' +testpass 'dpkg config' 'amd64' +testpass 'dpkg config' 'armel' + +echo '#! /bin/sh +echo "amd64 +armel"' > ./dpkg-printer + +testpass 'dpkg config' 'i386' +testpass 'dpkg config' 'amd64' +testpass 'dpkg config' 'armel' + +echo '#! /bin/sh +echo "amd64 +i386"' > ./dpkg-printer + +testpass 'dpkg config' 'i386' +testpass 'dpkg config' 'amd64' +testfail 'dpkg config' 'armel' diff --git a/test/integration/test-bug-613420-new-garbage-dependency b/test/integration/test-bug-613420-new-garbage-dependency new file mode 100755 index 0000000..46c3d94 --- /dev/null +++ b/test/integration/test-bug-613420-new-garbage-dependency @@ -0,0 +1,58 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "i386" + +insertpackage 'unstable' 'libreoffice' 'all' '1:3.3.1~rc1-2' 'Depends: libreoffice-core' +insertpackage 'unstable' 'libreoffice-core' 'all' '1:3.3.1~rc1-2' 'Conflicts: openoffice.org-core' +insertpackage 'unstable' 'libreoffice-officebean' 'all' '1:3.3.1~rc1-2' 'Depends: libreoffice-core' +insertpackage 'unstable' 'openoffice.org-officebean' 'all' '1:3.3.0-5' 'Depends: libreoffice-officebean' + +setupaptarchive + +touch rootdir/var/lib/apt/extended_states +testsuccess aptmark markauto openoffice.org-officebean +testmarkedauto openoffice.org-officebean +AUTOREMOVE='apt autoremove' +if [ -n "$SUDO_USER" ]; then + AUTOREMOVE="sudo $AUTOREMOVE" +fi + +testfailureequal "Reading package lists... +Building dependency tree... +Reading state information... +The following packages were automatically installed and are no longer required: + libreoffice-officebean openoffice.org-officebean +Use '$AUTOREMOVE' to remove them. +The following additional packages will be installed: + libreoffice-core libreoffice-officebean openoffice.org-officebean +The following packages will be REMOVED: + openoffice.org-core +The following NEW packages will be installed: + libreoffice libreoffice-core libreoffice-officebean +The following packages will be upgraded: + openoffice.org-officebean +1 upgraded, 3 newly installed, 1 to remove and 0 not upgraded. +Need to get 0 B/168 B of archives. +After this operation, 126 MB disk space will be freed. +E: Trivial Only specified but this is not a trivial operation." aptget install libreoffice --trivial-only +testequal "Reading package lists... +Building dependency tree... +Reading state information... +2 packages were automatically installed and are no longer required. +Use '$AUTOREMOVE' to remove them. +The following additional packages will be installed: + libreoffice-core libreoffice-officebean openoffice.org-officebean +The following packages will be REMOVED: + openoffice.org-core +The following NEW packages will be installed: + libreoffice libreoffice-core libreoffice-officebean +The following packages will be upgraded: + openoffice.org-officebean +1 upgraded, 3 newly installed, 1 to remove and 0 not upgraded. +Need to get 0 B/168 B of archives. +After this operation, 126 MB disk space will be freed. +E: Trivial Only specified but this is not a trivial operation." aptget install libreoffice --trivial-only -o APT::Get::HideAutoRemove=small diff --git a/test/integration/test-bug-617690-allow-unauthenticated-makes-all-untrusted b/test/integration/test-bug-617690-allow-unauthenticated-makes-all-untrusted new file mode 100755 index 0000000..533cf77 --- /dev/null +++ b/test/integration/test-bug-617690-allow-unauthenticated-makes-all-untrusted @@ -0,0 +1,68 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' + +buildsimplenativepackage 'cool' 'i386' '1.0' 'unstable' + +setupaptarchive --no-update + +testfileexists() { + msgtest 'Test for existence of file' "$1" + test -e "$1" && msgpass || msgfail + rm -f "$1" +} + +testfilemissing() { + msgtest 'Test for non-existence of file' "$1" + test -e "$1" && msgfail || msgpass + rm -f "$1" +} + +testrun() { + rm -rf rootdir/var/lib/apt + cd downloaded + + if [ "$1" = 'trusted' ]; then + testsuccess aptget update + + testsuccess aptget download cool + testfileexists 'cool_1.0_i386.deb' + + testsuccess aptget download cool --allow-unauthenticated + testfileexists 'cool_1.0_i386.deb' + else + testwarning aptget update --allow-insecure-repositories + + testfailure aptget download cool + testfilemissing 'cool_1.0_i386.deb' + + testsuccess aptget download cool --allow-unauthenticated + testfileexists 'cool_1.0_i386.deb' + fi + + mv ../aptarchive/pool/cool_1.0_i386.deb ../aptarchive/pool/cool_1.0_i386.deb.bak + echo 'this is not a good package' > ../aptarchive/pool/cool_1.0_i386.deb + testfailure aptget download cool + testfilemissing cool_1.0_i386.deb + + testfailure aptget download cool --allow-unauthenticated # unauthenticated doesn't mean unchecked + testfilemissing cool_1.0_i386.deb + + rm -f ../aptarchive/pool/cool_1.0_i386.deb + mv ../aptarchive/pool/cool_1.0_i386.deb.bak ../aptarchive/pool/cool_1.0_i386.deb + testsuccess aptget download cool --allow-unauthenticated + testfileexists 'cool_1.0_i386.deb' + cd - >/dev/null +} + +testrun 'trusted' + +find aptarchive/ \( -name 'Release.gpg' -o -name 'InRelease' \) -delete +testrun 'untrusted' + +changetowebserver +testrun 'untrusted' diff --git a/test/integration/test-bug-618288-multiarch-same-lockstep b/test/integration/test-bug-618288-multiarch-same-lockstep new file mode 100755 index 0000000..eeecb40 --- /dev/null +++ b/test/integration/test-bug-618288-multiarch-same-lockstep @@ -0,0 +1,41 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' + +insertinstalledpackage 'libsame' 'i386,amd64' '1' 'Multi-Arch: same' 'required' +insertinstalledpackage 'apt' 'i386' '1' 'Depends: libsame (= 1) +Essential: yes' 'required' +insertinstalledpackage 'apt2' 'amd64' '1' 'Depends: libsame (= 1) +Essential: yes' 'required' +buildsimplenativepackage 'libsame' 'i386,amd64' '2' 'unstable' 'Multi-Arch: same' '' 'required' +buildsimplenativepackage 'apt' 'i386' '2' 'unstable' 'Depends: libsame (= 2)' '' 'required' +buildsimplenativepackage 'apt2' 'amd64' '2' 'unstable' 'Depends: libsame (= 2)' '' 'required' + +setupaptarchive +testsuccess aptget dist-upgrade -s -o Debug::pkgPackageManager=1 + +# order in switch libsame:{amd64,i386} are unpacked is irrelevant, as both are installed - but we need to do it together +OUTPUT=rootdir/tmp/testsuccess.output +LS_U_AMD="$(grep -o -n '^Inst libsame ' $OUTPUT | cut -d: -f1)" +LS_U_INT="$(grep -o -n '^Inst libsame:i386 ' $OUTPUT | cut -d: -f1)" +LS_C_AMD="$(grep -o -n '^Conf libsame ' $OUTPUT | cut -d: -f1)" +LS_C_INT="$(grep -o -n '^Conf libsame:i386 ' $OUTPUT | cut -d: -f1)" + +msgtest 'Test if' 'libsame:amd64 unpack before configure' +test "$LS_U_AMD" -lt "$LS_C_AMD" && msgpass || msgfail + +msgtest 'Test if' 'libsame:i386 unpack before configure' +test "$LS_U_INT" -lt "$LS_C_INT" && msgpass || msgfail + +msgtest 'Test if' 'libsame:amd64 unpack is before libsame:i386 configure' +test "$LS_U_AMD" -lt "$LS_C_INT" && msgpass || msgfail + +msgtest 'Test if' 'libsame:i386 unpack is before libsame:amd64 configure' +test "$LS_U_INT" -lt "$LS_C_AMD" && msgpass || msgfail + +# lets see if it really does work out +testsuccess apt dist-upgrade -y diff --git a/test/integration/test-bug-618848-always-respect-user-requests b/test/integration/test-bug-618848-always-respect-user-requests new file mode 100755 index 0000000..225db29 --- /dev/null +++ b/test/integration/test-bug-618848-always-respect-user-requests @@ -0,0 +1,31 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' + +insertinstalledpackage 'libdb4.8' 'all' '1.0' +insertinstalledpackage 'exim4' 'all' '1.0' 'Depends: exim4-daemon-light | exim4-daemon-heavy' +insertinstalledpackage 'exim4-daemon-light' 'all' '1.0' 'Depends: libdb4.8' +insertpackage 'unstable' 'exim4-daemon-heavy' 'all' '1.0' 'Depends: libdb4.8' + +setupaptarchive + +testsuccessequal "Reading package lists... +Building dependency tree... + MarkDelete libdb4.8:i386 < 1.0 @ii pmK > FU=1 + MarkDelete exim4-daemon-light:i386 < 1.0 @ii mK Ib > FU=0 + MarkInstall exim4-daemon-heavy:i386 < none -> 1.0 @un umN Ib > FU=0 + exim4-daemon-heavy:i386 Depends on libdb4.8:i386 < 1.0 @ii pmR > can't be satisfied! (dep) + MarkDelete exim4:i386 < 1.0 @ii mK Ib > FU=0 +The following packages will be REMOVED: + exim4 exim4-daemon-light libdb4.8 + MarkDelete exim4:i386 < 1.0 @ii K > FU=1 +0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. +Remv exim4 [1.0] + MarkDelete exim4-daemon-light:i386 < 1.0 @ii K > FU=1 +Remv exim4-daemon-light [1.0] + MarkDelete libdb4.8:i386 < 1.0 @ii K > FU=1 +Remv libdb4.8 [1.0]" aptget remove libdb4.8 -s -o Debug::pkgDepCache::Marker=1 diff --git a/test/integration/test-bug-623443-fail-on-bad-proxies b/test/integration/test-bug-623443-fail-on-bad-proxies new file mode 100755 index 0000000..d91a3ab --- /dev/null +++ b/test/integration/test-bug-623443-fail-on-bad-proxies @@ -0,0 +1,34 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +buildsimplenativepackage 'unrelated' 'all' '0.5~squeeze1' 'unstable' + +setupaptarchive --no-update +changetowebserver + +testsuccess apt update +rm -rf rootdir/var/lib/apt/lists + +export http_proxy=enrico:password@proxy-cache.localnet:3128 +testfailure apt update +unset http_proxy +testsuccess grep 'Unsupported proxy configured' rootdir/tmp/testfailure.output + +changetohttpswebserver + +testsuccess apt update +rm -rf rootdir/var/lib/apt/lists + +export http_proxy=enrico:password@proxy-cache.localnet:3128 +testfailure apt update +unset http_proxy +testsuccess grep 'Unsupported proxy configured' rootdir/tmp/testfailure.output + +echo 'Acquire::http::Proxy "foo://example.org"; +Acquire::https::Proxy "DIRECT";' > rootdir/etc/apt/apt.conf.d/proxy.conf +testsuccess apt update diff --git a/test/integration/test-bug-624218-Translation-file-handling b/test/integration/test-bug-624218-Translation-file-handling new file mode 100755 index 0000000..c116278 --- /dev/null +++ b/test/integration/test-bug-624218-Translation-file-handling @@ -0,0 +1,171 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' + +insertpackage 'unstable' 'unrelated' 'i386' '1' +insertpackage 'unstable' 'ancientstuff' 'all' '1' +insertpackage 'unstable' 'boringstuff' 'all' '1' '' '' 'shared short description' +insertpackage 'unstable' 'coolstuff' 'all' '1' +insertpackage 'unstable' 'dullstuff' 'all' '1' '' '' 'shared short description' +insertpackage 'unstable' 'evilstuff' 'all' '1' +insertpackage 'unstable' 'foostuff' 'all' '1' '' '' 'shared short description' +insertpackage 'unstable' 'goodstuff' 'all' '1' +insertpackage 'unstable' "longdesc" 'all' '1' '' '' "$(for i in $(seq 0 100); do printf '%s' 'lorem ipsum '; done)" + +setupaptarchive --no-update +changetowebserver + +testsuccess aptget update +PKGORDER='coolstuff foostuff coolstuff foostuff' +msgtest 'Prepare expectation for' 'aptcache show' +if aptcache show $PKGORDER | grep -v '^ ' > aptcacheshow.out 2>&1; then + msgpass +else + cat aptcacheshow.out || true + msgfail +fi +testsuccessequal '4' grep -c '^Package: ' aptcacheshow.out +msgtest 'Prepare expectation for' 'apt show' +if apt show $PKGORDER | grep -v -e '^ ' -e '^[A-Z][a-z]\+-Size: ' > aptshow.out 2>&1; then + msgpass +else + cat aptshow.out || true + msgfail +fi +testsuccessequal '4' grep -c '^Package: ' aptshow.out +rm -rf rootdir/var/lib/apt/lists + +checkaptshow() { + testsuccess aptcache show $PKGORDER + sed -i -e 's#^Description: #Description-en: #' rootdir/tmp/testsuccess.output + testequal "$(cat aptcacheshow.out) +" grep -v '^ ' rootdir/tmp/testsuccess.output + + testsuccess apt show $PKGORDER + sed -i -e 's#^Description-en: #Description: #' rootdir/tmp/testsuccess.output + testequal "$(cat aptshow.out) +" grep -v -e '^ ' -e '^[A-Z][a-z]\+-Size: ' rootdir/tmp/testsuccess.output + + if [ -n "$(ls rootdir/var/lib/apt/lists/*Translation* 2>/dev/null)" ]; then + testsuccess find rootdir/var/lib/apt/lists/ -name '*Translation*' -delete + + testsuccess aptcache show $PKGORDER + sed -i -e 's#^Description: #Description-en: #' rootdir/tmp/testsuccess.output + testequal "$(cat aptcacheshow.out) +" grep -v '^ ' rootdir/tmp/testsuccess.output + + testsuccess apt show $PKGORDER + sed -i -e 's#^Description-en: #Description: #' rootdir/tmp/testsuccess.output + testequal "$(cat aptshow.out) +" grep -v -e '^ ' -e '^[A-Z][a-z]\+-Size: ' rootdir/tmp/testsuccess.output + fi +} + +translationslisted() { + msgtest 'No download of non-existent locals' "$1" + export LC_ALL="" + testsuccess --nomsg aptget update -o Acquire::Languages=en + testfailure grep -q -e 'Translation-[^e][^n] ' rootdir/tmp/testsuccess.output + checkaptshow + rm -rf rootdir/var/lib/apt/lists + + msgtest 'Download of existent locals' "$1" + testsuccess --nomsg aptget update + cp rootdir/tmp/testsuccess.output testsuccess.output + testsuccess grep -q -e 'Translation-en ' testsuccess.output + checkaptshow + rm -rf rootdir/var/lib/apt/lists + + msgtest 'Download of en in LC_ALL=C' "$1" + export LC_ALL=C + testsuccess --nomsg aptget update + cp rootdir/tmp/testsuccess.output testsuccess.output + testsuccess grep -q -e 'Translation-en ' testsuccess.output + checkaptshow + rm -rf rootdir/var/lib/apt/lists + unset LC_ALL + + msgtest 'Download of en as forced language' "$1" + testsuccess --nomsg aptget update -o Acquire::Languages=en + cp rootdir/tmp/testsuccess.output testsuccess.output + testsuccess grep -q -e 'Translation-en ' testsuccess.output + checkaptshow + rm -rf rootdir/var/lib/apt/lists + + msgtest 'Download of nothing else in forced language' "$1" + testsuccess --nomsg aptget update -o Acquire::Languages=en + testfailure grep -q -e 'Translation-[^e][^n] ' rootdir/tmp/testsuccess.output + checkaptshow + rm -rf rootdir/var/lib/apt/lists + + msgtest 'Download no Translation- if forced language is non-existent' "$1" + testsuccess --nomsg aptget update -o Acquire::Languages=ast_DE + testfailure grep -q -e 'Translation-' rootdir/tmp/testsuccess.output + checkaptshow + rm -rf rootdir/var/lib/apt/lists + + msgtest 'Download of nothing if none is forced' "$1" + testsuccess --nomsg aptget update -o Acquire::Languages=none + testfailure grep -q -e 'Translation' rootdir/tmp/testsuccess.output + checkaptshow + rm -rf rootdir/var/lib/apt/lists +} + +translationslisted 'with full Index' + +# No Release file at all, so no records about Translation files +# (fallback to guessing) +find aptarchive \( -name 'Release' -o -name 'InRelease' \) -delete +echo 'Acquire::AllowInsecureRepositories "true";' > rootdir/etc/apt/apt.conf.d/allow-insecure-repositories.conf + +msgtest 'Download of en as forced language' 'without Index' +testwarning --nomsg aptget update -o Acquire::Languages=en +testsuccess grep -q -e 'Translation-en ' rootdir/tmp/testwarning.output +checkaptshow +rm -rf rootdir/var/lib/apt/lists + +msgtest 'Download of nothing else in forced language' 'without Index' +testwarning --nomsg aptget update -o Acquire::Languages=en +testfailure grep -q -e 'Translation-[^e][^n] ' rootdir/tmp/testwarning.output +checkaptshow +rm -rf rootdir/var/lib/apt/lists + +msgtest 'Download of ast_DE as forced language' 'without Index' +testwarning --nomsg aptget update -o Acquire::Languages=ast_DE +testsuccess grep -q -e 'Translation-ast_DE$' rootdir/tmp/testwarning.output +checkaptshow +rm -rf rootdir/var/lib/apt/lists + +msgtest 'Download of nothing else in forced language' 'without Index' +testwarning --nomsg aptget update -o Acquire::Languages=ast_DE +testfailure grep -q -e 'Translation-[^a][^s]' rootdir/tmp/testwarning.output +checkaptshow +rm -rf rootdir/var/lib/apt/lists + +msgtest 'Download of nothing if none is forced' 'without Index' +testwarning --nomsg aptget update -o Acquire::Languages=none +testfailure grep -q -e 'Translation' rootdir/tmp/testwarning.output +checkaptshow +rm -rf rootdir/var/lib/apt/lists + +mkdir -p rootdir/var/lib/apt/lists +touch rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_i18n_Translation-ast_DE + +msgtest 'Download of builtin files' 'without Index' +testwarning --nomsg aptget update +testsuccess grep -q -e 'Translation-ast_DE' rootdir/tmp/testwarning.output +checkaptshow +rm -rf rootdir/var/lib/apt/lists + +mkdir -p rootdir/var/lib/apt/lists +touch rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_dists_unstable_main_i18n_Translation-ast_DE + +msgtest 'Download of nothing (even builtin) if none is forced' 'without Index' +testwarning --nomsg aptget update -o Acquire::Languages=none +testfailure grep -q -e 'Translation' rootdir/tmp/testwarning.output +checkaptshow +rm -rf rootdir/var/lib/apt/lists diff --git a/test/integration/test-bug-632221-cross-dependency-satisfaction b/test/integration/test-bug-632221-cross-dependency-satisfaction new file mode 100755 index 0000000..0cf8d35 --- /dev/null +++ b/test/integration/test-bug-632221-cross-dependency-satisfaction @@ -0,0 +1,353 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'armel' + +insertinstalledpackage 'build-essential' 'all' '11.5' 'Multi-Arch: foreign' + +insertpackage 'unstable' 'doxygen' 'amd64,armel' '1.0' 'Multi-Arch: foreign' +insertpackage 'unstable' 'libc6' 'amd64,armel' '1.0' 'Multi-Arch: same' +insertpackage 'unstable' 'libc6-dev' 'amd64,armel' '1.0' 'Depends: libc6 +Multi-Arch: same' +insertpackage 'unstable' 'libfwibble1' 'amd64,armel' '1.0' 'Depends: libc6 +Multi-Arch: same' +insertpackage 'unstable' 'libfwibble-dev' 'amd64,armel' '1.0' 'Depends: libfwibble1' +insertpackage 'unstable' 'cool' 'amd64,armel' '1.0' 'Multi-Arch: allowed' +insertpackage 'unstable' 'amdboot' 'amd64' '1.0' +insertpackage 'unstable' 'foreigner' 'amd64,armel' '1.0' 'Multi-Arch: foreign' +insertpackage 'unstable' 'arm-stuff' 'armel' '1.0' +insertpackage 'unstable' 'linux-stuff' 'amd64,armel' '1.0' + +insertsource 'unstable' 'apt' 'any' '0.8.15' 'Build-Depends: doxygen, libc6-dev, libc6-dev:native, cool:any, amdboot:amd64, foreigner, libfwibble-dev, arm-stuff [eabi-any-any-arm gnueabi-any-arm] | linux-stuff [ linux-any]' + +insertsource 'unstable' 'forbidden-no' 'any' '1' 'Build-Depends: amdboot:any' +insertsource 'unstable' 'forbidden-same' 'any' '1' 'Build-Depends: libc6:any' +insertsource 'unstable' 'forbidden-foreign' 'any' '1' 'Build-Depends: doxygen:any' + +insertpackage 'unstable' 'specific' 'amd64' '1.0' 'Depends: libc6:amd64' +insertpackage 'unstable' 'specific' 'armel' '1.0' 'Depends: libc6:armel' + +insertsource 'unstable' 'source-specific-amd64' 'amd64' '1' 'Build-Depends: specific:amd64' +insertsource 'unstable' 'source-specific-armel' 'armel' '1' 'Build-Depends: specific:armel' + +setupaptarchive + +testfailureequal 'Reading package lists... +Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + builddeps:forbidden-no:armel : Depends: amdboot:any but it is not installable +E: Unable to correct problems, you have held broken packages.' aptget build-dep forbidden-no -s -a armel +testfailureequal 'Reading package lists... +Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + builddeps:forbidden-same:armel : Depends: libc6:any but it is not installable +E: Unable to correct problems, you have held broken packages.' aptget build-dep forbidden-same -s -a armel +testfailureequal 'Reading package lists... +Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + builddeps:forbidden-foreign:armel : Depends: doxygen:any but it is not installable +E: Unable to correct problems, you have held broken packages.' aptget build-dep forbidden-foreign -s -a armel + +testsuccessequal 'Reading package lists... +Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + libc6 specific +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst libc6 (1.0 unstable [amd64]) +Inst specific (1.0 unstable [amd64]) +Conf libc6 (1.0 unstable [amd64]) +Conf specific (1.0 unstable [amd64])' aptget build-dep source-specific-amd64 -s +testsuccessequal 'Reading package lists... +Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + libc6 specific +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst libc6 (1.0 unstable [amd64]) +Inst specific (1.0 unstable [amd64]) +Conf libc6 (1.0 unstable [amd64]) +Conf specific (1.0 unstable [amd64])' aptget build-dep source-specific-amd64 -s -a armel + +testsuccessequal 'Reading package lists... +Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + libc6:armel specific:armel +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst libc6:armel (1.0 unstable [armel]) +Inst specific:armel (1.0 unstable [armel]) +Conf libc6:armel (1.0 unstable [armel]) +Conf specific:armel (1.0 unstable [armel])' aptget build-dep source-specific-armel -s +testsuccessequal 'Reading package lists... +Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + libc6:armel specific:armel +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst libc6:armel (1.0 unstable [armel]) +Inst specific:armel (1.0 unstable [armel]) +Conf libc6:armel (1.0 unstable [armel]) +Conf specific:armel (1.0 unstable [armel])' aptget build-dep source-specific-armel -s -a armel + +testsuccessequal 'Reading package lists... +Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + amdboot cool doxygen foreigner libc6 libc6-dev libfwibble-dev libfwibble1 + linux-stuff +0 upgraded, 9 newly installed, 0 to remove and 0 not upgraded. +Inst amdboot (1.0 unstable [amd64]) +Inst cool (1.0 unstable [amd64]) +Inst doxygen (1.0 unstable [amd64]) +Inst foreigner (1.0 unstable [amd64]) +Inst libc6 (1.0 unstable [amd64]) +Inst libc6-dev (1.0 unstable [amd64]) +Inst libfwibble1 (1.0 unstable [amd64]) +Inst libfwibble-dev (1.0 unstable [amd64]) +Inst linux-stuff (1.0 unstable [amd64]) +Conf amdboot (1.0 unstable [amd64]) +Conf cool (1.0 unstable [amd64]) +Conf doxygen (1.0 unstable [amd64]) +Conf foreigner (1.0 unstable [amd64]) +Conf libc6 (1.0 unstable [amd64]) +Conf libc6-dev (1.0 unstable [amd64]) +Conf libfwibble1 (1.0 unstable [amd64]) +Conf libfwibble-dev (1.0 unstable [amd64]) +Conf linux-stuff (1.0 unstable [amd64])' aptget build-dep apt -s + +testsuccessequal 'Reading package lists... +Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + amdboot arm-stuff:armel cool doxygen foreigner libc6 libc6:armel libc6-dev + libc6-dev:armel libfwibble-dev:armel libfwibble1:armel +0 upgraded, 11 newly installed, 0 to remove and 0 not upgraded. +Inst amdboot (1.0 unstable [amd64]) +Inst arm-stuff:armel (1.0 unstable [armel]) +Inst cool (1.0 unstable [amd64]) +Inst doxygen (1.0 unstable [amd64]) +Inst foreigner (1.0 unstable [amd64]) +Inst libc6 (1.0 unstable [amd64]) +Inst libc6:armel (1.0 unstable [armel]) +Inst libc6-dev (1.0 unstable [amd64]) +Inst libc6-dev:armel (1.0 unstable [armel]) +Inst libfwibble1:armel (1.0 unstable [armel]) +Inst libfwibble-dev:armel (1.0 unstable [armel]) +Conf amdboot (1.0 unstable [amd64]) +Conf arm-stuff:armel (1.0 unstable [armel]) +Conf cool (1.0 unstable [amd64]) +Conf doxygen (1.0 unstable [amd64]) +Conf foreigner (1.0 unstable [amd64]) +Conf libc6 (1.0 unstable [amd64]) +Conf libc6:armel (1.0 unstable [armel]) +Conf libc6-dev (1.0 unstable [amd64]) +Conf libc6-dev:armel (1.0 unstable [armel]) +Conf libfwibble1:armel (1.0 unstable [armel]) +Conf libfwibble-dev:armel (1.0 unstable [armel])' aptget build-dep apt -s -a armel + +configarchitecture 'armel' 'amd64' + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + amdboot:amd64 arm-stuff cool doxygen foreigner libc6 libc6-dev + libfwibble-dev libfwibble1 +0 upgraded, 9 newly installed, 0 to remove and 0 not upgraded. +Inst amdboot:amd64 (1.0 unstable [amd64]) +Inst arm-stuff (1.0 unstable [armel]) +Inst cool (1.0 unstable [armel]) +Inst doxygen (1.0 unstable [armel]) +Inst foreigner (1.0 unstable [armel]) +Inst libc6 (1.0 unstable [armel]) +Inst libc6-dev (1.0 unstable [armel]) +Inst libfwibble1 (1.0 unstable [armel]) +Inst libfwibble-dev (1.0 unstable [armel]) +Conf amdboot:amd64 (1.0 unstable [amd64]) +Conf arm-stuff (1.0 unstable [armel]) +Conf cool (1.0 unstable [armel]) +Conf doxygen (1.0 unstable [armel]) +Conf foreigner (1.0 unstable [armel]) +Conf libc6 (1.0 unstable [armel]) +Conf libc6-dev (1.0 unstable [armel]) +Conf libfwibble1 (1.0 unstable [armel]) +Conf libfwibble-dev (1.0 unstable [armel])' aptget build-dep apt -s + +testsuccessequal 'Reading package lists... +Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + amdboot:amd64 cool doxygen foreigner libc6 libc6:amd64 libc6-dev + libc6-dev:amd64 libfwibble-dev:amd64 libfwibble1:amd64 linux-stuff:amd64 +0 upgraded, 11 newly installed, 0 to remove and 0 not upgraded. +Inst amdboot:amd64 (1.0 unstable [amd64]) +Inst cool (1.0 unstable [armel]) +Inst doxygen (1.0 unstable [armel]) +Inst foreigner (1.0 unstable [armel]) +Inst libc6 (1.0 unstable [armel]) +Inst libc6:amd64 (1.0 unstable [amd64]) +Inst libc6-dev (1.0 unstable [armel]) +Inst libc6-dev:amd64 (1.0 unstable [amd64]) +Inst libfwibble1:amd64 (1.0 unstable [amd64]) +Inst libfwibble-dev:amd64 (1.0 unstable [amd64]) +Inst linux-stuff:amd64 (1.0 unstable [amd64]) +Conf amdboot:amd64 (1.0 unstable [amd64]) +Conf cool (1.0 unstable [armel]) +Conf doxygen (1.0 unstable [armel]) +Conf foreigner (1.0 unstable [armel]) +Conf libc6 (1.0 unstable [armel]) +Conf libc6:amd64 (1.0 unstable [amd64]) +Conf libc6-dev (1.0 unstable [armel]) +Conf libc6-dev:amd64 (1.0 unstable [amd64]) +Conf libfwibble1:amd64 (1.0 unstable [amd64]) +Conf libfwibble-dev:amd64 (1.0 unstable [amd64]) +Conf linux-stuff:amd64 (1.0 unstable [amd64])' aptget build-dep apt -s -a amd64 + +configarchitecture 'amd64' 'armel' + +insertinstalledpackage 'cool' 'amd64' '0.5' +insertinstalledpackage 'foreigner' 'armel' '0.5' + +APT_ON_AMD64='Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + amdboot doxygen libc6 libc6-dev libfwibble-dev libfwibble1 linux-stuff +The following packages will be upgraded: + cool foreigner:armel +2 upgraded, 7 newly installed, 0 to remove and 0 not upgraded. +Inst amdboot (1.0 unstable [amd64]) +Inst cool [0.5] (1.0 unstable [amd64]) +Inst doxygen (1.0 unstable [amd64]) +Inst foreigner:armel [0.5] (1.0 unstable [armel]) +Inst libc6 (1.0 unstable [amd64]) +Inst libc6-dev (1.0 unstable [amd64]) +Inst libfwibble1 (1.0 unstable [amd64]) +Inst libfwibble-dev (1.0 unstable [amd64]) +Inst linux-stuff (1.0 unstable [amd64]) +Conf amdboot (1.0 unstable [amd64]) +Conf cool (1.0 unstable [amd64]) +Conf doxygen (1.0 unstable [amd64]) +Conf foreigner:armel (1.0 unstable [armel]) +Conf libc6 (1.0 unstable [amd64]) +Conf libc6-dev (1.0 unstable [amd64]) +Conf libfwibble1 (1.0 unstable [amd64]) +Conf libfwibble-dev (1.0 unstable [amd64]) +Conf linux-stuff (1.0 unstable [amd64])' +testsuccessequal "$APT_ON_AMD64" aptget build-dep apt -s +testsuccessequal "Reading package lists... +$APT_ON_AMD64" aptget build-dep apt -s -a amd64 + +testsuccessequal 'Reading package lists... +Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + amdboot arm-stuff:armel doxygen libc6 libc6:armel libc6-dev libc6-dev:armel + libfwibble-dev:armel libfwibble1:armel +The following packages will be upgraded: + cool +1 upgraded, 9 newly installed, 0 to remove and 1 not upgraded. +Inst amdboot (1.0 unstable [amd64]) +Inst arm-stuff:armel (1.0 unstable [armel]) +Inst cool [0.5] (1.0 unstable [amd64]) +Inst doxygen (1.0 unstable [amd64]) +Inst libc6 (1.0 unstable [amd64]) +Inst libc6:armel (1.0 unstable [armel]) +Inst libc6-dev (1.0 unstable [amd64]) +Inst libc6-dev:armel (1.0 unstable [armel]) +Inst libfwibble1:armel (1.0 unstable [armel]) +Inst libfwibble-dev:armel (1.0 unstable [armel]) +Conf amdboot (1.0 unstable [amd64]) +Conf arm-stuff:armel (1.0 unstable [armel]) +Conf cool (1.0 unstable [amd64]) +Conf doxygen (1.0 unstable [amd64]) +Conf libc6 (1.0 unstable [amd64]) +Conf libc6:armel (1.0 unstable [armel]) +Conf libc6-dev (1.0 unstable [amd64]) +Conf libc6-dev:armel (1.0 unstable [armel]) +Conf libfwibble1:armel (1.0 unstable [armel]) +Conf libfwibble-dev:armel (1.0 unstable [armel])' aptget build-dep apt -s -a armel + +configarchitecture 'armel' 'amd64' + +APT_ON_ARMEL='Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + amdboot:amd64 arm-stuff doxygen libc6 libc6-dev libfwibble-dev libfwibble1 +The following packages will be upgraded: + cool:amd64 +1 upgraded, 7 newly installed, 0 to remove and 1 not upgraded. +Inst amdboot:amd64 (1.0 unstable [amd64]) +Inst arm-stuff (1.0 unstable [armel]) +Inst cool:amd64 [0.5] (1.0 unstable [amd64]) +Inst doxygen (1.0 unstable [armel]) +Inst libc6 (1.0 unstable [armel]) +Inst libc6-dev (1.0 unstable [armel]) +Inst libfwibble1 (1.0 unstable [armel]) +Inst libfwibble-dev (1.0 unstable [armel]) +Conf amdboot:amd64 (1.0 unstable [amd64]) +Conf arm-stuff (1.0 unstable [armel]) +Conf cool:amd64 (1.0 unstable [amd64]) +Conf doxygen (1.0 unstable [armel]) +Conf libc6 (1.0 unstable [armel]) +Conf libc6-dev (1.0 unstable [armel]) +Conf libfwibble1 (1.0 unstable [armel]) +Conf libfwibble-dev (1.0 unstable [armel])' +testsuccessequal "$APT_ON_ARMEL" aptget build-dep apt -s +testsuccessequal "Reading package lists... +$APT_ON_ARMEL" aptget build-dep apt -s -a armel + +testsuccessequal 'Reading package lists... +Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + amdboot:amd64 doxygen libc6 libc6:amd64 libc6-dev libc6-dev:amd64 + libfwibble-dev:amd64 libfwibble1:amd64 linux-stuff:amd64 +The following packages will be upgraded: + cool:amd64 foreigner +2 upgraded, 9 newly installed, 0 to remove and 0 not upgraded. +Inst amdboot:amd64 (1.0 unstable [amd64]) +Inst cool:amd64 [0.5] (1.0 unstable [amd64]) +Inst doxygen (1.0 unstable [armel]) +Inst foreigner [0.5] (1.0 unstable [armel]) +Inst libc6 (1.0 unstable [armel]) +Inst libc6:amd64 (1.0 unstable [amd64]) +Inst libc6-dev (1.0 unstable [armel]) +Inst libc6-dev:amd64 (1.0 unstable [amd64]) +Inst libfwibble1:amd64 (1.0 unstable [amd64]) +Inst libfwibble-dev:amd64 (1.0 unstable [amd64]) +Inst linux-stuff:amd64 (1.0 unstable [amd64]) +Conf amdboot:amd64 (1.0 unstable [amd64]) +Conf cool:amd64 (1.0 unstable [amd64]) +Conf doxygen (1.0 unstable [armel]) +Conf foreigner (1.0 unstable [armel]) +Conf libc6 (1.0 unstable [armel]) +Conf libc6:amd64 (1.0 unstable [amd64]) +Conf libc6-dev (1.0 unstable [armel]) +Conf libc6-dev:amd64 (1.0 unstable [amd64]) +Conf libfwibble1:amd64 (1.0 unstable [amd64]) +Conf libfwibble-dev:amd64 (1.0 unstable [amd64]) +Conf linux-stuff:amd64 (1.0 unstable [amd64])' aptget build-dep apt -s -a amd64 diff --git a/test/integration/test-bug-633350-do-not-kill-last-char-in-Release b/test/integration/test-bug-633350-do-not-kill-last-char-in-Release new file mode 100755 index 0000000..d7dd261 --- /dev/null +++ b/test/integration/test-bug-633350-do-not-kill-last-char-in-Release @@ -0,0 +1,16 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertpackage 'unstable' 'cool' 'amd64' '1.0' + +export APT_DONT_SIGN='InRelease' +setupaptarchive --no-update + +echo 'NotAutomatic: yes' >> aptarchive/dists/unstable/Release +signreleasefiles +testsuccess aptget update diff --git a/test/integration/test-bug-64141-install-dependencies-for-on-hold b/test/integration/test-bug-64141-install-dependencies-for-on-hold new file mode 100755 index 0000000..fe3bde6 --- /dev/null +++ b/test/integration/test-bug-64141-install-dependencies-for-on-hold @@ -0,0 +1,48 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'native' 'strange-arch' + +insertpackage 'unstable' 'unrelated' 'strange-arch' '1' + +insertinstalledpackage 'apt' 'native' '0.8.9' 'Depends: libc6 (>= 2.3.4)' +insertinstalledpackage 'libc6' 'native' '2.4.1-1' +insertinstalledpackage 'oldcrap' 'all' '1-1' + +insertpackage 'unstable' 'apt' 'native' '0.8.10' 'Depends: libc6 (>= 2.10), libdb4.8 +Breaks: oldcrap' +insertpackage 'unstable' 'libc6' 'native' '2.11.2-7' +insertpackage 'unstable' 'libdb4.8' 'native' '4.8.30-3' + +setupaptarchive + +testfailureequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be REMOVED: + oldcrap +The following NEW packages will be installed: + libdb4.8 +The following packages will be upgraded: + apt libc6 +2 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Need to get 0 B/126 B of archives. +After this operation, 0 B of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation.' aptget dist-upgrade --trivial-only + +testsuccess aptmark hold apt + +testfailureequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages have been kept back: + apt +The following packages will be upgraded: + libc6 +1 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. +Need to get 0 B/42 B of archives. +After this operation, 0 B of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation.' aptget dist-upgrade --trivial-only -o Test='hold-back-apt' diff --git a/test/integration/test-bug-657695-resolver-breaks-on-virtuals b/test/integration/test-bug-657695-resolver-breaks-on-virtuals new file mode 100755 index 0000000..42b8521 --- /dev/null +++ b/test/integration/test-bug-657695-resolver-breaks-on-virtuals @@ -0,0 +1,53 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertinstalledpackage 'xserver-xorg-core' 'amd64' '2:1.7.6-2ubuntu7.10' +for i in $(seq 1 50); do + insertinstalledpackage "xserver-xorg-video-driver$i" 'amd64' '1.0' 'Provides: xserver-xorg-video-6' +done + +insertpackage 'unstable' 'xserver-xorg-core' 'amd64' '2:1.11.3-0ubuntu9' 'Breaks: xserver-xorg-video-6' + + +setupaptarchive + +testfailureequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be REMOVED: + xserver-xorg-video-driver1 xserver-xorg-video-driver10 + xserver-xorg-video-driver11 xserver-xorg-video-driver12 + xserver-xorg-video-driver13 xserver-xorg-video-driver14 + xserver-xorg-video-driver15 xserver-xorg-video-driver16 + xserver-xorg-video-driver17 xserver-xorg-video-driver18 + xserver-xorg-video-driver19 xserver-xorg-video-driver2 + xserver-xorg-video-driver20 xserver-xorg-video-driver21 + xserver-xorg-video-driver22 xserver-xorg-video-driver23 + xserver-xorg-video-driver24 xserver-xorg-video-driver25 + xserver-xorg-video-driver26 xserver-xorg-video-driver27 + xserver-xorg-video-driver28 xserver-xorg-video-driver29 + xserver-xorg-video-driver3 xserver-xorg-video-driver30 + xserver-xorg-video-driver31 xserver-xorg-video-driver32 + xserver-xorg-video-driver33 xserver-xorg-video-driver34 + xserver-xorg-video-driver35 xserver-xorg-video-driver36 + xserver-xorg-video-driver37 xserver-xorg-video-driver38 + xserver-xorg-video-driver39 xserver-xorg-video-driver4 + xserver-xorg-video-driver40 xserver-xorg-video-driver41 + xserver-xorg-video-driver42 xserver-xorg-video-driver43 + xserver-xorg-video-driver44 xserver-xorg-video-driver45 + xserver-xorg-video-driver46 xserver-xorg-video-driver47 + xserver-xorg-video-driver48 xserver-xorg-video-driver49 + xserver-xorg-video-driver5 xserver-xorg-video-driver50 + xserver-xorg-video-driver6 xserver-xorg-video-driver7 + xserver-xorg-video-driver8 xserver-xorg-video-driver9 +The following packages will be upgraded: + xserver-xorg-core +1 upgraded, 0 newly installed, 50 to remove and 0 not upgraded. +Need to get 0 B/42 B of archives. +After this operation, 2150 kB disk space will be freed. +E: Trivial Only specified but this is not a trivial operation.' aptget dist-upgrade --trivial-only diff --git a/test/integration/test-bug-661537-build-profiles-support b/test/integration/test-bug-661537-build-profiles-support new file mode 100755 index 0000000..d24484d --- /dev/null +++ b/test/integration/test-bug-661537-build-profiles-support @@ -0,0 +1,161 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' 'armel' + +insertinstalledpackage 'build-essential' 'all' '0' 'Multi-Arch: foreign' + +insertpackage 'unstable' 'foo' 'all' '1.0' +insertpackage 'unstable' 'bar' 'all' '1.0' + +insertsource 'unstable' 'buildprofiles' 'any' '1' 'Build-Depends: foo (>= 1.0) [i386 arm] <!stage1 !cross>, bar' + +# table from https://wiki.debian.org/BuildProfileSpec +insertsource 'unstable' 'spec-1' 'any' '1' 'Build-Depends: foo <!stage1>' +insertsource 'unstable' 'spec-2' 'any' '1' 'Build-Depends: foo <stage1>' +insertsource 'unstable' 'spec-3' 'any' '1' 'Build-Depends: foo <!stage1 !notest>' +insertsource 'unstable' 'spec-4' 'any' '1' 'Build-Depends: foo <stage1 notest>' +insertsource 'unstable' 'spec-5' 'any' '1' 'Build-Depends: foo <!stage1 notest>' +insertsource 'unstable' 'spec-6' 'any' '1' 'Build-Depends: foo <stage1 !notest>' +insertsource 'unstable' 'spec-7' 'any' '1' 'Build-Depends: foo <stage1> <!notest>' + +setupaptarchive + +testsuccessequal 'Reading package lists... +Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + bar +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst bar (1.0 unstable [all]) +Conf bar (1.0 unstable [all])' aptget build-dep buildprofiles -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + bar foo +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst bar (1.0 unstable [all]) +Inst foo (1.0 unstable [all]) +Conf bar (1.0 unstable [all]) +Conf foo (1.0 unstable [all])' aptget build-dep buildprofiles -s -o APT::Architecture=i386 + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + bar +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst bar (1.0 unstable [all]) +Conf bar (1.0 unstable [all])' aptget build-dep buildprofiles -s -o APT::Architecture=armel + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + bar +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst bar (1.0 unstable [all]) +Conf bar (1.0 unstable [all])' aptget build-dep buildprofiles -s -o APT::Architecture=i386 -P stage1 + +KEEP='Reading package lists... +Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + foo +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1.0 unstable [all]) +Conf foo (1.0 unstable [all])' +setdrop() { + DROP="Reading package lists... +$1 has no build depends. +Reading package lists... +Building dependency tree... +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded." +} + +msgtest 'Check if version of installed dpkg is high enough for' 'build profiles support' +if dpkg --compare-versions "$(dpkg_version)" 'ge' '1.17.14'; then + msgpass + testwithdpkg() { + msgtest "Test with" "dpkg-checkbuilddeps -d '$1' -P '$2'" + local OUTPUT="${TMPWORKINGDIRECTORY}/rootdir/tmp/testwithdpkg.output" + if dpkgcheckbuilddeps -d "$1" -P "$2" /dev/null >$OUTPUT 2>&1; then + if [ "$3" = "$DROP" ]; then + msgpass + else + cat $OUTPUT + msgfail + fi + else + if [ "$3" = "$KEEP" ]; then + msgpass + else + cat $OUTPUT + msgfail + fi + fi + } +else + msgskip + testwithdpkg() { + msgtest "Test with" "dpkg-checkbuilddeps -d '$1' -P '$2'" + msgskip + } +fi + +testprofile() { + if [ -n "$3" ]; then + testequal "$4" aptget build-dep "$1" -s -P "$3" + export DEB_BUILD_PROFILES="$(echo "$3" | tr ',' ' ')" + testequal "$4" aptget build-dep "$1" -s -o with::environment=1 + unset DEB_BUILD_PROFILES + else + testequal "$4" aptget build-dep "$1" -s + fi + testwithdpkg "$2" "$3" "$4" +} + +testsuccess aptcache gencaches +setdrop 'spec-1' +testprofile 'spec-1' 'foo <!stage1>' '' "$KEEP" +testprofile 'spec-1' 'foo <!stage1>' 'stage1' "$DROP" +testprofile 'spec-1' 'foo <!stage1>' 'notest' "$KEEP" +testprofile 'spec-1' 'foo <!stage1>' 'stage1,notest' "$DROP" + +setdrop 'spec-2' +testprofile 'spec-2' 'foo <stage1>' '' "$DROP" +testprofile 'spec-2' 'foo <stage1>' 'stage1' "$KEEP" +testprofile 'spec-2' 'foo <stage1>' 'notest' "$DROP" +testprofile 'spec-2' 'foo <stage1>' 'stage1,notest' "$KEEP" + +setdrop 'spec-3' +testprofile 'spec-3' 'foo <!stage1 !notest>' '' "$KEEP" +testprofile 'spec-3' 'foo <!stage1 !notest>' 'stage1' "$DROP" +testprofile 'spec-3' 'foo <!stage1 !notest>' 'notest' "$DROP" +testprofile 'spec-3' 'foo <!stage1 !notest>' 'stage1,notest' "$DROP" + +setdrop 'spec-4' +testprofile 'spec-4' 'foo <stage1 notest>' '' "$DROP" +testprofile 'spec-4' 'foo <stage1 notest>' 'stage1' "$DROP" +testprofile 'spec-4' 'foo <stage1 notest>' 'notest' "$DROP" +testprofile 'spec-4' 'foo <stage1 notest>' 'stage1,notest' "$KEEP" + +setdrop 'spec-5' +testprofile 'spec-5' 'foo <!stage1 notest>' '' "$DROP" +testprofile 'spec-5' 'foo <!stage1 notest>' 'stage1' "$DROP" +testprofile 'spec-5' 'foo <!stage1 notest>' 'notest' "$KEEP" +testprofile 'spec-5' 'foo <!stage1 notest>' 'stage1,notest' "$DROP" + +setdrop 'spec-6' +testprofile 'spec-6' 'foo <stage1 !notest>' '' "$DROP" +testprofile 'spec-6' 'foo <stage1 !notest>' 'stage1' "$KEEP" +testprofile 'spec-6' 'foo <stage1 !notest>' 'notest' "$DROP" +testprofile 'spec-6' 'foo <stage1 !notest>' 'stage1,notest' "$DROP" + +setdrop 'spec-7' +testprofile 'spec-7' 'foo <stage1> <!notest>' '' "$KEEP" +testprofile 'spec-7' 'foo <stage1> <!notest>' 'stage1' "$KEEP" +testprofile 'spec-7' 'foo <stage1> <!notest>' 'notest' "$DROP" +testprofile 'spec-7' 'foo <stage1> <!notest>' 'stage1,notest' "$KEEP" diff --git a/test/integration/test-bug-673536-pre-depends-breaks-loop b/test/integration/test-bug-673536-pre-depends-breaks-loop new file mode 100755 index 0000000..650866e --- /dev/null +++ b/test/integration/test-bug-673536-pre-depends-breaks-loop @@ -0,0 +1,33 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'native' + +buildsimplenativepackage 'advanced' 'native' '1' 'stable' +buildsimplenativepackage 'advanced' 'native' '2' 'unstable' 'Pre-Depends: basic' +buildsimplenativepackage 'basic' 'native' '2' 'unstable' 'Pre-Depends: common' + +buildsimplenativepackage 'common' 'native' '2~conflict' 'unstable-conflict' 'Conflicts: advanced (<= 1)' +buildsimplenativepackage 'common' 'native' '2~break' 'unstable-break' 'Breaks: advanced (<= 1)' + +setupaptarchive + +# we check with 'real' packages here as the simulation reports a 'Conf broken' +# which is technical correct for the simulation, but testing errormsg is ugly + +testloopbreak() { + rm -f rootdir/var/lib/dpkg/status rootdir/var/lib/apt/extended_states + + testsuccess aptget install advanced=1 -y -t "$1" + testdpkginstalled advanced + testdpkgnotinstalled basic common + + testsuccess aptget dist-upgrade -y -t "$1" + testdpkginstalled advanced basic common +} + +testloopbreak 'unstable-break' +testloopbreak 'unstable-conflict' diff --git a/test/integration/test-bug-675449-essential-are-protected b/test/integration/test-bug-675449-essential-are-protected new file mode 100755 index 0000000..e7460ae --- /dev/null +++ b/test/integration/test-bug-675449-essential-are-protected @@ -0,0 +1,115 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' + +insertinstalledpackage 'pkg-native' 'amd64' '1' 'Multi-Arch: foreign +Essential: yes' +insertinstalledpackage 'pkg-foreign' 'i386' '1' 'Multi-Arch: foreign +Essential: yes' +insertinstalledpackage 'pkg-none-native' 'amd64' '1' 'Essential: yes' +insertinstalledpackage 'pkg-none-foreign' 'i386' '1' 'Essential: yes' + +insertpackage 'unstable' 'pkg-native' 'amd64,i386' '2' 'Multi-Arch: foreign +Essential: yes' +insertpackage 'unstable' 'pkg-foreign' 'amd64,i386' '2' 'Multi-Arch: foreign +Depends: pkg-depends-new +Essential: yes' +insertpackage 'unstable' 'pkg-none-native' 'amd64,i386' '2' 'Essential: yes' +insertpackage 'unstable' 'pkg-none-foreign' 'amd64,i386' '2' 'Essential: yes +Depends: pkg-depends-new' + +insertpackage 'unstable' 'pkg-none-new' 'amd64,i386' '2' 'Essential: yes' +insertpackage 'unstable' 'pkg-depends-new' 'amd64,i386' '2' 'Essential: yes' + +setupaptarchive + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + pkg-native* +WARNING: The following essential packages will be removed. +This should NOT be done unless you know exactly what you are doing! + pkg-native +0 upgraded, 0 newly installed, 1 to remove and 3 not upgraded. +Purg pkg-native [1]' aptget purge pkg-native -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + pkg-foreign:i386* +WARNING: The following essential packages will be removed. +This should NOT be done unless you know exactly what you are doing! + pkg-foreign:i386 +0 upgraded, 0 newly installed, 1 to remove and 3 not upgraded. +Purg pkg-foreign:i386 [1]' aptget purge pkg-foreign:i386 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + pkg-none-native* +WARNING: The following essential packages will be removed. +This should NOT be done unless you know exactly what you are doing! + pkg-none-native +0 upgraded, 0 newly installed, 1 to remove and 3 not upgraded. +Purg pkg-none-native [1]' aptget purge pkg-none-native -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + pkg-none-foreign:i386* +WARNING: The following essential packages will be removed. +This should NOT be done unless you know exactly what you are doing! + pkg-none-foreign:i386 +0 upgraded, 0 newly installed, 1 to remove and 3 not upgraded. +Purg pkg-none-foreign:i386 [1]' aptget purge pkg-none-foreign:i386 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following NEW packages will be installed: + pkg-depends-new:i386 pkg-none-new +The following packages will be upgraded: + pkg-foreign:i386 pkg-native pkg-none-foreign:i386 pkg-none-native +4 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst pkg-depends-new:i386 (2 unstable [i386]) +Conf pkg-depends-new:i386 (2 unstable [i386]) +Inst pkg-foreign:i386 [1] (2 unstable [i386]) +Conf pkg-foreign:i386 (2 unstable [i386]) +Inst pkg-native [1] (2 unstable [amd64]) +Conf pkg-native (2 unstable [amd64]) +Inst pkg-none-foreign:i386 [1] (2 unstable [i386]) +Conf pkg-none-foreign:i386 (2 unstable [i386]) +Inst pkg-none-native [1] (2 unstable [amd64]) +Conf pkg-none-native (2 unstable [amd64]) +Inst pkg-none-new (2 unstable [amd64]) +Conf pkg-none-new (2 unstable [amd64])' aptget dist-upgrade -s + +insertinstalledpackage 'foo' 'amd64' '1' 'Depends: libfoo +Essential: yes' +insertinstalledpackage 'libfoo' 'amd64' '1' +testequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + foo* libfoo* +WARNING: The following essential packages will be removed. +This should NOT be done unless you know exactly what you are doing! + foo libfoo (due to foo) +0 upgraded, 0 newly installed, 2 to remove and 4 not upgraded. +Purg foo [1] +Purg libfoo [1]' aptget purge foo libfoo -s + +testequal 'Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + foo : Depends: libfoo but it is not going to be installed +E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.' aptget purge libfoo -s diff --git a/test/integration/test-bug-679371-apt-get-autoclean-multiarch b/test/integration/test-bug-679371-apt-get-autoclean-multiarch new file mode 100755 index 0000000..47e5aa1 --- /dev/null +++ b/test/integration/test-bug-679371-apt-get-autoclean-multiarch @@ -0,0 +1,27 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' + +buildsimplenativepackage 'pkgall' 'all' '1' 'stable' +buildsimplenativepackage 'pkgnative' 'amd64' '1' 'stable' +buildsimplenativepackage 'pkgforeign' 'i386' '1' 'stable' + +setupaptarchive + +changetowebserver + +testsuccess aptget update +testsuccess aptget install pkgall pkgnative pkgforeign -y + +# if we work with an old dpkg, pkgforeign will be listed differently, +# so test with aptcache for install status instead +testdpkginstalled pkgall pkgnative +testsuccess aptcache show pkgforeign/installed + +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information...' aptget autoclean -s diff --git a/test/integration/test-bug-680041-apt-mark-holds-correctly b/test/integration/test-bug-680041-apt-mark-holds-correctly new file mode 100755 index 0000000..bdb0866 --- /dev/null +++ b/test/integration/test-bug-680041-apt-mark-holds-correctly @@ -0,0 +1,80 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertinstalledpackage 'pkgarch' 'amd64' '1' +insertinstalledpackage 'pkgall' 'all' '1' + +insertpackage 'unstable' 'pkgarch' 'amd64' '2' +insertpackage 'unstable' 'pkgall' 'all' '2' + +setupaptarchive + +runtests() { + testempty aptmark showhold + + testfailureequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be upgraded: + pkgall pkgarch +2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/84 B of archives. +After this operation, 0 B of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation.' aptget dist-upgrade --trivial-only + + testsuccessequal 'pkgarch set on hold.' aptmark hold pkgarch + testsuccessequal 'pkgarch' aptmark showhold + + testfailureequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages have been kept back: + pkgarch +The following packages will be upgraded: + pkgall +1 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. +Need to get 0 B/42 B of archives. +After this operation, 0 B of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation.' aptget dist-upgrade --trivial-only + + testsuccessequal 'Canceled hold on pkgarch.' aptmark unhold pkgarch + testempty aptmark showhold + + testfailureequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be upgraded: + pkgall pkgarch +2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/84 B of archives. +After this operation, 0 B of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation.' aptget dist-upgrade --trivial-only + + testsuccessequal 'pkgall set on hold.' aptmark hold pkgall + testsuccessequal 'pkgall' aptmark showhold + + testfailureequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages have been kept back: + pkgall +The following packages will be upgraded: + pkgarch +1 upgraded, 0 newly installed, 0 to remove and 1 not upgraded. +Need to get 0 B/42 B of archives. +After this operation, 0 B of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation.' aptget dist-upgrade --trivial-only + + testsuccessequal 'Canceled hold on pkgall.' aptmark unhold pkgall + testempty aptmark showhold +} +# single-arch +runtests +# multi-arch +configarchitecture 'amd64' 'i386' +runtests diff --git a/test/integration/test-bug-683786-build-dep-on-virtual-packages b/test/integration/test-bug-683786-build-dep-on-virtual-packages new file mode 100755 index 0000000..831e1f8 --- /dev/null +++ b/test/integration/test-bug-683786-build-dep-on-virtual-packages @@ -0,0 +1,107 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'armel' + +insertinstalledpackage 'build-essential' 'all' '11.5' 'Multi-Arch: foreign' + +insertpackage 'unstable' 'po-debconf' 'all' '1' +insertsource 'unstable' 'dash' 'any' '1' 'Build-Depends: po-debconf' +insertpackage 'unstable' 'make-po-debconf-pure-virtual' 'armel' '1' 'Depends: po-debconf' + +insertsource 'unstable' 'diffutils' 'any' '1' 'Build-Depends: texi2html' + +insertpackage 'unstable' 'libselinux1-dev' 'amd64' '1' 'Provides: libselinux-dev' +insertsource 'unstable' 'sed' 'any' '1' 'Build-Depends: libselinux-dev' + +insertpackage 'unstable' 'libsehurd1-dev' 'amd64,armel' '1' 'Provides: libsehurd-dev' +insertsource 'unstable' 'sed2' 'any' '1' 'Build-Depends: libsehurd-dev' + +setupaptarchive + +testsuccessequal 'Package: po-debconf:armel +Versions: + +Reverse Depends: + make-po-debconf-pure-virtual:armel,po-debconf:armel +Dependencies: +Provides: +Reverse Provides: ' aptcache showpkg po-debconf:armel +testsuccessequal 'N: Unable to locate package texi2html:armel' aptcache showpkg texi2html:armel + +testsuccessequal 'Reading package lists... +Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + po-debconf +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst po-debconf (1 unstable [all]) +Conf po-debconf (1 unstable [all])' aptget build-dep dash -s + +testfailureequal 'Reading package lists... +Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + builddeps:dash:armel : Depends: po-debconf:armel but it is not installable +E: Unable to correct problems, you have held broken packages.' aptget build-dep -aarmel dash -s +testfailureequal 'Reading package lists... +Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + builddeps:diffutils:armel : Depends: texi2html:armel but it is not installable +E: Unable to correct problems, you have held broken packages.' aptget build-dep -aarmel diffutils -s + +testsuccessequal "Reading package lists... +Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + libselinux1-dev +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst libselinux1-dev (1 unstable [amd64]) +Conf libselinux1-dev (1 unstable [amd64])" aptget build-dep sed -s + +testfailureequal 'Reading package lists... +Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + builddeps:sed:armel : Depends: libselinux-dev:armel but it is not installable +E: Unable to correct problems, you have held broken packages.' aptget build-dep -aarmel sed -s + +testsuccessequal "Reading package lists... +Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + libsehurd1-dev +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst libsehurd1-dev (1 unstable [amd64]) +Conf libsehurd1-dev (1 unstable [amd64])" aptget build-dep sed2 -s + +testsuccessequal "Reading package lists... +Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + libsehurd1-dev:armel +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst libsehurd1-dev:armel (1 unstable [armel]) +Conf libsehurd1-dev:armel (1 unstable [armel])" aptget build-dep -aarmel sed2 -s diff --git a/test/integration/test-bug-686346-package-missing-architecture b/test/integration/test-bug-686346-package-missing-architecture new file mode 100755 index 0000000..d28600a --- /dev/null +++ b/test/integration/test-bug-686346-package-missing-architecture @@ -0,0 +1,113 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertinstalledpackage 'pkgb' 'none' '1' +insertinstalledpackage 'pkgd' 'none' '1' +insertpackage 'unstable' 'pkga' 'amd64' '2' 'Depends: pkgb' +insertpackage 'unstable' 'pkgb' 'amd64' '2' +insertpackage 'unstable' 'pkgc' 'amd64' '1' 'Conflicts: pkgb' + +setupaptarchive + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + pkgb:none +The following NEW packages will be installed: + pkgc +0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Remv pkgb:none [1] +Inst pkgc (1 unstable [amd64]) +Conf pkgc (1 unstable [amd64])' aptget install pkgc -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + pkgb +The following packages will be REMOVED: + pkgb:none +The following NEW packages will be installed: + pkga pkgb +0 upgraded, 2 newly installed, 1 to remove and 0 not upgraded. +Remv pkgb:none [1] +Inst pkgb (2 unstable [amd64]) +Inst pkga (2 unstable [amd64]) +Conf pkgb (2 unstable [amd64]) +Conf pkga (2 unstable [amd64])' aptget install pkga -s + +# do not automatically change from none-arch to whatever-arch as +# this breaks other none packages and dpkg has this ruleset as +# this difference seems so important that it has to be maintained … +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget dist-upgrade -s + +# pkgd has no update with an architecture +testdpkginstalled pkgd +msgtest 'Test apt-get purge' 'pkgd' +testsuccess --nomsg aptget purge pkgd -y +testdpkgnotinstalled pkgd + +# there is a pkgb with an architecture +testdpkginstalled pkgb +msgtest 'Test apt-get purge' 'pkgb:none' +testsuccess --nomsg aptget purge pkgb:none -y +testdpkgnotinstalled pkgb + +# check that dependencies are created after the none package exists in the cache +rm rootdir/var/cache/apt/*.bin +insertinstalledpackage 'pkgb' 'none' '1' +insertinstalledpackage 'pkgf' 'none' '1' 'Conflicts: pkgb' +insertinstalledpackage 'pkgg' 'amd64' '1' 'Conflicts: pkgb' +insertinstalledpackage 'pkgb' 'amd64' '2' +testequalor2 "Reading package lists... +Building dependency tree... +Reading state information... +You might want to run 'apt --fix-broken install' to correct these. +The following packages have unmet dependencies: + pkgb : Conflicts: pkgb:none but 1 is installed + pkgb:none : Conflicts: pkgb but 2 is installed + pkgf:none : Conflicts: pkgb:none but 1 is installed + Conflicts: pkgb but 2 is installed + pkgg : Conflicts: pkgb but 2 is installed + Conflicts: pkgb:none but 1 is installed +E: Unmet dependencies. Try using --fix-broken." "Reading package lists... +Building dependency tree... +Reading state information... +You might want to run 'apt --fix-broken install' to correct these. +The following packages have unmet dependencies: + pkgb : Conflicts: pkgb:none but 1 is installed + pkgb:none : Conflicts: pkgb but 2 is installed + pkgf:none : Conflicts: pkgb but 2 is installed + Conflicts: pkgb:none but 1 is installed + pkgg : Conflicts: pkgb but 2 is installed + Conflicts: pkgb:none but 1 is installed +E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution)." aptget check + +# check that dependencies are generated for none-packages +rm rootdir/var/lib/dpkg/status +insertinstalledpackage 'pkgx' 'none' '1' +insertinstalledpackage 'pkgy' 'none' '1' 'Depends: pkgz, pkgx (>= 1)' +insertinstalledpackage 'pkgz' 'none' '1' +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + pkgx:none* pkgy:none* +0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded. +Purg pkgy:none [1] +Purg pkgx:none [1]' aptget purge pkgx -s +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + pkgy:none* pkgz:none* +0 upgraded, 0 newly installed, 2 to remove and 0 not upgraded. +Purg pkgy:none [1] +Purg pkgz:none [1]' aptget purge pkgz -s diff --git a/test/integration/test-bug-689582-100-char-long-path-names b/test/integration/test-bug-689582-100-char-long-path-names new file mode 100755 index 0000000..290654b --- /dev/null +++ b/test/integration/test-bug-689582-100-char-long-path-names @@ -0,0 +1,35 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +mkdir aptarchive/testpkg +cd aptarchive/testpkg + +for i in $(seq 98 102); do + touch "$(printf "%0${i}d" "$i")" +done +tar zcf data.tar.gz 00* + +echo 'Package: testpkg +Version: 1-1 +Architecture: all +Maintainer: Joe Sixpack <joe@example.org> +Description: Package for test +Section: debug +Priority: extra' > control +tar zcf control.tar.gz control + +echo '2.0' > debian-binary +ar cr ../testpkg.deb debian-binary control.tar.gz data.tar.gz + +cd - > /dev/null + +testsuccessequal '000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000102 testpkg +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000101 testpkg +0000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000100 testpkg +000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000099 testpkg +00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000098 testpkg' aptftparchive contents aptarchive/ diff --git a/test/integration/test-bug-691453-apt-cache-search-multi-pattern b/test/integration/test-bug-691453-apt-cache-search-multi-pattern new file mode 100755 index 0000000..8aa6ca7 --- /dev/null +++ b/test/integration/test-bug-691453-apt-cache-search-multi-pattern @@ -0,0 +1,33 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'native' + +insertpackage 'unstable' 'foobar' 'native' '1' '' '' 'funky tool' +insertpackage 'unstable' 'coolstuff' 'native' '1' '' '' 'funky tool just like foo and bar' +insertpackage 'unstable' 'foo' 'native' '1' '' '' 'tool best used with bar' +insertpackage 'unstable' 'bar' 'native' '1' '' '' 'tool best used with foo' +insertpackage 'unstable' 'baz' 'native' '1' 'Provides: bar' '' 'alternative tool best used with foo' + +setupaptarchive + +# in this special case the following queries should be equal +FOOBAR='foobar - funky tool +coolstuff - funky tool just like foo and bar +foo - tool best used with bar +bar - tool best used with foo +baz - alternative tool best used with foo' + +testsuccessequal "$FOOBAR" aptcache search foo +testsuccessequal "$FOOBAR" aptcache search bar +testsuccessequal "$FOOBAR" aptcache search foo bar + +testsuccessequal 'foobar - funky tool +foo - tool best used with bar' aptcache search -n foo +testsuccessequal 'foobar - funky tool +bar - tool best used with foo +baz - alternative tool best used with foo' aptcache search -n bar +testsuccessequal 'foobar - funky tool' aptcache search -n foo bar diff --git a/test/integration/test-bug-709560-set-candidate-release b/test/integration/test-bug-709560-set-candidate-release new file mode 100755 index 0000000..43eea36 --- /dev/null +++ b/test/integration/test-bug-709560-set-candidate-release @@ -0,0 +1,36 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertpackage 'experimental' 'foo' 'all' '2.0' 'Depends: foo-dep (= 2.1)' +insertpackage 'experimental' 'foo-dep' 'all' '2.1' + + +( +cat <<EOF +Package: * +Pin: release a=experimental +Pin-Priority: -10 +EOF +) > rootdir/etc/apt/preferences + + +setupaptarchive + +testsuccessequal "Reading package lists... +Building dependency tree... +Selected version '2.0' (experimental [all]) for 'foo' +Selected version '2.1' (experimental [all]) for 'foo-dep' because of 'foo' +The following additional packages will be installed: + foo-dep +The following NEW packages will be installed: + foo foo-dep +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst foo-dep (2.1 experimental [all]) +Inst foo (2.0 experimental [all]) +Conf foo-dep (2.1 experimental [all]) +Conf foo (2.0 experimental [all])" aptget install -q0 -s foo/experimental diff --git a/test/integration/test-bug-712116-dpkg-pre-install-pkgs-hook-multiarch b/test/integration/test-bug-712116-dpkg-pre-install-pkgs-hook-multiarch new file mode 100755 index 0000000..9c96bbe --- /dev/null +++ b/test/integration/test-bug-712116-dpkg-pre-install-pkgs-hook-multiarch @@ -0,0 +1,152 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' + +buildsimplenativepackage 'toolkit' 'all' '1' 'stable' 'Multi-Arch: foreign' +buildsimplenativepackage 'toolkit' 'amd64' '2' 'unstable' 'Multi-Arch: foreign' +buildsimplenativepackage 'libsame' 'i386,amd64' '1' 'stable' 'Multi-Arch: same' +buildsimplenativepackage 'libsame' 'i386,amd64' '2' 'unstable' 'Multi-Arch: same' +buildsimplenativepackage 'stuff' 'i386,amd64' '1' 'stable' 'Depends: libsame (= 1), toolkit (= 1)' +buildsimplenativepackage 'stuff' 'i386,amd64' '2' 'unstable' 'Depends: libsame (= 2), toolkit (= 2)' + +setupsimplenativepackage 'confpkg' 'amd64' '1' 'unstable' +BUILDDIR='incoming/confpkg-1' +echo 'foo "bar";' > ${BUILDDIR}/pkg.conf +echo 'pkg.conf /etc/pkg.conf' >> ${BUILDDIR}/debian/install +buildpackage "$BUILDDIR" 'unstable' 'main' 'amd64' +rm -rf "$BUILDDIR" + +setupaptarchive + +hook='pre-install-pkgs' + +enablehookversion() { + echo "#!/bin/sh +FD=0 +echo -n > ${hook}-v${1}.list +if [ -n \"${2}\" ]; then + FD=\$APT_HOOK_INFO_FD + if [ "\$FD" != \"${2}\" ]; then echo \"ERROR: Information is not on requested FD: \$FD != ${2}\" >> ${hook}-v${1}.list; fi +fi +while read </dev/fd/\$FD line; do + if echo \"\$line\" | grep -Fq '**'; then + echo \"\$line\" + fi +done >> ${hook}-v${1}.list" > ${hook}-v${1}.sh + chmod +x ${hook}-v${1}.sh + echo "dpkg::${hook}:: \"./${hook}-v${1}.sh --foo -bar\"; +DPkg::Tools::options::\"./${hook}-v${1}.sh\"::Version \"$1\";" > rootdir/etc/apt/apt.conf.d/hook-v$1 + if [ -n "$2" ]; then + echo "DPkg::Tools::options::\"./${hook}-v${1}.sh\"::InfoFD \"${2}\";" >> rootdir/etc/apt/apt.conf.d/hook-v$1 + fi +} + +observehook() { + rm -f ${hook}-v2.list ${hook}-v3.list + msgtest 'Observe hooks while' "$*" + testsuccess --nomsg aptget "$@" -y --allow-downgrades --planner $planner -o Debug::pkgDPkgProgressReporting=1 + # different planners have different orders – we don't care in this test here + if [ -e ${hook}-v2.list ]; then + sort < ${hook}-v2.list > ${hook}-v2.list.new + mv ${hook}-v2.list.new ${hook}-v2.list + fi + if [ -e ${hook}-v3.list ]; then + sort < ${hook}-v3.list > ${hook}-v3.list.new + mv ${hook}-v3.list.new ${hook}-v3.list + fi +} + +testrun() { + observehook install stuff -t stable + testfileequal "${hook}-v2.list" 'libsame - < 1 **CONFIGURE** +stuff - < 1 **CONFIGURE** +toolkit - < 1 **CONFIGURE**' + testfileequal "${hook}-v3.list" 'libsame - - none < 1 amd64 same **CONFIGURE** +stuff - - none < 1 amd64 none **CONFIGURE** +toolkit - - none < 1 all foreign **CONFIGURE**' + + observehook install stuff -t unstable + testfileequal "${hook}-v2.list" 'libsame 1 < 2 **CONFIGURE** +stuff 1 < 2 **CONFIGURE** +toolkit 1 < 2 **CONFIGURE**' + testfileequal "${hook}-v3.list" 'libsame 1 amd64 same < 2 amd64 same **CONFIGURE** +stuff 1 amd64 none < 2 amd64 none **CONFIGURE** +toolkit 1 all foreign < 2 amd64 foreign **CONFIGURE**' + + observehook install stuff:i386 -t unstable + testfileequal "${hook}-v2.list" 'libsame - < 2 **CONFIGURE** +stuff - < 2 **CONFIGURE** +stuff 2 > - **REMOVE**' + testfileequal "${hook}-v3.list" 'libsame - - none < 2 i386 same **CONFIGURE** +stuff - - none < 2 i386 none **CONFIGURE** +stuff 2 amd64 none > - - none **REMOVE**' + + observehook remove libsame + testfileequal "${hook}-v2.list" 'libsame 2 > - **REMOVE**' + testfileequal "${hook}-v3.list" 'libsame 2 amd64 same > - - none **REMOVE**' + + observehook install stuff:i386/stable libsame:i386/stable toolkit/stable + testfileequal "${hook}-v2.list" 'libsame 2 > 1 **CONFIGURE** +stuff 2 > 1 **CONFIGURE** +toolkit 2 > 1 **CONFIGURE**' + testfileequal "${hook}-v3.list" 'libsame 2 i386 same > 1 i386 same **CONFIGURE** +stuff 2 i386 none > 1 i386 none **CONFIGURE** +toolkit 2 amd64 foreign > 1 all foreign **CONFIGURE**' + + observehook install 'libsame:*' + testfileequal "${hook}-v2.list" 'libsame - < 2 **CONFIGURE** +libsame 1 < 2 **CONFIGURE** +stuff 1 < 2 **CONFIGURE** +toolkit 1 < 2 **CONFIGURE**' + testfileequal "${hook}-v3.list" 'libsame - - none < 2 amd64 same **CONFIGURE** +libsame 1 i386 same < 2 i386 same **CONFIGURE** +stuff 1 i386 none < 2 i386 none **CONFIGURE** +toolkit 1 all foreign < 2 amd64 foreign **CONFIGURE**' + + observehook purge stuff:i386 'libsame:*' toolkit + testfileequal "${hook}-v2.list" 'libsame 2 > - **REMOVE** +libsame 2 > - **REMOVE** +stuff 2 > - **REMOVE** +toolkit 2 > - **REMOVE**' + testfileequal "${hook}-v3.list" 'libsame 2 amd64 same > - - none **REMOVE** +libsame 2 i386 same > - - none **REMOVE** +stuff 2 i386 none > - - none **REMOVE** +toolkit 2 amd64 foreign > - - none **REMOVE**' + + observehook install confpkg + testfileequal "${hook}-v2.list" 'confpkg - < 1 **CONFIGURE**' + testfileequal "${hook}-v3.list" 'confpkg - - none < 1 amd64 none **CONFIGURE**' + + observehook remove confpkg + testfileequal "${hook}-v2.list" 'confpkg 1 > - **REMOVE**' + testfileequal "${hook}-v3.list" 'confpkg 1 amd64 none > - - none **REMOVE**' + + msgtest 'Conffiles of package remained after remove' 'confpkg' + dpkg -l confpkg | grep -q '^rc' && msgpass || msgfail + + observehook purge confpkg + testfileequal "${hook}-v2.list" 'confpkg 1 > - **REMOVE**' + testfileequal "${hook}-v3.list" 'confpkg 1 amd64 none > - - none **REMOVE**' + + msgtest 'Conffiles are gone after purge' 'confpkg' + dpkg -l confpkg 2>/dev/null | grep -q '^rc' && msgfail || msgpass +} + +runwithplanner() +{ + msgmsg 'Running with planner' "$1" + planner="$1" + enablehookversion 2 + enablehookversion 3 + testrun + + enablehookversion 2 13 + enablehookversion 3 13 + testrun +} + +runwithplanner 'apt' diff --git a/test/integration/test-bug-712435-missing-descriptions b/test/integration/test-bug-712435-missing-descriptions new file mode 100755 index 0000000..c231993 --- /dev/null +++ b/test/integration/test-bug-712435-missing-descriptions @@ -0,0 +1,162 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +PACKAGESTANZA='Version: 0.9.7.8 +Installed-Size: 3270 +Maintainer: APT Development Team <deity@lists.debian.org> +Architecture: amd64 +Filename: pool/main/a/apt/apt_0.9.7.8_amd64.deb +MD5sum: 3a622acda41620df50aa22a9fac6f32e' + +DESCRIPTION='Description: commandline package manager + This APT has Super Cow Powers.' + +TRANSDESCRIPTION='Description-en: commandline package manager + This APT has translated Super Cow Powers.' + +echo "Package: apt-normal +$PACKAGESTANZA +$DESCRIPTION +Description-md5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + +Package: apt-both-below +$PACKAGESTANZA +$DESCRIPTION +$TRANSDESCRIPTION +Description-md5: bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb + +Package: apt-both-middle +$PACKAGESTANZA +$DESCRIPTION +Description-md5: bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +$TRANSDESCRIPTION + +Package: apt-both-top +$PACKAGESTANZA +Description-md5: bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +$DESCRIPTION +$TRANSDESCRIPTION + +Package: apt-trans +$PACKAGESTANZA +$TRANSDESCRIPTION +Description-md5: cccccccccccccccccccccccccccccccc + +Package: apt-md5 +$PACKAGESTANZA +Description-md5: dddddddddddddddddddddddddddddddd + +Package: apt-none +$PACKAGESTANZA + +Package: apt-intermixed +$PACKAGESTANZA +$DESCRIPTION +X-Some-Flag: yes +Description-md5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + +Package: apt-intermixed2 +$PACKAGESTANZA +$DESCRIPTION +X-Some-Flag: yes +$TRANSDESCRIPTION +X-Foo-Flag: Something with a Description +Description-md5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +X-Bar-Flag: no + +Package: apt-intermixed3 +$PACKAGESTANZA +$DESCRIPTION +X-Some-Flag: yes +$TRANSDESCRIPTION +X-Foo-Flag: Something with a Description +X-Bar-Flag: no +Description-md5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa" > aptarchive/Packages + + +setupaptarchive + +testsuccessequal "Package: apt-normal +$PACKAGESTANZA +$DESCRIPTION +Description-md5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +" aptcache show apt-normal + +for variant in 'below' 'middle' 'top'; do + testsuccessequal "Package: apt-both-$variant +$PACKAGESTANZA +$TRANSDESCRIPTION +Description-md5: bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb +" aptcache show apt-both-$variant +done + +testsuccessequal "Package: apt-trans +$PACKAGESTANZA +$TRANSDESCRIPTION +Description-md5: cccccccccccccccccccccccccccccccc +" aptcache show apt-trans + +testsuccessequal "Package: apt-md5 +$PACKAGESTANZA +Description-md5: dddddddddddddddddddddddddddddddd +" aptcache show apt-md5 + +testsuccessequal "Package: apt-none +$PACKAGESTANZA +" aptcache show apt-none + +testsuccessequal "Package: apt-intermixed +$PACKAGESTANZA +$DESCRIPTION +Description-md5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +X-Some-Flag: yes +" aptcache show apt-intermixed + +testsuccessequal "Package: apt-intermixed2 +$PACKAGESTANZA +$TRANSDESCRIPTION +Description-md5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +X-Some-Flag: yes +X-Foo-Flag: Something with a Description +X-Bar-Flag: no +" aptcache show apt-intermixed2 + +testsuccessequal "Package: apt-intermixed3 +$PACKAGESTANZA +$TRANSDESCRIPTION +Description-md5: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa +X-Some-Flag: yes +X-Foo-Flag: Something with a Description +X-Bar-Flag: no +" aptcache show apt-intermixed3 + +msgtest 'Test that no description does not destroy' 'showpkg' +aptcache showpkg apt-none | sed 's#/tmp/.*_aptarchive_#/tmp/aptarchive_#' >showpkg.explosion && msgpass || msgfail +testfileequal showpkg.explosion 'Package: apt-none +Versions: +0.9.7.8 (/tmp/aptarchive_Packages) + + +Reverse Depends: +Dependencies: +0.9.7.8 - +Provides: +0.9.7.8 - +Reverse Provides: ' + +testempty aptcache search nonexistentstring + +# packages without a description can't be found +testsuccessequal 'apt-normal - commandline package manager +apt-both-below - commandline package manager +apt-both-middle - commandline package manager +apt-both-top - commandline package manager +apt-trans - commandline package manager +apt-intermixed - commandline package manager +apt-intermixed2 - commandline package manager +apt-intermixed3 - commandline package manager' aptcache search apt diff --git a/test/integration/test-bug-717891-abolute-uris-for-proxies b/test/integration/test-bug-717891-abolute-uris-for-proxies new file mode 100755 index 0000000..5f1b754 --- /dev/null +++ b/test/integration/test-bug-717891-abolute-uris-for-proxies @@ -0,0 +1,53 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +buildsimplenativepackage 'unrelated' 'all' '0.5~squeeze1' 'unstable' + +setupaptarchive +changetowebserver --request-absolute='uri' + +msgtest 'Check that absolute paths are' 'not accepted' +testfailure --nomsg aptget update --allow-insecure-repositories + +echo "Acquire::http::Proxy \"http://localhost:${APTHTTPPORT}\";" > rootdir/etc/apt/apt.conf.d/99proxy + +msgtest 'Check that requests to proxies are' 'absolute uris via config' +testsuccess --nomsg aptget update + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + unrelated +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst unrelated (0.5~squeeze1 unstable [all]) +Conf unrelated (0.5~squeeze1 unstable [all])' aptget install unrelated -s + +rm -f rootdir/etc/apt/apt.conf.d/99proxy +echo "Acquire::http::Proxy-Auto-Detect \"${TMPWORKINGDIRECTORY}/apt-proxy-detect\";" > rootdir/etc/apt/apt.conf.d/02proxy-detect +cat > "${TMPWORKINGDIRECTORY}/apt-proxy-detect" <<EOF +#!/bin/sh +set -e +echo "http://localhost:${APTHTTPPORT}" +EOF +chmod 755 "${TMPWORKINGDIRECTORY}/apt-proxy-detect" + +msgtest 'Check that requests to proxies are' 'absolute uris via auto-detect' +testsuccess aptget update -o Debug::Acquire::http=1 + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + unrelated +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst unrelated (0.5~squeeze1 unstable [all]) +Conf unrelated (0.5~squeeze1 unstable [all])' aptget install unrelated -s + +chmod 444 "${TMPWORKINGDIRECTORY}/apt-proxy-detect" +msgtest 'Check that non-executable proxy commands result in' 'permission error' +testfailure --nomsg aptget update +testsuccess grep 'can not be executed' rootdir/tmp/testfailure.output diff --git a/test/integration/test-bug-718329-support-data.tar-uncompressed b/test/integration/test-bug-718329-support-data.tar-uncompressed new file mode 100755 index 0000000..9318025 --- /dev/null +++ b/test/integration/test-bug-718329-support-data.tar-uncompressed @@ -0,0 +1,34 @@ +#!/bin/sh +set -e + +art() { + ar t "$@" | grep -v control.tar +} + +test_process_package_with_compression() { + COMPRESSOR="$1" + DATA_TAR="$2" + + msgmsg "Testing apt-ftparchive with compression type: $COMPRESSOR" + + buildsimplenativepackage 'pkg' 'all' '1.0' '' '' 'some descr' '' '' '' "$COMPRESSOR" + testsuccessequal "debian-binary +$DATA_TAR" art incoming/pkg_1.0_all.deb + + testequal "Package: pkg" echo "$(aptftparchive packages incoming/|grep ^Package)" + + testsuccessequal "usr/bin/pkg-all pkg +usr/share/doc/pkg/FEATURES pkg +usr/share/doc/pkg/changelog pkg +usr/share/doc/pkg/copyright pkg" aptftparchive contents incoming/ + + rm -rf incoming/* +} + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +test_process_package_with_compression "gzip" "data.tar.gz" +test_process_package_with_compression "none" "data.tar" +test_process_package_with_compression "xz" "data.tar.xz" diff --git a/test/integration/test-bug-719263-print-uris-removes-authentication b/test/integration/test-bug-719263-print-uris-removes-authentication new file mode 100755 index 0000000..e79e691 --- /dev/null +++ b/test/integration/test-bug-719263-print-uris-removes-authentication @@ -0,0 +1,42 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' + +insertinstalledpackage 'unrelated' 'all' '1' +buildsimplenativepackage 'unrelated' 'all' '2' 'unstable' + +setupaptarchive + +testnoact() { + cp -a rootdir/var/lib/dpkg/status rootdir/var/lib/dpkg/status-backup-noact + touch rootdir/var/lib/apt/extended_states + testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be upgraded: + unrelated +1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Inst unrelated [1] (2 unstable [all]) +Conf unrelated (2 unstable [all])' aptget install unrelated -s + testsuccess aptget install unrelated -y + testdpkginstalled unrelated + rm -rf rootdir/var/cache/apt/*.bin + cp -a rootdir/var/lib/dpkg/status-backup-noact rootdir/var/lib/dpkg/status +} + +testnoact +testsuccess aptget update --print-uris +testnoact + +# same thing, just not with InRelease this time +rm -rf rootdir/var/lib/apt/lists +testsuccess aptget update -o Acquire::TryInRelease=0 + +testnoact +testsuccess aptget update --print-uris -o Acquire::TryInRelease=0 +testnoact diff --git a/test/integration/test-bug-720597-build-dep-purge b/test/integration/test-bug-720597-build-dep-purge new file mode 100755 index 0000000..4b36989 --- /dev/null +++ b/test/integration/test-bug-720597-build-dep-purge @@ -0,0 +1,65 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment + +# we need this construct here as it isn't really possible to fake native arch for dpkg-* tools +NATIVE="$(command dpkg --print-architecture)" +configarchitecture $NATIVE + +insertinstalledpackage 'build-essential' 'all' '11.5' 'Multi-Arch: foreign' +insertinstalledpackage 'pkga' 'all' '1' +buildsimplenativepackage 'pkgb' "$NATIVE" '1' 'stable' 'Conflicts: pkga' +buildsimplenativepackage 'pkgc' "$NATIVE" '1' 'stable' 'Build-Depends: pkgb' + +setupaptarchive + +testsuccessequal "Reading package lists... +Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + pkga +The following NEW packages will be installed: + pkgb +0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Remv pkga [1] +Inst pkgb (1 stable [$NATIVE]) +Conf pkgb (1 stable [$NATIVE])" aptget build-dep pkgc -s + +testsuccessequal "Reading package lists... +Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + pkga* +The following NEW packages will be installed: + pkgb +0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Purg pkga [1] +Inst pkgb (1 stable [$NATIVE]) +Conf pkgb (1 stable [$NATIVE])" aptget build-dep pkgc -s --purge + +testsuccessequal 'Reading package lists... +Building dependency tree... +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' apt autoremove -s +testdpkgnotinstalled pkgb +testsuccess apt build-dep pkgc -y -o Debug::pkgDepCache::AutoInstall=1 -o Debug::pkgDepCache::Marker=1 +testdpkginstalled pkgb +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' apt autoremove -s +testsuccess apt purge pkgb pkgc -y +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' apt autoremove -s +testsuccess apt build-dep pkgc -y -o APT::Get::Build-Dep-Automatic=true +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + pkgb +0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. +Remv pkgb [1]' apt autoremove -s diff --git a/test/integration/test-bug-722207-print-uris-even-if-very-quiet b/test/integration/test-bug-722207-print-uris-even-if-very-quiet new file mode 100755 index 0000000..73290a7 --- /dev/null +++ b/test/integration/test-bug-722207-print-uris-even-if-very-quiet @@ -0,0 +1,31 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' + +insertinstalledpackage 'apt' 'all' '1' +insertpackage 'unstable' 'apt' 'all' '2' +insertsource 'unstable' 'apt' 'all' '2' +insertsource 'unstable' 'apt2' 'all' '1' + +getoriginfromsuite() { echo 'Debian'; } +setupaptarchive + +APTARCHIVE=$(readlink -f ./aptarchive) + +testsuccessequal "'file:${APTARCHIVE}/pool/main/apt/apt_2_all.deb' apt_2_all.deb 42 " aptget upgrade -qq --print-uris +testsuccessequal "'file:${APTARCHIVE}/pool/main/apt/apt_2_all.deb' apt_2_all.deb 42 " aptget dist-upgrade -qq --print-uris +testsuccessequal "'file:${APTARCHIVE}/pool/main/apt/apt_2_all.deb' apt_2_all.deb 42 " aptget install apt -qq --print-uris +testsuccessequal "'file:${APTARCHIVE}/pool/main/apt/apt_2_all.deb' apt_2_all.deb 42 SHA256:0000000000000000000000000000000000000000000000000000000000000000" aptget download apt -qq --print-uris +testsuccessequal "'file:${APTARCHIVE}/apt_2.dsc' apt_2.dsc 9 SHA256:7776436a6d741497f1cd958014e1a05b352224231428152aae39da3c17fd2fd4 +'file:${APTARCHIVE}/apt_2.tar.gz' apt_2.tar.gz 12 SHA256:f57f565eabe3fde0ec6e6e0bcc8db1d86fe2b4d6344a380a23520ddbb7728e99" aptget source apt -qq --print-uris +testsuccessequal "'https://metadata.ftp-master.debian.org/changelogs/main/a/apt/apt_2_changelog' apt.changelog" aptget changelog apt -qq --print-uris + +testsuccessequal "'file:${APTARCHIVE}/apt_2.dsc' apt_2.dsc 9 SHA256:7776436a6d741497f1cd958014e1a05b352224231428152aae39da3c17fd2fd4 +'file:${APTARCHIVE}/apt_2.tar.gz' apt_2.tar.gz 12 SHA256:f57f565eabe3fde0ec6e6e0bcc8db1d86fe2b4d6344a380a23520ddbb7728e99 +'file:${APTARCHIVE}/apt2_1.dsc' apt2_1.dsc 10 SHA256:5693ba5efbfa21216f13661d344611aabe70ce3c343554ab46d4d9c24fdfd13a +'file:${APTARCHIVE}/apt2_1.tar.gz' apt2_1.tar.gz 13 SHA256:1464c609fd09934c270ec629020d5e248b080607f715e47ef088cc8ab8480541" aptget source apt apt2 -qq --print-uris diff --git a/test/integration/test-bug-723586-any-stripped-in-single-arch b/test/integration/test-bug-723586-any-stripped-in-single-arch new file mode 100755 index 0000000..38eb026 --- /dev/null +++ b/test/integration/test-bug-723586-any-stripped-in-single-arch @@ -0,0 +1,54 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertinstalledpackage 'python3' 'all' '3.2.3-6' + +insertpackage 'unstable' 'python3' 'amd64' '3.3.2-16' 'Multi-Arch: allowed' +insertpackage 'stable' 'python3-gnupg' 'all' '0.3.5-2' 'Depends: python3:any (>= 3.2.3-3~)' + +insertpackage 'unstable' 'python-mips' 'amd64' '3' 'Depends: python3:mips' + +setupaptarchive + +INSTALLLOG='Reading package lists... +Building dependency tree... +The following additional packages will be installed: + python3 +The following NEW packages will be installed: + python3-gnupg +The following packages will be upgraded: + python3 +1 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst python3 [3.2.3-6] (3.3.2-16 unstable [amd64]) +Inst python3-gnupg (0.3.5-2 stable [all]) +Conf python3 (3.3.2-16 unstable [amd64]) +Conf python3-gnupg (0.3.5-2 stable [all])' + +FAILLOG='Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + python-mips : Depends: python3:mips but it is not installable +E: Unable to correct problems, you have held broken packages.' + +testsuccessequal "$INSTALLLOG" aptget install python3-gnupg -s +aptcache showpkg python3 > showpkg.log +testfailureequal "$FAILLOG" aptget install python-mips -s + +# same test, but this time in a multi-arch environment +configarchitecture 'amd64' 'armhf' +rm rootdir/var/cache/apt/*.bin + +testsuccessequal "$INSTALLLOG" aptget install python3-gnupg -s +testsuccessequal "$(cat showpkg.log)" aptcache showpkg python3 +testfailureequal "$FAILLOG" aptget install python-mips -s diff --git a/test/integration/test-bug-723705-tagfile-truncates-fields b/test/integration/test-bug-723705-tagfile-truncates-fields new file mode 100755 index 0000000..1542228 --- /dev/null +++ b/test/integration/test-bug-723705-tagfile-truncates-fields @@ -0,0 +1,33 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +setupaptarchive + +aptget install --print-uris -y cdebconf-newt-terminal cdebconf-gtk-terminal 2>&1 | sed "s#file:\(//\|\)${TMPWORKINGDIRECTORY}#file:/tmp#g" > filename.log + +testfileequal filename.log "Reading package lists... +Building dependency tree... +The following additional packages will be installed: + cdebconf-gtk-udeb cdebconf-newt-udeb cdebconf-udeb libc6-udeb + libglib2.0-udeb libgtk2.0-0-udeb libvte9-udeb +The following NEW packages will be installed: + cdebconf-gtk-terminal cdebconf-gtk-udeb cdebconf-newt-terminal + cdebconf-newt-udeb cdebconf-udeb libc6-udeb libglib2.0-udeb libgtk2.0-0-udeb + libvte9-udeb +0 upgraded, 9 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/4774 kB of archives. +After this operation, 19.8 MB of additional disk space will be used. +'file:/tmp/aptarchive/pool/main/c/cdebconf/cdebconf-udeb_0.185_amd64.udeb' cdebconf-udeb_0.185_amd64.udeb 77376 MD5Sum:e3883706fdbf54c2e5ea959c92b2d37f +'file:/tmp/aptarchive/pool/main/c/cdebconf/cdebconf-gtk-udeb_0.185_amd64.udeb' cdebconf-gtk-udeb_0.185_amd64.udeb 27278 MD5Sum:a1bbbc1d4fb8e0615b5621abac021924 +'file:/tmp/aptarchive/pool/main/c/cdebconf/cdebconf-newt-udeb_0.185_amd64.udeb' cdebconf-newt-udeb_0.185_amd64.udeb 19192 MD5Sum:de27807f56dae2f2403b3322d5fe6bd2 +'file:/tmp/aptarchive/pool/main/g/glib2.0/libglib2.0-udeb_2.36.4-1_amd64.udeb' libglib2.0-udeb_2.36.4-1_amd64.udeb 1714604 MD5Sum:72da029f1bbb36057d874f1f82a5d00a +'file:/tmp/aptarchive/pool/main/e/eglibc/libc6-udeb_2.17-92%2bb1_amd64.udeb' libc6-udeb_2.17-92+b1_amd64.udeb 1056000 MD5Sum:7fd7032eeeecf7f76eff79a0543fbd72 +'file:/tmp/aptarchive/pool/main/g/gtk%2b2.0/libgtk2.0-0-udeb_2.24.20-1_amd64.udeb' libgtk2.0-0-udeb_2.24.20-1_amd64.udeb 1643046 MD5Sum:25513478eb2e02e5766c0eea0b411ca9 +'file:/tmp/aptarchive/pool/main/v/vte/libvte9-udeb_0.28.2-5_amd64.udeb' libvte9-udeb_1%3a0.28.2-5_amd64.udeb 216968 MD5Sum:7da7201effaf5ced19abd9d0b45aa2c6 +'file:/tmp/aptarchive/pool/main/c/cdebconf-terminal/cdebconf-gtk-terminal_0.22_amd64.udeb' cdebconf-gtk-terminal_0.22_amd64.udeb 14734 MD5Sum:f9c3a7354560cb88e0396e2b7ba54363 +'file:/tmp/aptarchive/pool/main/c/cdebconf-terminal/cdebconf-newt-terminal_0.22_amd64.udeb' cdebconf-newt-terminal_0.22_amd64.udeb 4538 MD5Sum:20db6152fce5081fcbf49c7c08f21246" diff --git a/test/integration/test-bug-728500-tempdir b/test/integration/test-bug-728500-tempdir new file mode 100755 index 0000000..7497ffc --- /dev/null +++ b/test/integration/test-bug-728500-tempdir @@ -0,0 +1,22 @@ +#!/bin/sh + +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' + +insertpackage 'unstable' 'coolstuff' 'all' '1.0' + +setupaptarchive +changetowebserver + +msgtest 'Test apt-get update with incorrect' 'TMPDIR' + +export TMPDIR=/does-not-exists +testsuccess aptget update -o Debug::Acquire::gpg=1 +unset TMPDIR + +testsuccessequal 'coolstuff' aptcache pkgnames +testsuccess ls rootdir/var/lib/apt/lists/*InRelease diff --git a/test/integration/test-bug-732746-preferences b/test/integration/test-bug-732746-preferences new file mode 100755 index 0000000..d3bbdad --- /dev/null +++ b/test/integration/test-bug-732746-preferences @@ -0,0 +1,32 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' + +insertinstalledpackage 'bar' 'i386' '1.0' + +cat > rootdir/etc/apt/preferences << EOF +# random test comment header + +# commented out by puppy^Wpuppet +#Package: foo +#Pin: origin "ftp.debian.org" +#Pin: 800 + +Package: bar +Pin: version 1.0 +Pin-Priority: 700 + +#Package: bar +#Pin: version 1.0 +#Pin: 800 +EOF + +testsuccessequal "Reading package lists... +Building dependency tree..." aptget check + +msgtest "Ensure policy is applied" +aptcache policy bar|grep -q "*** 1.0 700" && msgpass || msgfail diff --git a/test/integration/test-bug-733028-gpg-resource-limit b/test/integration/test-bug-733028-gpg-resource-limit new file mode 100755 index 0000000..b44facd --- /dev/null +++ b/test/integration/test-bug-733028-gpg-resource-limit @@ -0,0 +1,26 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' + +insertpackage 'unstable' 'foobar' 'all' '1' + +setupaptarchive --no-update + +for i in $(seq 1 50); do + touch rootdir/etc/apt/trusted.gpg.d/emptykey-${i}.gpg +done +testaptkeys 'Joe Sixpack' + +testsuccess aptget update +msgtest 'Test for no gpg errors/warnings in' 'apt-get update' +sed -i -e "s#${TMPWORKINGDIRECTORY}#/tmp/tmp.XXXXXX#g" rootdir/tmp/testsuccess.output +if grep -iq 'GPG' rootdir/tmp/testsuccess.output; then + cat rootdir/tmp/testsuccess.output + msgfail +else + msgpass +fi diff --git a/test/integration/test-bug-734922-apt-showsrc-duplicate b/test/integration/test-bug-734922-apt-showsrc-duplicate new file mode 100755 index 0000000..d4370e2 --- /dev/null +++ b/test/integration/test-bug-734922-apt-showsrc-duplicate @@ -0,0 +1,25 @@ +#!/bin/sh +set -e + +TESTDIR=$(readlink -f $(dirname $0)) +. $TESTDIR/framework +setupenvironment +configarchitecture 'i386' + +# foo is identical, show it only once in showsrc +insertpackage "unstable" "foo" "i386" "1.0" +insertpackage "testing" "foo" "i386" "1.0" +insertsource "unstable" "foo" "i386" "1.0" +insertsource "testing" "foo" "i386" "1.0" + +# bar is different, show twice +insertsource "unstable" "bar" "i386" "1.0" +insertsource "testing" "bar" "i386" "2.0" + +setupaptarchive + +# ensure "foo" is not shown twice +aptcache showsrc foo bar|grep ^Package: > out.txt +testequal "Package: foo +Package: bar +Package: bar" cat out.txt diff --git a/test/integration/test-bug-735967-lib32-to-i386-unavailable b/test/integration/test-bug-735967-lib32-to-i386-unavailable new file mode 100755 index 0000000..b836451 --- /dev/null +++ b/test/integration/test-bug-735967-lib32-to-i386-unavailable @@ -0,0 +1,91 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'i386' 'amd64' + +insertpackage 'unstable' 'lib32nss-mdns' 'amd64' '0.10-6' 'Depends: libnss-mdns-i386 (= 0.10-6)' +insertpackage 'unstable' 'libnss-mdns' 'amd64,i386' '0.10-6' 'Multi-Arch: same +Breaks: lib32nss-mdns (<< 0.10-6)' +insertpackage 'unstable' 'libnss-mdns-i386' 'i386' '0.10-6' 'Multi-Arch: foreign +Depends: libnss-mdns' +# introduce some dummies so that there are versions, but none works +insertpackage 'unstable' 'libnss-mdns-i386' 'amd64' '0.1-6' +insertpackage 'experimental' 'libnss-mdns-amd64' 'i386,amd64' '0.10-6' 'Provides: libnss-mdns-i386' + +insertpackage 'unstable' 'foo' 'amd64' '1' 'Depends: libfoo' +insertpackage 'unstable' 'libfoo' 'amd64' '1' 'Depends: libfoo-bin' +insertpackage 'unstable' 'libfoo-bin' 'i386' '0.10-6' 'Multi-Arch: foreign' + +insertinstalledpackage 'lib32nss-mdns' 'amd64' '0.9-1' +insertinstalledpackage 'libnss-mdns' 'amd64' '0.9-1' + +insertinstalledpackage 'i-make-packages-important' 'all' '1' 'Depends: libnss-mdns' + +setupaptarchive --no-update + +# make libnss-mdns-i386 unavailable +configarchitecture 'amd64' +testsuccess aptget update + +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be REMOVED: + lib32nss-mdns +The following packages will be upgraded: + libnss-mdns +1 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. +Remv lib32nss-mdns [0.9-1] +Inst libnss-mdns [0.9-1] (0.10-6 unstable [amd64]) +Conf libnss-mdns (0.10-6 unstable [amd64])' aptget dist-upgrade -s + +testfailureequal 'Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + libfoo : Depends: libfoo-bin but it is not installable +E: Unable to correct problems, you have held broken packages.' aptget install foo -s + +# activate multiarch +configarchitecture 'amd64' 'i386' +testsuccess aptget update + +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following NEW packages will be installed: + libnss-mdns:i386 libnss-mdns-i386:i386 +The following packages will be upgraded: + lib32nss-mdns libnss-mdns +2 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst lib32nss-mdns [0.9-1] (0.10-6 unstable [amd64]) [] +Inst libnss-mdns [0.9-1] (0.10-6 unstable [amd64]) [] +Inst libnss-mdns:i386 (0.10-6 unstable [i386]) [] +Inst libnss-mdns-i386:i386 (0.10-6 unstable [i386]) +Conf lib32nss-mdns (0.10-6 unstable [amd64]) +Conf libnss-mdns (0.10-6 unstable [amd64]) +Conf libnss-mdns:i386 (0.10-6 unstable [i386]) +Conf libnss-mdns-i386:i386 (0.10-6 unstable [i386])' aptget dist-upgrade -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + libfoo libfoo-bin:i386 +The following NEW packages will be installed: + foo libfoo libfoo-bin:i386 +0 upgraded, 3 newly installed, 0 to remove and 2 not upgraded. +Inst libfoo-bin:i386 (0.10-6 unstable [i386]) +Inst libfoo (1 unstable [amd64]) +Inst foo (1 unstable [amd64]) +Conf libfoo-bin:i386 (0.10-6 unstable [i386]) +Conf libfoo (1 unstable [amd64]) +Conf foo (1 unstable [amd64])' aptget install foo -s diff --git a/test/integration/test-bug-737130-multicompress-file-modes b/test/integration/test-bug-737130-multicompress-file-modes new file mode 100755 index 0000000..2ae5166 --- /dev/null +++ b/test/integration/test-bug-737130-multicompress-file-modes @@ -0,0 +1,30 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' + +cat >aptarchive/ftparchive.conf <<EOF +Dir { ArchiveDir "$(pwd)/aptarchive"; CacheDir "$(pwd)/aptarchive"; }; +Default { Translation::Compress ". gzip bzip2 xz"; FileMode 0644; }; +tree "dists/sid" { + Sections "main"; + Architectures "i386"; + LongDescription "false"; +}; +EOF +mkdir -p aptarchive/dists/sid/main/binary-i386 +mkdir -p aptarchive/dists/sid/main/i18n +testsuccess aptftparchive generate aptarchive/ftparchive.conf +i18n=aptarchive/dists/sid/main/i18n +for comp in '' .gz .bz2 .xz; do + msgtest 'Test apt-ftparchive file mode is 644 for' "Translation-en$comp" + FILEMODE="$(stat --format %a "$i18n/Translation-en$comp")" + if [ "$FILEMODE" != '644' ]; then + msgfail "Mode was '$FILEMODE'!" + else + msgpass + fi +done diff --git a/test/integration/test-bug-738785-switch-protocol b/test/integration/test-bug-738785-switch-protocol new file mode 100755 index 0000000..471d12e --- /dev/null +++ b/test/integration/test-bug-738785-switch-protocol @@ -0,0 +1,50 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "i386" + +buildsimplenativepackage 'apt' 'all' '1.0' 'stable' + +# setup http redirecting to https +getlabelfromsuite() { echo 'Testcases'; } +setupaptarchive --no-update +changetohttpswebserver -o 'aptwebserver::support::http=false' +webserverconfig 'aptwebserver::redirect::replace::/downgrademe/' "http://localhost:${APTHTTPPORT}/" +webserverconfig 'aptwebserver::redirect::replace::/redirectme/' "https://localhost:${APTHTTPSPORT}/" +sed -i -e "s#:${APTHTTPSPORT}/#:${APTHTTPPORT}/redirectme#" -e 's# https:# http:#' rootdir/etc/apt/sources.list.d/* + +testsuccess aptget update -o Debug::Acquire::http=1 -o Debug::Acquire::https=1 -o Debug::pkgAcquire::Worker=1 + +msgtest 'Test that the webserver does not answer' 'http requests' +downloadfile "http://localhost:${APTHTTPPORT}/pool/main/a/apt/apt_1.0/changelog" changelog >/dev/null 2>&1 && msgfail || msgpass + +echo "Acquire::Changelogs::URI::Label::Testcases \"http://localhost:${APTHTTPPORT}/redirectme/pool/@CHANGEPATH@/changelog\";" > rootdir/etc/apt/apt.conf.d/changelog.conf +testsuccessequal "'http://localhost:${APTHTTPPORT}/redirectme/pool/main/a/apt/apt_1.0/changelog' apt.changelog" aptget changelog apt --print-uris + +cd downloaded +testsuccess aptget changelog apt -d +testsuccess test -s apt.changelog +rm -f apt.changelog + +testsuccess aptget download apt +testsuccess test -s apt_1.0_all.deb +rm apt_1.0_all.deb +cd - >/dev/null + +testsuccess aptget install apt -y +testdpkginstalled 'apt' + +cd downloaded +testfailureequal "E: The method 'https' is explicitly disabled via configuration. +N: If you meant to use Tor remember to use tor+https instead of https." aptget download apt -o Dir::Bin::Methods::https=false +testfailure test -e apt_1.0_all.deb +cd - >/dev/null + +# check that downgrades from https to http are not allowed +webserverconfig 'aptwebserver::support::http' 'true' +sed -i -e "s#:${APTHTTPPORT}/redirectme#:${APTHTTPSPORT}/downgrademe#" -e 's# http:# https:#' rootdir/etc/apt/sources.list.d/* +testfailure aptget update --allow-insecure-repositories -o Acquire::https::Timeout=1 -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::https=1 diff --git a/test/integration/test-bug-740843-versioned-up-down-breaks b/test/integration/test-bug-740843-versioned-up-down-breaks new file mode 100755 index 0000000..69adcef --- /dev/null +++ b/test/integration/test-bug-740843-versioned-up-down-breaks @@ -0,0 +1,57 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' + +insertinstalledpackage 'foo-driver' 'amd64' '1' 'Depends: libfoo (= 1) +Recommends: libgl1-foo-glx (= 1) +Breaks: libgl1-foo-glx (<< 1), libgl1-foo-glx (>> 1)' +insertinstalledpackage 'libgl1-foo-glx' 'amd64,i386' '1' 'Depends: libfoo (= 1) +Multi-Arch: same' +insertinstalledpackage 'libfoo' 'amd64,i386' '1' 'Multi-Arch: same' + +buildsimplenativepackage 'foo-driver' 'amd64' '2' 'stable' 'Depends: libfoo (= 2) +Recommends: libgl1-foo-glx (= 2) +Breaks: libgl1-foo-glx (<< 2), libgl1-foo-glx (>> 2)' +buildsimplenativepackage 'libgl1-foo-glx' 'amd64,i386' '2' 'stable' 'Depends: libfoo (= 2) +Multi-Arch: same' +buildsimplenativepackage 'libfoo' 'amd64,i386' '2' 'stable' 'Multi-Arch: same' + +setupaptarchive + +testequalor2 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be upgraded: + foo-driver libfoo libfoo:i386 libgl1-foo-glx libgl1-foo-glx:i386 +5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Inst libgl1-foo-glx [1] (2 stable [amd64]) [libgl1-foo-glx:amd64 on libgl1-foo-glx:i386] [libgl1-foo-glx:i386 on libgl1-foo-glx:amd64] [foo-driver:amd64 on libgl1-foo-glx:amd64] [libgl1-foo-glx:i386 foo-driver:amd64 ] +Inst libgl1-foo-glx:i386 [1] (2 stable [i386]) [foo-driver:amd64 on libgl1-foo-glx:amd64] [foo-driver:amd64 on libgl1-foo-glx:i386] [foo-driver:amd64 ] +Inst foo-driver [1] (2 stable [amd64]) [] +Inst libfoo:i386 [1] (2 stable [i386]) [libfoo:amd64 on libfoo:i386] [libfoo:i386 on libfoo:amd64] [libfoo:amd64 ] +Inst libfoo [1] (2 stable [amd64]) +Conf libgl1-foo-glx (2 stable [amd64]) +Conf libgl1-foo-glx:i386 (2 stable [i386]) +Conf foo-driver (2 stable [amd64]) +Conf libfoo:i386 (2 stable [i386]) +Conf libfoo (2 stable [amd64])' 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be upgraded: + foo-driver libfoo libfoo:i386 libgl1-foo-glx libgl1-foo-glx:i386 +5 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Inst libgl1-foo-glx [1] (2 stable [amd64]) [foo-driver:amd64 on libgl1-foo-glx:amd64] [libgl1-foo-glx:amd64 on libgl1-foo-glx:i386] [libgl1-foo-glx:i386 on libgl1-foo-glx:amd64] [foo-driver:amd64 libgl1-foo-glx:i386 ] +Inst libgl1-foo-glx:i386 [1] (2 stable [i386]) [foo-driver:amd64 on libgl1-foo-glx:amd64] [foo-driver:amd64 on libgl1-foo-glx:i386] [foo-driver:amd64 ] +Inst foo-driver [1] (2 stable [amd64]) [] +Inst libfoo:i386 [1] (2 stable [i386]) [libfoo:amd64 on libfoo:i386] [libfoo:i386 on libfoo:amd64] [libfoo:amd64 ] +Inst libfoo [1] (2 stable [amd64]) +Conf libgl1-foo-glx (2 stable [amd64]) +Conf libgl1-foo-glx:i386 (2 stable [i386]) +Conf foo-driver (2 stable [amd64]) +Conf libfoo:i386 (2 stable [i386]) +Conf libfoo (2 stable [amd64])' aptget dist-upgrade -s + +testsuccess aptget dist-upgrade -y -o Debug::pkgPackageManager=1 -o Debug::pkgOrderList=1 diff --git a/test/integration/test-bug-745036-new-foreign-invalidates-cache b/test/integration/test-bug-745036-new-foreign-invalidates-cache new file mode 100755 index 0000000..6207bad --- /dev/null +++ b/test/integration/test-bug-745036-new-foreign-invalidates-cache @@ -0,0 +1,27 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertpackage 'unstable,installed' 'cool-foo' 'amd64' '1.0' 'Depends: foo' +insertpackage 'unstable,installed' 'foo' 'amd64' '1.0' 'Multi-Arch: foreign' + +setupaptarchive + +testsuccess aptget check -s + +configarchitecture 'amd64' 'i386' +testfailureequal 'E: The package cache was built for different architectures: amd64 vs amd64,i386' aptget check -s -o pkgCacheFile::Generate=false + +testsuccess aptget check -s + +insertinstalledpackage 'awesome-foo' 'i386' '1.0' 'Depends: foo' + +testsuccess aptget check -s + +testsuccess aptget update --no-download + +testsuccess aptget check -s diff --git a/test/integration/test-bug-745046-candidate-propagation-fails b/test/integration/test-bug-745046-candidate-propagation-fails new file mode 100755 index 0000000..64aaa6a --- /dev/null +++ b/test/integration/test-bug-745046-candidate-propagation-fails @@ -0,0 +1,39 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' + +insertinstalledpackage 'gedit' 'amd64' '1' + +insertpackage 'unstable' 'gedit' 'amd64' '1' +insertpackage 'experimental' 'gedit' 'amd64' '2' 'Depends: common (>= 2)' + +setupaptarchive + +testfailureequal "Reading package lists... +Building dependency tree... +Selected version '2' (experimental [amd64]) for 'gedit' +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + gedit : Depends: common (>= 2) but it is not installable +E: Unable to correct problems, you have held broken packages." aptget install gedit/experimental -sq=0 + +insertinstalledpackage 'common' 'amd64' '2' + +testsuccessequal "Reading package lists... +Building dependency tree... +Selected version '2' (experimental [amd64]) for 'gedit' +The following packages will be upgraded: + gedit +1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Inst gedit [1] (2 experimental [amd64]) +Conf gedit (2 experimental [amd64])" aptget install gedit/experimental -sq=0 diff --git a/test/integration/test-bug-747261-arch-specific-conflicts b/test/integration/test-bug-747261-arch-specific-conflicts new file mode 100755 index 0000000..e137043 --- /dev/null +++ b/test/integration/test-bug-747261-arch-specific-conflicts @@ -0,0 +1,46 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'sparc' 'armel' + +insertinstalledpackage 'foobar' 'armel' '1' +msgtest 'Check that dpkg supports' 'arch-specific dependencies' +if ! dpkgcheckbuilddeps -d 'foobar:armel' /dev/null 2>/dev/null >/dev/null; then + dpkgcheckbuilddeps -d 'foobar:armel' /dev/null || true + msgskip + exit 0 +else + msgpass +fi + +buildsimplenativepackage 'libc6' 'amd64,sparc,armel' '1' 'stable' 'Multi-Arch: same' +buildsimplenativepackage 'libc6-i386' 'amd64' '1' 'stable' 'Conflicts: libc6:sparc' + +setupaptarchive + +testsuccess aptget install 'libc6:amd64' 'libc6:sparc' -y +testdpkginstalled 'libc6:amd64' 'libc6:sparc' +testdpkgnotinstalled 'libc6-i386' 'libc6:armel' + +testsuccess aptget install libc6-i386 -y +testdpkginstalled 'libc6:amd64' 'libc6-i386' +testdpkgnotinstalled 'libc6:sparc' 'libc6:armel' + +testsuccess aptget install libc6:armel -y +testdpkginstalled 'libc6:amd64' 'libc6:armel' 'libc6-i386' +testdpkgnotinstalled 'libc6:sparc' + +testsuccess aptget install libc6:sparc -y +testdpkginstalled 'libc6:amd64' 'libc6:armel' 'libc6:sparc' +testdpkgnotinstalled 'libc6-i386' + +testsuccess aptget purge 'libc6:*' 'libc6-i386' -y +testdpkgnotinstalled 'libc6:amd64' 'libc6:armel' 'libc6:sparc' 'libc6-i386' + +# check that (the actually simpler) single arch is fine, too +configarchitecture 'amd64' +testfailure aptget install libc6:sparc -s +testsuccess aptget install libc6 libc6-i386 -y diff --git a/test/integration/test-bug-753297-upgradable b/test/integration/test-bug-753297-upgradable new file mode 100755 index 0000000..f33a659 --- /dev/null +++ b/test/integration/test-bug-753297-upgradable @@ -0,0 +1,34 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' + +cat > rootdir/etc/apt/preferences <<EOF +Package: * +Pin: release testing +Pin-Priority: 600 + +Package: * +Pin: release unstable +Pin-Priority: 1 +EOF + +insertpackage 'testing,installed' 'foo' 'all' '1' +insertpackage 'testing-updates' 'foo' 'all' '2' +insertpackage 'unstable' 'foo' 'all' '3' + +insertinstalledpackage 'bar' 'all' '1' +insertpackage 'testing' 'bar' 'all' '2' + +setupaptarchive + +testsuccessequal "Listing... +bar/testing 2 all [upgradable from: 1] +N: There is 1 additional version. Please use the '-a' switch to see it" apt list --upgradable + +testsuccessequal "Listing... +bar/testing 2 all [upgradable from: 1] +foo/testing,now 1 all [installed]" apt list diff --git a/test/integration/test-bug-758153-versioned-provides-support b/test/integration/test-bug-758153-versioned-provides-support new file mode 100755 index 0000000..7bf9d76 --- /dev/null +++ b/test/integration/test-bug-758153-versioned-provides-support @@ -0,0 +1,413 @@ +#!/bin/sh +set -e + +# dpkg implements versioned provides in commit 5bb02fe80e9f40dcad9703a72f67cf615ff217b5 +# but previous versions seem to allow parsing, working and ignoring it. + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' + +insertinstalledpackage 'webapp' 'all' '1' 'Depends: httpd' +insertinstalledpackage 'webserver' 'all' '1' 'Provides: httpd' + +insertpackage 'unstable' 'webapp' 'all' '2' 'Depends: httpd (>= 2)' +insertpackage 'unstable' 'webserver' 'amd64' '2' 'Provides: httpd (= 2)' +insertpackage 'unstable' 'foreign-webserver' 'i386' '2' 'Multi-Arch: foreign +Provides: httpd (= 2)' + +insertpackage 'experimental' 'webapp' 'all' '3' 'Depends: httpd (>= 1.5)' +insertpackage 'experimental' 'webserver' 'amd64' '3' 'Provides: httpd (= 3)' + +insertpackage 'experimental' 'foreign-webserver' 'i386' '4' 'Multi-Arch: foreign +Provides: httpd (= 4)' +insertpackage 'experimental' 'cool-webapp' 'all' '4' 'Depends: httpd (>= 4)' + +# arch-qualified provides, see #777071 +insertpackage 'unstable' 'foo' 'all' '1' 'Provides: bar:i386' +insertpackage 'unstable' 'baz' 'i386,amd64' '1' 'Depends: bar' +insertpackage 'experimental' 'baz' 'i386,amd64' '2' 'Depends: bar:i386' +insertpackage 'experimental' 'baz-broken' 'i386' '2' 'Depends: bar:amd64' + +insertpackage 'unstable' 'next' 'amd64' '1' 'Multi-Arch: foreign +Provides: next (= 2)' +insertpackage 'unstable' 'needsrealnext' 'amd64,i386' '2' 'Depends: next (>= 2)' + +insertpackage 'unstable' 'virtualnext2' 'amd64' '1' 'Multi-Arch: foreign +Provides: next2 (= 2)' +insertpackage 'unstable' 'needsnext2' 'amd64,i386' '2' 'Depends: next2 (>= 2)' + +insertpackage 'unstable' 'virtualnext3' 'amd64' '1' 'Multi-Arch: no +Provides: next3 (= 2)' +insertpackage 'unstable' 'needsnext3' 'amd64,i386' '2' 'Depends: next3 (>= 2)' + +insertpackage 'unstable' 'selfprov' 'amd64' '2' 'Provides: selfprov (= 1)' +insertpackage 'unstable' 'needsselfprov1' 'amd64' '1' 'Depends: selfprov (= 1)' +insertpackage 'unstable' 'needsselfprov2' 'amd64' '1' 'Depends: selfprov (= 2)' +insertpackage 'unstable' 'needsselfprov12' 'amd64' '1' 'Depends: selfprov (= 1), selfprov (= 2)' +insertpackage 'unstable' 'needsselfprov123' 'amd64' '1' 'Depends: selfprov (= 1), selfprov (= 2), selfprov (= 3)' + +setupaptarchive + +SOMEPACKAGESCOULDNOT='Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies:' + +for binary in 'aptget' 'apt'; do + for method in 'upgrade' 'dist-upgrade'; do + for solver in 'internal' 'apt'; do + if [ "$solver" = 'apt' ]; then + HEADER='Execute external solver...' + else + HEADER='Calculating upgrade...' + fi + testsuccessequal "Reading package lists... +Building dependency tree... +$HEADER +The following packages will be upgraded: + webapp webserver +2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Inst webserver [1] (2 unstable [amd64]) +Inst webapp [1] (2 unstable [all]) +Conf webserver (2 unstable [amd64]) +Conf webapp (2 unstable [all])" $binary $method -s --solver $solver + done + done +done + +for solver in 'internal' 'apt'; do + msgmsg 'Testing with solver' "$solver" + HEADER_PRE='Reading package lists... +Building dependency tree...' + HEADER_POST='Execute external solver...' + HEADER="${HEADER_PRE}" + if [ "$solver" = 'apt' ]; then + HEADER="${HEADER} +${HEADER_POST}" + fi + testsuccessequal "$HEADER +The following packages will be upgraded: + webapp webserver +2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Inst webserver [1] (2 unstable [amd64]) +Inst webapp [1] (2 unstable [all]) +Conf webserver (2 unstable [amd64]) +Conf webapp (2 unstable [all])" aptget install webapp webserver -s --solver $solver + + testsuccessequal "$HEADER +The following packages will be upgraded: + webapp webserver +2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Inst webserver [1] (2 unstable [amd64]) +Inst webapp [1] (3 experimental [all]) +Conf webserver (2 unstable [amd64]) +Conf webapp (3 experimental [all])" aptget install webapp=3 webserver -s --solver $solver + + testsuccessequal "$HEADER +The following packages will be upgraded: + webapp webserver +2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Inst webserver [1] (3 experimental [amd64]) +Inst webapp [1] (2 unstable [all]) +Conf webserver (3 experimental [amd64]) +Conf webapp (2 unstable [all])" aptget install webapp webserver=3 -s --solver $solver + + testsuccessequal "$HEADER +The following NEW packages will be installed: + foreign-webserver:i386 +The following packages will be upgraded: + webapp +1 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. +Inst foreign-webserver:i386 (2 unstable [i386]) +Inst webapp [1] (2 unstable [all]) +Conf foreign-webserver:i386 (2 unstable [i386]) +Conf webapp (2 unstable [all])" aptget install webapp foreign-webserver:i386 -s --solver $solver + + testsuccessequal "$HEADER +The following NEW packages will be installed: + foreign-webserver:i386 +The following packages will be upgraded: + webapp +1 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. +Inst foreign-webserver:i386 (2 unstable [i386]) +Inst webapp [1] (3 experimental [all]) +Conf foreign-webserver:i386 (2 unstable [i386]) +Conf webapp (3 experimental [all])" aptget install webapp=3 foreign-webserver:i386 -s --solver $solver + + testsuccessequal "$HEADER +The following NEW packages will be installed: + foreign-webserver:i386 +The following packages will be upgraded: + webapp +1 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. +Inst foreign-webserver:i386 (4 experimental [i386]) +Inst webapp [1] (2 unstable [all]) +Conf foreign-webserver:i386 (4 experimental [i386]) +Conf webapp (2 unstable [all])" aptget install webapp foreign-webserver:i386=4 -s --solver $solver + + if [ "$solver" = 'apt' ]; then + WEBAPP_ERR="$HEADER +The solver encountered an error of type: ERR_UNSOLVABLE +The following information might help you to understand what is wrong: +The following packages have unmet dependencies: + cool-webapp : Depends: httpd (>= 4) + +$SOMEPACKAGESCOULDNOT + cool-webapp : Depends: httpd (>= 4) +E: External solver failed with: The following packages have unmet dependencies:" + else + WEBAPP_ERR="$HEADER +$SOMEPACKAGESCOULDNOT + cool-webapp : Depends: httpd (>= 4) +E: Unable to correct problems, you have held broken packages." + fi + testfailureequal "$WEBAPP_ERR" aptget install cool-webapp -s --solver $solver + testfailureequal "$WEBAPP_ERR" aptget install cool-webapp foreign-webserver:i386 -s --solver $solver + + testsuccessequal "$HEADER +The following NEW packages will be installed: + cool-webapp foreign-webserver:i386 +0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded. +Inst foreign-webserver:i386 (4 experimental [i386]) +Inst cool-webapp (4 experimental [all]) +Conf foreign-webserver:i386 (4 experimental [i386]) +Conf cool-webapp (4 experimental [all])" aptget install cool-webapp foreign-webserver:i386=4 -s --solver $solver + + testsuccessequal "$HEADER +The following additional packages will be installed: + foo +The following NEW packages will be installed: + baz:i386 foo +0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded. +Inst foo (1 unstable [all]) +Inst baz:i386 (1 unstable [i386]) +Conf foo (1 unstable [all]) +Conf baz:i386 (1 unstable [i386])" aptget install baz:i386 -s --solver $solver + + if [ "$solver" = 'apt' ]; then + testfailureequal "$HEADER +The solver encountered an error of type: ERR_UNSOLVABLE +The following information might help you to understand what is wrong: +The following packages have unmet dependencies: + baz : Depends: bar but it is not installable + +$SOMEPACKAGESCOULDNOT + baz : Depends: bar but it is not installable +E: External solver failed with: The following packages have unmet dependencies:" aptget install baz:amd64 -s --solver $solver + else + testfailureequal "$HEADER +$SOMEPACKAGESCOULDNOT + baz : Depends: bar but it is not installable +E: Unable to correct problems, you have held broken packages." aptget install baz:amd64 -s --solver $solver + fi + + HEADER="${HEADER_PRE} +Selected version '2' (experimental [amd64]) for 'baz'" + if [ "$solver" = 'apt' ]; then + HEADER="${HEADER} +${HEADER_POST}" + fi + testsuccessequal "$HEADER +The following additional packages will be installed: + foo +The following NEW packages will be installed: + baz foo +0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded. +Inst foo (1 unstable [all]) +Inst baz (2 experimental [amd64]) +Conf foo (1 unstable [all]) +Conf baz (2 experimental [amd64])" aptget install baz/experimental -s --solver $solver + + HEADER="${HEADER_PRE} +Selected version '2' (experimental [i386]) for 'baz:i386'" + if [ "$solver" = 'apt' ]; then + HEADER="${HEADER} +${HEADER_POST}" + fi + testsuccessequal "$HEADER +The following additional packages will be installed: + foo +The following NEW packages will be installed: + baz:i386 foo +0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded. +Inst foo (1 unstable [all]) +Inst baz:i386 (2 experimental [i386]) +Conf foo (1 unstable [all]) +Conf baz:i386 (2 experimental [i386])" aptget install baz:i386/experimental -s --solver $solver + + if [ "$solver" = 'apt' ]; then + HEADER="${HEADER_PRE} +${HEADER_POST}" + else + HEADER="${HEADER_PRE}" + fi + + if [ "$solver" = 'apt' ]; then + testfailureequal "$HEADER +The solver encountered an error of type: ERR_UNSOLVABLE +The following information might help you to understand what is wrong: +The following packages have unmet dependencies: + baz-broken:i386 : Depends: bar:amd64 but it is not installable + +$SOMEPACKAGESCOULDNOT + baz-broken:i386 : Depends: bar:amd64 but it is not installable +E: External solver failed with: The following packages have unmet dependencies:" aptget install baz-broken -s --solver $solver + else + testfailureequal "$HEADER +$SOMEPACKAGESCOULDNOT + baz-broken:i386 : Depends: bar:amd64 but it is not installable +E: Unable to correct problems, you have held broken packages." aptget install baz-broken -s --solver $solver + fi + + testsuccessequal "$HEADER +The following additional packages will be installed: + next +The following NEW packages will be installed: + needsrealnext next +0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded. +Inst next (1 unstable [amd64]) +Inst needsrealnext (2 unstable [amd64]) +Conf next (1 unstable [amd64]) +Conf needsrealnext (2 unstable [amd64])" aptget install needsrealnext -s --solver $solver + + testsuccessequal "$HEADER +The following additional packages will be installed: + next +The following NEW packages will be installed: + needsrealnext:i386 next +0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded. +Inst next (1 unstable [amd64]) +Inst needsrealnext:i386 (2 unstable [i386]) +Conf next (1 unstable [amd64]) +Conf needsrealnext:i386 (2 unstable [i386])" aptget install needsrealnext:i386 -s --solver $solver + + testsuccessequal "$HEADER +The following additional packages will be installed: + virtualnext2 +The following NEW packages will be installed: + needsnext2 virtualnext2 +0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded. +Inst virtualnext2 (1 unstable [amd64]) +Inst needsnext2 (2 unstable [amd64]) +Conf virtualnext2 (1 unstable [amd64]) +Conf needsnext2 (2 unstable [amd64])" aptget install needsnext2 -s --solver $solver + + testsuccessequal "$HEADER +The following additional packages will be installed: + virtualnext2 +The following NEW packages will be installed: + needsnext2:i386 virtualnext2 +0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded. +Inst virtualnext2 (1 unstable [amd64]) +Inst needsnext2:i386 (2 unstable [i386]) +Conf virtualnext2 (1 unstable [amd64]) +Conf needsnext2:i386 (2 unstable [i386])" aptget install needsnext2:i386 -s --solver $solver + + testsuccessequal "$HEADER +The following additional packages will be installed: + virtualnext3 +The following NEW packages will be installed: + needsnext3 virtualnext3 +0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded. +Inst virtualnext3 (1 unstable [amd64]) +Inst needsnext3 (2 unstable [amd64]) +Conf virtualnext3 (1 unstable [amd64]) +Conf needsnext3 (2 unstable [amd64])" aptget install needsnext3 -s --solver $solver + + if [ "$solver" = 'apt' ]; then + testfailureequal "$HEADER +The solver encountered an error of type: ERR_UNSOLVABLE +The following information might help you to understand what is wrong: +The following packages have unmet dependencies: + needsnext3:i386 : Depends: next3:i386 (>= 2) but it is not installable + +$SOMEPACKAGESCOULDNOT + needsnext3:i386 : Depends: next3:i386 (>= 2) but it is not installable +E: External solver failed with: The following packages have unmet dependencies:" aptget install needsnext3:i386 -s --solver $solver + else + testfailureequal "$HEADER +$SOMEPACKAGESCOULDNOT + needsnext3:i386 : Depends: next3:i386 (>= 2) but it is not installable +E: Unable to correct problems, you have held broken packages." aptget install needsnext3:i386 -s --solver $solver + fi + + testsuccessequal "$HEADER +The following NEW packages will be installed: + selfprov +0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded. +Inst selfprov (2 unstable [amd64]) +Conf selfprov (2 unstable [amd64])" apt install selfprov -s --solver $solver + if [ "$solver" = 'apt' ]; then + HEADER_POST_NL=" +$HEADER_POST" + else + HEADER_POST_NL='' + fi + testsuccessequal "$HEADER_PRE +Selected version '2' (unstable [amd64]) for 'selfprov'$HEADER_POST_NL +The following NEW packages will be installed: + selfprov +0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded. +Inst selfprov (2 unstable [amd64]) +Conf selfprov (2 unstable [amd64])" apt install selfprov=1 -s --solver $solver + testsuccessequal "$HEADER +The following NEW packages will be installed: + selfprov +0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded. +Inst selfprov (2 unstable [amd64]) +Conf selfprov (2 unstable [amd64])" apt install selfprov=2 -s --solver $solver + + testsuccessequal "$HEADER +The following additional packages will be installed: + selfprov +The following NEW packages will be installed: + needsselfprov1 selfprov +0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded. +Inst selfprov (2 unstable [amd64]) +Inst needsselfprov1 (1 unstable [amd64]) +Conf selfprov (2 unstable [amd64]) +Conf needsselfprov1 (1 unstable [amd64])" aptget install needsselfprov1 -s --solver $solver + testsuccessequal "$HEADER +The following additional packages will be installed: + selfprov +The following NEW packages will be installed: + needsselfprov2 selfprov +0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded. +Inst selfprov (2 unstable [amd64]) +Inst needsselfprov2 (1 unstable [amd64]) +Conf selfprov (2 unstable [amd64]) +Conf needsselfprov2 (1 unstable [amd64])" aptget install needsselfprov2 -s --solver $solver + testsuccessequal "$HEADER +The following additional packages will be installed: + selfprov +The following NEW packages will be installed: + needsselfprov12 selfprov +0 upgraded, 2 newly installed, 0 to remove and 2 not upgraded. +Inst selfprov (2 unstable [amd64]) +Inst needsselfprov12 (1 unstable [amd64]) +Conf selfprov (2 unstable [amd64]) +Conf needsselfprov12 (1 unstable [amd64])" aptget install needsselfprov12 -s --solver $solver + if [ "$solver" = 'apt' ]; then + testfailureequal "$HEADER +The solver encountered an error of type: ERR_UNSOLVABLE +The following information might help you to understand what is wrong: +The following packages have unmet dependencies: + needsselfprov123 : Depends: selfprov (= 3) + +$SOMEPACKAGESCOULDNOT + needsselfprov123 : Depends: selfprov (= 1) + Depends: selfprov (= 2) + Depends: selfprov (= 3) +E: External solver failed with: The following packages have unmet dependencies:" aptget install needsselfprov123 -s --solver $solver + else + testfailureequal "$HEADER +$SOMEPACKAGESCOULDNOT + needsselfprov123 : Depends: selfprov (= 3) +E: Unable to correct problems, you have held broken packages." aptget install needsselfprov123 -s --solver $solver + fi +done diff --git a/test/integration/test-bug-762160-relpath b/test/integration/test-bug-762160-relpath new file mode 100755 index 0000000..6a800aa --- /dev/null +++ b/test/integration/test-bug-762160-relpath @@ -0,0 +1,17 @@ +#!/bin/sh +# regression test for bug #762160 where apt-get update fails when a +# relative directory is given +# +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertpackage 'unstable' 'foo' 'all' '1' +setupaptarchive +changetowebserver + +testsuccess aptget update -o Dir=./rootdir +testsuccess aptget update -o Dir=./rootdir diff --git a/test/integration/test-bug-767891-force-essential-important b/test/integration/test-bug-767891-force-essential-important new file mode 100755 index 0000000..7a23de5 --- /dev/null +++ b/test/integration/test-bug-767891-force-essential-important @@ -0,0 +1,100 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' + +insertinstalledpackage 'apt' 'amd64' '1' +insertinstalledpackage 'foo' 'amd64,i386' '1' 'Multi-Arch: same' +insertinstalledpackage 'bar' 'amd64' '1' 'Provides: foo' + +insertpackage 'unstable' 'foo2' 'amd64,i386' '1' 'Multi-Arch: same' + +setupaptarchive + +rm -f rootdir/var/cache/apt/*.bin +testsuccessequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + apt* bar* foo* foo:i386* +WARNING: The following essential packages will be removed. +This should NOT be done unless you know exactly what you are doing! + apt +0 upgraded, 0 newly installed, 4 to remove and 0 not upgraded. +Purg apt [1] +Purg bar [1] +Purg foo [1] +Purg foo:i386 [1]' apt purge apt foo foo:i386 bar -s + +rm -f rootdir/var/cache/apt/*.bin +testsuccessequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + apt* bar* foo* foo:i386* +0 upgraded, 0 newly installed, 4 to remove and 0 not upgraded. +Purg apt [1] +Purg bar [1] +Purg foo [1] +Purg foo:i386 [1]' apt purge apt foo foo:i386 bar -s -o pkgCacheGen::ForceEssential='' + +msgmsg 'foo:i386 got the Important flag' +rm -f rootdir/var/cache/apt/*.bin +testsuccessequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + apt* bar* foo* foo:i386* +WARNING: The following essential packages will be removed. +This should NOT be done unless you know exactly what you are doing! + foo foo:i386 +0 upgraded, 0 newly installed, 4 to remove and 0 not upgraded. +Purg apt [1] +Purg bar [1] +Purg foo [1] +Purg foo:i386 [1]' apt purge apt foo foo:i386 bar -s -o pkgCacheGen::ForceEssential='foo' + +rm -f rootdir/var/cache/apt/*.bin +testsuccessequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + apt* bar* foo* foo:i386* +WARNING: The following essential packages will be removed. +This should NOT be done unless you know exactly what you are doing! + apt foo foo:i386 +0 upgraded, 0 newly installed, 4 to remove and 0 not upgraded. +Purg apt [1] +Purg bar [1] +Purg foo [1] +Purg foo:i386 [1]' apt purge apt foo foo:i386 bar -s -o pkgCacheGen::ForceEssential::='foo' + +msgmsg 'essentials only from native' +rm -f rootdir/var/cache/apt/*.bin +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following NEW packages will be installed: + foo2 +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst foo2 (1 unstable [amd64]) +Conf foo2 (1 unstable [amd64])' apt full-upgrade -s -o pkgCacheGen::ForceEssential::='foo2' + +msgmsg 'important only effects installed' +rm -f rootdir/var/cache/apt/*.bin +testsuccessequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + apt* bar* foo* foo:i386* +WARNING: The following essential packages will be removed. +This should NOT be done unless you know exactly what you are doing! + apt foo foo:i386 +0 upgraded, 0 newly installed, 4 to remove and 0 not upgraded. +Purg apt [1] +Purg bar [1] +Purg foo [1] +Purg foo:i386 [1]' apt purge apt foo foo:i386 bar -s -o pkgCacheGen::ForceImportant::='foo' +rm -f rootdir/var/cache/apt/*.bin +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' apt full-upgrade -s -o pkgCacheGen::ForceImportant::='foo2' diff --git a/test/integration/test-bug-769609-triggers-still-pending-after-run b/test/integration/test-bug-769609-triggers-still-pending-after-run new file mode 100755 index 0000000..ce2c193 --- /dev/null +++ b/test/integration/test-bug-769609-triggers-still-pending-after-run @@ -0,0 +1,75 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' + +msgtest 'Check if installed dpkg supports' 'noawait trigger' +if dpkg --compare-versions "$(dpkg_version)" 'ge' '1.16.1'; then + msgpass +else + msgskip 'dpkg version too old' + exit 0 +fi +configdpkgnoopchroot + +buildtriggerpackages() { + local TYPE="$1" + setupsimplenativepackage "triggerable-$TYPE" 'all' '1.0' 'unstable' "Depends: trigdepends-$TYPE" + BUILDDIR="incoming/triggerable-${TYPE}-1.0" + cat >"${BUILDDIR}/debian/postinst" <<EOF +#!/bin/sh +if [ "\$1" = 'triggered' ]; then + echo "TRIGGER IS RUNNING" +fi +EOF + echo "$TYPE /usr/share/doc" > "${BUILDDIR}/debian/triggers" + buildpackage "$BUILDDIR" 'unstable' 'main' 'native' + rm -rf "$BUILDDIR" + buildsimplenativepackage "trigdepends-$TYPE" 'all' '1.0' 'unstable' +} + +#buildtriggerpackages 'interest' +buildtriggerpackages 'interest-noawait' +buildsimplenativepackage "trigstuff" 'all' '1.0' 'unstable' + +setupaptarchive + +runtests() { + local TYPE="$1" + msgmsg 'Working with trigger type' "$TYPE" + testsuccess aptget install triggerable-$TYPE -y + cp rootdir/tmp/testsuccess.output terminal.output + testsuccess grep '^REWRITE ' terminal.output + testdpkginstalled triggerable-$TYPE trigdepends-$TYPE + + testsuccess aptget install trigdepends-$TYPE -y --reinstall + cp rootdir/tmp/testsuccess.output terminal.output + testsuccess grep '^REWRITE ' terminal.output + testsuccess grep 'TRIGGER IS RUNNING' terminal.output + testdpkginstalled triggerable-$TYPE trigdepends-$TYPE + + testsuccess aptget install trigstuff -y + cp rootdir/tmp/testsuccess.output terminal.output + testsuccess grep '^REWRITE ' terminal.output + testsuccess grep 'TRIGGER IS RUNNING' terminal.output + testdpkginstalled triggerable-$TYPE trigdepends-$TYPE trigstuff + + testsuccess aptget purge trigstuff -y + cp rootdir/tmp/testsuccess.output terminal.output + testsuccess grep '^REWRITE ' terminal.output + testsuccess grep 'TRIGGER IS RUNNING' terminal.output + testdpkginstalled triggerable-$TYPE trigdepends-$TYPE + testdpkgnotinstalled trigstuff + + testsuccess aptget purge trigdepends-$TYPE -y + cp rootdir/tmp/testsuccess.output terminal.output + testfailure grep '^REWRITE ' terminal.output + testfailure grep 'TRIGGER IS RUNNING' terminal.output + testdpkgnotinstalled triggerable-$TYPE trigdepends-$TYPE +} +#runtests 'interest' +runtests 'interest-noawait' diff --git a/test/integration/test-bug-770291-reinstall b/test/integration/test-bug-770291-reinstall new file mode 100755 index 0000000..a1caf25 --- /dev/null +++ b/test/integration/test-bug-770291-reinstall @@ -0,0 +1,98 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' + +insertpackage 'unstable,installed' 'libc6' 'i386' '1' +insertpackage 'unstable,installed' 'libselinux1' 'i386' '1' + +cp rootdir/var/lib/dpkg/status dpkg.status + +insertpackage 'unstable,installed' 'init' 'i386' '1' 'Depends: systemd-sysv +Essential: yes' +insertpackage 'unstable,installed' 'systemd-sysv' 'i386' '215-5+b1' 'Depends: systemd (= 215-5+b1) +Pre-Depends: systemd' +# fun fact: we need these two pre-depends to get systemd ordered before systemd-sysv as +# many pre-depends mean: do early (as they are a pain, so get them out of the way early) +insertpackage 'unstable,installed' 'systemd' 'i386' '215-5+b1' 'Pre-Depends: libc6, libselinux1' + +# depends loop +insertpackage 'unstable,installed' 'dependsa' 'i386' '1' 'Depends: dependsb +Essential: yes' +insertpackage 'unstable,installed' 'dependsb' 'i386' '1' 'Depends: dependsa +Essential: yes' + +# pre-depends loop +insertpackage 'unstable,installed' 'predependsa' 'i386' '1' 'Pre-Depends: predependsb +Essential: yes' +insertpackage 'unstable,installed' 'predependsb' 'i386' '1' 'Pre-Depends: predependsa +Essential: yes' + +# pre-depends-to-depends loop +insertpackage 'unstable,installed' 'predependsdependsa' 'i386' '1' 'Pre-Depends: predependsdependsb +Essential: yes' +insertpackage 'unstable,installed' 'predependsdependsb' 'i386' '1' 'Depends: predependsdependsa +Essential: yes' + +setupaptarchive + +testsuccessequal 'Reading package lists... +Building dependency tree... +0 upgraded, 0 newly installed, 2 reinstalled, 0 to remove and 0 not upgraded. +Inst systemd [215-5+b1] (215-5+b1 unstable [i386]) +Conf systemd (215-5+b1 unstable [i386]) +Inst systemd-sysv [215-5+b1] (215-5+b1 unstable [i386]) +Conf systemd-sysv (215-5+b1 unstable [i386])' aptget install --reinstall systemd systemd-sysv -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +0 upgraded, 0 newly installed, 2 reinstalled, 0 to remove and 0 not upgraded. +Inst dependsa [1] (1 unstable [i386]) +Inst dependsb [1] (1 unstable [i386]) +Conf dependsb (1 unstable [i386]) +Conf dependsa (1 unstable [i386])' aptget install --reinstall dependsa dependsb -s + +# there is a chance dpkg can actually do these, BUT this depends on the maintainerscripts (not) present +# which is very risky to depend on (and apt doesn't know about that anyhow). +testfailure aptget install --reinstall predependsa predependsb -s -o Debug::pkgPackageManager=1 +testsuccess grep "^E: Couldn't configure predependsa:i386, probably a dependency cycle.$" rootdir/tmp/testfailure.output + +# FIXME: the error message is a catch all here, not like the one above +testfailure aptget install --reinstall predependsdependsa predependsdependsb -s -o Debug::pkgPackageManager=1 +testsuccess grep "^E: Could not configure 'predependsdependsb:i386'. $" rootdir/tmp/testfailure.output + + +msgmsg 'While we are at it, lets try these loops without reinstall as well' +cp dpkg.status rootdir/var/lib/dpkg/status + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + systemd systemd-sysv +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst systemd (215-5+b1 unstable [i386]) +Conf systemd (215-5+b1 unstable [i386]) +Inst systemd-sysv (215-5+b1 unstable [i386]) +Conf systemd-sysv (215-5+b1 unstable [i386])' aptget install systemd systemd-sysv -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + dependsa dependsb +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst dependsa (1 unstable [i386]) [] +Inst dependsb (1 unstable [i386]) +Conf dependsb (1 unstable [i386]) +Conf dependsa (1 unstable [i386])' aptget install dependsa dependsb -s + +# there is a chance dpkg can actually do these, BUT this depends on the maintainerscripts (not) present +# which is very risky to depend on (and apt doesn't know about that anyhow). +testfailure aptget install predependsa predependsb -s -o Debug::pkgPackageManager=1 +testsuccess grep "^E: Couldn't configure predependsa:i386, probably a dependency cycle.$" rootdir/tmp/testfailure.output + +# FIXME: the error message is a catch all here, not like the one above +testfailure aptget install predependsdependsa predependsdependsb -s -o Debug::pkgPackageManager=1 +testsuccess grep "^E: Could not configure 'predependsdependsb:i386'. $" rootdir/tmp/testfailure.output diff --git a/test/integration/test-bug-778375-server-has-no-reason-phrase b/test/integration/test-bug-778375-server-has-no-reason-phrase new file mode 100755 index 0000000..e04f485 --- /dev/null +++ b/test/integration/test-bug-778375-server-has-no-reason-phrase @@ -0,0 +1,43 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'native' + +echo 'found' > aptarchive/working +changetohttpswebserver -o 'aptwebserver::redirect::replace::/redirectme/=/' \ + -o 'aptwebserver::httpcode::200=200' -o 'aptwebserver::httpcode::404=404' \ + -o 'aptwebserver::httpcode::301=301' +webserverconfig 'aptwebserver::empty-response-header::' 'foobar' +webserverconfig 'aptwebserver::response-header::HTTP-Trigger-Field' 'bug' +webserverconfig 'aptwebserver::response-header::Httputter-Trigger-Field' 'bug' + +testdownload() { + rm -f downfile + msgtest "download of a $1 via" "${3%%:*}" + $2 --nomsg downloadfile "$3" downfile + + cp rootdir/tmp/testsuccess.output download.log + #looking for "HTTP server doesn't give Reason-Phrase for 200" + testsuccess grep 'give Reason-Phrase for' download.log + + if [ "$2" = 'testsuccess' ]; then + testfileequal downfile 'found' + else + testfailure test -e downfile + fi +} + +runtest() { + testdownload 'file works' 'testsuccess' "$1/working" + testdownload 'file via redirect works' 'testsuccess' "$1/redirectme/working" + + testdownload 'non-existent file fails' 'testfailure' "$1/failing" + testdownload 'non-existent file via redirect fails' 'testfailure' "$1/redirectme/failing" +} + +runtest "http://localhost:${APTHTTPPORT}" +runtest "https://localhost:${APTHTTPSPORT}" diff --git a/test/integration/test-bug-782777-single-arch-weirdness b/test/integration/test-bug-782777-single-arch-weirdness new file mode 100755 index 0000000..695d053 --- /dev/null +++ b/test/integration/test-bug-782777-single-arch-weirdness @@ -0,0 +1,71 @@ +#!/bin/sh +# Ensure that the order in which packages are in the binary cache +# does not effect if they can be found or not +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' + +insertpackage 'unstable' 'abar' 'i386' '1' +insertpackage 'unstable' 'foobar' 'i386' '1' 'Depends: abar:amd64, zfoo:amd64' +insertpackage 'unstable' 'zfoo' 'i386' '1' + +setupaptarchive + +testrun() { + rm -f rootdir/var/lib/apt/extended_states + + testequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + abar zfoo +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst abar (1 unstable [i386]) +Inst zfoo (1 unstable [i386]) +Conf abar (1 unstable [i386]) +Conf zfoo (1 unstable [i386])' aptget install abar zfoo -s + + testequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + abar zfoo +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst abar (1 unstable [i386]) +Inst zfoo (1 unstable [i386]) +Conf abar (1 unstable [i386]) +Conf zfoo (1 unstable [i386])' aptget install abar:i386 zfoo:i386 -s + + testequal "Reading package lists... +Building dependency tree... +Package abar:amd64 is not available, but is referred to by another package. +This may mean that the package is missing, has been obsoleted, or +is only available from another source + +Package zfoo:amd64 is not available, but is referred to by another package. +This may mean that the package is missing, has been obsoleted, or +is only available from another source + +E: Package 'abar:amd64' has no installation candidate +E: Package 'zfoo:amd64' has no installation candidate" aptget install abar:amd64 zfoo:amd64 -s + + insertinstalledpackage 'abar' 'i386' '1' + insertinstalledpackage 'zfoo' 'i386' '1' + + testequal 'abar +zfoo' aptmark showmanual abar zfoo + testequal 'abar set to automatically installed. +zfoo set to automatically installed.' aptmark auto abar zfoo + testempty aptmark showmanual abar zfoo + testequal 'abar +zfoo' aptmark showauto abar zfoo + + rm -f rootdir/var/lib/dpkg/status +} + +msgmsg 'Single-Arch testrun' +testrun +msgmsg 'Multi-Arch testrun' +configarchitecture 'i386' 'amd64' +testrun diff --git a/test/integration/test-bug-796070-downgrade-realpkg b/test/integration/test-bug-796070-downgrade-realpkg new file mode 100755 index 0000000..1013247 --- /dev/null +++ b/test/integration/test-bug-796070-downgrade-realpkg @@ -0,0 +1,23 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'i386' + +buildsimplenativepackage 'apt' 'all' '1.0.10.1' 'stable' 'Depends: libapt-pkg4.16 (>= 1.0.10.1)' +buildsimplenativepackage 'libapt-pkg4.16' 'all' '1.0.10.1' 'stable' 'Breaks: apt (<< 0.9.4~), libapt-inst1.5 (<< 0.9.9~)' +buildsimplenativepackage 'libapt-pkg5.0' 'all' '1.1~exp9' 'unstable' 'Breaks: apt (<< 1.1~exp4), libapt-inst1.5 (<< 0.9.9~)' +buildsimplenativepackage 'apt' 'all' '1.1~exp9' 'unstable' 'Depends: libapt-pkg5.0' + +setupaptarchive + +# Check with the APT name, aka essential +testsuccess aptget install apt -t stable -y +testsuccess aptget dist-upgrade -y + +testsuccess aptget install apt/stable -y --allow-downgrades -o Debug::pkgPackageManager=1 #-o Debug::pkgDpkgPM=1 +testdpkginstalled apt libapt-pkg4.16 +testdpkgnotinstalled libapt-pkg5.0 diff --git a/test/integration/test-bug-796070-downgrade-simulate b/test/integration/test-bug-796070-downgrade-simulate new file mode 100755 index 0000000..61ecc87 --- /dev/null +++ b/test/integration/test-bug-796070-downgrade-simulate @@ -0,0 +1,67 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'i386' + +insertpackage 'unstable' 'apt' 'all' '1.0.10.1' 'Depends: libapt-pkg4.16 (>= 1.0.10.1)' +insertinstalledpackage 'libapt-pkg4.16' 'all' '1.0.10.1' 'Breaks: apt (<< 0.9.4~), libapt-inst1.5 (<< 0.9.9~)' +insertinstalledpackage 'libapt-pkg5.0' 'all' '1.1~exp9' 'Breaks: apt (<< 1.1~exp4), libapt-inst1.5 (<< 0.9.9~)' +insertinstalledpackage 'apt' 'all' '1.1~exp9' 'Depends: libapt-pkg5.0' + +insertpackage 'unstable' 'napt' 'all' '1.0.10.1' 'Depends: nlibapt-pkg4.16 (>= 1.0.10.1)' +insertinstalledpackage 'nlibapt-pkg4.16' 'all' '1.0.10.1' 'Breaks: napt (<< 0.9.4~), nlibapt-inst1.5 (<< 0.9.9~)' +insertinstalledpackage 'nlibapt-pkg5.0' 'all' '1.1~exp9' 'Breaks: napt (<< 1.1~exp4), nlibapt-inst1.5 (<< 0.9.9~)' +insertinstalledpackage 'napt' 'all' '1.1~exp9' 'Depends: nlibapt-pkg5.0' + +insertpackage 'unstable' 'eapt' 'all' '1.0.10.1' 'Depends: elibapt-pkg4.16 (>= 1.0.10.1) +Essential: yes' +insertinstalledpackage 'elibapt-pkg4.16' 'all' '1.0.10.1' 'Breaks: eapt (<< 0.9.4~), elibapt-inst1.5 (<< 0.9.9~)' +insertinstalledpackage 'elibapt-pkg5.0' 'all' '1.1~exp9' 'Breaks: eapt (<< 1.1~exp4), elibapt-inst1.5 (<< 0.9.9~)' +insertinstalledpackage 'eapt' 'all' '1.1~exp9' 'Depends: elibapt-pkg5.0 +Essential: yes' + + +setupaptarchive + + +# Check with a normal package +testsuccessequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + nlibapt-pkg5.0 +The following packages will be DOWNGRADED: + napt +0 upgraded, 0 newly installed, 1 downgraded, 1 to remove and 0 not upgraded. +Remv nlibapt-pkg5.0 [1.1~exp9] [napt:i386 ] +Inst napt [1.1~exp9] (1.0.10.1 unstable [all]) +Conf napt (1.0.10.1 unstable [all])' apt install -s napt=1.0.10.1 + + +# Check with Essential +testsuccessequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + elibapt-pkg5.0 +The following packages will be DOWNGRADED: + eapt +0 upgraded, 0 newly installed, 1 downgraded, 1 to remove and 0 not upgraded. +Inst eapt [1.1~exp9] (1.0.10.1 unstable [all]) [elibapt-pkg5.0:i386 on eapt:i386] [elibapt-pkg5.0:i386 ] +Remv elibapt-pkg5.0 [1.1~exp9] +Conf eapt (1.0.10.1 unstable [all])' apt install -s eapt=1.0.10.1 + + +# Check with the APT name, aka essential +testsuccessequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + libapt-pkg5.0 +The following packages will be DOWNGRADED: + apt +0 upgraded, 0 newly installed, 1 downgraded, 1 to remove and 0 not upgraded. +Inst apt [1.1~exp9] (1.0.10.1 unstable [all]) [libapt-pkg5.0:i386 on apt:i386] [libapt-pkg5.0:i386 ] +Remv libapt-pkg5.0 [1.1~exp9] +Conf apt (1.0.10.1 unstable [all])' apt install -s apt=1.0.10.1 diff --git a/test/integration/test-bug-807012-mixed-case-package-names b/test/integration/test-bug-807012-mixed-case-package-names new file mode 100755 index 0000000..4f003ab --- /dev/null +++ b/test/integration/test-bug-807012-mixed-case-package-names @@ -0,0 +1,21 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +TMPDIR=$(readlink -f .) + +insertinstalledpackage 'worldofgoo' 'all' '1' +insertpackage 'unstable' 'WorldOfGoo' 'all' '1' + +setupaptarchive + +testsuccessequal "worldofgoo: + Installed: 1 + Candidate: 1 + Version table: + *** 1 500 + 500 file:${TMPDIR}/aptarchive unstable/main all Packages + 100 ${TMPDIR}/rootdir/var/lib/dpkg/status" \ + aptcache policy worldofgoo diff --git a/test/integration/test-bug-814139-pickup-of-different-cache-states b/test/integration/test-bug-814139-pickup-of-different-cache-states new file mode 100755 index 0000000..dffeb73 --- /dev/null +++ b/test/integration/test-bug-814139-pickup-of-different-cache-states @@ -0,0 +1,60 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' + +insertinstalledpackage 'build-essential' 'amd64' '1' + +buildsimplenativepackage 'foo' 'all' '1' 'stable' 'Build-Depends: bar' +buildsimplenativepackage 'bar' 'all' '1' 'stable' + +setupaptarchive + +cp rootdir/var/lib/dpkg/status status.backup + +testrun() { + cp status.backup rootdir/var/lib/dpkg/status + cleanup + testdpkgnotinstalled 'bar' + testsuccess aptget build-dep foo -y + testdpkginstalled 'bar' + cleanup + cd downloaded + testsuccess aptget source foo + testsuccess test -s foo_1.tar.* -a -s foo_1.dsc + rm foo_1.tar.* foo_1.dsc + testsuccess test -d foo-1 + rm -rf foo-1 + cd .. + cleanup + testsuccess aptget install foo -y +} + +msgmsg 'Caches fully up-to-date' +cleanup() { + rm -f rootdir/var/cache/apt/*.bin + testsuccess aptcache gencaches +} +testrun + +msgmsg 'pkgcache.bin is missing' +cleanup() { + rm -f rootdir/var/cache/apt/*.bin + testsuccess aptcache gencaches + rm rootdir/var/cache/apt/pkgcache.bin +} +testrun + +msgmsg 'Caches are not writeable' +rm rootdir/var/cache/apt/*.bin +addtrap 'prefix' 'chmod 755 rootdir/var/cache/apt;' +chmod 555 rootdir/var/cache/apt +testsuccess aptcache gencaches +cleanup() { + testfilestats "${TMPWORKINGDIRECTORY}/rootdir/var/cache/apt" '%a' '=' '555' +} +testrun diff --git a/test/integration/test-bug-818628-unreadable-source b/test/integration/test-bug-818628-unreadable-source new file mode 100755 index 0000000..e7ad26d --- /dev/null +++ b/test/integration/test-bug-818628-unreadable-source @@ -0,0 +1,94 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' +cat rootdir/etc/apt/apt.conf.d/01multiarch.conf >> $(getaptconfig) + +if [ "$(id -u)" = '0' ]; then + msgskip 'Tests for unreadable files do not work as root' + exit 0 +fi + +insertinstalledpackage 'foo' 'amd64' '1' +insertpackage 'unstable' 'foo' 'amd64' '2' + +setupaptarchive --no-update + +touch rootdir/etc/apt/sources.list.d/apt-test-unstable-deb-src.list +touch rootdir/etc/apt/sources.list.d/apt-test-unstable-deb-src.sources +touch rootdir/etc/apt/apt.conf.d/unreadable.conf +touch rootdir/etc/apt/preferences.d/unreadable.pref + +addtrap 'prefix' "chmod -R +r '$(escape_shell "$TMPWORKINGDIRECTORY")/rootdir/etc/apt';" +chmod -r rootdir/etc/apt/trusted.gpg.d +testfailure apt update +chmod +r rootdir/etc/apt/trusted.gpg.d +testsuccess apt update +testsuccess apt policy foo +testsuccess apt search foo +testsuccessequal "Listing... +foo/unstable 2 amd64 [upgradable from: 1] +N: There is 1 additional version. Please use the '-a' switch to see it" apt list --upgradable + +runthemall() { + local ERR="$1" + local ERRNOTICEVER="$1${2- +N: There is 1 additional version. Please use the '-a' switch to see it}" + local ERRNOTICEREC="$1${2- +N: There is 1 additional record. Please use the '-a' switch to see it}" + testwarningmsg "$ERR" aptcache policy + testwarningmsg "$ERR" aptcache policy foo + testwarningmsg "$ERR" aptcache depends foo + testwarningmsg "$ERR" aptcache rdepends foo + testwarningmsg "$ERR" aptcache search foo + testwarningmsg "$ERR" apt policy + testwarningmsg "$ERR" apt policy foo + testwarningmsg "$ERR" apt depends foo + testwarningmsg "$ERR" apt rdepends foo + testwarningmsg "$ERR" apt search foo + testwarningmsg "$ERRNOTICEVER" apt list --upgradable + testwarningmsg "$ERRNOTICEREC" apt show foo + testwarningmsg "$ERRNOTICEREC" aptcache show foo --no-all-versions + testwarningmsg "$ERR" aptmark auto foo + testwarningmsg "$ERR" aptmark manual foo + testwarningmsg "$ERR" aptmark auto foo +} +echo 'Apt::Cmd::Disable-Script-Warning "true";' >> aptconfig.conf + +msgmsg 'Unreadable one-line-style sources file' +chmod -r rootdir/etc/apt/sources.list.d/apt-test-unstable-deb-src.list +runthemall "W: Unable to read $TMPWORKINGDIRECTORY/rootdir/etc/apt/sources.list.d/apt-test-unstable-deb-src.list - open (13: Permission denied)" +chmod +r rootdir/etc/apt/sources.list.d/apt-test-unstable-deb-src.list + +msgmsg 'Unreadable deb822-style sources file' +chmod -r rootdir/etc/apt/sources.list.d/apt-test-unstable-deb-src.sources +runthemall "W: Unable to read $TMPWORKINGDIRECTORY/rootdir/etc/apt/sources.list.d/apt-test-unstable-deb-src.sources - open (13: Permission denied)" +chmod +r rootdir/etc/apt/sources.list.d/apt-test-unstable-deb-src.sources + +msgmsg 'Unreadable config file' +chmod -r rootdir/etc/apt/apt.conf.d/unreadable.conf +runthemall "W: Unable to read ${TMPWORKINGDIRECTORY}/rootdir/etc/apt/apt.conf.d/unreadable.conf - open (13: Permission denied)" +chmod +r rootdir/etc/apt/apt.conf.d/unreadable.conf + +msgmsg 'Unreadable preferences file' +chmod -r rootdir/etc/apt/preferences.d/unreadable.pref +runthemall "W: Unable to read ${TMPWORKINGDIRECTORY}/rootdir/etc/apt/preferences.d/unreadable.pref - open (13: Permission denied)" +chmod +r rootdir/etc/apt/preferences.d/unreadable.pref + +msgmsg 'Unreadable sources directory' +chmod -r rootdir/etc/apt/sources.list.d +runthemall "W: Unable to read $TMPWORKINGDIRECTORY/rootdir/etc/apt/sources.list.d/ - opendir (13: Permission denied)" "" +chmod +r rootdir/etc/apt/sources.list.d + +msgmsg 'Unreadable config directory' +chmod -r rootdir/etc/apt/apt.conf.d +runthemall "W: Unable to read ${TMPWORKINGDIRECTORY}/rootdir/etc/apt/apt.conf.d/ - opendir (13: Permission denied)" +chmod +r rootdir/etc/apt/apt.conf.d + +msgmsg 'Unreadable preferences directory' +chmod -r rootdir/etc/apt/preferences.d +runthemall "W: Unable to read ${TMPWORKINGDIRECTORY}/rootdir/etc/apt/preferences.d/ - opendir (13: Permission denied)" +chmod +r rootdir/etc/apt/preferences.d diff --git a/test/integration/test-bug-829651 b/test/integration/test-bug-829651 new file mode 100755 index 0000000..976bb04 --- /dev/null +++ b/test/integration/test-bug-829651 @@ -0,0 +1,27 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +if [ "$(id -u)" = '0' ]; then + msgskip 'Tests for unreadable files do not work as root' + exit 0 +fi + +insertinstalledpackage 'foo' 'amd64' '1' +insertpackage 'unstable' 'foo' 'amd64' '2' + +setupaptarchive + + +testsuccess aptget indextargets + +aptget clean +chmod -r rootdir/var/lib/dpkg/status + +testfailureequal "E: Could not open file ${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status - open (13: Permission denied) +E: Problem opening ${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status +E: The package lists or status file could not be parsed or opened." aptget indextargets diff --git a/test/integration/test-bug-835094-configure-before-purge b/test/integration/test-bug-835094-configure-before-purge new file mode 100755 index 0000000..16a196c --- /dev/null +++ b/test/integration/test-bug-835094-configure-before-purge @@ -0,0 +1,44 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +buildsimplenativepackage 'kernel' 'amd64' '1' 'unstable' 'Depends: initramfs-tools | linux-initramfs-tool' + +#buildsimplenativepackage 'initramfs-tools' 'amd64' '1.0.16' 'unstable' 'Provides: linux-initramfs-tool' +setupsimplenativepackage 'initramfs-tools' 'amd64' '1' 'unstable' 'Provides: linux-initramfs-tool' +BUILDDIR='incoming/initramfs-tools-1' +mkdir -p "${BUILDDIR}/debian/initramfs-tools/etc" +echo 'foo2=bar2;' > "${BUILDDIR}/init.conf" +echo 'init.conf /etc/init.conf' >> "${BUILDDIR}/debian/install" +buildpackage "$BUILDDIR" 'unstable' 'main' 'native' +rm -rf "$BUILDDIR" + +buildsimplenativepackage 'dracut' 'amd64' '1' 'unstable' 'Provides: linux-initramfs-tool +Conflicts: initramfs-tools' + +setupaptarchive + +testdpkgnotinstalled 'kernel' 'initramfs-tools' 'dracut' +testsuccess apt install kernel -y +testdpkginstalled 'kernel' 'initramfs-tools' +testsuccess test -s rootdir/etc/init.conf +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + initramfs-tools* +The following NEW packages will be installed: + dracut +0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Purg initramfs-tools [1] [kernel:amd64 ] +Inst dracut (1 unstable [amd64]) +Conf dracut (1 unstable [amd64])' apt install --purge dracut -s +testsuccess apt install --purge dracut -y -o Debug::pkgDpkgPm=1 -o Dpkg::Use-Pty=0 +testsuccess apt install --purge dracut -y +testdpkginstalled 'kernel' 'dracut' +testdpkgnotinstalled 'initramfs-tools' +testsuccess test ! -s rootdir/etc/init.conf diff --git a/test/integration/test-bug-838779-untrusted-to-trusted-Release-hit b/test/integration/test-bug-838779-untrusted-to-trusted-Release-hit new file mode 100755 index 0000000..5023475 --- /dev/null +++ b/test/integration/test-bug-838779-untrusted-to-trusted-Release-hit @@ -0,0 +1,48 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +buildsimplenativepackage 'foo' 'all' '1' 'stable' + +export APT_DONT_SIGN='' +setupaptarchive --no-update + +changetowebserver + +testsuccess aptget update +testdpkgnotinstalled 'foo' +testsuccess apt install foo -y +testdpkginstalled 'foo' +testsuccess apt purge foo -y +testdpkgnotinstalled 'foo' + +msgmsg 'Untrusted to trusted hit' 'InRelease' +rm -rf rootdir/var/lib/apt/lists rootdir/var/cache/apt/archives +mv rootdir/etc/apt/trusted.gpg.d rootdir/etc/apt/trusted.gpg.d-bak +testfailure aptget update +testwarning aptget update --allow-insecure-repositories +testfailure apt install foo -y +testdpkgnotinstalled 'foo' +mv rootdir/etc/apt/trusted.gpg.d-bak rootdir/etc/apt/trusted.gpg.d +testsuccess aptget update +testsuccess apt install foo -y +testdpkginstalled 'foo' +testsuccess apt purge foo -y +testdpkgnotinstalled 'foo' + +msgmsg 'Untrusted to trusted hit' 'Release.gpg' +find aptarchive -name 'InRelease' -delete +rm -rf rootdir/var/lib/apt/lists rootdir/var/cache/apt/archives +mv rootdir/etc/apt/trusted.gpg.d rootdir/etc/apt/trusted.gpg.d-bak +testfailure aptget update +testwarning aptget update --allow-insecure-repositories +testfailure apt install foo -y +testdpkgnotinstalled 'foo' +mv rootdir/etc/apt/trusted.gpg.d-bak rootdir/etc/apt/trusted.gpg.d +testsuccess aptget update +testsuccess apt install foo -y +testdpkginstalled 'foo' diff --git a/test/integration/test-bug-841874-warning-for-mismatching-distribution b/test/integration/test-bug-841874-warning-for-mismatching-distribution new file mode 100755 index 0000000..7502eef --- /dev/null +++ b/test/integration/test-bug-841874-warning-for-mismatching-distribution @@ -0,0 +1,49 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertpackage 'testing' 'foo' 'all' '1' + +getcodenamefromsuite() { echo -n 'stretch'; } +setupaptarchive --no-update +APTARCHIVE="$(readlink -f './aptarchive')" +ln -s "${APTARCHIVE}/dists/testing" "${APTARCHIVE}/dists/stretch" +ln -s "${APTARCHIVE}/dists/testing" "${APTARCHIVE}/dists/zurg" + +testfailure apt show foo +testsuccess apt update +testsuccess apt show foo + +rm -rf rootdir/var/lib/apt/lists +sed -i -e 's#testing#stretch#g' rootdir/etc/apt/sources.list.d/* +testsuccess apt update +testsuccess apt show foo + +rm -rf rootdir/var/lib/apt/lists +sed -i -e 's#stretch#zurg#g' rootdir/etc/apt/sources.list.d/* +testwarningmsg "W: Conflicting distribution: file:$APTARCHIVE zurg InRelease (expected zurg but got stretch)" apt update +testsuccess apt show foo + +# check that 'foo/bar' is rewritten to 'foo' while we are at it +rm -rf rootdir/var/lib/apt/lists +sed -i -e 's#zurg#stretch/updates#g' rootdir/etc/apt/sources.list.d/* +testfailure apt update +testfailure apt show foo +ln -s "${APTARCHIVE}/dists/testing" "${APTARCHIVE}/dists/stretch/updates" +testsuccess apt update +testsuccess apt show foo + +# … but only if needed +rm -rf rootdir/var/lib/apt/lists +sed -i -e 's#stretch#buster#g' rootdir/etc/apt/sources.list.d/* +sed -i -e 's#^Codename: stretch$#Codename: buster/updates#g' $(find ./aptarchive -name 'Release') +signreleasefiles +testfailure apt update +testfailure apt show foo +ln -s "${APTARCHIVE}/dists/testing" "${APTARCHIVE}/dists/buster" +testsuccess apt update +testsuccess apt show foo diff --git a/test/integration/test-bug-869859-retry-downloads b/test/integration/test-bug-869859-retry-downloads new file mode 100755 index 0000000..4e169b3 --- /dev/null +++ b/test/integration/test-bug-869859-retry-downloads @@ -0,0 +1,82 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +testsecondsgreaterequal() { + seconds="$1" + shift + before=$(date +%s) + "$@" + after=$(date +%s) + msggroup 'testsecondsgreaterequal' + msgtest "Checking that previous test took more than $secondss" + if [ $((after - before)) -lt $seconds ]; then + msgfail "Took $((after - before)) second" + else + msgpass + fi + msggroup +} + +setupenvironment +configarchitecture 'amd64' + +buildsimplenativepackage 'testpkg' 'all' '1' 'stable' + +setupaptarchive --no-update +changetowebserver +testsuccess apt update + +cd downloaded +testsuccess apt download testpkg +testsuccess test -f testpkg_1_all.deb +rm -f testpkg_1_all.deb + +msgmsg 'Fail after too many retries' +webserverconfig 'aptwebserver::failrequest' '429' +webserverconfig 'aptwebserver::failrequest::pool/testpkg_1_all.deb' '99' +testsecondsgreaterequal 5 testfailureequal "Delaying http://localhost:${APTHTTPPORT} stable/main all testpkg all 1 by 1 seconds +Ign:1 http://localhost:${APTHTTPPORT} stable/main all testpkg all 1 + 429 Unknown HTTP code +Delaying http://localhost:${APTHTTPPORT} stable/main all testpkg all 1 by 2 seconds +Ign:1 http://localhost:${APTHTTPPORT} stable/main all testpkg all 1 + 429 Unknown HTTP code +Delaying http://localhost:${APTHTTPPORT} stable/main all testpkg all 1 by 4 seconds +Ign:1 http://localhost:${APTHTTPPORT} stable/main all testpkg all 1 + 429 Unknown HTTP code +Err:1 http://localhost:${APTHTTPPORT} stable/main all testpkg all 1 + 429 Unknown HTTP code +E: Failed to fetch http://localhost:${APTHTTPPORT}/pool/testpkg_1_all.deb 429 Unknown HTTP code" apt download testpkg -o acquire::retries=3 -o debug::acquire::retries=true -q +testfailure test -f testpkg_1_all.deb + +msgmsg 'Success in the third try' +webserverconfig 'aptwebserver::failrequest::pool/testpkg_1_all.deb' '2' +testsuccess apt download testpkg -o acquire::retries=3 -o acquire::retries::delay=false +testsuccess test -f testpkg_1_all.deb +rm -f testpkg_1_all.deb + +msgmsg 'Do not try everything again, hard failures keep hard failures' +webserverconfig 'aptwebserver::failrequest' '404' +webserverconfig 'aptwebserver::failrequest::pool/testpkg_1_all.deb' '2' +testfailure apt download testpkg -o acquire::retries=3 +testfailure test -f testpkg_1_all.deb + +cat ../rootdir/etc/apt/sources.list.d/apt-test-*.list > ../rootdir/etc/apt/sources.list.d/00http-source.list +changetohttpswebserver + +msgmsg 'Check download from alternative sources if first failed' +webserverconfig 'aptwebserver::failrequest::pool/testpkg_1_all.deb' '0' +testsuccess apt update +testsuccess apt download testpkg -o acquire::retries=0 +testsuccess test -f testpkg_1_all.deb +rm -f testpkg_1_all.deb + +# we make the first source fail by disabling http support +webserverconfig 'aptwebserver::support::http' 'false' +testsuccess apt download testpkg -o acquire::retries=0 +cp ../rootdir/tmp/testsuccess.output alt.output +testsuccess grep '^ 400 Bad Request' alt.output +testsuccess test -f testpkg_1_all.deb +rm -f testpkg_1_all.deb diff --git a/test/integration/test-bug-870675-hang-on-unsupported-method b/test/integration/test-bug-870675-hang-on-unsupported-method new file mode 100755 index 0000000..0d79b8f --- /dev/null +++ b/test/integration/test-bug-870675-hang-on-unsupported-method @@ -0,0 +1,26 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +changetowebserver + +echo 'foo' > aptarchive/foobar +echo 'bar' > aptarchive/foobar2 + +testsuccess apthelper download-file "http://localhost:${APTHTTPPORT}/foobar" ./downloaded/foobar 'SHA1:f1d2d2f924e986ac86fdf7b36c94bcdf32beec15' +rm -f ./downloaded/foobar +testsuccess apthelper download-file "http://localhost:${APTHTTPPORT}/foobar" ./downloaded/foobar 'SHA1:f1d2d2f924e986ac86fdf7b36c94bcdf32beec15' \ + "http://localhost:${APTHTTPPORT}/foobar2" ./downloaded/foobar2 'SHA1:e242ed3bffccdf271b7fbaf34ed72d089537b42f' +rm -f ./downloaded/foobar ./downloaded/foobar2 + +testfailure apthelper download-file "foo://localhost:${APTHTTPPORT}/foobar" ./downloaded/foobar 'SHA1:f1d2d2f924e986ac86fdf7b36c94bcdf32beec15' +testsuccess grep 'The method driver .*/foo could not be found' rootdir/tmp/testfailure.output +rm -f ./downloaded/foobar +testfailure apthelper download-file "foo://localhost:${APTHTTPPORT}/foobar" ./downloaded/foobar 'SHA1:f1d2d2f924e986ac86fdf7b36c94bcdf32beec15' \ + "foo://localhost:${APTHTTPPORT}/foobar2" ./downloaded/foobar2 'SHA1:e242ed3bffccdf271b7fbaf34ed72d089537b42f' +testsuccess grep 'The method driver .*/foo could not be found' rootdir/tmp/testfailure.output +rm -f ./downloaded/foobar ./downloaded/foobar2 diff --git a/test/integration/test-bug-872963-apt-ftparchive-disable-hashes b/test/integration/test-bug-872963-apt-ftparchive-disable-hashes new file mode 100755 index 0000000..ff01246 --- /dev/null +++ b/test/integration/test-bug-872963-apt-ftparchive-disable-hashes @@ -0,0 +1,40 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment + +touch aptarchive/apt_1.5~rc1.tar.xz +cat >> aptarchive/apt_1.5~rc1.dsc << EOF +Format: 3.0 (native) +Source: apt +Binary: apt +Architecture: any all +Version: 1.5~rc1 +Build-Depends: foo +Package-List: + apt deb admin important arch=any +Checksums-Sha1: + 332b354b0c7cbd936a4a95f3ce149aa03677cabf 2095076 apt_1.5~rc1.tar.xz +Checksums-Sha256: + 14d09b2c1e13f9a70aac3322987ff26f36c53010639763573c9aa4987e52e47a 2095076 apt_1.5~rc1.tar.xz +Checksums-Sha512: + 4f570c10c3fd549b2e27db4481fbc1ebebed52bd06a8ba7c0716b3917a8452bb3d3cd4fbb02561e02af09b1973a65a4cc69a42c21e858b1d5c3caa970aea4fd4 2095076 apt_1.5~rc1.tar.xz +Files: + 7ea24e77b6203e08ca4158831df26825 2095076 apt_1.5~rc1.tar.xz +EOF + + +rm rootdir/etc/apt/apt.conf.d/* + +for HASH in MD5 SHA1 SHA256 SHA512; do + testsuccess aptftparchive -qq sources -o APT::FTPArchive::$HASH=false "aptarchive/" + cp rootdir/tmp/testsuccess.output aptarchive/Sources + if [ "$HASH" = "MD5" ]; then + testfailure grep "Files:" aptarchive/Sources + else + testfailure grep -i "$HASH:" aptarchive/Sources + fi +done diff --git a/test/integration/test-bug-879591-dont-warn-for-hidden-but-good-components b/test/integration/test-bug-879591-dont-warn-for-hidden-but-good-components new file mode 100755 index 0000000..6eb4e04 --- /dev/null +++ b/test/integration/test-bug-879591-dont-warn-for-hidden-but-good-components @@ -0,0 +1,25 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertpackage 'stable' 'foo' 'all' '1' +insertpackage 'stable' 'bar' 'all' '1' '' '' '' 'main/debian-installer/others' +insertpackage 'stable-backports' 'foo' 'all' '1+sb' +insertpackage 'stable-backports' 'bar' 'all' '1+sb' '' '' '' 'main/debian-installer/others' + +find aptarchive/dists -path '*/debian-installer/i18n/Translation-en*' -delete + +setupaptarchive --no-update +sed -i -e '/^Codename: / a\ +Components: main contrib' $(find ./aptarchive -name 'Release') +signreleasefiles + +testsuccess aptget update + +sed -i -e 's# main\w*$# main main/debian-installer#' rootdir/etc/apt/sources.list.d/* + +testsuccess aptget update diff --git a/test/integration/test-bug-921685-binary-detached-signature b/test/integration/test-bug-921685-binary-detached-signature new file mode 100755 index 0000000..df86319 --- /dev/null +++ b/test/integration/test-bug-921685-binary-detached-signature @@ -0,0 +1,22 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertpackage 'unstable' 'foo' 'all' '1' + +buildaptarchive +setupdistsaptarchive + +for RELEASE in $(find aptarchive -name 'Release'); do + # note the missing --armor + dosigning "keys/joesixpack" --detach-sign --sign --output "${RELEASE}.gpg" "${RELEASE}" +done + +testfailure apt show foo +testfailure aptget update +testsuccess grep 'W: .* Detached signature file .* is in unsupported binary format' rootdir/tmp/testfailure.output +testfailure apt show foo diff --git a/test/integration/test-bug-960705-propagate-protected-to-satisfied-conflict b/test/integration/test-bug-960705-propagate-protected-to-satisfied-conflict new file mode 100755 index 0000000..272378b --- /dev/null +++ b/test/integration/test-bug-960705-propagate-protected-to-satisfied-conflict @@ -0,0 +1,53 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertpackage 'unstable' 'runit-init' 'all' '1' 'Conflicts: systemd-sysv, sysvinit-core, runit-init' +# note how the rest do not know of runit-init +insertpackage 'unstable' 'sysvinit-core' 'all' '1' 'Conflicts: systemd-sysv, sysvinit-core' +insertpackage 'unstable,installed' 'systemd-sysv' 'all' '1' 'Conflicts: systemd-sysv, sysvinit-core' +insertpackage 'unstable,installed' 'init' 'all' '1' 'Pre-Depends: systemd-sysv | sysvinit-core +Important: yes' + +setupaptarchive + +testsuccessequal "Reading package lists... +Building dependency tree... + Removing: systemd-sysv:amd64 as upgrade is not an option for runit-init:amd64 (1) + MarkDelete systemd-sysv:amd64 < 1 @ii mK > FU=0 + MarkInstall runit-init:amd64 < none -> 1 @un puN > FU=1 +Starting pkgProblemResolver with broken count: 1 +Starting 2 pkgProblemResolver with broken count: 1 +Investigating (0) init:amd64 < 1 @ii mK Ib > +Broken init:amd64 PreDepends on systemd-sysv:amd64 < 1 @ii pmR > + Considering systemd-sysv:amd64 0 as a solution to init:amd64 5100 + Added systemd-sysv:amd64 to the remove list +Broken init:amd64 PreDepends on sysvinit-core:amd64 < none @un pmH > + Considering sysvinit-core:amd64 0 as a solution to init:amd64 5100 + Ignore MarkKeep of systemd-sysv:amd64 < 1 @ii pmR > as its mode (Delete) is protected +Investigating (1) init:amd64 < 1 @ii mK Ib > +Broken init:amd64 PreDepends on systemd-sysv:amd64 < 1 @ii pmR > + Considering systemd-sysv:amd64 5100 as a solution to init:amd64 5100 +Broken init:amd64 PreDepends on sysvinit-core:amd64 < none @un pmH > + Considering sysvinit-core:amd64 0 as a solution to init:amd64 5100 + Or group remove for init:amd64 + MarkDelete init:amd64 < 1 @ii mK Ib > FU=0 +Done +The following packages will be REMOVED: + init systemd-sysv +The following NEW packages will be installed: + runit-init +WARNING: The following essential packages will be removed. +This should NOT be done unless you know exactly what you are doing! + init systemd-sysv (due to init) + MarkDelete init:amd64 < 1 @ii K > FU=1 +0 upgraded, 1 newly installed, 2 to remove and 0 not upgraded. +Remv init [1] + MarkDelete systemd-sysv:amd64 < 1 | none @ii H > FU=1 +Remv systemd-sysv [1] +Inst runit-init (1 unstable [all]) +Conf runit-init (1 unstable [all])" apt install runit-init -so Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::Marker=1 -o Debug::pkgDepCache::AutoInstall=1 -o APT::Get::Allow-Solver-Remove-Essential=1 diff --git a/test/integration/test-bug-960705-propagate-protected-to-satisfied-depends b/test/integration/test-bug-960705-propagate-protected-to-satisfied-depends new file mode 100755 index 0000000..ca6bf8d --- /dev/null +++ b/test/integration/test-bug-960705-propagate-protected-to-satisfied-depends @@ -0,0 +1,45 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +# without requires-foo it is sadly not as clear cut what should happen +insertpackage 'unstable' 'foobar' 'all' '1' 'Depends: foo | bar, requires-foo, conflicts-foo | fine-foo' +insertpackage 'unstable' 'foo' 'all' '1' 'Depends: foo-depends' +insertpackage 'unstable' 'foo-depends' 'all' '1' +insertpackage 'unstable' 'bar' 'all' '1' +insertpackage 'unstable' 'requires-foo' 'all' '1' 'Depends: foo' +insertpackage 'unstable' 'conflicts-foo' 'all' '1' 'Conflicts: foo' +insertpackage 'unstable' 'fine-foo' 'all' '1' + + +setupaptarchive + +testsuccessequal "Reading package lists... +Building dependency tree... + Installing foo:amd64 as Depends of foobar:amd64 + Installing foo-depends:amd64 as Depends of foo:amd64 + Installing requires-foo:amd64 as Depends of foobar:amd64 + Installing conflicts-foo:amd64 as Depends of foobar:amd64 + Installing fine-foo:amd64 as Depends of foobar:amd64 +Starting pkgProblemResolver with broken count: 0 +Starting 2 pkgProblemResolver with broken count: 0 +Done +The following additional packages will be installed: + fine-foo foo foo-depends requires-foo +The following NEW packages will be installed: + fine-foo foo foo-depends foobar requires-foo +0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded. +Inst fine-foo (1 unstable [all]) +Inst foo-depends (1 unstable [all]) +Inst foo (1 unstable [all]) +Inst requires-foo (1 unstable [all]) +Inst foobar (1 unstable [all]) +Conf fine-foo (1 unstable [all]) +Conf foo-depends (1 unstable [all]) +Conf foo (1 unstable [all]) +Conf requires-foo (1 unstable [all]) +Conf foobar (1 unstable [all])" apt install foobar -so Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::AutoInstall=1 diff --git a/test/integration/test-bug-961266-hold-means-hold b/test/integration/test-bug-961266-hold-means-hold new file mode 100755 index 0000000..89c18ba --- /dev/null +++ b/test/integration/test-bug-961266-hold-means-hold @@ -0,0 +1,124 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' + +insertinstalledpackage 'git' 'amd64' '1:2.25.1-1' 'Multi-Arch: foreign' +insertinstalledpackage 'git-cvs' 'amd64' '1:2.25.1-1' 'Depends: git (>> 1:2.25.1), git (<< 1:2.25.1-.)' + + +insertpackage 'unstable' 'git' 'amd64,i386' '1:2.26.2-1' 'Multi-Arch: foreign' +insertpackage 'unstable' 'git-cvs' 'amd64,i386' '1:2.26.2-1' 'Depends: git (>> 1:2.26.2), git (<< 1:2.26.2-.)' +insertpackage 'unstable' 'git-ng' 'amd64,i386' '1:2.26.2-1' 'Depends: git (>> 1:2.26.2), git (<< 1:2.26.2-.)' + +setupaptarchive + +msgmsg 'The setup is' 'fine' +UPGRADE='Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be upgraded: + git git-cvs +2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Inst git-cvs [1:2.25.1-1] (1:2.26.2-1 unstable [amd64]) [] +Inst git [1:2.25.1-1] (1:2.26.2-1 unstable [amd64]) +Conf git-cvs (1:2.26.2-1 unstable [amd64]) +Conf git (1:2.26.2-1 unstable [amd64])' +testsuccessequal "$UPGRADE" apt upgrade -s +testsuccessequal "$UPGRADE" aptget upgrade -s +testsuccessequal "$UPGRADE" apt full-upgrade -s +testsuccessequal "$UPGRADE" aptget dist-upgrade -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + git git-cvs +The following NEW packages will be installed: + git-ng +The following packages will be upgraded: + git git-cvs +2 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst git-cvs [1:2.25.1-1] (1:2.26.2-1 unstable [amd64]) [] +Inst git [1:2.25.1-1] (1:2.26.2-1 unstable [amd64]) +Inst git-ng (1:2.26.2-1 unstable [amd64]) +Conf git-cvs (1:2.26.2-1 unstable [amd64]) +Conf git (1:2.26.2-1 unstable [amd64]) +Conf git-ng (1:2.26.2-1 unstable [amd64])' apt install git-ng -s + + +msgmsg 'Now mix it up by' 'holding git' +testsuccessequal 'git set on hold.' aptmark hold git +testsuccessequal 'git' aptmark showholds + +NOUPGRADE='Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages have been kept back: + git git-cvs +0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded.' + +testsuccessequal "$NOUPGRADE" apt upgrade -s +testsuccessequal "$NOUPGRADE" apt full-upgrade -s +testsuccessequal "$NOUPGRADE" aptget dist-upgrade -s +testsuccessequal "$NOUPGRADE" aptget upgrade -s + +testfailureequal 'Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + git-ng : Depends: git (> 1:2.26.2) +E: Unable to correct problems, you have held broken packages.' apt install git-ng -s + + +msgmsg 'Now mix it up by' 'holding git-cvs' +testsuccessequal 'Canceled hold on git.' aptmark unhold git +testsuccessequal 'git-cvs set on hold.' aptmark hold git-cvs +testsuccessequal 'git-cvs' aptmark showholds + +testsuccessequal "$NOUPGRADE" apt upgrade -s +testsuccessequal "$NOUPGRADE" apt full-upgrade -s +testsuccessequal "$NOUPGRADE" aptget upgrade -s +testsuccessequal "$NOUPGRADE" aptget dist-upgrade -s + +testfailureequal 'Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + git-cvs : Depends: git (< 1:2.25.1-.) +E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.' apt install git-ng -s + + +msgmsg 'Now mix it up by' 'holding both' +testsuccessequal 'git set on hold.' aptmark hold git +testsuccessequal 'git +git-cvs' aptmark showholds + +testsuccessequal "$NOUPGRADE" apt upgrade -s +testsuccessequal "$NOUPGRADE" apt full-upgrade -s +testsuccessequal "$NOUPGRADE" aptget upgrade -s +testsuccessequal "$NOUPGRADE" aptget dist-upgrade -s + +testfailureequal 'Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + git-ng : Depends: git (> 1:2.26.2) +E: Unable to correct problems, you have held broken packages.' apt install git-ng -s diff --git a/test/integration/test-bug-990518-sourceslist-volatile b/test/integration/test-bug-990518-sourceslist-volatile new file mode 100755 index 0000000..1353566 --- /dev/null +++ b/test/integration/test-bug-990518-sourceslist-volatile @@ -0,0 +1,15 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' + +buildsimplenativepackage 'foo' 'amd64' '1' + +echo foo > rootdir/etc/apt/sources.list.d/test.list + +testfailureequal "E: Malformed line 1 in source list ${TMPWORKINGDIRECTORY}/rootdir/etc/apt/sources.list.d/test.list (type) +E: The list of sources could not be read." apt install ./incoming/foo_1_amd64.deb -s diff --git a/test/integration/test-bug-990555-https-proxy-for-http b/test/integration/test-bug-990555-https-proxy-for-http new file mode 100755 index 0000000..f43abfd --- /dev/null +++ b/test/integration/test-bug-990555-https-proxy-for-http @@ -0,0 +1,37 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +buildsimplenativepackage 'unrelated' 'all' '1' 'unstable' + +setupaptarchive --no-update +changetowebserver --request-absolute='uri' +changetohttpswebserver --no-rewrite + +msgtest 'Check that non-absolute paths are' 'not accepted' +testfailure --nomsg aptget update --allow-insecure-repositories + +echo "Acquire::http::Proxy \"https://localhost:${APTHTTPSPORT}\";" > rootdir/etc/apt/apt.conf.d/99proxy + +msgtest 'Check that requests to https proxies' 'work from http' +testsuccess --nomsg aptget update + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + unrelated +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst unrelated (1 unstable [all]) +Conf unrelated (1 unstable [all])' apt install unrelated -s + +testsuccess apt download unrelated --print-uris +testfailure grep 'https:' rootdir/tmp/testsuccess.output + +cd downloaded +testsuccess apt download unrelated +testsuccess test -s 'unrelated_1_all.deb' +cd .. diff --git a/test/integration/test-bug-992993-marked-cycles b/test/integration/test-bug-992993-marked-cycles new file mode 100755 index 0000000..a569040 --- /dev/null +++ b/test/integration/test-bug-992993-marked-cycles @@ -0,0 +1,30 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertinstalledpackage 'librust-nom-4-dev' 'all' '4.2.3-3' 'Provides: librust-nom-dev (= 4.2.3-3)' +insertinstalledpackage 'librust-nom-dev' 'all' '5.0.1-4' 'Depends: librust-nom+default-dev (= 5.0.1-4)' +insertinstalledpackage 'librust-nom+default-dev ' 'all' '5.0.1-4' 'Depends: librust-nom-dev (= 5.0.1-4)' +insertinstalledpackage 'librust-nom-4+std-dev' 'all' '4.2.3-3' 'Provides: librust-nom+default-dev (= 4.2.3-3)' + +insertinstalledpackage 'foo' 'all' '1' 'Depends: librust-nom-4-dev, librust-nom-dev, librust-nom-4+std-dev' + +for AUTO in '' 'librust-nom-4-dev' 'librust*' 'foo' '.*'; do + msgmsg 'Running test with these packages marked auto:' "$AUTO" + testsuccess aptmark manual '.*' + if [ -n "$AUTO" ]; then + testsuccess aptmark auto "$AUTO" + fi + + testsuccess aptget check + testsuccess aptget autoremove -s + + testsuccess aptget upgrade + testsuccess aptget full-upgrade + + testsuccess apt show foo +done diff --git a/test/integration/test-bug-998444-regex-as-target-release b/test/integration/test-bug-998444-regex-as-target-release new file mode 100755 index 0000000..97970bc --- /dev/null +++ b/test/integration/test-bug-998444-regex-as-target-release @@ -0,0 +1,65 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +addpackage() { + insertpackage "$@" + insertsource "$@" +} + +addpackage 'stable' 'foo' 'all' '1' +addpackage 'stable-security' 'foo' 'all' '1.1~security.1' +addpackage 'stable-updates' 'foo' 'all' '2~stable.1' +addpackage 'unstable' 'foo' 'all' '2' +addpackage 'experimental' 'foo' 'all' '3' +addpackage 'external' 'foo' 'all' '4' + +cat > rootdir/etc/apt/preferences <<EOF +Package: * +Pin: release a=external +Pin-Priority: -10 +EOF + +setupaptarchive + +APTARCHIVE="file:${TMPWORKINGDIRECTORY}/aptarchive" + +testfoo() { + testsuccessequal "foo: + Installed: (none) + Candidate: $1 + Version table: + 4 $2 + $(printf '%3s' "$2") ${APTARCHIVE} external/main all Packages + 3 $3 + $(printf '%3s' "$3") ${APTARCHIVE} experimental/main all Packages + 2 $4 + $(printf '%3s' "$4") ${APTARCHIVE} unstable/main all Packages + 2~stable.1 $5 + $(printf '%3s' "$5") ${APTARCHIVE} stable-updates/main all Packages + 1.1~security.1 $6 + $(printf '%3s' "$6") ${APTARCHIVE} stable-security/main all Packages + 1 $7 + $(printf '%3s' "$7") ${APTARCHIVE} stable/main all Packages" apt policy foo -t "$8" + testsuccessequal "'${APTARCHIVE}/pool/main/foo/foo_$(apthelper quote-string "${1}" '+~ ')_all.deb' foo_${1}_all.deb 42 SHA256:0000000000000000000000000000000000000000000000000000000000000000" apt download foo --print-uris -t "$8" + testsuccess apt source -t "$8" --print-uris foo + tail -n 2 rootdir/tmp/testsuccess.output | cut -d' ' -f 2 > aptsource.output + testfileequal 'aptsource.output' "foo_${9:-$1}.dsc +foo_${9:-$1}.tar.gz" +} +testfoo '2' '-10' '1' '500' '500' '500' '500' '' '4' +testfoo '2' '-10' '1' '990' '500' '500' '500' 'unstable' '2' +testfoo '1' '-10' '1' '500' '500' '500' '990' 'stable' +testfoo '2~stable.1' '-10' '1' '500' '990' '500' '500' 'stable-updates' +testfoo '1.1~security.1' '-10' '1' '500' '500' '990' '500' 'stable-security' +testfoo '4' '990' '1' '500' '500' '500' '500' 'a=external' +testfoo '2' '-10' '1' '990' '990' '990' '990' '/stable/' +testfoo '2~stable.1' '-10' '1' '500' '990' '990' '990' '/^stable/' +testfoo '1.1~security.1' '-10' '1' '500' '500' '990' '990' '/^stable(|-security)$/' +testfoo '2~stable.1' '-10' '1' '500' '990' '990' '500' '/^stable(-security|-updates)$/' +testfoo '2~stable.1' '-10' '1' '500' '990' '990' '990' '/^stable(|-security|-updates)$/' +testfoo '4' '990' '990' '990' '990' '990' '990' '/./' diff --git a/test/integration/test-bug-lp1347721-dpkg-ordering b/test/integration/test-bug-lp1347721-dpkg-ordering new file mode 100755 index 0000000..3c31974 --- /dev/null +++ b/test/integration/test-bug-lp1347721-dpkg-ordering @@ -0,0 +1,11 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "i386" +setupaptarchive + +# ensure we find a valid ordering +testsuccess aptget dist-upgrade -s diff --git a/test/integration/test-bug-lp1445239-download-loop b/test/integration/test-bug-lp1445239-download-loop new file mode 100755 index 0000000..6802840 --- /dev/null +++ b/test/integration/test-bug-lp1445239-download-loop @@ -0,0 +1,28 @@ +#!/bin/sh +# +# this is a regression test for LP: #1445239 where a partial download can +# trigger an endless hang of the download method +# + +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +changetowebserver + +TESTFILE='aptarchive/testfile' +dd if=/dev/zero of=$TESTFILE bs=100k count=1 2>/dev/null + +DOWNLOADLOG='rootdir/tmp/testdownloadfile.log' + +TARGET=./downloaded/testfile-downloaded +dd if=/dev/zero of=$TARGET bs=99k count=1 2>/dev/null +if ! downloadfile http://localhost:${APTHTTPPORT}/testfile "$TARGET" > "$DOWNLOADLOG"; then + cat >&2 "$DOWNLOADLOG" + msgfail +else + msgpass +fi diff --git a/test/integration/test-bug-lp1550741-heisestate b/test/integration/test-bug-lp1550741-heisestate new file mode 100755 index 0000000..76fdcb8 --- /dev/null +++ b/test/integration/test-bug-lp1550741-heisestate @@ -0,0 +1,48 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' + +insertpackage 'unstable' 'module-init-tools' 'amd64' '1.0' 'Depends: libkmod2 (= 21-1)' +insertpackage 'unstable' 'libkmod2' 'amd64' '0.22-1' +insertinstalledpackage 'module-init-tools' 'amd64' '0.1' + +setupaptarchive + +# this test only works if the python-apt is build against the same +# ABI version as the apt we are testing here +PYAPT_LIB_VER=$(runpython3 -c 'import apt_pkg;print(apt_pkg.LIB_VERSION)' 2>/dev/null || true) +if [ ! -f $LIBRARYPATH/libapt-pkg.so.$PYAPT_LIB_VER ]; then + msgskip "python-apt build with the wrong library version: $PYAPT_LIB_VER" + exit 0 +fi + +# we can not test this using our normal sh tests +cat > test.py <<EOF +#!/usr/bin/python3 +import sys +import apt +def in_valid_state(pkg): + return (pkg.marked_keep or + pkg.marked_install or + pkg.marked_upgrade or + pkg.marked_delete or + pkg.marked_downgrade or + pkg.marked_reinstall) +# main +cache=apt.Cache() +pkgname="module-init-tools" +if not in_valid_state(cache[pkgname]): + print("the test is broken, %s should be in a valid state" % pkgname) + sys.exit(99) +cache.upgrade(True) +if not in_valid_state(cache[pkgname]): + print("package %s is in a heisen-state" % pkgname) + sys.exit(2) + +EOF +testsuccess runpython3 test.py diff --git a/test/integration/test-bug-lp1562402-nomark-removals-as-keep b/test/integration/test-bug-lp1562402-nomark-removals-as-keep new file mode 100755 index 0000000..6e8225a --- /dev/null +++ b/test/integration/test-bug-lp1562402-nomark-removals-as-keep @@ -0,0 +1,39 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' + +insertpackage 'unstable' 'maas-common' 'all' '2.0.0~alpha4+bzr4843-0ubuntu1~xenial2' +insertpackage 'unstable' 'maas-region-controller-min' 'amd64' '2.0.0~alpha4+bzr4837-0ubuntu1~xenial1' 'Depends: maas-common (= 2.0.0~alpha4+bzr4837-0ubuntu1~xenial1)' +insertpackage 'unstable' 'maas-region-api' 'amd64' '2.0.0~alpha4+bzr4843-0ubuntu1~xenial2' 'Depends: maas-common (= 2.0.0~alpha4+bzr4843-0ubuntu1~xenial2)\nConflicts: maas-region-controller-min\nProvides: maas-region-controller-min' +insertpackage 'unstable' 'maas-region-controller' 'all' '2.0.0~alpha4+bzr4843-0ubuntu1~xenial2' 'Depends: maas-region-api (= 2.0.0~alpha4+bzr4843-0ubuntu1~xenial2)' + +insertinstalledpackage 'maas-common' 'all' '2.0.0~alpha3+bzr4810-0ubuntu1' +insertinstalledpackage 'maas-region-controller-min' 'amd64' '2.0.0~alpha3+bzr4810-0ubuntu1' 'Depends: maas-common (= 2.0.0~alpha3+bzr4810-0ubuntu1)' +insertinstalledpackage 'maas-region-controller' 'all' '2.0.0~alpha3+bzr4810-0ubuntu1' 'Depends: maas-region-controller-min (= 2.0.0~alpha3+bzr4810-0ubuntu1)' + +setupaptarchive + +testsuccess aptget dist-upgrade -s -o Debug::pkgDepCache::AutoInstall=true -o Debug::pkgPackageManager=yes -o Debug::pkgProblemResolver=yes +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be REMOVED: + maas-region-controller-min +The following NEW packages will be installed: + maas-region-api +The following packages will be upgraded: + maas-common maas-region-controller +2 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Inst maas-region-controller [2.0.0~alpha3+bzr4810-0ubuntu1] (2.0.0~alpha4+bzr4843-0ubuntu1~xenial2 unstable [all]) [] +Remv maas-region-controller-min [2.0.0~alpha3+bzr4810-0ubuntu1] [] +Inst maas-common [2.0.0~alpha3+bzr4810-0ubuntu1] (2.0.0~alpha4+bzr4843-0ubuntu1~xenial2 unstable [all]) [] +Inst maas-region-api (2.0.0~alpha4+bzr4843-0ubuntu1~xenial2 unstable [amd64]) +Conf maas-region-controller (2.0.0~alpha4+bzr4843-0ubuntu1~xenial2 unstable [all]) +Conf maas-common (2.0.0~alpha4+bzr4843-0ubuntu1~xenial2 unstable [all]) +Conf maas-region-api (2.0.0~alpha4+bzr4843-0ubuntu1~xenial2 unstable [amd64])' \ +aptget dist-upgrade -s diff --git a/test/integration/test-bug-lp1694697-build-dep-architecture-limited-alternative b/test/integration/test-bug-lp1694697-build-dep-architecture-limited-alternative new file mode 100755 index 0000000..7f8e4ad --- /dev/null +++ b/test/integration/test-bug-lp1694697-build-dep-architecture-limited-alternative @@ -0,0 +1,58 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'i386' + + +insertpackage 'stable' 'build-depends' 'i386' '1' +insertpackage 'stable' 'foo' 'i386' '1' +insertinstalledpackage 'build-essential' 'i386' '1' + +setupaptarchive + +# This used to be interpreted as build-depends | foo +cat > foobar.dsc <<EOF +Format: 3.0 (native) +Source: foobar +Binary: foobar +Architecture: all +Version: 1 +Maintainer: Joe Sixpack <joe@example.org> +Build-Depends: build-depends [i386] | build-depends [amd64], foo +Standards-Version: 3.9.8 +EOF +testsuccessequal "Note, using file './foobar.dsc' to get the build dependencies +Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + build-depends foo +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst build-depends (1 stable [i386]) +Inst foo (1 stable [i386]) +Conf build-depends (1 stable [i386]) +Conf foo (1 stable [i386])" aptget build-dep --simulate ./foobar.dsc + + +# This caused a segmentation fault +cat > foobar.dsc <<EOF +Format: 3.0 (native) +Source: foobar +Binary: foobar +Architecture: all +Version: 1 +Maintainer: Joe Sixpack <joe@example.org> +Build-Depends: build-depends [i386] | build-depends [amd64] +Standards-Version: 3.9.8 +EOF +testsuccessequal "Note, using file './foobar.dsc' to get the build dependencies +Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + build-depends +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst build-depends (1 stable [i386]) +Conf build-depends (1 stable [i386])" aptget build-dep --simulate ./foobar.dsc diff --git a/test/integration/test-bug-multiarch-upgrade b/test/integration/test-bug-multiarch-upgrade new file mode 100755 index 0000000..38e7053 --- /dev/null +++ b/test/integration/test-bug-multiarch-upgrade @@ -0,0 +1,29 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' + +insertinstalledpackage 'libcups2' 'amd64' '1' 'Multi-Arch: same' +insertinstalledpackage 'libcups2' 'i386' '1' 'Multi-Arch: same' + +insertpackage 'unstable' 'libcups2' 'amd64' '0' 'Multi-Arch: same' +insertpackage 'unstable' 'libcups2' 'amd64' '2' 'Multi-Arch: same' +insertpackage 'unstable' 'libcups2' 'i386' '0' 'Multi-Arch: same' +insertpackage 'unstable' 'libcups2' 'i386' '2' 'Multi-Arch: same' + +setupaptarchive + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + libcups2 +The following packages will be upgraded: + libcups2 libcups2:i386 +2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Inst libcups2 [1] (2 unstable [amd64]) [libcups2:amd64 on libcups2:i386] [libcups2:i386 on libcups2:amd64] [libcups2:i386 ] +Inst libcups2:i386 [1] (2 unstable [i386]) +Conf libcups2 (2 unstable [amd64]) +Conf libcups2:i386 (2 unstable [i386])' aptget install -s libcups2:i386 diff --git a/test/integration/test-cachecontainer-architecture-specification b/test/integration/test-cachecontainer-architecture-specification new file mode 100755 index 0000000..6557468 --- /dev/null +++ b/test/integration/test-cachecontainer-architecture-specification @@ -0,0 +1,123 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'armel' + +#insertinstalledpackage 'xserver-xorg-core' 'amd64' '2:1.7.6-2ubuntu7.10' +insertpackage 'unstable' 'libsame' 'armel,amd64' '1' 'Multi-Arch: same' +insertpackage 'unstable' 'foo' 'all' '1' + +setupaptarchive + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + libsame +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst libsame (1 unstable [amd64]) +Conf libsame (1 unstable [amd64])' aptget -s install libsame +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + libsame:armel +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst libsame:armel (1 unstable [armel]) +Conf libsame:armel (1 unstable [armel])' aptget -s install libsame:armel +testfailureequal 'Reading package lists... +Building dependency tree... +E: Unable to locate package libsame:armhf' aptget -s install libsame:armhf +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + libsame +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst libsame (1 unstable [amd64]) +Conf libsame (1 unstable [amd64])' aptget -s install libsame:amd64 +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + libsame libsame:armel +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst libsame (1 unstable [amd64]) +Inst libsame:armel (1 unstable [armel]) +Conf libsame (1 unstable [amd64]) +Conf libsame:armel (1 unstable [armel])' aptget -s install libsame:armel libsame:amd64 +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + libsame libsame:armel +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst libsame (1 unstable [amd64]) +Inst libsame:armel (1 unstable [armel]) +Conf libsame (1 unstable [amd64]) +Conf libsame:armel (1 unstable [armel])' aptget -s install libsame:* +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + libsame +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst libsame (1 unstable [amd64]) +Conf libsame (1 unstable [amd64])' aptget -s install libsame:any +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + libsame libsame:armel +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst libsame (1 unstable [amd64]) +Inst libsame:armel (1 unstable [armel]) +Conf libsame (1 unstable [amd64]) +Conf libsame:armel (1 unstable [armel])' aptget -s install libsame:a* +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + libsame +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst libsame (1 unstable [amd64]) +Conf libsame (1 unstable [amd64])' aptget -s install libsame:linux-any +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + libsame libsame:armel +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst libsame (1 unstable [amd64]) +Inst libsame:armel (1 unstable [armel]) +Conf libsame (1 unstable [amd64]) +Conf libsame:armel (1 unstable [armel])' aptget -s install libsame:linux-* +testfailureequal 'Reading package lists... +Building dependency tree... +E: Unable to locate package libsame:windows-any' aptget -s install libsame:windows-any + +testfailureequal 'Reading package lists... +Building dependency tree... +E: Unable to locate package foo:armel' aptget -s install foo:armel +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + foo +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1 unstable [all]) +Conf foo (1 unstable [all])' aptget -s install foo +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + foo +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1 unstable [all]) +Conf foo (1 unstable [all])' aptget -s install foo:all +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + foo +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1 unstable [all]) +Conf foo (1 unstable [all])' aptget -s install foo:amd64 +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + foo +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1 unstable [all]) +Conf foo (1 unstable [all])' aptget -s install foo:native diff --git a/test/integration/test-compressed-indexes b/test/integration/test-compressed-indexes new file mode 100755 index 0000000..858bf11 --- /dev/null +++ b/test/integration/test-compressed-indexes @@ -0,0 +1,180 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configcompression 'ALL' +configarchitecture 'i386' +LOWCOSTEXT='lz4' + +buildsimplenativepackage 'testpkg' 'i386' '1.0' + +buildaptarchive +setupdistsaptarchive +# fake a pdiff setup as apt wouldn't try pdiffs otherwise +find aptarchive -name 'Packages' -o -name 'Sources' | while read file; do + mkdir "${file}.diff" + PATCHINDEX="${file}.diff/Index" + echo 'SHA1-Current: adc83b19e793491b1c6ea0fd8b46cd9f32e592fc 0 +SHA1-History: + adc83b19e793491b1c6ea0fd8b46cd9f32e592fc 33053002 2010-08-18-2013.28 + ecfd1b19e793491b1c6ea123eabdcd9f32e592fc 33053001 2010-08-18-2013.29 +SHA1-Patches: + abc1fc0ac57cd83d41c63195a9342e2db5650257 19722 2010-08-18-0814.28 + dfe3444ac57cd83d41c63195a9342e2db5650257 19722 2010-08-18-0814.29' > $PATCHINDEX +done +generatereleasefiles +signreleasefiles + +testrun() { + local F + msgtest 'Check if all index files are' "${1:-uncompressed}" + if [ "$1" = 'compressed' ]; then + ! test -e rootdir/var/lib/apt/lists/*i386_Packages || F=1 + ! test -e rootdir/var/lib/apt/lists/*_Sources || F=1 + ! test -e rootdir/var/lib/apt/lists/*_Translation-en || F=1 + test -e rootdir/var/lib/apt/lists/*i386_Packages.$LOWCOSTEXT || F=1 + test -e rootdir/var/lib/apt/lists/*_Sources.$LOWCOSTEXT || F=1 + test -e rootdir/var/lib/apt/lists/*_Translation-en.$LOWCOSTEXT || F=1 + # there is no point in trying pdiff if we have compressed indexes + # as we can't patch compressed files (well, we can, but what is the point?) + ! test -e rootdir/var/lib/apt/lists/*diff_Index || F=1 + else + # clear the faked pdiff indexes so the glob below works + rm -f rootdir/var/lib/apt/lists/*diff_Index + test -e rootdir/var/lib/apt/lists/*i386_Packages || F=1 + test -e rootdir/var/lib/apt/lists/*_Sources || F=1 + test -e rootdir/var/lib/apt/lists/*_Translation-en || F=1 + ! test -e rootdir/var/lib/apt/lists/*i386_Packages.* || F=1 + ! test -e rootdir/var/lib/apt/lists/*_Sources.* || F=1 + ! test -e rootdir/var/lib/apt/lists/*_Translation-en.* || F=1 + fi + if [ -n "$F" ]; then + cat rootdir/tmp/testsuccess.output + ls -laR rootdir/var/lib/apt/lists/ + msgfail + else + msgpass + fi + msgtest 'Check if package is downloadable' + cd downloaded + testsuccess --nomsg aptget download testpkg + msgtest 'deb file is present'; testsuccess --nomsg test -f testpkg_1.0_i386.deb + rm -f testpkg_1.0_i386.deb + cd - >/dev/null + testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + testpkg +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst testpkg (1.0 unstable [i386]) +Conf testpkg (1.0 unstable [i386])' aptget install testpkg -s -o Debug::pkgAcquire::Auth=0 -o Debug::pkgAcquire::Worker=0 + rm -f rootdir/var/cache/apt/pkgcache.bin rootdir/var/cache/apt/srcpkgcache.bin + testsuccessequal "$GOODSHOW" aptcache show testpkg + testsuccessequal "$GOODSHOW" aptcache show testpkg + rm -f rootdir/var/cache/apt/pkgcache.bin rootdir/var/cache/apt/srcpkgcache.bin + testsuccessequal "$GOODPOLICY" aptcache policy testpkg + testsuccessequal "$GOODPOLICY" aptcache policy testpkg + rm -f rootdir/var/cache/apt/pkgcache.bin rootdir/var/cache/apt/srcpkgcache.bin + testsuccessequal "$GOODSHOWSRC" aptcache showsrc testpkg + testsuccessequal "$GOODSHOWSRC" aptcache showsrc testpkg + aptget clean + msgtest 'Check if the source is aptgetable' + cd downloaded + testsuccess --nomsg aptget source testpkg + testsuccess test -s testpkg_1.0.dsc + testsuccess test -d testpkg-1.0 + rm -rf testpkg-1.0* + cd - >/dev/null + testsuccessequal "$(aptcache show testpkg -o Acquire::Languages=none) +" aptcache dumpavail +} + +echo 'Dir::Log::Planner "/dev/null"; +Debug::pkgAcquire::worker "true"; +debug::pkgAcquire::Auth "true"; +Debug::pkgAcquire::Diffs "true"; +Debug::Acquire::http "true";' > rootdir/etc/apt/apt.conf.d/99debugconf + +testovermethod() { + forcecompressor $2 + + for INDEX in 'false' 'true'; do + rm -rf rootdir/var/lib/apt/lists + echo "Acquire::GzipIndexes \"${INDEX}\";" > rootdir/etc/apt/apt.conf.d/02compressindex + local INDCOMP + if [ "$INDEX" = 'false' -o "$1" = 'cdrom' ]; then + INDCOMP='uncompressed' + else + INDCOMP='compressed' + echo 'APT::Compressor::lz4::Name "lz4";' >> rootdir/etc/apt/apt.conf.d/02compressindex + fi + + msgmsg "${1}: ${COMPRESSOR}: Test with $INDCOMP indexes gzip=$INDEX" + if [ "${1}" = 'cdrom' ]; then + testsuccess aptcdrom add </dev/null + fi + testsuccess aptget update + testrun "$INDCOMP" + + if [ "${1}" != 'cdrom' ]; then + testsuccess aptget update -o Acquire::Pdiffs=1 + msgmsg "${1}: ${COMPRESSOR}: Test with $INDCOMP indexes gzip=$INDEX (update unchanged with pdiffs)" + testrun "$INDCOMP" + + testsuccess aptget update -o Acquire::Pdiffs=0 + msgmsg "${1}: ${COMPRESSOR}: Test with $INDCOMP indexes gzip=$INDEX (update unchanged without pdiffs)" + testrun "$INDCOMP" + fi + + rm rootdir/etc/apt/apt.conf.d/02compressindex + done +} + +testsuccess aptget update +GOODSHOW="$(aptcache show testpkg) +" +test $(echo "$GOODSHOW" | grep -e '^Package: testpkg' -e '^Version: 1.0' -e '^Architecture: i386' | wc -l) -eq 3 || msgdie 'show is broken' +testsuccessequal "$GOODSHOW" aptcache show testpkg +GOODSHOWSRC="$(aptcache showsrc testpkg) +" +test $(echo "$GOODSHOWSRC" | grep -e '^Package: testpkg' -e '^Format: 3.0 (native)' -e '^Checksums-Sha256:' | wc -l) -eq 3 || msgdie 'showsrc is broken' +testsuccessequal "$GOODSHOWSRC" aptcache showsrc testpkg +GOODPOLICY="$(aptcache policy testpkg)" +test $(echo "$GOODPOLICY" | grep -e '^testpkg:' -e '^ Candidate:' -e '^ Installed: (none)' -e '500 file:/' | wc -l) -eq 4 || msgdie 'file policy is broken' +testsuccessequal "$GOODPOLICY" aptcache policy testpkg +forallsupportedcompressors testovermethod 'file' + +rewritesourceslist "copy://${TMPWORKINGDIRECTORY}/aptarchive" +rm -rf rootdir/var/lib/apt/lists +testsuccess aptget update +GOODPOLICY="$(aptcache policy testpkg)" +test $(echo "$GOODPOLICY" | grep -e '^testpkg:' -e '^ Candidate:' -e '^ Installed: (none)' -e '500 copy:/' | wc -l) -eq 4 || msgdie 'copy policy is broken' +testsuccessequal "$GOODPOLICY" aptcache policy testpkg +forallsupportedcompressors testovermethod 'copy' + +changetowebserver +rm -rf rootdir/var/lib/apt/lists +testsuccess aptget update +GOODPOLICY="$(aptcache policy testpkg)" +test $(echo "$GOODPOLICY" | grep -e '^testpkg:' -e '^ Candidate:' -e '^ Installed: (none)' -e '500 http://' | wc -l) -eq 4 || msgdie 'http policy is broken' +testsuccessequal "$GOODPOLICY" aptcache policy testpkg +forallsupportedcompressors testovermethod 'http' + +changetohttpswebserver +rm -rf rootdir/var/lib/apt/lists +testsuccess aptget update +GOODPOLICY="$(aptcache policy testpkg)" +test $(echo "$GOODPOLICY" | grep -e '^testpkg:' -e '^ Candidate:' -e '^ Installed: (none)' -e '500 https://' | wc -l) -eq 4 || msgdie 'https policy is broken' +testsuccessequal "$GOODPOLICY" aptcache policy testpkg +forallsupportedcompressors testovermethod 'https' + +changetocdrom 'Debian APT Testdisk 0.8.15' +rm -rf rootdir/var/lib/apt/lists +testsuccess aptcdrom add </dev/null +GOODPOLICY="$(aptcache policy testpkg)" +test $(echo "$GOODPOLICY" | grep -e '^testpkg:' -e '^ Candidate:' -e '^ Installed: (none)' -e '500 cdrom://' | wc -l) -eq 4 || msgdie 'cdrom policy is broken' +testsuccessequal "$GOODPOLICY" aptcache policy testpkg +forallsupportedcompressors testovermethod 'cdrom' diff --git a/test/integration/test-conflicts-loop b/test/integration/test-conflicts-loop new file mode 100755 index 0000000..5b6e446 --- /dev/null +++ b/test/integration/test-conflicts-loop @@ -0,0 +1,33 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "i386" + +insertinstalledpackage 'openjdk-6-jre' 'i386' '6b16-1.8-0ubuntu1' +insertpackage 'unstable' 'openjdk-6-jre' 'i386' '6b20-1.9.8-0ubuntu1~10.04.1' 'Conflicts: openjdk-6-jre-headless (<< 6b17~pre3-1), openjdk-6-jre-lib (<< 6b17~pre3-1)' +insertinstalledpackage 'openjdk-6-jre-lib' 'i386' '6b16-1.8-0ubuntu1' +insertpackage 'unstable' 'openjdk-6-jre-lib' 'i386' '6b20-1.9.8-0ubuntu1~10.04.1' 'Conflicts: openjdk-6-jre (<< 6b17~pre3-1), openjdk-6-jre-headless (<< 6b17~pre3-1)' +insertinstalledpackage 'openjdk-6-jre-headless' 'i386' '6b16-1.8-0ubuntu1' +insertpackage 'unstable' 'openjdk-6-jre-headless' 'i386' '6b20-1.9.8-0ubuntu1~10.04.1' 'Conflicts: openjdk-6-jre (<< 6b17~pre3-1), openjdk-6-jre-lib (<< 6b17~pre3-1)' + +setupaptarchive + +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be upgraded: + openjdk-6-jre openjdk-6-jre-headless openjdk-6-jre-lib +3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Remv openjdk-6-jre-headless [6b16-1.8-0ubuntu1] +Remv openjdk-6-jre-lib [6b16-1.8-0ubuntu1] +Inst openjdk-6-jre [6b16-1.8-0ubuntu1] (6b20-1.9.8-0ubuntu1~10.04.1 unstable [i386]) +Inst openjdk-6-jre-lib [6b16-1.8-0ubuntu1] (6b20-1.9.8-0ubuntu1~10.04.1 unstable [i386]) +Conf openjdk-6-jre-lib (6b20-1.9.8-0ubuntu1~10.04.1 unstable [i386]) +Conf openjdk-6-jre (6b20-1.9.8-0ubuntu1~10.04.1 unstable [i386]) +Inst openjdk-6-jre-headless [6b16-1.8-0ubuntu1] (6b20-1.9.8-0ubuntu1~10.04.1 unstable [i386]) +Conf openjdk-6-jre-headless (6b20-1.9.8-0ubuntu1~10.04.1 unstable [i386])' aptget dist-upgrade -s -o APT::Immediate-Configure-All=true + +testsuccess aptget dist-upgrade -s diff --git a/test/integration/test-conflicts-real-multiarch-same b/test/integration/test-conflicts-real-multiarch-same new file mode 100755 index 0000000..73f7b9a --- /dev/null +++ b/test/integration/test-conflicts-real-multiarch-same @@ -0,0 +1,50 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' + +insertpackage 'unstable' 'virtual-provider' 'amd64,i386' '2' 'Provides: virtual +Conflicts: virtual +Multi-Arch: same' +insertpackage 'unstable' 'real' 'amd64,i386' '2' 'Conflicts: real +Multi-Arch: same' +insertpackage 'unstable' 'real-provider' 'amd64,i386' '2' 'Provides: real-provider +Conflicts: real-provider +Multi-Arch: same' +setupaptarchive + +testsuccessequal "Reading package lists... +Building dependency tree... +Note, selecting 'virtual-provider' instead of 'virtual' +Note, selecting 'virtual-provider:i386' instead of 'virtual:i386' +The following NEW packages will be installed: + virtual-provider virtual-provider:i386 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst virtual-provider (2 unstable [amd64]) +Inst virtual-provider:i386 (2 unstable [i386]) +Conf virtual-provider (2 unstable [amd64]) +Conf virtual-provider:i386 (2 unstable [i386])" aptget install virtual:* -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + real real:i386 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst real (2 unstable [amd64]) +Inst real:i386 (2 unstable [i386]) +Conf real (2 unstable [amd64]) +Conf real:i386 (2 unstable [i386])' aptget install real:* -s + +# ensure that we are not confused by the provides +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + real-provider real-provider:i386 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst real-provider (2 unstable [amd64]) +Inst real-provider:i386 (2 unstable [i386]) +Conf real-provider (2 unstable [amd64]) +Conf real-provider:i386 (2 unstable [i386])' aptget install real-provider:* -s diff --git a/test/integration/test-crossgrades b/test/integration/test-crossgrades new file mode 100755 index 0000000..6398e7e --- /dev/null +++ b/test/integration/test-crossgrades @@ -0,0 +1,82 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'i386' 'amd64' 'armel' +configdpkgnoopchroot + +buildsimplenativepackage 'unrelated' 'amd64' '1' 'stable' +buildsimplenativepackage 'crosser' 'i386,armel' '1' 'stable' 'Multi-Arch: same' +buildsimplenativepackage 'crosser' 'amd64' '2' 'unstable' +buildsimplenativepackage 'crosser' 'i386,armel' '3' 'experimental' 'Multi-Arch: same' +setupaptarchive + +singleinstance() { + testsuccess apt install crosser:i386=1 unrelated:amd64 -y --planner $1 + testdpkginstalled 'crosser:i386' 'unrelated' + + testsuccess apt install crosser:amd64 -y -o Debug::pkgDpkgPm=1 -o Dpkg::Use-Pty=0 --purge --planner $1 + cp -a rootdir/tmp/testsuccess.output crosser.output + testfailure grep -- '--remove.*crosser.*' crosser.output + testfailure grep -- '--purge' crosser.output + testsuccess apt install crosser:amd64 unrelated:amd64- -y -o Dpkg::Use-Pty=0 --purge -o Debug::pkgDPkgProgressReporting=1 --planner $1 + testdpkgnotinstalled 'crosser:i386' 'unrelated' + testdpkginstalled 'crosser:amd64' + + testsuccess apt install crosser:armel=3 -y -o Debug::pkgDpkgPm=1 -o Dpkg::Use-Pty=0 --purge --planner $1 + cp -a rootdir/tmp/testsuccess.output crosser.output + testsuccess grep -- '--remove.*crosser.*' crosser.output + testsuccess grep -- '--purge' crosser.output + testsuccess apt install crosser:armel=3 -y -o Debug::pkgDPkgProgressReporting=1 -o Dpkg::Use-Pty=0 --purge --planner $1 + testdpkgnotinstalled 'crosser:i386' 'crosser:amd64' 'unrelated' + testdpkginstalled 'crosser:armel' + + testsuccess apt install crosser=1 -y -o Debug::pkgDpkgPm=1 -o Dpkg::Use-Pty=0 --purge --planner $1 --allow-downgrades + cp -a rootdir/tmp/testsuccess.output crosser.output + testsuccess grep -- '--remove.*crosser.*' crosser.output + testsuccess grep -- '--purge' crosser.output + testsuccess apt install crosser=1 -y -o Debug::pkgDPkgProgressReporting=1 -o Dpkg::Use-Pty=0 --purge --planner $1 --allow-downgrades + testdpkgnotinstalled 'crosser:armel' 'crosser:amd64' 'unrelated' + testdpkginstalled 'crosser:i386' + + testsuccess apt purge crosser:i386 -y --planner $1 + testdpkgnotinstalled 'crosser:i386' +} +singleinstance 'internal' +singleinstance 'apt' + +multiinstance() { + testsuccess apt install crosser:i386=1 crosser:armel=1 unrelated:amd64 -y --planner $1 + testdpkginstalled 'crosser:i386' 'crosser:armel' 'unrelated' + + testsuccess apt install crosser:amd64 -y -o Debug::pkgDpkgPm=1 -o Dpkg::Use-Pty=0 --purge --planner $1 + cp -a rootdir/tmp/testsuccess.output crosser.output + testsuccess grep -- '--remove.*crosser.*' crosser.output + testsuccess grep -- '--purge' crosser.output + testsuccess apt install crosser:amd64 unrelated:amd64- -y -o Dpkg::Use-Pty=0 --purge -o Debug::pkgDPkgProgressReporting=1 --planner $1 + testdpkgnotinstalled 'crosser:i386' 'crosser:armel' 'unrelated' + testdpkginstalled 'crosser:amd64' + + testsuccess apt install crosser:i386 crosser:armel -t experimental -y -o Debug::pkgDpkgPm=1 -o Dpkg::Use-Pty=0 --purge --planner $1 + cp -a rootdir/tmp/testsuccess.output crosser.output + testsuccess grep -- '--remove.*crosser.*' crosser.output + testsuccess grep -- '--purge' crosser.output + testsuccess apt install crosser:i386 crosser:armel -t experimental -y -o Debug::pkgDPkgProgressReporting=1 -o Dpkg::Use-Pty=0 --purge --planner $1 + testdpkgnotinstalled 'crosser:amd64' 'unrelated' + testdpkginstalled 'crosser:i386' 'crosser:armel' + + testsuccess apt install crosser:i386- crosser:armel=1 -y -o Debug::pkgDpkgPm=1 -o Dpkg::Use-Pty=0 --purge --planner $1 --allow-downgrades + cp -a rootdir/tmp/testsuccess.output crosser.output + testsuccess grep -- '--remove.*crosser.*' crosser.output + testsuccess grep -- '--purge' crosser.output + testsuccess apt install crosser:i386- crosser:armel=1 -y -o Debug::pkgDPkgProgressReporting=1 -o Dpkg::Use-Pty=0 --purge --planner $1 --allow-downgrades + testdpkgnotinstalled 'crosser:amd64' 'crosser:i386' 'unrelated' + testdpkginstalled 'crosser:armel' + + testsuccess apt purge crosser:armel -y --planner $1 -o Debug::pkgDPkgProgressReporting=1 + testdpkgnotinstalled 'crosser:i386' 'crosser:armel' 'crosser:amd64' 'unrelated' +} +multiinstance 'internal' diff --git a/test/integration/test-cve-2013-1051-InRelease-parsing b/test/integration/test-cve-2013-1051-InRelease-parsing new file mode 100755 index 0000000..1f0cbda --- /dev/null +++ b/test/integration/test-cve-2013-1051-InRelease-parsing @@ -0,0 +1,71 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'i386' + +insertpackage 'stable' 'good-pkg' 'all' '1.0' + +setupaptarchive + +changetowebserver +ARCHIVE="http://localhost:${APTHTTPPORT}" +msgtest 'Initial apt-get update should work with' 'InRelease' +testsuccess --nomsg aptget update + +# check that the setup is correct +testsuccessequal "good-pkg: + Installed: (none) + Candidate: 1.0 + Version table: + 1.0 500 + 500 ${ARCHIVE} stable/main all Packages" aptcache policy good-pkg + +# now exchange to the Packages file, note that this could be +# done via MITM too +insertpackage 'stable' 'bad-mitm' 'all' '1.0' + +# this builds compressed files and a new (unsigned) Release +buildaptarchivefromfiles '+1hour' + +# add a space into the BEGIN PGP SIGNATURE PART/END PGP SIGNATURE part +# to trick apt - this is still legal to gpg(v) +sed -i '/^-----BEGIN PGP SIGNATURE-----/,/^-----END PGP SIGNATURE-----/ s/^$/ /g' aptarchive/dists/stable/InRelease + +# we append the (evil unsigned) Release file to the (good signed) InRelease +cat aptarchive/dists/stable/Release >> aptarchive/dists/stable/InRelease +touch -d '+1hour' aptarchive/dists/stable/InRelease + +# ensure the update doesn't load bad data as good data +# Note that we will pick up the InRelease itself as we download no other +# indexes which would trigger a hashsum mismatch, but we ignore the 'bad' +# part of the InRelease +listcurrentlistsdirectory | sed '/_InRelease/ d' > listsdir.lst +msgtest 'apt-get update should ignore unsigned data in the' 'InRelease' +testwarningequal "Get:1 http://localhost:${APTHTTPPORT} stable InRelease [$(stat -c%s aptarchive/dists/stable/InRelease) B] +Err:1 http://localhost:${APTHTTPPORT} stable InRelease + Splitting up ${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists/partial/localhost:${APTHTTPPORT}_dists_stable_InRelease into data and signature failed +Reading package lists... +W: An error occurred during the signature verification. The repository is not updated and the previous index files will be used. GPG error: http://localhost:${APTHTTPPORT} stable InRelease: Splitting up ${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists/partial/localhost:${APTHTTPPORT}_dists_stable_InRelease into data and signature failed +W: Failed to fetch http://localhost:${APTHTTPPORT}/dists/stable/InRelease Splitting up ${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists/partial/localhost:${APTHTTPPORT}_dists_stable_InRelease into data and signature failed +W: Some index files failed to download. They have been ignored, or old ones used instead." --nomsg aptget update +testfileequal './listsdir.lst' "$(listcurrentlistsdirectory | sed '/_InRelease/ d')" + +# ensure there is no package +testfailureequal 'Reading package lists... +Building dependency tree... +E: Unable to locate package bad-mitm' aptget install bad-mitm -s + +# and verify that its not picked up +testsuccessequal 'N: Unable to locate package bad-mitm' aptcache policy bad-mitm + +# and that the right one is used +testsuccessequal "good-pkg: + Installed: (none) + Candidate: 1.0 + Version table: + 1.0 500 + 500 ${ARCHIVE} stable/main all Packages" aptcache policy good-pkg diff --git a/test/integration/test-cve-2018-0501-mirror-alternatives b/test/integration/test-cve-2018-0501-mirror-alternatives new file mode 100755 index 0000000..f154547 --- /dev/null +++ b/test/integration/test-cve-2018-0501-mirror-alternatives @@ -0,0 +1,31 @@ +#!/bin/sh +set -e +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "i386" + +buildsimplenativepackage 'foo' 'all' '1' 'stable' +setupaptarchive --no-update +changetohttpswebserver + +# User has mirror method configured in apt >= 1.6~alpha6 & +# Eve has enough MITM control over the network to +# a) have the mirror file include at least two mirrors and +# b) can send her bad InRelease files for both mirrors +sed -i -e 's# https:# mirror+https:#' -e 's#/ stable#/mirror.txt stable#' rootdir/etc/apt/sources.list.d/*-stable-* +echo "http://localhost:${APTHTTPPORT} +https://localhost:${APTHTTPSPORT}" > aptarchive/mirror.txt + +# real Eve would do something worse… +sed -i "/^Date: / a\ +Evil: yes" $(find ./aptarchive -name 'Release' -o -name 'InRelease') + +# progress display shows that the InRelease file was bad, +# but it is used anyhow as the bad file causes a fallback to +# a request to the second mirror which completes successful +# causing apt to believe the verify completed successfully… +testfailure apt update +testfailure grep '^Evil:' rootdir/var/lib/apt/lists/*Release +testfailure apt show foo diff --git a/test/integration/test-cve-2019-3462-Release.gpg-payload b/test/integration/test-cve-2019-3462-Release.gpg-payload new file mode 100755 index 0000000..fd0f967 --- /dev/null +++ b/test/integration/test-cve-2019-3462-Release.gpg-payload @@ -0,0 +1,43 @@ +#!/bin/sh +set -e + +# This is not covered by the CVE and harmless by itself, but used in +# the exploit and while harmless it is also pointless to allow it + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' + +export APT_DONT_SIGN='InRelease' + +insertpackage 'unstable' 'foo' 'all' '1' +setupaptarchive +rm -rf rootdir/var/lib/apt/lists + +verify() { + testfailure apt update + testsuccess grep '^ Detached signature file' rootdir/tmp/testfailure.output + testfailure apt show foo +} + +msgmsg 'Payload after detached signature' +find aptarchive -name 'Release.gpg' | while read FILE; do + cp -a "$FILE" "${FILE}.bak" + echo "evil payload" >> "$FILE" +done +verify + +msgmsg 'Payload in-between detached signatures' +find aptarchive -name 'Release.gpg' | while read FILE; do + cat "${FILE}.bak" >> "$FILE" +done +verify + +msgmsg 'Payload before detached signature' +find aptarchive -name 'Release.gpg' | while read FILE; do + echo "evil payload" > "$FILE" + cat "${FILE}.bak" >> "$FILE" +done +verify diff --git a/test/integration/test-cve-2019-3462-dequote-injection b/test/integration/test-cve-2019-3462-dequote-injection new file mode 100755 index 0000000..23cef4f --- /dev/null +++ b/test/integration/test-cve-2019-3462-dequote-injection @@ -0,0 +1,80 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +# build two uncompressed packages +buildsimplenativepackage 'alpha' 'all' '1' 'unstable' '' '' 'section' 'optional' '' 'none' + +setupaptarchive --no-update +ORIGINAL_SHA256=$(sha256sum aptarchive/pool/alpha_1_all.deb | awk '{print $1}') +ORIGINAL_SIZE=$(wc -c aptarchive/pool/alpha_1_all.deb | awk '{print $1}') +SHA256="DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF" +changetowebserver + +runwithbaduri() { + local BADURI="$1" + local ERRMSG="$2" + shift 2 + local BADFETCH="http://localhost:${APTHTTPPORT}/pool/alpha_1_all.deb" + if [ "$#" = '0' ]; then + BADFETCH="http://localhost:${APTHTTPPORT}/pool/$BADURI" + fi + webserverconfig aptwebserver::redirect::replace::alpha_1_all.deb "$BADURI" + + testsuccess apt update -o debug::http=1 -o debug::pkgacquire::worker=1 "$@" + + testfailureequal "Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + alpha +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Need to get 20.7 kB of archives. +After this operation, 11.3 kB of additional disk space will be used. +Err:1 http://localhost:${APTHTTPPORT} unstable/main all alpha all 1 + $ERRMSG +E: Failed to fetch $BADFETCH $ERRMSG +E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?" aptget install alpha "$@" +} +runwithbaduri "beeta_1_all.deb%0a%0a201%20URI%20Done%0aURI:%20http://localhost:${APTHTTPPORT}/pool/beeta_1_all.deb%0aFilename:%20${TMPWORKINGDIRECTORY}/rootdir/var/cache/apt/archives/partial/alpha_1_all.deb%0aSize:%2020672%0aLast-Modified:%20Fri,%2018%20Jan%202019%2009:52:02%20+0000%0aSHA256-Hash:%20${SHA256}%0aChecksum-FileSize-Hash:%2012345%0a%0a%0a" 'SECURITY: URL redirect target contains control characters, rejecting.' -o Acquire::Send-URI-Encoded=false +rm -rf rootdir/var/lib/apt/lists +runwithbaduri "beeta_1_all.deb%250a%250a201%2520URI%2520Done%250aURI:%2520http://localhost:${APTHTTPPORT}/pool/beeta_1_all.deb%250aFilename:%2520${TMPWORKINGDIRECTORY}/rootdir/var/cache/apt/archives/partial/alpha_1_all.deb%250aSize:%252020672%250aLast-Modified:%2520Fri,%252018%2520Jan%25202019%252009:52:02%2520+0000%250aSHA256-Hash:%2520${SHA256}%250aChecksum-FileSize-Hash:%252012345%250a%250a%0a" 'SECURITY: URL redirect target contains control characters, rejecting.' -o Acquire::Send-URI-Encoded=false + +# without de- and reencoding, we just trigger an error in our webserver as it refuses URIs containing '//' +rm -rf rootdir/var/lib/apt/lists +runwithbaduri "beeta_1_all.deb%0a%0a201%20URI%20Done%0aURI:%20http://localhost:${APTHTTPPORT}/pool/beeta_1_all.deb%0aFilename:%20${TMPWORKINGDIRECTORY}/rootdir/var/cache/apt/archives/partial/alpha_1_all.deb%0aSize:%2020672%0aLast-Modified:%20Fri,%2018%20Jan%202019%2009:52:02%20+0000%0aSHA256-Hash:%20${SHA256}%0aChecksum-FileSize-Hash:%2012345%0a%0a%0a" '400 Bad Request' +rm -rf rootdir/var/lib/apt/lists +runwithbaduri "beeta_1_all.deb%250a%250a201%2520URI%2520Done%250aURI:%2520http://localhost:${APTHTTPPORT}/pool/beeta_1_all.deb%250aFilename:%2520${TMPWORKINGDIRECTORY}/rootdir/var/cache/apt/archives/partial/alpha_1_all.deb%250aSize:%252020672%250aLast-Modified:%2520Fri,%252018%2520Jan%25202019%252009:52:02%2520+0000%250aSHA256-Hash:%2520${SHA256}%250aChecksum-FileSize-Hash:%252012345%250a%250a%0a" '400 Bad Request' + +# For reference, the following is the original reproducer/bug. It has +# been disabled using exit 0, as it will fail in fixed versions. +exit 0 + +testfailureequal "Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + alpha +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Need to get 20.7 kB of archives. +After this operation, 11.3 kB of additional disk space will be used. +Err:1 http://localhost:${APTHTTPPORT} unstable/main all alpha all 1 + Hash Sum mismatch + Hashes of expected file: + - SHA256:$ORIGINAL_SHA256 + - Filesize:$ORIGINAL_SIZE [weak] + Hashes of received file: + - SHA256:DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF + - Filesize:12345 [weak] + Last modification reported: Fri, 18 Jan 2019 09:52:02 +0000 +E: Failed to fetch http://localhost:${APTHTTPPORT}/pool/beeta_1_all.deb Hash Sum mismatch + Hashes of expected file: + - SHA256:$ORIGINAL_SHA256 + - Filesize:$ORIGINAL_SIZE [weak] + Hashes of received file: + - SHA256:DEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEFDEADBEEF + - Filesize:12345 [weak] + Last modification reported: Fri, 18 Jan 2019 09:52:02 +0000 +E: Unable to fetch some archives, maybe run apt-get update or try with --fix-missing?" aptget install alpha diff --git a/test/integration/test-cve-2020-27350 b/test/integration/test-cve-2020-27350 new file mode 100755 index 0000000..a32bf95 --- /dev/null +++ b/test/integration/test-cve-2020-27350 @@ -0,0 +1,25 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "amd64" + +${APTTESTHELPERSBINDIR}/createdeb-cve-2020-27350 crash crash.deb +testequal "E: Invalid archive member header" runapt ${APTTESTHELPERSBINDIR}/testdeb ./crash.deb + +${APTTESTHELPERSBINDIR}/createdeb-cve-2020-27350 loop loop.deb +testequal "E: Invalid archive member header" runapt ${APTTESTHELPERSBINDIR}/testdeb ./loop.deb + +${APTTESTHELPERSBINDIR}/createdeb-cve-2020-27350 long-name long-name.deb +testequal "E: Long name to large: 67108865 bytes > 1048576 bytes" runapt ${APTTESTHELPERSBINDIR}/extract-control long-name.deb control + +${APTTESTHELPERSBINDIR}/createdeb-cve-2020-27350 long-link long-link.deb +testequal "E: Long name to large: 67108865 bytes > 1048576 bytes" runapt ${APTTESTHELPERSBINDIR}/extract-control long-link.deb control + +${APTTESTHELPERSBINDIR}/createdeb-cve-2020-27350 long-control long-control.deb +testequal "E: Control file too large: 67108865 > 67108864 bytes" runapt ${APTTESTHELPERSBINDIR}/extract-control long-control.deb control + +${APTTESTHELPERSBINDIR}/createdeb-cve-2020-27350 too-long-control too-long-control.deb +testequal "E: Tar member too large: $((128 * 1024 * 1024 * 1024 + 1)) > $((128 * 1024 * 1024 * 1024)) bytes" runapt ${APTTESTHELPERSBINDIR}/extract-control too-long-control.deb control diff --git a/test/integration/test-different-methods-for-same-source b/test/integration/test-different-methods-for-same-source new file mode 100755 index 0000000..791a84c --- /dev/null +++ b/test/integration/test-different-methods-for-same-source @@ -0,0 +1,35 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertpackage 'stable' 'foo' 'all' '1' +insertsource 'stable' 'foo' 'all' '1' +setupaptarchive --no-update + +changetowebserver +webserverconfig 'aptwebserver::redirect::replace::/redirectme/' "http://localhost:${APTHTTPPORT}/" + +echo 'Dir::Bin::Methods::http-ng "http";' > rootdir/etc/apt/apt.conf.d/99add-http-ng-method +sed -i -e 's# http:# http-ng:#' $(find rootdir/etc/apt/sources.list.d -name '*-deb-src.list') + +testsuccess apt update -o Debug::Acquire::http-ng=1 +cp rootdir/tmp/testsuccess.output update.log +# all requests are folded into the first Release file +testsuccess grep ' http-ng://' update.log +testfailure grep ' http://' update.log +# see if method-specific debug was enabled +testsuccess grep '^Answer for: http-ng:' update.log + +rm -rf rootdir/var/lib/apt/lists +sed -i -e "s#:${APTHTTPPORT}/#:${APTHTTPPORT}/redirectme#" rootdir/etc/apt/sources.list.d/* +testsuccess apt update -o Debug::Acquire::http-ng=1 +cp rootdir/tmp/testsuccess.output update.log +# all requests are folded into the first Release file +testsuccess grep ' http-ng://' update.log +testfailure grep '^[^L].* http://' update.log +# see if method-specific debug was enabled +testsuccess grep '^Answer for: http-ng:' update.log diff --git a/test/integration/test-disappearing-packages b/test/integration/test-disappearing-packages new file mode 100755 index 0000000..f3fed04 --- /dev/null +++ b/test/integration/test-disappearing-packages @@ -0,0 +1,92 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' + +buildsimplenativepackage 'old-pkg' 'amd64' '1' 'stable' + +setupsimplenativepackage 'new-pkg' 'amd64' '2' 'unstable' 'Provides: old-pkg +Replaces: old-pkg +Conflicts: old-pkg (<< 2)' +BUILDDIR='incoming/new-pkg-2' +echo '/usr/share/doc/new-pkg /usr/share/doc/old-pkg' > "${BUILDDIR}/debian/new-pkg.links" +buildpackage "$BUILDDIR" 'unstable' 'main' +rm -rf "$BUILDDIR" + +setupsimplenativepackage 'old-pkg' 'all' '2' 'unstable' 'Depends: new-pkg' +BUILDDIR='incoming/old-pkg-2' +echo '/usr/share/doc/new-pkg /usr/share/doc/old-pkg' > "${BUILDDIR}/debian/old-pkg.links" +echo " +override_dh_link: + rm -rf debian/old-pkg/usr/share/doc/old-pkg/ + dh_link" >> "${BUILDDIR}/debian/rules" +buildpackage "$BUILDDIR" 'unstable' 'main' +rm -rf "$BUILDDIR" + +setupsimplenativepackage 'super-new-pkg' 'i386' '3' 'experimental' 'Provides: new-pkg +Replaces: new-pkg +Conflicts: new-pkg (<< 3)' +BUILDDIR='incoming/super-new-pkg-3' +echo '/usr/share/doc/super-new-pkg /usr/share/doc/old-pkg' > "${BUILDDIR}/debian/super-new-pkg.links" +echo '/usr/share/doc/super-new-pkg /usr/share/doc/new-pkg' >> "${BUILDDIR}/debian/super-new-pkg.links" +buildpackage "$BUILDDIR" 'experimental' 'main' +rm -rf "$BUILDDIR" + +setupsimplenativepackage 'new-pkg' 'all' '3' 'experimental' 'Depends: super-new-pkg' +BUILDDIR='incoming/new-pkg-3' +echo '/usr/share/doc/super-new-pkg /usr/share/doc/old-pkg' > "${BUILDDIR}/debian/new-pkg.links" +echo '/usr/share/doc/super-new-pkg /usr/share/doc/new-pkg' >> "${BUILDDIR}/debian/new-pkg.links" +echo " +override_dh_link: + rm -rf debian/new-pkg/usr/share/doc/new-pkg/ + dh_link" >> "${BUILDDIR}/debian/rules" +buildpackage "$BUILDDIR" 'experimental' 'main' +rm -rf "$BUILDDIR" + +setupaptarchive + +msgmsg 'Let a package disappear' 'old-pkg' +testsuccess aptget install old-pkg=1 --trivial-only +testmarkedauto # old-pkg is manual installed +testsuccess aptget dist-upgrade -y +testdpkgnotinstalled old-pkg +cp rootdir/tmp/testsuccess.output disappear.output +testsuccessequal 'The following package disappeared from your system as +all files have been overwritten by other packages: + old-pkg +Note: This is done automatically and on purpose by dpkg.' tail -n 4 disappear.output + +sed -i rootdir/var/log/apt/history.log -e '/^Commandline: / d' -e '/^Start-Date: / d' -e '/^End-Date: / d' -e "s#:$(getarchitecture 'native') #:native #" +if [ -n "$SUDO_USER" ] && [ "$(id -u "$SUDO_USER")" -gt 0 ]; then + testfileequal 'rootdir/var/log/apt/history.log' " +Requested-By: $SUDO_USER ($(id -u "$SUDO_USER")) +Install: old-pkg:native (1) + +Requested-By: $SUDO_USER ($(id -u "$SUDO_USER")) +Install: new-pkg:native (2, automatic) +Upgrade: old-pkg:native (1, 2) +Disappeared: old-pkg (1)" +else + testfileequal 'rootdir/var/log/apt/history.log' ' +Install: old-pkg:native (1) + +Install: new-pkg:native (2, automatic) +Upgrade: old-pkg:native (1, 2) +Disappeared: old-pkg (1)' +fi + +testmarkedauto # new-pkg should have get the manual flag from old-pkg + +msgmsg 'Let a package disappear which let the previous disappear' 'new-pkg' +testsuccess aptget dist-upgrade -y -t experimental +testdpkgnotinstalled new-pkg +cp rootdir/tmp/testsuccess.output disappear.output +testsuccessequal 'The following package disappeared from your system as +all files have been overwritten by other packages: + new-pkg +Note: This is done automatically and on purpose by dpkg.' tail -n 4 disappear.output + +testmarkedauto diff --git a/test/integration/test-dont-forget-conflicts-via-unknown-architectures b/test/integration/test-dont-forget-conflicts-via-unknown-architectures new file mode 100755 index 0000000..07d5d8f --- /dev/null +++ b/test/integration/test-dont-forget-conflicts-via-unknown-architectures @@ -0,0 +1,43 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'arm64' +configdpkgnoopchroot + +buildsimplenativepackage 'pkga' 'arm64' '1' 'stable' +buildsimplenativepackage 'pkgb' 'arm64' '1' 'stable' + +cd aptarchive +aptftparchive packages ../incoming > Packages +cd .. +generatereleasefiles +signreleasefiles +setupflataptarchive +testsuccess apt update + +testsuccess apt install pkga pkgb -y +testdpkginstalled 'pkga' 'pkgb' + +rm -rf aptarchive incoming + +buildsimplenativepackage 'pkga' 'arm64,amd64' '2' 'unstable' 'Provides: pkgb +Breaks: pkgb (<< 1+) +Replaces: pkgb (<< 1+)' + +mkdir aptarchive +cd aptarchive +aptftparchive packages ../incoming > Packages +cd .. +generatereleasefiles +signreleasefiles +setupflataptarchive +testsuccess apt update + +#apt upgrade pkga -o Debug::pkgDpkgPm=1 -y -o Dpkg::use-pty=0 +rm -f rootdir/var/cache/apt/*.bin +testsuccess apt upgrade pkga -y +testdpkginstalled 'pkga' +testdpkgnotinstalled 'pkgb' diff --git a/test/integration/test-dpkg-assert-multi-arch b/test/integration/test-dpkg-assert-multi-arch new file mode 100755 index 0000000..a99f320 --- /dev/null +++ b/test/integration/test-dpkg-assert-multi-arch @@ -0,0 +1,104 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' + +buildsimplenativepackage 'native-pkg' 'amd64' '1.0' 'stable' +buildsimplenativepackage 'foreign-pkg' 'i386' '0.5' 'stable' 'Multi-Arch: foreign' +buildsimplenativepackage 'same-lib' 'amd64,i386' '0.5' 'stable' 'Multi-Arch: same' +buildsimplenativepackage 'all-pkg' 'all' '2.0' 'stable' +buildsimplenativepackage 'all-foreign-pkg' 'all' '2.0' 'stable' 'Multi-Arch: foreign' + +setupaptarchive + +testqualifier() { + msgtest 'Test with' $1 'for correct qualifier mode' $2 + #aptget install $1 -qq -o Debug::pkgDPkgPM=1 || true + aptget install $1 -qq -o Debug::pkgDPkgPM=1 -o Dpkg::ExplicitLastConfigure=1 -o PackageManager::Configure=all > testqualifier.output 2>&1 || true + GIVEN="$(grep -v -- '--unpack' testqualifier.output | sed -ne 's/^.*--[rpc][^ ]* \([^ ]*\).*$/\1/p')" + if [ "$GIVEN" = "$2" ]; then + msgpass + else + cat >&2 testqualifier.output + echo >&2 + echo >&2 "$GIVEN" + msgfail + fi +} + +msgmsg 'non-multiarch or "ubuntus" old multiarchified dpkg' +echo 'Dir::Bin::dpkg "./dpkg-wrapper";' > rootdir/etc/apt/apt.conf.d/99dpkgwrapper +cat > ./dpkg-wrapper <<EOF +#! /bin/sh +if echo "\$*" | grep -q -- "--assert-multi-arch"; then + echo >&2 'dpkg: Fehler: unbekannte Option --assert-multi-arch' + echo >&1 'dpkg: Info: unbekannte Option --assert-multi-arch' + exit 2 +fi +exec "\$@" +EOF +chmod +x ./dpkg-wrapper + +testqualifier 'native-pkg' 'native-pkg' +testqualifier 'native-pkg:amd64' 'native-pkg' +testqualifier 'foreign-pkg' 'foreign-pkg:i386' +testqualifier 'foreign-pkg:i386' 'foreign-pkg:i386' +testqualifier 'same-lib' 'same-lib' +testqualifier 'same-lib:amd64' 'same-lib' +testqualifier 'same-lib:i386' 'same-lib:i386' +testqualifier 'all-pkg' 'all-pkg' +testqualifier 'all-pkg:amd64' 'all-pkg' +testqualifier 'all-foreign-pkg' 'all-foreign-pkg' +testqualifier 'all-foreign-pkg:amd64' 'all-foreign-pkg' +insertinstalledpackage 'all-pkg' 'amd64' '1.0' +insertinstalledpackage 'all-foreign-pkg' 'amd64' '1.0' 'Multi-Arch: foreign' +testqualifier 'all-pkg' 'all-pkg' +testqualifier 'all-pkg:amd64' 'all-pkg' +testqualifier 'all-foreign-pkg' 'all-foreign-pkg' +testqualifier 'all-foreign-pkg:amd64' 'all-foreign-pkg' +insertinstalledpackage 'always-all-pkg' 'all' '1.0' +insertinstalledpackage 'always-all-foreign-pkg' 'all' '1.0' 'Multi-Arch: foreign' +testqualifier 'all-pkg-' 'all-pkg' +testqualifier 'all-foreign-pkg-' 'all-foreign-pkg' +testqualifier 'always-all-pkg-' 'always-all-pkg' +testqualifier 'always-all-foreign-pkg-' 'always-all-foreign-pkg' + +msgmsg 'multiarch dpkg (new interface version)' +rm rootdir/var/lib/dpkg/status +touch rootdir/var/lib/dpkg/status +echo 'Dir::Bin::dpkg "./dpkg-wrapper";' > rootdir/etc/apt/apt.conf.d/99dpkgwrapper +cat > ./dpkg-wrapper <<EOF +#! /bin/sh +if echo "\$*" | grep -q -- "--assert-multi-arch"; then + exit 0 +fi +exec "\$@" +EOF +chmod +x ./dpkg-wrapper + +testqualifier 'native-pkg' 'native-pkg:amd64' +testqualifier 'native-pkg:amd64' 'native-pkg:amd64' +testqualifier 'foreign-pkg' 'foreign-pkg:i386' +testqualifier 'foreign-pkg:i386' 'foreign-pkg:i386' +testqualifier 'same-lib' 'same-lib:amd64' +testqualifier 'same-lib:amd64' 'same-lib:amd64' +testqualifier 'same-lib:i386' 'same-lib:i386' +testqualifier 'all-pkg' 'all-pkg:all' +testqualifier 'all-pkg:amd64' 'all-pkg:all' +testqualifier 'all-foreign-pkg' 'all-foreign-pkg:all' +testqualifier 'all-foreign-pkg:amd64' 'all-foreign-pkg:all' +insertinstalledpackage 'all-pkg' 'amd64' '1.0' +insertinstalledpackage 'all-foreign-pkg' 'amd64' '1.0' 'Multi-Arch: foreign' +testqualifier 'all-pkg' 'all-pkg:all' +testqualifier 'all-pkg:amd64' 'all-pkg:all' +testqualifier 'all-foreign-pkg' 'all-foreign-pkg:all' +testqualifier 'all-foreign-pkg:amd64' 'all-foreign-pkg:all' +insertinstalledpackage 'always-all-pkg' 'all' '1.0' +insertinstalledpackage 'always-all-foreign-pkg' 'all' '1.0' 'Multi-Arch: foreign' +testqualifier 'all-pkg-' 'all-pkg:amd64' +testqualifier 'all-foreign-pkg-' 'all-foreign-pkg:amd64' +testqualifier 'always-all-pkg-' 'always-all-pkg:all' +testqualifier 'always-all-foreign-pkg-' 'always-all-foreign-pkg:all' diff --git a/test/integration/test-dpkg-i-apt-install-fix-broken b/test/integration/test-dpkg-i-apt-install-fix-broken new file mode 100755 index 0000000..0b75b5f --- /dev/null +++ b/test/integration/test-dpkg-i-apt-install-fix-broken @@ -0,0 +1,34 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +buildsimplenativepackage 'autopkgtest-satdep' 'amd64' '1' 'stable' 'Depends: debhelper-compat (= 12)' +buildsimplenativepackage 'debhelper' 'all' '1' 'stable' 'Provides: debhelper-compat (= 12)' + +setupaptarchive + +testfailure dpkg -i incoming/autopkgtest-*.deb +testsuccessequal 'Reading package lists... +Building dependency tree... +Correcting dependencies... MarkInstall autopkgtest-satdep:amd64 < 1 @iU K Nb Ib > FU=0 + MarkInstall debhelper:amd64 < none -> 1 @un uN > FU=0 +Starting pkgProblemResolver with broken count: 0 +Starting 2 pkgProblemResolver with broken count: 0 +Done + Done +Starting pkgProblemResolver with broken count: 0 +Starting 2 pkgProblemResolver with broken count: 0 +Done +The following additional packages will be installed: + debhelper +The following NEW packages will be installed: + debhelper +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +1 not fully installed or removed. +Inst debhelper (1 stable [all]) +Conf debhelper (1 stable [all]) +Conf autopkgtest-satdep (1 stable [amd64])' apt install -fso Debug::pkgProblemResolver=1 -o DEbug::pkgDepCache::Marker=1 diff --git a/test/integration/test-dpkg-normalization b/test/integration/test-dpkg-normalization new file mode 100755 index 0000000..cfcb90d --- /dev/null +++ b/test/integration/test-dpkg-normalization @@ -0,0 +1,44 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "i386" + +insertpackage 'unstable' 'spaces' 'i386' '1.0' 'Depends: spaces (= 1.0)' +insertpackage 'unstable' 'spaces' 'i386' '1.0' 'Depends: spaces (= 1.0)' +insertpackage 'unstable' 'lessequal' 'i386' '1.0' 'Depends: spaces (>= 1.0)' +insertpackage 'unstable' 'lessequal' 'i386' '1.0' 'Depends: spaces (> 1.0)' +insertpackage 'unstable' 'zero-epoch' 'i386' '1.0' 'Depends: spaces (< 0:1.0.0)' +insertpackage 'unstable' 'zero-epoch' 'i386' '1.0' 'Depends: spaces (< 1.0.0)' +insertpackage 'unstable' 'zero-epoch' 'i386' '0:1.0' 'Depends: spaces (< 0:1.0.0)' + +setupaptarchive + +testsuccessequal "spaces: + Installed: (none) + Candidate: 1.0 + Version table: + 1.0 500 + 500 file:$TMPWORKINGDIRECTORY/aptarchive unstable/main i386 Packages + 500 file:$TMPWORKINGDIRECTORY/aptarchive unstable/main i386 Packages" aptcache policy spaces + +testsuccessequal "lessequal: + Installed: (none) + Candidate: 1.0 + Version table: + 1.0 500 + 500 file:$TMPWORKINGDIRECTORY/aptarchive unstable/main i386 Packages + 500 file:$TMPWORKINGDIRECTORY/aptarchive unstable/main i386 Packages" aptcache policy lessequal + + + +testsuccessequal "zero-epoch: + Installed: (none) + Candidate: 1.0 + Version table: + 1.0 500 + 500 file:$TMPWORKINGDIRECTORY/aptarchive unstable/main i386 Packages + 500 file:$TMPWORKINGDIRECTORY/aptarchive unstable/main i386 Packages + 500 file:$TMPWORKINGDIRECTORY/aptarchive unstable/main i386 Packages" aptcache policy zero-epoch diff --git a/test/integration/test-dpkg-path b/test/integration/test-dpkg-path new file mode 100755 index 0000000..b17b594 --- /dev/null +++ b/test/integration/test-dpkg-path @@ -0,0 +1,35 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'native' +configdpkgnoopchroot + +# create a bunch of test pkgs +createtestpkg() { + setupsimplenativepackage "testpkg-$1" 'native' '1.0' 'unstable' + BUILDDIR="incoming/testpkg-$1-1.0" + echo '#!/bin/sh +echo PATH=$PATH' > "${BUILDDIR}/debian/preinst" + buildpackage "$BUILDDIR" 'unstable' 'main' 'native' + rm -rf "$BUILDDIR" +} + +createtestpkg 'one' +createtestpkg 'two' + +setupaptarchive + + +# Inherit from environment +testsuccess aptget install testpkg-one -y -o DPkg::Path="" +cp rootdir/tmp/testsuccess.output apt.log +testsuccess grep "PATH=$PATH" apt.log + +# Set a custom value +testsuccess aptget install testpkg-two -y -o DPkg::Path="foobar:$PATH" +cp rootdir/tmp/testsuccess.output apt.log +testsuccess grep "PATH=foobar:$PATH" apt.log diff --git a/test/integration/test-dpkg-protected b/test/integration/test-dpkg-protected new file mode 100755 index 0000000..3d0994d --- /dev/null +++ b/test/integration/test-dpkg-protected @@ -0,0 +1,20 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertinstalledpackage 'protected-package' 'native' '1' 'Protected: yes' + +setupaptarchive + + +if dpkg --assert-protected-field 2>/dev/null; then + testsuccess aptget remove protected-package "$@" -o Debug::pkgDpkgPm=1 -y --allow-remove-essential + cp rootdir/tmp/testsuccess.output rootdir/tmp/output + testsuccess grep -- '--force-remove-protected' rootdir/tmp/output +else + msgskip "dpkg does not support protected field" +fi diff --git a/test/integration/test-essential-force-loopbreak b/test/integration/test-essential-force-loopbreak new file mode 100755 index 0000000..086627e --- /dev/null +++ b/test/integration/test-essential-force-loopbreak @@ -0,0 +1,122 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'native' + +insertinstalledpackage 'sysvinit' 'native' '1' 'Essential: yes' + +buildsimplenativepackage 'sysvinit' 'native' '2' 'sid' 'Pre-Depends: sysvinit-core | systemd-sysv +Essential: yes' +buildsimplenativepackage 'sysvinit-core' 'native' '2' 'sid' + +buildsimplenativepackage 'systemd-sysv' 'native' '2~conflict' 'sid-conflict' 'Conflicts: sysvinit (<< 2) +Breaks: sysvinit-core' + +buildsimplenativepackage 'systemd-sysv' 'native' '2~break' 'sid-break' 'Breaks: sysvinit (<< 2), sysvinit-core' + +# one more time, with Protected +insertinstalledpackage 'protected-sysvinit' 'native' '1' 'Protected: yes' + +buildsimplenativepackage 'protected-sysvinit' 'native' '2' 'sid' 'Pre-Depends: protected-sysvinit-core | protected-systemd-sysv +Protected: yes' +buildsimplenativepackage 'protected-sysvinit-core' 'native' '2' 'sid' + +buildsimplenativepackage 'protected-systemd-sysv' 'native' '2~conflict' 'sid-conflict' 'Conflicts: protected-sysvinit (<< 2) +Breaks: protected-sysvinit-core' + +buildsimplenativepackage 'protected-systemd-sysv' 'native' '2~break' 'sid-break' 'Breaks: protected-sysvinit (<< 2), protected-sysvinit-core' + + +setupaptarchive + +cp -a rootdir/var/lib/dpkg/status dpkg.status.backup + +testforcebreak() { + package="sid-$1" + prefix="$2" + cp -a dpkg.status.backup rootdir/var/lib/dpkg/status + rm -f rootdir/var/lib/apt/extended_states + testfailureequal "Reading package lists... +Building dependency tree... +The following additional packages will be installed: + ${prefix}sysvinit +The following NEW packages will be installed: + ${prefix}systemd-sysv +The following packages will be upgraded: + ${prefix}sysvinit +1 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. +E: This installation run will require temporarily removing the essential package ${prefix}sysvinit:$(getarchitecture 'native') due to a Conflicts/Pre-Depends loop. This is often bad, but if you really want to do it, activate the APT::Force-LoopBreak option. +E: Internal Error, Could not early remove ${prefix}sysvinit:$(dpkg --print-architecture) (2)" aptget install ${prefix}systemd-sysv -t "$package" -s + # ensure that really nothing happens + testfailure aptget install ${prefix}systemd-sysv -y -t "$package" + testdpkginstalled "${prefix}sysvinit" + testdpkgnotinstalled "${prefix}systemd-sysv" + + # with enough force however … + cp -a dpkg.status.backup rootdir/var/lib/dpkg/status + testsuccess aptget install ${prefix}systemd-sysv -y -t "$package" -o APT::Force-LoopBreak=1 -o Debug::pkgDpkgPm=1 + cp rootdir/tmp/testsuccess.output apt.output + if [ "$prefix" = "protected-" ]; then + testsuccess grep -- "--force-remove-protected --remove ${prefix}sysvinit" apt.output + else + testsuccess grep -- "--force-remove-essential --remove ${prefix}sysvinit" apt.output + fi + testsuccess aptget install ${prefix}systemd-sysv -y -t "$package" -o APT::Force-LoopBreak=1 + testdpkginstalled "${prefix}sysvinit" "${prefix}systemd-sysv" +} + +testnoforcebreak() { + package="sid-$1" + prefix="$2" + cp -a dpkg.status.backup rootdir/var/lib/dpkg/status + rm -f rootdir/var/lib/apt/extended_states + testequalor2 "Reading package lists... +Building dependency tree... +The following additional packages will be installed: + ${prefix}sysvinit +The following NEW packages will be installed: + ${prefix}systemd-sysv +The following packages will be upgraded: + ${prefix}sysvinit +1 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. +Inst ${prefix}systemd-sysv (2~$1 sid-$1 [$(getarchitecture 'native')]) [${prefix}systemd-sysv:$(getarchitecture 'native') on ${prefix}sysvinit:$(getarchitecture 'native')] [] +Conf ${prefix}systemd-sysv:$(getarchitecture 'native') broken + Breaks:${prefix}sysvinit:$(getarchitecture 'native') + [] +Inst ${prefix}sysvinit [1] (2 sid [$(getarchitecture 'native')]) +Conf ${prefix}sysvinit (2 sid [$(getarchitecture 'native')]) +E: Conf Broken ${prefix}systemd-sysv:$(getarchitecture 'native')" "Reading package lists... +Building dependency tree... +The following additional packages will be installed: + ${prefix}sysvinit +The following NEW packages will be installed: + ${prefix}systemd-sysv +The following packages will be upgraded: + ${prefix}sysvinit +1 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. +Remv ${prefix}sysvinit [1] +Inst ${prefix}systemd-sysv (2~conflict sid-conflict [$(getarchitecture 'native')]) +Conf ${prefix}systemd-sysv (2~conflict sid-conflict [$(getarchitecture 'native')]) +Inst ${prefix}sysvinit [1] (2 sid [$(getarchitecture 'native')]) +Conf ${prefix}sysvinit (2 sid [$(getarchitecture 'native')])" aptget install ${prefix}systemd-sysv -t "sid-$1" -s + + # we check with 'real' packages here as the simulation reports a 'Conf broken' + cp -a dpkg.status.backup rootdir/var/lib/dpkg/status + testsuccess aptget install ${prefix}systemd-sysv -y -t "$package" -o Debug::pkgDpkgPm=1 + cp rootdir/tmp/testsuccess.output apt.output + testsuccess grep -- "--unpack --auto-deconfigure" apt.output + testfailure grep -- "--remove" apt.output + testfailure grep -- "--force-remove" apt.output + testsuccess aptget install ${prefix}systemd-sysv -y -t "$package" + testdpkginstalled "${prefix}sysvinit" "${prefix}systemd-sysv" +} + +testforcebreak 'conflict' +testnoforcebreak 'break' + +testforcebreak 'conflict' 'protected-' +testnoforcebreak 'break' 'protected-' diff --git a/test/integration/test-explore-or-groups-in-markinstall b/test/integration/test-explore-or-groups-in-markinstall new file mode 100755 index 0000000..fe7e998 --- /dev/null +++ b/test/integration/test-explore-or-groups-in-markinstall @@ -0,0 +1,164 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertpackage 'unstable' 'okay' 'all' '1' +insertpackage 'unstable' 'upgrade' 'all' '2' +insertpackage 'unstable' 'unneeded' 'all' '1' +insertpackage 'unstable' 'unneeded2' 'all' '1' 'Depends: bad-level1' +insertpackage 'unstable' 'later' 'all' '1' + +insertpackage 'unstable' 'bad-level0' 'all' '1' 'Depends: unneeded, unknown' +insertpackage 'unstable' 'bad-level1' 'all' '1' 'Depends: bad-level0' +insertpackage 'unstable' 'bad-upgrade-level0' 'all' '2' 'Depends: unneeded, unknown' +insertpackage 'unstable' 'bad-upgrade-level1' 'all' '2' 'Depends: bad-upgrade-level0 (>= 2), unneeded2' +insertpackage 'unstable' 'bad-conflict-level0' 'all' '1' 'Depends: unneeded +Conflicts: bad-conflict-level2' +insertpackage 'unstable' 'bad-conflict-level1' 'all' '1' 'Depends: bad-conflict-level0' +insertpackage 'unstable' 'bad-conflict-level2' 'all' '1' 'Depends: bad-conflict-level1, unneeded2' + +insertinstalledpackage 'upgrade' 'all' '1' +insertinstalledpackage 'bad-upgrade' 'all' '1' +insertinstalledpackage 'bad-upgrade-level0' 'all' '1' +insertinstalledpackage 'bad-upgrade-level1' 'all' '1' + +insertfoos() { + insertpackage 'unstable' "foo-${1}-level0" 'all' '1' "${2}: unknown | unknown | okay | later" + insertpackage 'unstable' "foo-${1}-level1" 'all' '1' "${2}: bad-level0 | bad-level0 | okay | later" + insertpackage 'unstable' "foo-${1}-level2" 'all' '1' "${2}: bad-level1 | bad-level1 | okay | later" + + insertpackage 'unstable' "foo-${1}-upgrade-level0" 'all' '1' "${2}: bad-upgrade (>= 2) | okay | upgrade (>= 2) | later" + insertpackage 'unstable' "foo-${1}-upgrade-level1" 'all' '1' "${2}: bad-upgrade-level0 (>= 2) | bad-upgrade-level0 (>= 2) | bad-level0 | okay | upgrade (>= 2) | later" + insertpackage 'unstable' "foo-${1}-upgrade-level2" 'all' '1' "${2}: bad-upgrade-level1 (>= 2) | bad-upgrade-level1 (>= 2) | bad-level1 | okay | upgrade (>= 2) | later" + + insertpackage 'unstable' "foo-${1}-conflict" 'all' '1' "${2}: unknown | bad-conflict-level2 | okay | later" +} +insertfoos 'd' 'Depends' +insertfoos 'r' 'Recommends' + +setupaptarchive + +_testsuccessheadtailequal() { + local TYPE="$1" + shift + msggroup "testsuccess${TYPE}equal" + local HEADLINES="$1" + local CMP="$2" + shift 2 + testsuccesswithglobalerror 'testsuccess' 'EW' "$@" + cp "${TMPWORKINGDIRECTORY}/rootdir/tmp/testsuccess.output" "${TMPWORKINGDIRECTORY}/rootdir/tmp/testsuccess${TYPE}equal.output" + testsuccessequal "$CMP" "${TYPE}" -n "$HEADLINES" "${TMPWORKINGDIRECTORY}/rootdir/tmp/testsuccess${TYPE}equal.output" + msggroup +} +testsuccessheadequal() { + _testsuccessheadtailequal 'head' "$@" +} +testsuccesstailequal() { + _testsuccessheadtailequal 'tail' "$@" +} +checkfoos() { + msgmsg 'Install checks with foos dependency type' "$2" + for level in 0 1 2; do + testsuccessheadequal 7 "Reading package lists... +Building dependency tree... +The following additional packages will be installed: + okay +The following NEW packages will be installed: + foo-${1}-level${level} okay +0 upgraded, 2 newly installed, 0 to remove and 3 not upgraded." apt install foo-${1}-level${level} -s + testsuccessheadequal 9 "Reading package lists... +Building dependency tree... +The following additional packages will be installed: + upgrade +The following NEW packages will be installed: + foo-${1}-upgrade-level${level} +The following packages will be upgraded: + upgrade +1 upgraded, 1 newly installed, 0 to remove and 2 not upgraded." apt install foo-${1}-upgrade-level${level} -s + done + + testsuccessheadequal 7 "Reading package lists... +Building dependency tree... +The following additional packages will be installed: + okay +The following NEW packages will be installed: + foo-${1}-conflict okay +0 upgraded, 2 newly installed, 0 to remove and 3 not upgraded." apt install foo-${1}-conflict -s +} +checkfoos 'd' 'Depends' +checkfoos 'r' 'Recommends' + +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following NEW packages will be installed: + foo-d-upgrade-level2 (1) +The following packages have been kept back: + bad-upgrade-level0 (1 => 2) + bad-upgrade-level1 (1 => 2) +The following packages will be upgraded: + upgrade (1 => 2) +1 upgraded, 1 newly installed, 0 to remove and 2 not upgraded. +Inst upgrade [1] (2 unstable [all]) +Inst foo-d-upgrade-level2 (1 unstable [all]) +Conf upgrade (2 unstable [all]) +Conf foo-d-upgrade-level2 (1 unstable [all])' apt full-upgrade foo-d-upgrade-level2 -sV + +TEST_WITH_APTITUDE=false +msgtest 'Check if aptitude is available for additional tests' +if dpkg-checkbuilddeps -d 'aptitude' /dev/null >/dev/null 2>&1; then + TEST_WITH_APTITUDE=true + # we don't document aptitude config options + sed -i -e '/^#x-apt-configure-index/ d' "$(getaptconfig)" + msgpass +else + msgskip 'not installed' +fi + +if $TEST_WITH_APTITUDE; then + OKAYAPTITUDE='0 packages upgraded, 2 newly installed, 0 to remove and 3 not upgraded. +Need to get 0 B/84 B of archives. After unpacking 86.0 kB will be used. +Would download/install/remove packages.' + testsuccesstailequal 3 "$OKAYAPTITUDE" aptitude install foo-d-level2 -sy + testsuccesstailequal 3 "$OKAYAPTITUDE" aptitude install foo-r-level2 -sy + testsuccesstailequal 3 "$OKAYAPTITUDE" aptitude install foo-d-conflict -sy + testsuccesstailequal 3 "$OKAYAPTITUDE" aptitude install foo-r-conflict -sy +fi + +BADSOLVETEXT='Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: +' + +testfailureequal "$BADSOLVETEXT +The following packages have unmet dependencies: + bad-level0 : Depends: unknown but it is not installable + bad-upgrade-level0 : Depends: unknown but it is not installable +E: Unable to correct problems, you have held broken packages." apt install bad-upgrade-level1 -s +testfailureequal "$BADSOLVETEXT +The following packages have unmet dependencies: + bad-conflict-level0 : Conflicts: bad-conflict-level2 but 1 is to be installed + bad-level0 : Depends: unknown but it is not installable +E: Unable to correct problems, you have held broken packages." apt install bad-conflict-level2 -s + +if $TEST_WITH_APTITUDE; then + testsuccesstailequal 6 'The following packages have been kept back: + bad-upgrade-level1 +No packages will be installed, upgraded, or removed. +0 packages upgraded, 0 newly installed, 0 to remove and 3 not upgraded. +Need to get 0 B of archives. After unpacking 0 B will be used. +Would download/install/remove packages.' aptitude install bad-upgrade-level1 -sy + # aptitude does not show the kept back message in this case… + testsuccesstailequal 4 'No packages will be installed, upgraded, or removed. +0 packages upgraded, 0 newly installed, 0 to remove and 3 not upgraded. +Need to get 0 B of archives. After unpacking 0 B will be used. +Would download/install/remove packages.' aptitude install bad-conflict-level2 -sy +fi diff --git a/test/integration/test-external-dependency-solver-protocol b/test/integration/test-external-dependency-solver-protocol new file mode 100755 index 0000000..485a770 --- /dev/null +++ b/test/integration/test-external-dependency-solver-protocol @@ -0,0 +1,319 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' + +insertinstalledpackage 'cool' 'all' '1' +insertinstalledpackage 'stuff' 'all' '1' +insertinstalledpackage 'somestuff' 'all' '1' 'Depends: cool, stuff' + +insertpackage 'unstable' 'cool' 'all' '2' 'Multi-Arch: foreign' +insertpackage 'unstable' 'stuff' 'all' '2' 'Multi-Arch: foreign' +insertpackage 'unstable' 'coolstuff' 'i386,amd64' '2' 'Depends: cool, stuff' +insertpackage 'unstable' 'awesome' 'all' '2' 'Multi-Arch: foreign +Conflicts: badstuff' +insertpackage 'unstable' 'badstuff' 'all' '2' 'Multi-Arch: foreign +Conflicts: awesome' +insertpackage 'unstable' 'awesomecoolstuff' 'i386' '2' 'Depends: coolstuff, awesome' + +insertpackage 'experimental' 'cool' 'all' '3' 'Multi-Arch: foreign' +insertpackage 'experimental' 'stuff' 'all' '3' 'Multi-Arch: foreign' +insertpackage 'experimental' 'coolstuff' 'i386,amd64' '3' 'Depends: cool, stuff' + +setupaptarchive + +testsuccess aptget install --solver apt coolstuff -s +testempty find . -name 'edsp.last.*' +echo 'Dir::Log::Solver "edsp.last.xz";' > rootdir/etc/apt/apt.conf.d/log-edsp.conf + +testfailure aptget install --solver dump coolstuff -s +testsuccess grep 'ERR_NO_FILENAME' rootdir/tmp/testfailure.output +testfailure test -s rootdir/var/log/apt/edsp.last.xz +export APT_EDSP_DUMP_FILENAME="/nonexistent/apt/edsp.dump" +testfailure aptget install --solver dump coolstuff -s +testsuccess grep 'ERR_CREATE_FILE' rootdir/tmp/testfailure.output +testfailure test -s rootdir/var/log/apt/edsp.last.xz +export APT_EDSP_DUMP_FILENAME="${TMPWORKINGDIRECTORY}/downloaded/dump.edsp" + +testfailureequal 'Reading package lists... +Building dependency tree... +Execute external solver... +The solver encountered an error of type: ERR_JUST_DUMPING +The following information might help you to understand what is wrong: +I am too dumb, i can just dump! +Please use one of my friends instead! + +E: External solver failed with: I am too dumb, i can just dump!' aptget install --solver dump coolstuff -s +testfailure test -s rootdir/var/log/apt/edsp.last.xz +testsuccess test -s "$APT_EDSP_DUMP_FILENAME" + +testsuccessequal 'Reading package lists... +Building dependency tree... +Execute external solver... +The following NEW packages will be installed: + coolstuff +0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded. +Inst coolstuff (2 unstable [amd64]) +Conf coolstuff (2 unstable [amd64])' aptget install --solver apt coolstuff -s +testsuccess test -s rootdir/var/log/apt/edsp.last.xz +sed -i -e 's#^Solver: dump$#Solver: apt#' "$APT_EDSP_DUMP_FILENAME" +testequal "$(cat "$APT_EDSP_DUMP_FILENAME") +" apthelper cat-file rootdir/var/log/apt/edsp.last.xz +cp rootdir/var/log/apt/edsp.last.xz rootdir/var/log/apt/edsp.last.xz.1 +rm -f "$APT_EDSP_DUMP_FILENAME" + +testsuccessequal 'Reading package lists... +Building dependency tree... +Execute external solver... +The following NEW packages will be installed: + coolstuff +0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded. +Inst coolstuff (3 experimental [amd64]) +Conf coolstuff (3 experimental [amd64])' aptget install --solver apt coolstuff -s -t experimental +testfailure cmp rootdir/var/log/apt/edsp.last.xz rootdir/var/log/apt/edsp.last.xz.1 + +testsuccessequal "Reading package lists... +Building dependency tree... +Selected version '3' (experimental [amd64]) for 'coolstuff' +Execute external solver... +The following NEW packages will be installed: + coolstuff +0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded. +Inst coolstuff (3 experimental [amd64]) +Conf coolstuff (3 experimental [amd64])" aptget install --solver apt coolstuff/experimental -sq=0 + +testsuccessequal 'Reading package lists... +Building dependency tree... +Execute external solver... +The following NEW packages will be installed: + coolstuff +0 upgraded, 1 newly installed, 0 to remove and 2 not upgraded. +Inst coolstuff (3 experimental [amd64]) +Conf coolstuff (3 experimental [amd64])' aptget install --solver apt coolstuff=3 -sq=0 + +testsuccessequal 'Reading package lists... +Building dependency tree... +Execute external solver... +The following packages will be REMOVED: + somestuff +0 upgraded, 0 newly installed, 1 to remove and 2 not upgraded. +Remv somestuff [1]' aptget autoremove --solver apt somestuff -s +testsuccess aptmark auto cool stuff +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +Execute external solver... +The following packages will be REMOVED: + cool somestuff stuff +0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. +Remv somestuff [1] +Remv cool [1] +Remv stuff [1]' aptget autoremove --solver apt somestuff -s + +AUTOREMOVE='apt autoremove' +if [ -n "$SUDO_USER" ]; then + AUTOREMOVE="sudo $AUTOREMOVE" +fi +testsuccessequal "Reading package lists... +Building dependency tree... +Reading state information... +Execute external solver... +The following package was automatically installed and is no longer required: + stuff +Use '$AUTOREMOVE' to remove it. +The following packages will be REMOVED: + cool* somestuff* +0 upgraded, 0 newly installed, 2 to remove and 1 not upgraded. +Purg somestuff [1] +Purg cool [1]" aptget purge --solver apt cool -s + +testsuccess aptget install awesomecoolstuff:i386 -s +testsuccess aptget install --solver apt awesomecoolstuff:i386 -s + +rm -f "$APT_EDSP_DUMP_FILENAME" +testfailure aptget install --solver dump awesomecoolstuff:i386 -s +testsuccess test -s "$APT_EDSP_DUMP_FILENAME" +testequal 'Install: awesomecoolstuff:i386' grep :i386 "$APT_EDSP_DUMP_FILENAME" +testfailure grep -e ':amd64' -e 'Architecture: any' "$APT_EDSP_DUMP_FILENAME" + +testsuccess aptget dist-upgrade -s +testsuccess aptget dist-upgrade -s --solver apt + +testsuccess aptget upgrade -s +testsuccess aptget upgrade -s --solver apt + +testfailure aptget install awesome badstuff -s +testfailure aptget install awesome badstuff -s --solver apt +testsuccess grep 'ERR_UNSOLVABLE' rootdir/tmp/testfailure.output +msgtest 'A resolving error is format as' 'valid parseable EDSP error' +if dpkg-checkbuilddeps -d 'dctrl-tools' /dev/null >/dev/null 2>&1; then + if apthelper cat-file rootdir/var/log/apt/edsp.last.xz | aptinternalsolver > solver.result 2>&1; then + testsuccess --nomsg grep-dctrl -FError ERR -- solver.result + else + msgfail + fi +else + msgskip 'dctrl-tools not installed' +fi +configarchitecture 'armel' +testfailure aptget install --solver apt awesomecoolstuff:i386 -s +msgtest 'An invalid EDSP file generates a' 'hard error' +if printf "%b\n" "Request: This is a test\nFoo: bar\n\n" | aptinternalsolver > solver.result 2>&1; then + cat solver.result + msgfail +else + msgpass +fi +msgtest 'Test direct calling is okay for' 'apt-internal-solver' +cat "$APT_EDSP_DUMP_FILENAME" | aptinternalsolver > solver.result 2>&1 || true +if [ "$(tail -n2 solver.result | head -n1 )" = "Message: Done" ]; then + msgpass +else + cat solver.result + msgfail +fi +testsuccess grep '^APT-ID: 1$' "$APT_EDSP_DUMP_FILENAME" +sed -i -e 's#^APT-ID: 1$#APT-ID: 10000#' "$APT_EDSP_DUMP_FILENAME" +cat "$APT_EDSP_DUMP_FILENAME" | aptinternalsolver > solver.result 2>&1 || true +testsuccessequal 'Message: Done +' tail -n2 solver.result +rm -f "$APT_EDSP_DUMP_FILENAME" + +testsuccess aptinternalsolver scenario +testsuccessequal 'Package: stuff +Architecture: all +Version: 3 +APT-ID: 1 +Multi-Arch: foreign +Source: stuff +Source-Version: 3 +Priority: optional +Section: other +APT-Release: + a=experimental,n=experimental,c=main,b=all +APT-Pin: 1 + +Package: stuff +Architecture: all +Version: 2 +APT-ID: 3 +Multi-Arch: foreign +Source: stuff +Source-Version: 2 +Priority: optional +Section: other +APT-Release: + a=unstable,n=sid,c=main,b=all +APT-Pin: 500 +APT-Candidate: yes + +Package: stuff +Architecture: all +Version: 1 +APT-ID: 7 +Source: stuff +Source-Version: 1 +Priority: optional +Section: other +Installed: yes +APT-Pin: 100 +' aptinternalsolver scenario stuff + +cat > rootdir/usr/lib/apt/solvers/explicitremove << EOF +#!/bin/sh +set -e +while read line; do + if [ "APT-ID" = "\${line%:*}" ]; then + cat << APT +Install: \${line#*:} + +Remove: \${line#*:} + +APT + fi +done +EOF +chmod +x rootdir/usr/lib/apt/solvers/explicitremove +testfailure apt full-upgrade -s --solver explicitremove +testsuccess grep 'had a previous stanza' rootdir/tmp/testfailure.output + +cat > rootdir/usr/lib/apt/solvers/removeall << EOF +#!/bin/sh +set -e +while read line; do + if [ "APT-ID" = "\${line%:*}" ]; then + cat << APT +Remove: \${line#*:} + +APT + fi +done +EOF +chmod +x rootdir/usr/lib/apt/solvers/removeall +testwarning apt full-upgrade -s --solver removeall +testsuccess grep "which isn't installed!" rootdir/tmp/testwarning.output + +cat > rootdir/usr/lib/apt/solvers/installall << EOF +#!/bin/sh +set -e +while read line; do + if [ "APT-ID" = "\${line%:*}" ]; then + cat << APT +Install: \${line#*:} + +APT + fi +done +EOF +chmod +x rootdir/usr/lib/apt/solvers/installall +testfailure apt full-upgrade -s --solver installall +testsuccess grep "is already installed!" rootdir/tmp/testfailure.output + +testsolverfailuremsg() { + local SOLVER="rootdir/usr/lib/apt/solvers/$1" + echo "$2" > "$SOLVER" + chmod +x "$SOLVER" + testfailuremsg "$3" apt full-upgrade -s --solver $1 +} + +testsolverfailuremsg 'exit0withmsg' "#!/bin/sh +echo 'Error: instant-exit +Message: This solver exits instantly' +exit 0" 'E: External solver failed with: This solver exits instantly' + +testsolverfailuremsg 'exit1withoutmsg' "#!/bin/sh +exit 1" 'E: Sub-process exit1withoutmsg returned an error code (1)' + +testsolverfailuremsg 'exit1withmsg' "#!/bin/sh +echo 'Error: instant-exit +Message: This solver exits instantly' +exit 1" 'E: External solver failed with: This solver exits instantly +E: Sub-process exit1withmsg returned an error code (1)' + +configarchitecture 'amd64' 'i386' +for arch in 'amd64' 'i386' 'armel' 'armhf'; do + insertinstalledpackage "dummy-httpd-$arch" "$arch" '1' 'Provides: httpd' +done +buildsimplenativepackage 'dummy-webserver' 'all' '1' 'unstable' 'Provides: httpd +Multi-Arch: foreign' +testfailure apt install -s dummy-webserver +testsuccess apt install -s ./incoming/dummy-webserver_1_all.deb +testsuccess apt install -s ./incoming/dummy-webserver_1_all.deb --solver apt +testfailure apt install -s ./incoming/dummy-webserver_1_all.deb --solver dump + +testsuccess aptcache showpkg dummy-webserver --with-source ./incoming/dummy-webserver_1_all.deb +cp -a rootdir/tmp/testsuccess.output showpkg.output +testequal 'Reverse Depends: +Dependencies: +1 - +Provides: +1 - ./incoming/dummy-webserver_1_all.deb (= 1) httpd:armhf (= ) httpd:armel (= ) httpd:i386 (= ) httpd (= ) +Reverse Provides: ' tail -n 6 showpkg.output +testsuccessequal 'Provides: httpd +Provides: httpd +Provides: httpd +Provides: httpd +Provides: httpd' grep 'Provides:' "$APT_EDSP_DUMP_FILENAME" diff --git a/test/integration/test-external-installation-planner-protocol b/test/integration/test-external-installation-planner-protocol new file mode 100755 index 0000000..192f21b --- /dev/null +++ b/test/integration/test-external-installation-planner-protocol @@ -0,0 +1,93 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +buildsimplenativepackage 'libfoo' 'amd64' '3' 'experimental' 'Multi-Arch: same' +buildsimplenativepackage 'foo' 'all' '3' 'experimental' 'Depends: newstuff' +buildsimplenativepackage 'foo' 'all' '2' 'unstable' 'Depends: libfoo:amd64, stuff +Conflicts: bar, libfoo:i386 +Recommends: unrelated' +buildsimplenativepackage 'libfoo' 'amd64' '2' 'unstable' 'Multi-Arch: same' +buildsimplenativepackage 'unrelated-2' 'amd64' '2' 'unstable' +insertinstalledpackage 'foo' 'all' '1' +insertinstalledpackage 'bar' 'all' '1' +insertinstalledpackage 'stuff' 'all' '1' +insertinstalledpackage 'unrelated-1' 'all' '1' + +setupaptarchive --no-update + +EIPPLOG="${TMPWORKINGDIRECTORY}/rootdir/var/log/apt/eipp.log" +echo "Dir::Log::Planner \"$EIPPLOG\";" > ./rootdir/etc/apt/apt.conf.d/eipp-logging + +testsuccess apt update +export APT_EDSP_DUMP_FILENAME="${TMPWORKINGDIRECTORY}/downloaded/dump.eipp" +testfailure test -r "$EIPPLOG" +testfailure aptget install foo --planner dump -y +testfailure test -r "$EIPPLOG" +testfailure grep 'unrelated-2' "$APT_EDSP_DUMP_FILENAME" +testsuccessequal '2' grep -c '^Package: foo$' "$APT_EDSP_DUMP_FILENAME" +testsuccessequal '1' grep -c '^Package: libfoo$' "$APT_EDSP_DUMP_FILENAME" +testsuccessequal 'Planner: dump' grep '^Planner: ' "$APT_EDSP_DUMP_FILENAME" + +testsuccess aptget install foo -s +testsuccess aptget install foo -y +testsuccess test -r "$EIPPLOG" +testsuccessequal 'Request: EIPP 0.1 +Architecture: amd64 +Architectures: amd64 +Remove: bar:amd64 +Install: foo:amd64 libfoo:amd64 +Planner: internal' head -n 6 "$EIPPLOG" +aptinternalplanner < "$EIPPLOG" > planner.log || true +testsuccessequal 'Remove: 6 +Unpack: 2 +Unpack: 4' grep -e '^Unpack:' -e '^Install:' -e '^Configure:' -e '^Remove:' planner.log + +rm -f "$EIPPLOG" +testsuccess aptget install foo -s --reinstall +testsuccess aptget install foo -y --reinstall +testsuccess test -r "$EIPPLOG" +testsuccessequal 'Request: EIPP 0.1 +Architecture: amd64 +Architectures: amd64 +ReInstall: foo:amd64 +Planner: internal' head -n 5 "$EIPPLOG" +aptinternalplanner < "$EIPPLOG" > planner.log || true +testsuccessequal 'Unpack: 4' grep -e '^Unpack:' -e '^Install:' -e '^Configure:' -e '^Remove:' planner.log + +rm -f "$EIPPLOG" +testsuccess aptget purge foo -s +testsuccess aptget purge foo -y +testsuccess test -r "$EIPPLOG" +testsuccessequal 'Request: EIPP 0.1 +Architecture: amd64 +Architectures: amd64 +Remove: foo:amd64 +Planner: internal' head -n 5 "$EIPPLOG" +aptinternalplanner < "$EIPPLOG" > planner.log || true +testsuccessequal 'Remove: 4' grep -e '^Unpack:' -e '^Install:' -e '^Configure:' -e '^Remove:' planner.log + +testplannerfailuremsg() { + local PLANNER="rootdir/usr/lib/apt/planners/$1" + echo "$2" > "$PLANNER" + chmod +x "$PLANNER" + testfailuremsg "$3" apt install foo -s --planner $1 +} + +testplannerfailuremsg 'exit0withmsg' "#!/bin/sh +echo 'Error: instant-exit +Message: This planner exits instantly' +exit 0" 'E: External planner failed with: This planner exits instantly' + +testplannerfailuremsg 'exit1withoutmsg' "#!/bin/sh +exit 1" 'E: Sub-process exit1withoutmsg returned an error code (1)' + +testplannerfailuremsg 'exit1withmsg' "#!/bin/sh +echo 'Error: instant-exit +Message: This planner exits instantly' +exit 1" 'E: External planner failed with: This planner exits instantly +E: Sub-process exit1withmsg returned an error code (1)' diff --git a/test/integration/test-failing-maintainer-scripts b/test/integration/test-failing-maintainer-scripts new file mode 100755 index 0000000..c2d6316 --- /dev/null +++ b/test/integration/test-failing-maintainer-scripts @@ -0,0 +1,90 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'native' +configdpkgnoopchroot + +# create a bunch of failures +createfailure() { + setupsimplenativepackage "failure-$1" 'native' '1.0' 'unstable' 'Depends: dependee' + BUILDDIR="incoming/failure-$1-1.0" + echo '#!/bin/sh +exit 29' > "${BUILDDIR}/debian/$1" + buildpackage "$BUILDDIR" 'unstable' 'main' 'native' + rm -rf "$BUILDDIR" +} + +buildsimplenativepackage 'dependee' 'native' '1.0' 'unstable' +createfailure 'preinst' +createfailure 'postinst' +createfailure 'prerm' +createfailure 'postrm' + +setupaptarchive + +# setup some pre- and post- invokes to check the output isn't garbled later +APTHOOK="${TMPWORKINGDIRECTORY}/rootdir/usr/bin/apthook" +echo '#!/bin/sh +echo "$1: START" +echo "$1: MaiN" +echo "$1: ENd"' > "$APTHOOK" +chmod +x "$APTHOOK" +echo "DPKG::Pre-Invoke:: \"${APTHOOK} PRE\"; +DPKG::Post-Invoke:: \"${APTHOOK} POST\";" > rootdir/etc/apt/apt.conf.d/99apthooks + +testmyfailure() { + local PROGRESS='rootdir/tmp/progress.log' + exec 3> "$PROGRESS" + testfailure "$@" -o APT::Status-Fd=3 + msgtest 'Test for failure message of maintainerscript in' 'console log' + local TEST='rootdir/tmp/testfailure.output' + if grep -q 'exit status 29' "$TEST"; then + msgpass + else + cat "$TEST" + msgfail + fi + msgtest 'Test for proper execution of invoke scripts in' 'console log' + if grep -q '^PRE: START$' "$TEST" && + grep -q '^PRE: MaiN$' "$TEST" && + grep -q '^PRE: ENd$' "$TEST" && + grep -q '^POST: START$' "$TEST" && + grep -q '^POST: MaiN$' "$TEST" && + grep -q '^POST: ENd$' "$TEST"; then + msgpass + else + cat "$TEST" + msgfail + fi + msgtest 'Test for failure message of maintainerscript in' 'progress log' + if grep -q '^pmerror:.\+exit status 29$' "$PROGRESS"; then + msgpass + else + cat "$PROGRESS" + msgfail + fi + testmarkedauto 'dependee' +} + +testmyfailure aptget install failure-preinst -y +rm -f rootdir/var/lib/dpkg/status +testmyfailure aptget install failure-postinst -y +rm -f rootdir/var/lib/dpkg/status +testsuccess aptget install failure-prerm -y +testdpkginstalled failure-prerm +testmyfailure aptget purge failure-prerm -y +rm -f rootdir/var/lib/dpkg/status +testsuccess aptget install failure-postrm -y +testdpkginstalled failure-postrm +testmyfailure aptget purge failure-postrm -y + +# FIXME: test with output going to a PTY as it usually does +if false; then + rm -f rootdir/var/lib/dpkg/status + apt install dependee -y || true + apt install failure-postinst -y || true +fi diff --git a/test/integration/test-frontend-lock b/test/integration/test-frontend-lock new file mode 100755 index 0000000..939344a --- /dev/null +++ b/test/integration/test-frontend-lock @@ -0,0 +1,80 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'i386' + +insertinstalledpackage 'package1' 'i386' '1.0' +insertinstalledpackage 'package2' 'i386' '1.0' +insertinstalledpackage 'package3' 'i386' '1.0' +insertinstalledpackage 'package4' 'i386' '1.0' +insertinstalledpackage 'package5' 'i386' '1.0' +insertinstalledpackage 'package6' 'i386' '1.0' +buildsimplenativepackage 'foo' 'all' '1' + +setupaptarchive + +buildsimplenativepackage 'bar' 'all' '1' + + +# Checks that the correct variable is set +msgmsg 'Post-Invoke script has DPKG_FRONTEND_LOCKED set' +testsuccess aptget -q -y -o Dpkg::Post-Invoke::="echo DPKG_FRONTEND_LOCKED=\$DPKG_FRONTEND_LOCKED" remove package1 +cp rootdir/tmp/testsuccess.output install.output +testsuccess grep DPKG_FRONTEND_LOCKED=true install.output + +msgmsg 'Pre-Invoke script has DPKG_FRONTEND_LOCKED set' +testsuccess aptget -q -y -o Dpkg::Pre-Invoke::="echo DPKG_FRONTEND_LOCKED=\$DPKG_FRONTEND_LOCKED" remove package2 +cp rootdir/tmp/testsuccess.output install.output +testsuccess grep DPKG_FRONTEND_LOCKED=true install.output + +msgmsg 'Pre-Install-Pkgs script has DPKG_FRONTEND_LOCKED set' +testsuccess aptget -q -y -o DPkg::Pre-Install-Pkgs::="echo DPKG_FRONTEND_LOCKED=\$DPKG_FRONTEND_LOCKED" remove package3 +cp rootdir/tmp/testsuccess.output install.output +testsuccess grep DPKG_FRONTEND_LOCKED=true install.output + + +# Check that the frontend lock is hold by apt-get +msgmsg 'Post-Invoke script runs while frontend is locked' +testfailure aptget -q -y -o Dpkg::Post-Invoke::="apt-get remove" remove package4 +cp rootdir/tmp/testfailure.output install.output +testsuccess grep "E: Unable to acquire the dpkg frontend lock (${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/lock-frontend), is another process using it?" install.output +testsuccess grep "E: Problem executing scripts DPkg::Post-Invoke 'apt-get remove'" install.output + +msgmsg 'Pre-Invoke script runs while frontend is locked' +testfailure aptget -q -y -o Dpkg::Pre-Invoke::="apt-get remove" remove package5 +cp rootdir/tmp/testfailure.output install.output +testsuccess grep "E: Unable to acquire the dpkg frontend lock (${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/lock-frontend), is another process using it?" install.output +testsuccess grep "E: Problem executing scripts DPkg::Pre-Invoke 'apt-get remove'" install.output + +msgmsg 'Pre-Install-Pkgs runs while frontend is locked' +testfailure aptget -q -y -o DPkg::Pre-Install-Pkgs::="apt-get remove" remove package6 +cp rootdir/tmp/testfailure.output install.output +testsuccess grep "E: Unable to acquire the dpkg frontend lock (${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/lock-frontend), is another process using it?" install.output +testsuccess grep "E: Sub-process apt-get remove returned an error code (100)" install.output +testsuccess grep "Failure running script apt-get remove" install.output + + +# Applied test case from DonKult +msgmsg 'Applied case of frontend locking' +cat > ./post-invoke <<EOF +#!/bin/sh +set -e +#export DPKG_FRONTEND_LOCKED=true +${TMPWORKINGDIRECTORY}/rootdir/usr/bin/dpkg -i ${TMPWORKINGDIRECTORY}/incoming/bar_1_all.deb +EOF +chmod +x ./post-invoke +echo "dpkg::post-invoke:: \"${TMPWORKINGDIRECTORY}/post-invoke\";" > rootdir/etc/apt/apt.conf.d/01dpkgpostinvoke + +testdpkgnotinstalled 'foo' 'bar' +testsuccess apt show foo +testfailure apt show bar + +testsuccess apt install foo -s +testdpkgnotinstalled 'foo' 'bar' + +testsuccess apt install foo +testdpkginstalled 'foo' 'bar' diff --git a/test/integration/test-github-111-invalid-armember b/test/integration/test-github-111-invalid-armember new file mode 100755 index 0000000..2340321 --- /dev/null +++ b/test/integration/test-github-111-invalid-armember @@ -0,0 +1,34 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "amd64" +setupaptarchive + +# this used to crash, but it should treat it as an invalid member header +touch ' ' +testsuccess ar -q test.deb ' ' +testsuccessequal "E: Invalid archive member header" ${APTTESTHELPERSBINDIR}/testdeb test.deb + + +rm test.deb +touch 'x' +testsuccess ar -q test.deb 'x' +testsuccessequal "E: This is not a valid DEB archive, missing 'debian-binary' member" ${APTTESTHELPERSBINDIR}/testdeb test.deb + + +# <name><size> [ other fields] - name is not nul terminated here, it ends in . +msgmsg "Unterminated ar member name" +printf '!<arch>\0120123456789ABCDE.A123456789A.01234.01234.0123456.012345678.0.' > test.deb +testsuccessequal "E: Invalid archive member header" ${APTTESTHELPERSBINDIR}/testdeb test.deb + + +${APTTESTHELPERSBINDIR}/createdeb-cve-2020-27350 github-111 control.tar +gzip control.tar +cp control.tar.gz data.tar.gz +touch debian-binary +rm test.deb +testsuccess ar -q test.deb debian-binary control.tar.gz data.tar.gz +testsuccessequal "W: Unknown TAR header type 88" ${APTTESTHELPERSBINDIR}/testdeb test.deb diff --git a/test/integration/test-github-23-too-long-dependency-line b/test/integration/test-github-23-too-long-dependency-line new file mode 100755 index 0000000..d514303 --- /dev/null +++ b/test/integration/test-github-23-too-long-dependency-line @@ -0,0 +1,17 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "amd64" +setupaptarchive + + +testsuccessequal "network-manager-strongswan: + Installed: 1.3.1-14 + Candidate: 1.3.1-14 + Version table: + *** 1.3.1-14 500 + 500 file:${TMPWORKINGDIRECTORY}/aptarchive Packages + 100 ${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status" aptcache policy network-manager-strongswan diff --git a/test/integration/test-handle-redirect-as-used-mirror-change b/test/integration/test-handle-redirect-as-used-mirror-change new file mode 100755 index 0000000..a6f8b78 --- /dev/null +++ b/test/integration/test-handle-redirect-as-used-mirror-change @@ -0,0 +1,94 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' +configcompression '.' 'gz' + +buildsimplenativepackage 'unrelated' 'all' '0.5~squeeze1' 'unstable' + +export APT_DONT_SIGN='' +setupaptarchive --no-update +changetowebserver +webserverconfig 'aptwebserver::redirect::replace::/redirectme/' "http://0.0.0.0:${APTHTTPPORT}/" +rewritesourceslist "http://localhost:${APTHTTPPORT}/redirectme" + +testsuccessequal "Get:1 http://0.0.0.0:${APTHTTPPORT} unstable InRelease [$(stat -c %s aptarchive/dists/unstable/InRelease) B] +Get:2 http://0.0.0.0:${APTHTTPPORT} unstable/main Sources [$(stat -c %s aptarchive/dists/unstable/main/source/Sources.gz) B] +Get:3 http://0.0.0.0:${APTHTTPPORT} unstable/main all Packages [$(stat -c %s aptarchive/dists/unstable/main/binary-all/Packages.gz) B] +Get:4 http://0.0.0.0:${APTHTTPPORT} unstable/main Translation-en [$(stat -c %s aptarchive/dists/unstable/main/i18n/Translation-en.gz) B] +Reading package lists..." aptget update + +grepwebserverlogs() { + testsuccess grep -h "$1" aptarchive/webserver.log.client*.log + shift + sort rootdir/tmp/testsuccess.output > aptwebserver.log + testfileequal 'aptwebserver.log' "$@" +} + +# ensure we asked the redirector only once +grepwebserverlogs '^Location:' "Location: http://0.0.0.0:${APTHTTPPORT}/dists/unstable/InRelease" + +testsuccessequal "Hit:1 http://0.0.0.0:${APTHTTPPORT} unstable InRelease +Reading package lists..." aptget update + +grepwebserverlogs '^Location:' "Location: http://0.0.0.0:${APTHTTPPORT}/dists/unstable/InRelease +Location: http://0.0.0.0:${APTHTTPPORT}/dists/unstable/InRelease" + +rm -rf rootdir/var/lib/apt/lists +testsuccess apt update -o Debug::Acquire::http=1 -o Acquire::SameMirrorForAllIndexes=0 +grepwebserverlogs '^Location:' "Location: http://0.0.0.0:${APTHTTPPORT}/dists/unstable/InRelease +Location: http://0.0.0.0:${APTHTTPPORT}/dists/unstable/InRelease +Location: http://0.0.0.0:${APTHTTPPORT}/dists/unstable/InRelease +Location: http://0.0.0.0:${APTHTTPPORT}/dists/unstable/main/binary-all/Packages.gz +Location: http://0.0.0.0:${APTHTTPPORT}/dists/unstable/main/i18n/Translation-en.gz +Location: http://0.0.0.0:${APTHTTPPORT}/dists/unstable/main/source/Sources.gz" + +cd downloaded +testsuccess apthelper download-file "http://localhost:${APTHTTPPORT}/redirectme/dists/unstable/InRelease" inrelease +testsuccess test -s inrelease +cd - >/dev/null + +webserverconfig "aptwebserver::redirect::replace::http://0.0.0.0:${APTHTTPPORT}/dists/unstable/InRelease" "http://0.0.0.0:${APTHTTPPORT}/storage/dists/unstable/InRelease" +mkdir -p aptarchive/storage/dists/unstable +mv aptarchive/dists/unstable/InRelease aptarchive/storage/dists/unstable +rm -rf rootdir/var/lib/apt/lists +testsuccessequal "Get:1 http://0.0.0.0:${APTHTTPPORT}/storage unstable InRelease [$(stat -c %s aptarchive/storage/dists/unstable/InRelease) B] +Ign:2 http://0.0.0.0:${APTHTTPPORT}/storage unstable/main Sources + 404 Not Found +Ign:3 http://0.0.0.0:${APTHTTPPORT}/storage unstable/main all Packages + 404 Not Found +Ign:4 http://0.0.0.0:${APTHTTPPORT}/storage unstable/main Translation-en + 404 Not Found +Get:2 http://0.0.0.0:${APTHTTPPORT} unstable/main Sources [$(stat -c %s aptarchive/dists/unstable/main/source/Sources.gz) B] +Get:3 http://0.0.0.0:${APTHTTPPORT} unstable/main all Packages [$(stat -c %s aptarchive/dists/unstable/main/binary-all/Packages.gz) B] +Get:4 http://0.0.0.0:${APTHTTPPORT} unstable/main Translation-en [$(stat -c %s aptarchive/dists/unstable/main/i18n/Translation-en.gz) B] +Reading package lists... +Building dependency tree... +All packages are up to date." apt update + +find aptarchive -name 'InRelease' -delete +rm -rf rootdir/var/lib/apt/lists + +testsuccessequal "Ign:1 http://0.0.0.0:${APTHTTPPORT}/storage unstable InRelease + 404 Not Found +Get:2 http://0.0.0.0:${APTHTTPPORT} unstable Release [$(stat -c %s aptarchive/dists/unstable/Release) B] +Get:3 http://0.0.0.0:${APTHTTPPORT} unstable Release.gpg [$(stat -c %s aptarchive/dists/unstable/Release.gpg) B] +Get:4 http://0.0.0.0:${APTHTTPPORT} unstable/main Sources [$(stat -c %s aptarchive/dists/unstable/main/source/Sources.gz) B] +Get:5 http://0.0.0.0:${APTHTTPPORT} unstable/main all Packages [$(stat -c %s aptarchive/dists/unstable/main/binary-all/Packages.gz) B] +Get:6 http://0.0.0.0:${APTHTTPPORT} unstable/main Translation-en [$(stat -c %s aptarchive/dists/unstable/main/i18n/Translation-en.gz) B] +Reading package lists..." aptget update + +testsuccessequal "Ign:1 http://0.0.0.0:${APTHTTPPORT}/storage unstable InRelease + 404 Not Found +Hit:2 http://0.0.0.0:${APTHTTPPORT} unstable Release +Reading package lists..." aptget update + +rm -rf rootdir/var/lib/apt/lists +find aptarchive -name 'Release.gpg' -delete +find aptarchive -name 'Release' -delete +testfailure aptget update +testwarning aptget update --allow-insecure-repositories +testsuccess grep 'does not have a Release file' rootdir/tmp/testwarning.output diff --git a/test/integration/test-handling-broken-orgroups b/test/integration/test-handling-broken-orgroups new file mode 100755 index 0000000..564ea88 --- /dev/null +++ b/test/integration/test-handling-broken-orgroups @@ -0,0 +1,108 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' + +insertpackage 'unstable' 'cool' 'all' '1.0-1' +insertpackage 'unstable' 'stuff' 'all' '1.0-1' +insertpackage 'unstable' 'coolstuff' 'all' '1.0-1' 'Depends: cool | stuff' +insertpackage 'unstable' 'coolstuff2' 'all' '1.0-1' 'Depends: cool2 | stuff' +insertpackage 'unstable' 'coolstuff-broken' 'all' '1.0-1' 'Depends: cool2 | stuff2' +insertpackage 'unstable' 'coolstuff-brokenrec' 'all' '1.0-1' 'Recommends: cool2 | stuff2' +insertpackage 'unstable' 'coolstuff-conflict' 'all' '1.0-1' 'Depends: cool | stuff +Conflicts: cool' +insertpackage 'unstable' 'coolstuff-provided' 'all' '1.0-1' 'Depends: cool2 | stuff-abi' +insertpackage 'unstable' 'extrastuff' 'all' '1.0-1' 'Provides: stuff-abi' + +insertpackage 'unstable' 'coolstuff-provided-broken' 'all' '1.0-1' 'Depends: cool2 | stuff-abi-2' +insertpackage 'unstable' 'extrastuff' 'all' '1.0-1' 'Depends: stuff2 +Provides: stuff-abi-2' + +setupaptarchive + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + cool +The following NEW packages will be installed: + cool coolstuff +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst cool (1.0-1 unstable [all]) +Inst coolstuff (1.0-1 unstable [all]) +Conf cool (1.0-1 unstable [all]) +Conf coolstuff (1.0-1 unstable [all])' aptget install coolstuff -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + stuff +The following NEW packages will be installed: + coolstuff2 stuff +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst stuff (1.0-1 unstable [all]) +Inst coolstuff2 (1.0-1 unstable [all]) +Conf stuff (1.0-1 unstable [all]) +Conf coolstuff2 (1.0-1 unstable [all])' aptget install coolstuff2 -s + +testfailureequal 'Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + coolstuff-broken : Depends: cool2 but it is not installable or + stuff2 but it is not installable +E: Unable to correct problems, you have held broken packages.' aptget install coolstuff-broken -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +Recommended packages: + cool2 | stuff2 +The following NEW packages will be installed: + coolstuff-brokenrec +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst coolstuff-brokenrec (1.0-1 unstable [all]) +Conf coolstuff-brokenrec (1.0-1 unstable [all])' aptget install coolstuff-brokenrec -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + stuff +The following NEW packages will be installed: + coolstuff-conflict stuff +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst stuff (1.0-1 unstable [all]) +Inst coolstuff-conflict (1.0-1 unstable [all]) +Conf stuff (1.0-1 unstable [all]) +Conf coolstuff-conflict (1.0-1 unstable [all])' aptget install coolstuff-conflict -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + extrastuff +The following NEW packages will be installed: + coolstuff-provided extrastuff +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst extrastuff (1.0-1 unstable [all]) +Inst coolstuff-provided (1.0-1 unstable [all]) +Conf extrastuff (1.0-1 unstable [all]) +Conf coolstuff-provided (1.0-1 unstable [all])' aptget install coolstuff-provided -s + +testfailureequal 'Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + coolstuff-provided-broken : Depends: cool2 but it is not installable or + stuff-abi-2 +E: Unable to correct problems, you have held broken packages.' aptget install coolstuff-provided-broken -s diff --git a/test/integration/test-hashsum-verification b/test/integration/test-hashsum-verification new file mode 100755 index 0000000..4060dfb --- /dev/null +++ b/test/integration/test-hashsum-verification @@ -0,0 +1,82 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "i386" + +buildaptarchive +setupflataptarchive +changetowebserver + +prepare() { + local DATE="${2:-now}" + if [ "$DATE" = 'now' -a "$1" = "${PKGFILE}-new" ]; then + DATE='now + 6 days' + fi + for release in $(find rootdir/var/lib/apt/lists 2> /dev/null); do + touch -d 'now - 6 hours' "$release" + done + cp "$1" aptarchive/Packages + find aptarchive -name 'Release' -delete + compressfile aptarchive/Packages + # create Release file with incorrect checksums + cat > aptarchive/Release <<EOF +Date: Fri, 05 Aug 2011 09:22:08 UTC +MD5Sum: + x15c483ac486f5dbe95095c7ec08626f 760 Packages + x0579797df4792164a17305fb0b317e9 546 Packages.bz2 + xc532a82873d2206b4e4503e92d167bd 489 Packages.gz + x4d1d25661377dd4bb95a1736e2624d3 527 Packages.lzma + xf1cc221194edbaa943d2375d6f44a88 572 Packages.xz +SHA1: + x0d3317839cf68cd40c28f0bddca8d2ce5a29cad 760 Packages + xffddf046ad8dfd8338a355d76fb08d143c8b636 546 Packages.bz2 + xa27a3df51ca4474b880a6594c4811957079b613 489 Packages.gz + x9d7bba4e6fa927a34dcd797694c2893c21f1004 527 Packages.lzma + x7d988fe59cf67298828e5299a15d329c0f00f1b 572 Packages.xz +SHA256: + x5a47d72f6b97bfa164b23326b6ad3cb019b5c6cc73769f8c0187616933d1b2b 760 Packages + x617252f5bfe3e9126352c7c2f8122d9c3b2c5e1a6c8a9616d62adc0ed164172 546 Packages.bz2 + xc6abc6fe9a4fcf0758ec5366dfd19bcba90af026a7017c3f6198c59eccd8ef5 489 Packages.gz + xb306e66e5e6a7169c8d281a888539d1fdca9cecc99ae605717df579d5b9c166 527 Packages.lzma + x9585d0e66b74c9385727fbea11fea9ab33c716b18a32f3036f037a2b9b57120 572 Packages.xz +EOF +} + +PKGFILE="${TESTDIR}/$(echo "$(basename $0)" | sed 's#^test-#Packages-#')" + +runtest() { + prepare "${PKGFILE}" + rm -rf rootdir/var/lib/apt/lists + signreleasefiles 'Joe Sixpack' + + # test signed release file + msgtest 'apt-get update gets the expected hashsum mismatch' + testfailure aptget update + testsuccess grep "Hash Sum mismatch" rootdir/tmp/testfailure.output + msgtest 'No package from the source available' + testfailureequal --nomsg 'N: Unable to locate package apt +E: No packages found' aptcache show apt + msgtest 'No Packages file in /var/lib/apt/lists' + testempty find rootdir/var/lib/apt/lists -maxdepth 1 -name '*Package*' + + # now with the unsigned Release file + rm -rf rootdir/var/lib/apt/lists + rm -f aptarchive/InRelease aptarchive/Release.gpg + msgtest 'unsigned apt-get update gets the expected hashsum mismatch' + testfailure --nomsg aptget update --allow-insecure-repositories + testsuccess grep "Hash Sum mismatch" rootdir/tmp/testfailure.output +} + +for COMPRESSEDINDEXES in 'false' 'true'; do + echo "Acquire::GzipIndexes \"$COMPRESSEDINDEXES\";" > rootdir/etc/apt/apt.conf.d/compressindexes + if $COMPRESSEDINDEXES; then + msgmsg 'Run tests with GzipIndexes enabled' + else + msgmsg 'Run tests with GzipIndexes disabled' + fi + runtest +done diff --git a/test/integration/test-http-if-range b/test/integration/test-http-if-range new file mode 100755 index 0000000..462d731 --- /dev/null +++ b/test/integration/test-http-if-range @@ -0,0 +1,91 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +changetowebserver + +TESTFILE='aptarchive/testfile' +HTTPFILE="http://localhost:${APTHTTPPORT}/testfile" +DOWNFILE='./downloaded/testfile' +DOWNLOADLOG='rootdir/tmp/testdownloadfile.log' + +testdownloadfile() { + rm -f "$DOWNLOADLOG" + msgtest "Testing download of file with" "$1" + if ! downloadfile "$HTTPFILE" "$DOWNFILE" > "$DOWNLOADLOG"; then + cat >&2 "$DOWNLOADLOG" + msgfail + else + msgpass + fi +} + +nopartialfile() { + rm -f "$DOWNFILE" +} +validpartialfile() { + head -n 5 "$TESTFILE" > "$DOWNFILE" + touch -d "$(stat --format '%y' "${TESTFILE}")" "$DOWNFILE" +} +badolderpartialfile() { + head -n 5 "$TESTFILE" > "$DOWNFILE" + touch -d "$(stat --format '%y' "${TESTFILE}") - 1sec" "$DOWNFILE" +} +badnewerpartialfile() { + head -n 5 "$TESTFILE" > "$DOWNFILE" + touch -d 'now + 1hour' "$DOWNFILE" +} +fullfile() { + cp -a "$TESTFILE" "$DOWNFILE" +} + +cp -a "${TESTDIR}/framework" "$TESTFILE" + +testrun() { + nopartialfile + testdownloadfile "no file $1" + testwebserverlaststatuscode "$2" "$DOWNLOADLOG" + testsuccess cmp "$TESTFILE" "$DOWNFILE" + + validpartialfile + testdownloadfile "good partial file $1" + testwebserverlaststatuscode "$3" "$DOWNLOADLOG" + testsuccess cmp "$TESTFILE" "$DOWNFILE" + + badolderpartialfile + testdownloadfile "bad old partial file $1" + testwebserverlaststatuscode "$4" "$DOWNLOADLOG" + testsuccess cmp "$TESTFILE" "$DOWNFILE" + + badnewerpartialfile + testdownloadfile "bad new partial file $1" + testwebserverlaststatuscode "$4" "$DOWNLOADLOG" + testsuccess cmp "$TESTFILE" "$DOWNFILE" + + fullfile + testdownloadfile "complete file $1" + testwebserverlaststatuscode "$5" "$DOWNLOADLOG" + testsuccess cmp "$TESTFILE" "$DOWNFILE" +} + +testrun 'defaults' '200' '206' '200' '416' + +webserverconfig 'aptwebserver::support::range' 'false' +testrun 'no ranges' '200' '200' '200' '200' +webserverconfig 'aptwebserver::support::range' 'true' + +webserverconfig 'aptwebserver::support::if-range' 'false' +# the second 206 is bad, but we are unable to detect this +testrun 'buggy server' '200' '206' '206' '416' +echo 'Acquire::http::localhost::AllowRanges "false";' > rootdir/etc/apt/apt.conf.d/noallowranges +testrun 'range disabled by conf' '200' '200' '200' '200' +rm rootdir/etc/apt/apt.conf.d/noallowranges +# detect varnish < 6.4 automatically +webserverconfig 'aptwebserver::response-header::Via' '1.1 varnish (Varnish/6.1)' +testrun 'bad varnish' '200' '200' '200' '200' +webserverconfig 'aptwebserver::response-header::Via' '1.1 varnish (Varnish/6.4)' +testrun 'good varnish' '200' '206' '206' '416' diff --git a/test/integration/test-http-pipeline-messup b/test/integration/test-http-pipeline-messup new file mode 100755 index 0000000..95e890b --- /dev/null +++ b/test/integration/test-http-pipeline-messup @@ -0,0 +1,56 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "i386" + +# try a little harder to create a size mismatch +buildsimplenativepackage 'pkg0' 'all' '1.0' 'stable' "Depends: foo" '' '' '' '' 'none' +buildsimplenativepackage 'pkga' 'all' '1.0' 'stable' "Depends: foo" '' '' '' '' 'none' +buildsimplenativepackage 'pkgb' 'all' '1.0' 'stable' "Depends: foo" '' '' '' '' 'none' +buildsimplenativepackage 'pkgc' 'all' '1.0' 'stable' "Depends: f$(for i in $(seq 0 1000); do printf 'o'; done)" '' '' '' '' 'none' +buildsimplenativepackage 'pkgd' 'all' '1.0' 'stable' "Depends: f$(for i in $(seq 0 1000); do printf 'o'; done)" '' '' '' '' 'none' + +setupaptarchive --no-update + +# simulate (and be a predictable) pipeline mess-up by the server/proxy +changetowebserver \ + -o 'aptwebserver::overwrite::.*pkga.*::filename=/pool/pkgd_1.0_all.deb' \ + -o 'aptwebserver::overwrite::.*pkgc.*::filename=/pool/pkgb_1.0_all.deb' \ + -o 'aptwebserver::overwrite::.*pkgb.*::filename=/pool/pkgc_1.0_all.deb' \ + -o 'aptwebserver::overwrite::.*pkgd.*::filename=/pool/pkga_1.0_all.deb' + +echo 'Debug::Acquire::http "true"; +Debug::pkgAcquire::Worker "true";' > rootdir/etc/apt/apt.conf.d/99debug + +testsuccess aptget update + +cd downloaded +# messup is bigger than pipeline: checks if fixup isn't trying too hard +testfailure aptget download pkga pkgb pkgc pkgd -o Acquire::http::Pipeline-Depth=2 +for pkg in 'pkga' 'pkgd'; do + testfailure test -f ${pkg}_1.0_all.deb +done +for pkg in 'pkgb' 'pkgc'; do + testsuccess test -f ${pkg}_1.0_all.deb + testsuccess cmp ../incoming/${pkg}_1.0_all.deb ${pkg}_1.0_all.deb + rm -f ${pkg}_1.0_all.deb +done + +# ensure that pipeling is enabled for rest of this test +echo 'Acquire::http::Pipeline-Depth 10;' > ../rootdir/etc/apt/apt.conf.d/99enable-pipeline + +# the output is a bit strange: it looks like it has downloaded pkga 4 times +testwarning aptget download pkg0 pkga pkgb pkgc pkgd +for pkg in 'pkg0' 'pkga' 'pkgb' 'pkgc' 'pkgd'; do + testsuccess test -f ${pkg}_1.0_all.deb + testsuccess cmp ../incoming/${pkg}_1.0_all.deb ${pkg}_1.0_all.deb + rm -f ${pkg}_1.0_all.deb +done + +# while hashes will pass (as none are available), sizes will not match, so failure +# checks that no hashes means that pipeline depth is ignored as we can't fixup +testfailure aptget download pkga pkgb pkgc pkgd --allow-unauthenticated -o Acquire::ForceHash=ROT26 diff --git a/test/integration/test-ignore-provides-if-versioned-breaks b/test/integration/test-ignore-provides-if-versioned-breaks new file mode 100755 index 0000000..ebcbecf --- /dev/null +++ b/test/integration/test-ignore-provides-if-versioned-breaks @@ -0,0 +1,150 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' 'amd64' + +insertpackage 'unstable' 'unrlated' 'all' '1.0' + +insertinstalledpackage 'foo' 'i386' '2.0' +insertpackage 'unstable' 'foo' 'i386' '4.0' +insertpackage 'unstable' 'foo-provider' 'i386' '1.0' 'Provides: foo' +insertpackage 'unstable' 'foo-breaker-3' 'i386' '1.0' 'Breaks: foo (<< 3.0)' +insertpackage 'unstable' 'foo-breaker-2' 'i386' '1.0' 'Breaks: foo (<< 2.0)' +insertpackage 'unstable' 'foo-breaker-none' 'i386' '1.0' 'Breaks: foo' + +insertinstalledpackage 'foo-foreign' 'amd64' '2.0' 'Multi-Arch: foreign' +insertpackage 'unstable' 'foo-foreign' 'amd64' '4.0' 'Multi-Arch: foreign' +insertpackage 'unstable' 'foo-foreign-provider' 'i386' '1.0' 'Provides: foo-foreign' +insertpackage 'unstable' 'foo-foreign-breaker-3' 'i386' '1.0' 'Breaks: foo-foreign (<< 3.0)' +insertpackage 'unstable' 'foo-foreign-breaker-2' 'i386' '1.0' 'Breaks: foo-foreign (<< 2.0)' +insertpackage 'unstable' 'foo-foreign-breaker-none' 'i386' '1.0' 'Breaks: foo-foreign' + +insertinstalledpackage 'foo-same' 'i386,amd64' '2.0' 'Multi-Arch: same' +insertpackage 'unstable' 'foo-same' 'i386,amd64' '4.0' 'Multi-Arch: same' +insertpackage 'unstable' 'foo-same-provider' 'i386' '1.0' 'Provides: foo-same' +insertpackage 'unstable' 'foo-same-breaker-3' 'i386' '1.0' 'Breaks: foo-same (<< 3.0)' +insertpackage 'unstable' 'foo-same-breaker-2' 'i386' '1.0' 'Breaks: foo-same (<< 2.0)' +insertpackage 'unstable' 'foo-same-breaker-none' 'i386' '1.0' 'Breaks: foo-same' + + + +setupaptarchive + +testfailureequal 'Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + foo-breaker-none : Breaks: foo +E: Unable to correct problems, you have held broken packages.' aptget install foo-provider foo-breaker-none -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + foo-breaker-2 foo-provider +0 upgraded, 2 newly installed, 0 to remove and 4 not upgraded. +Inst foo-breaker-2 (1.0 unstable [i386]) +Inst foo-provider (1.0 unstable [i386]) +Conf foo-breaker-2 (1.0 unstable [i386]) +Conf foo-provider (1.0 unstable [i386])' aptget install foo-provider foo-breaker-2 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + foo +The following NEW packages will be installed: + foo-breaker-3 foo-provider +The following packages will be upgraded: + foo +1 upgraded, 2 newly installed, 0 to remove and 3 not upgraded. +Inst foo [2.0] (4.0 unstable [i386]) +Inst foo-breaker-3 (1.0 unstable [i386]) +Inst foo-provider (1.0 unstable [i386]) +Conf foo (4.0 unstable [i386]) +Conf foo-breaker-3 (1.0 unstable [i386]) +Conf foo-provider (1.0 unstable [i386])' aptget install foo-provider foo-breaker-3 -s + +testfailureequal 'Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + foo-foreign-breaker-none : Breaks: foo-foreign +E: Unable to correct problems, you have held broken packages.' aptget install foo-foreign-provider foo-foreign-breaker-none -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + foo-foreign-breaker-2 foo-foreign-provider +0 upgraded, 2 newly installed, 0 to remove and 4 not upgraded. +Inst foo-foreign-breaker-2 (1.0 unstable [i386]) +Inst foo-foreign-provider (1.0 unstable [i386]) +Conf foo-foreign-breaker-2 (1.0 unstable [i386]) +Conf foo-foreign-provider (1.0 unstable [i386])' aptget install foo-foreign-provider foo-foreign-breaker-2 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + foo-foreign:amd64 +The following NEW packages will be installed: + foo-foreign-breaker-3 foo-foreign-provider +The following packages will be upgraded: + foo-foreign:amd64 +1 upgraded, 2 newly installed, 0 to remove and 3 not upgraded. +Inst foo-foreign:amd64 [2.0] (4.0 unstable [amd64]) +Inst foo-foreign-breaker-3 (1.0 unstable [i386]) +Inst foo-foreign-provider (1.0 unstable [i386]) +Conf foo-foreign:amd64 (4.0 unstable [amd64]) +Conf foo-foreign-breaker-3 (1.0 unstable [i386]) +Conf foo-foreign-provider (1.0 unstable [i386])' aptget install foo-foreign-provider foo-foreign-breaker-3 -s + +testfailureequal 'Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + foo-same-breaker-none : Breaks: foo-same +E: Unable to correct problems, you have held broken packages.' aptget install foo-same-provider foo-same-breaker-none -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + foo-same-breaker-2 foo-same-provider +0 upgraded, 2 newly installed, 0 to remove and 4 not upgraded. +Inst foo-same-breaker-2 (1.0 unstable [i386]) +Inst foo-same-provider (1.0 unstable [i386]) +Conf foo-same-breaker-2 (1.0 unstable [i386]) +Conf foo-same-provider (1.0 unstable [i386])' aptget install foo-same-provider foo-same-breaker-2 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + foo-same foo-same:amd64 +The following NEW packages will be installed: + foo-same-breaker-3 foo-same-provider +The following packages will be upgraded: + foo-same foo-same:amd64 +2 upgraded, 2 newly installed, 0 to remove and 2 not upgraded. +Inst foo-same [2.0] (4.0 unstable [i386]) [foo-same:i386 on foo-same:amd64] [foo-same:amd64 on foo-same:i386] [foo-same:amd64 ] +Inst foo-same:amd64 [2.0] (4.0 unstable [amd64]) +Inst foo-same-breaker-3 (1.0 unstable [i386]) +Inst foo-same-provider (1.0 unstable [i386]) +Conf foo-same (4.0 unstable [i386]) +Conf foo-same:amd64 (4.0 unstable [amd64]) +Conf foo-same-breaker-3 (1.0 unstable [i386]) +Conf foo-same-provider (1.0 unstable [i386])' aptget install foo-same-provider foo-same-breaker-3 -s diff --git a/test/integration/test-ignore-provides-if-versioned-conflicts b/test/integration/test-ignore-provides-if-versioned-conflicts new file mode 100755 index 0000000..3243cfb --- /dev/null +++ b/test/integration/test-ignore-provides-if-versioned-conflicts @@ -0,0 +1,150 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' 'amd64' + +insertpackage 'unstable' 'unrlated' 'all' '1.0' + +insertinstalledpackage 'foo' 'i386' '2.0' +insertpackage 'unstable' 'foo' 'i386' '4.0' +insertpackage 'unstable' 'foo-provider' 'i386' '1.0' 'Provides: foo' +insertpackage 'unstable' 'foo-breaker-3' 'i386' '1.0' 'Conflicts: foo (<< 3.0)' +insertpackage 'unstable' 'foo-breaker-2' 'i386' '1.0' 'Conflicts: foo (<< 2.0)' +insertpackage 'unstable' 'foo-breaker-none' 'i386' '1.0' 'Conflicts: foo' + +insertinstalledpackage 'foo-foreign' 'amd64' '2.0' 'Multi-Arch: foreign' +insertpackage 'unstable' 'foo-foreign' 'amd64' '4.0' 'Multi-Arch: foreign' +insertpackage 'unstable' 'foo-foreign-provider' 'i386' '1.0' 'Provides: foo-foreign' +insertpackage 'unstable' 'foo-foreign-breaker-3' 'i386' '1.0' 'Conflicts: foo-foreign (<< 3.0)' +insertpackage 'unstable' 'foo-foreign-breaker-2' 'i386' '1.0' 'Conflicts: foo-foreign (<< 2.0)' +insertpackage 'unstable' 'foo-foreign-breaker-none' 'i386' '1.0' 'Conflicts: foo-foreign' + +insertinstalledpackage 'foo-same' 'i386,amd64' '2.0' 'Multi-Arch: same' +insertpackage 'unstable' 'foo-same' 'i386,amd64' '4.0' 'Multi-Arch: same' +insertpackage 'unstable' 'foo-same-provider' 'i386' '1.0' 'Provides: foo-same' +insertpackage 'unstable' 'foo-same-breaker-3' 'i386' '1.0' 'Conflicts: foo-same (<< 3.0)' +insertpackage 'unstable' 'foo-same-breaker-2' 'i386' '1.0' 'Conflicts: foo-same (<< 2.0)' +insertpackage 'unstable' 'foo-same-breaker-none' 'i386' '1.0' 'Conflicts: foo-same' + + + +setupaptarchive + +testfailureequal 'Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + foo-breaker-none : Conflicts: foo +E: Unable to correct problems, you have held broken packages.' aptget install foo-provider foo-breaker-none -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + foo-breaker-2 foo-provider +0 upgraded, 2 newly installed, 0 to remove and 4 not upgraded. +Inst foo-breaker-2 (1.0 unstable [i386]) +Inst foo-provider (1.0 unstable [i386]) +Conf foo-breaker-2 (1.0 unstable [i386]) +Conf foo-provider (1.0 unstable [i386])' aptget install foo-provider foo-breaker-2 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + foo +The following NEW packages will be installed: + foo-breaker-3 foo-provider +The following packages will be upgraded: + foo +1 upgraded, 2 newly installed, 0 to remove and 3 not upgraded. +Inst foo [2.0] (4.0 unstable [i386]) +Inst foo-breaker-3 (1.0 unstable [i386]) +Inst foo-provider (1.0 unstable [i386]) +Conf foo (4.0 unstable [i386]) +Conf foo-breaker-3 (1.0 unstable [i386]) +Conf foo-provider (1.0 unstable [i386])' aptget install foo-provider foo-breaker-3 -s + +testfailureequal 'Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + foo-foreign-breaker-none : Conflicts: foo-foreign +E: Unable to correct problems, you have held broken packages.' aptget install foo-foreign-provider foo-foreign-breaker-none -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + foo-foreign-breaker-2 foo-foreign-provider +0 upgraded, 2 newly installed, 0 to remove and 4 not upgraded. +Inst foo-foreign-breaker-2 (1.0 unstable [i386]) +Inst foo-foreign-provider (1.0 unstable [i386]) +Conf foo-foreign-breaker-2 (1.0 unstable [i386]) +Conf foo-foreign-provider (1.0 unstable [i386])' aptget install foo-foreign-provider foo-foreign-breaker-2 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + foo-foreign:amd64 +The following NEW packages will be installed: + foo-foreign-breaker-3 foo-foreign-provider +The following packages will be upgraded: + foo-foreign:amd64 +1 upgraded, 2 newly installed, 0 to remove and 3 not upgraded. +Inst foo-foreign:amd64 [2.0] (4.0 unstable [amd64]) +Inst foo-foreign-breaker-3 (1.0 unstable [i386]) +Inst foo-foreign-provider (1.0 unstable [i386]) +Conf foo-foreign:amd64 (4.0 unstable [amd64]) +Conf foo-foreign-breaker-3 (1.0 unstable [i386]) +Conf foo-foreign-provider (1.0 unstable [i386])' aptget install foo-foreign-provider foo-foreign-breaker-3 -s + +testfailureequal 'Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + foo-same-breaker-none : Conflicts: foo-same +E: Unable to correct problems, you have held broken packages.' aptget install foo-same-provider foo-same-breaker-none -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + foo-same-breaker-2 foo-same-provider +0 upgraded, 2 newly installed, 0 to remove and 4 not upgraded. +Inst foo-same-breaker-2 (1.0 unstable [i386]) +Inst foo-same-provider (1.0 unstable [i386]) +Conf foo-same-breaker-2 (1.0 unstable [i386]) +Conf foo-same-provider (1.0 unstable [i386])' aptget install foo-same-provider foo-same-breaker-2 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + foo-same foo-same:amd64 +The following NEW packages will be installed: + foo-same-breaker-3 foo-same-provider +The following packages will be upgraded: + foo-same foo-same:amd64 +2 upgraded, 2 newly installed, 0 to remove and 2 not upgraded. +Inst foo-same [2.0] (4.0 unstable [i386]) [foo-same:i386 on foo-same:amd64] [foo-same:amd64 on foo-same:i386] [foo-same:amd64 ] +Inst foo-same:amd64 [2.0] (4.0 unstable [amd64]) +Inst foo-same-breaker-3 (1.0 unstable [i386]) +Inst foo-same-provider (1.0 unstable [i386]) +Conf foo-same (4.0 unstable [i386]) +Conf foo-same:amd64 (4.0 unstable [amd64]) +Conf foo-same-breaker-3 (1.0 unstable [i386]) +Conf foo-same-provider (1.0 unstable [i386])' aptget install foo-same-provider foo-same-breaker-3 -s diff --git a/test/integration/test-ignored-files b/test/integration/test-ignored-files new file mode 100755 index 0000000..bc9eefb --- /dev/null +++ b/test/integration/test-ignored-files @@ -0,0 +1,42 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' +setupaptarchive + +msgmsg "Check notices about .list and .sources directories in sources.list.d" +mkdir rootdir/etc/apt/sources.list.d/a-dir-that-will-be-ignored +mkdir rootdir/etc/apt/sources.list.d/a-dir-that-will-be-ignored.conf +mkdir rootdir/etc/apt/sources.list.d/a-dir-that-will-not-be-ignored.list +mkdir rootdir/etc/apt/sources.list.d/a-dir-that-will-not-be-ignored.sources +testsuccesswithnotice apt update +testequalor2 "Reading package lists... +Building dependency tree... +All packages are up to date. +N: Ignoring 'a-dir-that-will-not-be-ignored.sources' in directory '${TMPWORKINGDIRECTORY}/rootdir/etc/apt/sources.list.d/' as it is not a regular file +N: Ignoring 'a-dir-that-will-not-be-ignored.list' in directory '${TMPWORKINGDIRECTORY}/rootdir/etc/apt/sources.list.d/' as it is not a regular file" "Reading package lists... +Building dependency tree... +All packages are up to date. +N: Ignoring 'a-dir-that-will-not-be-ignored.list' in directory '${TMPWORKINGDIRECTORY}/rootdir/etc/apt/sources.list.d/' as it is not a regular file +N: Ignoring 'a-dir-that-will-not-be-ignored.sources' in directory '${TMPWORKINGDIRECTORY}/rootdir/etc/apt/sources.list.d/' as it is not a regular file" cat rootdir/tmp/testsuccesswithnotice.output +rmdir rootdir/etc/apt/sources.list.d/a-dir-* + +msgmsg "Check for notices about .conf directories in apt.conf.d" +mkdir -p rootdir/etc/apt/apt.conf.d/a-dir-that-will-be-ignored +mkdir -p rootdir/etc/apt/apt.conf.d/a-dir-that-will-be-ignored.list +mkdir -p rootdir/etc/apt/apt.conf.d/a-dir-that-will-not-be-ignored.conf +testsuccessequal "N: Ignoring 'a-dir-that-will-not-be-ignored.conf' in directory '${TMPWORKINGDIRECTORY}/rootdir/etc/apt/apt.conf.d/' as it is not a regular file" aptconfig shell +rmdir rootdir/etc/apt/apt.conf.d/a-dir-* + +msgmsg "Check for directory notices in preferences.d" +mkdir -p rootdir/etc/apt/preferences.d/a-dir-that-will-be-ignored +mkdir -p rootdir/etc/apt/preferences.d/a-dir-that-will-be-ignored.conf +mkdir -p rootdir/etc/apt/preferences.d/a-dir-that-will-not-be-ignored.pref +testsuccessequal "Package files: +Pinned packages: +N: Ignoring 'a-dir-that-will-not-be-ignored.pref' in directory '${TMPWORKINGDIRECTORY}/rootdir/etc/apt/preferences.d/' as it is not a regular file" apt policy +rmdir rootdir/etc/apt/preferences.d/a-dir-* diff --git a/test/integration/test-implicit-conflicts-real-not-virtual b/test/integration/test-implicit-conflicts-real-not-virtual new file mode 100755 index 0000000..02bd442 --- /dev/null +++ b/test/integration/test-implicit-conflicts-real-not-virtual @@ -0,0 +1,56 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' + +insertpackage 'unstable-mp' 'crda' 'i386,amd64' '1.1.1-1ubuntu4mp' 'Provides: wireless-crda +Multi-Arch: foreign' +insertpackage 'unstable-m' 'crda' 'i386,amd64' '1.1.1-1ubuntu4m' 'Multi-Arch: foreign' +insertpackage 'unstable-p' 'crda' 'i386,amd64' '1.1.1-1ubuntu4p' 'Provides: wireless-crda' +insertpackage 'unstable' 'wireless-crda' 'i386,amd64' '1.16' + + +insertinstalledpackage 'wireless-crda' 'amd64' '1.14' + +setupaptarchive + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + crda +0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. +Inst crda (1.1.1-1ubuntu4m unstable-m [amd64]) +Conf crda (1.1.1-1ubuntu4m unstable-m [amd64])' aptget install crda -s -t unstable-m + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + crda +0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. +Inst crda (1.1.1-1ubuntu4p unstable-p [amd64]) +Conf crda (1.1.1-1ubuntu4p unstable-p [amd64])' aptget install crda -s -t unstable-p + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + crda +0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. +Inst crda (1.1.1-1ubuntu4mp unstable-mp [amd64]) +Conf crda (1.1.1-1ubuntu4mp unstable-mp [amd64])' aptget install crda -s -t unstable-mp + +rm rootdir/var/lib/dpkg/status +insertinstalledpackage 'crda' 'amd64' '1.1.1-1ubuntu4mp' 'Provides: wireless-crda +Conflicts: wireless-crda (<< 1.15) +Replaces: wireless-crda ( << 1.15) +Multi-arch: foreign' + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + wireless-crda +0 upgraded, 1 newly installed, 0 to remove and 1 not upgraded. +Inst wireless-crda (1.16 unstable [amd64]) +Conf wireless-crda (1.16 unstable [amd64])' aptget install wireless-crda -s -t unstable diff --git a/test/integration/test-kernel-helper-autoremove b/test/integration/test-kernel-helper-autoremove new file mode 100755 index 0000000..208bd14 --- /dev/null +++ b/test/integration/test-kernel-helper-autoremove @@ -0,0 +1,170 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +CURRENTKERNEL="linux-image-$(uname -r | tr '[A-Z]' '[a-z]')" +insertinstalledpackage "$CURRENTKERNEL" 'amd64' '5-1' +# debug packages do not need our protection +insertinstalledpackage "${CURRENTKERNEL}-dbg" 'amd64' '5-1' +# but other kernel flavours should be protected +insertinstalledpackage "${CURRENTKERNEL}-686-pae" 'i386' '5-1' +insertinstalledpackage "${CURRENTKERNEL}-rt" 'amd64' '5-1' +# some more versions +insertinstalledpackage 'linux-image-1.0.0-2-generic' 'amd64' '1.0.0-2' +insertinstalledpackage 'linux-image-100.0.0-1-generic' 'amd64' '100.0.0-1' +# kernel metapackages should be ignored +insertinstalledpackage 'linux-image-amd64' 'amd64' '200-1' +insertinstalledpackage 'linux-image-686-pae' 'i386' '300-1' +# ensure that the '.' is really a dot and not a wildcard +insertinstalledpackage 'linux-headers-1000000-1-generic' 'amd64' '100.0.0-1' +# ensure that the '+' is really a plus and not a regexp quantifier +insertinstalledpackage "${CURRENTKERNEL}+variant" 'amd64' '5-1' + +testsuccess aptmark auto "$CURRENTKERNEL" "${CURRENTKERNEL}-dbg" "${CURRENTKERNEL}-686-pae:i386" "${CURRENTKERNEL}-rt" \ + 'linux-image-1.0.0-2-generic' 'linux-image-100.0.0-1-generic' 'linux-headers-1000000-1-generic' "${CURRENTKERNEL}+variant" +testsuccess aptmark hold "${CURRENTKERNEL}-rt" + +testprotected() { + testsuccess --nomsg apt -o Debug::PkgAutoRemove=1 autoremove -s + grep "Kernel protection regex" rootdir/tmp/testsuccess.output | cut -f2- -d: | tr '|' '\n' | sed 's/\s*//g' | sort -u > protected.list + + msgtest 'Check kernel autoremoval protection list' 'can be parsed' + testfailure --nomsg grep '^[A-Z]: ' protected.list + + msgtest 'Check kernel autoremoval protection list includes' 'most recent kernel' + testsuccess --nomsg grep '^\^linux-.*-100\\\.0\\\.0-1-generic\$$' protected.list + + msgtest 'Check kernel autoremoval protection list includes' 'running kernel' + testsuccess --nomsg grep "^\\^linux-.*-$(uname -r | tr '[A-Z]' '[a-z]' | sed -e 's#\.#\\\\.#g')\\\$\$" protected.list + + msgtest 'Check kernel autoremoval protection list does not include' 'metapackages' + testfailure --nomsg grep -e '^\^linux-image-amd64\$$' -e '^\^linux-image-686-pae\$$' -e ':i386' protected.list +} + +AUTOREMOVE='apt autoremove' +if [ -n "$SUDO_USER" ]; then + AUTOREMOVE="sudo $AUTOREMOVE" +fi +testsuccessequal "Reading package lists... +Building dependency tree... +Reading state information... +The following packages were automatically installed and are no longer required: + linux-headers-1000000-1-generic (100.0.0-1) + linux-image-1.0.0-2-generic (1.0.0-2) + linux-image-100.0.0-1-generic (100.0.0-1) + $CURRENTKERNEL (5-1) + ${CURRENTKERNEL}+variant (5-1) + ${CURRENTKERNEL}-686-pae:i386 (5-1) + ${CURRENTKERNEL}-dbg (5-1) +Use '$AUTOREMOVE' to remove them. +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded." aptget install -sV -o APT::Protect-Kernels=0 +testsuccessequal "Reading package lists... +Building dependency tree... +Reading state information... +The following packages were automatically installed and are no longer required: + linux-headers-1000000-1-generic (100.0.0-1) + linux-image-1.0.0-2-generic (1.0.0-2) + linux-image-100.0.0-1-generic (100.0.0-1) + $CURRENTKERNEL (5-1) + ${CURRENTKERNEL}+variant (5-1) + ${CURRENTKERNEL}-686-pae:i386 (5-1) + ${CURRENTKERNEL}-dbg (5-1) + ${CURRENTKERNEL}-rt (5-1) +Use '$AUTOREMOVE' to remove them. +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded." aptget install -sV --ignore-hold -o APT::Protect-Kernels=0 +testequal "Reading package lists... +Building dependency tree... +Reading state information... +7 packages were automatically installed and are no longer required. +Use '$AUTOREMOVE' to remove them. +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded." aptget install -s -o APT::Get::HideAutoRemove=small -o APT::Protect-Kernels=0 +testequal "Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + linux-headers-1000000-1-generic (100.0.0-1) + linux-image-1.0.0-2-generic (1.0.0-2) + linux-image-100.0.0-1-generic (100.0.0-1) + $CURRENTKERNEL (5-1) + ${CURRENTKERNEL}+variant (5-1) + ${CURRENTKERNEL}-686-pae:i386 (5-1) + ${CURRENTKERNEL}-dbg (5-1) +0 upgraded, 0 newly installed, 7 to remove and 0 not upgraded. +Remv linux-headers-1000000-1-generic [100.0.0-1] +Remv linux-image-1.0.0-2-generic [1.0.0-2] +Remv linux-image-100.0.0-1-generic [100.0.0-1] +Remv $CURRENTKERNEL [5-1] +Remv ${CURRENTKERNEL}+variant [5-1] +Remv ${CURRENTKERNEL}-686-pae:i386 [5-1] +Remv ${CURRENTKERNEL}-dbg [5-1]" aptget autoremove -sV -o APT::Protect-Kernels=0 + +msgmsg "run without parameter" +testprotected +msgtest 'Check kernel autoremoval protection list does not include' 'old kernel' +testfailure --nomsg grep '^\^linux-.*-1\\\.0\\\.0-2-generic\$$' protected.list +export COLUMNS=99999 +testsuccessequal "Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + linux-headers-1000000-1-generic linux-image-1.0.0-2-generic ${CURRENTKERNEL}-dbg +0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. +Remv linux-headers-1000000-1-generic [100.0.0-1] +Remv linux-image-1.0.0-2-generic [1.0.0-2] +Remv ${CURRENTKERNEL}-dbg [5-1]" aptget autoremove -s +unset COLUMNS + +msgmsg "install unknown kernel" +# even if installed/uname reports a kernel which we can't find via dpkg, +# ensure that we still protect it just in case as these are kernels we +# know for sure without complicated detection mechanisms +testprotected 1.0.0-2-ungeneric +msgtest 'Check kernel autoremoval protection list does not include' 'old kernel' +testfailure --nomsg grep '^\^linux-.*-1\\\.0\\\.0-2-generic\$$' protected.list +export COLUMNS=9 +testsuccessequal "Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + linux-headers-1000000-1-generic + linux-image-1.0.0-2-generic + ${CURRENTKERNEL}-dbg +0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. +Remv linux-headers-1000000-1-generic [100.0.0-1] +Remv linux-image-1.0.0-2-generic [1.0.0-2] +Remv ${CURRENTKERNEL}-dbg [5-1]" aptget autoremove -s +unset COLUMNS + +msgmsg "install an old kernel" +testprotected 1.0.0-2-generic +export COLUMNS=9 +testsuccessequal "Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + linux-headers-1000000-1-generic + linux-image-1.0.0-2-generic + ${CURRENTKERNEL}-dbg +0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. +Remv linux-headers-1000000-1-generic [100.0.0-1] +Remv linux-image-1.0.0-2-generic [1.0.0-2] +Remv ${CURRENTKERNEL}-dbg [5-1]" aptget autoremove -s +unset COLUMNS + +# rt kernel was put on hold while the protected list was generated +testsuccess aptmark hold "${CURRENTKERNEL}-rt" +export COLUMNS=99999 +testsuccessequal "Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + linux-headers-1000000-1-generic linux-image-1.0.0-2-generic ${CURRENTKERNEL}-dbg +0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded. +Remv linux-headers-1000000-1-generic [100.0.0-1] +Remv linux-image-1.0.0-2-generic [1.0.0-2] +Remv ${CURRENTKERNEL}-dbg [5-1]" aptget autoremove -s +unset COLUMNS diff --git a/test/integration/test-method-connect b/test/integration/test-method-connect new file mode 100755 index 0000000..b35f96d --- /dev/null +++ b/test/integration/test-method-connect @@ -0,0 +1,13 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment + +cd downloaded +testfailureequal 'Err:1 http://vwakviie2ienjx6t.onion/ + Direct connection to .onion domains is blocked by default. If you meant to use Tor remember to use tor+http instead of http. +E: Failed to fetch http://vwakviie2ienjx6t.onion/ Direct connection to .onion domains is blocked by default. If you meant to use Tor remember to use tor+http instead of http. +E: Download Failed' apthelper download-file 'http://vwakviie2ienjx6t.onion/' ftp.debian.org.html diff --git a/test/integration/test-method-gpgv b/test/integration/test-method-gpgv new file mode 100755 index 0000000..bfa5af4 --- /dev/null +++ b/test/integration/test-method-gpgv @@ -0,0 +1,185 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'i386' + +cat > faked-apt-key <<EOF +#!/bin/sh +set -e +find_gpgv_status_fd() { + while [ -n "\$1" ]; do + if [ "\$1" = '--status-fd' ]; then + shift + echo "\$1" + break + fi + shift + done +} +GPGSTATUSFD="\$(find_gpgv_status_fd "\$@")" +cat >&\${GPGSTATUSFD} gpgv.output +cat gpgv.output +EOF +chmod +x faked-apt-key + +testgpgv() { + echo "$4" > gpgv.output + msgtest "$1" "$2" + gpgvmethod >method.output 2>&1 || true + testsuccess --nomsg grep "^ $2\$" method.output + msgtest 'The reported signedby key is' "${3:-empty}" + testsuccess --nomsg grep "^ Signed-By:\s\+$3\$" method.output +} + +testrun() { + testgpgv 'Good signed with long keyid' 'Good: GOODSIG 5A90D141DBAC8DAE' '34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE!' '[GNUPG:] GOODSIG 5A90D141DBAC8DAE Joe Sixpack (APT Testcases Dummy) <joe@example.org> +[GNUPG:] VALIDSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE 2016-09-01 1472742625 0 4 0 1 11 00 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' + testgpgv 'Good signed with fingerprint' 'Good: GOODSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' '34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE!' '[GNUPG:] GOODSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE Joe Sixpack (APT Testcases Dummy) <joe@example.org> +[GNUPG:] VALIDSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE 2016-09-01 1472742625 0 4 0 1 11 00 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' + + testgpgv 'Good subkey signed with long keyid' 'Good: GOODSIG 5B6896415D44C43E' '34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE, 4281DEDBD466EAE8C1F4157E5B6896415D44C43E!' '[GNUPG:] GOODSIG 5B6896415D44C43E Sebastian Subkey <subkey@example.org> +[GNUPG:] VALIDSIG 4281DEDBD466EAE8C1F4157E5B6896415D44C43E 2018-08-16 1534459673 0 4 0 1 11 00 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' + testgpgv 'Good subkey signed with fingerprint' 'Good: GOODSIG 4281DEDBD466EAE8C1F4157E5B6896415D44C43E' '34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE, 4281DEDBD466EAE8C1F4157E5B6896415D44C43E!' '[GNUPG:] GOODSIG 4281DEDBD466EAE8C1F4157E5B6896415D44C43E Sebastian Subkey <subkey@example.org> +[GNUPG:] VALIDSIG 4281DEDBD466EAE8C1F4157E5B6896415D44C43E 2018-08-16 1534459673 0 4 0 1 11 00 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' + + testgpgv 'Untrusted signed with long keyid' 'Worthless: 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' '' '[GNUPG:] GOODSIG 5A90D141DBAC8DAE Joe Sixpack (APT Testcases Dummy) <joe@example.org> +[GNUPG:] VALIDSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE 2016-09-01 1472742625 0 4 0 1 1 00 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' + testsuccess grep '^\s\+Good:\s\+$' method.output + testgpgv 'Untrusted signed with fingerprint' 'Worthless: 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' '' '[GNUPG:] GOODSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE Joe Sixpack (APT Testcases Dummy) <joe@example.org> +[GNUPG:] VALIDSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE 2016-09-01 1472742625 0 4 0 1 1 00 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' + testsuccess grep '^\s\+Good:\s\+$' method.output + + testgpgv 'Weak signed with long keyid' 'Good: GOODSIG 5A90D141DBAC8DAE' '34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE!' '[GNUPG:] GOODSIG 5A90D141DBAC8DAE Joe Sixpack (APT Testcases Dummy) <joe@example.org> +[GNUPG:] VALIDSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE 2016-09-01 1472742625 0 4 0 1 2 00 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' + testsuccess grep '^Message: Signature by key 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE uses weak digest algorithm (SHA1)$' method.output + testgpgv 'Weak signed with fingerprint' 'Good: GOODSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' '34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE!' '[GNUPG:] GOODSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE Joe Sixpack (APT Testcases Dummy) <joe@example.org> +[GNUPG:] VALIDSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE 2016-09-01 1472742625 0 4 0 1 2 00 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' + testsuccess grep '^Message: Signature by key 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE uses weak digest algorithm (SHA1)$' method.output + + testgpgv 'No Pubkey with long keyid' 'NoPubKey: NO_PUBKEY E8525D47528144E2' '' '[GNUPG:] ERRSIG E8525D47528144E2 1 11 00 1472744666 9 +[GNUPG:] NO_PUBKEY E8525D47528144E2' + testgpgv 'No Pubkey with fingerprint' 'NoPubKey: NO_PUBKEY DE66AECA9151AFA1877EC31DE8525D47528144E2' '' '[GNUPG:] ERRSIG DE66AECA9151AFA1877EC31DE8525D47528144E2 1 11 00 1472744666 9 +[GNUPG:] NO_PUBKEY DE66AECA9151AFA1877EC31DE8525D47528144E2' + + testgpgv 'Expired key with long keyid' 'Worthless: EXPKEYSIG 4BC0A39C27CE74F9 Rex Expired <rex@example.org>' '' '[GNUPG:] EXPKEYSIG 4BC0A39C27CE74F9 Rex Expired <rex@example.org> +[GNUPG:] VALIDSIG 891CC50E605796A0C6E733F74BC0A39C27CE74F9 2016-09-01 1472742629 0 4 0 1 11 00 891CC50E605796A0C6E733F74BC0A39C27CE74F9' + testgpgv 'Expired key with fingerprint' 'Worthless: EXPKEYSIG 891CC50E605796A0C6E733F74BC0A39C27CE74F9 Rex Expired <rex@example.org>' '' '[GNUPG:] EXPKEYSIG 891CC50E605796A0C6E733F74BC0A39C27CE74F9 Rex Expired <rex@example.org> +[GNUPG:] VALIDSIG 891CC50E605796A0C6E733F74BC0A39C27CE74F9 2016-09-01 1472742629 0 4 0 1 11 00 891CC50E605796A0C6E733F74BC0A39C27CE74F9' +} + +echo 'Test' > message.data +cat >message.sig <<EOF +-----BEGIN PGP SIGNATURE----- + +iQFEBAEBCgAuFiEENKjp0Y2zIPNn6OqgWpDRQdusja4FAlhT7+kQHGpvZUBleGFt +cGxlLm9yZwAKCRBakNFB26yNrjvEB/9/e3jA1l0fvPafx9LEXcH8CLpUFQK7ra9l +3M4YAH4JKQlTG1be7ixruBRlCTh3YiSs66fKMeJeUYoxA2HPhvbGFEjQFAxunEYg +X/LBKv1mQWa+Q34P5GBjK8kQdLCN+yJAiUErmWNQG3GPninrxsC9tY5jcWvHeP1k +V7N3MLnNqzXaCJM24mnKidC5IDadUdQ8qC8c3rjUexQ8vBz0eucH56jbqV5oOcvx +pjlW965dCPIf3OI8q6J7bIOjyY+u/PTcVlqPq3TUz/ti6RkVbKpLH0D4ll3lUTns +JQt/+gJCPxHUJphy8sccBKhW29CLELJIIafvU30E1nWn9szh2Xjq +=TB1F +-----END PGP SIGNATURE----- +EOF + + +gpgvmethod() { + echo "601 Configuration +Config-Item: Debug::Acquire::gpgv=1 +Config-Item: Dir::Bin::apt-key=./faked-apt-key +Config-Item: APT::Hashes::SHA1::Weak=true + +600 URI Acquire +URI: file://${TMPWORKINGDIRECTORY}/message.sig +Filename: ${TMPWORKINGDIRECTORY}/message.data +" | runapt "${METHODSDIR}/gpgv" +} +testrun + +gpgvmethod() { + echo "601 Configuration +Config-Item: Debug::Acquire::gpgv=1 +Config-Item: Dir::Bin::apt-key=./faked-apt-key +Config-Item: APT::Hashes::SHA1::Weak=true + +600 URI Acquire +URI: file://${TMPWORKINGDIRECTORY}/message.sig +Filename: ${TMPWORKINGDIRECTORY}/message.data +Signed-By: /dev/null,34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE +" | runapt "${METHODSDIR}/gpgv" +} +testrun + +gpgvmethod() { + echo "601 Configuration +Config-Item: Debug::Acquire::gpgv=1 +Config-Item: Dir::Bin::apt-key=./faked-apt-key +Config-Item: APT::Hashes::SHA1::Weak=true + +600 URI Acquire +URI: file://${TMPWORKINGDIRECTORY}/message.sig +Filename: ${TMPWORKINGDIRECTORY}/message.data +Signed-By: 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE,/dev/null +" | runapt "${METHODSDIR}/gpgv" +} +testrun + +testgpgv 'Good signed with long keyid but not signed-by key' 'NoPubKey: GOODSIG 4BC0A39C27CE74F9' '' '[GNUPG:] GOODSIG 4BC0A39C27CE74F9 Rex Expired <rex@example.org> +[GNUPG:] VALIDSIG 891CC50E605796A0C6E733F74BC0A39C27CE74F9 2016-09-01 1472742625 0 4 0 1 11 00 891CC50E605796A0C6E733F74BC0A39C27CE74F9' +testsuccess grep '^\s\+Good:\s\+$' method.output +testsuccess grep 'verified because the public key is not available: GOODSIG' method.output +testgpgv 'Good signed with fingerprint but not signed-by key' 'NoPubKey: GOODSIG 891CC50E605796A0C6E733F74BC0A39C27CE74F9' '' '[GNUPG:] GOODSIG 891CC50E605796A0C6E733F74BC0A39C27CE74F9 Rex Expired <rex@example.org> +[GNUPG:] VALIDSIG 891CC50E605796A0C6E733F74BC0A39C27CE74F9 2016-09-01 1472742625 0 4 0 1 11 00 891CC50E605796A0C6E733F74BC0A39C27CE74F9' +testsuccess grep '^\s\+Good:\s\+$' method.output +testsuccess grep 'verified because the public key is not available: GOODSIG' method.output + +gpgvmethod() { + echo "601 Configuration +Config-Item: Debug::Acquire::gpgv=1 +Config-Item: Dir::Bin::apt-key=./faked-apt-key +Config-Item: APT::Hashes::SHA1::Weak=true + +600 URI Acquire +URI: file://${TMPWORKINGDIRECTORY}/message.sig +Filename: ${TMPWORKINGDIRECTORY}/message.data +Signed-By: 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE! +" | runapt "${METHODSDIR}/gpgv" +} +testgpgv 'Exact matched subkey signed with long keyid' 'Good: GOODSIG 5A90D141DBAC8DAE' '34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE!' '[GNUPG:] GOODSIG 5A90D141DBAC8DAE Sebastian Subkey <subkey@example.org> +[GNUPG:] VALIDSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE 2018-08-16 1534459673 0 4 0 1 11 00 4281DEDBD466EAE8C1F4157E5B6896415D44C43E' +testgpgv 'Exact matched subkey signed with fingerprint' 'Good: GOODSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' '34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE!' '[GNUPG:] GOODSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE Sebastian Subkey <subkey@example.org> +[GNUPG:] VALIDSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE 2018-08-16 1534459673 0 4 0 1 11 00 4281DEDBD466EAE8C1F4157E5B6896415D44C43E' + +testgpgv 'Exact unmatched subkey signed with long keyid' 'NoPubKey: GOODSIG 5B6896415D44C43E' '' '[GNUPG:] GOODSIG 5B6896415D44C43E Sebastian Subkey <subkey@example.org> +[GNUPG:] VALIDSIG 4281DEDBD466EAE8C1F4157E5B6896415D44C43E 2018-08-16 1534459673 0 4 0 1 11 00 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' +testsuccess grep '^\s\+Good:\s\+$' method.output +testsuccess grep 'verified because the public key is not available: GOODSIG' method.output +testgpgv 'Exact unmatched subkey signed with fingerprint' 'NoPubKey: GOODSIG 4281DEDBD466EAE8C1F4157E5B6896415D44C43E' '' '[GNUPG:] GOODSIG 4281DEDBD466EAE8C1F4157E5B6896415D44C43E Sebastian Subkey <subkey@example.org> +[GNUPG:] VALIDSIG 4281DEDBD466EAE8C1F4157E5B6896415D44C43E 2018-08-16 1534459673 0 4 0 1 11 00 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE' +testsuccess grep '^\s\+Good:\s\+$' method.output +testsuccess grep 'verified because the public key is not available: GOODSIG' method.output + +insertpackage 'unstable' 'foo' 'all' '1' +setupaptarchive --no-update + +echo '[GNUPG:] GOODSIG 5A90D141DBAC8DAE Sebastian Subkey <subkey@example.org> +[GNUPG:] VALIDSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE 2018-08-16 1534459673 0 4 0 1 11 00 4281DEDBD466EAE8C1F4157E5B6896415D44C43E' > gpgv.output +testsuccess apt update -o Dir::Bin::apt-key="./faked-apt-key" -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::gpgv=1 +rm -rf rootdir/var/lib/apt/lists + +echo '[GNUPG:] GOODSIG 5A90D141DBAC8DAE Sebastian Subkey <subkey@example.org>' > gpgv.output +testfailure apt update -o Dir::Bin::apt-key="./faked-apt-key" -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::gpgv=1 +rm -rf rootdir/var/lib/apt/lists + +echo '[GNUPG:] VALIDSIG 34A8E9D18DB320F367E8EAA05A90D141DBAC8DAE 2018-08-16 1534459673 0 4 0 1 11 00 4281DEDBD466EAE8C1F4157E5B6896415D44C43E' > gpgv.output +testfailure apt update -o Dir::Bin::apt-key="./faked-apt-key" -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::gpgv=1 +rm -rf rootdir/var/lib/apt/lists + +echo '[GNUPG:] GOODSIG 5A90D141DBAC8DAE Sebastian Subkey <subkey@example.org> +[GNUPG:] VALIDSIG 0000000000000000000000000000000000000000 2018-08-16 1534459673 0 4 0 1 11 00 4281DEDBD466EAE8C1F4157E5B6896415D44C43E' > gpgv.output +testfailure apt update -o Dir::Bin::apt-key="./faked-apt-key" -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::gpgv=1 +rm -rf rootdir/var/lib/apt/lists diff --git a/test/integration/test-method-gpgv-legacy-keyring b/test/integration/test-method-gpgv-legacy-keyring new file mode 100755 index 0000000..3c3e453 --- /dev/null +++ b/test/integration/test-method-gpgv-legacy-keyring @@ -0,0 +1,35 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "amd64" + +insertpackage 'unstable' 'foo' 'all' '1' + +buildaptarchive +setupaptarchive --no-update + +testsuccessequal "Get:1 file:${TMPWORKINGDIRECTORY}/aptarchive unstable InRelease [1420 B] +Get:1 file:${TMPWORKINGDIRECTORY}/aptarchive unstable InRelease [1420 B] +Get:2 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages [246 B] +Get:3 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main Translation-en [224 B] +Reading package lists..." aptget update -q + +cat rootdir/etc/apt/trusted.gpg.d/*.gpg > rootdir/etc/apt/trusted.gpg +rm rootdir/etc/apt/trusted.gpg.d/*.gpg + +testwarningequal "Get:1 file:${TMPWORKINGDIRECTORY}/aptarchive unstable InRelease [1420 B] +Get:1 file:${TMPWORKINGDIRECTORY}/aptarchive unstable InRelease [1420 B] +Reading package lists... +W: file:${TMPWORKINGDIRECTORY}/aptarchive/dists/unstable/InRelease: Key is stored in legacy trusted.gpg keyring (${TMPWORKINGDIRECTORY}/rootdir/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details." aptget update -q + +# 2.4.0 regression: If the InRelease file was signed with two keys, fallback to trusted.gpg did not +# work: It ran the fallback, but then ignored the result, as keys were still missing. +signreleasefiles 'Joe Sixpack,Marvin Paranoid' +testwarningequal "Get:1 file:${TMPWORKINGDIRECTORY}/aptarchive unstable InRelease [1867 B] +Get:1 file:${TMPWORKINGDIRECTORY}/aptarchive unstable InRelease [1867 B] +Reading package lists... +W: file:${TMPWORKINGDIRECTORY}/aptarchive/dists/unstable/InRelease: Key is stored in legacy trusted.gpg keyring (${TMPWORKINGDIRECTORY}/rootdir/etc/apt/trusted.gpg), see the DEPRECATION section in apt-key(8) for details." aptget update -q -omsg=with-two-signatures diff --git a/test/integration/test-method-mirror b/test/integration/test-method-mirror new file mode 100755 index 0000000..ce44b86 --- /dev/null +++ b/test/integration/test-method-mirror @@ -0,0 +1,274 @@ +#!/bin/sh +set -e +umask 0 + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +umask 022 + +setupenvironment +configarchitecture "i386" + +buildsimplenativepackage 'foo' 'all' '1' 'stable' +buildsimplenativepackage 'foo' 'all' '2' 'unstable' +setupaptarchive --no-update +changetowebserver +webserverconfig 'aptwebserver::redirect::replace::/redirectme/' "http://localhost:${APTHTTPPORT}/" +addtrap 'prefix' "chmod -f -R +w $PWD/rootdir/var/lib/apt/lists || true;" +mkdir -m 755 -p rootdir/var/lib/apt +touch rootdir/var/lib/apt/extended_states + +testrundownload_internal_debs() { + local WORKDIR="$1" + shift + if [ "$WORKDIR" != '.' ]; then cd "$WORKDIR"; fi + while [ -n "$1" ]; do + if [ "$1" = 'foo=1' ]; then shift; continue; fi + local fndeb="$(echo "$1" | tr '=' '_')_all.deb" + testsuccess test -e "$fndeb" + rm -f "$fndeb" + shift + done + if [ "$WORKDIR" != '.' ]; then cd - >/dev/null; fi +} +testrundownload_internal() { + cd downloaded + testsuccess apt install --download-only -o Debug::NoLocking=true -y "$@" + testrundownload_internal_debs '../rootdir/var/cache/apt/archives' "$@" + msgtest 'Repeat the download only install test with' 'aptitude' + if dpkg-checkbuilddeps -d 'aptitude' /dev/null >/dev/null 2>&1; then + if aptitude install --download-only -o Debug::NoLocking=true -y "$@" > ../rootdir/tmp/aptitude.log 2>&1; then + msgpass + else + msgfail + cat >&2 ../rootdir/tmp/aptitude.log + fi + testrundownload_internal_debs '../rootdir/var/cache/apt/archives' "$@" + else + msgskip 'not installed' + fi + testsuccess apt download "$@" -o Debug::pkgAcquire::Worker=1 + testrundownload_internal_debs '.' "$@" + testempty find . -name '*mirror*' + cd .. +} +testrundownload() { + if [ "$(id -u)" = '0' ]; then + testrundownload_internal "$@" + else + mkdir -p rootdir/var/cache/apt/archives/partial + echo 'Debug::SetupAPTPartialDirectory::AssumeGood "true";' > rootdir/etc/apt/apt.conf.d/assumegooddirs.conf + chmod -f 555 rootdir/var/lib/apt/lists rootdir/var/lib/apt/lists/auxfiles rootdir/var/lib/apt/lists/partial + testrundownload_internal "$@" + testnotempty find rootdir/var/lib/apt/lists/auxfiles + testfilestats "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists/auxfiles" '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:555" + + chmod -f 755 rootdir/var/lib/apt/lists/auxfiles + rm -f rootdir/var/lib/apt/lists/auxfiles/* + chmod -f 555 rootdir/var/lib/apt/lists/auxfiles + testrundownload_internal "$@" + testfilestats "${TMPWORKINGDIRECTORY}/rootdir/var/lib/apt/lists/auxfiles" '%U:%G:%a' '=' "${TEST_DEFAULT_USER}:${TEST_DEFAULT_GROUP}:555" + testempty find rootdir/var/lib/apt/lists/auxfiles ! -type d + + chmod -f 755 rootdir/var/lib/apt/lists + rm -rf rootdir/var/lib/apt/lists/auxfiles + chmod -f 555 rootdir/var/lib/apt/lists + testrundownload_internal "$@" + chmod -f 755 rootdir/var/lib/apt/lists + testsuccess test ! -d rootdir/var/lib/apt/lists/auxfiles + rm -f rootdir/etc/apt/apt.conf.d/assumegooddirs.conf + fi +} +testrun() { + rm -rf rootdir/var/lib/apt/lists + testsuccess apt update #-o Debug::Acquire::mirror=1 -o Debug::Acquire::http=1 -o Debug::pkgAcquire::Worker=1 + cp -a rootdir/tmp/testsuccess.output aptupdate.output + test -z "$1" || testempty find rootdir/var/lib/apt/lists -maxdepth 1 -name "$1" -type f + test -z "$2" || testnotempty find rootdir/var/lib/apt/lists -maxdepth 1 -name "$2" -type f + testsuccess apt show foo=1 + testrundownload 'foo=1' 'foo=2' +} + +msgmsg 'basic setup' +testrun '' '' + +msgmsg 'redirect setup' +sed -i -e 's#/ stable#/redirectme stable#' rootdir/etc/apt/sources.list.d/*-stable-* +testrun '' '*_redirectme_*' + +msgmsg 'mirror file does not exist' +sed -i -e 's# http:# mirror:#' -e 's#/redirectme stable#/mirror.txt stable#' rootdir/etc/apt/sources.list.d/*-stable-* +testfailure apt update + +echo "http://localhost:${APTHTTPPORT}" > aptarchive/mirror.txt + +msgmsg 'stable mirror setup' +testrun '*_redirectme_stable_*' '*_mirror.txt_*' + +msgmsg 'all mirror setup' +sed -i -e 's# http:# mirror:#' -e 's#/ unstable#/mirror.txt unstable#' rootdir/etc/apt/sources.list.d/* +testrun '*_redirectme_stable_*' '*_mirror.txt_*' + +msgmsg 'all mirror+http setup' +sed -i -e 's# mirror:# mirror+http:#' rootdir/etc/apt/sources.list.d/* +testrun '*_redirectme_*' '*_mirror.txt_*' + +msgmsg 'stable gzipped redirect setup' +echo "http://localhost:${APTHTTPPORT}/redirectme" > aptarchive/mirror.txt +compressfile aptarchive/mirror.txt +sed -i -e 's#/mirror\.txt stable#/mirror.txt.gz stable#' rootdir/etc/apt/sources.list.d/*-stable-* +testrun '*_redirectme_*' '*_mirror.txt.gz_*' + +msgmsg 'all mirrored via file' +APTARCHIVE="$(readlink -f ./aptarchive)" +sed -i -e "s#mirror+http://localhost:${APTHTTPPORT}#mirror+file:${APTARCHIVE}#" rootdir/etc/apt/sources.list.d/* +testrun '*_localhost_*' '*_aptarchive_mirror.txt.gz_*' + +msgmsg 'fallback mirrors are used if needed' 'as usual' +sed -i -e 's#/mirror\.txt\.gz stable#/mirror.txt stable#' rootdir/etc/apt/sources.list.d/* +echo "http://localhost:${APTHTTPPORT}/failure2 priority:3 +http://localhost:${APTHTTPPORT}/redirectme priority:2 +http://localhost:${APTHTTPPORT}/failure priority:1" > aptarchive/mirror.txt +testrun '*_localhost_*' '*_aptarchive_mirror.txt_*' +testsuccessequal "Get:1 file:${APTARCHIVE}/mirror.txt Mirrorlist [$(stat -c%s 'aptarchive/mirror.txt') B] +Ign:2 http://localhost:${APTHTTPPORT}/failure stable InRelease + 404 Not Found +Ign:3 http://localhost:${APTHTTPPORT}/failure unstable InRelease + 404 Not Found" head -n 5 aptupdate.output + +msgmsg 'fallback mirrors are used if needed' 'by tags' +echo "http://localhost:${APTHTTPPORT}/failure2 priority:1 release:stable +http://localhost:${APTHTTPPORT}/redirectme priority:2 +http://localhost:${APTHTTPPORT}/failure priority:1 release:unstable" > aptarchive/mirror.txt +testrun '*_localhost_*' '*_aptarchive_mirror.txt_*' +testsuccessequal "Get:1 file:${APTARCHIVE}/mirror.txt Mirrorlist [$(stat -c%s 'aptarchive/mirror.txt') B] +Ign:2 http://localhost:${APTHTTPPORT}/failure2 stable InRelease + 404 Not Found +Ign:3 http://localhost:${APTHTTPPORT}/failure unstable InRelease + 404 Not Found" head -n 5 aptupdate.output + +msgmsg 'do not hang on' 'file:///' +sed -i -e 's#file:/tmp#file:///tmp#' rootdir/etc/apt/sources.list.d/apt-test-unstable-deb* +testrun '*_localhost_*' '*_aptarchive_mirror.txt_*' +testsuccessequal "Get:1 file:${APTARCHIVE}/mirror.txt Mirrorlist [$(stat -c%s 'aptarchive/mirror.txt') B] +Ign:2 http://localhost:${APTHTTPPORT}/failure2 stable InRelease + 404 Not Found +Ign:3 http://localhost:${APTHTTPPORT}/failure unstable InRelease + 404 Not Found" head -n 5 aptupdate.output + +changetohttpswebserver --no-rewrite +rm -f rootdir/etc/apt/sources.list.d/*-stable-* +msgmsg 'fallback mirrors are used if needed' 'random' +echo "http://localhost:${APTHTTPPORT}/failure2 priority:1 +http://localhost:${APTHTTPPORT}/redirectme priority:2 +https://localhost:${APTHTTPSPORT}/failure priority:1 +http://localhost:${APTHTTPPORT}/unused-failure1 +http://localhost:${APTHTTPPORT}/unused-failure2 +http://localhost:${APTHTTPPORT}/unused-failure3 +http://localhost:${APTHTTPPORT}/unused-failure4 +http://localhost:${APTHTTPPORT}/unused-failure5 +http://localhost:${APTHTTPPORT}/unused-failure6 +http://localhost:${APTHTTPPORT}/unused-failure7 +http://localhost:${APTHTTPPORT}/unused-failure8 +http://localhost:${APTHTTPPORT}/unused-failure9 +" > aptarchive/mirror.txt +testequalor2 "Get:1 file:${APTARCHIVE}/mirror.txt Mirrorlist [$(stat -c%s 'aptarchive/mirror.txt') B] +Ign:2 http://localhost:${APTHTTPPORT}/failure2 unstable InRelease + 404 Not Found +Ign:2 https://localhost:${APTHTTPSPORT}/failure unstable InRelease + 404 Not Found +Hit:2 http://localhost:${APTHTTPPORT}/redirectme unstable InRelease +Reading package lists... +Building dependency tree... +Reading state information... +All packages are up to date." "Get:1 file:${APTARCHIVE}/mirror.txt Mirrorlist [$(stat -c%s 'aptarchive/mirror.txt') B] +Ign:2 https://localhost:${APTHTTPSPORT}/failure unstable InRelease + 404 Not Found +Ign:2 http://localhost:${APTHTTPPORT}/failure2 unstable InRelease + 404 Not Found +Hit:2 http://localhost:${APTHTTPPORT}/failure2 unstable InRelease +Reading package lists... +Building dependency tree... +Reading state information... +All packages are up to date." apt update +testfailure grep '/unused-failure' aptarchive/webserver.log + +msgmsg 'Mirrors can be filtered by' 'type' +echo "http://localhost:${APTHTTPPORT}/failure +http://localhost:${APTHTTPPORT}/redirectme type:deb +" > aptarchive/mirror.txt +testfailure apt update +testrundownload 'foo=2' + +msgmsg 'Mirrors can be filtered by' 'by-hash type' +echo "http://localhost:${APTHTTPPORT}/failure type:foobar priority:1 +http://localhost:${APTHTTPPORT}/redirectme type:index type:deb +" > aptarchive/mirror.txt +rm -rf rootdir/var/lib/apt/lists +testsuccess apt update -o Acquire::By-Hash=force #-o Debug::pkgAcquire::Worker=1 +cp rootdir/tmp/testsuccess.output forcedbyhash.output +testfailure grep "localhost:${APTHTTPPORT}/failure" forcedbyhash.output +testrundownload 'foo=2' + +msgmsg 'The prefix for the mirrorlist is' 'passed on' +echo 'Dir::Bin::Methods::foo+mirror+file "mirror"; +Dir::Bin::Methods::foo+mirror+http "mirror"; +Dir::Bin::Methods::foo+http "http"; +Dir::Bin::Methods::foo+https "https"; +' > rootdir/etc/apt/apt.conf.d/99add-foo-method +echo "http://localhost:${APTHTTPPORT}/redirectme +" > aptarchive/mirror.txt +testsuccessequal "Get:1 file:${APTARCHIVE}/mirror.txt Mirrorlist [$(stat -c%s 'aptarchive/mirror.txt') B] +Hit:2 http://localhost:${APTHTTPPORT}/redirectme unstable InRelease +Reading package lists... +Building dependency tree... +Reading state information... +All packages are up to date." apt update +testrundownload 'foo=2' +sed -i -e 's# mirror+# foo+mirror+#' rootdir/etc/apt/sources.list.d/* +testfailure apt update +testsuccess grep 'package apt-transport-foo installed' rootdir/tmp/testfailure.output +echo 'Dir::Bin::Methods::foo+file "file";' >> rootdir/etc/apt/apt.conf.d/99add-foo-method +testsuccessequal "Get:1 foo+file:${APTARCHIVE}/mirror.txt Mirrorlist [$(stat -c%s 'aptarchive/mirror.txt') B] +Hit:2 foo+http://localhost:${APTHTTPPORT}/redirectme unstable InRelease +Reading package lists... +Building dependency tree... +Reading state information... +All packages are up to date." apt update +testrundownload 'foo=2' + +echo "file:/nonexistent/apt/archive priority:1 +http://localhost:${APTHTTPPORT}/redirectme +" > aptarchive/mirror.txt +testsuccessequal "Get:1 foo+file:${APTARCHIVE}/mirror.txt Mirrorlist [$(stat -c%s 'aptarchive/mirror.txt') B] +Get:2 foo+file:/nonexistent/apt/archive unstable InRelease +Ign:2 foo+file:/nonexistent/apt/archive unstable InRelease + File not found - /nonexistent/apt/archive/dists/unstable/InRelease (2: No such file or directory) +Hit:2 foo+http://localhost:${APTHTTPPORT}/redirectme unstable InRelease +Reading package lists... +Building dependency tree... +Reading state information... +All packages are up to date." apt update +sed -i -e "s#+file:\(//\|\)${APTARCHIVE}#+http://localhost:${APTHTTPPORT}#" rootdir/etc/apt/sources.list.d/* +testsuccess apt update +testrundownload 'foo=2' + +testsuccessequal "Get:1 foo+http://localhost:${APTHTTPPORT}/mirror.txt Mirrorlist [$(stat -c%s 'aptarchive/mirror.txt') B] +Hit:2 foo+http://localhost:${APTHTTPPORT}/redirectme unstable InRelease +Reading package lists... +Building dependency tree... +Reading state information... +All packages are up to date." apt update +testrundownload 'foo=2' + +echo "https://localhost:${APTHTTPSPORT}/ +http://localhost:${APTHTTPPORT}/redirectme" > aptarchive/mirror.txt +rm -rf rootdir/var/lib/apt/lists +sed -i -e "s# foo+# [signed-by=$(readlink -f ./keys/joesixpack.pub)] foo+#g" rootdir/etc/apt/sources.list.d/apt-test-unstable-deb* +testsuccess apt update +testrundownload 'foo=2' + +rm -rf rootdir/var/lib/apt/lists +sed -i -e "s# \[signed-by=[^]]\+\] foo+# [signed-by=$(readlink -f ./keys/marvinparanoid.pub)] foo+#g" rootdir/etc/apt/sources.list.d/apt-test-unstable-deb* +testfailure apt update diff --git a/test/integration/test-method-rred b/test/integration/test-method-rred new file mode 100755 index 0000000..5a42b84 --- /dev/null +++ b/test/integration/test-method-rred @@ -0,0 +1,249 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'i386' + +echo 'Package: coolstuff +Version: 0.8.15 +Description: collection of stuff + A lot, too much to iterate all, but at least this: + - stuff + - more stuff + - even more stuff + . + And a cow. + +Package: oldstuff +Version: 0-1 +Description: collection of outdated stuff + A lot, but of no use nowadays, but at least this: + - stuff + - more stuff + - even more stuff + . + And a dog.' > Packages + +testrred() { + msgtest "$1" "$2" + if [ -z "$3" ]; then + echo -n '' > Packages.ed + else + echo "$3" > Packages.ed + fi + rred() { + cat Packages | runapt "${METHODSDIR}/rred" "$@" + } + testsuccessequal "$4" --nomsg rred -f Packages.ed + testsuccess runapt "${METHODSDIR}/rred" -t Packages Packages-patched Packages.ed + testfileequal Packages-patched "$4" +} + +testrred 'Remove' 'first line' '1d' "$(tail -n +2 ./Packages)" +testrred 'Remove' 'empty line' '10d' "$(head -n 9 ./Packages) +$(tail -n 9 ./Packages)" +testrred 'Remove' 'line in a paragraph' '5d' "$(head -n 4 ./Packages) +$(tail -n 14 ./Packages)" +testrred 'Remove' 'last line' '19d' "$(head -n -1 ./Packages)" +testrred 'Remove' 'multiple single lines' '17d +7d' "$(sed -e '/^ - even more stuff$/ d' ./Packages)" +testrred 'Remove' 'first paragraph' '1,10d' "$(tail -n 9 ./Packages)" +testrred 'Remove' 'a few lines in the middle' '5,14d' "$(head -n 4 ./Packages) +$(tail -n 5 ./Packages)" +testrred 'Remove' 'second paragraph' '10,19d' "$(head -n 9 ./Packages)" +testrred 'Mass Remove' 'all stuff lines' '15,17d +13d +11d +5,7d +3d +1d' "$(sed '/stuff/ d' ./Packages)" + +testrred 'Single line add' 'first line' '0a +Format: 3.0 (native) +.' "Format: 3.0 (native) +$(cat ./Packages)" +testrred 'Single line add' 'last line' '19a +Multi-Arch: foreign +.' "$(cat ./Packages) +Multi-Arch: foreign" +testrred 'Single line add' 'middle' '9a +Multi-Arch: foreign +.' "$(head -n 9 ./Packages) +Multi-Arch: foreign +$(tail -n 10 ./Packages)" + +testrred 'Multi line add' 'first line' '0a +Format: 3.0 (native) +Source: apt +.' "Format: 3.0 (native) +Source: apt +$(cat ./Packages)" +testrred 'Multi line add' 'last line' '19a +Multi-Arch: foreign +Homepage: https://debian.org +.' "$(cat ./Packages) +Multi-Arch: foreign +Homepage: https://debian.org" +testrred 'Multi line add' 'middle' '9a +Multi-Arch: foreign +Homepage: https://debian.org +.' "$(head -n 9 ./Packages) +Multi-Arch: foreign +Homepage: https://debian.org +$(tail -n 10 ./Packages)" + +testrred 'Single line change' 'first line' '1c +Package: supercoolstuff +.' "Package: supercoolstuff +$(tail -n +2 ./Packages)" +testrred 'Single line change' 'in the middle' '9c + And a super cow. +.' "$(head -n 8 ./Packages) + And a super cow. +$(tail -n 10 ./Packages)" +testrred 'Single line change' 'an empty line' '10c + +.' "$(head -n 9 ./Packages) + +$(tail -n 9 ./Packages)" +testrred 'Single line change' 'a spacy line' '10c + +.' "$(head -n 9 ./Packages) + +$(tail -n 9 ./Packages)" +testrred 'Single line change' 'last line' '19c + And a cat. +.' "$(head -n -1 ./Packages) + And a cat." + +testrred 'Multi line change' 'exchange' '5,7c + - good stuff + - more good stuff + - even more good stuff +.' "$(head -n 4 ./Packages) + - good stuff + - more good stuff + - even more good stuff +$(tail -n 12 ./Packages)" +testrred 'Multi line change' 'less' '5,7c + - good stuff + - more good stuff +.' "$(head -n 4 ./Packages) + - good stuff + - more good stuff +$(tail -n 12 ./Packages)" +testrred 'Multi line change' 'more' '5,7c + - good stuff + - more good stuff + - even more good stuff + - bonus good stuff +.' "$(head -n 4 ./Packages) + - good stuff + - more good stuff + - even more good stuff + - bonus good stuff +$(tail -n 12 ./Packages)" +testrred 'Patch file' 'empty' '' "$(cat ./Packages)" + +failrred() { + msgtest 'Failure caused by' "$1" + echo "$2" > Packages.ed + rred() { + cat Packages | runapt "${METHODSDIR}/rred" "$@" + } + testfailure --nomsg rred -f Packages.ed + testfailure runapt "${METHODSDIR}/rred" -t Packages Packages-patched Packages.ed +} + +failrred 'Bogus content' '<html> +</html>' + +# not a problem per-se, but we want our parser to be really strict +failrred 'Empty line patch file' ' +' +failrred 'Empty line before command' ' +1d' +failrred 'Empty line after command' '1d +' +failrred 'Empty line between commands' '17d + +7d' +failrred 'Empty spaces lines before command' ' +1d' +failrred 'Empty spaces lines after command' '1d + ' +failrred 'Empty spaces lines between commands' '17d + +7d' + +# the line before the first one can't be deleted/changed +failrred 'zero line delete' '0d' +failrred 'zero line change' '0c +Package: supercoolstuff +.' +# and this makes no sense at all +failrred 'negative line delete' '-1d' +failrred 'negative line change' '-1c +Package: supercoolstuff +.' +failrred 'negative line add' '-1a +Package: supercoolstuff +.' +failrred 'Wrong order of commands' '7d +17d' +failrred 'End before start' '7,6d' + +# deal correctly with patch merging +mergepatches() { + local CONTENT="$1" + shift + testsuccess runapt "${METHODSDIR}/rred" Packages.ed-* "$@" + cp -a rootdir/tmp/testsuccess.output patch.ed + if [ "$#" = '0' ]; then + testfileequal 'patch.ed' "$CONTENT" + fi +} +createpatch() { + echo "$2" +} + +createpatch 'Change dog to cat + kitties' '19c + And a cat! + +Package: extra-kittens +Version: unavailable +Description: fix later +.' > Packages.ed-0 +createpatch 'Remove more stuff and fix later' '23d, +6d' > Packages.ed-1 +testsuccess apthelper cat-file --compress gzip Packages.ed-1 +mv rootdir/tmp/testsuccess.output Packages.ed-1.gz +testsuccess rm Packages.ed-1 +touch Packages.ed-2 # an empty patch +createpatch 'Remove (old) dog paragraph' '10,19d' > Packages.ed-3 +mergepatches '11,19c +Package: extra-kittens +Version: unavailable +. +6d' -C 'gzip' +mv patch.ed patch.ed.gz +mergepatches '11,19c +Package: extra-kittens +Version: unavailable +. +6d' +testfileequal patch.ed "$(apthelper cat-file patch.ed.gz)" +testrred 'Apply' 'merged patch' "$(cat patch.ed)" 'Package: coolstuff +Version: 0.8.15 +Description: collection of stuff + A lot, too much to iterate all, but at least this: + - stuff + - even more stuff + . + And a cow. + +Package: extra-kittens +Version: unavailable' diff --git a/test/integration/test-multiarch-allowed b/test/integration/test-multiarch-allowed new file mode 100755 index 0000000..fc63d0e --- /dev/null +++ b/test/integration/test-multiarch-allowed @@ -0,0 +1,326 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' + +insertpackage 'unstable' 'foo' 'amd64,i386' '1' 'Multi-Arch: allowed' +insertpackage 'unstable' 'needsfoo' 'amd64,i386' '1' 'Depends: foo' +insertpackage 'unstable' 'needsfooany' 'amd64,i386' '1' 'Depends: foo:any' +insertpackage 'unstable' 'needsfoover1' 'amd64,i386' '1' 'Depends: foo:any (>= 1)' +insertpackage 'unstable' 'needsfoover2' 'amd64,i386' '1' 'Depends: foo:any (>= 2)' +insertpackage 'unstable' 'hatesfoo' 'amd64' '1' 'Conflicts: foo' +insertpackage 'unstable' 'hatesfooany' 'amd64' '1' 'Conflicts: foo:any' # this makes no sense…? +insertpackage 'unstable' 'hatesfoonative' 'amd64' '1' 'Conflicts: foo:amd64' + +insertpackage 'unstable' 'coolfoo' 'amd64' '1' 'Multi-Arch:allowed +Provides: coolbar' +insertpackage 'unstable' 'coolfoover' 'amd64' '1' 'Multi-Arch:allowed +Provides: coolbar (= 2)' +insertpackage 'unstable' 'needscoolfoo' 'amd64,i386' '1' 'Depends: coolfoo, coolbar' +insertpackage 'unstable' 'needscoolfooany' 'amd64,i386' '1' 'Depends: coolfoo:any, coolbar:any' +insertpackage 'unstable' 'needscoolfoover0' 'amd64' '1' 'Depends: coolfoo:any (>= 1), coolbar:any' +insertpackage 'unstable' 'needscoolfoover1' 'amd64' '1' 'Depends: coolfoo:any (>= 1), coolbar:any (>= 1)' +insertpackage 'unstable' 'needscoolfoover2' 'amd64' '1' 'Depends: coolfoo:any (>= 2), coolbar:any (>= 1)' +insertpackage 'unstable' 'needscoolfoover3' 'amd64' '1' 'Depends: coolfoo:any (>= 2), coolbar:any (>= 3)' + +setupaptarchive + +BADPREFIX='Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: +' + +solveableinsinglearch0() { + testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + foo +The following NEW packages will be installed: + foo needsfoo +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1 unstable [amd64]) +Inst needsfoo (1 unstable [amd64]) +Conf foo (1 unstable [amd64]) +Conf needsfoo (1 unstable [amd64])' aptget install needsfoo -s +} +solveableinsinglearch0 +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + foo:i386 +The following NEW packages will be installed: + foo:i386 needsfoo:i386 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst foo:i386 (1 unstable [i386]) +Inst needsfoo:i386 (1 unstable [i386]) +Conf foo:i386 (1 unstable [i386]) +Conf needsfoo:i386 (1 unstable [i386])' aptget install needsfoo:i386 -s +# FIXME: same problem, but two different unmet dependency messages depending on install order +testfailureequal "$BADPREFIX +The following packages have unmet dependencies: + foo : Conflicts: foo:i386 but 1 is to be installed + foo:i386 : Conflicts: foo but 1 is to be installed +E: Unable to correct problems, you have held broken packages." aptget install needsfoo:i386 foo:amd64 -s +testfailureequal "$BADPREFIX +The following packages have unmet dependencies: + needsfoo:i386 : Depends: foo:i386 but it is not installable +E: Unable to correct problems, you have held broken packages." aptget install foo:amd64 needsfoo:i386 -s +testfailureequal "$BADPREFIX +The following packages have unmet dependencies: + foo : Conflicts: foo:i386 but 1 is to be installed + foo:i386 : Conflicts: foo but 1 is to be installed +E: Unable to correct problems, you have held broken packages." aptget install needsfoo foo:i386 -s + +solveableinsinglearch1() { + testsuccessequal "Reading package lists... +Building dependency tree... +The following additional packages will be installed: + foo +The following NEW packages will be installed: + foo $1 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1 unstable [amd64]) +Inst $1 (1 unstable [amd64]) +Conf foo (1 unstable [amd64]) +Conf $1 (1 unstable [amd64])" aptget install $1 -s +} + +testneedsfooallgood() { + solveableinsinglearch1 $1 + testsuccessequal "Reading package lists... +Building dependency tree... +The following additional packages will be installed: + foo +The following NEW packages will be installed: + foo $1:i386 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1 unstable [amd64]) +Inst $1:i386 (1 unstable [i386]) +Conf foo (1 unstable [amd64]) +Conf $1:i386 (1 unstable [i386])" aptget install $1:i386 -s + testsuccessequal "Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + foo:i386 $1:i386 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst foo:i386 (1 unstable [i386]) +Inst $1:i386 (1 unstable [i386]) +Conf foo:i386 (1 unstable [i386]) +Conf $1:i386 (1 unstable [i386])" aptget install $1:i386 foo:i386 -s + testsuccessequal "Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + foo:i386 $1 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst foo:i386 (1 unstable [i386]) +Inst $1 (1 unstable [amd64]) +Conf foo:i386 (1 unstable [i386]) +Conf $1 (1 unstable [amd64])" aptget install $1 foo:i386 -s +} +testneedsfooallgood 'needsfooany' +testneedsfooallgood 'needsfoover1' + +NEEDSFOO2NATIVE="$BADPREFIX +The following packages have unmet dependencies: + needsfoover2 : Depends: foo:any (>= 2) +E: Unable to correct problems, you have held broken packages." +NEEDSFOO2FOREIGN="$BADPREFIX +The following packages have unmet dependencies: + needsfoover2:i386 : Depends: foo:any (>= 2) +E: Unable to correct problems, you have held broken packages." +testfailureequal "$NEEDSFOO2NATIVE" aptget install needsfoover2 -s +testfailureequal "$NEEDSFOO2FOREIGN" aptget install needsfoover2:i386 -s +testfailureequal "$NEEDSFOO2FOREIGN" aptget install needsfoover2:i386 foo:i386 -s +testfailureequal "$NEEDSFOO2NATIVE" aptget install needsfoover2 foo:i386 -s + +solveableinsinglearch2() { + testfailureequal "$BADPREFIX +The following packages have unmet dependencies: + hatesfoo : Conflicts: foo but 1 is to be installed +E: Unable to correct problems, you have held broken packages." aptget install foo hatesfoo -s + # the message differs slightly between single and multiarch + testfailuremsg 'E: Unable to correct problems, you have held broken packages.' aptget install foo hatesfooany -s + testfailureequal "$BADPREFIX +The following packages have unmet dependencies: + hatesfoonative : Conflicts: foo:amd64 +E: Unable to correct problems, you have held broken packages." aptget install foo hatesfoonative -s +} +solveableinsinglearch2 +testfailureequal "$BADPREFIX +The following packages have unmet dependencies: + hatesfoo : Conflicts: foo:i386 but 1 is to be installed +E: Unable to correct problems, you have held broken packages." aptget install foo:i386 hatesfoo -s +testfailureequal "$BADPREFIX +The following packages have unmet dependencies: + hatesfooany : Conflicts: foo:any +E: Unable to correct problems, you have held broken packages." aptget install foo:i386 hatesfooany -s +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + foo:i386 hatesfoonative +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst foo:i386 (1 unstable [i386]) +Inst hatesfoonative (1 unstable [amd64]) +Conf foo:i386 (1 unstable [i386]) +Conf hatesfoonative (1 unstable [amd64])' aptget install foo:i386 hatesfoonative -s + +testfailureequal "$BADPREFIX +The following packages have unmet dependencies: + needscoolfoo:i386 : Depends: coolfoo:i386 but it is not installable + Depends: coolbar:i386 but it is not installable +E: Unable to correct problems, you have held broken packages." aptget install needscoolfoo:i386 -s +solveneedscoolfooanyin() { + local NEEDSCOOL='needscoolfooany' + if [ "$1" != 'amd64' ]; then NEEDSCOOL="${NEEDSCOOL}:$1"; fi + testsuccessequal "Reading package lists... +Building dependency tree... +The following additional packages will be installed: + coolfoo +The following NEW packages will be installed: + coolfoo $NEEDSCOOL +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst coolfoo (1 unstable [amd64]) +Inst $NEEDSCOOL (1 unstable [$1]) +Conf coolfoo (1 unstable [amd64]) +Conf $NEEDSCOOL (1 unstable [$1])" aptget install $NEEDSCOOL -s +} +solveneedscoolfooanyin 'i386' + +solveableinsinglearch3() { + testsuccessequal "Reading package lists... +Building dependency tree... +The following additional packages will be installed: + coolfoo +The following NEW packages will be installed: + coolfoo needscoolfoo +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst coolfoo (1 unstable [amd64]) +Inst needscoolfoo (1 unstable [amd64]) +Conf coolfoo (1 unstable [amd64]) +Conf needscoolfoo (1 unstable [amd64])" aptget install needscoolfoo -s + testsuccessequal "Reading package lists... +Building dependency tree... +The following additional packages will be installed: + coolfoo +The following NEW packages will be installed: + coolfoo coolfoover needscoolfoo +0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. +Inst coolfoo (1 unstable [amd64]) +Inst coolfoover (1 unstable [amd64]) +Inst needscoolfoo (1 unstable [amd64]) +Conf coolfoo (1 unstable [amd64]) +Conf coolfoover (1 unstable [amd64]) +Conf needscoolfoo (1 unstable [amd64])" aptget install needscoolfoo coolfoover -s + solveneedscoolfooanyin 'amd64' + testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + coolfoo +The following NEW packages will be installed: + coolfoo needscoolfoover0 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst coolfoo (1 unstable [amd64]) +Inst needscoolfoover0 (1 unstable [amd64]) +Conf coolfoo (1 unstable [amd64]) +Conf needscoolfoover0 (1 unstable [amd64])' aptget install needscoolfoover0 -s + testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + coolfoo coolfoover +The following NEW packages will be installed: + coolfoo coolfoover needscoolfoover1 +0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. +Inst coolfoo (1 unstable [amd64]) +Inst coolfoover (1 unstable [amd64]) +Inst needscoolfoover1 (1 unstable [amd64]) +Conf coolfoo (1 unstable [amd64]) +Conf coolfoover (1 unstable [amd64]) +Conf needscoolfoover1 (1 unstable [amd64])' aptget install needscoolfoover1 -s + testfailureequal "$BADPREFIX +The following packages have unmet dependencies: + needscoolfoover2 : Depends: coolfoo:any (>= 2) +E: Unable to correct problems, you have held broken packages." aptget install needscoolfoover2 -s + testfailureequal "$BADPREFIX +The following packages have unmet dependencies: + needscoolfoover3 : Depends: coolfoo:any (>= 2) + Depends: coolbar:any (>= 3) +E: Unable to correct problems, you have held broken packages." aptget install needscoolfoover3 -s +} +solveableinsinglearch3 + +msgmsg 'switch to single architecture' +configarchitecture 'amd64' + +solveableinsinglearch0 +testfailureequal 'Reading package lists... +Building dependency tree... +E: Unable to locate package needsfoo:i386' aptget install needsfoo:i386 -s + +solveableinsinglearch1 'needsfooany' +solveableinsinglearch1 'needsfoover1' +testfailureequal "$NEEDSFOO2NATIVE" aptget install needsfoover2 -s +solveableinsinglearch2 +solveableinsinglearch3 + +testempty dpkg -C +msgmsg 'multi-arch with barbarian archs' +configarchitecture 'amd64' 'i386' +insertinstalledpackage 'foo' 'armel' '1' 'Multi-Arch: allowed' +insertinstalledpackage 'coolfoo' 'armel' '1' 'Multi-Arch:allowed +Provides: coolbar' +insertinstalledpackage 'bar-needer' 'armel' '1.0' 'Depends: coolbar' +insertinstalledpackage 'bar-any-needer' 'armel' '1.0' 'Depends: coolbar:any' +insertinstalledpackage 'bar-armel-needer' 'armel' '1.0' 'Depends: coolbar:armel' + +testsuccess aptget check +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + foo +The following packages will be REMOVED: + foo:armel +The following NEW packages will be installed: + foo needsfooany +0 upgraded, 2 newly installed, 1 to remove and 0 not upgraded. +Remv foo:armel [1] +Inst foo (1 unstable [amd64]) +Inst needsfooany (1 unstable [amd64]) +Conf foo (1 unstable [amd64]) +Conf needsfooany (1 unstable [amd64])' aptget install needsfooany -s +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + foo +The following packages will be REMOVED: + foo:armel +The following NEW packages will be installed: + foo needsfooany:i386 +0 upgraded, 2 newly installed, 1 to remove and 0 not upgraded. +Remv foo:armel [1] +Inst foo (1 unstable [amd64]) +Inst needsfooany:i386 (1 unstable [i386]) +Conf foo (1 unstable [amd64]) +Conf needsfooany:i386 (1 unstable [i386])' aptget install needsfooany:i386 -s +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + coolfoo +The following packages will be REMOVED: + bar-armel-needer:armel bar-needer:armel coolfoo:armel +The following NEW packages will be installed: + coolfoo needscoolfoover0 +0 upgraded, 2 newly installed, 3 to remove and 0 not upgraded. +Remv bar-armel-needer:armel [1.0] +Remv bar-needer:armel [1.0] +Remv coolfoo:armel [1] [bar-any-needer:armel ] +Inst coolfoo (1 unstable [amd64]) +Inst needscoolfoover0 (1 unstable [amd64]) +Conf coolfoo (1 unstable [amd64]) +Conf needscoolfoover0 (1 unstable [amd64])' aptget install needscoolfoover0 -s diff --git a/test/integration/test-multiarch-barbarian b/test/integration/test-multiarch-barbarian new file mode 100755 index 0000000..293f227 --- /dev/null +++ b/test/integration/test-multiarch-barbarian @@ -0,0 +1,243 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' 'i386' + +buildsimplenativepackage 'foreign-foo' 'amd64,i386' '1' 'stable' 'Multi-Arch: foreign +Provides: foreign-bar' +buildsimplenativepackage 'allowed-foo' 'amd64,i386' '1' 'stable' 'Multi-Arch: allowed +Provides: allowed-bar' +buildsimplenativepackage 'needs-foreign-foo' 'amd64,i386' '1' 'stable' 'Depends: foreign-foo' +buildsimplenativepackage 'needs-foreign-bar' 'amd64,i386' '1' 'stable' 'Depends: foreign-bar' +buildsimplenativepackage 'needs-allowed-foo' 'amd64,i386' '1' 'stable' 'Depends: allowed-foo' +buildsimplenativepackage 'needs-allowed-bar' 'amd64,i386' '1' 'stable' 'Depends: allowed-bar' +buildsimplenativepackage 'needs-allowed-foo-any' 'amd64,i386' '1' 'stable' 'Depends: allowed-foo:any' +buildsimplenativepackage 'needs-allowed-bar-any' 'amd64,i386' '1' 'stable' 'Depends: allowed-bar:any' + +setupaptarchive + +simulateinstall() { + testsuccessequal "Reading package lists... +Building dependency tree... +The following additional packages will be installed: + $1-foo +The following NEW packages will be installed: + $1-foo needs-$1-$2 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst $1-foo (1 stable [amd64]) +Inst needs-$1-$2 (1 stable [amd64]) +Conf $1-foo (1 stable [amd64]) +Conf needs-$1-$2 (1 stable [amd64])" apt install needs-$1-$2 -s +} +simulateinstall 'foreign' 'foo' +simulateinstall 'foreign' 'bar' +simulateinstall 'allowed' 'foo' +simulateinstall 'allowed' 'bar' +simulateinstall 'allowed' 'foo-any' +simulateinstall 'allowed' 'bar-any' + +# install a barbaric architecture which wont do +insertinstalledpackage 'foreign-foo' 'armel' '1' 'Multi-Arch: foreign +Provides: foreign-bar' +insertinstalledpackage 'allowed-foo' 'armel' '1' 'Multi-Arch: allowed +Provides: allowed-bar' +testdpkginstalled foreign-foo:armel allowed-foo:armel + +runandsimulateaptinstall() { + local MSG="$1" + shift + testsuccessequal "$MSG" apt install -s "$@" + testsuccess apt install -y "$@" +} + +runandsimulateaptinstall 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + allowed-foo foreign-foo +The following packages will be REMOVED: + allowed-foo:armel foreign-foo:armel +The following NEW packages will be installed: + allowed-foo foreign-foo needs-allowed-bar-any needs-allowed-foo-any + needs-foreign-bar needs-foreign-foo +0 upgraded, 6 newly installed, 2 to remove and 0 not upgraded. +Remv allowed-foo:armel [1] +Remv foreign-foo:armel [1] +Inst allowed-foo (1 stable [amd64]) +Inst foreign-foo (1 stable [amd64]) +Inst needs-allowed-bar-any (1 stable [amd64]) +Inst needs-allowed-foo-any (1 stable [amd64]) +Inst needs-foreign-bar (1 stable [amd64]) +Inst needs-foreign-foo (1 stable [amd64]) +Conf allowed-foo (1 stable [amd64]) +Conf foreign-foo (1 stable [amd64]) +Conf needs-allowed-bar-any (1 stable [amd64]) +Conf needs-allowed-foo-any (1 stable [amd64]) +Conf needs-foreign-bar (1 stable [amd64]) +Conf needs-foreign-foo (1 stable [amd64])' needs-foreign-foo needs-foreign-bar needs-allowed-foo-any needs-allowed-bar-any +runandsimulateaptinstall 'Reading package lists... +Building dependency tree... +Reading state information... +The following NEW packages will be installed: + needs-allowed-bar needs-allowed-foo +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst needs-allowed-bar (1 stable [amd64]) +Inst needs-allowed-foo (1 stable [amd64]) +Conf needs-allowed-bar (1 stable [amd64]) +Conf needs-allowed-foo (1 stable [amd64])' needs-allowed-foo needs-allowed-bar +testdpkginstalled foreign-foo:amd64 allowed-foo:amd64 needs-foreign-foo needs-foreign-bar needs-allowed-foo-any needs-allowed-bar-any +testempty dpkg -C + +# check if dependencies between barbarians work +testsuccess aptget check +configarchitecture 'i386' +testsuccess aptget check +configarchitecture 'amd64' 'i386' + +testsuccess apt purge -y needs-foreign-foo needs-foreign-bar needs-allowed-foo-any needs-allowed-bar-any +testdpkgnotinstalled foreign-foo:armel allowed-foo:armel needs-foreign-foo needs-foreign-bar needs-allowed-foo-any needs-allowed-bar-any +testdpkginstalled foreign-foo:amd64 allowed-foo:amd64 needs-allowed-foo needs-allowed-bar + +runandsimulateaptinstall 'Reading package lists... +Building dependency tree... +Reading state information... +The following additional packages will be installed: + allowed-foo:i386 foreign-foo:i386 +The following packages will be REMOVED: + allowed-foo foreign-foo needs-allowed-bar needs-allowed-foo +The following NEW packages will be installed: + allowed-foo:i386 foreign-foo:i386 needs-allowed-bar-any + needs-allowed-foo-any needs-foreign-bar needs-foreign-foo +0 upgraded, 6 newly installed, 4 to remove and 0 not upgraded. +Remv needs-allowed-foo [1] +Remv needs-allowed-bar [1] +Remv allowed-foo [1] +Remv foreign-foo [1] +Inst allowed-foo:i386 (1 stable [i386]) +Inst foreign-foo:i386 (1 stable [i386]) +Inst needs-allowed-bar-any (1 stable [amd64]) +Inst needs-allowed-foo-any (1 stable [amd64]) +Inst needs-foreign-bar (1 stable [amd64]) +Inst needs-foreign-foo (1 stable [amd64]) +Conf allowed-foo:i386 (1 stable [i386]) +Conf foreign-foo:i386 (1 stable [i386]) +Conf needs-allowed-bar-any (1 stable [amd64]) +Conf needs-allowed-foo-any (1 stable [amd64]) +Conf needs-foreign-bar (1 stable [amd64]) +Conf needs-foreign-foo (1 stable [amd64])' needs-foreign-foo needs-foreign-bar needs-allowed-foo-any needs-allowed-bar-any foreign-foo:amd64- allowed-foo:amd64- + +runandsimulateaptinstall 'Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + needs-allowed-bar-any needs-allowed-foo-any needs-foreign-bar + needs-foreign-foo +The following NEW packages will be installed: + needs-allowed-bar-any:i386 needs-allowed-foo-any:i386 needs-foreign-bar:i386 + needs-foreign-foo:i386 +0 upgraded, 4 newly installed, 4 to remove and 0 not upgraded. +Remv needs-allowed-bar-any [1] +Remv needs-allowed-foo-any [1] +Remv needs-foreign-bar [1] +Remv needs-foreign-foo [1] +Inst needs-allowed-bar-any:i386 (1 stable [i386]) +Inst needs-allowed-foo-any:i386 (1 stable [i386]) +Inst needs-foreign-bar:i386 (1 stable [i386]) +Inst needs-foreign-foo:i386 (1 stable [i386]) +Conf needs-allowed-bar-any:i386 (1 stable [i386]) +Conf needs-allowed-foo-any:i386 (1 stable [i386]) +Conf needs-foreign-bar:i386 (1 stable [i386]) +Conf needs-foreign-foo:i386 (1 stable [i386])' needs-foreign-foo:i386 needs-foreign-bar:i386 needs-allowed-foo-any:i386 needs-allowed-bar-any:i386 + +runandsimulateaptinstall 'Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + allowed-foo:i386 foreign-foo:i386 +The following NEW packages will be installed: + allowed-foo foreign-foo +0 upgraded, 2 newly installed, 2 to remove and 0 not upgraded. +Remv allowed-foo:i386 [1] [needs-allowed-bar-any:i386 needs-allowed-foo-any:i386 ] +Inst allowed-foo (1 stable [amd64]) +Remv foreign-foo:i386 [1] [needs-foreign-bar:i386 needs-foreign-foo:i386 ] +Inst foreign-foo (1 stable [amd64]) +Conf allowed-foo (1 stable [amd64]) +Conf foreign-foo (1 stable [amd64])' foreign-foo:amd64 allowed-foo:amd64 +testdpkginstalled foreign-foo:amd64 needs-foreign-foo:i386 needs-foreign-bar:i386 + +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +The following additional packages will be installed: + allowed-foo:i386 +The following packages will be REMOVED: + allowed-foo +The following NEW packages will be installed: + allowed-foo:i386 needs-allowed-bar:i386 needs-allowed-foo:i386 +0 upgraded, 3 newly installed, 1 to remove and 0 not upgraded. +Remv allowed-foo [1] [needs-allowed-bar-any:i386 needs-allowed-foo-any:i386 ] +Inst allowed-foo:i386 (1 stable [i386]) +Inst needs-allowed-bar:i386 (1 stable [i386]) +Inst needs-allowed-foo:i386 (1 stable [i386]) +Conf allowed-foo:i386 (1 stable [i386]) +Conf needs-allowed-bar:i386 (1 stable [i386]) +Conf needs-allowed-foo:i386 (1 stable [i386])' apt install needs-allowed-foo:i386 needs-allowed-bar:i386 -s + +testsuccess aptget check +# make amd64 packages barbaric: the needs are i386 native, the providers amd64 barbaric! +configarchitecture 'i386' +testfailureequal "Reading package lists... +Building dependency tree... +Reading state information... +You might want to run 'apt --fix-broken install' to correct these. +The following packages have unmet dependencies: + needs-allowed-bar-any : Depends: allowed-bar:any + needs-allowed-foo-any : Depends: allowed-foo:any + needs-foreign-bar : Depends: foreign-bar + needs-foreign-foo : Depends: foreign-foo but it is not installed +E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution)." aptget check + +# make i386 packages barbaric, so the providers are now native +configarchitecture 'amd64' +testsuccess aptget check + +testsuccess apt install -y needs-allowed-foo needs-allowed-bar +testsuccess dpkg --remove --force-depends foreign-foo:amd64 allowed-foo:amd64 +testdpkginstalled needs-foreign-foo:i386 needs-foreign-bar:i386 needs-allowed-foo needs-allowed-bar needs-allowed-foo-any:i386 needs-allowed-bar-any:i386 +testfailure aptget check + +testsuccessequal 'Reading package lists... +Building dependency tree... +Reading state information... +Correcting dependencies... Done +The following additional packages will be installed: + allowed-foo foreign-foo +The following NEW packages will be installed: + allowed-foo foreign-foo +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst allowed-foo (1 stable [amd64]) [needs-foreign-bar:i386 needs-foreign-foo:i386 ] +Inst foreign-foo (1 stable [amd64]) +Conf allowed-foo (1 stable [amd64]) +Conf foreign-foo (1 stable [amd64])' apt install --fix-broken -s +# note that dpkg would not accept this as its a barbaric arch, +# but it is the easiest to try if the dependencies as such work in apt +testsuccessequal "Reading package lists... +Building dependency tree... +Reading state information... +Correcting dependencies... Done +Note, selecting 'foreign-foo:i386' instead of './incoming/foreign-foo_1_i386.deb' +Note, selecting 'allowed-foo:i386' instead of './incoming/allowed-foo_1_i386.deb' +The following packages will be REMOVED: + needs-allowed-bar needs-allowed-foo +The following NEW packages will be installed: + allowed-foo:i386 foreign-foo:i386 +0 upgraded, 2 newly installed, 2 to remove and 0 not upgraded. +Remv needs-allowed-bar [1] [needs-foreign-bar:i386 needs-foreign-foo:i386 needs-allowed-bar-any:i386 needs-allowed-foo-any:i386 needs-allowed-foo:amd64 ] +Remv needs-allowed-foo [1] [needs-foreign-bar:i386 needs-foreign-foo:i386 needs-allowed-bar-any:i386 needs-allowed-foo-any:i386 ] +Inst allowed-foo:i386 (1 local-deb [i386]) [needs-foreign-bar:i386 needs-foreign-foo:i386 ] +Inst foreign-foo:i386 (1 local-deb [i386]) +Conf allowed-foo:i386 (1 local-deb [i386]) +Conf foreign-foo:i386 (1 local-deb [i386])" apt install --fix-broken -s ./incoming/foreign-foo_1_i386.deb ./incoming/allowed-foo_1_i386.deb diff --git a/test/integration/test-multiarch-foreign b/test/integration/test-multiarch-foreign new file mode 100755 index 0000000..713b27b --- /dev/null +++ b/test/integration/test-multiarch-foreign @@ -0,0 +1,287 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' 'armel' + +insertpackage 'unstable' 'cool-foo' 'amd64,i386' '1.0' 'Depends: foo' +insertpackage 'unstable' 'cool-foo-x64' 'amd64' '1.0' 'Depends: foo:amd64' +insertpackage 'unstable' 'cool-foo-x32' 'amd64' '1.0' 'Depends: foo:i386' +insertpackage 'unstable' 'hates-foo' 'amd64,i386' '1.0' 'Conflicts: foo' +insertpackage 'unstable' 'hates-foo-x64' 'amd64' '1.0' 'Conflicts: foo:amd64' +insertpackage 'unstable' 'hates-foo-x32' 'amd64' '1.0' 'Conflicts: foo:i386' +insertpackage 'unstable' 'foo' 'amd64,i386,armel' '1.0' 'Multi-Arch: foreign' + +insertpackage 'unstable' 'cool-bar' 'amd64,i386' '1.0' 'Depends: bar-provider' +insertpackage 'unstable' 'cool-bar-x64' 'amd64' '1.0' 'Depends: bar-provider:amd64' +insertpackage 'unstable' 'cool-bar-x32' 'amd64' '1.0' 'Depends: bar-provider:i386' +insertpackage 'unstable' 'hates-bar' 'amd64,i386' '1.0' 'Conflicts: bar-provider' +insertpackage 'unstable' 'hates-bar-x64' 'amd64' '1.0' 'Conflicts: bar-provider:amd64' +insertpackage 'unstable' 'hates-bar-x32' 'amd64' '1.0' 'Conflicts: bar-provider:i386' +insertpackage 'unstable' 'bar' 'amd64,i386,armel' '1.0' 'Provides: bar-provider +Multi-Arch: foreign' + +setupaptarchive + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + foo +The following NEW packages will be installed: + cool-foo:i386 foo +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1.0 unstable [amd64]) +Inst cool-foo:i386 (1.0 unstable [i386]) +Conf foo (1.0 unstable [amd64]) +Conf cool-foo:i386 (1.0 unstable [i386])' aptget install cool-foo:i386 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + cool-foo foo:i386 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst foo:i386 (1.0 unstable [i386]) +Inst cool-foo (1.0 unstable [amd64]) +Conf foo:i386 (1.0 unstable [i386]) +Conf cool-foo (1.0 unstable [amd64])' aptget install cool-foo:amd64 foo:i386 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + cool-foo foo:armel +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst foo:armel (1.0 unstable [armel]) +Inst cool-foo (1.0 unstable [amd64]) +Conf foo:armel (1.0 unstable [armel]) +Conf cool-foo (1.0 unstable [amd64])' aptget install cool-foo:amd64 foo:armel -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + bar +The following NEW packages will be installed: + bar cool-bar:i386 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst bar (1.0 unstable [amd64]) +Inst cool-bar:i386 (1.0 unstable [i386]) +Conf bar (1.0 unstable [amd64]) +Conf cool-bar:i386 (1.0 unstable [i386])' aptget install cool-bar:i386 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + bar:i386 cool-bar +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst bar:i386 (1.0 unstable [i386]) +Inst cool-bar (1.0 unstable [amd64]) +Conf bar:i386 (1.0 unstable [i386]) +Conf cool-bar (1.0 unstable [amd64])' aptget install cool-bar:amd64 bar:i386 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + bar:armel cool-bar +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst bar:armel (1.0 unstable [armel]) +Inst cool-bar (1.0 unstable [amd64]) +Conf bar:armel (1.0 unstable [armel]) +Conf cool-bar (1.0 unstable [amd64])' aptget install cool-bar:amd64 bar:armel -s + +testsuccessequal "Reading package lists... +Building dependency tree... +Note, selecting 'bar:i386' instead of 'bar-provider:i386' +The following NEW packages will be installed: + bar:i386 cool-bar +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst bar:i386 (1.0 unstable [i386]) +Inst cool-bar (1.0 unstable [amd64]) +Conf bar:i386 (1.0 unstable [i386]) +Conf cool-bar (1.0 unstable [amd64])" aptget install cool-bar bar-provider:i386 -s + +satisfiable_in_singlearch() { + testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + foo +The following NEW packages will be installed: + cool-foo foo +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1.0 unstable [amd64]) +Inst cool-foo (1.0 unstable [amd64]) +Conf foo (1.0 unstable [amd64]) +Conf cool-foo (1.0 unstable [amd64])' aptget install cool-foo:amd64 -s + + testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + cool-foo foo +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1.0 unstable [amd64]) +Inst cool-foo (1.0 unstable [amd64]) +Conf foo (1.0 unstable [amd64]) +Conf cool-foo (1.0 unstable [amd64])' aptget install cool-foo:amd64 foo:amd64 -s + + testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + bar +The following NEW packages will be installed: + bar cool-bar +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst bar (1.0 unstable [amd64]) +Inst cool-bar (1.0 unstable [amd64]) +Conf bar (1.0 unstable [amd64]) +Conf cool-bar (1.0 unstable [amd64])' aptget install cool-bar:amd64 -s + + testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + bar cool-bar +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst bar (1.0 unstable [amd64]) +Inst cool-bar (1.0 unstable [amd64]) +Conf bar (1.0 unstable [amd64]) +Conf cool-bar (1.0 unstable [amd64])' aptget install cool-bar:amd64 bar:amd64 -s + + testsuccessequal "Reading package lists... +Building dependency tree... +Note, selecting 'bar' instead of 'bar-provider' +The following NEW packages will be installed: + bar cool-bar +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst bar (1.0 unstable [amd64]) +Inst cool-bar (1.0 unstable [amd64]) +Conf bar (1.0 unstable [amd64]) +Conf cool-bar (1.0 unstable [amd64])" aptget install cool-bar bar-provider -s + + testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + foo +The following NEW packages will be installed: + cool-foo-x64 foo +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1.0 unstable [amd64]) +Inst cool-foo-x64 (1.0 unstable [amd64]) +Conf foo (1.0 unstable [amd64]) +Conf cool-foo-x64 (1.0 unstable [amd64])' aptget install cool-foo-x64 -s +} + +hatersgonnahate() { + BADPREFIX='Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: +' + testfailureequal "$BADPREFIX +The following packages have unmet dependencies: + hates-foo : Conflicts: foo + Conflicts: foo:i386 + Conflicts: foo:armel +E: Unable to correct problems, you have held broken packages." aptget install $1 hates-foo -s + testfailureequal "$BADPREFIX +The following packages have unmet dependencies: + $2 : Conflicts: foo:$4 +E: Unable to correct problems, you have held broken packages." aptget install $1 $2 -s + testsuccessequal "Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + $1 $3 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst $1 (1.0 unstable [$4]) +Inst $3 (1.0 unstable [amd64]) +Conf $1 (1.0 unstable [$4]) +Conf $3 (1.0 unstable [amd64])" aptget install $1 $3 -s +} +hatersgonnahate 'foo' 'hates-foo-x64' 'hates-foo-x32' 'amd64' +hatersgonnahate 'foo:i386' 'hates-foo-x32' 'hates-foo-x64' 'i386' + + testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + foo:i386 +The following NEW packages will be installed: + cool-foo-x32 foo:i386 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst foo:i386 (1.0 unstable [i386]) +Inst cool-foo-x32 (1.0 unstable [amd64]) +Conf foo:i386 (1.0 unstable [i386]) +Conf cool-foo-x32 (1.0 unstable [amd64])' aptget install cool-foo-x32 -s + + testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + bar:i386 +The following NEW packages will be installed: + bar:i386 cool-bar-x32 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst bar:i386 (1.0 unstable [i386]) +Inst cool-bar-x32 (1.0 unstable [amd64]) +Conf bar:i386 (1.0 unstable [i386]) +Conf cool-bar-x32 (1.0 unstable [amd64])' aptget install cool-bar-x32 -s + + testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + bar +The following NEW packages will be installed: + bar cool-bar-x64 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst bar (1.0 unstable [amd64]) +Inst cool-bar-x64 (1.0 unstable [amd64]) +Conf bar (1.0 unstable [amd64]) +Conf cool-bar-x64 (1.0 unstable [amd64])' aptget install cool-bar-x64 -s + + +satisfiable_in_singlearch + +msgmsg 'switch to single architecture' +configarchitecture 'amd64' + +satisfiable_in_singlearch + +msgmsg 'switch to multi-arch with barbarian architecture' + +insertinstalledpackage 'foo' 'armhf' '1.0' 'Multi-Arch: foreign' +insertinstalledpackage 'bar' 'armhf' '1.0' 'Provides: bar-provider +Multi-Arch: foreign' +insertinstalledpackage 'bar-needer' 'armhf' '1.0' 'Depends: bar-provider' + +testsuccess aptget check +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + foo +The following packages will be REMOVED: + foo:armhf +The following NEW packages will be installed: + cool-foo foo +0 upgraded, 2 newly installed, 1 to remove and 0 not upgraded. +Remv foo:armhf [1.0] +Inst foo (1.0 unstable [amd64]) +Inst cool-foo (1.0 unstable [amd64]) +Conf foo (1.0 unstable [amd64]) +Conf cool-foo (1.0 unstable [amd64])' aptget install cool-foo -s +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + bar +The following packages will be REMOVED: + bar:armhf +The following NEW packages will be installed: + bar cool-bar +0 upgraded, 2 newly installed, 1 to remove and 0 not upgraded. +Remv bar:armhf [1.0] [bar-needer:armhf ] +Inst bar (1.0 unstable [amd64]) +Inst cool-bar (1.0 unstable [amd64]) +Conf bar (1.0 unstable [amd64]) +Conf cool-bar (1.0 unstable [amd64])' aptget install cool-bar -s + +# a barbarian doesn't satisfy another either +insertinstalledpackage 'bar-needer2' 's390x' '1.0' 'Depends: bar-provider' +testfailure aptget check diff --git a/test/integration/test-no-fds-leaked-to-maintainer-scripts b/test/integration/test-no-fds-leaked-to-maintainer-scripts new file mode 100755 index 0000000..2b16552 --- /dev/null +++ b/test/integration/test-no-fds-leaked-to-maintainer-scripts @@ -0,0 +1,179 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' 'i386' +configdpkgnoopchroot + +if [ ! -e /proc/self/fd ]; then + msgskip "needs /proc/self/fd" + exit 0 +fi + +setupsimplenativepackage "fdleaks" 'all' '1.0' 'unstable' +BUILDDIR="incoming/fdleaks-1.0" +for script in 'preinst' 'postinst' 'prerm' 'postrm'; do + cat > ${BUILDDIR}/debian/$script << EOF +#!/bin/sh +if [ -e '$(pwd)/rootdir/tmp/read_stdin' ]; then + read line; + echo "STDIN: -\$line-" +fi +ls -l /proc/self/fd/ +EOF +done +buildpackage "$BUILDDIR" 'unstable' 'main' 'native' +rm -rf "$BUILDDIR" + +PKGNAME='fdleaks:all' +if dpkg --compare-versions "$(dpkg_version)" 'lt' '1.16.2'; then + PKGNAME='fdleaks' +fi + +setupaptarchive + +rm -f rootdir/var/log/dpkg.log rootdir/var/log/apt/term.log +testsuccess aptget install -y fdleaks -qq < /dev/null + +checkfdleak() { + msgtest 'Check if fds were not' "leaked: expect $1" + if [ "$(grep -e 'root root' -e "$(id -un) $(id -gn)" rootdir/tmp/testsuccess.output | wc -l)" = "$1" ]; then + msgpass + else + echo + cat rootdir/tmp/testsuccess.output + msgfail + fi +} +checkinstall() { + checkfdleak 8 + + cp rootdir/tmp/testsuccess.output terminal.output + tail -n +3 rootdir/var/log/apt/term.log | head -n -1 > terminal.log + testfileequal 'terminal.log' "$(cat terminal.output)" + + testequalor2 "startup archives unpack +install $PKGNAME <none> 1.0 +status half-installed $PKGNAME 1.0 +status unpacked $PKGNAME 1.0 +startup packages configure +configure $PKGNAME 1.0 <none> +status unpacked $PKGNAME 1.0 +status half-configured $PKGNAME 1.0 +status installed $PKGNAME 1.0" "startup archives unpack +install $PKGNAME <none> 1.0 +status half-installed $PKGNAME 1.0 +status unpacked $PKGNAME 1.0 +status unpacked $PKGNAME 1.0 +startup packages configure +configure $PKGNAME 1.0 <none> +status unpacked $PKGNAME 1.0 +status half-configured $PKGNAME 1.0 +status installed $PKGNAME 1.0" cut -f 3- -d' ' rootdir/var/log/dpkg.log +} +checkinstall + +rm -f rootdir/var/log/dpkg.log rootdir/var/log/apt/term.log +testsuccess aptget purge -y fdleaks -qq +checkpurge() { + checkfdleak 12 + + cp rootdir/tmp/testsuccess.output terminal.output + tail -n +3 rootdir/var/log/apt/term.log | head -n -1 > terminal.log + testfileequal 'terminal.log' "$(cat terminal.output)" + + if dpkg --compare-versions "$(dpkg_version)" 'ge' '1.18.11'; then + testequalor2 "startup packages remove +status installed $PKGNAME 1.0 +remove $PKGNAME 1.0 <none> +status half-configured $PKGNAME 1.0 +status half-installed $PKGNAME 1.0 +status config-files $PKGNAME 1.0 +startup packages configure +startup packages purge +purge $PKGNAME 1.0 <none> +status config-files $PKGNAME 1.0 +status not-installed $PKGNAME <none> +startup packages configure" "startup packages remove +status installed $PKGNAME 1.0 +remove $PKGNAME 1.0 <none> +status half-configured $PKGNAME 1.0 +status half-installed $PKGNAME 1.0 +status config-files $PKGNAME 1.0 +status config-files $PKGNAME 1.0 +startup packages configure +startup packages purge +purge $PKGNAME 1.0 <none> +status config-files $PKGNAME 1.0 +status config-files $PKGNAME 1.0 +status config-files $PKGNAME 1.0 +status config-files $PKGNAME 1.0 +status config-files $PKGNAME 1.0 +status not-installed $PKGNAME <none> +startup packages configure" cut -f 3- -d' ' rootdir/var/log/dpkg.log + else + testequalor2 "startup packages remove +status installed $PKGNAME 1.0 +remove $PKGNAME 1.0 <none> +status half-configured $PKGNAME 1.0 +status half-installed $PKGNAME 1.0 +status config-files $PKGNAME 1.0 +startup packages configure +startup packages purge +remove $PKGNAME 1.0 <none> +purge $PKGNAME 1.0 <none> +status config-files $PKGNAME 1.0 +status not-installed $PKGNAME <none> +startup packages configure" "startup packages remove +status installed $PKGNAME 1.0 +remove $PKGNAME 1.0 <none> +status half-configured $PKGNAME 1.0 +status half-installed $PKGNAME 1.0 +status config-files $PKGNAME 1.0 +status config-files $PKGNAME 1.0 +startup packages configure +startup packages purge +remove $PKGNAME 1.0 <none> +purge $PKGNAME 1.0 <none> +status config-files $PKGNAME 1.0 +status config-files $PKGNAME 1.0 +status config-files $PKGNAME 1.0 +status config-files $PKGNAME 1.0 +status config-files $PKGNAME 1.0 +status not-installed $PKGNAME <none> +startup packages configure" cut -f 3- -d' ' rootdir/var/log/dpkg.log + fi + testequalor2 "dpkg-query: no packages found matching ${PKGNAME}" "No packages found matching ${PKGNAME}." dpkg -l "$PKGNAME" +} +checkpurge + +msgtest 'setsid provided is new enough to support' '-w' +if dpkg-checkbuilddeps -d 'util-linux (>= 2.24.2-1)' /dev/null >/dev/null 2>&1; then + msgpass +else + msgskip "$(command dpkg -l util-linux)" + exit +fi + +rm -f rootdir/var/log/dpkg.log rootdir/var/log/apt/term.log +testsuccess runapt command setsid -w "${APTCMDLINEBINDIR}/apt-get" install -y fdleaks -qq < /dev/null +checkinstall + +rm -f rootdir/var/log/dpkg.log rootdir/var/log/apt/term.log +testsuccess runapt command setsid -w "${APTCMDLINEBINDIR}/apt-get" purge -y fdleaks -qq +checkpurge + +touch rootdir/tmp/read_stdin + +rm -f rootdir/var/log/dpkg.log rootdir/var/log/apt/term.log +for i in $(seq 1 10); do echo "$i"; done | testsuccess aptget install -y fdleaks -qq +checkinstall +testequal '2' grep -c '^STDIN: ' rootdir/var/log/apt/term.log + +rm -f rootdir/var/log/dpkg.log rootdir/var/log/apt/term.log +yes '' | testsuccess runapt command setsid -w "${APTCMDLINEBINDIR}/apt-get" purge -y fdleaks -qq +checkpurge +testequal '3' grep -c '^STDIN: ' rootdir/var/log/apt/term.log diff --git a/test/integration/test-or-group-substitution b/test/integration/test-or-group-substitution new file mode 100755 index 0000000..51bd9aa --- /dev/null +++ b/test/integration/test-or-group-substitution @@ -0,0 +1,45 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' + +# One package (non-essential) depends on either of two other packages, which conflict with each other. + +insertinstalledpackage 'chrony' 'amd64' '1' 'Conflicts: openntpd' + +insertpackage 'sid' 'openntpd' 'amd64' '1' 'Conflicts: openntpd' + +insertinstalledpackage 'systemd' 'amd64' '1' 'Depends: chrony | openntpd' + +# An essential package depends on the non-essential package that has an or group dependency. + +insertinstalledpackage 'pop-desktop' 'amd64' '1' 'Depends: systemd +Essential: yes' + +# An additional, non-essential package depends on the package that has an or group dependency. + +insertinstalledpackage 'unrelated-package' 'amd64' '1' 'Depends: systemd' + +setupaptarchive + +# The test removes the currently-installed part of the or group +# (it should be replaced with the other one automatically.) +# +# The test should fail if the package "unrelated-package" is removed. + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + openntpd +The following packages will be REMOVED: + chrony +The following NEW packages will be installed: + openntpd +0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Remv chrony [1] [systemd:amd64 ] +Inst openntpd (1 sid [amd64]) +Conf openntpd (1 sid [amd64])' aptget -s remove chrony diff --git a/test/integration/test-package-reinstallation b/test/integration/test-package-reinstallation new file mode 100755 index 0000000..0b48c0a --- /dev/null +++ b/test/integration/test-package-reinstallation @@ -0,0 +1,23 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "i386" + +insertinstalledpackage 'libc-bin' 'i386' '2.13-8' 'Replaces: libc6' +insertpackage 'unstable' 'libc-bin' 'i386' '2.13-8' 'Replaces: libc6' +insertinstalledpackage 'libc6' 'i386' '2.13-8' 'Depends: libc-bin (= 2.13-8)' +insertpackage 'unstable' 'libc6' 'i386' '2.13-8' 'Depends: libc-bin (= 2.13-8)' +insertinstalledpackage 'apt' 'i386' '0.8.15' 'Depends: libc6' + +setupaptarchive + +testsuccessequal 'Reading package lists... +Building dependency tree... +0 upgraded, 0 newly installed, 2 reinstalled, 0 to remove and 0 not upgraded. +Inst libc-bin [2.13-8] (2.13-8 unstable [i386]) +Conf libc-bin (2.13-8 unstable [i386]) +Inst libc6 [2.13-8] (2.13-8 unstable [i386]) +Conf libc6 (2.13-8 unstable [i386])' aptget install --reinstall libc6 libc-bin -s diff --git a/test/integration/test-parse-all-archs-into-cache b/test/integration/test-parse-all-archs-into-cache new file mode 100755 index 0000000..7485431 --- /dev/null +++ b/test/integration/test-parse-all-archs-into-cache @@ -0,0 +1,93 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' + +insertpackage 'unstable' 'bar' 'i386' '1' 'Depends: foo' +insertpackage 'unstable' 'foo' 'i386' '1' 'Multi-Arch: foreign +Depends: libfoo1' +insertpackage 'unstable' 'libfoo1' 'i386' '1' 'Multi-Arch: same' +insertpackage 'experimental' 'foo' 'i386' '2' 'Multi-Arch: foreign +Depends: libfoo1 (>= 2)' +insertpackage 'experimental' 'libfoo1' 'i386' '2' 'Multi-Arch: same' + +# note: the system has amd64 not configured! +insertinstalledpackage 'foo' 'amd64' '1' 'Multi-Arch: foreign +Depends: libfoo1' + +setupaptarchive + +testfailureequal "Reading package lists... +Building dependency tree... +You might want to run 'apt --fix-broken install' to correct these. +The following packages have unmet dependencies: + foo:amd64 : Depends: libfoo1:amd64 but it is not installable +E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution)." aptget check -s + +insertinstalledpackage 'libfoo1' 'amd64' '1' 'Multi-Arch: same' + +testsuccessequal 'Reading package lists... +Building dependency tree...' aptget check -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + libfoo1 +The following packages will be REMOVED: + foo:amd64 +The following NEW packages will be installed: + foo libfoo1 +0 upgraded, 2 newly installed, 1 to remove and 0 not upgraded. +Remv foo:amd64 [1] +Inst libfoo1 (1 unstable [i386]) +Inst foo (1 unstable [i386]) +Conf libfoo1 (1 unstable [i386]) +Conf foo (1 unstable [i386])' aptget install foo -s + +testsuccessequal "Reading package lists... +Building dependency tree... +Selected version '2' (experimental [i386]) for 'foo' +Selected version '2' (experimental [i386]) for 'libfoo1' because of 'foo' +The following additional packages will be installed: + libfoo1 +The following packages will be REMOVED: + foo:amd64 libfoo1:amd64 +The following NEW packages will be installed: + foo libfoo1 +0 upgraded, 2 newly installed, 2 to remove and 0 not upgraded. +Remv foo:amd64 [1] +Remv libfoo1:amd64 [1] +Inst libfoo1 (2 experimental [i386]) +Inst foo (2 experimental [i386]) +Conf libfoo1 (2 experimental [i386]) +Conf foo (2 experimental [i386])" aptget install foo/experimental -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + foo libfoo1 +The following packages will be REMOVED: + foo:amd64 +The following NEW packages will be installed: + bar foo libfoo1 +0 upgraded, 3 newly installed, 1 to remove and 0 not upgraded. +Remv foo:amd64 [1] +Inst libfoo1 (1 unstable [i386]) +Inst foo (1 unstable [i386]) +Inst bar (1 unstable [i386]) +Conf libfoo1 (1 unstable [i386]) +Conf foo (1 unstable [i386]) +Conf bar (1 unstable [i386])' aptget install bar -s + +configarchitecture 'i386' 'amd64' + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + bar +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst bar (1 unstable [i386]) +Conf bar (1 unstable [i386])' aptget install bar -s diff --git a/test/integration/test-partial-file-support b/test/integration/test-partial-file-support new file mode 100755 index 0000000..88fa913 --- /dev/null +++ b/test/integration/test-partial-file-support @@ -0,0 +1,157 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +changetowebserver + +copysource() { + dd if="$1" bs=1 count="$2" of="$3" 2>/dev/null + touch -d "$(stat --format '%y' "${TESTFILE}")" "$3" +} + +DOWNLOADLOG='rootdir/tmp/testdownloadfile.log' + +testdownloadfile() { + rm -f "$DOWNLOADLOG" + msgtest "Testing download of file $2 with" "$1 $5" + if ! downloadfile "$2" "$3" "$5" > "$DOWNLOADLOG"; then + cat >&2 "$DOWNLOADLOG" + msgfail + else + msgpass + fi + sed -e '/^ <- / s#%20# #g' -e '/^ <- / s#%0a#\n#g' "$DOWNLOADLOG" | grep '^.*-Hash: ' > receivedhashes.log || true + testsuccess test -s receivedhashes.log + local HASHES_OK=0 + local HASHES_BAD=0 + while read field hash; do + local EXPECTED + case "$field" in + 'MD5Sum-Hash:') EXPECTED="$(md5sum "$TESTFILE" | cut -d' ' -f 1)";; + 'SHA1-Hash:') EXPECTED="$(sha1sum "$TESTFILE" | cut -d' ' -f 1)";; + 'SHA256-Hash:') EXPECTED="$(sha256sum "$TESTFILE" | cut -d' ' -f 1)";; + 'SHA512-Hash:') EXPECTED="$(sha512sum "$TESTFILE" | cut -d' ' -f 1)";; + 'Checksum-FileSize-Hash:') + #filesize is too weak to check for != + if [ "$4" = '=' ]; then + EXPECTED="$(stat -c '%s' "$TESTFILE")" + else + continue + fi + ;; + *) continue;; + esac + if [ "$4" = '=' ]; then + msgtest 'Test downloaded file for correct' "$field" + else + msgtest 'Test downloaded file does not match in' "$field" + fi + if [ "$EXPECTED" "$4" "$hash" ]; then + msgpass + HASHES_OK=$((HASHES_OK+1)); + else + msgfail "expected: $EXPECTED ; got: $hash" + HASHES_BAD=$((HASHES_BAD+1)); + fi + done < receivedhashes.log + msgtest 'At least one good hash and no bad ones' + if [ $HASHES_OK -eq 0 ] || [ $HASHES_BAD -ne 0 ]; then + cat >&2 "$DOWNLOADLOG" + msgfail + else + msgpass + fi +} + +TESTFILE='aptarchive/testfile' +cp -a "${TESTDIR}/framework" "$TESTFILE" +cp -a "${TESTDIR}/framework" "${TESTFILE}2" + +followuprequest() { + local DOWN='./downloaded/testfile' + + copysource $TESTFILE 1M $DOWN + testdownloadfile 'completely downloaded file' "${1}/testfile" "$DOWN" '=' + testwebserverlaststatuscode '416' "$DOWNLOADLOG" + + webserverconfig 'aptwebserver::support::content-range' 'false' + copysource $TESTFILE 1M $DOWN + testdownloadfile 'completely downloaded file' "${1}/testfile" "$DOWN" '=' "SHA256:$(sha256sum "$TESTFILE" | cut -d' ' -f 1)" + testwebserverlaststatuscode '416' "$DOWNLOADLOG" + webserverconfig 'aptwebserver::support::content-range' 'true' + + copysource $TESTFILE 1M $DOWN + copysource "${TESTFILE}2" 20 "${DOWN}2" + msgtest 'Testing download of files with' 'completely downloaded file + partial file' + testsuccess --nomsg apthelper -o Debug::Acquire::${1%%:*}=1 -o Debug::pkgAcquire::Worker=1 \ + download-file "$1/testfile" "$DOWN" '' "$1/testfile2" "${DOWN}2" + testwebserverlaststatuscode '206' 'rootdir/tmp/testsuccess.output' + testsuccess diff -u "$TESTFILE" "${DOWN}" + testsuccess diff -u "${DOWN}" "${DOWN}2" +} + +testrun() { + webserverconfig 'aptwebserver::support::range' 'true' + webserverconfig 'aptwebserver::response-header::Accept-Ranges' 'bytes' + local DOWN='./downloaded/testfile' + + copysource $TESTFILE 0 $DOWN + testdownloadfile 'no data' "${1}/testfile" "$DOWN" '=' + testwebserverlaststatuscode '200' "$DOWNLOADLOG" + + copysource $TESTFILE 20 $DOWN + testdownloadfile 'valid partial data' "${1}/testfile" "$DOWN" '=' + testwebserverlaststatuscode '206' "$DOWNLOADLOG" + + copysource /dev/zero 20 $DOWN + testdownloadfile 'invalid partial data' "${1}/testfile" "$DOWN" '!=' + testwebserverlaststatuscode '206' "$DOWNLOADLOG" + + webserverconfig 'aptwebserver::closeOnError' 'false' + followuprequest "$1" + webserverconfig 'aptwebserver::closeOnError' 'true' + followuprequest "$1" + webserverconfig 'aptwebserver::closeOnError' 'false' + + copysource /dev/zero 1M $DOWN + testdownloadfile 'too-big partial file' "${1}/testfile" "$DOWN" '=' + testwebserverlaststatuscode '200' "$DOWNLOADLOG" + + copysource /dev/zero 20 $DOWN + touch $DOWN + testdownloadfile 'old data' "${1}/testfile" "$DOWN" '=' + testwebserverlaststatuscode '200' "$DOWNLOADLOG" + + if [ "${1%%:*}" = 'https' ] && expr match "$1" "^.*/redirectme$" >/dev/null; then + webserverconfig 'aptwebserver::response-header::Accept-Ranges' 'none' + else + webserverconfig 'aptwebserver::support::range' 'false' + fi + + copysource $TESTFILE 20 $DOWN + testdownloadfile 'no server support' "${1}/testfile" "$DOWN" '=' + testwebserverlaststatuscode '200' "$DOWNLOADLOG" +} + +serverconfigs() { + msgmsg "${1%%:*}: Test with Content-Length" + webserverconfig 'aptwebserver::chunked-transfer-encoding' 'false' + testrun "$1" + msgmsg "${1%%:*}: Test with Transfer-Encoding: chunked" + webserverconfig 'aptwebserver::chunked-transfer-encoding' 'true' + testrun "$1" +} + +serverconfigs "http://localhost:${APTHTTPPORT}" + +changetohttpswebserver + +serverconfigs "https://localhost:${APTHTTPSPORT}" + +webserverconfig 'aptwebserver::redirect::replace::/redirectme/' "https://localhost:${APTHTTPSPORT}/" +serverconfigs "https://localhost:${APTHTTPSPORT}/redirectme" +serverconfigs "http://localhost:${APTHTTPPORT}/redirectme" diff --git a/test/integration/test-pdiff-usage b/test/integration/test-pdiff-usage new file mode 100755 index 0000000..cf3a2f2 --- /dev/null +++ b/test/integration/test-pdiff-usage @@ -0,0 +1,412 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'i386' +LOWCOSTEXT='lz4' + +buildaptarchive +setupflataptarchive +changetowebserver + +cat >rootdir/etc/apt/apt.conf.d/contents.conf <<EOF +Acquire::IndexTargets::deb::Contents { + MetaKey "\$(COMPONENT)/Contents-\$(ARCHITECTURE)"; + ShortDescription "Contents"; + Description "\$(RELEASE)/\$(COMPONENT) \$(ARCHITECTURE) Contents"; + MetaKey "\$(COMPONENT)/Contents-\$(ARCHITECTURE)"; + flatMetaKey "Contents-\$(ARCHITECTURE)"; + flatDescription "\$(RELEASE) \$(ARCHITECTURE) Contents"; +}; +EOF + +PKGFILE="${TESTDIR}/$(echo "$(basename $0)" | sed 's#^test-#Packages-#')" +echo 'contents for stuff' > aptarchive/Contents-i386 +compressfile aptarchive/Contents-i386 +echo 'hacked' > aptarchive/hacked-i386 +compressfile aptarchive/hacked-i386 + +wasmergeused() { + if echo "$*" | grep -q -- '-o test::cannot-use-pdiff=1'; then + find rootdir/var/lib/apt/lists/partial -name '*-patched*' -delete + fi + + testsuccess apt update "$@" + #apt update "$@" 2>&1 | tee rootdir/tmp/testsuccess.output + + msgtest 'No intermediate patch files' 'still exist' + testempty --nomsg find rootdir/var/lib/apt/lists -name '*.ed' -o -name '*.ed.*' -o -name '*.diff_Index' -o -name '*.diff_Index.xz' + + if echo "$*" | grep -q -- '-o test::cannot-use-pdiff=1'; then + msgtest 'Check if pdiff was' 'not used' + cp -a rootdir/tmp/testsuccess.output rootdir/tmp/aptupdate.output + testsuccess --nomsg grep "^Ign:.* Packages\.diff/Index" rootdir/tmp/aptupdate.output + return; + fi + + msgtest 'Check if the right pdiff merger was used' + if grep -q '^pkgAcqIndexMergeDiffs::Done(): rred' rootdir/tmp/testsuccess.output; then + if echo "$*" | grep -q -- '-o Acquire::PDiffs::Merge=1'; then + msgpass + else + msgfail "Merge shouldn't have been used, but was" + fi + elif echo "$*" | grep -q -- '-o Acquire::PDiffs::Merge=1'; then + msgfail "Merge should have been used, but wasn't" + else + msgpass + fi + + testequal '1' grep -c rred:601 rootdir/tmp/testsuccess.output +} + +testrun() { + configcompression '.' 'xz' + msgmsg "Testcase: setup the base with: $*" + find aptarchive -name 'Packages*' -type f -delete + cp "${PKGFILE}" aptarchive/Packages + compressfile 'aptarchive/Packages' + generatereleasefiles + signreleasefiles + rm -rf aptarchive/Packages.diff rootdir/var/lib/apt/lists rootdir/var/lib/apt/lists-bak + testsuccess aptget update "$@" + cp -a rootdir/var/lib/apt/lists rootdir/var/lib/apt/lists-bak + testnopackage newstuff + testsuccessequal "$(cat "${PKGFILE}") +" aptcache show apt oldstuff + configcompression '.' 'gz' + + # see if the code deals properly with leftover partial files + partialleftovers + + msgmsg "Testcase: apply with one patch: $*" + find aptarchive -name 'Packages*' -type f -delete + cp "${PKGFILE}-new" aptarchive/Packages + compressfile 'aptarchive/Packages' + mkdir -p aptarchive/Packages.diff + PATCHFILE="aptarchive/Packages.diff/$(date +%Y-%m-%d-%H%M.%S)" + diff -e "${PKGFILE}" "${PKGFILE}-new" > "${PATCHFILE}" || true + cat "$PATCHFILE" | gzip > "${PATCHFILE}.gz" + PATCHINDEX='aptarchive/Packages.diff/Index' + echo "SHA256-Current: $(sha256sum "${PKGFILE}-new" | cut -d' ' -f 1) $(stat -c%s "${PKGFILE}-new") +SHA256-History: + $(sha256sum "$PKGFILE" | cut -d' ' -f 1) $(stat -c%s "$PKGFILE") 2000-08-18-2013.28 + 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b 33053002 2010-08-18-2013.28 + $(sha256sum "$PKGFILE" | cut -d' ' -f 1) $(stat -c%s "$PKGFILE") $(basename "$PATCHFILE") +SHA256-Patches: + $(sha256sum "$PATCHFILE" | cut -d' ' -f 1) $(stat -c%s "$PATCHFILE") 2000-08-18-2013.28 + e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 19722 2010-08-18-2013.28 + $(sha256sum "$PATCHFILE" | cut -d' ' -f 1) $(stat -c%s "$PATCHFILE") $(basename "$PATCHFILE") +SHA256-Download: + $(sha256sum "${PATCHFILE}.gz" | cut -d' ' -f 1) $(stat -c%s "${PATCHFILE}.gz") 2000-08-18-2013.28.gz + d2a1b33187ed2d248eeae3b1223ea71791ea35f2138a713ed371332a6421f467 197 2010-08-18-2013.28.gz + $(sha256sum "${PATCHFILE}.gz" | cut -d' ' -f 1) $(stat -c%s "${PATCHFILE}.gz") $(basename "${PATCHFILE}.gz")" > "$PATCHINDEX" + + generatereleasefiles '+1hour' + signreleasefiles + find aptarchive -name 'Packages*' -type f -delete + wasmergeused "$@" + testnopackage oldstuff + testsuccessequal "$(cat "${PKGFILE}-new") +" aptcache show apt newstuff + + msgmsg "Testcase: apply with compressed Index and one patch: $*" + cp "${PKGFILE}-new" aptarchive/Packages + compressfile 'aptarchive/Packages' + cat "$PATCHINDEX" | gzip > "${PATCHINDEX}.gz" + generatereleasefiles '+1hour' + signreleasefiles + find aptarchive -name 'Packages*' -type f -delete + rm "$PATCHINDEX" + rm -rf rootdir/var/lib/apt/lists + cp -a rootdir/var/lib/apt/lists-bak rootdir/var/lib/apt/lists + wasmergeused "$@" + testnopackage oldstuff + testsuccessequal "$(cat "${PKGFILE}-new") +" aptcache show apt newstuff + + msgmsg "Testcase: apply with by-hash compressed Index and one patch: $*" + local NORMAL="$(readlink -f "./aptarchive/Packages.diff")" + local BYHASH="${NORMAL}/by-hash/SHA256" + mkdir -p "${BYHASH}" + find "${NORMAL}/" -maxdepth 1 -name "Index*" -exec mv '{}' "$BYHASH" \; + ln -s "${BYHASH}/Index.gz" "${BYHASH}/$(sha256sum "${BYHASH}/Index.gz" | cut -f1 -d' ')" + echo 'foobar' > "${BYHASH}/$(sha256sum "$PATCHFILE" | cut -f1 -d' ')" + echo 'foobar' > "${BYHASH}/$(sha256sum "${PATCHFILE}.gz" | cut -f1 -d' ')" + rm -rf rootdir/var/lib/apt/lists + cp -a rootdir/var/lib/apt/lists-bak rootdir/var/lib/apt/lists + wasmergeused "$@" -o Acquire::By-Hash=force + testnopackage oldstuff + testsuccessequal "$(cat "${PKGFILE}-new") +" aptcache show apt newstuff + + msgmsg "Testcase: SHA1-only patches are not used: $*" + find aptarchive -name 'Packages*' -type f -delete + cp "${PKGFILE}-new" aptarchive/Packages + compressfile 'aptarchive/Packages' + mkdir -p aptarchive/Packages.diff + PATCHFILE="aptarchive/Packages.diff/$(date +%Y-%m-%d-%H%M.%S)" + diff -e "${PKGFILE}" "${PKGFILE}-new" > "${PATCHFILE}" || true + cat "$PATCHFILE" | gzip > "${PATCHFILE}.gz" + PATCHINDEX='aptarchive/Packages.diff/Index' + echo "SHA1-Current: $(sha1sum "${PKGFILE}-new" | cut -d' ' -f 1) $(stat -c%s "${PKGFILE}-new") +SHA1-History: + 9f4148e06d7faa37062994ff10d0c842d7017513 33053002 2010-08-18-2013.28 + $(sha1sum "$PKGFILE" | cut -d' ' -f 1) $(stat -c%s "$PKGFILE") $(basename "$PATCHFILE") +SHA1-Patches: + 7651fc0ac57cd83d41c63195a9342e2db5650257 19722 2010-08-18-2013.28 + $(sha1sum "$PATCHFILE" | cut -d' ' -f 1) $(stat -c%s "$PATCHFILE") $(basename "$PATCHFILE") +SHA1-Download: + 2365ac0ac57cde3d43c63145e8251a3bd5410213 197 2010-08-18-2013.28.gz + $(sha1sum "${PATCHFILE}.gz" | cut -d' ' -f 1) $(stat -c%s "${PATCHFILE}.gz") $(basename "${PATCHFILE}.gz")" > "$PATCHINDEX" + generatereleasefiles '+1hour' + signreleasefiles + rm -rf rootdir/var/lib/apt/lists + cp -a rootdir/var/lib/apt/lists-bak rootdir/var/lib/apt/lists + wasmergeused "$@" -o test::cannot-use-pdiff=1 + testnopackage oldstuff + testsuccessequal "$(cat "${PKGFILE}-new") +" aptcache show apt newstuff + + msgmsg "Testcase: no download-hashes patches are not used: $*" + find aptarchive -name 'Packages*' -type f -delete + cp "${PKGFILE}-new" aptarchive/Packages + compressfile 'aptarchive/Packages' + mkdir -p aptarchive/Packages.diff + PATCHFILE="aptarchive/Packages.diff/$(date +%Y-%m-%d-%H%M.%S)" + diff -e "${PKGFILE}" "${PKGFILE}-new" > "${PATCHFILE}" || true + cat "$PATCHFILE" | gzip > "${PATCHFILE}.gz" + PATCHINDEX='aptarchive/Packages.diff/Index' + echo "SHA256-Current: $(sha256sum "${PKGFILE}-new" | cut -d' ' -f 1) $(stat -c%s "${PKGFILE}-new") +SHA256-History: + 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b 33053002 2010-08-18-2013.28 + $(sha256sum "$PKGFILE" | cut -d' ' -f 1) $(stat -c%s "$PKGFILE") $(basename "$PATCHFILE") +SHA256-Patches: + e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 19722 2010-08-18-2013.28 + $(sha256sum "$PATCHFILE" | cut -d' ' -f 1) $(stat -c%s "$PATCHFILE") $(basename "$PATCHFILE")" > "$PATCHINDEX" + generatereleasefiles '+1hour' + signreleasefiles + rm -rf rootdir/var/lib/apt/lists + cp -a rootdir/var/lib/apt/lists-bak rootdir/var/lib/apt/lists + wasmergeused "$@" -o test::cannot-use-pdiff=1 + testnopackage oldstuff + testsuccessequal "$(cat "${PKGFILE}-new") +" aptcache show apt newstuff + + msgmsg "Testcase: apply with two patches: $*" + cp "${PKGFILE}-new" aptarchive/Packages + echo ' +Package: futurestuff +Version: 1.0 +Architecture: i386 +Maintainer: Joe Sixpack <joe@example.org> +Installed-Size: 202 +Filename: pool/futurestuff_1.0_i386.deb +Size: 202200 +SHA256: b46fd154615edaae5ba33c56a5cc0e7deaef23e2da3e4f129727fd660f28f050 +Description: some cool and shiny future stuff + This package will appear in the next^2 mirror update +Description-md5: d5f89fbbc2ce34c455dfee9b67d82b6b' >> aptarchive/Packages + + compressfile 'aptarchive/Packages' + PATCHFILE2="aptarchive/Packages.diff/$(date -d 'now + 1hour' '+%Y-%m-%d-%H%M.%S')" + diff -e "${PKGFILE}-new" aptarchive/Packages > "${PATCHFILE2}" || true + cat "$PATCHFILE2" | gzip > "${PATCHFILE2}.gz" + echo "SHA256-Current: $(sha256sum aptarchive/Packages | cut -d' ' -f 1) $(stat -c%s aptarchive/Packages) +SHA256-History: + 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b 33053002 2010-08-18-2013.28 + $(sha256sum "$PKGFILE" | cut -d' ' -f 1) $(stat -c%s "$PKGFILE") $(basename "$PATCHFILE") + $(sha256sum "${PKGFILE}-new" | cut -d' ' -f 1) $(stat -c%s "${PKGFILE}-new") $(basename "${PATCHFILE2}") +SHA256-Patches: + e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 19722 2010-08-18-2013.28 + $(sha256sum "$PATCHFILE" | cut -d' ' -f 1) $(stat -c%s "$PATCHFILE") $(basename "$PATCHFILE") + $(sha256sum "${PATCHFILE2}" | cut -d' ' -f 1) $(stat -c%s "${PATCHFILE2}") $(basename "${PATCHFILE2}") +SHA256-Download: + d2a1b33187ed2d248eeae3b1223ea71791ea35f2138a713ed371332a6421f467 197 2010-08-18-2013.28.gz + $(sha256sum "${PATCHFILE}.gz" | cut -d' ' -f 1) $(stat -c%s "${PATCHFILE}.gz") $(basename "${PATCHFILE}.gz") + $(sha256sum "${PATCHFILE2}.gz" | cut -d' ' -f 1) $(stat -c%s "${PATCHFILE2}.gz") $(basename "${PATCHFILE2}.gz")" > "$PATCHINDEX" + + generatereleasefiles '+2hour' + signreleasefiles + cp -a aptarchive/Packages Packages-future + find aptarchive -name 'Packages*' -type f -delete + rm -rf rootdir/var/lib/apt/lists + cp -a rootdir/var/lib/apt/lists-bak rootdir/var/lib/apt/lists + wasmergeused "$@" + testnopackage oldstuff + testsuccessequal "$(cat Packages-future) +" aptcache show apt newstuff futurestuff + + # we reuse the archive state of the previous test here + msgmsg "Testcase: pdiff handling is stopped if transaction fails $*" + rm -rf rootdir/var/lib/apt/lists + cp -a rootdir/var/lib/apt/lists-bak rootdir/var/lib/apt/lists + cp Packages-future aptarchive/Packages + rm -f rootdir/var/lib/apt/lists/*_Contents-* + webserverconfig 'aptwebserver::overwrite::.*Contents-.*::filename' '/hacked-i386.gz' + testfailure apt update "$@" + cp rootdir/tmp/testfailure.output patchdownload.output + webserverconfig 'aptwebserver::overwrite::.*Contents-.*::filename' '/Contents-i386.gz' + testfailure grep -q -z 'AbortTransaction.* [a-zA-Z0-9+-]\+:600%20' patchdownload.output + testnopackage newstuff futurestuff + testsuccessequal "$(cat "${PKGFILE}") +" aptcache show apt oldstuff + + # we reuse the entire state of the previous test here + msgmsg "Testcase: good files from previous fails are picked up from partial: $*" + wasmergeused "$@" + testfailure grep '^GET /Packages.diff/Index HTTP/1.1' rootdir/tmp/testsuccess.output + testnopackage oldstuff + testsuccessequal "$(cat Packages-future) +" aptcache show apt newstuff futurestuff + + # we reuse the archive state of the previous test here + msgmsg "Testcase: downloading a patch fails, but successful fallback: $*" + rm -rf rootdir/var/lib/apt/lists + cp -a rootdir/var/lib/apt/lists-bak rootdir/var/lib/apt/lists + cp Packages-future aptarchive/Packages + rm "${PATCHFILE}.gz" + testsuccess apt update "$@" + cp rootdir/tmp/testsuccess.output patchdownload.output + # it should be anchored on line start, but multiple processes on the same output stream… + testsuccess grep 'Falling back to normal index file acquire' patchdownload.output + testnopackage oldstuff + testsuccessequal "$(cat Packages-future) +" aptcache show apt newstuff futurestuff + + msgmsg "Testcase: patch applying fails, but successful fallback: $*" + rm -rf rootdir/var/lib/apt/lists + cp -a rootdir/var/lib/apt/lists-bak rootdir/var/lib/apt/lists + cp "${PKGFILE}-new" aptarchive/Packages + compressfile 'aptarchive/Packages' + mkdir -p aptarchive/Packages.diff + PATCHFILE="aptarchive/Packages.diff/$(date +%Y-%m-%d-%H%M.%S)" + diff -e "${PKGFILE}" "${PKGFILE}-new" > "${PATCHFILE}" || true + cat "$PATCHFILE" | gzip > "${PATCHFILE}.gz" + PATCHINDEX='aptarchive/Packages.diff/Index' + echo "SHA256-Current: $(sha256sum "${PKGFILE}-new" | cut -d' ' -f 1) $(stat -c%s "${PKGFILE}-new") +SHA256-History: + 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b 33053002 2010-08-18-2013.28 + $(sha256sum "$PKGFILE" | cut -d' ' -f 1) $(stat -c%s "$PKGFILE") $(basename "$PATCHFILE") +SHA256-Patches: + e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 19722 2010-08-18-2013.28 + $(sha256sum "$PATCHFILE" | cut -d' ' -f 1) $(stat -c%s "$PATCHFILE") $(basename "$PATCHFILE") +SHA256-Download: + d2a1b33187ed2d248eeae3b1223ea71791ea35f2138a713ed371332a6421f467 197 2010-08-18-2013.28.gz + $(sha256sum "${PATCHFILE}.gz" | cut -d' ' -f 1) $(stat -c%s "${PATCHFILE}.gz") $(basename "${PATCHFILE}.gz")" > "$PATCHINDEX" + breakfiles "$PATCHFILE" "${PATCHFILE}.gz" + generatereleasefiles '+1hour' + signreleasefiles + testsuccess apt update "$@" + cp -f rootdir/tmp/testsuccess.output rootdir/tmp/aptupdate.output + testsuccess grep 'Hash Sum mismatch' rootdir/tmp/aptupdate.output + testnopackage oldstuff + testsuccessequal "$(cat "${PKGFILE}-new") +" aptcache show apt newstuff + + msgmsg "Testcase: pdiff patch bigger than index itself: $*" + rm -rf rootdir/var/lib/apt/lists + cp -a rootdir/var/lib/apt/lists-bak rootdir/var/lib/apt/lists + # the general testcode checks for leftovers in partial, but as this file + # is never touched in this test as it exits earlier its not a leftover… + rm -f rootdir/var/lib/apt/lists/partial/localhost:${APTHTTPPORT}_Packages + cp "${PKGFILE}-new" aptarchive/Packages + compressfile 'aptarchive/Packages' + mkdir -p aptarchive/Packages.diff + PATCHFILE="aptarchive/Packages.diff/$(date +%Y-%m-%d-%H%M.%S)" + diff -e "${PKGFILE}" "${PKGFILE}-new" > "${PATCHFILE}" || true + cat "$PATCHFILE" | gzip > "${PATCHFILE}.gz" + PATCHINDEX='aptarchive/Packages.diff/Index' + echo "SHA256-Current: $(sha256sum "${PKGFILE}-new" | cut -d' ' -f 1) $(stat -c%s "${PKGFILE}-new") +SHA256-History: + 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b 33053002 2010-08-18-2013.28 + $(sha256sum "$PKGFILE" | cut -d' ' -f 1) $(stat -c%s "$PKGFILE") $(basename "$PATCHFILE") +SHA256-Patches: + e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 19722 2010-08-18-2013.28 + $(sha256sum "$PATCHFILE" | cut -d' ' -f 1) $(stat -c%s "$PATCHFILE") $(basename "$PATCHFILE") +SHA256-Download: + d2a1b33187ed2d248eeae3b1223ea71791ea35f2138a713ed371332a6421f467 197 2010-08-18-2013.28.gz + $(sha256sum "${PATCHFILE}.gz" | cut -d' ' -f 1) $(stat -c%s "${PATCHFILE}.gz")000 $(basename "${PATCHFILE}.gz")" > "$PATCHINDEX" + generatereleasefiles '+1hour' + signreleasefiles + wasmergeused "$@" -o test::cannot-use-pdiff=1 + testsuccess grep 'bytes, but limit is' rootdir/tmp/aptupdate.output + testnopackage oldstuff + testsuccessequal "$(cat "${PKGFILE}-new") +" aptcache show apt newstuff + + msgmsg "Testcase: pdiff index failed to download: $*" + rm -rf rootdir/var/lib/apt/lists + cp -a rootdir/var/lib/apt/lists-bak rootdir/var/lib/apt/lists + cp "${PKGFILE}-new" aptarchive/Packages + compressfile 'aptarchive/Packages' + mkdir -p aptarchive/Packages.diff + PATCHFILE="aptarchive/Packages.diff/$(date +%Y-%m-%d-%H%M.%S)" + diff -e "${PKGFILE}" "${PKGFILE}-new" > "${PATCHFILE}" || true + cat "$PATCHFILE" | gzip > "${PATCHFILE}.gz" + PATCHINDEX='aptarchive/Packages.diff/Index' + echo "SHA256-Current: $(sha256sum "${PKGFILE}-new" | cut -d' ' -f 1) $(stat -c%s "${PKGFILE}-new") +SHA256-History: + 01ba4719c80b6fe911b091a7c05124b64eeece964e09c058ef8f9805daca546b 33053002 2010-08-18-2013.28 + $(sha256sum "$PKGFILE" | cut -d' ' -f 1) $(stat -c%s "$PKGFILE") $(basename "$PATCHFILE") +SHA256-Patches: + e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855 19722 2010-08-18-2013.28 + $(sha256sum "$PATCHFILE" | cut -d' ' -f 1) $(stat -c%s "$PATCHFILE") $(basename "$PATCHFILE") +SHA256-Download: + d2a1b33187ed2d248eeae3b1223ea71791ea35f2138a713ed371332a6421f467 197 2010-08-18-2013.28.gz + $(sha256sum "${PATCHFILE}.gz" | cut -d' ' -f 1) $(stat -c%s "${PATCHFILE}.gz") $(basename "${PATCHFILE}.gz")" > "$PATCHINDEX" + generatereleasefiles '+1hour' + signreleasefiles + # we let it fail by removing the files so the webserver reports 404 + rm -f "$PATCHINDEX" "$PATCHFILE" "${PATCHFILE}.gz" + wasmergeused "$@" -o test::cannot-use-pdiff=1 + testsuccess grep '400%20URI%20Failure.*FailReason.*HttpError404.*Packages\.diff/Index' rootdir/tmp/aptupdate.output + testnopackage oldstuff + testsuccessequal "$(cat "${PKGFILE}-new") +" aptcache show apt newstuff +} +echo 'Debug::pkgAcquire::Diffs "true"; +Debug::Acquire::Transaction "true"; +Debug::pkgAcquire::Worker "true"; +Debug::Acquire::http "true"; +Debug::pkgAcquire "true"; +Debug::Acquire::rred "true";' > rootdir/etc/apt/apt.conf.d/rreddebug.conf + +testcase() { + testrun -o Acquire::PDiffs::Merge=0 -o APT::Get::List-Cleanup=1 "$@" + testrun -o Acquire::PDiffs::Merge=1 -o APT::Get::List-Cleanup=1 "$@" + testrun -o Acquire::PDiffs::Merge=0 -o APT::Get::List-Cleanup=0 "$@" + testrun -o Acquire::PDiffs::Merge=1 -o APT::Get::List-Cleanup=0 "$@" +} +generatepartialleftovers() { + local PREFIX="$1" + shift + for f in "$@"; do + cat "${PKGFILE}" "${PKGFILE}" > "rootdir/var/lib/apt/lists-bak/partial/localhost:${APTHTTPPORT}_${PREFIX}${f}" + printf '\n\nInvalid\nStanza: yes\n\n' >> "rootdir/var/lib/apt/lists-bak/partial/localhost:${APTHTTPPORT}_${PREFIX}${f}" + done + printf '\n\nInvalid\nStanza: yes\n\n' >> "rootdir/var/lib/apt/lists-bak/localhost:${APTHTTPPORT}_${PREFIX}Packages.diff_Index" + printf '\n\nInvalid\nStanza: yes\n\n' >> "rootdir/var/lib/apt/lists-bak/localhost:${APTHTTPPORT}_${PREFIX}Packages.diff_Index.xz" +} + +partialleftovers() { generatepartialleftovers '' 'Packages' 'Packages-patched'; } +aptautotest_apt_update() { aptautotest_aptget_update "$@"; testsuccess test -e "rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_Packages"; } +testcase -o Acquire::IndexTargets::deb::Packages::KeepCompressed=false +partialleftovers() { generatepartialleftovers '' "Packages.${LOWCOSTEXT}" "Packages-patched.${LOWCOSTEXT}"; } +aptautotest_apt_update() { aptautotest_aptget_update "$@"; testsuccess test -e "rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_Packages.$LOWCOSTEXT"; } +testcase -o Acquire::IndexTargets::deb::Packages::KeepCompressed=true + + +partialleftovers() { generatepartialleftovers 'redirectme_' "Packages.${LOWCOSTEXT}" "Packages-patched.${LOWCOSTEXT}"; } +# redirect the InRelease file only – the other files are auto-redirected by apt +webserverconfig 'aptwebserver::redirect::replace::/redirectme/I' "http://0.0.0.0:${APTHTTPPORT}/I" +rewritesourceslist "http://localhost:${APTHTTPPORT}/redirectme" +aptautotest_apt_update() { + aptautotest_aptget_update "$@" + testsuccess test -e "rootdir/var/lib/apt/lists/localhost:${APTHTTPPORT}_redirectme_Packages.$LOWCOSTEXT" + testempty find rootdir/var/lib/apt/lists -type f \! \( -name lock -o -name '*_redirectme_*' \) +} +testcase -o Acquire::IndexTargets::deb::Packages::KeepCompressed=true diff --git a/test/integration/test-phased-updates b/test/integration/test-phased-updates new file mode 100755 index 0000000..7377f91 --- /dev/null +++ b/test/integration/test-phased-updates @@ -0,0 +1,300 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +echo 'Debug::Phasing "1";' > rootdir/etc/apt/apt.conf.d/debug-phasing +echo 'APT::Get::Phase-Policy "1";' > rootdir/etc/apt/apt.conf.d/debug-phasing +configarchitecture 'i386' 'armel' + + +insertinstalledpackage 'phased1' 'all' '1' +insertinstalledpackage 'phased2' 'all' '1' + +insertpackage 'unstable' 'phased1' 'all' '10' 'Phased-Update-Percentage: 10' +insertpackage 'unstable' 'phased2' 'all' '10' 'Phased-Update-Percentage: 10' +insertpackage 'unstable' 'phased3' 'all' '10' 'Phased-Update-Percentage: 10' + +insertpackage 'unstable' 'phased1' 'all' '100' 'Phased-Update-Percentage: 100' +insertpackage 'unstable' 'phased2' 'all' '100' 'Phased-Update-Percentage: 100' +insertpackage 'unstable' 'phased3' 'all' '100' 'Phased-Update-Percentage: 100' + +insertpackage 'unstable' 'phased1' 'all' '50' 'Phased-Update-Percentage: 50' +insertpackage 'unstable' 'phased2' 'all' '50' 'Phased-Update-Percentage: 50' +insertpackage 'unstable' 'phased3' 'all' '50' 'Phased-Update-Percentage: 50' + +insertinstalledpackage 'phased-and-pinned' 'all' '1' +insertpackage 'unstable' 'phased-and-pinned' 'all' '10' 'Phased-Update-Percentage: 0' +insertpackage 'unstable' 'phased-and-pinned-new' 'all' '10' 'Phased-Update-Percentage: 0' + +cat > rootdir/etc/apt/preferences.d/phased-and-pinned << EOF +Package: phased-and-pinned phased-and-pinned-new +Pin: release * +Pin-Priority: -12 +EOF + +setupaptarchive + +msgmsg "Basic test" +testsuccessequal "phased1: + Installed: 1 + Candidate: 100 + Version table: + 100 500 + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 50 500 (phased 50%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 10 1 (phased 10%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + *** 1 100 + 100 ${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status +phased2: + Installed: 1 + Candidate: 100 + Version table: + 100 500 + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 50 1 (phased 50%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 10 1 (phased 10%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + *** 1 100 + 100 ${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status +phased3: + Installed: (none) + Candidate: 100 + Version table: + 100 500 + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 50 500 (phased 50%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 10 1 (phased 10%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages" aptcache policy phased1 phased2 phased3 + +testsuccessequal "phased-and-pinned: + Installed: 1 + Candidate: (none) + Version table: + 10 -12 (phased 0%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + *** 1 -12 + 100 ${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status" aptcache policy phased-and-pinned + +testsuccessequal "phased-and-pinned-new: + Installed: (none) + Candidate: (none) + Version table: + 10 -12 (phased 0%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages" aptcache policy phased-and-pinned-new + + +msgmsg "Test for always-include-phased-updates" +for always in Update-Manager::Always-Include-Phased-Updates APT::Get::Always-Include-Phased-Updates; do +testsuccessequal "phased1: + Installed: 1 + Candidate: 100 + Version table: + 100 500 + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 50 500 (phased 50%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 10 500 (phased 10%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + *** 1 100 + 100 ${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status +phased2: + Installed: 1 + Candidate: 100 + Version table: + 100 500 + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 50 500 (phased 50%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 10 500 (phased 10%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + *** 1 100 + 100 ${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status +phased3: + Installed: (none) + Candidate: 100 + Version table: + 100 500 + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 50 500 (phased 50%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 10 500 (phased 10%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages" aptcache policy phased1 phased2 phased3 -o $always=true +done + +msgmsg "Test for never-include-phased-updates" +for never in Update-Manager::Never-Include-Phased-Updates APT::Get::Never-Include-Phased-Updates; do +testsuccessequal "phased1: + Installed: 1 + Candidate: 100 + Version table: + 100 500 + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 50 1 (phased 50%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 10 1 (phased 10%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + *** 1 100 + 100 ${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status +phased2: + Installed: 1 + Candidate: 100 + Version table: + 100 500 + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 50 1 (phased 50%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 10 1 (phased 10%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + *** 1 100 + 100 ${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status +phased3: + Installed: (none) + Candidate: 100 + Version table: + 100 500 + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 50 1 (phased 50%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 10 1 (phased 10%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages" aptcache policy phased1 phased2 phased3 -o $never=true +done + +msgmsg "Test that being in a chroot equals always-include-phased-updates" +testsuccessequal "phased1: + Installed: 1 + Candidate: 100 + Version table: + 100 500 + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 50 500 (phased 50%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 10 500 (phased 10%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + *** 1 100 + 100 ${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status +phased2: + Installed: 1 + Candidate: 100 + Version table: + 100 500 + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 50 500 (phased 50%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 10 500 (phased 10%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + *** 1 100 + 100 ${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status" aptcache policy phased1 phased2 -o Dir::Bin::ischroot=/bin/true + +msgmsg "Test that empty machine-id equals always-include-phased-updates" +testsuccessequal "phased1: + Installed: 1 + Candidate: 100 + Version table: + 100 500 + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 50 500 (phased 50%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 10 500 (phased 10%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + *** 1 100 + 100 ${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status +phased2: + Installed: 1 + Candidate: 100 + Version table: + 100 500 + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 50 500 (phased 50%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 10 500 (phased 10%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + *** 1 100 + 100 ${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status" aptcache policy phased1 phased2 -o Dir::Etc::machine-id=/dev/null -o APT::Machine-Id="" + +msgmsg "Test that never-include-phased-updates trumps empty machine-id" +testsuccessequal "phased1: + Installed: 1 + Candidate: 100 + Version table: + 100 500 + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 50 1 (phased 50%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 10 1 (phased 10%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + *** 1 100 + 100 ${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status +phased2: + Installed: 1 + Candidate: 100 + Version table: + 100 500 + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 50 1 (phased 50%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 10 1 (phased 10%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + *** 1 100 + 100 ${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status" aptcache policy phased1 phased2 -o Dir::Etc::machine-id=/dev/null -o APT::Machine-Id="" -o APT::Get::Never-Include-Phased-Updates=1 + + +msgmsg "Test that SOURCE_DATE_EPOCH set equals always-include-phased-updates" +export SOURCE_DATE_EPOCH=0 +testsuccessequal "phased1: + Installed: 1 + Candidate: 100 + Version table: + 100 500 + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 50 500 (phased 50%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 10 500 (phased 10%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + *** 1 100 + 100 ${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status +phased2: + Installed: 1 + Candidate: 100 + Version table: + 100 500 + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 50 500 (phased 50%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 10 500 (phased 10%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + *** 1 100 + 100 ${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status" aptcache policy phased1 phased2 +unset SOURCE_DATE_EPOCH + +msgmsg "Test that different machine-id produces different outcome" +testsuccessequal "phased1: + Installed: 1 + Candidate: 100 + Version table: + 100 500 + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 50 500 (phased 50%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 10 1 (phased 10%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + *** 1 100 + 100 ${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status +phased2: + Installed: 1 + Candidate: 100 + Version table: + 100 500 + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 50 500 (phased 50%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + 10 1 (phased 10%) + 500 file:${TMPWORKINGDIRECTORY}/aptarchive unstable/main all Packages + *** 1 100 + 100 ${TMPWORKINGDIRECTORY}/rootdir/var/lib/dpkg/status" aptcache policy phased1 phased2 -o apt::machine-id="00000000000000000000000000000000" diff --git a/test/integration/test-phased-updates-new-depends b/test/integration/test-phased-updates-new-depends new file mode 100755 index 0000000..5d6ac80 --- /dev/null +++ b/test/integration/test-phased-updates-new-depends @@ -0,0 +1,96 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +echo 'Debug::Phasing "1";' > rootdir/etc/apt/apt.conf.d/debug-phasing +configarchitecture 'i386' + +insertinstalledpackage 'has-new-depends' 'all' '1' '' +insertinstalledpackage 'has-new-recommends' 'all' '1' '' +insertinstalledpackage 'has-new-conflicts' 'all' '1' '' +insertinstalledpackage 'new-conflicts' 'all' '1' '' + +insertpackage 'unstable-updates' 'new-depends' 'all' '2' +insertpackage 'unstable-updates' 'new-recommends' 'all' '2' +insertpackage 'unstable-updates' 'has-new-depends' 'all' '2' 'Phased-Update-Percentage: 0 +Depends: new-depends' +insertpackage 'unstable-updates' 'has-new-recommends' 'all' '2' 'Phased-Update-Percentage: 0 +Recommends: new-recommends' +insertpackage 'unstable-updates' 'has-new-conflicts' 'all' '2' 'Phased-Update-Percentage: 0 +Conflicts: new-conflicts' + +setupaptarchive + + +testsuccessequal "Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages have been kept back: + has-new-conflicts has-new-depends has-new-recommends +0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded." aptget upgrade -s -q -o APT::Get::Always-Include-Phased-Updates=1 + +testsuccessequal "Reading package lists... +Building dependency tree... +Calculating upgrade... +The following upgrades have been deferred due to phasing: + has-new-conflicts has-new-depends has-new-recommends +0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded." aptget upgrade -s -q + + +testsuccessequal "Reading package lists... +Building dependency tree... +Calculating upgrade... +The following NEW packages will be installed: + new-depends new-recommends +The following packages have been kept back: + has-new-conflicts +The following packages will be upgraded: + has-new-depends has-new-recommends +2 upgraded, 2 newly installed, 0 to remove and 1 not upgraded. +Inst new-depends (2 unstable-updates [all]) +Inst has-new-depends [1] (2 unstable-updates [all]) +Inst has-new-recommends [1] (2 unstable-updates [all]) +Inst new-recommends (2 unstable-updates [all]) +Conf new-depends (2 unstable-updates [all]) +Conf has-new-depends (2 unstable-updates [all]) +Conf has-new-recommends (2 unstable-updates [all]) +Conf new-recommends (2 unstable-updates [all])" aptget upgrade -s -q --with-new-pkgs -o APT::Get::Always-Include-Phased-Updates=1 + +testsuccessequal "Reading package lists... +Building dependency tree... +Calculating upgrade... +The following upgrades have been deferred due to phasing: + has-new-conflicts has-new-depends has-new-recommends +0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded." aptget upgrade -s -q --with-new-pkgs + +: testsuccessequal "Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be REMOVED: + new-conflicts +The following NEW packages will be installed: + new-depends new-recommends +The following packages will be upgraded: + has-new-conflicts has-new-depends has-new-recommends +3 upgraded, 2 newly installed, 1 to remove and 0 not upgraded. +Remv new-conflicts [1] +Inst has-new-conflicts [1] (2 unstable-updates [all]) +Inst new-depends (2 unstable-updates [all]) +Inst has-new-depends [1] (2 unstable-updates [all]) +Inst has-new-recommends [1] (2 unstable-updates [all]) +Inst new-recommends (2 unstable-updates [all]) +Conf has-new-conflicts (2 unstable-updates [all]) +Conf new-depends (2 unstable-updates [all]) +Conf has-new-depends (2 unstable-updates [all]) +Conf has-new-recommends (2 unstable-updates [all]) +Conf new-recommends (2 unstable-updates [all])" aptget dist-upgrade -s -q -o APT::Get::Always-Include-Phased-Updates=1 + +testsuccessequal "Reading package lists... +Building dependency tree... +Calculating upgrade... +The following upgrades have been deferred due to phasing: + has-new-conflicts has-new-depends has-new-recommends +0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded." aptget dist-upgrade -s -q diff --git a/test/integration/test-phased-updates-upgrade b/test/integration/test-phased-updates-upgrade new file mode 100755 index 0000000..4f415f2 --- /dev/null +++ b/test/integration/test-phased-updates-upgrade @@ -0,0 +1,421 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +echo 'Debug::Phasing "1";' > rootdir/etc/apt/apt.conf.d/debug-phasing +configarchitecture 'i386' 'armel' + + + +# Test case phased: The package is installed and has a phased update available +insertinstalledpackage 'phased' 'all' '1' +insertpackage 'unstable-updates' 'phased' 'all' '3' 'Phased-Update-Percentage: 0' + +# Test case phased-security: A phased package is in security and will be installed +insertinstalledpackage 'phased-security' 'all' '1' +insertpackage 'unstable-security' 'phased-security' 'all' '2' +insertpackage 'unstable-updates' 'phased-security' 'all' '3' 'Phased-Update-Percentage: 0' + +# Test case phased-security: A phased package is in security and will be installed +insertinstalledpackage 'phased-security-same' 'all' '1' +insertpackage 'unstable-security' 'phased-security-same' 'all' '3' +insertpackage 'unstable-updates' 'phased-security-same' 'all' '3' 'Phased-Update-Percentage: 0' + +# Test case phased-dep: A released update depends on the phased dependency phased-dep +insertinstalledpackage 'phased-dep' 'all' '1' +insertinstalledpackage 'depends-phased-dep' 'all' '1' +insertpackage 'unstable-updates' 'phased-dep' 'all' '3' 'Phased-Update-Percentage: 0' +insertpackage 'unstable-updates' 'depends-phased-dep' 'all' '3' 'Depends: phased-dep (= 3)' + +# Test case phased-new: A release update depends on a new package that's phasing +insertinstalledpackage 'depends-phased-new' 'all' '1' +insertpackage 'unstable-updates' 'phased-new' 'all' '3' 'Phased-Update-Percentage: 0' +insertpackage 'unstable-updates' 'depends-phased-new' 'all' '3' 'Depends: phased-new (= 3)' + +# Test case phased-dep: A released update depends on the phased dependency phased-dep +insertinstalledpackage 'ready-dep' 'all' '1' +insertinstalledpackage 'phased-depends-ready-dep' 'all' '1' 'Depends: ready-dep (= 1) +Protected: yes' +insertpackage 'unstable-updates' 'ready-dep' 'all' '3' +insertpackage 'unstable-updates' 'phased-depends-ready-dep' 'all' '3' 'Depends: ready-dep (= 3) +Protected: yes +Phased-Update-Percentage: 0' + +setupaptarchive + +msgmsg "Testing with default (upgrade-based) implementation" + +testsuccessequal "Reading package lists... +Building dependency tree... +Calculating upgrade... +The following NEW packages will be installed: + phased-new +The following upgrades have been deferred due to phasing: + phased phased-dep phased-depends-ready-dep +The following packages have been kept back: + depends-phased-dep ready-dep +The following packages will be upgraded: + depends-phased-new phased-security phased-security-same +3 upgraded, 1 newly installed, 0 to remove and 5 not upgraded. +Inst phased-new (3 unstable-updates [all]) +Inst depends-phased-new [1] (3 unstable-updates [all]) +Inst phased-security [1] (3 unstable-updates [all]) +Inst phased-security-same [1] (3 unstable-security, unstable-updates [all]) +Conf phased-new (3 unstable-updates [all]) +Conf depends-phased-new (3 unstable-updates [all]) +Conf phased-security (3 unstable-updates [all]) +Conf phased-security-same (3 unstable-security, unstable-updates [all])" aptget dist-upgrade -s -q + +testequal "Reading package lists... +Building dependency tree... +Calculating upgrade... +The following NEW packages will be installed: + phased-new +The following upgrades have been deferred due to phasing: + phased phased-dep phased-depends-ready-dep +The following packages have been kept back: + depends-phased-dep ready-dep +The following packages will be upgraded: + depends-phased-new phased-security phased-security-same +3 upgraded, 1 newly installed, 0 to remove and 5 not upgraded. +Need to get 0 B/168 B of archives. +After this operation, 43.0 kB of additional disk space will be used. +N: Some packages may have been kept back due to phasing. +Do you want to continue? [Y/n] Abort." apt dist-upgrade < /dev/null + +testsuccessequal "Listing... +phased-dep/unstable-updates 3 all [upgradable from: 1] +phased-depends-ready-dep/unstable-updates 3 all [upgradable from: 1] +phased/unstable-updates 3 all [upgradable from: 1]" apt list '?phasing' + +testsuccessequal "Listing... +phased-security-same/unstable-security,unstable-updates 3 all [upgradable from: 1] +phased-security/unstable-updates 3 all [upgradable from: 1]" apt list '?security' + +for always in APT::Get::Always-Include-Phased-Updates Update-Manager::Always-Include-Phased-Updates; do +testsuccessequal "Reading package lists... +Building dependency tree... +Calculating upgrade... +The following NEW packages will be installed: + phased-new +The following packages will be upgraded: + depends-phased-dep depends-phased-new phased phased-dep + phased-depends-ready-dep phased-security phased-security-same ready-dep +8 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst phased-dep [1] (3 unstable-updates [all]) +Inst depends-phased-dep [1] (3 unstable-updates [all]) +Inst phased-new (3 unstable-updates [all]) +Inst depends-phased-new [1] (3 unstable-updates [all]) +Inst phased [1] (3 unstable-updates [all]) +Inst phased-depends-ready-dep [1] (3 unstable-updates [all]) [] +Inst ready-dep [1] (3 unstable-updates [all]) +Inst phased-security [1] (3 unstable-updates [all]) +Inst phased-security-same [1] (3 unstable-security, unstable-updates [all]) +Conf phased-dep (3 unstable-updates [all]) +Conf depends-phased-dep (3 unstable-updates [all]) +Conf phased-new (3 unstable-updates [all]) +Conf depends-phased-new (3 unstable-updates [all]) +Conf phased (3 unstable-updates [all]) +Conf phased-depends-ready-dep (3 unstable-updates [all]) +Conf ready-dep (3 unstable-updates [all]) +Conf phased-security (3 unstable-updates [all]) +Conf phased-security-same (3 unstable-security, unstable-updates [all])" aptget dist-upgrade -s -q -o $always=1 +done + +SOURCE_DATE_EPOCH=1 testsuccessequal "Reading package lists... +Building dependency tree... +Calculating upgrade... +The following NEW packages will be installed: + phased-new +The following packages will be upgraded: + depends-phased-dep depends-phased-new phased phased-dep + phased-depends-ready-dep phased-security phased-security-same ready-dep +8 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst phased-dep [1] (3 unstable-updates [all]) +Inst depends-phased-dep [1] (3 unstable-updates [all]) +Inst phased-new (3 unstable-updates [all]) +Inst depends-phased-new [1] (3 unstable-updates [all]) +Inst phased [1] (3 unstable-updates [all]) +Inst phased-depends-ready-dep [1] (3 unstable-updates [all]) [] +Inst ready-dep [1] (3 unstable-updates [all]) +Inst phased-security [1] (3 unstable-updates [all]) +Inst phased-security-same [1] (3 unstable-security, unstable-updates [all]) +Conf phased-dep (3 unstable-updates [all]) +Conf depends-phased-dep (3 unstable-updates [all]) +Conf phased-new (3 unstable-updates [all]) +Conf depends-phased-new (3 unstable-updates [all]) +Conf phased (3 unstable-updates [all]) +Conf phased-depends-ready-dep (3 unstable-updates [all]) +Conf ready-dep (3 unstable-updates [all]) +Conf phased-security (3 unstable-updates [all]) +Conf phased-security-same (3 unstable-security, unstable-updates [all])" aptget dist-upgrade -s -q -o with-source-date-epoch=1 + +for never in APT::Get::Never-Include-Phased-Updates Update-Manager::Never-Include-Phased-Updates; do +testsuccessequal "Reading package lists... +Building dependency tree... +Calculating upgrade... +The following NEW packages will be installed: + phased-new +The following upgrades have been deferred due to phasing: + phased phased-dep phased-depends-ready-dep +The following packages have been kept back: + depends-phased-dep ready-dep +The following packages will be upgraded: + depends-phased-new phased-security phased-security-same +3 upgraded, 1 newly installed, 0 to remove and 5 not upgraded. +Inst phased-new (3 unstable-updates [all]) +Inst depends-phased-new [1] (3 unstable-updates [all]) +Inst phased-security [1] (3 unstable-updates [all]) +Inst phased-security-same [1] (3 unstable-security, unstable-updates [all]) +Conf phased-new (3 unstable-updates [all]) +Conf depends-phased-new (3 unstable-updates [all]) +Conf phased-security (3 unstable-updates [all]) +Conf phased-security-same (3 unstable-security, unstable-updates [all])" aptget dist-upgrade -s -q -o $never=1 +done + +testsuccessequal "Reading package lists... +Building dependency tree... +Calculating upgrade... +The following NEW packages will be installed: + phased-new +The following upgrades have been deferred due to phasing: + phased phased-dep phased-depends-ready-dep +The following packages have been kept back: + depends-phased-dep ready-dep +The following packages will be upgraded: + depends-phased-new phased-security phased-security-same +3 upgraded, 1 newly installed, 0 to remove and 5 not upgraded. +Inst phased-new (3 unstable-updates [all]) +Inst depends-phased-new [1] (3 unstable-updates [all]) +Inst phased-security [1] (3 unstable-updates [all]) +Inst phased-security-same [1] (3 unstable-security, unstable-updates [all]) +Conf phased-new (3 unstable-updates [all]) +Conf depends-phased-new (3 unstable-updates [all]) +Conf phased-security (3 unstable-updates [all]) +Conf phased-security-same (3 unstable-security, unstable-updates [all])" aptget upgrade -s -q --with-new-pkgs + +testsuccessequal "Reading package lists... +Building dependency tree... +Calculating upgrade... +The following upgrades have been deferred due to phasing: + phased phased-dep phased-depends-ready-dep +The following packages have been kept back: + depends-phased-dep depends-phased-new ready-dep +The following packages will be upgraded: + phased-security phased-security-same +2 upgraded, 0 newly installed, 0 to remove and 6 not upgraded. +Inst phased-security [1] (3 unstable-updates [all]) +Inst phased-security-same [1] (3 unstable-security, unstable-updates [all]) +Conf phased-security (3 unstable-updates [all]) +Conf phased-security-same (3 unstable-security, unstable-updates [all])" aptget upgrade -s -q + +for upgrade in "dist-upgrade" "upgrade --with-new-pkgs"; do +testsuccessequal "Reading package lists... +Building dependency tree... +Calculating upgrade... +The following NEW packages will be installed: + phased-new +The following upgrades have been deferred due to phasing: + phased phased-depends-ready-dep +The following packages have been kept back: + ready-dep +The following packages will be upgraded: + depends-phased-dep depends-phased-new phased-dep phased-security + phased-security-same +5 upgraded, 1 newly installed, 0 to remove and 3 not upgraded. +Inst phased-dep [1] (3 unstable-updates [all]) +Inst depends-phased-dep [1] (3 unstable-updates [all]) +Inst phased-new (3 unstable-updates [all]) +Inst depends-phased-new [1] (3 unstable-updates [all]) +Inst phased-security [1] (3 unstable-updates [all]) +Inst phased-security-same [1] (3 unstable-security, unstable-updates [all]) +Conf phased-dep (3 unstable-updates [all]) +Conf depends-phased-dep (3 unstable-updates [all]) +Conf phased-new (3 unstable-updates [all]) +Conf depends-phased-new (3 unstable-updates [all]) +Conf phased-security (3 unstable-updates [all]) +Conf phased-security-same (3 unstable-security, unstable-updates [all])" aptget $upgrade -s -q depends-phased-dep +done + +testsuccessequal "Reading package lists... +Building dependency tree... +Calculating upgrade... +The following upgrades have been deferred due to phasing: + phased phased-depends-ready-dep +The following packages have been kept back: + depends-phased-new ready-dep +The following packages will be upgraded: + depends-phased-dep phased-dep phased-security phased-security-same +4 upgraded, 0 newly installed, 0 to remove and 4 not upgraded. +Inst phased-dep [1] (3 unstable-updates [all]) +Inst depends-phased-dep [1] (3 unstable-updates [all]) +Inst phased-security [1] (3 unstable-updates [all]) +Inst phased-security-same [1] (3 unstable-security, unstable-updates [all]) +Conf phased-dep (3 unstable-updates [all]) +Conf depends-phased-dep (3 unstable-updates [all]) +Conf phased-security (3 unstable-updates [all]) +Conf phased-security-same (3 unstable-security, unstable-updates [all])" aptget upgrade -s -q depends-phased-dep + +# install does not respect phasing +testsuccessequal "Reading package lists... +Building dependency tree... +The following additional packages will be installed: + phased-dep +The following packages will be upgraded: + depends-phased-dep phased phased-dep phased-security phased-security-same +5 upgraded, 0 newly installed, 0 to remove and 3 not upgraded. +Inst phased-dep [1] (3 unstable-updates [all]) +Inst depends-phased-dep [1] (3 unstable-updates [all]) +Inst phased [1] (3 unstable-updates [all]) +Inst phased-security [1] (3 unstable-updates [all]) +Inst phased-security-same [1] (3 unstable-security, unstable-updates [all]) +Conf phased-dep (3 unstable-updates [all]) +Conf depends-phased-dep (3 unstable-updates [all]) +Conf phased (3 unstable-updates [all]) +Conf phased-security (3 unstable-updates [all]) +Conf phased-security-same (3 unstable-security, unstable-updates [all])" aptget install -s -q phased depends-phased-dep phased-security phased-security-same + +msgmsg "Testing with policy based implementation" +echo 'APT::Get::Phase-Policy "1";' > rootdir/etc/apt/apt.conf.d/phase-by-policy + +testsuccessequal "Reading package lists... +Building dependency tree... +Calculating upgrade... +The following NEW packages will be installed: + phased-new +The following packages have been kept back: + depends-phased-dep ready-dep +The following packages will be upgraded: + depends-phased-new phased-security +2 upgraded, 1 newly installed, 0 to remove and 2 not upgraded. +Inst phased-new (3 unstable-updates [all]) +Inst depends-phased-new [1] (3 unstable-updates [all]) +Inst phased-security [1] (2 unstable-security [all]) +Conf phased-new (3 unstable-updates [all]) +Conf depends-phased-new (3 unstable-updates [all]) +Conf phased-security (2 unstable-security [all])" aptget dist-upgrade -s -q + +for always in APT::Get::Always-Include-Phased-Updates Update-Manager::Always-Include-Phased-Updates; do +testsuccessequal "Reading package lists... +Building dependency tree... +Calculating upgrade... +The following NEW packages will be installed: + phased-new +The following packages will be upgraded: + depends-phased-dep depends-phased-new phased phased-dep + phased-depends-ready-dep phased-security phased-security-same ready-dep +8 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst phased-dep [1] (3 unstable-updates [all]) +Inst depends-phased-dep [1] (3 unstable-updates [all]) +Inst phased-new (3 unstable-updates [all]) +Inst depends-phased-new [1] (3 unstable-updates [all]) +Inst phased [1] (3 unstable-updates [all]) +Inst phased-depends-ready-dep [1] (3 unstable-updates [all]) [] +Inst ready-dep [1] (3 unstable-updates [all]) +Inst phased-security [1] (3 unstable-updates [all]) +Inst phased-security-same [1] (3 unstable-security, unstable-updates [all]) +Conf phased-dep (3 unstable-updates [all]) +Conf depends-phased-dep (3 unstable-updates [all]) +Conf phased-new (3 unstable-updates [all]) +Conf depends-phased-new (3 unstable-updates [all]) +Conf phased (3 unstable-updates [all]) +Conf phased-depends-ready-dep (3 unstable-updates [all]) +Conf ready-dep (3 unstable-updates [all]) +Conf phased-security (3 unstable-updates [all]) +Conf phased-security-same (3 unstable-security, unstable-updates [all])" aptget dist-upgrade -s -q -o $always=1 +done + +# In the policy implementation, we can update security +for never in APT::Get::Never-Include-Phased-Updates Update-Manager::Never-Include-Phased-Updates; do +testsuccessequal "Reading package lists... +Building dependency tree... +Calculating upgrade... +The following NEW packages will be installed: + phased-new +The following packages have been kept back: + depends-phased-dep ready-dep +The following packages will be upgraded: + depends-phased-new phased-security +2 upgraded, 1 newly installed, 0 to remove and 2 not upgraded. +Inst phased-new (3 unstable-updates [all]) +Inst depends-phased-new [1] (3 unstable-updates [all]) +Inst phased-security [1] (2 unstable-security [all]) +Conf phased-new (3 unstable-updates [all]) +Conf depends-phased-new (3 unstable-updates [all]) +Conf phased-security (2 unstable-security [all])" aptget dist-upgrade -s -q -o $never=1 +done + +SOURCE_DATE_EPOCH=1 testsuccessequal "Reading package lists... +Building dependency tree... +Calculating upgrade... +The following NEW packages will be installed: + phased-new +The following packages will be upgraded: + depends-phased-dep depends-phased-new phased phased-dep + phased-depends-ready-dep phased-security phased-security-same ready-dep +8 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst phased-dep [1] (3 unstable-updates [all]) +Inst depends-phased-dep [1] (3 unstable-updates [all]) +Inst phased-new (3 unstable-updates [all]) +Inst depends-phased-new [1] (3 unstable-updates [all]) +Inst phased [1] (3 unstable-updates [all]) +Inst phased-depends-ready-dep [1] (3 unstable-updates [all]) [] +Inst ready-dep [1] (3 unstable-updates [all]) +Inst phased-security [1] (3 unstable-updates [all]) +Inst phased-security-same [1] (3 unstable-security, unstable-updates [all]) +Conf phased-dep (3 unstable-updates [all]) +Conf depends-phased-dep (3 unstable-updates [all]) +Conf phased-new (3 unstable-updates [all]) +Conf depends-phased-new (3 unstable-updates [all]) +Conf phased (3 unstable-updates [all]) +Conf phased-depends-ready-dep (3 unstable-updates [all]) +Conf ready-dep (3 unstable-updates [all]) +Conf phased-security (3 unstable-updates [all]) +Conf phased-security-same (3 unstable-security, unstable-updates [all])" aptget dist-upgrade -s -q -o with-source-date-epoch=1 + + +testsuccessequal "Reading package lists... +Building dependency tree... +Calculating upgrade... +The following NEW packages will be installed: + phased-new +The following packages have been kept back: + depends-phased-dep ready-dep +The following packages will be upgraded: + depends-phased-new phased-security +2 upgraded, 1 newly installed, 0 to remove and 2 not upgraded. +Inst phased-new (3 unstable-updates [all]) +Inst depends-phased-new [1] (3 unstable-updates [all]) +Inst phased-security [1] (2 unstable-security [all]) +Conf phased-new (3 unstable-updates [all]) +Conf depends-phased-new (3 unstable-updates [all]) +Conf phased-security (2 unstable-security [all])" aptget upgrade -s -q --with-new-pkgs + +testsuccessequal "Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages have been kept back: + depends-phased-dep depends-phased-new ready-dep +The following packages will be upgraded: + phased-security +1 upgraded, 0 newly installed, 0 to remove and 3 not upgraded. +Inst phased-security [1] (2 unstable-security [all]) +Conf phased-security (2 unstable-security [all])" aptget upgrade -s -q + +# FIXME: We actually would like this to work I think? +for upgrade in "dist-upgrade" "upgrade --with-new-pkgs" "upgrade" "install"; do + testfailure aptget $upgrade -s -q depends-phased-dep + testsuccess grep "depends-phased-dep : Depends: phased-dep (= 3) but 1 is to be installed" rootdir/tmp/testfailure.output +done + +testsuccessequal "Reading package lists... +Building dependency tree... +phased is already the newest version (1). +The following packages will be upgraded: + phased-security +1 upgraded, 0 newly installed, 0 to remove and 3 not upgraded. +Inst phased-security [1] (2 unstable-security [all]) +Conf phased-security (2 unstable-security [all])" aptget install -s -q phased phased-security diff --git a/test/integration/test-pin-non-existent-package b/test/integration/test-pin-non-existent-package new file mode 100755 index 0000000..06103fd --- /dev/null +++ b/test/integration/test-pin-non-existent-package @@ -0,0 +1,75 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "i386" + +insertpackage 'unstable' 'rapt' 'i386' '0.8.15' +insertpackage 'unstable' 'arch' 'i386' '1.0' + +setupaptarchive + +testcandidate() { + msgtest "Test that the Candidate for $1 is" $2 + if [ "$(aptcache policy $1 | grep '^ Candidate:')" = " Candidate: $2" ]; then + msgpass + else + echo + aptcache policy $1 + msgfail + fi +} + +testcandidate rapt '0.8.15' +testsuccessequal 'N: Unable to locate package doesntexist' aptcache policy doesntexist +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget dist-upgrade --trivial-only + +echo 'Package: rapt +Pin: release a=unstable +Pin-Priority: -1' > rootdir/etc/apt/preferences + +testcandidate rapt '(none)' +testsuccessequal 'N: Unable to locate package doesntexist' aptcache policy doesntexist +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget dist-upgrade --trivial-only + +echo ' +Package: doesntexist +Pin: release a=unstable +Pin-Priority: 1000' >> rootdir/etc/apt/preferences + +testcandidate rapt '(none)' + +echo ' +Package: rapt +Pin: release a=unstable +Pin-Priority: 1000' >> rootdir/etc/apt/preferences + +testcandidate rapt '(none)' +testsuccessequal 'N: Unable to locate package doesntexist' aptcache policy doesntexist + +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget dist-upgrade --trivial-only + +echo 'Package: arch:amd64 +Pin: release a=unstable +Pin-Priority: -1' > rootdir/etc/apt/preferences + +testcandidate arch '1.0' + +echo ' +Package: arch:i386 +Pin: release a=unstable +Pin-Priority: -1' >> rootdir/etc/apt/preferences + +testcandidate arch '(none)' + diff --git a/test/integration/test-policy-pinning b/test/integration/test-policy-pinning new file mode 100755 index 0000000..dc3192f --- /dev/null +++ b/test/integration/test-policy-pinning @@ -0,0 +1,490 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "i386" + +insertinstalledpackage 'foobar' 'all' '1' + +buildaptarchive +setupflataptarchive + +STATUS=$(readlink -f rootdir/var/lib/dpkg/status) +APTARCHIVE=$(readlink -f aptarchive) + +testequalpolicy() { + local SP="$1" + local AP="$2" + shift 2 + testsuccessequal "Package files: + $(printf '%3s' "$SP") ${STATUS} + release a=now + $(printf '%3s' "$AP") file:${APTARCHIVE} Packages + release c= +Pinned packages:" aptcache policy "$@" +} + +testglobalpolicy() { + aptgetupdate + + testequalpolicy 100 500 + testequalpolicy 990 500 -t now + + sed -i aptarchive/Release -e 1i"NotAutomatic: yes" + aptgetupdate + + testequalpolicy 100 1 -o Test=NotAutomatic + testequalpolicy 990 1 -o Test=NotAutomatic -t now + + sed -i aptarchive/Release -e 1i"ButAutomaticUpgrades: yes" + aptgetupdate + + testequalpolicy 100 100 -o Test=ButAutomaticUpgrades + testequalpolicy 990 100 -o Test=ButAutomaticUpgrades -t now + + sed -i aptarchive/Release -e 's#NotAutomatic: yes#NotAutomatic: no#' -e '/ButAutomaticUpgrades: / d' + aptgetupdate + + testequalpolicy 100 500 -o Test=Automatic + testequalpolicy 990 500 -o Test=Automatic -t now + + sed -i aptarchive/Release -e '/NotAutomatic: / d' -e '/ButAutomaticUpgrades: / d' +} + +msgmsg 'Test with not signed archive' +aptgetupdate() { + rm -rf rootdir/var/lib/apt + testwarning aptget update --allow-insecure-repositories +} +testglobalpolicy + +msgmsg 'Test with signed but no key in trusted' +aptgetupdate() { + rm -rf rootdir/var/lib/apt + signreleasefiles 'Marvin Paranoid' + testwarning aptget update --allow-insecure-repositories +} +testglobalpolicy + +# much the same tests will be executed below in more detail again for this one +msgmsg 'Test with signed and valid key' +aptgetupdate() { + rm -rf rootdir/var/lib/apt + signreleasefiles 'Joe Sixpack' + testsuccess aptget update +} +testglobalpolicy + +msgmsg 'Test with specific packages' + +buildsimplenativepackage "coolstuff" "all" "1.0" "stable" +buildsimplenativepackage "coolstuff" "all" "2.0~bpo1" "backports" + +setupaptarchive + +testsuccessequal "coolstuff: + Installed: (none) + Candidate: 2.0~bpo1 + Version table: + 2.0~bpo1 500 + 500 file:${APTARCHIVE} backports/main all Packages + 1.0 500 + 500 file:${APTARCHIVE} stable/main all Packages" apt policy '^cool.*' + +testequalpolicycoolstuff() { + local INSTALLED="${1:-(none)}" + local CANDIDATE="${2:-(none)}" + local AB="$3" + local AS="$4" + local PB="$5" + local IS="" + local IB="" + local SB="" + local SS="" + [ "$1" = "2.0~bpo1" ] && IB="***" && SB=" + 100 $STATUS" || IB=" " + [ "$1" = "1.0" ] && IS="***" && SS=" + 100 $STATUS" || IS=" " + local BPO1ARCHIVE="" + local BPO2ARCHIVE="" + if [ ! "$7" = "2.0~bpo2" ]; then + BPO1PIN="$AB" + BPO1ARCHIVE=" $(printf '%3s' "$AB") file:${APTARCHIVE} backports/main all Packages" + else + BPO2ARCHIVE=" + 2.0~bpo2 $AB + $(printf '%3s' "$AB") file:${APTARCHIVE} backports/main all Packages" + SB="$(echo "$SB" | tail -n 1)" + shift + fi + shift 6 + testsuccessequal "coolstuff: + Installed: $INSTALLED + Candidate: $CANDIDATE + Version table:${BPO2ARCHIVE} + $IB 2.0~bpo1 $PB +${BPO1ARCHIVE}$SB + $IS 1.0 $AS + $(printf '%3s' "$AS") file:${APTARCHIVE} stable/main all Packages$SS" \ + aptcache policy coolstuff -o Policy=${INSTALLED}-${CANDIDATE}-${AB}-${AS}-${PB} $* +} + +testequalpolicycoolstuff "" "2.0~bpo1" 500 500 500 "" +testequalpolicycoolstuff "" "1.0" 500 990 500 "" -t stable +testequalpolicycoolstuff "" "2.0~bpo1" 990 500 990 "" -t backports +echo "Package: * +Pin: release n=backports +Pin-Priority: 200" > rootdir/etc/apt/preferences +testequalpolicycoolstuff "" "1.0" 200 500 200 "" -o Test=GlobalPin +testequalpolicycoolstuff "" "1.0" 200 990 200 "" -o Test=GlobalPin -t stable +testequalpolicycoolstuff "" "2.0~bpo1" 990 500 990 "" -o Test=GlobalPin -t backports +echo "Package: * +Pin: release n=backports +Pin-Priority: 600" > rootdir/etc/apt/preferences +testequalpolicycoolstuff "" "2.0~bpo1" 600 500 600 "" -o Test=GlobalPin +testequalpolicycoolstuff "" "1.0" 600 990 600 "" -o Test=GlobalPin -t stable +echo "Package: cool* +Pin: release n=backports +Pin-Priority: 600" > rootdir/etc/apt/preferences +testequalpolicycoolstuff "" "2.0~bpo1" 500 500 600 "" -o Test=GlobPin +testequalpolicycoolstuff "" "1.0" 500 990 600 "" -o Test=GlobPin -t stable +echo "Package: /cool.*/ +Pin: release n=backports +Pin-Priority: 600" > rootdir/etc/apt/preferences +testequalpolicycoolstuff "" "2.0~bpo1" 500 500 600 "" -o Test=RegexPin +testequalpolicycoolstuff "" "1.0" 500 990 600 "" -o Test=RegexPin -t stable +echo "Package: coolstuff +Pin: release n=backports +Pin-Priority: 200" > rootdir/etc/apt/preferences +testequalpolicycoolstuff "" "1.0" 500 500 200 "2.0~bpo1" -o Test=PackagePin +testequalpolicycoolstuff "" "1.0" 990 500 200 "2.0~bpo1" -o Test=PackagePin -t backports +testequalpolicycoolstuff "" "1.0" 500 990 200 "2.0~bpo1" -o Test=PackagePin -t stable +echo "Package: coolstuff +Pin: release n=backports +Pin-Priority: 600" > rootdir/etc/apt/preferences +testequalpolicycoolstuff "" "2.0~bpo1" 500 500 600 "2.0~bpo1" -o Test=PackagePin +testequalpolicycoolstuff "" "1.0" 500 990 600 "2.0~bpo1" -o Test=PackagePin -t stable +testequalpolicycoolstuff "" "2.0~bpo1" 990 500 600 "2.0~bpo1" -o Test=PackagePin -t backports + +echo "Package: coolstuff +Pin: release n=backports +Pin-Priority: -1" > rootdir/etc/apt/preferences +testequalpolicycoolstuff "" "1.0" 500 500 -1 "2.0~bpo1" -o Test=PackagePin +testequalpolicycoolstuff "" "1.0" 990 500 -1 "2.0~bpo1" -o Test=PackagePin -t backports +testequalpolicycoolstuff "" "1.0" 500 990 -1 "2.0~bpo1" -o Test=PackagePin -t stable + +rm rootdir/etc/apt/preferences +sed -i aptarchive/dists/backports/Release -e 1i"NotAutomatic: yes" +signreleasefiles +aptgetupdate + +testequalpolicycoolstuff "" "1.0" 1 500 1 "" -o Test=NotAutomatic +testequalpolicycoolstuff "" "1.0" 1 990 1 "" -o Test=NotAutomatic -t stable +testequalpolicycoolstuff "" "2.0~bpo1" 990 500 990 "" -o Test=NotAutomatic -t backports +echo "Package: * +Pin: release n=backports +Pin-Priority: 200" > rootdir/etc/apt/preferences +testequalpolicycoolstuff "" "1.0" 200 500 200 "" -o Test=NotAutomatic +echo "Package: * +Pin: release n=backports +Pin-Priority: 600" > rootdir/etc/apt/preferences +testequalpolicycoolstuff "" "2.0~bpo1" 600 500 600 "" -o Test=NotAutomatic +testequalpolicycoolstuff "" "1.0" 600 990 600 "" -o Test=NotAutomatic -t stable +echo "Package: coolstuff +Pin: release n=backports +Pin-Priority: 200" > rootdir/etc/apt/preferences +testequalpolicycoolstuff "" "1.0" 1 500 200 "2.0~bpo1" -o Test=NotAutomatic +echo "Package: coolstuff +Pin: release n=backports +Pin-Priority: 600" > rootdir/etc/apt/preferences +testequalpolicycoolstuff "" "2.0~bpo1" 1 500 600 "2.0~bpo1" -o Test=NotAutomatic +testequalpolicycoolstuff "" "2.0~bpo1" 990 500 600 "2.0~bpo1" -o Test=NotAutomatic -t backports +testequalpolicycoolstuff "" "1.0" 1 990 600 "2.0~bpo1" -o Test=NotAutomatic -t stable + +rm rootdir/etc/apt/preferences +sed -i aptarchive/dists/backports/Release -e 1i"ButAutomaticUpgrades: yes" +signreleasefiles +aptgetupdate + +testequalpolicycoolstuff "" "1.0" 100 500 100 "" -o Test=ButAutomaticUpgrades +testequalpolicycoolstuff "" "1.0" 100 990 100 "" -o Test=ButAutomaticUpgrades -t stable +testequalpolicycoolstuff "" "2.0~bpo1" 990 500 990 "" -o Test=ButAutomaticUpgrades -t backports +echo "Package: * +Pin: release n=backports +Pin-Priority: 200" > rootdir/etc/apt/preferences +testequalpolicycoolstuff "" "1.0" 200 500 200 "" -o Test=ButAutomaticUpgrades +echo "Package: * +Pin: release n=backports +Pin-Priority: 600" > rootdir/etc/apt/preferences +testequalpolicycoolstuff "" "2.0~bpo1" 600 500 600 "" -o Test=ButAutomaticUpgrades +testequalpolicycoolstuff "" "1.0" 600 990 600 "" -o Test=ButAutomaticUpgrades -t stable +echo "Package: coolstuff +Pin: release n=backports +Pin-Priority: 200" > rootdir/etc/apt/preferences +testequalpolicycoolstuff "" "1.0" 100 500 200 "2.0~bpo1" -o Test=ButAutomaticUpgrades +echo "Package: coolstuff +Pin: release n=backports +Pin-Priority: 600" > rootdir/etc/apt/preferences +testequalpolicycoolstuff "" "2.0~bpo1" 100 500 600 "2.0~bpo1" -o Test=ButAutomaticUpgrades +testequalpolicycoolstuff "" "2.0~bpo1" 990 500 600 "2.0~bpo1" -o Test=ButAutomaticUpgrades -t backports +testequalpolicycoolstuff "" "1.0" 100 990 600 "2.0~bpo1" -o Test=ButAutomaticUpgrades -t stable + +rm rootdir/etc/apt/preferences +testsuccess aptget install coolstuff -y +testequalpolicycoolstuff "1.0" "1.0" 100 500 100 "" -o Test=ButAutomaticUpgrades +testsuccess aptget dist-upgrade -y +testequalpolicycoolstuff "1.0" "1.0" 100 500 100 "" -o Test=ButAutomaticUpgrades +testequalpolicycoolstuff "1.0" "1.0" 100 990 100 "" -o Test=ButAutomaticUpgrades -t stable +testequalpolicycoolstuff "1.0" "2.0~bpo1" 990 500 990 "" -o Test=ButAutomaticUpgrades -t backports + +testsuccess aptget install coolstuff -t backports -y +testequalpolicycoolstuff "2.0~bpo1" "2.0~bpo1" 100 500 100 "" -o Test=ButAutomaticUpgrades +testsuccess aptget dist-upgrade -y +testequalpolicycoolstuff "2.0~bpo1" "2.0~bpo1" 100 500 100 "" -o Test=ButAutomaticUpgrades +testequalpolicycoolstuff "2.0~bpo1" "2.0~bpo1" 100 990 100 "" -o Test=ButAutomaticUpgrades -t stable +testequalpolicycoolstuff "2.0~bpo1" "2.0~bpo1" 990 500 990 "" -o Test=ButAutomaticUpgrades -t backports + +rm incoming/backports.main.pkglist incoming/backports.main.srclist +buildsimplenativepackage "coolstuff" "all" "2.0~bpo2" "backports" +buildsimplenativepackage "hotstuff" "all" "1.0" "backports" +setupaptarchive --no-update + +sed -i aptarchive/dists/backports/Release -e 1i"NotAutomatic: yes" +signreleasefiles +aptgetupdate + +testequalpolicycoolstuff "2.0~bpo1" "2.0~bpo1" 1 500 100 "" "2.0~bpo2" -o Test=NotAutomatic +testequalpolicycoolstuff "2.0~bpo1" "2.0~bpo1" 1 990 100 "" "2.0~bpo2" -o Test=NotAutomatic -t stable +testequalpolicycoolstuff "2.0~bpo1" "2.0~bpo2" 990 500 100 "" "2.0~bpo2" -o Test=NotAutomatic -t backports + +sed -i aptarchive/dists/backports/Release -e 1i"ButAutomaticUpgrades: yes" +signreleasefiles +aptgetupdate + +testequalpolicycoolstuff "2.0~bpo1" "2.0~bpo2" 100 500 100 "" "2.0~bpo2" -o Test=ButAutomaticUpgrades +testequalpolicycoolstuff "2.0~bpo1" "2.0~bpo2" 100 990 100 "" "2.0~bpo2" -o Test=ButAutomaticUpgrades -t stable +testequalpolicycoolstuff "2.0~bpo1" "2.0~bpo2" 990 500 100 "" "2.0~bpo2" -o Test=ButAutomaticUpgrades -t backports + + +tmppath="$(readlink -f .)" + +# Check 16-bit integers +echo "Package: coolstuff +Pin: release n=backports +Pin-Priority: 32767 +" > rootdir/etc/apt/preferences + +testsuccess aptget install -s coolstuff -o PinPriority=32767 + +echo "Package: coolstuff +Pin: release n=backports +Pin-Priority: -32768 +" > rootdir/etc/apt/preferences +testsuccess aptget install -s coolstuff -o PinPriority=-32768 + +# Check for 32-bit integers +echo "Package: coolstuff +Pin: release n=backports +Pin-Priority: 32768 +" > rootdir/etc/apt/preferences + +testfailureequal "Reading package lists... +E: ${tmppath}/rootdir/etc/apt/preferences: Value 32768 is outside the range of valid pin priorities (-32768 to 32767)" \ + aptget install -s coolstuff -o PinPriority=32768 + + +echo "Package: coolstuff +Pin: release n=backports +Pin-Priority: -32769 +" > rootdir/etc/apt/preferences + +testfailureequal "Reading package lists... +E: ${tmppath}/rootdir/etc/apt/preferences: Value -32769 is outside the range of valid pin priorities (-32768 to 32767)" \ + aptget install -s coolstuff -o PinPriority=-32769 + +# Check for 64-bit integers + +echo "Package: coolstuff +Pin: release n=backports +Pin-Priority: 2147483648 +" > rootdir/etc/apt/preferences + +testfailureequal "Reading package lists... +E: Cannot convert 2147483648 to integer: out of range +E: ${tmppath}/rootdir/etc/apt/preferences: Value 2147483648 is outside the range of valid pin priorities (-32768 to 32767)" \ + aptget install -s coolstuff -o PinPriority=2147483648 + +# Check that short-max/min is a valid pin +currentpin() { +echo "Package: * +Pin: release n=backports +Pin-Priority: $1 +" > rootdir/etc/apt/preferences +testsuccessequal "coolstuff: + Installed: 2.0~bpo1 + Candidate: $2 + Version table: + 2.0~bpo2 ${3:-$1} + ${3:-$1} file:${tmppath}/aptarchive backports/main all Packages + *** 2.0~bpo1 100 + 100 ${tmppath}/rootdir/var/lib/dpkg/status + 1.0 500 + 500 file:${tmppath}/aptarchive stable/main all Packages" apt policy coolstuff +} +currentpin '32767' '2.0~bpo2' +currentpin '-32768' '2.0~bpo1' '-32767' +currentpin '-32767' '2.0~bpo1' '-32767' + +# Check for 0 +echo "Package: coolstuff +Pin: release n=backports +Pin-Priority: 0 +" > rootdir/etc/apt/preferences + +testfailureequal "Reading package lists... +E: No priority (or zero) specified for pin" \ + aptget install -s coolstuff -o PinPriority=0 + +# Check with comments +echo "#Package: coolstuff +#Pin: release n=backports +#Pin-Priority: 0 + +# Test + +Package: coolstuff +Pin: release n=backports +#Pin: release n=unstable +#Pin-Priority: 999 +Pin-Priority: 999 +#Pin-Priority: 999" > rootdir/etc/apt/preferences + +testsuccessequal "coolstuff: + Installed: 2.0~bpo1 + Candidate: 2.0~bpo2 + Version table: + 2.0~bpo2 999 + 100 file:${tmppath}/aptarchive backports/main all Packages + *** 2.0~bpo1 100 + 100 ${tmppath}/rootdir/var/lib/dpkg/status + 1.0 500 + 500 file:${tmppath}/aptarchive stable/main all Packages" aptcache policy coolstuff + + +# Check for override pins + +# Normal pins: First one wins +echo "Package: coolstuff +Pin: release n=backports +Pin-Priority: 990 + +Package: coolstuff +Pin: release n=backports +Pin-Priority: 991 +" > rootdir/etc/apt/preferences + +testsuccessequal "coolstuff: + Installed: 2.0~bpo1 + Candidate: 2.0~bpo2 + Version table: + 2.0~bpo2 990 + 100 file:${tmppath}/aptarchive backports/main all Packages + *** 2.0~bpo1 100 + 100 ${tmppath}/rootdir/var/lib/dpkg/status + 1.0 500 + 500 file:${tmppath}/aptarchive stable/main all Packages" aptcache policy coolstuff + + +echo "Package: coolstuff +Pin: release n=backports +Pin-Priority: 990 + +Package: * +Pin: release n=backports +Pin-Priority: never +" > rootdir/etc/apt/preferences + +testsuccessequal "coolstuff: + Installed: 2.0~bpo1 + Candidate: 2.0~bpo1 + Version table: + 2.0~bpo2 -32768 + -32768 file:${tmppath}/aptarchive backports/main all Packages + *** 2.0~bpo1 100 + 100 ${tmppath}/rootdir/var/lib/dpkg/status + 1.0 500 + 500 file:${tmppath}/aptarchive stable/main all Packages" aptcache policy coolstuff + + +msgmsg "Check that local-only versions can be pinned correctly (LP: #1821308)" +echo "Package: coolstuff +Pin: version 2.0~bpo1 +Pin-Priority: 1000" > rootdir/etc/apt/preferences +testsuccessequal "coolstuff: + Installed: 2.0~bpo1 + Candidate: 2.0~bpo1 + Version table: + 2.0~bpo2 100 + 100 file:${tmppath}/aptarchive backports/main all Packages + *** 2.0~bpo1 1000 + 100 ${tmppath}/rootdir/var/lib/dpkg/status + 1.0 500 + 500 file:${tmppath}/aptarchive stable/main all Packages" aptcache policy coolstuff + +# Check for 0 +echo "Package: coolstuff +Pin: release n=backports +Pin-Priority: never +" > rootdir/etc/apt/preferences + +testfailureequal "Reading package lists... +E: ${tmppath}/rootdir/etc/apt/preferences: The special 'Pin-Priority: never' can only be used for 'Package: *' records" \ + aptget install -s coolstuff -o PinPriority=0 + +# Test multiple packages +echo "Package: coolstuff hotstuff +Pin: release n=backports +Pin-Priority: 600 +" > rootdir/etc/apt/preferences + +testsuccessequal "coolstuff: + Installed: 2.0~bpo1 + Candidate: 2.0~bpo2 + Version table: + 2.0~bpo2 600 + 100 file:${tmppath}/aptarchive backports/main all Packages + *** 2.0~bpo1 100 + 100 ${tmppath}/rootdir/var/lib/dpkg/status + 1.0 500 + 500 file:${tmppath}/aptarchive stable/main all Packages +hotstuff: + Installed: (none) + Candidate: 1.0 + Version table: + 1.0 600 + 100 file:${tmppath}/aptarchive backports/main all Packages" aptcache policy coolstuff hotstuff + +echo "Package: c?ol*ff /hot[st]+uff/ +Pin: release n=backports +Pin-Priority: 600 +" > rootdir/etc/apt/preferences + +testsuccessequal "coolstuff: + Installed: 2.0~bpo1 + Candidate: 2.0~bpo2 + Version table: + 2.0~bpo2 600 + 100 file:${tmppath}/aptarchive backports/main all Packages + *** 2.0~bpo1 100 + 100 ${tmppath}/rootdir/var/lib/dpkg/status + 1.0 500 + 500 file:${tmppath}/aptarchive stable/main all Packages +hotstuff: + Installed: (none) + Candidate: 1.0 + Version table: + 1.0 600 + 100 file:${tmppath}/aptarchive backports/main all Packages" aptcache policy coolstuff hotstuff diff --git a/test/integration/test-prefer-higher-priority-providers b/test/integration/test-prefer-higher-priority-providers new file mode 100755 index 0000000..7c3f323 --- /dev/null +++ b/test/integration/test-prefer-higher-priority-providers @@ -0,0 +1,106 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'native' + +insertpackage 'unstable' 'foo' 'all' '1' 'Provides: stuff' 'important' +insertpackage 'unstable' 'bar' 'all' '1' 'Provides: stuff' 'optional' +insertpackage 'unstable' 'baz' 'all' '1' 'Provides: stuff' 'extra' +insertpackage 'unstable' 'awesome' 'all' '1' 'Depends: stuff' + +setupaptarchive + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + foo +The following NEW packages will be installed: + awesome foo +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1 unstable [all]) +Inst awesome (1 unstable [all]) +Conf foo (1 unstable [all]) +Conf awesome (1 unstable [all])' aptget install awesome -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + awesome foo +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1 unstable [all]) +Inst awesome (1 unstable [all]) +Conf foo (1 unstable [all]) +Conf awesome (1 unstable [all])' aptget install awesome foo -s + +testsuccessequal "Reading package lists... +Building dependency tree... +Package 'bar' is not installed, so not removed +Package 'baz' is not installed, so not removed +The following additional packages will be installed: + foo +The following NEW packages will be installed: + awesome foo +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1 unstable [all]) +Inst awesome (1 unstable [all]) +Conf foo (1 unstable [all]) +Conf awesome (1 unstable [all])" aptget install awesome bar- baz- -s + +testsuccessequal "Reading package lists... +Building dependency tree... +Package 'foo' is not installed, so not removed +The following additional packages will be installed: + bar +The following NEW packages will be installed: + awesome bar +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst bar (1 unstable [all]) +Inst awesome (1 unstable [all]) +Conf bar (1 unstable [all]) +Conf awesome (1 unstable [all])" aptget install awesome foo- -s + +testsuccessequal "Reading package lists... +Building dependency tree... +Package 'foo' is not installed, so not removed +Package 'baz' is not installed, so not removed +The following additional packages will be installed: + bar +The following NEW packages will be installed: + awesome bar +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst bar (1 unstable [all]) +Inst awesome (1 unstable [all]) +Conf bar (1 unstable [all]) +Conf awesome (1 unstable [all])" aptget install awesome foo- baz- -s + +testsuccessequal "Reading package lists... +Building dependency tree... +Package 'foo' is not installed, so not removed +Package 'bar' is not installed, so not removed +The following additional packages will be installed: + baz +The following NEW packages will be installed: + awesome baz +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst baz (1 unstable [all]) +Inst awesome (1 unstable [all]) +Conf baz (1 unstable [all]) +Conf awesome (1 unstable [all])" aptget install awesome foo- bar- -s + +testfailureequal "Reading package lists... +Building dependency tree... +Package 'foo' is not installed, so not removed +Package 'bar' is not installed, so not removed +Package 'baz' is not installed, so not removed +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + awesome : Depends: stuff +E: Unable to correct problems, you have held broken packages." aptget install awesome foo- bar- baz- -s diff --git a/test/integration/test-prefer-native-architecture-over-higher-priority b/test/integration/test-prefer-native-architecture-over-higher-priority new file mode 100755 index 0000000..d21836b --- /dev/null +++ b/test/integration/test-prefer-native-architecture-over-higher-priority @@ -0,0 +1,25 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'arm64' + +insertpackage 'unstable' 'm4' 'amd64' '1' 'Multi-Arch: foreign' 'optional' +insertpackage 'unstable' 'm4' 'arm64' '1' 'Multi-Arch: foreign' 'standard' +insertpackage 'unstable' 'autoconf' 'all' '1' 'Depends: m4' + +setupaptarchive + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + m4 +The following NEW packages will be installed: + autoconf m4 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst m4 (1 unstable [amd64]) +Inst autoconf (1 unstable [all]) +Conf m4 (1 unstable [amd64]) +Conf autoconf (1 unstable [all])' aptget install autoconf -s diff --git a/test/integration/test-prevent-markinstall-multiarch-same-versionscrew b/test/integration/test-prevent-markinstall-multiarch-same-versionscrew new file mode 100755 index 0000000..7966238 --- /dev/null +++ b/test/integration/test-prevent-markinstall-multiarch-same-versionscrew @@ -0,0 +1,133 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' 'armel' + +insertpackage 'stable' 'allarchs' 'all' '1' +insertpackage 'unstable' 'allarchs' 'all' '2' + +insertpackage 'stable,installed' 'fine' 'i386,amd64' '1' 'Multi-Arch: same' +insertpackage 'unstable' 'fine' 'amd64,i386' '2' 'Multi-Arch: same' +insertpackage 'experimental' 'fine' 'amd64,i386' '3' 'Multi-Arch: same' + +insertinstalledpackage 'fine-installed' 'i386,amd64' '1' 'Multi-Arch: same' +insertpackage 'stable' 'fine-installed' 'i386,amd64,armel' '1' 'Multi-Arch: same' +insertpackage 'unstable' 'fine-installed' 'i386,amd64' '2' 'Multi-Arch: same' +insertpackage 'experimental' 'fine-installed' 'i386,amd64' '3' 'Multi-Arch: same' + +insertpackage 'stable,installed' 'out-of-sync-native' 'i386,amd64' '1' 'Multi-Arch: same' +insertpackage 'unstable' 'out-of-sync-native' 'amd64' '2' 'Multi-Arch: same' + +insertpackage 'stable,installed' 'out-of-sync-foreign' 'i386,amd64' '1' 'Multi-Arch: same' +insertpackage 'unstable' 'out-of-sync-foreign' 'i386' '2' 'Multi-Arch: same' + +insertinstalledpackage 'out-of-sync-gone-native' 'i386,amd64' '1' 'Multi-Arch: same' +insertpackage 'stable' 'out-of-sync-gone-native' 'i386' '1' 'Multi-Arch: same' +insertpackage 'unstable' 'out-of-sync-gone-native' 'i386' '2' 'Multi-Arch: same' + +insertinstalledpackage 'out-of-sync-gone-foreign' 'i386,amd64' '1' 'Multi-Arch: same' +insertpackage 'stable' 'out-of-sync-gone-foreign' 'amd64' '1' 'Multi-Arch: same' +insertpackage 'unstable' 'out-of-sync-gone-foreign' 'amd64' '2' 'Multi-Arch: same' + +insertpackage 'stable' 'libsame2' 'i386' '1' 'Multi-Arch: same' +insertpackage 'unstable' 'libsame2' 'amd64' '2' 'Multi-Arch: same' +insertpackage 'unstable' 'depender2' 'all' '2' 'Depends: libsame2 (= 2)' +insertpackage 'stable' 'libsame3' 'i386' '1' 'Multi-Arch: same' +insertpackage 'unstable' 'libsame3' 'i386,amd64' '3' 'Multi-Arch: same' +insertpackage 'unstable' 'depender3' 'all' '3' 'Depends: libsame3 (= 3)' +setupaptarchive + +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be REMOVED: + out-of-sync-gone-foreign:i386 out-of-sync-gone-native +The following packages have been kept back: + out-of-sync-foreign:i386 out-of-sync-native +The following packages will be upgraded: + fine fine:i386 fine-installed fine-installed:i386 out-of-sync-gone-foreign + out-of-sync-gone-native:i386 +6 upgraded, 0 newly installed, 2 to remove and 2 not upgraded. +Remv out-of-sync-gone-foreign:i386 [1] +Remv out-of-sync-gone-native [1] +Inst fine [1] (2 unstable [amd64]) [fine:amd64 on fine:i386] [fine:i386 on fine:amd64] [fine:i386 ] +Inst fine:i386 [1] (2 unstable [i386]) +Inst fine-installed [1] (2 unstable [amd64]) [fine-installed:amd64 on fine-installed:i386] [fine-installed:i386 on fine-installed:amd64] [fine-installed:i386 ] +Inst fine-installed:i386 [1] (2 unstable [i386]) +Inst out-of-sync-gone-foreign [1] (2 unstable [amd64]) +Inst out-of-sync-gone-native:i386 [1] (2 unstable [i386]) +Conf fine (2 unstable [amd64]) +Conf fine:i386 (2 unstable [i386]) +Conf fine-installed (2 unstable [amd64]) +Conf fine-installed:i386 (2 unstable [i386]) +Conf out-of-sync-gone-foreign (2 unstable [amd64]) +Conf out-of-sync-gone-native:i386 (2 unstable [i386])' aptget dist-upgrade -s #-o Debug::pkgDepCache::Marker=1 + +echo 'Package: fine:* fine-installed:* +Pin: release a=experimental +Pin-Priority: 500' > rootdir/etc/apt/preferences.d/experimental.pref + +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be REMOVED: + out-of-sync-gone-foreign:i386 out-of-sync-gone-native +The following packages have been kept back: + out-of-sync-foreign:i386 out-of-sync-native +The following packages will be upgraded: + fine fine:i386 fine-installed fine-installed:i386 out-of-sync-gone-foreign + out-of-sync-gone-native:i386 +6 upgraded, 0 newly installed, 2 to remove and 2 not upgraded. +Remv out-of-sync-gone-foreign:i386 [1] +Remv out-of-sync-gone-native [1] +Inst fine [1] (3 experimental [amd64]) [fine:amd64 on fine:i386] [fine:i386 on fine:amd64] [fine:i386 ] +Inst fine:i386 [1] (3 experimental [i386]) +Inst fine-installed [1] (3 experimental [amd64]) [fine-installed:amd64 on fine-installed:i386] [fine-installed:i386 on fine-installed:amd64] [fine-installed:i386 ] +Inst fine-installed:i386 [1] (3 experimental [i386]) +Inst out-of-sync-gone-foreign [1] (2 unstable [amd64]) +Inst out-of-sync-gone-native:i386 [1] (2 unstable [i386]) +Conf fine (3 experimental [amd64]) +Conf fine:i386 (3 experimental [i386]) +Conf fine-installed (3 experimental [amd64]) +Conf fine-installed:i386 (3 experimental [i386]) +Conf out-of-sync-gone-foreign (2 unstable [amd64]) +Conf out-of-sync-gone-native:i386 (2 unstable [i386])' aptget dist-upgrade -s #-o Debug::pkgDepCache::Marker=1 + +testempty dpkg -C +rm -f rootdir/var/lib/dpkg/status +insertinstalledpackage 'libsame2' 'i386' '1' 'Multi-Arch: same' +insertinstalledpackage 'libsame3' 'i386' '1' 'Multi-Arch: same' + +# the error message isn't great, but better than nothing, right? +testfailureequal 'Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + depender2 : Depends: libsame2 (= 2) but it is not going to be installed +E: Unable to correct problems, you have held broken packages.' aptget install depender2 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + libsame3:i386 libsame3 +The following NEW packages will be installed: + depender3 libsame3 +The following packages will be upgraded: + libsame3:i386 +1 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst libsame3:i386 [1] (3 unstable [i386]) +Inst libsame3 (3 unstable [amd64]) +Inst depender3 (3 unstable [all]) +Conf libsame3:i386 (3 unstable [i386]) +Conf libsame3 (3 unstable [amd64]) +Conf depender3 (3 unstable [all])' aptget install depender3 -s + +testempty dpkg -C diff --git a/test/integration/test-provides-arch-all b/test/integration/test-provides-arch-all new file mode 100755 index 0000000..f212b51 --- /dev/null +++ b/test/integration/test-provides-arch-all @@ -0,0 +1,28 @@ +#!/bin/sh +# +# In apt 1.9.6, this test would have failed, outputting: +# The following packages will be REMOVED: +# libltdl-dev +# 0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. +# Remv libltdl-dev [1] +# +# Because we started inserting groups without packages, and then could not +# properly insert the provides. + +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "i386" + +insertinstalledpackage 'automake' 'i386' '1' 'Provides: automake-1.16 +Source: automake-1.16 +Multi-Arch: foreign' +insertinstalledpackage 'libltdl-dev' 'i386' '1' 'Depends: automake-1.16' + +setupaptarchive + +testsuccessequal 'Reading package lists... +Building dependency tree... +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.' aptget install -f -s diff --git a/test/integration/test-provides-gone-with-upgrade b/test/integration/test-provides-gone-with-upgrade new file mode 100755 index 0000000..5249ea0 --- /dev/null +++ b/test/integration/test-provides-gone-with-upgrade @@ -0,0 +1,27 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "i386" + +insertinstalledpackage 'apt' 'i386' '0.8.14' 'Provides: libapt-pkg4.10' +insertpackage 'unstable' 'apt' 'i386' '0.8.15' 'Depends: libapt-pkg4.10' +insertpackage 'unstable' 'libapt-pkg4.10' 'i386' '0.8.15' 'Breaks: apt (<< 0.8.15) +Replaces: apt (<< 0.8.15)' + +setupaptarchive + +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following NEW packages will be installed: + libapt-pkg4.10 +The following packages will be upgraded: + apt +1 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst apt [0.8.14] (0.8.15 unstable [i386]) [] +Inst libapt-pkg4.10 (0.8.15 unstable [i386]) +Conf libapt-pkg4.10 (0.8.15 unstable [i386]) +Conf apt (0.8.15 unstable [i386])' aptget dist-upgrade -s diff --git a/test/integration/test-proxy-connect b/test/integration/test-proxy-connect new file mode 100755 index 0000000..579bab3 --- /dev/null +++ b/test/integration/test-proxy-connect @@ -0,0 +1,31 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +buildsimplenativepackage 'unrelated' 'all' '0.5~squeeze1' 'unstable' + +setupaptarchive +changetowebserver --request-absolute='uri' + + +msgmsg 'Check that host header we send for CONNECT is for target, not proxy' +echo "deb https://example.example/ example example" > rootdir/etc/apt/sources.list +rm -f rootdir/etc/apt/sources.list.d/* +echo "Acquire::http::Proxy \"http://localhost:${APTHTTPPORT}\";" > rootdir/etc/apt/apt.conf.d/99proxy + +aptget update >/dev/null 2>&1 +testsuccessequal "CONNECT example.example:443 HTTP/1.1\r +Host: example.example:443\r +-- +CONNECT example.example:443 HTTP/1.1\r +Host: example.example:443\r +-- +CONNECT example.example:443 HTTP/1.1\r +Host: example.example:443\r +-- +CONNECT example.example:443 HTTP/1.1\r +Host: example.example:443\r" grep -A1 "^CONNECT" aptarchive/webserver.log diff --git a/test/integration/test-release-candidate-switching b/test/integration/test-release-candidate-switching new file mode 100755 index 0000000..5233dec --- /dev/null +++ b/test/integration/test-release-candidate-switching @@ -0,0 +1,459 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "i386" + +insertpackage 'unstable' 'libc6' 'i386' '2.11.2-7+sid' +insertpackage 'unstable' 'phonon-backend-xine' 'i386' '4:4.6.0really4.4.2-1+sid' 'Provides: phonon-backend' +insertpackage 'unstable' 'phonon-backend-xine2' 'i386' '4:4.6.0really4.4.2-1+sid' +insertpackage 'unstable' 'phonon-backend-xine3' 'i386' '4:4.6.0really4.4.2-1+sid' +insertpackage 'unstable' 'phonon-backend-xine4' 'i386' '4:4.6.0really4.4.2-1+sid' +insertpackage 'unstable' 'phonon-backend-null' 'i386' '4:4.20.0+sid' 'Provides: phonon-backend' +insertpackage 'unstable' 'intermediatepkg' 'all' '1.0' + +insertpackage 'unstable' 'amarok-common' 'all' '2.3.1-1+sid' +insertpackage 'unstable' 'amarok-utils' 'i386' '2.3.1-1+sid' +insertpackage 'unstable' 'libmtp8' 'i386' '0.3.1+sid' +insertpackage 'unstable' 'amarok' 'i386' '2.3.1-1+sid' 'Depends: amarok-common (= 2.3.1-1+sid), amarok-utils (= 2.3.1-1+sid), phonon-backend-xine | phonon-backend, libmtp8 (>= 0.3.1), libc6' + +insertpackage 'experimental' 'amarok-common' 'all' '2.3.2-2+exp' +insertpackage 'experimental' 'amarok-utils' 'i386' '2.3.2-2+exp' +insertpackage 'experimental' 'libmtp8' 'i386' '0.3.3+exp' +insertpackage 'experimental' 'phonon-backend-xine' 'i386' '5:4.6.0+exp' 'Provides: phonon-backend' +insertpackage 'experimental' 'phonon-backend-xine2' 'i386' '5:4.6.0+exp' 'Depends: uninstallablepkg +Provides: phonon-backend-broken' +insertpackage 'experimental' 'phonon-backend-xine3' 'i386' '5:4.6.0+exp' 'Depends: intermediatepkg (>= 1.5)' +insertpackage 'experimental' 'phonon-backend-xine4' 'i386' '5:4.6.0+exp' 'Depends: intermediateuninstallablepkg (= 2.0) +Provides: phonon-backend-broken' +insertpackage 'experimental' 'intermediatepkg' 'all' '2.0' 'Depends: libc6' +insertpackage 'experimental' 'intermediateuninstallablepkg' 'all' '2.0' 'Depends: uninstallablepkg' +insertpackage 'experimental' 'phonon-backend-null' 'i386' '5:4.20.0+exp' 'Provides: phonon-backend' +insertpackage 'experimental' 'amarok' 'i386' '2.3.2-2+exp' 'Depends: amarok-common (= 2.3.2-2+exp), amarok-utils (= 2.3.2-2+exp), phonon-backend-xine | phonon-backend, libmtp8 (>= 0.3.1), libc6' + +insertpackage 'experimental2' 'phonon-backend-xine' 'i386' '5:4.00.0+exp' 'Provides: phonon-backend' +insertpackage 'experimental2' 'amarok-less' 'i386' '2.3.2-2+exp' 'Depends: amarok-common, phonon-backend-xine (>= 5:4.00.0+exp), libmtp8, libc6, amarok-utils' +insertpackage 'experimental' 'amarok-higher' 'i386' '2.3.2-2+exp' 'Depends: amarok-common (= 2.3.2-2+exp), phonon-backend-xine (>= 5:4.6.0+exp), libmtp8 (>= 0.3.1), libc6, amarok-utils (= 2.3.2-2+exp)' + +insertpackage 'experimental' 'amarok-null' 'i386' '2.3.2-2+exp' 'Depends: amarok-common (= 2.3.2-2+exp), phonon-backend-xine (= 1:1.0-1) | phonon-backend, libmtp8 (>= 0.3.1), libc6, amarok-utils (= 2.3.2-2+exp)' +insertpackage 'experimental' 'amarok-null2' 'i386' '2.3.2-2+exp' 'Depends: amarok-common (= 2.3.2-2+exp), phonon-backend-null (= 1:1.0-1) | phonon-backend, libmtp8 (>= 0.3.1), libc6, amarok-utils (= 2.3.2-2+exp)' +insertpackage 'experimental' 'amarok-xine' 'i386' '2.3.2-2+exp' 'Depends: amarok-common (= 2.3.2-2+exp), phonon-backend-xine (= 5:4.6.0+exp) | phonon-backend-null (= 5:4.20.0+exp), libmtp8 (>= 0.3.1), libc6, amarok-utils (= 2.3.2-2+exp)' +insertpackage 'experimental' 'amarok-xine2' 'i386' '2.3.2-2+exp' 'Depends: amarok-common (= 2.3.2-2+exp), phonon-backend-xine2 (= 5:4.6.0+exp) | phonon-backend-null (= 5:4.20.0+exp), libmtp8 (>= 0.3.1), libc6, amarok-utils (= 2.3.2-2+exp)' +insertpackage 'experimental' 'amarok-xine3' 'i386' '2.3.2-2+exp' 'Depends: amarok-common (= 2.3.2-2+exp), phonon-backend-xine3 (= 5:4.6.0+exp) | phonon-backend-null (= 5:4.20.0+exp), libmtp8 (>= 0.3.1), libc6, amarok-utils (= 2.3.2-2+exp)' +insertpackage 'experimental' 'amarok-xine4' 'i386' '2.3.2-2+exp' 'Depends: amarok-common (= 2.3.2-2+exp), phonon-backend-xine4 (= 5:4.6.0+exp) | phonon-backend-null (= 5:4.20.0+exp), libmtp8 (>= 0.3.1), libc6, amarok-utils (= 2.3.2-2+exp)' +insertpackage 'experimental' 'amarok-broken' 'i386' '2.3.2-2+exp' 'Depends: amarok-common (= 2.3.2-2+exp), phonon-backend-broken | phonon-backend-null (= 5:4.20.0+exp), libmtp8 (>= 0.3.1), libc6, amarok-utils (= 2.3.2-2+exp)' + +insertpackage 'experimental' 'amarok-recommends' 'i386' '2.3.2-2+exp' 'Depends: amarok-common (= 2.3.2-2+exp) +Recommends: amarok-utils (= 2.3.2-2+exp), phonon-backend-xine | phonon-backend, libmtp8 (>= 0.3.1), libc6' +insertpackage 'experimental' 'amarok-recommends2' 'i386' '2.3.2-2+exp' 'Depends: amarok-common (= 2.3.2-2+exp) +Recommends: amarok-utils (= 2.30.2-2+exp), phonon-backend-xine | phonon-backend, libmtp8 (>= 0.3.1), libc6' + +insertpackage 'experimental' 'uninstallablepkg' 'all' '1.0' 'Depends: libmtp8 (>= 10:0.20.1), amarok-utils (= 2.3.2-2+exp)' + +setupaptarchive + +testfailureequal "Reading package lists... +Building dependency tree... +The following additional packages will be installed: + amarok-common (2.3.1-1+sid) + amarok-utils (2.3.1-1+sid) + libc6 (2.11.2-7+sid) + libmtp8 (0.3.1+sid) + phonon-backend-xine (4:4.6.0really4.4.2-1+sid) +The following NEW packages will be installed: + amarok (2.3.1-1+sid) + amarok-common (2.3.1-1+sid) + amarok-utils (2.3.1-1+sid) + libc6 (2.11.2-7+sid) + libmtp8 (0.3.1+sid) + phonon-backend-xine (4:4.6.0really4.4.2-1+sid) +0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/252 B of archives. +After this operation, 258 kB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation." aptget install amarok --trivial-only -V + +testfailureequal "Reading package lists... +Building dependency tree... +The following additional packages will be installed: + amarok-common (2.3.2-2+exp) + amarok-utils (2.3.2-2+exp) + libc6 (2.11.2-7+sid) + libmtp8 (0.3.3+exp) + phonon-backend-xine (5:4.6.0+exp) +The following NEW packages will be installed: + amarok (2.3.2-2+exp) + amarok-common (2.3.2-2+exp) + amarok-utils (2.3.2-2+exp) + libc6 (2.11.2-7+sid) + libmtp8 (0.3.3+exp) + phonon-backend-xine (5:4.6.0+exp) +0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/252 B of archives. +After this operation, 258 kB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation." aptget install amarok -t experimental --trivial-only -V + +testfailureequal "Reading package lists... +Building dependency tree... +Selected version '2.3.2-2+exp' (experimental [i386]) for 'amarok' +Selected version '2.3.2-2+exp' (experimental [all]) for 'amarok-common' because of 'amarok' +Selected version '2.3.2-2+exp' (experimental [i386]) for 'amarok-utils' because of 'amarok' +The following additional packages will be installed: + amarok-common (2.3.2-2+exp) + amarok-utils (2.3.2-2+exp) + libc6 (2.11.2-7+sid) + libmtp8 (0.3.1+sid) + phonon-backend-xine (4:4.6.0really4.4.2-1+sid) +The following NEW packages will be installed: + amarok (2.3.2-2+exp) + amarok-common (2.3.2-2+exp) + amarok-utils (2.3.2-2+exp) + libc6 (2.11.2-7+sid) + libmtp8 (0.3.1+sid) + phonon-backend-xine (4:4.6.0really4.4.2-1+sid) +0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/252 B of archives. +After this operation, 258 kB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation." aptget install amarok/experimental --trivial-only -V + +testfailureequal "Reading package lists... +Building dependency tree... +Selected version '2.3.2-2+exp' (experimental [i386]) for 'amarok-null' +Selected version '2.3.2-2+exp' (experimental [all]) for 'amarok-common' because of 'amarok-null' +Selected version '2.3.2-2+exp' (experimental [i386]) for 'amarok-utils' because of 'amarok-null' +The following additional packages will be installed: + amarok-common (2.3.2-2+exp) + amarok-utils (2.3.2-2+exp) + libc6 (2.11.2-7+sid) + libmtp8 (0.3.1+sid) + phonon-backend-null (4:4.20.0+sid) +The following NEW packages will be installed: + amarok-common (2.3.2-2+exp) + amarok-null (2.3.2-2+exp) + amarok-utils (2.3.2-2+exp) + libc6 (2.11.2-7+sid) + libmtp8 (0.3.1+sid) + phonon-backend-null (4:4.20.0+sid) +0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/252 B of archives. +After this operation, 258 kB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation." aptget install amarok-null/experimental --trivial-only -V + +# do not select the same version multiple times +testfailureequal "Reading package lists... +Building dependency tree... +Selected version '2.3.2-2+exp' (experimental [i386]) for 'amarok' +Selected version '2.3.2-2+exp' (experimental [all]) for 'amarok-common' because of 'amarok' +Selected version '2.3.2-2+exp' (experimental [i386]) for 'amarok-utils' because of 'amarok' +Selected version '2.3.2-2+exp' (experimental [i386]) for 'amarok-null' +The following additional packages will be installed: + amarok-common (2.3.2-2+exp) + amarok-utils (2.3.2-2+exp) + libc6 (2.11.2-7+sid) + libmtp8 (0.3.1+sid) + phonon-backend-xine (4:4.6.0really4.4.2-1+sid) +The following NEW packages will be installed: + amarok (2.3.2-2+exp) + amarok-common (2.3.2-2+exp) + amarok-null (2.3.2-2+exp) + amarok-utils (2.3.2-2+exp) + libc6 (2.11.2-7+sid) + libmtp8 (0.3.1+sid) + phonon-backend-xine (4:4.6.0really4.4.2-1+sid) +0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/294 B of archives. +After this operation, 301 kB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation." aptget install amarok/experimental amarok-null/experimental --trivial-only -V + +# … but thighten the version if needed +# in theory, the second line is wrong, but printing the right version is too much of a hassle +# (we have to check if later in the Changed list is another change and if so use this version +# instead of the current candidate) - and it wouldn't be (really) useful anyway… +testfailureequal "Reading package lists... +Building dependency tree... +Selected version '2.3.2-2+exp' (experimental2 [i386]) for 'amarok-less' +Selected version '5:4.6.0+exp' (experimental [i386]) for 'phonon-backend-xine' because of 'amarok-less' +Selected version '2.3.2-2+exp' (experimental [i386]) for 'amarok-higher' +Selected version '2.3.2-2+exp' (experimental [all]) for 'amarok-common' because of 'amarok-higher' +Selected version '5:4.6.0+exp' (experimental [i386]) for 'phonon-backend-xine' because of 'amarok-higher' +Selected version '2.3.2-2+exp' (experimental [i386]) for 'amarok-utils' because of 'amarok-higher' +The following additional packages will be installed: + amarok-common (2.3.2-2+exp) + amarok-utils (2.3.2-2+exp) + libc6 (2.11.2-7+sid) + libmtp8 (0.3.1+sid) + phonon-backend-xine (5:4.6.0+exp) +The following NEW packages will be installed: + amarok-common (2.3.2-2+exp) + amarok-higher (2.3.2-2+exp) + amarok-less (2.3.2-2+exp) + amarok-utils (2.3.2-2+exp) + libc6 (2.11.2-7+sid) + libmtp8 (0.3.1+sid) + phonon-backend-xine (5:4.6.0+exp) +0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/294 B of archives. +After this operation, 301 kB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation." aptget install amarok-less/experimental2 amarok-higher/experimental --trivial-only -V + +# phonon-backend-null can't be used directly, but as it provides it is still fine… +testfailureequal "Reading package lists... +Building dependency tree... +Selected version '2.3.2-2+exp' (experimental [i386]) for 'amarok-null2' +Selected version '2.3.2-2+exp' (experimental [all]) for 'amarok-common' because of 'amarok-null2' +Selected version '2.3.2-2+exp' (experimental [i386]) for 'amarok-utils' because of 'amarok-null2' +The following additional packages will be installed: + amarok-common (2.3.2-2+exp) + amarok-utils (2.3.2-2+exp) + libc6 (2.11.2-7+sid) + libmtp8 (0.3.1+sid) + phonon-backend-null (4:4.20.0+sid) +The following NEW packages will be installed: + amarok-common (2.3.2-2+exp) + amarok-null2 (2.3.2-2+exp) + amarok-utils (2.3.2-2+exp) + libc6 (2.11.2-7+sid) + libmtp8 (0.3.1+sid) + phonon-backend-null (4:4.20.0+sid) +0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/252 B of archives. +After this operation, 258 kB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation." aptget install amarok-null2/experimental --trivial-only -V + +# if an or-group satisfier is already found, do not set others +testfailureequal "Reading package lists... +Building dependency tree... +Selected version '2.3.2-2+exp' (experimental [i386]) for 'amarok-xine' +Selected version '2.3.2-2+exp' (experimental [all]) for 'amarok-common' because of 'amarok-xine' +Selected version '5:4.6.0+exp' (experimental [i386]) for 'phonon-backend-xine' because of 'amarok-xine' +Selected version '2.3.2-2+exp' (experimental [i386]) for 'amarok-utils' because of 'amarok-xine' +The following additional packages will be installed: + amarok-common (2.3.2-2+exp) + amarok-utils (2.3.2-2+exp) + libc6 (2.11.2-7+sid) + libmtp8 (0.3.1+sid) + phonon-backend-xine (5:4.6.0+exp) +The following NEW packages will be installed: + amarok-common (2.3.2-2+exp) + amarok-utils (2.3.2-2+exp) + amarok-xine (2.3.2-2+exp) + libc6 (2.11.2-7+sid) + libmtp8 (0.3.1+sid) + phonon-backend-xine (5:4.6.0+exp) +0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/252 B of archives. +After this operation, 258 kB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation." aptget install amarok-xine/experimental --trivial-only -V + +# … but proceed testing if the first doesn't work out +testfailureequal "Reading package lists... +Building dependency tree... +Selected version '2.3.2-2+exp' (experimental [i386]) for 'amarok-xine2' +Selected version '2.3.2-2+exp' (experimental [all]) for 'amarok-common' because of 'amarok-xine2' +Selected version '5:4.20.0+exp' (experimental [i386]) for 'phonon-backend-null' because of 'amarok-xine2' +Selected version '2.3.2-2+exp' (experimental [i386]) for 'amarok-utils' because of 'amarok-xine2' +The following additional packages will be installed: + amarok-common (2.3.2-2+exp) + amarok-utils (2.3.2-2+exp) + libc6 (2.11.2-7+sid) + libmtp8 (0.3.1+sid) + phonon-backend-null (5:4.20.0+exp) +The following NEW packages will be installed: + amarok-common (2.3.2-2+exp) + amarok-utils (2.3.2-2+exp) + amarok-xine2 (2.3.2-2+exp) + libc6 (2.11.2-7+sid) + libmtp8 (0.3.1+sid) + phonon-backend-null (5:4.20.0+exp) +0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/252 B of archives. +After this operation, 258 kB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation." aptget install amarok-xine2/experimental --trivial-only -V + +# sometimes, the second level need to be corrected, too +testfailureequal "Reading package lists... +Building dependency tree... +Selected version '2.3.2-2+exp' (experimental [i386]) for 'amarok-xine3' +Selected version '2.3.2-2+exp' (experimental [all]) for 'amarok-common' because of 'amarok-xine3' +Selected version '5:4.6.0+exp' (experimental [i386]) for 'phonon-backend-xine3' because of 'amarok-xine3' +Selected version '2.0' (experimental [all]) for 'intermediatepkg' because of 'phonon-backend-xine3' +Selected version '2.3.2-2+exp' (experimental [i386]) for 'amarok-utils' because of 'amarok-xine3' +The following additional packages will be installed: + amarok-common (2.3.2-2+exp) + amarok-utils (2.3.2-2+exp) + intermediatepkg (2.0) + libc6 (2.11.2-7+sid) + libmtp8 (0.3.1+sid) + phonon-backend-xine3 (5:4.6.0+exp) +The following NEW packages will be installed: + amarok-common (2.3.2-2+exp) + amarok-utils (2.3.2-2+exp) + amarok-xine3 (2.3.2-2+exp) + intermediatepkg (2.0) + libc6 (2.11.2-7+sid) + libmtp8 (0.3.1+sid) + phonon-backend-xine3 (5:4.6.0+exp) +0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/294 B of archives. +After this operation, 301 kB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation." aptget install amarok-xine3/experimental --trivial-only -V + +# … but proceed testing if the first doesn't work out even in second deep +testfailureequal "Reading package lists... +Building dependency tree... +Selected version '2.3.2-2+exp' (experimental [i386]) for 'amarok-xine4' +Selected version '2.3.2-2+exp' (experimental [all]) for 'amarok-common' because of 'amarok-xine4' +Selected version '5:4.20.0+exp' (experimental [i386]) for 'phonon-backend-null' because of 'amarok-xine4' +Selected version '2.3.2-2+exp' (experimental [i386]) for 'amarok-utils' because of 'amarok-xine4' +The following additional packages will be installed: + amarok-common (2.3.2-2+exp) + amarok-utils (2.3.2-2+exp) + libc6 (2.11.2-7+sid) + libmtp8 (0.3.1+sid) + phonon-backend-null (5:4.20.0+exp) +The following NEW packages will be installed: + amarok-common (2.3.2-2+exp) + amarok-utils (2.3.2-2+exp) + amarok-xine4 (2.3.2-2+exp) + libc6 (2.11.2-7+sid) + libmtp8 (0.3.1+sid) + phonon-backend-null (5:4.20.0+exp) +0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/252 B of archives. +After this operation, 258 kB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation." aptget install amarok-xine4/experimental --trivial-only -V + +# providers can be broken, too +testfailureequal "Reading package lists... +Building dependency tree... +Selected version '2.3.2-2+exp' (experimental [i386]) for 'amarok-broken' +Selected version '2.3.2-2+exp' (experimental [all]) for 'amarok-common' because of 'amarok-broken' +Selected version '5:4.20.0+exp' (experimental [i386]) for 'phonon-backend-null' because of 'amarok-broken' +Selected version '2.3.2-2+exp' (experimental [i386]) for 'amarok-utils' because of 'amarok-broken' +The following additional packages will be installed: + amarok-common (2.3.2-2+exp) + amarok-utils (2.3.2-2+exp) + libc6 (2.11.2-7+sid) + libmtp8 (0.3.1+sid) + phonon-backend-null (5:4.20.0+exp) +The following NEW packages will be installed: + amarok-broken (2.3.2-2+exp) + amarok-common (2.3.2-2+exp) + amarok-utils (2.3.2-2+exp) + libc6 (2.11.2-7+sid) + libmtp8 (0.3.1+sid) + phonon-backend-null (5:4.20.0+exp) +0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/252 B of archives. +After this operation, 258 kB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation." aptget install amarok-broken/experimental --trivial-only -V + +# switch the candidate for recommends too if they should be installed +testfailureequal "Reading package lists... +Building dependency tree... +Selected version '2.3.2-2+exp' (experimental [i386]) for 'amarok-recommends' +Selected version '2.3.2-2+exp' (experimental [all]) for 'amarok-common' because of 'amarok-recommends' +Selected version '2.3.2-2+exp' (experimental [i386]) for 'amarok-utils' because of 'amarok-recommends' +The following additional packages will be installed: + amarok-common (2.3.2-2+exp) + amarok-utils (2.3.2-2+exp) + libc6 (2.11.2-7+sid) + libmtp8 (0.3.1+sid) + phonon-backend-xine (4:4.6.0really4.4.2-1+sid) +The following NEW packages will be installed: + amarok-common (2.3.2-2+exp) + amarok-recommends (2.3.2-2+exp) + amarok-utils (2.3.2-2+exp) + libc6 (2.11.2-7+sid) + libmtp8 (0.3.1+sid) + phonon-backend-xine (4:4.6.0really4.4.2-1+sid) +0 upgraded, 6 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/252 B of archives. +After this operation, 258 kB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation." aptget install amarok-recommends/experimental --trivial-only -V -o APT::Install-Recommends=1 + +# … or not if not +testfailureequal "Reading package lists... +Building dependency tree... +Selected version '2.3.2-2+exp' (experimental [i386]) for 'amarok-recommends' +Selected version '2.3.2-2+exp' (experimental [all]) for 'amarok-common' because of 'amarok-recommends' +The following additional packages will be installed: + amarok-common (2.3.2-2+exp) +Recommended packages: + amarok-utils (2.3.1-1+sid) + phonon-backend-xine (4:4.6.0really4.4.2-1+sid) + | phonon-backend + libmtp8 (0.3.1+sid) + libc6 (2.11.2-7+sid) +The following NEW packages will be installed: + amarok-common (2.3.2-2+exp) + amarok-recommends (2.3.2-2+exp) +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/84 B of archives. +After this operation, 86.0 kB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation." aptget install amarok-recommends/experimental --trivial-only -V -o APT::Install-Recommends=0 + +# but broken recommends are not the end of the world +# FIXME: the version output for recommend packages is a bit strange… but what would be better? +testfailureequal "Reading package lists... +Building dependency tree... +Selected version '2.3.2-2+exp' (experimental [i386]) for 'amarok-recommends2' +Selected version '2.3.2-2+exp' (experimental [all]) for 'amarok-common' because of 'amarok-recommends2' +The following additional packages will be installed: + amarok-common (2.3.2-2+exp) + libc6 (2.11.2-7+sid) + libmtp8 (0.3.1+sid) + phonon-backend-xine (4:4.6.0really4.4.2-1+sid) +Recommended packages: + amarok-utils (2.3.1-1+sid) +The following NEW packages will be installed: + amarok-common (2.3.2-2+exp) + amarok-recommends2 (2.3.2-2+exp) + libc6 (2.11.2-7+sid) + libmtp8 (0.3.1+sid) + phonon-backend-xine (4:4.6.0really4.4.2-1+sid) +0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/210 B of archives. +After this operation, 215 kB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation." aptget install amarok-recommends2/experimental --trivial-only -V -o APT::Install-Recommends=1 + +# if one depends doesn't work, we don't need to look deeper… +testfailureequal "Reading package lists... +Building dependency tree... +Selected version '1.0' (experimental [all]) for 'uninstallablepkg' +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + uninstallablepkg : Depends: libmtp8 (>= 10:0.20.1) but it is not going to be installed + Depends: amarok-utils (= 2.3.2-2+exp) but 2.3.1-1+sid is to be installed +E: Unable to correct problems, you have held broken packages." aptget install uninstallablepkg/experimental --trivial-only -V + +insertinstalledpackage 'libmtp8' 'i386' '1' +insertinstalledpackage 'amarok' 'i386' '3' 'Depends: amarok-common (= 3), libmtp8 (>= 1)' +insertinstalledpackage 'amarok-common' 'all' '3' +# note that libmtp8 isn't downgraded as there is no need +testfailureequal "Reading package lists... +Building dependency tree... +Selected version '2.3.1-1+sid' (unstable [i386]) for 'amarok' +Selected version '2.3.1-1+sid' (unstable [all]) for 'amarok-common' because of 'amarok' +The following additional packages will be installed: + amarok-common (2.3.1-1+sid) + amarok-utils (2.3.1-1+sid) + libc6 (2.11.2-7+sid) + phonon-backend-xine (4:4.6.0really4.4.2-1+sid) +The following NEW packages will be installed: + amarok-utils (2.3.1-1+sid) + libc6 (2.11.2-7+sid) + phonon-backend-xine (4:4.6.0really4.4.2-1+sid) +The following packages will be DOWNGRADED: + amarok (3 => 2.3.1-1+sid) + amarok-common (3 => 2.3.1-1+sid) +0 upgraded, 3 newly installed, 2 downgraded, 0 to remove and 0 not upgraded. +Need to get 0 B/210 B of archives. +After this operation, 129 kB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation." apt install amarok/sid --trivial-only -V diff --git a/test/integration/test-releasefile-date b/test/integration/test-releasefile-date new file mode 100755 index 0000000..a985074 --- /dev/null +++ b/test/integration/test-releasefile-date @@ -0,0 +1,46 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' + +insertpackage 'wheezy' 'apt' 'all' '0.8.15' + +getlabelfromsuite() { + echo -n 'Testcases' +} + +setupaptarchive --no-update + +runtest() { + local MSG="$1" + msgtest "Release file is $MSG as it has" "$2" + rm -rf rootdir/var/lib/apt/lists + generatereleasefiles "$3" + signreleasefiles + shift 3 + if [ "$MSG" = 'accepted' ]; then + testsuccess --nomsg aptget update "$@" + testfailure grep -q 'is not valid yet' rootdir/tmp/testsuccess.output + else + testfailure --nomsg aptget update "$@" + testsuccess grep -q 'is not valid yet' rootdir/tmp/testfailure.output + fi +} + + +runtest 'accepted' 'no date' '' +runtest 'accepted' 'ok date' 'now + 1 hour' +runtest 'rejected' 'date to far in the future' 'now + 12 hours' +runtest 'accepted' 'date to far in the future, but accepted via option' 'now + 12 hours' -o Acquire::Max-FutureTime=86400 + +sed -i -e 's#\(deb\(-src\)\?\) #\1 [check-date=no] #' rootdir/etc/apt/sources.list.d/* +runtest 'accepted' 'bad Date but overridden by sources option' 'now + 1 day' + +sed -i -e 's#\(deb\(-src\)\?\) \[.*\] #\1 [date-max-future=86400] #' rootdir/etc/apt/sources.list.d/* +runtest 'accepted' 'Date allowed via sources list option via sources option' 'now + 12 hours' + +sed -i -e 's#\(deb\(-src\)\?\) \[.*\] #\1 [date-max-future=86405] #' rootdir/etc/apt/sources.list.d/* +runtest 'rejected' 'Date further in the future than allowed by sources.list option' 'now + 2 day' diff --git a/test/integration/test-releasefile-date-older b/test/integration/test-releasefile-date-older new file mode 100755 index 0000000..81c71ea --- /dev/null +++ b/test/integration/test-releasefile-date-older @@ -0,0 +1,132 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' + +insertpackage 'wheezy' 'apt' 'all' '0.8.15' + +setupaptarchive --no-update + +# we don't complain as the server could have just sent a 'Hit' here and this +# 'downgrade attack' is usually performed by out-of-sync mirrors. Valid-Until +# catches the 'real' downgrade attacks (expect that it finds stale mirrors). +# Scaring users with an error here serves hence no point. + +msgmsg 'InRelease file is silently rejected if' 'new Date is before old Date' +rm -rf rootdir/var/lib/apt/lists +generatereleasefiles 'now' 'now + 7 days' +signreleasefiles +testsuccess aptget update +listcurrentlistsdirectory > listsdir.lst +redatereleasefiles 'now - 2 days' +testsuccess aptget update +testfileequal 'listsdir.lst' "$(listcurrentlistsdirectory)" + +msgmsg 'Release.gpg file is silently rejected if' 'new Date is before old Date' +export APT_DONT_SIGN='InRelease' +rm -rf rootdir/var/lib/apt/lists +generatereleasefiles 'now' 'now + 7 days' +signreleasefiles +testsuccess aptget update +listcurrentlistsdirectory > listsdir.lst +redatereleasefiles 'now - 2 days' +testsuccess aptget update +testfileequal 'listsdir.lst' "$(listcurrentlistsdirectory)" +unset APT_DONT_SIGN + +msgmsg 'Crisscross InRelease/Release.gpg file is silently rejected if' 'new Date is before old Date' +export APT_DONT_SIGN='Release.gpg' +rm -rf rootdir/var/lib/apt/lists +generatereleasefiles 'now' 'now + 7 days' +signreleasefiles +testsuccess aptget update +export APT_DONT_SIGN='InRelease' +listcurrentlistsdirectory > listsdir.lst +redatereleasefiles 'now - 2 days' +testsuccess aptget update +testfileequal 'listsdir.lst' "$(listcurrentlistsdirectory)" +unset APT_DONT_SIGN + +msgmsg 'Crisscross Release.gpg/InRelease file is silently rejected if' 'new Date is before old Date' +export APT_DONT_SIGN='InRelease' +rm -rf rootdir/var/lib/apt/lists +generatereleasefiles 'now' 'now + 7 days' +signreleasefiles +find aptarchive -name 'InRelease' -delete +testsuccess aptget update +export APT_DONT_SIGN='Release.gpg' +listcurrentlistsdirectory > listsdir.lst +redatereleasefiles 'now - 2 days' +testsuccess aptget update +testfileequal 'listsdir.lst' "$(listcurrentlistsdirectory)" +unset APT_DONT_SIGN + +msgmsg 'Release file has' 'no Date and no Valid-Until field' +rm -rf rootdir/var/lib/apt/lists +generatereleasefiles 'now' +sed -i '/^Date: / d' $(find ./aptarchive -name 'Release') +signreleasefiles +testwarning aptget update +listcurrentlistsdirectory > listsdir.lst +# have no effect as Date is unknown +testwarning aptget update -o Acquire::Min-ValidTime=$((3600*24*30)) +testfileequal 'listsdir.lst' "$(listcurrentlistsdirectory)" +testwarning aptget update -o Acquire::Max-ValidTime=1 +testfileequal 'listsdir.lst' "$(listcurrentlistsdirectory)" +sed -i '/^Codename: / a\ +Another-Field: yes' $(find aptarchive/ -name 'Release') +touch -d 'now + 1 day' $(find aptarchive/ -name 'Release') +signreleasefiles "${2:-Joe Sixpack}" +testwarning aptget update +testsuccess cmp $(find aptarchive/ -name 'InRelease') $(find rootdir/var/lib/apt/ -name '*_InRelease') + +msgmsg 'Release file has' 'no Date field, but Valid-Until expired' +rm -rf rootdir/var/lib/apt/lists +generatereleasefiles 'now' 'now - 2 days' +sed -i '/^Date: / d' $(find ./aptarchive -name 'Release') +signreleasefiles +testfailure aptget update +listcurrentlistsdirectory > listsdir.lst +# have no effect as Date is unknown +testfailure aptget update -o Acquire::Min-ValidTime=$((3600*24*30)) +testfileequal 'listsdir.lst' "$(listcurrentlistsdirectory)" +testfailure aptget update -o Acquire::Max-ValidTime=1 +testfileequal 'listsdir.lst' "$(listcurrentlistsdirectory)" + +msgmsg 'Release file has' 'no Date field, but Valid-Until is good' +rm -rf rootdir/var/lib/apt/lists +generatereleasefiles 'now' 'now + 2 days' +sed -i '/^Date: / d' $(find ./aptarchive -name 'Release') +signreleasefiles +testwarning aptget update + +# the repo is now signed by unknown key, but marked as trusted +rm -rf rootdir/etc/apt/trusted.gpg.d +sed -i -e 's#\(deb\(-src\)\?\) #\1 [trusted=yes] #' rootdir/etc/apt/sources.list.d/* + +msgmsg 'Forgot to disable in follow-up' 'Check-Date' +rm -rf rootdir/var/lib/apt/lists +generatereleasefiles 'now + 3 days' 'now + 7 days' +signreleasefiles +testfailure aptget update +testwarning aptget update -o Acquire::Check-Date=no +listcurrentlistsdirectory > listsdir.lst +generatereleasefiles 'now + 5 days' 'now + 13 days' +signreleasefiles +testfailure aptget update +testfileequal 'listsdir.lst' "$(listcurrentlistsdirectory)" +testwarning aptget update -o Acquire::Check-Date=no +testsuccess cmp "$(find aptarchive/ -name 'InRelease')" "$(find rootdir/var/lib/apt/ -name '*_Release')" + +msgmsg 'Force-Trusted InRelease file is silently ignored' 'new Date is before old Date' +rm -rf rootdir/var/lib/apt/lists +generatereleasefiles 'now' 'now + 7 days' +signreleasefiles +testwarning aptget update +listcurrentlistsdirectory > listsdir.lst +redatereleasefiles 'now - 2 days' +testwarning aptget update +testfileequal 'listsdir.lst' "$(listcurrentlistsdirectory)" diff --git a/test/integration/test-releasefile-valid-until b/test/integration/test-releasefile-valid-until new file mode 100755 index 0000000..b18dde2 --- /dev/null +++ b/test/integration/test-releasefile-valid-until @@ -0,0 +1,57 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' + +insertpackage 'wheezy' 'apt' 'all' '0.8.15' + +getlabelfromsuite() { + echo -n 'Testcases' +} + +setupaptarchive --no-update + +runtest() { + local MSG="$1" + msgtest "Release file is $MSG as it has" "$2" + rm -rf rootdir/var/lib/apt/lists + generatereleasefiles "$3" "$4" + signreleasefiles + shift 4 + if [ "$MSG" = 'accepted' ]; then + testsuccess --nomsg aptget update "$@" + testfailure grep -q 'is expired' rootdir/tmp/testsuccess.output + else + testfailure --nomsg aptget update "$@" + testsuccess grep -q 'is expired' rootdir/tmp/testfailure.output + fi +} + +runtest 'accepted' 'no Until' '' '' +runtest 'accepted' 'no Until and good Max-Valid' '' '' -o Acquire::Max-ValidTime=3600 +runtest 'rejected' 'no Until, but bad Max-Valid' 'now - 2 days' '' -o Acquire::Max-ValidTime=3600 +runtest 'accepted' 'good Until' 'now - 3 days' 'now + 1 day' +runtest 'rejected' 'bad Until' 'now - 7 days' 'now - 4 days' +runtest 'rejected' 'bad Until (ignore good Max-Valid)' 'now - 7 days' 'now - 4 days' -o Acquire::Max-ValidTime=1209600 +runtest 'rejected' 'bad Max-Valid (bad Until)' 'now - 7 days' 'now - 4 days' -o Acquire::Max-ValidTime=86400 +runtest 'rejected' 'bad Max-Valid (good Until)' 'now - 7 days' 'now + 4 days' -o Acquire::Max-ValidTime=86400 +runtest 'accepted' 'good labeled Max-Valid' 'now - 7 days' 'now + 4 days' -o Acquire::Max-ValidTime=86400 -o Acquire::Max-ValidTime::Testcases=1209600 +runtest 'rejected' 'bad labeled Max-Valid' 'now - 7 days' 'now + 4 days' -o Acquire::Max-ValidTime=1209600 -o Acquire::Max-ValidTime::Testcases=86400 +runtest 'accepted' 'good Until (good Min-Valid, no Max-Valid)' 'now - 7 days' 'now + 1 days' -o Acquire::Min-ValidTime=1209600 +runtest 'accepted' 'good Min-Valid (bad Until, no Max-Valid)' 'now - 7 days' 'now - 4 days' -o Acquire::Min-ValidTime=1209600 +runtest 'accepted' 'good Min-Valid (bad Until, good Max-Valid) <' 'now - 7 days' 'now - 2 days' -o Acquire::Min-ValidTime=1209600 -o Acquire::Max-ValidTime=2419200 +runtest 'rejected' 'bad Max-Valid (bad Until, good Min-Valid) >' 'now - 7 days' 'now - 2 days' -o Acquire::Max-ValidTime=12096 -o Acquire::Min-ValidTime=2419200 +runtest 'rejected' 'bad Max-Valid (bad Until, bad Min-Valid) <' 'now - 7 days' 'now - 2 days' -o Acquire::Min-ValidTime=12096 -o Acquire::Max-ValidTime=241920 +runtest 'rejected' 'bad Max-Valid (bad Until, bad Min-Valid) >' 'now - 7 days' 'now - 2 days' -o Acquire::Max-ValidTime=12096 -o Acquire::Min-ValidTime=241920 + +sed -i -e 's#\(deb\(-src\)\?\) #\1 [check-valid-until=no] #' rootdir/etc/apt/sources.list.d/* +runtest 'accepted' 'bad Until but overridden by sources option' 'now - 7 days' 'now - 4 days' + +sed -i -e 's#\(deb\(-src\)\?\) \[check-valid-until=no\] #\1 [valid-until-max=86400] #' rootdir/etc/apt/sources.list.d/* +runtest 'rejected' 'bad Max-Valid (good Until) via sources option' 'now - 7 days' 'now + 4 days' + +sed -i -e 's#\(deb\(-src\)\?\) \[valid-until-max=86400\] #\1 [valid-until-min=1209600] #' rootdir/etc/apt/sources.list.d/* +runtest 'accepted' 'good Min-Valid (bad Until) via sources option' 'now - 7 days' 'now - 4 days' diff --git a/test/integration/test-releasefile-verification b/test/integration/test-releasefile-verification new file mode 100755 index 0000000..5f873b8 --- /dev/null +++ b/test/integration/test-releasefile-verification @@ -0,0 +1,509 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "i386" + +export APT_DONT_SIGN='Release.gpg' +buildaptarchive +setupflataptarchive +changetowebserver + +prepare() { + local DATE="${2:-now}" + if [ "$DATE" = 'now' ]; then + if [ "$1" = "${PKGFILE}-new" ]; then + DATE='now - 1 day' + else + DATE='now - 7 day' + fi + fi + for release in $(find rootdir/var/lib/apt/lists 2> /dev/null); do + touch -d 'now - 1 year' "$release" + done + aptget clean + cp "$1" aptarchive/Packages + find aptarchive -name 'Release' -delete + compressfile 'aptarchive/Packages' "$DATE" + generatereleasefiles "$DATE" 'now + 1 month' +} + +installaptold() { + rm -rf rootdir/var/cache/apt/archives + testsuccessequal "Reading package lists... +Building dependency tree... +Suggested packages: + aptitude | synaptic | wajig dpkg-dev apt-doc bzip2 lzma python-apt +The following NEW packages will be installed: + apt +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Need to get 3 B of archives. +After this operation, 5370 kB of additional disk space will be used. +Get:1 http://localhost:${APTHTTPPORT} apt 0.7.25.3 [3 B] +Download complete and in download only mode" aptget install apt -dy +} + +installaptnew() { + rm -rf rootdir/var/cache/apt/archives + testsuccessequal "Reading package lists... +Building dependency tree... +Suggested packages: + aptitude | synaptic | wajig dpkg-dev apt-doc bzip2 lzma python-apt +The following NEW packages will be installed: + apt +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Need to get 3 B of archives. +After this operation, 5808 kB of additional disk space will be used. +Get:1 http://localhost:${APTHTTPPORT} apt 0.8.0~pre1 [3 B] +Download complete and in download only mode" aptget install apt -dy +} + +failaptold() { + testfailureequal 'Reading package lists... +Building dependency tree... +Suggested packages: + aptitude | synaptic | wajig dpkg-dev apt-doc bzip2 lzma python-apt +The following NEW packages will be installed: + apt +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Need to get 3 B of archives. +After this operation, 5370 kB of additional disk space will be used. +WARNING: The following packages cannot be authenticated! + apt +E: There were unauthenticated packages and -y was used without --allow-unauthenticated' aptget install apt -dy +} + +failaptnew() { + testfailureequal 'Reading package lists... +Building dependency tree... +Suggested packages: + aptitude | synaptic | wajig dpkg-dev apt-doc bzip2 lzma python-apt +The following NEW packages will be installed: + apt +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Need to get 3 B of archives. +After this operation, 5808 kB of additional disk space will be used. +WARNING: The following packages cannot be authenticated! + apt +E: There were unauthenticated packages and -y was used without --allow-unauthenticated' aptget install apt -dy +} + +# fake our downloadable file +echo -n 'apt' > aptarchive/apt.deb + +PKGFILE="${TESTDIR}/$(echo "$(basename "$0")" | sed 's#^test-#Packages-#')" + +updatewithwarnings() { + testwarning aptget update -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::gpgv=1 + testsuccess grep -E "$1" rootdir/tmp/testwarning.output +} + +runtest() { + msgmsg 'Cold archive signed by' 'Joe Sixpack' + prepare "${PKGFILE}" + rm -rf rootdir/var/lib/apt/lists + signreleasefiles 'Joe Sixpack' + successfulaptgetupdate + testsuccessequal "$(cat "${PKGFILE}") +" aptcache show apt + installaptold + + if [ "$(id -u)" != '0' ]; then + msgmsg 'Cold archive signed by' 'Joe Sixpack + unreadable key' + rm -rf rootdir/var/lib/apt/lists + echo 'foobar' > rootdir/etc/apt/trusted.gpg.d/unreadablekey.gpg + chmod 000 rootdir/etc/apt/trusted.gpg.d/unreadablekey.gpg + updatewithwarnings '^W: .* is not readable by user' + chmod 644 rootdir/etc/apt/trusted.gpg.d/unreadablekey.gpg + rm -f rootdir/etc/apt/trusted.gpg.d/unreadablekey.gpg + testsuccessequal "$(cat "${PKGFILE}") +" aptcache show apt + installaptold + fi + + msgmsg 'Good warm archive signed by' 'Joe Sixpack' + prepare "${PKGFILE}-new" + signreleasefiles 'Joe Sixpack' + successfulaptgetupdate + testsuccessequal "$(cat "${PKGFILE}-new") +" aptcache show apt + installaptnew + + msgmsg 'Cold archive signed by' 'Rex Expired' + prepare "${PKGFILE}" + rm -rf rootdir/var/lib/apt/lists + cp keys/rexexpired.pub rootdir/etc/apt/trusted.gpg.d/rexexpired.gpg + signreleasefiles 'Rex Expired' + updatewithwarnings '^W: .* EXPKEYSIG' + testsuccessequal "$(cat "${PKGFILE}") +" aptcache show apt + failaptold + rm -f rootdir/etc/apt/trusted.gpg.d/rexexpired.gpg + + msgmsg 'Cold archive expired signed by' 'Joe Sixpack' + if dpkg --compare-versions "$(aptkey adv --version | head -n 2 | tail -n 1 | cut -d' ' -f 3)" '>=' '2.1' >/dev/null 2>&1; then + touch rootdir/etc/apt/apt.conf.d/99gnupg2 + elif gpg2 --version >/dev/null 2>&1; then + echo 'Apt::Key::gpgcommand "gpg2";' > rootdir/etc/apt/apt.conf.d/99gnupg2 + if ! dpkg --compare-versions "$(aptkey adv --version | head -n 2 | tail -n 1 | cut -d' ' -f 3)" '>=' '2.1' >/dev/null 2>&1; then + rm rootdir/etc/apt/apt.conf.d/99gnupg2 + fi + fi + if [ -e rootdir/etc/apt/apt.conf.d/99gnupg2 ]; then + prepare "${PKGFILE}" + rm -rf rootdir/var/lib/apt/lists + signreleasefiles 'Joe Sixpack' 'aptarchive' --faked-system-time "20070924T154812" --default-sig-expire 2016-04-01 + updatewithwarnings '^W: .* EXPSIG' + testsuccessequal "$(cat "${PKGFILE}") +" aptcache show apt + failaptold + rm -f rootdir/etc/apt/apt.conf.d/99gnupg2 + else + msgskip 'Not a new enough gpg available providing --fake-system-time' + fi + + msgmsg 'Cold archive signed by' 'Joe Sixpack,Marvin Paranoid' + prepare "${PKGFILE}" + rm -rf rootdir/var/lib/apt/lists + signreleasefiles 'Joe Sixpack,Marvin Paranoid' + successfulaptgetupdate 'NO_PUBKEY' + testsuccessequal "$(cat "${PKGFILE}") +" aptcache show apt + installaptold + + msgmsg 'Cold archive signed by' 'Joe Sixpack,Rex Expired' + prepare "${PKGFILE}" + rm -rf rootdir/var/lib/apt/lists + signreleasefiles 'Joe Sixpack,Rex Expired' + cp keys/rexexpired.pub rootdir/etc/apt/trusted.gpg.d/rexexpired.gpg + successfulaptgetupdate 'EXPKEYSIG' + rm -f rootdir/etc/apt/trusted.gpg.d/rexexpired.gpg + testsuccessequal "$(cat "${PKGFILE}") +" aptcache show apt + installaptold + + msgmsg 'Cold archive signed by' 'Marvin Paranoid' + prepare "${PKGFILE}" + rm -rf rootdir/var/lib/apt/lists + signreleasefiles 'Marvin Paranoid' + updatewithwarnings '^W: .* NO_PUBKEY' + testsuccessequal "$(cat "${PKGFILE}") +" aptcache show apt + failaptold + + msgmsg 'Bad warm archive signed by' 'Joe Sixpack' + prepare "${PKGFILE}-new" + signreleasefiles 'Joe Sixpack' + successfulaptgetupdate + testsuccessequal "$(cat "${PKGFILE}-new") +" aptcache show apt + installaptnew + + msgmsg 'Cold archive signed by' 'Joe Sixpack' + prepare "${PKGFILE}" + rm -rf rootdir/var/lib/apt/lists + signreleasefiles 'Joe Sixpack' + successfulaptgetupdate + testsuccessequal "$(cat "${PKGFILE}") +" aptcache show apt + installaptold + + msgmsg 'Good warm archive signed by' 'Marvin Paranoid' + prepare "${PKGFILE}-new" + signreleasefiles 'Marvin Paranoid' + updatewithwarnings '^W: .* NO_PUBKEY' + testsuccessequal "$(cat "${PKGFILE}") +" aptcache show apt + installaptold + + msgmsg 'Good warm archive signed by' 'Rex Expired' + prepare "${PKGFILE}-new" + cp keys/rexexpired.pub rootdir/etc/apt/trusted.gpg.d/rexexpired.gpg + signreleasefiles 'Rex Expired' + updatewithwarnings '^W: .* EXPKEYSIG' + testsuccessequal "$(cat "${PKGFILE}") +" aptcache show apt + installaptold + rm rootdir/etc/apt/trusted.gpg.d/rexexpired.gpg + + msgmsg 'Good warm archive signed by' 'Joe Sixpack' + prepare "${PKGFILE}-new" + signreleasefiles + successfulaptgetupdate + testsuccessequal "$(cat "${PKGFILE}-new") +" aptcache show apt + installaptnew + + msgmsg 'Cold archive signed by bad keyring' 'Joe Sixpack' + rm -rf rootdir/var/lib/apt/lists + local MARVIN="$(readlink -f keys/marvinparanoid.pub)" + sed -i "s#^\(deb\(-src\)\?\) #\1 [signed-by=$MARVIN] #" rootdir/etc/apt/sources.list.d/* + updatewithwarnings '^W: .* NO_PUBKEY' + + msgmsg 'Cold archive signed by good keyring' 'Marvin Paranoid' + prepare "${PKGFILE}" + signreleasefiles 'Marvin Paranoid' + rm -rf rootdir/var/lib/apt/lists + successfulaptgetupdate + testsuccessequal "$(cat "${PKGFILE}") +" aptcache show apt + installaptold + + msgmsg 'Cold archive signed by good keyrings' 'Marvin Paranoid, Joe Sixpack' + rm -rf rootdir/var/lib/apt/lists + local SIXPACK="$(readlink -f keys/joesixpack.pub)" + sed -i "s# \[signed-by=[^]]\+\] # [signed-by=$MARVIN,$SIXPACK] #" rootdir/etc/apt/sources.list.d/* + successfulaptgetupdate + testsuccessequal "$(cat "${PKGFILE}") +" aptcache show apt + installaptold + + msgmsg 'Cold archive signed by good keyrings' 'Joe Sixpack, Marvin Paranoid' + rm -rf rootdir/var/lib/apt/lists + local SIXPACK="$(readlink -f keys/joesixpack.pub)" + sed -i "s# \[signed-by=[^]]\+\] # [signed-by=$SIXPACK,$MARVIN] #" rootdir/etc/apt/sources.list.d/* + successfulaptgetupdate + testsuccessequal "$(cat "${PKGFILE}") +" aptcache show apt + installaptold + sed -i "s# \[signed-by=[^]]\+\] # #" rootdir/etc/apt/sources.list.d/* + + local MARVIN="$(aptkey --keyring $MARVIN finger --with-colons | grep '^fpr' | cut -d':' -f 10)" + msgmsg 'Cold archive signed by bad keyid' 'Joe Sixpack' + rm -rf rootdir/var/lib/apt/lists + signreleasefiles 'Joe Sixpack' + sed -i "s#^\(deb\(-src\)\?\) #\1 [signed-by=$MARVIN] #" rootdir/etc/apt/sources.list.d/* + updatewithwarnings '^W: .* be verified because the public key is not available: .*' + + msgmsg 'Cold archive signed by good keyid' 'Marvin Paranoid' + rm -rf rootdir/var/lib/apt/lists + signreleasefiles 'Marvin Paranoid' + cp keys/marvinparanoid.pub rootdir/etc/apt/trusted.gpg.d/marvinparanoid.gpg + successfulaptgetupdate + testsuccessequal "$(cat "${PKGFILE}") +" aptcache show apt + installaptold + + msgmsg 'Cold archive signed by good keyid' 'Marvin Paranoid,Joe Sixpack' + rm -rf rootdir/var/lib/apt/lists + signreleasefiles 'Marvin Paranoid,Joe Sixpack' + successfulaptgetupdate 'NoPubKey: GOODSIG' + testsuccessequal "$(cat "${PKGFILE}") +" aptcache show apt + installaptold + + local SIXPACK="$(aptkey --keyring keys/joesixpack.pub finger --with-colons | grep '^fpr' | cut -d':' -f 10)" + msgmsg 'Cold archive signed by good keyids' 'Joe Sixpack' + rm -rf rootdir/var/lib/apt/lists + signreleasefiles 'Joe Sixpack' + sed -i "s#^\(deb\(-src\)\?\) \[signed-by=$MARVIN\] #\1 [signed-by=${SIXPACK},${MARVIN}] #" rootdir/etc/apt/sources.list.d/* + successfulaptgetupdate + testsuccessequal "$(cat "${PKGFILE}") +" aptcache show apt + installaptold + + msgmsg 'Cold archive signed by good keyids' 'Joe Sixpack' + rm -rf rootdir/var/lib/apt/lists + sed -i "s#^\(deb\(-src\)\?\) \[signed-by=${SIXPACK},${MARVIN}\] #\1 [signed-by=${MARVIN},${SIXPACK}] #" rootdir/etc/apt/sources.list.d/* + successfulaptgetupdate + testsuccessequal "$(cat "${PKGFILE}") +" aptcache show apt + installaptold + rm -f rootdir/etc/apt/trusted.gpg.d/marvinparanoid.gpg + sed -i "s#^\(deb\(-src\)\?\) \[signed-by=${MARVIN},${SIXPACK}\] #\1 #" rootdir/etc/apt/sources.list.d/* + + rm -rf rootdir/var/lib/apt/lists-bak + cp -a rootdir/var/lib/apt/lists rootdir/var/lib/apt/lists-bak + prepare "${PKGFILE}-new" + signreleasefiles 'Joe Sixpack' + + msgmsg 'Warm archive with signed-by' 'Joe Sixpack' + sed -i "/^Valid-Until: / a\ +Signed-By: ${SIXPACK}" rootdir/var/lib/apt/lists/*Release + touch -d 'now - 1 year' rootdir/var/lib/apt/lists/*Release + successfulaptgetupdate + testsuccessequal "$(cat "${PKGFILE}-new") +" aptcache show apt + installaptnew + + msgmsg 'Warm archive with signed-by' 'Marvin Paranoid' + rm -rf rootdir/var/lib/apt/lists + cp -a rootdir/var/lib/apt/lists-bak rootdir/var/lib/apt/lists + sed -i "/^Valid-Until: / a\ +Signed-By: ${MARVIN}" rootdir/var/lib/apt/lists/*Release + touch -d 'now - 1 year' rootdir/var/lib/apt/lists/*Release + updatewithwarnings 'W: .* public key is not available: GOODSIG' + testsuccessequal "$(cat "${PKGFILE}") +" aptcache show apt + installaptold + + msgmsg 'Warm archive with outdated signed-by' 'Marvin Paranoid' + rm -rf rootdir/var/lib/apt/lists + cp -a rootdir/var/lib/apt/lists-bak rootdir/var/lib/apt/lists + sed -i "/^Valid-Until: / a\ +Valid-Until: $(date -u -d "now - 2min" '+%a, %d %b %Y %H:%M:%S %Z') \\ +Signed-By: ${MARVIN}" rootdir/var/lib/apt/lists/*Release + touch -d 'now - 1 year' rootdir/var/lib/apt/lists/*Release + successfulaptgetupdate + testsuccessequal "$(cat "${PKGFILE}-new") +" aptcache show apt + installaptnew + + msgmsg 'Warm archive with two signed-bys' 'Joe Sixpack' + rm -rf rootdir/var/lib/apt/lists + cp -a rootdir/var/lib/apt/lists-bak rootdir/var/lib/apt/lists + sed -i "/^Valid-Until: / a\ +Signed-By: ${MARVIN} ${MARVIN}, \\ + ${SIXPACK}" rootdir/var/lib/apt/lists/*Release + touch -d 'now - 1 year' rootdir/var/lib/apt/lists/*Release + successfulaptgetupdate + testsuccessequal "$(cat "${PKGFILE}-new") +" aptcache show apt + installaptnew + + cp -a keys/sebastiansubkey.pub rootdir/etc/apt/trusted.gpg.d/sebastiansubkey.gpg + local SEBASTIAN="$(aptkey --keyring keys/sebastiansubkey.pub finger --with-colons | grep -m 1 '^fpr' | cut -d':' -f 10)" + msgmsg 'Warm archive with subkey signing' 'Sebastian Subkey' + rm -rf rootdir/var/lib/apt/lists + cp -a rootdir/var/lib/apt/lists-bak rootdir/var/lib/apt/lists + signreleasefiles 'Sebastian Subkey' + sed -i "/^Valid-Until: / a\ +Signed-By: ${SEBASTIAN}" rootdir/var/lib/apt/lists/*Release + touch -d 'now - 1 year' rootdir/var/lib/apt/lists/*Release + successfulaptgetupdate + testsuccessequal "$(cat "${PKGFILE}-new") +" aptcache show apt + installaptnew + + msgmsg 'Warm archive with wrong exact subkey signing' 'Sebastian Subkey' + rm -rf rootdir/var/lib/apt/lists + cp -a rootdir/var/lib/apt/lists-bak rootdir/var/lib/apt/lists + sed -i "/^Valid-Until: / a\ +Signed-By: ${SEBASTIAN}!" rootdir/var/lib/apt/lists/*Release + touch -d 'now - 1 year' rootdir/var/lib/apt/lists/*Release + updatewithwarnings 'W: .* public key is not available: GOODSIG' + testsuccessequal "$(cat "${PKGFILE}") +" aptcache show apt + installaptold + + local SUBKEY="$(aptkey --keyring keys/sebastiansubkey.pub finger --with-colons | grep -m 2 '^fpr' | tail -n -1 | cut -d':' -f 10)" + msgmsg 'Warm archive with correct exact subkey signing' 'Sebastian Subkey' + rm -rf rootdir/var/lib/apt/lists + cp -a rootdir/var/lib/apt/lists-bak rootdir/var/lib/apt/lists + sed -i "/^Valid-Until: / a\ +Signed-By: ${SUBKEY}!" rootdir/var/lib/apt/lists/*Release + touch -d 'now - 1 year' rootdir/var/lib/apt/lists/*Release + successfulaptgetupdate + testsuccessequal "$(cat "${PKGFILE}-new") +" aptcache show apt + installaptnew + rm -f rootdir/etc/apt/trusted.gpg.d/sebastiansubkey.gpg +} + +runtest2() { + msgmsg 'Cold archive signed by' 'Joe Sixpack' + prepare "${PKGFILE}" + rm -rf rootdir/var/lib/apt/lists + signreleasefiles 'Joe Sixpack' + successfulaptgetupdate + + # New .deb but now an unsigned archive. For example MITM to circumvent + # package verification. + msgmsg 'Warm archive signed by' 'nobody' + prepare "${PKGFILE}-new" + find aptarchive/ \( -name InRelease -o -name Release.gpg \) -delete + updatewithwarnings 'W: .* no longer signed.' + testsuccessequal "$(cat "${PKGFILE}-new") +" aptcache show apt + failaptnew + + # Unsigned archive from the beginning must also be detected. + msgmsg 'Cold archive signed by' 'nobody' + rm -rf rootdir/var/lib/apt/lists + updatewithwarnings 'W: .* is not signed.' + testsuccessequal "$(cat "${PKGFILE}-new") +" aptcache show apt + failaptnew +} + +runtest3() { + echo "APT::Hashes::$APT_TESTS_DIGEST_ALGO::$1 \"yes\";" > rootdir/etc/apt/apt.conf.d/truststate + msgmsg "Running base test with $1 digest" + runtest2 + + for DELETEFILE in 'InRelease' 'Release.gpg'; do + export APT_DONT_SIGN="$DELETEFILE" + msgmsg "Running test with deletion of $DELETEFILE and $1 digest" + runtest + export APT_DONT_SIGN='Release.gpg' + done +} + +# disable some protection by default and ensure we still do the verification +# correctly +cat > rootdir/etc/apt/apt.conf.d/weaken-security <<EOF +Acquire::AllowInsecureRepositories "1"; +Acquire::AllowDowngradeToInsecureRepositories "1"; +EOF +# the hash marked as configurable in our gpgv method +export APT_TESTS_DIGEST_ALGO='SHA224' + +successfulaptgetupdate() { + testsuccess aptget update -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::gpgv=1 + if [ -n "$1" ]; then + cp rootdir/tmp/testsuccess.output aptupdate.output + testsuccess grep "$1" aptupdate.output + fi +} +runtest3 'Trusted' + +successfulaptgetupdate() { + testwarning aptget update -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::gpgv=1 + if [ -n "$1" ]; then + testsuccess grep "$1" rootdir/tmp/testwarning.output + fi + testsuccess grep 'uses weak digest algorithm' rootdir/tmp/testwarning.output +} +runtest3 'Weak' + +msgmsg "Running test with apt-untrusted digest" +echo "APT::Hashes::$APT_TESTS_DIGEST_ALGO::Untrusted \"yes\";" > rootdir/etc/apt/apt.conf.d/truststate +runfailure() { + for DELETEFILE in 'InRelease' 'Release.gpg'; do + export APT_DONT_SIGN="$DELETEFILE" + msgmsg 'Cold archive signed by' 'Joe Sixpack' + prepare "${PKGFILE}" + rm -rf rootdir/var/lib/apt/lists + signreleasefiles 'Joe Sixpack' + testfailure aptget update --no-allow-insecure-repositories -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::gpgv=1 + testsuccess grep 'The following signatures were invalid' rootdir/tmp/testfailure.output + testnopackage 'apt' + testwarning aptget update --allow-insecure-repositories -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::gpgv=1 + failaptold + rm -rf rootdir/var/lib/apt/lists + sed -i 's#^deb\(-src\)\? #deb\1 [allow-insecure=yes] #' rootdir/etc/apt/sources.list.d/* + testwarning aptget update --no-allow-insecure-repositories -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::gpgv=1 + failaptold + sed -i 's#^deb\(-src\)\? \[allow-insecure=yes\] #deb\1 #' rootdir/etc/apt/sources.list.d/* + + msgmsg 'Cold archive signed by' 'Marvin Paranoid' + prepare "${PKGFILE}" + rm -rf rootdir/var/lib/apt/lists + signreleasefiles 'Marvin Paranoid' + testfailure aptget update --no-allow-insecure-repositories -o Debug::pkgAcquire::Worker=1 -o Debug::Acquire::gpgv=1 + testnopackage 'apt' + updatewithwarnings '^W: .* NO_PUBKEY' + testsuccessequal "$(cat "${PKGFILE}") +" aptcache show apt + failaptold + export APT_DONT_SIGN='Release.gpg' + done +} +runfailure + +msgmsg "Running test with gpgv-untrusted digest" +export APT_TESTS_DIGEST_ALGO='MD5' +runfailure diff --git a/test/integration/test-releasefile-verification-noflat b/test/integration/test-releasefile-verification-noflat new file mode 100755 index 0000000..3953c64 --- /dev/null +++ b/test/integration/test-releasefile-verification-noflat @@ -0,0 +1,25 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "i386" + +export APT_DONT_SIGN='Release.gpg' +insertpackage 'unstable' 'foo' 'i386' '1.0' +setupaptarchive "now" "now + 1 year" +changetowebserver + +SIXPACK="$(aptkey --keyring keys/joesixpack.pub finger | grep 'Key fingerprint' | cut -d'=' -f 2 | tr -d ' ')" + +testsuccess aptget update + +msgmsg 'Warm archive with signed-by' 'Joe Sixpack' +sed -i "/^Valid-Until: / a\ +Signed-By: ${SIXPACK}" rootdir/var/lib/apt/lists/*Release +touch -d 'now - 1 year' rootdir/var/lib/apt/lists/*Release +testsuccessequal "Get:1 http://localhost:${APTHTTPPORT} unstable InRelease [$(stat -c '%s' 'aptarchive/dists/unstable/InRelease') B] +Reading package lists..." aptget update +testsuccess aptcache show foo diff --git a/test/integration/test-resolve-by-keep-new-recommends b/test/integration/test-resolve-by-keep-new-recommends new file mode 100755 index 0000000..3591ed8 --- /dev/null +++ b/test/integration/test-resolve-by-keep-new-recommends @@ -0,0 +1,21 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "i386" + +insertinstalledpackage 'foo' 'i386' '1.0' +insertpackage 'unstable' 'foo' 'i386' '2.0' 'Recommends: bar' + +setupaptarchive + +UPGRADE_KEEP="Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages have been kept back: + foo +0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded." +testsuccessequal "$UPGRADE_KEEP" aptget upgrade -s + diff --git a/test/integration/test-resolver-delays-remove-decisions b/test/integration/test-resolver-delays-remove-decisions new file mode 100755 index 0000000..a069954 --- /dev/null +++ b/test/integration/test-resolver-delays-remove-decisions @@ -0,0 +1,106 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' + +insertinstalledpackage 'stuff' 'all' '1' + +insertpackage 'unstable' 'foobar' 'all' '1' 'Depends: foo | bar' +insertpackage 'unstable' 'foo' 'all' '1' 'Conflicts: stuff +Depends: foo-dep' +insertpackage 'unstable' 'foo-dep' 'all' '1' 'Depends: uninstallable' + +insertpackage 'unstable' 'bar' 'all' '1' + +setupaptarchive + +# We are needlessly removing "stuff" if we don't delay its marking here +# as we do not question the remove later on +testsuccessequal "Reading package lists... +Building dependency tree... + MarkInstall foobar:amd64 < none -> 1 @un puN Ib > FU=1 + Installing foo:amd64 as Depends of foobar:amd64 + Delayed Removing: stuff:amd64 as upgrade is not an option for foo:amd64 (1) + MarkInstall foo:amd64 < none -> 1 @un uN Ib > FU=0 + Installing foo-dep:amd64 as Depends of foo:amd64 + foo-dep:amd64 Depends on uninstallable:amd64 < none @un H > can't be satisfied! + foo:amd64 Depends on foo-dep:amd64 < none @un H > can't be satisfied! (dep) + Installing bar:amd64 as Depends of foobar:amd64 + MarkInstall bar:amd64 < none -> 1 @un uN > FU=0 +Starting pkgProblemResolver with broken count: 0 +Starting 2 pkgProblemResolver with broken count: 0 +Done +The following additional packages will be installed: + bar +The following NEW packages will be installed: + bar foobar +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst bar (1 unstable [all]) +Inst foobar (1 unstable [all]) +Conf bar (1 unstable [all]) +Conf foobar (1 unstable [all])" apt install foobar -s -o Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::Marker=1 -o Debug::pkgDepCache::AutoInstall=1 + +insertinstalledpackage 'uninstallable' 'all' '1' + +testsuccessequal "Reading package lists... +Building dependency tree... + MarkInstall foobar:amd64 < none -> 1 @un puN Ib > FU=1 + Installing foo:amd64 as Depends of foobar:amd64 + Delayed Removing: stuff:amd64 as upgrade is not an option for foo:amd64 (1) + MarkInstall foo:amd64 < none -> 1 @un uN Ib > FU=0 + Installing foo-dep:amd64 as Depends of foo:amd64 + MarkInstall foo-dep:amd64 < none -> 1 @un uN > FU=0 + MarkDelete stuff:amd64 < 1 @ii mK > FU=0 +Starting pkgProblemResolver with broken count: 0 +Starting 2 pkgProblemResolver with broken count: 0 +Done +The following additional packages will be installed: + foo foo-dep +The following packages will be REMOVED: + stuff +The following NEW packages will be installed: + foo foo-dep foobar + MarkDelete stuff:amd64 < 1 @ii K > FU=1 +0 upgraded, 3 newly installed, 1 to remove and 0 not upgraded. +Remv stuff [1] +Inst foo-dep (1 unstable [all]) +Inst foo (1 unstable [all]) +Inst foobar (1 unstable [all]) +Conf foo-dep (1 unstable [all]) +Conf foo (1 unstable [all]) +Conf foobar (1 unstable [all])" apt install foobar -s -o Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::Marker=1 -o Debug::pkgDepCache::AutoInstall=1 + +# Same solution but the installs are considered protected now as there is no other solution +testsuccessequal "Reading package lists... +Building dependency tree... + MarkInstall foobar:amd64 < none -> 1 @un puN Ib > FU=1 + Installing foo:amd64 as Depends of foobar:amd64 + Removing: stuff:amd64 as upgrade is not an option for foo:amd64 (1) + MarkDelete stuff:amd64 < 1 @ii mK > FU=0 + MarkInstall foo:amd64 < none -> 1 @un puN Ib > FU=0 + Installing foo-dep:amd64 as Depends of foo:amd64 + MarkInstall foo-dep:amd64 < none -> 1 @un puN > FU=0 + MarkInstall uninstallable:amd64 < 1 @ii pmK > FU=0 +Starting pkgProblemResolver with broken count: 0 +Starting 2 pkgProblemResolver with broken count: 0 +Done + Ignore MarkGarbage of foo:amd64 < none -> 1 @un puN > as its mode (Install) is protected +Package 'bar' is not installed, so not removed +The following additional packages will be installed: + foo foo-dep +The following packages will be REMOVED: + stuff +The following NEW packages will be installed: + foo foo-dep foobar + MarkDelete stuff:amd64 < 1 | none @ii H > FU=1 +0 upgraded, 3 newly installed, 1 to remove and 0 not upgraded. +Remv stuff [1] +Inst foo-dep (1 unstable [all]) +Inst foo (1 unstable [all]) +Inst foobar (1 unstable [all]) +Conf foo-dep (1 unstable [all]) +Conf foo (1 unstable [all]) +Conf foobar (1 unstable [all])" apt install foobar bar- -q=0 -s -o Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::Marker=1 -o Debug::pkgDepCache::AutoInstall=1 diff --git a/test/integration/test-resolver-provider-exchange b/test/integration/test-resolver-provider-exchange new file mode 100755 index 0000000..0a85db3 --- /dev/null +++ b/test/integration/test-resolver-provider-exchange @@ -0,0 +1,107 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertinstalledpackage 'fuse' 'all' '2' +insertpackage 'unstable' 'fuse3' 'all' '3' 'Conflicts: fuse +Provides: fuse' + +insertpackage 'unstable' 'foobar-d' 'all' '1' 'Depends: fuse' +insertpackage 'unstable' 'foobar-d2' 'all' '1' 'Depends: fuse +Conflicts: fuse3' +insertpackage 'unstable' 'foobar-d3' 'all' '1' 'Depends: fuse3' +insertpackage 'unstable' 'foobar-r' 'all' '1' 'Recommends: fuse' +insertpackage 'unstable' 'foobar-r2' 'all' '1' 'Recommends: fuse +Conflicts: fuse3' +insertpackage 'unstable' 'foobar-r3' 'all' '1' 'Recommends: fuse3' + +setupaptarchive + +installfoobars() { + testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + foobar-d +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst foobar-d (1 unstable [all]) +Conf foobar-d (1 unstable [all])' apt install -s foobar-d + testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + foobar-d2 +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst foobar-d2 (1 unstable [all]) +Conf foobar-d2 (1 unstable [all])' apt install -s foobar-d2 + testsuccessequal "Reading package lists... +Building dependency tree... +The following additional packages will be installed: + fuse3 +The following packages will be REMOVED: + fuse +The following NEW packages will be installed: + foobar-d3 fuse3 +0 upgraded, 2 newly installed, 1 to remove and 0 not upgraded. +Remv fuse [2]$1 +Inst fuse3 (3 unstable [all]) +Inst foobar-d3 (1 unstable [all]) +Conf fuse3 (3 unstable [all]) +Conf foobar-d3 (1 unstable [all])" apt install -s foobar-d3 + + testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + foobar-r +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst foobar-r (1 unstable [all]) +Conf foobar-r (1 unstable [all])' apt install -s foobar-r + testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + foobar-r2 +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst foobar-r2 (1 unstable [all]) +Conf foobar-r2 (1 unstable [all])' apt install -s foobar-r2 + if [ -z "$1" ]; then + testsuccessequal "Reading package lists... +Building dependency tree... +The following additional packages will be installed: + fuse3 +The following packages will be REMOVED: + fuse +The following NEW packages will be installed: + foobar-r3 fuse3 +0 upgraded, 2 newly installed, 1 to remove and 0 not upgraded. +Remv fuse [2]$1 +Inst foobar-r3 (1 unstable [all]) +Inst fuse3 (3 unstable [all]) +Conf foobar-r3 (1 unstable [all]) +Conf fuse3 (3 unstable [all])" apt install -s foobar-r3 + else + testsuccessequal "Reading package lists... +Building dependency tree... +The following additional packages will be installed: + fuse3 +The following packages will be REMOVED: + fuse +The following NEW packages will be installed: + foobar-r3 fuse3 +0 upgraded, 2 newly installed, 1 to remove and 0 not upgraded. +Remv fuse [2]$1 +Inst fuse3 (3 unstable [all]) +Inst foobar-r3 (1 unstable [all]) +Conf fuse3 (3 unstable [all]) +Conf foobar-r3 (1 unstable [all])" apt install -s foobar-r3 + fi +} +msgmsg 'fuse has no installed dependers' +installfoobars + +for i in $(seq 0 10); do + insertinstalledpackage "stuff$i" 'all' '1' 'Depends: fuse' +done +msgmsg 'fuse has many dependers installed' +installfoobars ' [stuff0:amd64 stuff1:amd64 stuff2:amd64 stuff3:amd64 stuff4:amd64 stuff5:amd64 stuff6:amd64 stuff7:amd64 stuff8:amd64 stuff9:amd64 stuff10:amd64 ]' diff --git a/test/integration/test-same-version-but-different b/test/integration/test-same-version-but-different new file mode 100755 index 0000000..595a66f --- /dev/null +++ b/test/integration/test-same-version-but-different @@ -0,0 +1,109 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertpackage 'unstable' 'all-same' 'all' '1' +insertpackage 'testing' 'all-same' 'all' '1' + +insertpackage 'unstable' 'diff-depends' 'all' '1' 'Depends: all-same (= 1)' +insertpackage 'testing' 'diff-depends' 'all' '1' 'Depends: all-same (= 2)' + +insertpackage 'unstable' 'diff-arch' 'all' '1' +insertpackage 'testing' 'diff-arch' 'amd64' '1' + +insertpackage 'unstable' 'diff-ma-1' 'all' '1' 'Multi-Arch: foreign' +insertpackage 'testing' 'diff-ma-1' 'all' '1' + +insertpackage 'unstable' 'diff-ma-2' 'all' '1' 'Multi-Arch: foreign' +insertpackage 'testing' 'diff-ma-2' 'all' '1' 'Multi-Arch: no' + +insertpackage 'unstable' 'diff-ma-3' 'amd64' '1' 'Multi-Arch: foreign' +insertpackage 'testing' 'diff-ma-3' 'amd64' '1' 'Multi-Arch: same' + +insertpackage 'unstable' 'diff-size' 'all' '1' 'Size: 21' +insertpackage 'testing' 'diff-size' 'all' '1' 'Size: 42' + +insertpackage 'unstable' 'diff-instsize' 'all' '1' 'Installed-Size: 21' +insertpackage 'testing' 'diff-instsize' 'all' '1' 'Installed-Size: 42' + +insertpackage 'unstable' 'diff-sha256' 'all' '1' 'SHA256: 0000000000000000000000000000000000000000000000000000000000000000' +insertpackage 'testing' 'diff-sha256' 'all' '1' 'SHA256: 0000000000000000000000000000000000000000000000000000000000000001' + +setupaptarchive + +APTARCHIVE="$(readlink -f ./aptarchive)" +testsuccessequal "all-same: + Installed: (none) + Candidate: 1 + Version table: + 1 500 + 500 file:${APTARCHIVE} testing/main all Packages + 500 file:${APTARCHIVE} unstable/main all Packages" apt policy all-same +testsuccessequal "diff-depends: + Installed: (none) + Candidate: 1 + Version table: + 1 500 + 500 file:${APTARCHIVE} testing/main all Packages + 1 500 + 500 file:${APTARCHIVE} unstable/main all Packages" apt policy diff-depends +testsuccessequal "diff-arch: + Installed: (none) + Candidate: 1 + Version table: + 1 500 + 500 file:${APTARCHIVE} testing/main amd64 Packages + 1 500 + 500 file:${APTARCHIVE} unstable/main all Packages" apt policy diff-arch +testsuccessequal "diff-ma-1: + Installed: (none) + Candidate: 1 + Version table: + 1 500 + 500 file:${APTARCHIVE} testing/main all Packages + 1 500 + 500 file:${APTARCHIVE} unstable/main all Packages" apt policy diff-ma-1 +testsuccessequal "diff-ma-2: + Installed: (none) + Candidate: 1 + Version table: + 1 500 + 500 file:${APTARCHIVE} testing/main all Packages + 1 500 + 500 file:${APTARCHIVE} unstable/main all Packages" apt policy diff-ma-2 +testsuccessequal "diff-ma-3: + Installed: (none) + Candidate: 1 + Version table: + 1 500 + 500 file:${APTARCHIVE} testing/main amd64 Packages + 1 500 + 500 file:${APTARCHIVE} unstable/main amd64 Packages" apt policy diff-ma-3 +testsuccessequal "diff-size: + Installed: (none) + Candidate: 1 + Version table: + 1 500 + 500 file:${APTARCHIVE} testing/main all Packages + 1 500 + 500 file:${APTARCHIVE} unstable/main all Packages" apt policy diff-size +testsuccessequal "diff-instsize: + Installed: (none) + Candidate: 1 + Version table: + 1 500 + 500 file:${APTARCHIVE} testing/main all Packages + 1 500 + 500 file:${APTARCHIVE} unstable/main all Packages" apt policy diff-instsize +testsuccessequal "diff-sha256: + Installed: (none) + Candidate: 1 + Version table: + 1 500 + 500 file:${APTARCHIVE} testing/main all Packages + 1 500 + 500 file:${APTARCHIVE} unstable/main all Packages" apt policy diff-sha256 diff --git a/test/integration/test-security-no-remote-status b/test/integration/test-security-no-remote-status new file mode 100755 index 0000000..7db979e --- /dev/null +++ b/test/integration/test-security-no-remote-status @@ -0,0 +1,30 @@ +#!/bin/sh +# +# Test that packages from remote sources cannot set the Status field. +# +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +TMPDIR=$(readlink -f .) + +insertpackage 'unstable' 'pretends-installed' 'all' '1' 'Status: install ok installed' +insertinstalledpackage 'really-installed' 'all' '1' +setupaptarchive + +testequal "pretends-installed: + Installed: (none) + Candidate: 1 + Version table: + 1 500 + 500 file:${TMPDIR}/aptarchive unstable/main all Packages" aptcache policy pretends-installed + +testequal "really-installed: + Installed: 1 + Candidate: 1 + Version table: + *** 1 100 + 100 ${TMPDIR}/rootdir/var/lib/dpkg/status" aptcache policy really-installed diff --git a/test/integration/test-signed-by-option b/test/integration/test-signed-by-option new file mode 100755 index 0000000..58e4c4b --- /dev/null +++ b/test/integration/test-signed-by-option @@ -0,0 +1,73 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' + +export TMPDIR="${TMPWORKINGDIRECTORY}/tmp" +mkdir "${TMPDIR}" + +msgtest 'Check that a repository with' 'signed-by and two components works' +echo 'deb [signed-by=CDE5618B8805FD6E202CE9C2D73C39E56580B386] https://people.debian.org/~jak/debian/ stable main contrib # Äffchen' > rootdir/etc/apt/sources.list +testsuccess --nomsg aptcache policy + +msgtest 'Check that a repository with' 'two fingerprints work' +echo 'deb [signed-by=CDE5618B8805FD6E202CE9C2D73C39E56580B386,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA] https://people.debian.org/~jak/debian/ stable main contrib # Äffchen' > rootdir/etc/apt/sources.list +testsuccess --nomsg aptcache policy + +msgtest 'Check that a repository with' 'exact fingerprint works' +echo 'deb [signed-by=CDE5618B8805FD6E202CE9C2D73C39E56580B386!] https://people.debian.org/~jak/debian/ stable main contrib # Äffchen' > rootdir/etc/apt/sources.list +testsuccess --nomsg aptcache policy + +msgtest 'Check that a repository with' 'whitespaced fingerprints work' +echo 'deb [signed-by=CDE5618B8805FD6E202CE9C2D73C39E56580B386!,,,,AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA] https://people.debian.org/~jak/debian/ stable main contrib # Äffchen' > rootdir/etc/apt/sources.list +cat > rootdir/etc/apt/sources.list.d/people.sources <<EOF +Types: deb +URIs: mirror+file:/var/lib/apt/mirror.lst +Suites: stable testing +Components: main contrib +Architectures: amd64 i386 +Signed-By: CDE5618B8805FD6E202CE9C2D73C39E56580B386! AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA + , , BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB +EOF +testsuccess --nomsg aptcache policy + +buildsimplenativepackage "coolstuff" "all" "1.0" "stable" +setupaptarchive --no-update +rm -f rootdir/etc/apt/sources.list.d/* rootdir/etc/apt/sources.list +rm -f rootdir/etc/apt/trusted.gpg.d/* rootdir/etc/apt/trusted.gpg + +cat > rootdir/etc/apt/sources.list.d/deb822.sources << EOF +Types: deb +URIs: file://$PWD/aptarchive +Suites: stable +Components: main +xSigned-By: + -----BEGIN PGP PUBLIC KEY BLOCK----- + . + mQENBExsGNYBCADNVx+TQ6h1tEyUP11f7ihfta3ZePkW1rIdkdHgA3Fw/TeLnTEq + mWuhMw2pL4zy1vQhU8efNrRaNUrUS7kV3LIdSjd5K4Aizqtsdy/gLKFoTcO8LFIm + KAXPg5hZBZ1B1HWvw7Npe4nkIj0Ar+bUyMfyCBUeqoaNeIy31a4IiNo8LdD73DOh + 4APKcp+pXh2s2DOmWOnTI8Z+WZ9W2ZurtdZl8g04hszGatwVKrNc6p5wK0wAvJ+X + M0HaIVt/+90GVLCMb/Gjf66At73BS19BdRDPi54PPK5N+Q9HZAYq0zPPNySB3l4A + vGjZtCqljkSqiaL1C0ZKf8c5ey/FoAviyS7TABEBAAG0M0pvZSBTaXhwYWNrIChB + UFQgVGVzdGNhc2VzIER1bW15KSA8am9lQGV4YW1wbGUub3JnPokBNwQTAQoAIQIb + AwIeAQIXgAUCV7L5PQULCQgHAwUVCgkICwUWAgMBAAAKCRBakNFB26yNri5RB/sF + xRzAFAwwp6TQNeZk3L2zsHD2ZPKaoWzi1l+nD4grfP1enuAnwcLR3HG4zouN3nCg + M0PgZEUo2yOAnKK4D5XWkcZjhcoCj133bTW807e+aM6d08ns+piIGJ8VdUVYlNZ2 + Tnr8eunkUQVkWQGjtHicIJFtjbokIKXzlJtVSklF/kDQ+v93kyj1SNM7Tm57Q01i + ZtB2jCXNYvqdlHaZw1oXdVd1R6u0+SSb4wtjHuTeYG76JaCnWKBnvexWhIEN1MxK + xNHhRHzEPTYZ4PCCyaRX4YRAwsEMFsscsghpQgqRDhGSWq+jUVI+Aay7FTnd+1UA + 1snsGpB0o9qxx8JpGMXI + =c/k4 + -----END PGP PUBLIC KEY BLOCK----- +EOF +testfailure apt update -o Debug::Acquire::gpgv=1 +testsuccess grep "NO_PUBKEY 5A90D141DBAC8DAE" rootdir/tmp/testfailure.output +sed -i s/^xSigned-By/Signed-By/ rootdir/etc/apt/sources.list.d/deb822.sources +testsuccess apt update -o Debug::Acquire::gpgv=1 +# make sure we did not leave leftover files (LP: #1995247) +testsuccessequal "" ls "${TMPDIR}" diff --git a/test/integration/test-snapshot b/test/integration/test-snapshot new file mode 100755 index 0000000..26ef5a7 --- /dev/null +++ b/test/integration/test-snapshot @@ -0,0 +1,335 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' + +buildsimplenativepackage 'awesome' 'native' '42' 'stable' +buildsimplenativepackage 'foo' 'all' '1.0' 'stable' +buildsimplenativepackage 'libbar' 'all' '1.0' 'stable' + +getlabelfromsuite() { echo 'Testcases'; } +getoriginfromsuite() { echo 'Debian'; } +releasechanger() { + # modifying the Release files in lists… bad stuff. Good that this is only a test… + msgmsg "Changing $1 to $2" + sed -i "s#^${1}: .*#${1}: ${2}#" $(find rootdir/var/lib/apt/lists -name '*Release') + rm -f rootdir/var/cache/apt/*.bin +} + + +setupaptarchive --no-update +changetowebserver +testsuccess aptget update + +testsuccessequal "'http://localhost:${APTHTTPPORT}/dists/stable/InRelease' localhost:${APTHTTPPORT}_dists_stable_InRelease 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/source/Sources.xz' localhost:${APTHTTPPORT}_dists_stable_main_source_Sources 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/binary-amd64/Packages.xz' localhost:${APTHTTPPORT}_dists_stable_main_binary-amd64_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/binary-all/Packages.xz' localhost:${APTHTTPPORT}_dists_stable_main_binary-all_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/i18n/Translation-en.xz' localhost:${APTHTTPPORT}_dists_stable_main_i18n_Translation-en 0 " aptget update --print-uris + +testsuccessequal "'https://snapshot.debian.org/archive/debian/OPTIONNOTSET/dists/stable/InRelease' snapshot.debian.org_archive_debian_OPTIONNOTSET_dists_stable_InRelease 0 +'https://snapshot.debian.org/archive/debian/OPTIONNOTSET/dists/stable/main/source/Sources.xz' snapshot.debian.org_archive_debian_OPTIONNOTSET_dists_stable_main_source_Sources 0 +'https://snapshot.debian.org/archive/debian/OPTIONNOTSET/dists/stable/main/binary-amd64/Packages.xz' snapshot.debian.org_archive_debian_OPTIONNOTSET_dists_stable_main_binary-amd64_Packages 0 +'https://snapshot.debian.org/archive/debian/OPTIONNOTSET/dists/stable/main/binary-all/Packages.xz' snapshot.debian.org_archive_debian_OPTIONNOTSET_dists_stable_main_binary-all_Packages 0 +'https://snapshot.debian.org/archive/debian/OPTIONNOTSET/dists/stable/main/i18n/Translation-en.xz' snapshot.debian.org_archive_debian_OPTIONNOTSET_dists_stable_main_i18n_Translation-en 0 +'http://localhost:${APTHTTPPORT}/dists/stable/InRelease' localhost:${APTHTTPPORT}_dists_stable_InRelease 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/source/Sources.xz' localhost:${APTHTTPPORT}_dists_stable_main_source_Sources 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/binary-amd64/Packages.xz' localhost:${APTHTTPPORT}_dists_stable_main_binary-amd64_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/binary-all/Packages.xz' localhost:${APTHTTPPORT}_dists_stable_main_binary-all_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/i18n/Translation-en.xz' localhost:${APTHTTPPORT}_dists_stable_main_i18n_Translation-en 0 " aptget update --print-uris --snapshot OPTIONNOTSET + +# repository does not support snapshots: we succeed here by silently ignoring the snapshot for the repository because it's not forced-on +releasechanger 'Origin' 'NoSnapshotsKnown' +testsuccessequal "'http://localhost:${APTHTTPPORT}/dists/stable/InRelease' localhost:${APTHTTPPORT}_dists_stable_InRelease 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/source/Sources.xz' localhost:${APTHTTPPORT}_dists_stable_main_source_Sources 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/binary-amd64/Packages.xz' localhost:${APTHTTPPORT}_dists_stable_main_binary-amd64_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/binary-all/Packages.xz' localhost:${APTHTTPPORT}_dists_stable_main_binary-all_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/i18n/Translation-en.xz' localhost:${APTHTTPPORT}_dists_stable_main_i18n_Translation-en 0 " aptget update --print-uris --snapshot OPTION-NOT-SET-AND-RELEASE-SAYS-NO + + +# Enable the snapshot feature +sed -i 's/http:/[snapshot=enable] http:/' rootdir/etc/apt/sources.list.d/* + +# repository does not support snapshots: we fail here because now, we actually forced the feature enabled +testfailuremsg "E: Snapshots not supported for http://localhost:${APTHTTPPORT}/ stable +E: Snapshots not supported for http://localhost:${APTHTTPPORT}/ stable +E: The list of sources could not be read." aptget update --print-uris -S OPTION-SET-AND-RELEASE-SAYS-NO + +releasechanger 'Origin' 'Debian' +testsuccessequal "'http://localhost:${APTHTTPPORT}/dists/stable/InRelease' localhost:${APTHTTPPORT}_dists_stable_InRelease 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/source/Sources.xz' localhost:${APTHTTPPORT}_dists_stable_main_source_Sources 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/binary-amd64/Packages.xz' localhost:${APTHTTPPORT}_dists_stable_main_binary-amd64_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/binary-all/Packages.xz' localhost:${APTHTTPPORT}_dists_stable_main_binary-all_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/i18n/Translation-en.xz' localhost:${APTHTTPPORT}_dists_stable_main_i18n_Translation-en 0 " aptget update --print-uris + +for option in -S --snapshot; do +testsuccessequal "'https://snapshot.debian.org/archive/debian/BANANA/dists/stable/InRelease' snapshot.debian.org_archive_debian_BANANA_dists_stable_InRelease 0 +'https://snapshot.debian.org/archive/debian/BANANA/dists/stable/main/source/Sources.xz' snapshot.debian.org_archive_debian_BANANA_dists_stable_main_source_Sources 0 +'https://snapshot.debian.org/archive/debian/BANANA/dists/stable/main/binary-amd64/Packages.xz' snapshot.debian.org_archive_debian_BANANA_dists_stable_main_binary-amd64_Packages 0 +'https://snapshot.debian.org/archive/debian/BANANA/dists/stable/main/binary-all/Packages.xz' snapshot.debian.org_archive_debian_BANANA_dists_stable_main_binary-all_Packages 0 +'https://snapshot.debian.org/archive/debian/BANANA/dists/stable/main/i18n/Translation-en.xz' snapshot.debian.org_archive_debian_BANANA_dists_stable_main_i18n_Translation-en 0 +'http://localhost:${APTHTTPPORT}/dists/stable/InRelease' localhost:${APTHTTPPORT}_dists_stable_InRelease 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/source/Sources.xz' localhost:${APTHTTPPORT}_dists_stable_main_source_Sources 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/binary-amd64/Packages.xz' localhost:${APTHTTPPORT}_dists_stable_main_binary-amd64_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/binary-all/Packages.xz' localhost:${APTHTTPPORT}_dists_stable_main_binary-all_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/i18n/Translation-en.xz' localhost:${APTHTTPPORT}_dists_stable_main_i18n_Translation-en 0 " aptget update --print-uris $option BANANA +done + + +# Let us update for realz +mkdir aptarchive/snapshot/BANANA -p +cp -a aptarchive/dists aptarchive/snapshot/BANANA + +testsuccessequal "Hit:1 http://localhost:${APTHTTPPORT} stable InRelease +Get:2 http://localhost:${APTHTTPPORT}/snapshot/BANANA stable InRelease [$(stat -c %s aptarchive/dists/stable/InRelease) B] +Get:3 http://localhost:${APTHTTPPORT}/snapshot/BANANA stable/main Sources [$(stat -c %s aptarchive/dists/stable/main/source/Sources.gz) B] +Get:4 http://localhost:${APTHTTPPORT}/snapshot/BANANA stable/main amd64 Packages [$(stat -c %s aptarchive/dists/stable/main/binary-amd64/Packages.gz) B] +Get:5 http://localhost:${APTHTTPPORT}/snapshot/BANANA stable/main all Packages [$(stat -c %s aptarchive/dists/stable/main/binary-all/Packages.gz) B] +Get:6 http://localhost:${APTHTTPPORT}/snapshot/BANANA stable/main Translation-en [$(stat -c %s aptarchive/dists/stable/main/i18n/Translation-en.gz) B] +Reading package lists..." \ + aptget update -o Acquire::Snapshots::URI::Label::Testcases="http://localhost:${APTHTTPPORT}/snapshot/@SNAPSHOTID@/" -SBANANA + +msgmsg "Cache constructed without snapshot" +testsuccessequal "Package files: + 500 http://localhost:${APTHTTPPORT} stable/main all Packages + release o=Debian,a=stable,n=stable,l=Testcases,c=main,b=all + origin localhost + 500 http://localhost:${APTHTTPPORT} stable/main amd64 Packages + release o=Debian,a=stable,n=stable,l=Testcases,c=main,b=amd64 + origin localhost +Pinned packages:" \ + aptcache policy -o Acquire::Snapshots::URI::Label::Testcases="http://localhost:${APTHTTPPORT}/snapshot/@SNAPSHOTID@/" + +testsuccessequal "'http://localhost:${APTHTTPPORT}/pool/awesome_42_amd64.deb' awesome_42_amd64.deb $(stat -c %s aptarchive/pool/awesome_42_amd64.deb) " \ + aptget install --print-uris -qq awesome + +msgmsg "Cache constructed with snapshot" +testsuccessequal "Package files: + 500 http://localhost:${APTHTTPPORT}/snapshot/BANANA stable/main all Packages + release o=Debian,a=stable,n=stable,l=Testcases,c=main,b=all + origin localhost + 500 http://localhost:${APTHTTPPORT}/snapshot/BANANA stable/main amd64 Packages + release o=Debian,a=stable,n=stable,l=Testcases,c=main,b=amd64 + origin localhost +Pinned packages:" \ + aptcache policy -o Acquire::Snapshots::URI::Label::Testcases="http://localhost:${APTHTTPPORT}/snapshot/@SNAPSHOTID@/" -SBANANA + +testsuccessequal "'http://localhost:${APTHTTPPORT}/snapshot/BANANA/pool/awesome_42_amd64.deb' awesome_42_amd64.deb $(stat -c %s aptarchive/pool/awesome_42_amd64.deb) " \ + aptget install --print-uris -qq awesome -o Acquire::Snapshots::URI::Label::Testcases="http://localhost:${APTHTTPPORT}/snapshot/@SNAPSHOTID@/" -SBANANA + + +msgmsg "Origin: Ubuntu" +releasechanger 'Origin' 'Ubuntu' +testsuccessequal "'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/stable/InRelease' snapshot.ubuntu.com_ubuntu_BANANA_dists_stable_InRelease 0 +'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/stable/main/source/Sources.xz' snapshot.ubuntu.com_ubuntu_BANANA_dists_stable_main_source_Sources 0 +'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/stable/main/binary-amd64/Packages.xz' snapshot.ubuntu.com_ubuntu_BANANA_dists_stable_main_binary-amd64_Packages 0 +'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/stable/main/binary-all/Packages.xz' snapshot.ubuntu.com_ubuntu_BANANA_dists_stable_main_binary-all_Packages 0 +'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/stable/main/i18n/Translation-en.xz' snapshot.ubuntu.com_ubuntu_BANANA_dists_stable_main_i18n_Translation-en 0 +'http://localhost:${APTHTTPPORT}/dists/stable/InRelease' localhost:${APTHTTPPORT}_dists_stable_InRelease 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/source/Sources.xz' localhost:${APTHTTPPORT}_dists_stable_main_source_Sources 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/binary-amd64/Packages.xz' localhost:${APTHTTPPORT}_dists_stable_main_binary-amd64_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/binary-all/Packages.xz' localhost:${APTHTTPPORT}_dists_stable_main_binary-all_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/i18n/Translation-en.xz' localhost:${APTHTTPPORT}_dists_stable_main_i18n_Translation-en 0 " aptget update --print-uris $option BANANA + +msgmsg "Label: Debian" +releasechanger 'Label' 'Debian' +testsuccessequal "'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/stable/InRelease' snapshot.ubuntu.com_ubuntu_BANANA_dists_stable_InRelease 0 +'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/stable/main/source/Sources.xz' snapshot.ubuntu.com_ubuntu_BANANA_dists_stable_main_source_Sources 0 +'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/stable/main/binary-amd64/Packages.xz' snapshot.ubuntu.com_ubuntu_BANANA_dists_stable_main_binary-amd64_Packages 0 +'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/stable/main/binary-all/Packages.xz' snapshot.ubuntu.com_ubuntu_BANANA_dists_stable_main_binary-all_Packages 0 +'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/stable/main/i18n/Translation-en.xz' snapshot.ubuntu.com_ubuntu_BANANA_dists_stable_main_i18n_Translation-en 0 +'http://localhost:${APTHTTPPORT}/dists/stable/InRelease' localhost:${APTHTTPPORT}_dists_stable_InRelease 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/source/Sources.xz' localhost:${APTHTTPPORT}_dists_stable_main_source_Sources 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/binary-amd64/Packages.xz' localhost:${APTHTTPPORT}_dists_stable_main_binary-amd64_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/binary-all/Packages.xz' localhost:${APTHTTPPORT}_dists_stable_main_binary-all_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/i18n/Translation-en.xz' localhost:${APTHTTPPORT}_dists_stable_main_i18n_Translation-en 0 " aptget update --print-uris $option BANANA + +testsuccessequal "'http://localhost:${APTHTTPPORT}/dists/stable/InRelease' localhost:${APTHTTPPORT}_dists_stable_InRelease 0 +'http://localhost:${APTHTTPPORT}/snapshot/BANANA/dists/stable/InRelease' localhost:${APTHTTPPORT}_snapshot_BANANA_dists_stable_InRelease 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/source/Sources.xz' localhost:${APTHTTPPORT}_dists_stable_main_source_Sources 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/binary-amd64/Packages.xz' localhost:${APTHTTPPORT}_dists_stable_main_binary-amd64_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/binary-all/Packages.xz' localhost:${APTHTTPPORT}_dists_stable_main_binary-all_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/i18n/Translation-en.xz' localhost:${APTHTTPPORT}_dists_stable_main_i18n_Translation-en 0 +'http://localhost:${APTHTTPPORT}/snapshot/BANANA/dists/stable/main/source/Sources.xz' localhost:${APTHTTPPORT}_snapshot_BANANA_dists_stable_main_source_Sources 0 +'http://localhost:${APTHTTPPORT}/snapshot/BANANA/dists/stable/main/binary-amd64/Packages.xz' localhost:${APTHTTPPORT}_snapshot_BANANA_dists_stable_main_binary-amd64_Packages 0 +'http://localhost:${APTHTTPPORT}/snapshot/BANANA/dists/stable/main/binary-all/Packages.xz' localhost:${APTHTTPPORT}_snapshot_BANANA_dists_stable_main_binary-all_Packages 0 +'http://localhost:${APTHTTPPORT}/snapshot/BANANA/dists/stable/main/i18n/Translation-en.xz' localhost:${APTHTTPPORT}_snapshot_BANANA_dists_stable_main_i18n_Translation-en 0 " aptget update --print-uris -o Acquire::Snapshots::URI::Label::Debian="http://localhost:${APTHTTPPORT}/snapshot/@SNAPSHOTID@/" -SBANANA + +msgmsg "Origin: Unknown" +releasechanger 'Origin' 'Unknown' +# XXX: @PATH@ is empty here so we have //, there isn't much we can do here, people don't have to use @PATH@ of course. +testsuccessequal "'https://example.org/snapshots//BANANA/dists/stable/InRelease' example.org_snapshots__BANANA_dists_stable_InRelease 0 +'https://example.org/snapshots//BANANA/dists/stable/main/source/Sources.xz' example.org_snapshots__BANANA_dists_stable_main_source_Sources 0 +'https://example.org/snapshots//BANANA/dists/stable/main/binary-amd64/Packages.xz' example.org_snapshots__BANANA_dists_stable_main_binary-amd64_Packages 0 +'https://example.org/snapshots//BANANA/dists/stable/main/binary-all/Packages.xz' example.org_snapshots__BANANA_dists_stable_main_binary-all_Packages 0 +'https://example.org/snapshots//BANANA/dists/stable/main/i18n/Translation-en.xz' example.org_snapshots__BANANA_dists_stable_main_i18n_Translation-en 0 +'http://localhost:${APTHTTPPORT}/dists/stable/InRelease' localhost:${APTHTTPPORT}_dists_stable_InRelease 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/source/Sources.xz' localhost:${APTHTTPPORT}_dists_stable_main_source_Sources 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/binary-amd64/Packages.xz' localhost:${APTHTTPPORT}_dists_stable_main_binary-amd64_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/binary-all/Packages.xz' localhost:${APTHTTPPORT}_dists_stable_main_binary-all_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/i18n/Translation-en.xz' localhost:${APTHTTPPORT}_dists_stable_main_i18n_Translation-en 0 " aptget update --print-uris $option BANANA -o Acquire::Snapshots::URI::Host::localhost="https://example.org/snapshots/@PATH@/@SNAPSHOTID@/" + +msgmsg "Snapshots: set in the InRelease file" +sed -i '/^Origin: / a\ +Snapshots: https://example.org/snapshots/@SNAPSHOTID@/' $(find rootdir/var/lib/apt/lists -name '*Release') +rm -f rootdir/var/cache/apt/*.bin + +testsuccessequal "'https://example.org/snapshots/BANANA/dists/stable/InRelease' example.org_snapshots_BANANA_dists_stable_InRelease 0 +'https://example.org/snapshots/BANANA/dists/stable/main/source/Sources.xz' example.org_snapshots_BANANA_dists_stable_main_source_Sources 0 +'https://example.org/snapshots/BANANA/dists/stable/main/binary-amd64/Packages.xz' example.org_snapshots_BANANA_dists_stable_main_binary-amd64_Packages 0 +'https://example.org/snapshots/BANANA/dists/stable/main/binary-all/Packages.xz' example.org_snapshots_BANANA_dists_stable_main_binary-all_Packages 0 +'https://example.org/snapshots/BANANA/dists/stable/main/i18n/Translation-en.xz' example.org_snapshots_BANANA_dists_stable_main_i18n_Translation-en 0 +'http://localhost:${APTHTTPPORT}/dists/stable/InRelease' localhost:${APTHTTPPORT}_dists_stable_InRelease 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/source/Sources.xz' localhost:${APTHTTPPORT}_dists_stable_main_source_Sources 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/binary-amd64/Packages.xz' localhost:${APTHTTPPORT}_dists_stable_main_binary-amd64_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/binary-all/Packages.xz' localhost:${APTHTTPPORT}_dists_stable_main_binary-all_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/i18n/Translation-en.xz' localhost:${APTHTTPPORT}_dists_stable_main_i18n_Translation-en 0 " aptget update --print-uris -SBANANA + +releasechanger 'Snapshots' 'no' +testfailuremsg "E: Snapshots not supported for http://localhost:${APTHTTPPORT}/ stable +E: Snapshots not supported for http://localhost:${APTHTTPPORT}/ stable +E: The list of sources could not be read." aptget update --print-uris -S BANANA + +testfailuremsg "E: Snapshots not supported for http://localhost:${APTHTTPPORT}/ stable +E: Snapshots not supported for http://localhost:${APTHTTPPORT}/ stable +E: The list of sources could not be read." aptget update --print-uris -S BANANA -o Acquire::Snapshots::URI::Host::localhost="https://example.org/snapshots/@PATH@/@SNAPSHOTID@/" + +msgmsg "Snapshot URI configured in apt.conf" +sed -i '/^Snapshots: / d' $(find rootdir/var/lib/apt/lists -name '*Release') +releasechanger 'Label' 'Testcases' + +echo "Acquire::Snapshots::URI::Label::Testcases \"http://localhost:${APTHTTPPORT}/snapshot/@SNAPSHOTID@/\";" > rootdir/etc/apt/apt.conf.d/changelog.conf +testsuccessequal "'http://localhost:${APTHTTPPORT}/dists/stable/InRelease' localhost:${APTHTTPPORT}_dists_stable_InRelease 0 +'http://localhost:${APTHTTPPORT}/snapshot/BANANA/dists/stable/InRelease' localhost:${APTHTTPPORT}_snapshot_BANANA_dists_stable_InRelease 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/source/Sources.xz' localhost:${APTHTTPPORT}_dists_stable_main_source_Sources 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/binary-amd64/Packages.xz' localhost:${APTHTTPPORT}_dists_stable_main_binary-amd64_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/binary-all/Packages.xz' localhost:${APTHTTPPORT}_dists_stable_main_binary-all_Packages 0 +'http://localhost:${APTHTTPPORT}/dists/stable/main/i18n/Translation-en.xz' localhost:${APTHTTPPORT}_dists_stable_main_i18n_Translation-en 0 +'http://localhost:${APTHTTPPORT}/snapshot/BANANA/dists/stable/main/source/Sources.xz' localhost:${APTHTTPPORT}_snapshot_BANANA_dists_stable_main_source_Sources 0 +'http://localhost:${APTHTTPPORT}/snapshot/BANANA/dists/stable/main/binary-amd64/Packages.xz' localhost:${APTHTTPPORT}_snapshot_BANANA_dists_stable_main_binary-amd64_Packages 0 +'http://localhost:${APTHTTPPORT}/snapshot/BANANA/dists/stable/main/binary-all/Packages.xz' localhost:${APTHTTPPORT}_snapshot_BANANA_dists_stable_main_binary-all_Packages 0 +'http://localhost:${APTHTTPPORT}/snapshot/BANANA/dists/stable/main/i18n/Translation-en.xz' localhost:${APTHTTPPORT}_snapshot_BANANA_dists_stable_main_i18n_Translation-en 0 " aptget update --print-uris -SBANANA + +rm rootdir/etc/apt/apt.conf.d/changelog.conf + +msgmsg "Testing host-based seed: Ubuntu" + +echo "deb http://security.ubuntu.com/ubuntu/ mantic-security main" > rootdir/etc/apt/security.list +testsuccessequal "'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/mantic-security/InRelease' snapshot.ubuntu.com_ubuntu_BANANA_dists_mantic-security_InRelease 0 +'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/mantic-security/main/binary-amd64/Packages.xz' snapshot.ubuntu.com_ubuntu_BANANA_dists_mantic-security_main_binary-amd64_Packages 0 +'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/mantic-security/main/binary-all/Packages.xz' snapshot.ubuntu.com_ubuntu_BANANA_dists_mantic-security_main_binary-all_Packages 0 +'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/mantic-security/main/i18n/Translation-en.xz' snapshot.ubuntu.com_ubuntu_BANANA_dists_mantic-security_main_i18n_Translation-en 0 +'http://security.ubuntu.com/ubuntu/dists/mantic-security/InRelease' security.ubuntu.com_ubuntu_dists_mantic-security_InRelease 0 +'http://security.ubuntu.com/ubuntu/dists/mantic-security/main/binary-amd64/Packages.xz' security.ubuntu.com_ubuntu_dists_mantic-security_main_binary-amd64_Packages 0 +'http://security.ubuntu.com/ubuntu/dists/mantic-security/main/binary-all/Packages.xz' security.ubuntu.com_ubuntu_dists_mantic-security_main_binary-all_Packages 0 +'http://security.ubuntu.com/ubuntu/dists/mantic-security/main/i18n/Translation-en.xz' security.ubuntu.com_ubuntu_dists_mantic-security_main_i18n_Translation-en 0 " aptget update --print-uris -o Dir::Etc::SourceList=security.list -o Dir::Etc::SourceParts=/dev/null -SBANANA + +echo "deb [snapshot=BANANA] http://security.ubuntu.com/ubuntu/ mantic-security main" > rootdir/etc/apt/security.list +testsuccessequal "'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/mantic-security/InRelease' snapshot.ubuntu.com_ubuntu_BANANA_dists_mantic-security_InRelease 0 +'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/mantic-security/main/binary-amd64/Packages.xz' snapshot.ubuntu.com_ubuntu_BANANA_dists_mantic-security_main_binary-amd64_Packages 0 +'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/mantic-security/main/binary-all/Packages.xz' snapshot.ubuntu.com_ubuntu_BANANA_dists_mantic-security_main_binary-all_Packages 0 +'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/mantic-security/main/i18n/Translation-en.xz' snapshot.ubuntu.com_ubuntu_BANANA_dists_mantic-security_main_i18n_Translation-en 0 +'http://security.ubuntu.com/ubuntu/dists/mantic-security/InRelease' security.ubuntu.com_ubuntu_dists_mantic-security_InRelease 0 +'http://security.ubuntu.com/ubuntu/dists/mantic-security/main/binary-amd64/Packages.xz' security.ubuntu.com_ubuntu_dists_mantic-security_main_binary-amd64_Packages 0 +'http://security.ubuntu.com/ubuntu/dists/mantic-security/main/binary-all/Packages.xz' security.ubuntu.com_ubuntu_dists_mantic-security_main_binary-all_Packages 0 +'http://security.ubuntu.com/ubuntu/dists/mantic-security/main/i18n/Translation-en.xz' security.ubuntu.com_ubuntu_dists_mantic-security_main_i18n_Translation-en 0 " aptget update --print-uris -o Dir::Etc::SourceList=security.list -o Dir::Etc::SourceParts=/dev/null +echo "deb [snapshot=BANANA] http://archive.ubuntu.com/ubuntu/ mantic main" > rootdir/etc/apt/archive.list +testsuccessequal "'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/mantic/InRelease' snapshot.ubuntu.com_ubuntu_BANANA_dists_mantic_InRelease 0 +'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/mantic/main/binary-amd64/Packages.xz' snapshot.ubuntu.com_ubuntu_BANANA_dists_mantic_main_binary-amd64_Packages 0 +'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/mantic/main/binary-all/Packages.xz' snapshot.ubuntu.com_ubuntu_BANANA_dists_mantic_main_binary-all_Packages 0 +'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/mantic/main/i18n/Translation-en.xz' snapshot.ubuntu.com_ubuntu_BANANA_dists_mantic_main_i18n_Translation-en 0 +'http://archive.ubuntu.com/ubuntu/dists/mantic/InRelease' archive.ubuntu.com_ubuntu_dists_mantic_InRelease 0 +'http://archive.ubuntu.com/ubuntu/dists/mantic/main/binary-amd64/Packages.xz' archive.ubuntu.com_ubuntu_dists_mantic_main_binary-amd64_Packages 0 +'http://archive.ubuntu.com/ubuntu/dists/mantic/main/binary-all/Packages.xz' archive.ubuntu.com_ubuntu_dists_mantic_main_binary-all_Packages 0 +'http://archive.ubuntu.com/ubuntu/dists/mantic/main/i18n/Translation-en.xz' archive.ubuntu.com_ubuntu_dists_mantic_main_i18n_Translation-en 0 " aptget update --print-uris -o Dir::Etc::SourceList=archive.list -o Dir::Etc::SourceParts=/dev/null +echo "deb [snapshot=BANANA] http://cc.archive.ubuntu.com/ubuntu/ mantic main" > rootdir/etc/apt/cc.archive.list +testsuccessequal "'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/mantic/InRelease' snapshot.ubuntu.com_ubuntu_BANANA_dists_mantic_InRelease 0 +'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/mantic/main/binary-amd64/Packages.xz' snapshot.ubuntu.com_ubuntu_BANANA_dists_mantic_main_binary-amd64_Packages 0 +'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/mantic/main/binary-all/Packages.xz' snapshot.ubuntu.com_ubuntu_BANANA_dists_mantic_main_binary-all_Packages 0 +'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/mantic/main/i18n/Translation-en.xz' snapshot.ubuntu.com_ubuntu_BANANA_dists_mantic_main_i18n_Translation-en 0 +'http://cc.archive.ubuntu.com/ubuntu/dists/mantic/InRelease' cc.archive.ubuntu.com_ubuntu_dists_mantic_InRelease 0 +'http://cc.archive.ubuntu.com/ubuntu/dists/mantic/main/binary-amd64/Packages.xz' cc.archive.ubuntu.com_ubuntu_dists_mantic_main_binary-amd64_Packages 0 +'http://cc.archive.ubuntu.com/ubuntu/dists/mantic/main/binary-all/Packages.xz' cc.archive.ubuntu.com_ubuntu_dists_mantic_main_binary-all_Packages 0 +'http://cc.archive.ubuntu.com/ubuntu/dists/mantic/main/i18n/Translation-en.xz' cc.archive.ubuntu.com_ubuntu_dists_mantic_main_i18n_Translation-en 0 " aptget update --print-uris -o Dir::Etc::SourceList=cc.archive.list -o Dir::Etc::SourceParts=/dev/null + +# with a custom override for .archive.ubuntu.com +testsuccessequal "'https://cc.snapshot.ubuntu.com/ubuntu/BANANA/dists/mantic/InRelease' cc.snapshot.ubuntu.com_ubuntu_BANANA_dists_mantic_InRelease 0 +'https://cc.snapshot.ubuntu.com/ubuntu/BANANA/dists/mantic/main/binary-amd64/Packages.xz' cc.snapshot.ubuntu.com_ubuntu_BANANA_dists_mantic_main_binary-amd64_Packages 0 +'https://cc.snapshot.ubuntu.com/ubuntu/BANANA/dists/mantic/main/binary-all/Packages.xz' cc.snapshot.ubuntu.com_ubuntu_BANANA_dists_mantic_main_binary-all_Packages 0 +'https://cc.snapshot.ubuntu.com/ubuntu/BANANA/dists/mantic/main/i18n/Translation-en.xz' cc.snapshot.ubuntu.com_ubuntu_BANANA_dists_mantic_main_i18n_Translation-en 0 +'http://cc.archive.ubuntu.com/ubuntu/dists/mantic/InRelease' cc.archive.ubuntu.com_ubuntu_dists_mantic_InRelease 0 +'http://cc.archive.ubuntu.com/ubuntu/dists/mantic/main/binary-amd64/Packages.xz' cc.archive.ubuntu.com_ubuntu_dists_mantic_main_binary-amd64_Packages 0 +'http://cc.archive.ubuntu.com/ubuntu/dists/mantic/main/binary-all/Packages.xz' cc.archive.ubuntu.com_ubuntu_dists_mantic_main_binary-all_Packages 0 +'http://cc.archive.ubuntu.com/ubuntu/dists/mantic/main/i18n/Translation-en.xz' cc.archive.ubuntu.com_ubuntu_dists_mantic_main_i18n_Translation-en 0 " aptget update --print-uris -o Dir::Etc::SourceList=cc.archive.list -o Dir::Etc::SourceParts=/dev/null -o "Acquire::Snapshots::URI::Host::.archive.ubuntu.com"="https://cc.snapshot.ubuntu.com/@PATH@/@SNAPSHOTID@/" + +testsuccessequal "'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/mantic/InRelease' snapshot.ubuntu.com_ubuntu_BANANA_dists_mantic_InRelease 0 +'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/mantic/main/binary-amd64/Packages.xz' snapshot.ubuntu.com_ubuntu_BANANA_dists_mantic_main_binary-amd64_Packages 0 +'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/mantic/main/binary-all/Packages.xz' snapshot.ubuntu.com_ubuntu_BANANA_dists_mantic_main_binary-all_Packages 0 +'https://snapshot.ubuntu.com/ubuntu/BANANA/dists/mantic/main/i18n/Translation-en.xz' snapshot.ubuntu.com_ubuntu_BANANA_dists_mantic_main_i18n_Translation-en 0 +'http://archive.ubuntu.com/ubuntu/dists/mantic/InRelease' archive.ubuntu.com_ubuntu_dists_mantic_InRelease 0 +'http://archive.ubuntu.com/ubuntu/dists/mantic/main/binary-amd64/Packages.xz' archive.ubuntu.com_ubuntu_dists_mantic_main_binary-amd64_Packages 0 +'http://archive.ubuntu.com/ubuntu/dists/mantic/main/binary-all/Packages.xz' archive.ubuntu.com_ubuntu_dists_mantic_main_binary-all_Packages 0 +'http://archive.ubuntu.com/ubuntu/dists/mantic/main/i18n/Translation-en.xz' archive.ubuntu.com_ubuntu_dists_mantic_main_i18n_Translation-en 0 " aptget update --print-uris -o Dir::Etc::SourceList=archive.list -o Dir::Etc::SourceParts=/dev/null -o "Acquire::Snapshots::URI::Host::.archive.ubuntu.com"="https://cc.snapshot.ubuntu.com/@PATH@/@SNAPSHOTID@/" + +testfailureequal "E: Snapshots not supported for http://archive.ubuntu.com/ubuntu/ mantic +E: The list of sources could not be read." aptget update --print-uris -o Dir::Etc::SourceList=archive.list -o Dir::Etc::SourceParts=/dev/null -o "Acquire::Snapshots::URI::Host::archive.ubuntu.com"="no" + +msgmsg "Testing host based-seeds: PPA" + +echo "deb [snapshot=BANANA] http://ppa.launchpad.net/owner/archive/distribution/ mantic main" > rootdir/etc/apt/ppa.list +testsuccessequal "'https://snapshot.ppa.launchpadcontent.net/owner/archive/distribution/BANANA/dists/mantic/InRelease' snapshot.ppa.launchpadcontent.net_owner_archive_distribution_BANANA_dists_mantic_InRelease 0 +'https://snapshot.ppa.launchpadcontent.net/owner/archive/distribution/BANANA/dists/mantic/main/binary-amd64/Packages.xz' snapshot.ppa.launchpadcontent.net_owner_archive_distribution_BANANA_dists_mantic_main_binary-amd64_Packages 0 +'https://snapshot.ppa.launchpadcontent.net/owner/archive/distribution/BANANA/dists/mantic/main/binary-all/Packages.xz' snapshot.ppa.launchpadcontent.net_owner_archive_distribution_BANANA_dists_mantic_main_binary-all_Packages 0 +'https://snapshot.ppa.launchpadcontent.net/owner/archive/distribution/BANANA/dists/mantic/main/i18n/Translation-en.xz' snapshot.ppa.launchpadcontent.net_owner_archive_distribution_BANANA_dists_mantic_main_i18n_Translation-en 0 +'http://ppa.launchpad.net/owner/archive/distribution/dists/mantic/InRelease' ppa.launchpad.net_owner_archive_distribution_dists_mantic_InRelease 0 +'http://ppa.launchpad.net/owner/archive/distribution/dists/mantic/main/binary-amd64/Packages.xz' ppa.launchpad.net_owner_archive_distribution_dists_mantic_main_binary-amd64_Packages 0 +'http://ppa.launchpad.net/owner/archive/distribution/dists/mantic/main/binary-all/Packages.xz' ppa.launchpad.net_owner_archive_distribution_dists_mantic_main_binary-all_Packages 0 +'http://ppa.launchpad.net/owner/archive/distribution/dists/mantic/main/i18n/Translation-en.xz' ppa.launchpad.net_owner_archive_distribution_dists_mantic_main_i18n_Translation-en 0 " aptget update --print-uris -o Dir::Etc::SourceList=ppa.list -o Dir::Etc::SourceParts=/dev/null + +echo "deb [snapshot=BANANA] http://ppa.launchpadcontent.net/owner/archive/distribution/ mantic main" > rootdir/etc/apt/ppa.list +testsuccessequal "'https://snapshot.ppa.launchpadcontent.net/owner/archive/distribution/BANANA/dists/mantic/InRelease' snapshot.ppa.launchpadcontent.net_owner_archive_distribution_BANANA_dists_mantic_InRelease 0 +'https://snapshot.ppa.launchpadcontent.net/owner/archive/distribution/BANANA/dists/mantic/main/binary-amd64/Packages.xz' snapshot.ppa.launchpadcontent.net_owner_archive_distribution_BANANA_dists_mantic_main_binary-amd64_Packages 0 +'https://snapshot.ppa.launchpadcontent.net/owner/archive/distribution/BANANA/dists/mantic/main/binary-all/Packages.xz' snapshot.ppa.launchpadcontent.net_owner_archive_distribution_BANANA_dists_mantic_main_binary-all_Packages 0 +'https://snapshot.ppa.launchpadcontent.net/owner/archive/distribution/BANANA/dists/mantic/main/i18n/Translation-en.xz' snapshot.ppa.launchpadcontent.net_owner_archive_distribution_BANANA_dists_mantic_main_i18n_Translation-en 0 +'http://ppa.launchpadcontent.net/owner/archive/distribution/dists/mantic/InRelease' ppa.launchpadcontent.net_owner_archive_distribution_dists_mantic_InRelease 0 +'http://ppa.launchpadcontent.net/owner/archive/distribution/dists/mantic/main/binary-amd64/Packages.xz' ppa.launchpadcontent.net_owner_archive_distribution_dists_mantic_main_binary-amd64_Packages 0 +'http://ppa.launchpadcontent.net/owner/archive/distribution/dists/mantic/main/binary-all/Packages.xz' ppa.launchpadcontent.net_owner_archive_distribution_dists_mantic_main_binary-all_Packages 0 +'http://ppa.launchpadcontent.net/owner/archive/distribution/dists/mantic/main/i18n/Translation-en.xz' ppa.launchpadcontent.net_owner_archive_distribution_dists_mantic_main_i18n_Translation-en 0 " aptget update --print-uris -o Dir::Etc::SourceList=ppa.list -o Dir::Etc::SourceParts=/dev/null + +msgmsg "Testing host based-seeds: Debian" + +echo "deb [snapshot=BANANA] http://deb.debian.org/debian/ unstable main" > rootdir/etc/apt/debian.list +testsuccessequal "'https://snapshot.debian.org/archive/debian/BANANA/dists/unstable/InRelease' snapshot.debian.org_archive_debian_BANANA_dists_unstable_InRelease 0 +'https://snapshot.debian.org/archive/debian/BANANA/dists/unstable/main/binary-amd64/Packages.xz' snapshot.debian.org_archive_debian_BANANA_dists_unstable_main_binary-amd64_Packages 0 +'https://snapshot.debian.org/archive/debian/BANANA/dists/unstable/main/binary-all/Packages.xz' snapshot.debian.org_archive_debian_BANANA_dists_unstable_main_binary-all_Packages 0 +'https://snapshot.debian.org/archive/debian/BANANA/dists/unstable/main/i18n/Translation-en.xz' snapshot.debian.org_archive_debian_BANANA_dists_unstable_main_i18n_Translation-en 0 +'http://deb.debian.org/debian/dists/unstable/InRelease' deb.debian.org_debian_dists_unstable_InRelease 0 +'http://deb.debian.org/debian/dists/unstable/main/binary-amd64/Packages.xz' deb.debian.org_debian_dists_unstable_main_binary-amd64_Packages 0 +'http://deb.debian.org/debian/dists/unstable/main/binary-all/Packages.xz' deb.debian.org_debian_dists_unstable_main_binary-all_Packages 0 +'http://deb.debian.org/debian/dists/unstable/main/i18n/Translation-en.xz' deb.debian.org_debian_dists_unstable_main_i18n_Translation-en 0 " aptget update --print-uris -o Dir::Etc::SourceList=debian.list -o Dir::Etc::SourceParts=/dev/null + +echo "deb [snapshot=BANANA] http://deb.debian.org/debian-security/ stable-security main" > rootdir/etc/apt/debian-security.list +testsuccessequal "'https://snapshot.debian.org/archive/debian-security/BANANA/dists/stable-security/InRelease' snapshot.debian.org_archive_debian-security_BANANA_dists_stable-security_InRelease 0 +'https://snapshot.debian.org/archive/debian-security/BANANA/dists/stable-security/main/binary-amd64/Packages.xz' snapshot.debian.org_archive_debian-security_BANANA_dists_stable-security_main_binary-amd64_Packages 0 +'https://snapshot.debian.org/archive/debian-security/BANANA/dists/stable-security/main/binary-all/Packages.xz' snapshot.debian.org_archive_debian-security_BANANA_dists_stable-security_main_binary-all_Packages 0 +'https://snapshot.debian.org/archive/debian-security/BANANA/dists/stable-security/main/i18n/Translation-en.xz' snapshot.debian.org_archive_debian-security_BANANA_dists_stable-security_main_i18n_Translation-en 0 +'http://deb.debian.org/debian-security/dists/stable-security/InRelease' deb.debian.org_debian-security_dists_stable-security_InRelease 0 +'http://deb.debian.org/debian-security/dists/stable-security/main/binary-amd64/Packages.xz' deb.debian.org_debian-security_dists_stable-security_main_binary-amd64_Packages 0 +'http://deb.debian.org/debian-security/dists/stable-security/main/binary-all/Packages.xz' deb.debian.org_debian-security_dists_stable-security_main_binary-all_Packages 0 +'http://deb.debian.org/debian-security/dists/stable-security/main/i18n/Translation-en.xz' deb.debian.org_debian-security_dists_stable-security_main_i18n_Translation-en 0 " aptget update --print-uris -o Dir::Etc::SourceList=debian-security.list -o Dir::Etc::SourceParts=/dev/null + +exit 0 +msgmsg "Failure cases" + +# no @CHANGEPATH@ in the URI +testequal 'E: Failed to fetch changelog:/foo.changelog Changelog unavailable for foo=1.0' \ + aptget update -o Acquire::Snapshots::URI::Label::Testcases="http://localhost:${APTHTTPPORT}/snapshot" -SBANANA + +testequal "E: Failed to fetch http://localhost:${APTHTTPPORT}/does/not/exist/main/f/foo/foo_1.0/change.txt Changelog unavailable for foo=1.0 (404 Not Found)" \ + aptget update -o Acquire::Snapshots::URI::Label::Testcases="http://localhost:${APTHTTPPORT}/does/not/exist/@SNAPSHOTID@" -SBANANA + + diff --git a/test/integration/test-sourceslist-arch-plusminus-options b/test/integration/test-sourceslist-arch-plusminus-options new file mode 100755 index 0000000..fdf33cc --- /dev/null +++ b/test/integration/test-sourceslist-arch-plusminus-options @@ -0,0 +1,94 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +testbinaries() { + msgtest 'Test acquired archs for' "$1" + shift + rm -f gotarchs.list + aptget update --print-uris | grep -o '/binary-[a-z0-9-]\+/Packages' | sort > gotarchs.list + while [ -n "$1" ]; do + echo "/binary-${1}/Packages" + shift + done | sort | checkdiff - gotarchs.list && msgpass || msgfail +} + +echo 'deb http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testbinaries 'default & native' 'amd64' 'all' +configarchitecture 'amd64' 'i386' +testbinaries 'default & native + foreign' 'amd64' 'i386' 'all' +configarchitecture 'amd64' 'i386' 'armel' 'armhf' 'mips' 'mipsel' +testbinaries 'default & native + many foreigns' 'amd64' 'i386' 'armel' 'armhf' 'mips' 'mipsel' 'all' + +echo 'deb [arch=amd64] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testbinaries 'arch=native' 'amd64' 'all' + +echo 'deb [arch=mips] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testbinaries 'arch=foreign' 'mips' 'all' + +echo 'deb [arch=kfreebsd-armel] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testbinaries 'arch=unknown' 'kfreebsd-armel' 'all' + +echo 'deb [arch=amd64,i386] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testbinaries 'arch=native,foreign' 'amd64' 'i386' 'all' + +echo 'deb [arch=mips,armhf] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testbinaries 'arch=foreign,foreign' 'mips' 'armhf' 'all' + +echo 'deb [arch=kfreebsd-armel,hurd-powerpc,mipsel,armel] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testbinaries 'arch=unknown,unknown,foreign,foreign' 'kfreebsd-armel' 'hurd-powerpc' 'mipsel' 'armel' 'all' + +echo 'deb [arch+=amd64] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testbinaries 'arch+=native' 'amd64' 'i386' 'armel' 'armhf' 'mips' 'mipsel' 'all' + +echo 'deb [arch+=mips] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testbinaries 'arch+=foreign' 'amd64' 'i386' 'armel' 'armhf' 'mips' 'mipsel' 'all' + +echo 'deb [arch+=mips,armhf,i386] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testbinaries 'arch+=foreign,foreign,foreign' 'amd64' 'i386' 'armel' 'armhf' 'mips' 'mipsel' 'all' + +echo 'deb [arch+=hurd-powerpc] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testbinaries 'arch+=unknown' 'amd64' 'i386' 'armel' 'armhf' 'mips' 'mipsel' 'hurd-powerpc' 'all' + +echo 'deb [arch+=mips,hurd-powerpc,i386] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testbinaries 'arch+=foreign,unknown,foreign' 'amd64' 'i386' 'armel' 'armhf' 'mips' 'mipsel' 'hurd-powerpc' 'all' + +echo 'deb [arch-=amd64] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testbinaries 'arch-=native' 'i386' 'armel' 'armhf' 'mips' 'mipsel' 'all' + +echo 'deb [arch-=mips] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testbinaries 'arch-=foreign' 'amd64' 'i386' 'armel' 'armhf' 'mipsel' 'all' + +echo 'deb [arch-=mips,armhf,i386] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testbinaries 'arch-=foreign,foreign,foreign' 'amd64' 'armel' 'mipsel' 'all' + +echo 'deb [arch-=hurd-powerpc] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testbinaries 'arch-=unknown' 'amd64' 'i386' 'armel' 'armhf' 'mips' 'mipsel' 'all' + +echo 'deb [arch-=mips,hurd-powerpc,i386] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testbinaries 'arch-=foreign,unknown,foreign' 'amd64' 'armel' 'armhf' 'mipsel' 'all' + +echo 'deb [arch=mips,i386 arch-=mips] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testbinaries 'subtract from a arch-set' 'i386' 'all' + +echo 'deb [arch=mips,i386 arch-=mips] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testbinaries 'useless subtract from a arch-set' 'i386' 'all' + +echo 'deb [arch=mips,i386 arch+=armhf] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testbinaries 'addition to a arch-set' 'i386' 'mips' 'armhf' 'all' + +echo 'deb [arch=mips,i386 arch+=mips] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testbinaries 'useless addition to a arch-set' 'i386' 'mips' 'all' + +echo 'deb [arch=i386 arch-=all] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testbinaries 'substract all from arch-set' 'i386' + +echo 'deb [arch=i386 arch+=all] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testbinaries 'useless addition of all' 'i386' 'all' + +echo 'deb [arch=all] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testbinaries 'explicit all' 'all' diff --git a/test/integration/test-sourceslist-lang-plusminus-options b/test/integration/test-sourceslist-lang-plusminus-options new file mode 100755 index 0000000..abdb647 --- /dev/null +++ b/test/integration/test-sourceslist-lang-plusminus-options @@ -0,0 +1,88 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +testlangs() { + msgtest 'Test acquired languages for' "$1" + local LANGS="$2" + shift 2 + rm -f gotlangs.list + aptget indextargets --no-release-info 'Identifier: Translations' "$@" --format '$(LANGUAGE)' | sort -u > gotlangs.list + if [ -z "$LANGS" ]; then + echo -n | tr ',' '\n' | sort | checkdiff - gotlangs.list && msgpass || msgfail + else + echo -n "$LANGS" | tr ',' '\n' | sort | checkdiff - gotlangs.list && msgpass || msgfail + fi +} +echo 'deb http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testlangs 'default' 'en' + +echo 'Acquire::Languages "environment,en";' > rootdir/etc/apt/apt.conf.d/langs.conf +testlangs 'default config' 'en' + +echo 'Acquire::Languages "en,en,en";' > rootdir/etc/apt/apt.conf.d/langs.conf +testlangs 'duplicated config' 'en' + +echo 'Acquire::Languages "none";' > rootdir/etc/apt/apt.conf.d/langs.conf +testlangs 'none config' '' + +echo 'Acquire::Languages "en,none,de,de_DE";' > rootdir/etc/apt/apt.conf.d/langs.conf +testlangs 'english + german config' 'en,de,de_DE' + +echo 'deb [lang=pt] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testlangs 'lang=pt' 'pt' + +echo 'deb [lang=en] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testlangs 'lang=en' 'en' + +echo 'deb [lang=de_DE] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testlangs 'lang=de_DE' 'de_DE' + +echo 'deb [lang=none] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testlangs 'lang=none' '' +testequal 'amd64 +all' aptget indextargets --no-release-info 'Identifier: Packages' --format '$(ARCHITECTURE)' + +echo 'deb [lang+=pt] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testlangs 'lang+=pt' 'en,de,de_DE,pt' + +echo 'deb [lang+=en] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testlangs 'lang+=en' 'en,de,de_DE' + +echo 'deb [lang+=de_DE] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testlangs 'lang+=de_DE' 'en,de,de_DE' + +echo 'deb [lang-=pt] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testlangs 'lang-=pt' 'en,de,de_DE' + +echo 'deb [lang-=en] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testlangs 'lang-=en' 'de,de_DE' + +echo 'deb [lang-=de_DE] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testlangs 'lang-=de_DE' 'en,de' + +echo 'deb http://example.org/debian stable rocks +deb http://example.org/debian stable solid' > rootdir/etc/apt/sources.list +testlangs 'english + german config multicomponent' 'en,de,de_DE' + +echo 'deb http://example.org/debian stable rocks +deb [lang=pt] http://example.org/debian stable solid' > rootdir/etc/apt/sources.list +testlangs 'multicomponent one lang= combined' 'en,de,de_DE,pt' +testlangs 'multicomponent one lang= rocks' 'en,de,de_DE' 'Component: rocks' +testlangs 'multicomponent one lang= solid' 'pt' 'Component: solid' + +echo 'deb [lang=pt] http://example.org/debian stable rocks +deb [lang=de] http://example.org/debian stable solid' > rootdir/etc/apt/sources.list +testlangs 'multicomponent different lang= combined' 'de,pt' +testlangs 'multicomponent different lang= rocks' 'pt' 'Component: rocks' +testlangs 'multicomponent different lang= solid' 'de' 'Component: solid' + +echo 'deb [lang+=pt] http://example.org/debian stable rocks +deb [lang-=de] http://example.org/debian stable solid' > rootdir/etc/apt/sources.list +testlangs 'multicomponent different lang+-= combined' 'en,de,de_DE,pt' +testlangs 'multicomponent different lang+-= rocks' 'en,de,de_DE,pt' 'Component: rocks' +testlangs 'multicomponent different lang+-= solid' 'en,de_DE' 'Component: solid' diff --git a/test/integration/test-sourceslist-target-plusminus-options b/test/integration/test-sourceslist-target-plusminus-options new file mode 100755 index 0000000..5c79af2 --- /dev/null +++ b/test/integration/test-sourceslist-target-plusminus-options @@ -0,0 +1,128 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +testtargets() { + msgtest 'Test acquired targets for' "$1" + shift + while [ -n "$1" ]; do + echo "$1" + shift + done | sort -u > expectedtargets.lst + aptget indextargets --no-release-info --format='$(CREATED_BY)' | sort -u > gottargets.lst + testfileequal --nomsg ./expectedtargets.lst "$(cat ./gottargets.lst)" +} + +echo 'deb http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'default' 'Packages' 'Translations' + +msgmsg 'Contents as a default target' +cat > rootdir/etc/apt/apt.conf.d/content-target.conf <<EOF +Acquire::IndexTargets::deb::Contents { + MetaKey "\$(COMPONENT)/Contents-\$(ARCHITECTURE)"; + ShortDescription "Contents"; + Description "\$(RELEASE)/\$(COMPONENT) \$(ARCHITECTURE) Contents"; +}; +Acquire::IndexTargets::deb::Contents2 { + MetaKey "Contents-\$(ARCHITECTURE)"; + ShortDescription "Contents2"; + Description "\$(RELEASE) \$(ARCHITECTURE) Contents2"; + Fallback-Of "Contents"; + Identifier "Contents"; +}; +EOF + +echo 'deb http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'default + Contents' 'Packages' 'Translations' 'Contents' 'Contents2' + +echo 'deb [target=Packages] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'force Packages target' 'Packages' + +echo 'deb [target=Contents] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'force Contents target' 'Contents' + +echo 'deb [target=Translations,Contents] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'force two targets' 'Contents' 'Translations' + +echo 'deb [target+=Translations,Contents] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'add existing' 'Packages' 'Contents' 'Translations' 'Contents2' + +echo 'deb [target+=AppStream] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'add non-existing' 'Packages' 'Contents' 'Translations' 'Contents2' + +echo 'deb [target-=Translations,Contents] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'remove existing' 'Packages' 'Contents2' + +echo 'deb [target-=AppStream] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'remove non-existing' 'Packages' 'Contents' 'Translations' 'Contents2' + +echo 'deb [AppStream=yes] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'activate non-existing' 'Packages' 'Contents' 'Translations' 'Contents2' + +echo 'deb [AppStream=no] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'deactivate non-existing' 'Packages' 'Contents' 'Translations' 'Contents2' + +echo 'deb [Contents=yes] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'activate existing' 'Packages' 'Contents' 'Contents2' 'Translations' + +echo 'deb [Contents=no] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'deactivate existing' 'Packages' 'Translations' + +echo 'deb [target=Packages Contents=yes] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'explicit + activate' 'Packages' 'Contents' 'Contents2' + +echo 'deb [Contents=yes,target+=Contents] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'duplications are okay' 'Packages' 'Translations' 'Contents' 'Contents2' + +msgmsg 'Contents NOT as a default target (but Contents2)' +echo 'Acquire::IndexTargets::deb::Contents::DefaultEnabled "no";' > rootdir/etc/apt/apt.conf.d/content-target-notdefault.conf + +echo 'deb http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'default + Contents' 'Packages' 'Translations' 'Contents2' + +echo 'deb [target=Packages] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'force Packages target' 'Packages' + +echo 'deb [target=Contents] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'force Contents target' 'Contents' + +echo 'deb [target=Translations,Contents] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'force two targets' 'Contents' 'Translations' + +echo 'deb [target+=Translations,Contents] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'add existing' 'Packages' 'Contents' 'Translations' 'Contents2' + +echo 'deb [target+=AppStream] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'add non-existing' 'Packages' 'Translations' 'Contents2' + +echo 'deb [target-=Translations,Contents] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'remove existing' 'Packages' 'Contents2' + +echo 'deb [target-=AppStream] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'remove non-existing' 'Packages' 'Translations' 'Contents2' + +echo 'deb [AppStream=yes] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'activate non-existing' 'Packages' 'Translations' 'Contents2' + +echo 'deb [AppStream=no] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'deactivate non-existing' 'Packages' 'Translations' 'Contents2' + +echo 'deb [Contents=yes] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'activate existing' 'Packages' 'Contents' 'Contents2' 'Translations' + +echo 'deb [Contents=no] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'deactivate existing' 'Packages' 'Translations' + +echo 'deb [target=Packages Contents=yes] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'explicit + activate' 'Packages' 'Contents' 'Contents2' + +echo 'deb [Contents=yes,target+=Contents] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'duplications are okay' 'Packages' 'Translations' 'Contents' 'Contents2' + +# we can't check if it really reorders here +echo 'deb [target+=Contents2,Contents] http://example.org/debian stable rocks' > rootdir/etc/apt/sources.list +testtargets 'reordered fallback order' 'Packages' 'Translations' 'Contents' 'Contents2' diff --git a/test/integration/test-sourceslist-trusted-options b/test/integration/test-sourceslist-trusted-options new file mode 100755 index 0000000..1eee3b0 --- /dev/null +++ b/test/integration/test-sourceslist-trusted-options @@ -0,0 +1,218 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'amd64' + +buildsimplenativepackage 'foo' 'amd64' '1' 'stable' +buildsimplenativepackage 'foo' 'amd64' '2' 'testing' + +setupaptarchive --no-update + +APTARCHIVE=$(readlink -f ./aptarchive) + +everythingsucceeds() { + testsuccessequal 'Listing... +foo/testing 2 amd64 +foo/stable 1 amd64 +' apt list foo -a + + cd downloaded + rm -f foo_1_amd64.deb foo_2_amd64.deb + testsuccess aptget download foo "$@" + testsuccess test -s foo_1_amd64.deb -o -s foo_2_amd64.deb + + rm -f foo_1.dsc foo_2.dsc + testsuccess aptget source foo --dsc-only "$@" + testsuccess test -s foo_1.dsc -o -s foo_2.dsc + cd - >/dev/null +} + +everythingfails() { + testsuccessequal 'Listing... +foo/testing 2 amd64 +foo/stable 1 amd64 +' apt list foo -a + + local WARNING='WARNING: The following packages cannot be authenticated! + foo +E: Some packages could not be authenticated' + + cd downloaded + rm -f foo_1_amd64.deb foo_2_amd64.deb + testfailure aptget download foo "$@" + testequal "$WARNING" tail -n 3 ../rootdir/tmp/testfailure.output + testfailure test -s foo_1_amd64.deb -o -s foo_2_amd64.deb + + rm -f foo_1.dsc foo_2.dsc + testfailure aptget source foo --dsc-only "$@" + testequal "$WARNING" tail -n 3 ../rootdir/tmp/testfailure.output + testfailure test -s foo_1.dsc -o -s foo_2.dsc + cd - >/dev/null +} + +cp -a rootdir/etc/apt/sources.list.d/ rootdir/etc/apt/sources.list.d.bak/ +echo 'Debug::Acquire::Transaction "true"; +Debug::pkgAcquire::Worker "true";' > rootdir/etc/apt/apt.conf.d/00debugging + +aptgetupdate() { + rm -rf rootdir/var/lib/apt/lists + # note that insecure with trusted=yes are allowed + # as the trusted=yes indicates that security is provided by + # something above the understanding of apt + ${1:-testsuccess} aptget update --no-allow-insecure-repositories +} + +insecureaptgetupdate() { + rm -rf rootdir/var/lib/apt/lists + testfailure aptget update --no-allow-insecure-repositories + rm -rf rootdir/var/lib/apt/lists + testwarning aptget update --allow-insecure-repositories +} + +msgmsg 'Test without trusted option and good sources' +cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/ +aptgetupdate +everythingsucceeds +everythingsucceeds -t stable +everythingsucceeds -t testing + +msgmsg 'Test with trusted=yes option and good sources' +cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/ +sed -i 's#^deb\(-src\)\? #deb\1 [trusted=yes] #' rootdir/etc/apt/sources.list.d/* +aptgetupdate +everythingsucceeds +everythingsucceeds -t stable +everythingsucceeds -t testing + +msgmsg 'Test with trusted=no option and good sources' +cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/ +sed -i 's#^deb\(-src\)\? #deb\1 [trusted=no] #' rootdir/etc/apt/sources.list.d/* +# we want the warnings on the actions, but for 'update' everything is fine +aptgetupdate +everythingfails +everythingfails -t stable +everythingfails -t testing + +find aptarchive/dists/stable \( -name 'InRelease' -o -name 'Release.gpg' \) -delete + +msgmsg 'Test without trusted option and good and unsigned sources' +cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/ +insecureaptgetupdate +everythingsucceeds +everythingfails -t stable +everythingsucceeds -t testing + +msgmsg 'Test with trusted=yes option and good and unsigned sources' +cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/ +sed -i 's#^deb\(-src\)\? #deb\1 [trusted=yes] #' rootdir/etc/apt/sources.list.d/* +aptgetupdate +everythingsucceeds +everythingsucceeds -t stable +everythingsucceeds -t testing + +msgmsg 'Test with trusted=no option and good and unsigned sources' +cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/ +sed -i 's#^deb\(-src\)\? #deb\1 [trusted=no] #' rootdir/etc/apt/sources.list.d/* +insecureaptgetupdate +everythingfails +everythingfails -t stable +everythingfails -t testing + +signreleasefiles 'Marvin Paranoid' 'aptarchive/dists/stable' + +msgmsg 'Test without trusted option and good and unknown sources' +cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/ +insecureaptgetupdate +everythingsucceeds +everythingfails -t stable +everythingsucceeds -t testing + +msgmsg 'Test with trusted=yes option and good and unknown sources' +cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/ +sed -i 's#^deb\(-src\)\? #deb\1 [trusted=yes] #' rootdir/etc/apt/sources.list.d/* +aptgetupdate 'testwarning' +everythingsucceeds +everythingsucceeds -t stable +everythingsucceeds -t testing + +msgmsg 'Test with trusted=no option and good and unknown sources' +cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/ +sed -i 's#^deb\(-src\)\? #deb\1 [trusted=no] #' rootdir/etc/apt/sources.list.d/* +insecureaptgetupdate +everythingfails +everythingfails -t stable +everythingfails -t testing + +signreleasefiles 'Rex Expired' 'aptarchive/dists/stable' +cp -a keys/rexexpired.pub rootdir/etc/apt/trusted.gpg.d/rexexpired.gpg + +msgmsg 'Test without trusted option and good and expired sources' +cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/ +insecureaptgetupdate +everythingsucceeds +everythingfails -t stable +everythingsucceeds -t testing + +msgmsg 'Test with trusted=yes option and good and expired sources' +cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/ +sed -i 's#^deb\(-src\)\? #deb\1 [trusted=yes] #' rootdir/etc/apt/sources.list.d/* +aptgetupdate 'testwarning' +everythingsucceeds +everythingsucceeds -t stable +everythingsucceeds -t testing + +msgmsg 'Test with trusted=no option and good and expired sources' +cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/ +sed -i 's#^deb\(-src\)\? #deb\1 [trusted=no] #' rootdir/etc/apt/sources.list.d/* +insecureaptgetupdate +everythingfails +everythingfails -t stable +everythingfails -t testing + +# same as the one further above, but this time testing is unsigned +find aptarchive/ \( -name 'InRelease' -o -name 'Release.gpg' \) -delete +signreleasefiles 'Joe Sixpack' 'aptarchive/dists/stable' + +msgmsg 'Test without trusted option and unsigned and good sources' +cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/ +insecureaptgetupdate +everythingfails +everythingsucceeds -t stable +everythingfails -t testing + +msgmsg 'Test with trusted=yes option and unsigned and good sources' +cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/ +sed -i 's#^deb\(-src\)\? #deb\1 [trusted=yes] #' rootdir/etc/apt/sources.list.d/* +aptgetupdate +everythingsucceeds +everythingsucceeds -t stable +everythingsucceeds -t testing + +msgmsg 'Test with trusted=no option and unsigned and good sources' +cp -a rootdir/etc/apt/sources.list.d.bak/* rootdir/etc/apt/sources.list.d/ +sed -i 's#^deb\(-src\)\? #deb\1 [trusted=no] #' rootdir/etc/apt/sources.list.d/* +insecureaptgetupdate +everythingfails +everythingfails -t stable +everythingfails -t testing + +msgmsg 'Test conflicting trusted options are refused' +testsource() { + echo "$@" > rootdir/etc/apt/sources.list.d/example.list + testfailuremsg 'E: Conflicting values set for option Trusted regarding source http://example.org/bad/ unstable +E: The list of sources could not be read.' aptget update --print-uris +} +for VAL in 'yes' 'no'; do + testsource "deb http://example.org/bad unstable main +deb [trusted=${VAL}] http://example.org/bad unstable non-free" + testsource "deb [trusted=${VAL}] http://example.org/bad unstable main +deb http://example.org/bad unstable non-free" +done +testsource 'deb [trusted=yes] http://example.org/bad unstable main +deb [trusted=no] http://example.org/bad unstable non-free' +testsource 'deb [trusted=no] http://example.org/bad unstable main +deb [trusted=yes] http://example.org/bad unstable non-free' diff --git a/test/integration/test-specific-architecture-dependencies b/test/integration/test-specific-architecture-dependencies new file mode 100755 index 0000000..447e407 --- /dev/null +++ b/test/integration/test-specific-architecture-dependencies @@ -0,0 +1,324 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' + +insertpackage 'unstable' 'libc6' 'amd64,i386' '1' 'Multi-Arch: same' +insertinstalledpackage 'libold' 'amd64,i386' '1' 'Multi-Arch: same' +insertinstalledpackage 'provider' 'amd64' '1' 'Provides: foo' + +insertpackage 'unstable' 'pre-depender' 'all' '1' 'Pre-Depends: libc6:i386' +insertpackage 'unstable' 'depender' 'all' '1' 'Depends: libc6:i386' +insertpackage 'unstable' 'depender-x32' 'i386,amd64' '1' 'Depends: libc6:i386' +insertpackage 'unstable' 'depender-x64' 'i386,amd64' '1' 'Depends: libc6:amd64' + +insertpackage 'unstable' 'breaker' 'all' '1' 'Breaks: libold (<< 2)' +insertpackage 'unstable' 'breaker-x32' 'i386,amd64' '1' 'Breaks: libold:i386 (<< 2)' +insertpackage 'unstable' 'breaker-x64' 'i386,amd64' '1' 'Breaks: libold:amd64 (<< 2)' +# conflicts with no effect +insertpackage 'unstable' 'oldconflictor' 'all' '1' 'Conflicts: libold (<< 0)' +insertpackage 'unstable' 'oldconflictor-x32' 'amd64' '1' 'Conflicts: libold:i386 (<< 0)' +insertpackage 'unstable' 'oldconflictor-x64' 'i386' '1' 'Conflicts: libold:amd64 (<< 0)' + +insertpackage 'unstable' 'foo-depender' 'i386,amd64' '1' 'Depends: foo' +insertpackage 'unstable' 'foo-native-depender' 'amd64' '1' 'Depends: foo:amd64' +insertpackage 'unstable' 'foo-foreign-depender' 'i386' '1' 'Depends: foo:amd64' + +insertpackage 'unstable' 'foo-conflictor' 'i386,amd64' '1' 'Conflicts: foo' +insertpackage 'unstable' 'foo-foreign-conflictor' 'i386' '1' 'Conflicts: foo:amd64' +insertpackage 'unstable' 'foo-no-conflictor' 'i386' '1' 'Conflicts: foo:i386' + +setupaptarchive + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + libc6:i386 +The following NEW packages will be installed: + libc6:i386 pre-depender +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst libc6:i386 (1 unstable [i386]) +Conf libc6:i386 (1 unstable [i386]) +Inst pre-depender (1 unstable [all]) +Conf pre-depender (1 unstable [all])' aptget install pre-depender -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + libc6:i386 +The following NEW packages will be installed: + depender libc6:i386 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst libc6:i386 (1 unstable [i386]) +Inst depender (1 unstable [all]) +Conf libc6:i386 (1 unstable [i386]) +Conf depender (1 unstable [all])' aptget install depender -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + libc6:i386 +The following NEW packages will be installed: + depender-x32:i386 libc6:i386 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst libc6:i386 (1 unstable [i386]) +Inst depender-x32:i386 (1 unstable [i386]) +Conf libc6:i386 (1 unstable [i386]) +Conf depender-x32:i386 (1 unstable [i386])' aptget install depender-x32:i386 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + libc6:i386 +The following NEW packages will be installed: + depender-x32 libc6:i386 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst libc6:i386 (1 unstable [i386]) +Inst depender-x32 (1 unstable [amd64]) +Conf libc6:i386 (1 unstable [i386]) +Conf depender-x32 (1 unstable [amd64])' aptget install depender-x32:amd64 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + libc6 +The following NEW packages will be installed: + depender-x64 libc6 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst libc6 (1 unstable [amd64]) +Inst depender-x64 (1 unstable [amd64]) +Conf libc6 (1 unstable [amd64]) +Conf depender-x64 (1 unstable [amd64])' aptget install depender-x64:amd64 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + libc6 +The following NEW packages will be installed: + depender-x64:i386 libc6 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst libc6 (1 unstable [amd64]) +Inst depender-x64:i386 (1 unstable [i386]) +Conf libc6 (1 unstable [amd64]) +Conf depender-x64:i386 (1 unstable [i386])' aptget install depender-x64:i386 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + libold:i386 libold +The following NEW packages will be installed: + breaker +0 upgraded, 1 newly installed, 2 to remove and 0 not upgraded. +Remv libold:i386 [1] +Remv libold [1] +Inst breaker (1 unstable [all]) +Conf breaker (1 unstable [all])' aptget install breaker -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + libold:i386 +The following NEW packages will be installed: + breaker-x32 +0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Remv libold:i386 [1] +Inst breaker-x32 (1 unstable [amd64]) +Conf breaker-x32 (1 unstable [amd64])' aptget install breaker-x32:amd64 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + libold:i386 +The following NEW packages will be installed: + breaker-x32:i386 +0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Remv libold:i386 [1] +Inst breaker-x32:i386 (1 unstable [i386]) +Conf breaker-x32:i386 (1 unstable [i386])' aptget install breaker-x32:i386 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + libold +The following NEW packages will be installed: + breaker-x64 +0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Remv libold [1] +Inst breaker-x64 (1 unstable [amd64]) +Conf breaker-x64 (1 unstable [amd64])' aptget install breaker-x64:amd64 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + libold +The following NEW packages will be installed: + breaker-x64:i386 +0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Remv libold [1] +Inst breaker-x64:i386 (1 unstable [i386]) +Conf breaker-x64:i386 (1 unstable [i386])' aptget install breaker-x64:i386 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + oldconflictor +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst oldconflictor (1 unstable [all]) +Conf oldconflictor (1 unstable [all])' aptget install oldconflictor -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + oldconflictor-x32 +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst oldconflictor-x32 (1 unstable [amd64]) +Conf oldconflictor-x32 (1 unstable [amd64])' aptget install oldconflictor-x32 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + oldconflictor-x64:i386 +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst oldconflictor-x64:i386 (1 unstable [i386]) +Conf oldconflictor-x64:i386 (1 unstable [i386])' aptget install oldconflictor-x64 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + foo-depender +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst foo-depender (1 unstable [amd64]) +Conf foo-depender (1 unstable [amd64])' aptget install foo-depender -s + +testfailureequal 'Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + foo-depender:i386 : Depends: foo:i386 but it is not installable +E: Unable to correct problems, you have held broken packages.' aptget install foo-depender:i386 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + foo-native-depender +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst foo-native-depender (1 unstable [amd64]) +Conf foo-native-depender (1 unstable [amd64])' aptget install foo-native-depender -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + foo-foreign-depender:i386 +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst foo-foreign-depender:i386 (1 unstable [i386]) +Conf foo-foreign-depender:i386 (1 unstable [i386])' aptget install foo-foreign-depender:i386 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + provider +The following NEW packages will be installed: + foo-conflictor +0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Remv provider [1] +Inst foo-conflictor (1 unstable [amd64]) +Conf foo-conflictor (1 unstable [amd64])' aptget install foo-conflictor -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + provider +The following NEW packages will be installed: + foo-conflictor:i386 +0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Remv provider [1] +Inst foo-conflictor:i386 (1 unstable [i386]) +Conf foo-conflictor:i386 (1 unstable [i386])' aptget install foo-conflictor:i386 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + provider +The following NEW packages will be installed: + foo-foreign-conflictor:i386 +0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Remv provider [1] +Inst foo-foreign-conflictor:i386 (1 unstable [i386]) +Conf foo-foreign-conflictor:i386 (1 unstable [i386])' aptget install foo-foreign-conflictor:i386 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + foo-no-conflictor:i386 +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst foo-no-conflictor:i386 (1 unstable [i386]) +Conf foo-no-conflictor:i386 (1 unstable [i386])' aptget install foo-no-conflictor:i386 -s + +msgmsg 'switch to single architecture' +configarchitecture 'amd64' + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + libc6 +The following NEW packages will be installed: + depender-x64 libc6 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst libc6 (1 unstable [amd64]) +Inst depender-x64 (1 unstable [amd64]) +Conf libc6 (1 unstable [amd64]) +Conf depender-x64 (1 unstable [amd64])' aptget install depender-x64 -s + +testfailureequal 'Reading package lists... +Building dependency tree... +E: Unable to locate package depender-x64:i386' aptget install depender-x64:i386 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + foo-native-depender +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst foo-native-depender (1 unstable [amd64]) +Conf foo-native-depender (1 unstable [amd64])' aptget install foo-native-depender -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + libold:i386 +The following NEW packages will be installed: + breaker-x32 +0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Remv libold:i386 [1] +Inst breaker-x32 (1 unstable [amd64]) +Conf breaker-x32 (1 unstable [amd64])' aptget install breaker-x32:amd64 -s + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + libold +The following NEW packages will be installed: + breaker-x64 +0 upgraded, 1 newly installed, 1 to remove and 0 not upgraded. +Remv libold [1] +Inst breaker-x64 (1 unstable [amd64]) +Conf breaker-x64 (1 unstable [amd64])' aptget install breaker-x64:amd64 -s + +testfailureequal 'Reading package lists... +Building dependency tree... +Some packages could not be installed. This may mean that you have +requested an impossible situation or if you are using the unstable +distribution that some required packages have not yet been created +or been moved out of Incoming. +The following information may help to resolve the situation: + +The following packages have unmet dependencies: + depender-x32 : Depends: libc6:i386 but it is not installable +E: Unable to correct problems, you have held broken packages.' aptget install depender-x32 -s diff --git a/test/integration/test-srcrecord b/test/integration/test-srcrecord new file mode 100755 index 0000000..34de2be --- /dev/null +++ b/test/integration/test-srcrecord @@ -0,0 +1,35 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'native' + +cat > aptarchive/Sources <<EOF +Package: space-before-comma +Binary: space-before-comma1 , space-before-comma2 +Version: 1.0 +Maintainer: Joe Sixpack <joe@example.org> +Architecture: all + +Package: broken-field +Binary:, broken-field2 +Version: 1.0 +Maintainer: Joe Sixpack <joe@example.org> +Architecture: all + +Package: broken-field-b +Binary: , broken-field-b2 +Version: 1.0 +Maintainer: Joe Sixpack <joe@example.org> +Architecture: all +EOF + +setupaptarchive --no-update + +testsuccess aptget update +testsuccess aptcache showsrc space-before-comma1 +testsuccess aptcache showsrc broken-field2 +testsuccess aptcache showsrc broken-field-b2 diff --git a/test/integration/test-suggest-installed-multiarch-silbing b/test/integration/test-suggest-installed-multiarch-silbing new file mode 100755 index 0000000..4918217 --- /dev/null +++ b/test/integration/test-suggest-installed-multiarch-silbing @@ -0,0 +1,79 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' 'armel' + +insertinstalledpackage 'foo' 'i386' '1' +insertpackage 'unstable' 'foo' 'amd64,i386' '1' + +insertpackage 'unstable,installed' 'foo2' 'i386' '1' + +insertinstalledpackage 'foo3' 'amd64' '1' +insertpackage 'unstable' 'foo3' 'amd64,i386' '1' + +insertinstalledpackage 'samefoo' 'i386,amd64' '1' 'Multi-Arch: same' +insertpackage 'unstable' 'samefoo' 'amd64,i386,armel' '1' 'Multi-Arch: same' + +insertinstalledpackage 'samefoo2' 'i386' '1' 'Multi-Arch: same' +insertpackage 'unstable' 'samefoo2' 'amd64,i386,armel' '1' 'Multi-Arch: same' + +insertinstalledpackage 'mozplugger' 'i386' '1' 'Depends: iceweasel | fireweasel' +insertinstalledpackage 'fireweasel' 'i386' '1' +insertpackage 'unstable' 'mozplugger' 'i386,amd64' '1' 'Depends: iceweasel | fireweasel' + +setupaptarchive + +testsuccessequal "Reading package lists... +Building dependency tree... +Package 'foo' is not installed, so not removed. Did you mean 'foo:i386'? +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded." aptget remove foo -s + +testsuccessequal "Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + foo2:i386 +0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. +Remv foo2:i386 [1]" aptget remove foo2 -s + +testsuccessequal "Reading package lists... +Building dependency tree... +The following packages will be REMOVED: + foo3 +0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. +Remv foo3 [1]" aptget remove foo3 -s + +testsuccessequal "Reading package lists... +Building dependency tree... +Package 'foo3:i386' is not installed, so not removed. Did you mean 'foo3'? +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded." aptget remove foo3:i386 -s + +testequalor2 "Reading package lists... +Building dependency tree... +Package 'samefoo:armel' is not installed, so not removed. Did you mean 'samefoo'? +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded." "Reading package lists... +Building dependency tree... +Package 'samefoo:armel' is not installed, so not removed. Did you mean 'samefoo:i386'? +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded." aptget remove samefoo:armel -s + +testsuccessequal "Reading package lists... +Building dependency tree... +Package 'samefoo2' is not installed, so not removed. Did you mean 'samefoo2:i386'? +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded." aptget remove samefoo2 -s + +testsuccessequal "Reading package lists... +Building dependency tree... +Package 'samefoo2:armel' is not installed, so not removed. Did you mean 'samefoo2:i386'? +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded." aptget remove samefoo2:armel -s + +testsuccessequal "Reading package lists... +Building dependency tree... +Package 'iceweasel' is not installed, so not removed +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded." aptget remove iceweasel -s + +testsuccessequal "Reading package lists... +Building dependency tree... +Package 'fireweasel' is not installed, so not removed. Did you mean 'fireweasel:i386'? +0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded." aptget remove fireweasel:amd64 -s diff --git a/test/integration/test-ubuntu-bug-1078697-missing-source-hashes b/test/integration/test-ubuntu-bug-1078697-missing-source-hashes new file mode 100755 index 0000000..0b9103f --- /dev/null +++ b/test/integration/test-ubuntu-bug-1078697-missing-source-hashes @@ -0,0 +1,38 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "i386" +confighashes 'MD5' 'SHA1' 'SHA256' 'SHA512' + +msgtest 'Test apt-ftparchive source with missing hashes in .dsc' + +touch aptarchive/foo_1.0.tar.gz +cat > aptarchive/foo_1.0.dsc << EOF +Format: 3.0 (native) +Source: foo +Binary: foo +Architecture: all +Version: 1.0 +Package-List: + foo deb admin extra +Files: + d41d8cd98f00b204e9800998ecf8427e 0 foo_1.0.tar.gz +EOF + +# check for the SHA hashes +testsuccess aptftparchive sources aptarchive/ +cp rootdir/tmp/testsuccess.output aptarchive/Sources +testsuccess grep Checksums-Sha512 aptarchive/Sources + +for hash in sha512sum sha256sum sha1sum; do + for f in foo_1.0.tar.gz foo_1.0.dsc; do + SUM=$($hash aptarchive/$f | cut -d' ' -f1) + NEEDLE="$SUM $(stat -c%s aptarchive/$f) $f" + testsuccess test -n "$SUM" + msgtest "Test $hash hash matches for $f" + testsuccess --nomsg grep "$NEEDLE" aptarchive/Sources + done +done diff --git a/test/integration/test-ubuntu-bug-1098738-apt-get-source-md5sum b/test/integration/test-ubuntu-bug-1098738-apt-get-source-md5sum new file mode 100755 index 0000000..6a66094 --- /dev/null +++ b/test/integration/test-ubuntu-bug-1098738-apt-get-source-md5sum @@ -0,0 +1,444 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'native' + +cat > aptarchive/Sources <<EOF +Package: pkg-md5-ok +Binary: pkg-md5-ok +Version: 1.0 +Maintainer: Joe Sixpack <joe@example.org> +Architecture: all +Files: + 9604ba9427a280db542279d9ed78400b 3 pkg-md5-ok_1.0.dsc + db5570bf61464b46e2bde31ed61a7dc6 3 pkg-md5-ok_1.0.tar.gz + +Package: pkg-sha1-ok +Binary: pkg-sha1-ok +Version: 1.0 +Maintainer: Joe Sixpack <joe@example.org> +Architecture: all +Files: + 324f464e6151a92cf57b26ef95dcfcf2059a8c44 3 pkg-sha1-ok_1.0.dsc + 680254bad1d7ca0d65ec46aaa315d363abf6a50a 3 pkg-sha1-ok_1.0.tar.gz + +Package: pkg-sha256-ok +Binary: pkg-sha256-ok +Version: 1.0 +Maintainer: Joe Sixpack <joe@example.org> +Architecture: all +Files: + 9604ba9427a280db542279d9ed78400b 3 pkg-sha256-ok_1.0.dsc + db5570bf61464b46e2bde31ed61a7dc6 3 pkg-sha256-ok_1.0.tar.gz +Checksums-Sha1: + 324f464e6151a92cf57b26ef95dcfcf2059a8c44 3 pkg-sha256-ok_1.0.dsc + 680254bad1d7ca0d65ec46aaa315d363abf6a50a 3 pkg-sha256-ok_1.0.tar.gz +Checksums-Sha256: + 943d3bf22ac661fb0f59bc4ff68cc12b04ff17a838dfcc2537008eb9c7f3770a 3 pkg-sha256-ok_1.0.dsc + 90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb 3 pkg-sha256-ok_1.0.tar.gz + +Package: pkg-size-bad +Binary: pkg-size-bad +Version: 1.0 +Maintainer: Joe Sixpack <joe@example.org> +Architecture: all +Checksums-Sha256: + 943d3bf22ac661fb0f59bc4ff68cc12b04ff17a838dfcc2537008eb9c7f3770a 2 pkg-size-bad_1.0.dsc + 90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb 4 pkg-size-bad_1.0.tar.gz + +Package: pkg-sha256-bad +Binary: pkg-sha256-bad +Version: 1.0 +Maintainer: Joe Sixpack <joe@example.org> +Architecture: all +Files: + 9604ba9427a280db542279d9ed78400b 3 pkg-sha256-bad_1.0.dsc + db5570bf61464b46e2bde31ed61a7dc6 3 pkg-sha256-bad_1.0.tar.gz +Checksums-Sha1: + 324f464e6151a92cf57b26ef95dcfcf2059a8c44 3 pkg-sha256-bad_1.0.dsc + 680254bad1d7ca0d65ec46aaa315d363abf6a50a 3 pkg-sha256-bad_1.0.tar.gz +Checksums-Sha256: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 3 pkg-sha256-bad_1.0.dsc + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 3 pkg-sha256-bad_1.0.tar.gz + +Package: pkg-md5-bad +Binary: pkg-md5-bad +Version: 1.0 +Maintainer: Joe Sixpack <joe@example.org> +Architecture: all +Files: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 3 pkg-md5-bad_1.0.dsc + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 3 pkg-md5-bad_1.0.tar.gz + +Package: pkg-no-md5 +Binary: pkg-no-md5 +Version: 1.0 +Maintainer: Joe Sixpack <joe@example.org> +Architecture: all +Checksums-Sha1: + 324f464e6151a92cf57b26ef95dcfcf2059a8c44 3 pkg-no-md5_1.0.dsc + 680254bad1d7ca0d65ec46aaa315d363abf6a50a 3 pkg-no-md5_1.0.tar.gz +Checksums-Sha256: + 943d3bf22ac661fb0f59bc4ff68cc12b04ff17a838dfcc2537008eb9c7f3770a 3 pkg-no-md5_1.0.dsc + 90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb 3 pkg-no-md5_1.0.tar.gz + +Package: pkg-mixed-ok +Binary: pkg-mixed-ok +Version: 1.0 +Maintainer: Joe Sixpack <joe@example.org> +Architecture: all +Checksums-Sha1: + 680254bad1d7ca0d65ec46aaa315d363abf6a50a 3 pkg-mixed-ok_1.0.tar.gz +Checksums-Sha256: + 943d3bf22ac661fb0f59bc4ff68cc12b04ff17a838dfcc2537008eb9c7f3770a 3 pkg-mixed-ok_1.0.dsc + +Package: pkg-mixed-sha1-bad +Binary: pkg-mixed-sha1-bad +Version: 1.0 +Maintainer: Joe Sixpack <joe@example.org> +Architecture: all +Checksums-Sha1: + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 3 pkg-mixed-sha1-bad_1.0.dsc +Checksums-Sha256: + 90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb 3 pkg-mixed-sha1-bad_1.0.tar.gz + +Package: pkg-mixed-sha2-bad +Binary: pkg-mixed-sha2-bad +Version: 1.0 +Maintainer: Joe Sixpack <joe@example.org> +Architecture: all +Checksums-Sha1: + 324f464e6151a92cf57b26ef95dcfcf2059a8c44 3 pkg-mixed-sha2-bad_1.0.dsc +Checksums-Sha256: + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 3 pkg-mixed-sha2-bad_1.0.tar.gz + +Package: pkg-md5-disagree +Binary: pkg-md5-disagree +Version: 1.0 +Maintainer: Joe Sixpack <joe@example.org> +Architecture: all +Files: + 9604ba9427a280db542279d9ed78400b 3 pkg-md5-disagree_1.0.dsc + db5570bf61464b46e2bde31ed61a7dc6 3 pkg-md5-disagree_1.0.tar.gz + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 3 pkg-md5-disagree_1.0.dsc + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 3 pkg-md5-disagree_1.0.tar.gz + +Package: pkg-md5-agree +Binary: pkg-md5-agree +Version: 1.0 +Maintainer: Joe Sixpack <joe@example.org> +Architecture: all +Files: + 9604ba9427a280db542279d9ed78400b 3 pkg-md5-agree_1.0.dsc + db5570bf61464b46e2bde31ed61a7dc6 3 pkg-md5-agree_1.0.tar.gz + db5570bf61464b46e2bde31ed61a7dc6 3 pkg-md5-agree_1.0.tar.gz + 9604ba9427a280db542279d9ed78400b 3 pkg-md5-agree_1.0.dsc + +Package: pkg-sha256-disagree +Binary: pkg-sha256-disagree +Version: 1.0 +Maintainer: Joe Sixpack <joe@example.org> +Architecture: all +Files: + 9604ba9427a280db542279d9ed78400b 3 pkg-sha256-disagree_1.0.dsc + db5570bf61464b46e2bde31ed61a7dc6 3 pkg-sha256-disagree_1.0.tar.gz +Checksums-Sha1: + 324f464e6151a92cf57b26ef95dcfcf2059a8c44 3 pkg-sha256-disagree_1.0.dsc + 680254bad1d7ca0d65ec46aaa315d363abf6a50a 3 pkg-sha256-disagree_1.0.tar.gz +Checksums-Sha256: + 943d3bf22ac661fb0f59bc4ff68cc12b04ff17a838dfcc2537008eb9c7f3770a 3 pkg-sha256-disagree_1.0.dsc + 90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb 3 pkg-sha256-disagree_1.0.tar.gz + aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa 3 pkg-sha256-disagree_1.0.dsc + bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb 3 pkg-sha256-disagree_1.0.tar.gz +EOF + +# create fetchable files +for x in 'pkg-md5-ok' 'pkg-sha1-ok' 'pkg-sha256-ok' 'pkg-sha256-bad' 'pkg-no-md5' \ + 'pkg-mixed-ok' 'pkg-mixed-sha1-bad' 'pkg-mixed-sha2-bad' \ + 'pkg-md5-agree' 'pkg-md5-disagree' 'pkg-sha256-disagree' \ + 'pkg-md5-bad' 'pkg-size-bad'; do + echo -n 'dsc' > aptarchive/${x}_1.0.dsc + echo -n 'tar' > aptarchive/${x}_1.0.tar.gz +done + +setupaptarchive --no-update +changetowebserver +testsuccess aptget update + +cd downloaded + +testok() { + rm -f ${1}_1.0.dsc ${1}_1.0.tar.gz + testsuccessequal "Reading package lists... +Need to get 6 B of source archives. +Get:1 http://localhost:${APTHTTPPORT} $1 1.0 (dsc) [3 B] +Get:2 http://localhost:${APTHTTPPORT} $1 1.0 (tar) [3 B] +Download complete and in download only mode" aptget source -d "$@" + msgtest 'Files were successfully downloaded for' "$1" + testsuccess --nomsg test -e ${1}_1.0.dsc -a -e ${1}_1.0.tar.gz + rm -f ${1}_1.0.dsc ${1}_1.0.tar.gz +} + +testkeep() { + echo -n 'dsc' > ${1}_1.0.dsc + echo -n 'tar' > ${1}_1.0.tar.gz + testsuccessequal "Reading package lists... +Skipping already downloaded file '${1}_1.0.dsc' +Skipping already downloaded file '${1}_1.0.tar.gz' +Need to get 0 B of source archives. +Download complete and in download only mode" aptget source -d "$@" + msgtest 'Files already downloaded are kept for' "$1" + testsuccess --nomsg test -e ${1}_1.0.dsc -a -e ${1}_1.0.tar.gz + rm -f ${1}_1.0.dsc ${1}_1.0.tar.gz +} + +testnohash() { + #FIXME: Maybe we should fail in this case instead of skipping + rm -f ${1}_1.0.dsc ${1}_1.0.tar.gz + testsuccessequal "Reading package lists... +Skipping download of file '${1}_1.0.dsc' as requested hashsum is not available for authentication +Skipping download of file '${1}_1.0.tar.gz' as requested hashsum is not available for authentication +Need to get 0 B of source archives. +Download complete and in download only mode" aptget source -d "$@" + msgtest 'Files are not downloaded for' "$1" + testfailure --nomsg test -e ${1}_1.0.dsc -o -e ${1}_1.0.tar.gz +} + +testmismatch() { + rm -f ${1}_1.0.dsc ${1}_1.0.tar.gz + local FAILURE + if [ "$1" = 'pkg-size-bad' ]; then + FAILURE="Reading package lists... +Need to get 6 B of source archives. +Get:1 http://localhost:${APTHTTPPORT} $1 1.0 (dsc) [2 B] +Err:1 http://localhost:${APTHTTPPORT} $1 1.0 (dsc) + File has unexpected size (3 != 2). Mirror sync in progress? + Hashes of expected file: + - SHA256:943d3bf22ac661fb0f59bc4ff68cc12b04ff17a838dfcc2537008eb9c7f3770a + - Filesize:2 [weak] +Get:2 http://localhost:${APTHTTPPORT} $1 1.0 (tar) [4 B] +Err:2 http://localhost:${APTHTTPPORT} $1 1.0 (tar) + File has unexpected size (3 != 4). Mirror sync in progress? + Hashes of expected file: + - SHA256:90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb + - Filesize:4 [weak] +E: Failed to fetch http://localhost:${APTHTTPPORT}/${1}_1.0.dsc File has unexpected size (3 != 2). Mirror sync in progress? + Hashes of expected file: + - SHA256:943d3bf22ac661fb0f59bc4ff68cc12b04ff17a838dfcc2537008eb9c7f3770a + - Filesize:2 [weak] +E: Failed to fetch http://localhost:${APTHTTPPORT}/${1}_1.0.tar.gz File has unexpected size (3 != 4). Mirror sync in progress? + Hashes of expected file: + - SHA256:90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb + - Filesize:4 [weak] +E: Failed to fetch some archives." + elif [ "$1" = 'pkg-md5-bad' ]; then + FAILURE="Reading package lists... +Need to get 6 B of source archives. +Get:1 http://localhost:${APTHTTPPORT} $1 1.0 (dsc) [3 B] +Err:1 http://localhost:${APTHTTPPORT} $1 1.0 (dsc) + Hash Sum mismatch + Hashes of expected file: + - MD5Sum:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa [weak] + - Filesize:3 [weak] + Hashes of received file: + - SHA512:e52b7bb395ea3f46974f1f65b7c5975839aad32d4e2ec0f458f735d5aa24d2bf36d7816ed1e01dc3c493e11879e9a8f66dfca42821608cfe993996929a6be18a + - SHA256:943d3bf22ac661fb0f59bc4ff68cc12b04ff17a838dfcc2537008eb9c7f3770a + - SHA1:324f464e6151a92cf57b26ef95dcfcf2059a8c44 [weak] + - MD5Sum:9604ba9427a280db542279d9ed78400b [weak] + - Filesize:3 [weak] + Last modification reported: $(lastmodification "aptarchive/${1}_1.0.dsc") +Get:2 http://localhost:${APTHTTPPORT} $1 1.0 (tar) [3 B] +Err:2 http://localhost:${APTHTTPPORT} $1 1.0 (tar) + Hash Sum mismatch + Hashes of expected file: + - MD5Sum:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb [weak] + - Filesize:3 [weak] + Hashes of received file: + - SHA512:5aa4cad81553320574eb72ee92bd45a1f0575528e257749dff298b2a33df9e7fc7f5c1c87fc1c8fde230f1234cca3a99bf8625a0ff7bb3238eb7e5473f9b43c0 + - SHA256:90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb + - SHA1:680254bad1d7ca0d65ec46aaa315d363abf6a50a [weak] + - MD5Sum:db5570bf61464b46e2bde31ed61a7dc6 [weak] + - Filesize:3 [weak] + Last modification reported: $(lastmodification "aptarchive/${1}_1.0.tar.gz") +E: Failed to fetch http://localhost:${APTHTTPPORT}/${1}_1.0.dsc Hash Sum mismatch + Hashes of expected file: + - MD5Sum:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa [weak] + - Filesize:3 [weak] + Hashes of received file: + - SHA512:e52b7bb395ea3f46974f1f65b7c5975839aad32d4e2ec0f458f735d5aa24d2bf36d7816ed1e01dc3c493e11879e9a8f66dfca42821608cfe993996929a6be18a + - SHA256:943d3bf22ac661fb0f59bc4ff68cc12b04ff17a838dfcc2537008eb9c7f3770a + - SHA1:324f464e6151a92cf57b26ef95dcfcf2059a8c44 [weak] + - MD5Sum:9604ba9427a280db542279d9ed78400b [weak] + - Filesize:3 [weak] + Last modification reported: $(lastmodification "aptarchive/${1}_1.0.dsc") +E: Failed to fetch http://localhost:${APTHTTPPORT}/${1}_1.0.tar.gz Hash Sum mismatch + Hashes of expected file: + - MD5Sum:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb [weak] + - Filesize:3 [weak] + Hashes of received file: + - SHA512:5aa4cad81553320574eb72ee92bd45a1f0575528e257749dff298b2a33df9e7fc7f5c1c87fc1c8fde230f1234cca3a99bf8625a0ff7bb3238eb7e5473f9b43c0 + - SHA256:90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb + - SHA1:680254bad1d7ca0d65ec46aaa315d363abf6a50a [weak] + - MD5Sum:db5570bf61464b46e2bde31ed61a7dc6 [weak] + - Filesize:3 [weak] + Last modification reported: $(lastmodification "aptarchive/${1}_1.0.tar.gz") +E: Failed to fetch some archives." + else + FAILURE="Reading package lists... +Need to get 6 B of source archives. +Get:1 http://localhost:${APTHTTPPORT} $1 1.0 (dsc) [3 B] +Err:1 http://localhost:${APTHTTPPORT} $1 1.0 (dsc) + Hash Sum mismatch + Hashes of expected file: + - SHA256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + - Filesize:3 [weak] + - SHA1:324f464e6151a92cf57b26ef95dcfcf2059a8c44 [weak] + - MD5Sum:9604ba9427a280db542279d9ed78400b [weak] + Hashes of received file: + - SHA256:943d3bf22ac661fb0f59bc4ff68cc12b04ff17a838dfcc2537008eb9c7f3770a + - SHA1:324f464e6151a92cf57b26ef95dcfcf2059a8c44 [weak] + - MD5Sum:9604ba9427a280db542279d9ed78400b [weak] + - Filesize:3 [weak] + Last modification reported: $(lastmodification "aptarchive/${1}_1.0.dsc") +Get:2 http://localhost:${APTHTTPPORT} $1 1.0 (tar) [3 B] +Err:2 http://localhost:${APTHTTPPORT} $1 1.0 (tar) + Hash Sum mismatch + Hashes of expected file: + - SHA256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb + - Filesize:3 [weak] + - SHA1:680254bad1d7ca0d65ec46aaa315d363abf6a50a [weak] + - MD5Sum:db5570bf61464b46e2bde31ed61a7dc6 [weak] + Hashes of received file: + - SHA256:90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb + - SHA1:680254bad1d7ca0d65ec46aaa315d363abf6a50a [weak] + - MD5Sum:db5570bf61464b46e2bde31ed61a7dc6 [weak] + - Filesize:3 [weak] + Last modification reported: $(lastmodification "aptarchive/${1}_1.0.tar.gz") +E: Failed to fetch http://localhost:${APTHTTPPORT}/${1}_1.0.dsc Hash Sum mismatch + Hashes of expected file: + - SHA256:aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa + - Filesize:3 [weak] + - SHA1:324f464e6151a92cf57b26ef95dcfcf2059a8c44 [weak] + - MD5Sum:9604ba9427a280db542279d9ed78400b [weak] + Hashes of received file: + - SHA256:943d3bf22ac661fb0f59bc4ff68cc12b04ff17a838dfcc2537008eb9c7f3770a + - SHA1:324f464e6151a92cf57b26ef95dcfcf2059a8c44 [weak] + - MD5Sum:9604ba9427a280db542279d9ed78400b [weak] + - Filesize:3 [weak] + Last modification reported: $(lastmodification "aptarchive/${1}_1.0.dsc") +E: Failed to fetch http://localhost:${APTHTTPPORT}/${1}_1.0.tar.gz Hash Sum mismatch + Hashes of expected file: + - SHA256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb + - Filesize:3 [weak] + - SHA1:680254bad1d7ca0d65ec46aaa315d363abf6a50a [weak] + - MD5Sum:db5570bf61464b46e2bde31ed61a7dc6 [weak] + Hashes of received file: + - SHA256:90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb + - SHA1:680254bad1d7ca0d65ec46aaa315d363abf6a50a [weak] + - MD5Sum:db5570bf61464b46e2bde31ed61a7dc6 [weak] + - Filesize:3 [weak] + Last modification reported: $(lastmodification "aptarchive/${1}_1.0.tar.gz") +E: Failed to fetch some archives." + fi + testfailureequal "$FAILURE" aptget source -d "$@" + msgtest 'Files were not download as they have hashsum mismatches for' "$1" + testfailure --nomsg test -e ${1}_1.0.dsc -a -e ${1}_1.0.tar.gz + + if [ "$2" != '--allow-unauthenticated' ]; then + rm -f ${1}_1.0.dsc ${1}_1.0.tar.gz + testsuccessequal "Reading package lists... +Skipping download of file '${1}_1.0.dsc' as requested hashsum is not available for authentication +Skipping download of file '${1}_1.0.tar.gz' as requested hashsum is not available for authentication +Need to get 0 B of source archives. +Download complete and in download only mode" aptget source -d "$@" -o Acquire::ForceHash=ROT26 + msgtest 'Files were not download as hash is unavailable for' "$1" + testfailure --nomsg test -e ${1}_1.0.dsc -a -e ${1}_1.0.tar.gz + fi + + if [ "$1" != 'pkg-size-bad' ]; then + rm -f ${1}_1.0.dsc ${1}_1.0.tar.gz + testsuccessequal "Reading package lists... +Need to get 6 B of source archives. +Get:1 http://localhost:${APTHTTPPORT} $1 1.0 (dsc) [3 B] +Get:2 http://localhost:${APTHTTPPORT} $1 1.0 (tar) [3 B] +Download complete and in download only mode" aptget source --allow-unauthenticated -d "$@" -o Acquire::ForceHash=ROT26 + msgtest 'Files were downloaded unauthenticated as user allowed it' "$1" + testsuccess --nomsg test -e ${1}_1.0.dsc -a -e ${1}_1.0.tar.gz + fi +} + +testnohash pkg-md5-ok +testnohash pkg-sha1-ok +testok pkg-sha256-ok +testkeep pkg-sha256-ok + +# pkg-sha256-bad has a bad SHA sum, but good MD5 sum. If apt is +# checking the best available hash (as it should), this will trigger +# a hash mismatch. +testmismatch pkg-sha256-bad +testok pkg-sha256-bad -o Acquire::ForceHash=MD5Sum + +testnohash pkg-md5-bad +testmismatch pkg-md5-bad --allow-unauthenticated + +testmismatch pkg-size-bad + +# not having MD5 sum doesn't mean the file doesn't exist at all … +testok pkg-no-md5 +testok pkg-no-md5 -o Acquire::ForceHash=SHA256 +testsuccessequal "Reading package lists... +Skipping download of file 'pkg-no-md5_1.0.dsc' as requested hashsum is not available for authentication +Skipping download of file 'pkg-no-md5_1.0.tar.gz' as requested hashsum is not available for authentication +Need to get 0 B of source archives. +Download complete and in download only mode" aptget source -d pkg-no-md5 -o Acquire::ForceHash=MD5Sum +msgtest 'Files were not download as MD5 is not available for this package' 'pkg-no-md5' +testfailure --nomsg test -e pkg-no-md5_1.0.dsc -a -e pkg-no-md5_1.0.tar.gz + +# deal with cases in which we haven't for all files the same checksum type +# mostly pathologic as this shouldn't happen, but just to be sure +testsuccessequal "Reading package lists... +Skipping download of file 'pkg-mixed-ok_1.0.tar.gz' as requested hashsum is not available for authentication +Need to get 3 B of source archives. +Get:1 http://localhost:${APTHTTPPORT} pkg-mixed-ok 1.0 (dsc) [3 B] +Download complete and in download only mode" aptget source -d pkg-mixed-ok + +testsuccessequal "Reading package lists... +Skipping download of file 'pkg-mixed-sha1-bad_1.0.dsc' as requested hashsum is not available for authentication +Need to get 3 B of source archives. +Get:1 http://localhost:${APTHTTPPORT} pkg-mixed-sha1-bad 1.0 (tar) [3 B] +Download complete and in download only mode" aptget source -d pkg-mixed-sha1-bad +msgtest 'Only tar file is downloaded as the dsc has hashsum mismatch' 'pkg-mixed-sha1-bad' +testsuccess --nomsg test ! -e pkg-mixed-sha1-bad_1.0.dsc -a -e pkg-mixed-sha1-bad_1.0.tar.gz +testfailureequal "Reading package lists... +Skipping download of file 'pkg-mixed-sha2-bad_1.0.dsc' as requested hashsum is not available for authentication +Need to get 3 B of source archives. +Get:1 http://localhost:${APTHTTPPORT} pkg-mixed-sha2-bad 1.0 (tar) [3 B] +Err:1 http://localhost:${APTHTTPPORT} pkg-mixed-sha2-bad 1.0 (tar) + Hash Sum mismatch + Hashes of expected file: + - SHA256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb + - Filesize:3 [weak] + Hashes of received file: + - SHA256:90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb + - Filesize:3 [weak] + Last modification reported: $(lastmodification 'aptarchive/pkg-mixed-sha2-bad_1.0.tar.gz') +E: Failed to fetch http://localhost:${APTHTTPPORT}/pkg-mixed-sha2-bad_1.0.tar.gz Hash Sum mismatch + Hashes of expected file: + - SHA256:bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb + - Filesize:3 [weak] + Hashes of received file: + - SHA256:90aebae315675cbf04612de4f7d5874850f48e0b8dd82becbeaa47ca93f5ebfb + - Filesize:3 [weak] + Last modification reported: $(lastmodification 'aptarchive/pkg-mixed-sha2-bad_1.0.tar.gz') +E: Failed to fetch some archives." aptget source -d pkg-mixed-sha2-bad + +# it gets even more pathologic: multiple entries for one file, some even disagreeing! +testnohash pkg-md5-agree +testfailureequal 'Reading package lists... +E: Error parsing checksum in Files of source package pkg-md5-disagree' aptget source -d pkg-md5-disagree +testfailureequal 'Reading package lists... +E: Error parsing checksum in Checksums-Sha256 of source package pkg-sha256-disagree' aptget source -d pkg-sha256-disagree diff --git a/test/integration/test-ubuntu-bug-1130419-prefer-installed-ma-same-siblings b/test/integration/test-ubuntu-bug-1130419-prefer-installed-ma-same-siblings new file mode 100755 index 0000000..d766026 --- /dev/null +++ b/test/integration/test-ubuntu-bug-1130419-prefer-installed-ma-same-siblings @@ -0,0 +1,103 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' + +insertpackage 'stable' 'libmesa' 'amd64,i386' '1' 'Multi-Arch: same' +insertpackage 'stable' 'libmesa-lts' 'amd64,i386' '1' 'Provides: libmesa +Conflicts: libmesa +Multi-Arch: same' +insertpackage 'stable' 'steam' 'i386' '1' 'Depends: libmesa' + +insertpackage 'unstable' 'libmesa' 'amd64,i386' '2' 'Multi-Arch: same' +insertpackage 'unstable' 'libmesa-lts' 'amd64,i386' '2' 'Provides: libmesa +Conflicts: libmesa +Multi-Arch: same' +insertpackage 'unstable' 'steam' 'i386' '2' 'Depends: libmesa' + +setupaptarchive + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + libmesa:i386 +The following NEW packages will be installed: + libmesa:i386 steam:i386 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst libmesa:i386 (1 stable [i386]) +Inst steam:i386 (1 stable [i386]) +Conf libmesa:i386 (1 stable [i386]) +Conf steam:i386 (1 stable [i386])' aptget install steam -st stable +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + libmesa:i386 +The following NEW packages will be installed: + libmesa:i386 steam:i386 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst libmesa:i386 (2 unstable [i386]) +Inst steam:i386 (2 unstable [i386]) +Conf libmesa:i386 (2 unstable [i386]) +Conf steam:i386 (2 unstable [i386])' aptget install steam -st unstable + +insertinstalledpackage 'libmesa' 'amd64' '1' 'Multi-Arch: same' +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + libmesa:i386 +The following NEW packages will be installed: + libmesa:i386 steam:i386 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst libmesa:i386 (1 stable [i386]) +Inst steam:i386 (1 stable [i386]) +Conf libmesa:i386 (1 stable [i386]) +Conf steam:i386 (1 stable [i386])' aptget install steam -st stable +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + libmesa libmesa:i386 +The following NEW packages will be installed: + libmesa:i386 steam:i386 +The following packages will be upgraded: + libmesa +1 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst libmesa [1] (2 unstable [amd64]) +Inst libmesa:i386 (2 unstable [i386]) +Inst steam:i386 (2 unstable [i386]) +Conf libmesa (2 unstable [amd64]) +Conf libmesa:i386 (2 unstable [i386]) +Conf steam:i386 (2 unstable [i386])' aptget install steam -st unstable + +rm -f rootdir/var/lib/dpkg/status +insertinstalledpackage 'libmesa-lts' 'amd64' '1' 'Provides: libmesa +Conflicts: libmesa +Multi-Arch: same' +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + libmesa-lts:i386 +The following NEW packages will be installed: + libmesa-lts:i386 steam:i386 +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst libmesa-lts:i386 (1 stable [i386]) +Inst steam:i386 (1 stable [i386]) +Conf libmesa-lts:i386 (1 stable [i386]) +Conf steam:i386 (1 stable [i386])' aptget install steam -st stable +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + libmesa-lts libmesa-lts:i386 +The following NEW packages will be installed: + libmesa-lts:i386 steam:i386 +The following packages will be upgraded: + libmesa-lts +1 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst libmesa-lts [1] (2 unstable [amd64]) +Inst libmesa-lts:i386 (2 unstable [i386]) +Inst steam:i386 (2 unstable [i386]) +Conf libmesa-lts (2 unstable [amd64]) +Conf libmesa-lts:i386 (2 unstable [i386]) +Conf steam:i386 (2 unstable [i386])' aptget install steam -st unstable diff --git a/test/integration/test-ubuntu-bug-1304403-obsolete-priority-standard b/test/integration/test-ubuntu-bug-1304403-obsolete-priority-standard new file mode 100755 index 0000000..82e1d61 --- /dev/null +++ b/test/integration/test-ubuntu-bug-1304403-obsolete-priority-standard @@ -0,0 +1,50 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'i386' + +# Regression test for LP: #1304403 +# +# The issue here is that libkadm5srv-mit8 (priority standard) is replaced +# by a new libkadm5srv-mit9 and libkbd5-7 breaks on the old -mit8 package. +# The -mit8 package is no longer downloadable (and hence not upgradeable) + +# normal upradable pkg +# (libkdb5-7 that breaks on libkadm5srv-mit8 (<< 1.11+dfsg~) +insertinstalledpackage 'upgradable' 'all' '1.0' '' 'extra' +insertpackage 'unstable' 'upgradable' 'all' '2.0' 'Breaks: not-downloadable (<< 1.1)' 'optional' + +# no longer downloadable pkg (libkadm5srv-mit8, replaced by libkadm5srv-mit9) +# but priority standard pushes it higher +insertinstalledpackage 'not-downloadable' 'all' '1.0' '' 'standard' + +setupaptarchive + +# discourage keeping obsolete high-priority packages … +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be REMOVED: + not-downloadable +The following packages will be upgraded: + upgradable +1 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. +Remv not-downloadable [1.0] +Inst upgradable [1.0] (2.0 unstable [all]) +Conf upgradable (2.0 unstable [all])' aptget -s dist-upgrade + +# … but if it has dependencies we want to keep it as usual +for i in $(seq 1 10); do +insertinstalledpackage "depender$i" 'all' '1.0' 'Depends: not-downloadable' +done + +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages have been kept back: + upgradable +0 upgraded, 0 newly installed, 0 to remove and 1 not upgraded.' aptget -s dist-upgrade diff --git a/test/integration/test-ubuntu-bug-1549819-empty-arch-list b/test/integration/test-ubuntu-bug-1549819-empty-arch-list new file mode 100755 index 0000000..5e1c6ce --- /dev/null +++ b/test/integration/test-ubuntu-bug-1549819-empty-arch-list @@ -0,0 +1,13 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "" +echo 'APT::Architecture "";' > rootdir/etc/apt/apt.conf +echo 'APT::Architectures:: "";' >> rootdir/etc/apt/apt.conf +setupaptarchive + +# test success +testsuccess aptcache -c rootdir/etc/apt/apt.conf gencaches -o debug::NoLocking=1 diff --git a/test/integration/test-ubuntu-bug-1651923-requote-https-uri b/test/integration/test-ubuntu-bug-1651923-requote-https-uri new file mode 100755 index 0000000..cf56a6a --- /dev/null +++ b/test/integration/test-ubuntu-bug-1651923-requote-https-uri @@ -0,0 +1,19 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "i386" + +mkdir "aptarchive/target with space" +echo 'alright' > "aptarchive/target with space/working" +changetohttpswebserver +webserverconfig 'aptwebserver::redirect::replace::/targetwithoutspace/' '/target%20with%20space/' +webserverconfig 'aptwebserver::redirect::replace::/targetwithoutspace2/' '/target with space/' + +testsuccess downloadfile "http://localhost:${APTHTTPPORT}/targetwithoutspace/working" httpfile1 +testsuccess downloadfile "http://localhost:${APTHTTPPORT}/targetwithoutspace2/working" httpfile2 +testsuccess downloadfile "https://localhost:${APTHTTPSPORT}/targetwithoutspace/working" httpsfile1 +testsuccess downloadfile "https://localhost:${APTHTTPSPORT}/targetwithoutspace2/working" httpsfile2 diff --git a/test/integration/test-ubuntu-bug-1876495-pkgnames-virtual b/test/integration/test-ubuntu-bug-1876495-pkgnames-virtual new file mode 100755 index 0000000..627bd0c --- /dev/null +++ b/test/integration/test-ubuntu-bug-1876495-pkgnames-virtual @@ -0,0 +1,21 @@ +#!/bin/sh + +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' + +insertinstalledpackage 'coolstuff' 'all' '1.0' 'Provides: virtual-package +Source: source-package' + +setupaptarchive +changetowebserver + +testsuccess aptget update -o Debug::Acquire::gpg=1 +testsuccessequal 'coolstuff' aptcache pkgnames + +testsuccessequal 'source-package +virtual-package +coolstuff' aptcache pkgnames --all-names diff --git a/test/integration/test-ubuntu-bug-1921626-unsized-packages b/test/integration/test-ubuntu-bug-1921626-unsized-packages new file mode 100755 index 0000000..477ed52 --- /dev/null +++ b/test/integration/test-ubuntu-bug-1921626-unsized-packages @@ -0,0 +1,40 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture "i386" +confighashes 'SHA512' + +mkdir tree +head -c $((5*1024)) /dev/urandom > tree/data-file + +buildsimplenativepackage 'a' 'all' '1.0' 'stable' +buildsimplenativepackage 'b' 'all' '1.0' 'stable' '' '' '' '' "$PWD/tree" +buildsimplenativepackage 'c' 'all' '1.0' 'stable' + +setupaptarchive --no-update +changetowebserver + +testsuccess apt update + +for file in rootdir/var/lib/apt/lists/*Packages; do + awk '!(/^Size/ && ++cnt==2)' $file > $file.new + mv $file.new $file +done + + +size_a=$(wc -c aptarchive/pool/a_1.0_all.deb | awk '{print $1}') +size_b=$(wc -c aptarchive/pool/b_1.0_all.deb | awk '{print $1}') +size_c=$(wc -c aptarchive/pool/c_1.0_all.deb | awk '{print $1}') + +cd downloaded +testsuccessequal "Get:1 http://localhost:${APTHTTPPORT} stable/main all a all 1.0 [$size_a B] +Get:2 http://localhost:${APTHTTPPORT} stable/main all b all 1.0 [$size_b B] +Get:3 http://localhost:${APTHTTPPORT} stable/main all c all 1.0 [$size_c B]" apt download a b c -o Acquire::AllowUnsizedPackages=true +rm *.deb + +testfailureequal "E: Repository is broken: http://localhost:${APTHTTPPORT} stable/main all b all 1.0 has no Size information" apt download a b c +cd .. diff --git a/test/integration/test-ubuntu-bug-1974196 b/test/integration/test-ubuntu-bug-1974196 new file mode 100755 index 0000000..7c38723 --- /dev/null +++ b/test/integration/test-ubuntu-bug-1974196 @@ -0,0 +1,101 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment + +insertinstalledpackage 'pkg0' 'all' '1' +insertinstalledpackage 'pkg1' 'all' '1' +insertinstalledpackage 'depends' 'all' '1' 'Depends: pkg0 (= 1), pkg1 (= 1)' +insertpackage 'unstable' 'pkg0' 'all' '2' +insertpackage 'unstable' 'pkg1' 'all' '2' +insertpackage 'unstable' 'depends' 'all' '2' 'Depends: pkg0 (= 2), pkg1 (= 2)' + +configarchitecture 'arm64' +setupaptarchive + +noprogress() { + "$@" | sed /^Progress/d +} + +testsuccessequal "Reading package lists... +Building dependency tree... + Upgrading: depends:arm64 < 1 | 2 @ii umH Ib > due to depends:arm64 Depends on pkg0:arm64 < 1 -> 2 @ii pumU > (= 1) + MarkInstall pkg0:arm64 < 1 -> 2 @ii pumU > FU=1 + MarkInstall depends:arm64 < 1 -> 2 @ii umU Ib > FU=0 + Installing pkg1:arm64 as Depends of depends:arm64 + MarkInstall pkg1:arm64 < 1 -> 2 @ii umU > FU=0 +Starting pkgProblemResolver with broken count: 0 +Starting 2 pkgProblemResolver with broken count: 0 +Done +The following additional packages will be installed: + depends pkg1 +The following packages will be upgraded: + depends pkg0 pkg1 +3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Inst depends [1] (2 unstable [all]) [] +Inst pkg0 [1] (2 unstable [all]) [] +Inst pkg1 [1] (2 unstable [all]) +Conf depends (2 unstable [all]) +Conf pkg0 (2 unstable [all]) +Conf pkg1 (2 unstable [all])" aptget install pkg0 -o debug::pkgdepcache::marker=1 -o Debug::pkgProblemResolver=1 -o Debug::pkgDepCache::AutoInstall=1 -s + +testsuccessequal "Percentage: 0 +Message: Start up solver… + +Percentage: 1 +Message: Read request… + +Percentage: 5 +Message: Read scenario… + +Percentage: 50 +Message: Apply request on scenario… + +Percentage: 60 +Message: Call problemresolver on current scenario… + +Percentage: 95 +Message: Write solution… + +Install: 66284 +Package: udev:arm64 +Version: 249.11-0ubuntu3.4 + +Install: 66185 +Package: systemd-timesyncd:arm64 +Version: 249.11-0ubuntu3.4 + +Install: 65031 +Package: libpam-systemd:arm64 +Version: 249.11-0ubuntu3.4 + +Install: 65263 +Package: libsystemd0:arm64 +Version: 249.11-0ubuntu3.4 + +Install: 65023 +Package: libnss-systemd:arm64 +Version: 249.11-0ubuntu3.4 + +Install: 65264 +Package: libudev-dev:arm64 +Version: 249.11-0ubuntu3.4 + +Install: 66181 +Package: systemd:arm64 +Version: 249.11-0ubuntu3.4 + +Install: 65265 +Package: libudev1:arm64 +Version: 249.11-0ubuntu3.4 + +Install: 66184 +Package: systemd-sysv:arm64 +Version: 249.11-0ubuntu3.4 + +Percentage: 100 +Message: Done +" noprogress runapt "${APTHELPERBINDIR}/solvers/apt" < $TESTDIR/edsp-ubuntu-bug-1974196 diff --git a/test/integration/test-ubuntu-bug-1990586 b/test/integration/test-ubuntu-bug-1990586 new file mode 100755 index 0000000..415c502 --- /dev/null +++ b/test/integration/test-ubuntu-bug-1990586 @@ -0,0 +1,42 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment + +configarchitecture 'amd64' + +noprogress() { + "$@" | sed /^Progress/d +} + +# The important thing in this bug is that python3.10 and python3.10-defaults are phasing differently, +# so both should be kept back rather than one causing tons of removals. +# This should effectively be a no-op +testsuccessequal "Percentage: 0 +Message: Start up solver… + +Percentage: 1 +Message: Read request… + +Percentage: 5 +Message: Read scenario… + +Percentage: 50 +Message: Apply request on scenario… + +Percentage: 60 +Message: Call problemresolver on current scenario… + +Percentage: 95 +Message: Write solution… + +Autoremove: 74428 +Package: systemd-hwe-hwdb:amd64 +Version: 249.11.1 + +Percentage: 100 +Message: Done +" noprogress runapt "${APTHELPERBINDIR}/solvers/apt" < $TESTDIR/edsp-ubuntu-bug-1990586 diff --git a/test/integration/test-ubuntu-bug-2025462-phased-dist-upgrade b/test/integration/test-ubuntu-bug-2025462-phased-dist-upgrade new file mode 100755 index 0000000..5678642 --- /dev/null +++ b/test/integration/test-ubuntu-bug-2025462-phased-dist-upgrade @@ -0,0 +1,52 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +echo 'Debug::Phasing "1";' > rootdir/etc/apt/apt.conf.d/debug-phasing +configarchitecture 'i386' + +insertinstalledpackage 'gnome-shell' 'all' '1' 'Depends: mutter (>= 1), gnome-shell-common (= 1)' +insertinstalledpackage 'gnome-shell-common' 'all' '1' +insertinstalledpackage 'mutter' 'all' '1' + +insertpackage 'unstable-updates' 'gnome-shell-common' 'all' '2' 'Phased-Update-Percentage: 100' +insertpackage 'unstable-updates' 'gnome-shell' 'all' '2' 'Phased-Update-Percentage: 100 +Depends: mutter (>= 2), gnome-shell-common (= 2)' +insertpackage 'unstable-updates' 'mutter' 'all' '2' 'Phased-Update-Percentage: 0' + +setupaptarchive + +# This is the broken test case: +# +# The following packages will be REMOVED: +# gnome-shell +# The following packages have been kept back: +# mutter +# The following packages will be upgraded: +# gnome-shell-common +# 1 upgraded, 0 newly installed, 1 to remove and 1 not upgraded. + +testsuccessequal "Reading package lists... +Building dependency tree... +Calculating upgrade... +The following upgrades have been deferred due to phasing: + mutter +The following packages have been kept back: + gnome-shell gnome-shell-common +0 upgraded, 0 newly installed, 0 to remove and 3 not upgraded." aptget dist-upgrade -s -q + +testsuccessequal "Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be upgraded: + gnome-shell gnome-shell-common mutter +3 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Inst mutter [1] (2 unstable-updates [all]) +Inst gnome-shell [1] (2 unstable-updates [all]) [] +Inst gnome-shell-common [1] (2 unstable-updates [all]) +Conf mutter (2 unstable-updates [all]) +Conf gnome-shell (2 unstable-updates [all]) +Conf gnome-shell-common (2 unstable-updates [all])" aptget dist-upgrade -s -q -o APT::Get::Always-Include-Phased-Updates=1 diff --git a/test/integration/test-ubuntu-bug-346386-apt-get-update-paywall b/test/integration/test-ubuntu-bug-346386-apt-get-update-paywall new file mode 100755 index 0000000..5f2109d --- /dev/null +++ b/test/integration/test-ubuntu-bug-346386-apt-get-update-paywall @@ -0,0 +1,102 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" + +setupenvironment +configarchitecture 'native' + +insertpackage 'unstable' 'unrelated' 'all' '1.0' 'stable' +insertsource 'unstable' 'unrelated' 'all' '1.0' 'stable' + +echo 'ni ni ni' > aptarchive/knights + +setupaptarchive +changetowebserver -o 'aptwebserver::overwrite::.*InRelease::filename=/knights' -o 'aptwebserver::overwrite::.*::filename=/knights' + +msgtest 'Acquire test file from the webserver to check' 'overwrite' +if downloadfile http://localhost:${APTHTTPPORT}/holygrail ./knights-talking >/dev/null; then + msgpass +else + msgfail +fi + +testfileequal knights-talking 'ni ni ni' + +ensure_n_canary_strings_in_dir() { + local DIR="$1" + local CANARY_STRING="$2" + local EXPECTED_N="$3" + + msgtest "Testing in $DIR for $EXPECTED_N canary" "$CANARY_STRING" + local N=$(grep "$CANARY_STRING" $DIR/* 2>/dev/null |wc -l ) + test "$N" = "$EXPECTED_N" && msgpass || msgfail "Expected $EXPECTED_N canaries, got $N" +} + +runtests() { + LISTS='rootdir/var/lib/apt/lists' + rm -rf "$LISTS" + testfailure aptget update + testsuccess grep "$1" rootdir/tmp/testfailure.output + + ensure_n_canary_strings_in_dir "$LISTS" 'ni ni ni' 0 + testequal 'auxfiles +lock +partial' ls "$LISTS" + + # and again with pre-existing files with "valid data" which should remain + for f in Release Release.gpg main_binary-amd64_Packages main_source_Sources; do + echo 'peng neee-wom' > "$LISTS/localhost:${APTHTTPPORT}_dists_stable_${f}" + chmod 644 "$LISTS/localhost:${APTHTTPPORT}_dists_stable_${f}" + done + + testfailure aptget update + testsuccess grep "$1" rootdir/tmp/testfailure.output + + ensure_n_canary_strings_in_dir "$LISTS" 'peng neee-wom' 4 + ensure_n_canary_strings_in_dir "$LISTS" 'ni ni ni' 0 + + # and now with a pre-existing InRelease file + echo 'peng neee-wom' > "$LISTS/localhost:${APTHTTPPORT}_dists_stable_InRelease" + chmod 644 "$LISTS/localhost:${APTHTTPPORT}_dists_stable_InRelease" + rm -f "$LISTS/localhost:${APTHTTPPORT}_dists_stable_Release" "$LISTS/localhost:${APTHTTPPORT}_dists_stable_Release.gpg" + msgtest 'excpected failure of' 'apt-get update' + testfailure aptget update + testsuccess grep "$1" rootdir/tmp/testfailure.output + + ensure_n_canary_strings_in_dir "$LISTS" 'peng neee-wom' 3 + ensure_n_canary_strings_in_dir "$LISTS" 'ni ni ni' 0 +} +runtests '^E:.*Clearsigned file .*NOSPLIT.*' +webserverconfig 'aptwebserver::overwrite::.*InRelease::filename' '/404' +runtests '^E:.*Signed file .*NODATA.*' + +webserverconfig 'aptwebserver::overwrite::.*::filename' '/404' +webserverconfig 'aptwebserver::httpcode::404' '511 Network Authentication Required' +rm -rf rootdir/var/lib/apt/lists +testfailureequal "Err:1 http://localhost:${APTHTTPPORT} unstable InRelease + 511 Network Authentication Required +Reading package lists... +E: Failed to fetch http://localhost:${APTHTTPPORT}/dists/unstable/InRelease 511 Network Authentication Required +E: The repository 'http://localhost:${APTHTTPPORT} unstable InRelease' is not signed. +N: Updating from such a repository can't be done securely, and is therefore disabled by default. +N: See apt-secure(8) manpage for repository creation and user configuration details." aptget update + +# on S3 all files get a 403. If we accept unsigned, lets be liberal in non-existence acceptance +webserverconfig 'aptwebserver::httpcode::404' '403 Forbidden' +rm -rf rootdir/var/lib/apt/lists +testfailureequal "Err:1 http://localhost:${APTHTTPPORT} unstable InRelease + 403 Forbidden +Reading package lists... +E: Failed to fetch http://localhost:${APTHTTPPORT}/dists/unstable/InRelease 403 Forbidden +E: The repository 'http://localhost:${APTHTTPPORT} unstable InRelease' is not signed. +N: Updating from such a repository can't be done securely, and is therefore disabled by default. +N: See apt-secure(8) manpage for repository creation and user configuration details." apt update + +sed -i 's#^deb\(-src\)\? #deb\1 [allow-insecure=yes] #' rootdir/etc/apt/sources.list.d/* +testfailure apt update +testequal "Ign:1 http://localhost:${APTHTTPPORT} unstable InRelease + 403 Forbidden +Ign:2 http://localhost:${APTHTTPPORT} unstable Release + 403 Forbidden" head -n 4 rootdir/tmp/testfailure.output diff --git a/test/integration/test-ubuntu-bug-365611-long-package-names b/test/integration/test-ubuntu-bug-365611-long-package-names new file mode 100755 index 0000000..53e3ea8 --- /dev/null +++ b/test/integration/test-ubuntu-bug-365611-long-package-names @@ -0,0 +1,15 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' +setupaptarchive + +aptget install $(for i in $(seq 0 1000); do echo -n 'a'; done) 2> longpackagename.log > /dev/null || true +testfileequal 'longpackagename.log' "E: Unable to locate package $(for i in $(seq 0 1000); do echo -n 'a'; done)" + +# … and the opposite of long: +aptget install "" -s >longpackagename.log 2>&1 || true +testfileequal 'longpackagename.log' "$(aptget install -s)" diff --git a/test/integration/test-ubuntu-bug-614993 b/test/integration/test-ubuntu-bug-614993 new file mode 100755 index 0000000..542e551 --- /dev/null +++ b/test/integration/test-ubuntu-bug-614993 @@ -0,0 +1,61 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "amd64" +setupaptarchive + +# test success +UPGRADE="Reading package lists... +Building dependency tree... +The following additional packages will be installed: + libdrm-intel1 libdrm-nouveau1 libdrm-radeon1 libdrm2 libmtdev1 + libutouch-grail1 libx11-xcb1 libxcb-aux0 libxcb-dri2-0 libxfont1 + xserver-common xserver-xorg-core xserver-xorg-input-all + xserver-xorg-input-evdev xserver-xorg-input-mouse + xserver-xorg-input-synaptics xserver-xorg-input-vmmouse + xserver-xorg-input-wacom xserver-xorg-video-all xserver-xorg-video-apm + xserver-xorg-video-ark xserver-xorg-video-ati xserver-xorg-video-chips + xserver-xorg-video-cirrus xserver-xorg-video-fbdev xserver-xorg-video-i128 + xserver-xorg-video-intel xserver-xorg-video-mach64 xserver-xorg-video-mga + xserver-xorg-video-neomagic xserver-xorg-video-nouveau xserver-xorg-video-nv + xserver-xorg-video-openchrome xserver-xorg-video-r128 + xserver-xorg-video-radeon xserver-xorg-video-rendition xserver-xorg-video-s3 + xserver-xorg-video-s3virge xserver-xorg-video-savage + xserver-xorg-video-siliconmotion xserver-xorg-video-sis + xserver-xorg-video-sisusb xserver-xorg-video-tdfx xserver-xorg-video-trident + xserver-xorg-video-tseng xserver-xorg-video-vesa xserver-xorg-video-vmware + xserver-xorg-video-voodoo +Suggested packages: + xfonts-scalable gpointing-device-settings touchfreeze firmware-linux +Recommended packages: + xauth intel-gpu-tools +The following packages will be REMOVED: + xserver-xorg-video-v4l +The following NEW packages will be installed: + libmtdev1 libutouch-grail1 libx11-xcb1 libxcb-aux0 libxcb-dri2-0 +The following packages will be upgraded: + libdrm-intel1 libdrm-nouveau1 libdrm-radeon1 libdrm2 libxfont1 + xserver-common xserver-xorg xserver-xorg-core xserver-xorg-input-all + xserver-xorg-input-evdev xserver-xorg-input-mouse + xserver-xorg-input-synaptics xserver-xorg-input-vmmouse + xserver-xorg-input-wacom xserver-xorg-video-all xserver-xorg-video-apm + xserver-xorg-video-ark xserver-xorg-video-ati xserver-xorg-video-chips + xserver-xorg-video-cirrus xserver-xorg-video-fbdev xserver-xorg-video-i128 + xserver-xorg-video-intel xserver-xorg-video-mach64 xserver-xorg-video-mga + xserver-xorg-video-neomagic xserver-xorg-video-nouveau xserver-xorg-video-nv + xserver-xorg-video-openchrome xserver-xorg-video-r128 + xserver-xorg-video-radeon xserver-xorg-video-rendition xserver-xorg-video-s3 + xserver-xorg-video-s3virge xserver-xorg-video-savage + xserver-xorg-video-siliconmotion xserver-xorg-video-sis + xserver-xorg-video-sisusb xserver-xorg-video-tdfx xserver-xorg-video-trident + xserver-xorg-video-tseng xserver-xorg-video-vesa xserver-xorg-video-vmware + xserver-xorg-video-voodoo +44 upgraded, 5 newly installed, 1 to remove and 0 not upgraded. +Need to get 0 B/5561 kB of archives. +After this operation, 3027 kB disk space will be freed. +E: Trivial Only specified but this is not a trivial operation." +testfailureequal "$UPGRADE" aptget install xserver-xorg --trivial-only + diff --git a/test/integration/test-ubuntu-bug-761175-remove-purge b/test/integration/test-ubuntu-bug-761175-remove-purge new file mode 100755 index 0000000..6ae1a04 --- /dev/null +++ b/test/integration/test-ubuntu-bug-761175-remove-purge @@ -0,0 +1,88 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' + +buildcompizpkg() { + setupsimplenativepackage "compiz-core-$1" "$2" "$3" "$4" + BUILDDIR="incoming/compiz-core-$1-$3" + mkdir -p ${BUILDDIR}/debian/compiz-core/etc + echo 'foo=bar;' > ${BUILDDIR}/compiz.conf + echo 'compiz.conf /etc/compiz.conf' >> ${BUILDDIR}/debian/install + buildpackage "$BUILDDIR" "$4" 'main' "$2" + rm -rf "$BUILDDIR" +} +buildcompizpkg 'native' 'all' '1.0' 'stable' +buildcompizpkg 'all' 'native' '1.0' 'stable' +buildcompizpkg 'native' 'native' '2.0' 'unstable' +buildcompizpkg 'all' 'all' '2.0' 'unstable' + +setupaptarchive + +runtests() { + local PKG="$1" + local RELEASE="${2}" + shift 2 + testdpkgnotinstalled compiz-core-${PKG} + testsuccess aptget install compiz-core-${PKG} -t "${RELEASE}" "$@" + testdpkginstalled compiz-core-${PKG} + + testsuccess aptget remove compiz-core-${PKG} -y "$@" -o Debug::pkgDpkgPm=1 + testfailure grep -- '--force-remove-essential' rootdir/tmp/testsuccess.output + testsuccess aptget remove compiz-core-${PKG} -y "$@" + testdpkgnotinstalled compiz-core-${PKG} + testdpkgstatus 'rc' '1' "compiz-core-${PKG}" + + if [ -z "$1" ]; then + testsuccessequal "Reading package lists... +Building dependency tree... +Reading state information... +The following packages will be REMOVED: + compiz-core-${PKG}* +0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. +Purg compiz-core-${PKG}" aptget purge compiz-core-${PKG} -s "$@" + else + # check that the rc-version isn't passed to the external resolver if its only in dpkg/status + export APT_EDSP_DUMP_FILENAME="${TMPWORKINGDIRECTORY}/dump-${PKG}.edsp" + testfailure aptget purge compiz-core-${PKG} -y "$@" -s --solver dump + testsuccessequal '2' grep -c "^Package: compiz-core-${PKG}\$" "$APT_EDSP_DUMP_FILENAME" + mv rootdir/etc/apt/sources.list.d/apt-test-stable-deb.list rootdir/etc/apt/sources.list.d/apt-test-stable-deb.disabled + testfailure aptget purge compiz-core-${PKG} -y "$@" -s --solver dump + testsuccessequal '1' grep -c "^Package: compiz-core-${PKG}\$" "$APT_EDSP_DUMP_FILENAME" + mv rootdir/etc/apt/sources.list.d/apt-test-stable-deb.disabled rootdir/etc/apt/sources.list.d/apt-test-stable-deb.list + + testsuccessequal "Reading package lists... +Building dependency tree... +Reading state information... +Execute external solver... +The following packages will be REMOVED: + compiz-core-${PKG}* +0 upgraded, 0 newly installed, 1 to remove and 0 not upgraded. +Purg compiz-core-${PKG}" aptget purge compiz-core-${PKG} -s "$@" + fi + testsuccess aptget purge compiz-core-${PKG} -y "$@" -o Debug::pkgDpkgPm=1 + testfailure grep -- '--force-remove-essential' rootdir/tmp/testsuccess.output + testsuccess aptget purge compiz-core-${PKG} -y "$@" + echo -n '' > rootdir/var/lib/dpkg/available # dpkg -l < 1.16.2 reads the available file by default, where the package can be found + testequalor2 "dpkg-query: no packages found matching compiz-core-${PKG}" "No packages found matching compiz-core-${PKG}." dpkg -l compiz-core-${PKG} +} +runtestround() { + runtests 'native' 'unstable' "$@" + runtests 'all' 'unstable' "$@" + runtests 'native' 'stable' "$@" + runtests 'all' 'stable' "$@" +} +testround() { + msgmsg 'Test in multi arch environment' "$@" + configarchitecture 'amd64' 'i386' + runtestround "$@" + + msgmsg 'Test in single arch environment' "$@" + configarchitecture 'amd64' + runtestround "$@" +} +testround +testround --solver apt diff --git a/test/integration/test-ubuntu-bug-784473-InRelease-one-message-only b/test/integration/test-ubuntu-bug-784473-InRelease-one-message-only new file mode 100755 index 0000000..80e41f2 --- /dev/null +++ b/test/integration/test-ubuntu-bug-784473-InRelease-one-message-only @@ -0,0 +1,40 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'i386' + +insertpackage 'unstable' 'apt' 'i386' '0.8.11' + +export APT_DONT_SIGN='Release.gpg' +setupaptarchive --no-update + +find aptarchive/ -name 'InRelease' -exec cp {} {}.old \; + +for RELEASE in $(find aptarchive/ -name 'InRelease'); do + (echo 'Origin: Marvin +Label: Marvin +Suite: experimental +Codename: experimental +MD5Sum: + 65fd410587b6978de2277f2912523f09 9360 Packages + d27b294ed172a1fa9dd5a53949914c5d 4076 Packages.bz2 + 2182897e0a2a0c09e760beaae117a015 2023 Packages.diff/Index + 1b895931853981ad8204d2439821b999 4144 Packages.gz'; echo; cat ${RELEASE}.old;) > ${RELEASE} +done + +testfailure aptget update +testsuccess grep '^E:.*Clearsigned file .*NOSPLIT.*' rootdir/tmp/testfailure.output + +testsuccessequal "Package files: +Pinned packages:" aptcache policy + +insertinstalledpackage 'foo' 'all' '1' + +ROOTDIR="$(readlink -f .)" +testsuccessequal "Package files: + 100 ${ROOTDIR}/rootdir/var/lib/dpkg/status + release a=now +Pinned packages:" aptcache policy diff --git a/test/integration/test-ubuntu-bug-802901-multiarch-early-remove b/test/integration/test-ubuntu-bug-802901-multiarch-early-remove new file mode 100755 index 0000000..d9587d9 --- /dev/null +++ b/test/integration/test-ubuntu-bug-802901-multiarch-early-remove @@ -0,0 +1,24 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' + +insertinstalledpackage 'libgl1-mesa-glx' 'amd64' '2.0' 'Multi-Arch: same +Provides: libgl1 +Conflicts: libgl1' +insertpackage 'unstable' 'libgl1-mesa-glx' 'i386,amd64' '2.0' 'Multi-Arch: same +Provides: libgl1 +Conflicts: libgl1' + +setupaptarchive + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following NEW packages will be installed: + libgl1-mesa-glx:i386 +0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst libgl1-mesa-glx:i386 (2.0 unstable [i386]) +Conf libgl1-mesa-glx:i386 (2.0 unstable [i386])' aptget install libgl1-mesa-glx:i386 -s diff --git a/test/integration/test-ubuntu-bug-806274-install-suggests b/test/integration/test-ubuntu-bug-806274-install-suggests new file mode 100755 index 0000000..b73a6f7 --- /dev/null +++ b/test/integration/test-ubuntu-bug-806274-install-suggests @@ -0,0 +1,81 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "i386" + +insertpackage 'unstable' 'apt' 'i386' '0.8.15' 'Depends: foo +Recommends: bar +Suggests: baz' +insertpackage 'unstable' 'foo' 'i386' '1.0' +insertpackage 'unstable' 'bar' 'i386' '1.0' +insertpackage 'unstable' 'baz' 'i386' '1.0' + +setupaptarchive + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + bar foo +Suggested packages: + baz +The following NEW packages will be installed: + apt bar foo +0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1.0 unstable [i386]) +Conf foo (1.0 unstable [i386]) +Inst apt (0.8.15 unstable [i386]) +Conf apt (0.8.15 unstable [i386]) +Inst bar (1.0 unstable [i386]) +Conf bar (1.0 unstable [i386])' aptget install apt -s --install-recommends --no-install-suggests + + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + bar baz foo +The following NEW packages will be installed: + apt bar baz foo +0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1.0 unstable [i386]) +Conf foo (1.0 unstable [i386]) +Inst apt (0.8.15 unstable [i386]) +Conf apt (0.8.15 unstable [i386]) +Inst bar (1.0 unstable [i386]) +Inst baz (1.0 unstable [i386]) +Conf bar (1.0 unstable [i386]) +Conf baz (1.0 unstable [i386])' aptget install apt -s --install-recommends --install-suggests + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + foo +Suggested packages: + baz +Recommended packages: + bar +The following NEW packages will be installed: + apt foo +0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1.0 unstable [i386]) +Conf foo (1.0 unstable [i386]) +Inst apt (0.8.15 unstable [i386]) +Conf apt (0.8.15 unstable [i386])' aptget install apt -s --no-install-recommends --no-install-suggests + +testsuccessequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + baz foo +Recommended packages: + bar +The following NEW packages will be installed: + apt baz foo +0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded. +Inst foo (1.0 unstable [i386]) +Conf foo (1.0 unstable [i386]) +Inst apt (0.8.15 unstable [i386]) +Conf apt (0.8.15 unstable [i386]) +Inst baz (1.0 unstable [i386]) +Conf baz (1.0 unstable [i386])' aptget install apt -s --no-install-recommends --install-suggests diff --git a/test/integration/test-ubuntu-bug-835625-multiarch-lockstep-installed-first b/test/integration/test-ubuntu-bug-835625-multiarch-lockstep-installed-first new file mode 100755 index 0000000..beb7c08 --- /dev/null +++ b/test/integration/test-ubuntu-bug-835625-multiarch-lockstep-installed-first @@ -0,0 +1,45 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' + +insertinstalledpackage 'libsame' 'i386' '1' +insertinstalledpackage 'apt' 'i386' '1' 'Depends: libsame (= 1)' + +insertpackage 'unstable' 'libsame' 'i386,amd64' '2' 'Multi-Arch: same' +insertpackage 'unstable' 'apt' 'i386' '2' 'Depends: libsame (= 2)' + +setupaptarchive + +testequalor2 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + apt:i386 libsame:i386 +The following NEW packages will be installed: + libsame +The following packages will be upgraded: + apt:i386 libsame:i386 +2 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst libsame:i386 [1] (2 unstable [i386]) [apt:i386 ] +Inst libsame (2 unstable [amd64]) [apt:i386 ] +Conf libsame:i386 (2 unstable [i386]) [apt:i386 ] +Inst apt:i386 [1] (2 unstable [i386]) +Conf apt:i386 (2 unstable [i386]) +Conf libsame (2 unstable [amd64])' 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + apt:i386 libsame:i386 +The following NEW packages will be installed: + libsame +The following packages will be upgraded: + apt:i386 libsame:i386 +2 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst apt:i386 [1] (2 unstable [i386]) [] +Inst libsame:i386 [1] (2 unstable [i386]) +Inst libsame (2 unstable [amd64]) +Conf libsame:i386 (2 unstable [i386]) +Conf libsame (2 unstable [amd64]) +Conf apt:i386 (2 unstable [i386])' aptget install libsame:amd64 -s diff --git a/test/integration/test-ubuntu-bug-859188-multiarch-reinstall b/test/integration/test-ubuntu-bug-859188-multiarch-reinstall new file mode 100755 index 0000000..5fdb98d --- /dev/null +++ b/test/integration/test-ubuntu-bug-859188-multiarch-reinstall @@ -0,0 +1,27 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' 'armel' + +buildsimplenativepackage 'libsame' 'amd64,i386,armel' '1.0' 'unstable' 'Multi-Arch: same' + +setupaptarchive + +testsuccess aptget install libsame libsame:i386 + +REINSTALL='Reading package lists... +Building dependency tree... +Reading state information... +0 upgraded, 0 newly installed, 2 reinstalled, 0 to remove and 0 not upgraded. +Inst libsame [1.0] (1.0 unstable [amd64]) +Inst libsame:i386 [1.0] (1.0 unstable [i386]) +Conf libsame (1.0 unstable [amd64]) +Conf libsame:i386 (1.0 unstable [i386])' + +testsuccessequal "$REINSTALL" aptget install --reinstall libsame -s +testsuccessequal "$REINSTALL" aptget install --reinstall libsame:amd64 -s +testsuccessequal "$REINSTALL" aptget install --reinstall libsame:i386 -s +testsuccessequal "$REINSTALL" aptget install --reinstall libsame:amd64 libsame:i386 -s diff --git a/test/integration/test-ubuntu-bug-985852-pre-depends-or-group-ordering b/test/integration/test-ubuntu-bug-985852-pre-depends-or-group-ordering new file mode 100755 index 0000000..bd5be9e --- /dev/null +++ b/test/integration/test-ubuntu-bug-985852-pre-depends-or-group-ordering @@ -0,0 +1,22 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +insertinstalledpackage 'custom' 'amd64' '1.0' 'Pre-Depends: grub-pc | grub' +insertinstalledpackage 'grub' 'amd64' '1.0' +insertpackage 'unstable' 'custom' 'amd64' '2.0' 'Pre-Depends: grub-pc | grub' + +setupaptarchive + +testsuccessequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be upgraded: + custom +1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Inst custom [1.0] (2.0 unstable [amd64]) +Conf custom (2.0 unstable [amd64])' aptget dist-upgrade -s diff --git a/test/integration/test-unpack-different-version-unpacked b/test/integration/test-unpack-different-version-unpacked new file mode 100755 index 0000000..e7da64c --- /dev/null +++ b/test/integration/test-unpack-different-version-unpacked @@ -0,0 +1,118 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' 'i386' + +insertpackage 'unstable' 'libqtcore4' 'i386,amd64' '2' 'Multi-Arch: same' +setupaptarchive + +cleanstatus() { + rm -f rootdir/var/lib/dpkg/status + rm rootdir/var/cache/apt/*.bin +} + +#FIXME: the reported version is wrong, it should be 1, not 2 +insertinstalledpackage 'libqtcore4' 'i386,amd64' '1' 'Multi-Arch: same' '' 'install ok unpacked' +testsuccessequal 'Reading package lists... +Building dependency tree... +0 upgraded, 0 newly installed, 0 to remove and 2 not upgraded. +2 not fully installed or removed. +Conf libqtcore4 (2 unstable [amd64]) +Conf libqtcore4:i386 (2 unstable [i386])' aptget install -s -f + +cleanstatus +insertinstalledpackage 'libqtcore4' 'amd64' '2' 'Multi-Arch: same' '' 'install ok unpacked' +insertinstalledpackage 'libqtcore4' 'i386' '1' 'Multi-Arch: same' '' 'install ok unpacked' +testsuccessequal 'Reading package lists... +Building dependency tree... +Correcting dependencies... Done +The following additional packages will be installed: + libqtcore4:i386 +The following packages will be upgraded: + libqtcore4:i386 +1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +2 not fully installed or removed. +Inst libqtcore4:i386 [1] (2 unstable [i386]) +Conf libqtcore4:i386 (2 unstable [i386]) +Conf libqtcore4 (2 unstable [amd64])' aptget install -s -f + +cleanstatus +insertinstalledpackage 'libqtcore4' 'i386' '2' 'Multi-Arch: same' '' 'install ok unpacked' +insertinstalledpackage 'libqtcore4' 'amd64' '1' 'Multi-Arch: same' '' 'install ok unpacked' +testsuccessequal 'Reading package lists... +Building dependency tree... +Correcting dependencies... Done +The following additional packages will be installed: + libqtcore4 +The following packages will be upgraded: + libqtcore4 +1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +2 not fully installed or removed. +Inst libqtcore4 [1] (2 unstable [amd64]) +Conf libqtcore4 (2 unstable [amd64]) +Conf libqtcore4:i386 (2 unstable [i386])' aptget install -s -f + +cleanstatus +insertinstalledpackage 'libqtcore4' 'amd64' '2' 'Multi-Arch: same' '' 'install ok unpacked' +insertinstalledpackage 'libqtcore4' 'i386' '1' 'Multi-Arch: same' +testsuccessequal 'Reading package lists... +Building dependency tree... +Correcting dependencies... Done +The following additional packages will be installed: + libqtcore4:i386 +The following packages will be upgraded: + libqtcore4:i386 +1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +1 not fully installed or removed. +Inst libqtcore4:i386 [1] (2 unstable [i386]) +Conf libqtcore4:i386 (2 unstable [i386]) +Conf libqtcore4 (2 unstable [amd64])' aptget install -s -f + +cleanstatus +insertinstalledpackage 'libqtcore4' 'i386' '2' 'Multi-Arch: same' '' 'install ok unpacked' +insertinstalledpackage 'libqtcore4' 'amd64' '1' 'Multi-Arch: same' +testsuccessequal 'Reading package lists... +Building dependency tree... +Correcting dependencies... Done +The following additional packages will be installed: + libqtcore4 +The following packages will be upgraded: + libqtcore4 +1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +1 not fully installed or removed. +Inst libqtcore4 [1] (2 unstable [amd64]) +Conf libqtcore4 (2 unstable [amd64]) +Conf libqtcore4:i386 (2 unstable [i386])' aptget install -s -f + +cleanstatus +insertinstalledpackage 'libqtcore4' 'amd64' '2' 'Multi-Arch: same' +insertinstalledpackage 'libqtcore4' 'i386' '1' 'Multi-Arch: same' '' 'install ok unpacked' +testsuccessequal 'Reading package lists... +Building dependency tree... +Correcting dependencies... Done +The following additional packages will be installed: + libqtcore4:i386 +The following packages will be upgraded: + libqtcore4:i386 +1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +1 not fully installed or removed. +Inst libqtcore4:i386 [1] (2 unstable [i386]) +Conf libqtcore4:i386 (2 unstable [i386])' aptget install -s -f + +cleanstatus +insertinstalledpackage 'libqtcore4' 'i386' '2' 'Multi-Arch: same' +insertinstalledpackage 'libqtcore4' 'amd64' '1' 'Multi-Arch: same' '' 'install ok unpacked' +testsuccessequal 'Reading package lists... +Building dependency tree... +Correcting dependencies... Done +The following additional packages will be installed: + libqtcore4 +The following packages will be upgraded: + libqtcore4 +1 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +1 not fully installed or removed. +Inst libqtcore4 [1] (2 unstable [amd64]) +Conf libqtcore4 (2 unstable [amd64])' aptget install -s -f diff --git a/test/integration/test-uri-encode-filename-field b/test/integration/test-uri-encode-filename-field new file mode 100755 index 0000000..233332d --- /dev/null +++ b/test/integration/test-uri-encode-filename-field @@ -0,0 +1,47 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +buildsimplenativepackage 'foo' 'all' '0+0~0' +setupaptarchive --no-update + +runtest() { + rm -rf rootdir/var/lib/apt/lists + testsuccess apt update + + cd downloaded + testsuccess apt download foo + testsuccess rm 'foo_0+0~0_all.deb' + testsuccess apt install foo + testsuccess apt source foo + testsuccess rm 'foo_0+0~0.dsc' 'foo_0+0~0.tar.xz' + testsuccess rm -r 'foo-0+0~0' + + mv '../aptarchive/pool/foo_0+0~0_all.deb' '../aptarchive/pool/foo_0%3a0+0~0_all.deb' + mv '../aptarchive/pool/foo_0+0~0.dsc' '../aptarchive/pool/foo_0%3a0+0~0.dsc' + testsuccess apt purge foo -y + testfailure apt download foo + testfailure apt install foo + testfailure apt source foo --dsc-only + + sed -i -e 's#_0+0~0_#_0%3a0+0~0_#' ../rootdir/var/lib/apt/lists/*Packages + sed -i -e 's#_0+0~0.d#_0%3a0+0~0.d#' ../rootdir/var/lib/apt/lists/*Sources + testsuccess apt download foo + testsuccess rm 'foo_0+0~0_all.deb' + testsuccess apt install foo + testsuccess apt source foo + testsuccess rm 'foo_0%3a0+0~0.dsc' 'foo_0+0~0.tar.xz' + testsuccess rm -r 'foo-0+0~0' + + cd "$TMPWORKINGDIRECTORY" >/dev/null + mv 'aptarchive/pool/foo_0%3a0+0~0_all.deb' 'aptarchive/pool/foo_0+0~0_all.deb' + mv 'aptarchive/pool/foo_0%3a0+0~0.dsc' 'aptarchive/pool/foo_0+0~0.dsc' +} + +runtest 'file' +changetowebserver +runtest 'http' diff --git a/test/integration/test-very-tight-loop-configure-with-unpacking-new-packages b/test/integration/test-very-tight-loop-configure-with-unpacking-new-packages new file mode 100755 index 0000000..09953e9 --- /dev/null +++ b/test/integration/test-very-tight-loop-configure-with-unpacking-new-packages @@ -0,0 +1,63 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture 'amd64' + +# the difference between version 3 and 4 is the new package 'ure' which +# we have to unpack before we start configuring parts of the loop +insertinstalledpackage 'libreoffice' 'amd64' '3' 'Depends: libreoffice-core (= 3)' +insertinstalledpackage 'libreoffice-core' 'amd64' '3' 'Depends: libreoffice-common (>= 3)' +insertinstalledpackage 'libreoffice-common' 'all' '3' 'Depends: libreoffice-style +Breaks: libreoffice-core (>= 3+), libreoffice-core (<= 3~), libreoffice-style-galaxy (>= 3+), libreoffice-style-galaxy (<= 3~)' +insertinstalledpackage 'libreoffice-style-galaxy' 'amd64' '3' 'Depends: libreoffice-core +Provides: libreoffice-style' + +insertpackage 'sid' 'libreoffice' 'amd64' '4' 'Depends: libreoffice-core (= 4)' +insertpackage 'sid' 'libreoffice-core' 'amd64' '4' 'Depends: libreoffice-common (>= 4) +Breaks: libreoffice-common (<< 4), libreoffice-style-galaxy (<< 4)' +insertpackage 'sid' 'libreoffice-common' 'all' '4' 'Depends: libreoffice-style, ure +Breaks: libreoffice-core (>= 4+), libreoffice-core (<= 4~), libreoffice-style-galaxy (>= 4+), libreoffice-style-galaxy (<= 4~)' +insertpackage 'sid' 'libreoffice-style-galaxy' 'amd64' '4' 'Depends: libreoffice-core +Provides: libreoffice-style' +insertpackage 'sid' 'ure' 'amd64' '4' + +setupaptarchive + +testequalor2 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following NEW packages will be installed: + ure +The following packages will be upgraded: + libreoffice libreoffice-common libreoffice-core libreoffice-style-galaxy +4 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst libreoffice [3] (4 sid [amd64]) [] +Inst libreoffice-style-galaxy [3] (4 sid [amd64]) [libreoffice-common:amd64 on libreoffice-style-galaxy:amd64] [libreoffice-common:amd64 ] +Inst libreoffice-core [3] (4 sid [amd64]) [libreoffice-core:amd64 on libreoffice-common:amd64] [libreoffice-common:amd64 on libreoffice-core:amd64] [libreoffice-common:amd64 on libreoffice-style-galaxy:amd64] [libreoffice-common:amd64 ] +Inst libreoffice-common [3] (4 sid [all]) [] +Inst ure (4 sid [amd64]) +Conf libreoffice (4 sid [amd64]) +Conf libreoffice-style-galaxy (4 sid [amd64]) +Conf libreoffice-core (4 sid [amd64]) +Conf libreoffice-common (4 sid [all]) +Conf ure (4 sid [amd64])' 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following NEW packages will be installed: + ure +The following packages will be upgraded: + libreoffice libreoffice-common libreoffice-core libreoffice-style-galaxy +4 upgraded, 1 newly installed, 0 to remove and 0 not upgraded. +Inst libreoffice [3] (4 sid [amd64]) [] +Inst libreoffice-style-galaxy [3] (4 sid [amd64]) [libreoffice-common:amd64 on libreoffice-style-galaxy:amd64] [libreoffice-common:amd64 ] +Inst libreoffice-core [3] (4 sid [amd64]) [libreoffice-common:amd64 on libreoffice-core:amd64] [libreoffice-common:amd64 on libreoffice-style-galaxy:amd64] [libreoffice-core:amd64 on libreoffice-common:amd64] [libreoffice-common:amd64 ] +Inst libreoffice-common [3] (4 sid [all]) [] +Inst ure (4 sid [amd64]) +Conf libreoffice (4 sid [amd64]) +Conf libreoffice-style-galaxy (4 sid [amd64]) +Conf libreoffice-core (4 sid [amd64]) +Conf libreoffice-common (4 sid [all]) +Conf ure (4 sid [amd64])' aptget dist-upgrade -s diff --git a/test/integration/test-xorg-break-providers b/test/integration/test-xorg-break-providers new file mode 100755 index 0000000..59b564a --- /dev/null +++ b/test/integration/test-xorg-break-providers @@ -0,0 +1,45 @@ +#!/bin/sh +set -e + +TESTDIR="$(readlink -f "$(dirname "$0")")" +. "$TESTDIR/framework" +setupenvironment +configarchitecture "i386" +setupaptarchive + +# the new xserver-xorg-core breaks xserver-xorg-video-6 +# which both -intel (installed) and -vesa (not installed) +# provided in their old version. +# The test ensures that only -intel will be upgraded +# (together with -core of course) and -vesa not touched. + +testfailureequal 'Reading package lists... +Building dependency tree... +The following additional packages will be installed: + xserver-xorg-video-intel +The following packages will be upgraded: + xserver-xorg-core xserver-xorg-video-intel +2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/2992 kB of archives. +After this operation, 24.6 kB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation.' aptget install xserver-xorg-core --trivial-only + +testfailureequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be upgraded: + xserver-xorg-core xserver-xorg-video-intel +2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/2992 kB of archives. +After this operation, 24.6 kB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation.' aptget upgrade --trivial-only + +testfailureequal 'Reading package lists... +Building dependency tree... +Calculating upgrade... +The following packages will be upgraded: + xserver-xorg-core xserver-xorg-video-intel +2 upgraded, 0 newly installed, 0 to remove and 0 not upgraded. +Need to get 0 B/2992 kB of archives. +After this operation, 24.6 kB of additional disk space will be used. +E: Trivial Only specified but this is not a trivial operation.' aptget dist-upgrade --trivial-only diff --git a/test/interactive-helper/CMakeLists.txt b/test/interactive-helper/CMakeLists.txt new file mode 100644 index 0000000..8e87643 --- /dev/null +++ b/test/interactive-helper/CMakeLists.txt @@ -0,0 +1,31 @@ +if(USE_SYSTEM_APTPKG) + find_library(aptpkg NAMES apt-pkg NO_PACKAGE_ROOT_PATH REQUIRED) + set(APTPKG_LIB "${aptpkg}") + # it isn't easy to link against -private, but that is by design + set(APTPRIVATE_LIB "/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}/libapt-private.so.0.0") + set(APTPRIVATE_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}") +else() + set(APTPKG_LIB "apt-pkg") + set(APTPRIVATE_LIB "apt-private") + set(APTPRIVATE_INCLUDE_DIRS "") +endif() + +add_executable(mthdcat mthdcat.cc) +target_link_libraries(mthdcat ${APTPKG_LIB}) +add_executable(testdeb testdeb.cc) +target_link_libraries(testdeb ${APTPKG_LIB}) +add_executable(extract-control extract-control.cc) +target_link_libraries(extract-control ${APTPKG_LIB}) +add_executable(aptwebserver aptwebserver.cc) +target_link_libraries(aptwebserver ${APTPKG_LIB} ${CMAKE_THREAD_LIBS_INIT}) +add_executable(aptdropprivs aptdropprivs.cc) +target_link_libraries(aptdropprivs ${APTPKG_LIB}) +add_executable(test_fileutl test_fileutl.cc) +target_link_libraries(test_fileutl ${APTPKG_LIB}) +add_executable(createdeb-cve-2020-27350 createdeb-cve-2020-27350.cc) +add_executable(longest-dependency-chain longest-dependency-chain.cc) +target_link_libraries(longest-dependency-chain ${APTPKG_LIB} ${APTPRIVATE_LIB}) +target_include_directories(longest-dependency-chain PRIVATE ${APTPRIVATE_INCLUDE_DIRS}) + +add_library(noprofile SHARED libnoprofile.c) +target_link_libraries(noprofile ${CMAKE_DL_LIBS}) diff --git a/test/interactive-helper/aptdropprivs.cc b/test/interactive-helper/aptdropprivs.cc new file mode 100644 index 0000000..1cc04f3 --- /dev/null +++ b/test/interactive-helper/aptdropprivs.cc @@ -0,0 +1,27 @@ +#include <config.h> + +#include <apt-pkg/cmndline.h> +#include <apt-pkg/configuration.h> +#include <apt-pkg/error.h> +#include <apt-pkg/fileutl.h> + +#include <unistd.h> + +int main(int const argc, const char * argv[]) +{ + CommandLine::Args Args[] = { + {'c',"config-file",0,CommandLine::ConfigFile}, + {'o',"option",0,CommandLine::ArbItem}, + {0, "user", "APT::Sandbox::User", CommandLine::HasArg}, + {0,0,0,0} + }; + + CommandLine CmdL(Args, _config); + if(CmdL.Parse(argc,argv) == false || DropPrivileges() == false) + { + _error->DumpErrors(std::cerr, GlobalError::DEBUG); + return 42; + } + + return execv(CmdL.FileList[0], const_cast<char**>(CmdL.FileList)); +} diff --git a/test/interactive-helper/aptwebserver.cc b/test/interactive-helper/aptwebserver.cc new file mode 100644 index 0000000..a305811 --- /dev/null +++ b/test/interactive-helper/aptwebserver.cc @@ -0,0 +1,1091 @@ +#include <config.h> + +#include <apt-pkg/cmndline.h> +#include <apt-pkg/configuration.h> +#include <apt-pkg/error.h> +#include <apt-pkg/fileutl.h> +#include <apt-pkg/strutl.h> + +#include "teestream.h" + +#include <cerrno> +#include <csignal> +#include <cstddef> +#include <cstdlib> +#include <cstring> +#include <ctime> +#include <dirent.h> +#include <netinet/in.h> +#include <regex.h> +#include <sys/socket.h> +#include <sys/stat.h> +#include <unistd.h> + +#include <array> +#include <algorithm> +#include <fstream> +#include <iostream> +#include <list> +#include <sstream> +#include <string> +#include <thread> +#include <unordered_map> +#include <vector> + +static std::string HTMLEncode(std::string encode) /*{{{*/ +{ + constexpr std::array<std::array<char const *,2>,6> htmlencode = {{ + {{ "&", "&" }}, + {{ "<", "<" }}, + {{ ">", ">" }}, + {{ "\"", """ }}, + {{ "'", "'" }}, + {{ "/", "/" }}, + }}; + for (auto &&h: htmlencode) + encode = SubstVar(encode, h[0], h[1]); + return encode; +} + /*}}}*/ +static std::string httpcodeToStr(int const httpcode) /*{{{*/ +{ + switch (httpcode) + { + // Informational 1xx + case 100: return _config->Find("aptwebserver::httpcode::100", "100 Continue"); + case 101: return _config->Find("aptwebserver::httpcode::101", "101 Switching Protocols"); + // Successful 2xx + case 200: return _config->Find("aptwebserver::httpcode::200", "200 OK"); + case 201: return _config->Find("aptwebserver::httpcode::201", "201 Created"); + case 202: return _config->Find("aptwebserver::httpcode::202", "202 Accepted"); + case 203: return _config->Find("aptwebserver::httpcode::203", "203 Non-Authoritative Information"); + case 204: return _config->Find("aptwebserver::httpcode::204", "204 No Content"); + case 205: return _config->Find("aptwebserver::httpcode::205", "205 Reset Content"); + case 206: return _config->Find("aptwebserver::httpcode::206", "206 Partial Content"); + // Redirections 3xx + case 300: return _config->Find("aptwebserver::httpcode::300", "300 Multiple Choices"); + case 301: return _config->Find("aptwebserver::httpcode::301", "301 Moved Permanently"); + case 302: return _config->Find("aptwebserver::httpcode::302", "302 Found"); + case 303: return _config->Find("aptwebserver::httpcode::303", "303 See Other"); + case 304: return _config->Find("aptwebserver::httpcode::304", "304 Not Modified"); + case 305: return _config->Find("aptwebserver::httpcode::305", "305 Use Proxy"); + case 307: return _config->Find("aptwebserver::httpcode::307", "307 Temporary Redirect"); + case 308: return _config->Find("aptwebserver::httpcode::308", "308 Permanent Redirect"); + // Client errors 4xx + case 400: return _config->Find("aptwebserver::httpcode::400", "400 Bad Request"); + case 401: return _config->Find("aptwebserver::httpcode::401", "401 Unauthorized"); + case 402: return _config->Find("aptwebserver::httpcode::402", "402 Payment Required"); + case 403: return _config->Find("aptwebserver::httpcode::403", "403 Forbidden"); + case 404: return _config->Find("aptwebserver::httpcode::404", "404 Not Found"); + case 405: return _config->Find("aptwebserver::httpcode::405", "405 Method Not Allowed"); + case 406: return _config->Find("aptwebserver::httpcode::406", "406 Not Acceptable"); + case 407: return _config->Find("aptwebserver::httpcode::407", "407 Proxy Authentication Required"); + case 408: return _config->Find("aptwebserver::httpcode::408", "408 Request Time-out"); + case 409: return _config->Find("aptwebserver::httpcode::409", "409 Conflict"); + case 410: return _config->Find("aptwebserver::httpcode::410", "410 Gone"); + case 411: return _config->Find("aptwebserver::httpcode::411", "411 Length Required"); + case 412: return _config->Find("aptwebserver::httpcode::412", "412 Precondition Failed"); + case 413: return _config->Find("aptwebserver::httpcode::413", "413 Request Entity Too Large"); + case 414: return _config->Find("aptwebserver::httpcode::414", "414 Request-URI Too Large"); + case 415: return _config->Find("aptwebserver::httpcode::415", "415 Unsupported Media Type"); + case 416: return _config->Find("aptwebserver::httpcode::416", "416 Requested range not satisfiable"); + case 417: return _config->Find("aptwebserver::httpcode::417", "417 Expectation Failed"); + case 418: return _config->Find("aptwebserver::httpcode::418", "418 I'm a teapot"); + // Server error 5xx + case 500: return _config->Find("aptwebserver::httpcode::500", "500 Internal Server Error"); + case 501: return _config->Find("aptwebserver::httpcode::501", "501 Not Implemented"); + case 502: return _config->Find("aptwebserver::httpcode::502", "502 Bad Gateway"); + case 503: return _config->Find("aptwebserver::httpcode::503", "503 Service Unavailable"); + case 504: return _config->Find("aptwebserver::httpcode::504", "504 Gateway Time-out"); + case 505: return _config->Find("aptwebserver::httpcode::505", "505 HTTP Version not supported"); + } + std::string codeconf, code; + strprintf(codeconf, "aptwebserver::httpcode::%i", httpcode); + strprintf(code, "%i Unknown HTTP code", httpcode); + return _config->Find(codeconf, code); +} + /*}}}*/ +static bool chunkedTransferEncoding(std::list<std::string> const &headers)/*{{{*/ +{ + if (std::find(headers.begin(), headers.end(), "Transfer-Encoding: chunked") != headers.end()) + return true; + if (_config->FindB("aptwebserver::chunked-transfer-encoding", false) == true) + return true; + return false; +} + /*}}}*/ +static bool contentTypeSet(std::list<std::string> const &headers) /*{{{*/ +{ + return std::any_of(headers.begin(), headers.end(), [](std::string const &h) { return APT::String::Startswith(h, "Content-Type:"); }); +} + /*}}}*/ +// contentTypeFromExtension /*{{{*/ +static std::string contentTypeFromExtension(std::string const &ext) +{ + auto t = _config->Find(std::string("aptwebserver::content-type::by-extension::").append(ext)); + if (APT::String::Startswith(t, "text/")) + return t.append("; charset=utf-8"); + return t; +} + /*}}}*/ +static void addFileHeaders(std::list<std::string> &headers, FileFd &data)/*{{{*/ +{ + if (chunkedTransferEncoding(headers) == false) + { + std::ostringstream contentlength; + contentlength << "Content-Length: " << data.FileSize(); + headers.push_back(contentlength.str()); + } + if (_config->FindB("aptwebserver::support::last-modified", true) == true) + { + std::string lastmodified("Last-Modified: "); + lastmodified.append(TimeRFC1123(data.ModificationTime(), false)); + headers.push_back(lastmodified); + } + if (_config->FindB("aptwebserver::content-type::guess", true) && + data.FileSize() != 0 && + contentTypeSet(headers) == false) + { + std::string const name = data.Name(); + std::string ext = flExtension(name); + if (name.empty() == false && ext.empty() == false && name != ext) + { + std::transform(ext.begin(), ext.end(), ext.begin(), ::tolower); + auto const type = contentTypeFromExtension(ext); + if (type.empty() == false) + headers.push_back(std::string("Content-Type: ").append(type)); + } + } +} + /*}}}*/ +static void addDataHeaders(std::list<std::string> &headers, std::string &data)/*{{{*/ +{ + if (chunkedTransferEncoding(headers) == false) + { + std::ostringstream contentlength; + contentlength << "Content-Length: " << data.size(); + headers.push_back(contentlength.str()); + } +} + /*}}}*/ +static bool sendHead(std::ostream &log, int const client, int const httpcode, std::list<std::string> &headers)/*{{{*/ +{ + std::string response("HTTP/1.1 "); + response.append(httpcodeToStr(httpcode)); + headers.push_front(response); + _config->Set("APTWebserver::Last-Status-Code", httpcode); + + std::stringstream buffer; + auto const empties = _config->FindVector("aptwebserver::empty-response-header"); + for (auto const &e: empties) + buffer << e << ":" << std::endl; + _config->Dump(buffer, "aptwebserver::response-header", "%t: %v%n", false); + std::vector<std::string> addheaders = VectorizeString(buffer.str(), '\n'); + for (std::vector<std::string>::const_iterator h = addheaders.begin(); h != addheaders.end(); ++h) + headers.push_back(*h); + + std::string date("Date: "); + date.append(TimeRFC1123(time(NULL), false)); + headers.push_back(date); + + if (chunkedTransferEncoding(headers) == true) + headers.push_back("Transfer-Encoding: chunked"); + + log << ">>> RESPONSE to " << client << " >>>" << std::endl; + bool Success = true; + for (std::list<std::string>::const_iterator h = headers.begin(); + Success == true && h != headers.end(); ++h) + { + Success &= FileFd::Write(client, h->c_str(), h->size()); + if (Success == true) + Success &= FileFd::Write(client, "\r\n", 2); + log << *h << std::endl; + } + if (Success == true) + Success &= FileFd::Write(client, "\r\n", 2); + log << "<<<<<<<<<<<<<<<<" << std::endl; + return Success; +} + /*}}}*/ +static bool sendFile(int const client, std::list<std::string> const &headers, FileFd &data)/*{{{*/ +{ + bool Success = true; + bool const chunked = chunkedTransferEncoding(headers); + char buffer[500]; + unsigned long long actual = 0; + while ((Success &= data.Read(buffer, sizeof(buffer), &actual)) == true) + { + if (actual == 0) + break; + + if (chunked == true) + { + std::string size; + strprintf(size, "%llX\r\n", actual); + Success &= FileFd::Write(client, size.c_str(), size.size()); + Success &= FileFd::Write(client, buffer, actual); + Success &= FileFd::Write(client, "\r\n", strlen("\r\n")); + } + else + Success &= FileFd::Write(client, buffer, actual); + } + if (chunked == true) + { + char const * const finish = "0\r\n\r\n"; + Success &= FileFd::Write(client, finish, strlen(finish)); + } + if (Success == false) + std::cerr << "SENDFILE:" << (chunked ? " CHUNKED" : "") << " READ/WRITE ERROR to " << client << std::endl; + return Success; +} + /*}}}*/ +static bool sendData(int const client, std::list<std::string> const &headers, std::string const &data)/*{{{*/ +{ + if (chunkedTransferEncoding(headers) == true) + { + unsigned long long const ullsize = data.length(); + std::string size; + strprintf(size, "%llX\r\n", ullsize); + char const * const finish = "\r\n0\r\n\r\n"; + if (FileFd::Write(client, size.c_str(), size.length()) == false || + FileFd::Write(client, data.c_str(), ullsize) == false || + FileFd::Write(client, finish, strlen(finish)) == false) + { + std::cerr << "SENDDATA: CHUNK WRITE ERROR to " << client << std::endl; + return false; + } + } + else if (FileFd::Write(client, data.c_str(), data.size()) == false) + { + std::cerr << "SENDDATA: WRITE ERROR to " << client << std::endl; + return false; + } + return true; +} + /*}}}*/ +static void sendError(std::ostream &log, int const client, int const httpcode, std::string const &request,/*{{{*/ + bool const content, std::string const &error, std::list<std::string> &headers) +{ + auto const quotedCode = HTMLEncode(httpcodeToStr(httpcode)); + std::string response("<!doctype html><html><head><title>"); + response.append(quotedCode).append("</title><meta charset=\"utf-8\" /></head>"); + response.append("<body><h1>").append(quotedCode).append("</h1>"); + if (httpcode != 200) + response.append("<p><em>Error</em>: "); + else + response.append("<p><em>Success</em>: "); + if (error.empty() == false) + response.append(HTMLEncode(error)); + else + response.append(quotedCode); + if (httpcode != 200) + response.append("</p>This error is a result of the request: <pre>"); + else + response.append("The successfully executed operation was requested by: <pre>"); + response.append(HTMLEncode(request)).append("</pre></body></html>"); + if (httpcode != 200) + { + if (_config->FindB("aptwebserver::closeOnError", false) == true) + headers.push_back("Connection: close"); + } + addDataHeaders(headers, response); + + if (contentTypeSet(headers) == false) + headers.push_back("Content-Type: text/html; charset=utf-8"); + + sendHead(log, client, httpcode, headers); + if (content == true) + sendData(client, headers, response); +} +static void sendSuccess(std::ostream &log, int const client, std::string const &request, + bool const content, std::string const &error, std::list<std::string> &headers) +{ + sendError(log, client, 200, request, content, error, headers); +} + /*}}}*/ +static void sendRedirect(std::ostream &log, int const client, int const httpcode,/*{{{*/ + std::string const &uri, std::string const &request, bool content) +{ + std::list<std::string> headers; + auto const quotedCode = HTMLEncode(httpcodeToStr(httpcode)); + std::string response("<!doctype html><html><head><title>"); + response.append(quotedCode).append("</title><meta charset=\"utf-8\" /></head>"); + response.append("<body><h1>").append(quotedCode).append("</h1"); + response.append("<p>You should be redirected to <em>").append(HTMLEncode(uri)).append("</em></p>"); + response.append("This page is a result of the request: <pre>"); + response.append(HTMLEncode(request)).append("</pre></body></html>"); + addDataHeaders(headers, response); + std::string location("Location: "); + if (strncmp(uri.c_str(), "http://", 7) != 0 && strncmp(uri.c_str(), "https://", 8) != 0) + { + std::string const host = LookupTag(request, "Host"); + unsigned int const httpsport = _config->FindI("aptwebserver::port::https", 4433); + std::string hosthttpsport; + strprintf(hosthttpsport, ":%u", httpsport); + if (host.find(hosthttpsport) != std::string::npos) + location.append("https://"); + else + location.append("http://"); + location.append(host).append("/"); + if (strncmp("/home/", uri.c_str(), strlen("/home/")) == 0 && uri.find("/public_html/") != std::string::npos) + { + std::string homeuri = SubstVar(uri, "/home/", "~"); + homeuri = SubstVar(homeuri, "/public_html/", "/"); + location.append(homeuri); + } + else + location.append(uri); + } + else + location.append(uri); + headers.push_back(location); + + if (contentTypeSet(headers) == false) + headers.push_back("Content-Type: text/html; charset=utf-8"); + + sendHead(log, client, httpcode, headers); + if (content == true) + sendData(client, headers, response); +} + /*}}}*/ +static int filter_hidden_files(const struct dirent *a) /*{{{*/ +{ + if (a->d_name[0] == '.') + return 0; +#ifdef _DIRENT_HAVE_D_TYPE + // if we have the d_type check that only files and dirs will be included + if (a->d_type != DT_UNKNOWN && + a->d_type != DT_REG && + a->d_type != DT_LNK && // this includes links to regular files + a->d_type != DT_DIR) + return 0; +#endif + return 1; +} +static int grouped_alpha_case_sort(const struct dirent **a, const struct dirent **b) { +#ifdef _DIRENT_HAVE_D_TYPE + if ((*a)->d_type == DT_DIR && (*b)->d_type == DT_DIR); + else if ((*a)->d_type == DT_DIR && (*b)->d_type == DT_REG) + return -1; + else if ((*b)->d_type == DT_DIR && (*a)->d_type == DT_REG) + return 1; + else +#endif + { + struct stat f_prop; //File's property + stat((*a)->d_name, &f_prop); + int const amode = f_prop.st_mode; + stat((*b)->d_name, &f_prop); + int const bmode = f_prop.st_mode; + if (S_ISDIR(amode) && S_ISDIR(bmode)); + else if (S_ISDIR(amode)) + return -1; + else if (S_ISDIR(bmode)) + return 1; + } + return strcasecmp((*a)->d_name, (*b)->d_name); +} + /*}}}*/ +static void sendDirectoryListing(std::ostream &log, int const client, std::string const &dir,/*{{{*/ + std::string const &request, bool content, std::list<std::string> &headers) +{ + struct dirent **namelist; + int const counter = scandir(dir.c_str(), &namelist, filter_hidden_files, grouped_alpha_case_sort); + if (counter == -1) + { + sendError(log, client, 500, request, content, "scandir failed", headers); + return; + } + + std::ostringstream listing; + std::string const quotedDir = HTMLEncode(dir); + listing << "<!doctype html><html><head><title>Index of " << quotedDir << "</title><meta charset=\"utf-8\" />" + << "<style type=\"text/css\"><!-- td {padding: 0.02em 0.5em 0.02em 0.5em;}" + << "tr:nth-child(even){background-color:#dfdfdf;}" + << "h1, td:nth-child(3){text-align:center;}" + << "table {margin-left:auto;margin-right:auto;} --></style>" + << "</head>" << std::endl + << "<body><h1>Index of " << quotedDir << "</h1>" << std::endl + << "<table><tr><th>#</th><th>Name</th><th>Size</th><th>Last-Modified</th></tr>" << std::endl; + if (dir != "./") + listing << "<tr><td>d</td><td><a href=\"..\">Parent Directory</a></td><td>-</td><td>-</td></tr>"; + for (int i = 0; i < counter; ++i) { + struct stat fs; + std::string filename(dir); + filename.append("/").append(namelist[i]->d_name); + stat(filename.c_str(), &fs); + std::string const quotedHref = QuoteString(namelist[i]->d_name, "\"\\/#?"); + std::string const quotedName = HTMLEncode(namelist[i]->d_name); + bool const isDir = S_ISDIR(fs.st_mode); + listing << "<tr><td>" << (isDir ? 'd' : 'f') << "</td>" + << "<td><a href=\"./" << quotedHref << (isDir ? "/" : "") <<"\">" << quotedName << "</a></td>" + << "<td>" << (isDir ? "-" : SizeToStr(fs.st_size).append("B")) << "</td>" + << "<td>" << TimeRFC1123(fs.st_mtime, true) << "</td></tr>\n"; + } + listing << "</table></body></html>" << std::endl; + + if (contentTypeSet(headers) == false) + headers.push_back("Content-Type: text/html; charset=utf-8"); + + std::string response(listing.str()); + addDataHeaders(headers, response); + sendHead(log, client, 200, headers); + if (content == true) + sendData(client, headers, response); +} + /*}}}*/ +static bool parseFirstLine(std::ostream &log, int const client, std::string const &request,/*{{{*/ + std::string &filename, std::string ¶ms, bool &sendContent, + bool &closeConnection, std::list<std::string> &headers) +{ + if (strncmp(request.c_str(), "HEAD ", 5) == 0) + sendContent = false; + if (strncmp(request.c_str(), "GET ", 4) != 0) + { + sendError(log, client, 501, request, true, "", headers); + return false; + } + + size_t const lineend = request.find('\n'); + size_t filestart = request.find(' '); + for (; request[filestart] == ' '; ++filestart); + size_t fileend = request.rfind(' ', lineend); + if (lineend == std::string::npos || filestart == std::string::npos || + fileend == std::string::npos || filestart == fileend) + { + sendError(log, client, 500, request, sendContent, "Filename can't be extracted", headers); + return false; + } + + size_t httpstart = fileend; + for (; request[httpstart] == ' '; ++httpstart); + if (strncmp(request.c_str() + httpstart, "HTTP/1.1\r", 9) == 0) + closeConnection = strcasecmp(LookupTag(request, "Connection", "Keep-Alive").c_str(), "Keep-Alive") != 0; + else if (strncmp(request.c_str() + httpstart, "HTTP/1.0\r", 9) == 0) + closeConnection = strcasecmp(LookupTag(request, "Connection", "Keep-Alive").c_str(), "close") == 0; + else + { + sendError(log, client, 500, request, sendContent, "Not an HTTP/1.{0,1} request", headers); + return false; + } + + filename = request.substr(filestart, fileend - filestart); + if (filename.find(' ') != std::string::npos) + { + sendError(log, client, 500, request, sendContent, "Filename contains an unencoded space", headers); + return false; + } + + std::string host = LookupTag(request, "Host", ""); + if (host.empty() == true) + { + // RFC 2616 §14.23 requires Host + sendError(log, client, 400, request, sendContent, "Host header is required", headers); + return false; + } + host = "http://" + host; + + // Proxies require absolute uris, so this is a simple proxy-fake option + std::string const absolute = _config->Find("aptwebserver::request::absolute", "uri,path"); + if (strncmp(host.c_str(), filename.c_str(), host.length()) == 0 && APT::String::Startswith(filename, "/_config/") == false) + { + if (absolute.find("uri") == std::string::npos) + { + sendError(log, client, 400, request, sendContent, "Request is absoluteURI, but configured to not accept that", headers); + return false; + } + + // strip the host from the request to make it an absolute path + filename.erase(0, host.length()); + + std::string const authConf = _config->Find("aptwebserver::proxy-authorization", ""); + std::string auth = LookupTag(request, "Proxy-Authorization", ""); + if (authConf.empty() != auth.empty()) + { + if (auth.empty()) + sendError(log, client, 407, request, sendContent, "Proxy requires authentication", headers); + else + sendError(log, client, 407, request, sendContent, "Client wants to authenticate to proxy, but proxy doesn't need it", headers); + return false; + } + if (authConf.empty() == false) + { + char const * const basic = "Basic "; + if (strncmp(auth.c_str(), basic, strlen(basic)) == 0) + { + auth.erase(0, strlen(basic)); + if (auth != authConf) + { + sendError(log, client, 407, request, sendContent, "Proxy-Authentication doesn't match", headers); + return false; + } + } + else + { + std::list<std::string> headers; + headers.push_back("Proxy-Authenticate: Basic"); + sendError(log, client, 407, request, sendContent, "Unsupported Proxy-Authentication Scheme", headers); + return false; + } + } + } + else if (absolute.find("path") == std::string::npos && APT::String::Startswith(filename, "/_config/") == false) + { + sendError(log, client, 400, request, sendContent, "Request is absolutePath, but configured to not accept that", headers); + return false; + } + + if (APT::String::Startswith(filename, "/_config/") == false) + { + std::string const authConf = _config->Find("aptwebserver::authorization", ""); + std::string auth = LookupTag(request, "Authorization", ""); + if (authConf.empty() != auth.empty()) + { + if (auth.empty()) + sendError(log, client, 401, request, sendContent, "Server requires authentication", headers); + else + sendError(log, client, 401, request, sendContent, "Client wants to authenticate to server, but server doesn't need it", headers); + return false; + } + if (authConf.empty() == false) + { + char const * const basic = "Basic "; + if (strncmp(auth.c_str(), basic, strlen(basic)) == 0) + { + auth.erase(0, strlen(basic)); + if (auth != authConf) + { + sendError(log, client, 401, request, sendContent, "Authentication doesn't match", headers); + return false; + } + } + else + { + headers.push_back("WWW-Authenticate: Basic"); + sendError(log, client, 401, request, sendContent, "Unsupported Authentication Scheme", headers); + return false; + } + } + } + + size_t paramspos = filename.find('?'); + if (paramspos != std::string::npos) + { + params = filename.substr(paramspos + 1); + filename.erase(paramspos); + } + else if (APT::String::Startswith(filename, "/_config/")) + { + filename.erase(0, 1); + return true; + } + + filename = DeQuoteString(filename); + + // this is not a secure server, but at least prevent the obvious … + if (filename.empty() == true || filename[0] != '/' || + strncmp(filename.c_str(), "//", 2) == 0 || + filename.find_first_of("\r\n\t\f\v") != std::string::npos || + filename.find("/../") != std::string::npos) + { + std::list<std::string> headers; + sendError(log, client, 400, request, sendContent, "Filename contains illegal character (sequence)", headers); + return false; + } + + // nuke the first character which is a / as we assured above + filename.erase(0, 1); + if (filename.empty() == true) + filename = "./"; + // support ~user/ uris to refer to /home/user/public_html/ as a kind-of special directory + else if (filename[0] == '~') + { + // /home/user is actually not entirely correct, but good enough for now + size_t dashpos = filename.find('/'); + if (dashpos != std::string::npos) + { + std::string home = filename.substr(1, filename.find('/') - 1); + std::string pubhtml = filename.substr(filename.find('/') + 1); + filename = "/home/" + home + "/public_html/" + pubhtml; + } + else + filename = "/home/" + filename.substr(1) + "/public_html/"; + } + + // if no filename is given, but a valid directory see if we can use an index or + // have to resort to a autogenerated directory listing later on + if (DirectoryExists(filename) == true) + { + std::string const directoryIndex = _config->Find("aptwebserver::directoryindex"); + if (directoryIndex.empty() == false && directoryIndex == flNotDir(directoryIndex) && + RealFileExists(filename + directoryIndex) == true) + filename += directoryIndex; + } + + return true; +} + /*}}}*/ +static bool handleOnTheFlyReconfiguration(std::ostream &log, int const client,/*{{{*/ + std::string const &request, std::vector<std::string> const &EncodedParts, std::list<std::string> &headers) +{ + size_t const pcount = EncodedParts.size(); + std::vector<std::string> parts(pcount); + for (size_t i = 0; i < pcount; ++i) + parts[i] = DeQuoteString(EncodedParts[i]); + if (pcount == 4 && parts[1] == "set") + { + _config->Set(parts[2], parts[3]); + sendSuccess(log, client, request, true, "Option '" + parts[2] + "' was set to '" + parts[3] + "'!", headers); + return true; + } + else if (pcount == 4 && parts[1] == "find") + { + std::string response = _config->Find(parts[2], parts[3]); + addDataHeaders(headers, response); + if (contentTypeSet(headers) == false) + headers.push_back("Content-Type: text/plain; charset=utf-8"); + sendHead(log, client, 200, headers); + sendData(client, headers, response); + return true; + } + else if (pcount == 3 && parts[1] == "find") + { + if (_config->Exists(parts[2]) == true) + { + std::string response = _config->Find(parts[2]); + addDataHeaders(headers, response); + if (contentTypeSet(headers) == false) + headers.push_back("Content-Type: text/plain; charset=utf-8"); + sendHead(log, client, 200, headers); + sendData(client, headers, response); + return true; + } + sendError(log, client, 404, request, true, "Requested Configuration option doesn't exist", headers); + return false; + } + else if (pcount == 3 && parts[1] == "clear") + { + _config->Clear(parts[2]); + sendSuccess(log, client, request, true, "Option '" + parts[2] + "' was cleared.", headers); + return true; + } + + sendError(log, client, 400, request, true, "Unknown on-the-fly configuration request", headers); + return false; +} + /*}}}*/ +static void * handleClient(int const client, size_t const id) /*{{{*/ +{ + auto logfilepath = _config->FindFile("aptwebserver::logfiles"); + if (logfilepath.empty() == false) + strprintf(logfilepath, "%s.client-%lu.log", logfilepath.c_str(), id); + else + logfilepath = "/dev/null"; + std::ofstream logfile(logfilepath); + basic_teeostream<char> log(std::clog, logfile); + + log << "ACCEPT client " << client << std::endl; + bool closeConnection = false; + while (closeConnection == false) + { + std::vector<std::string> messages; + if (ReadMessages(client, messages) == false) + break; + + std::list<std::string> headers; + for (std::vector<std::string>::const_iterator m = messages.begin(); + m != messages.end() && closeConnection == false; ++m) { + // if we announced a closing in previous response, do the close now + if (std::find(headers.begin(), headers.end(), std::string("Connection: close")) != headers.end()) + { + closeConnection = true; + break; + } + headers.clear(); + + log << ">>> REQUEST from " << client << " >>>" << std::endl << *m + << std::endl << "<<<<<<<<<<<<<<<<" << std::endl; + std::string filename; + std::string params; + bool sendContent = true; + if (parseFirstLine(log, client, *m, filename, params, sendContent, closeConnection, headers) == false) + continue; + + // special webserver command request + if (filename.length() > 1 && filename[0] == '_') + { + auto const parts = VectorizeString(filename, '/'); + if (parts[0] == "_config") + { + handleOnTheFlyReconfiguration(log, client, *m, parts, headers); + continue; + } + } + + // string replacements in the requested filename + ::Configuration::Item const *Replaces = _config->Tree("aptwebserver::redirect::replace"); + if (Replaces != NULL) + { + std::string redirect = "/" + filename; + for (::Configuration::Item *I = Replaces->Child; I != NULL; I = I->Next) + redirect = SubstVar(redirect, I->Tag, I->Value); + if (redirect.empty() == false && redirect[0] == '/') + redirect.erase(0,1); + if (redirect != filename) + { + sendRedirect(log, client, _config->FindI("aptwebserver::redirect::httpcode", 301), redirect, *m, sendContent); + continue; + } + } + + ::Configuration::Item const *Overwrite = _config->Tree("aptwebserver::overwrite"); + if (Overwrite != NULL) + { + for (::Configuration::Item *I = Overwrite->Child; I != NULL; I = I->Next) + { + regex_t *pattern = new regex_t; + int const res = regcomp(pattern, I->Tag.c_str(), REG_EXTENDED | REG_ICASE | REG_NOSUB); + if (res != 0) + { + char error[300]; + regerror(res, pattern, error, sizeof(error)); + sendError(log, client, 500, *m, sendContent, error, headers); + continue; + } + if (regexec(pattern, filename.c_str(), 0, 0, 0) == 0) + { + filename = _config->Find("aptwebserver::overwrite::" + I->Tag + "::filename", flNotDir(filename)); + if (filename.find("/") == std::string::npos) + { + auto directory = _config->Find("aptwebserver::overwrite::" + I->Tag + "::directory", flNotFile(filename)); + filename = flCombine(directory, filename); + } + if (filename.empty() == false && filename[0] == '/') + filename.erase(0,1); + if (filename.empty()) + filename = "./"; + regfree(pattern); + break; + } + regfree(pattern); + } + } + + // automatic retry can be tested with this + { + int failrequests = _config->FindI("aptwebserver::failrequest::" + filename, 0); + if (failrequests != 0) + { + --failrequests; + _config->Set(("aptwebserver::failrequest::" + filename).c_str(), failrequests); + sendError(log, client, _config->FindI("aptwebserver::failrequest", 400), *m, sendContent, "Server is configured to fail this file.", headers); + continue; + } + } + + // deal with the request + unsigned int const httpsport = _config->FindI("aptwebserver::port::https", 4433); + std::string hosthttpsport; + strprintf(hosthttpsport, ":%u", httpsport); + if (_config->FindB("aptwebserver::support::http", true) == false && + LookupTag(*m, "Host").find(hosthttpsport) == std::string::npos) + { + sendError(log, client, 400, *m, sendContent, "HTTP disabled, all requests must be HTTPS", headers); + continue; + } + else if (RealFileExists(filename) == true) + { + FileFd data(filename, FileFd::ReadOnly); + std::string condition = LookupTag(*m, "If-Modified-Since", ""); + if (_config->FindB("aptwebserver::support::modified-since", true) == true && condition.empty() == false) + { + time_t cache; + if (RFC1123StrToTime(condition, cache) == true && + cache >= data.ModificationTime()) + { + sendHead(log, client, 304, headers); + continue; + } + } + + if (_config->FindB("aptwebserver::support::range", true) == true) + condition = LookupTag(*m, "Range", ""); + else + condition.clear(); + if (condition.empty() == false && strncmp(condition.c_str(), "bytes=", 6) == 0) + { + std::string ranges = ',' + _config->Find("aptwebserver::response-header::Accept-Ranges") + ','; + ranges.erase(std::remove(ranges.begin(), ranges.end(), ' '), ranges.end()); + if (ranges.find(",bytes,") == std::string::npos) + { + // we handle it as an error here because we are a test server - a real one should just ignore it + sendError(log, client, 400, *m, sendContent, "Client does range requests we don't support", headers); + continue; + } + + time_t cache; + std::string ifrange; + if (_config->FindB("aptwebserver::support::if-range", true) == true) + ifrange = LookupTag(*m, "If-Range", ""); + bool validrange = (ifrange.empty() == true || + (RFC1123StrToTime(ifrange, cache) == true && + cache == data.ModificationTime())); + + // FIXME: support multiple byte-ranges (APT clients do not do this) + if (condition.find(',') == std::string::npos) + { + size_t start = 6; + unsigned long long filestart = strtoull(condition.c_str() + start, NULL, 10); + // FIXME: no support for last-byte-pos being not the end of the file (APT clients do not do this) + size_t dash = condition.find('-') + 1; + unsigned long long fileend = strtoull(condition.c_str() + dash, NULL, 10); + unsigned long long filesize = data.FileSize(); + if ((fileend == 0 || (fileend == filesize && fileend >= filestart)) && + validrange == true) + { + if (filesize > filestart) + { + data.Skip(filestart); + // make sure to send content-range before conent-length + // as regression test for LP: #1445239 + std::ostringstream contentrange; + contentrange << "Content-Range: bytes " << filestart << "-" + << filesize - 1 << "/" << filesize; + headers.push_back(contentrange.str()); + std::ostringstream contentlength; + contentlength << "Content-Length: " << (filesize - filestart); + headers.push_back(contentlength.str()); + sendHead(log, client, 206, headers); + if (sendContent == true) + sendFile(client, headers, data); + continue; + } + else + { + if (_config->FindB("aptwebserver::support::content-range", true) == true) + { + std::ostringstream contentrange; + contentrange << "Content-Range: bytes */" << filesize; + headers.push_back(contentrange.str()); + } + sendError(log, client, 416, *m, sendContent, "", headers); + continue; + } + } + } + } + + addFileHeaders(headers, data); + sendHead(log, client, 200, headers); + if (sendContent == true) + sendFile(client, headers, data); + } + else if (DirectoryExists(filename) == true) + { + if (filename[filename.length()-1] == '/') + sendDirectoryListing(log, client, filename, *m, sendContent, headers); + else + sendRedirect(log, client, 301, filename.append("/"), *m, sendContent); + } + else + sendError(log, client, 404, *m, sendContent, "", headers); + } + + // if we announced a closing in the last response, do the close now + if (std::find(headers.begin(), headers.end(), std::string("Connection: close")) != headers.end()) + closeConnection = true; + + if (_error->PendingError() == true) + break; + _error->DumpErrors(std::cerr); + } + _error->DumpErrors(std::cerr); + close(client); + log << "CLOSE client " << client << std::endl; + return NULL; +} + /*}}}*/ +static void loadMimeTypesFile(std::string const &filename) /*{{{*/ +{ + if (FileExists(filename) == false) + return; + + std::string line; + FileFd mimetypes(filename, FileFd::ReadOnly); + while (mimetypes.ReadLine(line)) + { + if (line.empty() || line[0] == '#' || line.find_first_not_of(" \t\r") == std::string::npos) + continue; + std::transform(line.begin(), line.end(), line.begin(), [](char const c) { return c == ' ' ? '\t' : c; }); + auto l = VectorizeString(line, '\t'); + l.erase(std::remove_if(l.begin(), l.end(), [](std::string const &f) { return f.empty(); }), l.end()); + if (l.size() < 2) + continue; + for (size_t i = 1; i < l.size(); ++i) + if (l[i].empty() == false) + _config->CndSet(std::string("aptwebserver::content-type::by-extension::").append(l[i]).c_str(), l[0]); + } +} + /*}}}*/ + +int main(int const argc, const char * argv[]) +{ + CommandLine::Args Args[] = { + {'p', "port", "aptwebserver::port", CommandLine::HasArg}, + {0, "request-absolute", "aptwebserver::request::absolute", CommandLine::HasArg}, + {0, "authorization", "aptwebserver::authorization", CommandLine::HasArg}, + {0, "proxy-authorization", "aptwebserver::proxy-authorization", CommandLine::HasArg}, + {0, "logfiles", "aptwebserver::logfiles", CommandLine::HasArg}, + {'c',"config-file",0,CommandLine::ConfigFile}, + {'o',"option",0,CommandLine::ArbItem}, + {0,0,0,0} + }; + + CommandLine CmdL(Args, _config); + if(CmdL.Parse(argc,argv) == false) + { + _error->DumpErrors(); + exit(1); + } + + if (_config->FindB("aptwebserver::content-type::mime.types", true)) + { + if (_config->FindB("aptwebserver::content-type::mime.types::apt", true)) + loadMimeTypesFile("/etc/apt/mime.types"); + + if (_config->FindB("aptwebserver::content-type::mime.types::home", true)) + { + auto const home = getenv("HOME"); + if (home != nullptr) + loadMimeTypesFile(flCombine(home, ".mime.types")); + } + + if (_config->FindB("aptwebserver::content-type::mime.types::etc", true)) + loadMimeTypesFile("/etc/mime.types"); + } + + // create socket, bind and listen to it {{{ + // ignore SIGPIPE, this can happen on write() if the socket closes connection + signal(SIGPIPE, SIG_IGN); + // ignore worker processes exiting, as we don't want to cause them to stay + // around as zombies because we're busy. + signal(SIGCHLD, SIG_IGN); + + int sock = socket(AF_INET6, SOCK_STREAM, 0); + if(sock < 0) + { + _error->Errno("aptwerbserver", "Couldn't create socket"); + _error->DumpErrors(std::cerr); + return 1; + } + + int port = _config->FindI("aptwebserver::port", 8080); + + // ensure that we accept all connections: v4 or v6 + int const iponly = 0; + setsockopt(sock, IPPROTO_IPV6, IPV6_V6ONLY, &iponly, sizeof(iponly)); + // to not linger on an address + int const enable = 1; + setsockopt(sock, SOL_SOCKET, SO_REUSEADDR, &enable, sizeof(enable)); + + struct sockaddr_in6 locAddr; + memset(&locAddr, 0, sizeof(locAddr)); + locAddr.sin6_family = AF_INET6; + locAddr.sin6_port = htons(port); + locAddr.sin6_addr = in6addr_any; + + if (bind(sock, (struct sockaddr*) &locAddr, sizeof(locAddr)) < 0) + { + _error->Errno("aptwerbserver", "Couldn't bind"); + _error->DumpErrors(std::cerr); + return 2; + } + + if (port == 0) + { + struct sockaddr_in6 addr; + socklen_t addrlen = sizeof(sockaddr_in6); + if (getsockname(sock, (struct sockaddr*) &addr, &addrlen) != 0) + _error->Errno("getsockname", "Could not get chosen port number"); + else + port = ntohs(addr.sin6_port); + } + std::string const portfilename = _config->Find("aptwebserver::portfile", ""); + if (portfilename.empty() == false) + { + FileFd portfile(portfilename, FileFd::WriteOnly | FileFd::Create | FileFd::Empty); + std::string portcontent; + strprintf(portcontent, "%d", port); + portfile.Write(portcontent.c_str(), portcontent.size()); + portfile.Sync(); + } + _config->Set("aptwebserver::port::http", port); + + FileFd pidfile; + if (_config->FindB("aptwebserver::fork", false) == true) + { + std::string const pidfilename = _config->Find("aptwebserver::pidfile", "aptwebserver.pid"); + int const pidfilefd = GetLock(pidfilename); + if (pidfilefd < 0 || pidfile.OpenDescriptor(pidfilefd, FileFd::WriteOnly) == false) + { + _error->Errno("aptwebserver", "Couldn't acquire lock on pidfile '%s'", pidfilename.c_str()); + _error->DumpErrors(std::cerr); + return 3; + } + + pid_t child = fork(); + if (child < 0) + { + _error->Errno("aptwebserver", "Forking failed"); + _error->DumpErrors(std::cerr); + return 4; + } + else if (child != 0) + { + // successfully forked: ready to serve! + std::string pidcontent; + strprintf(pidcontent, "%d", child); + pidfile.Write(pidcontent.c_str(), pidcontent.size()); + pidfile.Sync(); + if (_error->PendingError() == true) + { + _error->DumpErrors(std::cerr); + return 5; + } + std::cout << "Successfully forked as " << child << std::endl; + return 0; + } + } + + std::clog << "Serving ANY file on port: " << port << std::endl; + + int const workers = _config->FindI("aptwebserver::workers", SOMAXCONN); + std::cerr << "WORKERS: " << workers << std::endl; + listen(sock, workers); + /*}}}*/ + + _config->CndSet("aptwebserver::response-header::Server", "APT webserver"); + _config->CndSet("aptwebserver::response-header::Accept-Ranges", "bytes"); + _config->CndSet("aptwebserver::directoryindex", "index.html"); + APT::Configuration::getCompressors(); + + size_t id = 0; + while (true) + { + int client = accept(sock, NULL, NULL); + if (client == -1) + { + if (errno == EINTR) + continue; + _error->Errno("accept", "Couldn't accept client on socket %d", sock); + _error->DumpErrors(std::cerr); + return 6; + } + + std::thread t(handleClient, client, ++id); + t.detach(); + } + pidfile.Close(); + + return 0; +} diff --git a/test/interactive-helper/createdeb-cve-2020-27350.cc b/test/interactive-helper/createdeb-cve-2020-27350.cc new file mode 100644 index 0000000..84d1cfa --- /dev/null +++ b/test/interactive-helper/createdeb-cve-2020-27350.cc @@ -0,0 +1,369 @@ +#include <config.h> + +#include <cerrno> +#include <cstdint> +#include <cstdio> +#include <cstdlib> +#include <cstring> +#include <fcntl.h> +#include <sys/stat.h> +#include <sys/types.h> +#include <unistd.h> + +struct Header +{ + char Name[16]; + char MTime[12]; + char UID[6]; + char GID[6]; + char Mode[8]; + char Size[10]; + char Magic[2]; +}; + +struct TarHeader +{ + char Name[100]; + char Mode[8]; + char UserID[8]; + char GroupID[8]; + char Size[12]; + char MTime[12]; + char Checksum[8]; + char LinkFlag; + char LinkName[100]; + char MagicNumber[8]; + char UserName[32]; + char GroupName[32]; + char Major[8]; + char Minor[8]; +}; + +// Call `write` and check the result. +static void write_chk(int fd, const void *buf, size_t count) +{ + const ssize_t wr = write(fd, buf, count); + if (wr < 0) + { + const int err = errno; + fprintf(stderr, "Write failed: %s\n", strerror(err)); + exit(EXIT_FAILURE); + } + if ((size_t)wr != count) + { + fprintf(stderr, "Incomplete write.\n"); + exit(EXIT_FAILURE); + } +} + +// Triggers a negative integer overflow at https://git.launchpad.net/ubuntu/+source/apt/tree/apt-pkg/contrib/arfile.cc?h=applied/ubuntu/focal-updates&id=4c264e60b524855b211751e1632ba48526f6b44d#n116: +// +// Memb->Size -= Len; +// +// Due to the integer overflow, the value of Memb->Size is 0xFFFFFFFFFFFFFFFF. +// This leads to an out-of-memory error at https://git.launchpad.net/ubuntu/+source/python-apt/tree/python/arfile.cc?h=applied/ubuntu/focal-updates&id=0f7cc93acdb51d943114f1cd79002288c4ca4d24#n602: +// +// char* value = new char[member->Size]; +// +// The out-of-memory error causes aptd to crash. +static void createdeb_crash(const int fd) +{ + // Magic number + static const char *magic = "!<arch>\n"; + write_chk(fd, magic, strlen(magic)); + + struct Header h; + memset(&h, 0, sizeof(h)); + + memcpy(h.Name, "control.tar ", sizeof(h.Name)); + write_chk(fd, &h, sizeof(h)); + + memset(&h, 0, sizeof(h)); + memcpy(h.Name, "data.tar ", sizeof(h.Name)); + write_chk(fd, &h, sizeof(h)); + + memset(&h, 0, sizeof(h)); + memcpy(h.Name, "#1/13 ", sizeof(h.Name)); + strcpy(h.Size, "12"); + write_chk(fd, &h, sizeof(h)); + write_chk(fd, "debian-binary", 13); +} + +// Triggers an infinite loop in `ARArchive::LoadHeaders()`. +// The bug is due to the use of `strtoul` at https://git.launchpad.net/ubuntu/+source/apt/tree/apt-pkg/contrib/strutl.cc?h=applied/ubuntu/focal-updates&id=4c264e60b524855b211751e1632ba48526f6b44d#n1169: +// +// Res = strtoul(S,&End,Base); +// +// The problem is that `strtoul` accepts negative numbers. We exploit that here by setting the size string to "-60". +static void createdeb_loop(const int fd) +{ + // Magic number + static const char *magic = "!<arch>\n"; + write_chk(fd, magic, strlen(magic)); + + struct Header h; + memset(&h, 0, sizeof(h)); + + memcpy(h.Name, "#1/20 ", sizeof(h.Name)); + strcpy(h.Size, "-60"); + write_chk(fd, &h, sizeof(h)); + + char buf[20]; + memset(buf, 0, sizeof(buf)); + write_chk(fd, buf, sizeof(buf)); +} + +// Leaks a file descriptor in `debfile_new()`: +// +// https://git.launchpad.net/python-apt/tree/python/arfile.cc?h=2.0.0#n588 +// +// If the .deb file is invalid then the function returns without deleting +// `self`, which means that the file descriptor isn't closed. +static void createdeb_leakfd(const int fd) +{ + // Magic number + static const char *magic = "!<arch>\n"; + write_chk(fd, magic, strlen(magic)); + + struct Header h; + memset(&h, 0, sizeof(h)); + + memset(&h, 0, sizeof(h)); + memcpy(h.Name, "data.tar ", sizeof(h.Name)); + write_chk(fd, &h, sizeof(h)); +} + +static void set_checksum(unsigned char block[512]) +{ + struct TarHeader *tar = (struct TarHeader *)&block[0]; + memset(tar->Checksum, ' ', sizeof(tar->Checksum)); + uint32_t sum = 0; + for (int i = 0; i < 512; i++) + { + sum += block[i]; + } + snprintf(tar->Checksum, sizeof(tar->Checksum), "%o", sum); +} +static void base256_encode(char *Str, unsigned long long Num, unsigned int Len) +{ + Str += Len; + while (Len-- > 0) { + *--Str = static_cast<char>(Num & 0xff); + Num >>= 8; + } + + *Str |= 0x80; // mark as base256 +} + +// Create a deb with a control.tar that contains a too large file or link name (GNU extension) +static void createdeb_bigtarfilelength(const int fd, int flag, unsigned long long size = 64llu * 1024 * 1024 + 1) +{ + // Magic number + static const char *magic = "!<arch>\n"; + write_chk(fd, magic, strlen(magic)); + + struct Header h; + memset(&h, ' ', sizeof(h)); + memcpy(h.Name, "debian-binary/ ", sizeof(h.Name)); + h.MTime[0] = '0'; + h.UID[0] = '0'; + h.GID[0] = '0'; + memcpy(h.Mode, "644", 3); + h.Size[0] = '0'; + memcpy(h.Magic, "`\n", 2); + + write_chk(fd, &h, sizeof(h)); + + memset(&h, ' ', sizeof(h)); + memcpy(h.Name, "data.tar/ ", sizeof(h.Name)); + h.MTime[0] = '0'; + h.UID[0] = '0'; + h.GID[0] = '0'; + memcpy(h.Mode, "644", 3); + h.Size[0] = '0'; + memcpy(h.Magic, "`\n", 2); + + write_chk(fd, &h, sizeof(h)); + + memset(&h, ' ', sizeof(h)); + memcpy(h.Name, "control.tar/ ", sizeof(h.Name)); + h.MTime[0] = '0'; + h.UID[0] = '0'; + h.GID[0] = '0'; + memcpy(h.Mode, "644", 3); + memcpy(h.Size, "512", 3); + memcpy(h.Magic, "`\n", 2); + + write_chk(fd, &h, sizeof(h)); + union + { + struct TarHeader t; + unsigned char buf[512]; + } t; + for (unsigned int i = 0; i < sizeof(t.buf); i++) + t.buf[i] = '7'; + memcpy(t.t.Name, "control\0 ", 16); + memcpy(t.t.UserName, "userName", 8); + memcpy(t.t.GroupName, "thisIsAGroupNamethisIsAGroupName", 32); + memcpy(t.t.UserID, "0", 2); + memcpy(t.t.GroupID, "0", 2); + memcpy(t.t.MTime, "0", 2); + memcpy(t.t.MagicNumber, "0", 2); + memcpy(t.t.Major, "0", 2); + memcpy(t.t.Minor, "0", 2); + t.t.LinkFlag = flag; + base256_encode(t.t.Size, size, sizeof(t.t.Size)); + memset(t.t.Checksum, ' ', sizeof(t.t.Checksum)); + + unsigned long sum = 0; + for (unsigned int i = 0; i < sizeof(t.buf); i++) + sum += t.buf[i]; + + int written = sprintf(t.t.Checksum, "%lo", sum); + for (unsigned int i = written; i < sizeof(t.t.Checksum); i++) + t.t.Checksum[i] = ' '; + + write_chk(fd, t.buf, sizeof(t.buf)); +} + +static void createtar(const int fd) +{ + union + { + struct TarHeader t; + char buf[512]; + } t; + for (size_t i = 0; i < sizeof(t.buf); i++) + t.buf[i] = '7'; + memcpy(t.t.Name, "unterminatedName", 16); + memcpy(t.t.UserName, "userName", 8); + memcpy(t.t.GroupName, "thisIsAGroupNamethisIsAGroupName", 32); + memcpy(t.t.UserID, "0", 2); + memcpy(t.t.GroupID, "0", 2); + memcpy(t.t.MTime, "0", 2); + memcpy(t.t.MagicNumber, "0", 2); + memcpy(t.t.Major, "0", 2); + memcpy(t.t.Minor, "0", 2); + t.t.LinkFlag = 'X'; // I AM BROKEN + memcpy(t.t.Size, "000000000000", sizeof(t.t.Size)); + memset(t.t.Checksum, ' ', sizeof(t.t.Checksum)); + + unsigned long sum = 0; + for (size_t i = 0; i < sizeof(t.buf); i++) + sum += t.buf[i]; + + int written = sprintf(t.t.Checksum, "%lo", sum); + for (size_t i = written; i < sizeof(t.t.Checksum); i++) + t.t.Checksum[i] = ' '; + write_chk(fd, t.buf, sizeof(t.buf)); +} + +static void createdeb_test(const int fd) +{ + // Magic number + static const char *magic = "!<arch>\n"; + write_chk(fd, magic, strlen(magic)); + + struct Header h; + + memset(&h, 0, sizeof(h)); + memcpy(h.Name, "data.tar ", sizeof(h.Name)); + write_chk(fd, &h, sizeof(h)); + + memset(&h, 0, sizeof(h)); + memcpy(h.Name, "debian-binary ", sizeof(h.Name)); + strcpy(h.Size, "4"); + write_chk(fd, &h, sizeof(h)); + static const char *debian_binary = "2.0\n"; + write_chk(fd, debian_binary, strlen(debian_binary)); + + static const char *control = + "Architecture: all\n" + "Package: kevsh\n\n"; + memset(&h, 0, sizeof(h)); + memcpy(h.Name, "control.tar ", sizeof(h.Name)); + snprintf(h.Size, sizeof(h.Size), "%ld", (size_t)512 + 512); + write_chk(fd, &h, sizeof(h)); + + unsigned char block[512]; + memset(block, 0, sizeof(block)); + struct TarHeader *tar = (struct TarHeader *)&block[0]; + strcpy(tar->Name, "control"); + strcpy(tar->Mode, "644"); + snprintf(tar->Size, sizeof(tar->Size), "%lo", strlen(control)); + set_checksum(block); + write_chk(fd, block, sizeof(block)); + + memset(block, 0, sizeof(block)); + strcpy((char *)block, control); + write_chk(fd, block, sizeof(block)); +} + +int main(int argc, char *argv[]) +{ + if (argc != 3) + { + const char *progname = argc > 0 ? argv[0] : "a.out"; + fprintf( + stderr, + "usage: %s <mode> <filename>\n" + "modes: loop, segv, leakfd\n", + progname); + return EXIT_FAILURE; + } + + const char *mode = argv[1]; + const char *filename = argv[2]; + + const int fd = open(filename, O_CREAT | O_WRONLY | O_TRUNC, 00644); + if (fd < 0) + { + const int err = errno; + fprintf(stderr, "Could not open %s: %s\n", filename, strerror(err)); + return EXIT_FAILURE; + } + + if (strcmp(mode, "crash") == 0) + { + createdeb_crash(fd); + } + else if (strcmp(mode, "loop") == 0) + { + createdeb_loop(fd); + } + else if (strcmp(mode, "leakfd") == 0) + { + createdeb_leakfd(fd); + } + else if (strcmp(mode, "long-name") == 0) + { + createdeb_bigtarfilelength(fd, 'L'); + } + else if (strcmp(mode, "long-link") == 0) + { + createdeb_bigtarfilelength(fd, 'K'); + } + else if (strcmp(mode, "long-control") == 0) + { + createdeb_bigtarfilelength(fd, '0'); + } + else if (strcmp(mode, "too-long-control") == 0) + { + createdeb_bigtarfilelength(fd, '0', 128llu * 1024 * 1024 * 1024 + 1); + } + else if (strcmp(mode, "github-111") == 0) + { + createtar(fd); + } + else if (strcmp(mode, "test") == 0) + { + createdeb_test(fd); + } + else + { + fprintf(stderr, "Mode not recognized: %s\n", mode); + } + + close(fd); + return EXIT_SUCCESS; +} diff --git a/test/interactive-helper/extract-control.cc b/test/interactive-helper/extract-control.cc new file mode 100644 index 0000000..a19e038 --- /dev/null +++ b/test/interactive-helper/extract-control.cc @@ -0,0 +1,45 @@ +#include <config.h> + +#include <apt-pkg/debfile.h> +#include <apt-pkg/error.h> +#include <apt-pkg/fileutl.h> + +#include <iostream> +#include <string> +#include <unistd.h> + +using namespace std; + +static bool ExtractMember(const char *File,const char *Member) +{ + FileFd Fd(File,FileFd::ReadOnly); + debDebFile Deb(Fd); + if(_error->PendingError() == true) + return false; + + debDebFile::MemControlExtract Extract(Member); + if (Extract.Read(Deb) == false) + return false; + + if (Extract.Control == 0) + return true; + + return write(STDOUT_FILENO,Extract.Control,Extract.Length) != -1; +} + +int main(int argc, const char *argv[]) +{ + if (argc < 2) + { + cerr << "Need two arguments, a .deb and the control member" << endl; + return 100; + } + + if (ExtractMember(argv[1],argv[2]) == false) + { + _error->DumpErrors(); + return 100; + } + + return 0; +} diff --git a/test/interactive-helper/libnoprofile.c b/test/interactive-helper/libnoprofile.c new file mode 100644 index 0000000..b26ec2a --- /dev/null +++ b/test/interactive-helper/libnoprofile.c @@ -0,0 +1,45 @@ +#define _GNU_SOURCE +#undef _FORTIFY_SOURCE +#include <stdarg.h> +#include <stdlib.h> +#include <string.h> +#include <dlfcn.h> +#include <unistd.h> +#include <stdio.h> + +int vprintf(const char *format, va_list ap) { + if (strncmp(format, "profiling:", strlen("profiling:")) == 0) + return 0; + + static int (*func_fprintf)(const char *format, va_list ap) = NULL; + if (func_fprintf == NULL) + func_fprintf = (int (*)(const char *format, va_list ap))dlsym(RTLD_NEXT, "vprintf"); + + return func_fprintf(format, ap); +} +int printf(const char *format, ...) { + va_list ap; + va_start(ap, format); + int res = vprintf(format, ap); + va_end(ap); + return res; +} + +int vfprintf(FILE *stream, const char *format, va_list ap) { + if (strncmp(format, "profiling:", strlen("profiling:")) == 0) + return 0; + + static int (*func_vfprintf)(FILE * stream, const char *format, va_list ap) = NULL; + if (func_vfprintf == NULL) + func_vfprintf = (int (*)(FILE * stream, const char *format, va_list ap))dlsym(RTLD_NEXT, "vfprintf"); + + return func_vfprintf(stream, format, ap); +} + +int fprintf(FILE *stream, const char *format, ...) { + va_list ap; + va_start(ap, format); + int res = vfprintf(stream, format, ap); + va_end(ap); + return res; +} diff --git a/test/interactive-helper/longest-dependency-chain.cc b/test/interactive-helper/longest-dependency-chain.cc new file mode 100644 index 0000000..3da722a --- /dev/null +++ b/test/interactive-helper/longest-dependency-chain.cc @@ -0,0 +1,72 @@ +#include <config.h> + +#include <apt-pkg/cachefile.h> +#include <apt-pkg/pkgsystem.h> +#include <apt-private/private-cmndline.h> + +#include <iostream> + +static bool ShowHelp(CommandLine &) /*{{{*/ +{ + std::cout << + "Usage: longest-dependecy-chain [options]\n" + "\n" + "Tries to find the longest dependency chain available in the data\n" + "assuming an empty status file, no conflicts, all or-group members\n" + "are followed and discovery order matters. In other words:\n" + "The found length might very well be too short and not realistic.\n" + "It is also not implemented very intelligently, so it runs forever.\n"; + return true; +} + /*}}}*/ +static std::vector<aptDispatchWithHelp> GetCommands() /*{{{*/ +{ + return { + {nullptr, nullptr, nullptr} + }; +} + /*}}}*/ +static size_t findLongestInstallChain(pkgDepCache &Cache, pkgCache::PkgIterator const &Pkg, std::vector<bool> &installed)/*{{{*/ +{ + if (installed[Pkg->ID]) + return 0; + installed[Pkg->ID] = true; + + auto const Ver = Cache.GetCandidateVersion(Pkg); + if (Ver.end()) + return 0; + + size_t maxdepth = 0; + for (auto D = Ver.DependsList(); not D.end(); ++D) + if (D->Type == pkgCache::Dep::Depends || + D->Type == pkgCache::Dep::PreDepends || + D->Type == pkgCache::Dep::Recommends || + D->Type == pkgCache::Dep::Suggests) + maxdepth = std::max(maxdepth, findLongestInstallChain(Cache, D.TargetPkg(), installed)); + return maxdepth + 1; +} + /*}}}*/ +int main(int argc,const char *argv[]) /*{{{*/ +{ + CommandLine CmdL; + auto const Cmds = ParseCommandLine(CmdL, APT_CMD::APT_SORTPKG, &_config, &_system, argc, argv, &ShowHelp, &GetCommands); + _config->Set("dir::state::status", "/dev/null"); + + pkgCacheFile CacheFile; + CacheFile.InhibitActionGroups(true); + pkgDepCache * const Cache = CacheFile.GetDepCache(); + if (unlikely(Cache == nullptr)) + return DispatchCommandLine(CmdL, Cmds); + + size_t maxdepth = 0; + for (auto P = Cache->PkgBegin(); not P.end(); ++P) + { + std::vector<bool> installed(Cache->Head().PackageCount, false); + auto const depth = findLongestInstallChain(*Cache, P, installed); + std::cout << depth << ' ' << P.FullName() << '\n'; + maxdepth = std::max(maxdepth, depth); + } + + return 0; +} + /*}}}*/ diff --git a/test/interactive-helper/mthdcat.cc b/test/interactive-helper/mthdcat.cc new file mode 100644 index 0000000..2961b20 --- /dev/null +++ b/test/interactive-helper/mthdcat.cc @@ -0,0 +1,22 @@ +/* Usage, mthdcat < cmds | methods/mthd + All this does is cat a file into the method without closing the FD when + the file ends */ + +#include <config.h> + +#include <unistd.h> + +int main() +{ + char Buffer[4096]; + + while (1) + { + int Res = read(STDIN_FILENO,Buffer,sizeof(Buffer)); + if (Res <= 0) + while (1) sleep(100); + if (write(STDOUT_FILENO,Buffer,Res) != Res) + break; + } + return 0; +} diff --git a/test/interactive-helper/networkless-install-fixes/README b/test/interactive-helper/networkless-install-fixes/README new file mode 100644 index 0000000..e7ee2b0 --- /dev/null +++ b/test/interactive-helper/networkless-install-fixes/README @@ -0,0 +1,5 @@ + +Those tests aim at making the networkless install timeout +quicker, see +https://wiki.ubuntu.com/NetworklessInstallationFixes +for details diff --git a/test/interactive-helper/networkless-install-fixes/sources.test.list b/test/interactive-helper/networkless-install-fixes/sources.test.list new file mode 100644 index 0000000..380e180 --- /dev/null +++ b/test/interactive-helper/networkless-install-fixes/sources.test.list @@ -0,0 +1,25 @@ + +# archive.ubuntu.com +deb http://archive.ubuntu.com/ubuntu/ hardy main restricted +deb-src http://archive.ubuntu.com/ubuntu/ hardy main restricted + +deb http://archive.ubuntu.com/ubuntu/ hardy-updates main restricted +deb-src http://archive.ubuntu.com/ubuntu/ hardy-updates main restricted + +deb http://archive.ubuntu.com/ubuntu/ hardy universe +deb-src http://archive.ubuntu.com/ubuntu/ hardy universe + +deb http://archive.ubuntu.com/ubuntu/ hardy-updates universe +deb-src http://archive.ubuntu.com/ubuntu/ hardy-updates universe + +# security.ubuntu.com +deb http://security.ubuntu.com/ubuntu/ hardy-security main restricted +deb-src http://security.ubuntu.com/ubuntu/ hardy-security main restricted + +deb http://security.ubuntu.com/ubuntu/ hardy-security universe +deb-src http://security.ubuntu.com/ubuntu/ hardy-security universe + + +# archive.canonical.com +deb http://archive.canonical.com/ubuntu/ hardy-partner universe +deb-src http://archive.canonical.com/ubuntu/ hardy-partner universe diff --git a/test/interactive-helper/networkless-install-fixes/test.sh b/test/interactive-helper/networkless-install-fixes/test.sh new file mode 100755 index 0000000..809d467 --- /dev/null +++ b/test/interactive-helper/networkless-install-fixes/test.sh @@ -0,0 +1,25 @@ +#!/bin/sh + +OPTS="-o Dir::Etc::sourcelist=./sources.test.list -o Acquire::http::timeout=20" + +# setup +unset http_proxy +iptables --flush + +echo "No network at all" +ifdown eth0 +time apt-get update $OPTS 2>&1 |grep system +ifup eth0 +echo "" + +echo "no working DNS (port 53 DROP)" +iptables -A OUTPUT -p udp --dport 53 -j DROP +time apt-get update $OPTS 2>&1 |grep system +iptables --flush +echo "" + +echo "DNS but no access to archive.ubuntu.com (port 80 DROP)" +iptables -A OUTPUT -p tcp --dport 80 -j DROP +time apt-get update $OPTS 2>&1 |grep system +iptables --flush +echo "" diff --git a/test/interactive-helper/rpmver.cc b/test/interactive-helper/rpmver.cc new file mode 100644 index 0000000..c1a0d79 --- /dev/null +++ b/test/interactive-helper/rpmver.cc @@ -0,0 +1,118 @@ +#include <config.h> + +#include <apt-pkg/debversion.h> +#include <cctype> +#include <cstdio> +#include <cstdlib> +#include <rpm/misc.h> +#include <rpm/rpmio.h> + +#define xisdigit(x) isdigit(x) +#define xisalpha(x) isalpha(x) +#define xisalnum(x) (isdigit(x) || isalpha(x)) + +using namespace std; + +int rpmvercmp(const char * a, const char * b) +{ + char * str1, * str2; + char * one, * two; + int isnum; + + /* easy comparison to see if versions are identical */ + if (!strcmp(a, b)) return 0; + + str1 = (char *)alloca(strlen(a) + 1); + str2 = (char *)alloca(strlen(b) + 1); + + strcpy(str1, a); + strcpy(str2, b); + + one = str1; + two = str2; + + /* loop through each version segment of str1 and str2 and compare them */ + while (*one && *two) { + while (*one && !xisalnum(*one)) one++; + while (*two && !xisalnum(*two)) two++; + + str1 = one; + str2 = two; + + /* grab first completely alpha or completely numeric segment */ + /* leave one and two pointing to the start of the alpha or numeric */ + /* segment and walk str1 and str2 to end of segment */ + if (xisdigit(*str1)) { + while (*str1 && xisdigit(*str1)) str1++; + while (*str2 && xisdigit(*str2)) str2++; + isnum = 1; + } else { + while (*str1 && xisalpha(*str1)) str1++; + while (*str2 && xisalpha(*str2)) str2++; + isnum = 0; + } + + /* save character at the end of the alpha or numeric segment */ + /* so that they can be restored after the comparison */ + char oldch1 = *str1; + *str1 = '\0'; + char oldch2 = *str2; + *str2 = '\0'; + + /* take care of the case where the two version segments are */ + /* different types: one numeric, the other alpha (i.e. empty) */ + if (one == str1) return -1; /* arbitrary */ + if (two == str2) return 1; + + if (isnum) { + /* this used to be done by converting the digit segments */ + /* to ints using atoi() - it's changed because long */ + /* digit segments can overflow an int - this should fix that. */ + + /* throw away any leading zeros - it's a number, right? */ + while (*one == '0') one++; + while (*two == '0') two++; + + /* whichever number has more digits wins */ + if (strlen(one) > strlen(two)) return 1; + if (strlen(two) > strlen(one)) return -1; + } + + /* strcmp will return which one is greater - even if the two */ + /* segments are alpha or if they are numeric. don't return */ + /* if they are equal because there might be more segments to */ + /* compare */ + int rc = strcmp(one, two); + if (rc) return rc; + + /* restore character that was replaced by null above */ + *str1 = oldch1; + one = str1; + *str2 = oldch2; + two = str2; + } + + /* this catches the case where all numeric and alpha segments have */ + /* compared identically but the segment sepparating characters were */ + /* different */ + if ((!*one) && (!*two)) return 0; + + /* whichever version still has characters left over wins */ + if (!*one) return -1; else return 1; +} + +int main(int argc,const char *argv[]) +{ + printf("%i\n",strcmp(argv[1],argv[2])); + + printf("'%s' <> '%s': ",argv[1],argv[2]); + printf("rpm: %i deb: %i\n",rpmvercmp(argv[1],argv[2]), + debVS.CmpFragment(argv[1],argv[1]+strlen(argv[1]), + argv[2],argv[2]+strlen(argv[2]))); + + printf("'%s' <> '%s': ",argv[2],argv[1]); + printf("rpm: %i deb: %i\n",rpmvercmp(argv[2],argv[1]), + debVS.CmpFragment(argv[2],argv[2]+strlen(argv[2]), + argv[1],argv[1]+strlen(argv[1]))); + return 0; +} diff --git a/test/interactive-helper/teestream.h b/test/interactive-helper/teestream.h new file mode 100644 index 0000000..058717a --- /dev/null +++ b/test/interactive-helper/teestream.h @@ -0,0 +1,62 @@ +#ifndef APT_HELPER_TEESTREAM_H +#define APT_HELPER_TEESTREAM_H + +/* 'basic' implementation of a streambuf which passes the output + to two 'real' streambufs emulating '| tee' on the shell + + The main use is streaming debug output to std::clog as well as + a logfile easily, so don't expect that to be a bulletproof + implementation. */ + +#include <apt-pkg/macros.h> +#include <iostream> + +template <typename CharT, typename Traits = std::char_traits<CharT> +> class basic_teebuf: public std::basic_streambuf<CharT, Traits> +{ +public: + basic_teebuf(std::basic_streambuf<CharT, Traits> * const sb1, + std::basic_streambuf<CharT, Traits> * const sb2) + : s1(sb1), s2(sb2) {} +protected: + virtual std::streamsize xsputn(const CharT* s, std::streamsize c) APT_OVERRIDE + { + return s2->sputn(s, s1->sputn(s, c)); + } + // overflow is the fallback of sputc which is non-virtual + typedef typename Traits::int_type int_type; + virtual int_type overflow(int_type ch = Traits::eof()) APT_OVERRIDE + { + auto const eof = Traits::eof(); + if (Traits::eq_int_type(ch, Traits::eof()) == true) + return eof; + + auto const r1 = s1->sputc(Traits::to_char_type(ch)); + auto const r2 = s2->sputc(Traits::to_char_type(ch)); + return Traits::eq_int_type(r1, eof) ? r1: r2; + } + virtual void imbue(const std::locale& loc) APT_OVERRIDE + { + s1->pubimbue(loc); + s2->pubimbue(loc); + } + virtual int sync() APT_OVERRIDE + { + auto const r1 = s1->pubsync(); + auto const r2 = s2->pubsync(); + return r1 == 0 ? r2 : r1; + } +private: + std::basic_streambuf<CharT, Traits> * const s1; + std::basic_streambuf<CharT, Traits> * const s2; +}; +template <typename CharT, typename Traits = std::char_traits<CharT> +> class basic_teeostream: public std::basic_ostream<CharT, Traits> +{ +public: + basic_teeostream(std::basic_ostream<CharT, Traits> &o1, std::basic_ostream<CharT, Traits> &o2) : + std::basic_ostream<CharT, Traits>(&tbuf), tbuf(o1.rdbuf(), o2.rdbuf()) {} +private: + basic_teebuf<CharT, Traits> tbuf; +}; +#endif diff --git a/test/interactive-helper/test_fileutl.cc b/test/interactive-helper/test_fileutl.cc new file mode 100644 index 0000000..edc699e --- /dev/null +++ b/test/interactive-helper/test_fileutl.cc @@ -0,0 +1,46 @@ +#include <config.h> + +#include <apt-pkg/error.h> +#include <apt-pkg/fileutl.h> +#include <apt-pkg/strutl.h> + +#include <cstdlib> +#include <fcntl.h> +#include <sys/stat.h> +#include <sys/types.h> +#include <sys/wait.h> +#include <unistd.h> + +#include <iostream> +#include <string> + +static void callsystem(std::string const &call) +{ + auto ret = system(call.c_str()); + if (WIFEXITED(ret) == false || WEXITSTATUS(ret) != 0) + _error->Error("Calling %s failed!", call.c_str()); +} + +int main(int, char ** argv) +{ + auto const pid = getpid(); + std::string ls; + strprintf(ls, "ls -l /proc/%d/fd", pid); + callsystem(ls); + FileFd t; + t.Open(argv[1], FileFd::ReadOnly, FileFd::Extension); + callsystem(ls); + char buf[1024]; + unsigned long long act; + while (t.Read(buf, sizeof(buf), &act)) + if (act == 0) + break; + callsystem(ls); + t.Seek(5); + callsystem(ls); + t.Close(); + callsystem(ls); + auto const ret = _error->PendingError(); + _error->DumpErrors(); + return ret; +} diff --git a/test/interactive-helper/test_udevcdrom.cc b/test/interactive-helper/test_udevcdrom.cc new file mode 100644 index 0000000..9ccdfdb --- /dev/null +++ b/test/interactive-helper/test_udevcdrom.cc @@ -0,0 +1,23 @@ +#include <config.h> + +#include <apt-pkg/cdrom.h> + +#include <cassert> +#include <cstddef> +#include <iostream> +#include <string> +#include <vector> + +int main() +{ + pkgUdevCdromDevices c; + assert(c.Dlopen()); + + std::vector<CdromDevice> l; + l = c.Scan(); + assert(l.empty() == false); + for (size_t i = 0; i < l.size(); ++i) + std::cerr << l[i].DeviceName << " " + << l[i].Mounted << " " + << l[i].MountPath << std::endl; +} diff --git a/test/interactive-helper/testdeb.cc b/test/interactive-helper/testdeb.cc new file mode 100644 index 0000000..0bb24a5 --- /dev/null +++ b/test/interactive-helper/testdeb.cc @@ -0,0 +1,51 @@ +#include <config.h> + +#include <apt-pkg/arfile.h> +#include <apt-pkg/debfile.h> +#include <apt-pkg/dirstream.h> +#include <apt-pkg/error.h> +#include <apt-pkg/extracttar.h> +#include <apt-pkg/fileutl.h> + +#include <iostream> +#include <string> + +class NullStream : public pkgDirStream +{ + public: + virtual bool DoItem(Item &/*Itm*/, int &/*Fd*/) APT_OVERRIDE {return true;}; +}; + +static bool Test(const char *File) +{ + FileFd Fd(File,FileFd::ReadOnly); + debDebFile Deb(Fd); + + if (_error->PendingError() == true) + return false; + + // Get the archive member and positition the file + const ARArchive::Member *Member = Deb.GotoMember("data.tar.gz"); + if (Member == 0) + return false; + + // Extract it. + ExtractTar Tar(Deb.GetFile(),Member->Size, "gzip"); + NullStream Dir; + if (Tar.Go(Dir) == false) + return false; + + return true; +} + +int main(int argc, const char *argv[]) +{ + if (argc != 2) { + std::cout << "One parameter expected - given " << argc << std::endl; + return 100; + } + + Test(argv[1]); + _error->DumpErrors(); + return 0; +} diff --git a/test/libapt/CMakeLists.txt b/test/libapt/CMakeLists.txt new file mode 100644 index 0000000..6bbe409 --- /dev/null +++ b/test/libapt/CMakeLists.txt @@ -0,0 +1,53 @@ +if (WITH_TESTS) + set(PROJECT_TEST_LIBRARIES apt-private) + find_path(GTEST_SRCPATH src/gtest.cc + /usr/src/googletest/googletest + /usr/src/googletest + /usr/src/gtest + ) + find_package(GTest) + set(GTEST_DEPENDENCIES) + + if(NOT GTEST_FOUND AND EXISTS ${GTEST_SRCPATH}) + include(ExternalProject) + ExternalProject_Add(gtest PREFIX ./gtest + SOURCE_DIR ${GTEST_SRCPATH} + INSTALL_COMMAND true) + + link_directories(${CMAKE_CURRENT_BINARY_DIR}/gtest/src/gtest-build) + link_directories(${CMAKE_CURRENT_BINARY_DIR}/gtest/src/gtest-build/lib) + + set(GTEST_LIBRARIES "-lgtest") + set(GTEST_DEPENDENCIES "gtest") + set(GTEST_FOUND TRUE) + find_path(GTEST_INCLUDE_DIRS NAMES gtest/gtest.h PATHS ${GTEST_SRCPATH}/include) + + message(STATUS "Found GTest at ${GTEST_SRCPATH}, headers at ${GTEST_INCLUDE_DIRS}") + endif() + + if (NOT GTEST_FOUND) + message(FATAL_ERROR "Could not find GTest") + endif() + + + # gtest produces some warnings with the set of warnings we activate, + # so disable the offending warnings while compiling tests for now + add_optional_compile_options(Wno-undef) + add_optional_compile_options(Wno-ctor-dtor-privacy) + # Do not force override for gtest, gtest is missing override specifiers + add_optional_compile_options(Wno-suggest-override) + + # Definition of the C++ files used to build the test binary - note that this + # is expanded at CMake time, so you have to rerun cmake if you add or remove + # a file (you can just run cmake . in the build directory) + file(GLOB files gtest_runner.cc *-helpers.cc *_test.cc) + add_executable(lib${PROJECT_NAME}_test ${files}) + target_include_directories(lib${PROJECT_NAME}_test PRIVATE ${GTEST_INCLUDE_DIRS}) + target_link_libraries(lib${PROJECT_NAME}_test ${GTEST_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT} ${PROJECT_TEST_LIBRARIES}) + if (GTEST_DEPENDENCIES) + add_dependencies(lib${PROJECT_NAME}_test ${GTEST_DEPENDENCIES}) + endif() + add_test(NAME ${PROJECT_NAME}Tests + COMMAND lib${PROJECT_NAME}_test + WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) +endif() diff --git a/test/libapt/acqprogress_test.cc b/test/libapt/acqprogress_test.cc new file mode 100644 index 0000000..d4596c8 --- /dev/null +++ b/test/libapt/acqprogress_test.cc @@ -0,0 +1,178 @@ +#include <config.h> +#include <apt-pkg/acquire-item.h> +#include <apt-pkg/acquire.h> +#include <apt-pkg/configuration.h> +#include <apt-pkg/hashes.h> +#include <apt-private/acqprogress.h> +#include <gtest/gtest.h> +#include <sstream> +#include <string> + +class TestItem: public pkgAcquire::Item +{ +public: + explicit TestItem(pkgAcquire * const Acq) : pkgAcquire::Item(Acq) {} + + virtual std::string DescURI() const APT_OVERRIDE { return ""; } + virtual HashStringList GetExpectedHashes() const APT_OVERRIDE { return HashStringList(); } + +}; + +TEST(AcqProgress, IMSHit) +{ + std::ostringstream out; + unsigned int width = 80; + AcqTextStatus Stat(out, width, 0); + Stat.Start(); + + pkgAcquire Acq(&Stat); + pkgAcquire::ItemDesc hit; + hit.URI = "http://example.org/file"; + hit.Description = "Example File from example.org"; + hit.ShortDesc = "Example File"; + TestItem hitO(&Acq); + hit.Owner = &hitO; + + EXPECT_EQ("", out.str()); + Stat.IMSHit(hit); + EXPECT_EQ("Hit:1 Example File from example.org\n", out.str()); + Stat.IMSHit(hit); + EXPECT_EQ("Hit:1 Example File from example.org\n" + "Hit:1 Example File from example.org\n", out.str()); + Stat.Stop(); + EXPECT_EQ("Hit:1 Example File from example.org\n" + "Hit:1 Example File from example.org\n", out.str()); +} +TEST(AcqProgress, FetchNoFileSize) +{ + std::ostringstream out; + unsigned int width = 80; + AcqTextStatus Stat(out, width, 0); + Stat.Start(); + + pkgAcquire Acq(&Stat); + pkgAcquire::ItemDesc fetch; + fetch.URI = "http://example.org/file"; + fetch.Description = "Example File from example.org"; + fetch.ShortDesc = "Example File"; + TestItem fetchO(&Acq); + fetch.Owner = &fetchO; + + EXPECT_EQ("", out.str()); + Stat.Fetch(fetch); + EXPECT_EQ("Get:1 Example File from example.org\n", out.str()); + Stat.Fetch(fetch); + EXPECT_EQ("Get:1 Example File from example.org\n" + "Get:1 Example File from example.org\n", out.str()); + Stat.Stop(); + EXPECT_EQ("Get:1 Example File from example.org\n" + "Get:1 Example File from example.org\n", out.str()); +} +TEST(AcqProgress, FetchFileSize) +{ + std::ostringstream out; + unsigned int width = 80; + AcqTextStatus Stat(out, width, 0); + Stat.Start(); + + pkgAcquire Acq(&Stat); + pkgAcquire::ItemDesc fetch; + fetch.URI = "http://example.org/file"; + fetch.Description = "Example File from example.org"; + fetch.ShortDesc = "Example File"; + TestItem fetchO(&Acq); + fetchO.FileSize = 100; + fetch.Owner = &fetchO; + + EXPECT_EQ("", out.str()); + Stat.Fetch(fetch); + EXPECT_EQ("Get:1 Example File from example.org [100 B]\n", out.str()); + fetchO.FileSize = 42; + Stat.Fetch(fetch); + EXPECT_EQ("Get:1 Example File from example.org [100 B]\n" + "Get:1 Example File from example.org [42 B]\n", out.str()); + Stat.Stop(); + EXPECT_EQ("Get:1 Example File from example.org [100 B]\n" + "Get:1 Example File from example.org [42 B]\n", out.str()); +} +TEST(AcqProgress, Fail) +{ + std::ostringstream out; + unsigned int width = 80; + AcqTextStatus Stat(out, width, 0); + Stat.Start(); + + pkgAcquire Acq(&Stat); + pkgAcquire::ItemDesc fetch; + fetch.URI = "http://example.org/file"; + fetch.Description = "Example File from example.org"; + fetch.ShortDesc = "Example File"; + TestItem fetchO(&Acq); + fetchO.FileSize = 100; + fetchO.Status = pkgAcquire::Item::StatIdle; + fetch.Owner = &fetchO; + + EXPECT_EQ("", out.str()); + Stat.Fail(fetch); + EXPECT_EQ("Ign:1 Example File from example.org\n", out.str()); + fetchO.Status = pkgAcquire::Item::StatDone; + Stat.Fail(fetch); + EXPECT_EQ("Ign:1 Example File from example.org\n" + "Ign:1 Example File from example.org\n", out.str()); + fetchO.Status = pkgAcquire::Item::StatError; + fetchO.ErrorText = "An error test!"; + Stat.Fail(fetch); + EXPECT_EQ("Ign:1 Example File from example.org\n" + "Ign:1 Example File from example.org\n" + "Err:1 Example File from example.org\n" + " An error test!\n", out.str()); + _config->Set("Acquire::Progress::Ignore::ShowErrorText", true); + fetchO.Status = pkgAcquire::Item::StatDone; + Stat.Fail(fetch); + EXPECT_EQ("Ign:1 Example File from example.org\n" + "Ign:1 Example File from example.org\n" + "Err:1 Example File from example.org\n" + " An error test!\n" + "Ign:1 Example File from example.org\n" + " An error test!\n", out.str()); + _config->Set("Acquire::Progress::Ignore::ShowErrorText", true); + Stat.Stop(); + EXPECT_EQ("Ign:1 Example File from example.org\n" + "Ign:1 Example File from example.org\n" + "Err:1 Example File from example.org\n" + " An error test!\n" + "Ign:1 Example File from example.org\n" + " An error test!\n", out.str()); +} +TEST(AcqProgress, Pulse) +{ + std::ostringstream out; + unsigned int width = 80; + AcqTextStatus Stat(out, width, 0); + _config->Set("APT::Sandbox::User", ""); // ensure we aren't sandboxing + + pkgAcquire Acq(&Stat); + pkgAcquire::ItemDesc fetch; + fetch.URI = "http://example.org/file"; + fetch.Description = "Example File from example.org"; + fetch.ShortDesc = "Example File"; + TestItem fetchO(&Acq); + fetchO.FileSize = 100; + fetchO.Status = pkgAcquire::Item::StatFetching; + fetch.Owner = &fetchO; + + // make screen smaller and bigger again while running + EXPECT_TRUE(Stat.Pulse(&Acq)); + EXPECT_EQ("\r0% [Working]", out.str()); + width = 8; + EXPECT_TRUE(Stat.Pulse(&Acq)); + EXPECT_EQ("\r0% [Working]" + "\r " + "\r0% [Work", out.str()); + width = 80; + EXPECT_TRUE(Stat.Pulse(&Acq)); + EXPECT_EQ("\r0% [Working]" + "\r " + "\r0% [Work" + "\r0% [Working]", out.str()); +} diff --git a/test/libapt/apt-proxy-script b/test/libapt/apt-proxy-script new file mode 100755 index 0000000..41cfdc3 --- /dev/null +++ b/test/libapt/apt-proxy-script @@ -0,0 +1,9 @@ +#!/bin/sh + +if [ $1 = "http://www.debian.org:90/temp/test" ]; then + echo "http://example.com" +fi +if [ $1 = "http://www.debian.org:91/temp/test" ]; then + echo "This works" >&2 + echo "http://example.com/foo" +fi diff --git a/test/libapt/authconf_test.cc b/test/libapt/authconf_test.cc new file mode 100644 index 0000000..3a7b149 --- /dev/null +++ b/test/libapt/authconf_test.cc @@ -0,0 +1,261 @@ +#include <config.h> + +#include <apt-pkg/error.h> +#include <apt-pkg/fileutl.h> +#include <apt-pkg/netrc.h> +#include <apt-pkg/strutl.h> + +#include <string> + +#include <gtest/gtest.h> + +#include "file-helpers.h" + +TEST(NetRCTest, Parsing) +{ + FileFd fd; + URI U("https://file.not/open"); + EXPECT_FALSE(MaybeAddAuth(fd, U)); + EXPECT_TRUE(U.User.empty()); + EXPECT_TRUE(U.Password.empty()); + EXPECT_EQ("file.not", U.Host); + EXPECT_EQ("/open", U.Path); + + openTemporaryFile("doublesignedfile", fd, R"apt( +machine example.netter login bar password foo +machine example.net login foo password bar + +machine example.org:90 login apt password apt +machine example.org:8080 +login +example password foobar + +machine example.org +login anonymous +password pass + +machine example.com/foo login user1 unknown token password pass1 +machine example.com/bar password pass2 login user2 + unknown token +machine example.com/user login user +machine example.netter login unused password firstentry +machine socks5h://example.last/debian login debian password rules)apt"); + U = URI("https://example.net/foo"); + EXPECT_TRUE(MaybeAddAuth(fd, U)); + EXPECT_EQ("foo", U.User); + EXPECT_EQ("bar", U.Password); + EXPECT_EQ("example.net", U.Host); + EXPECT_EQ("/foo", U.Path); + + EXPECT_TRUE(fd.Seek(0)); + U = URI("https://user:pass@example.net/foo"); + EXPECT_TRUE(MaybeAddAuth(fd, U)); + EXPECT_EQ("user", U.User); + EXPECT_EQ("pass", U.Password); + EXPECT_EQ("example.net", U.Host); + EXPECT_EQ("/foo", U.Path); + + EXPECT_TRUE(fd.Seek(0)); + U = URI("https://example.org:90/foo"); + EXPECT_TRUE(MaybeAddAuth(fd, U)); + EXPECT_EQ("apt", U.User); + EXPECT_EQ("apt", U.Password); + EXPECT_EQ("example.org", U.Host); + EXPECT_EQ(90u, U.Port); + EXPECT_EQ("/foo", U.Path); + + EXPECT_TRUE(fd.Seek(0)); + U = URI("https://example.org:8080/foo"); + EXPECT_TRUE(MaybeAddAuth(fd, U)); + EXPECT_EQ("example", U.User); + EXPECT_EQ("foobar", U.Password); + + EXPECT_TRUE(fd.Seek(0)); + U = URI("https://example.net:42/foo"); + EXPECT_TRUE(MaybeAddAuth(fd, U)); + EXPECT_EQ("foo", U.User); + EXPECT_EQ("bar", U.Password); + + EXPECT_TRUE(fd.Seek(0)); + U = URI("https://example.org/foo"); + EXPECT_TRUE(MaybeAddAuth(fd, U)); + EXPECT_EQ("anonymous", U.User); + EXPECT_EQ("pass", U.Password); + + EXPECT_TRUE(fd.Seek(0)); + U = URI("https://example.com/apt"); + EXPECT_TRUE(MaybeAddAuth(fd, U)); + EXPECT_TRUE(U.User.empty()); + EXPECT_TRUE(U.Password.empty()); + + EXPECT_TRUE(fd.Seek(0)); + U = URI("https://example.com/foo"); + EXPECT_TRUE(MaybeAddAuth(fd, U)); + EXPECT_EQ("user1", U.User); + EXPECT_EQ("pass1", U.Password); + + EXPECT_TRUE(fd.Seek(0)); + U = URI("https://example.com/fooo"); + EXPECT_TRUE(MaybeAddAuth(fd, U)); + EXPECT_EQ("user1", U.User); + EXPECT_EQ("pass1", U.Password); + + EXPECT_TRUE(fd.Seek(0)); + U = URI("https://example.com/fo"); + EXPECT_TRUE(MaybeAddAuth(fd, U)); + EXPECT_TRUE(U.User.empty()); + EXPECT_TRUE(U.Password.empty()); + + EXPECT_TRUE(fd.Seek(0)); + U = URI("https://example.com/bar"); + EXPECT_TRUE(MaybeAddAuth(fd, U)); + EXPECT_EQ("user2", U.User); + EXPECT_EQ("pass2", U.Password); + + EXPECT_TRUE(fd.Seek(0)); + U = URI("https://example.com/user"); + EXPECT_TRUE(MaybeAddAuth(fd, U)); + EXPECT_EQ("user", U.User); + EXPECT_TRUE(U.Password.empty()); + + EXPECT_TRUE(fd.Seek(0)); + U = URI("socks5h://example.last/debian"); + EXPECT_TRUE(MaybeAddAuth(fd, U)); + EXPECT_EQ("debian", U.User); + EXPECT_EQ("rules", U.Password); + + EXPECT_TRUE(fd.Seek(0)); + U = URI("socks5h://example.debian/"); + EXPECT_TRUE(MaybeAddAuth(fd, U)); + EXPECT_TRUE(U.User.empty()); + EXPECT_TRUE(U.Password.empty()); + + EXPECT_TRUE(fd.Seek(0)); + U = URI("socks5h://user:pass@example.debian/"); + EXPECT_TRUE(MaybeAddAuth(fd, U)); + EXPECT_EQ("user", U.User); + EXPECT_EQ("pass", U.Password); +} +TEST(NetRCTest, BadFileNoMachine) +{ + FileFd fd; + openTemporaryFile("doublesignedfile", fd, R"apt( +foo example.org login foo1 password bar +machin example.org login foo2 password bar +machine2 example.org login foo3 password bar +)apt"); + + URI U("https://example.org/foo"); + EXPECT_TRUE(MaybeAddAuth(fd, U)); + EXPECT_TRUE(U.User.empty()); + EXPECT_TRUE(U.Password.empty()); +} +TEST(NetRCTest, BadFileEndsMachine) +{ + FileFd fd; + openTemporaryFile("doublesignedfile", fd, R"apt( +machine example.org login foo1 password bar +machine)apt"); + + URI U("https://example.org/foo"); + EXPECT_TRUE(MaybeAddAuth(fd, U)); + EXPECT_EQ("foo1", U.User); + EXPECT_EQ("bar", U.Password); + + EXPECT_TRUE(fd.Seek(0)); + U = URI("https://example.net/foo"); + EXPECT_FALSE(MaybeAddAuth(fd, U)); + EXPECT_TRUE(U.User.empty()); + EXPECT_TRUE(U.Password.empty()); + + EXPECT_TRUE(fd.Seek(0)); + U = URI("https://foo:bar@example.net/foo"); + EXPECT_TRUE(MaybeAddAuth(fd, U)); + EXPECT_EQ("foo", U.User); + EXPECT_EQ("bar", U.Password); +} +TEST(NetRCTest, BadFileEndsLogin) +{ + FileFd fd; + openTemporaryFile("doublesignedfile", fd, R"apt( +machine example.org login foo1 password bar +machine example.net login)apt"); + + URI U("https://example.org/foo"); + EXPECT_TRUE(MaybeAddAuth(fd, U)); + EXPECT_EQ("foo1", U.User); + EXPECT_EQ("bar", U.Password); + + EXPECT_TRUE(fd.Seek(0)); + U = URI("https://example.net/foo"); + EXPECT_FALSE(MaybeAddAuth(fd, U)); + EXPECT_TRUE(U.User.empty()); + EXPECT_TRUE(U.Password.empty()); + + EXPECT_TRUE(fd.Seek(0)); + U = URI("https://foo:bar@example.net/foo"); + EXPECT_TRUE(MaybeAddAuth(fd, U)); + EXPECT_EQ("foo", U.User); + EXPECT_EQ("bar", U.Password); +} +TEST(NetRCTest, BadFileEndsPassword) +{ + FileFd fd; + openTemporaryFile("doublesignedfile", fd, R"apt( +machine example.org login foo1 password bar +machine example.net password)apt"); + + URI U("https://example.org/foo"); + EXPECT_TRUE(MaybeAddAuth(fd, U)); + EXPECT_EQ("foo1", U.User); + EXPECT_EQ("bar", U.Password); + + EXPECT_TRUE(fd.Seek(0)); + U = URI("https://example.net/foo"); + EXPECT_FALSE(MaybeAddAuth(fd, U)); + EXPECT_TRUE(U.User.empty()); + EXPECT_TRUE(U.Password.empty()); + + EXPECT_TRUE(fd.Seek(0)); + U = URI("https://foo:bar@example.net/foo"); + EXPECT_TRUE(MaybeAddAuth(fd, U)); + EXPECT_EQ("foo", U.User); + EXPECT_EQ("bar", U.Password); +} + +TEST(NetRCTest, MatchesOnlyHTTPS) +{ + FileFd fd; + openTemporaryFile("doublesignedfile", fd, R"apt( +machine https.example login foo1 password bar +machine http://http.example login foo1 password bar +)apt"); + + URI U("https://https.example/foo"); + EXPECT_TRUE(MaybeAddAuth(fd, U)); + EXPECT_EQ("foo1", U.User); + EXPECT_EQ("bar", U.Password); + + _error->PushToStack(); + EXPECT_TRUE(fd.Seek(0)); + U = URI("http://https.example/foo"); + EXPECT_TRUE(MaybeAddAuth(fd, U)); + EXPECT_TRUE(U.User.empty()); + EXPECT_TRUE(U.Password.empty()); + EXPECT_FALSE(_error->empty()); + EXPECT_TRUE(U.Password.empty()); + _error->RevertToStack(); + + EXPECT_TRUE(fd.Seek(0)); + U = URI("http://http.example/foo"); + EXPECT_TRUE(MaybeAddAuth(fd, U)); + EXPECT_EQ("foo1", U.User); + EXPECT_EQ("bar", U.Password); + + EXPECT_TRUE(fd.Seek(0)); + U = URI("https://http.example/foo"); + EXPECT_TRUE(MaybeAddAuth(fd, U)); + EXPECT_TRUE(U.User.empty()); + EXPECT_TRUE(U.Password.empty()); + +} diff --git a/test/libapt/cachefilter_test.cc b/test/libapt/cachefilter_test.cc new file mode 100644 index 0000000..08812e0 --- /dev/null +++ b/test/libapt/cachefilter_test.cc @@ -0,0 +1,119 @@ +#include <config.h> + +#include <apt-pkg/cachefilter.h> +#include <apt-pkg/fileutl.h> + +#include <string> + +#include <gtest/gtest.h> + +TEST(CacheFilterTest, ArchitectureSpecification) +{ + { + SCOPED_TRACE("Pattern is *"); + // * should be treated like any + APT::CacheFilter::PackageArchitectureMatchesSpecification ams("*"); + EXPECT_TRUE(ams("sparc")); + EXPECT_TRUE(ams("amd64")); + EXPECT_TRUE(ams("kfreebsd-amd64")); + } + { + SCOPED_TRACE("Pattern is any-i386"); + APT::CacheFilter::PackageArchitectureMatchesSpecification ams("any-i386"); + EXPECT_TRUE(ams("i386")); + EXPECT_FALSE(ams("amd64")); + EXPECT_TRUE(ams("linux-i386")); + EXPECT_FALSE(ams("linux-amd64")); + EXPECT_TRUE(ams("kfreebsd-i386")); + EXPECT_TRUE(ams("musl-linux-i386")); + } + { + SCOPED_TRACE("Pattern is linux-any"); + APT::CacheFilter::PackageArchitectureMatchesSpecification ams("linux-any"); + EXPECT_TRUE(ams("armhf")); + EXPECT_TRUE(ams("armel")); + EXPECT_TRUE(ams("linux-armhf")); + EXPECT_TRUE(ams("linux-armel")); + EXPECT_FALSE(ams("kfreebsd-armhf")); + EXPECT_TRUE(ams("musl-linux-armhf")); + } + if (FileExists(DPKG_DATADIR "/tupletable")) + { + SCOPED_TRACE("Pattern is gnu-any-any"); + APT::CacheFilter::PackageArchitectureMatchesSpecification ams("gnu-any-any"); //really? + EXPECT_TRUE(ams("armhf")); + EXPECT_TRUE(ams("armel")); + EXPECT_TRUE(ams("linux-armhf")); + EXPECT_TRUE(ams("linux-armel")); + EXPECT_TRUE(ams("kfreebsd-armhf")); + EXPECT_FALSE(ams("musl-linux-armhf")); + } + if (FileExists(DPKG_DATADIR "/triplettable")) + { + SCOPED_TRACE("Pattern is gnueabi-any-any"); + APT::CacheFilter::PackageArchitectureMatchesSpecification ams("gnueabi-any-any"); //really? + EXPECT_TRUE(ams("linux-armel")); + EXPECT_TRUE(ams("armel")); + EXPECT_FALSE(ams("armhf")); + EXPECT_FALSE(ams("linux-armhf")); + EXPECT_FALSE(ams("musleabihf-linux-armhf")); + } + if (FileExists(DPKG_DATADIR "/triplettable")) + { + SCOPED_TRACE("Pattern is gnueabihf-any-any"); + APT::CacheFilter::PackageArchitectureMatchesSpecification ams("gnueabihf-any-any"); //really? + EXPECT_FALSE(ams("linux-armel")); + EXPECT_FALSE(ams("armel")); + EXPECT_TRUE(ams("armhf")); + EXPECT_TRUE(ams("linux-armhf")); + EXPECT_FALSE(ams("musleabihf-linux-armhf")); + } + + // Weird ones - armhf's tuple is actually eabihf-gnu-linux-arm + // armel's tuple is actually eabi-gnu-linux-arm + // x32's tuple is actually x32-gnu-linux-amd64 + { + SCOPED_TRACE("Architecture is armhf"); + APT::CacheFilter::PackageArchitectureMatchesSpecification ams("armhf", false); + EXPECT_TRUE(ams("armhf")); + EXPECT_FALSE(ams("armel")); + EXPECT_TRUE(ams("linux-any")); + EXPECT_FALSE(ams("kfreebsd-any")); + EXPECT_TRUE(ams("any-arm")); + EXPECT_TRUE(ams("linux-armhf")); + EXPECT_FALSE(ams("kfreebsd-armhf")); + EXPECT_FALSE(ams("musl-linux-armhf")); + } + { + SCOPED_TRACE("Pattern is any-arm"); + APT::CacheFilter::PackageArchitectureMatchesSpecification ams("any-arm"); + EXPECT_TRUE(ams("armhf")); + EXPECT_TRUE(ams("armel")); + EXPECT_TRUE(ams("linux-armhf")); + EXPECT_TRUE(ams("linux-armel")); + EXPECT_TRUE(ams("musl-linux-armhf")); + EXPECT_TRUE(ams("uclibc-linux-armel")); + + EXPECT_FALSE(ams("arm64")); + EXPECT_FALSE(ams("linux-arm64")); + EXPECT_FALSE(ams("kfreebsd-arm64")); + EXPECT_FALSE(ams("musl-linux-arm64")); + } + { + SCOPED_TRACE("Pattern is any-amd64"); + APT::CacheFilter::PackageArchitectureMatchesSpecification ams("any-amd64"); + EXPECT_TRUE(ams("amd64")); + EXPECT_TRUE(ams("x32")); + EXPECT_TRUE(ams("linux-amd64")); + EXPECT_TRUE(ams("linux-x32")); + EXPECT_TRUE(ams("kfreebsd-amd64")); + EXPECT_TRUE(ams("musl-linux-amd64")); + EXPECT_TRUE(ams("uclibc-linux-amd64")); + + EXPECT_FALSE(ams("i386")); + EXPECT_FALSE(ams("linux-i386")); + EXPECT_FALSE(ams("kfreebsd-i386")); + EXPECT_FALSE(ams("musl-linux-i386")); + EXPECT_FALSE(ams("uclibc-linux-i386")); + } +} diff --git a/test/libapt/cdrom_test.cc b/test/libapt/cdrom_test.cc new file mode 100644 index 0000000..364971e --- /dev/null +++ b/test/libapt/cdrom_test.cc @@ -0,0 +1,109 @@ +#include <config.h> + +#include <apt-pkg/cdrom.h> +#include <apt-pkg/cdromutl.h> +#include <apt-pkg/configuration.h> +#include <apt-pkg/fileutl.h> + +#include <cstring> +#include <string> +#include <vector> + +#include <gtest/gtest.h> + +#include "file-helpers.h" + +class Cdrom : public pkgCdrom { +public: + std::vector<std::string> ReduceSourcelist(std::string CD,std::vector<std::string> List) { + pkgCdrom::ReduceSourcelist(CD, List); + return List; + } +}; + +TEST(CDROMTest,ReduceSourcelist) +{ + Cdrom cd; + std::vector<std::string> List; + std::string CD("/media/cdrom/"); + + std::vector<std::string> R = cd.ReduceSourcelist(CD, List); + EXPECT_TRUE(R.empty()); + + List.push_back(" wheezy main"); + R = cd.ReduceSourcelist(CD, List); + ASSERT_EQ(1u, R.size()); + EXPECT_EQ(" wheezy main", R[0]); + + List.push_back(" wheezy main"); + R = cd.ReduceSourcelist(CD, List); + ASSERT_EQ(1u, R.size()); + EXPECT_EQ(" wheezy main", R[0]); + + List.push_back(" wheezy contrib"); + R = cd.ReduceSourcelist(CD, List); + ASSERT_EQ(1u, R.size()); + EXPECT_EQ(" wheezy contrib main", R[0]); + + List.push_back(" wheezy-update contrib"); + R = cd.ReduceSourcelist(CD, List); + ASSERT_EQ(2u, R.size()); + EXPECT_EQ(" wheezy contrib main", R[0]); + EXPECT_EQ(" wheezy-update contrib", R[1]); + + List.push_back(" wheezy-update contrib"); + R = cd.ReduceSourcelist(CD, List); + ASSERT_EQ(2u, R.size()); + EXPECT_EQ(" wheezy contrib main", R[0]); + EXPECT_EQ(" wheezy-update contrib", R[1]); + + List.push_back(" wheezy-update non-free"); + R = cd.ReduceSourcelist(CD, List); + ASSERT_EQ(2u, R.size()); + EXPECT_EQ(" wheezy contrib main", R[0]); + EXPECT_EQ(" wheezy-update contrib non-free", R[1]); + + List.push_back(" wheezy-update main"); + R = cd.ReduceSourcelist(CD, List); + ASSERT_EQ(2u, R.size()); + EXPECT_EQ(" wheezy contrib main", R[0]); + EXPECT_EQ(" wheezy-update contrib main non-free", R[1]); + + List.push_back(" wheezy non-free"); + R = cd.ReduceSourcelist(CD, List); + ASSERT_EQ(2u, R.size()); + EXPECT_EQ(" wheezy contrib main non-free", R[0]); + EXPECT_EQ(" wheezy-update contrib main non-free", R[1]); + + List.push_back(" sid main"); + R = cd.ReduceSourcelist(CD, List); + ASSERT_EQ(3u, R.size()); + EXPECT_EQ(" sid main", R[0]); + EXPECT_EQ(" wheezy contrib main non-free", R[1]); + EXPECT_EQ(" wheezy-update contrib main non-free", R[2]); + + List.push_back(" sid main-reduce"); + R = cd.ReduceSourcelist(CD, List); + ASSERT_EQ(3u, R.size()); + EXPECT_EQ(" sid main main-reduce", R[0]); + EXPECT_EQ(" wheezy contrib main non-free", R[1]); + EXPECT_EQ(" wheezy-update contrib main non-free", R[2]); +} +TEST(CDROMTest, FindMountPointForDevice) +{ + auto const file = createTemporaryFile("mountpoints", + "rootfs / rootfs rw 0 0\n" + "sysfs /sys sysfs rw,nosuid,nodev,noexec,relatime 0 0\n" + "sysfs0 /sys0 sysfs rw,nosuid,nodev,noexec,relatime 0 0\n" + "/dev/disk/by-uuid/fadcbc52-6284-4874-aaaa-dcee1f05fe21 / ext4 rw,relatime,errors=remount-ro,data=ordered 0 0\n" + "/dev/sda1 /boot/efi vfat rw,nosuid,nodev,noexec,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=437,iocharset=utf8,shortname=lower,quiet,utf8,errors=remount-ro,rw,nosuid,nodev,noexec,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=437,iocharset=utf8,shortname=lower,quiet,utf8,errors=remount-ro,rw,nosuid,nodev,noexec,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=437,iocharset=utf8,shortname=lower,quiet,utf8,errors=remount-ro,rw,nosuid,nodev,noexec,relatime,fmask=0000,dmask=0000,allow_utime=0022,codepage=437,iocharset=utf8,shortname=lower,quiet,utf8,errors=remount-ro 0 0\n" + "tmpfs /tmp tmpfs rw,nosuid,nodev,relatime 0 0\n"); + _config->Set("Dir::state::Mountpoints", file.Name()); + + EXPECT_EQ("/", FindMountPointForDevice("rootfs")); + EXPECT_EQ("/", FindMountPointForDevice("/dev/disk/by-uuid/fadcbc52-6284-4874-aaaa-dcee1f05fe21")); + EXPECT_EQ("/sys", FindMountPointForDevice("sysfs")); + EXPECT_EQ("/sys0", FindMountPointForDevice("sysfs0")); + EXPECT_EQ("/boot/efi", FindMountPointForDevice("/dev/sda1")); + EXPECT_EQ("/tmp", FindMountPointForDevice("tmpfs")); +} diff --git a/test/libapt/cdromfindpackages_test.cc b/test/libapt/cdromfindpackages_test.cc new file mode 100644 index 0000000..9e13c1d --- /dev/null +++ b/test/libapt/cdromfindpackages_test.cc @@ -0,0 +1,125 @@ +#include <config.h> + +#include <apt-pkg/cdrom.h> +#include <apt-pkg/error.h> +#include <apt-pkg/fileutl.h> + +#include <algorithm> +#include <cstddef> +#include <iostream> +#include <string> +#include <vector> + +#include <gtest/gtest.h> + +#include "file-helpers.h" + +class Cdrom : public pkgCdrom { + public: + bool FindPackages(std::string const &CD, + std::vector<std::string> &List, + std::vector<std::string> &SList, + std::vector<std::string> &SigList, + std::vector<std::string> &TransList, + std::string &InfoDir) { + std::string const startdir = SafeGetCWD(); + EXPECT_FALSE(startdir.empty()); + EXPECT_TRUE(InfoDir.empty()); + bool const result = pkgCdrom::FindPackages(CD, List, SList, SigList, TransList, InfoDir, NULL, 0); + EXPECT_FALSE(InfoDir.empty()); + std::sort(List.begin(), List.end()); + std::sort(SList.begin(), SList.end()); + std::sort(SigList.begin(), SigList.end()); + std::sort(TransList.begin(), TransList.end()); + EXPECT_EQ(0, chdir(startdir.c_str())); + return result; + } + + using pkgCdrom::DropRepeats; +}; + +TEST(CDROMTest,FindPackages) +{ + std::string path; + createTemporaryDirectory("findpackage", path); + + createDirectory(path, ".disk"); + createDirectory(path, "pool"); + createDirectory(path, "dists/stable/main/binary-i386"); + createDirectory(path, "dists/stable/main/source"); + createDirectory(path, "dists/stable/contrib/binary-amd64"); + createDirectory(path, "dists/stable/non-free/binary-all"); + createDirectory(path, "dists/unstable/main/binary-i386"); + createDirectory(path, "dists/unstable/main/i18n"); + createDirectory(path, "dists/unstable/main/source"); + createDirectory(path, "dists/broken/non-free/source"); + createFile(path, "dists/broken/.aptignr"); + createFile(path, "dists/stable/main/binary-i386/Packages"); + createFile(path, "dists/stable/main/binary-i386/Packages.bz2"); + createFile(path, "dists/stable/main/source/Sources.xz"); + createFile(path, "dists/stable/contrib/binary-amd64/Packages"); + createFile(path, "dists/stable/contrib/binary-amd64/Packages.gz"); + createFile(path, "dists/stable/non-free/binary-all/Packages"); + createFile(path, "dists/unstable/main/binary-i386/Packages.xz"); + createFile(path, "dists/unstable/main/binary-i386/Packages.lzma"); + createFile(path, "dists/unstable/main/i18n/Translation-en"); + createFile(path, "dists/unstable/main/i18n/Translation-de.bz2"); + createFile(path, "dists/unstable/main/source/Sources.xz"); + createFile(path, "dists/broken/non-free/source/Sources.gz"); + createFile(path, "dists/stable/Release.gpg"); + createFile(path, "dists/stable/Release"); + createFile(path, "dists/unstable/InRelease"); + createFile(path, "dists/broken/Release.gpg"); + createLink(path, "dists/unstable", "dists/sid"); + + Cdrom cd; + std::vector<std::string> Packages, Sources, Signatur, Translation; + std::string InfoDir; + EXPECT_TRUE(cd.FindPackages(path, Packages, Sources, Signatur, Translation, InfoDir)); + EXPECT_EQ(5u, Packages.size()); + EXPECT_EQ(path + "/dists/sid/main/binary-i386/", Packages[0]); + EXPECT_EQ(path + "/dists/stable/contrib/binary-amd64/", Packages[1]); + EXPECT_EQ(path + "/dists/stable/main/binary-i386/", Packages[2]); + EXPECT_EQ(path + "/dists/stable/non-free/binary-all/", Packages[3]); + EXPECT_EQ(path + "/dists/unstable/main/binary-i386/", Packages[4]); + EXPECT_EQ(3u, Sources.size()); + EXPECT_EQ(path + "/dists/sid/main/source/", Sources[0]); + EXPECT_EQ(path + "/dists/stable/main/source/", Sources[1]); + EXPECT_EQ(path + "/dists/unstable/main/source/", Sources[2]); + EXPECT_EQ(3u, Signatur.size()); + EXPECT_EQ(path + "/dists/sid/", Signatur[0]); + EXPECT_EQ(path + "/dists/stable/", Signatur[1]); + EXPECT_EQ(path + "/dists/unstable/", Signatur[2]); + EXPECT_EQ(4u, Translation.size()); + EXPECT_EQ(path + "/dists/sid/main/i18n/Translation-de", Translation[0]); + EXPECT_EQ(path + "/dists/sid/main/i18n/Translation-en", Translation[1]); + EXPECT_EQ(path + "/dists/unstable/main/i18n/Translation-de", Translation[2]); + EXPECT_EQ(path + "/dists/unstable/main/i18n/Translation-en", Translation[3]); + EXPECT_EQ(path + "/.disk/", InfoDir); + + cd.DropRepeats(Packages, "Packages"); + cd.DropRepeats(Sources, "Sources"); + _error->PushToStack(); + cd.DropRepeats(Signatur, "InRelease"); + cd.DropRepeats(Signatur, "Release.gpg"); + _error->RevertToStack(); + _error->DumpErrors(); + cd.DropRepeats(Translation, ""); + + EXPECT_EQ(4u, Packages.size()); + EXPECT_EQ(path + "/dists/stable/contrib/binary-amd64/", Packages[0]); + EXPECT_EQ(path + "/dists/stable/main/binary-i386/", Packages[1]); + EXPECT_EQ(path + "/dists/stable/non-free/binary-all/", Packages[2]); + EXPECT_EQ(path + "/dists/unstable/main/binary-i386/", Packages[3]); + EXPECT_EQ(2u, Sources.size()); + EXPECT_EQ(path + "/dists/stable/main/source/", Sources[0]); + EXPECT_EQ(path + "/dists/unstable/main/source/", Sources[1]); + EXPECT_EQ(2u, Signatur.size()); + EXPECT_EQ(path + "/dists/stable/", Signatur[0]); + EXPECT_EQ(path + "/dists/unstable/", Signatur[1]); + EXPECT_EQ(2u, Translation.size()); + EXPECT_EQ(path + "/dists/unstable/main/i18n/Translation-de", Translation[0]); + EXPECT_EQ(path + "/dists/unstable/main/i18n/Translation-en", Translation[1]); + + removeDirectory(path); +} diff --git a/test/libapt/commandline_test.cc b/test/libapt/commandline_test.cc new file mode 100644 index 0000000..cde80b4 --- /dev/null +++ b/test/libapt/commandline_test.cc @@ -0,0 +1,238 @@ +#include <config.h> + +#include <apt-pkg/cmndline.h> +#include <apt-pkg/configuration.h> +#include <apt-private/private-cmndline.h> + +#include <gtest/gtest.h> + +class CLT: public CommandLine { + public: + std::string static AsString(const char * const * const argv, + unsigned int const argc) { + std::string const static conf = "Commandline::AsString"; + _config->Clear(conf); + SaveInConfig(argc, argv); + return _config->Find(conf); + } +}; + +TEST(CommandLineTest,SaveInConfig) +{ +#define APT_EXPECT_CMD(x, ...) { const char * const argv[] = { __VA_ARGS__ }; EXPECT_EQ(x, CLT::AsString(argv, sizeof(argv)/sizeof(argv[0]))); } + APT_EXPECT_CMD("apt-get install -sf", + "apt-get", "install", "-sf"); + APT_EXPECT_CMD("apt-cache -s apt -so Debug::test=Test", + "apt-cache", "-s", "apt", "-so", "Debug::test=Test"); + APT_EXPECT_CMD("apt-cache -s apt -so Debug::test='Das ist ein Test'", + "apt-cache", "-s", "apt", "-so", "Debug::test=Das ist ein Test"); + APT_EXPECT_CMD("apt-cache -s apt -so Debug::test='Das ist ein Test'", + "apt-cache", "-s", "apt", "-so", "Debug::test=\"Das ist ein Test\""); + APT_EXPECT_CMD("apt-cache -s apt -so Debug::test='Das ist ein Test' foo", + "apt-cache", "-s", "apt", "-so", "\"Debug::test=Das ist ein Test\"", "foo"); + APT_EXPECT_CMD("apt-cache -s apt -so Debug::test='Das ist ein Test' foo", + "apt-cache", "-s", "apt", "-so", "\'Debug::test=Das ist ein Test\'", "foo"); + APT_EXPECT_CMD("apt-cache -s apt -so Debug::test='That is crazy!' foo", + "apt-cache", "-s", "apt", "-so", "\'Debug::test=That \ris\n crazy!\'", "foo"); + APT_EXPECT_CMD("apt-cache -s apt --hallo test=1.0", + "apt-cache", "-s", "apt", "--hallo", "test=1.0"); +#undef APT_EXPECT_CMD +} +TEST(CommandLineTest,Parsing) +{ + CommandLine::Args Args[] = { + { 't', 0, "Test::Worked", 0 }, + { 'T', "testing", "Test::Worked", CommandLine::HasArg }, + { 'z', "zero", "Test::Zero", 0 }, + { 'o', "option", 0, CommandLine::ArbItem }, + {0,0,0,0} + }; + ::Configuration c; + CommandLine CmdL(Args, &c); + + char const * argv[] = { "test", "--zero", "-t" }; + CmdL.Parse(3 , argv); + EXPECT_TRUE(c.FindB("Test::Worked", false)); + EXPECT_TRUE(c.FindB("Test::Zero", false)); + + c.Clear("Test"); + EXPECT_FALSE(c.FindB("Test::Worked", false)); + EXPECT_FALSE(c.FindB("Test::Zero", false)); + + c.Set("Test::Zero", true); + EXPECT_TRUE(c.FindB("Test::Zero", false)); + + char const * argv2[] = { "test", "--no-zero", "-t" }; + CmdL.Parse(3 , argv2); + EXPECT_TRUE(c.FindB("Test::Worked", false)); + EXPECT_FALSE(c.FindB("Test::Zero", false)); + + c.Clear("Test"); + { + char const * argv[] = { "test", "-T", "yes" }; + CmdL.Parse(3 , argv); + EXPECT_TRUE(c.FindB("Test::Worked", false)); + EXPECT_EQ("yes", c.Find("Test::Worked", "no")); + EXPECT_EQ(0u, CmdL.FileSize()); + } + c.Clear("Test"); + { + char const * argv[] = { "test", "-T=yes" }; + CmdL.Parse(2 , argv); + EXPECT_TRUE(c.Exists("Test::Worked")); + EXPECT_EQ("yes", c.Find("Test::Worked", "no")); + EXPECT_EQ(0u, CmdL.FileSize()); + } + c.Clear("Test"); + { + char const * argv[] = { "test", "-T=", "yes" }; + CmdL.Parse(3 , argv); + EXPECT_TRUE(c.Exists("Test::Worked")); + EXPECT_EQ("no", c.Find("Test::Worked", "no")); + EXPECT_EQ(1u, CmdL.FileSize()); + } + + c.Clear("Test"); + { + char const * argv[] = { "test", "--testing", "yes" }; + CmdL.Parse(3 , argv); + EXPECT_TRUE(c.FindB("Test::Worked", false)); + EXPECT_EQ("yes", c.Find("Test::Worked", "no")); + EXPECT_EQ(0u, CmdL.FileSize()); + } + c.Clear("Test"); + { + char const * argv[] = { "test", "--testing=yes" }; + CmdL.Parse(2 , argv); + EXPECT_TRUE(c.Exists("Test::Worked")); + EXPECT_EQ("yes", c.Find("Test::Worked", "no")); + EXPECT_EQ(0u, CmdL.FileSize()); + } + c.Clear("Test"); + { + char const * argv[] = { "test", "--testing=", "yes" }; + CmdL.Parse(3 , argv); + EXPECT_TRUE(c.Exists("Test::Worked")); + EXPECT_EQ("no", c.Find("Test::Worked", "no")); + EXPECT_EQ(1u, CmdL.FileSize()); + } + + c.Clear("Test"); + { + char const * argv[] = { "test", "-o", "test::worked=yes" }; + CmdL.Parse(3 , argv); + EXPECT_TRUE(c.FindB("Test::Worked", false)); + EXPECT_EQ("yes", c.Find("Test::Worked", "no")); + } + c.Clear("Test"); + { + char const * argv[] = { "test", "-o", "test::worked=" }; + CmdL.Parse(3 , argv); + EXPECT_TRUE(c.Exists("Test::Worked")); + EXPECT_EQ("no", c.Find("Test::Worked", "no")); + } + c.Clear("Test"); + { + char const * argv[] = { "test", "-o", "test::worked=", "yes" }; + CmdL.Parse(4 , argv); + EXPECT_TRUE(c.Exists("Test::Worked")); + EXPECT_EQ("no", c.Find("Test::Worked", "no")); + } + c.Clear("Test"); +} + +TEST(CommandLineTest, BoolParsing) +{ + CommandLine::Args Args[] = { + { 't', 0, "Test::Worked", 0 }, + {0,0,0,0} + }; + ::Configuration c; + CommandLine CmdL(Args, &c); + + // the commandline parser used to use strtol() on the argument + // to check if the argument is a boolean expression - that + // stopped after the "0". this test ensures that we always check + // that the entire string was consumed by strtol + { + char const * argv[] = { "show", "-t", "0ad" }; + bool res = CmdL.Parse(sizeof(argv)/sizeof(char*), argv); + EXPECT_TRUE(res); + ASSERT_EQ(std::string(CmdL.FileList[0]), "0ad"); + } + + { + char const * argv[] = { "show", "-t", "0", "ad" }; + bool res = CmdL.Parse(sizeof(argv)/sizeof(char*), argv); + EXPECT_TRUE(res); + ASSERT_EQ(std::string(CmdL.FileList[0]), "ad"); + } + +} + +static bool DoVoid(CommandLine &) { return false; } + +TEST(CommandLineTest,GetCommand) +{ + CommandLine::Dispatch Cmds[] = { {"install",&DoVoid}, {"remove", &DoVoid}, {0,0} }; + { + char const * argv[] = { "apt-get", "-t", "unstable", "remove", "-d", "foo" }; + char const * com = CommandLine::GetCommand(Cmds, sizeof(argv)/sizeof(argv[0]), argv); + EXPECT_STREQ("remove", com); + std::vector<CommandLine::Args> Args = getCommandArgs(APT_CMD::APT_GET, com); + ::Configuration c; + CommandLine CmdL(Args.data(), &c); + ASSERT_TRUE(CmdL.Parse(sizeof(argv)/sizeof(argv[0]), argv)); + EXPECT_EQ(c.Find("APT::Default-Release"), "unstable"); + EXPECT_TRUE(c.FindB("APT::Get::Download-Only")); + ASSERT_EQ(2u, CmdL.FileSize()); + EXPECT_EQ(std::string(CmdL.FileList[0]), "remove"); + EXPECT_EQ(std::string(CmdL.FileList[1]), "foo"); + } + { + char const * argv[] = {"apt-get", "-t", "unstable", "remove", "--", "-d", "foo" }; + char const * com = CommandLine::GetCommand(Cmds, sizeof(argv)/sizeof(argv[0]), argv); + EXPECT_STREQ("remove", com); + std::vector<CommandLine::Args> Args = getCommandArgs(APT_CMD::APT_GET, com); + ::Configuration c; + CommandLine CmdL(Args.data(), &c); + ASSERT_TRUE(CmdL.Parse(sizeof(argv)/sizeof(argv[0]), argv)); + EXPECT_EQ(c.Find("APT::Default-Release"), "unstable"); + EXPECT_FALSE(c.FindB("APT::Get::Download-Only")); + ASSERT_EQ(3u, CmdL.FileSize()); + EXPECT_EQ(std::string(CmdL.FileList[0]), "remove"); + EXPECT_EQ(std::string(CmdL.FileList[1]), "-d"); + EXPECT_EQ(std::string(CmdL.FileList[2]), "foo"); + } + { + char const * argv[] = {"apt-get", "-t", "unstable", "--", "remove", "-d", "foo" }; + char const * com = CommandLine::GetCommand(Cmds, sizeof(argv)/sizeof(argv[0]), argv); + EXPECT_STREQ("remove", com); + std::vector<CommandLine::Args> Args = getCommandArgs(APT_CMD::APT_GET, com); + ::Configuration c; + CommandLine CmdL(Args.data(), &c); + ASSERT_TRUE(CmdL.Parse(sizeof(argv)/sizeof(argv[0]), argv)); + EXPECT_EQ(c.Find("APT::Default-Release"), "unstable"); + EXPECT_FALSE(c.FindB("APT::Get::Download-Only")); + ASSERT_EQ(3u, CmdL.FileSize()); + EXPECT_EQ(std::string(CmdL.FileList[0]), "remove"); + EXPECT_EQ(std::string(CmdL.FileList[1]), "-d"); + EXPECT_EQ(std::string(CmdL.FileList[2]), "foo"); + } + { + char const * argv[] = {"apt-get", "install", "-t", "unstable", "--", "remove", "-d", "foo" }; + char const * com = CommandLine::GetCommand(Cmds, sizeof(argv)/sizeof(argv[0]), argv); + EXPECT_STREQ("install", com); + std::vector<CommandLine::Args> Args = getCommandArgs(APT_CMD::APT_GET, com); + ::Configuration c; + CommandLine CmdL(Args.data(), &c); + ASSERT_TRUE(CmdL.Parse(sizeof(argv)/sizeof(argv[0]), argv)); + EXPECT_EQ(c.Find("APT::Default-Release"), "unstable"); + EXPECT_FALSE(c.FindB("APT::Get::Download-Only")); + ASSERT_EQ(4u, CmdL.FileSize()); + EXPECT_EQ(std::string(CmdL.FileList[0]), "install"); + EXPECT_EQ(std::string(CmdL.FileList[1]), "remove"); + EXPECT_EQ(std::string(CmdL.FileList[2]), "-d"); + EXPECT_EQ(std::string(CmdL.FileList[3]), "foo"); + } +} diff --git a/test/libapt/compareversion_test.cc b/test/libapt/compareversion_test.cc new file mode 100644 index 0000000..0fe32cf --- /dev/null +++ b/test/libapt/compareversion_test.cc @@ -0,0 +1,182 @@ +// -*- mode: cpp; mode: fold -*- +// Description /*{{{*/ +/* ###################################################################### + + Version Test - Simple program to run through a file and comare versions. + + Each version is compared and the result is checked against an expected + result in the file. The format of the file is + a b Res + Where Res is -1, 1, 0. dpkg -D=1 --compare-versions a "<" b can be + used to determine what Res should be. # at the start of the line + is a comment and blank lines are skipped + + The runner will also call dpkg --compare-versions to check if APT and + dpkg have (still) the same idea. + + ##################################################################### */ + /*}}}*/ +#include <config.h> + +#include <apt-pkg/debversion.h> +#include <apt-pkg/error.h> +#include <apt-pkg/fileutl.h> + +#include <cstdlib> +#include <fstream> +#include <string> +#include <sys/wait.h> +#include <unistd.h> + +#include <gtest/gtest.h> + +using namespace std; + +static bool callDPKG(const char * const val, const char * const ref, char const * const op) { + pid_t Process = ExecFork(); + if (Process == 0) + { + const char * args[] = { + "dpkg", + "--compare-versions", + val, + op, + ref, + nullptr + }; + execvp(args[0], (char**) args); + exit(1); + } + int Ret; + waitpid(Process, &Ret, 0); + EXPECT_TRUE(WIFEXITED(Ret)); + return WEXITSTATUS(Ret) == 0; +} + + +#define EXPECT_VERSION_PART(A, compare, B) \ +{ \ + int Res = debVS.CmpVersion(A, B); \ + Res = (Res < 0) ? -1 : ( (Res > 0) ? 1 : Res); \ + EXPECT_EQ(compare, Res) << "APT: A: »" << A << "« B: »" << B << "«"; \ + EXPECT_PRED3(callDPKG, A, B, ((compare == 1) ? ">>" : ( (compare == 0) ? "=" : "<<"))); \ +} +#define EXPECT_VERSION(A, compare, B) \ + EXPECT_VERSION_PART(A, compare, B); \ + EXPECT_VERSION_PART(B, compare * -1, A) + +// History-Remark: The versions used to be specified in a versions.lst file + +enum CompareVersionType { LESS = -1, GREATER = 1, EQUAL = 0 }; + +TEST(CompareVersionTest,Basic) +{ + EXPECT_VERSION("7.6p2-4", GREATER, "7.6-0"); + EXPECT_VERSION("1.0.3-3", GREATER, "1.0-1"); + EXPECT_VERSION("1.3", GREATER, "1.2.2-2"); + EXPECT_VERSION("1.3", GREATER, "1.2.2"); + + /* disabled as dpkg doesn't like them… (versions have to start with a number) + EXPECT_VERSION("-", LESS, "."); + EXPECT_VERSION("p", LESS, "-"); + EXPECT_VERSION("a", LESS, "-"); + EXPECT_VERSION("z", LESS, "-"); + EXPECT_VERSION("a", LESS, "."); + EXPECT_VERSION("z", LESS, "."); + // */ + + /* disabled as dpkg doesn't like them… (versions have to start with a number) + EXPECT_VERSION("III-alpha9.8", LESS, "III-alpha9.8-1.5"); + // */ + + // Test some properties of text strings + EXPECT_VERSION("0-pre", EQUAL, "0-pre"); + EXPECT_VERSION("0-pre", LESS, "0-pree"); + + EXPECT_VERSION("1.1.6r2-2", GREATER, "1.1.6r-1"); + EXPECT_VERSION("2.6b2-1", GREATER, "2.6b-2"); + + EXPECT_VERSION("98.1p5-1", LESS, "98.1-pre2-b6-2"); + EXPECT_VERSION("0.4a6-2", GREATER, "0.4-1"); + + EXPECT_VERSION("1:3.0.5-2", LESS, "1:3.0.5.1"); +} +TEST(CompareVersionTest,Epochs) +{ + EXPECT_VERSION("1:0.4", GREATER, "10.3"); + EXPECT_VERSION("1:1.25-4", LESS, "1:1.25-8"); + EXPECT_VERSION("0:1.18.36", EQUAL, "1.18.36"); + + EXPECT_VERSION("1.18.36", GREATER, "1.18.35"); + EXPECT_VERSION("0:1.18.36", GREATER, "1.18.35"); +} +TEST(CompareVersionTest,Strangeness) +{ + // Funky, but allowed, characters in upstream version + EXPECT_VERSION("9:1.18.36:5.4-20", LESS, "10:0.5.1-22"); + EXPECT_VERSION("9:1.18.36:5.4-20", LESS, "9:1.18.36:5.5-1"); + EXPECT_VERSION("9:1.18.36:5.4-20", LESS, " 9:1.18.37:4.3-22"); + EXPECT_VERSION("1.18.36-0.17.35-18", GREATER, "1.18.36-19"); + + // Junk + EXPECT_VERSION("1:1.2.13-3", LESS, "1:1.2.13-3.1"); + EXPECT_VERSION("2.0.7pre1-4", LESS, "2.0.7r-1"); + + // if a version includes a dash, it should be the debrev dash - policy says so… + EXPECT_VERSION("0:0-0-0", GREATER, "0-0"); + + // do we like strange versions? Yes we like strange versions… + EXPECT_VERSION("0", EQUAL, "0"); + EXPECT_VERSION("0", EQUAL, "00"); +} +TEST(CompareVersionTest,DebianBug) +{ + // #205960 + EXPECT_VERSION("3.0~rc1-1", LESS, "3.0-1"); + // #573592 - debian policy 5.6.12 + EXPECT_VERSION("1.0", EQUAL, "1.0-0"); + EXPECT_VERSION("0.2", LESS, "1.0-0"); + EXPECT_VERSION("1.0", LESS, "1.0-0+b1"); + EXPECT_VERSION("1.0", GREATER, "1.0-0~"); +} +TEST(CompareVersionTest,CuptTests) +{ + // "steal" the testcases from (old perl) cupt + EXPECT_VERSION("1.2.3", EQUAL, "1.2.3"); // identical + EXPECT_VERSION("4.4.3-2", EQUAL, "4.4.3-2"); // identical + EXPECT_VERSION("1:2ab:5", EQUAL, "1:2ab:5"); // this is correct... + EXPECT_VERSION("7:1-a:b-5", EQUAL, "7:1-a:b-5"); // and this + EXPECT_VERSION("57:1.2.3abYZ+~-4-5", EQUAL, "57:1.2.3abYZ+~-4-5"); // and those too + EXPECT_VERSION("1.2.3", EQUAL, "0:1.2.3"); // zero epoch + EXPECT_VERSION("1.2.3", EQUAL, "1.2.3-0"); // zero revision + EXPECT_VERSION("009", EQUAL, "9"); // zeroes… + EXPECT_VERSION("009ab5", EQUAL, "9ab5"); // there as well + EXPECT_VERSION("1.2.3", LESS, "1.2.3-1"); // added non-zero revision + EXPECT_VERSION("1.2.3", LESS, "1.2.4"); // just bigger + EXPECT_VERSION("1.2.4", GREATER, "1.2.3"); // order doesn't matter + EXPECT_VERSION("1.2.24", GREATER, "1.2.3"); // bigger, eh? + EXPECT_VERSION("0.10.0", GREATER, "0.8.7"); // bigger, eh? + EXPECT_VERSION("3.2", GREATER, "2.3"); // major number rocks + EXPECT_VERSION("1.3.2a", GREATER, "1.3.2"); // letters rock + EXPECT_VERSION("0.5.0~git", LESS, "0.5.0~git2"); // numbers rock + EXPECT_VERSION("2a", LESS, "21"); // but not in all places + EXPECT_VERSION("1.3.2a", LESS, "1.3.2b"); // but there is another letter + EXPECT_VERSION("1:1.2.3", GREATER, "1.2.4"); // epoch rocks + EXPECT_VERSION("1:1.2.3", LESS, "1:1.2.4"); // bigger anyway + EXPECT_VERSION("1.2a+~bCd3", LESS, "1.2a++"); // tilde doesn't rock + EXPECT_VERSION("1.2a+~bCd3", GREATER, "1.2a+~"); // but first is longer! + EXPECT_VERSION("5:2", GREATER, "304-2"); // epoch rocks + EXPECT_VERSION("5:2", LESS, "304:2"); // so big epoch? + EXPECT_VERSION("25:2", GREATER, "3:2"); // 25 > 3, obviously + EXPECT_VERSION("1:2:123", LESS, "1:12:3"); // 12 > 2 + EXPECT_VERSION("1.2-5", LESS, "1.2-3-5"); // 1.2 < 1.2-3 + EXPECT_VERSION("5.10.0", GREATER, "5.005"); // preceding zeroes don't matters + EXPECT_VERSION("3a9.8", LESS, "3.10.2"); // letters are before all letter symbols + EXPECT_VERSION("3a9.8", GREATER, "3~10"); // but after the tilde + EXPECT_VERSION("1.4+OOo3.0.0~", LESS, "1.4+OOo3.0.0-4"); // another tilde check + EXPECT_VERSION("2.4.7-1", LESS, "2.4.7-z"); // revision comparing + EXPECT_VERSION("1.002-1+b2", GREATER, "1.00"); // whatever... + /* disabled as dpkg doesn't like them… (versions with illegal char) + EXPECT_VERSION("2.2.4-47978_Debian_lenny", EQUAL, "2.2.4-47978_Debian_lenny"); // and underscore... + // */ +} diff --git a/test/libapt/configuration_test.cc b/test/libapt/configuration_test.cc new file mode 100644 index 0000000..4d297a9 --- /dev/null +++ b/test/libapt/configuration_test.cc @@ -0,0 +1,232 @@ +#include <config.h> + +#include <apt-pkg/configuration.h> +#include <apt-pkg/fileutl.h> + +#include <string> +#include <vector> + +#include <gtest/gtest.h> + +#include "file-helpers.h" + +TEST(ConfigurationTest,Lists) +{ + Configuration Cnf; + + Cnf.Set("APT::Keep-Fds::",28); + Cnf.Set("APT::Keep-Fds::",17); + Cnf.Set("APT::Keep-Fds::2",47); + Cnf.Set("APT::Keep-Fds::","broken"); + std::vector<std::string> fds = Cnf.FindVector("APT::Keep-Fds"); + ASSERT_EQ(4u, fds.size()); + EXPECT_EQ("28", fds[0]); + EXPECT_EQ("17", fds[1]); + EXPECT_EQ("47", fds[2]); + EXPECT_EQ("broken", fds[3]); + + EXPECT_TRUE(Cnf.Exists("APT::Keep-Fds::2")); + EXPECT_EQ("47", Cnf.Find("APT::Keep-Fds::2")); + EXPECT_EQ(47, Cnf.FindI("APT::Keep-Fds::2")); + EXPECT_FALSE(Cnf.Exists("APT::Keep-Fds::3")); + EXPECT_EQ("", Cnf.Find("APT::Keep-Fds::3")); + EXPECT_EQ(56, Cnf.FindI("APT::Keep-Fds::3", 56)); + EXPECT_EQ("not-set", Cnf.Find("APT::Keep-Fds::3", "not-set")); + + Cnf.Clear("APT::Keep-Fds::2"); + EXPECT_TRUE(Cnf.Exists("APT::Keep-Fds::2")); + fds = Cnf.FindVector("APT::Keep-Fds"); + ASSERT_EQ(4u, fds.size()); + EXPECT_EQ("28", fds[0]); + EXPECT_EQ("17", fds[1]); + EXPECT_EQ("", fds[2]); + EXPECT_EQ("broken", fds[3]); + + Cnf.Clear("APT::Keep-Fds",28); + fds = Cnf.FindVector("APT::Keep-Fds"); + ASSERT_EQ(3u, fds.size()); + EXPECT_EQ("17", fds[0]); + EXPECT_EQ("", fds[1]); + EXPECT_EQ("broken", fds[2]); + + Cnf.Clear("APT::Keep-Fds",""); + EXPECT_FALSE(Cnf.Exists("APT::Keep-Fds::2")); + + Cnf.Clear("APT::Keep-Fds",17); + Cnf.Clear("APT::Keep-Fds","broken"); + fds = Cnf.FindVector("APT::Keep-Fds"); + EXPECT_TRUE(fds.empty()); + + Cnf.Set("APT::Keep-Fds::",21); + Cnf.Set("APT::Keep-Fds::",42); + fds = Cnf.FindVector("APT::Keep-Fds"); + ASSERT_EQ(2u, fds.size()); + EXPECT_EQ("21", fds[0]); + EXPECT_EQ("42", fds[1]); + + Cnf.Clear("APT::Keep-Fds"); + fds = Cnf.FindVector("APT::Keep-Fds"); + EXPECT_TRUE(fds.empty()); +} +TEST(ConfigurationTest,Integers) +{ + Configuration Cnf; + + Cnf.CndSet("APT::Version", 42); + Cnf.CndSet("APT::Version", "66"); + EXPECT_EQ("42", Cnf.Find("APT::Version")); + EXPECT_EQ(42, Cnf.FindI("APT::Version")); + EXPECT_EQ("42", Cnf.Find("APT::Version", "33")); + EXPECT_EQ(42, Cnf.FindI("APT::Version", 33)); + EXPECT_EQ("33", Cnf.Find("APT2::Version", "33")); + EXPECT_EQ(33, Cnf.FindI("APT2::Version", 33)); +} +TEST(ConfigurationTest,DirsAndFiles) +{ + Configuration Cnf; + + EXPECT_EQ("", Cnf.FindFile("Dir::State")); + EXPECT_EQ("", Cnf.FindFile("Dir::Aptitude::State")); + Cnf.Set("Dir", "/srv/sid"); + EXPECT_EQ("", Cnf.FindFile("Dir::State")); + Cnf.Set("Dir::State", "var/lib/apt"); + Cnf.Set("Dir::Aptitude::State", "var/lib/aptitude"); + EXPECT_EQ("/srv/sid/var/lib/apt", Cnf.FindFile("Dir::State")); + EXPECT_EQ("/srv/sid/var/lib/aptitude", Cnf.FindFile("Dir::Aptitude::State")); + + Cnf.Set("RootDir", "/"); + EXPECT_EQ("/srv/sid/var/lib/apt", Cnf.FindFile("Dir::State")); + EXPECT_EQ("/srv/sid/var/lib/aptitude", Cnf.FindFile("Dir::Aptitude::State")); + Cnf.Set("RootDir", "//./////.////"); + EXPECT_EQ("/srv/sid/var/lib/apt", Cnf.FindFile("Dir::State")); + EXPECT_EQ("/srv/sid/var/lib/aptitude", Cnf.FindFile("Dir::Aptitude::State")); + Cnf.Set("RootDir", "/rootdir"); + EXPECT_EQ("/rootdir/srv/sid/var/lib/apt", Cnf.FindFile("Dir::State")); + EXPECT_EQ("/rootdir/srv/sid/var/lib/aptitude", Cnf.FindFile("Dir::Aptitude::State")); + Cnf.Set("RootDir", "/rootdir/"); + EXPECT_EQ("/rootdir/srv/sid/var/lib/apt", Cnf.FindFile("Dir::State")); + EXPECT_EQ("/rootdir/srv/sid/var/lib/aptitude", Cnf.FindFile("Dir::Aptitude::State")); + + Cnf.Set("Dir::State", "/dev/null"); + Cnf.Set("Dir::State::lists", "lists/"); + EXPECT_EQ("/rootdir/dev/null", Cnf.FindDir("Dir::State")); + EXPECT_EQ("/rootdir/dev/null", Cnf.FindDir("Dir::State::lists")); +} +TEST(ConfigurationTest,DevNullInPaths) +{ + Configuration Cnf; + EXPECT_EQ("", Cnf.FindFile("Dir")); + EXPECT_EQ("", Cnf.FindFile("Dir::State")); + EXPECT_EQ("", Cnf.FindFile("Dir::State::status")); + Cnf.Set("Dir::State", "/dev/null"); + EXPECT_EQ("/dev/null", Cnf.FindFile("Dir::State")); + Cnf.Set("Dir", "/"); + Cnf.Set("Dir::State::status", "status"); + EXPECT_EQ("/dev/null", Cnf.FindFile("Dir::State")); + EXPECT_EQ("/dev/null", Cnf.FindFile("Dir::State::status")); + Cnf.Set("Dir::State", ""); + EXPECT_EQ("", Cnf.FindFile("Dir::State")); + EXPECT_EQ("/status", Cnf.FindFile("Dir::State::status")); + Cnf.Set("Dir", "/dev/null"); + EXPECT_EQ("/dev/null", Cnf.FindFile("Dir")); + EXPECT_EQ("", Cnf.FindFile("Dir::State")); + EXPECT_EQ("/dev/null", Cnf.FindFile("Dir::State::status")); + Cnf.Set("Dir", "/rootdir"); + EXPECT_EQ("/rootdir", Cnf.FindFile("Dir")); + EXPECT_EQ("", Cnf.FindFile("Dir::State")); + EXPECT_EQ("/rootdir/status", Cnf.FindFile("Dir::State::status")); + Cnf.Set("Dir::State::status", "/foo/status"); + EXPECT_EQ("/rootdir", Cnf.FindFile("Dir")); + EXPECT_EQ("", Cnf.FindFile("Dir::State")); + EXPECT_EQ("/foo/status", Cnf.FindFile("Dir::State::status")); +} +TEST(ConfigurationTest,Vector) +{ + Configuration Cnf; + + std::vector<std::string> vec = Cnf.FindVector("Test::Vector", ""); + EXPECT_EQ(0u, vec.size()); + vec = Cnf.FindVector("Test::Vector", "foo"); + ASSERT_EQ(1u, vec.size()); + EXPECT_EQ("foo", vec[0]); + vec = Cnf.FindVector("Test::Vector", "foo,bar"); + EXPECT_EQ(2u, vec.size()); + EXPECT_EQ("foo", vec[0]); + EXPECT_EQ("bar", vec[1]); + Cnf.Set("Test::Vector::", "baz"); + Cnf.Set("Test::Vector::", "bob"); + Cnf.Set("Test::Vector::", "dob"); + vec = Cnf.FindVector("Test::Vector"); + ASSERT_EQ(3u, vec.size()); + EXPECT_EQ("baz", vec[0]); + EXPECT_EQ("bob", vec[1]); + EXPECT_EQ("dob", vec[2]); + vec = Cnf.FindVector("Test::Vector", "foo,bar"); + ASSERT_EQ(3u, vec.size()); + EXPECT_EQ("baz", vec[0]); + EXPECT_EQ("bob", vec[1]); + EXPECT_EQ("dob", vec[2]); + Cnf.Set("Test::Vector", "abel,bravo"); + vec = Cnf.FindVector("Test::Vector", "foo,bar"); + ASSERT_EQ(2u, vec.size()); + EXPECT_EQ("abel", vec[0]); + EXPECT_EQ("bravo", vec[1]); +} +TEST(ConfigurationTest,Merge) +{ + Configuration Cnf; + Cnf.Set("Binary::apt::option::foo", "bar"); + Cnf.Set("Binary::apt::option::empty", ""); + Cnf.Set("option::foo", "foo"); + + Cnf.MoveSubTree("Binary::apt", "Binary::apt2"); + EXPECT_FALSE(Cnf.Exists("Binary::apt::option")); + EXPECT_TRUE(Cnf.Exists("option")); + EXPECT_EQ("foo", Cnf.Find("option::foo")); + EXPECT_EQ("bar", Cnf.Find("Binary::apt2::option::foo")); + + EXPECT_FALSE(Cnf.Exists("option::empty")); + EXPECT_TRUE(Cnf.Exists("Binary::apt2::option::empty")); + Cnf.Set("option::empty", "not"); + + Cnf.MoveSubTree("Binary::apt2", NULL); + EXPECT_FALSE(Cnf.Exists("Binary::apt2::option")); + EXPECT_TRUE(Cnf.Exists("option")); + EXPECT_EQ("bar", Cnf.Find("option::foo")); + EXPECT_EQ("", Cnf.Find("option::empty")); +} +TEST(ConfigurationTest, Parsing) +{ + Configuration Cnf; + { + auto const file = createTemporaryFile("doublesignedfile", R"apt( +SimpleOption "true"; +/* SimpleOption "false"; */ +Answer::Simple "42"; +# This is a comment +List::Option { "In"; "One"; "Line"; }; +// this a comment as well +List::Option2 { "Multi"; +"Line"; # inline comment + "Options"; +}; Trailing "true"; +/* Commented::Out "true"; */ +)apt"); + EXPECT_TRUE(ReadConfigFile(Cnf, file.Name())); + } + EXPECT_TRUE(Cnf.FindB("SimpleOption")); + EXPECT_EQ(42, Cnf.FindI("Answer::Simple")); + EXPECT_TRUE(Cnf.Exists("List::Option")); + auto const singleline = Cnf.FindVector("List::Option"); + EXPECT_EQ(3u, singleline.size()); + EXPECT_EQ("In", singleline[0]); + EXPECT_EQ("One", singleline[1]); + EXPECT_EQ("Line", singleline[2]); + auto const multiline = Cnf.FindVector("List::Option2"); + EXPECT_EQ(3u, multiline.size()); + EXPECT_EQ("Multi", multiline[0]); + EXPECT_EQ("Line", multiline[1]); + EXPECT_EQ("Options", multiline[2]); + EXPECT_TRUE(Cnf.FindB("Trailing")); + EXPECT_FALSE(Cnf.Exists("Commented::Out")); +} diff --git a/test/libapt/extracttar_test.cc b/test/libapt/extracttar_test.cc new file mode 100644 index 0000000..246aea7 --- /dev/null +++ b/test/libapt/extracttar_test.cc @@ -0,0 +1,52 @@ +#include <config.h> + +#include <apt-pkg/dirstream.h> +#include <apt-pkg/error.h> +#include <apt-pkg/extracttar.h> +#include <cstdlib> +#include <iostream> + +#include "assert.h" +#include <gtest/gtest.h> + +class Stream : public pkgDirStream +{ + public: + int count; + Stream () { count = 0; } + bool DoItem(Item &Itm,int &Fd) APT_OVERRIDE { (void)Itm; (void)Fd; count++; return true; } + bool Fail(Item &Itm,int Fd) APT_OVERRIDE { (void)Itm; (void)Fd; return true; } + bool FinishedFile(Item &Itm,int Fd) APT_OVERRIDE { (void)Itm; (void)Fd; return true; } + ~Stream() {} +}; + +TEST(ExtractTar, ExtractTar) +{ + FileFd tgz; + ASSERT_NE(nullptr, GetTempFile("extracttar", false, &tgz)); + ASSERT_TRUE(tgz.Close()); + ASSERT_FALSE(tgz.Name().empty()); + // FIXME: We should do the right thing… but its a test and nobody will ever… + // Proposal: The first one who sees this assert fail will have to write a patch. + ASSERT_EQ(std::string::npos, tgz.Name().find('\'')); + EXPECT_EQ(0, system(("tar c /etc/passwd 2>/dev/null | gzip > " + tgz.Name()).c_str())); + + FileFd fd(tgz.Name(), FileFd::ReadOnly); + RemoveFile("ExtractTarTest", tgz.Name()); + ASSERT_TRUE(fd.IsOpen()); + ExtractTar tar(fd, -1, "gzip"); + + // Run multiple times, because we want to check not only that extraction + // works, but also that it works multiple times (important for python-apt) + for (int i = 0; i < 5; i++) { + SCOPED_TRACE(i); + Stream stream; + fd.Seek(0); + tar.Go(stream); + if (_error->PendingError()) { + _error->DumpErrors(); + EXPECT_FALSE(true); + } + EXPECT_EQ(stream.count, 1); + } +} diff --git a/test/libapt/file-helpers.cc b/test/libapt/file-helpers.cc new file mode 100644 index 0000000..bb7052b --- /dev/null +++ b/test/libapt/file-helpers.cc @@ -0,0 +1,85 @@ +#include <config.h> + +#include <apt-pkg/fileutl.h> + +#include <string> + +#include <fcntl.h> +#include <sys/stat.h> +#include <sys/types.h> +#include <unistd.h> + +#include <gtest/gtest.h> + +#include "file-helpers.h" + +void helperCreateTemporaryDirectory(std::string const &id, std::string &dir) +{ + std::string const strtempdir = GetTempDir().append("/apt-tests-").append(id).append(".XXXXXX"); + char * tempdir = strdup(strtempdir.c_str()); + ASSERT_STREQ(tempdir, mkdtemp(tempdir)); + dir = tempdir; + free(tempdir); +} +void helperRemoveDirectory(std::string const &dir) +{ + // basic sanity check to avoid removing random directories based on earlier failures + if (dir.find("/apt-tests-") == std::string::npos || dir.find_first_of("*?") != std::string::npos) + FAIL() << "Directory '" << dir << "' seems invalid. It is therefore not removed!"; + else + ASSERT_EQ(0, system(std::string("rm -rf ").append(dir).c_str())); +} +void helperCreateFile(std::string const &dir, std::string const &name) +{ + std::string file = dir; + file.append("/"); + file.append(name); + int const fd = creat(file.c_str(), 0600); + ASSERT_NE(-1, fd); + close(fd); +} +void helperCreateDirectory(std::string const &dir, std::string const &name) +{ + std::string file = dir; + file.append("/"); + file.append(name); + ASSERT_TRUE(CreateDirectory(dir, file)); +} +void helperCreateLink(std::string const &dir, std::string const &targetname, std::string const &linkname) +{ + std::string target = dir; + target.append("/"); + target.append(targetname); + std::string link = dir; + link.append("/"); + link.append(linkname); + ASSERT_EQ(0, symlink(target.c_str(), link.c_str())); +} + +void openTemporaryFile(std::string const &id, FileFd &fd, char const * const content, bool const ImmediateUnlink) +{ + EXPECT_NE(nullptr, GetTempFile("apt-" + id, ImmediateUnlink, &fd)); + EXPECT_TRUE(ImmediateUnlink || not fd.Name().empty()); + if (content != nullptr) + { + EXPECT_TRUE(fd.Write(content, strlen(content))); + EXPECT_TRUE(fd.Sync()); + fd.Seek(0); + } +} +ScopedFileDeleter::ScopedFileDeleter(std::string const &filename) : _filename{filename} {} +ScopedFileDeleter::ScopedFileDeleter(ScopedFileDeleter &&sfd) = default; +ScopedFileDeleter& ScopedFileDeleter::operator=(ScopedFileDeleter &&sfd) = default; +ScopedFileDeleter::~ScopedFileDeleter() { + if (not _filename.empty()) + RemoveFile("ScopedFileDeleter", _filename.c_str()); +} +[[nodiscard]] ScopedFileDeleter createTemporaryFile(std::string const &id, char const * const content) +{ + FileFd fd; + openTemporaryFile(id, fd, content, false); + EXPECT_TRUE(fd.IsOpen()); + EXPECT_TRUE(fd.Close()); + EXPECT_FALSE(fd.Name().empty()); + return ScopedFileDeleter{fd.Name()}; +} diff --git a/test/libapt/file-helpers.h b/test/libapt/file-helpers.h new file mode 100644 index 0000000..4ce0fb2 --- /dev/null +++ b/test/libapt/file-helpers.h @@ -0,0 +1,41 @@ +#ifndef APT_TESTS_FILE_HELPERS +#define APT_TESTS_FILE_HELPERS + +#include <string> + +#include <gtest/gtest.h> + +class FileFd; + +#define createTemporaryDirectory(id, dir) \ + ASSERT_NO_FATAL_FAILURE(helperCreateTemporaryDirectory(id, dir)) +void helperCreateTemporaryDirectory(std::string const &id, std::string &dir); +#define removeDirectory(dir) \ + ASSERT_NO_FATAL_FAILURE(helperRemoveDirectory(dir)) +void helperRemoveDirectory(std::string const &dir); +#define createFile(dir, name) \ + ASSERT_NO_FATAL_FAILURE(helperCreateFile(dir, name)) +void helperCreateFile(std::string const &dir, std::string const &name); +#define createDirectory(dir, name) \ + ASSERT_NO_FATAL_FAILURE(helperCreateDirectory(dir, name)) +void helperCreateDirectory(std::string const &dir, std::string const &name); +#define createLink(dir, targetname, linkname) \ + ASSERT_NO_FATAL_FAILURE(helperCreateLink(dir, targetname, linkname)) +void helperCreateLink(std::string const &dir, std::string const &targetname, std::string const &linkname); + +class ScopedFileDeleter { + std::string _filename; +public: + ScopedFileDeleter(std::string const &filename); + ScopedFileDeleter(ScopedFileDeleter const &) = delete; + ScopedFileDeleter(ScopedFileDeleter &&); + ScopedFileDeleter& operator=(ScopedFileDeleter const &) = delete; + ScopedFileDeleter& operator=(ScopedFileDeleter &&); + ~ScopedFileDeleter(); + + std::string Name() const { return _filename; } +}; +void openTemporaryFile(std::string const &id, FileFd &fd, char const * const content = nullptr, bool const ImmediateUnlink = true); +ScopedFileDeleter createTemporaryFile(std::string const &id, char const * const content = nullptr); + +#endif diff --git a/test/libapt/fileutl_test.cc b/test/libapt/fileutl_test.cc new file mode 100644 index 0000000..da772df --- /dev/null +++ b/test/libapt/fileutl_test.cc @@ -0,0 +1,399 @@ +#include <config.h> + +#include <apt-pkg/aptconfiguration.h> +#include <apt-pkg/configuration.h> +#include <apt-pkg/error.h> +#include <apt-pkg/fileutl.h> +#include <apt-pkg/strutl.h> + +#include <algorithm> +#include <cstdlib> +#include <cstring> +#include <string> +#include <vector> + +#include <gtest/gtest.h> + +#include "file-helpers.h" + +static void TestFileFd(mode_t const a_umask, mode_t const ExpectedFilePermission, + unsigned int const filemode, APT::Configuration::Compressor const &compressor) +{ + std::string trace; + strprintf(trace, "TestFileFd: Compressor: %s umask: %#o permission: %#o mode: %d", compressor.Name.c_str(), a_umask, ExpectedFilePermission, filemode); + SCOPED_TRACE(trace); + + auto const file = createTemporaryFile("filefd-test"); + EXPECT_TRUE(RemoveFile("TestFileFd", file.Name())); + + FileFd f; + umask(a_umask); + EXPECT_TRUE(f.Open(file.Name(), filemode, compressor)); + EXPECT_TRUE(f.IsOpen()); + EXPECT_FALSE(f.Failed()); + EXPECT_EQ(umask(a_umask), a_umask); + + std::string test = "This is a test!\n"; + EXPECT_TRUE(f.Write(test.c_str(), test.size())); + EXPECT_TRUE(f.IsOpen()); + EXPECT_FALSE(f.Failed()); + + f.Close(); + EXPECT_FALSE(f.IsOpen()); + EXPECT_FALSE(f.Failed()); + + EXPECT_TRUE(f.Open(file.Name(), FileFd::ReadOnly, compressor)); + EXPECT_TRUE(f.IsOpen()); + EXPECT_FALSE(f.Failed()); + EXPECT_FALSE(f.Eof()); + EXPECT_NE(0u, f.FileSize()); + EXPECT_FALSE(f.Failed()); + EXPECT_NE(0, f.ModificationTime()); + EXPECT_FALSE(f.Failed()); + + // ensure the memory is as predictably messed up +#define APT_INIT_READBACK \ + char readback[20]; \ + memset(readback, 'D', sizeof(readback)*sizeof(readback[0])); \ + readback[19] = '\0'; +#define EXPECT_N_STR(expect, actual) \ + EXPECT_EQ(0, strncmp(expect, actual, strlen(expect))); + { + APT_INIT_READBACK + char const * const expect = "DDDDDDDDDDDDDDDDDDD"; + EXPECT_STREQ(expect,readback); + EXPECT_N_STR(expect, readback); + } + { + APT_INIT_READBACK + char const * const expect = "This"; + EXPECT_TRUE(f.Read(readback, strlen(expect))); + EXPECT_FALSE(f.Failed()); + EXPECT_FALSE(f.Eof()); + EXPECT_N_STR(expect, readback); + EXPECT_EQ(strlen(expect), f.Tell()); + } + { + APT_INIT_READBACK + char const * const expect = "test!\n"; + EXPECT_TRUE(f.Skip((test.size() - f.Tell()) - strlen(expect))); + EXPECT_TRUE(f.Read(readback, strlen(expect))); + EXPECT_FALSE(f.Failed()); + EXPECT_FALSE(f.Eof()); + EXPECT_N_STR(expect, readback); + EXPECT_EQ(test.size(), f.Tell()); + } + // Non-zero backwards seek + { + APT_INIT_READBACK + char const * const expect = "is"; + EXPECT_EQ(test.size(), f.Tell()); + EXPECT_TRUE(f.Seek(5)); + EXPECT_TRUE(f.Read(readback, strlen(expect))); + EXPECT_FALSE(f.Failed()); + EXPECT_FALSE(f.Eof()); + EXPECT_N_STR(expect, readback); + EXPECT_EQ(7u, f.Tell()); + } + { + APT_INIT_READBACK + EXPECT_TRUE(f.Seek(0)); + EXPECT_FALSE(f.Eof()); + EXPECT_TRUE(f.Read(readback, 20, true)); + EXPECT_FALSE(f.Failed()); + EXPECT_TRUE(f.Eof()); + EXPECT_N_STR(test.c_str(), readback); + EXPECT_EQ(f.Size(), f.Tell()); + } + { + APT_INIT_READBACK + EXPECT_TRUE(f.Seek(0)); + EXPECT_FALSE(f.Eof()); + EXPECT_TRUE(f.Read(readback, test.size(), true)); + EXPECT_FALSE(f.Failed()); + EXPECT_FALSE(f.Eof()); + EXPECT_N_STR(test.c_str(), readback); + EXPECT_EQ(f.Size(), f.Tell()); + } + { + APT_INIT_READBACK + EXPECT_TRUE(f.Seek(0)); + EXPECT_FALSE(f.Eof()); + unsigned long long actual; + EXPECT_TRUE(f.Read(readback, 20, &actual)); + EXPECT_FALSE(f.Failed()); + EXPECT_TRUE(f.Eof()); + EXPECT_EQ(test.size(), actual); + EXPECT_N_STR(test.c_str(), readback); + EXPECT_EQ(f.Size(), f.Tell()); + } + { + APT_INIT_READBACK + EXPECT_TRUE(f.Seek(0)); + EXPECT_FALSE(f.Eof()); + f.ReadLine(readback, 20); + EXPECT_FALSE(f.Failed()); + EXPECT_FALSE(f.Eof()); + EXPECT_EQ(test, readback); + EXPECT_EQ(f.Size(), f.Tell()); + } + { + APT_INIT_READBACK + EXPECT_TRUE(f.Seek(0)); + EXPECT_FALSE(f.Eof()); + char const * const expect = "This"; + f.ReadLine(readback, strlen(expect) + 1); + EXPECT_FALSE(f.Failed()); + EXPECT_FALSE(f.Eof()); + EXPECT_N_STR(expect, readback); + EXPECT_EQ(strlen(expect), f.Tell()); + } +#undef APT_INIT_READBACK + { + test.erase(test.length() - 1); + EXPECT_TRUE(f.Seek(0)); + EXPECT_FALSE(f.Eof()); + std::string line; + EXPECT_TRUE(f.ReadLine(line)); + EXPECT_FALSE(f.Failed()); + EXPECT_FALSE(f.Eof()); + EXPECT_EQ(line.length(), test.length()); + EXPECT_EQ(line.length() + 1, f.Tell()); + EXPECT_EQ(f.Size(), f.Tell()); + EXPECT_EQ(line, test); + } + + f.Close(); + EXPECT_FALSE(f.IsOpen()); + EXPECT_FALSE(f.Failed()); + + // regression test for permission bug LP: #1304657 + struct stat buf; + EXPECT_EQ(0, stat(file.Name().c_str(), &buf)); + EXPECT_EQ(ExpectedFilePermission, buf.st_mode & 0777); +} + +static void TestFileFd(unsigned int const filemode) +{ + auto const compressors = APT::Configuration::getCompressors(); + EXPECT_EQ(8u, compressors.size()); + bool atLeastOneWasTested = false; + for (auto const &c: compressors) + { + if ((filemode & FileFd::ReadWrite) == FileFd::ReadWrite && + (c.Name.empty() != true && c.Binary.empty() != true)) + continue; + atLeastOneWasTested = true; + TestFileFd(0002, 0664, filemode, c); + TestFileFd(0022, 0644, filemode, c); + TestFileFd(0077, 0600, filemode, c); + TestFileFd(0026, 0640, filemode, c); + } + EXPECT_TRUE(atLeastOneWasTested); +} + +TEST(FileUtlTest, FileFD) +{ + // testing the (un)compress via pipe, as the 'real' compressors are usually built in via libraries + _config->Set("APT::Compressor::rev::Name", "rev"); + _config->Set("APT::Compressor::rev::Extension", ".reversed"); + _config->Set("APT::Compressor::rev::Binary", "rev"); + _config->Set("APT::Compressor::rev::Cost", 10); + auto const compressors = APT::Configuration::getCompressors(false); + EXPECT_EQ(8u, compressors.size()); + EXPECT_TRUE(std::any_of(compressors.begin(), compressors.end(), [](APT::Configuration::Compressor const &c) { return c.Name == "rev"; })); + + std::string const startdir = SafeGetCWD(); + EXPECT_FALSE(startdir.empty()); + std::string tempdir; + createTemporaryDirectory("filefd", tempdir); + EXPECT_EQ(0, chdir(tempdir.c_str())); + + TestFileFd(FileFd::WriteOnly | FileFd::Create); + TestFileFd(FileFd::WriteOnly | FileFd::Create | FileFd::Empty); + TestFileFd(FileFd::WriteOnly | FileFd::Create | FileFd::Exclusive); + TestFileFd(FileFd::WriteOnly | FileFd::Atomic); + TestFileFd(FileFd::WriteOnly | FileFd::Create | FileFd::Atomic); + // short-hands for ReadWrite with these modes + TestFileFd(FileFd::WriteEmpty); + TestFileFd(FileFd::WriteAny); + TestFileFd(FileFd::WriteTemp); + TestFileFd(FileFd::WriteAtomic); + + EXPECT_EQ(0, chdir(startdir.c_str())); + removeDirectory(tempdir); +} +TEST(FileUtlTest, Glob) +{ + std::vector<std::string> files; + // normal match + files = Glob("*MakeLists.txt"); + EXPECT_EQ(1u, files.size()); + + // not there + files = Glob("xxxyyyzzz"); + EXPECT_TRUE(files.empty()); + EXPECT_FALSE(_error->PendingError()); + + // many matches (number is a bit random) + files = Glob("*.cc"); + EXPECT_LT(10u, files.size()); +} +TEST(FileUtlTest, GetTempDir) +{ + char const * const envtmp = getenv("TMPDIR"); + std::string old_tmpdir; + if (envtmp != NULL) + old_tmpdir = envtmp; + + unsetenv("TMPDIR"); + EXPECT_EQ("/tmp", GetTempDir()); + + setenv("TMPDIR", "", 1); + EXPECT_EQ("/tmp", GetTempDir()); + + setenv("TMPDIR", "/not-there-no-really-not", 1); + EXPECT_EQ("/tmp", GetTempDir()); + + // root can access everything, so /usr will be accepted + if (geteuid() != 0) + { + // here but not accessible for non-roots + setenv("TMPDIR", "/usr", 1); + EXPECT_EQ("/tmp", GetTempDir()); + } + + // files are no good for tmpdirs, too + setenv("TMPDIR", "/dev/null", 1); + EXPECT_EQ("/tmp", GetTempDir()); + + setenv("TMPDIR", "/var/tmp", 1); + EXPECT_EQ("/var/tmp", GetTempDir()); + + unsetenv("TMPDIR"); + if (old_tmpdir.empty() == false) + setenv("TMPDIR", old_tmpdir.c_str(), 1); +} +TEST(FileUtlTest, Popen) +{ + FileFd Fd; + pid_t Child; + char buf[1024]; + std::string s; + unsigned long long n = 0; + std::vector<std::string> OpenFds; + + // count Fds to ensure we don't have a resource leak + if(FileExists("/proc/self/fd")) + OpenFds = Glob("/proc/self/fd/*"); + + // output something + const char* Args[10] = {"/bin/echo", "meepmeep", NULL}; + EXPECT_TRUE(Popen(Args, Fd, Child, FileFd::ReadOnly)); + EXPECT_TRUE(Fd.Read(buf, sizeof(buf)-1, &n)); + buf[n] = 0; + EXPECT_NE(n, 0u); + EXPECT_STREQ(buf, "meepmeep\n"); + + // wait for the child to exit and cleanup + EXPECT_TRUE(ExecWait(Child, "PopenRead")); + EXPECT_TRUE(Fd.Close()); + + // ensure that after a close all is good again + if(FileExists("/proc/self/fd")) + { + EXPECT_EQ(Glob("/proc/self/fd/*").size(), OpenFds.size()); + } + + // ReadWrite is not supported + _error->PushToStack(); + EXPECT_FALSE(Popen(Args, Fd, Child, FileFd::ReadWrite)); + EXPECT_FALSE(Fd.IsOpen()); + EXPECT_FALSE(Fd.Failed()); + EXPECT_TRUE(_error->PendingError()); + _error->RevertToStack(); + + // write something + Args[0] = "/bin/bash"; + Args[1] = "-c"; + Args[2] = "read"; + Args[3] = NULL; + EXPECT_TRUE(Popen(Args, Fd, Child, FileFd::WriteOnly)); + s = "\n"; + EXPECT_TRUE(Fd.Write(s.c_str(), s.length())); + EXPECT_TRUE(Fd.Close()); + EXPECT_FALSE(Fd.IsOpen()); + EXPECT_FALSE(Fd.Failed()); + EXPECT_TRUE(ExecWait(Child, "PopenWrite")); +} +TEST(FileUtlTest, flAbsPath) +{ + std::string cwd = SafeGetCWD(); + int res = chdir("/etc/"); + EXPECT_EQ(res, 0); + std::string p = flAbsPath("passwd"); + EXPECT_EQ(p, "/etc/passwd"); + + res = chdir(cwd.c_str()); + EXPECT_EQ(res, 0); +} + +static void TestDevNullFileFd(unsigned int const filemode) +{ + SCOPED_TRACE(filemode); + FileFd f("/dev/null", filemode); + EXPECT_FALSE(f.Failed()); + EXPECT_TRUE(f.IsOpen()); + EXPECT_TRUE(f.IsOpen()); + + std::string test = "This is a test!\n"; + EXPECT_TRUE(f.Write(test.c_str(), test.size())); + EXPECT_TRUE(f.IsOpen()); + EXPECT_FALSE(f.Failed()); + + f.Close(); + EXPECT_FALSE(f.IsOpen()); + EXPECT_FALSE(f.Failed()); +} +TEST(FileUtlTest, WorkingWithDevNull) +{ + TestDevNullFileFd(FileFd::WriteOnly | FileFd::Create); + TestDevNullFileFd(FileFd::WriteOnly | FileFd::Create | FileFd::Empty); + TestDevNullFileFd(FileFd::WriteOnly | FileFd::Create | FileFd::Exclusive); + TestDevNullFileFd(FileFd::WriteOnly | FileFd::Atomic); + TestDevNullFileFd(FileFd::WriteOnly | FileFd::Create | FileFd::Atomic); + // short-hands for ReadWrite with these modes + TestDevNullFileFd(FileFd::WriteEmpty); + TestDevNullFileFd(FileFd::WriteAny); + TestDevNullFileFd(FileFd::WriteTemp); + TestDevNullFileFd(FileFd::WriteAtomic); +} +constexpr char const * const TESTSTRING = "This is a test"; +static void TestFailingAtomicKeepsFile(char const * const label, std::string const &filename) +{ + SCOPED_TRACE(label); + EXPECT_TRUE(FileExists(filename)); + FileFd fd; + EXPECT_TRUE(fd.Open(filename, FileFd::ReadOnly)); + char buffer[50]; + EXPECT_NE(nullptr, fd.ReadLine(buffer, sizeof(buffer))); + EXPECT_STREQ(TESTSTRING, buffer); +} +TEST(FileUtlTest, FailingAtomic) +{ + auto const file = createTemporaryFile("failingatomic", TESTSTRING); + TestFailingAtomicKeepsFile("init", file.Name()); + + FileFd f; + EXPECT_TRUE(f.Open(file.Name(), FileFd::ReadWrite | FileFd::Atomic)); + f.EraseOnFailure(); + EXPECT_FALSE(f.Failed()); + EXPECT_TRUE(f.IsOpen()); + TestFailingAtomicKeepsFile("before-fail", file.Name()); + EXPECT_TRUE(f.Write("Bad file write", 10)); + f.OpFail(); + EXPECT_TRUE(f.Failed()); + TestFailingAtomicKeepsFile("after-fail", file.Name()); + EXPECT_TRUE(f.Close()); + TestFailingAtomicKeepsFile("closed", file.Name()); +} diff --git a/test/libapt/getarchitectures_test.cc b/test/libapt/getarchitectures_test.cc new file mode 100644 index 0000000..4f76722 --- /dev/null +++ b/test/libapt/getarchitectures_test.cc @@ -0,0 +1,105 @@ +#include <config.h> + +#include <apt-pkg/aptconfiguration.h> +#include <apt-pkg/configuration.h> + +#include <string> +#include <vector> + +#include <gtest/gtest.h> + +TEST(ArchitecturesTest,SimpleLists) +{ + _config->Clear(); + std::vector<std::string> vec; + + _config->Set("APT::Architectures::1", "i386"); + _config->Set("APT::Architectures::2", "amd64"); + vec = APT::Configuration::getArchitectures(false); + ASSERT_EQ(2u, vec.size()); + EXPECT_EQ("i386", vec[0]); + EXPECT_EQ("amd64", vec[1]); + + _config->Set("APT::Architecture", "i386"); + vec = APT::Configuration::getArchitectures(false); + ASSERT_EQ(2u, vec.size()); + EXPECT_EQ("i386", vec[0]); + EXPECT_EQ("amd64", vec[1]); + + _config->Set("APT::Architectures::2", ""); + vec = APT::Configuration::getArchitectures(false); + ASSERT_EQ(1u, vec.size()); + EXPECT_EQ("i386", vec[0]); + + _config->Set("APT::Architecture", "armel"); + vec = APT::Configuration::getArchitectures(false); + ASSERT_EQ(2u, vec.size()); + EXPECT_EQ("armel", vec[0]); + EXPECT_EQ("i386", vec[1]); + + _config->Set("APT::Architectures::2", "armel"); + vec = APT::Configuration::getArchitectures(false); + ASSERT_EQ(2u, vec.size()); + EXPECT_EQ("i386", vec[0]); + EXPECT_EQ("armel", vec[1]); + + _config->Set("APT::Architectures", "armel,armhf"); + vec = APT::Configuration::getArchitectures(false); + ASSERT_EQ(2u, vec.size()); + EXPECT_EQ("armel", vec[0]); + EXPECT_EQ("armhf", vec[1]); + _config->Clear(); +} +TEST(ArchitecturesTest,Duplicates) +{ + _config->Clear(); + + _config->Set("APT::Architecture", "armel"); + _config->Set("APT::Architectures::", "i386"); + _config->Set("APT::Architectures::", "amd64"); + _config->Set("APT::Architectures::", "i386"); + _config->Set("APT::Architectures::", "armel"); + _config->Set("APT::Architectures::", "i386"); + _config->Set("APT::Architectures::", "amd64"); + _config->Set("APT::Architectures::", "armel"); + _config->Set("APT::Architectures::", "armel"); + _config->Set("APT::Architectures::", "amd64"); + _config->Set("APT::Architectures::", "amd64"); + std::vector<std::string> vec = _config->FindVector("APT::Architectures"); + ASSERT_EQ(10u, vec.size()); + vec = APT::Configuration::getArchitectures(false); + ASSERT_EQ(3u, vec.size()); + EXPECT_EQ("i386", vec[0]); + EXPECT_EQ("amd64", vec[1]); + EXPECT_EQ("armel", vec[2]); + + _config->Clear(); +} +TEST(ArchitecturesTest,VeryForeign) +{ + _config->Clear(); + _config->Set("APT::Architectures::", "i386"); + _config->Set("APT::Architectures::", "amd64"); + _config->Set("APT::Architectures::", "armel"); + + auto vec = APT::Configuration::getArchitectures(false); + ASSERT_EQ(3u, vec.size()); + EXPECT_EQ("i386", vec[0]); + EXPECT_EQ("amd64", vec[1]); + EXPECT_EQ("armel", vec[2]); + + _config->Set("APT::BarbarianArchitectures::", "mipsel"); + vec = APT::Configuration::getArchitectures(false); + ASSERT_EQ(3u, vec.size()); + EXPECT_EQ("i386", vec[0]); + EXPECT_EQ("amd64", vec[1]); + EXPECT_EQ("armel", vec[2]); + + _config->Set("APT::BarbarianArchitectures::", "armel"); + vec = APT::Configuration::getArchitectures(false); + ASSERT_EQ(2u, vec.size()); + EXPECT_EQ("i386", vec[0]); + EXPECT_EQ("amd64", vec[1]); + + _config->Clear(); +} diff --git a/test/libapt/getlanguages_test.cc b/test/libapt/getlanguages_test.cc new file mode 100644 index 0000000..7146c5a --- /dev/null +++ b/test/libapt/getlanguages_test.cc @@ -0,0 +1,241 @@ +#include <config.h> + +#include <apt-pkg/aptconfiguration.h> +#include <apt-pkg/configuration.h> +#include <apt-pkg/error.h> +#include <apt-pkg/fileutl.h> + +#include <algorithm> +#include <iostream> +#include <string> +#include <vector> + +#include <fcntl.h> +#include <sys/stat.h> +#include <sys/types.h> + +#include <gtest/gtest.h> + +#include "file-helpers.h" + +TEST(LanguagesTest,Environment) +{ + _config->Clear(); + + char const* env[2]; + env[0] = "de_DE.UTF-8"; + env[1] = ""; + + std::vector<std::string> vec = APT::Configuration::getLanguages(false, false, env); + ASSERT_EQ(3u, vec.size()); + EXPECT_EQ("de_DE", vec[0]); + EXPECT_EQ("de", vec[1]); + EXPECT_EQ("en", vec[2]); + + // Special: Check if the cache is actually in use + env[0] = "en_GB.UTF-8"; + vec = APT::Configuration::getLanguages(false, true, env); + ASSERT_EQ(3u, vec.size()); + EXPECT_EQ("de_DE", vec[0]); + EXPECT_EQ("de", vec[1]); + EXPECT_EQ("en", vec[2]); + + env[0] = "en_GB.UTF-8"; + vec = APT::Configuration::getLanguages(false, false, env); + ASSERT_EQ(2u, vec.size()); + EXPECT_EQ("en_GB", vec[0]); + EXPECT_EQ("en", vec[1]); + + // esperanto + env[0] = "eo.UTF-8"; + vec = APT::Configuration::getLanguages(false, false, env); + ASSERT_EQ(2u, vec.size()); + EXPECT_EQ("eo", vec[0]); + EXPECT_EQ("en", vec[1]); + + env[0] = "tr_DE@euro"; + vec = APT::Configuration::getLanguages(false, false, env); + EXPECT_EQ(3u, vec.size()); + EXPECT_EQ("tr_DE", vec[0]); + EXPECT_EQ("tr", vec[1]); + EXPECT_EQ("en", vec[2]); + + env[0] = "de_NO"; + env[1] = "de_NO:en_GB:nb_NO:nb:no_NO:no:nn_NO:nn:da:sv:en"; + vec = APT::Configuration::getLanguages(false, false, env); + EXPECT_EQ(6u, vec.size()); + EXPECT_EQ("de_NO", vec[0]); + EXPECT_EQ("de", vec[1]); + EXPECT_EQ("en_GB", vec[2]); + EXPECT_EQ("nb_NO", vec[3]); + EXPECT_EQ("nb", vec[4]); + EXPECT_EQ("en", vec[5]); + + env[0] = "pt_PR.UTF-8"; + env[1] = ""; + vec = APT::Configuration::getLanguages(false, false, env); + EXPECT_EQ(3u, vec.size()); + EXPECT_EQ("pt_PR", vec[0]); + EXPECT_EQ("pt", vec[1]); + EXPECT_EQ("en", vec[2]); + + env[0] = "ast_DE.UTF-8"; + vec = APT::Configuration::getLanguages(false, false, env); // bogus, but syntactical correct + EXPECT_EQ(3u, vec.size()); + EXPECT_EQ("ast_DE", vec[0]); + EXPECT_EQ("ast", vec[1]); + EXPECT_EQ("en", vec[2]); + + env[0] = "C"; + vec = APT::Configuration::getLanguages(false, false, env); + EXPECT_EQ(1u, vec.size()); + EXPECT_EQ("en", vec[0]); + + _config->Set("Acquire::Languages", "none"); + env[0] = "C"; + vec = APT::Configuration::getLanguages(false, false, env); + EXPECT_TRUE(vec.empty()); + + _config->Set("Acquire::Languages", "environment"); + env[0] = "C"; + vec = APT::Configuration::getLanguages(false, false, env); + EXPECT_EQ(1u, vec.size()); + EXPECT_EQ("en", vec[0]); + + _config->Set("Acquire::Languages", "de"); + env[0] = "C"; + vec = APT::Configuration::getLanguages(false, false, env); + EXPECT_EQ(1u, vec.size()); + EXPECT_EQ("de", vec[0]); + + _config->Set("Acquire::Languages", "fr"); + env[0] = "ast_DE.UTF-8"; + vec = APT::Configuration::getLanguages(false, false, env); + EXPECT_EQ(1u, vec.size()); + EXPECT_EQ("fr", vec[0]); + + _config->Set("Acquire::Languages", "environment,en"); + env[0] = "de_DE.UTF-8"; + vec = APT::Configuration::getLanguages(false, false, env); + EXPECT_EQ(3u, vec.size()); + EXPECT_EQ("de_DE", vec[0]); + EXPECT_EQ("de", vec[1]); + EXPECT_EQ("en", vec[2]); + _config->Set("Acquire::Languages", ""); + + _config->Set("Acquire::Languages::1", "environment"); + _config->Set("Acquire::Languages::2", "en"); + env[0] = "de_DE.UTF-8"; + vec = APT::Configuration::getLanguages(false, false, env); + EXPECT_EQ(3u, vec.size()); + EXPECT_EQ("de_DE", vec[0]); + EXPECT_EQ("de", vec[1]); + EXPECT_EQ("en", vec[2]); + + _config->Set("Acquire::Languages::3", "de"); + env[0] = "de_DE.UTF-8"; + vec = APT::Configuration::getLanguages(false, false, env); + EXPECT_EQ(3u, vec.size()); + EXPECT_EQ("de_DE", vec[0]); + EXPECT_EQ("de", vec[1]); + EXPECT_EQ("en", vec[2]); + + _config->Clear(); +} + +TEST(LanguagesTest,TranslationFiles) +{ + _config->Clear(); + _config->Set("Acquire::Languages::1", "environment"); + _config->Set("Acquire::Languages::2", "en"); + _config->Set("Acquire::Languages::3", "de"); + + char const* env[2]; + env[0] = "de_DE.UTF-8"; + env[1] = ""; + + std::string tempdir; + createTemporaryDirectory("languages", tempdir); + +#define createTranslation(lang) \ + createFile(tempdir, std::string("/ftp.de.debian.org_debian_dists_sid_main_i18n_Translation-").append(lang)); + + createTranslation("tr"); + createTranslation("pt"); + createTranslation("se~"); + createTranslation("st.bak"); + createTranslation("ast_DE"); + createTranslation("tlh%5fDE"); + + _config->Set("Dir::State::lists", tempdir); + std::vector<std::string> vec = APT::Configuration::getLanguages(true, false, env); + EXPECT_EQ(8u, vec.size()); + EXPECT_EQ("de_DE", vec[0]); + EXPECT_EQ("de", vec[1]); + EXPECT_EQ("en", vec[2]); + EXPECT_EQ("none", vec[3]); + EXPECT_NE(vec.end(), std::find(vec.begin(), vec.end(), "pt")); + EXPECT_NE(vec.end(), std::find(vec.begin(), vec.end(), "tr")); + EXPECT_NE(vec.end(), std::find(vec.begin(), vec.end(), "ast_DE")); + EXPECT_NE(vec.end(), std::find(vec.begin(), vec.end(), "tlh_DE")); + EXPECT_NE(vec[4], vec[5]); + EXPECT_NE(vec[4], vec[6]); + EXPECT_NE(vec[4], vec[7]); + EXPECT_NE(vec[5], vec[6]); + EXPECT_NE(vec[5], vec[7]); + EXPECT_NE(vec[6], vec[7]); + + _config->Set("Acquire::Languages", "none"); + vec = APT::Configuration::getLanguages(true, false, env); + EXPECT_EQ(1u, vec.size()); + EXPECT_EQ("none", vec[0]); + _config->Set("Acquire::Languages", ""); + + _config->Set("Dir::State::lists", "/non-existing-dir"); + _config->Set("Acquire::Languages::1", "none"); + env[0] = "de_DE.UTF-8"; + vec = APT::Configuration::getLanguages(false, false, env); + EXPECT_TRUE(vec.empty()); + env[0] = "de_DE.UTF-8"; + vec = APT::Configuration::getLanguages(true, false, env); + EXPECT_EQ(2u, vec.size()); + EXPECT_EQ("en", vec[0]); + EXPECT_EQ("de", vec[1]); + + _config->Set("Acquire::Languages::1", "fr"); + _config->Set("Acquire::Languages", "de_DE"); + env[0] = "de_DE.UTF-8"; + vec = APT::Configuration::getLanguages(false, false, env); + EXPECT_EQ(1u, vec.size()); + EXPECT_EQ("de_DE", vec[0]); + + _config->Set("Acquire::Languages", "none"); + env[0] = "de_DE.UTF-8"; + vec = APT::Configuration::getLanguages(true, false, env); + EXPECT_EQ(1u, vec.size()); + EXPECT_EQ("none", vec[0]); + + _error->PushToStack(); + _config->Set("Acquire::Languages", ""); + //FIXME: Remove support for this deprecated setting + _config->Set("APT::Acquire::Translation", "ast_DE"); + env[0] = "de_DE.UTF-8"; + vec = APT::Configuration::getLanguages(true, false, env); + EXPECT_EQ(2u, vec.size()); + EXPECT_EQ("ast_DE", vec[0]); + EXPECT_EQ("en", vec[1]); + _config->Set("APT::Acquire::Translation", "none"); + env[0] = "de_DE.UTF-8"; + vec = APT::Configuration::getLanguages(true, false, env); + EXPECT_EQ(1u, vec.size()); + EXPECT_EQ("en", vec[0]); + + // discard the deprecation warning for APT::Acquire::Translation + if (_error->PendingError()) + _error->MergeWithStack(); + else + _error->RevertToStack(); + + EXPECT_EQ(0, system(std::string("rm -rf ").append(tempdir).c_str())); + _config->Clear(); +} diff --git a/test/libapt/getlistoffilesindir_test.cc b/test/libapt/getlistoffilesindir_test.cc new file mode 100644 index 0000000..f002355 --- /dev/null +++ b/test/libapt/getlistoffilesindir_test.cc @@ -0,0 +1,114 @@ +#include <config.h> + +#include <apt-pkg/error.h> +#include <apt-pkg/fileutl.h> + +#include <iostream> +#include <string> +#include <vector> + +#include <gtest/gtest.h> + +#include "file-helpers.h" + +#define P(x) tempdir + "/" + x + +TEST(FileUtlTest,GetListOfFilesInDir) +{ + std::string tempdir; + createTemporaryDirectory("getlistoffiles", tempdir); + + createFile(tempdir, "anormalfile"); + createFile(tempdir, "01yet-anothernormalfile"); + createFile(tempdir, "anormalapt.conf"); + createFile(tempdir, "01yet-anotherapt.conf"); + createFile(tempdir, "anormalapt.list"); + createFile(tempdir, "01yet-anotherapt.list"); + createFile(tempdir, "wrongextension.wron"); + createFile(tempdir, "wrong-extension.wron"); + createFile(tempdir, "strangefile."); + createFile(tempdir, "s.t.r.a.n.g.e.f.i.l.e"); + createFile(tempdir, ".hiddenfile"); + createFile(tempdir, ".hiddenfile.conf"); + createFile(tempdir, ".hiddenfile.list"); + createFile(tempdir, "multi..dot"); + createFile(tempdir, "multi.dot.conf"); + createFile(tempdir, "multi.dot.list"); + createFile(tempdir, "disabledfile.disabled"); + createFile(tempdir, "disabledfile.conf.disabled"); + createFile(tempdir, "disabledfile.list.disabled"); + createFile(tempdir, "invälid.conf"); + createFile(tempdir, "invalíd"); + createFile(tempdir, "01invalíd"); + createDirectory(tempdir, "invaliddir"); + createDirectory(tempdir, "directory.conf"); + createDirectory(tempdir, "directory.list"); + createDirectory(tempdir, "directory.wron"); + createDirectory(tempdir, "directory.list.disabled"); + createLink(tempdir, "anormalfile", "linkedfile.list"); + createLink(tempdir, "invaliddir", "linkeddir.list"); + createLink(tempdir, "non-existing-file", "brokenlink.list"); + + // Files with no extension + _error->PushToStack(); + std::vector<std::string> files = GetListOfFilesInDir(tempdir, "", true); + ASSERT_EQ(2u, files.size()); + EXPECT_EQ(P("01yet-anothernormalfile"), files[0]); + EXPECT_EQ(P("anormalfile"), files[1]); + + // Files with no extension - should be the same as above + files = GetListOfFilesInDir(tempdir, "", true, true); + ASSERT_EQ(2u, files.size()); + EXPECT_EQ(P("01yet-anothernormalfile"), files[0]); + EXPECT_EQ(P("anormalfile"), files[1]); + + // Files with impossible extension + files = GetListOfFilesInDir(tempdir, "impossible", true); + EXPECT_TRUE(files.empty()); + + // Files with impossible or no extension + files = GetListOfFilesInDir(tempdir, "impossible", true, true); + ASSERT_EQ(2u, files.size()); + EXPECT_EQ(P("01yet-anothernormalfile"), files[0]); + EXPECT_EQ(P("anormalfile"), files[1]); + + // Files with list extension - nothing more + files = GetListOfFilesInDir(tempdir, "list", true); + ASSERT_EQ(4u, files.size()); + EXPECT_EQ(P("01yet-anotherapt.list"), files[0]); + EXPECT_EQ(P("anormalapt.list"), files[1]); + EXPECT_EQ(P("linkedfile.list"), files[2]); + EXPECT_EQ(P("multi.dot.list"), files[3]); + + // Files with conf or no extension + files = GetListOfFilesInDir(tempdir, "conf", true, true); + ASSERT_EQ(5u, files.size()); + EXPECT_EQ(P("01yet-anotherapt.conf"), files[0]); + EXPECT_EQ(P("01yet-anothernormalfile"), files[1]); + EXPECT_EQ(P("anormalapt.conf"), files[2]); + EXPECT_EQ(P("anormalfile"), files[3]); + EXPECT_EQ(P("multi.dot.conf"), files[4]); + + // Files with disabled extension - nothing more + files = GetListOfFilesInDir(tempdir, "disabled", true); + ASSERT_EQ(3u, files.size()); + EXPECT_EQ(P("disabledfile.conf.disabled"), files[0]); + EXPECT_EQ(P("disabledfile.disabled"), files[1]); + EXPECT_EQ(P("disabledfile.list.disabled"), files[2]); + + // Files with disabled or no extension + files = GetListOfFilesInDir(tempdir, "disabled", true, true); + ASSERT_EQ(5u, files.size()); + EXPECT_EQ(P("01yet-anothernormalfile"), files[0]); + EXPECT_EQ(P("anormalfile"), files[1]); + EXPECT_EQ(P("disabledfile.conf.disabled"), files[2]); + EXPECT_EQ(P("disabledfile.disabled"), files[3]); + EXPECT_EQ(P("disabledfile.list.disabled"), files[4]); + + // discard the unknown file extension messages + if (_error->PendingError()) + _error->MergeWithStack(); + else + _error->RevertToStack(); + removeDirectory(tempdir); +} diff --git a/test/libapt/globalerror_test.cc b/test/libapt/globalerror_test.cc new file mode 100644 index 0000000..42e8355 --- /dev/null +++ b/test/libapt/globalerror_test.cc @@ -0,0 +1,169 @@ +#include <config.h> + +#include <apt-pkg/error.h> + +#include <cerrno> +#include <cstddef> +#include <cstring> +#include <string> + +#include <gtest/gtest.h> + +TEST(GlobalErrorTest,BasicDiscard) +{ + GlobalError e; + EXPECT_TRUE(e.empty()); + EXPECT_FALSE(e.PendingError()); + EXPECT_FALSE(e.Notice("%s Notice", "A")); + EXPECT_TRUE(e.empty()); + EXPECT_FALSE(e.empty(GlobalError::DEBUG)); + EXPECT_FALSE(e.PendingError()); + EXPECT_FALSE(e.Error("%s horrible %s %d times", "Something", "happened", 2)); + EXPECT_TRUE(e.PendingError()); + + std::string text; + EXPECT_FALSE(e.PopMessage(text)); + EXPECT_TRUE(e.PendingError()); + EXPECT_EQ("A Notice", text); + EXPECT_TRUE(e.PopMessage(text)); + EXPECT_EQ("Something horrible happened 2 times", text); + EXPECT_TRUE(e.empty(GlobalError::DEBUG)); + EXPECT_FALSE(e.PendingError()); + EXPECT_FALSE(e.Error("%s horrible %s %d times", "Something", "happened", 2)); + EXPECT_TRUE(e.PendingError()); + EXPECT_FALSE(e.empty(GlobalError::FATAL)); + e.Discard(); + + EXPECT_TRUE(e.empty()); + EXPECT_FALSE(e.PendingError()); +} +TEST(GlobalErrorTest,StackPushing) +{ + GlobalError e; + EXPECT_FALSE(e.Notice("%s Notice", "A")); + EXPECT_FALSE(e.Error("%s horrible %s %d times", "Something", "happened", 2)); + EXPECT_TRUE(e.PendingError()); + EXPECT_FALSE(e.empty(GlobalError::NOTICE)); + e.PushToStack(); + EXPECT_TRUE(e.empty(GlobalError::NOTICE)); + EXPECT_FALSE(e.PendingError()); + EXPECT_FALSE(e.Warning("%s Warning", "A")); + EXPECT_TRUE(e.empty(GlobalError::ERROR)); + EXPECT_FALSE(e.PendingError()); + e.RevertToStack(); + EXPECT_FALSE(e.empty(GlobalError::ERROR)); + EXPECT_TRUE(e.PendingError()); + + std::string text; + EXPECT_FALSE(e.PopMessage(text)); + EXPECT_TRUE(e.PendingError()); + EXPECT_EQ("A Notice", text); + EXPECT_TRUE(e.PopMessage(text)); + EXPECT_EQ("Something horrible happened 2 times", text); + EXPECT_FALSE(e.PendingError()); + EXPECT_TRUE(e.empty()); + + EXPECT_FALSE(e.Notice("%s Notice", "A")); + EXPECT_FALSE(e.Error("%s horrible %s %d times", "Something", "happened", 2)); + EXPECT_TRUE(e.PendingError()); + EXPECT_FALSE(e.empty(GlobalError::NOTICE)); + e.PushToStack(); + EXPECT_TRUE(e.empty(GlobalError::NOTICE)); + EXPECT_FALSE(e.PendingError()); + EXPECT_FALSE(e.Warning("%s Warning", "A")); + EXPECT_TRUE(e.empty(GlobalError::ERROR)); + EXPECT_FALSE(e.PendingError()); + e.MergeWithStack(); + EXPECT_FALSE(e.empty(GlobalError::ERROR)); + EXPECT_TRUE(e.PendingError()); + EXPECT_FALSE(e.PopMessage(text)); + EXPECT_TRUE(e.PendingError()); + EXPECT_EQ("A Notice", text); + EXPECT_TRUE(e.PopMessage(text)); + EXPECT_EQ("Something horrible happened 2 times", text); + EXPECT_FALSE(e.PendingError()); + EXPECT_FALSE(e.empty()); + EXPECT_FALSE(e.PopMessage(text)); + EXPECT_EQ("A Warning", text); + EXPECT_TRUE(e.empty()); +} +TEST(GlobalErrorTest,Errno) +{ + GlobalError e; + std::string const textOfErrnoZero(strerror(0)); + errno = 0; + EXPECT_FALSE(e.Errno("errno", "%s horrible %s %d times", "Something", "happened", 2)); + EXPECT_FALSE(e.empty()); + EXPECT_TRUE(e.PendingError()); + std::string text; + EXPECT_TRUE(e.PopMessage(text)); + EXPECT_FALSE(e.PendingError()); + EXPECT_EQ(std::string("Something horrible happened 2 times - errno (0: ").append(textOfErrnoZero).append(")"), text); + EXPECT_TRUE(e.empty()); +} +TEST(GlobalErrorTest,LongMessage) +{ + GlobalError e; + std::string const textOfErrnoZero(strerror(0)); + errno = 0; + std::string text, longText; + for (size_t i = 0; i < 500; ++i) + longText.append("a"); + EXPECT_FALSE(e.Error("%s horrible %s %d times", longText.c_str(), "happened", 2)); + EXPECT_TRUE(e.PopMessage(text)); + EXPECT_EQ(longText + " horrible happened 2 times", text); + + EXPECT_FALSE(e.Errno("errno", "%s horrible %s %d times", longText.c_str(), "happened", 2)); + EXPECT_TRUE(e.PopMessage(text)); + EXPECT_EQ(longText + " horrible happened 2 times - errno (0: " + textOfErrnoZero + ")", text); + + EXPECT_FALSE(e.Error("%s horrible %s %d times", longText.c_str(), "happened", 2)); + std::ostringstream out; + e.DumpErrors(out); + EXPECT_EQ(std::string("E: ").append(longText).append(" horrible happened 2 times\n"), out.str()); + + EXPECT_FALSE(e.Errno("errno", "%s horrible %s %d times", longText.c_str(), "happened", 2)); + std::ostringstream out2; + e.DumpErrors(out2); + EXPECT_EQ(std::string("E: ").append(longText).append(" horrible happened 2 times - errno (0: ").append(textOfErrnoZero).append(")\n"), out2.str()); +} +TEST(GlobalErrorTest,UTF8Message) +{ + GlobalError e; + std::string text; + + EXPECT_FALSE(e.Warning("Репозиторий не обновлён и будут %d %s", 4, "test")); + EXPECT_FALSE(e.PopMessage(text)); + EXPECT_EQ("Репозиторий не обновлён и будут 4 test", text); + + EXPECT_FALSE(e.Warning("Репозиторий не обновлён и будут %d %s", 4, "test")); + std::ostringstream out; + e.DumpErrors(out); + EXPECT_EQ("W: Репозиторий не обновлён и будут 4 test\n", out.str()); + + std::string longText; + for (size_t i = 0; i < 50; ++i) + longText.append("РезийбёбAZ"); + EXPECT_FALSE(e.Warning("%s", longText.c_str())); + EXPECT_FALSE(e.PopMessage(text)); + EXPECT_EQ(longText, text); +} +TEST(GlobalErrorTest,MultiLineMessage) +{ + GlobalError e; + std::string text; + + EXPECT_FALSE(e.Warning("Sometimes one line isn't enough.\nYou do know what I mean, right?\r\n%s?\rGood because I don't.", "Right")); + EXPECT_FALSE(e.PopMessage(text)); + EXPECT_EQ("Sometimes one line isn't enough.\nYou do know what I mean, right?\r\nRight?\rGood because I don't.", text); + + EXPECT_FALSE(e.Warning("Sometimes one line isn't enough.\nYou do know what I mean, right?\r\n%s?\rGood because I don't.", "Right")); + std::ostringstream out; + e.DumpErrors(out); + EXPECT_EQ("W: Sometimes one line isn't enough.\n You do know what I mean, right?\n Right?\n Good because I don't.\n", out.str()); + + EXPECT_FALSE(e.Warning("Sometimes one line isn't enough.\nYou do know what I mean, right?\r\n%s?\rGood because I don't.\n", "Right")); + std::ostringstream out2; + e.DumpErrors(out2); + EXPECT_EQ("W: Sometimes one line isn't enough.\n You do know what I mean, right?\n Right?\n Good because I don't.\n", out2.str()); +} diff --git a/test/libapt/gtest_runner.cc b/test/libapt/gtest_runner.cc new file mode 100644 index 0000000..09fc55d --- /dev/null +++ b/test/libapt/gtest_runner.cc @@ -0,0 +1,28 @@ +#include <config.h> + +#include <apt-pkg/configuration.h> +#include <apt-pkg/error.h> +#include <apt-pkg/init.h> +#include <apt-pkg/pkgsystem.h> + +#include <gtest/gtest.h> + +int main(int argc, char **argv) { + ::testing::InitGoogleTest(&argc, argv); + if (pkgInitSystem(*_config, _system) == false) + return 42; + int const result = RUN_ALL_TESTS(); + if (_error->empty() == false) + { + std::cerr << "The test generated the following global messages:" << std::endl; + _error->DumpErrors(std::cerr); + // messages on the stack can't be right, error out + // even if we have no idea where this message came from + if (result == 0) + { + std::cerr << "All tests successful, but messages were generated, so still a failure!" << std::endl; + return 29; + } + } + return result; +} diff --git a/test/libapt/hashsums_test.cc b/test/libapt/hashsums_test.cc new file mode 100644 index 0000000..901150e --- /dev/null +++ b/test/libapt/hashsums_test.cc @@ -0,0 +1,305 @@ +#include <config.h> + +#include <apt-pkg/configuration.h> +#include <apt-pkg/fileutl.h> +#include <apt-pkg/hashes.h> +#include <apt-pkg/strutl.h> + +#include <cstdlib> +#include <iostream> +#include <string> + +#include <gtest/gtest.h> + +#include "file-helpers.h" + +template <class T> void Test(const char *In,const char *Out) +{ + T Sum; + Sum.Add(In); + equals(Sum.Result().Value(), Out); +} + + + +static void getSummationString(char const * const type, std::string &sum) +{ + /* to compare our result with an independent source we call the specific binaries + and read their result back. We do this with a little trick by claiming that the + summation is a compressor – and open the 'compressed' file later on directly to + read out the summation sum calculated by it */ + APT::Configuration::Compressor compress(type, ".ext", type, NULL, NULL, 99); + + FileFd fd; + auto const file = createTemporaryFile("hashsums"); + ASSERT_TRUE(fd.Open(file.Name(), FileFd::WriteOnly | FileFd::Empty, compress)); + ASSERT_TRUE(fd.IsOpen()); + FileFd input("/etc/os-release", FileFd::ReadOnly); + ASSERT_TRUE(input.IsOpen()); + ASSERT_NE(0u, input.FileSize()); + ASSERT_TRUE(CopyFile(input, fd)); + ASSERT_TRUE(input.IsOpen()); + ASSERT_TRUE(fd.IsOpen()); + ASSERT_FALSE(fd.Failed()); + input.Close(); + fd.Close(); + ASSERT_TRUE(fd.Open(file.Name(), FileFd::ReadOnly, FileFd::None)); + ASSERT_TRUE(fd.IsOpen()); + ASSERT_NE(0u, fd.FileSize()); + ASSERT_FALSE(fd.Failed()); + char readback[2000]; + unsigned long long actual; + ASSERT_TRUE(fd.Read(readback, sizeof(readback)/sizeof(readback[0]), &actual)); + actual -= 4; + readback[actual] = '\0'; + sum = readback; +} +TEST(HashSumsTest, FileBased) +{ + std::string summation; + + getSummationString("md5sum", summation); + HashString md5("MD5Sum", summation); + EXPECT_EQ(md5.HashValue(), summation); + + getSummationString("sha1sum", summation); + HashString sha1("SHA1", summation); + EXPECT_EQ(sha1.HashValue(), summation); + + getSummationString("sha256sum", summation); + HashString sha256("SHA256", summation); + EXPECT_EQ(sha256.HashValue(), summation); + + getSummationString("sha512sum", summation); + HashString sha512("SHA512", summation); + EXPECT_EQ(sha512.HashValue(), summation); + + FileFd fd("/etc/os-release", FileFd::ReadOnly); + EXPECT_TRUE(fd.IsOpen()); + std::string FileSize; + strprintf(FileSize, "%llu", fd.FileSize()); + + { + Hashes hashes; + hashes.AddFD(fd.Fd()); + HashStringList list = hashes.GetHashStringList(); + EXPECT_FALSE(list.empty()); + EXPECT_EQ(5u, list.size()); + EXPECT_EQ(md5.HashValue(), list.find("MD5Sum")->HashValue()); + EXPECT_EQ(sha1.HashValue(), list.find("SHA1")->HashValue()); + EXPECT_EQ(sha256.HashValue(), list.find("SHA256")->HashValue()); + EXPECT_EQ(sha512.HashValue(), list.find("SHA512")->HashValue()); + EXPECT_EQ(FileSize, list.find("Checksum-FileSize")->HashValue()); + } + unsigned long long sz = fd.FileSize(); + fd.Seek(0); + { + Hashes hashes; + hashes.AddFD(fd.Fd(), sz); + HashStringList list = hashes.GetHashStringList(); + EXPECT_FALSE(list.empty()); + EXPECT_EQ(5u, list.size()); + EXPECT_EQ(md5.HashValue(), list.find("MD5Sum")->HashValue()); + EXPECT_EQ(sha1.HashValue(), list.find("SHA1")->HashValue()); + EXPECT_EQ(sha256.HashValue(), list.find("SHA256")->HashValue()); + EXPECT_EQ(sha512.HashValue(), list.find("SHA512")->HashValue()); + EXPECT_EQ(FileSize, list.find("Checksum-FileSize")->HashValue()); + } + fd.Seek(0); + { + Hashes hashes(Hashes::MD5SUM | Hashes::SHA512SUM); + hashes.AddFD(fd); + HashStringList list = hashes.GetHashStringList(); + EXPECT_FALSE(list.empty()); + EXPECT_EQ(3u, list.size()); + EXPECT_EQ(md5.HashValue(), list.find("MD5Sum")->HashValue()); + EXPECT_EQ(NULL, list.find("SHA1")); + EXPECT_EQ(NULL, list.find("SHA256")); + EXPECT_EQ(sha512.HashValue(), list.find("SHA512")->HashValue()); + EXPECT_EQ(FileSize, list.find("Checksum-FileSize")->HashValue()); + fd.Seek(0); + Hashes hashes2(list); + hashes2.AddFD(fd); + list = hashes2.GetHashStringList(); + EXPECT_FALSE(list.empty()); + EXPECT_EQ(3u, list.size()); + EXPECT_EQ(md5.HashValue(), list.find("MD5Sum")->HashValue()); + EXPECT_EQ(NULL, list.find("SHA1")); + EXPECT_EQ(NULL, list.find("SHA256")); + EXPECT_EQ(sha512.HashValue(), list.find("SHA512")->HashValue()); + EXPECT_EQ(FileSize, list.find("Checksum-FileSize")->HashValue()); + } + fd.Seek(0); + { + Hashes MD5(Hashes::MD5SUM); + MD5.AddFD(fd.Fd()); + EXPECT_EQ(md5, MD5.GetHashString(Hashes::MD5SUM)); + } + fd.Seek(0); + { + Hashes SHA1(Hashes::SHA1SUM); + SHA1.AddFD(fd.Fd()); + EXPECT_EQ(sha1, SHA1.GetHashString(Hashes::SHA1SUM)); + } + fd.Seek(0); + { + Hashes SHA2(Hashes::SHA256SUM); + SHA2.AddFD(fd.Fd()); + EXPECT_EQ(sha256, SHA2.GetHashString(Hashes::SHA256SUM)); + } + fd.Seek(0); + { + Hashes SHA2(Hashes::SHA512SUM); + SHA2.AddFD(fd.Fd()); + EXPECT_EQ(sha512, SHA2.GetHashString(Hashes::SHA512SUM)); + } + fd.Close(); + + HashString sha2file("SHA512", sha512.HashValue()); + EXPECT_TRUE(sha2file.VerifyFile("/etc/os-release")); + HashString sha2wrong("SHA512", "00000000000"); + EXPECT_FALSE(sha2wrong.VerifyFile("/etc/os-release")); + EXPECT_EQ(sha2file, sha2file); + EXPECT_TRUE(sha2file == sha2file); + EXPECT_NE(sha2file, sha2wrong); + EXPECT_TRUE(sha2file != sha2wrong); + + HashString sha2big("SHA256", sha256.HashValue()); + EXPECT_TRUE(sha2big.VerifyFile("/etc/os-release")); + HashString sha2small("sha256:" + sha256.HashValue()); + EXPECT_TRUE(sha2small.VerifyFile("/etc/os-release")); + EXPECT_EQ(sha2big, sha2small); + EXPECT_TRUE(sha2big == sha2small); + EXPECT_FALSE(sha2big != sha2small); + + HashStringList hashes; + EXPECT_TRUE(hashes.empty()); + EXPECT_TRUE(hashes.push_back(sha2file)); + EXPECT_FALSE(hashes.empty()); + EXPECT_EQ(1u, hashes.size()); + + HashStringList wrong; + EXPECT_TRUE(wrong.push_back(sha2wrong)); + EXPECT_NE(wrong, hashes); + EXPECT_FALSE(wrong == hashes); + EXPECT_TRUE(wrong != hashes); + + HashStringList similar; + EXPECT_TRUE(similar.push_back(sha2big)); + EXPECT_NE(similar, hashes); + EXPECT_FALSE(similar == hashes); + EXPECT_TRUE(similar != hashes); + + EXPECT_TRUE(hashes.push_back(sha2big)); + EXPECT_EQ(2u, hashes.size()); + EXPECT_TRUE(hashes.push_back(sha2small)); + EXPECT_EQ(2u, hashes.size()); + EXPECT_FALSE(hashes.push_back(sha2wrong)); + EXPECT_EQ(2u, hashes.size()); + EXPECT_TRUE(hashes.VerifyFile("/etc/os-release")); + + EXPECT_EQ(similar, hashes); + EXPECT_TRUE(similar == hashes); + EXPECT_FALSE(similar != hashes); + similar.clear(); + EXPECT_TRUE(similar.empty()); + EXPECT_EQ(0u, similar.size()); + EXPECT_NE(similar, hashes); + EXPECT_FALSE(similar == hashes); + EXPECT_TRUE(similar != hashes); +} +TEST(HashSumsTest, HashStringList) +{ + _config->Clear("Acquire::ForceHash"); + + HashStringList list; + EXPECT_TRUE(list.empty()); + EXPECT_FALSE(list.usable()); + EXPECT_EQ(0u, list.size()); + EXPECT_EQ(NULL, list.find(NULL)); + EXPECT_EQ(NULL, list.find("")); + EXPECT_EQ(NULL, list.find("MD5Sum")); + EXPECT_EQ(NULL, list.find("ROT26")); + EXPECT_EQ(NULL, list.find("SHA1")); + EXPECT_EQ(0u, list.FileSize()); + + // empty lists aren't equal + HashStringList list2; + EXPECT_FALSE(list == list2); + EXPECT_TRUE(list != list2); + + // some hashes don't really contribute to usability + list.push_back(HashString("Checksum-FileSize", "29")); + EXPECT_FALSE(list.empty()); + EXPECT_FALSE(list.usable()); + EXPECT_EQ(1u, list.size()); + EXPECT_EQ(29u, list.FileSize()); + list.push_back(HashString("MD5Sum", "d41d8cd98f00b204e9800998ecf8427e")); + EXPECT_FALSE(list.empty()); + EXPECT_FALSE(list.usable()); + EXPECT_EQ(2u, list.size()); + EXPECT_EQ(29u, list.FileSize()); + EXPECT_TRUE(NULL != list.find("MD5Sum")); + list.push_back(HashString("SHA1", "cacecbd74968bc90ea3342767e6b94f46ddbcafc")); + EXPECT_FALSE(list.usable()); + EXPECT_EQ(3u, list.size()); + EXPECT_EQ(29u, list.FileSize()); + EXPECT_TRUE(NULL != list.find("MD5Sum")); + EXPECT_TRUE(NULL != list.find("SHA1")); + list.push_back(HashString("SHA256", "e3b0c44298fc1c149afbf4c8996fb92427ae41e4649b934ca495991b7852b855")); + EXPECT_TRUE(list.usable()); + EXPECT_EQ(4u, list.size()); + EXPECT_EQ(29u, list.FileSize()); + EXPECT_TRUE(NULL != list.find("MD5Sum")); + EXPECT_TRUE(NULL != list.find("SHA1")); + EXPECT_TRUE(NULL != list.find("SHA256")); + + Hashes hashes; + hashes.Add("The quick brown fox jumps over the lazy dog"); + list = hashes.GetHashStringList(); + EXPECT_FALSE(list.empty()); + EXPECT_TRUE(list.usable()); + EXPECT_EQ(5u, list.size()); + EXPECT_TRUE(NULL != list.find(NULL)); + EXPECT_TRUE(NULL != list.find("")); + EXPECT_TRUE(NULL != list.find("MD5Sum")); + EXPECT_TRUE(NULL != list.find("Checksum-FileSize")); + EXPECT_TRUE(NULL == list.find("ROT26")); + + _config->Set("Acquire::ForceHash", "MD5Sum"); + EXPECT_FALSE(list.empty()); + EXPECT_TRUE(list.usable()); + EXPECT_EQ(5u, list.size()); + EXPECT_TRUE(NULL != list.find(NULL)); + EXPECT_TRUE(NULL != list.find("")); + EXPECT_TRUE(NULL != list.find("MD5Sum")); + EXPECT_TRUE(NULL != list.find("Checksum-FileSize")); + EXPECT_TRUE(NULL == list.find("ROT26")); + + _config->Set("Acquire::ForceHash", "ROT26"); + EXPECT_FALSE(list.empty()); + EXPECT_FALSE(list.usable()); + EXPECT_EQ(5u, list.size()); + EXPECT_TRUE(NULL == list.find(NULL)); + EXPECT_TRUE(NULL == list.find("")); + EXPECT_TRUE(NULL != list.find("MD5Sum")); + EXPECT_TRUE(NULL != list.find("Checksum-FileSize")); + EXPECT_TRUE(NULL == list.find("ROT26")); + + _config->Clear("Acquire::ForceHash"); + + list2.push_back(*list.find("MD5Sum")); + EXPECT_TRUE(list == list2); + EXPECT_FALSE(list != list2); + + // introduce a mismatch to the list + list2.push_back(HashString("SHA1", "cacecbd74968bc90ea3342767e6b94f46ddbcafc")); + EXPECT_FALSE(list == list2); + EXPECT_TRUE(list != list2); + + _config->Set("Acquire::ForceHash", "MD5Sum"); + EXPECT_TRUE(list == list2); + EXPECT_FALSE(list != list2); + + _config->Clear("Acquire::ForceHash"); +} diff --git a/test/libapt/indexcopytosourcelist_test.cc b/test/libapt/indexcopytosourcelist_test.cc new file mode 100644 index 0000000..7dbe973 --- /dev/null +++ b/test/libapt/indexcopytosourcelist_test.cc @@ -0,0 +1,109 @@ +#include <config.h> + +#include <apt-pkg/aptconfiguration.h> +#include <apt-pkg/configuration.h> +#include <apt-pkg/indexcopy.h> + +#include <cstdio> +#include <string> + +#include <gtest/gtest.h> + +class NoCopy : private IndexCopy { + public: + std::string ConvertToSourceList(std::string const &CD,std::string &&Path) { + IndexCopy::ConvertToSourceList(CD, Path); + return Path; + } + bool GetFile(std::string &/*Filename*/, unsigned long long &/*Size*/) APT_OVERRIDE { return false; } + bool RewriteEntry(FileFd & /*Target*/, std::string const &/*File*/) APT_OVERRIDE { return false; } + const char *GetFileName() APT_OVERRIDE { return NULL; } + const char *Type() APT_OVERRIDE { return NULL; } + +}; + +TEST(IndexCopyTest, ConvertToSourceList) +{ + NoCopy ic; + std::string const CD("/media/cdrom/"); + + char const * Releases[] = { "unstable", "wheezy-updates", NULL }; + char const * Components[] = { "main", "non-free", NULL }; + + for (char const ** Release = Releases; *Release != NULL; ++Release) + { + SCOPED_TRACE(std::string("Release ") + *Release); + for (char const ** Component = Components; *Component != NULL; ++Component) + { + SCOPED_TRACE(std::string("Component ") + *Component); + std::string const Path = std::string("dists/") + *Release + "/" + *Component + "/"; + std::string const Binary = Path + "binary-"; + std::string const A = Binary + "armel/"; + std::string const B = Binary + "mips/"; + std::string const C = Binary + "kfreebsd-mips/"; + std::string const S = Path + "source/"; + std::string const List = std::string(*Release) + " " + *Component; + + { + SCOPED_TRACE("no archs configured"); + _config->Clear("APT"); + _config->Set("APT::Architecture", "all"); + _config->Set("APT::Architectures::", "all"); + APT::Configuration::getArchitectures(false); + EXPECT_EQ(A, ic.ConvertToSourceList("/media/cdrom/", CD + A)); + EXPECT_EQ(B, ic.ConvertToSourceList("/media/cdrom/", CD + B)); + EXPECT_EQ(C, ic.ConvertToSourceList("/media/cdrom/", CD + C)); + EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + S)); + } + + { + SCOPED_TRACE("mips configured"); + _config->Clear("APT"); + _config->Set("APT::Architecture", "mips"); + _config->Set("APT::Architectures::", "mips"); + APT::Configuration::getArchitectures(false); + EXPECT_EQ(A, ic.ConvertToSourceList("/media/cdrom/", CD + A)); + EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + B)); + EXPECT_EQ(C, ic.ConvertToSourceList("/media/cdrom/", CD + C)); + EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + S)); + } + + { + SCOPED_TRACE("kfreebsd-mips configured"); + _config->Clear("APT"); + _config->Set("APT::Architecture", "kfreebsd-mips"); + _config->Set("APT::Architectures::", "kfreebsd-mips"); + APT::Configuration::getArchitectures(false); + EXPECT_EQ(A, ic.ConvertToSourceList("/media/cdrom/", CD + A)); + EXPECT_EQ(B, ic.ConvertToSourceList("/media/cdrom/", CD + B)); + EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + C)); + EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + S)); + } + + { + SCOPED_TRACE("armel configured"); + _config->Clear("APT"); + _config->Set("APT::Architecture", "armel"); + _config->Set("APT::Architectures::", "armel"); + APT::Configuration::getArchitectures(false); + EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + A)); + EXPECT_EQ(B, ic.ConvertToSourceList("/media/cdrom/", CD + B)); + EXPECT_EQ(C, ic.ConvertToSourceList("/media/cdrom/", CD + C)); + EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + S)); + } + + { + SCOPED_TRACE("armel+mips configured"); + _config->Clear("APT"); + _config->Set("APT::Architecture", "armel"); + _config->Set("APT::Architectures::", "armel"); + _config->Set("APT::Architectures::", "mips"); + APT::Configuration::getArchitectures(false); + EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + A)); + EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + B)); + EXPECT_EQ(C, ic.ConvertToSourceList("/media/cdrom/", CD + C)); + EXPECT_EQ(List, ic.ConvertToSourceList("/media/cdrom/", CD + S)); + } + } + } +} diff --git a/test/libapt/install_progress_test.cc b/test/libapt/install_progress_test.cc new file mode 100644 index 0000000..68101af --- /dev/null +++ b/test/libapt/install_progress_test.cc @@ -0,0 +1,25 @@ +#include <config.h> + +#include <apt-pkg/install-progress.h> + +#include <string> + +#include <gtest/gtest.h> + +TEST(InstallProgressTest, FancyGetTextProgressStr) +{ + APT::Progress::PackageManagerFancy p; + + EXPECT_EQ(60u, p.GetTextProgressStr(0.5, 60).size()); + EXPECT_EQ("[#.]", p.GetTextProgressStr(0.5, 4)); + EXPECT_EQ("[..........]", p.GetTextProgressStr(0.0, 12)); + EXPECT_EQ("[#.........]", p.GetTextProgressStr(0.1, 12)); + EXPECT_EQ("[####......]", p.GetTextProgressStr(0.4999, 12)); + EXPECT_EQ("[#####.....]", p.GetTextProgressStr(0.5001, 12)); + EXPECT_EQ("[#########.]", p.GetTextProgressStr(0.9001, 12)); + EXPECT_EQ("[##########]", p.GetTextProgressStr(1.0, 12)); + + // deal with incorrect inputs gracefully (or should we die instead?) + EXPECT_EQ("[..........]", p.GetTextProgressStr(-1.0, 12)); + EXPECT_EQ("[##########]", p.GetTextProgressStr(2.0, 12)); +} diff --git a/test/libapt/json_test.cc b/test/libapt/json_test.cc new file mode 100644 index 0000000..ee8f3ce --- /dev/null +++ b/test/libapt/json_test.cc @@ -0,0 +1,69 @@ +#include <config.h> +#include "../../apt-private/private-cachefile.cc" +#include "../../apt-private/private-json-hooks.cc" +#include <gtest/gtest.h> +#include <string> + +TEST(JsonTest, JsonString) +{ + std::ostringstream os; + + // Check for escaping backslash and quotation marks, and ensure that we do not change number formatting + JsonWriter(os).value("H al\"l\\o").value(17); + + EXPECT_EQ("\"H al\\u0022l\\u005Co\"17", os.str()); + + for (int i = 0; i <= 0x1F; i++) + { + os.str(""); + + JsonWriter(os).encodeString(os, std::string("X") + char(i) + "Z"); + + std::string exp; + strprintf(exp, "\"X\\u%04XZ\"", i); + + EXPECT_EQ(exp, os.str()); + } +} + +TEST(JsonTest, JsonObject) +{ + std::ostringstream os; + + JsonWriter(os).beginObject().name("key").value("value").endObject(); + + EXPECT_EQ("{\"key\":\"value\"}", os.str()); +} + +TEST(JsonTest, JsonArrayAndValues) +{ + std::ostringstream os; + + JsonWriter(os).beginArray().value(0).value("value").value(1).value(true).endArray(); + + EXPECT_EQ("[0,\"value\",1,true]", os.str()); +} +TEST(JsonTest, JsonStackRegression) +{ + std::ostringstream os; + + JsonWriter w(os); + + // Nest those things deeply such that we transition states: + // object -> array -> object; -> array -> object + // Older versions never popped back and got stuck on array state. + w.beginObject(); + w.name("a").beginArray().beginObject().endObject().endArray(); + w.name("b").beginArray().beginObject().endObject().endArray(); + w.endObject(); + + EXPECT_EQ("{\"a\":[{}],\"b\":[{}]}", os.str()); +} +TEST(JsonTest, JsonNull) +{ + std::ostringstream os; + + JsonWriter(os).value(nullptr); + + EXPECT_EQ("null", os.str()); +} diff --git a/test/libapt/openmaybeclearsignedfile_test.cc b/test/libapt/openmaybeclearsignedfile_test.cc new file mode 100644 index 0000000..4db8967 --- /dev/null +++ b/test/libapt/openmaybeclearsignedfile_test.cc @@ -0,0 +1,364 @@ +#include <config.h> + +#include <apt-pkg/error.h> +#include <apt-pkg/fileutl.h> +#include <apt-pkg/gpgv.h> + +#include <string> + +#include <gtest/gtest.h> + +#include "file-helpers.h" + +/* The test files are created with the 'Joe Sixpack' and 'Marvin Paranoid' + test key included in the integration testing framework */ + +static void EXPECT_SUCCESSFUL_PARSE(std::string const &tempfile) +{ + FileFd fd; + EXPECT_TRUE(OpenMaybeClearSignedFile(tempfile, fd)); + EXPECT_TRUE(fd.IsOpen()); + char buffer[100]; + EXPECT_TRUE(fd.ReadLine(buffer, sizeof(buffer))); + EXPECT_STREQ(buffer, "Test"); + EXPECT_TRUE(fd.Eof()); +} + +TEST(OpenMaybeClearSignedFileTest,SimpleSignedFile) +{ + // Using c++11 raw-strings would be nifty, but travis doesn't support it… + auto const file = createTemporaryFile("simplesignedfile", "-----BEGIN PGP SIGNED MESSAGE-----\n" +"Hash: SHA512\n" +"\n" +"Test\n" +"-----BEGIN PGP SIGNATURE-----\n" +"\n" +"iQFEBAEBCgAuFiEENKjp0Y2zIPNn6OqgWpDRQdusja4FAlhT7+kQHGpvZUBleGFt\n" +"cGxlLm9yZwAKCRBakNFB26yNrjvEB/9/e3jA1l0fvPafx9LEXcH8CLpUFQK7ra9l\n" +"3M4YAH4JKQlTG1be7ixruBRlCTh3YiSs66fKMeJeUYoxA2HPhvbGFEjQFAxunEYg\n" +"X/LBKv1mQWa+Q34P5GBjK8kQdLCN+yJAiUErmWNQG3GPninrxsC9tY5jcWvHeP1k\n" +"V7N3MLnNqzXaCJM24mnKidC5IDadUdQ8qC8c3rjUexQ8vBz0eucH56jbqV5oOcvx\n" +"pjlW965dCPIf3OI8q6J7bIOjyY+u/PTcVlqPq3TUz/ti6RkVbKpLH0D4ll3lUTns\n" +"JQt/+gJCPxHUJphy8sccBKhW29CLELJIIafvU30E1nWn9szh2Xjq\n" +"=TB1F\n" +"-----END PGP SIGNATURE-----\n"); + EXPECT_TRUE(StartsWithGPGClearTextSignature(file.Name())); + EXPECT_SUCCESSFUL_PARSE(file.Name()); +} + +TEST(OpenMaybeClearSignedFileTest,WhitespaceSignedFile) +{ + // no raw-string here to protect the whitespace from cleanup + auto const file = createTemporaryFile("simplesignedfile", "-----BEGIN PGP SIGNED MESSAGE----- \t \n" +"Hash: SHA512 \n" +" \n" +"Test \n" +"-----BEGIN PGP SIGNATURE----- \n" +" \n" +"iQFEBAEBCgAuFiEENKjp0Y2zIPNn6OqgWpDRQdusja4FAlhT7+kQHGpvZUBleGFt \n" +"cGxlLm9yZwAKCRBakNFB26yNrjvEB/9/e3jA1l0fvPafx9LEXcH8CLpUFQK7ra9l \n" +"3M4YAH4JKQlTG1be7ixruBRlCTh3YiSs66fKMeJeUYoxA2HPhvbGFEjQFAxunEYg \n" +"X/LBKv1mQWa+Q34P5GBjK8kQdLCN+yJAiUErmWNQG3GPninrxsC9tY5jcWvHeP1k \n" +"V7N3MLnNqzXaCJM24mnKidC5IDadUdQ8qC8c3rjUexQ8vBz0eucH56jbqV5oOcvx \n" +"pjlW965dCPIf3OI8q6J7bIOjyY+u/PTcVlqPq3TUz/ti6RkVbKpLH0D4ll3lUTns \n" +"JQt/+gJCPxHUJphy8sccBKhW29CLELJIIafvU30E1nWn9szh2Xjq \n" +"=TB1F \n" +"-----END PGP SIGNATURE-----"); + EXPECT_TRUE(StartsWithGPGClearTextSignature(file.Name())); + EXPECT_SUCCESSFUL_PARSE(file.Name()); +} + +TEST(OpenMaybeClearSignedFileTest,SignedFileWithContentHeaders) +{ + auto const file = createTemporaryFile("headerssignedfile", "-----BEGIN PGP SIGNED MESSAGE-----\n" +"Version: 0.8.15~exp1\n" +"Hash: SHA512\n" +"Comment: I love you!\n" +"X-Expires: never\n" +"Multilines: no\n" +" yes\n" +" maybe\n" +"\n" +"Test\n" +"-----BEGIN PGP SIGNATURE-----\n" +"\n" +"iQFEBAEBCgAuFiEENKjp0Y2zIPNn6OqgWpDRQdusja4FAlhT7+kQHGpvZUBleGFt\n" +"cGxlLm9yZwAKCRBakNFB26yNrjvEB/9/e3jA1l0fvPafx9LEXcH8CLpUFQK7ra9l\n" +"3M4YAH4JKQlTG1be7ixruBRlCTh3YiSs66fKMeJeUYoxA2HPhvbGFEjQFAxunEYg\n" +"X/LBKv1mQWa+Q34P5GBjK8kQdLCN+yJAiUErmWNQG3GPninrxsC9tY5jcWvHeP1k\n" +"V7N3MLnNqzXaCJM24mnKidC5IDadUdQ8qC8c3rjUexQ8vBz0eucH56jbqV5oOcvx\n" +"pjlW965dCPIf3OI8q6J7bIOjyY+u/PTcVlqPq3TUz/ti6RkVbKpLH0D4ll3lUTns\n" +"JQt/+gJCPxHUJphy8sccBKhW29CLELJIIafvU30E1nWn9szh2Xjq\n" +"=TB1F\n" +"-----END PGP SIGNATURE-----\n"); + EXPECT_TRUE(StartsWithGPGClearTextSignature(file.Name())); + EXPECT_SUCCESSFUL_PARSE(file.Name()); +} + +TEST(OpenMaybeClearSignedFileTest,SignedFileWithTwoSignatures) +{ + auto const file = createTemporaryFile("doublesignedfile", "-----BEGIN PGP SIGNED MESSAGE-----\n" +"Hash: SHA512\n" +"\n" +"Test\n" +"-----BEGIN PGP SIGNATURE-----\n" +"\n" +"iQFEBAEBCgAuFiEENKjp0Y2zIPNn6OqgWpDRQdusja4FAlhT7+kQHGpvZUBleGFt\n" +"cGxlLm9yZwAKCRBakNFB26yNrjvEB/9/e3jA1l0fvPafx9LEXcH8CLpUFQK7ra9l\n" +"3M4YAH4JKQlTG1be7ixruBRlCTh3YiSs66fKMeJeUYoxA2HPhvbGFEjQFAxunEYg\n" +"X/LBKv1mQWa+Q34P5GBjK8kQdLCN+yJAiUErmWNQG3GPninrxsC9tY5jcWvHeP1k\n" +"V7N3MLnNqzXaCJM24mnKidC5IDadUdQ8qC8c3rjUexQ8vBz0eucH56jbqV5oOcvx\n" +"pjlW965dCPIf3OI8q6J7bIOjyY+u/PTcVlqPq3TUz/ti6RkVbKpLH0D4ll3lUTns\n" +"JQt/+gJCPxHUJphy8sccBKhW29CLELJIIafvU30E1nWn9szh2Xjq\n" +"=TB1F\n" +"-----END PGP SIGNATURE-----\n" +"-----BEGIN PGP SIGNATURE-----\n" +"\n" +"iQFHBAEBCgAxFiEE3mauypFRr6GHfsMd6FJdR1KBROIFAlhT/yYTHG1hcnZpbkBl\n" +"eGFtcGxlLm9yZwAKCRDoUl1HUoFE4qq3B/459MSk3xCW30wc5+ul5ZxTSg6eLYPJ\n" +"tfVNYi90/ZxRrYQAN+EWozEIZcxoMYp8Ans3++irkjPbHs4NsesmFKt2W5meFl4V\n" +"oUzYrOh5y5GlDeF7ok5g9atQe8BojjBics+g1IBYcnaMU+ywONmlixa03IPGfxV5\n" +"oTx02Xvlns20i6HRc0WFtft5q1hXo4EIlVc9O0u902SVEEkeuHF3+bCcXrNLPBJA\n" +"+8dxmH5+i89f/kVqURrdHdEuA1tsTNyb2C+lvRONh21H8QRRTU/iUQSzV6vZvof5\n" +"ASc9hsAZRG0xHuRU0F94V/XrkWw8QYAobJ/yxvs4L0EuA4optbSqawDB\n" +"=CP8j\n" +"-----END PGP SIGNATURE-----\n"); + EXPECT_TRUE(StartsWithGPGClearTextSignature(file.Name())); + EXPECT_SUCCESSFUL_PARSE(file.Name()); +} + + +static void EXPECT_FAILED_PARSE(std::string const &tempfile, std::string const &error) +{ + EXPECT_TRUE(_error->empty()); + FileFd fd; + EXPECT_FALSE(OpenMaybeClearSignedFile(tempfile, fd)); + EXPECT_FALSE(_error->empty()); + EXPECT_FALSE(fd.IsOpen()); + ASSERT_TRUE(_error->PendingError()); + + std::string msg; + EXPECT_TRUE(_error->PopMessage(msg)); + EXPECT_EQ(msg, error); +} + +TEST(OpenMaybeClearSignedFileTest,TwoSimpleSignedFile) +{ + // read only the first message + auto const file = createTemporaryFile("twosimplesignedfile", "-----BEGIN PGP SIGNED MESSAGE-----\n" +"Hash: SHA512\n" +"\n" +"Test\n" +"-----BEGIN PGP SIGNATURE-----\n" +"\n" +"iQFEBAEBCgAuFiEENKjp0Y2zIPNn6OqgWpDRQdusja4FAlhT7+kQHGpvZUBleGFt\n" +"cGxlLm9yZwAKCRBakNFB26yNrjvEB/9/e3jA1l0fvPafx9LEXcH8CLpUFQK7ra9l\n" +"3M4YAH4JKQlTG1be7ixruBRlCTh3YiSs66fKMeJeUYoxA2HPhvbGFEjQFAxunEYg\n" +"X/LBKv1mQWa+Q34P5GBjK8kQdLCN+yJAiUErmWNQG3GPninrxsC9tY5jcWvHeP1k\n" +"V7N3MLnNqzXaCJM24mnKidC5IDadUdQ8qC8c3rjUexQ8vBz0eucH56jbqV5oOcvx\n" +"pjlW965dCPIf3OI8q6J7bIOjyY+u/PTcVlqPq3TUz/ti6RkVbKpLH0D4ll3lUTns\n" +"JQt/+gJCPxHUJphy8sccBKhW29CLELJIIafvU30E1nWn9szh2Xjq\n" +"=TB1F\n" +"-----END PGP SIGNATURE-----\n" +"-----BEGIN PGP SIGNED MESSAGE-----\n" +"Hash: SHA512\n" +"\n" +"Test\n" +"-----BEGIN PGP SIGNATURE-----\n" +"\n" +"iQFEBAEBCgAuFiEENKjp0Y2zIPNn6OqgWpDRQdusja4FAlhT7+kQHGpvZUBleGFt\n" +"cGxlLm9yZwAKCRBakNFB26yNrjvEB/9/e3jA1l0fvPafx9LEXcH8CLpUFQK7ra9l\n" +"3M4YAH4JKQlTG1be7ixruBRlCTh3YiSs66fKMeJeUYoxA2HPhvbGFEjQFAxunEYg\n" +"X/LBKv1mQWa+Q34P5GBjK8kQdLCN+yJAiUErmWNQG3GPninrxsC9tY5jcWvHeP1k\n" +"V7N3MLnNqzXaCJM24mnKidC5IDadUdQ8qC8c3rjUexQ8vBz0eucH56jbqV5oOcvx\n" +"pjlW965dCPIf3OI8q6J7bIOjyY+u/PTcVlqPq3TUz/ti6RkVbKpLH0D4ll3lUTns\n" +"JQt/+gJCPxHUJphy8sccBKhW29CLELJIIafvU30E1nWn9szh2Xjq\n" +"=TB1F\n" +"-----END PGP SIGNATURE-----"); + EXPECT_TRUE(_error->empty()); + EXPECT_TRUE(StartsWithGPGClearTextSignature(file.Name())); + // technically they are signed, but we just want one message + EXPECT_FAILED_PARSE(file.Name(), "Clearsigned file '" + file.Name() + "' contains unsigned lines."); +} + +TEST(OpenMaybeClearSignedFileTest,UnsignedFile) +{ + auto const file = createTemporaryFile("unsignedfile", "Test"); + EXPECT_FALSE(StartsWithGPGClearTextSignature(file.Name())); + EXPECT_SUCCESSFUL_PARSE(file.Name()); +} + +TEST(OpenMaybeClearSignedFileTest,GarbageTop) +{ + auto const file = createTemporaryFile("garbagetop", "Garbage\n" +"-----BEGIN PGP SIGNED MESSAGE-----\n" +"Hash: SHA512\n" +"\n" +"Test\n" +"-----BEGIN PGP SIGNATURE-----\n" +"\n" +"iQFEBAEBCgAuFiEENKjp0Y2zIPNn6OqgWpDRQdusja4FAlhT7+kQHGpvZUBleGFt\n" +"cGxlLm9yZwAKCRBakNFB26yNrjvEB/9/e3jA1l0fvPafx9LEXcH8CLpUFQK7ra9l\n" +"3M4YAH4JKQlTG1be7ixruBRlCTh3YiSs66fKMeJeUYoxA2HPhvbGFEjQFAxunEYg\n" +"X/LBKv1mQWa+Q34P5GBjK8kQdLCN+yJAiUErmWNQG3GPninrxsC9tY5jcWvHeP1k\n" +"V7N3MLnNqzXaCJM24mnKidC5IDadUdQ8qC8c3rjUexQ8vBz0eucH56jbqV5oOcvx\n" +"pjlW965dCPIf3OI8q6J7bIOjyY+u/PTcVlqPq3TUz/ti6RkVbKpLH0D4ll3lUTns\n" +"JQt/+gJCPxHUJphy8sccBKhW29CLELJIIafvU30E1nWn9szh2Xjq\n" +"=TB1F\n" +"-----END PGP SIGNATURE-----\n"); + EXPECT_FALSE(StartsWithGPGClearTextSignature(file.Name())); + EXPECT_FAILED_PARSE(file.Name(), "Clearsigned file '" + file.Name() + "' does not start with a signed message block."); +} + +TEST(OpenMaybeClearSignedFileTest,GarbageHeader) +{ + auto const file = createTemporaryFile("garbageheader", "-----BEGIN PGP SIGNED MESSAGE----- Garbage\n" +"Hash: SHA512\n" +"\n" +"Test\n" +"-----BEGIN PGP SIGNATURE-----\n" +"\n" +"iQFEBAEBCgAuFiEENKjp0Y2zIPNn6OqgWpDRQdusja4FAlhT7+kQHGpvZUBleGFt\n" +"cGxlLm9yZwAKCRBakNFB26yNrjvEB/9/e3jA1l0fvPafx9LEXcH8CLpUFQK7ra9l\n" +"3M4YAH4JKQlTG1be7ixruBRlCTh3YiSs66fKMeJeUYoxA2HPhvbGFEjQFAxunEYg\n" +"X/LBKv1mQWa+Q34P5GBjK8kQdLCN+yJAiUErmWNQG3GPninrxsC9tY5jcWvHeP1k\n" +"V7N3MLnNqzXaCJM24mnKidC5IDadUdQ8qC8c3rjUexQ8vBz0eucH56jbqV5oOcvx\n" +"pjlW965dCPIf3OI8q6J7bIOjyY+u/PTcVlqPq3TUz/ti6RkVbKpLH0D4ll3lUTns\n" +"JQt/+gJCPxHUJphy8sccBKhW29CLELJIIafvU30E1nWn9szh2Xjq\n" +"=TB1F\n" +"-----END PGP SIGNATURE-----\n"); + EXPECT_FALSE(StartsWithGPGClearTextSignature(file.Name())); + // beware: the file will be successfully opened as unsigned file + FileFd fd; + EXPECT_TRUE(OpenMaybeClearSignedFile(file.Name(), fd)); + EXPECT_TRUE(fd.IsOpen()); + char buffer[100]; + EXPECT_TRUE(fd.ReadLine(buffer, sizeof(buffer))); + EXPECT_STREQ(buffer, "-----BEGIN PGP SIGNED MESSAGE----- Garbage\n"); + EXPECT_FALSE(fd.Eof()); +} + +TEST(OpenMaybeClearSignedFileTest,GarbageBottom) +{ + auto const file = createTemporaryFile("garbagebottom", "-----BEGIN PGP SIGNED MESSAGE-----\n" +"Hash: SHA512\n" +"\n" +"Test\n" +"-----BEGIN PGP SIGNATURE-----\n" +"\n" +"iQFEBAEBCgAuFiEENKjp0Y2zIPNn6OqgWpDRQdusja4FAlhT7+kQHGpvZUBleGFt\n" +"cGxlLm9yZwAKCRBakNFB26yNrjvEB/9/e3jA1l0fvPafx9LEXcH8CLpUFQK7ra9l\n" +"3M4YAH4JKQlTG1be7ixruBRlCTh3YiSs66fKMeJeUYoxA2HPhvbGFEjQFAxunEYg\n" +"X/LBKv1mQWa+Q34P5GBjK8kQdLCN+yJAiUErmWNQG3GPninrxsC9tY5jcWvHeP1k\n" +"V7N3MLnNqzXaCJM24mnKidC5IDadUdQ8qC8c3rjUexQ8vBz0eucH56jbqV5oOcvx\n" +"pjlW965dCPIf3OI8q6J7bIOjyY+u/PTcVlqPq3TUz/ti6RkVbKpLH0D4ll3lUTns\n" +"JQt/+gJCPxHUJphy8sccBKhW29CLELJIIafvU30E1nWn9szh2Xjq\n" +"=TB1F\n" +"-----END PGP SIGNATURE-----\n" +"Garbage"); + EXPECT_TRUE(StartsWithGPGClearTextSignature(file.Name())); + EXPECT_FAILED_PARSE(file.Name(), "Clearsigned file '" + file.Name() + "' contains unsigned lines."); +} + +TEST(OpenMaybeClearSignedFileTest,BogusNoSig) +{ + auto const file = createTemporaryFile("bogusnosig", "-----BEGIN PGP SIGNED MESSAGE-----\n" +"Hash: SHA512\n" +"\n" +"Test"); + EXPECT_TRUE(StartsWithGPGClearTextSignature(file.Name())); + EXPECT_FAILED_PARSE(file.Name(), "Splitting of clearsigned file " + file.Name() + " failed as it doesn't contain all expected parts"); +} + +TEST(OpenMaybeClearSignedFileTest,BogusSigStart) +{ + auto const file = createTemporaryFile("bogusnosig", "-----BEGIN PGP SIGNED MESSAGE-----\n" +"Hash: SHA512\n" +"\n" +"Test\n" +"-----BEGIN PGP SIGNATURE-----"); + EXPECT_TRUE(StartsWithGPGClearTextSignature(file.Name())); + EXPECT_FAILED_PARSE(file.Name(), "Signature in file " + file.Name() + " wasn't closed"); +} + +TEST(OpenMaybeClearSignedFileTest,DashedSignedFile) +{ + auto const file = createTemporaryFile("dashedsignedfile", "-----BEGIN PGP SIGNED MESSAGE-----\n" +"Hash: SHA512\n" +"\n" +"- Test\n" +"-----BEGIN PGP SIGNATURE-----\n" +"\n" +"iQFEBAEBCgAuFiEENKjp0Y2zIPNn6OqgWpDRQdusja4FAlhT7+kQHGpvZUBleGFt\n" +"cGxlLm9yZwAKCRBakNFB26yNrjvEB/9/e3jA1l0fvPafx9LEXcH8CLpUFQK7ra9l\n" +"3M4YAH4JKQlTG1be7ixruBRlCTh3YiSs66fKMeJeUYoxA2HPhvbGFEjQFAxunEYg\n" +"X/LBKv1mQWa+Q34P5GBjK8kQdLCN+yJAiUErmWNQG3GPninrxsC9tY5jcWvHeP1k\n" +"V7N3MLnNqzXaCJM24mnKidC5IDadUdQ8qC8c3rjUexQ8vBz0eucH56jbqV5oOcvx\n" +"pjlW965dCPIf3OI8q6J7bIOjyY+u/PTcVlqPq3TUz/ti6RkVbKpLH0D4ll3lUTns\n" +"JQt/+gJCPxHUJphy8sccBKhW29CLELJIIafvU30E1nWn9szh2Xjq\n" +"=TB1F\n" +"-----END PGP SIGNATURE-----\n"); + EXPECT_TRUE(StartsWithGPGClearTextSignature(file.Name())); + EXPECT_SUCCESSFUL_PARSE(file.Name()); +} +TEST(OpenMaybeClearSignedFileTest,StrangeDashArmorFile) +{ + auto const file = createTemporaryFile("strangedashfile", "-----BEGIN PGP SIGNED MESSAGE-----\n" +"Hash: SHA512\n" +"-Hash: SHA512\n" +"\n" +"Test\n" +"-----BEGIN PGP SIGNATURE-----\n" +"\n" +"iQFEBAEBCgAuFiEENKjp0Y2zIPNn6OqgWpDRQdusja4FAlhT7+kQHGpvZUBleGFt\n" +"cGxlLm9yZwAKCRBakNFB26yNrjvEB/9/e3jA1l0fvPafx9LEXcH8CLpUFQK7ra9l\n" +"3M4YAH4JKQlTG1be7ixruBRlCTh3YiSs66fKMeJeUYoxA2HPhvbGFEjQFAxunEYg\n" +"X/LBKv1mQWa+Q34P5GBjK8kQdLCN+yJAiUErmWNQG3GPninrxsC9tY5jcWvHeP1k\n" +"V7N3MLnNqzXaCJM24mnKidC5IDadUdQ8qC8c3rjUexQ8vBz0eucH56jbqV5oOcvx\n" +"pjlW965dCPIf3OI8q6J7bIOjyY+u/PTcVlqPq3TUz/ti6RkVbKpLH0D4ll3lUTns\n" +"JQt/+gJCPxHUJphy8sccBKhW29CLELJIIafvU30E1nWn9szh2Xjq\n" +"=TB1F\n" +"-----END PGP SIGNATURE-----\n"); + EXPECT_TRUE(StartsWithGPGClearTextSignature(file.Name())); + EXPECT_FAILED_PARSE(file.Name(), "Clearsigned file '" + file.Name() + "' contains unexpected line starting with a dash (armor)"); +} +TEST(OpenMaybeClearSignedFileTest,StrangeDashMsgFile) +{ + auto const file = createTemporaryFile("strangedashfile", "-----BEGIN PGP SIGNED MESSAGE-----\n" +"Hash: SHA512\n" +"\n" +"-Test\n" +"-----BEGIN PGP SIGNATURE-----\n" +"\n" +"iQFEBAEBCgAuFiEENKjp0Y2zIPNn6OqgWpDRQdusja4FAlhT7+kQHGpvZUBleGFt\n" +"cGxlLm9yZwAKCRBakNFB26yNrjvEB/9/e3jA1l0fvPafx9LEXcH8CLpUFQK7ra9l\n" +"3M4YAH4JKQlTG1be7ixruBRlCTh3YiSs66fKMeJeUYoxA2HPhvbGFEjQFAxunEYg\n" +"X/LBKv1mQWa+Q34P5GBjK8kQdLCN+yJAiUErmWNQG3GPninrxsC9tY5jcWvHeP1k\n" +"V7N3MLnNqzXaCJM24mnKidC5IDadUdQ8qC8c3rjUexQ8vBz0eucH56jbqV5oOcvx\n" +"pjlW965dCPIf3OI8q6J7bIOjyY+u/PTcVlqPq3TUz/ti6RkVbKpLH0D4ll3lUTns\n" +"JQt/+gJCPxHUJphy8sccBKhW29CLELJIIafvU30E1nWn9szh2Xjq\n" +"=TB1F\n" +"-----END PGP SIGNATURE-----\n"); + EXPECT_TRUE(StartsWithGPGClearTextSignature(file.Name())); + EXPECT_FAILED_PARSE(file.Name(), "Clearsigned file '" + file.Name() + "' contains unexpected line starting with a dash (msg)"); +} +TEST(OpenMaybeClearSignedFileTest,StrangeDashSigFile) +{ + auto const file = createTemporaryFile("strangedashfile", "-----BEGIN PGP SIGNED MESSAGE-----\n" +"Hash: SHA512\n" +"\n" +"Test\n" +"-----BEGIN PGP SIGNATURE-----\n" +"\n" +"iQFEBAEBCgAuFiEENKjp0Y2zIPNn6OqgWpDRQdusja4FAlhT7+kQHGpvZUBleGFt\n" +"cGxlLm9yZwAKCRBakNFB26yNrjvEB/9/e3jA1l0fvPafx9LEXcH8CLpUFQK7ra9l\n" +"3M4YAH4JKQlTG1be7ixruBRlCTh3YiSs66fKMeJeUYoxA2HPhvbGFEjQFAxunEYg\n" +"-/LBKv1mQWa+Q34P5GBjK8kQdLCN+yJAiUErmWNQG3GPninrxsC9tY5jcWvHeP1k\n" +"V7N3MLnNqzXaCJM24mnKidC5IDadUdQ8qC8c3rjUexQ8vBz0eucH56jbqV5oOcvx\n" +"pjlW965dCPIf3OI8q6J7bIOjyY+u/PTcVlqPq3TUz/ti6RkVbKpLH0D4ll3lUTns\n" +"JQt/+gJCPxHUJphy8sccBKhW29CLELJIIafvU30E1nWn9szh2Xjq\n" +"=TB1F\n" +"-----END PGP SIGNATURE-----\n"); + EXPECT_TRUE(StartsWithGPGClearTextSignature(file.Name())); + EXPECT_FAILED_PARSE(file.Name(), "Clearsigned file '" + file.Name() + "' contains unexpected line starting with a dash (sig)"); +} diff --git a/test/libapt/parsedepends_test.cc b/test/libapt/parsedepends_test.cc new file mode 100644 index 0000000..f641c8c --- /dev/null +++ b/test/libapt/parsedepends_test.cc @@ -0,0 +1,280 @@ +#include <config.h> + +#include <apt-pkg/configuration.h> +#include <apt-pkg/deblistparser.h> +#include <apt-pkg/pkgcache.h> + +#include <cstring> +#include <string> + +#include <gtest/gtest.h> + +static void parseDependency(bool const StripMultiArch, bool const ParseArchFlags, bool const ParseRestrictionsList, std::string Arch) +{ + std::string Package; + std::string Version; + unsigned int Op = 5; + unsigned int Null = 0; + // The tests are made for amd64. Specify a different arch here to check if + // they still work. + _config->Set("APT::Architecture",Arch); + _config->Set("APT::Build-Profiles","stage1"); + + const char* Depends = + "debhelper:any (>= 5.0), " + "libdb-dev:any, " + "gettext:native (<= 0.12), " + "libcurl4-gnutls-dev:native | libcurl3-gnutls-dev (>> 7.15.5), " + "docbook-xml, " + "apt (>= 0.7.25), " + "not-for-me [ !amd64 ], " + "only-for-me [ amd64 ], " + "any-for-me [ any ], " + "not-for-darwin [ !darwin-any ], " + "cpu-for-me [ any-amd64 ], " + "os-for-me [ linux-any ], " + "libc-for-me [ gnu-linux-any ], " + "libc-not-for-me [ musl-linux-any ], " + "cpu-not-for-me [ any-armel ], " + "os-not-for-me [ kfreebsd-any ], " + "not-in-stage1 <!stage1>, " + "not-stage1-and-not-nodoc <!nodoc !stage1>, " + "not-stage1-or-not-nodoc <!nodoc> <!stage1>, " + "unknown-profile <unknown stage1>, " + "overlord-dev:any (= 7.15.3~) | overlord-dev:native (>> 7.15.5), " + ; + + // Stripping MultiArch is currently the default setting to not confuse + // non-MultiArch capable users of the library with "strange" extensions. + const char* Start = Depends; + const char* End = Depends + strlen(Depends); + + Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64"); + if (StripMultiArch == true) + EXPECT_EQ("debhelper", Package); + else + EXPECT_EQ("debhelper:any", Package); + EXPECT_EQ("5.0", Version); + EXPECT_EQ(Null | pkgCache::Dep::GreaterEq, Op); + + Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64"); + if (StripMultiArch == true) + EXPECT_EQ("libdb-dev", Package); + else + EXPECT_EQ("libdb-dev:any", Package); + EXPECT_EQ("", Version); + EXPECT_EQ(Null | pkgCache::Dep::NoOp, Op); + + Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64"); + if (StripMultiArch == true) + EXPECT_EQ("gettext", Package); + else + EXPECT_EQ("gettext:native", Package); + EXPECT_EQ("0.12", Version); + EXPECT_EQ(Null | pkgCache::Dep::LessEq, Op); + + Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64"); + if (StripMultiArch == true) + EXPECT_EQ("libcurl4-gnutls-dev", Package); + else + EXPECT_EQ("libcurl4-gnutls-dev:native", Package); + EXPECT_EQ("", Version); + EXPECT_EQ(Null | pkgCache::Dep::Or, Op); + + Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64"); + EXPECT_EQ("libcurl3-gnutls-dev", Package); + EXPECT_EQ("7.15.5", Version); + EXPECT_EQ(Null | pkgCache::Dep::Greater, Op); + + Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64"); + EXPECT_EQ("docbook-xml", Package); + EXPECT_EQ("", Version); + EXPECT_EQ(Null | pkgCache::Dep::NoOp, Op); + + Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64"); + EXPECT_EQ("apt", Package); + EXPECT_EQ("0.7.25", Version); + EXPECT_EQ(Null | pkgCache::Dep::GreaterEq, Op); + + if (ParseArchFlags == true) { + Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64"); + EXPECT_EQ("", Package); // not-for-me + } else { + EXPECT_EQ(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64")); + Start = strstr(Start, ","); + Start++; + } + + if (ParseArchFlags == true) { + Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64"); + EXPECT_EQ("only-for-me", Package); + EXPECT_EQ("", Version); + EXPECT_EQ(Null | pkgCache::Dep::NoOp, Op); + } else { + EXPECT_EQ(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64")); + Start = strstr(Start, ","); + Start++; + } + + if (ParseArchFlags == true) { + Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64"); + EXPECT_EQ("any-for-me", Package); + EXPECT_EQ("", Version); + EXPECT_EQ(Null | pkgCache::Dep::NoOp, Op); + } else { + EXPECT_EQ(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64")); + Start = strstr(Start, ","); + Start++; + } + + if (ParseArchFlags == true) { + Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64"); + EXPECT_EQ("not-for-darwin", Package); + EXPECT_EQ("", Version); + EXPECT_EQ(Null | pkgCache::Dep::NoOp, Op); + } else { + EXPECT_EQ(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64")); + Start = strstr(Start, ","); + Start++; + } + + if (ParseArchFlags == true) { + Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64"); + EXPECT_EQ("cpu-for-me", Package); + EXPECT_EQ("", Version); + EXPECT_EQ(Null | pkgCache::Dep::NoOp, Op); + } else { + EXPECT_EQ(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64")); + Start = strstr(Start, ","); + Start++; + } + + if (ParseArchFlags == true) { + Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64"); + EXPECT_EQ("os-for-me", Package); + EXPECT_EQ("", Version); + EXPECT_EQ(Null | pkgCache::Dep::NoOp, Op); + } else { + EXPECT_EQ(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64")); + Start = strstr(Start, ","); + Start++; + } + + if (ParseArchFlags == true) { + Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64"); + EXPECT_EQ("libc-for-me", Package); + EXPECT_EQ("", Version); + EXPECT_EQ(Null | pkgCache::Dep::NoOp, Op); + } else { + EXPECT_EQ(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64")); + Start = strstr(Start, ","); + Start++; + } + + if (ParseArchFlags == true) { + Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64"); + EXPECT_EQ("", Package); // libc-not-for-me + } else { + EXPECT_EQ(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64")); + Start = strstr(Start, ","); + Start++; + } + + if (ParseArchFlags == true) { + Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64"); + EXPECT_EQ("", Package); // cpu-not-for-me + } else { + EXPECT_EQ(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64")); + Start = strstr(Start, ","); + Start++; + } + + if (ParseArchFlags == true) { + Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64"); + EXPECT_EQ("", Package); // os-not-for-me + } else { + EXPECT_EQ(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64")); + Start = strstr(Start, ","); + Start++; + } + + if (ParseRestrictionsList == true) { + Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64"); + EXPECT_EQ("", Package); // not-in-stage1 + } else { + EXPECT_EQ(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64")); + Start = strstr(Start, ","); + Start++; + } + + if (ParseRestrictionsList == true) { + Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64"); + EXPECT_EQ("", Package); // not-stage1-and-not-nodoc + } else { + EXPECT_EQ(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64")); + Start = strstr(Start, ","); + Start++; + } + + if (ParseRestrictionsList == true) { + Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64"); + EXPECT_EQ("not-stage1-or-not-nodoc", Package); + } else { + EXPECT_EQ(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64")); + Start = strstr(Start, ","); + Start++; + } + + if (ParseRestrictionsList == true) { + Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64"); + EXPECT_EQ("", Package); // unknown-profile + } else { + EXPECT_EQ(true, 0 == debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64")); + Start = strstr(Start, ","); + Start++; + } + + Start = debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64"); + if (StripMultiArch == true) + EXPECT_EQ("overlord-dev", Package); + else + EXPECT_EQ("overlord-dev:any", Package); + EXPECT_EQ("7.15.3~", Version); + EXPECT_EQ(Null | pkgCache::Dep::Equals | pkgCache::Dep::Or, Op); + + debListParser::ParseDepends(Start, End, Package, Version, Op, ParseArchFlags, StripMultiArch, ParseRestrictionsList, "amd64"); + if (StripMultiArch == true) + EXPECT_EQ("overlord-dev", Package); + else + EXPECT_EQ("overlord-dev:native", Package); + EXPECT_EQ("7.15.5", Version); + EXPECT_EQ(Null | pkgCache::Dep::Greater, Op); +} + +// FIXME: This testcase is too big/complex +TEST(ParseDependsTest, Everything) +{ + bool StripMultiArch = true; + bool ParseArchFlags = false; + bool ParseRestrictionsList = false; + unsigned short runner = 0; + +test: + { + SCOPED_TRACE(std::string("StripMultiArch: ") + (StripMultiArch ? "true" : "false")); + SCOPED_TRACE(std::string("ParseArchFlags: ") + (ParseArchFlags ? "true" : "false")); + SCOPED_TRACE(std::string("ParseRestrictionsList: ") + (ParseRestrictionsList ? "true" : "false")); + parseDependency(StripMultiArch, ParseArchFlags, ParseRestrictionsList, "kfreebsd-i386"); + parseDependency(StripMultiArch, ParseArchFlags, ParseRestrictionsList, "amd64"); + } + if (StripMultiArch == false) { + if (ParseArchFlags == false) + ParseRestrictionsList = !ParseRestrictionsList; + ParseArchFlags = !ParseArchFlags; + } + StripMultiArch = !StripMultiArch; + + runner++; + if (runner < 8) + goto test; // this is the prove: tests are really evil ;) +} diff --git a/test/libapt/pattern_test.cc b/test/libapt/pattern_test.cc new file mode 100644 index 0000000..55bc4bd --- /dev/null +++ b/test/libapt/pattern_test.cc @@ -0,0 +1,224 @@ +/* + * cachefilter-patterns.h - Pattern parser and additional patterns as matchers + * + * Copyright (c) 2019 Canonical Ltd + * + * SPDX-License-Identifier: GPL-2.0+ + */ + +#include <config.h> +#include <apt-pkg/cachefilter-patterns.h> +#include <apt-pkg/cachefilter.h> + +#include <gtest/gtest.h> + +using namespace APT::Internal; + +#define EXPECT_EXCEPTION(exp, exc, msg) \ + caught = false; \ + try \ + { \ + exp; \ + } \ + catch (exc & e) \ + { \ + caught = true; \ + EXPECT_TRUE(e.message.find(msg) != std::string::npos) << msg << " not in " << e.message; \ + }; \ + EXPECT_TRUE(caught) << #exp "should have thrown an exception" + +TEST(TreeParserTest, ParseInvalid) +{ + bool caught = false; + + // Not a valid pattern: Reject + EXPECT_EXCEPTION(PatternTreeParser("?").parse(), PatternTreeParser::Error, "Pattern must have a term"); + EXPECT_EXCEPTION(PatternTreeParser("?AB?").parse(), PatternTreeParser::Error, "Pattern must have a term"); + EXPECT_EXCEPTION(PatternTreeParser("~").parse(), PatternTreeParser::Error, "Unknown short pattern"); + + // Not a pattern at all: Report nullptr + EXPECT_EQ(PatternTreeParser("A?").parse(), nullptr); +} + +TEST(TreeParserTest, ParseWord) +{ + auto node = PatternTreeParser("?word(word)").parseTop(); + auto patternNode = dynamic_cast<PatternTreeParser::PatternNode *>(node.get()); + + ASSERT_EQ(patternNode->arguments.size(), 1u); + auto wordNode = dynamic_cast<PatternTreeParser::WordNode *>(patternNode->arguments[0].get()); + + EXPECT_EQ(patternNode->arguments[0].get(), wordNode); + EXPECT_EQ(wordNode->word, "word"); +} + +TEST(TreeParserTest, ParseQuotedWord) +{ + auto node = PatternTreeParser("?word(\"a word\")").parseTop(); + auto patternNode = dynamic_cast<PatternTreeParser::PatternNode *>(node.get()); + + ASSERT_EQ(patternNode->arguments.size(), 1u); + auto wordNode = dynamic_cast<PatternTreeParser::WordNode *>(patternNode->arguments[0].get()); + + EXPECT_EQ(patternNode->arguments[0].get(), wordNode); + EXPECT_EQ(wordNode->word, "a word"); +} + +TEST(TreeParserTest, ParsePattern) +{ + auto node = PatternTreeParser("?hello").parseTop(); + auto patternNode = dynamic_cast<PatternTreeParser::PatternNode *>(node.get()); + + EXPECT_EQ(node.get(), patternNode); + EXPECT_EQ(patternNode->term, "?hello"); + EXPECT_TRUE(patternNode->arguments.empty()); + EXPECT_FALSE(patternNode->haveArgumentList); +} + +TEST(TreeParserTest, ParseWithEmptyArgs) +{ + auto node = PatternTreeParser("?hello()").parseTop(); + auto patternNode = dynamic_cast<PatternTreeParser::PatternNode *>(node.get()); + + EXPECT_EQ(node.get(), patternNode); + EXPECT_EQ(patternNode->term, "?hello"); + EXPECT_TRUE(patternNode->arguments.empty()); + EXPECT_TRUE(patternNode->haveArgumentList); +} + +TEST(TreeParserTest, ParseWithOneArgs) +{ + auto node = PatternTreeParser("?hello(foo)").parseTop(); + auto patternNode = dynamic_cast<PatternTreeParser::PatternNode *>(node.get()); + + EXPECT_EQ(node.get(), patternNode); + EXPECT_EQ(patternNode->term, "?hello"); + EXPECT_EQ(1u, patternNode->arguments.size()); +} + +TEST(TreeParserTest, ParseWithManyArgs) +{ + auto node = PatternTreeParser("?hello(foo,bar)").parseTop(); + auto patternNode = dynamic_cast<PatternTreeParser::PatternNode *>(node.get()); + + EXPECT_EQ(node.get(), patternNode); + EXPECT_EQ(patternNode->term, "?hello"); + EXPECT_EQ(2u, patternNode->arguments.size()); +} + +TEST(TreeParserTest, ParseWithManyArgsWithSpaces) +{ + auto node = PatternTreeParser("?hello (foo, bar)").parseTop(); + auto patternNode = dynamic_cast<PatternTreeParser::PatternNode *>(node.get()); + + EXPECT_EQ(node.get(), patternNode); + EXPECT_EQ(patternNode->term, "?hello"); + EXPECT_EQ(2u, patternNode->arguments.size()); +} + +TEST(TreeParserTest, ParseWithManyArgsWithSpacesWithTrailingComma) +{ + auto node = PatternTreeParser("?hello (foo, bar,)").parseTop(); + auto patternNode = dynamic_cast<PatternTreeParser::PatternNode *>(node.get()); + + EXPECT_EQ(node.get(), patternNode); + EXPECT_EQ(patternNode->term, "?hello"); + EXPECT_EQ(2u, patternNode->arguments.size()); +} + +// Helper +static bool samePattern(const std::unique_ptr<PatternTreeParser::Node> &a, const std::unique_ptr<PatternTreeParser::Node> &b) +{ + auto pa = dynamic_cast<const PatternTreeParser::PatternNode *>(a.get()); + auto pb = dynamic_cast<const PatternTreeParser::PatternNode *>(b.get()); + + if (pa && pb) + { + if (pa->term != pb->term || pa->haveArgumentList != pb->haveArgumentList || pa->arguments.size() != pb->arguments.size()) + return false; + + for (size_t i = 0; i < pa->arguments.size(); i++) + { + if (!samePattern(pa->arguments[i], pb->arguments[i])) + return false; + } + return true; + } + + auto wa = dynamic_cast<const PatternTreeParser::WordNode *>(a.get()); + auto wb = dynamic_cast<const PatternTreeParser::WordNode *>(b.get()); + if (wa && wb) + return wa->word == wb->word && wa->quoted == wb->quoted; + + return false; +} + +#define EXPECT_PATTERN_EQ(shrt, lng) \ + EXPECT_TRUE(samePattern(PatternTreeParser(shrt).parseTop(), PatternTreeParser(lng).parseTop())) +#define EXPECT_PATTERN_EQ_ATOMIC(shrt, lng) \ + EXPECT_TRUE(PatternTreeParser(shrt).parseTop()); \ + caught = false; \ + try \ + { \ + PatternTreeParser(shrt "XXX").parseTop(); \ + } \ + catch (PatternTreeParser::Error & e) \ + { \ + caught = true; \ + }; \ + EXPECT_TRUE(caught) << shrt "XXX should have thrown an exception"; \ + EXPECT_PATTERN_EQ(shrt, lng) + +TEST(TreeParserTest, ParseShortPattern) +{ + bool caught; + EXPECT_PATTERN_EQ("~ramd64", "?architecture(amd64)"); + EXPECT_PATTERN_EQ("~AanArchive", "?archive(anArchive)"); + EXPECT_PATTERN_EQ_ATOMIC("~M", "?automatic"); + EXPECT_PATTERN_EQ_ATOMIC("~b", "?broken"); + EXPECT_PATTERN_EQ_ATOMIC("~c", "?config-files"); + EXPECT_PATTERN_EQ_ATOMIC("~E", "?essential"); + EXPECT_PATTERN_EQ_ATOMIC("~F", "?false"); + EXPECT_PATTERN_EQ_ATOMIC("~g", "?garbage"); + EXPECT_PATTERN_EQ_ATOMIC("~i", "?installed"); + EXPECT_PATTERN_EQ("~napt", "?name(apt)"); + EXPECT_PATTERN_EQ_ATOMIC("~o", "?obsolete"); + EXPECT_PATTERN_EQ("~Obar", "?origin(bar)"); + EXPECT_PATTERN_EQ("~sfoo", "?section(foo)"); + EXPECT_PATTERN_EQ("~esourcename", "?source-package(sourcename)"); + EXPECT_PATTERN_EQ_ATOMIC("~T", "?true"); + EXPECT_PATTERN_EQ_ATOMIC("~U", "?upgradable"); + EXPECT_PATTERN_EQ("~Vverstr", "?version(verstr)"); + EXPECT_PATTERN_EQ_ATOMIC("~v", "?virtual"); + EXPECT_PATTERN_EQ("!?foo", "?not(?foo)"); + + caught = false; + try + { + PatternTreeParser("!x").parseTop(); + } + catch (PatternTreeParser::Error &e) + { + caught = true; + }; + EXPECT_TRUE(caught) << "!X should have thrown an exception"; + + EXPECT_PATTERN_EQ("?a?b", "?and(?a, ?b)"); + EXPECT_PATTERN_EQ("~T~F", "?and(?true, ?false)"); + EXPECT_PATTERN_EQ("~T ~F", "?and(?true, ?false)"); + EXPECT_PATTERN_EQ("~T !~F", "?and(?true, ?not(?false))"); + EXPECT_PATTERN_EQ("!~F ~T", "?and(?not(?false), ?true)"); + EXPECT_PATTERN_EQ("!~F~T", "?and(?not(?false), ?true)"); + + EXPECT_PATTERN_EQ("!~F~T | ~T", "?or(?and(?not(?false), ?true), ?true)"); + EXPECT_PATTERN_EQ("~ramd64|~rall", "?or(?architecture(amd64), ?architecture(all))"); + EXPECT_PATTERN_EQ("~ramd64 | ~rall", "?or(?architecture(amd64), ?architecture(all))"); + EXPECT_PATTERN_EQ("~ramd64?name(foo)", "?and(?architecture(amd64), ?name(foo))"); + + EXPECT_PATTERN_EQ("(?A|?B)?C", "?and(?or(?A, ?B), ?C)"); + EXPECT_PATTERN_EQ("?A|?B?C", "?or(?A, ?and(?B, ?C))"); + EXPECT_PATTERN_EQ("?A|(?B?C)", "?or(?A, ?and(?B, ?C))"); + EXPECT_PATTERN_EQ("(?B?C)|?A", "?or(?and(?B, ?C), ?A)"); + EXPECT_PATTERN_EQ("~napt~nfoo", "?and(?name(apt),?name(foo))"); + EXPECT_PATTERN_EQ("~napt!~nfoo", "?and(?name(apt),?not(?name(foo)))"); +} diff --git a/test/libapt/priority_test.cc b/test/libapt/priority_test.cc new file mode 100644 index 0000000..af7932a --- /dev/null +++ b/test/libapt/priority_test.cc @@ -0,0 +1,16 @@ +#include <config.h> +#include <apt-pkg/pkgcache.h> +#include <gtest/gtest.h> +#include <string> + +using std::string; + +// Tests for Bug#807523 +TEST(PriorityTest, PriorityPrinting) +{ + EXPECT_EQ("required", string(pkgCache::Priority(pkgCache::State::Required))); + EXPECT_EQ("important", string(pkgCache::Priority(pkgCache::State::Important))); + EXPECT_EQ("standard", string(pkgCache::Priority(pkgCache::State::Standard))); + EXPECT_EQ("optional", string(pkgCache::Priority(pkgCache::State::Optional))); + EXPECT_EQ("extra", string(pkgCache::Priority(pkgCache::State::Extra))); +} diff --git a/test/libapt/sourcelist_test.cc b/test/libapt/sourcelist_test.cc new file mode 100644 index 0000000..f6a1a91 --- /dev/null +++ b/test/libapt/sourcelist_test.cc @@ -0,0 +1,33 @@ +#include <config.h> + +#include <apt-pkg/fileutl.h> +#include <apt-pkg/sourcelist.h> + +#include <cstdlib> +#include <cstring> +#include <string> +#include <unistd.h> + +#include <gtest/gtest.h> + +#include "file-helpers.h" + +TEST(SourceListTest,ParseFileDeb822) +{ + auto const file = createTemporaryFile("parsefiledeb822.XXXXXX.sources", + "Types: deb\n" + "URIs: http://ftp.debian.org/debian\n" + "Suites: stable\n" + "Components: main\n" + "Description: short\n" + " long description that can be very long\n" + "\n" + "Types: deb\n" + "URIs: http://ftp.debian.org/debian\n" + "Suites: unstable\n" + "Components: main non-free\n"); + + pkgSourceList sources; + EXPECT_TRUE(sources.Read(file.Name())); + EXPECT_EQ(2u, sources.size()); +} diff --git a/test/libapt/srvrecs_test.cc b/test/libapt/srvrecs_test.cc new file mode 100644 index 0000000..f042579 --- /dev/null +++ b/test/libapt/srvrecs_test.cc @@ -0,0 +1,85 @@ +#include <config.h> + +#include <apt-pkg/srvrec.h> +#include <apt-pkg/strutl.h> + +#include <algorithm> +#include <iostream> +#include <string> + +#include <gtest/gtest.h> + +TEST(SrvRecTest, PopFromSrvRecs) +{ + std::vector<SrvRec> Meep; + Meep.emplace_back("foo", 20, 0, 80); + Meep.emplace_back("bar", 20, 0, 80); + Meep.emplace_back("baz", 30, 0, 80); + + EXPECT_EQ(Meep.size(), 3u); + SrvRec const result = PopFromSrvRecs(Meep); + // ensure that pop removed one element + EXPECT_EQ(Meep.size(), 2u); + EXPECT_NE(result.target, "baz"); + + SrvRec const result2 = PopFromSrvRecs(Meep); + EXPECT_NE(result.target, result2.target); + EXPECT_NE(result2.target, "baz"); + EXPECT_EQ(Meep.size(), 1u); + + SrvRec const result3 = PopFromSrvRecs(Meep); + EXPECT_EQ(result3.target, "baz"); + EXPECT_TRUE(Meep.empty()); +} + +TEST(SrvRecTest,Randomness) +{ + constexpr unsigned int testLength = 100; + std::vector<SrvRec> base1; + std::vector<SrvRec> base2; + std::vector<SrvRec> base3; + for (unsigned int i = 0; i < testLength; ++i) + { + std::string name; + strprintf(name, "foo%d", i); + base1.emplace_back(name, 20, 0, 80); + base2.emplace_back(name, 20, 0, 80); + base3.emplace_back(name, 30, 0, 80); + } + EXPECT_EQ(testLength, base1.size()); + EXPECT_EQ(testLength, base2.size()); + EXPECT_EQ(testLength, base3.size()); + std::move(base3.begin(), base3.end(), std::back_inserter(base2)); + EXPECT_EQ(testLength*2, base2.size()); + + std::vector<SrvRec> first_pull; + auto const startingClock = clock(); + for (unsigned int i = 0; i < testLength; ++i) + first_pull.push_back(PopFromSrvRecs(base1)); + EXPECT_TRUE(base1.empty()); + EXPECT_FALSE(first_pull.empty()); + EXPECT_EQ(testLength, first_pull.size()); + + // busy-wait for a cpu-clock change as we use it as "random" value + if (startingClock != -1) + for (int i = 0; i < 100000; ++i) + if (startingClock != clock()) + break; + + std::vector<SrvRec> second_pull; + for (unsigned int i = 0; i < testLength; ++i) + second_pull.push_back(PopFromSrvRecs(base2)); + EXPECT_FALSE(base2.empty()); + EXPECT_FALSE(second_pull.empty()); + EXPECT_EQ(testLength, second_pull.size()); + + EXPECT_EQ(first_pull.size(), second_pull.size()); + EXPECT_TRUE(std::all_of(first_pull.begin(), first_pull.end(), [](SrvRec const &R) { return R.priority == 20; })); + EXPECT_TRUE(std::all_of(second_pull.begin(), second_pull.end(), [](SrvRec const &R) { return R.priority == 20; })); + if (startingClock != -1 && startingClock != clock()) + { + EXPECT_FALSE(std::equal(first_pull.begin(), first_pull.end(), second_pull.begin())); + } + + EXPECT_TRUE(std::all_of(base2.begin(), base2.end(), [](SrvRec const &R) { return R.priority == 30; })); +} diff --git a/test/libapt/stringview_test.cc b/test/libapt/stringview_test.cc new file mode 100644 index 0000000..9cfaa3b --- /dev/null +++ b/test/libapt/stringview_test.cc @@ -0,0 +1,95 @@ + +#include <config.h> +#include <apt-pkg/string_view.h> +#include <string> + +#include <type_traits> + +#include <gtest/gtest.h> + +TEST(StringViewTest,EmptyString) +{ + constexpr APT::StringView defString; + static_assert( 0 == defString.length(), "def right size"); + + APT::StringView strString{std::string{}}; + EXPECT_EQ(0u, strString.length()); + + constexpr char const * const charp = ""; + constexpr APT::StringView charpString{charp, 0}; + static_assert( 0 == charpString.length(), "charp right size"); + + APT::StringView charp2String{charp}; + EXPECT_EQ(0u, strString.length()); + + const APT::StringView charaString{""}; + EXPECT_EQ(0u, charaString.length()); + + EXPECT_TRUE(APT::StringView("") == ""); + EXPECT_FALSE(APT::StringView("") != ""); +} + +TEST(StringViewTest,FooString) +{ + constexpr APT::StringView defString("fooGARBAGE", 3); + static_assert( 3 == defString.length(), "def right size"); + EXPECT_EQ(0, defString.to_string().compare(0, defString.length(), defString.data(), 3)); + + APT::StringView strString{std::string{"foo"}}; + EXPECT_EQ(3u, strString.length()); + EXPECT_EQ(0, strString.to_string().compare(0, strString.length(), strString.data(), 3)); + + constexpr char const * const charp = "fooGARBAGE"; + constexpr APT::StringView charpString{charp, 3}; + EXPECT_EQ(3u, charpString.length()); + EXPECT_EQ(0, charpString.to_string().compare(0, charpString.length(), charpString.data(), 3)); + + char * charp2 = strdup("foo"); + APT::StringView charp2String{charp2}; + EXPECT_EQ(3u, charp2String.length()); + EXPECT_EQ(0, charp2String.to_string().compare(0, charp2String.length(), charp2String.data(), 3)); + free(charp2); + + const APT::StringView charaString{"foo"}; + EXPECT_EQ(3u, charaString.length()); + EXPECT_EQ(0, charaString.to_string().compare(0, charaString.length(), charaString.data(), 3)); + + EXPECT_TRUE(APT::StringView("foo") == "foo"); + EXPECT_FALSE(APT::StringView("foo") != "foo"); +} + +TEST(StringViewTest,SubStr) +{ + const APT::StringView defString("Hello World!"); + EXPECT_EQ(defString.to_string().substr(6), defString.substr(6).to_string()); + EXPECT_EQ(defString.to_string().substr(0,5), defString.substr(0,5).to_string()); + EXPECT_EQ(defString.to_string().substr(6,5), defString.substr(6,5).to_string()); +} + +TEST(StringViewTest,Find) +{ + const APT::StringView defString("Hello World!"); + EXPECT_EQ(defString.to_string().find('l'), defString.find('l')); + EXPECT_EQ(defString.to_string().find('X'), defString.find('X')); + EXPECT_EQ(defString.to_string().find('e',3), defString.find('e',3)); + EXPECT_EQ(defString.to_string().find('l',6), defString.find('l',6)); + EXPECT_EQ(defString.to_string().find('l',11), defString.find('l',11)); + + EXPECT_EQ(defString.to_string().find("l"), defString.find("l")); + EXPECT_EQ(defString.to_string().find("ll"), defString.find("ll")); + EXPECT_EQ(defString.to_string().find("lo"), defString.find("lo")); + EXPECT_EQ(defString.to_string().find("ll", 1), defString.find("ll", 1)); + EXPECT_EQ(defString.to_string().find("ll", 6), defString.find("ll", 6)); + EXPECT_EQ(defString.to_string().find("or"), defString.find("or")); + EXPECT_EQ(defString.to_string().find("od"), defString.find("od")); +} + +TEST(StringViewTest,RFind) +{ + const APT::StringView defString("Hello World!"); + EXPECT_EQ(defString.to_string().rfind('l'), defString.rfind('l')); + EXPECT_EQ(defString.to_string().rfind('X'), defString.rfind('X')); + EXPECT_EQ(defString.to_string().rfind('e',3), defString.rfind('e',3)); + EXPECT_EQ(defString.to_string().rfind('l',6), defString.rfind('l',6)); + EXPECT_EQ(defString.to_string().rfind('l',11), defString.rfind('l',11)); +} diff --git a/test/libapt/strutil_test.cc b/test/libapt/strutil_test.cc new file mode 100644 index 0000000..469de44 --- /dev/null +++ b/test/libapt/strutil_test.cc @@ -0,0 +1,446 @@ +#include <config.h> +#include <apt-pkg/fileutl.h> +#include <apt-pkg/string_view.h> +#include <apt-pkg/strutl.h> +#include <limits> +#include <string> +#include <vector> + +#include <gtest/gtest.h> + +#include "file-helpers.h" + +TEST(StrUtilTest,DeEscapeString) +{ + // nothing special + EXPECT_EQ("", DeEscapeString("")); + EXPECT_EQ("foobar", DeEscapeString("foobar")); + // hex and octal + EXPECT_EQ("foo bar\nbaz", DeEscapeString("foo\\040bar\\x0abaz")); + EXPECT_EQ("foo ", DeEscapeString("foo\\040")); + EXPECT_EQ("\nbaz", DeEscapeString("\\x0abaz")); + EXPECT_EQ("/media/Ubuntu 11.04 amd64", DeEscapeString("/media/Ubuntu\\04011.04\\040amd64")); + // double slashes + EXPECT_EQ("foo\\ x", DeEscapeString("foo\\\\ x")); + EXPECT_EQ("\\foo\\", DeEscapeString("\\\\foo\\\\")); + + // FIXME: the input is bad, the output as well, but we have no indicator for it + EXPECT_EQ("aa", DeEscapeString("aa\\x")); + EXPECT_EQ("aa0", DeEscapeString("aa\\x0")); + EXPECT_EQ("aa", DeEscapeString("aa\\0")); + EXPECT_EQ("aaa", DeEscapeString("aa\\0a")); +} +TEST(StrUtilTest,StringStrip) +{ + EXPECT_EQ("", APT::String::Strip("")); + EXPECT_EQ("foobar", APT::String::Strip("foobar")); + EXPECT_EQ("foo bar", APT::String::Strip("foo bar")); + + EXPECT_EQ("", APT::String::Strip(" ")); + EXPECT_EQ("", APT::String::Strip(" \r\n \t ")); + + EXPECT_EQ("foo bar", APT::String::Strip("foo bar ")); + EXPECT_EQ("foo bar", APT::String::Strip("foo bar \r\n \t ")); + EXPECT_EQ("foo bar", APT::String::Strip("\r\n \t foo bar")); + EXPECT_EQ("bar foo", APT::String::Strip("\r\n \t bar foo \r\n \t ")); + EXPECT_EQ("bar \t\r\n foo", APT::String::Strip("\r\n \t bar \t\r\n foo \r\n \t ")); +} +TEST(StrUtilTest,StringSplitBasic) +{ + std::vector<std::string> result = StringSplit("", ""); + EXPECT_TRUE(result.empty()); + + result = StringSplit("abc", ""); + EXPECT_TRUE(result.empty()); + + result = StringSplit("", "abc"); + EXPECT_EQ(result.size(), 1u); + + result = StringSplit("abc", "b"); + ASSERT_EQ(result.size(), 2u); + EXPECT_EQ(result[0], "a"); + EXPECT_EQ(result[1], "c"); + + result = StringSplit("abc", "abc"); + ASSERT_EQ(result.size(), 2u); + EXPECT_EQ(result[0], ""); + EXPECT_EQ(result[1], ""); +} +TEST(StrUtilTest,StringSplitDpkgStatus) +{ + std::string const input = "status: libnet1:amd64: unpacked"; + std::vector<std::string> result = StringSplit(input, "xxx"); + ASSERT_EQ(result.size(), 1u); + EXPECT_EQ(result[0], input); + + result = StringSplit(input, ""); + EXPECT_TRUE(result.empty()); + + result = StringSplit(input, ": "); + ASSERT_EQ(result.size(), 3u); + EXPECT_EQ(result[0], "status"); + EXPECT_EQ(result[1], "libnet1:amd64"); + EXPECT_EQ(result[2], "unpacked"); + + result = StringSplit("x:y:z", ":", 2); + ASSERT_EQ(result.size(), 2u); + EXPECT_EQ(result[0], "x"); + EXPECT_EQ(result[1], "y:z"); +} +TEST(StrUtilTest,EndsWith) +{ + using APT::String::Endswith; + EXPECT_TRUE(Endswith("abcd", "d")); + EXPECT_TRUE(Endswith("abcd", "cd")); + EXPECT_TRUE(Endswith("abcd", "abcd")); + EXPECT_FALSE(Endswith("abcd", "x")); + EXPECT_FALSE(Endswith("abcd", "abcndefg")); +} +TEST(StrUtilTest,StartsWith) +{ + using APT::String::Startswith; + EXPECT_TRUE(Startswith("abcd", "a")); + EXPECT_TRUE(Startswith("abcd", "ab")); + EXPECT_TRUE(Startswith("abcd", "abcd")); + EXPECT_FALSE(Startswith("abcd", "x")); + EXPECT_FALSE(Startswith("abcd", "abcndefg")); +} +TEST(StrUtilTest,TimeToStr) +{ + EXPECT_EQ("0s", TimeToStr(0)); + EXPECT_EQ("42s", TimeToStr(42)); + EXPECT_EQ("9min 21s", TimeToStr((9*60) + 21)); + EXPECT_EQ("20min 42s", TimeToStr((20*60) + 42)); + EXPECT_EQ("10h 42min 21s", TimeToStr((10*3600) + (42*60) + 21)); + EXPECT_EQ("10h 42min 21s", TimeToStr((10*3600) + (42*60) + 21)); + EXPECT_EQ("1988d 3h 29min 7s", TimeToStr((1988*86400) + (3*3600) + (29*60) + 7)); + + EXPECT_EQ("59s", TimeToStr(59)); + EXPECT_EQ("60s", TimeToStr(60)); + EXPECT_EQ("1min 1s", TimeToStr(61)); + EXPECT_EQ("59min 59s", TimeToStr(3599)); + EXPECT_EQ("60min 0s", TimeToStr(3600)); + EXPECT_EQ("1h 0min 1s", TimeToStr(3601)); + EXPECT_EQ("1h 1min 0s", TimeToStr(3660)); + EXPECT_EQ("23h 59min 59s", TimeToStr(86399)); + EXPECT_EQ("24h 0min 0s", TimeToStr(86400)); + EXPECT_EQ("1d 0h 0min 1s", TimeToStr(86401)); + EXPECT_EQ("1d 0h 1min 0s", TimeToStr(86460)); +} +TEST(StrUtilTest,SubstVar) +{ + EXPECT_EQ("", SubstVar("", "fails", "passes")); + EXPECT_EQ("test ", SubstVar("test fails", "fails", "")); + EXPECT_EQ("test passes", SubstVar("test passes", "", "fails")); + + EXPECT_EQ("test passes", SubstVar("test passes", "fails", "passes")); + EXPECT_EQ("test passes", SubstVar("test fails", "fails", "passes")); + + EXPECT_EQ("starts with", SubstVar("beginnt with", "beginnt", "starts")); + EXPECT_EQ("beginnt with", SubstVar("starts with", "starts", "beginnt")); + EXPECT_EQ("is in middle", SubstVar("is in der middle", "in der", "in")); + EXPECT_EQ("is in der middle", SubstVar("is in middle", "in", "in der")); + EXPECT_EQ("does end", SubstVar("does enden", "enden", "end")); + EXPECT_EQ("does enden", SubstVar("does end", "end", "enden")); + + EXPECT_EQ("abc", SubstVar("abc", "d", "a")); + EXPECT_EQ("abc", SubstVar("abd", "d", "c")); + EXPECT_EQ("abc", SubstVar("adc", "d", "b")); + EXPECT_EQ("abc", SubstVar("dbc", "d", "a")); + + EXPECT_EQ("b", SubstVar("b", "aa", "a")); + EXPECT_EQ("bb", SubstVar("bb", "aa", "a")); + EXPECT_EQ("bbb", SubstVar("bbb", "aa", "a")); + + EXPECT_EQ("aa", SubstVar("aaaa", "aa", "a")); + EXPECT_EQ("aaaa", SubstVar("aa", "a", "aa")); + EXPECT_EQ("aaaa", SubstVar("aaaa", "a", "a")); + EXPECT_EQ("a a a a ", SubstVar("aaaa", "a", "a ")); + + EXPECT_EQ(" bb bb bb bb ", SubstVar(" a a a a ", "a", "bb")); + EXPECT_EQ(" bb bb bb bb ", SubstVar(" aaa aaa aaa aaa ", "aaa", "bb")); + EXPECT_EQ(" bb a bb a bb a bb ", SubstVar(" aaa a aaa a aaa a aaa ", "aaa", "bb")); + +} +TEST(StrUtilTest,Base64Encode) +{ + EXPECT_EQ("QWxhZGRpbjpvcGVuIHNlc2FtZQ==", Base64Encode("Aladdin:open sesame")); + EXPECT_EQ("cGxlYXN1cmUu", Base64Encode("pleasure.")); + EXPECT_EQ("bGVhc3VyZS4=", Base64Encode("leasure.")); + EXPECT_EQ("ZWFzdXJlLg==", Base64Encode("easure.")); + EXPECT_EQ("YXN1cmUu", Base64Encode("asure.")); + EXPECT_EQ("c3VyZS4=", Base64Encode("sure.")); + EXPECT_EQ("dXJlLg==", Base64Encode("ure.")); + EXPECT_EQ("cmUu", Base64Encode("re.")); + EXPECT_EQ("ZS4=", Base64Encode("e.")); + EXPECT_EQ("Lg==", Base64Encode(".")); + EXPECT_EQ("", Base64Encode("")); + EXPECT_EQ("IA==", Base64Encode("\x20")); + EXPECT_EQ("/w==", Base64Encode("\xff")); + EXPECT_EQ("/A==", Base64Encode("\xfc")); + EXPECT_EQ("//8=", Base64Encode("\xff\xff")); +} +static void ReadMessagesTestWithNewLine(char const * const nl, char const * const ab) +{ + SCOPED_TRACE(SubstVar(SubstVar(nl, "\n", "n"), "\r", "r") + " # " + ab); + FileFd fd; + std::string pkgA = "Package: pkgA\n" + "Version: 1\n" + "Size: 100\n" + "Description: aaa\n" + " aaa"; + std::string pkgB = "Package: pkgB\n" + "Version: 1\n" + "Flag: no\n" + "Description: bbb"; + std::string pkgC = "Package: pkgC\n" + "Version: 2\n" + "Flag: yes\n" + "Description:\n" + " ccc"; + + openTemporaryFile("readmessage", fd, (pkgA + nl + pkgB + nl + pkgC + nl).c_str()); + std::vector<std::string> list; + EXPECT_TRUE(ReadMessages(fd.Fd(), list)); + EXPECT_EQ(3u, list.size()); + EXPECT_EQ(pkgA, list[0]); + EXPECT_EQ(pkgB, list[1]); + EXPECT_EQ(pkgC, list[2]); + + size_t const msgsize = 63990; + openTemporaryFile("readmessage", fd); + for (size_t j = 0; j < msgsize; ++j) + fd.Write(ab, strlen(ab)); + for (size_t i = 0; i < 21; ++i) + { + std::string msg; + strprintf(msg, "msgsize=%zu i=%zu", msgsize, i); + SCOPED_TRACE(msg); + fd.Seek((msgsize + (i - 1)) * strlen(ab)); + fd.Write(ab, strlen(ab)); + fd.Write(nl, strlen(nl)); + fd.Seek(0); + list.clear(); + EXPECT_TRUE(ReadMessages(fd.Fd(), list)); + EXPECT_EQ(1u, list.size()); + EXPECT_EQ((msgsize + i) * strlen(ab), list[0].length()); + EXPECT_EQ(std::string::npos, list[0].find_first_not_of(ab)); + } + + list.clear(); + fd.Write(pkgA.c_str(), pkgA.length()); + fd.Write(nl, strlen(nl)); + fd.Seek(0); + EXPECT_TRUE(ReadMessages(fd.Fd(), list)); + EXPECT_EQ(2u, list.size()); + EXPECT_EQ((msgsize + 20) * strlen(ab), list[0].length()); + EXPECT_EQ(std::string::npos, list[0].find_first_not_of(ab)); + EXPECT_EQ(pkgA, list[1]); + + + fd.Close(); +} +TEST(StrUtilTest,ReadMessages) +{ + ReadMessagesTestWithNewLine("\n\n", "a"); + ReadMessagesTestWithNewLine("\r\n\r\n", "a"); + ReadMessagesTestWithNewLine("\n\n", "ab"); + ReadMessagesTestWithNewLine("\r\n\r\n", "ab"); +} +TEST(StrUtilTest,QuoteString) +{ + EXPECT_EQ("", QuoteString("", "")); + EXPECT_EQ("K%c3%b6ln", QuoteString("Köln", "")); + EXPECT_EQ("Köln", DeQuoteString(QuoteString("Köln", ""))); + EXPECT_EQ("Köln", DeQuoteString(DeQuoteString(QuoteString(QuoteString("Köln", ""), "")))); + EXPECT_EQ("~-_$#|u%c3%a4%c3%b6%c5%a6%e2%84%a2%e2%85%9e%c2%b1%c3%86%e1%ba%9e%c2%aa%c3%9f", QuoteString("~-_$#|uäöŦ™⅞±Æẞªß", "")); + EXPECT_EQ("~-_$#|uäöŦ™⅞±Æẞªß", DeQuoteString(QuoteString("~-_$#|uäöŦ™⅞±Æẞªß", ""))); + EXPECT_EQ("%45ltvill%65%2d%45rbach", QuoteString("Eltville-Erbach", "E-Ae")); + EXPECT_EQ("Eltville-Erbach", DeQuoteString(QuoteString("Eltville-Erbach", ""))); +} + +static void EXPECT_STRTONUM(APT::StringView const str, bool const success, unsigned long const expected, unsigned const base) +{ + SCOPED_TRACE(std::string(str.data(), str.length())); + SCOPED_TRACE(base); + unsigned long N1 = 1000; + unsigned long long N2 = 1000; + if (not success) + { + EXPECT_FALSE(StrToNum(str.data(), N1, str.length(), base)); + EXPECT_FALSE(StrToNum(str.data(), N2, str.length(), base)); + return; + } + EXPECT_TRUE(StrToNum(str.data(), N1, str.length(), base)); + EXPECT_EQ(expected, N1); + + EXPECT_TRUE(StrToNum(str.data(), N2, str.length(), base)); + EXPECT_EQ(expected, N2); +} +TEST(StrUtilTest,StrToNum) +{ + EXPECT_STRTONUM("", true, 0, 10); + EXPECT_STRTONUM(" ", true, 0, 10); + EXPECT_STRTONUM("0", true, 0, 10); + EXPECT_STRTONUM("1", true, 1, 10); + EXPECT_STRTONUM(" 1 ", true, 1, 10); + EXPECT_STRTONUM("1", true, 1, 8); + EXPECT_STRTONUM("10", true, 10, 10); + EXPECT_STRTONUM("10", true, 8, 8); + EXPECT_STRTONUM("010", true, 8, 8); + EXPECT_STRTONUM(" 010 ", true, 8, 8); + EXPECT_STRTONUM("-1", false, 0, 10); + EXPECT_STRTONUM(" -1 ", false, 0, 10); + EXPECT_STRTONUM("11", true, 3, 2); + + unsigned long long bigN = 0; + unsigned long smallN = 0; + auto bigLimit = std::to_string(std::numeric_limits<unsigned long long>::max()); + if (std::numeric_limits<unsigned long>::max() < std::numeric_limits<unsigned long long>::max()) + { + EXPECT_TRUE(StrToNum(bigLimit.c_str(), bigN, bigLimit.length(), 10)); + EXPECT_EQ(std::numeric_limits<unsigned long long>::max(), bigN); + EXPECT_FALSE(StrToNum(bigLimit.c_str(), smallN, bigLimit.length(), 10)); + } + bigLimit.append("0"); + EXPECT_FALSE(StrToNum(bigLimit.c_str(), bigN, bigLimit.length(), 10)); + EXPECT_FALSE(StrToNum(bigLimit.c_str(), smallN, bigLimit.length(), 10)); + + auto const smallLimit = std::to_string(std::numeric_limits<unsigned long>::max()); + EXPECT_TRUE(StrToNum(smallLimit.c_str(), bigN, smallLimit.length(), 10)); + EXPECT_EQ(std::numeric_limits<unsigned long>::max(), bigN); + EXPECT_TRUE(StrToNum(smallLimit.c_str(), smallN, smallLimit.length(), 10)); + EXPECT_EQ(std::numeric_limits<unsigned long>::max(), smallN); +} + +TEST(StrUtilTest,RFC1123StrToTime) +{ + { + time_t t; + EXPECT_TRUE(RFC1123StrToTime("Sun, 06 Nov 1994 08:49:37 GMT", t)); + EXPECT_EQ(784111777, t); + } { + time_t t; + EXPECT_TRUE(RFC1123StrToTime("Sun, 6 Nov 1994 08:49:37 UTC", t)); + EXPECT_EQ(784111777, t); + } { + time_t t; + EXPECT_TRUE(RFC1123StrToTime("Sun, 6 Nov 1994 08:49:37 UTC", t)); + EXPECT_EQ(784111777, t); + } { + time_t t; + EXPECT_TRUE(RFC1123StrToTime("Sun, 06 Nov 1994 8:49:37 UTC", t)); + EXPECT_EQ(784111777, t); + } { + time_t t; + EXPECT_TRUE(RFC1123StrToTime("Sun, 06 Nov 1994 08:49:37 UTC", t)); + EXPECT_EQ(784111777, t); + } { + time_t t; + EXPECT_TRUE(RFC1123StrToTime("Sun, 06 Nov 1994 08:49:37 -0000", t)); + EXPECT_EQ(784111777, t); + } { + time_t t; + EXPECT_TRUE(RFC1123StrToTime("Sun, 06 Nov 1994 08:49:37 +0000", t)); + EXPECT_EQ(784111777, t); + } { + time_t t; + EXPECT_TRUE(RFC1123StrToTime("Sunday, 06-Nov-94 08:49:37 GMT", t)); + EXPECT_EQ(784111777, t); + } { + time_t t; + EXPECT_TRUE(RFC1123StrToTime("Sunday, 6-Nov-94 08:49:37 GMT", t)); + EXPECT_EQ(784111777, t); + } { + time_t t; + EXPECT_TRUE(RFC1123StrToTime("Sunday, 06-Nov-94 8:49:37 GMT", t)); + EXPECT_EQ(784111777, t); + } { + time_t t; + EXPECT_TRUE(RFC1123StrToTime("Sun Nov 6 08:49:37 1994", t)); + EXPECT_EQ(784111777, t); + } { + time_t t; + EXPECT_TRUE(RFC1123StrToTime("Sun Nov 06 08:49:37 1994", t)); + EXPECT_EQ(784111777, t); + } { + time_t t; + EXPECT_TRUE(RFC1123StrToTime("Sun Nov 6 8:49:37 1994", t)); + EXPECT_EQ(784111777, t); + } + time_t t; + EXPECT_FALSE(RFC1123StrToTime("So, 06 Nov 1994 08:49:37 UTC", t)); + EXPECT_FALSE(RFC1123StrToTime(", 06 Nov 1994 08:49:37 UTC", t)); + EXPECT_FALSE(RFC1123StrToTime("Son, 06 Nov 1994 08:49:37 UTC", t)); + EXPECT_FALSE(RFC1123StrToTime("Sun: 06 Nov 1994 08:49:37 UTC", t)); + EXPECT_FALSE(RFC1123StrToTime("Sun, 06 Nov 1994 08:49:37", t)); + EXPECT_FALSE(RFC1123StrToTime("Sun, 06 Nov 1994 08:49:37 GMT+1", t)); + EXPECT_FALSE(RFC1123StrToTime("Sun, 06 Nov 1994 GMT", t)); + EXPECT_FALSE(RFC1123StrToTime("Sunday, 06 Nov 1994 GMT", t)); + EXPECT_FALSE(RFC1123StrToTime("Sonntag, 06 Nov 1994 08:49:37 GMT", t)); + EXPECT_FALSE(RFC1123StrToTime("domingo Nov 6 08:49:37 1994", t)); + EXPECT_FALSE(RFC1123StrToTime("Sunday: 06-Nov-94 08:49:37 GMT", t)); + EXPECT_FALSE(RFC1123StrToTime("Sunday, 06-Nov-94 08:49:37 GMT+1", t)); + EXPECT_FALSE(RFC1123StrToTime("Sunday, 06-Nov-94 08:49:37 EDT", t)); + EXPECT_FALSE(RFC1123StrToTime("Sunday, 06-Nov-94 08:49:37 -0100", t)); + EXPECT_FALSE(RFC1123StrToTime("Sunday, 06-Nov-94 08:49:37 -0.1", t)); +} +TEST(StrUtilTest, LookupTag) +{ + EXPECT_EQ("", LookupTag("", "Field", "")); + EXPECT_EQ("", LookupTag("", "Field", nullptr)); + EXPECT_EQ("default", LookupTag("", "Field", "default")); + EXPECT_EQ("default", LookupTag("Field1: yes", "Field", "default")); + EXPECT_EQ("default", LookupTag("Fiel: yes", "Field", "default")); + EXPECT_EQ("default", LookupTag("Fiel d: yes", "Field", "default")); + EXPECT_EQ("foo", LookupTag("Field: foo", "Field", "default")); + EXPECT_EQ("foo", LookupTag("Field: foo\n", "Field", "default")); + EXPECT_EQ("foo", LookupTag("\nField: foo\n", "Field", "default")); + EXPECT_EQ("foo", LookupTag("Field:foo", "Field", "default")); + EXPECT_EQ("foo", LookupTag("Field:foo\n", "Field", "default")); + EXPECT_EQ("foo", LookupTag("\nField:foo\n", "Field", "default")); + EXPECT_EQ("foo", LookupTag("Field:\tfoo\n", "Field", "default")); + EXPECT_EQ("foo", LookupTag("Field: foo \t", "Field", "default")); + EXPECT_EQ("foo", LookupTag("Field: foo \t\n", "Field", "default")); + EXPECT_EQ("Field : yes", LookupTag("Field: Field : yes \t\n", "Field", "default")); + EXPECT_EQ("Field : yes", LookupTag("Field:\n Field : yes \t\n", "Field", "default")); + EXPECT_EQ("Field : yes", LookupTag("Foo: bar\nField: Field : yes \t\n", "Field", "default")); + EXPECT_EQ("line1\nline2", LookupTag("Multi: line1\n line2", "Multi", "default")); + EXPECT_EQ("line1\nline2", LookupTag("Multi: line1\n line2\n", "Multi", "default")); + EXPECT_EQ("line1\nline2", LookupTag("Multi:\n line1\n line2\n", "Multi", "default")); + EXPECT_EQ("line1\n\nline2", LookupTag("Multi:\n line1\n .\n line2\n", "Multi", "default")); + EXPECT_EQ("line1\na\nline2", LookupTag("Multi:\n line1\n a\n line2\n", "Multi", "default")); + EXPECT_EQ("line1\nfoo\nline2", LookupTag("Multi:\n line1\n foo\n line2\n", "Multi", "default")); + EXPECT_EQ("line1\n line2", LookupTag("Multi: line1\n line2", "Multi", "default")); + EXPECT_EQ(" line1\n \t line2", LookupTag("Multi:\t \n line1\n \t line2\n", "Multi", "default")); + EXPECT_EQ(" line1\n\n\n \t line2", LookupTag("Multi:\t \n line1\n .\n . \n \t line2\n", "Multi", "default")); + + std::string const msg = + "Field1: Value1\nField2:Value2\nField3:\t Value3\n" + "Multi-Field1: Line1\n Line2\nMulti-Field2:\n Line1\n Line2\n" + "Field4: Value4\nField5:Value5"; + EXPECT_EQ("Value1", LookupTag(msg, "Field1", "")); + EXPECT_EQ("Value2", LookupTag(msg, "Field2", "")); + EXPECT_EQ("Value3", LookupTag(msg, "Field3", "")); + EXPECT_EQ("Line1\nLine2", LookupTag(msg, "Multi-Field1", "")); + EXPECT_EQ("Line1\nLine2", LookupTag(msg, "Multi-Field2", "")); + EXPECT_EQ("Value4", LookupTag(msg, "Field4", "")); + EXPECT_EQ("Value5", LookupTag(msg, "Field5", "")); +} + +TEST(StrUtilTest, DisplayLength) +{ + EXPECT_EQ(0, APT::String::DisplayLength("")); + EXPECT_EQ(1, APT::String::DisplayLength("a")); + EXPECT_EQ(3, APT::String::DisplayLength("apt")); + EXPECT_EQ(1, APT::String::DisplayLength("@")); + EXPECT_EQ(3, APT::String::DisplayLength("き")); + + EXPECT_EQ(1, APT::String::DisplayLength("$")); + EXPECT_EQ(2, APT::String::DisplayLength("¢")); + EXPECT_EQ(3, APT::String::DisplayLength("ह")); + EXPECT_EQ(3, APT::String::DisplayLength("€")); + EXPECT_EQ(3, APT::String::DisplayLength("한")); + EXPECT_EQ(4, APT::String::DisplayLength("𐍈")); + EXPECT_EQ(16, APT::String::DisplayLength("𐍈한€ह¢$")); +} diff --git a/test/libapt/tagfile_test.cc b/test/libapt/tagfile_test.cc new file mode 100644 index 0000000..51a574f --- /dev/null +++ b/test/libapt/tagfile_test.cc @@ -0,0 +1,345 @@ +#include <config.h> + +#include <apt-pkg/fileutl.h> +#include <apt-pkg/tagfile.h> + +#include <cstdlib> +#include <cstring> +#include <sstream> +#include <string> +#include <unistd.h> + +#include <gtest/gtest.h> + +#include "file-helpers.h" + +TEST(TagFileTest,SingleField) +{ + FileFd fd; + openTemporaryFile("singlefield", fd, "FieldA-12345678: the value of the field"); + + pkgTagFile tfile(&fd); + pkgTagSection section; + ASSERT_TRUE(tfile.Step(section)); + + // It has one field + EXPECT_EQ(1u, section.Count()); + // ... and it is called FieldA-12345678 + EXPECT_TRUE(section.Exists("FieldA-12345678")); + // its value is correct + EXPECT_EQ("the value of the field", section.FindS("FieldA-12345678")); + // A non-existent field has an empty string as value + EXPECT_EQ("", section.FindS("FieldB-12345678")); + // ... and Exists does not lie about missing fields... + EXPECT_FALSE(section.Exists("FieldB-12345678")); + // There is only one section in this tag file + EXPECT_FALSE(tfile.Step(section)); + + // Now we scan an empty section to test reset + ASSERT_TRUE(section.Scan("\n\n", 2, true)); + EXPECT_EQ(0u, section.Count()); + EXPECT_FALSE(section.Exists("FieldA-12345678")); + EXPECT_FALSE(section.Exists("FieldB-12345678")); + + openTemporaryFile("emptyfile", fd); + ASSERT_FALSE(tfile.Step(section)); + EXPECT_EQ(0u, section.Count()); +} + +TEST(TagFileTest,MultipleSections) +{ + FileFd fd; + openTemporaryFile("bigsection", fd, "Package: pkgA\n" + "Version: 1\n" + "Size: 100\n" + "Description: aaa\n" + " aaa\n" + "\n" + "Package: pkgB\n" + "Version: 1\n" + "Flag: no\n" + "Description: bbb\n" + "\n" + "Package: pkgC\n" + "Version: 2\n" + "Flag: yes\n" + "Description:\n" + " ccc\n" + ); + + pkgTagFile tfile(&fd); + pkgTagSection section; + EXPECT_FALSE(section.Exists("Version")); + + EXPECT_TRUE(tfile.Step(section)); + EXPECT_EQ(4u, section.Count()); + EXPECT_TRUE(section.Exists("Version")); + EXPECT_TRUE(section.Exists("Package")); + EXPECT_TRUE(section.Exists("Size")); + EXPECT_FALSE(section.Exists("Flag")); + EXPECT_TRUE(section.Exists("Description")); + EXPECT_EQ("pkgA", section.FindS("Package")); + EXPECT_EQ("1", section.FindS("Version")); + EXPECT_EQ(1u, section.FindULL("Version")); + EXPECT_EQ(100u, section.FindULL("Size")); + unsigned long Flags = 1; + EXPECT_TRUE(section.FindFlag("Flag", Flags, 1)); + EXPECT_EQ(1u, Flags); + Flags = 0; + EXPECT_TRUE(section.FindFlag("Flag", Flags, 1)); + EXPECT_EQ(0u, Flags); + EXPECT_EQ("aaa\n aaa", section.FindS("Description")); + + + EXPECT_TRUE(tfile.Step(section)); + EXPECT_EQ(4u, section.Count()); + EXPECT_TRUE(section.Exists("Version")); + EXPECT_TRUE(section.Exists("Package")); + EXPECT_FALSE(section.Exists("Size")); + EXPECT_TRUE(section.Exists("Flag")); + EXPECT_TRUE(section.Exists("Description")); + EXPECT_EQ("pkgB", section.FindS("Package")); + EXPECT_EQ("1", section.FindS("Version")); + EXPECT_EQ(1u, section.FindULL("Version")); + EXPECT_EQ(0u, section.FindULL("Size")); + Flags = 1; + EXPECT_TRUE(section.FindFlag("Flag", Flags, 1)); + EXPECT_EQ(0u, Flags); + Flags = 0; + EXPECT_TRUE(section.FindFlag("Flag", Flags, 1)); + EXPECT_EQ(0u, Flags); + EXPECT_EQ("bbb", section.FindS("Description")); + + EXPECT_TRUE(tfile.Step(section)); + EXPECT_EQ(4u, section.Count()); + EXPECT_TRUE(section.Exists("Version")); + EXPECT_TRUE(section.Exists("Package")); + EXPECT_FALSE(section.Exists("Size")); + EXPECT_TRUE(section.Exists("Flag")); + EXPECT_TRUE(section.Exists("Description")); + EXPECT_EQ("pkgC", section.FindS("Package")); + EXPECT_EQ("2", section.FindS("Version")); + EXPECT_EQ(2u, section.FindULL("Version")); + Flags = 0; + EXPECT_TRUE(section.FindFlag("Flag", Flags, 1)); + EXPECT_EQ(1u, Flags); + Flags = 1; + EXPECT_TRUE(section.FindFlag("Flag", Flags, 1)); + EXPECT_EQ(1u, Flags); + EXPECT_EQ("ccc", section.FindS("Description")); + + // There is no section left in this tag file + EXPECT_FALSE(tfile.Step(section)); +} + +TEST(TagFileTest,BigSection) +{ + size_t const count = 500; + std::stringstream content; + for (size_t i = 0; i < count; ++i) + content << "Field-" << i << ": " << (2000 + i) << std::endl; + + FileFd fd; + openTemporaryFile("bigsection", fd, content.str().c_str()); + + pkgTagFile tfile(&fd); + pkgTagSection section; + EXPECT_TRUE(tfile.Step(section)); + + EXPECT_EQ(count, section.Count()); + for (size_t i = 0; i < count; ++i) + { + std::stringstream name; + name << "Field-" << i; + EXPECT_TRUE(section.Exists(name.str().c_str())) << name.str() << " does not exist"; + EXPECT_EQ((i + 2000), section.FindULL(name.str().c_str())); + } + + // There is only one section in this tag file + EXPECT_FALSE(tfile.Step(section)); +} + +TEST(TagFileTest, PickedUpFromPreviousCall) +{ + size_t const count = 500; + std::stringstream contentstream; + for (size_t i = 0; i < count; ++i) + contentstream << "Field-" << i << ": " << (2000 + i) << std::endl; + contentstream << std::endl << std::endl; + std::string content = contentstream.str(); + + pkgTagSection section; + EXPECT_FALSE(section.Scan(content.c_str(), content.size()/2)); + EXPECT_NE(0u, section.Count()); + EXPECT_NE(count, section.Count()); + EXPECT_TRUE(section.Scan(content.c_str(), content.size(), false)); + EXPECT_EQ(count, section.Count()); + + for (size_t i = 0; i < count; ++i) + { + std::stringstream name; + name << "Field-" << i; + EXPECT_TRUE(section.Exists(name.str().c_str())) << name.str() << " does not exist"; + EXPECT_EQ((i + 2000), section.FindULL(name.str().c_str())); + } +} + +TEST(TagFileTest, SpacesEverywhere) +{ + std::string content = + "Package: pkgA\n" + "Package: pkgB\n" + "NoSpaces:yes\n" + "NoValue:\n" + "TagSpaces\t :yes\n" + "ValueSpaces: \tyes\n" + "BothSpaces \t:\t yes\n" + "TrailingSpaces: yes\t \n" + "Naming Space: yes\n" + "Naming Spaces: yes\n" + "Package : pkgC \n" + "Multi-Colon::yes:\n" + "\n\n"; + + pkgTagSection section; + EXPECT_TRUE(section.Scan(content.c_str(), content.size())); + EXPECT_TRUE(section.Exists("Package")); + EXPECT_TRUE(section.Exists("NoSpaces")); + EXPECT_TRUE(section.Exists("NoValue")); + EXPECT_TRUE(section.Exists("TagSpaces")); + EXPECT_TRUE(section.Exists("ValueSpaces")); + EXPECT_TRUE(section.Exists("BothSpaces")); + EXPECT_TRUE(section.Exists("TrailingSpaces")); + EXPECT_TRUE(section.Exists("Naming Space")); + EXPECT_TRUE(section.Exists("Naming Spaces")); + EXPECT_TRUE(section.Exists("Multi-Colon")); + EXPECT_EQ("pkgC", section.FindS("Package")); + EXPECT_EQ("yes", section.FindS("NoSpaces")); + EXPECT_EQ("", section.FindS("NoValue")); + EXPECT_EQ("yes", section.FindS("TagSpaces")); + EXPECT_EQ("yes", section.FindS("ValueSpaces")); + EXPECT_EQ("yes", section.FindS("BothSpaces")); + EXPECT_EQ("yes", section.FindS("TrailingSpaces")); + EXPECT_EQ("yes", section.FindS("Naming Space")); + EXPECT_EQ("yes", section.FindS("Naming Spaces")); + EXPECT_EQ(":yes:", section.FindS("Multi-Colon")); + // overridden values are still present, but not really accessible + EXPECT_EQ(12u, section.Count()); +} + +TEST(TagFileTest, Comments) +{ + FileFd fd; + openTemporaryFile("commentfile", fd, "# Leading comments should be ignored.\n" +"\n" +"# A wild second comment appears!\n" +"\n" +"Source: foo\n" +"#Package: foo\n" +"Section: bar\n" +"#Section: overridden\n" +"Priority: optional\n" +"Build-Depends: debhelper,\n" +"# apt-utils, (temporarily disabled)\n" +" apt\n" +"\n" +"# Comments in the middle shouldn't result in extra blank paragraphs either.\n" +"\n" +"# Ditto.\n" +"\n" +"# A comment at the top of a paragraph should be ignored.\n" +"Package: foo\n" +"Architecture: any\n" +"Description: An awesome package\n" +" # This should still appear in the result.\n" +"# this one shouldn't\n" +" Blah, blah, blah. # but this again.\n" +"# A comment at the end of a paragraph should be ignored.\n" +"\n" +"# Trailing comments shouldn't cause extra blank paragraphs." + ); + + pkgTagFile tfile(&fd, pkgTagFile::SUPPORT_COMMENTS, 1); + pkgTagSection section; + EXPECT_TRUE(tfile.Step(section)); + EXPECT_FALSE(section.Exists("Package")); + EXPECT_TRUE(section.Exists("Source")); + EXPECT_EQ("foo", section.FindS("Source")); + EXPECT_TRUE(section.Exists("Section")); + EXPECT_EQ("bar", section.FindS("Section")); + EXPECT_TRUE(section.Exists("Priority")); + EXPECT_EQ("optional", section.FindS("Priority")); + EXPECT_TRUE(section.Exists("Build-Depends")); + EXPECT_EQ("debhelper,\n apt", section.FindS("Build-Depends")); + + EXPECT_TRUE(tfile.Step(section)); + EXPECT_FALSE(section.Exists("Source")); + EXPECT_TRUE(section.Exists("Package")); + EXPECT_EQ("foo", section.FindS("Package")); + EXPECT_FALSE(section.Exists("Section")); + EXPECT_TRUE(section.Exists("Architecture")); + EXPECT_EQ("any", section.FindS("Architecture")); + EXPECT_FALSE(section.Exists("Build-Depends")); + EXPECT_TRUE(section.Exists("Description")); + EXPECT_EQ("An awesome package\n # This should still appear in the result.\n Blah, blah, blah. # but this again.", section.FindS("Description")); + + EXPECT_FALSE(tfile.Step(section)); +} + +TEST(TagFileTest, EmptyTagName) +{ + FileFd fd; + openTemporaryFile("emptytagname", fd, "0:\n" +"PACKAGE:0\n" +"\n" +":\n" +"PACKAGE:\n" +"\n" +"PACKAGE:\n" +":\n" +"\n" +"PACKAGE:\n" +":\n" +"Version:1\n" +"\n" +"PACKAGE::\n" + ); + pkgTagFile tfile(&fd); + pkgTagSection section; + ASSERT_TRUE(tfile.Step(section)); + EXPECT_EQ(2u, section.Count()); + EXPECT_TRUE(section.Exists("PACKAGE")); + EXPECT_EQ("0", section.FindS("PACKAGE")); + EXPECT_TRUE(section.Exists("0")); + EXPECT_EQ("", section.FindS("0")); + + ASSERT_TRUE(tfile.Step(section)); + EXPECT_EQ(2u, section.Count()); + EXPECT_TRUE(section.Exists("PACKAGE")); + EXPECT_EQ("", section.FindS("PACKAGE")); + EXPECT_TRUE(section.Exists("")); + EXPECT_EQ("", section.FindS("")); + + ASSERT_TRUE(tfile.Step(section)); + EXPECT_EQ(2u, section.Count()); + EXPECT_TRUE(section.Exists("PACKAGE")); + EXPECT_EQ("", section.FindS("PACKAGE")); + EXPECT_TRUE(section.Exists("")); + EXPECT_EQ("", section.FindS("")); + + ASSERT_TRUE(tfile.Step(section)); + EXPECT_EQ(3u, section.Count()); + EXPECT_TRUE(section.Exists("PACKAGE")); + EXPECT_EQ("", section.FindS("PACKAGE")); + EXPECT_TRUE(section.Exists("")); + EXPECT_EQ("", section.FindS("")); + EXPECT_TRUE(section.Exists("Version")); + EXPECT_EQ("1", section.FindS("Version")); + + ASSERT_TRUE(tfile.Step(section)); + EXPECT_EQ(1u, section.Count()); + EXPECT_TRUE(section.Exists("PACKAGE")); + EXPECT_EQ(":", section.FindS("PACKAGE")); + + EXPECT_FALSE(tfile.Step(section)); +} diff --git a/test/libapt/tagsection_test.cc b/test/libapt/tagsection_test.cc new file mode 100644 index 0000000..80cecca --- /dev/null +++ b/test/libapt/tagsection_test.cc @@ -0,0 +1,232 @@ +#include <config.h> + +#include <apt-pkg/fileutl.h> +#include <apt-pkg/tagfile.h> + +#include <sstream> +#include <string> + +#include <gtest/gtest.h> + +#include "file-helpers.h" + +std::string packageValue = "aaaa"; +std::string typoValue = "aa\n" + " .\n" + " cc"; +std::string typoRawValue = "\n " + typoValue; +std::string overrideValue = "1"; + +static void EXPECT_SECTION_WITH_ALL_CONTENT(pkgTagSection const §ion) +{ + EXPECT_TRUE(section.Exists("Package")); + EXPECT_TRUE(section.Exists("TypoA")); + EXPECT_TRUE(section.Exists("Override")); + EXPECT_TRUE(section.Exists("Override-Backup")); + EXPECT_FALSE(section.Exists("TypoB")); + EXPECT_EQ(packageValue, section.FindS("Package")); + EXPECT_EQ(typoValue, section.FindS("TypoA")); + EXPECT_EQ(typoRawValue, section.FindRawS("TypoA")); + EXPECT_EQ(1, section.FindI("Override")); + EXPECT_EQ(1, section.FindI("Override-Backup")); + EXPECT_EQ(4u, section.Count()); +} + +static void setupTestcaseStart(FileFd &fd, pkgTagSection §ion, std::string &content) +{ + openTemporaryFile("writesection", fd); + content = "Package: " + packageValue + "\n" + "TypoA:\n " + typoValue + "\n" + "Override: " + overrideValue + "\n" + "Override-Backup: " + overrideValue + "\n" + "\n"; + EXPECT_TRUE(section.Scan(content.c_str(), content.length(), true)); + EXPECT_SECTION_WITH_ALL_CONTENT(section); +} +TEST(TagSectionTest,WriteUnmodified) +{ + FileFd fd; + pkgTagSection section; + std::string content; + setupTestcaseStart(fd, section, content); + EXPECT_TRUE(section.Write(fd)); + EXPECT_TRUE(fd.Seek(0)); + pkgTagFile tfile(&fd); + ASSERT_TRUE(tfile.Step(section)); + EXPECT_SECTION_WITH_ALL_CONTENT(section); +} +TEST(TagSectionTest,WriteUnmodifiedOrder) +{ + FileFd fd; + pkgTagSection section; + std::string content; + setupTestcaseStart(fd, section, content); + char const * const order[] = { "Package", "TypoA", "Override", NULL }; + EXPECT_TRUE(section.Write(fd, order)); + EXPECT_TRUE(fd.Seek(0)); + pkgTagFile tfile(&fd); + ASSERT_TRUE(tfile.Step(section)); + EXPECT_SECTION_WITH_ALL_CONTENT(section); +} +TEST(TagSectionTest,WriteUnmodifiedOrderReversed) +{ + FileFd fd; + pkgTagSection section; + std::string content; + setupTestcaseStart(fd, section, content); + char const * const order[] = { "Override", "TypoA", "Package", NULL }; + EXPECT_TRUE(section.Write(fd, order)); + EXPECT_TRUE(fd.Seek(0)); + pkgTagFile tfile(&fd); + ASSERT_TRUE(tfile.Step(section)); + EXPECT_SECTION_WITH_ALL_CONTENT(section); +} +TEST(TagSectionTest,WriteUnmodifiedOrderNotAll) +{ + FileFd fd; + pkgTagSection section; + std::string content; + setupTestcaseStart(fd, section, content); + char const * const order[] = { "Override", NULL }; + EXPECT_TRUE(section.Write(fd, order)); + EXPECT_TRUE(fd.Seek(0)); + pkgTagFile tfile(&fd); + ASSERT_TRUE(tfile.Step(section)); + EXPECT_SECTION_WITH_ALL_CONTENT(section); +} +TEST(TagSectionTest,WriteNoOrderRename) +{ + FileFd fd; + pkgTagSection section; + std::string content; + setupTestcaseStart(fd, section, content); + std::vector<pkgTagSection::Tag> rewrite; + rewrite.push_back(pkgTagSection::Tag::Rename("TypoA", "TypoB")); + EXPECT_TRUE(section.Write(fd, NULL, rewrite)); + EXPECT_TRUE(fd.Seek(0)); + pkgTagFile tfile(&fd); + ASSERT_TRUE(tfile.Step(section)); + EXPECT_TRUE(section.Exists("Package")); + EXPECT_FALSE(section.Exists("TypoA")); + EXPECT_TRUE(section.Exists("TypoB")); + EXPECT_TRUE(section.Exists("Override")); + EXPECT_TRUE(section.Exists("Override-Backup")); + EXPECT_EQ(packageValue, section.FindS("Package")); + EXPECT_EQ(typoValue, section.FindS("TypoB")); + EXPECT_EQ(1, section.FindI("Override")); + EXPECT_EQ(1, section.FindI("Override-Backup")); + EXPECT_EQ(4u, section.Count()); +} +TEST(TagSectionTest,WriteNoOrderRemove) +{ + FileFd fd; + pkgTagSection section; + std::string content; + setupTestcaseStart(fd, section, content); + std::vector<pkgTagSection::Tag> rewrite; + rewrite.push_back(pkgTagSection::Tag::Remove("TypoA")); + rewrite.push_back(pkgTagSection::Tag::Rewrite("Override", "")); + EXPECT_TRUE(section.Write(fd, NULL, rewrite)); + EXPECT_TRUE(fd.Seek(0)); + pkgTagFile tfile(&fd); + ASSERT_TRUE(tfile.Step(section)); + EXPECT_TRUE(section.Exists("Package")); + EXPECT_FALSE(section.Exists("TypoA")); + EXPECT_FALSE(section.Exists("TypoB")); + EXPECT_FALSE(section.Exists("Override")); + EXPECT_TRUE(section.Exists("Override-Backup")); + EXPECT_EQ(packageValue, section.FindS("Package")); + EXPECT_EQ(2u, section.Count()); +} +TEST(TagSectionTest,WriteNoOrderRewrite) +{ + FileFd fd; + pkgTagSection section; + std::string content; + setupTestcaseStart(fd, section, content); + std::vector<pkgTagSection::Tag> rewrite; + rewrite.push_back(pkgTagSection::Tag::Rewrite("Override", "42")); + EXPECT_TRUE(section.Write(fd, NULL, rewrite)); + EXPECT_TRUE(fd.Seek(0)); + pkgTagFile tfile(&fd); + ASSERT_TRUE(tfile.Step(section)); + EXPECT_TRUE(section.Exists("Package")); + EXPECT_TRUE(section.Exists("TypoA")); + EXPECT_FALSE(section.Exists("TypoB")); + EXPECT_TRUE(section.Exists("Override")); + EXPECT_TRUE(section.Exists("Override-Backup")); + EXPECT_EQ(packageValue, section.FindS("Package")); + EXPECT_EQ(42, section.FindI("Override")); + EXPECT_EQ(1, section.FindI("Override-Backup")); + EXPECT_EQ(4u, section.Count()); +} +TEST(TagSectionTest,WriteOrderRename) +{ + FileFd fd; + pkgTagSection section; + std::string content; + setupTestcaseStart(fd, section, content); + std::vector<pkgTagSection::Tag> rewrite; + rewrite.push_back(pkgTagSection::Tag::Rename("TypoA", "TypoB")); + char const * const order[] = { "Package", "TypoA", "Override", NULL }; + EXPECT_TRUE(section.Write(fd, order, rewrite)); + EXPECT_TRUE(fd.Seek(0)); + pkgTagFile tfile(&fd); + ASSERT_TRUE(tfile.Step(section)); + EXPECT_TRUE(section.Exists("Package")); + EXPECT_FALSE(section.Exists("TypoA")); + EXPECT_TRUE(section.Exists("TypoB")); + EXPECT_TRUE(section.Exists("Override")); + EXPECT_TRUE(section.Exists("Override-Backup")); + EXPECT_EQ(packageValue, section.FindS("Package")); + EXPECT_EQ(typoValue, section.FindS("TypoB")); + EXPECT_EQ(1, section.FindI("Override")); + EXPECT_EQ(1, section.FindI("Override-Backup")); + EXPECT_EQ(4u, section.Count()); +} +TEST(TagSectionTest,WriteOrderRemove) +{ + FileFd fd; + pkgTagSection section; + std::string content; + setupTestcaseStart(fd, section, content); + std::vector<pkgTagSection::Tag> rewrite; + rewrite.push_back(pkgTagSection::Tag::Remove("TypoA")); + rewrite.push_back(pkgTagSection::Tag::Rewrite("Override", "")); + char const * const order[] = { "Package", "TypoA", "Override", NULL }; + EXPECT_TRUE(section.Write(fd, order, rewrite)); + EXPECT_TRUE(fd.Seek(0)); + pkgTagFile tfile(&fd); + ASSERT_TRUE(tfile.Step(section)); + EXPECT_TRUE(section.Exists("Package")); + EXPECT_FALSE(section.Exists("TypoA")); + EXPECT_FALSE(section.Exists("TypoB")); + EXPECT_FALSE(section.Exists("Override")); + EXPECT_TRUE(section.Exists("Override-Backup")); + EXPECT_EQ(packageValue, section.FindS("Package")); + EXPECT_EQ(1, section.FindI("Override-Backup")); + EXPECT_EQ(2u, section.Count()); +} +TEST(TagSectionTest,WriteOrderRewrite) +{ + FileFd fd; + pkgTagSection section; + std::string content; + setupTestcaseStart(fd, section, content); + std::vector<pkgTagSection::Tag> rewrite; + rewrite.push_back(pkgTagSection::Tag::Rewrite("Override", "42")); + char const * const order[] = { "Package", "TypoA", "Override", NULL }; + EXPECT_TRUE(section.Write(fd, order, rewrite)); + EXPECT_TRUE(fd.Seek(0)); + pkgTagFile tfile(&fd); + ASSERT_TRUE(tfile.Step(section)); + EXPECT_TRUE(section.Exists("Package")); + EXPECT_TRUE(section.Exists("TypoA")); + EXPECT_FALSE(section.Exists("TypoB")); + EXPECT_TRUE(section.Exists("Override")); + EXPECT_TRUE(section.Exists("Override-Backup")); + EXPECT_EQ(packageValue, section.FindS("Package")); + EXPECT_EQ(42, section.FindI("Override")); + EXPECT_EQ(1, section.FindI("Override-Backup")); + EXPECT_EQ(4u, section.Count()); +} diff --git a/test/libapt/teestream_test.cc b/test/libapt/teestream_test.cc new file mode 100644 index 0000000..a897e08 --- /dev/null +++ b/test/libapt/teestream_test.cc @@ -0,0 +1,39 @@ +#include <config.h> + +#include "../interactive-helper/teestream.h" +#include <fstream> +#include <sstream> +#include <string> + +#include <gtest/gtest.h> + +TEST(TeeStreamTest,TwoStringSinks) +{ + std::ostringstream one, two; + basic_teeostream<char> tee(one, two); + tee << "This is the " << 1 << '.' << " Test, we expect: " << std::boolalpha << true << "\n"; + std::string okay("This is the 1. Test, we expect: true\n"); + EXPECT_EQ(okay, one.str()); + EXPECT_EQ(okay, two.str()); + EXPECT_EQ(one.str(), two.str()); +} + +TEST(TeeStreamTest,DevNullSink1) +{ + std::ostringstream one; + std::fstream two("/dev/null"); + basic_teeostream<char> tee(one, two); + tee << "This is the " << 2 << '.' << " Test, we expect: " << std::boolalpha << false << "\n"; + std::string okay("This is the 2. Test, we expect: false\n"); + EXPECT_EQ(okay, one.str()); +} + +TEST(TeeStreamTest,DevNullSink2) +{ + std::ostringstream one; + std::fstream two("/dev/null"); + basic_teeostream<char> tee(two, one); + tee << "This is the " << 3 << '.' << " Test, we expect: " << std::boolalpha << false << "\n"; + std::string okay("This is the 3. Test, we expect: false\n"); + EXPECT_EQ(okay, one.str()); +} diff --git a/test/libapt/uri_test.cc b/test/libapt/uri_test.cc new file mode 100644 index 0000000..519de49 --- /dev/null +++ b/test/libapt/uri_test.cc @@ -0,0 +1,216 @@ +#include <config.h> +#include <apt-pkg/configuration.h> +#include <apt-pkg/proxy.h> +#include <apt-pkg/strutl.h> +#include <gtest/gtest.h> +#include <string> + +TEST(URITest, BasicHTTP) +{ + URI U("http://www.debian.org:90/temp/test"); + EXPECT_EQ("http", U.Access); + EXPECT_EQ("", U.User); + EXPECT_EQ("", U.Password); + EXPECT_EQ(90u, U.Port); + EXPECT_EQ("www.debian.org", U.Host); + EXPECT_EQ("/temp/test", U.Path); + EXPECT_EQ("http://www.debian.org:90/temp/test", (std::string)U); + EXPECT_EQ("http://www.debian.org:90", URI::SiteOnly(U)); + EXPECT_EQ("http://www.debian.org:90/temp/test", URI::ArchiveOnly(U)); + EXPECT_EQ("http://www.debian.org:90/temp/test", URI::NoUserPassword(U)); + // Login data + U = URI("http://jgg:foo@ualberta.ca/blah"); + EXPECT_EQ("http", U.Access); + EXPECT_EQ("jgg", U.User); + EXPECT_EQ("foo", U.Password); + EXPECT_EQ(0u, U.Port); + EXPECT_EQ("ualberta.ca", U.Host); + EXPECT_EQ("/blah", U.Path); + EXPECT_EQ("http://jgg:foo@ualberta.ca/blah", (std::string)U); + EXPECT_EQ("http://ualberta.ca", URI::SiteOnly(U)); + EXPECT_EQ("http://ualberta.ca/blah", URI::ArchiveOnly(U)); + EXPECT_EQ("http://ualberta.ca/blah", URI::NoUserPassword(U)); + // just a user + U = URI("https://apt@example.org/blah"); + EXPECT_EQ("https", U.Access); + EXPECT_EQ("apt", U.User); + EXPECT_EQ("", U.Password); + EXPECT_EQ(0u, U.Port); + EXPECT_EQ("example.org", U.Host); + EXPECT_EQ("/blah", U.Path); + EXPECT_EQ("https://apt@example.org/blah", (std::string)U); + EXPECT_EQ("https://example.org", URI::SiteOnly(U)); + EXPECT_EQ("https://example.org/blah", URI::ArchiveOnly(U)); + EXPECT_EQ("https://example.org/blah", URI::NoUserPassword(U)); +} +TEST(URITest, SingeSlashFile) +{ + URI U("file:/usr/bin/foo"); + EXPECT_EQ("file", U.Access); + EXPECT_EQ("", U.User); + EXPECT_EQ("", U.Password); + EXPECT_EQ(0u, U.Port); + EXPECT_EQ("", U.Host); + EXPECT_EQ("/usr/bin/foo", U.Path); + EXPECT_EQ("file:/usr/bin/foo", (std::string)U); + EXPECT_EQ("file:", URI::SiteOnly(U)); + EXPECT_EQ("file:/usr/bin/foo", URI::ArchiveOnly(U)); + EXPECT_EQ("file:/usr/bin/foo", URI::NoUserPassword(U)); +} +TEST(URITest, BasicCDROM) +{ + URI U("cdrom:Moo Cow Rom:/debian"); + EXPECT_EQ("cdrom", U.Access); + EXPECT_EQ("", U.User); + EXPECT_EQ("", U.Password); + EXPECT_EQ(0u, U.Port); + EXPECT_EQ("Moo Cow Rom", U.Host); + EXPECT_EQ("/debian", U.Path); + EXPECT_EQ("cdrom://Moo Cow Rom/debian", (std::string)U); + EXPECT_EQ("cdrom://Moo Cow Rom", URI::SiteOnly(U)); + EXPECT_EQ("cdrom://Moo Cow Rom/debian", URI::ArchiveOnly(U)); + EXPECT_EQ("cdrom://Moo Cow Rom/debian", URI::NoUserPassword(U)); +} +TEST(URITest, RelativeGzip) +{ + URI U("gzip:./bar/cow"); + EXPECT_EQ("gzip", U.Access); + EXPECT_EQ("", U.User); + EXPECT_EQ("", U.Password); + EXPECT_EQ(0u, U.Port); + EXPECT_EQ(".", U.Host); + EXPECT_EQ("/bar/cow", U.Path); + EXPECT_EQ("gzip://./bar/cow", (std::string)U); + EXPECT_EQ("gzip://.", URI::SiteOnly(U)); + EXPECT_EQ("gzip://./bar/cow", URI::ArchiveOnly(U)); + EXPECT_EQ("gzip://./bar/cow", URI::NoUserPassword(U)); +} +TEST(URITest, NoSlashFTP) +{ + URI U("ftp:ftp.fr.debian.org/debian/pool/main/x/xtel/xtel_3.2.1-15_i386.deb"); + EXPECT_EQ("ftp", U.Access); + EXPECT_EQ("", U.User); + EXPECT_EQ("", U.Password); + EXPECT_EQ(0u, U.Port); + EXPECT_EQ("ftp.fr.debian.org", U.Host); + EXPECT_EQ("/debian/pool/main/x/xtel/xtel_3.2.1-15_i386.deb", U.Path); + EXPECT_EQ("ftp://ftp.fr.debian.org/debian/pool/main/x/xtel/xtel_3.2.1-15_i386.deb", (std::string)U); + EXPECT_EQ("ftp://ftp.fr.debian.org", URI::SiteOnly(U)); + EXPECT_EQ("ftp://ftp.fr.debian.org/debian/pool/main/x/xtel/xtel_3.2.1-15_i386.deb", URI::ArchiveOnly(U)); + EXPECT_EQ("ftp://ftp.fr.debian.org/debian/pool/main/x/xtel/xtel_3.2.1-15_i386.deb", URI::NoUserPassword(U)); +} +TEST(URITest, RFC2732) +{ + URI U("http://[1080::8:800:200C:417A]/foo"); + EXPECT_EQ("http", U.Access); + EXPECT_EQ("", U.User); + EXPECT_EQ("", U.Password); + EXPECT_EQ(0u, U.Port); + EXPECT_EQ("1080::8:800:200C:417A", U.Host); + EXPECT_EQ("/foo", U.Path); + EXPECT_EQ("http://[1080::8:800:200C:417A]/foo", (std::string)U); + EXPECT_EQ("http://[1080::8:800:200C:417A]", URI::SiteOnly(U)); + EXPECT_EQ("http://[1080::8:800:200C:417A]/foo", URI::ArchiveOnly(U)); + EXPECT_EQ("http://[1080::8:800:200C:417A]/foo", URI::NoUserPassword(U)); + // with port + U = URI("http://[::FFFF:129.144.52.38]:80/index.html"); + EXPECT_EQ("http", U.Access); + EXPECT_EQ("", U.User); + EXPECT_EQ("", U.Password); + EXPECT_EQ(80u, U.Port); + EXPECT_EQ("::FFFF:129.144.52.38", U.Host); + EXPECT_EQ("/index.html", U.Path); + EXPECT_EQ("http://[::FFFF:129.144.52.38]:80/index.html", (std::string)U); + EXPECT_EQ("http://[::FFFF:129.144.52.38]:80", URI::SiteOnly(U)); + EXPECT_EQ("http://[::FFFF:129.144.52.38]:80/index.html", URI::ArchiveOnly(U)); + EXPECT_EQ("http://[::FFFF:129.144.52.38]:80/index.html", URI::NoUserPassword(U)); + // extra colon + U = URI("http://[::FFFF:129.144.52.38:]:80/index.html"); + EXPECT_EQ("http", U.Access); + EXPECT_EQ("", U.User); + EXPECT_EQ("", U.Password); + EXPECT_EQ(80u, U.Port); + EXPECT_EQ("::FFFF:129.144.52.38:", U.Host); + EXPECT_EQ("/index.html", U.Path); + EXPECT_EQ("http://[::FFFF:129.144.52.38:]:80/index.html", (std::string)U); + EXPECT_EQ("http://[::FFFF:129.144.52.38:]:80", URI::SiteOnly(U)); + EXPECT_EQ("http://[::FFFF:129.144.52.38:]:80/index.html", URI::ArchiveOnly(U)); + EXPECT_EQ("http://[::FFFF:129.144.52.38:]:80/index.html", URI::NoUserPassword(U)); + // extra colon port + U = URI("http://[::FFFF:129.144.52.38:]/index.html"); + EXPECT_EQ("http", U.Access); + EXPECT_EQ("", U.User); + EXPECT_EQ("", U.Password); + EXPECT_EQ(0u, U.Port); + EXPECT_EQ("::FFFF:129.144.52.38:", U.Host); + EXPECT_EQ("/index.html", U.Path); + EXPECT_EQ("http://[::FFFF:129.144.52.38:]/index.html", (std::string)U); + EXPECT_EQ("http://[::FFFF:129.144.52.38:]", URI::SiteOnly(U)); + EXPECT_EQ("http://[::FFFF:129.144.52.38:]/index.html", URI::ArchiveOnly(U)); + EXPECT_EQ("http://[::FFFF:129.144.52.38:]/index.html", URI::NoUserPassword(U)); + // My Evil Corruption of RFC 2732 to handle CDROM names! + // Fun for the whole family! */ + U = URI("cdrom:[The Debian 1.2 disk, 1/2 R1:6]/debian/"); + EXPECT_EQ("cdrom", U.Access); + EXPECT_EQ("", U.User); + EXPECT_EQ("", U.Password); + EXPECT_EQ(0u, U.Port); + EXPECT_EQ("The Debian 1.2 disk, 1/2 R1:6", U.Host); + EXPECT_EQ("/debian/", U.Path); + EXPECT_EQ("cdrom://[The Debian 1.2 disk, 1/2 R1:6]/debian/", (std::string)U); + EXPECT_EQ("cdrom://[The Debian 1.2 disk, 1/2 R1:6]", URI::SiteOnly(U)); + EXPECT_EQ("cdrom://[The Debian 1.2 disk, 1/2 R1:6]/debian", URI::ArchiveOnly(U)); + EXPECT_EQ("cdrom://[The Debian 1.2 disk, 1/2 R1:6]/debian/", URI::NoUserPassword(U)); + // no brackets + U = URI("cdrom:Foo Bar Cow/debian/"); + EXPECT_EQ("cdrom", U.Access); + EXPECT_EQ("", U.User); + EXPECT_EQ("", U.Password); + EXPECT_EQ(0u, U.Port); + EXPECT_EQ("Foo Bar Cow", U.Host); + EXPECT_EQ("/debian/", U.Path); + EXPECT_EQ("cdrom://Foo Bar Cow/debian/", (std::string)U); + EXPECT_EQ("cdrom://Foo Bar Cow", URI::SiteOnly(U)); + EXPECT_EQ("cdrom://Foo Bar Cow/debian", URI::ArchiveOnly(U)); + EXPECT_EQ("cdrom://Foo Bar Cow/debian/", URI::NoUserPassword(U)); + // percent encoded password + U = URI("ftp://foo:b%40r@example.org"); + EXPECT_EQ("foo", U.User); + EXPECT_EQ("b@r", U.Password); + EXPECT_EQ("ftp://foo:b%40r@example.org/", (std::string) U); + EXPECT_EQ("ftp://example.org", URI::SiteOnly(U)); + EXPECT_EQ("ftp://example.org", URI::ArchiveOnly(U)); + EXPECT_EQ("ftp://example.org/", URI::NoUserPassword(U)); + // percent encoded user + U = URI("ftp://f%40o:bar@example.org"); + EXPECT_EQ("f@o", U.User); + EXPECT_EQ("bar", U.Password); + EXPECT_EQ("ftp://f%40o:bar@example.org/", (std::string) U); + EXPECT_EQ("ftp://example.org", URI::SiteOnly(U)); + EXPECT_EQ("ftp://example.org", URI::ArchiveOnly(U)); + EXPECT_EQ("ftp://example.org/", URI::NoUserPassword(U)); +} +TEST(URITest, AutoProxyTest) +{ + URI u0("http://www.debian.org:90/temp/test"); + URI u1("http://www.debian.org:91/temp/test"); + + _config->Set("Acquire::http::Proxy-Auto-Detect", "./apt-proxy-script"); + + // Scenario 0: Autodetecting a simple proxy + AutoDetectProxy(u0); + EXPECT_EQ(_config->Find("Acquire::http::proxy::www.debian.org", ""), "http://example.com"); + + // Scenario 1: Proxy stays the same if it is already set + AutoDetectProxy(u1); + EXPECT_EQ(_config->Find("Acquire::http::proxy::www.debian.org", ""), "http://example.com"); + + // Scenario 2: Reading with stderr output works fine + _config->Clear("Acquire::http::proxy::www.debian.org"); + AutoDetectProxy(u1); + EXPECT_EQ(_config->Find("Acquire::http::proxy::www.debian.org", ""), "http://example.com/foo"); + + // Scenario 1 again: Proxy stays the same if it is already set + AutoDetectProxy(u0); + EXPECT_EQ(_config->Find("Acquire::http::proxy::www.debian.org", ""), "http://example.com/foo"); +} diff --git a/test/thread-safety/not-thread-safe.sh b/test/thread-safety/not-thread-safe.sh new file mode 100755 index 0000000..f86ef39 --- /dev/null +++ b/test/thread-safety/not-thread-safe.sh @@ -0,0 +1,7 @@ +git grep -p --color -n -E "$(grep -v ^# test/thread-safety/thread-check.txt | sed 's/(.*/\\\\ *\\\\(/' | xargs | tr ' ' '|')" \ + apt-inst/ apt-pkg/ | ansi2html | ssh alioth.debian.org 'cat > /home/groups/apt/htdocs/not-thread-safe/index.html' +git grep -p --color -n -E "$(grep ^# test/thread-safety/thread-check.txt | cut -f2 -d# | sed 's/(.*/\\\\ *\\\\(/' | xargs | tr ' ' '|')" \ + apt-inst/ apt-pkg/ | ansi2html | ssh alioth.debian.org 'cat > /home/groups/apt/htdocs/not-thread-safe/portable.html' + +git grep -p --color -n -E "$(grep -v ^# test/thread-safety/thread-check-internal.txt | sed 's/(.*/\\\\ *\\\\(/' | xargs | tr ' ' '|')" \ + apt-inst/ apt-pkg/ | ansi2html | ssh alioth.debian.org 'cat > /home/groups/apt/htdocs/not-thread-safe/internal.html' diff --git a/test/thread-safety/thread-check-internal.txt b/test/thread-safety/thread-check-internal.txt new file mode 100644 index 0000000..c55985f --- /dev/null +++ b/test/thread-safety/thread-check-internal.txt @@ -0,0 +1,3 @@ +CndSet() +Set() +Clear() diff --git a/test/thread-safety/thread-check.txt b/test/thread-safety/thread-check.txt new file mode 100644 index 0000000..ed00965 --- /dev/null +++ b/test/thread-safety/thread-check.txt @@ -0,0 +1,91 @@ +asctime() +basename() +catgets() +crypt() +ctermid() if passed a non-NULL argument +ctime() +dbm_clearerr() +dbm_close() +dbm_delete() +dbm_error() +dbm_fetch() +dbm_firstkey() +dbm_nextkey() +dbm_open() +dbm_store() +dirname() +dlerror() +drand48() +ecvt() [POSIX.1-2001 only (function removed in POSIX.1-2008)] +encrypt() +endgrent() +endpwent() +endutxent() +fcvt() [POSIX.1-2001 only (function removed in POSIX.1-2008)] +ftw() +gcvt() [POSIX.1-2001 only (function removed in POSIX.1-2008)] +getc_unlocked() +getchar_unlocked() +getdate() +#getenv() +getgrent() +getgrgid() +getgrnam() +gethostbyaddr() [POSIX.1-2001 only (function removed in POSIX.1-2008)] +gethostbyname() [POSIX.1-2001 only (function removed in POSIX.1-2008)] +gethostent() +getlogin() +getnetbyaddr() +getnetbyname() +getnetent() +getopt() +getprotobyname() +getprotobynumber() +getprotoent() +getpwent() +getpwnam() +getpwuid() +getservbyname() +getservbyport() +getservent() +getutxent() +getutxid() +getutxline() +gmtime() +hcreate() +hdestroy() +hsearch() +inet_ntoa() +l64a() +lgamma() +lgammaf() +lgammal() +localeconv() +localtime() +lrand48() +mrand48() +nftw() +#nl_langinfo() +ptsname() +putc_unlocked() +putchar_unlocked() +putenv() +pututxline() +rand() +#readdir() +setenv() +setgrent() +setkey() +setpwent() +setutxent() +#strerror() +strsignal() [Added in POSIX.1-2008] +strtok() +#system() [Added in POSIX.1-2008] +tmpnam() if passed a non-NULL argument +ttyname() +unsetenv() +wcrtomb() if its final argument is NULL +wcsrtombs() if its final argument is NULL +wcstombs() +wctomb() |