make[1]: cannot open Makefile for new custom port

Joseph Ward jbwlists at hilltopgroup.com
Sat Jun 23 22:24:09 UTC 2018


This was the problem, thank you! 

I added the following lines and it worked.

do-install:
        @cd ${WRKSRC}/ && ${COPYTREE_SHARE} . ${STAGEDIR}/


On 06/23/2018 17:45, Matthew Seaman wrote:
> On 23/06/2018 19:36, Joseph Ward wrote:
>> I'm attempting to use make makeplist to create the initial pkg-plist as
>> there are a lot of files present, and I'm getting the following error:
>>
>> # make makeplist
>> ===>  License BSD4CLAUSE accepted by the user
>> ===>   nebula-db-0.1 depends on file: /usr/local/sbin/pkg - found
>> ===> Fetching all distfiles required by nebula-db-0.1 for building
>> ===>  Extracting for nebula-db-0.1
>> => SHA256 Checksum OK for nebula-db-0.1.tar.gz.
>> ===>  Patching for nebula-db-0.1
>> ===>  Configuring for nebula-db-0.1
>> ===>  Staging for nebula-db-0.1
>> ===>   Generating temporary packing list
>> make[1]: cannot open Makefile.
>>
>> make[1]: stopped in
>> /usr/local/poudriere/ports/nebula/misc/nebula-db/work/nebula-db-0.1
>> *** Error code 2
>>
>> Stop.
>> make: stopped in /usr/local/poudriere/ports/nebula/misc/nebula-db
>>
>>
>>
>> I get this when I do "make stage" as well.
>>
>>
>> I tried tracing what's going on in bsd.port.mk, but I have to admit that
>> I got pretty lost.
>>
>>
>> my Makefile is (using "set list" in vi in case non-printable characters
>> matter):
>>
>> # $FreeBSD$$
>> $
>> PORTNAME=^Inebula-db$
>> DISTVERSION=^I0.1$
>> CATEGORIES=^Imisc$
>> MASTER_SITES=^Ifile:///root/jail_ports/files/$
>> $
>> MAINTAINER=^Ime at hilltopgroup.com$
>> COMMENT=^IJail containing postgres for the nebula system$
>> $
>> LICENSE=^IBSD4CLAUSE$
>> $
>> NO_BUILD=^Iyes$
>> ONLY_FOR_ARCHS=^Iamd64$
>> ONLY_FOR_ARCHS_REASON=^Ipre-built jail on amd64$
>> $
>> NO_WRKSUBDIR=^Iyes$
>> $
>> .include <bsd.port.mk>$
>>
>>
>> And at that.. I'm stuck.  If it would help, I can post the actual
>> distfile on a server and provide the link, but it's a tar.gz file
>> containing a /usr/local/jail/db directory which is just a populated jail.
>>
>> Thanks in advance for any help you can provide,
> You haven't specified an install target in your Makefile, so the ports
> is going to try the default action of 'make install ...' in your
> extracted $WRKSRC directory.  That won't work without a Makefile; hence
> the error you're seeing.  Note that the 'install' target is used to copy
> the files into /staging/ -- there are historical reasons why this target
> is called 'install' rather than anything to do with the word staging.
>
> There's a NO_INSTALL variable you could use, analogously to NO_BUILD, to
> prevent the ports doing anything at all for that step.
>
> However, NO_INSTALL is usually used for meta-ports that only exist for
> their dependencies and that don't install any actual files, so it may
> not be the right answer for you.
>
> You will need to arrange for all your extracted files to end up in
> $STAGEDIR somehow if you want 'makeplist' to work -- a typical way of
> doing that is using one or more of the COPYTREE_* macros as part of the
> install target. This is the way that many ports which don't do any
> actual compilation work.  See www/phpsysinfo as a nice and simple example.
>
> 	Cheers,
>
> 	Matthew
>
>
>
>



More information about the freebsd-ports mailing list