bind (ticket #2409)

Ken Moffat zarniwhoop at ntlworld.com
Tue Dec 18 08:20:56 PST 2007


On Tue, Dec 18, 2007 at 03:23:28PM +0100, Christian Wurst wrote:
> On Dec 17, 2007 7:12 PM, Bruce Dubbs <bruce.dubbs at gmail.com> wrote:
> > Have you checked how distros like Ubuntu and Fedora do it?
> 
> Um, no. Actually I don't have any idea how to easily check this. May I
> ask for a hint please?
 I see Alexander has already replied about what debian do, and while
I was writing this Dan has given a shortcut to looking at individual
fedora files online.  But, the general principles of looking at how
an srpm distro like fedora  does things is fairly straightforward
and perhaps worth documenting.

1. Arm yourself with cpio and your preferred rpm2cpio script (google
for it if you don't have one - I thought blfs had included a
version, but I can't see it in longindex.html).

2. Find a convenient mirror for fedora.redhat.com.  They seem to
change their directory structure frequently, but for the current
release it will be something like releases/8/Everything/sources/SRPMS
: there is also an updates/ structure, and testing/, if you need to
pick up recent changes.  Use your preferred ftp client or browser to
find the packaged srpm and download it.

3. Create a working directory, cd into it, then
$ rpm2cpio </path/to/srpm >filename.cpio
$ cpio -i <filename.cpio

4. You should now have the original source in a tarball, zero or more
patches (for most major software, a _lot_ of patches), and a
specfile (so, 'bind.spec' in this case.   Most of us aren't au-fait
with all of the details of how rpm works, but the main parts are
fairly obvious (e.g. '%' for variables).  Look at the specfile to
see what they do - some patches are only applied to particular
architectures, and the patches are applied in order (occasionally,
they don't apply in different orders).  The build is often
straightforward, but sometimes there are hurdles to jump through for
a partial install (hello, 'boost' ;) - the specfile will show the
steps they take, and if they do any thing complex it's usually
possible to get the gist of what is going on fairly quickly - very
occasionally, it helps to look at the contents of the binary rpm to
check library version names (boost, again), or to look for any
post-install processing.

 The principle is the same for any rpm distro, but in practice
google links to mandrake-cooker are usually broken (they move on too
quickly) and I very rarely manage to find good links to opensuse
source.

HTH,

ĸen
-- 
das eine Mal als Tragödie, das andere Mal als Farce



More information about the blfs-dev mailing list