modular -> monolithic
pcpa at mandriva.com.br
pcpa at mandriva.com.br
Wed Jan 23 21:05:37 PST 2008
Quoting Egbert Eich <eich at suse.de>:
Hi Egbert,
I adapted a script I use to build rpms to build from Xorg git
master (rpms I build without libpciaccess and using server-1.4-branch).
I also adopted some ideas from your script and from
the xbuild.pl script Alex Deucher posted, that are also, I
believe adaptations from modular/build.sh :-) i.e. the way
to use environment variables to set ACLOCAL_LOCALDIR, etc.
There are two scripts attached. About xorg-build.pl:
The concept is clones/pulls from anongit.freedesktop.org (configurable),
then clones/pulls from local mirror, so it can be useful to practice
with git :-), and keeps the "main" mirror clean, as it builds in this new
"checkout" directory.
For more info, just run "./xorg-build.pl -v -?"
The full checkout/build will require around 8GB.
I did a run with "./xorg-build -v -d build" and added
a text for the first error message in the 'skip' entry.
The script xorg-symbols.pl is also an adaptation of
a script I built to check for missing symbols.
After finishing a build, just run "./xorg-symbols -x | less"
to check the missing symbols and clashes.
The xorg-build.pl may be a bit pesky in the first
run, but it should print appropriate messages about
what it wants. Basically it uses "git-config --global" to set
or get the value of some options.
I did not adapt the script that builds dependency information,
but I probably will do it. As it is also useful to know the
order packages must be built, as well as to know when something
have changed and can point to a possible problem.
(BTW I just started writting perl code again recently,
so my perl skills aren't that great...)
[...]
> Dave,
>
> please bear with me, I still don't get this.
>
> We are talking about developers who by doing work on X
> (accidentally) break the API, right?
> Those developers have already managed to build the Xserver
> and have takled the biggest hurdle, right?
> What keeps anyone from using a simple script like the
> one below to buildtest the drivers before they push
> a patch that (potentially) breaks the API?
> If we put a script like this in a convenient place and
> strongly encourage people to do this, why shouldn't this
> work?
> Sure it takes some time to run, but most developers do
> lunch at some time, don't they?
[...]
> Cheers,
> Egbert.
>
> #! /bin/sh
>
> DRIVERS="xf86-input-acecad \
> xf86-input-aiptek \
> xf86-input-calcomp \
> xf86-input-citron \
> xf86-input-dmc \
> xf86-input-dynapro \
> xf86-input-elo2300 \
> xf86-input-elographics \
> xf86-input-evdev \
> xf86-input-fpit \
> xf86-input-hyperpen \
> xf86-input-jamstudio \
> xf86-input-joystick \
> xf86-input-keyboard \
> xf86-input-magellan \
> xf86-input-magictouch \
> xf86-input-microtouch \
> xf86-input-mouse \
> xf86-input-mutouchx \
> xf86-input-palmax \
> xf86-input-penmount \
> xf86-input-sample \
> xf86-input-spaceorb \
> xf86-input-summa \
> xf86-input-tek4957 \
> xf86-input-ur98 \
> xf86-input-vmmouse \
> xf86-input-void \
> xf86-video-amd \
> xf86-video-apm \
> xf86-video-ark \
> xf86-video-ast \
> xf86-video-ati \
> xf86-video-chips \
> xf86-video-cirrus \
> xf86-video-cyrix \
> xf86-video-dummy \
> xf86-video-fbdev \
> xf86-video-glide \
> xf86-video-glint \
> xf86-video-i128 \
> xf86-video-i740 \
> xf86-video-impact \
> xf86-video-imstt \
> xf86-video-intel \
> xf86-video-mga \
> xf86-video-neomagic \
> xf86-video-newport \
> xf86-video-nsc \
> xf86-video-nv \
> xf86-video-radeonhd \
> xf86-video-rendition \
> xf86-video-s3 \
> xf86-video-s3virge \
> xf86-video-savage \
> xf86-video-siliconmotion \
> xf86-video-sis \
> xf86-video-sisusb \
> xf86-video-sunbw2 \
> xf86-video-suncg14 \
> xf86-video-suncg3 \
> xf86-video-suncg6 \
> xf86-video-sunffb \
> xf86-video-sunleo \
> xf86-video-suntcx \
> xf86-video-tdfx \
> xf86-video-tga \
> xf86-video-trident \
> xf86-video-tseng \
> xf86-video-v4l \
> xf86-video-vermilion \
> xf86-video-vesa \
> xf86-video-vga \
> xf86-video-via \
> xf86-video-vmware \
> xf86-video-voodoo \
> xf86-video-wsfb \
> xf86-video-xgi \
> xf86-video-xgixp \
> x-input-evdev"
>
> REMOTE=git://anongit.freedesktop.org/git/xorg/driver
> SDK= # /path/to/whereever/the/X-tree/lives
> CONFIGUREOPTS=
> INSTALL=
> LIB=lib64 # lib
>
> if [ "z$SDK" != "z" ]; then
> PKG_CONFIG_PATH=$SDK/$LIB/pkgconfig:$PKG_CONFIG_PATH; export
> PKG_CONFIG_PATH
> LD_LIBRARY_PATH=$SDK/$LIB:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH
> ACLOCAL_LOCALDIR=$SDK/share/aclocal; export ACLOCAL_LOCALDIR
> ACLOCAL="aclocal -I $ACLOCAL_LOCALDIR"; export ACLOCAL
> PATH="$SDK/bin":$PATH; export PATH;
> fi
> Cache=`pwd`/.cache;
>
> test "z$Cache" != "z" -a -d $Cache && rm -f $Cache;
> test -d driver || mkdir driver;
> cd driver;
>
> for driver in $DRIVERS; do
> if [ -d $driver/.git ]; then
> cd $driver; git-fetch; git-pull .;
> else
> rm -rf $driver; git-clone $REMOTE/$driver; cd $driver
> fi;
> test -e Makefile && make distclean;
> ./autogen.sh $CONFIGUREOPTS ${SDK:+--prefix=${SDK}}
> ${Cache:+--cache-file=${Cache}}
> make $INSTALL || echo "driver $driver failed to build";
> cd ..;
> done;
-------------- next part --------------
A non-text attachment was scrubbed...
Name: xorg-build.pl.gz
Type: application/x-gzip
Size: 9029 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20080124/cf3e7d8a/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: xorg-symbols.pl.gz
Type: application/x-gzip
Size: 3624 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20080124/cf3e7d8a/attachment-0001.bin>
More information about the xorg
mailing list