rule-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Rule-list] ANNOUNCE: first trial of rpm analyzer script


From: Marco Fioretti
Subject: [Rule-list] ANNOUNCE: first trial of rpm analyzer script
Date: Sun, 28 Jul 2002 12:34:18 +0200
User-agent: Mutt/1.2.5.1i

Hello,

I have just uploaded at www.rule-project.org the pre-alpha version of
this tool: when given an rpm name (no version, like "bash") as second
argument, it tries to list all the RPMs one should install, starting
from nothing, to make that work.

URL:  www.rule-project.org/distro_analyzer_0.1.bz2
syntax: rpm_analyze <DB_FILE> <RPM_NAME>

DB_FILE: a file like rh7.3_all_cds (enclosed in the tarball) generated
by the other attached script, rpm_gen_db, by looking at all the
rpms found in the directory given as 1st argument.

I have chosen this approach, even it *is* ugly and *slower* compared
to the rpm based hypotheses discussed yesterday, because:

        1) it just came to me that way....
        2) it allows to build and use a <DB_FILE> from *any* combination of
           rpms (CDs + a local directory with the ones you make for
           yourself + (later) querying rpmfind.net ....)

                without having an RPM based system, or even any UNIX
                for that matter, just Perl
        3) It will eventually be able to analyze non RH systems: SuSE,
                Mandrake,... some day even Debian or Solaris, if it
                finds porters of the 1st script...

How it works:

rpm_gen_db creates Perl code to be evaluated by rpm_analyze

        For now please ignore it, just use the DB_FILE in the tarball to help
        me to debug on a common ground.

rpm_analyze executes the Perl code, and creates a CAPABILITY hash
listing all capabilities, who needs each, which package they come
from, by how many different packages they are needed, etc.. It then
gives a nested list of RPMs, example shown below: once we
get the subroutine generating that right, we can use it for
system-wide analyses.

Any feedback is WELCOME: test it on as many packages as you
can, and point out bugs here.
For example, why does it lists bash in its own dependencies?
Help!
Another thing it doesn't handle now is capabilities provided by more
(alternative) packages.

        Ciao, and thanks,
                                Marco Fioretti

###############################################################

# marco >  ./rpm_analyze rh7.3_all_cds bash
bash
  compat-glibc
    db1
    db2
  glibc
    basesystem
      filesystem
      setup
    glibc-common
  glibc-debug
    glibc-devel
      glibc-kernheaders
        fileutils
        initscripts
          SysVinit
            pam
[rest of it snipped]
-- 
Excuse me for being greedy, but I want freedom and good government.
Both a flourishing economy and a well-cared-for earth. A society that
is diverse and communal.. that offers both privacy and accountability.
One that can afford a big conscience, along with lots of neat toys.
                             -- David Brin -- The Transparent Society 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]