Can we please get a ports exp-run, to test the effectiveness of the bmake conversion. The "patch" is a script in a tarball on freefall in ~sjg/ports2bmake.tar.gz How-To-Repeat: untar ports2bmake.tar.gz run the script either in ports or with arg pointing to it
Responsible Changed From-To: freebsd-ports-bugs->linimon take.
FYI I have updated ~sjg/ports2bmake.tar.gz on freefall. Smoke tested on a clean 7.4-RELEASE install.
State Changed From-To: open->open I am no longer in a position to test this.
Responsible Changed From-To: linimon->portmgr
FYI I just re-tested http://people.freebsd.org/~sjg/ports2bmake.tar.gz on ports tree updated today (r315771).
This method won't fit any of the clean builder correctly. First it will require to rebuild bmake prior to each package building which will bring an important overhead. Second, on the builders like pointyhat and poudriere the network is not available except for make fetch phase, and only the distfiles specified by the port we are trying to build are available. Meaning that building bmake will fail. regards, Bapt
>This method won't fit any of the clean builder correctly. For the setup you describe, it does not sound like anything outside of the base OS can work? Is it unreasonable to suggest that people who want to operate in the way you describe, should first install bmake in /usr/bin ? Once bmake is available (in /usr/bin or /usr/local/bin), ports should "just work". The automatic fetch/install of bmake is to help normal ports users on older releases. Systems like pointyhat - are not exactly "normal" ? Thanks --sjg
Author: sjg Date: Wed May 1 23:58:39 2013 New Revision: 250164 URL: http://svnweb.freebsd.org/changeset/base/250164 Log: Local hack to allow smooth transition for ports. bsd.port.mk can set .MAKE.FreeBSD_UL=yes to cause :L and :U to have their old behavior. This should be reverted when 8.3 is EOL. PR: 173299 Reviewed by: obrien Modified: head/contrib/bmake/var.c Modified: head/contrib/bmake/var.c ============================================================================== --- head/contrib/bmake/var.c Wed May 1 23:04:29 2013 (r250163) +++ head/contrib/bmake/var.c Wed May 1 23:58:39 2013 (r250164) @@ -140,6 +140,17 @@ __RCSID("$NetBSD: var.c,v 1.173 2013/02/ #include "job.h" /* + * XXX transition hack for FreeBSD ports. + * bsd.port.mk can set .MAKE.FreeBSD_UL=yes + * to cause us to treat :[LU] as aliases for :t[lu] + * To be reverted when ports converts to :t[lu] (when 8.3 is EOL) + */ +#define MAKE_FREEBSD_UL ".MAKE.FreeBSD_UL" +#ifdef MAKE_FREEBSD_UL +static int FreeBSD_UL = FALSE; +#endif + +/* * This lets us tell if we have replaced the original environ * (which we cannot free). */ @@ -965,6 +976,11 @@ Var_Set(const char *name, const char *va setenv(MAKE_LEVEL_SAFE, tmp, 1); #endif } +#ifdef MAKE_FREEBSD_UL + if (strcmp(MAKE_FREEBSD_UL, name) == 0) { + FreeBSD_UL = getBoolean(MAKE_FREEBSD_UL, FALSE); + } +#endif out: @@ -2660,8 +2676,24 @@ ApplyModifiers(char *nstr, const char *t free(loop.str); break; } - case 'D': case 'U': +#ifdef MAKE_FREEBSD_UL + if (FreeBSD_UL) { + int nc = tstr[1]; + + /* we have to be careful, since :U is used internally */ + if (nc == ':' || nc == endc) { + char *dp = bmake_strdup(nstr); + for (newStr = dp; *dp; dp++) + *dp = toupper((unsigned char)*dp); + cp = tstr + 1; + termc = *cp; + break; /* yes inside the conditional */ + } + /* FALLTHROUGH */ + } +#endif + case 'D': { Buffer buf; /* Buffer for patterns */ int wantit; /* want data in buffer */ @@ -2721,6 +2753,17 @@ ApplyModifiers(char *nstr, const char *t break; } case 'L': +#ifdef MAKE_FREEBSD_UL + if (FreeBSD_UL) { + char *dp = bmake_strdup(nstr); + for (newStr = dp; *dp; dp++) + *dp = tolower((unsigned char)*dp); + cp = tstr + 1; + termc = *cp; + break; + } + /* FALLTHROUGH */ +#endif { if ((v->flags & VAR_JUNK) != 0) v->flags |= VAR_KEEP; _______________________________________________ svn-src-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-src-all To unsubscribe, send any mail to "svn-src-all-unsubscribe@freebsd.org"
Responsible Changed From-To: portmgr->bapt Taken for exp-run on recent current with make(1) being bmake(1)
Author: trociny (src committer) Date: Sat May 4 13:07:38 2013 New Revision: 317313 URL: http://svnweb.freebsd.org/changeset/ports/317313 Log: Add a local hack from base (r250164) to allow smooth transition for ports: bsd.port.mk can set .MAKE.FreeBSD_UL=yes to cause :L and :U to have their old behavior. The change is not planned to upstream, thus added as a patch. This should be reverted when 8.3 is EOL. Suggested by: bapt Discussed with: sjg PR: ports/173299 Approved by: bapt Added: head/devel/bmake/files/ head/devel/bmake/files/patch-var.c (contents, props changed) Modified: head/devel/bmake/Makefile Modified: head/devel/bmake/Makefile ============================================================================== --- head/devel/bmake/Makefile Sat May 4 12:52:28 2013 (r317312) +++ head/devel/bmake/Makefile Sat May 4 13:07:38 2013 (r317313) @@ -3,6 +3,7 @@ PORTNAME= bmake PORTVERSION= 20130330 +PORTREVISION= 1 CATEGORIES= devel MASTER_SITES= ftp://ftp.netbsd.org/pub/NetBSD/misc/sjg/ \ http://www.gtlib.cc.gatech.edu/pub/NetBSD/misc/sjg/ \ Added: head/devel/bmake/files/patch-var.c ============================================================================== --- /dev/null 00:00:00 1970 (empty, because file is newly added) +++ head/devel/bmake/files/patch-var.c Sat May 4 13:07:38 2013 (r317313) @@ -0,0 +1,87 @@ +------------------------------------------------------------------------ +r250164 | sjg | 2013-05-02 02:58:39 +0300 (Thu, 02 May 2013) | 8 lines + +Local hack to allow smooth transition for ports. +bsd.port.mk can set .MAKE.FreeBSD_UL=yes +to cause :L and :U to have their old behavior. +This should be reverted when 8.3 is EOL. + +PR: 173299 +Reviewed by: obrien + +--- var.c.orig 2013-03-04 03:01:57.000000000 +0200 ++++ var.c 2013-05-04 10:28:21.832274582 +0300 +@@ -140,6 +140,17 @@ __RCSID("$NetBSD: var.c,v 1.173 2013/02/ + #include "job.h" + + /* ++ * XXX transition hack for FreeBSD ports. ++ * bsd.port.mk can set .MAKE.FreeBSD_UL=yes ++ * to cause us to treat :[LU] as aliases for :t[lu] ++ * To be reverted when ports converts to :t[lu] (when 8.3 is EOL) ++ */ ++#define MAKE_FREEBSD_UL ".MAKE.FreeBSD_UL" ++#ifdef MAKE_FREEBSD_UL ++static int FreeBSD_UL = FALSE; ++#endif ++ ++/* + * This lets us tell if we have replaced the original environ + * (which we cannot free). + */ +@@ -965,6 +976,11 @@ Var_Set(const char *name, const char *va + setenv(MAKE_LEVEL_SAFE, tmp, 1); + #endif + } ++#ifdef MAKE_FREEBSD_UL ++ if (strcmp(MAKE_FREEBSD_UL, name) == 0) { ++ FreeBSD_UL = getBoolean(MAKE_FREEBSD_UL, FALSE); ++ } ++#endif + + + out: +@@ -2660,8 +2676,24 @@ ApplyModifiers(char *nstr, const char *t + free(loop.str); + break; + } +- case 'D': + case 'U': ++#ifdef MAKE_FREEBSD_UL ++ if (FreeBSD_UL) { ++ int nc = tstr[1]; ++ ++ /* we have to be careful, since :U is used internally */ ++ if (nc == ':' || nc == endc) { ++ char *dp = bmake_strdup(nstr); ++ for (newStr = dp; *dp; dp++) ++ *dp = toupper((unsigned char)*dp); ++ cp = tstr + 1; ++ termc = *cp; ++ break; /* yes inside the conditional */ ++ } ++ /* FALLTHROUGH */ ++ } ++#endif ++ case 'D': + { + Buffer buf; /* Buffer for patterns */ + int wantit; /* want data in buffer */ +@@ -2721,6 +2753,17 @@ ApplyModifiers(char *nstr, const char *t + break; + } + case 'L': ++#ifdef MAKE_FREEBSD_UL ++ if (FreeBSD_UL) { ++ char *dp = bmake_strdup(nstr); ++ for (newStr = dp; *dp; dp++) ++ *dp = tolower((unsigned char)*dp); ++ cp = tstr + 1; ++ termc = *cp; ++ break; ++ } ++ /* FALLTHROUGH */ ++#endif + { + if ((v->flags & VAR_JUNK) != 0) + v->flags |= VAR_KEEP; _______________________________________________ svn-ports-all@freebsd.org mailing list http://lists.freebsd.org/mailman/listinfo/svn-ports-all To unsubscribe, send any mail to "svn-ports-all-unsubscribe@freebsd.org"
The ports tree on current is still in very bad shape but I don't see anymore errors due to bmake specifically. You have my approval as portmgr to switch base make to bmake. regards, Bapt
Responsible Changed From-To: bapt->sjg portmgr approved
Thanks very much for your help. >You have my approval as portmgr to switch base make to bmake.
State Changed From-To: open->closed Done