Skip site navigation (1)Skip section navigation (2)
Date:      Sat, 10 Apr 2010 13:26:53 +0200
From:      Dominic Fandrey <kamikaze@bsdforen.de>
To:        Garrett Cooper <yanefbsd@gmail.com>
Cc:        freebsd-ports@freebsd.org
Subject:   Re: Trivial PR, fix package-noinstall
Message-ID:  <4BC0607D.9060402@bsdforen.de>
In-Reply-To: <u2m7d6fde3d1004100349r3c769f7atb87d06c2dd748e62@mail.gmail.com>
References:  <4BC04503.4000808@bsdforen.de>	 <t2p7d6fde3d1004100318k8b0b622fpaa38c5d942d8d60a@mail.gmail.com>	 <4BC0568E.6000008@bsdforen.de> <u2m7d6fde3d1004100349r3c769f7atb87d06c2dd748e62@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On 10/04/2010 12:49, Garrett Cooper wrote:
> On Sat, Apr 10, 2010 at 3:44 AM, Dominic Fandrey <kamikaze@bsdforen.de> wrote:
>> On 10/04/2010 12:18, Garrett Cooper wrote:
>>> On Sat, Apr 10, 2010 at 2:29 AM, Dominic Fandrey <kamikaze@bsdforen.de> wrote:
>>>> This morning I took a look at my outstanding PRs. There are
>>>> is a ports PR I consider old and trivial:
>>>>
>>>> This one fixes a bug in the package-noinstall target. wxs told
>>>> me that he prefers my proposed fix over his own:
>>>> http://www.freebsd.org/cgi/query-pr.cgi?pr=ports/144164
>>>
>>> This suggested fix completely breaks pkg_creates operation because it
>>> does a chdir(2) prior to package creation (from
>>> .../usr.sbin/pkg_install/create/perform.c:555):
>>>
>>>     if (chdir(log_dir) == FAIL) {
>>>         warnx("can't change directory to '%s'!", log_dir);
>>>         return FALSE;
>>>     }
>>
>> I don't see what appears to be the problem. The fix is tested,
>> there is no chdiring and pkg_create is not modified in any way.
>>
>> All it does is change the parameters pkg_create is called with.
> 
>     Have you tested in the following cases:
> 
> 1. With the pkg_install scripts.
> 2. Without the pkg_install scripts.
> 
>     If not, then you need to do that before asking for someone to
> commit your code :).

The do-package code is used by the package and the package-noinstall
targets.

package-noinstall is called by package-recursive on ALL-DEPENDS.
I.e. it is only used on completely installed packages, just what
"pkg_create -b" was made for.

The regular package target is always run after install (search for
"Main logic" in bsd.port.mk). So do-package is only called after
install has completed, hence the code can, in every case, rely on
logdir containing all required data.

Regards

-- 
A: Because it fouls the order in which people normally read text.
Q: Why is top-posting such a bad thing?
A: Top-posting.
Q: What is the most annoying thing on usenet and in e-mail? 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?4BC0607D.9060402>