-
-
Notifications
You must be signed in to change notification settings - Fork 3.5k
[DO NOT MERGE] [TRACKER] Apt 3.1.x #24212
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Conversation
That part of @@ -611,8 +619,27 @@ struct pkgCache::DescFile
map_pointer<DescFile> NextFile;
/** \brief position in the file */
map_filesize_t Offset; // File offset
- /** @TODO document pkgCache::DescFile::Size */
- map_filesize_t Size;
+};
+ /*}}}*/
+// SourceVersion structure /*{{{*/
+/** \brief information for a single version of a source package
+
+ The version list is always sorted from highest version to lowest
+ version by the generator. Equal version numbers are either merged
+ or handled as separate versions based on the Hash value. */
+struct pkgCache::SourceVersion
+{
+ /** \brief unique sequel ID */
+ map_id_t ID;
+ /** \brief Group the source package belongs too */
+ map_pointer<pkgCache::Group> Group;
+ /** \brief complete version string */
+ map_stringitem_t VerStr;
+ map_pointer<Version> VersionList [[gnu::unavailable("not yet available")]];
+ map_pointer<SourceVersion> NextSourceVersion [[gnu::unavailable("not yet available")]];
+
+ /** \brief Private pointer */
+ map_pointer<void> d; https://salsa.debian.org/apt-team/apt/-/blob/3.0.0/apt-pkg/pkgcache.h?ref_type=tags#L638 |
Thanks for the help @licy183, I just saw this now. |
I'm doing on-device testing with the DEBs from this PR now. I have already encountered one issue. Warning: Could not execute pager - PagerSetup (2: No such file or directory) Edit: Okay this is "newly" introduced in 2.9.181, and defaults to Footnotes |
Okay, that fixed ~$ pkg up
Checking availability of current mirror:
[*] https://packages-cf.termux.dev/apt/termux-main: ok
CANNOT LINK EXECUTABLE "/data/data/com.termux/files/usr/lib/apt/methods/https": library "libseccomp.so" not found: needed by main executable
CANNOT LINK EXECUTABLE "/data/data/com.termux/files/usr/lib/apt/methods/https": library "libseccomp.so" not found: needed by main executable
CANNOT LINK EXECUTABLE "/data/data/com.termux/files/usr/lib/apt/methods/https": library "libseccomp.so" not found: needed by main executable
CANNOT LINK EXECUTABLE "/data/data/com.termux/files/usr/lib/apt/methods/https": library "libseccomp.so" not found: needed by main executable
Error: Method https has died unexpectedly!
Error: Sub-process https returned an error code (1)
Error: Method /data/data/com.termux/files/usr/lib/apt/methods/https did not start correctly
Error: Method https has died unexpectedly!
Error: Sub-process https returned an error code (1)
Error: Method /data/data/com.termux/files/usr/lib/apt/methods/https did not start correctly
Error: Method https has died unexpectedly!
Error: Sub-process https returned an error code (1)
Error: Method /data/data/com.termux/files/usr/lib/apt/methods/https did not start correctly
Error: Method https has died unexpectedly!
Error: Sub-process https returned an error code (1)
Error: Method /data/data/com.termux/files/usr/lib/apt/methods/https did not start correctly
Error: Failed to fetch https://packages-cf.termux.dev/apt/termux-main/dists/stable/InRelease
Error: Failed to fetch https://packages-cf.termux.dev/apt/termux-root/dists/root/InRelease
Error: Failed to fetch https://tur.kcubeterm.com/dists/tur-packages/InRelease
Error: Failed to fetch https://packages-cf.termux.dev/apt/termux-x11/dists/x11/InRelease
Error: Some index files failed to download. They have been ignored, or old ones used instead.
Notice: Some sources can be modernized. Run 'apt modernize-sources' to do so. Edit: looks like a missing dependency. ~$ apt modernize-sources
The following files need modernizing:
- /data/data/com.termux/files/usr/etc/apt/sources.list
- /data/data/com.termux/files/usr/etc/apt/sources.list.d/root.list
- /data/data/com.termux/files/usr/etc/apt/sources.list.d/tur.list
- /data/data/com.termux/files/usr/etc/apt/sources.list.d/x11.list
Modernizing will replace .list files with the new .sources format,
add Signed-By values where they can be determined automatically,
and save the old files into .list.bak files.
This command supports the 'signed-by' and 'trusted' options. If you
have specified other options inside [] brackets, please transfer them
manually to the output files; see sources.list(5) for a mapping.
For a simulation, respond N in the following prompt.
Rewrite 4 sources? [Y/n] N
Simulating only...
Modernizing /data/data/com.termux/files/usr/etc/apt/sources.list...
# Would write to: /data/data/com.termux/files/usr/etc/apt/sources.list.d/termux-main-stable.sources
# Modernized from /data/data/com.termux/files/usr/etc/apt/sources.list
Types: deb
URIs: https://packages-cf.termux.dev/apt/termux-main/
Suites: stable
Components: main
Signed-By:
Warning: Could not determine Signed-By for URIs: https://packages-cf.termux.dev/apt/termux-main/, Suites: stable
Modernizing /data/data/com.termux/files/usr/etc/apt/sources.list.d/root.list...
# Would write to: /data/data/com.termux/files/usr/etc/apt/sources.list.d/root.sources
Types: deb
URIs: https://packages-cf.termux.dev/apt/termux-root/
Suites: root
Components: stable
Signed-By:
Warning: Could not determine Signed-By for URIs: https://packages-cf.termux.dev/apt/termux-root/, Suites: root
Modernizing /data/data/com.termux/files/usr/etc/apt/sources.list.d/tur.list...
# Would write to: /data/data/com.termux/files/usr/etc/apt/sources.list.d/tur.sources
Types: deb
URIs: https://tur.kcubeterm.com/
Suites: tur-packages
Components: tur tur-on-device tur-continuous
Signed-By: /data/data/com.termux/files/usr/etc/apt/trusted.gpg.d/tur.gpg
Modernizing /data/data/com.termux/files/usr/etc/apt/sources.list.d/x11.list...
# Would write to: /data/data/com.termux/files/usr/etc/apt/sources.list.d/x11.sources
Types: deb
URIs: https://packages-cf.termux.dev/apt/termux-x11/
Suites: x11
Components: main
Signed-By:
Warning: Could not determine Signed-By for URIs: https://packages-cf.termux.dev/apt/termux-x11/, Suites: x11 Edit: gonna have to look into that, we'll probably wanna migrate the repo files. |
Probably, seccomp need to be removed from cmake https://salsa.debian.org/apt-team/apt/-/blob/3.0.0/CMakeLists.txt?ref_type=tags#L137 |
It was missing as a dependency. |
libseccomp is still downloaded in CI and cmake picks it up. |
Yes. I force pushed the branch to fix that. |
I'm having some trouble wrapping my head around the new deb822 format for package sources (e.g. repos). If I run # ~$ tree $TERMUX__PREFIX/etc/apt
/data/data/com.termux/files/usr/etc/apt
├── apt.conf.d
│ └── 50apt-file.conf
├── preferences.d
├── sources.list
├── sources.list.bak
├── sources.list.d
│ ├── root.list.bak
│ ├── root.sources
│ ├── termux-main-stable.sources
│ ├── tur.list.bak
│ ├── tur.sources
│ ├── x11.list.bak
│ └── x11.sources
├── sources.list.dpkg-old
├── trusted.gpg
└── trusted.gpg.d
├── 2096779623.gpg -> /data/data/com.termux/files/usr/share/termux-keyring/2096779623.gpg
├── agnostic-apollo.gpg -> /data/data/com.termux/files/usr/share/termux-keyring/agnostic-apollo.gpg
├── grimler.gpg -> /data/data/com.termux/files/usr/share/termux-keyring/grimler.gpg
├── kcubeterm.gpg -> /data/data/com.termux/files/usr/share/termux-keyring/kcubeterm.gpg
├── landfillbaby.gpg -> /data/data/com.termux/files/usr/share/termux-keyring/landfillbaby.gpg
├── mradityaalok.gpg -> /data/data/com.termux/files/usr/share/termux-keyring/mradityaalok.gpg
├── termux-autobuilds.gpg -> /data/data/com.termux/files/usr/share/termux-keyring/termux-autobuilds.gpg
└── tur.gpg
5 directories, 20 files And it's complaining about duplicates and missing Checking availability of current mirror:
[*] https://packages-cf.termux.dev/apt/termux-main: ok
Hit:1 https://turdl.kcubeterm.com tur-packages InRelease
Hit:2 https://packages-cf.termux.dev/apt/termux-main stable InRelease
Hit:3 https://packages-cf.termux.dev/apt/termux-root root InRelease
Hit:4 https://packages-cf.termux.dev/apt/termux-x11 x11 InRelease
All packages are up to date.
Warning: Target Packages (main/binary-aarch64/Packages) is configured multiple times in /data/data/com.termux/files/usr/etc/apt/sources.list:1 and /data/data/com.termux/files/usr/etc/apt/sources.list.d/termux-main-stable.sources:1
Warning: Target Packages (main/binary-all/Packages) is configured multiple times in /data/data/com.termux/files/usr/etc/apt/sources.list:1 and /data/data/com.termux/files/usr/etc/apt/sources.list.d/termux-main-stable.sources:1
Warning: Target Contents-deb (main/Contents-aarch64) is configured multiple times in /data/data/com.termux/files/usr/etc/apt/sources.list:1 and /data/data/com.termux/files/usr/etc/apt/sources.list.d/termux-main-stable.sources:1
Warning: Target Contents-deb (main/Contents-all) is configured multiple times in /data/data/com.termux/files/usr/etc/apt/sources.list:1 and /data/data/com.termux/files/usr/etc/apt/sources.list.d/termux-main-stable.sources:1
Warning: Target Packages (main/binary-aarch64/Packages) is configured multiple times in /data/data/com.termux/files/usr/etc/apt/sources.list:1 and /data/data/com.termux/files/usr/etc/apt/sources.list.d/termux-main-stable.sources:1
Warning: Target Packages (main/binary-all/Packages) is configured multiple times in /data/data/com.termux/files/usr/etc/apt/sources.list:1 and /data/data/com.termux/files/usr/etc/apt/sources.list.d/termux-main-stable.sources:1
Warning: Target Contents-deb (main/Contents-aarch64) is configured multiple times in /data/data/com.termux/files/usr/etc/apt/sources.list:1 and /data/data/com.termux/files/usr/etc/apt/sources.list.d/termux-main-stable.sources:1
Warning: Target Contents-deb (main/Contents-all) is configured multiple times in /data/data/com.termux/files/usr/etc/apt/sources.list:1 and /data/data/com.termux/files/usr/etc/apt/sources.list.d/termux-main-stable.sources:1
Notice: Missing Signed-By in the sources.list(5) entry for 'https://packages-cf.termux.dev/apt/termux-main'
Notice: Missing Signed-By in the sources.list(5) entry for 'https://packages-cf.termux.dev/apt/termux-root'
Notice: Missing Signed-By in the sources.list(5) entry for 'https://packages-cf.termux.dev/apt/termux-x11'
Summary:
Upgrading: 0, Installing: 0, Removing: 0, Not Upgrading: 0 |
We'll probably need to change the apt sources handling in:
I'll prep a PR for |
That's the repos moved over to |
2ef3a0d
to
d45e3d3
Compare
Also updated |
|
Thanks for the patch to get Apt 3.1.2 building @Biswa96 |
bde4140
to
8b289ec
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Biswa mentioned wanting to upstream this, so this might not be needed in future releases of apt
.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I have sent the patch to this merge request in upstream https://salsa.debian.org/apt-team/apt/-/merge_requests/497
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The patch file has been added in https://salsa.debian.org/apt-team/apt/-/commit/06d0c12be00ee50c965830127f5812d2156681b1 commit.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I'll replace it with the patch from the official commit then.
# apt-key requires utilities from coreutils, findutils, gpgv, grep, sed. | ||
TERMUX_PKG_DEPENDS="coreutils, dpkg, findutils, gpgv, grep, libandroid-glob, libbz2, libc++, libiconv, libgcrypt, libgnutls, liblz4, liblzma, sed, termux-keyring, termux-licenses, xxhash, zlib, zstd" | ||
TERMUX_PKG_BUILD_DEPENDS="docbook-xsl,libdb" | ||
TERMUX_PKG_DEPENDS="coreutils, dpkg, findutils, grep, libandroid-glob, libbz2, libc++, libiconv, liblz4, liblzma, libseccomp, openssl, sed, sequoia-sqv | gpgv, termux-keyring, termux-licenses, xxhash, zlib, zstd" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
gpgv
/gnupg
remain supported, but sqv
should be preferred.
I'm not sure if TERMUX_PKG_DEPENDS=
...sequoia-sqv | gpgv
adequately expresses this relation.
I think we can backup debs of older version of the packages and provide curl commands to download debs and install and restore backed up repos. |
That's essentially what I have in my not-yet-commited |
I've now rebased this PR to It's not yet functional or included in the package, but it's in a good enough state for an initial round of feedback. Edit: |
56a25c1
to
9adb36d
Compare
Co-authored-by: Jia Yuan Lo <jylo06g@gmail.com> Co-authored-by: Robert Kirkman <rkirkman@termux.dev> Co-authored-by: Twaik Yont <9674930+twaik@users.noreply.github.com>
Co-authored-by: Chongyun Lee <45286352+licy183@users.noreply.github.com> Co-authored-by: Biswapriyo Nath <nathbappai@gmail.com>
Currently fails with: