Subject: pkg/26551: pkgtools/pkg_tarup crashes when invoked as a normal user
To: None <gnats-bugs@gnats.NetBSD.org>
From: None <dgriffi@cs.csubak.edu>
List: pkgsrc-bugs
Date: 08/04/2004 22:26:03
>Number:         26551
>Category:       pkg
>Synopsis:       pkgtools/pkg_tarup crashes when invoked as a normal user
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Thu Aug 05 00:51:00 UTC 2004
>Closed-Date:
>Last-Modified:
>Originator:     David Griffith
>Release:        1.6.1
>Organization:
>Environment:
NetBSD zaphod 1.6.2 NetBSD 1.6.2 (ZAPHOD) #0: Sat Jun  5 04:50:05 PDT 2004     dave@arthur:/usr/src/sys/arch/i386/compile/ZAPHOD i386

>Description:
Attempting to create a package with pkg_tarup while a nonroot user, the following happens:

zaphod:~$ pkg_tarup foobar
Becoming root@zaphod to create a binary package
/usr/bin/su Password:
Illegal variable name.
zaphod:~$ 

This does not happen when the user is root (ie, using sudo), but it is rather annoying.
>How-To-Repeat:
See above
>Fix:
It seems clear to me that the following section of code in the pkg_tarup script is at fault:

if [ `${ID} -u` != 0 ]; then
        ${ECHO} "Becoming root@`/bin/hostname` to create a binary package"
        ${ECHO} -n "`${ECHO} ${SU} | ${SED} -e's/[[:space:]].*//'` ";\
        exec ${SU} root -c "$0 \"\$@\"" "$0" "$@"
fi

Those escapes, which appeared in pkg_tarup 1.6, used with the exec call seem to be the problem.  I don't know just what is being attempted there.  Whoever did it, please explain and hopefully fix it.

>Release-Note:
>Audit-Trail:
>Unformatted: