Handling directory ownership in pkg-plist
Chris
portmaster at bsdforge.com
Mon Feb 8 01:27:45 UTC 2021
On 2021-02-07 12:19, Chris Rees wrote:
> Afternoon,
>
> On 7 February 2021 19:05:26 GMT, Chris <portmaster at 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 at 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
More information about the freebsd-ports
mailing list