Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 07 Feb 2021 17:28:06 -0800
From:      Chris <portmaster@bsdforge.com>
To:        Chris Rees <crees@freebsd.org>
Cc:        ports@freebsd.org
Subject:   Re: Handling directory ownership in pkg-plist
Message-ID:  <223fd53a3efdbc8f2d4879e443a3f425@bsdforge.com>
In-Reply-To: <B902B937-BEF0-4F21-B953-66B0B5696A3A@FreeBSD.org>
References:  <c6b5e1c6-f925-6df0-862e-76ea83fd80cb@rees.space> <623897a8b8aaf941d59f39f2f32e4326@bsdforge.com> <967F2C8E-AD27-4003-A5B7-6B39D1911572@FreeBSD.org> <8932039662e23e447f019a3b98bb9b90@bsdforge.com> <B902B937-BEF0-4F21-B953-66B0B5696A3A@FreeBSD.org>

next in thread | previous in thread | raw e-mail | index | archive | help
On 2021-02-07 12:19, Chris Rees wrote:
> Afternoon,
> 
> On 7 February 2021 19:05:26 GMT, Chris <portmaster@bsdforge.com> wrote:
>> On 2021-02-07 02:18, Chris Rees wrote:
>>> Hi Chris,
>>> 
>>> Thamks for the reply.
>>> 
>>> On 7 February 2021 03:57:03 GMT, Chris <portmaster@bsdforge.com>
>> wrote:
>>>> On 2021-02-06 13:34, Chris Rees wrote:
>>>>> Hi all,
>>>>> 
>>>>> Resurrecting audio/ampache-resurrect, and I have @owner www/@group
>>>> www above
>>>>> all
>>>>> of the WWWDIR files, and they are correctly owned.  However, the
>>>> directories
>>>>> under
>>>>> it are all still owned by root:wheel, and if I explicitly add them
>>>> all with
>>>>> @dir
>>>>> pkg then complains about not being able to find them.
>>>>> 
>>>>> Would it be unacceptable to just have @exec chown -R www:www
>>>> %D/%%WWWDIR%%
>>>>> at the bottom?
>>>> Yes. By way of pre-install:
>>>> You'll probably get a complaint unless you use: ${CHOWN}
>>> 
>>> Perhaps I was unclear- I'm referring to pkg-plist, so there is no
>> ${CHOWN}
>>> there.
>>> 
>>> The exact proposed line is
>>> 
>>> @postexec chown -R www:www %D/%%WWWDIR%%
>>> 
>>> I was wondering what the 'proper' way to do this was.
>> I'm wondering why it's not enough to create a post-extract that doesn't
>> 
>> something
>> like
>> cd ${WRKSRC}/some/dir && ${CHOWN} -R ${WWUSER}:${WWGROUP} .
>> Then the ports framework would create an appropriate pkg-plist based on
>> that.
>> A
>> make -DBATCH makeplist would generate your target pkg-plist.
>> 
>> I'm paraphrasing, as I don't have your Makefile. But I've needed to
>> perform
>> tasks
>> like myself. Out of curiosity. What does a make -DBATCH makeplist
>> generate?
>> Does
>> the output provide the necessary clues to create a pkg-plist you're
>> interested in?
> 
> CHOWN can't be used in the Makefile as you need root.
> 
> make makeplist used after CHOWN does nothing different- it appears not to 
> notice
> that they have different owners.
But what of the pkg-plist for www/kanboard? It has the clues you need for 
setting the
pkg-plist. The ports framework will honor the perms set within it. eg;
@owner %%KANBOARD_USERNAME%%
@group %%KANBOARD_GROUPNAME%%
%%WWWDIR%%/.htaccess
%%WWWDIR%%/ChangeLog
%%WWWDIR%%/LICENSE
%%WWWDIR%%/app/.htaccess
%%WWWDIR%%/app/Action/Base.php
%%WWWDIR%%/app/Action/CommentCreation.php
...

Just change the leader to the @user and @group to your desired names in your
pkg-plist. Save it to your port. Done. :-)
> 
> There is nothing documented on this that I can find, so I'll commit the 
> @postexec line.
> 
> Chris
--Chris



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