Move nearly all of projects.py into src/python/jw/build/App.py. The
plan is to split the script into parts and import them.
Signed-off-by: Jan Lindemann <jan@janware.com>
Missing -devel packages during build often lead to this:
WARNING: No project directory for module "dw-pi-playlist: No project
path found for module "dw-pi-playlist"
but actually, the warning isn't correctly logged. Instead, an exception is
thrown. Fix that.
Signed-off-by: Jan Lindemann <jan@janware.com>
proj_dir() raises an exception for projects which don't have a dedicated
project directory, even though for some projects this is legal. php-cli, for
instance, only installs stuff below /srv/www/proj/php-cli.
This commit makes projects.py tolerate that.
Signed-off-by: Jan Lindemann <jan@janware.com>
projects.py modules shows either all modules, or modules which have one of the
key-value pairs requested for filtering via the -F option.
Signed-off-by: Jan Lindemann <jan@janware.com>
If P1 build-needs P2, make it run-need P2, too, since with the current
dependency resolution algorithm, this also adds everything needed to _run_ P2.
Which is the only thing this commit is after. It actually does too much, and
enables P1 to run, too, at least WRT P2. But that's the easiest way to resolve
the problem for now.
Signed-off-by: Jan Lindemann <jan@janware.com>
Packages that should be ignored altogether with their dependencies can now be
specified with --ignore to various commands using pkg_relations().
Signed-off-by: Jan Lindemann <jan@janware.com>
print_pkg_relations() does what pkg_relations() did before: print
the relations. pkg_relations() now only returns them, to be used
by a derived class, for instance
Signed-off-by: Jan Lindemann <jan@janware.com>
--prefix was ignored because the default was set after the commandline options
were evaluated. This commit fixes that.
Signed-off-by: Jan Lindemann <jan@janware.com>
The Projects class wraps all global variables. This is mostly a
text-replace job and results in horrible class design.
Signed-off-by: Jan Lindemann <jan@janware.com>
Rename command requires-pkg to required-os-pkg to avoid confusion with
pkg-reqires. The command could be merged into pkg-requires at a later time.
Signed-off-by: Jan Lindemann <jan@janware.com>
This commit flips some more switches from Python 2 to Python 3 in makefiles and
Python code. Build runs through, but it's still likely to break things.
Signed-off-by: Jan Lindemann <jan@janware.com>
The append() shell function was unable to cope with special
characters, notably with () in RPM provides libnnz12.so()(64bit),
this commit fixes that. And introduces some (disabled) debug code
into projects.py.
Signed-off-by: Jan Lindemann <jan@janware.com>
A dependency of the form run = a, b, (trailing comma) led to the attempt
to build an empty project and, hence, infinite recursion
Signed-off-by: Jan Lindemann <jan@janware.com>
Also disable recent switch to in-memory dependency detection, because
it is buggy and messes up the order
Signed-off-by: Jan Lindemann <jan@janware.com>