5d1ba6e15a
pyproject.toml: Enforce import annotations style
...
Add new ruff rules and fix their fallout:
future-annotations = true
select = [
"TC", # type-checking import placement rules
"FA", # future annotations rules
]
This comprises:
- Streamline imports and exports in cmds.xxx.Cmd
- Import base class as "Base"
- Export types Cmd and Parent via __all__
- Move all types imported only for annotation below TYPE_CHECKING
- Use "from __future__ import annotations" all over the place
Signed-off-by: Jan Lindemann <jan@janware.com>
2026-06-01 14:34:25 +02:00
7a65a7b5e1
pyproject.tompl: Set ruff.output-format = "concise"
...
In order to produce make check output digestable by vim, ruff's output format needs to be set to "concise", so do that.
Signed-off-by: Jan Lindemann <jan@janware.com>
2026-06-01 14:33:52 +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
99386d5492
conf/project: Add directory and variables
...
Anticipating future usefulness, add a regular project configuration directory plus two variables pointing to it:
JW_PKG_CONF_BASE_DIR ?= $(firstword $(wildcard $(JW_PKG_DIR)/conf /etc/opt/jw-pkg)) JW_PKG_CONF_DIR ?= $(firstword $(wildcard $(JW_PKG_CONF_BASE_DIR)/project $(JW_PKG_CONF_BASE_DIR)))
Signed-off-by: Jan Lindemann <jan@janware.com>
2026-05-31 18:20:31 +02:00
f21ff8e713
topdir.mk: Add dynamic file creation machinery
...
Add generic machinery to dynamically create files in $(TOPDIR). The need arises because version controlled configuration files for linters are going to be introduced.
For that, this commit introduces a variable $(TD_GENERATE_FILES), which target all depends on, and which topdir.clean removes.
It defaults to another variable also introduced by this commit, $(TD_COPY_FILES), which in turn defaults to $(TOPDIR)/conf/topdir.
This commit also adds support for JW_PKG_TOPDIR_COPY_PATH. It supports a PATH-style syntax, which allows pointing to multiple directories to be checked for source files. If they exist, they will be appended to the files found in $(TOPDIR)/conf/topdir after copying. Defining arbitray files to copy is not supported before security implications during CI runs are better understood.
Having the copy prerequisites work comes at the cost of having to add .SECONDEXPANSION. Since it's limited to the toplevel Makefile, I suppose that's acceptable.
Signed-off-by: Jan Lindemann <jan@janware.com>
2026-05-31 18:20:30 +02:00
af6de30546
scripts/usr-bin: Install symlink /usr/bin/jw-pkg
...
Install a symlink /usr/bin/jw-pkg -> /opt/jw-pkg/bin/jw-pkg.py in order to have jw-pkg in $PATH.
Signed-off-by: Jan Lindemann <jan@janware.com>
2026-04-06 15:58:11 +02:00
e9cb539ecf
jw-pkg.py: Enable argcomplete
...
Register a bash-completion handler for jw-pkg.py, and mark it with PYTHON_ARGCOMPLETE_OK.
Signed-off-by: Jan Lindemann <jan@janware.com>
2026-03-06 12:06:28 +01:00
5d84eb0877
conf: Add subdir
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2026-03-06 12:06:28 +01:00
bc883deed4
Everywhere: Remove everything non-essential for "make clean all"
...
This commit removes everything not strictly necessary for running "make clean all" inside jw-build.
packaging jw-devtest. This cuts the repo down from 24077 to 4725 lines of code.
The idea is to
1) Further remove bloat from the remaining bits
2) Re-add what's necessary to build and package other essential repos.
The decision should be based on whether or not jw-build can also be useful in a non-janware context.
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-14 15:02:56 +01:00
ca52ba6d6e
/etc/jw-rc.status: Fix file mode
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2023-10-26 12:44:44 +00:00
2d6e7b11ac
conf/etc/Makefile, jw-rc.status: Add /etc/jw-rc.status
...
Some distros remove /etc/rc.status, so provide jw-rc.status as an alternative
Signed-off-by: Jan Lindemann <jan@janware.com>
2023-10-26 12:36:51 +00:00
154529ea23
conf/jcs/Makefile: Fix warning about multiply defined targets
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-07-09 11:09:37 +00:00
b2d6e6f554
Everywhere: Rename MODDIR -> JWBDIR
...
Rename the omnipresent MODDIR variable to JWBDIR, since that's more to the point.
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-06-29 21:34:18 +00:00
3a180033d4
projects.py fix: Read_value() does not return entire section
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-06-18 07:37:15 +00:00
458fe33260
conf/profile, make, scripts: Search-and-replace cvs.jannet.de -> cvs.janware.com
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-06-15 08:15:28 +00:00
aa85417a17
Everywhere: Purge spaces in text files
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-03-06 12:38:20 +00:00
0eaef0c326
conf/jcs, make, tmpl/doxygen: Align equal signs in makefiles to column 30
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-03-03 18:12:28 +00:00
b7772630cf
cvsroot.sh, cvs-admin.sh, integrate-distro.sh: Replace /home/jannet/arc -> /srv
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-12-14 09:18:17 +00:00
5a85b5ce97
jcs.conf: Work around often disfunctional /usr/bin/hostname
...
/usr/bin/hostname often returns nonsense, especially during early phases of installation. Rely on the contents of /etc/hostname for determining jcs_dir
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-10-28 10:13:43 +00:00
e70f7a1c5c
rpmdist.mk: Add target ssh-remote
...
This target runs ssh -l root $(TARGET_HOST), with TARGET_HOST typically defined in $(MODDIR)/make/local.mk. Seems a bit out-of-place, everything, but anyway.
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-06-26 12:56:50 +00:00
0ebf893d18
jcs.conf: Fix domain part "janware" in jcs_dir
...
Using hostname -d, as before, seems to volatile for a robust config directory layout.
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-06-26 11:09:32 +00:00
afd30cf380
alias-cdc.sh: Moved ytools cdc.sh to jw-build alias-cdc.sh
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-06-26 10:50:33 +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
8cb9249af0
jcs.conf: Replace cvs.stable by jw.dev
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-04-23 16:49:50 +00:00
b0f816dcc2
jcs.mk: Try to fix jcs not in PATH after sudo
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-04-23 15:50:28 +00:00
9c4db07ac6
conf/jcs, scripts: Move jcs over from ytools
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-04-12 12:12:07 +00:00
e36edb06ab
cvsroot.sh: Add /etc/profile.d/cvsroot.sh
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-04-12 10:51:38 +00:00
d94dfad4a8
conf/profile/path-jw-build.sh: Add file
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2017-04-07 14:30:18 +00:00