Re: 'make release' tries to build a port?
On Wed, Jul 10, 2002 at 10:25:52AM +0900, Makoto Matsushita wrote: reichert Unfortunately, I had to delve into other bits of mystery and wonder: reichert - The Makefile in usr/src/release; that's where KERNEL_FLAGS and reichert WORLD_FLAGS are mentioned. Ya, it should be documented in release(7) IMO... reichert Now, if only I could automate a relationship between reichert RELEASETAG and BUILDNAME... You can set both RELEASETAG and BUILDNAME in your own shell script which kicks make release. That's just a shell-script programming problem:) That's essentially what I've done, but I don't know what the _relationship_ between them are. RELEASETAGBUILDNAME RELENG_4_4_0_RELEASE 4.4-RELEASE RELENG_4_5_0_RELEASE 4.5-RELEASE RELENG_4 4.6-STABLE? If FreeBSD were to maintain a 4.7-STABLE tree, the RELEASETAG would not change, but the BUILDNAME would. How to I transform a RELEASETAG into a BUILDNAME? I suspect I really need some meta-knowledge about what tags are in the CVS tree... -- - Makoto `MAR' Matsushita -- Brian 'you Bastard' Reichert[EMAIL PROTECTED] 37 Crystal Ave. #303Daytime number: (603) 434-6842 Derry NH 03038-1713 USA Intel architecture: the left-hand path To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: 'make release' tries to build a port?
On Sun, Jul 07, 2002 at 09:45:08PM -0400, Brian Reichert wrote: On Sun, Jul 07, 2002 at 03:18:55PM +0900, Makoto Matsushita wrote: WORLD_FLAGS and/or KERNEL_FLAGS don't work for you? reichert 'make -j 10 release' didn't work. Again, WORLD_FLAGS and/or KERNEL_FLAGS don't work for you? Sorry, you did ask a specific question. No, I hadn't tried those flags, so I can't say that they would have worked... I can now say that KERNEL_FLAGS, WORLD_FLAGS _did_ work; thanks for pointing me in the right direction... env CHROOTDIR=/usr/build/release \ CVSROOT=/home/ncvs RELEASETAG=RELENG_4_5_0_RELEASE \ WORLD_FLAGS='-j10' KERNEL_FLAGS='-j10' NOPORTS=YES \ NOPORTREADMES=YES BUILDNAME=4.5-RELEASE tcsh cd /usr cvs co -r $RELEASETAG src cd src \ /usr/bin/time make $WORLD_FLAGS buildworld \ cd release /usr/bin/time make release ... 2693.85 real 2818.31 user 1007.08 sys make release started on Tue Jul 9 16:59:46 GMT 2002 ... make release finished on Tue Jul 9 20:09:15 GMT 2002 11430.88 real 10129.49 user 2374.93 sys For the members of the viewing audience, in addition to Makoto Matsushita's direction, I was aided by the brand-spanking-new release(7) manpage: http://www.freebsd.org/cgi/man.cgi?query=release and Murray Stokely's document The Release Engineering of FreeBSD 4.4 available from: http://people.freebsd.org/~murray/#publications Unfortunately, I had to delve into other bits of mystery and wonder: - The Makefile in usr/src/release; that's where KERNEL_FLAGS and WORLD_FLAGS are mentioned. - I ran into grief with the build of ports whose distfiles come from Sourceforge; my workaround was to rummage though usr/src/release/Makefile.inc.docports to find the 'minimal' list of ports used for the document toolchain, and actually go through the hassle of installing them outright on the base system. Way down deep in the 'make release' phase, these ports are copied from /usr/ports, so any work I could in advance only saved time... Now, if only I could automate a relationship between RELEASETAG and BUILDNAME... -- Brian 'you Bastard' Reichert[EMAIL PROTECTED] 37 Crystal Ave. #303Daytime number: (603) 434-6842 Derry NH 03038-1713 USA Intel architecture: the left-hand path To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: 'make release' tries to build a port?
reichert Unfortunately, I had to delve into other bits of mystery and wonder: reichert - The Makefile in usr/src/release; that's where KERNEL_FLAGS and reichert WORLD_FLAGS are mentioned. Ya, it should be documented in release(7) IMO... reichert Now, if only I could automate a relationship between reichert RELEASETAG and BUILDNAME... You can set both RELEASETAG and BUILDNAME in your own shell script which kicks make release. That's just a shell-script programming problem:) -- - Makoto `MAR' Matsushita To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: 'make release' tries to build a port?
On Wed, Jul 03, 2002 at 11:33:04AM +0900, Makoto Matsushita wrote: src/release/Makefile assumes that src/release directory is actually /usr/src/release. It seems that your source code location is /home/src. Woo-hoo! I finally got a 'make release' to work! Thanks for everyone's pointers... I had to pre-install on my base system the MINIMALDOCPORTS snarl of stuff, and given that a dozen or so distfiles are hosted on Sourceforge, so you can't make an automated install of them. Maybe I should pester the mailtainers of those respective ports... It was rather disappointing that I couldn't run 'make release' in parallel via the '-j' option, though. :/ One last question, that only vaguely applies to this topic: How disparate can the host OS version be from the version I'm trying to make a release of? (My host OS is 4.5-RELEASE; what the 'newest' version of the OS that I could sucessfully perform a 'make release' of without upgrading? Still scrounging various docs...) -- - Makoto `MAR' Matsushita To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message -- Brian 'you Bastard' Reichert[EMAIL PROTECTED] 37 Crystal Ave. #303Daytime number: (603) 434-6842 Derry NH 03038-1713 USA Intel architecture: the left-hand path To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: 'make release' tries to build a port?
reichert It was rather disappointing that I couldn't run 'make release' in reichert parallel via the '-j' option, though. :/ WORLD_FLAGS and/or KERNEL_FLAGS don't work for you? reichert How disparate can the host OS version be from the version reichert I'm trying to make a release of? Same branch should work. Different branch may or may not work. It is known that recent 5-current can be built on a recent 4-stable environment. -- - Makoto `MAR' Matsushita To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: 'make release' tries to build a port?
On Sun, Jul 07, 2002 at 03:41:28AM +0900, Makoto Matsushita wrote: reichert It was rather disappointing that I couldn't run 'make release' in reichert parallel via the '-j' option, though. :/ WORLD_FLAGS and/or KERNEL_FLAGS don't work for you? 'make -j 10 release' didn't work. reichert How disparate can the host OS version be from the version reichert I'm trying to make a release of? Same branch should work. Different branch may or may not work. It is known that recent 5-current can be built on a recent 4-stable environment. (I recall that recent announcement.) Making RELENG_4 (which I _think_ maps to -STABLE) did not build under 4.5-RELEASE: === Patching for ghostscript-gnu-nox11-7.05_1 === Applying FreeBSD patches for ghostscript-gnu-nox11-7.05_1 /usr/local/bin/sed_inplace: not found -- - Makoto `MAR' Matsushita To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message -- Brian 'you Bastard' Reichert[EMAIL PROTECTED] 37 Crystal Ave. #303Daytime number: (603) 434-6842 Derry NH 03038-1713 USA Intel architecture: the left-hand path To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: 'make release' tries to build a port?
WORLD_FLAGS and/or KERNEL_FLAGS don't work for you? reichert 'make -j 10 release' didn't work. Again, WORLD_FLAGS and/or KERNEL_FLAGS don't work for you? Yes, it would be better that whole release procedure works with make -jN, but most of the time spent is make buildworld/buildkernel during make release, so setting WORLD_FLAGS/KERNEL_FLAGS may be enough to do. reichert === Patching for ghostscript-gnu-nox11-7.05_1 reichert === Applying FreeBSD patches for ghostscript-gnu-nox11-7.05_1 reichert /usr/local/bin/sed_inplace: not found IMHO it is a ports issue. -- - Makoto `MAR' Matsushita To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
'make release' tries to build a port?
I'm mucking with 'make release' under 4.5-RELEASE, and keep running into a stumbling block: When the documentation toolset is being built in the chrooted environment, at one point docbook-dsssl-doc is built, among other things, via ports. Regrettably, this is hosted on Sourceforge, who've interposed a 'pick-a-mirror' webpage when you attempt to do a regular http download. So, the port build fails, and 'make release' fails, and rerunning 'make release' scrubs all of your work. I seem to have two options: - convince Sourceforge to unbreak themselves, or - install these documentation tools on my system, and make them somehow available in the chrooted environment. I'm trying the latter: I was able to circumvent Sourceforge enough to get the port installed. I _think_ I need to affect src/etc/mtree/BSD.usr.dist to reflect the /usr/local/share/sgml/docbook tree, but I may be wrong. My only effort to edit this file resulted in an even worse 'make release' effort; I must be misunderstanding the syntax of that file. Does anyone have any advice on how to get the 'make release' chroot environment to take advantage of the ports I've already got installed? Or have I missed the point entirely? Thanks for your time... -- Brian 'you Bastard' Reichert[EMAIL PROTECTED] 37 Crystal Ave. #303Daytime number: (603) 434-6842 Derry NH 03038-1713 USA Intel architecture: the left-hand path To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: 'make release' tries to build a port?
On 2 Jul, Brian Reichert wrote: I'm mucking with 'make release' under 4.5-RELEASE, and keep running into a stumbling block: When the documentation toolset is being built in the chrooted environment, at one point docbook-dsssl-doc is built, among other things, via ports. Regrettably, this is hosted on Sourceforge, who've interposed a 'pick-a-mirror' webpage when you attempt to do a regular http download. So, the port build fails, and 'make release' fails, and rerunning 'make release' scrubs all of your work. I seem to have two options: - convince Sourceforge to unbreak themselves, or - install these documentation tools on my system, and make them somehow available in the chrooted environment. Try manually downloading a copy of the distfile into your non-chrooted /usr/ports/distfiles directory. make release copies all your distfiles into the chrooted environment. To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: 'make release' tries to build a port?
On Tue, Jul 02, 2002 at 03:46:18PM -0700, Don Lewis wrote: On 2 Jul, Brian Reichert wrote: I'm mucking with 'make release' under 4.5-RELEASE, and keep running into a stumbling block: When the documentation toolset is being built in the chrooted environment, at one point docbook-dsssl-doc is built, among other things, via ports. Regrettably, this is hosted on Sourceforge, who've interposed a 'pick-a-mirror' webpage when you attempt to do a regular http download. So, the port build fails, and 'make release' fails, and rerunning 'make release' scrubs all of your work. I seem to have two options: - convince Sourceforge to unbreak themselves, or - install these documentation tools on my system, and make them somehow available in the chrooted environment. Try manually downloading a copy of the distfile into your non-chrooted /usr/ports/distfiles directory. make release copies all your distfiles into the chrooted environment. I did copy those file to my /usr/ports/distfiles manually, in preperation for installing them in the base system; % ls -ld /usr/ports/distfiles/docb* -rw-r--r-- 1 root ports 61031 Jan 10 1997 /usr/ports/distfiles/docbk30.tar.Z -rw--- 1 root ports 336295 Jun 30 02:44 /usr/ports/distfiles/docbook-dsssl-1.73.tar.gz -rw-r--r-- 1 root ports 217706 Jun 30 20:32 /usr/ports/distfiles/docbook-dsssl-doc-1.73.tar.gz But, not all of /usr/ports/distfiles is copied into the chrooted directory. I have well over a hundred files there, and oly a dozen or so got subsequently fetched. I've saved a typescript of my efforts, if you think perusing that would be helpful. I ran 'make release' thusly: /usr/bin/time make release \ CHROOTDIR=/home/release \ BUILDNAME=4.5-RELEASE \ CVSROOT=/home/ncvs \ RELEASETAG=RELENG_4_5_0_RELEASE in a script session. The resulting typescript has this line in it (I've wrapped it): if [ -d /home/src/release/../../ports/distfiles/ ]; then cp -rp /home/src/release/../../ports/distfiles /home/release/usr/ports/distfiles; fi And sure enough. /home/src/release/../../ports/distfiles/ is not congruent to /usr/src/distfiles. In fact, I don't see where in that typescript file the distfiles tree is copied at all. Did I mis-invoke make? If anyone cares, here's a typescript of my efforts: http://www.numachi.com/~reichert/misc/typescript.make_release.1025660080 Again, thanks for your time... -- Brian 'you Bastard' Reichert[EMAIL PROTECTED] 37 Crystal Ave. #303Daytime number: (603) 434-6842 Derry NH 03038-1713 USA Intel architecture: the left-hand path To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: 'make release' tries to build a port?
src/release/Makefile assumes that src/release directory is actually /usr/src/release. It seems that your source code location is /home/src. reichert /usr/bin/time make release \ reichert CHROOTDIR=/home/release \ reichert BUILDNAME=4.5-RELEASE \ reichert CVSROOT=/home/ncvs \ reichert RELEASETAG=RELENG_4_5_0_RELEASE DOCDISTFILES=/your/ports/distfile/directory will help you. Note that this variable name is changed to 'RELEASEDISTFILES' in recent 4-stable. If you want to learn more about make release, read release(7) manual available in recent 4-stable. Also src/release/Makefile will help you:) -- - Makoto `MAR' Matsushita To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message
Re: 'make release' tries to build a port?
On Wed, Jul 03, 2002 at 11:33:04AM +0900, Makoto Matsushita wrote: src/release/Makefile assumes that src/release directory is actually /usr/src/release. It seems that your source code location is /home/src. I hoped hoped that symlinks would solve that problem. :/ reichert /usr/bin/time make release \ reichert CHROOTDIR=/home/release \ reichert BUILDNAME=4.5-RELEASE \ reichert CVSROOT=/home/ncvs \ reichert RELEASETAG=RELENG_4_5_0_RELEASE DOCDISTFILES=/your/ports/distfile/directory will help you. Note that this variable name is changed to 'RELEASEDISTFILES' in recent 4-stable. If you want to learn more about make release, read release(7) manual available in recent 4-stable. Also src/release/Makefile will help you:) Ah, thank you for the pointer! My only other one was: http://people.freebsd.org/~murray/#publications The Release Engineering of FreeBSD 4.4, Conference Proceedings, BSDCon Europe 2001 A very helpful PDF file... Off I go, for more poking... -- - Makoto `MAR' Matsushita -- Brian 'you Bastard' Reichert[EMAIL PROTECTED] 37 Crystal Ave. #303Daytime number: (603) 434-6842 Derry NH 03038-1713 USA Intel architecture: the left-hand path To Unsubscribe: send mail to [EMAIL PROTECTED] with unsubscribe freebsd-hackers in the body of the message