From owner-freebsd-ports@FreeBSD.ORG Wed Oct 20 17:19:57 2010 Return-Path: Delivered-To: ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 48E6710656BF for ; Wed, 20 Oct 2010 17:19:57 +0000 (UTC) (envelope-from jhelfman@experts-exchange.com) Received: from mail.experts-exchange.com (mail.experts-exchange.com [72.29.183.251]) by mx1.freebsd.org (Postfix) with ESMTP id 261EC8FC1B for ; Wed, 20 Oct 2010 17:19:56 +0000 (UTC) Received: from mail.experts-exchange.com (localhost [127.0.0.1]) by mail.experts-exchange.com (Postfix) with ESMTP id C63F1F2F6B7; Wed, 20 Oct 2010 10:19:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d= experts-exchange.com; h=content-transfer-encoding:content-type :content-type:mime-version:x-mailer:references:in-reply-to :message-id:subject:subject:from:from:date:date:received :received; s=ee; t=1287595196; x=1289409596; bh=NSYhuKyDEr9NRNga u2r8n2f3XegatNu9zromd2Yur3Y=; b=NzpLM6YkKYCoFXOw9kq2ZWh4/5r8tqEG iopCrCQcVXlZqNnaH2obta/SFdpqa7jXB6LleKs56MH4C4w06vjYBrAioksgItO5 l6ABInJQUzBbB68gl/8avq93JIDuFszskGCpnWp3jJS2FRzRHqiDRSY1u8XAeFsv /lX9Au0BZQI= X-Virus-Scanned: amavisd-new at experts-exchange.com Received: from mail.experts-exchange.com ([127.0.0.1]) by mail.experts-exchange.com (mail.experts-exchange.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id QqGdI9w47OIK; Wed, 20 Oct 2010 10:19:56 -0700 (PDT) Received: from eggman (unknown [192.168.103.122]) (using TLSv1 with cipher DHE-RSA-AES128-SHA (128/128 bits)) (No client certificate requested) by mail.experts-exchange.com (Postfix) with ESMTPS id 73790F2F56B; Wed, 20 Oct 2010 10:19:56 -0700 (PDT) Date: Wed, 20 Oct 2010 10:17:07 -0700 From: Jason Helfman To: Florent Thoumie Message-ID: <20101020101707.76a1719c@eggman> In-Reply-To: References: <20101019174642.665f9ad3@eggman> X-Mailer: Claws Mail 3.7.6 (GTK+ 2.20.1; i386-portbld-freebsd7.3) Mime-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Cc: ports@freebsd.org Subject: Re: issue with pkg_add X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 20 Oct 2010 17:19:57 -0000 On Wed, 20 Oct 2010 09:13:32 +0100 Florent Thoumie wrote: > On Wed, Oct 20, 2010 at 1:46 AM, Jason Helfman > 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 =C2=A0 =C2=A0 =C2=A0 =C2=A0 =C2=A0user > > GROUPS=3D =C2=A0 =C2=A0 =C2=A0 =C2=A0 user_work > > BINOWN=3D =C2=A0 =C2=A0 =C2=A0 =C2=A0 user > > BINGRP=3D =C2=A0 =C2=A0 =C2=A0 =C2=A0 user_work > > BINMODE=3D =C2=A0 =C2=A0 =C2=A0 =C2=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 =C2=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 =C2=A0-c "user" > > -d /home/user -s /usr/sbin/nologin; fi' failed >=20 > 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 found that the group that was being added already existed under a different gid. The user was being added with a gid that didn't exist, however the group name did. After blowing away the jail and removing the group, pkg_add installed the package with no issue. >=20 > > 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. > > I re-tested this process after blowing away the jail and found that pkg_add is not looking at these files. > > Has anyone run into this issue? Any assumptions I am making? Any > > flawed logic in testing? >=20 > 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 Thanks! jgh