Re: Confused by what make package should do

From: Chris <portmaster_at_bsdforge.com>
Date: Fri, 12 Apr 2024 20:07:49 UTC
On 2024-04-12 13:03, Matthew Phillips wrote:
> On Fri, Apr 12, 2024 at 12:57:41PM -0700, Chris wrote:
>> On 2024-04-12 12:50, Matthew Phillips wrote:
>> > On Fri, Apr 12, 2024 at 09:30:14PM +0200, Dag-Erling Smørgrav wrote:
>> > > Kurt Hackenberg <kh@panix.com> writes:
>> > > > Matthew Phillips <matthew@matthewphillips.info> writes:
>> > > > > It's trying to install the port itself. To /usr/local/bin specifically.
>> > > > > It seems like it's running `make install` on the ports Makefile.
>> > > > From man ports(7): "package   Make a binary package for the port.  The
>> > > > port will be installed if it has not already been."
>> > >
>> > > This is both true, in that the `package` target implies the `stage`
>> > > target with does run `make install` in $WRKSRC, and highly misleading,
>> > > because the `stage` target does not install the port to your machine,
>> > > which would require superuser privileges, but to a staging directory,
>> > > which does not.  The `install` target, which implies the `package`
>> > > target, uses `pkg add` to install the package to your machine.
>> >
>> > Thank you! This is the missing piece I didn't understand. It's starting
>> > to come together for me.
>> >
>> > So now I think it's a problem with the port's Makefile `install` target.
>> > The install target does this:
>> >
>> >         install -m 755 snac $(PREFIX)/bin/snac
>> >
>> > So I think what I need to do is patch the Makefile to include DESTDIR
>> > like so:
>> >
>> >         install -m 755 snac $(DESTDIR)$(PREFIX)/bin/snac
>> Those should be curly braces, not parentheses, fe;
>>     ${DESTDIR}
> 
> This is inside of the project's Makefile, not the port Makefile. I'm
> patching it to account for DESTDIR because PREFIX is /usr/local.
Sorry. You're correct. I assumed it was part of a pre/post.install block in 
the
port Makefile. I'll shut up now. :)

-- 
--Chris Hutchinson