cvs commit: src/release Makefile
Marcel Moolenaar
marcel at xcllnt.net
Thu Jun 5 10:07:39 PDT 2003
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 at xcllnt.net
More information about the cvs-src
mailing list