Commit graph

4,026 commits

Author SHA1 Message Date
e589caf73f Re-add git-srv-admin.sh: Needed for enumerating repos via SSH

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>
2025-11-17 08:52:12 +01:00
ab7140ccd4 Release 1.0.0-138@suse-tumbleweed/x86_64
Signed-off-by: Janware DevOps <devops@janware.com>
2025-11-17 01:30:27 +00:00
265354414e Start version: 1.0.0-138
Signed-off-by: janware DevOps <devops@janware.com>
2025-11-17 00:08:47 +00:00
342030ee32 upload.sh: Re-add upload.sh, needed for release pipeline

upload.sh is needed for uploading a built package to the repo server, so re-add it.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-17 02:19:08 +01:00
0f3c45c1d3 Re-add jw-pkg: Use by many postinstall scripts

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>
2025-11-16 20:19:32 +01:00
65d29af479 .gitignore: Add .gitignore
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-16 19:50:25 +01:00
0cd5ffa378 jw.__init__.py: Add empty file

Make $(TOPDIR)/src/python/jw a module. Needed since $(TOPDIR/make now also runs jw-python.py.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-16 19:43:49 +01:00
ded9588396 jw.build: Disable generation of __init__.py

The default behaviour of a generated __init__.py is to load all exported symbols in the respective directory. Since jw-python.py is invoked often, this hampers performance, so disable it.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-16 18:44:46 +01:00
d0c1eac1a9 py-defs.mk, py-mod.mk: Support PY_UPDATE_INIT_PY

Allow to disable auto-updating of __init__.py in a directory via PY_UPDATE_INIT_PY = true | false.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-16 18:42:58 +01:00
2a67708fb1 build.cmds.BaseCmdPkgRelations: Add Module

For requires, provides and conflicts, isolate the bulk of the code in BaseCmdPkgRelations, then derive CmdPkgConflicts, CmdPkgProvides and CmdPkgRequires from that class.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-16 18:05:10 +01:00
31537a0bd6 build.cmds.CmdCreatePkgConfig: Add module

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>
2025-11-16 17:31:16 +01:00
3370dd6236 build.App: Remove some cruft

Remove code

- Explicitly marked as unused - Meant to provide Python2 compatibility - Meant to run App.py as main module - Turned obsolete by removing the command functions from Projects.py
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-16 14:26:03 +01:00
ac583f76e1 build.cmds: Move build.App.cmd_xxx() here

For every cmd_xxx() method in build.App, create a class that's instatiated for running the respective command. This has the advantage of making App.py smaller (and faster), and having smaller, more maintainable command modules adhering to a common interface.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-16 11:39:27 +01:00
17bf98cb7a build.Cmd: Add module

Cmd is meant as a base class for classes representing commands currently still implemented as methods of the Project class.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-15 14:41:07 +01:00
fbc9e3a001 make, scripts: Rename projects.py -> jw-projects.py

projects.py is too unspecific, rename it to jw-projects.py.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-15 12:06:38 +01:00
aa3e2efd84 projects.py: Move bulk of code into module

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>
2025-11-15 11:08:52 +01:00
7a315442d4 create-mkdebian.sh: Re-add create-mkdebian.sh

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>
2025-11-16 16:31:52 +01:00
3842e98e11 pkg-manager.sh: Re-add pkg-manager.sh

pkg-manager.sh is needed by rollout cronjob, so re-add it.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-15 11:04:13 +01:00
166dbc06bb vim.mk: Re-add files necessary for building jw-ws

vim.mk is necessary for building jw-ws, add it.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-14 17:18:31 +01:00
d7d4ffa640 py-run.mk, python-tools.sh: Re-add files necessary for jw-client-devops-web

jw-client-devops-web needs py-run.mk and python-tools.sh, add them.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-14 17:15:24 +01:00
1a0eb42191 projects-dir-minimal.mk: Link Makefile more agressively

The link to the projects dir toplevel Makefile is not created if a jw-build directory already exists for some reason, fix that.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-14 17:13:29 +01:00
9ddbc547c2 gettext.mk: Re-add files necessary for building bootstrap

Re-add all files missing for building the bootstrap package.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-14 16:22:40 +01:00
6bd584ad70 cpp.mk, swig.mk: Re-add files necessary for building auth

Re-add all files missing for building the auth package.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-14 16:17:21 +01:00
b0c72c92f9 dummy.mk: Re-add files necessary for building jw-apache
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-14 16:15:12 +01:00
4f20f03db7 make: Re-add files necessary for building closure-compiler
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-14 16:13:17 +01:00
bf16c6714b make, scripts: Re-add files necessary for building ytools

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>
2025-11-14 15:59:49 +01:00
0a9340af49 make: Re-add files necessary for building jw-python

Re-add everything necessary for building and packaging jw-python.

ldlibpath.mk is not strictly necessary, but might be with other Python packages backed by compiled C-code, so leave it in.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-13 17:27:14 +01:00
5b758023ac pgit.sh: Re-add scripts/pgit.sh

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>
2025-11-14 15:38:54 +01:00
df9a4e6a40 projects-dir-*.mk: Re-add files necessary for building projects directory

Re-add everything necessary for recursively building all repos in a directory, e.g. as a build controlled by janware.com/Makefile or any other installation.

This adds 489 lines of code which can (and should) be massively reduced, notably removing code supporting CVS.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-13 16:23:35 +01:00
82eb80979d bin, make, scripts: Re-add files necessary for packaging jw-build

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>
2025-11-14 11:22:50 +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
c36c83c164 scripts/Makefile: Make jannet jcs jw-pkg optional

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>
2025-11-14 13:46:40 +01:00
f51b2cf691 $(TOPDIR)/Makefile: Remove superfluous SUBDIRS

Don't define SUBDIRS, that's redundant to topdir.mk's definition.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-14 13:39:52 +01:00
0c2752e1a8 Release 1.0.0-137@suse-tumbleweed/x86_64
Signed-off-by: Janware DevOps <devops@janware.com>
2025-11-14 00:14:39 +00:00
eabb5cda26 Start version: 1.0.0-137
Signed-off-by: janware DevOps <devops@janware.com>
2025-11-14 00:14:12 +00:00
069aa5bc1b qemu-boot.sh: Boot from LAN by default
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-13 15:26:08 +01:00
cb714d83ad py-devs.mk: Don't ?= PYTHONPATH

For performance's sake, don't ?= define PYTHONPATH, but := it, like so:

ifeq ($(origin PYTHONPATH),undefined) PYTHONPATH := $(call proj_query, pythonpath $(PROJECT) $(PY_PREREQ_RUN)) endif
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-13 15:20:54 +01:00
a91738cab3 Release 1.0.0-136@suse-tumbleweed/x86_64
Signed-off-by: Janware DevOps <devops@janware.com>
2025-11-12 00:07:28 +00:00
f062a28c72 Start version: 1.0.0-136
Signed-off-by: janware DevOps <devops@janware.com>
2025-11-12 00:07:03 +00:00
cea804eac4 projects-dir.mk: Remove Makefile from CVS/Entries

The projects toplevel Makefile is not maintained in CVS anylonger but in Git, so don't update it from CVS any longer.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-11 16:58:22 +01:00
35bfcf2e0f Release 1.0.0-135@suse-tumbleweed/x86_64
Signed-off-by: Janware DevOps <devops@janware.com>
2025-11-07 11:40:34 +00:00
f84edf2a7e Start version: 1.0.0-135
Signed-off-by: janware DevOps <devops@janware.com>
2025-11-07 11:40:06 +00:00
c9ddeef8b4 projects-dir-minimal.mk: Don't clone jw-dev branch

Use the default branch to clone projects-dir-minimal.mk during initialiazation of the build tree.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-07 12:27:16 +01:00
9147a78f2e projects-dir.mk: Don't hardcode Makefile name

"Makefile" is used in dependency checks within projects-dir.mk. Since it might be included from projects-dir-minimal.mk, which also works with "GNUmakefile", make this fallback of a predefinable variable, PROJECTS_MAKEFILE_NAME.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-06 16:51:10 +01:00
51c1a1508d projects-dir.mk: Support JWBDIR_NAME and JWBDIR_SEARCH_PATH

Adapt projects makefile to match the mechanism all proj.mk's are supposed to find their JWBDIR. Namely make JWBDIR_NAME a conditionally assigned variable to allow for some testing of alternative jw-build trees.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-05 12:49:29 +01:00
df4a295d79 Add git-projects-dir-[include|minimal].mk

In the attempt to move both jw-build and the janware toplevel Makefile from CVS to Git, add two new makefile snippets to make/*.mk:

- projects-dir-minimal.mk

A new toplevel-Makefile for building all projects in one go. It should be suitable to be downloaded from janware.com/Makefile and then be used to bootstrap all repos hosted on janware.com, that a user has access to, just like the current toplevel Makefile is.
It is as small as possible: Little code means few assumptions on what the world outside of it looks like, notably jw-build. This is desirable, because it lives outside of version control, albeit for a short while, and as long as it does, there's no mechanism in place to keep it current.
That said, on first use, it replaces itself with a symbolic link into jw-build and is then version controlled with jw-build.

- projects-dir-include.mk

This is essentially the existing projects-dir.mk / toplevel-Makefile, which it includes. It's meant as a place for adaptations to the next-generation implementation. This might prove handy to have while both implementations coexist during the transition phase.
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-03 22:28:08 +01:00
7b315dede5 Release 1.0.0-134@suse-tumbleweed/x86_64
Signed-off-by: Janware DevOps <devops@janware.com>
2025-11-06 07:41:08 +00:00
4a3297791d Start version: 1.0.0-134
Signed-off-by: janware DevOps <devops@janware.com>
2025-11-06 07:40:38 +00:00
ec856711d2 conf.mk: Fix: Packages own /usr/lib/tmpfiles.d

/usr/lib/tmpfiles.d is provided by the OS, don't include it in the package.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-06 07:24:32 +00:00
c9d89102c1 Release 1.0.0-133@suse-tumbleweed/x86_64
Signed-off-by: Janware DevOps <devops@janware.com>
2025-10-22 23:17:05 +00:00