Question about PORTEXAMPLES

Fernando Apesteguía fernando.apesteguia at gmail.com
Thu Apr 19 18:03:45 UTC 2012


On Thu, Apr 19, 2012 at 7:43 PM, Chris Rees <utisoft at gmail.com> wrote:
> On 19 April 2012 17:46, Fernando Apesteguía
> <fernando.apesteguia at gmail.com> wrote:
>> On Wed, Apr 18, 2012 at 7:32 PM, Chris Rees <utisoft at gmail.com> wrote:
>>>
>>> On 18 Apr 2012 18:05, "Fernando Apesteguía" <fernando.apesteguia at gmail.com>
>>> wrote:
>>>>
>>>> Hi all,
>>>>
>>>> I'm working on the port for OpenVSP. Here[1] there is a preliminary
>>>> version.
>>>>
>>>> scheidell suggests simplifying the port using PORTEXAMPLES. I redid the
>>>> Makefile
>>>> a little so it looks like this now (I show only the relevant part):
>>>>
>>>> PORTEXAMPLES=   ${WRKSRC}/../examples/airfoil/*
>>>> PORTEXAMPLES+=  ${WRKSRC}/../examples/cabin/*
>>>> PORTEXAMPLES+=  ${WRKSRC}/../examples/fonts/*
>>>> PORTEXAMPLES+=  ${WRKSRC}/../examples/fuselage/*
>>>> PORTEXAMPLES+=  ${WRKSRC}/../examples/models/*
>>>> PORTEXAMPLES+=  ${WRKSRC}/../examples/setup/*
>>>> PORTEXAMPLES+=  ${WRKSRC}/../examples/textures/*
>>>>
>>>> PLIST_FILES=    bin/vsp
>>>>
>>>> do-fetch:
>>>>        ${FETCH_BINARY} -o ${DISTDIR}/${DISTNAME}.tar.gz
>>>> ${MASTER_SITES}${DISTNAME}
>>>>
>>>> do-install:
>>>>        @${INSTALL_PROGRAM} ${WRKSRC}/vsp/vsp ${PREFIX}/bin
>>>> .if !defined(NOPORTEXAMPLES)
>>>> .for i in airfoil cabin fonts fuselage models setup textures
>>>>        @${MKDIR} ${EXAMPLESDIR}/${i}
>>>>        @${INSTALL_DATA} ${WRKSRC}/../examples/${i}/* ${EXAMPLESDIR}
>>>> .endfor
>>>> .endif
>>>>
>>>> portlint -abt only complains about one single MASTER_SITE configured
>>>> (nothing I can do
>>>> about it).
>>>>
>>>> However, 'port test' shows the following:
>>>>
>>>> ===>   Deinstalling openvsp-2.0
>>>> pkg_delete: unable to completely remove directory
>>>> '/tmp/openvsp-2.0/share/examples/openvsp'
>>>> pkg_delete: couldn't entirely delete package `openvsp-2.0'
>>>> (perhaps the packing list is incorrectly specified?)
>>>>
>>>> I don't get why this happens. What I want is to keep the same
>>>> hierarchy the package has. This is,
>>>> having the subdirectories 'airfoil', 'cabin', etc. hanging from the
>>>> port's EXAMPLESDIR.
>>>>
>>>> Any help is appreciated.
>>>>
>>>> Cheers.
>>>>
>>>> PS: Please, CC me as I'm not subscribed to the list. Thanks!
>>>>
>>>> [1] http://www.freebsd.org/cgi/query-pr.cgi?pr=166825
>>>>
>>>
>>> PORTEXAMPLES=* will work fine for the plist; don't use PORTEXAMPLES in the
>>> for loop.
>>
>> I changed to PORTEXAMPLES=${WRKSRC}/../examples/*
>> this handles the whole tree hierarchy.
>
> Hm, that's actually incorrect.  PORTEXAMPLES should be relative to EXAMPLESDIR.
>
>> I don't see the other thing... I'm not using PORTEXAMPLES in the loop.
>> I'm traversing
>> all the examples directories to create them and install the files with
>> INSTALL_DATA.
>> Is it possible to install the whole hierarchy at once?
>> I saw the following line in /usr/ports/audio/hs-ALUT
>>
>> INSTALL_PORTEXAMPLES=   @(cd ${WRKSRC}/examples/ && ${COPYTREE_SHARE}
>> \* ${EXAMPLESDIR})
>>
>> and then use it this way:
>>
>> .if !defined(NOPORTEXAMPLES)
>>        @${MKDIR} ${EXAMPLESDIR}
>>        @${INSTALL_PORTEXAMPLES}
>> .endif
>>
>>>
>>> Your problem is that you aren't removing the subdirs below EXAMPLESDIR.
>>
>> Should I delete them by hand or is there a way to mark the
>> PORTEXAMPLES hierarchy to be wiped out?
>>
>
> No, just use PORTEXAMPLES=* as I suggested before :)

And... you're absolutely right :)

Now port test reports no errors.

Thank you!

>
> Chris


More information about the freebsd-ports mailing list