Skip to content
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

feat(23.10) add slice for crun and uidmap #224

Closed
wants to merge 15 commits into from

Conversation

endersonmaia
Copy link

@endersonmaia endersonmaia commented Apr 20, 2024

Proposed changes

Forward porting

Testing

❯ chisel cut \
    --release ./ \
    --root rootfs/ \
    crun_bins uidmap_bins
2024/04/20 12:04:16 Processing ./ release...
2024/04/20 12:04:16 Selecting slices...
2024/04/20 12:04:16 Fetching ubuntu 23.10 mantic suite details...
2024/04/20 12:04:17 Release date: Mon, 16 Oct 2023 21:12:12 UTC
2024/04/20 12:04:17 Fetching index for ubuntu 23.10 mantic main component...
2024/04/20 12:04:17 Fetching index for ubuntu 23.10 mantic universe component...
2024/04/20 12:04:17 Fetching ubuntu 23.10 mantic-security suite details...
2024/04/20 12:04:17 Release date: Fri, 19 Apr 2024 13:01:58 UTC
2024/04/20 12:04:17 Fetching index for ubuntu 23.10 mantic-security main component...
2024/04/20 12:04:17 Fetching index for ubuntu 23.10 mantic-security universe component...
2024/04/20 12:04:17 Fetching ubuntu 23.10 mantic-updates suite details...
2024/04/20 12:04:18 Release date: Sat, 20 Apr 2024  7:55:11 UTC
2024/04/20 12:04:18 Fetching index for ubuntu 23.10 mantic-updates main component...
2024/04/20 12:04:18 Fetching index for ubuntu 23.10 mantic-updates universe component...
2024/04/20 12:04:18 Fetching pool/main/g/glibc/libc6_2.38-1ubuntu6.2_amd64.deb...
2024/04/20 12:04:18 Fetching pool/main/libc/libcap2/libcap2_2.66-4ubuntu1_amd64.deb...
2024/04/20 12:04:18 Fetching pool/main/libs/libseccomp/libseccomp2_2.5.4-1ubuntu3_amd64.deb...
2024/04/20 12:04:18 Fetching pool/main/libg/libgpg-error/libgpg-error0_1.47-2_amd64.deb...
2024/04/20 12:04:18 Fetching pool/main/libg/libgcrypt20/libgcrypt20_1.10.2-3ubuntu1_amd64.deb...
2024/04/20 12:04:18 Fetching pool/main/l/lz4/liblz4-1_1.9.4-1_amd64.deb...
2024/04/20 12:04:18 Fetching pool/main/x/xz-utils/liblzma5_5.4.1-0.2_amd64.deb...
2024/04/20 12:04:18 Fetching pool/main/libz/libzstd/libzstd1_1.5.5+dfsg2-1ubuntu2_amd64.deb...
2024/04/20 12:04:18 Fetching pool/main/s/systemd/libsystemd0_253.5-1ubuntu6.1_amd64.deb...
2024/04/20 12:04:18 Fetching pool/main/y/yajl/libyajl2_2.1.0-5_amd64.deb...
2024/04/20 12:04:18 Fetching pool/universe/c/crun/crun_1.8.5-1_amd64.deb...
2024/04/20 12:04:18 Fetching pool/main/a/audit/libaudit-common_3.1.1-1_all.deb...
2024/04/20 12:04:18 Fetching pool/main/libc/libcap-ng/libcap-ng0_0.8.3-1build2_amd64.deb...
2024/04/20 12:04:18 Fetching pool/main/a/audit/libaudit1_3.1.1-1_amd64.deb...
2024/04/20 12:04:18 Fetching pool/main/p/pcre2/libpcre2-8-0_10.42-4_amd64.deb...
2024/04/20 12:04:18 Fetching pool/main/libs/libselinux/libselinux1_3.5-1_amd64.deb...
2024/04/20 12:04:18 Fetching pool/main/s/shadow/uidmap_4.13+dfsg1-1ubuntu1.1_amd64.deb...
2024/04/20 12:04:18 Extracting files from package "libc6"...
2024/04/20 12:04:18 Extracting files from package "libcap2"...
2024/04/20 12:04:18 Extracting files from package "libseccomp2"...
2024/04/20 12:04:18 Extracting files from package "libgpg-error0"...
2024/04/20 12:04:18 Extracting files from package "libgcrypt20"...
2024/04/20 12:04:18 Extracting files from package "liblz4-1"...
2024/04/20 12:04:18 Extracting files from package "liblzma5"...
2024/04/20 12:04:18 Extracting files from package "libzstd1"...
2024/04/20 12:04:18 Extracting files from package "libsystemd0"...
2024/04/20 12:04:18 Extracting files from package "libyajl2"...
2024/04/20 12:04:18 Extracting files from package "crun"...
2024/04/20 12:04:18 Extracting files from package "libaudit-common"...
2024/04/20 12:04:18 Extracting files from package "libcap-ng0"...
2024/04/20 12:04:18 Extracting files from package "libaudit1"...
2024/04/20 12:04:18 Extracting files from package "libpcre2-8-0"...
2024/04/20 12:04:18 Extracting files from package "libselinux1"...
2024/04/20 12:04:18 Extracting files from package "uidmap"...

