Date: Wed, 20 Oct 2010 09:13:32 +0100 From: Florent Thoumie <flz@xbsd.org> To: Jason Helfman <jhelfman@experts-exchange.com> Cc: ports@freebsd.org Subject: Re: issue with pkg_add Message-ID: <AANLkTimNSvW3GX71GiGoAJW7%2BtNVeqZFpjQD0Ko5OQc4@mail.gmail.com> In-Reply-To: <20101019174642.665f9ad3@eggman> References: <20101019174642.665f9ad3@eggman>
next in thread | previous in thread | raw e-mail | index | archive | help
On Wed, Oct 20, 2010 at 1:46 AM, Jason Helfman <jhelfman@experts-exchange.com> wrote: > > Hi, > > I believe I may have come across a potential bug in pkg_add, but wanted > to write my findings out to see if anyone has seen this issue, or knows > of something I may be doing wrong. > > I wrote a port that uses USERS/GROUPS functionality of ports. > > USERS=3D =A0 =A0 =A0 =A0 =A0user > GROUPS=3D =A0 =A0 =A0 =A0 user_work > BINOWN=3D =A0 =A0 =A0 =A0 user > BINGRP=3D =A0 =A0 =A0 =A0 user_work > BINMODE=3D =A0 =A0 =A0 =A04110 > > These are the exec lines in my +CONTENTS file (assume one line for > each exec, they were wrapped): > @exec if ! /usr/sbin/pw groupshow user_work >/dev/null 2>&1; > then /usr/sbin/pw groupadd user_work -g 999; fi > @exec if ! /usr/sbin/pw usershow user >/dev/null 2>&1; > then /usr/sbin/pw useradd user -u 999 -g 999 =A0-c "user" -d /home/user > -s /usr/sbin/nologin; fi > > I found that on my desktop with a ports tree installed that this port > and package installed with no issue, however I found that if I tried to > install the package in a jail with no ports tree and nothing installed > that it failed with this error: > > pw: group `999' does not exist > pkg_add: command 'if ! /usr/sbin/pw usershow user >/dev/null 2>&1; then /= usr/sbin/pw useradd user -u 999 -g 999 =A0-c "user" -d /home/user -s /usr/s= bin/nologin; fi' failed You may want to run pkg_add -v and see if the group is created properly by the preceding @exec line and if not, why. > I removed all remnants of the installation (these packages were all > successful builds in Tinderbox), including installed users/groups. I > copied my UIDs and GIDs files to an empty /usr/ports directory. So the > only files under /usr/ports were UIDs and GIDs. > > With these files in place, I reran the pkg_add command on the port > package I created and it installed the user and group with no issue, > with correct permissions and modes on the files. > > With this testing, it appears that pkg_add is looking > at /usr/ports/UIDs and /usr/ports/GIDs for information on installing a > port package, even-though all of the information required for an > installation appears to be in my port package. > > Has anyone run into this issue? Any assumptions I am making? Any flawed > logic in testing? I haven't tried to install packages in a jail lately but having written the USERS/GROUPS logic in bsd.port.mk, the package shouldn't need a ports tree to be installed properly. --=20 Florent Thoumie flz@FreeBSD.org FreeBSD Committer
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?AANLkTimNSvW3GX71GiGoAJW7%2BtNVeqZFpjQD0Ko5OQc4>