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(24.04) add slice for crun and uidmap #225

Merged
merged 33 commits into from
Sep 17, 2024

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 11:50:59 Processing ./ release...
2024/04/20 11:51:00 Selecting slices...
2024/04/20 11:51:00 Fetching ubuntu 24.04 noble suite details...
2024/04/20 11:51:01 Release date: Sat, 20 Apr 2024 10:00:49 UTC
2024/04/20 11:51:01 Fetching index for ubuntu 24.04 noble main component...
2024/04/20 11:51:01 Fetching index for ubuntu 24.04 noble universe component...
2024/04/20 11:51:01 Fetching ubuntu 24.04 noble-security suite details...
2024/04/20 11:51:01 Release date: Thu, 04 Jan 2024 18:43:12 UTC
2024/04/20 11:51:01 Fetching index for ubuntu 24.04 noble-security main component...
2024/04/20 11:51:01 Fetching index for ubuntu 24.04 noble-security universe component...
2024/04/20 11:51:01 Fetching ubuntu 24.04 noble-updates suite details...
2024/04/20 11:51:01 Release date: Sat, 20 Apr 2024 10:01:41 UTC
2024/04/20 11:51:01 Fetching index for ubuntu 24.04 noble-updates main component...
2024/04/20 11:51:01 Fetching index for ubuntu 24.04 noble-updates universe component...
2024/04/20 11:51:01 Fetching pool/main/g/glibc/libc6_2.39-0ubuntu8_amd64.deb...
2024/04/20 11:51:01 Fetching pool/main/libc/libcap2/libcap2_2.66-5ubuntu2_amd64.deb...
2024/04/20 11:51:01 Fetching pool/main/libs/libseccomp/libseccomp2_2.5.5-1ubuntu3_amd64.deb...
2024/04/20 11:51:01 Fetching pool/main/libg/libgpg-error/libgpg-error0_1.47-3build2_amd64.deb...
2024/04/20 11:51:01 Fetching pool/main/libg/libgcrypt20/libgcrypt20_1.10.3-2build1_amd64.deb...
2024/04/20 11:51:01 Fetching pool/main/l/lz4/liblz4-1_1.9.4-1build1_amd64.deb...
2024/04/20 11:51:01 Fetching pool/main/x/xz-utils/liblzma5_5.6.1+really5.4.5-1_amd64.deb...
2024/04/20 11:51:01 Fetching pool/main/libz/libzstd/libzstd1_1.5.5+dfsg2-2build1_amd64.deb...
2024/04/20 11:51:01 Fetching pool/main/s/systemd/libsystemd0_255.4-1ubuntu7_amd64.deb...
2024/04/20 11:51:01 Fetching pool/main/y/yajl/libyajl2_2.1.0-5build1_amd64.deb...
2024/04/20 11:51:01 Fetching pool/universe/c/crun/crun_1.14.1-1_amd64.deb...
2024/04/20 11:51:01 Fetching pool/main/a/audit/libaudit-common_3.1.2-2.1build1_all.deb...
2024/04/20 11:51:01 Fetching pool/main/libc/libcap-ng/libcap-ng0_0.8.4-2build2_amd64.deb...
2024/04/20 11:51:01 Fetching pool/main/a/audit/libaudit1_3.1.2-2.1build1_amd64.deb...
2024/04/20 11:51:01 Fetching pool/main/p/pcre2/libpcre2-8-0_10.42-4ubuntu2_amd64.deb...
2024/04/20 11:51:01 Fetching pool/main/libs/libselinux/libselinux1_3.5-2ubuntu2_amd64.deb...
2024/04/20 11:51:01 Fetching pool/main/s/shadow/uidmap_4.13+dfsg1-4ubuntu3_amd64.deb...
2024/04/20 11:51:01 Extracting files from package "libc6"...
2024/04/20 11:51:01 Extracting files from package "libcap2"...
2024/04/20 11:51:01 Extracting files from package "libseccomp2"...
2024/04/20 11:51:01 Extracting files from package "libgpg-error0"...
2024/04/20 11:51:01 Extracting files from package "libgcrypt20"...
2024/04/20 11:51:01 Extracting files from package "liblz4-1"...
2024/04/20 11:51:01 Extracting files from package "liblzma5"...
2024/04/20 11:51:01 Extracting files from package "libzstd1"...
2024/04/20 11:51:01 Extracting files from package "libsystemd0"...
2024/04/20 11:51:01 Extracting files from package "libyajl2"...
2024/04/20 11:51:01 Extracting files from package "crun"...
2024/04/20 11:51:01 Extracting files from package "libaudit-common"...
2024/04/20 11:51:01 Extracting files from package "libcap-ng0"...
2024/04/20 11:51:01 Extracting files from package "libaudit1"...
2024/04/20 11:51:01 Extracting files from package "libpcre2-8-0"...
2024/04/20 11:51:01 Extracting files from package "libselinux1"...
2024/04/20 11:51:01 Extracting files from package "uidmap"...

