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
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
7d1ff5c6e6
projects-dir.mk: Default PGIT_CLONE_FROM_USER to janware
...
Clone from user janware if JANWARE_USER is not defined.
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-18 15:56:02 +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
370c7e499e
projects-dir.mk: Conditionally pass --create-remote-user-repos
...
Pass --create-remote-user-repos to pgit.sh clone in case JANWARE_USER is defined, restoring the original behaviour.
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-18 16:39:52 +01:00
0c9fd98009
projects-dir.mk, scripts/Makefile, jw-pkg: Move jw-pkg from jw-build to jw-base
...
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>
2025-11-17 13:05:43 +01:00
36092d6b1b
projects-dir.mk: Make list-files ignore errors
...
Make list-files target ignore errors. This catches errors from git ls-files | xargs realpath if git ls-files lists dead symbolic links, as in my-project/blah/dev/fd -> ./proc/self/fd.
Implemented by passing -q (quiet) to realpath, not sure what else this suppresses.
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-17 12:34:14 +01:00
67fb954f3e
projects-dir.mk: Remove CVS support
...
Now that CVS is finally retired for building multiple projects from VCS, remove support.
Signed-off-by: Jan Lindemann <jan@janware.com>
2025-11-17 10:22:35 +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
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
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
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
349f1d2602
Makefile: Add target text-files-list-0
...
text-files-list-0 returns a zero-delimited list of text files for further processing, which allows to correctly handle spaces in file names
Signed-off-by: Jan Lindemann <jan@janware.com>
2024-12-09 08:31:32 +00:00
2989cc87c8
Makefile: JWB_SCRIPT_DIR: Add support for /opt/jw-build/bin
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2024-07-16 15:21:15 +00:00
a343cf7806
pkg-install-%-deps: Protect projects from shell with quotes
...
Project names passed to the package manager can contain characters not well digested by the shell. Don't let it.
Signed-off-by: Jan Lindemann <jan@janware.com>
2024-06-30 17:01:18 +00:00
19bc4037c0
Makefile: Make list-files consider build dependencies, too
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2024-06-25 17:35:35 +00:00
4ebe82970f
projects-dir.mk: Make INTERACTIVE=true default
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-11-30 13:32:30 +00:00
5e9168480a
project-dirs.mk / pgit.sh: Add support for offlining projects
...
This adds support for the variable OFFLINE_PROJECTS in projects-dir.mk and the PGIT_IGNORE environment variable. Both go hand in hand and do what their names insinuate. OFFLINE_PROJECTS is initialized from EXCLUDE_FROM_BUILD, which in turn is initialized from exclude.txt and friends.
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-05-10 08:07:22 +00:00
3e99fe51cd
projects-dir.mk: Don't do git-pull.done before git-pull-%
...
Use cvs-update.done instead of git-pull.done as prerequisite of git-pull-%, because otherwise broken remote own repos might not be recoverable
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-03-23 08:13:14 +00:00
9370121c65
Fix: Tried to purge on first download without jw-build present
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2020-01-20 09:21:35 +00:00
20e599c049
projects-dir.mk: Add python3 to BASE_PKGS
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-12-10 18:51:39 +00:00
2a57902480
projects-dir.mk: Mention help target in comment
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-12-09 09:57:16 +00:00
82f48a4630
projects-dir.mk: Add help target
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-12-09 09:52:31 +00:00
36bf04a4d2
projects-dir.mk: Do pull.done before git-pull-%
...
This might fix a situation where make git-pull-<user> fails, because jw-build isn't there, yet
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-12-07 19:22:53 +00:00
6bdb16878a
make: Replace "pereq" in targets by "deps"
...
"prereq" is simply impossible to use in explanations with a straight face.
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-12-07 19:21:08 +00:00
bdd66dbc26
Everywhere: Rename MOD_SCRIPT_DIR -> JWB_SCRIPT_DIR
...
Follow name change of MODDIR -> JWBDIR.
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-06-29 21:45:24 +00:00
b2d6e6f554
Everywhere: Rename MODDIR -> JWBDIR
...
Rename the omnipresent MODDIR variable to JWBDIR, since that's more to the point.
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-06-29 21:34:18 +00:00
7fc3e196e9
projects.mk: Minimal beautification
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-06-24 20:34:24 +00:00
48d1bd0256
projects-dir.mk: Comment beautification
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-06-24 12:34:42 +00:00
a627b1273e
projects-dir.mk: Beautify header
...
Remove CVS macros, because that breaks using it as a symlink from projects-dir, and add SPDX-License-Identifier GPL2.0+.
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-06-19 08:10:35 +00:00
cbbd8011e3
projects-dir.mk: Remove links.done machinery
...
Remove legacy links.done, since dspider-shared and dspider-btools are now converted to git projects below the toplevel directory.
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-06-15 10:22:19 +00:00
7abbf1d044
projects.py: Rename command requires-pkg to required-os-pkg
...
Rename command requires-pkg to required-os-pkg to avoid confusion with pkg-reqires. The command could be merged into pkg-requires at a later time.
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-06-11 10:46:23 +00:00
0bf05a5959
projects-dir.mk: Add targets echo-projects and echo-target-projects
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-06-04 12:56:15 +00:00
ae48f6aab6
projects-dir.mk: Ditch auto-detection of interactive use
...
PS1 isn't set if make is run interactively, which is why auto-detection of interactive use doesn't work. Ditch that and introduce the INTERACTIVE variable, which can be passed as INTERACTIVE=[y|n]. Default value als of now is "n".
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-06-03 07:41:43 +00:00
13fa28e23f
make, scripts: Flip some more switches from pathon 2 to 3 (untested!)
...
This commit flips some more switches from Python 2 to Python 3 in makefiles and Python code. Build runs through, but it's still likely to break things.
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-06-02 12:28:13 +00:00
0d2e255bff
projects-dir.mk: Only clean projects which have .done files lying around
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-05-30 13:33:12 +00:00
fb22c800dc
projects-dir.mk: Add xdg-utils to BASE_PKGS (for xdg-open)
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-05-25 07:35:32 +00:00
91d7ba8aa4
projects-dir.mk: Add time to BASE_PKGS
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-05-16 20:34:07 +00:00
17a080138c
make: Prefix BUILD_ to a couple of makefile variables
...
Rename variables to avoid collision:
OBJ -> BUILD_OBJ INCLUDE -> BUILD_INCLUDE LIBFLAGS -> BUILD_LIBFLAGS LPPFLAGS -> BUILD_LPPFLAGS
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-04-08 18:26:45 +00:00
68f25261ba
make: Clean-indented makefiles
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-03-17 16:24:26 +00:00
493be57057
projects-dir.mk Fix: JANWARE_USER from local.mk wasn't exported
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-03-09 11:03:45 +00:00
aa85417a17
Everywhere: Purge spaces in text files
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-03-06 12:38:20 +00:00
0eaef0c326
conf/jcs, make, tmpl/doxygen: Align equal signs in makefiles to column 30
...
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-03-03 18:12:28 +00:00
22d89ef234
projects-dir.mk: Make clean target less aggressive
...
The clean target now doesn't remove meta files which enforce a new pull if absent. distclean is the new clean.
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-03-03 08:36:31 +00:00
2061d731f5
projects-dir.mk: Add time measurement to make all
...
The "all" target's command is now preceded by /usr/bin/time by default
Signed-off-by: Jan Lindemann <jan@janware.com>
2019-02-16 10:16:19 +00:00