Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 19 Aug 1998 19:22:39 -0700 (PDT)
From:      asami@FreeBSD.ORG (Satoshi Asami)
To:        jb@cimlogic.com.au
Cc:        ports@FreeBSD.ORG, jdp@FreeBSD.ORG
Subject:   ELF transition for ports (Re: rayshade port)
Message-ID:  <199808200222.TAA01443@bubble.didi.com>
In-Reply-To: <199808200113.LAA04138@cimlogic.com.au> (message from John Birrell on Thu, 20 Aug 1998 11:13:03 %2B1000 (EST))

next in thread | previous in thread | raw e-mail | index | archive | help
 * From: John Birrell  <jb@cimlogic.com.au>

By the way, I believe "the other John" (jdp) is also on the ports list
so I'm just going to continue here.  John P., feel free to take
yourself out of the CC: list if you are indeed on the list.  (haha)

 * So, let me see if I'm understanding, by reinstalling these ports, you're
 * expecting the aout libraries to get reinstalled in /usr/local/lib/aout?

No.  I meant after the day the switch is thrown (I'm going to call it
"E-day", for simplicity).  We won't be able to generate a.out
libraries anymore, right?

My plan is something like:

pre-E-day: tell people that they need to be well prepared, in
     particuar that they are not supposed to do *anything* (make
     world, rebuild ports, etc.) until they understand the procedure
     listed below or their system will be hosed

E-day: you guys throw the switch

post-E-day:

 (1) people running current (PRCs) do a "for i in /usr/local
     /usr/X11R6; do cd $i/lib; mkdir aout; mv lib*.so* aout; mv lib*.a
     aout; done"

 (2) PRCs edit their /etc/rc to make ldconfig (which I understand is to
     remain as an aout-only utility) scan /usr/local/lib/aout and
     /usr/X11R6/lib/aout

 (3) PRCs do a make world, reboot

 (4) porters fix ports to correctly build ELF libraries if running on
     a 3.0-current system

 (5) PRCs reinstall ports that are fixed in (4)

 (6) porters fix ports to correctly use ELF libraries

 (7) PRCs reinstall ports that are fixed in (6), if necessary

Obviously, there can be a lot of parallelism here.  The only real
dependencies are (1) -> (2) -> (3) -> (5), (4) -> (5), (6) -> (7), (4)
-> (6) and (5) -> (7).

 * > still work.  (Assuming LD_LIBRARY_PATH overrides -R...does it?)
 * 
 * I think it does except for setuid programs.

Ok.

 * The "planned" date is Sept 1. This leaves 6 weeks for working the bogons
 * out before the release of 3.0.

Eek.  You guys think 6 weeks is enough to fix a few dozen ports that
build shared libraries and whatever more that use them? :<

Sorry, but I don't expect 3.0 to ship with too many packages if it's
going to be that late.  6 weeks, of which the last couple need to be
spent in beta testing and package building, is not going to be enough
by a wide margin.

 * FWIW, I have sucessfully upgraded both a 2.2.5 and 2.2.6 system to
 * current with a single make. Now I need to make up a test case to see

Wow. :)

 * what happens to ports. Can you suggest a few ports that contain all
 * the issues that need to be addressed? I'm aware of the ldconfig issue
 * in bsd.port.mk.

Oh yes, ldconfig.  What should we do to find shared libraries now?

As for ports that contain all the issues, anything with a large number
of dependencies to shared libraries and those that do weird things
like dumping itself should do.  My suggestion would be:

graphics/ImageMagick (will pull in half of graphics/, so watch your disks)
editers/emacs20 and xemacs20 (you may want to try mule versions too)
x11/kde (will pull in half of the ports tree, so watch your disks)
net/cvsup (depends on whether jdp can fix modula-3)

If you can get those five to work, that should cover most of the
issues.  (I know cvsup is not particularly big but it's very widely
used so I included it here.)  Speaking of modula-3 (-lib), it includes
its own shared library directory but I'm assuming jdp will provide an
adequate upgrade procedure with the port so I didn't include it in (1)
above.

Satoshi

To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-ports" in the body of the message



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?199808200222.TAA01443>