Commit graph

3,965 commits

Author SHA1 Message Date
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
8617b1f20a Start version: 1.0.0-133
Signed-off-by: janware DevOps <devops@janware.com>
2025-10-22 23:16:31 +00:00
f82988dcc0 projects.py: Fix exception in error message (missing -devel package)
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>
2025-10-19 10:30:47 +00:00
350492f988 Release 1.0.0-132@suse-tumbleweed/x86_64
Signed-off-by: Janware DevOps <devops@janware.com>
2025-09-21 23:08:45 +00:00
3c6fe1240f Start version: 1.0.0-132
Signed-off-by: janware DevOps <devops@janware.com>
2025-09-21 23:08:14 +00:00
eb3949d085 jw-pkg: Support -c option (template file attribute definition pattern)
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>
2025-09-21 11:43:46 +00:00
64bc96624e htdocs.mk: Support HTML_STOPDIR_NAME
htdocs.mk's install relies on source code having its HTML contents installed in
a subdir called "htdocs". Make that choice a variable named
"HTML_STOPDIR_NAME".

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-09-21 11:43:45 +00:00
429270c6b8 Release 1.0.0-131@suse-tumbleweed/x86_64
Signed-off-by: Janware DevOps <devops@janware.com>
2025-09-14 13:30:57 +00:00
948ec013fa Start version: 1.0.0-131
Signed-off-by: janware DevOps <devops@janware.com>
2025-09-14 13:30:21 +00:00
336d1a5133 make: Add definitions and rules for *.tmpfiles
Add support for *.tmpfiles. xxx.tmpfiles gets installed by conf.mk as
/usr/lib/tmpfiles.d/xxx.conf.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-09-14 13:29:04 +00:00
d6d296fb2d Release 1.0.0-130@suse-tumbleweed/x86_64
Signed-off-by: Janware DevOps <devops@janware.com>
2025-09-13 12:06:35 +00:00
553fd98a62 Start version: 1.0.0-130
Signed-off-by: janware DevOps <devops@janware.com>
2025-09-13 12:06:01 +00:00