Commit graph

73 commits

Author SHA1 Message Date
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
bf056c61cc projects.py: Started implementation of required os cascade
Signed-off-by: Jan Lindemann <jan@janware.com>
2016-09-17 10:52:58 +00:00
e82a0481b5 project.conf: Renamed pkg.required to pkg.required.jw
Signed-off-by: Jan Lindemann <jan@janware.com>
2016-09-17 10:14:08 +00:00
cca008ac3b projects.py: Use both pkg.required.build and pkg.required.run for ldlibpath
Signed-off-by: Jan Lindemann <jan@janware.com>
2016-09-17 09:10:16 +00:00
de4a08f3d4 projects.py: Add support for explicitly specifying version in pkg.required
Signed-off-by: Jan Lindemann <jan@janware.com>
2016-09-17 06:27:02 +00:00