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>
Add a generic cache for function calls, and use it on functions doing file I/O.
This speeds the build process up considerably.
Signed-off-by: Jan Lindemann <jan@janware.com>
projects.conf is only installed with devel packages. If no such
thing is created or installed, depending packages assume that
libname = packagename, which is wrong. This patch fixes that.
Signed-off-by: Jan Lindemann <jan@janware.com>
Since the packaging machinery is pretty complicated, the information about
conflicting packages had to be passed through many APIs. The last commit
contained a patch which is left in the tree to have it in one file, it actually
is identical to this commit's diff, though. Git would save me that quirk.
Signed-off-by: Jan Lindemann <jan@janware.com>
This opens up a more concise handling of pkg.conflicts.xxx in the future, and
prepares some code simplification in projects.py.
Signed-off-by: Jan Lindemann <jan@janware.com>
This project was copied from ytools, with anything not related to providing
build-functionality left out. This commit replaces the occurences of ytools
with jw-build, and removes some but most certainly not all legacy ytools
references.
Signed-off-by: Jan Lindemann <jan@janware.com>
Not taking install dependencies from pkg.required.jw alone anymore, but from
all sections of the section cascade.
Signed-off-by: Jan Lindemann <jan@janware.com>
Introduce --dont-expand-version-macros into projects.py, and use it
to postpone version expansion into pkg.sh.
Signed-off-by: Jan Lindemann <jan@janware.com>
Add --dont-strip-revision option to projects.py pkg-requires
Sadly, Debian dpkg doesn't install a package with dependency
somepkg = 1.2.3, if somepkg-1.2.3-10 is installed. To work
around this, VERSION in project.conf files is now always
interpreted as VERSION-REVISION
Signed-off-by: Jan Lindemann <jan@janware.com>