Question about PORTEXAMPLES

Fernando Apesteguía fernando.apesteguia at gmail.com
Thu Apr 19 16:46:07 UTC 2012


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.

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?

Thanks in advance.

>
> Chris


More information about the freebsd-ports mailing list