Description of problem: I'm currently working on a proprietary product, which is written in C, which would like to query the RPM database at startup to find out whether a particular third party package (Sun's j2re Java Runtime, in our case) is installed, and if so, where certain files are (their location changes by release). This massively simplifies the setup of our product from an end user perspective. I have working code which queries librpm for the information, but can't use it because librpm is GPL. Really, any product (GPL compatible or otherwise) should be allowed to look up the RPM database in this way, as it simplifies the user experience greatly. On Windows we look up registry keys for this information (Sun set these keys during the JRE installation), and on RPM based distributions have useful information in the RPM database. Please give us the ability to look up librpm programatically in GPL incompatible products (for which RHEL, which we are planning to explicitly support, is marketed to this audience).
librpm *is* LGPL, always has been.
If that's the case, then why does "rpm -qi rpm" report it as GPL? (quoting off a Red Hat 9 box below, because the FC2 box we have is on another network). [nathanr@lnx bugzilla-2.16.5]$ rpm -qi rpm Name : rpm Relocations: (not relocateable) Version : 4.2 Vendor: Red Hat, Inc. Release : 0.69 Build Date: Fri 28 Feb 2003 08:24:23 EST Install Date: Mon 13 Oct 2003 14:08:03 EST Build Host: stripples.devel.redhat.com Group : System Environment/Base Source RPM: rpm-4.2-0.69.src.rpm Size : 4718370 License: GPL Signature : DSA/SHA1, Fri 28 Feb 2003 08:26:49 EST, Key ID 219180cddb42a60e Packager : Red Hat, Inc. <http://bugzilla.redhat.com/bugzilla> Summary : The RPM package management system. Description : The RPM Package Manager (RPM) is a powerful command line driven package management system capable of installing, uninstalling, verifying, querying, and updating software packages. Each software package consists of an archive of files along with information about the package like its version, a description, etc.
rpm has 3 licenses, GPL, LGPL, and X11. There's also another license for embedded elfutils these days. The intent for librpm has always been LGPL, and that is the license that applies. Check with the Red Hat lawyers rather than rpm -qi if you don't believe me. Yes, very confusing, can't be helped.