Checklist

Additional Context

Copy link

github-actions bot commented Apr 20, 2024

Diff of dependencies:

slices/libpam0g.yaml
@@ -1,4 +1,3 @@
 debconf
-debconf-2.0
 libaudit1
 libc6

Copy link
Collaborator

@zhijie-yang zhijie-yang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good. There are some issues regarding the linting (see workflow runs) to be fixed, and it is suggested to add the copyright files explicitly in the slice definitions.

@linostar
Copy link
Collaborator

@cjdcordeiro @rebornplusplus can you approve the workflow please?

Copy link
Collaborator

@zhijie-yang zhijie-yang left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks all good to me! Thanks!

slices/libcap-ng0.yaml Show resolved Hide resolved
slices/libsubid4.yaml Show resolved Hide resolved
slices/uidmap.yaml Show resolved Hide resolved
Copy link
Collaborator

@linostar linostar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please see my comments #225 (review) and #225 (comment) in PR #225 and address them here as well.

@endersonmaia
Copy link
Author

Please see my comments #225 (review) and #225 (comment) in PR #225 and address them here as well.

The file is already there https://github.com/endersonmaia/chisel-releases/blob/crun-to-23.10/slices/libcrypt1.yaml

Copy link
Collaborator

@linostar linostar left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Thanks!

Copy link
Collaborator

@cjdcordeiro cjdcordeiro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

ty for the proposal.

Apart from the linting, I'd suggest also re-working the debconf slice definitions. Especially the bins slice, as it contains much more than just binaries. Those modules deserve a separate slice(s). There are two preferred approaches here: group the modules into functionality, and create slices for each one of those (like we did with the python and openjdk slices); the other approach is to create a generic modules slices where all of those modules fallback to.

@endersonmaia
Copy link
Author

I was experimenting debconf, and although it doesn't explicitly show perl dependency (it suggests), it doesn't work without it, and I see no perl slice available.

# apt depends debconf
debconf
  Conflicts: <debconf-tiny>
  Conflicts: <whiptail-utf8> (<= 0.50.17-13)
  Recommends: apt-utils
  Recommends: debconf-i18n
  Suggests: debconf-doc
  Suggests: debconf-kde-helper
  Suggests: debconf-utils
  Suggests: libgtk3-perl
  Suggests: libnet-ldap-perl
  Suggests: libterm-readline-gnu-perl
  Suggests: perl
 |Suggests: whiptail
  Suggests: dialog
  Replaces: <debconf-tiny>

I didn't get the point of installing its bins if I can't use it.

# head /usr/bin/debconf -n 1
#!/usr/bin/perl

Copy link
Collaborator

@cjdcordeiro cjdcordeiro left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

right, so this is a fundamental question for this PR: if debconf doesn't work without perl, how did these slices work for your use case?
Please note that in some cases debconf is a dependency of a pkg because it is used during its postinst. If your crun+uidmap use case works well with the current slices and mutation scripts, then I'd consider leaving the debconf slices out of this PR -> no need to introduce something we're sure about and that hasn't been thoroughly tested

Regardless of that dependency, if we want to keep the debconf SDF, it still needs to be reworked according to the previous comment.

@cjdcordeiro
Copy link
Collaborator

let's close this since the release is EOL. #223 is going in soon

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants