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 erlang slices #394

Merged
merged 12 commits into from
Nov 22, 2024

Conversation

linostar
Copy link

Proposed changes

Add erlang-* slices to 24.04

Note that erlang packages are not available for i386 arch.

I tried to add tests for all erlang binaries , but some of them needs the erl server to be running in the background, and attempting to run it with & or with nohup has failed in the spread container (although it works locally).

Related issues/PRs

PR #258

Forward porting

N/A

Checklist

  • I have read the contributing guidelines
  • I have tested my changes (see how)
  • I have already submitted the CLA form

Additional Context

N/A

@linostar linostar requested review from cjdcordeiro and a team November 21, 2024 08:57
Copy link

github-actions bot commented Nov 21, 2024

Diff of dependencies:

slices/coreutils.yaml
@@ -1,6 +1,8 @@
 libacl1
 libattr1
 libc6
+libcrypt1
+libgcc-s1
 libgmp10
+libpcre2-8-0
 libselinux1
-libssl3t64
slices/erlang-base.yaml
@@ -1,8 +1,8 @@
-adduser
+bash
+coreutils
 libc6
 libgcc-s1
 libstdc++6
 libsystemd0
 libtinfo6
-procps
 zlib1g

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.

Following up from #384 (comment)

bash is needed because there are several erlang packages that have shell scripts, and they all depend on erlang-base, so it makes sense to put bash as dependency in erlang-base.
coreutils is needed because some bash scripts use /usr/bin/env to detect the path of escript, and env is found in coreutils
as for libtinfo8t64, I found that some of the binaries in erlnag-snmp are trying to open libtinfo so file (from strace output), and I am not sure if there are others that use it as well, so I put it in erlang-base's essential as a precaution.

What are the several erlang packages that have shell scripts? If those are other than the erlang-base, then those should be the ones carrying this bash dependency.

For coreutils, same as for bash. Additionally, if all you need is env, then let's not bring in all the binaries.

And libtinfo8t64, adding it just as a precaution isn't a good practice cause we may be unnecessarily bloating the slice, and once introduced, it's not something we can delete (not at least until the following Ubuntu release).

@linostar linostar requested a review from cjdcordeiro November 21, 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.

LGTM. just missing a test and that would be it

slices/coreutils.yaml Show resolved Hide resolved
@linostar linostar requested a review from cjdcordeiro November 22, 2024 06:25
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.

tyvm

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.

LGTM, thanks!

@cjdcordeiro cjdcordeiro merged commit fe2144a into canonical:ubuntu-24.04 Nov 22, 2024
14 checks passed
@linostar linostar mentioned this pull request Nov 25, 2024
3 tasks
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.

3 participants