Commit graph

49 commits

Author SHA1 Message Date
8d174f03bd
project.conf: pkg.requires.suse.release -= python3-pyright
All checks were successful
Standard CI tests / Packaging - Kali Linux (pull_request) Successful in 3m17s
Standard CI tests / Packaging - OpenSUSE Tumbleweed (pull_request) Successful in 3m35s
Standard CI tests / Packaging test - All supported platforms (pull_request) Successful in 0s
Standard CI tests / Packaging - Kali Linux (push) Successful in 3m18s
Standard CI tests / Packaging - OpenSUSE Tumbleweed (push) Successful in 3m19s
Standard CI tests / Packaging test - All supported platforms (push) Successful in 0s

Running pyright in a minimal docker container gives this error:

$ pyright /usr/bin/npm-default: No such file or directory Traceback (most recent call last): File "/usr/bin/pyright-3.13", line 6, in <module> sys.exit(entrypoint()) ~~~~~~~~~~^^ File "/usr/lib/python3.13/site-packages/pyright/cli.py", line 31, in entrypoint sys.exit(main(sys.argv[1:])) ~~~~^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/pyright/cli.py", line 18, in main return run(*args, **kwargs).returncode ~~~^^^^^^^^^^^^^^^^^ File "/usr/lib/python3.13/site-packages/pyright/cli.py", line 22, in run pkg_dir = install_pyright(args, quiet=None) File "/usr/lib/python3.13/site-packages/pyright/_utils.py", line 69, in install_pyright node.run( ~~~~~~~~^ 'npm', ^^^^^^ ...<5 lines>... stderr=subprocess.PIPE if silent else sys.stderr, ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ ) ^ File "/usr/lib/python3.13/site-packages/pyright/node.py", line 144, in run subprocess.run(node_args, **kwargs), ~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^ File "/usr/lib64/python3.13/subprocess.py", line 577, in run raise CalledProcessError(retcode, process.args, output=stdout, stderr=stderr) subprocess.CalledProcessError: Command '['/usr/bin/npm', 'install', \ 'pyright@1.1.409']' returned non-zero exit status 255.

This means that on openSUSE, python3-pyright tries to pull in packages from the NPM registry. This increases the CI supply chain attack surface inacceptably, so remove pyright from the release prerequisites. That should be enough to remove it from the prerequisites of target check as well and allow it to succeed.

The pyright check machinery itself remains useful, so keep it in place for developers who install python3-pyright manually.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-06-08 18:46:30 +02:00
d76350643d
project.conf: Don't require pyright on Debian

pkg.requires.os.release = python3-pyright breaks CI on Kali Linux. It is present in the janware repos, but using those would cross a line: jw-pkg must be buildable from the base repositories alone, so don't make pyright mandatory for Debian, because that pulls it in for Kali, too.

Ironically, the Debian repo provides it. Which makes it obvious that we will need another entry in the os cascade for Debian proper to allow pulling in such packages on Debian.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-06-04 23:14:49 +02:00
f1456f1d46
project.conf, py-topdir.mk: Fix check target for Kali

"make check" fails on Kali Linux, because the machinery lacks pieces:

- Add mypy, yapf3, python3-pyright to project.conf for Debian. The pyright package is not in upstream Kali, but is now supplied by the jw-foss repo.
- ifdef ruff out from "make check" in py-topdir.mk, because it's too much work to get that to work from packages on Kali Linux for now.

project.conf, py-topdir.mk: Make Kali work

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-06-02 17:52:07 +02:00
8c5c98c95a
py-topdir.mk: Use pyright

py-topdir.mk: Use ruff and yapf

- Use pyright for the target py-check-syntax

- Generate a $(TOPDIR)/pyrightconfig.json for that

- Add pyrightconfig-base.json because it's used by pyrightconfig.json
- Add python3-pyright to pkg.requires.release, anticipating the use of the py-syntax-check target by CI
Signed-off-by: Jan Lindemann <jan@janware.com>
2026-05-31 18:20:37 +02:00
36d854ce19
py-topdir.mk: Use ruff and yapf
- Use ruff and yapf for the targets py-check-syntax, py-format and py-check-format.
- Add a pyproject.toml for those. It also includes configuration for isort, albeit not being directly used in the linter targets.

