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