Commit graph

229 commits

Author SHA1 Message Date
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
f19831245f make: Support GNUmakefile too, where applicable
Add support for GNUmakefile, where originally only Makefile was supported.
Not done everywhere, as some of the code involving makefiles is dead
anyway.

Signed-off-by: Jan Lindemann <jan@janware.com>
2018-12-27 17:30:10 +00:00
626dde6388 projects-dir.mk: StrictHostKeyChecking=no
Add JW_BUILD_SSH_EXTRA_OPTS += -o StrictHostKeyChecking=no.

Signed-off-by: Jan Lindemann <jan@janware.com>
2018-12-26 13:05:02 +00:00
cad556cf37 Fix: Cvs-admin.sh was run on the wrong machine
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-12-16 17:25:19 +00:00
e984d011c5 projects-dir.mk: Add variable OFFLINE
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-12-16 12:02:33 +00:00
74a62bfda9 $(TOPDIR), make, scripts: Rename LAST_RPM_VERSION to RELEASES
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-12-16 11:07:20 +00:00
e827efadd5 make, scripts: Replace list-vcs-files.sh by scm.sh ls-files
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-12-16 10:30:49 +00:00
f34c97e96c projects-dir.mk: Include Makefile in list-text-files output
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-12-16 10:21:42 +00:00
34083e88e1 projects-dir.mk: Add variable PREREQ_RELEASE
This allows for pkg-release-reinstall to be run without pull

Signed-off-by: Jan Lindemann <jan@janware.com>
2018-12-14 11:39:34 +00:00
bd7f22e54e projects-dir.mk: Minor code beautification
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-12-13 18:18:12 +00:00
9b532fd601 make, scripts: Rename list-cvs-files.sh to list-vcs-files.sh
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-12-13 18:15:12 +00:00
0c496d051e defs.mk, projects-dir.mk, projs-dir.mk: Fix build on CentOS
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-12-12 15:24:13 +00:00
8e892e70db Make CVSROOT point to cvs.janware.com:/srv/cvs
Signed-off-by: Jan Lindemann <jan@janware.com>
2018-12-11 16:45:49 +00:00