Date: Thu, 23 Dec 2004 14:31:34 -0500 From: John Baldwin <jhb@FreeBSD.org> To: Paul Richards <paul@originative.co.uk> Cc: Paul Richards <paul@FreeBSD.org> Subject: Re: cvs commit: src/share/mk bsd.pkg.mk bsd.prog.mk Message-ID: <200412231431.34459.jhb@FreeBSD.org> In-Reply-To: <20041221003754.GA778@myrddin.originative.co.uk> References: <200412201546.iBKFkuTK047592@repoman.freebsd.org> <20041220212838.GA89640@ip.net.ua> <20041221003754.GA778@myrddin.originative.co.uk>
next in thread | previous in thread | raw e-mail | index | archive | help
On Monday 20 December 2004 07:37 pm, Paul Richards wrote: > On Mon, Dec 20, 2004 at 11:28:38PM +0200, Ruslan Ermilov wrote: > > On Mon, Dec 20, 2004 at 03:52:00PM +0000, Paul Richards wrote: > > > On Mon, Dec 20, 2004 at 03:46:56PM +0000, Paul Richards wrote: > > > > paul 2004-12-20 15:46:56 UTC > > > > > > > > FreeBSD src repository > > > > > > > > Modified files: > > > > share/mk bsd.prog.mk > > > > Added files: > > > > share/mk bsd.pkg.mk > > > > Log: > > > > If PORTNAME is set in a system Makefile then hook into the ports > > > > mechanisms to allow a package to be created. This paves the way > > > > for packaging the main tree. > > > > > > This is 90% working, I can create packages in the src tree by adding > > > the following: > > > > > > e.g for cat > > > > > > PROG= cat > > > PORTNAME=cat > > > PORTVERSION= 1 > > > PORTREVISION= 1 > > > CATEGORIES=bin > > > > > > There are some loose ends though that need tidying up, particularly > > > clashes with some main targets in the ports makefile. I could do > > > with some ports people to help clean things up but decided it was > > > time to commit it to get other people involved. It's a non-intrusive > > > addition at the moment until it's switched on in a Makefile. > > > > I think 90% is overestimation. This doesn't seem to handle FILES, > > SCRIPTS, etc., at all that are so common in BSD makefiles. Or am > > I wrong? I like the idea though... > > You're probably right. I've got a plan to add an option to install > that takes a package name and generates the plist as it does the > install so that things work properly. My initial aim was to show that > it's actually pretty simple to integrate the ports makefile > infrastructure into the main BSD mk files. > > I've discussed offline with Colin a little bit and his approach is > very different. My motivation is that I use the BSD mk files a lot in > third party code, since it's a really nice development infrastructure > and I wanted to be able to combine using the BSD mk files and also > having an easy way to create packages. > > For that reason I wanted a solution that is not tied to the system > build mechanism, which Colin's proposal is, but instead allows you > to use the excellent build env that FreeBSD has for developing code > that is outside of the FreeBSD tree. This approach allows that but > I accept that there's a fair bit more to do before it's finished. > > I'm hoping that someone who understands our mk files better than I > do, especially the ports side of things, can develop the concept > further so that it's more polished. > > I'll be working on the install patches next since that's a piece of > the solution that needs doing, so if someone picks up the mk files > part of it I'd be very grateful. I do this for TWC software, but the way that I do it is to do a make install into a destination tree via DESTDIR and then use find to generate my plist from that when I build the package. -- John Baldwin <jhb@FreeBSD.org> <>< http://www.FreeBSD.org/~jhb/ "Power Users Use the Power to Serve" = http://www.FreeBSD.org
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200412231431.34459.jhb>