[Discuss] Torn between Debian stable and another
Alan W. Irwin
irwin at beluga.phys.uvic.ca
Sat Dec 29 19:31:47 PST 2007
On 2007-12-29 14:42-0800 pw wrote:
> Hello,
>
> I am torn between Debian stable and some form
> of (X/K)Ubuntu.
> I always had a soft spot for Debian but everyone seems
> to be headed to Africa these days.
>
> I would like to run videolan, kino, and mythtv on the machine
> to allow distribution of audio and video around the house from
> a central server.
>
> Will either one of these distros support all of those
> applications with pre-built packages? If not,
> which distro provides a cleaner build environment for
> source?
> ie: which one will break fewer packages with a source build;
> newest wxwindows, pango, gtk+, gtkmm, gdk, metacity, et al...
>
> Any voice of experience is welcome.
That's me. :-)
I know for certain Debian testing at least has wxwindows and everything gtk+
related (e.g., pango). The videolan webpage at
http://www.videolan.org/vlc/download-debian.html gives clear Debian
directions concerning their software (including directions about the
essential libdvdcss2 library for viewing DVD's on Linux).
Also, I have done many successful software builds on Debian, and the same
software build procedures should work fine on Ubuntu as well.
Now for some build system details.
I. Building software packages where there is no corresponding Debian package.
In this rare case, you use the standard configure (or cmake); make; and
"make install" combination. I am sure you already know this, but I brought
it up because I wanted to make the important point to use an installation
prefix (specified with ./configure or cmake) that is not "/usr" so you don't
mess up your Debian packages.
II. Building large numbers of interrelated packages. You can do each one
of them as I. above or III., below, but here I want to discuss another
alternative to make all of these interrelated builds work properly with
the correct dependencies between them.
An example I have had to contend with for some time is that PLplot needs a
working pango/cairo software stack. That stack (consisting of ~20 different
software packages) is a subset of the gtk+ software stack and I highly
recommend jhbuild to keep track of all the builds and the dependencies
between them. I have used jhbuild to build a modern pango/cairo stack on my
previous Debian oldstable system (whose normal pango/cairo software stack
was too old/buggy). I have also done the same thing on my present Debian
lenny (testing) system to investigate some trouble PLplot was having with
the vanilla Debian lenny packages for pango/cairo.
Note, I use an install location for my specially built pango/cairo stack
that is not "/usr" for the exact same reasons mention in the discussion of
I. above. When PLplot uses the special pango/cairo stack, all you have to do
is set the pkg-config environment variable PKG_CONFIG_PATH to point to the
location of pangocairo.pc (in my case that was
/home/software/pango_stack/install/lib64/pkgconfig), and the CMake build
system of PLplot uses pkg-config to find out the compile flags and link
flags that it needs to build and link against the specially built
pango/cairo software stack.
I eventually found out the the trouble PLplot was experiencing on the Debian
testing pango/cairo stack was due to a libcairo postscript backend bug.
Currently I am just using the patch for that bug within my specially built
pango/cairo stack, but when the bug fix gets into an official libcairo
release, I will use the following simpler procedure for the build.
III. Rebuilding single software packages that are already packaged for Debian
For software builds where I just need one particular Debian package rebuilt,
I use a debian build procedure to create *.deb packages which I subsequently
install. My most recent example of this procedure was where I wanted to try
a patch to the xserver-xorg-video-intel package. Here is what I did:
as root:
apt-get update
apt-get build-dep xserver-xorg-video-intel
as an ordinary user:
apt-get source xserver-xorg-video-intel
cd xserver-xorg-video-intel-2.1.0
# apply patch
patch -patch-options <patch.file
# Build patched software:
# -i option does some default filtering on the Debian diff file, the -us and
# -uc options stop attempting signing of the result, and -b is binary only.
debuild -i -us -uc -b >& debuild.out
debuild creates a *.deb file that you can easily install (in the /usr tree
along with the official debian packages) with dpkg --install as the root
user. That installed result integrates right in with the rest of your
Debian system without disrupting it in any way.
Alan
__________________________
Alan W. Irwin
Astronomical research affiliation with Department of Physics and Astronomy,
University of Victoria (astrowww.phys.uvic.ca).
Programming affiliations with the FreeEOS equation-of-state implementation
for stellar interiors (freeeos.sf.net); PLplot scientific plotting software
package (plplot.org); the libLASi project (unifont.org/lasi); the Loads of
Linux Links project (loll.sf.net); and the Linux Brochure Project
(lbproject.sf.net).
__________________________
Linux-powered Science
__________________________
More information about the Discuss
mailing list