ubuntu-defaults-builder doesn't build and doesn't generate depends/recommends in Ubuntu 18.04 and newer

Bug #1699925 reported by Michael Hudson-Doyle
20
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Default settings and artwork for Baltix OS
Triaged
Critical
Mantas Kriaučiūnas
ubuntu-defaults-builder (Ubuntu)
Confirmed
Undecided
Unassigned

Bug Description

The package fails to build in bionic, artful and newer, as far as I can tell because dh_ubuntu_defaults uses deprecated perl features:

Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/\${ <-- HERE distro_release_name}/ at /home/ubuntu/Desktop/ubuntu-defaults-builder-0.57/bin/dh_ubuntu_defaults line 100, <F> line 1.
debian/rules:7: recipe for target 'override_dh_install' failed
make[4]: *** [override_dh_install] Error 255

I've patched bin/dh_ubuntu_defaults by enclosing left brace of ${$var} within square brackets:

--- /usr/bin/dh_ubuntu_defaults 2017-06-23 03:33:59.000000000 +0000
+++ bin/dh_ubuntu_defaults 2020-07-05 04:25:29.909974148 +0000
@@ -97,7 +97,7 @@
  while (/\$\{(\w+)\}/) {
      my $var = $1;
      error "unknown macro: $var" unless exists $macros{$var};
- s/\${$var}/$macros{$var}/g;
+ s/\$[{]$var}/$macros{$var}/g;
  }

  push @lines, $_;

Now tests doesn't fail, but when I build defaults package dh_ubuntu_defaults doesn't generate depends/recommends in Ubuntu 18.04 and newer if there is a folder "ubiquity-slideshow" in defaults package - I get warnings during build of my ubuntu-defaults package:

dh_install
dh_ubuntu_defaults --disable-restrictions
dh_ubuntu_defaults: doit() + doit_*() calls will no longer spawn a shell in compat 12 for single string arguments (please use complex_doit instead)
dh_ubuntu_defaults: This feature will be removed in compat 12.
dh_ubuntu_defaults: doit() + doit_*() calls will no longer spawn a shell in compat 12 for single string arguments (please use complex_doit instead)
dh_ubuntu_defaults: This feature will be removed in compat 12.
dh_ubuntu_defaults: doit() + doit_*() calls will no longer spawn a shell in compat 12 for single string arguments (please use complex_doit instead)
dh_ubuntu_defaults: This feature will be removed in compat 12.
make[1]: Leaving directory '/home/ubuntu/Desktop/ubuntu-defaults-baltix-master'
   dh_installdocs
   dh_installchangelogs
   dh_installgsettings
   dh_icons
   dh_perl
   dh_configpackage
   dh_link
   dh_strip_nondeterminism
   dh_compress
   dh_fixperms
   dh_missing
   dh_installdeb
   dh_gencontrol
dpkg-gencontrol: warning: Depends field of package ubuntu-defaults-baltix: unknown substitution variable ${ubuntudefaults:Depends}
dpkg-gencontrol: warning: Recommends field of package ubuntu-defaults-baltix: unknown substitution variable ${ubuntudefaults:Recommends}

I'd rather someone who knew perl better than me take a look at this.

summary: - ftbfs in artful
+ ubuntu-defaults-builder doesn't build and doesn't generate
+ depends/recommends in Ubuntu 18.04 and newer
tags: added: bionic focal perl
description: updated
Revision history for this message
Launchpad Janitor (janitor) wrote :

Status changed to 'Confirmed' because the bug affects multiple users.

Changed in ubuntu-defaults-builder (Ubuntu):
status: New → Confirmed
description: updated
description: updated
Changed in baltix-default-settings:
status: New → Triaged
importance: Undecided → Critical
assignee: nobody → Mantas Kriaučiūnas (mantas)
Revision history for this message
Mantas Kriaučiūnas (mantas) wrote :
Revision history for this message
Mantas Kriaučiūnas (mantas) wrote :

It seems ubuntu-defaults-builder is abandoned, maybe better is to use Cubic tool? See
https://www.makeuseof.com/create-custom-ubuntu-iso-cubic/
https://www.omgubuntu.co.uk/2023/02/cubic-is-a-custom-ubuntu-iso-creator

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.