Checklist

Additional Context

Copy link

github-actions bot commented Apr 20, 2024

Diff of dependencies:
None found.


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 linostar self-requested a review May 16, 2024 09:16
@linostar
Copy link

@cjdcordeiro @rebornplusplus can you approve the ci workflow please?

slices/libcap2.yaml Outdated Show resolved Hide resolved
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 to me. Thanks!

slices/libsubid4.yaml Show resolved Hide resolved
slices/uidmap.yaml Show resolved Hide resolved
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.

thanks for this @endersonmaia !

I think it's almost there. Apart from debconf everything else is just trivial comments

slices/crun.yaml Show resolved Hide resolved
slices/debconf.yaml Outdated Show resolved Hide resolved
contents:
/usr/share/debconf/confmodule:
/usr/share/debconf/confmodule.sh:
/usr/share/debconf/debconf.conf:
Copy link
Collaborator

Choose a reason for hiding this comment

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

isn't this also a config file?

Comment on lines 38 to 39
/usr/share/debconf/confmodule:
/usr/share/debconf/confmodule.sh:
Copy link
Collaborator

Choose a reason for hiding this comment

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

these aren't perl modules. the first is actually run during the maintainer scripts.

Copy link
Collaborator

Choose a reason for hiding this comment

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

maybe it's ok to have them here, but I'd like to ask you to double check is 1) you really need them (cause if they are only used for the maintainer scripts, then they are not needed) and 2) if needed, try to reassess if they fit within this modules slice

Copy link
Author

Choose a reason for hiding this comment

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

I may note be the best person to check this, I have no knowledge in the packing internals.

/usr/share/debconf/confmodule.sh:
/usr/share/debconf/debconf.conf:
/usr/share/debconf/fix_db.pl:
/usr/share/debconf/frontend:
Copy link
Collaborator

Choose a reason for hiding this comment

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

although a script, this is also considered an interface configuration file, as it is used to configure the frontend. it is not a module. can u pls move it to another slice?

/usr/share/debconf/confmodule:
/usr/share/debconf/confmodule.sh:
/usr/share/debconf/debconf.conf:
/usr/share/debconf/fix_db.pl:
Copy link
Collaborator

Choose a reason for hiding this comment

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

This is a standalone script. I guess you might not always need it. I suggest moving it to a separate slice

Copy link
Collaborator

Choose a reason for hiding this comment

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

is the debconf-2.0 dependency left out on purpose?

Copy link
Author

Choose a reason for hiding this comment

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

I understand they conflict, you'd have to choose one or the other, but again, I don't understand the debian packaging details, I'm just trying to build a small image and sharing what I've done upstream. 😓

slices/libsepol2.yaml Outdated Show resolved Hide resolved
@cjdcordeiro cjdcordeiro requested review from zhijie-yang and linostar and removed request for linostar and zhijie-yang May 31, 2024 14:11
@endersonmaia
Copy link
Author

Could live without debconf for a chiselled environment? 😓

I mean, after you install all packages into a "chiselled" environment, you won't be using apt/dev anymore, right?

@cjdcordeiro
Copy link
Collaborator

Could live without debconf for a chiselled environment? 😓

I mean, after you install all packages into a "chiselled" environment, you won't be using apt/dev anymore, right?

That would be my gut feeling as well.

I sympathize with the struggle here. My advice is: remove everything that is not needed for your use case to work. It's much easier to add additional slices and contents later. OTOH, we cannot remove contents and slices once they are upstream, because other users might start adopting them.

@endersonmaia
Copy link
Author

remove everything that is not needed for your use case to work.

I just need crun and uidmap for my use case, and it's working.

I my last fixup I removed the debconf slice and dependency declaration to it.

@cjdcordeiro cjdcordeiro self-requested a review July 4, 2024 14:52
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.

Thank you for the changes. If the tests pass, it all LGTM. Another approval (@rebornplusplus ) and I'll merge it ;)

@cjdcordeiro cjdcordeiro requested a review from a team July 26, 2024 13:26
Copy link
Member

@rebornplusplus rebornplusplus 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 to me, thank you!

@cjdcordeiro
Copy link
Collaborator

@rebornplusplus can you please approve again? I think you were re-requested by mistake

@cjdcordeiro cjdcordeiro merged commit 900e52e into canonical:ubuntu-24.04 Sep 17, 2024
14 checks passed
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