On 12/16/2016 02:40 PM, Eric Blake wrote: > bash 4.4 now warns about skipping NUL bytes in $(command), since > command substitution is only well-formed for commands that output > text, but NUL bytes are not text. Silence the warning by removing > NUL bytes from the stream before bash can see them. > --- > lib/src_postinst.cygpart | 4 ++-- > 1 file changed, 2 insertions(+), 2 deletions(-) > > diff --git a/lib/src_postinst.cygpart b/lib/src_postinst.cygpart > index 30ad90e..2ae26b6 100644 > --- a/lib/src_postinst.cygpart > +++ b/lib/src_postinst.cygpart > @@ -967,14 +967,14 @@ __prepstrip() { > # Magic number is at end of file: > # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=256900#74 > # http://cygwin.com/ml/cygwin-apps/2010-10/msg00057.html > - case $(tail -c 12 "${exe}") in > + case $(tail -c 12 "${exe}" | tr -d '\0') in > Caml1999X0[0-9][0-9]) continue ;; > esac > > # Perl Archive (PAR) binaries must not be stripped > # https://rt.cpan.org/Public/Bug/Display.html?id=18536 > # http://cygwin.com/ml/cygwin-apps/2012-07/msg00088.html > - case $(tail -c 8 "${exe}" | tr '\012' '%') in > + case $(tail -c 8 "${exe}" | tr '\012\0' '%') in > %PAR\.pm%) continue ;; > esac And of course, reading this in isolation, we could shave a process or two by merging the two case statements into one, if you want to go one step further as a micro-optimization: diff --git i/lib/src_postinst.cygpart w/lib/src_postinst.cygpart index 2ae26b6..ac045ee 100644 --- i/lib/src_postinst.cygpart +++ w/lib/src_postinst.cygpart @@ -967,15 +967,12 @@ __prepstrip() { # Magic number is at end of file: # http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=256900#74 # http://cygwin.com/ml/cygwin-apps/2010-10/msg00057.html - case $(tail -c 12 "${exe}" | tr -d '\0') in - Caml1999X0[0-9][0-9]) continue ;; - esac - # Perl Archive (PAR) binaries must not be stripped # https://rt.cpan.org/Public/Bug/Display.html?id=18536 # http://cygwin.com/ml/cygwin-apps/2012-07/msg00088.html - case $(tail -c 8 "${exe}" | tr '\012\0' '%') in - %PAR\.pm%) continue ;; + case $(tail -c 12 "${exe}" | tr '\012\0' '%') in + *%PAR\.pm%) continue ;; + Caml1999X0[0-9][0-9]) continue ;; esac echo " ${exe}"; -- Eric Blake eblake redhat com +1-919-301-3266 Libvirt virtualization library http://libvirt.org