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