Question about PORTEXAMPLES

Chris Rees utisoft at gmail.com
Thu Apr 19 17:43:50 UTC 2012


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 :)

Chris


More information about the freebsd-ports mailing list