[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#395274: bashism in postinst breaks installation/upgrade



Hi Michael,

Michael Biebl <biebl@teco.edu> wrote:

> Package: tex-common
> Version: 0.36
> Severity: serious
>
> My default shell is dash. An upgrade fails with the following message:

Thanks for reporting, and sorry for the error.

> Running checkbashisms /var/lib/dpkg/info/tex-common.postinst yields:
> possible bashism in /var/lib/dpkg/info/tex-common.postinst line 91 (${parm/?/pat[/str]}):
>       pattern=${pattern//\\/} # remove the slashes that escape the $ signs

This is easy to change to 

pattern=$(echo $pattern | sed -e 's@[\]@@g')

> possible bashism in /var/lib/dpkg/info/tex-common.postinst line 840 (brace expansion):
> '\$TEXMF/{fonts/,}map//;\$TEXMF/dvips//|\.;\$TEXMF{/fonts/map,}{/\$progname,/pdftex,/dvips,}//'

This is a false positive, since it's an egrep pattern (I tested it,
there are also no quoting differences or such).

A fix is under way and soon in Incoming.

However, the bashism is in an if-clause, and I'm not sure whether the
shell finds a syntax error while reading the file, or only if it
actually gets there.  If it does get there, this means the postinst
script was just about to tell you that it will now exit with an error:
You should check the files in /etc/texmf/texmf.d, in particular those
with an *.ucf-dist cousin:  You refused to accept some mandatory changes
to configuration files.

Regards, Frank
-- 
Dr. Frank Küster
Single Molecule Spectroscopy, Protein Folding @ Inst. f. Biochemie, Univ. Zürich
Debian Developer (teTeX/TeXLive)



Reply to: