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