On Thu, 29 Apr 2021 09:59:02 +0800 Brad Campbell via Dng <dng@lists.dyne.org> wrote:
> G'day All, > > I've upgraded a staging server from Jessie to Beowulf and find a > script in my initramfs is now broken, tracking it down it is a huge > change in behaviour in the busybox version of dc and I can't find any > reference to what I'm missing. Has anyone bumped up against this? > I've tried this on both the arm and x64 versions and the behaviour is > identical, so it's not an arm thing specifically. > > On jessie : > brad@srv:~$ busybox dc > 2 > 2 > add > p > 4 > > On beowulf : > root@rpi31:~# busybox dc > 2 > 2 > add > p > > > What you can't see at the bottom of the last example is the rendering > of the 0x02 character in the shell. > > The input processor also appears to have changed. > > brad@srv:~$ busybox dc > 0x127 > p > 295 > > root@rpi31:~# busybox dc > 0x127 > p > 127 > > Installed packages. > > root@rpi31:~# apt-cache showpkg busybox > Package: busybox > Versions: > 1:1.30.1-4 > (/var/lib/apt/lists/deb.devuan.org_merged_dists_beowulf_main_binary-armhf_Packages) > (/var/lib/dpkg/status) Description Language: > File: > /var/lib/apt/lists/deb.devuan.org_merged_dists_beowulf_main_binary-armhf_Packages > MD5: b7707908219c331294f3f9e8d926a9dc Description Language: en > File: > /var/lib/apt/lists/deb.devuan.org_merged_dists_beowulf_main_i18n_Translation-en > MD5: b7707908219c331294f3f9e8d926a9dc > > > Reverse Depends: > initramfs-tools-core,busybox 1:1.22.0-17~ > zfs-initramfs,busybox > udhcpd,busybox 1:1.30.1 > udhcpc,busybox 1:1.30.1 > open-iscsi,busybox > open-infrastructure-system-boot,busybox > live-boot-initramfs-tools,busybox > initramfs-tools-core,busybox 1:1.22.0-17~ > busybox-syslogd,busybox 1:1.30.1 > dropbear-initramfs,busybox > cryptsetup-initramfs,busybox > bootcd,busybox > busybox-static,busybox > busybox-static,busybox > Dependencies: > 1:1.30.1-4 - libc6 (2 2.28) busybox-static (0 (null)) initramfs-tools > (3 0.99) busybox-static (0 (null)) Provides: > 1:1.30.1-4 - > Reverse Provides: > busybox-static 1:1.30.1-4 (= ) > > > brad@srv:~$ apt-cache showpkg busybox > Package: busybox > Versions: > 1:1.22.0-9+deb8u4 (/var/lib/dpkg/status) > Description Language: > File: > /var/lib/apt/lists/archive.devuan.org_merged_dists_jessie_main_binary-amd64_Packages > MD5: b7707908219c331294f3f9e8d926a9dc > Description Language: en > File: > /var/lib/apt/lists/archive.devuan.org_merged_dists_jessie_main_i18n_Translation-en > MD5: b7707908219c331294f3f9e8d926a9dc > > 1:1.22.0-9+deb8u1 > (/var/lib/apt/lists/archive.devuan.org_merged_dists_jessie_main_binary-amd64_Packages) > Description Language: > File: > /var/lib/apt/lists/archive.devuan.org_merged_dists_jessie_main_binary-amd64_Packages > MD5: b7707908219c331294f3f9e8d926a9dc Description Language: en > File: > /var/lib/apt/lists/archive.devuan.org_merged_dists_jessie_main_i18n_Translation-en > MD5: b7707908219c331294f3f9e8d926a9dc > > > Reverse Depends: > udhcpd,busybox 1:1.22.0 > udhcpc,busybox 1:1.22.0 > live-boot-initramfs-tools,busybox > initramfs-tools,busybox 1:1.01-3 > initramfs-tools,busybox 1:1.01-3 > cryptsetup,busybox > busybox-syslogd,busybox 1:1.22.0 > busybox-static,busybox > busybox-static,busybox > bootcd,busybox > Dependencies: > 1:1.22.0-9+deb8u4 - libc6 (2 2.16) busybox-static (0 (null)) > initramfs-tools (3 0.99) busybox-static (0 (null)) 1:1.22.0-9+deb8u1 > - libc6 (2 2.16) busybox-static (0 (null)) initramfs-tools (3 0.99) > busybox-static (0 (null)) Provides: 1:1.22.0-9+deb8u4 - > 1:1.22.0-9+deb8u1 - > Reverse Provides: > busybox-static 1:1.22.0-9+deb8u1 > > Am I doing something dumb? > > Regards, > Brad > _______________________________________________ > Dng mailing list > Dng@lists.dyne.org > https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng Hi, by looking at the latest git code: static const struct op operators[] ALIGN_PTR = { #if ENABLE_FEATURE_DC_LIBM {"^", power}, // {"exp", power}, // {"pow", power}, #endif {"%", mod}, // {"mod", mod}, // logic ops are not standard, remove? {"and", and}, {"or", or}, {"not", not}, {"xor", eor}, {"+", add}, // {"add", add}, {"-", sub}, // {"sub", sub}, {"*", mul}, // {"mul", mul}, {"/", divide}, // {"div", divide}, {"p", print_no_pop}, {"f", print_stack_no_pop}, {"o", set_output_base}, }; it seems to me that mod, add, sub, mul, div are disabled and only %, +, -, *, / are supported. Cannot say if simply uncommenting them restores the previous functionality, could be worth a try. Eventually if it works a patch for making them optional (CONFIG_DC_LONG_OPS or the like) could be sent to the list. Hope this helps, Ciao, Tito _______________________________________________ Dng mailing list Dng@lists.dyne.org https://mailinglists.dyne.org/cgi-bin/mailman/listinfo/dng