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 rabbitmq slices #258

Open
wants to merge 41 commits into
base: ubuntu-24.04
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
41 commits
Select commit Hold shift + click to select a range
17e565e
feat(24.04): add rabbitmq-server slice
linostar Jun 13, 2024
740b029
add librabbitmq4 slice
linostar Jun 13, 2024
a41cfa0
add missing files/dirs from maintainer scripts
linostar Jun 25, 2024
d9c5b93
add more missing contents
linostar Jul 1, 2024
ab56439
fix a typo
linostar Jul 1, 2024
45517f7
update libpam-runtime
linostar Jul 1, 2024
28eeff4
comment non-existing packages for i386
linostar Jul 1, 2024
2e33052
address Rafids' review comments
linostar Jul 9, 2024
f065a90
remove adduser and procps dependencies from erlang-base
linostar Jul 11, 2024
18ade32
add missing dependencies for rabbitmq slices
linostar Jul 26, 2024
30b159f
remove unneeded packages from this PR
linostar Jul 26, 2024
1e0e8d3
fix CI check errors
linostar Jul 26, 2024
df996d6
add missing rabbitmqctl bins
linostar Jul 26, 2024
cecab02
add sed as dependency because rabbitmqctl needs it
linostar Jul 26, 2024
171ae7a
add few missing slice deps
linostar Aug 14, 2024
2ca334c
fix hardlinks in rabbitmq-server slice
linostar Aug 19, 2024
5760514
fix linting issues
linostar Aug 19, 2024
4c305ef
add a simple integration test
linostar Aug 19, 2024
04682fb
fix sorting for lint
linostar Aug 20, 2024
8118cfb
install required erlang packages in integration test
linostar Aug 20, 2024
1973a4f
Merge branch 'ubuntu-24.04' into ROCKS-1219/feat-24.04-rabbitmq
linostar Aug 20, 2024
6d91b68
fix rabbitmqctl path in test
linostar Aug 20, 2024
d8e590f
add mutate scripts to libpam-runtime SDF
linostar Aug 21, 2024
a133d0e
fix integration test of rabbitmq-server slice
linostar Aug 21, 2024
ea2ae59
remove socat dependency
linostar Aug 21, 2024
757c18f
remove unncessary parts of the integration test
linostar Aug 22, 2024
1feb608
switch to lxd-based spread tests
linostar Aug 23, 2024
eb40b5b
Revert "switch to lxd-based spread tests"
linostar Aug 26, 2024
5617a19
Merge branch 'ubuntu-24.04' into ROCKS-1219/feat-24.04-rabbitmq
linostar Aug 30, 2024
ecde3d3
Merge branch 'ubuntu-24.04' into ROCKS-1219/feat-24.04-rabbitmq
linostar Sep 20, 2024
1040ce8
remove unneeded slices
linostar Oct 16, 2024
912af33
Merge branch 'ubuntu-24.04' into ROCKS-1219/feat-24.04-rabbitmq
linostar Oct 16, 2024
e6ebb18
modified util-linux
linostar Oct 16, 2024
7f19702
fix a linting error
linostar Oct 16, 2024
ec1aa62
address review changes
linostar Oct 16, 2024
d3f9cef
fix hardlinks in rabbitmq-server slice
linostar Oct 16, 2024
27954d3
add integration tests
linostar Oct 16, 2024
f65bade
fix tests
linostar Oct 17, 2024
0858070
fix spread tests
linostar Oct 17, 2024
0179739
fix other tests
linostar Oct 17, 2024
8aaaf61
fix more test errors
linostar Oct 17, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions slices/erlang-asn1.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package: erlang-asn1

essential:
- erlang-asn1_copyright

slices:
modules:
essential:
- erlang-base_bins
linostar marked this conversation as resolved.
Show resolved Hide resolved
- libc6_libs
contents:
/usr/lib/erlang/lib/asn1-*/ebin/**:
/usr/lib/erlang/lib/asn1-*/priv/**:

copyright:
contents:
/usr/share/doc/erlang-asn1/copyright:
41 changes: 41 additions & 0 deletions slices/erlang-base.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
package: erlang-base

essential:
- erlang-base_copyright

slices:
bins:
essential:
- erlang-base_modules
- libc6_libs
- libgcc-s1_libs
- libstdc++6_libs
- libsystemd0_libs
- libtinfo6_libs
- zlib1g_libs
contents:
/usr/bin/epmd:
/usr/bin/erl:
/usr/bin/erl_call:
/usr/bin/erlc:
/usr/bin/escript:
/usr/bin/run_erl:
/usr/bin/start_embedded:
/usr/bin/to_erl:
/usr/lib/erlang/bin/**:
/usr/lib/erlang/erts-*/bin/**:
/usr/lib/erlang/lib/erl_interface-*/bin/erl_call:
Comment on lines +17 to +27
Copy link
Collaborator

Choose a reason for hiding this comment

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

missing tests


