[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[SLUG] (re)Compiling .debs yourself (was: Re: Potato -> Woody)

(lost original, so replying to a reply)

> On Mon, 4 Jun 2001, Tom Massey wrote:
> > I'm mainly interested in getting a Debian system that can handle iptables,
> > which apparently needs libc6 >=2.2.3-1 (though I think this may be just a
> > dependency that apt-get and co need to run the config stuff or something
> > like that - with libc6 2.1.3-18 I can dpkg -i iptables 1.2.2-2, it
> > complains and refuses to configure it, but it still seems to work fine, I
> > can set up a firewall and masq stuff with no problems, but apt-get is
> > unusable because it complains and exits since iptables hasn't been
> > configured as far as it can tell).

most versioned dependencies (on libraries) are due to binary
compatibility. If you recompile the package yourself against your
(different) version of libraries, you get different dependencies, and
then everyone is happy.


1. temporarily add "testing" deb-src lines to sources.list
 (as root) apt-get update
 apt-get source -b iptables
 (as root) dpkg -i iptables*.deb


2. download iptables source yourself from some debian archive
(you'll want the .dsc, .diff.gz and .orig.tar.gz files)
 dpkg-source -x iptables*.dsc
 cd iptables*
 fakeroot debian/rules   # see note (*)
 (as root) dpkg -i ../iptables*.deb

according to the package's Build-Depends, you will need "debmake"
installed to compile iptables.

(and of course, the build-essential packages:
 libc6-dev, gcc, g++, make, dpkg-dev)

(*) fakeroot gives in environment in which you appear to be root (its
a preloaded library -hack thing). if you didn't feel like installing
fakeroot, you could run debian/rules as real root, or run
user-mode-linux or something equally overkill.

 - Gus

SLUG - Sydney Linux User Group Mailing List - http://slug.org.au/
More Info: http://lists.slug.org.au/listinfo/slug