ITP: Guile 1.5.6

Charles Wilson cwilson@ece.gatech.edu
Thu Jul 4 17:13:00 GMT 2002


Robert Collins wrote:

> Also a data point: reading rpm or dpkg files is not the challenge. The
> challenge is providing (and maintaining) the base infrastructure that
> dpkg and rpm expect. (ie a static bezerkly db for rpm, and a plethora of
> support scripts (i.e. update-alternatives) for dpkg.) And finally,
> grokking and processing correctly the dependency/conflicts/ording issues
> that apply to dpkg and rpm. (There's not much point saying, hey guys,
> build rpm's and setup will install them, if every single .spec file
> needs to be altered because cygwin uses something different for a key
> dependency. We've been through package renames. It used to be ugly, but
> it's still not pretty.


Yah, but custom spec files are no worse than custom build scripts (e.g. 
method 2) -- and custom spec files are probably *better* than method2 
scripts.  Spec-language is much higher level...and rumor has it that 
rpm4 supports XML for spec files...


> Fortunately setup is slowly creeping along a path to where rpm or dpkg
> support will be purely the file format, not the other stuff. It would be
> nice to end up supporting dpkg and rpm packages to allow folk their
> choice. 


The thing that worries me about this grand plan is database 
syncronization.  Suppose dpkg, rpm, and today's tarball-oriented setup 
are all supported.

rpm stores the installed package list in /var/lib/rpm/???

dpkg stores its database in <I dunno>...

setup uses /etc/setup/*.lst.gz and /etc/setup/installed.db, plus 
setup.ini for conflicts/dependency.

Fine, we can make sure that setup automatically updates all three 
databases.  But what if I run the "standalone" rpm.exe to install a 
package?  That'll update rpm's database -- but not dpkg's or setup's. 
Ditto dpkg.  How to solve this problem?  Manual synchronization? 
(blech).  Setup first magically synchronizes the databases?  Okay, but 
which one is "right" -- and this means you must run setup.exe before 
"switching" from rpm to dpkg, or vice versa -- it basically boils down 
to manual synchronization. (blech again)

Patch rpm and dpkg to update all the other databases too?  Patch rpm and 
dpkg to use setup's database instead?  (or patch setup and dpkg to use 
rpm's, or patch setup and rpm to use dpkg's?)  Blech -- and probably 
heresy to the various factions <g>.  Actually, the various databases all 
support different information sets -- so it's not really clear that you 
CAN take an rpm database and magically create all the data necessary to 
populate a dpkg database (or vice versa, or throw setup in the mix).

This is a *hard* problem.   How does 'alien' handle this?

--Chuck



More information about the Cygwin-apps mailing list