Adding a symbolic link to src/python/jw allows jw-projects.py to run
without pointing PYTHONPATH to that module.
Signed-off-by: Jan Lindemann <jan@janware.com>
Add support for --create-user-repos to pgit.sh. It controls whether
or not personal remote repositories on janware.com are created when
cloning from another user.
Signed-off-by: Jan Lindemann <jan@janware.com>
git-srv-admin.sh is not necessarily in PATH, notably because
jw-build doesn't add itself to it anylonger, so invoke it with itsits
full path.
Signed-off-by: Jan Lindemann <jan@janware.com>
Without purge-stale-projects.sh, projects not longer in the upstream
directory don't get purged, so add it back.
Signed-off-by: Jan Lindemann <jan@janware.com>
jw-pkg is related to, but strictly speaking not indispensible for building and
packaging software. So, in the attempt have a minimal jw-build, move jw-pkg to
jw-base, and fix all packages that use it.
Signed-off-by: Jan Lindemann <jan@janware.com>
Since currently remote SSH git repos are identified via
git-srv-admin.sh, we still need it to run make over a bare toplevel
Makefile.
Signed-off-by: Jan Lindemann <jan@janware.com>
There's a certain logic that jw-pkg is part of jw-build, because it
comes in handy to compile config file templates in a post-install
stage. On the other hand, jw-base looks like a better place for that.
Re-adding for now, to not break too many packages.
Signed-off-by: Jan Lindemann <jan@janware.com>
Implement the functionality of create-pkg-config.sh in a Python
module CmdCreatePkgConfig.py. This allows to remove
create-pkg-config.sh and jw-build-functions.sh.
Note that the translation was done pretty literally to play it safe.
More code can and should be removed by taking advantage of the fact
that jw-projects.py knows more about the project than the shell
scripts.
Signed-off-by: Jan Lindemann <jan@janware.com>
Move nearly all of projects.py into src/python/jw/build/App.py. The
plan is to split the script into parts and import them.
Signed-off-by: Jan Lindemann <jan@janware.com>
pkg.sh's operating system abstraction doesn't make much sense with
the debian compatibilty script removed, so add it back.
Signed-off-by: Jan Lindemann <jan@janware.com>
Re-add everthing needed for building and packaging ytools. This is a
big commit, 2002 lines of code. It mostly consists of C/C++ machinery,
plus some documentation-related stuff.
Signed-off-by: Jan Lindemann <jan@janware.com>
pgit.sh is not indispensable for building a projects directory, but
it is necessary for some convenience targets in projects-dir.mk.
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>
Make a few scripts optional which don't belong into a minimal
jw-build, increasing compatibility with a branch which removes them.
Signed-off-by: Jan Lindemann <jan@janware.com>
Missing -devel packages during build often lead to this:
WARNING: No project directory for module "dw-pi-playlist: No project
path found for module "dw-pi-playlist"
but actually, the warning isn't correctly logged. Instead, an exception is
thrown. Fix that.
Signed-off-by: Jan Lindemann <jan@janware.com>
jw-pkg determines the file attributes of template compilation output via a line
matching the '^#\s*conf' regular expression. Allow that regex to be configured.
Signed-off-by: Jan Lindemann <jan@janware.com>
Up to now, jw-pkg only evaluates config lines at the top of secret-tables. Look
for config patterns at the top of templates, too.
Signed-off-by: Jan Lindemann <jan@janware.com>
/sbin/brctl is not part of openSUSE anymore, use ip link commands instead.
Also, remove the vlan option, now unsupported by qemu.
Signed-off-by: Jan Lindemann <jan@janware.com>
proj_dir() raises an exception for projects which don't have a dedicated
project directory, even though for some projects this is legal. php-cli, for
instance, only installs stuff below /srv/www/proj/php-cli.
This commit makes projects.py tolerate that.
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>
Make scm.sh ls-files list all files belonging to submodules, too. The use case
is to have list-text-files return them.
Signed-off-by: Jan Lindemann <jan@janware.com>
Installing packages breaks with eval, because it removes quotes,
notably around perl(XYZ) capabilities. Works just as well without
eval, remove it
Signed-off-by: Jan Lindemann <jan@janware.com>
Don't check __path__ as Interable[str] anylonger, this somehow broke (Don't
remember how). Use type: ignore instead.
Signed-off-by: Jan Lindemann <jan@janware.com>
projects.py modules shows either all modules, or modules which have one of the
key-value pairs requested for filtering via the -F option.
Signed-off-by: Jan Lindemann <jan@janware.com>
Files were listed twice in compile-templates, because apparently, during
postinstall, rpm -ql returns the list of a packages files twice.
Signed-off-by: Jan Lindemann <jan@janware.com>
System installation directories should not belong to jw-build-generated
packages, so exclude them via regex.
Signed-off-by: Jan Lindemann <jan@janware.com>
Untracked files flag a git repository as unfit for purging, don't do that. We
don't care for untracked files.
Signed-off-by: Jan Lindemann <jan@janware.com>