Handling directory ownership in pkg-plist

Chris Rees crees at bayofrum.net
Mon Feb 8 16:12:38 UTC 2021



On 8 February 2021 08:01:22 GMT, Chris Rees <crees at FreeBSD.org> wrote:
>
>
>On 8 February 2021 01:28:06 GMT, Chris <portmaster at bsdforge.com> wrote:
>>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.
>
>I need the directories also owned by www.
>
>This doesn't achieve that.
>

Solution was in fact to list it under @dir.  I guess I must have had duplicate @dir lines when I did it last time, hence the errors.

Chris

-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.



More information about the freebsd-ports mailing list