from small one page howto to huge articles all in one place

search text in:




Other .linuxhowtos.org sites:gentoo.linuxhowtos.org



Last additions:
using iotop to find disk usage hogs

using iotop to find disk usage hogs

words:

887

views:

210204

userrating:


May 25th. 2007:
Words

486

Views

259174

why adblockers are bad


Workaround and fixes for the current Core Dump Handling vulnerability affected kernels

Workaround and fixes for the current Core Dump Handling vulnerability affected kernels

words:

161

views:

150540

userrating:


April, 26th. 2006:

Druckversion
You are here: manpages





qatom

Section: qatom (1)
Updated: Feb 2026
Index Return to Main Contents
 

NAME

qatom - split atom strings  

SYNOPSIS

qatom [opts] <pkg>  

DESCRIPTION

qatom parses strings into atoms and optionally compares them. The parsing into atoms results in CATEGORY, PN (package name), PV (package version), PR (package revision), SLOT and REPO. Next to these version qualifiers (e.g. >, <, or =) and optional * suffix are extracted. All but PN are optional.

Comparison of atoms returns the relationship between two parsed atoms. qatom does not allow to test conditions. It is possible to perform multiple comparisons by simply adding more arguments. Comparisons are, however, always performed two by two, so there must be an even count of arguments to the compare function.

The qatom applet is a direct wrapper around the atom parsing functionalities used by various other applets. As such this applet allows easy testing or atom parsing and comparison behaviour.  

OPTIONS

-F <arg>, --format <arg>
Specify a custom output format. The default format is
%{CATEGORY} %{PN} %{PV} %[PR] %[SLOT] %[pfx] %[sfx]
Conversion specifiers start with a % symbol and are followed by either { or [. Next is the name of the field to expand, followed by a matching } or ]. The difference between { and [ is that the latter is only printed if the field referred is set, while the former prints <unset> in that case.

The following fields are supported, which are inline with the variables from ebuild(5).

CATEGORY
The category of the package.
P
The package name and version without the ebuild revision.
PN
The package name.
PV
The package version without the ebuild revision.
PVR
The package version including ebuild revision, which is also printed when zero, unlike for PF.
PF
The package name, version and revision when not zero. Thus, a zero revision -r0 is not printed.
PR
The ebuild revision, when force printed, outputs -r0 when unset.
SLOT
The package slot, when force printed, outputs - when unset.
REPO
The package repository.
pfx
The package prefixes, that is version specifiers.
sfx
The package suffices, currently that is just the asterisk.
-c, --compare
Compare two atoms.
-s, --scompare
Compare two atoms in the given order data, query.
-p, --print
Print reconstructed atom.
-l, --lookup
Lookup atom in tree.
--root <arg>
Set the ROOT env var.
-v, --verbose
Force all expansions, basically treat all [ like {.
-q, --quiet
Ignored for compatibility with other qapplets.
-C, --nocolor
Ignored for compatibility with other qapplets.
--color
Force color in output.
-h, --help
Print this help and exit.
-V, --version
Print version and exit.
 

ANTISLOT

A feature present in portag-utils is the s-called antislot, and is activated by starting the atom with a carrot (^), in place of the blocker bang (!). The antislot is similar to the inversing behaviour of a blocker, but only operates on SLOT and SUBSLOT, and requires SLOT to be available, e.g. it won't match unset SLOT (NULL).

The antislot is mostly useful with dependencies and is best described with an example. Consider a perl upgrade from perl:0/5.28 to perl:0/5.30. To find a consumer for perl:0/5.28 a simple match can be made, e.g. using qdependsRf(1):

        $ qdepends-Q perl:0/5.28
        virtual/per-ExtUtil-MakeMake-7.340.-r1: ... de-lang/perl:0/5.28 ...
        ...

However, to query after perl:0/5.30 is installed, which packages are still not rebuilt (e.g. depending on an older perl: 5.28, 5.26, etc.) one can use the antislot:

        $ qdepends-Q ^perl:0/5.30
        ...

This will return any package that depends on perl:0 not having subslot 5.30. Obviously this can be tested using qatom using the -c option:

        $ qatom-c ^perl:0/5.30 per-5.28.1:0/5.28
        ^perl:0/5.30 == per-5.28.1:0/5.28
 

REPORTING BUGS

Please report bugs via http://bugs.gentoo.org/
Product: Gentoo Linux; Component: Current packages  

AUTHORS

Ned Ludd <solar@gentoo.org>
Mike Frysinger <vapier@gentoo.org>
Fabian Groffen <grobian@gentoo.org>
 

SEE ALSO

q(1), qcheck(1), qdepends(1), qfile(1), qgrep(1), qkeyword(1), qlist(1), qlop(1), qmanifest(1), qmerge(1), qpkg(1), qsearch(1), qsize(1), qtbz2(1), qtegrity(1), quse(1), qwhich(1), qxpak(1)


 

Index

NAME
SYNOPSIS
DESCRIPTION
OPTIONS
ANTISLOT
REPORTING BUGS
AUTHORS
SEE ALSO





Support us on Content Nation
rdf newsfeed | rss newsfeed | Atom newsfeed
- Powered by LeopardCMS - Running on Gentoo -
Copyright 2004-2025 Sascha Nitsch Unternehmensberatung GmbH
Valid XHTML1.1 : Valid CSS
- Level Triple-A Conformance to Web Content Accessibility Guidelines 1.0 -
- Copyright and legal notices -
Time to create this page: 14.0 ms