Commit graph

77 commits

Author SHA1 Message Date
d7da4f1cb8 mkspec-wrapper.sh: Fix append() for special characters
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>
2019-01-30 16:23:03 +00:00
f28afc777c make, scripts: Add support for [pkg.provides.xxx]
Add Support for manually specifying arbitrary package capabilities in
project.conf.

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-01-07 14:34:58 +00:00
82a3f4dc92 projects.py: Read /usr/share/doc/packages/<name>/VERSION, too
Add support for searching VERSION below the project root
_and_ below /usr/share/doc/packages/

Signed-off-by: Jan Lindemann <jan@janware.com>
2018-11-18 12:32:31 +00:00
8f196287af projects.py: Fix bogus interpretation of os dep package version
requires.os.run = java-headless = 1.8.0 led to an attempt to
look up ../java-headless/VERSION

Signed-off-by: Jan Lindemann <jan@janware.com>
2018-10-24 11:00:22 +00:00
4e6a237865 projects.py: Beautify logging ([] around iteration count)
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-10-23 13:09:58 +00:00
6224f48900 projects.py: Remove messages for build-order output
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-10-23 09:48:33 +00:00
83631eafc5 projects.py: Add support for --build-order
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-10-22 21:13:59 +00:00
f7db38275f projects.py: Protect against null-string dependencies
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>
2018-10-22 20:02:48 +00:00
d8115e6b22 projects.py, pkg_relations(): Fix --no-subpackages, support multiple flavours
- --no-subpackages sometimes doesn\'t strip off -devel -run
- Flavours can now be comma-separated

Signed-off-by: Jan Lindemann <jan@janware.com>
2018-03-15 10:13:17 +00:00
9d2e192256 projects.py: Add support for --skip-excluded to command requires-pkg
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-03-07 17:28:20 +00:00
8ef3c06234 projects.py: Optimize os_cascade()
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-03-07 16:58:32 +00:00
3b77b5ae55 projects.py: Fix and re-enable reading dependencies in-memory
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-03-07 15:59:36 +00:00
775795c8fa projects.py: Add support for [build.exclude]
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>
2018-03-07 14:26:21 +00:00
fd2ca4f6ff projects.py: Disable superfluous invocations of projects.py
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-03-07 11:40:58 +00:00
4d016534d9 projects.py: Merge build.py
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-03-07 10:51:50 +00:00
dbe88a7bfa projects.py: Merge build.py
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-03-07 10:51:23 +00:00
f7db567bff build.py, projects.py: Streamline both scripts
Make build.py and projects.py even more similar in preparation for
merging them.

Signed-off-by: Jan Lindemann <jan@janware.com>
2018-03-07 10:17:14 +00:00
f996726bae build.py: Eliminate another global variable
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-03-07 09:56:48 +00:00
6ec57849c3 projects.py: Make OS-cascade support distro version families
Now ubuntu-14.04 is also caught by ubuntu-14

Signed-off-by: Jan Lindemann <jan@janware.com>
2018-03-06 16:35:16 +00:00
e68d4eb83b make, scripts: Now excplicitly calling python2 executable instead of python
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-01-02 13:12:00 +00:00
378feb60ec build.py and projects.py: Cache results queried from file system
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-08-31 18:57:13 +00:00
42e8e6522d projects.py: Fix cache_func(), evaluated one key short of what it should have
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-08-09 14:25:15 +00:00
da3089e5b7 projects.py: Add cache_func()
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>
2017-08-09 13:06:18 +00:00
55862e4bd7 projects.py ldflags: Also consider devel packages
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-08-01 21:57:13 +00:00
6ddbcfc932 projects.py: Assume build.libname = none for missing projects.conf
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>
2017-07-25 16:01:29 +00:00
3ec49304a1 projects.py: Add support for command pythonpath
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-07-24 10:56:51 +00:00
4827389e26 projects.py pkg-requires: Add options to query naked projects list
- Remove --vendor (-V), was dysfunctional, anyway
- Add options to strip the results:

  --subsections (-S)
  --delimiter (-d)
  --no-subpackages (-p)
  --no-version

Signed-off-by: Jan Lindemann <jan@janware.com>
2017-07-22 18:12:36 +00:00
11770d4cc3 projects.py: Check flavours build + devel in exepath command
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-07-09 23:17:23 +00:00
657d306bed projects.py: Add command getval
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-07-04 17:58:14 +00:00
79278ea8bd defs.mk, projects.py: Fix PREREQ_BUILD ignored in LIBFLAGS
PREREQ_BUILD doesn\'t make it into linker flags. This patch hopefully
fixes that.

Signed-off-by: Jan Lindemann <jan@janware.com>
2017-06-29 19:46:07 +00:00
c42e386c76 doc, make, scripts: Add support for [pkg.conflicts.xxx]
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>
2017-06-26 10:34:22 +00:00
b35a50944c project.conf, topdir.mk, projects.py: Replace pkg.required.xxx by pkg.requires.xxx
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>
2017-06-26 09:33:53 +00:00
a5e00ecaa4 projects.py: Add command os-cascade
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-06-23 18:09:59 +00:00
3fbb704dae projects.py fix: --flavours arguments mutilated
The argument to --flavours isn't correctly evaluated. It allows only one value

Signed-off-by: Jan Lindemann <jan@janware.com>
2017-06-17 09:08:15 +00:00
3961d47f07 conf/jcs, make, scripts: Rename jw-build's get_os.sh to get-os.sh
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-06-12 09:35:57 +00:00
641364543a projects.py: Increase debug logging
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-04-24 13:56:34 +00:00
cacfc76aba Fix : Make rojects.py Ãproj-dir return topdir for own project
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-04-13 23:17:45 +00:00
e4ea74dadc make, scripts: Add more scripts from ytools/devutil/scripts
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-04-08 13:40:04 +00:00
55fa0eaec5 $(TOPDIR), make, scripts: Search-and-replace ytools -> jw-build
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>
2017-04-07 12:15:48 +00:00
c1e41fa772 projects.py: Take install deps from all packages
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>
2017-03-26 20:27:17 +00:00
562ee5fc49 make, scripts: Add support for release dependencies
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-03-26 17:56:33 +00:00
ed86a8957f projects.py: Fix broken get_os.sh path detection
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-03-25 14:22:49 +00:00
db9cd2755f projects.py: Add --exclude support to ldflags
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-03-14 15:38:56 +00:00
69de7c53c8 rpmdist.mk: Fix off-by-one bug in rpm-release-reinstall
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>
2017-02-24 13:31:33 +00:00
b79d89f37d projects.py pkg-requires: Add --dont-strip-revision
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>
2017-02-10 16:19:26 +00:00
98eda48ec6 projects.py: Fix bogus newline in get_os()
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-01-13 16:23:10 +00:00
b27e0166c4 projects.py: Add cmd_required_pkg()
Signed-off-by: Jan Lindemann <jan@janware.com>
2016-12-31 14:10:18 +00:00
0037554001 scripts: Replace standard source path cvs.stable with jw.dev
Signed-off-by: Jan Lindemann <jan@janware.com>
2016-11-28 13:51:53 +00:00
59d6ba7419 projects.py: Introduction of vendor argument broke dependency list
Signed-off-by: Jan Lindemann <jan@janware.com>
2016-10-01 21:57:12 +00:00
2e924cd664 projects.py fix: Cflags command doesn\'t pull in dependencies recursively
Signed-off-by: Jan Lindemann <jan@janware.com>
2016-09-22 09:43:22 +00:00