- Make .gitignore igore that in newly created projects.

- Add ruff, yapf and isort to pkg.requires.release, anticipating their use by CI.
Signed-off-by: Jan Lindemann <jan@janware.com>
2026-05-31 18:20:36 +02:00
84f1ad66f6 topdir.mk / projects-dir.mk: Remove BASE_PKGS

Move the dependencies listed in BASE_PKGS from projcts-dir.mk and topdir.mk into project.conf.

Due to various hen-and-egg problems on a minimal system, in some situations these packages can't be installed from project.conf. The same is true with BASE_PKGS, however, so remove it, at least that does away with some redundancy.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-03-15 14:58:54 +01:00
d97cf111da project.conf: pkg.requires.relase.os = build-essential:native

Fix the following package build error:

$ dpkg-buildpackage -us -uc -ui dpkg-buildpackage: info: source package jw-pkg dpkg-buildpackage: info: source version 1.0.0-184 dpkg-buildpackage: info: source distribution kali-rolling dpkg-buildpackage: info: source changed by janware GmbH <jan@janware.com> dpkg-source --before-build . dpkg-buildpackage: info: host architecture amd64 dpkg-checkbuilddeps: error: unmet build dependencies: build-essential:native dpkg-buildpackage: error: build dependencies/conflicts unsatisfied; aborting dpkg-buildpackage: hint: satisfy build dependencies with your package manager frontend debuild: fatal error at line 1185: dpkg-buildpackage -us -uc -ui failed

This pulls in a lot of dependencies and should be made more specific if possible.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-03-14 11:26:13 +01:00
d4aab54607 project.conf: Remove pkg.requires.ubuntu|raspbian

Remove the sections pkg.requires.ubuntu|raspbian from project.conf, because their contents is present in pkg.requires.debian and is already evaluated by Ubuntu and Raspbian builds.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-03-14 11:26:13 +01:00
cc058394d8 project.conf: pkg.requires.build.os: pkg-config -> devel

Don't build-depend on pkg-config, because it's unnecessary to build jw-pkg.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-03-14 11:26:12 +01:00
b7b2e9d5f4 project.conf: pkg.requires.build.os: -inkscape, +cpio

Remove dependency inkscape: It's needed by svg-to-pixmap.mk, but not for building jw-pkg. If anything, -devel should depend on it, but that seems a little heavy handed and can be achieved by packages which know that they include svg-to-pixmap.mk.

Add dependency cpio: Needed by pkg.sh to copy a the source file tree. Will be removed again as soon as pkg.sh goes Python.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-03-14 11:25:46 +01:00
43464786dc project.conf: Remove nonsensical maintainer scripts

Remove maintainer scripts that are long since obsolete.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-03-06 12:06:28 +01:00
48664724ce project.conf: Remove sudo and gawk from run deps

sudo is certainly not needed for the run package (which in itself is hardly useful at all), so move that dependency into the devel package. Same for gawk. /opt/jw-pkg/bin/get-os.sh depends on it, but I don't see where else but in a -devel context that would matter. And if it breaks something, it is going to be an easy fix without awk.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-02-18 18:20:33 +01:00
152fa65f57 project.conf: pkg.requires.jw.devel = jw-pkg-run

jw-pkg-devel doesn't depend on jw-pkg-run, which is wrong, because it needs jw-pkg.py.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-02-14 09:20:24 +01:00
f669bd0af5 project.conf: pkg.requires.os.devel = make

Add a package dependency on make for the -devel package. Installing jw-pkg's Makefiles doesn't make much sense without it.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-02-12 20:37:24 +01:00
26cf7f7823 project.conf: Use Group Development/Tools/Building

Change package group from System/Libraries to Development/Tools/Building because that expresses the purpose of the package better.

Signed-off-by: Jan Lindemann <jan@janware.com>
2026-02-10 09:59:24 +01:00
e20cb706a5 project.conf: Change OS dependency python -> python3
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-02-21 06:09:26 +00:00
ce7044808f project.conf: Python -> python3 on Debian

Ubuntu 22.04 (and supposedly all Debian based distros) don't have a package called python anylonger, and use python3 instead. Using the unversioned [requires] sections for simplicity. Note that this might break backwards compatibility, and should be fixed as necessary.