modules:
contents:
/usr/lib/erlang/lib/compiler-*/ebin/**:
/usr/lib/erlang/lib/erts-*/ebin/**:
/usr/lib/erlang/lib/kernel-*/ebin/**:
/usr/lib/erlang/lib/sasl-*/ebin/**:
/usr/lib/erlang/lib/stdlib-*/ebin/**:
/usr/lib/erlang/lib/stdlib-*/include/**:
/usr/lib/erlang/releases/**:

copyright:
contents:
/usr/share/doc/erlang-base/copyright:
18 changes: 18 additions & 0 deletions slices/erlang-crypto.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package: erlang-crypto

essential:
- erlang-crypto_copyright

slices:
modules:
essential:
- erlang-base_bins
linostar marked this conversation as resolved.
Show resolved Hide resolved
- libc6_libs
- libssl3t64_libs
contents:
/usr/lib/erlang/lib/crypto-*/ebin/**:
/usr/lib/erlang/lib/crypto-*/priv/lib/**:

copyright:
contents:
/usr/share/doc/erlang-crypto/copyright:
17 changes: 17 additions & 0 deletions slices/erlang-eldap.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package: erlang-eldap

essential:
- erlang-eldap_copyright

slices:
modules:
essential:
- erlang-asn1_modules
- erlang-base_bins
cjdcordeiro marked this conversation as resolved.
Show resolved Hide resolved
- erlang-ssl_modules
contents:
/usr/lib/erlang/lib/eldap-*/ebin/**:

copyright:
contents:
/usr/share/doc/erlang-eldap/copyright:
17 changes: 17 additions & 0 deletions slices/erlang-ftp.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package: erlang-ftp

essential:
- erlang-ftp_copyright

slices:
modules:
essential:
- erlang-base_bins
cjdcordeiro marked this conversation as resolved.
Show resolved Hide resolved
- erlang-runtime-tools_modules
- erlang-ssl_modules
contents:
/usr/lib/erlang/lib/ftp-*/ebin/**:

copyright:
contents:
/usr/share/doc/erlang-ftp/copyright:
27 changes: 27 additions & 0 deletions slices/erlang-inets.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
package: erlang-inets

essential:
- erlang-inets_copyright

slices:
scripts:
essential:
- erlang-inets_modules
contents:
/usr/lib/erlang/lib/inets-*/priv/bin/runcgi.sh:
Copy link
Collaborator

Choose a reason for hiding this comment

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

can it be tested?


modules:
essential:
- erlang-base_bins
Copy link
Member

Choose a reason for hiding this comment

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

bins or libs? 😕

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I think they depend on the bins because those are elixir modules that needs the erlang binaries to run.

Copy link
Member

Choose a reason for hiding this comment

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

It seems to me that the erlang-inets package contains mostly libraries (.beam files etc.) which should not, in my opinion, depend on any erlang-base binaries. Will you please double-check and let me know if (and how) they are needed? Thanks!

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

the dependency here is because those beam files cannot be run standalone without erlang binaries found in erlang-base package. So if someone installed this slice without erlang-base being installed along, they'll end up with module files that they cannot run.

Copy link
Collaborator

Choose a reason for hiding this comment

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

I've made similar comments above.

I guess the problem here is that you're including beam files in the libs slice, which is odd cause they are closer to executables than they are to libraries. And you're also mixing them with header files.

So, If you're sure the beam files need the erlang-base binaries, the dependency should stay. Regardless of that, the libs aren't suited for these cases.

