Date: Thu, 5 Jun 2003 10:07:28 -0700 From: Marcel Moolenaar <marcel@xcllnt.net> To: Ruslan Ermilov <ru@FreeBSD.org> Cc: cvs-all@FreeBSD.org Subject: Re: cvs commit: src/release Makefile Message-ID: <20030605170728.GA572@dhcp01.pn.xcllnt.net> In-Reply-To: <20030605100007.GA42986@sunbay.com> References: <200306040517.h545HIY1051372@repoman.freebsd.org> <20030605100007.GA42986@sunbay.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On Thu, Jun 05, 2003 at 01:00:07PM +0300, Ruslan Ermilov wrote: > On Tue, Jun 03, 2003 at 10:17:18PM -0700, Marcel Moolenaar wrote: > > marcel 2003/06/03 22:17:18 PDT > > > > FreeBSD src repository > > > > Modified files: > > release Makefile > > Log: > > Have the port readmes follow the same logic as buildworld. We skip > > doing make readmes if /tmp/.skip_ports exists. This file is created > > after a complete run, which avoids that we do the lengthy operation > > again for a rerelease. > > When NOPORTS or NOPORTREADMES are defined, we create the file prior > > to starting the release. > > > > Revision Changes Path > > 1.781 +5 -5 src/release/Makefile > > > I think this is not quite right. Instead, the /tmp/.ports_done > should be created, similar to /tmp/.world_done, when ports are > really done. It is. The wording "complete run" is confusing. I meant a complete run of the make readmes, not of the release itself. > When NOPORTS or NOPORTREADMES are defined, we should just not be > doing the relevant parts of "make release". Which is exactly what happens. By making the different parts of a release cycle optional by checking for the existence of files, you can more easily interfere by creating files or removing them. Files are also a good way to maintain state across make invocations. > And of course, it > should be possible to run "make -DNOPORTS release" first, and be > able to run "make rerelease" later, and get the ports built. It's not that simple AFAICT. If you follow a release -DNOPORTS -DNODOC with a rerelease -DRELEASENOUPDATE, you won't have a ports tree at all so you cannot possibly expect to have all the readmes built. Your rerelease will probably fail. Also, if you follow a release -DNOPORTS -DNODOC with a rerelease without -DRELEASENOUPDATE, it will fail too because it will try to update a non-existing tree and CVS doesn't like that. Yes, if you don't have -DRELEASENOUPDATE and you previously did checkout the ports collection, you'll update the ports tree and we should remove /tmp/.skip_ports, like we remove /tmp/.world_done after updating the source tree. The following patch should achieve that: Index: Makefile =================================================================== RCS file: /home/ncvs/src/release/Makefile,v retrieving revision 1.782 diff -u -r1.782 Makefile --- Makefile 4 Jun 2003 22:24:43 -0000 1.782 +++ Makefile 5 Jun 2003 17:06:23 -0000 @@ -383,6 +383,7 @@ rm -f ${CHROOTDIR}/tmp/.world_done .if !defined(NOPORTS) cd ${CHROOTDIR}/usr/ports && ${CVSPREFIX} cvs -R ${CVSARGS} -q update ${CVSCMDARGS} -P -d + rm -f ${CHROOTDIR}/tmp/.skip_ports .endif .if defined(DOMINIMALDOCPORTS) && ${DOMINIMALDOCPORTS} == "YES" for i in ${MINIMALDOCPORTS}; do \ -- Marcel Moolenaar USPA: A-39004 marcel@xcllnt.net
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20030605170728.GA572>