Sigh. I just discovered two errors in the packages we (mostly me) uploaded recently. For many of them (namely SIL fonts), I inadvertently set the package name in the preinst script to things like "ttf-ttf-sil-ezra" instead of "ttf-sil-ezra". I began updating some of them yesterday. Worse than this, I discovered a logic error in ALL preinst scripts we've use up to now. We were using snippets like: case "$1" in install|upgrade) if dpkg --compare-versions "$2" lt-nl "$VERSION"; then if [ -f $FILE ]; then if [ -x /usr/bin/defoma-font ]; then defoma-font purge-all $FILE || true fi fi rm_conffile $PKG $FILE fi esac with $VERSION containing the number of the last version that was providing a defoma hints file. But I think the operator was not the right one. It should have been "le-nl" as "$2" contains the number of the version one is upgrading from. So, my analysis is that we should either put the number of the *current* version in $VERSION (namely the first to *not* provide a defoma hints file)....or that we should use "le-nl". I will choose the first solution which seems safer. For packages that already had the defoma hints file removed....but the wrong preinst script, I will use it as well and, moreover, $VERSION will be in that case, the version number of the package with the correct preinst script, so that upgrades from packages with the wrong preinst script are also properly handled and end up with no more hints file and an updated defoma cache. Sorry for the mess and the extra uploads that will happen (sorry to me as well, because I just doubled my workload with that mistake).
Attachment:
signature.asc
Description: Digital signature