On Tue, Dec 18, 2007 at 03:23:28PM +0100, Christian Wurst wrote: > On Dec 17, 2007 7:12 PM, Bruce Dubbs <[EMAIL PROTECTED]> 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 -- http://linuxfromscratch.org/mailman/listinfo/blfs-dev FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page
