Commit graph

13 commits

Author SHA1 Message Date
e1a4746ad5 projects-dir-minimal.mk: Use get-auth-info for JANWARE_USER
Default JANWARE_USER to the user retrieved by jw-projects.py get-auth-info.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-19 08:37:07 +01:00
8de4a90796 projects-dir-minimal.mk: Fix linking after package build
Linking the projects-dir Makefile fails if make pkg-rebuild has been
run on jw-build, because it leaves another projects-dir-minimal.mk
below the dist directory. Fix that.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-19 08:24:58 +01:00
d740f30226 projects-dir[-minimal.mk]: Group PGIT_SH-related variables
Group variables related with pgit.sh (PGIT_SH and PGIT_SH_CLONE)
closer together. Define CLONE_FROM_USER early on.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-18 21:14:19 +01:00
aac261d782 projects-dir[-minimal].mk: Change usage comment
The usage comments heading projects-dir-minimal.mk and
projects-dir.mk state that for cloning all repositories, JANWARE_USER
needs to be defined. That restriction is now gone, so reflect that in
the comment.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-18 15:56:21 +01:00
69132d9246 projects-dir[-minimal].mk: Support PROJECTS_DIR_REMOTE_BASE
Add the variable PROJECTS_DIR_REMOTE_BASE, defaulting to
ssh://git.janware.com/srv/git if REMOTE_USER is defined, and to
https://janware.com/code in case it isn't.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-18 15:55:20 +01:00
fe81bd209e projects-dir[-minimal].mk: Don't default JANWARE_USER
Do not set JANWARE_USER to $(id -un) in case it's undefined. Instead,
rely on it being set explicitly in the environment if so desired.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-18 15:44:57 +01:00
9018eb7c30 projects-dir-minimal.mk: Run make after cloning jw-build
After initially cloning jw-build and including
projects-dir-minimal.mk, new targets are not considered, so run make
again.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-17 11:53:28 +01:00
b82d4249f9 pgit.sh: Remove CVS support
Don't identify projects directory by a the presence of a correct CVS
subdirectory any longer.

Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-17 11:30:59 +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
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
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
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
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