RPM Community Forums

Mailing List Message of <rpm-users>

Re: RPM5 and YML-like Specfiles

From: Jeff Johnson <n3npq@mac.com>
Date: Mon 11 May 2009 - 22:46:07 CEST
Message-id: <7FC439CD-6247-409B-8885-71CA4A79D489@mac.com>

On May 11, 2009, at 4:01 PM, Eric MSP Veith wrote:

> Yes, there still is. One of the highlights of RPM is that it  
> reliably packs
> software. It reliably takes care of dependencies. I don't know any  
> other
> software at which I can just throw a buch of perl modules and get my
> dependencies figured out nicely. The dependency generators alone are
> something that might sill have potential. (No, I didn't forget I  
> wanted to
> contribute a ruby depgen, I still want to!) I am currently working  
> at a
> cluster project @ IBM, and one of the obstacles we have is to figure  
> out how
> we can reliably keep one consistent set of stoftware (-versions) on  
> all
> nodes. I cannot imagine a clustered emerge or clustered dpkg, but a  
> crpm,
> that I can. Perhaps that's just fool's talk, but I seldom come  
> across a
> piece of software that provides so useful again and again in my
> distributor's/packager's everyday life.

Well, if you'ld like, I've always wanted to attach
a zero-conf mdDNS layer onto an rpmdb.

Doing the same as net-snmp is doing with a HR-MIB
to return package NEVRA and installtime through
mDNS is likely all you are looking for with "cluster rpm".

A more serious protocol design should be RESTful, where mDNS
is used for discovery, and some other form of RPC is used
to pull details when/where needed. And there's lots of details
in an rpmdb that a HR-MIB like NEVRA and installtime doesn't
begin to describe.

FYI: If you turn on this macro

# Export package NEVRA (stamped with install tid) info for HRMIB on  
this path.
# XXX   Note: escaped %% for use in headerSprintf()
#%_hrmib_path   /var/cache/hrmib/%{___NVRA}

then rpm will touch(1) files in /var/cache/hrmib/N-V-R.A,
where the install time is drilled into the zero length file.

All the files in /var/cache/hrmib are maintained synchronously with  
is in an rpmdb.

Installed packages will have a new 0b file created, erased packages
will remove the 0b file, at the same time that the Header is added/ 
from an rpmdb.

So you could likely craft up a proof-of-concept RPM+mDNS using avahi  
and ls
without a great deal of pain.


73 de Jeff
Received on Mon May 11 22:46:30 2009
Driven by Jeff Johnson and the RPM project team.
Hosted by OpenPKG and Ralf S. Engelschall.
Powered by FreeBSD and OpenPKG.