History log of /haiku/src/bin/pkgman/command_resolve_dependencies.cpp
Revision Date Author Comments
# 52a61976 03-Mar-2019 Andrew Lindesay <apl@lindesay.co.nz>

pkgman: fix for syntax (help)

The tool "pkgman" was not showing it's help text
and this seems to be somehow related to the
initialization of constants such as
"kCommandCategoryPackages"; these values seems to
be coming through as empty-string for some reason.
I am changing those to be "#define" of regular
C-Strings and this seems to resolve the problem.
These values only seem to be used to group the
possible commands for production of the syntax or
help text - there do not seem to be any deeper
impacts beyond that functionality.

Change-Id: If9cd61462cd7f1f1b5ab2ece521bb3f00a1ba246
Reviewed-on: https://review.haiku-os.org/c/1139
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 1714eaf2 26-Oct-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

pkgman resolve-dependencies: Add --debug option


# 83462cc2 31-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Refactor reusable pkgman code into libpackage

* Move RepositoryBuilder class to libpackage and add B* prefix to name.
* Pull BPackageManager class out of PackageManager and move to
libpackage. The base class is customizable via three handler objects
responsible for transaction handling, request execution, respectively
user interaction.
* Reorganize _ApplyPackageChanges(): Now we first prepare the
transactions for all affected installation locations (downloading
files etc.) and then commit them.


# 937b6e0f 07-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

pkgman resolve-dependencies: Remove bogus option


# 458a86aa 21-Apr-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

pkgman: Organize commands by category


# a8b23e3e 16-Apr-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

pkgman resolve-dependencies: Allow specifying multiple packages


# 38e528bb 11-Apr-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

pkgman: C++-ify the command handling

There's now a Command class that must be derived and registered with
a CommandManager, all simplified by a REGISTER_COMMAND macro. That gets
rid of the print_command_usage_and_exit() function copy for every
command, moves the short usage texts to the command implementations,
and avoids any repetition of the command name. When implementing a new
command only a new source file needs to be created, nothing else needs
to be touched.


# 01758ed3 11-Apr-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Rework SolverPackageSpecifier

* It no longer consists of a BPackageResolvableExpression and a
repository. Instead it can now either refer to a package directly or
consist of a search string.
* SolverPackageSpecifierList: Add AppendSpecifier() convenience
versions.
* Adjust LibsolvSolver and pkgman accordingly.


# 5776551d 10-Apr-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

pkgman: Move some classes into own file for reuse

Namely RepositoryBuilder and PackageInfoErrorListener.


# 7216c894 03-Apr-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

pkgman resolve-dependencies: Improve usage text formatting


# 046f1c43 03-Apr-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

pkgman resolve-dependencies: Avoid code duplication


# 4b8aabfa 03-Apr-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

pkgman resolve-dependencies: Print package paths

... instead of package name and version. The command should now
work as required by haikuporter.


# 74988428 03-Apr-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

pkgman resolve-dependencies: Verify result

* Make sure that the computed dependencies don't themselves depend on
the specified package.
* Print only the actual dependencies, not the specified package.


# 19f3eaae 03-Apr-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

pkgman: Simplify and rename resolve-build-dependencies

* Now it only gets a package (info) file and a single list of
repository directories, optionally with priority, and resolves the
package's dependencies. The more complex two resolving steps it did
before can just as well be done by haikuporter, and this way the
command is more flexible.
* Rename to resolve-dependencies.
* Some TODOs still remain.


# 1714eaf29e7b63fec1728d5c03cbec366c0eba20 26-Oct-2014 Ingo Weinhold <ingo_weinhold@gmx.de>

pkgman resolve-dependencies: Add --debug option


# 83462cc28d356d564a818c1d34605ed2ec83f274 31-Aug-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Refactor reusable pkgman code into libpackage

* Move RepositoryBuilder class to libpackage and add B* prefix to name.
* Pull BPackageManager class out of PackageManager and move to
libpackage. The base class is customizable via three handler objects
responsible for transaction handling, request execution, respectively
user interaction.
* Reorganize _ApplyPackageChanges(): Now we first prepare the
transactions for all affected installation locations (downloading
files etc.) and then commit them.


# 937b6e0f7f452391c5d6d46ad76d2e1fc36450e9 07-May-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

pkgman resolve-dependencies: Remove bogus option


# 458a86aacb49b152f65b810140295477d49f2f31 21-Apr-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

pkgman: Organize commands by category


# a8b23e3ecf784de00897f3a4840e38f08e79f8fd 16-Apr-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

pkgman resolve-dependencies: Allow specifying multiple packages


# 38e528bbc1c368456c8b8a94d6f21081934cc4f9 11-Apr-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

pkgman: C++-ify the command handling

There's now a Command class that must be derived and registered with
a CommandManager, all simplified by a REGISTER_COMMAND macro. That gets
rid of the print_command_usage_and_exit() function copy for every
command, moves the short usage texts to the command implementations,
and avoids any repetition of the command name. When implementing a new
command only a new source file needs to be created, nothing else needs
to be touched.


# 01758ed3323e22359f685ffb37ef42a3b856fd66 11-Apr-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

Rework SolverPackageSpecifier

* It no longer consists of a BPackageResolvableExpression and a
repository. Instead it can now either refer to a package directly or
consist of a search string.
* SolverPackageSpecifierList: Add AppendSpecifier() convenience
versions.
* Adjust LibsolvSolver and pkgman accordingly.


# 5776551d3dfa5c88bdebd65fd211aaebbb91e525 10-Apr-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

pkgman: Move some classes into own file for reuse

Namely RepositoryBuilder and PackageInfoErrorListener.


# 7216c8944d01a0800e11a2e9f8d04ef307957f91 03-Apr-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

pkgman resolve-dependencies: Improve usage text formatting


# 046f1c437811594ba60a462b9d4e423f7fac5528 03-Apr-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

pkgman resolve-dependencies: Avoid code duplication


# 4b8aabfac92bcc9be71cf861df8ec83e1a84d944 03-Apr-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

pkgman resolve-dependencies: Print package paths

... instead of package name and version. The command should now
work as required by haikuporter.


# 749884283a72b650748d830648d31eea78b6b7d3 03-Apr-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

pkgman resolve-dependencies: Verify result

* Make sure that the computed dependencies don't themselves depend on
the specified package.
* Print only the actual dependencies, not the specified package.


# 19f3eaaee692a5edc59cb453540489a132c43b69 03-Apr-2013 Ingo Weinhold <ingo_weinhold@gmx.de>

pkgman: Simplify and rename resolve-build-dependencies

* Now it only gets a package (info) file and a single list of
repository directories, optionally with priority, and resolves the
package's dependencies. The more complex two resolving steps it did
before can just as well be done by haikuporter, and this way the
command is more flexible.
* Rename to resolve-dependencies.
* Some TODOs still remain.