vfs/extfs/rpm

Jakub Jelinek jakub at redhat.com
Fri Jan 21 12:50:42 UTC 2005


On Fri, Jan 21, 2005 at 01:46:29PM +0100, Roland Illig wrote:
> I just noticed that we quoted too much in the rpm script. After applying 
> the patch, rpm works again for me, using rpm-2.5.4 on NetBSD.
> 
> But I'm a little bit confused about the bug report that is mentioned in 
> out script:
>     https://bugzilla.redhat.com/bugzilla/show_bug.cgi?id=64007

Are you sure the rpm you're using doesn't have some patches applied
that change the escaping behaviour?
Standard rpm really needs that level of escaping to get through
popt unescaping.

> --- rpm	3 Sep 2004 21:23:05 -0000	1.22
> +++ rpm	21 Jan 2005 12:43:21 -0000
> @@ -25,10 +25,13 @@ else
>    RPM="rpm"
>  fi
>  RPM2CPIO="rpm2cpio"
> -SED="sed"
> -# Surround the whole filename with single quotes and handle specially
> -# \', ' and \ at the end of the string.
> -SEDCMD="s/\\(\\\\\\?\\)'/'\\1\\1\\\\''/g;s/\\\\\$/'\\\\\\\\'/;s/^/'/;s/\$/'/"
> +
> +mcrpmfs_quote() {
> +  case "$1" in
> +    /*) echo "$1";;
> +    *) echo "./$1";;
> +  esac
> +}
>  
>  mcrpmfs_list ()
>  {
> @@ -38,7 +41,7 @@ mcrpmfs_list ()
>      if test -z "$MCFASTRPM"; then
>        MCFASTRPM=$MCFASTRPM_DFLT
>      fi
> -    f="`echo "$1" | $SED "$SEDCMD"`"
> +    f=`mcrpmfs_quote "$1"`
>      FILEPREF="-r--r--r--   1 root     root    "
>      DESC=`$RPM -qip "$f" 2>/dev/null` || {
>  	echo "$FILEPREF 0 "`date +"%b %d %H:%M"`" ERROR"
> @@ -133,7 +136,7 @@ mcrpmfs_list ()
>  
>  mcrpmfs_copyout ()
>  {
> -    f="`echo "$1" | $SED "$SEDCMD"`"
> +    f=`mcrpmfs_quote "$1"`
>      case "$2" in
>  	HEADER) $RPM -qip "$f" > "$3"; exit 0;;
>  	INSTALL) echo "# Run this to install this RPM package" > "$3"; exit 0;;
> @@ -175,7 +178,7 @@ mcrpmfs_copyout ()
>  
>  mcrpmfs_run ()
>  {
> -    f="`echo "$1" | $SED "$SEDCMD"`"
> +    f=`mcrpmfs_quote "$1"`
>      case "$2" in
>  	INSTALL) echo "Installing \"\"$f\"\""; $RPM -ivh "$f"; exit 0;;
>  	UPGRADE) echo "Upgrading \"\"$f\"\""; $RPM -Uvh "$f"; exit 0;;

	Jakub



More information about the mc-devel mailing list