subpackages = "run, devel" is not tolerated by create-mkspec.sh. It
expects "run devel", which goes against the grain of the other
metadata, so make it at least tolerate the more common
comma-separated variant.
Signed-off-by: Jan Lindemann <jan@janware.com>
Fix shellcheck SC2068 (unquoted array expansions), SC2145 (mixed
string/array arguments), SC2328 (redirection in command
substitution), SC2173 (untrapable signals), and SC2148 (missing
shebang) errors across 14 script files.
Also configure scripts/Makefile with --severity=error so that only
errors (not warnings or notes) cause check failures. To be tightened
by follow-up commits.
Assisted-by: unsloth/Qwen3.6-35B-A3B-GGUF:IQ4_NL and pi.dev
Signed-off-by: Jan Lindemann <jan@janware.com>
Rename command "distro" to "pkg" together with "info", its last
remaining subcommand. "distro" is often used in the sense of "Linux
distribution", which would be too narrow for the targets jw-pkg could
theoretically support.
Signed-off-by: Jan Lindemann <jan@janware.com>
jw-projects.py is now a multi-call executable, with "projects" being
just one of its subcommands. Rename it to jw-pkg.py to reflect that.
Signed-off-by: Jan Lindemann <jan@janware.com>
In the os_cascade() function, don't roll own logic, call the richer
jw-projects.py projects os-cascade instead.
Signed-off-by: Jan Lindemann <jan@janware.com>
Reorganize the Python module structure. Placing the command classes
under jw.cmds.projects instead of jw.build.cmds will allow to add a
nested command structure, with the current commands, being mostly
related to building software, found below a "projects" toplevel
command.
Other conceivable commands could be "package" for packaging, or
"distro" for commands wrapping the distribution's package manager.
Signed-off-by: Jan Lindemann <jan@janware.com>
Re-add all files necessary to package jw-build itself, i.e.
sucessfully run make pkg-rebuild-reinstall. This adds 1892 lines of
code.
Signed-off-by: Jan Lindemann <jan@janware.com>
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>
%prep is passed -n <name> option. This is considered an error by rpm
Release 4.20.1-1.1. It is superfluous anyway, because the name is communicated to rpm
via %setup -n <name> later in the %prep section. Remove the -n option.
Signed-off-by: Jan Lindemann <jan@janware.com>
The last commit disabled automatic addition of commands
to the %install scriptlet. That in turn broke the build
on a debugfiles.list missing from the %files section.
Added %define debug_package %{nil} to the SPEC file to
work around that.
Signed-off-by: Jan Lindemann <jan@janware.com>
Cut short CentOS magic appended to %install scriptlet, which
would generates .pyo files and other cruft.
See also https://stackoverflow.com/questions/30317213
Signed-off-by: Jan Lindemann <jan@janware.com>
Not exactly sure why this was needed in the first place. It apparently
was introduced on 2013-03-18, and already then denoted as a kludge.
Also some more code beautification
Signed-off-by: Jan Lindemann <jan@janware.com>
This commit makes pkg.sh and create-mkspec.sh check, if a -devel package is
specified, and if not, adds the contents of the -devel file list from the
install log to the -run file list.
This also involves adding a [-s subpackage] option to the
pkg.sh milk-install-log command.
Not implemented for debian packages.
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>
Exclude /opt/<proj>/make/*.mk if no -devel flavour is built
FIXME: This is a kludge: We can't safely assume that all *.mk-files
reside there, that's up to the project's makefile variable
definitions.
Signed-off-by: Jan Lindemann <jan@jannet.de>