[master] 25c33dbc4 vmodtool: New --noinst option for vmod_debug
Nils Goroll
nils.goroll at uplex.de
Mon Mar 24 14:33:07 UTC 2025
commit 25c33dbc4aa5ce7c8de14bdf37367d64f2db0bfa
Author: Dridi Boukelmoune <dridi.boukelmoune at gmail.com>
Date: Fri Mar 21 14:20:10 2025 +0100
vmodtool: New --noinst option for vmod_debug
The problem with vmod_debug is that we don't want to distribute it, but
the automake boilerplate unilaterally adds all VMODs to $(vmoddir). This
results in the installation of libvmod_debug.so but not vmod_debug.vcc
and the responsibility of not redistributing libvmod_debug.so to our
downstream maintainers.
A new --noinst option cuts down the amount of circumventions we have for
vmod_debug and ensures that vmod_debug does not accidentally land in
packages.
diff --git a/lib/libvcc/vmodtool.py b/lib/libvcc/vmodtool.py
index 308e53dae..12fde6947 100755
--- a/lib/libvcc/vmodtool.py
+++ b/lib/libvcc/vmodtool.py
@@ -52,11 +52,8 @@ import time
AMBOILERPLATE = '''\
## Generated by vmodtool.py --boilerplate.
-vmod_XXX_vcc ?= $(srcdir)/VCC
-
-vmod_vcc_files += $(vmod_XXX_vcc)
-
-vmod_LTLIBRARIES += libvmod_XXX.la
+LIBDIR_LTLIBRARIES += libvmod_XXX.la
+dist_VCCDIR_DATA += $(srcdir)/VCC
libvmod_XXX_la_SOURCES = \\
\tSRC
@@ -1089,7 +1086,14 @@ class vcc():
src.sort()
fn = "automake_boilerplate_" + self.modname + ".am"
fo = self.openfile(fn)
+ libdir = "vmod"
+ vccdir = "vcc"
+ if opts.noinst:
+ libdir = "noinst"
+ vccdir = "noinst"
fo.write(AMBOILERPLATE.replace("XXX", self.modname)
+ .replace("LIBDIR", libdir)
+ .replace("VCCDIR", vccdir)
.replace("VCC", vcc)
.replace("PFX", self.pfx)
.replace("SRC", " \\\n\t".join(src)))
@@ -1341,6 +1345,9 @@ if __name__ == "__main__":
help="Create automake_boilerplate.am")
oparser.add_option('-N', '--strict', action='store_true', default=False,
help="Be strict when parsing the input file")
+ oparser.add_option('-n', '--noinst', action='store_true',
+ default=False,
+ help="Do not install files in automake_boilerplate.am")
oparser.add_option('-o', '--output', metavar="prefix", default='vcc_if',
help='Output file prefix (default: "vcc_if")')
oparser.add_option('-w', '--rstdir', metavar="directory", default='.',
diff --git a/vmod/Makefile.am b/vmod/Makefile.am
index 0449eaf4b..7608c0b50 100644
--- a/vmod/Makefile.am
+++ b/vmod/Makefile.am
@@ -24,10 +24,9 @@ vccdir=$(datarootdir)/$(PACKAGE)/vcc
# Prepare variables populated by includes
vmod_LTLIBRARIES =
-vmod_vcc_files =
-
-# Prevent vmod_debug.vcc installation upfront
-vmod_debug_vcc =
+noinst_LTLIBRARIES =
+dist_vcc_DATA =
+dist_noinst_DATA =
include $(srcdir)/automake_boilerplate_blob.am
include $(srcdir)/automake_boilerplate_h2.am
@@ -54,9 +53,5 @@ BUILT_SOURCES = $(VSC_GEN)
# Allow Vmod_wrong*_Data to be exported
vmod_debug_symbols_regex = 'Vmod_.*_Data'
-# not --strict
-vmodtoolargs_debug = --boilerplate -o vcc_debug_if
-
-dist_noinst_DATA = $(srcdir)/vmod_debug.vcc
-
-dist_vcc_DATA = $(vmod_vcc_files)
+# not --strict, not installed
+vmodtoolargs_debug = --boilerplate --noinst -o vcc_debug_if
diff --git a/vmod/automake_boilerplate_blob.am b/vmod/automake_boilerplate_blob.am
index 1d732af00..173fffa30 100644
--- a/vmod/automake_boilerplate_blob.am
+++ b/vmod/automake_boilerplate_blob.am
@@ -1,10 +1,7 @@
## Generated by vmodtool.py --boilerplate.
-vmod_blob_vcc ?= $(srcdir)/vmod_blob.vcc
-
-vmod_vcc_files += $(vmod_blob_vcc)
-
vmod_LTLIBRARIES += libvmod_blob.la
+dist_vcc_DATA += $(srcdir)/vmod_blob.vcc
libvmod_blob_la_SOURCES = \
vmod_blob.c \
diff --git a/vmod/automake_boilerplate_cookie.am b/vmod/automake_boilerplate_cookie.am
index 156bb4a72..bb0c4d9c6 100644
--- a/vmod/automake_boilerplate_cookie.am
+++ b/vmod/automake_boilerplate_cookie.am
@@ -1,10 +1,7 @@
## Generated by vmodtool.py --boilerplate.
-vmod_cookie_vcc ?= $(srcdir)/vmod_cookie.vcc
-
-vmod_vcc_files += $(vmod_cookie_vcc)
-
vmod_LTLIBRARIES += libvmod_cookie.la
+dist_vcc_DATA += $(srcdir)/vmod_cookie.vcc
libvmod_cookie_la_SOURCES = \
vmod_cookie.c
diff --git a/vmod/automake_boilerplate_debug.am b/vmod/automake_boilerplate_debug.am
index 0021d59e7..441d13ad5 100644
--- a/vmod/automake_boilerplate_debug.am
+++ b/vmod/automake_boilerplate_debug.am
@@ -1,10 +1,7 @@
## Generated by vmodtool.py --boilerplate.
-vmod_debug_vcc ?= $(srcdir)/vmod_debug.vcc
-
-vmod_vcc_files += $(vmod_debug_vcc)
-
-vmod_LTLIBRARIES += libvmod_debug.la
+noinst_LTLIBRARIES += libvmod_debug.la
+dist_noinst_DATA += $(srcdir)/vmod_debug.vcc
libvmod_debug_la_SOURCES = \
vmod_debug.c \
diff --git a/vmod/automake_boilerplate_directors.am b/vmod/automake_boilerplate_directors.am
index a2e5a6ce4..e65d3886f 100644
--- a/vmod/automake_boilerplate_directors.am
+++ b/vmod/automake_boilerplate_directors.am
@@ -1,10 +1,7 @@
## Generated by vmodtool.py --boilerplate.
-vmod_directors_vcc ?= $(srcdir)/vmod_directors.vcc
-
-vmod_vcc_files += $(vmod_directors_vcc)
-
vmod_LTLIBRARIES += libvmod_directors.la
+dist_vcc_DATA += $(srcdir)/vmod_directors.vcc
libvmod_directors_la_SOURCES = \
vmod_directors.c \
diff --git a/vmod/automake_boilerplate_h2.am b/vmod/automake_boilerplate_h2.am
index 30fa5e2b9..66b62e794 100644
--- a/vmod/automake_boilerplate_h2.am
+++ b/vmod/automake_boilerplate_h2.am
@@ -1,10 +1,7 @@
## Generated by vmodtool.py --boilerplate.
-vmod_h2_vcc ?= $(srcdir)/vmod_h2.vcc
-
-vmod_vcc_files += $(vmod_h2_vcc)
-
vmod_LTLIBRARIES += libvmod_h2.la
+dist_vcc_DATA += $(srcdir)/vmod_h2.vcc
libvmod_h2_la_SOURCES = \
vmod_h2.c
diff --git a/vmod/automake_boilerplate_proxy.am b/vmod/automake_boilerplate_proxy.am
index 480d82b83..181b3d3b5 100644
--- a/vmod/automake_boilerplate_proxy.am
+++ b/vmod/automake_boilerplate_proxy.am
@@ -1,10 +1,7 @@
## Generated by vmodtool.py --boilerplate.
-vmod_proxy_vcc ?= $(srcdir)/vmod_proxy.vcc
-
-vmod_vcc_files += $(vmod_proxy_vcc)
-
vmod_LTLIBRARIES += libvmod_proxy.la
+dist_vcc_DATA += $(srcdir)/vmod_proxy.vcc
libvmod_proxy_la_SOURCES = \
vmod_proxy.c
diff --git a/vmod/automake_boilerplate_purge.am b/vmod/automake_boilerplate_purge.am
index 00656497e..fc7813ad3 100644
--- a/vmod/automake_boilerplate_purge.am
+++ b/vmod/automake_boilerplate_purge.am
@@ -1,10 +1,7 @@
## Generated by vmodtool.py --boilerplate.
-vmod_purge_vcc ?= $(srcdir)/vmod_purge.vcc
-
-vmod_vcc_files += $(vmod_purge_vcc)
-
vmod_LTLIBRARIES += libvmod_purge.la
+dist_vcc_DATA += $(srcdir)/vmod_purge.vcc
libvmod_purge_la_SOURCES = \
vmod_purge.c
diff --git a/vmod/automake_boilerplate_std.am b/vmod/automake_boilerplate_std.am
index 738e97d9b..3933bf0f7 100644
--- a/vmod/automake_boilerplate_std.am
+++ b/vmod/automake_boilerplate_std.am
@@ -1,10 +1,7 @@
## Generated by vmodtool.py --boilerplate.
-vmod_std_vcc ?= $(srcdir)/vmod_std.vcc
-
-vmod_vcc_files += $(vmod_std_vcc)
-
vmod_LTLIBRARIES += libvmod_std.la
+dist_vcc_DATA += $(srcdir)/vmod_std.vcc
libvmod_std_la_SOURCES = \
vmod_std.c \
diff --git a/vmod/automake_boilerplate_unix.am b/vmod/automake_boilerplate_unix.am
index ab5e982f7..b65c724c2 100644
--- a/vmod/automake_boilerplate_unix.am
+++ b/vmod/automake_boilerplate_unix.am
@@ -1,10 +1,7 @@
## Generated by vmodtool.py --boilerplate.
-vmod_unix_vcc ?= $(srcdir)/vmod_unix.vcc
-
-vmod_vcc_files += $(vmod_unix_vcc)
-
vmod_LTLIBRARIES += libvmod_unix.la
+dist_vcc_DATA += $(srcdir)/vmod_unix.vcc
libvmod_unix_la_SOURCES = \
vmod_unix.c \
diff --git a/vmod/automake_boilerplate_vtc.am b/vmod/automake_boilerplate_vtc.am
index 0a2bd1228..7b7b401c8 100644
--- a/vmod/automake_boilerplate_vtc.am
+++ b/vmod/automake_boilerplate_vtc.am
@@ -1,10 +1,7 @@
## Generated by vmodtool.py --boilerplate.
-vmod_vtc_vcc ?= $(srcdir)/vmod_vtc.vcc
-
-vmod_vcc_files += $(vmod_vtc_vcc)
-
vmod_LTLIBRARIES += libvmod_vtc.la
+dist_vcc_DATA += $(srcdir)/vmod_vtc.vcc
libvmod_vtc_la_SOURCES = \
vmod_vtc.c
More information about the varnish-commit
mailing list