Skip to content

feat(26.04): update sensible-utils and ucf#985

Open
lczyk wants to merge 27 commits into
canonical:ubuntu-26.04from
lczyk:ROCKS-2467/fix-sensible-utils-26.06
Open

feat(26.04): update sensible-utils and ucf#985
lczyk wants to merge 27 commits into
canonical:ubuntu-26.04from
lczyk:ROCKS-2467/fix-sensible-utils-26.06

Conversation

@lczyk

@lczyk lczyk commented Apr 6, 2026

Copy link
Copy Markdown
Collaborator

Proposed changes

  • update sensible-utils to classify the content as scripts
  • add tests for sensible-utils
  • update ucf to classify contents as scripts
  • add minimal tests for ucf. there are many bits missing from these slices which would be needed for a full test. this is still a massive improvement though.
  • update dpkg tests layout while preserving previous test cases
  • subslice update-alternatives and add tests for it
  • slice gettext-base and add tests for it

Related issues/PRs

Forward porting

n/a

Checklist

@github-actions

github-actions Bot commented Apr 6, 2026

Copy link
Copy Markdown

Diff of dependencies:

slices/dpkg.yaml
@@ -1,8 +1 @@
-libbz2-1.0
-libc6
-liblzma5
-libmd0
-libselinux1
-libzstd1
-tar
-zlib1g
+
slices/gettext-base.yaml
@@ -1 +1 @@
-libc6
+
slices/sensible-utils.yaml
@@ -0,0 +1 @@
+
slices/ucf.yaml
@@ -1,5 +1 @@
-debconf
-debconf-2.0
-libtext-wrapi18n-perl
-procps
-sensible-utils
+

@lczyk lczyk marked this pull request as ready for review April 6, 2026 19:43
@lczyk lczyk changed the title feat(26.04): update sensible-utils feat(26.04): update sensible-utils and ucf Apr 6, 2026
@github-actions

github-actions Bot commented Apr 6, 2026

Copy link
Copy Markdown

Test Coverage

Average Total Coverage: 28.75%


Arch: aarch64

Coverage: 28.75%

dpkg: 🌂 50.00% (10 missing)
dpkg_locales
dpkg_mime
dpkg_select-editor
dpkg_sensible-browser
dpkg_sensible-editor
dpkg_sensible-pager
dpkg_sensible-terminal
dpkg_ucf
dpkg_ucfq
dpkg_ucfr
gettext-base: 🌂 15.00% (17 missing)
gettext-base_config
gettext-base_locales
gettext-base_maintscript-support
gettext-base_mime
gettext-base_realpath
gettext-base_select-editor
gettext-base_sensible-browser
gettext-base_sensible-editor
gettext-base_sensible-pager
gettext-base_sensible-terminal
gettext-base_start-stop-daemon
gettext-base_tables
gettext-base_ucf
gettext-base_ucfq
gettext-base_ucfr
gettext-base_update-alternatives
gettext-base_var
sensible-utils: 🌂 30.00% (14 missing)
sensible-utils_bins
sensible-utils_config
sensible-utils_locales
sensible-utils_maintscript-support
sensible-utils_mime
sensible-utils_realpath
sensible-utils_scripts
sensible-utils_start-stop-daemon
sensible-utils_tables
sensible-utils_ucf
sensible-utils_ucfq
sensible-utils_ucfr
sensible-utils_update-alternatives
sensible-utils_var
ucf: 🌂 20.00% (16 missing)
ucf_bins
ucf_config
ucf_locales
ucf_maintscript-support
ucf_mime
ucf_realpath
ucf_scripts
ucf_select-editor
ucf_sensible-browser
ucf_sensible-editor
ucf_sensible-pager
ucf_sensible-terminal
ucf_start-stop-daemon
ucf_tables
ucf_update-alternatives
ucf_var

Arch: x86_64

Coverage: 28.75%

dpkg: 🌂 50.00% (10 missing)
dpkg_locales
dpkg_mime
dpkg_select-editor
dpkg_sensible-browser
dpkg_sensible-editor
dpkg_sensible-pager
dpkg_sensible-terminal
dpkg_ucf
dpkg_ucfq
dpkg_ucfr
gettext-base: 🌂 15.00% (17 missing)
gettext-base_config
gettext-base_locales
gettext-base_maintscript-support
gettext-base_mime
gettext-base_realpath
gettext-base_select-editor
gettext-base_sensible-browser
gettext-base_sensible-editor
gettext-base_sensible-pager
gettext-base_sensible-terminal
gettext-base_start-stop-daemon
gettext-base_tables
gettext-base_ucf
gettext-base_ucfq
gettext-base_ucfr
gettext-base_update-alternatives
gettext-base_var
sensible-utils: 🌂 30.00% (14 missing)
sensible-utils_bins
sensible-utils_config
sensible-utils_locales
sensible-utils_maintscript-support
sensible-utils_mime
sensible-utils_realpath
sensible-utils_scripts
sensible-utils_start-stop-daemon
sensible-utils_tables
sensible-utils_ucf
sensible-utils_ucfq
sensible-utils_ucfr
sensible-utils_update-alternatives
sensible-utils_var
ucf: 🌂 20.00% (16 missing)
ucf_bins
ucf_config
ucf_locales
ucf_maintscript-support
ucf_mime
ucf_realpath
ucf_scripts
ucf_select-editor
ucf_sensible-browser
ucf_sensible-editor
ucf_sensible-pager
ucf_sensible-terminal
ucf_start-stop-daemon
ucf_tables
ucf_update-alternatives
ucf_var

