Re: FreeBSD/i386 "make release" breakage

2002-02-26 Thread David O'Brien

On Tue, Feb 26, 2002 at 05:30:50AM -0800, [EMAIL PROTECTED] wrote:
>2. Use the existing boot_crunch.conf, but move sbin/dhclient/* back
>   to a single top-level Makefile.  This does not work at the
>   moment, because the objects in each subdirectory are built with
>   different command line options to conditionally compile
>   different parts of the header files.

Also there is at least one filename that is the same in two of the
directories.  We can work around this at import time thru a
FREEBSD-updating set of instructions.  (or even better, get ISC to rename
them).

I can work around the CFLAGS issue if desired.


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: FreeBSD/i386 "make release" breakage

2002-02-26 Thread David O'Brien

On Tue, Feb 26, 2002 at 06:39:22PM +0900, Makoto Matsushita wrote:
> Note that new dhclient requires some libraries which are *not*
> installed to /usr/lib (libdhcp, libres, libomapi, and libdst).

They are built and linked statically.  This is not possible with
crunch_gen?

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: FreeBSD/i386 "make release" breakage

2002-02-26 Thread Murray Stokely

On Wed, Feb 27, 2002 at 12:19:01AM +0900, Makoto Matsushita wrote:
> murray> I'm currently looking into #2 and #3, as well as working with Ted
> murray> Lemon from the ISC to fix some symbol pollution that this whole mess
> murray> has exposed.  Any other ideas?
> 
> Currently nothing, it seems that #3 (or its variant) is better IMHO.

  Ok.  Fixed in r1.15 of sbin/dhclient/Makefile.  I'm not sure if make
release will succeed now (just started a build), but release.4 will at
least build a crunched dhclient again.

- Murray

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: FreeBSD/i386 "make release" breakage

2002-02-26 Thread Makoto Matsushita


murray> I'm currently looking into #2 and #3, as well as working with Ted
murray> Lemon from the ISC to fix some symbol pollution that this whole mess
murray> has exposed.  Any other ideas?

Currently nothing, it seems that #3 (or its variant) is better IMHO.

-- -
Makoto `MAR' Matsushita

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: FreeBSD/i386 "make release" breakage

2002-02-26 Thread murray


On Tue, Feb 26, 2002 at 06:39:22PM +0900, Makoto Matsushita wrote:
> Note that new dhclient requires some libraries which are *not*
> installed to /usr/lib (libdhcp, libres, libomapi, and libdst).

Installing them to /usr/lib wouldn't help for the crunched case
anyway.

> I have tried a quick hack to solve this; here is a patch to boot_crunch.conf.

  I tried a different approach and I was able to build a properly
brunched dhclient.  However, src/release/Makefile tries to rebuild all
of the object files so my near-fix still falls over when building a
release.

There are several possible ways to solve this problem :

   1. Use the existing boot_crunch.conf, but fix crunchgen(1) to
  recurse into subdirectories to find object files.  This would
  require significant changes to the way that crunchgen currently
  works.

   2. Use the existing boot_crunch.conf, but move sbin/dhclient/* back
  to a single top-level Makefile.  This does not work at the
  moment, because the objects in each subdirectory are built with
  different command line options to conditionally compile
  different parts of the header files.

   3. Add an explicit OBJ list in the top level dhclient Makefile
  wrapped in a .ifdef (RELEASE_CRUNCH).  This works well to build
  a crunched dhclient binary, however, src/release/Makefile tries
  to rebuild all of the objects individually, and gets confused
  when asked to rebuild 'client/clparse.o' from the top level, for
  example.  src/release/Makefile could be changed to fix this.

I'm currently looking into #2 and #3, as well as working with Ted
Lemon from the ISC to fix some symbol pollution that this whole mess
has exposed.  Any other ideas?

  - Murray

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: FreeBSD/i386 "make release" breakage

2002-02-26 Thread Makoto Matsushita


matusita> Current 5-current fails 'make release' when processing release.4
matusita> target (making a crunch binary).  Here's sample session:
matusita>   ===> doc
matusita>   rm -f cpio.info cpio.info.gz
matusita>   rm -f .depend /usr/obj/usr/src/gnu/usr.bin/cpio/GPATH
matusita>   /usr/obj/usr/src/gnu/usr.bin/cpio/GRTAGS
matusita>   /usr/obj/usr/src/gnu/usr.bin/cpio/GSYMS
matusita>   /usr/obj/usr/src/gnu/usr.bin/cpio/GTAGS
matusita>   ===> doc
matusita>   make: don't know how to make dhclient_clean. Stop

This is because

- src/sbin/dhclient/Makefile was changed (with ISC DHCP 3.x commit)
- but src/release/${arch}/boot_crunch.conf is not changed
- crunchgen(1) doesn't understands new src/sbin/dhclient/Makefile

Note that new dhclient requires some libraries which are *not*
installed to /usr/lib (libdhcp, libres, libomapi, and libdst).

I have tried a quick hack to solve this; here is a patch to boot_crunch.conf.

--- /usr/src/release/i386/boot_crunch.conf  Fri Jan 18 05:28:10 2002
+++ boot_crunch.confTue Feb 26 09:10:51 2002
@@ -10,8 +10,12 @@
 srcdirs /usr/src/gnu/usr.bin
 progs cpio
 
+srcdirs /usr/src/sbin/dhclient
+progs client
+ln client dhclient
+
 srcdirs /usr/src/sbin
-progs dhclient fsck_ffs ifconfig
+progs fsck_ffs ifconfig
 progs mount_nfs newfs route rtsol
 progs slattach tunefs camcontrol
 
@@ -27,3 +31,7 @@
 
 libs -ll -ledit -lutil -lkvm -lmd -lcrypt -lftpio -lz -lnetgraph
 libs -ldialog -lncurses -ldisk -lcam -lsbuf
+libs /usr/obj/usr/src/sbin/dhclient/common/libdhcp.a
+libs /usr/obj/usr/src/sbin/dhclient/minires/libres.a
+libs /usr/obj/usr/src/sbin/dhclient/omapip/libomapi.a
+libs /usr/obj/usr/src/sbin/dhclient/dst/libdst.a

Absolutely dirty (filepath are inlined), but this does *not* work.
Here is a sample session:

% cd /usr/src/release
% make release.4
(... stuffs there ...)
cc -static -o boot_crunch boot_crunch.o hostname.lo pwd.lo rm.lo sh.lo test.lo cpio.lo 
client.lo fsck_ffs.lo ifconfig.lo mount_nfs.lo newfs.lo route.lo rtsol.lo slattach.lo 
tunefs.lo camcontrol.lo find.lo minigzip.lo sed.lo arp.lo pccardc.lo pccardd.lo ppp.lo 
sysinstall.lo usbd.lo usbdevs.lo -ll -ledit -lutil -lkvm -lmd -lcrypt -lftpio -lz 
-lnetgraph -ldialog -lncurses -ldisk -lcam -lsbuf 
/usr/obj/usr/src/sbin/dhclient/common/libdhcp.a 
/usr/obj/usr/src/sbin/dhclient/minires/libres.a 
/usr/obj/usr/src/sbin/dhclient/omapip/libomapi.a 
/usr/obj/usr/src/sbin/dhclient/dst/libdst.a
/usr/obj/usr/src/sbin/dhclient/common/libdhcp.a(tree.o): In function 
`evaluate_boolean_expression':
tree.o(.text+0x1372): undefined reference to `check_collection'
/usr/obj/usr/src/sbin/dhclient/common/libdhcp.a(parse.o): In function 
`parse_executable_statement':
parse.o(.text+0x26b5): undefined reference to `find_class'
parse.o(.text+0x2859): undefined reference to `parse_allow_deny'
/usr/obj/usr/src/sbin/dhclient/common/libdhcp.a(options.o): In function `do_packet':
options.o(.text+0x30e1): undefined reference to `dhcp'
options.o(.text+0x30ef): undefined reference to `bootp'
/usr/obj/usr/src/sbin/dhclient/common/libdhcp.a(execute.o): In function 
`execute_statements':
execute.o(.text+0x306): undefined reference to `classify'
/usr/obj/usr/src/sbin/dhclient/common/libdhcp.a(comapi.o): In function 
`dhcp_control_set_value':
comapi.o(.text+0xb16): undefined reference to `dhcp_set_control_state'
*** Error code 1

Stop in /usr/obj/usr/src/release/boot_crunch.
*** Error code 1

Stop in /usr/src/release.
%

These 'undefined reference' symbols are actually defined by dhclient's
source code, but it is not there (maybe renamed by crunchgen(1)).

Are there any good way to fix this?

-- -
Makoto `MAR' Matsushita

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: FreeBSD/i386 "make release" breakage

2002-02-24 Thread Makoto Matsushita


null> After the cvs checkout completes:

Ah, big sorry... I just fixed in src/release/Makefile rev 1.658.

-- -
Makoto `MAR' Matsushita

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: FreeBSD/i386 "make release" breakage

2002-02-24 Thread Manfred Antar

At 01:27 PM 2/25/2002 +0900, Makoto Matsushita wrote:

>Current 5-current fails 'make release' when processing release.4
>target (making a crunch binary).  Here's sample session:
>
>===> doc
>rm -f cpio.info cpio.info.gz
>rm -f .depend /usr/obj/usr/src/gnu/usr.bin/cpio/GPATH
>/usr/obj/usr/src/gnu/usr.bin/cpio/GRTAGS
>/usr/obj/usr/src/gnu/usr.bin/cpio/GSYMS
>/usr/obj/usr/src/gnu/usr.bin/cpio/GTAGS
>===> doc
>make: don't know how to make dhclient_clean. Stop
>
>src/sbin/dhclient/Makefile doesn't know 'dhclient_clean' target.
>
>% cd /usr/src/sbin/dhclient
>% make -n dhclient_clean
>make: don't know how to make dhclient_clean. Stop
>
>It seems that crunchgen misunderstands src/sbin/dhclient/Makefile,
>and fails to generate a Makefile for crunch binary.
>
>-- -
>Makoto `MAR' Matsushita
>
>To Unsubscribe: send mail to [EMAIL PROTECTED]
>with "unsubscribe freebsd-current" in the body of the message 

Makoto
I can't even get that far. On current as of today:

make release BUILDNAME=5.0-20020224-CURRENT \
CHROOTDIR=/usr/tmp/release/5.0-20020224-CURRENT \
CVSROOT=/usr/home/ncvs NOPORTS=YES |  tee /usr/src/release/release.log

After the cvs checkout completes:

cvs checkout: Updating doc/zh_TW.Big5/share
cvs checkout: Updating doc/zh_TW.Big5/share/sgml
U doc/zh_TW.Big5/share/sgml/catalog
U doc/zh_TW.Big5/share/sgml/freebsd.dsl
if [ -d /usr/src/release/../../ports/distfiles/ ]; then  cp -rp 
/usr/src/release/../../ports/distfiles 
/usr/tmp/release/5.0-20020224-CURRENT/usr/ports/distfiles;  else  mkdir -p 
/usr/tmp/release/5.0-20020224-CURRENT/usr/ports/distfiles  fi
Syntax error: end of file unexpected (expecting "fi")
*** Error code 2
Stop in /usr/src/release.

Manfred
==
||  [EMAIL PROTECTED]   ||
||  Ph. (415) 681-6235  ||
==


To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



Re: FreeBSD/i386 "make release" breakage

2002-02-24 Thread Makoto Matsushita


Ouch.

matusita> src/sbin/dhclient/Makefile doesn't know 'dhclient_clean' target.

Of course that's normal, dhclient_clean target should be created by crunchgen.

-- -
Makoto `MAR' Matsushita

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message



FreeBSD/i386 "make release" breakage

2002-02-24 Thread Makoto Matsushita


Current 5-current fails 'make release' when processing release.4
target (making a crunch binary).  Here's sample session:

===> doc
rm -f cpio.info cpio.info.gz
rm -f .depend /usr/obj/usr/src/gnu/usr.bin/cpio/GPATH
/usr/obj/usr/src/gnu/usr.bin/cpio/GRTAGS
/usr/obj/usr/src/gnu/usr.bin/cpio/GSYMS
/usr/obj/usr/src/gnu/usr.bin/cpio/GTAGS
===> doc
make: don't know how to make dhclient_clean. Stop

src/sbin/dhclient/Makefile doesn't know 'dhclient_clean' target.

% cd /usr/src/sbin/dhclient
% make -n dhclient_clean
make: don't know how to make dhclient_clean. Stop

It seems that crunchgen misunderstands src/sbin/dhclient/Makefile,
and fails to generate a Makefile for crunch binary.

-- -
Makoto `MAR' Matsushita

To Unsubscribe: send mail to [EMAIL PROTECTED]
with "unsubscribe freebsd-current" in the body of the message