Date: Sat, 03 Sep 2011 12:08:01 +0900 From: WATANABE Kazuhiro <CQG00620@nifty.ne.jp> To: FreeBSD-gnats-submit@FreeBSD.org Subject: ports/160414: [maintainer-approved] [japanese/alias-fonts] [patch] Broken pkg-(de)install scripts Message-ID: <20110903030810.24941F6476@mail2.asahi-net.or.jp> Resent-Message-ID: <201109030330.p833U7bT072373@freefall.freebsd.org>
next in thread | raw e-mail | index | archive | help
>Number: 160414 >Category: ports >Synopsis: [maintainer-approved] [japanese/alias-fonts] [patch] Broken pkg-(de)install scripts >Confidential: no >Severity: serious >Priority: medium >Responsible: freebsd-ports-bugs >State: open >Quarter: >Keywords: >Date-Required: >Class: sw-bug >Submitter-Id: current-users >Arrival-Date: Sat Sep 03 03:30:07 UTC 2011 >Closed-Date: >Last-Modified: >Originator: WATANABE Kazuhiro >Release: FreeBSD 7.3-RELEASE-p6 i386 >Organization: >Environment: System: FreeBSD capricorn.sign.local 7.3-RELEASE-p6 FreeBSD 7.3-RELEASE-p6 #5: Mon May 30 22:12:49 JST 2011 nabe@capricorn:/FreeBSD/obj/i386/RELENG_7_3/FreeBSD/RELENG_7_3/src/sys/VASH i386 >Description: In pkg-install, it checks the wrong argument. $ARGV[1] in Perl is not $1 but $2 in sh(1). (Result: The script does nothing.) In pkg-deinstall, it doesn't check the argument. (Result: The script runs twice.) And this script deletes fonts.alias.orig last. I think this behavior is not good. In the both script, "pattern) list ;;" combination in a "case" command is wrong. (Result: The all previous entries of fonts.alias are lost.) The maintainer says he has not had a testing environment, and he has approved my patch. >How-To-Repeat: capricorn# cd /usr/ports/japanese/alias-fonts capricorn# ls -l /usr/local/lib/X11/fonts/local/fonts.alias* -rw-r--r-- 1 root wheel 19623 Sep 3 11:10 /usr/local/lib/X11/fonts/local/fonts.alias capricorn# make install ===> Vulnerability check disabled, database not found ===> License check disabled, port has not defined LICENSE ===> Extracting for ja-alias-fonts-1.0_5 ===> Vulnerability check disabled, database not found ===> License check disabled, port has not defined LICENSE ===> Patching for ja-alias-fonts-1.0_5 ===> ja-alias-fonts-1.0_5 depends on executable: bdftopcf - found ===> ja-alias-fonts-1.0_5 depends on executable: mkfontdir - found ===> ja-alias-fonts-1.0_5 depends on executable: mkfontscale - found ===> Configuring for ja-alias-fonts-1.0_5 ===> Installing for ja-alias-fonts-1.0_5 ===> ja-alias-fonts-1.0_5 depends on file: /usr/local/lib/X11/fonts/local/jpnhn4-iso.pcf.gz - found ===> ja-alias-fonts-1.0_5 depends on file: /usr/local/lib/X11/fonts/local/5x10B.pcf.gz - found ===> ja-alias-fonts-1.0_5 depends on file: /usr/local/share/font-shinonome/shnmk12.pcf.gz - found ===> ja-alias-fonts-1.0_5 depends on file: /usr/local/lib/X11/fonts/local/kanji18.pcf.gz - found ===> ja-alias-fonts-1.0_5 depends on file: /usr/local/lib/X11/fonts/local/k20b.pcf.gz - found ===> ja-alias-fonts-1.0_5 depends on file: /usr/local/lib/X11/fonts/local/kanji26.pcf.gz - found ===> ja-alias-fonts-1.0_5 depends on file: /usr/local/lib/X11/fonts/local/K12-1.pcf.gz - found ===> Generating temporary packing list ===> Checking if japanese/alias-fonts already installed ===> Registering installation for ja-alias-fonts-1.0_5 capricorn# ls -l /usr/local/lib/X11/fonts/local/fonts.alias* -rw-r--r-- 1 root wheel 19623 Sep 3 11:10 /usr/local/lib/X11/fonts/local/fonts.alias ### Not updated. capricorn# make deinstall ===> Deinstalling for japanese/alias-fonts ===> Deinstalling ja-alias-fonts-1.0_5 capricorn# ls -l /usr/local/lib/X11/fonts/local/fonts.alias* -rw-r--r-- 1 root wheel 0 Sep 3 11:15 /usr/local/lib/X11/fonts/local/fonts.alias ### All entries are lost. capricorn# >Fix: After applied my patch: capricorn# ls -l /usr/local/lib/X11/fonts/local/fonts.alias* -rw-r--r-- 1 root wheel 19623 Sep 3 11:27 /usr/local/lib/X11/fonts/local/fonts.alias capricorn# make install ===> Vulnerability check disabled, database not found (snip) ===> Registering installation for ja-alias-fonts-1.0_5 capricorn# ls -l /usr/local/lib/X11/fonts/local/fonts.alias* -rw-r--r-- 1 root wheel 34048 Sep 3 11:28 /usr/local/lib/X11/fonts/local/fonts.alias -rw-r--r-- 1 root wheel 19623 Sep 3 11:27 /usr/local/lib/X11/fonts/local/fonts.alias.orig capricorn# make deinstall ===> Deinstalling for japanese/alias-fonts ===> Deinstalling ja-alias-fonts-1.0_5 capricorn# ls -l /usr/local/lib/X11/fonts/local/fonts.alias* -rw-r--r-- 1 root wheel 19623 Sep 3 11:28 /usr/local/lib/X11/fonts/local/fonts.alias -rw-r--r-- 1 root wheel 34048 Sep 3 11:28 /usr/local/lib/X11/fonts/local/fonts.alias.orig capricorn# The patch is here: diff -urN ports/japanese/alias-fonts.orig/pkg-deinstall ports/japanese/alias-fonts/pkg-deinstall --- ports/japanese/alias-fonts.orig/pkg-deinstall 2011-08-19 15:31:07.000000000 +0900 +++ ports/japanese/alias-fonts/pkg-deinstall 2011-08-25 20:18:18.000000000 +0900 @@ -1,6 +1,10 @@ #!/bin/sh # $FreeBSD: ports/japanese/alias-fonts/pkg-deinstall,v 1.4 2011/08/15 07:03:55 tota Exp $ +if [ $2 != "DEINSTALL" ]; then + exit 0 +fi + dir="${PKG_PREFIX}/lib/X11/fonts/local"; to="$dir/fonts.alias"; from="$to.orig"; @@ -17,9 +21,7 @@ trimmed=${line# *} case $trimmed in !*|"") echo $line;; - -alias-*) echo $line;; - *) ;; + -alias-*) ;; + *) echo $line;; esac done < $from > $to - -rm $from diff -urN ports/japanese/alias-fonts.orig/pkg-install ports/japanese/alias-fonts/pkg-install --- ports/japanese/alias-fonts.orig/pkg-install 2011-08-15 16:03:55.000000000 +0900 +++ ports/japanese/alias-fonts/pkg-install 2011-08-25 18:32:52.000000000 +0900 @@ -1,7 +1,7 @@ #!/bin/sh # $FreeBSD: ports/japanese/alias-fonts/pkg-install,v 1.7 2011/08/15 07:03:55 tota Exp $ -if [ $1 != "POST-INSTALL" ]; then +if [ $2 != "POST-INSTALL" ]; then exit 0 fi @@ -21,8 +21,8 @@ trimmed=${line# *} case $trimmed in !*|"") echo $line;; - -alias-*) echo $line;; - *) ;; + -alias-*) ;; + *) echo $line;; esac done < $from > $to >Release-Note: >Audit-Trail: >Unformatted:
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20110903030810.24941F6476>