On Tue, Feb 11, 2003 at 11:25:08AM -0500, Derek Vadala wrote: > Is there an easy way of integrating rpm files from the updates tree into > the main distribution tree? I could write some Perl to do this, but I > don't want to reinvent the wheel. It's also a bit of a pain because there > isn't really a standard naming scheme (though there are a minimum of > deviations. > > I've googled a bit for this, but it seems like everyone out there has > avoided automating this part. I do this with a script that hardlinks the new rpms from the update directories (which we mirror) into the main distribution directory; it then runs 'genhdlist' (from the anaconda-runtime package) to update the hdlist file. It's not very automatic, since it asks (for each rpm in the update directories not in the main directory) whether you want to integrate the update or not. It also needs customizing, since the location of the distribution tree and the updates directory is hardwired in the script. (And since it hard-links, these directories need to be on the same filesystem.) Basically, the algorithm is: remember the name/architecture of every RPM in the main directory for each rpm in update directories: skip if already hardlinked get its name/architecture ask if it should replace the corresponding RPM in main (if any) if yes: unlink the old RPM replace with a hardlink to the update RPM. ... then run genhdlist I've put the script here if people are interested: http://pubpages.unh.edu/~pas/update_rpms Usual disclaimer applies: hope it helps, but don't blame me if it doesn't. Sometimes you have to do things by hand anyway if Red Hat comes out with an updated RPM that didn't appear in the original distribution. (They decide to split up a package into RPMs differently, for example.) -- -- Paul A. Sand | I'm sorry, there's -- um -- -- University of New Hampshire | insufficient -- what's-it-called? -- pas@xxxxxxx | The term eludes me ... -- http://pubpages.unh.edu/~pas | (Owen Mathews)