@ROCKsBot ROCKsBot requested a review from a team April 7, 2026 02:01
@lczyk lczyk added the Priority Look at me first label Apr 8, 2026
@lczyk

lczyk commented Apr 8, 2026

Copy link
Copy Markdown
Collaborator Author

adding priority since its part of essential 26.04 work

@lczyk lczyk mentioned this pull request Apr 14, 2026
3 tasks

@alesancor1 alesancor1 left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looks good overall, couple of comments/questions below:

Comment thread slices/sensible-utils.yaml
Comment thread slices/ucf.yaml Outdated
Comment thread slices/ucf.yaml Outdated
Comment on lines +42 to +45
# coreutils_md5sum:
coreutils_readlink:
coreutils_rm-utility:
# coreutils_seq:

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Why are md5sum and seq commented?

Comment thread slices/ucf.yaml Outdated
Comment thread tests/spread/integration/dpkg/task.yaml
# gettext.sh can be sourced and provides eval_gettext and eval_ngettext
c='. /usr/bin/gettext.sh && eval_gettext "Hello World"'
chroot "$rootfs" sh -c "$c" | grep -q "Hello World"
c='. /usr/bin/gettext.sh && n=1 && eval_ngettext "one item" "many items" 1'

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

What is this n=1 for?

@lczyk lczyk Apr 22, 2026

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

leftover from dev. removed in e09df8f

/usr/bin/sensible-pager:
/usr/bin/sensible-terminal:

mime:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Why do we drop _mime? This is a regression without alternatives.

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

good catch. re-added in 7fbfce6

Comment thread slices/ucf.yaml

ucfq:
hint: Query config file registry
essential:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
essential:
essential:
coreutils_md5sum:

It's required by ucfq:

root@690f077c9c58:/work/26.04-amd64# grep -R 'md5sum' ucf
ucf/etc/ucf.conf:# md5sums for a file are looked for.  Specifically, the historical
ucf/etc/ucf.conf:# md5sums are looked for in the subdirectory ${filename}.md5sum.d/
ucf/usr/bin/ucfq:      if (-x "/usr/bin/md5sum") {
ucf/usr/bin/ucfq:        open (my $newhash, "-|", "/usr/bin/md5sum $name") ||
ucf/usr/bin/ucfq:          die "Could not run md5sum: $!";
ucf/usr/bin/ucfq:        die "Could not find /usr/bin/md5sum .\n";
...

Comment thread slices/ucf.yaml Outdated
coreutils_dirname:
coreutils_id-utility:
coreutils_mv-utility:
# coreutils_md5sum:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This is required by ucf:

ucf/usr/bin/ucf:		md5sum "$orig_new_file" | sed "s|$orig_new_file|$dest_file|" >&2
ucf/usr/bin/ucf:	    md5sum "$orig_new_file" | sed "s|$orig_new_file|$dest_file|" >> \
ucf/usr/bin/ucf:	    echo " md5sum \"$orig_new_file\" | sed \"s|$orig_new_file|$dest_file|\"; "
ucf/usr/bin/ucf:	    md5sum "$orig_new_file" | sed "s|$orig_new_file|$dest_file|"  > \
ucf/usr/bin/ucf:	    echo " md5sum \"$orig_new_file\" | sed \"s|$orig_new_file|$dest_file|\" >" \
...

Comment thread slices/ucf.yaml Outdated
# coreutils_md5sum:
coreutils_readlink:
coreutils_rm-utility:
# coreutils_seq:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This is required

ucf/usr/bin/ucf:    for i in $(/usr/bin/seq 6 -1 0); do
ucf/usr/bin/ucf:    for i in $(/usr/bin/seq 6 -1 0); do

Comment thread slices/ucf.yaml Outdated
coreutils_id-utility:
coreutils_mv-utility:
coreutils_readlink:
# coreutils_seq:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

Suggested change
# coreutils_seq:
coreutils_seq:

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

not subsliced yet

Comment thread slices/ucf.yaml
Comment thread slices/ucf.yaml Outdated
coreutils_readlink:
# coreutils_seq:
dash_bins:
# dpkg_dpkg-divert:

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

This is required for ucfr:

root@690f077c9c58:/work/26.04-amd64# grep -R 'dpkg-divert' ucf
ucf/usr/bin/ucfr:            divert_package=$(dpkg-divert --listpackage "$conf_file")

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

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

I believe the tests need a re-work: The coverage of logics/branches in the script is way below sufficiency, if only the --help subcommand is tested.

@lczyk lczyk added Blocked Waiting for something external and removed Priority Look at me first labels Apr 22, 2026
@lczyk lczyk added Priority Look at me first and removed Blocked Waiting for something external labels Apr 22, 2026
@lczyk

lczyk commented Apr 22, 2026

Copy link
Copy Markdown
Collaborator Author

@ROCKsBot ROCKsBot requested a review from a team April 23, 2026 01:45
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Priority Look at me first

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants