[Rpm-maint] rpm feature

JD jd1008 at gmail.com
Thu Jun 17 16:04:37 UTC 2010



On 06/17/2010 08:33 AM, seth vidal wrote:
> On Thu, 2010-06-17 at 08:27 -0700, JD wrote:
>    
>> On 06/17/2010 12:50 AM, Panu Matilainen wrote:
>>      
>>> On Wed, 16 Jun 2010, seth vidal wrote:
>>>
>>>        
>>>> On Wed, 2010-06-16 at 09:44 -0400, Adam Jackson wrote:
>>>>          
>>>>> On Wed, 2010-06-16 at 08:53 -0400, seth vidal wrote:
>>>>>            
>>>>>> On Wed, 2010-06-16 at 00:30 -0700, JD wrote:
>>>>>>              
>>>>>>> Greetings all,
>>>>>>> Is there a way to query the database to list the packages
>>>>>>> that depend on a given package?
>>>>>>> I checked the man page, and I do  not see such an option.
>>>>>>> I see the option --requires, which is great - but would like the
>>>>>>> converse of --requires,  such as: --required_by
>>>>>>>                
>>>>>> rpm -q --whatrequires pkgname will tell you what specifically requires
>>>>>> that pkg name - but not all the things that pkg provides.
>>>>>>              
>>>>> For that, you would do:
>>>>>
>>>>> % rpm --quiet -q --whatrequires $(rpm -q --provides pkgname) | sort -u
>>>>>
>>>>> The uniquifying step being because rpm will print the list of consumers
>>>>> for _each_ thing provided by pkgname.
>>>>>            
>>>> but you'll need to do every file in the pkg, too.
>>>>
>>>> b/c of file-requires.
>>>>          
>>> One possibility is "abusing" --test with erasure, eg:
>>> $ rpm -e --test<pkg>
>>>
>>> To get just the depending package names something like this works:
>>> $ rpm -e --test<pkg>  2>&1 | tail -n +2 |awk '{print $NF'}
>>>
>>>      - Panu -
>>>        
>> Yes - that works nicely
>> rpm -e --test libguestfs 2>&1 | tail -n +2 |awk '{print $NF'}
>> libguestfs-java-1:1.2.9-2.fc13.i686
>> ocaml-libguestfs-1:1.2.9-2.fc13.i686
>> perl-libguestfs-1:1.2.9-2.fc13.i686
>> guestfish-1:1.2.9-2.fc13.i686
>> python-libguestfs-1:1.2.9-2.fc13.i686
>> ruby-libguestfs-1:1.2.9-2.fc13.i686
>> libguestfs-java-1:1.2.9-2.fc13.i686
>> ocaml-libguestfs-1:1.2.9-2.fc13.i686
>> perl-libguestfs-1:1.2.9-2.fc13.i686
>> guestfish-1:1.2.9-2.fc13.i686
>> libguestfs-tools-1:1.2.9-2.fc13.i686
>> libguestfs-javadoc-1:1.2.9-2.fc13.i686
>> libguestfs-java-devel-1:1.2.9-2.fc13.i686
>> python-libguestfs-1:1.2.9-2.fc13.i686
>> ruby-libguestfs-1:1.2.9-2.fc13.i686
>>
>> But why is the name slighly mangled with the insertion of 1:
>> into the name? What's the usefulness of that?
>>
>>      
> that's the package epoch.
>
> 3 values make up the package versioning:
>
> epoch
> version
> release
>
> that's the epoch.
> -sv
>    

Is that necessitated by the possibility of installing more than one 
epoch of a package?

JD


More information about the Rpm-list mailing list