- erlang-ftp_modules
- erlang-mnesia_modules
- erlang-runtime-tools_modules
- erlang-ssl_modules
- erlang-tftp_modules
contents:
/usr/lib/erlang/lib/inets-*/ebin/**:
/usr/lib/erlang/lib/inets-*/include/**:

copyright:
contents:
/usr/share/doc/erlang-inets/copyright:
15 changes: 15 additions & 0 deletions slices/erlang-mnesia.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package: erlang-mnesia

essential:
- erlang-mnesia_copyright

slices:
modules:
essential:
- erlang-base_bins
linostar marked this conversation as resolved.
Show resolved Hide resolved
contents:
/usr/lib/erlang/lib/mnesia-*/ebin/**:

copyright:
contents:
/usr/share/doc/erlang-mnesia/copyright:
24 changes: 24 additions & 0 deletions slices/erlang-os-mon.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
package: erlang-os-mon

essential:
- erlang-os-mon_copyright

slices:
bins:
essential:
- erlang-os-mon_modules
contents:
/usr/lib/erlang/lib/os_mon-*/priv/**:
Copy link
Collaborator

Choose a reason for hiding this comment

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

in some of the above, you're not including the priv folder. Is it forgotten or just not needed?
Also, if these are bins, can they be tested?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

Not all those packages have priv folders.

Copy link
Collaborator

Choose a reason for hiding this comment

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

e.g. erlang-inets has


modules:
essential:
- erlang-base_bins
linostar marked this conversation as resolved.
Show resolved Hide resolved
- erlang-mnesia_modules
- erlang-snmp_bins
Copy link
Member

Choose a reason for hiding this comment

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

libs or bins?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

bins because that package has binaries and libs, so two slices: bins and libs.

Copy link
Member

Choose a reason for hiding this comment

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

I am sorry, but I didn't understand the reason yet.

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

I meant the files in priv folder, unlike the other erlang* packages, are binary and not beam modules.

Copy link
Collaborator

Choose a reason for hiding this comment

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

unresolving because the resolution mentions the priv folder, which is not listed for this slice

- libc6_libs
contents:
/usr/lib/erlang/lib/os_mon-*/ebin/**:

copyright:
contents:
/usr/share/doc/erlang-os-mon/copyright:
15 changes: 15 additions & 0 deletions slices/erlang-parsetools.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package: erlang-parsetools

essential:
- erlang-parsetools_copyright

slices:
modules:
essential:
- erlang-base_bins
linostar marked this conversation as resolved.
Show resolved Hide resolved
contents:
/usr/lib/erlang/lib/parsetools-*/ebin/**:

copyright:
contents:
/usr/share/doc/erlang-parsetools/copyright:
17 changes: 17 additions & 0 deletions slices/erlang-public-key.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
package: erlang-public-key

essential:
- erlang-public-key_copyright

slices:
modules:
essential:
- erlang-asn1_modules
- erlang-base_bins
- erlang-crypto_modules
contents:
/usr/lib/erlang/lib/public_key-*/ebin/**:

copyright:
contents:
/usr/share/doc/erlang-public-key/copyright:
18 changes: 18 additions & 0 deletions slices/erlang-runtime-tools.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package: erlang-runtime-tools

essential:
- erlang-runtime-tools_copyright

slices:
modules:
essential:
- erlang-base_bins
- erlang-mnesia_modules
- libc6_libs
contents:
/usr/lib/erlang/lib/runtime_tools-*/ebin/**:
/usr/lib/erlang/lib/runtime_tools-*/priv/**:

copyright:
contents:
/usr/share/doc/erlang-runtime-tools/copyright:
36 changes: 36 additions & 0 deletions slices/erlang-snmp.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
package: erlang-snmp

essential:
- erlang-snmp_copyright

slices:
bins:
essential:
- erlang-base_bins
- erlang-crypto_modules
- erlang-mnesia_modules
- erlang-runtime-tools_modules
- erlang-snmp_config
- erlang-snmp_data
- erlang-snmp_modules
contents:
/usr/bin/snmpc:
/usr/lib/erlang/lib/snmp-*/bin/snmpc:
Comment on lines +17 to +18
Copy link
Collaborator

Choose a reason for hiding this comment

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

pls test them

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

The priv files in erlang-os-mon packages are includes in the bins slice, since they are binaries not modules.


config:
contents:
/usr/lib/erlang/lib/snmp-*/priv/conf/**:

data:
contents:
/usr/lib/erlang/lib/snmp-*/mibs/**:
/usr/lib/erlang/lib/snmp-*/priv/mibs/**:

modules:
contents:
/usr/lib/erlang/lib/snmp-*/ebin/**:
/usr/lib/erlang/lib/snmp-*/include/**:

copyright:
contents:
/usr/share/doc/erlang-snmp/copyright:
18 changes: 18 additions & 0 deletions slices/erlang-ssl.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package: erlang-ssl

essential:
- erlang-ssl_copyright

slices:
modules:
essential:
- erlang-base_bins
- erlang-crypto_modules
- erlang-public-key_modules
- erlang-runtime-tools_modules
contents:
/usr/lib/erlang/lib/ssl-*/ebin/**:

copyright:
contents:
/usr/share/doc/erlang-ssl/copyright:
16 changes: 16 additions & 0 deletions slices/erlang-syntax-tools.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,16 @@
package: erlang-syntax-tools

essential:
- erlang-syntax-tools_copyright

slices:
modules:
essential:
- erlang-base_bins
contents:
/usr/lib/erlang/lib/syntax_tools-*/ebin/**:
/usr/lib/erlang/lib/syntax_tools-*/include/**:

copyright:
contents:
/usr/share/doc/erlang-syntax-tools/copyright:
15 changes: 15 additions & 0 deletions slices/erlang-tftp.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package: erlang-tftp

essential:
- erlang-tftp_copyright

slices:
modules:
essential:
- erlang-base_bins
contents:
/usr/lib/erlang/lib/tftp-*/ebin/**:

copyright:
contents:
/usr/share/doc/erlang-tftp/copyright:
18 changes: 18 additions & 0 deletions slices/erlang-tools.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
package: erlang-tools

essential:
- erlang-tools_copyright

slices:
modules:
essential:
- erlang-base_bins
- erlang-runtime-tools_modules
contents:
/usr/lib/erlang/lib/tools-*/ebin/**:
/usr/lib/erlang/lib/tools-*/emacs/**:
/usr/lib/erlang/lib/tools-*/priv/**:

copyright:
contents:
/usr/share/doc/erlang-tools/copyright:
15 changes: 15 additions & 0 deletions slices/erlang-xmerl.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
package: erlang-xmerl

essential:
- erlang-xmerl_copyright

slices:
modules:
essential:
- erlang-base_bins
contents:
/usr/lib/erlang/lib/xmerl-*/ebin/**:

copyright:
contents:
/usr/share/doc/erlang-xmerl/copyright:
Loading
Loading