Date: Sat, 23 Jun 2018 18:22:06 -0400 From: Joseph Ward <jbwlists@hilltopgroup.com> To: freebsd-ports@freebsd.org Subject: Re: make[1]: cannot open Makefile for new custom port Message-ID: <107670ff-1ea5-9518-0793-99f9bc0bce26@hilltopgroup.com> In-Reply-To: <0668390b-31e9-80e6-6261-590bff577bef@FreeBSD.org> References: <8334d290-ba31-111e-6d14-804016b2267a@hilltopgroup.com> <0668390b-31e9-80e6-6261-590bff577bef@FreeBSD.org>
next in thread | previous in thread | raw e-mail | index | archive | help
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@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 > > > >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?107670ff-1ea5-9518-0793-99f9bc0bce26>