Date: Tue, 21 Dec 2004 00:37:54 +0000 From: Paul Richards <paul@originative.co.uk> To: Ruslan Ermilov <ru@FreeBSD.org> Cc: Paul Richards <paul@FreeBSD.org> Subject: Re: cvs commit: src/share/mk bsd.pkg.mk bsd.prog.mk Message-ID: <20041221003754.GA778@myrddin.originative.co.uk> In-Reply-To: <20041220212838.GA89640@ip.net.ua> References: <200412201546.iBKFkuTK047592@repoman.freebsd.org> <20041220155200.GA1447@myrddin.originative.co.uk> <20041220212838.GA89640@ip.net.ua>
next in thread | previous in thread | raw e-mail | index | archive | help
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. Paul.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20041221003754.GA778>