From owner-freebsd-ports@FreeBSD.ORG Tue May 15 17:14:59 2012 Return-Path: Delivered-To: freebsd-ports@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 5213C106564A; Tue, 15 May 2012 17:14:59 +0000 (UTC) (envelope-from fernando.apesteguia@gmail.com) Received: from mail-lb0-f182.google.com (mail-lb0-f182.google.com [209.85.217.182]) by mx1.freebsd.org (Postfix) with ESMTP id 8C1618FC12; Tue, 15 May 2012 17:14:58 +0000 (UTC) Received: by lbon10 with SMTP id n10so5975712lbo.13 for ; Tue, 15 May 2012 10:14:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20120113; h=mime-version:in-reply-to:references:date:message-id:subject:from:to :cc:content-type:content-transfer-encoding; bh=f35xkbkq6mTfd82ZC1hRYV5min0PXU6/nvYVB0cDidY=; b=SxQucxnq34vYKuMWVAzGsb8i5tImGAzvRAeEFDBFjbaH63yqyAigjugZRAvunvrsug tu5hMoFf8EsWj1Z7SLXeMjYE60/MgwdVkspl1C7RNBFcui1Tb5ukhDmC4XTgnTGD6E3V IUY/uqc/hyOSviaGw6ssDxBhfbPGzuKROrVAEn7NfJas1lm/0FkbUunv28v+NUgcygKx fZ+Kdw2FNioulY3HsJlo/9aBTf5MSuqlFNpYSNdLJphzBlROuJnWPLY+ur9LbCLEJHSN LkKN/MbOFGfDpSPGK0KDy6bvdQ6KdMiULVfmZocbV0WWu4xIFH2W6c0DjR1VsvCHwcZz HIzQ== MIME-Version: 1.0 Received: by 10.112.82.165 with SMTP id j5mr5396883lby.50.1337102097068; Tue, 15 May 2012 10:14:57 -0700 (PDT) Received: by 10.152.24.131 with HTTP; Tue, 15 May 2012 10:14:56 -0700 (PDT) In-Reply-To: References: Date: Tue, 15 May 2012 19:14:56 +0200 Message-ID: From: =?ISO-8859-1?Q?Fernando_Apestegu=EDa?= To: Chris Rees Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Cc: freebsd-ports@freebsd.org Subject: Re: On file installation X-BeenThere: freebsd-ports@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: Porting software to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Tue, 15 May 2012 17:14:59 -0000 On Mon, May 14, 2012 at 7:40 PM, Fernando Apestegu=EDa wrote: > On Mon, May 14, 2012 at 7:31 PM, Chris Rees wrote: >> On 14 May 2012 18:23, Fernando Apestegu=EDa wrote: >>> Hi, >>> >>> I'm working on a port for an application written in Java and I'm >>> having some problems deciding how to install the application. >>> Previous to the installation, the WRKSRC directory contains some .jar >>> files and some directories along with some .txt files for >>> licenses, but also some .exe and .bat files _which I don't want to >>> install_. It is basically a package that contains both files for >>> windows and non-windows systems. >>> >>> I was thinking on using COPYTREE_SHARE to install everything and then >>> remove the non necessary files, but doesn't look like >>> an elegant solution. Also, I wouldn't like to explicitly specify every >>> one of the files I want to copy. Is there a way of using something >>> similar to bash's extglob so I can copy !(*.exe|*bat)? If not, how to p= roceed? >>> >>> I already looked at the existent ports to find something similar but >>> it seems hard to find. I also had a look at bsd.port.mk but >>> I couldn't find what I'm looking for. >> >> You can use find primaries with COPYTREE_SHARE such as; >> >> (cd ${WRKSRC}/wherever && ${COPYTREE_SHARE} \* >> ${JAVALIBDIR}/${PORTNAME}/wherever "-not -name \*.exe -and -not -name >> \*.bat" > > Thanks! I think that is what I was looking for :) Sorry guys, but I think I need more help :). I tried with the following lin= e: ( cd ${WRKSRC}/JDownloader && ${COPYTREE_SHARE} \* ${PREFIX}/${PORTNAME}/ "! -name \*.exe" ) but it doesn't seem to follow primaries and it still installs the .exe files. I just tried with: ( cd ${WRKSRC}/JDownloader && ${COPYTREE_SHARE} \* ${PREFIX}/${PORTNAME}/ "! -name JDownloader.exe" ) and check that effectively the file is not installed so I suppose this has something to do with quoting and escaping special characters (the asterisk). I found the following line in audio/xmp/Makefile: ( cd ${WRKSRC}/docs && ${COPYTREE_SHARE} \* \ ${DOCSDIR} '! ( -name Makefile -or -name xmp.1 \ -or -name *.bak -or -name *.orig )' ) that seems pretty close to what I'm trying to do, so I tried with this: ( cd ${WRKSRC}/JDownloader && ${COPYTREE_SHARE} \* ${PREFIX}/${PORTNAME}/ '! ( -name *.exe )' ) but then, the asterisk is expanded and find fails: find: JDownloader.exe: unknown primary or operator what am I doing wrong? Thanks in advance. > > I'll give it a try. > >> >> Chris