girar-nmu-sort-transaction(1)
| girar-nmu-sort-transaction(1) | girar-nmu utils | girar-nmu-sort-transaction(1) |
NAME
girar-nmu-sort-transaction - calculate an order to build a transaction.
SYNOPSIS
girar-nmu-sort-transaction [-h, --help] [--cycle-format name|file|path] [--cycle-prefix string] [--debug] [--format name|file|path] [--ignore-extra-rpms|--no-ignore-extra-rpms] [--ignore-extra-srpms|--no-ignore-extra-srpms] [--ignore-debuginfo|--no-ignore-debuginfo] [--ignore-core|--no-ignore-core] [--ignore-ambiguous-provides] [--ignore-missing-srpm-names] [--mark-req-regexp pcre regexp] [--rpm-files-transaction file] [--rpm-names-transaction file] [--srpm-files-transaction file] [--srpm-names-transaction file] [--mark-all-rpm-of-srpm] [--mark-all-srpm-of-rpm] [--add-textid-relations-from file] [--del-textid-relations-from file] [--add-filename-relations-from file] [--del-filename-relations-from file] [--cycle-break-through-unmarked] [-q|--quiet] [-v|--verbose] [-o|--output file] <context of the transaction: the list of src.rpms and binary rpms built from the src.rpms or/and the list of directories containing those rpms>
DESCRIPTION
girar-nmu-sort-transaction sorts packages of the transaction into the build order according to their dependencies; finds circular dependencies that are obstacles to replacement transaction.
The main arguments to the utility are transaction and context. Context is the set of packages that provide the net of dependencies. It is failsafe to provide the whole repository as the context. Use the smaller contexts on your own risk.
Transaction is the subset of context that should be sorted according to the order generated by BuildRequires and Requires.
Mark the transaction using --mark-req-regexp option or --(srpm|rpm)-(files|names)-transaction file option.
OPTIONS
- -h, --help
- Display this help and exit.
- -v, --verbose, -q, --quiet
- Verbosity level. Multiple -v increase the verbosity level, -q sets it to 0. Default is 1.
- -o, --output filename
- Output file.
- --format name
- Output file format. One of: name, file, path.
name prints rpm name; file prints rpm filename; path prints rpm filename with path.
- --cycle-format name
- Cycle information files format. One of: name, file, path.
- --cycle-prefix name
- Prefix for cycle information files.
- --debug
- Debug mode. Data is collected, but data procession is left to user. Also, auxilliary text files are created that help deciphering gathered data. The auxilliary text files names end with '2'.
- --ignore-extra-rpms, --no-ignore-extra-rpms
- Ignore/do not ignore binary rpms that have no corresponding source counterparts. Default is die on first occurence of mon-matched rpm (--no-ignore-extra-rpms).
- --ignore-extra-srpms, --no-ignore-extra-srpms
- Ignore/do not ignore source rpms that have no corresponding binary counterparts. Default is ignore.
- [--ignore-missing-srpm-names]
- Ignore srpm names not found in current reposit
- --mark-req-regexp pcre regexp
- Marks some binary and source rpms as part of the transaction according to
regexp. For example, --mark-req-regexp '^libperl\.so\.5\.8'
will mark binary rpms that depend on libperl.so.5.8* and their source
rpms. Beware of special symbols in regexp! you have to quote `.',`+', and
so on. For example, for libstdc++.so.6 regexp will be
'^libstdc\+\+\.so\.6'.
Alternatively, use --(s)rpm-(files|names)-transaction file options to mark transaction rpms and srpms explicitly.
- --(s)rpm-(files|names)-transaction file
- --rpm-files-transaction file --rpm-names-transaction
file --srpm-files-transaction file
--srpm-names-transaction file
Alternatively, use --mark-req-regexp pcre regexp to mark transaction rpms implicitly based on regexp on their Requires:.
- --mark-all-rpm-of-srpm, --mark-all-srpm-of-rpm
- Instead of providing both --rpm-(names|files)-transaction and --srpm-(names|files)-transaction you can provide just one of them and then --mark-all-rpm-of-srpm or --mark-all-srpm-of-rpm.
- --buildfrom-none
- Don not set "build from" relation.
- --buildfrom-srpm-marked, --no-buildfrom-srpm-marked
- If there are marked packages, set "build from" relation only if src.rpm is marked (default).
- --buildfrom-rpm-marked, --no-buildfrom-rpm-marked
- If there are marked packages, set "build from" relation only if binary rpm is marked.
- --buildreq-srpm-marked, --no-buildreq-srpm-marked
- If there are marked packages, set "buildrequires" relation only if source rpm is marked.
- --use-file-provides, --no-use-file-provides
- Resolve/do not resolve requires using the list of files in the package. Default is --use-file-provides. Disable it if uou are sure it is harmless to save some time.
- --add/del-textid/filename-relations-from file
- Those options allow correction of the set of relations. file contains pairs of packages in relation, a pair per line. --add-textid-relations-from file, --del-textid-relations-from file use internal TextIds (%{NAME} for src.rpm and %{NAME}.%{ARCH} for binary rpms) and --add-filename-relations-from file, --del-filename-relations-from file use rpm file names (as returned by basename(1) ).
- --ignore-ambiguous-provides
- A hack; some 'Provides' are provided by multiple packages, so sometimes ignoring them will improve build order.
- --cycle-break-through-unmarked
- A hack; try to resolve cycles assuming that cycle dependencies outside of the transaction are harmless and are safe to drop.
- --ignore-core|--no-ignore-core
- A hack; ignore some basesystem srpms and rpms (glibc,binutils,etc...) Enabed by default. Disable if you need to include them into transaction.
- --whobuildreq
- 'whobuildreq' mode. Instead of sorting transaction, calculates packages who BuildRequires marked package(s).
AUTHOR
Written by Igor Vlasenko <viy@altlinux.org>.
COPYING
Copyright (c) 2010-2015 Igor Vlasenko, ALT Linux Team.
This is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.
| 2023-11-08 | 2.015.3 |
