Upgrade script
Kris Kennaway
kris at obsecurity.org
Sun Apr 15 02:13:01 UTC 2007
On Sun, Apr 15, 2007 at 04:00:53AM +0200, Dejan Lesjak wrote:
> On Sunday 15 April 2007 03:20:35 Kris Kennaway wrote:
> > Actually this script is not doing enough: the problem is that even
> > after all the portrevisions will be bumped, a portupgrade -a will not
> > install most of the new xorg packages, and the user will be left with
> > a non-working hybrid (I guess no-one actually tested the upgrade part
> > yet :-).
>
> Erm, yes it was, a couple of times in vmware - fresh install of xorg,
> windowmaker, xine (as they both go in X11BASE). All the xorg 7.2 libs ports
> were installed.
>
> > i.e. when xorg-libraries is upgraded from 6.9 to 7.2, most of the
> > dependency checks for things that now live in sub-packages will pass
> > (since they look for files also installed by xorg 6.9), so most of the
> > new ports won't be installed.
>
> They shouldn't just pass. xorg-libraries meta-port is looking for .pc files
> for dependencies, not libraries, for exactly this purpose. Also the
> dependecies are under RUN_DEPENDS so portupgrade installs them after removing
> old version of xorg-libraries (ie it does equivalent of (cd portdir && make
> build && make deinstall && make install)), at least it did so the last time I
> upgraded.
OK, it looks like you are right - sorry for implying you hadnt tested
it. However::
> > I confirmed this on an attempted
> > upgrade of an xorg 6.9 machine.
>
> What was missing from 7.2?
libXau failed, followed by:
** Listing the failed packages (*:skipped / !:failed)
! x11/xorg-libraries (xorg-libraries-6.9.0_1) (Failed to rewrite /var/db/pkg/xorg-libraries-6.9.0_1/+CONTENTS: No such file or directory - /var/db/
pkg/xorg-libraries-6.9.0_1/+CONTENTS)
! x11-servers/xorg-server (xorg-server-6.9.0_6) (X libraries missing)
! x11-toolkits/open-motif (open-motif-2.2.3_2) (X libraries missing)
! graphics/libglut (libglut-6.4.2) (X libraries missing)
! x11-toolkits/qt33 (qt-copy-3.3.8) (X libraries missing)
! x11-servers/xorg-printserver (xorg-printserver-6.9.0_2) (X libraries missing)
! print/ghostscript-afpl (ghostscript-afpl-8.54_2,1) (checksum mismatch)
! x11-servers/xorg-nestserver (xorg-nestserver-6.9.0_1) (X libraries missing)
! graphics/dri (dri-6.4.1,2) (X libraries missing)
! misc/gnome-mime-data (gnome-mime-data-2.4.3) (uninstall error)
! x11-fonts/xfs (xorg-fontserver-6.9.0_1) (X libraries missing)
! x11-servers/xorg-vfbserver (xorg-vfbserver-6.9.0_2) (X libraries missing)
! x11/xorg-apps (xorg-clients-6.9.0_3) (uninstall error)
! x11-toolkits/pango (pango-1.16.1) (X libraries missing)
! multimedia/gstreamer80 (gstreamer80-0.8.12_2) (X libraries missing)
! x11-toolkits/tk84 (tk-8.4.14_4,2) (X libraries missing)
! sysutils/hal (hal-0.5.8.20070324) (uninstall error)
===> libXft-2.1.12 depends on executable in : fc-cache - found
===> libXft-2.1.12 depends on file: /usr/local/libdata/pkgconfig/xproto.pc - found
===> libXft-2.1.12 depends on file: /usr/local/libdata/pkgconfig/xrender.pc - found
===> libXft-2.1.12 depends on executable in : pkg-config - found
===> libXft-2.1.12 depends on shared library: freetype.9 - found
===> Building for libXau-1.0.3_2
rm -f XauFileName.3 XauReadAuth.3 XauLockAuth.3 XauUnlockAuth.3 XauWriteAuth.3 XauDisposeAuth.3 XauGetAuthByAddr.3 XauGetBestAuthByAddr.3
(for i in XauFileName.3 XauReadAuth.3 XauLockAuth.3 XauUnlockAuth.3 XauWriteAuth.3 XauDisposeAuth.3 XauGetAuthByAddr.3 XauGetBestAuthByAddr.3 ; do echo .so
man3/Xau.3 > $i; done)
touch shadows.DONE
make all-am
if /bin/sh ./libtool --tag=CC --mode=compile cc -DHAVE_CONFIG_H -I. -I. -I. -I./include -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes
-Wmissing-declarations -Wnested-externs -fno-strict-aliasing -I/usr/local/include -O2 -fno-strict-aliasing -pipe -MT AuDispose.lo -MD -MP -MF ".deps/AuDi
spose.Tpo" -c -o AuDispose.lo AuDispose.c; then mv -f ".deps/AuDispose.Tpo" ".deps/AuDispose.Plo"; else rm -f ".deps/AuDispose.Tpo"; exit 1; fi
mkdir .libs
cc -DHAVE_CONFIG_H -I. -I. -I. -I./include -Wall -Wpointer-arith -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wnested-externs -fno-stric
t-aliasing -I/usr/local/include -O2 -fno-strict-aliasing -pipe -MT AuDispose.lo -MD -MP -MF .deps/AuDispose.Tpo -c AuDispose.c -fPIC -DPIC -o .libs/AuDispos
e.o
In file included from AuDispose.c:33:
./include/X11/Xauth.h:48:31: X11/Xfuncproto.h: No such file or directory
./include/X11/Xauth.h:49:27: X11/Xfuncs.h: No such file or directory
I will retry; this system had previously run xorg 7.2 before I dropped
it back to 6.9 today, so there is some nonzero chance that it had some
leftover files.
> > P.S. Dunno about non-portupgrade users, they may be SOL.
>
> Hand upgrade of eg xorg-libraries should work with (make build && make
> deinstall && make install). So if portupgrade alternatives work that way as
> well they should do the right thing. I'll do more tests but of course wiping
> out ports, installing old xorg and upgrading to new takes a bit of time...
I am not really interested in supporting non-portupgrade utilities.
None of them seem to be sufficiently complete, e.g. portmaster doesn't
preserve old libraries leading to enormous trouble when shared
libraries are bumped (hi, gettext!), etc.
Kris
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 187 bytes
Desc: not available
Url : http://lists.freebsd.org/pipermail/freebsd-x11/attachments/20070415/98ed22eb/attachment.pgp
More information about the freebsd-x11
mailing list