Signed-off-by: Jan Lindemann <jan@janware.com>
2023-07-07 08:48:00 +00:00
c37f49a170 project.conf + pkg-manager.sh: Add support for raspbian
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-06-16 17:05:03 +00:00
0186d346a5 project.conf: Add inkscape to pkg.requires.os.build
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-11-19 09:28:15 +00:00
83eeb7a2f9 Fix: Realpath is not a package anymore in Ubuntu 18.04

/usr/bin/realpath is part of coreutils in Ubuntu 18.04

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-11-19 09:07:57 +00:00
f9e73b54a2 project.conf: Add release package dependencies for Ubuntu

Add release dependencies devscripts, debhelper, dput, libparse-debcontrol-perl, fakeroot, pkg-config, tested on Ubuntu 18.04.

Signed-off-by: Jan Lindemann <jan@janware.com>
2019-11-13 12:51:43 +00:00
753ad90160 project.conf: Make OpenEmbedded build work
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-06-19 10:11:02 +00:00
0c04c0fccd project.conf: Add some dependencies for building with yocto
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-06-15 15:12:03 +00:00
5f92c65b0f project.conf: Add build dependency on xdg-utils
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-05-25 07:47:29 +00:00
266c97949d proj.mk, project.conf: Move dependencies from proj.mk into project.conf
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-12-14 12:13:59 +00:00
75fb193ad7 CentOS: Change dependency rpmbuild to rpm-build
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-12-12 21:00:36 +00:00
4c84148c7e project.conf: Add rpmbuild to release dependencies
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-12-12 20:54:58 +00:00
20f675c280 make, scripts: Fix CentOS 7 build
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-10-13 10:46:02 +00:00
369a6b5dda project.conf: Add realpath to pkg.requires.ubuntu-14
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-03-06 20:37:54 +00:00
bc9a159275 project.conf: Add archlinux package dependencies
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-01-02 18:56:13 +00:00
b5c054d5d5 project.conf: Add dependency on python
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-12-29 13:12:54 +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
564338eef5 project.conf: Run rm -f /usr/bin/jcs in postinstall script
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-04-12 12:19:31 +00:00
351188dcf9 project.conf: Set global.jw-maintainer = jan
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-04-10 18:50:19 +00:00
29c262c102 project.conf: Add dependency on inkscape
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-04-07 15:00:17 +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
562ee5fc49 make, scripts: Add support for release dependencies
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-03-26 17:56:33 +00:00
304fc5f490 project.conf: Add release dependency dput
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-03-26 17:13:30 +00:00
39a48bcb45 project.conf: Add release dependencies

debhelper, libparse-debcontrol-perl, fakeroot

Signed-off-by: Jan Lindemann <jan@janware.com>
2017-03-26 16:53:05 +00:00
cab56807e7 project.conf: Add (currently unsupported) release = devscripts
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-03-26 16:33:53 +00:00
04de3de16e project.conf: Fix debian dependency libglib2.0-dev
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-03-25 15:05:42 +00:00
1823d5a97d project.conf: Add cvs make gcc automake autoconf to build depenencies
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-03-25 14:26:12 +00:00
0070f788b2 project.conf: Add package requirements for debian
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-01-13 16:22:24 +00:00
156721f26d project.conf: Add inkscape and autoconf to pkg.required.os.build
Signed-off-by: Jan Lindemann <jan@janware.com>
2016-12-07 12:42:51 +00:00
6ae9c44c78 project.conf: Updated description
Signed-off-by: Jan Lindemann <jan@janware.com>
2016-12-07 12:11:00 +00:00
c27934dde7 project.conf: Add glib2-devel and boost.devel to pkg.required.os
Signed-off-by: Jan Lindemann <jan@janware.com>
2016-12-07 11:46:11 +00:00
c6c5105932 project.conf: Updated description
Signed-off-by: Jan Lindemann <jan@janware.com>
2016-12-03 17:13:53 +00:00
30f7521a21 project.conf, run.mk: Add option global.license = LGPL 2
Signed-off-by: Jan Lindemann <jan@janware.com>
2016-11-23 12:09:38 +00:00
df77be6508 project.conf, scm.sh: Move doc/share/project.txt -> make/project.conf
Signed-off-by: Jan Lindemann <jan@janware.com>
2016-01-29 13:09:04 +00:00