]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
meson: generate and distribute spec files and AUTHORS
authorPavel Hrdina <phrdina@redhat.com>
Tue, 28 Jul 2020 15:51:53 +0000 (17:51 +0200)
committerPavel Hrdina <phrdina@redhat.com>
Mon, 3 Aug 2020 07:27:06 +0000 (09:27 +0200)
Signed-off-by: Pavel Hrdina <phrdina@redhat.com>
Reviewed-by: Peter Krempa <pkrempa@redhat.com>
Reviewed-by: Neal Gompa <ngompa13@gmail.com>
AUTHORS.in
Makefile.am
configure.ac
meson.build
scripts/meson-dist.py [new file with mode: 0755]
scripts/meson-gen-authors.py [new file with mode: 0755]
scripts/meson.build

index 443006640ff2d7cdd9b27c48d96a642ffe939e03..f4ab42ea9f53a0b3245b27b409d7ed34316de89a 100644 (file)
@@ -93,7 +93,7 @@ Stefan de Konink <dekonink@kinkrsoftware.nl>
 Takahashi Tomohiro <takatom@jp.fujitsu.com>
 Tatsuro Enokura <fj7716hz@aa.jp.fujitsu.com>
 
-#contributorslist#
+@contributorslist@
 
 The libvirt logo was designed by Diana Fong
 
index e6a37deb4a53f51c5ad6070f1ad0bbfd5c640e28..7490acbcfbab22992e29c397df3e0fca9ebf631a 100644 (file)
@@ -31,24 +31,5 @@ rpm: clean
 srpm: clean
        @(unset CDPATH ; $(MAKE) dist && rpmbuild -ts $(distdir).tar.xz)
 
-dist-hook: gen-AUTHORS
-
-.PHONY: gen-AUTHORS
-gen-AUTHORS:
-       $(AM_V_GEN)\
-       if test -d $(srcdir)/.git; then \
-         ( \
-           cd $(srcdir) && \
-           git log --pretty=format:'%aN <%aE>' | sort -u \
-         ) > all.list && \
-         sort -u $(srcdir)/AUTHORS.in > maint.list && \
-         comm -23 all.list maint.list > contrib.list && \
-         contrib="`cat contrib.list`" && \
-         perl -p -e "s/#contributorslist#// and print '$$contrib'" \
-           < $(srcdir)/AUTHORS.in > $(distdir)/AUTHORS-tmp && \
-         mv -f $(distdir)/AUTHORS-tmp $(distdir)/AUTHORS && \
-         rm -f all.list maint.list contrib.list; \
-       fi
-
 ci-%:
        $(MAKE) -C $(srcdir)/ci/ $@
index b1a7ceff6e41f8341f23b95f25ba6fc3ce551bc6..a227555b891fbd9a5705730cc4de5765eb7d15dc 100644 (file)
@@ -108,6 +108,5 @@ AC_CONFIG_FILES([run],
 AC_CONFIG_FILES([\
         Makefile \
         .color_coded \
-        .ycm_extra_conf.py \
-        libvirt.spec mingw-libvirt.spec])
+        .ycm_extra_conf.py])
 AC_OUTPUT
index 2f2868f7750d2a9190cabc97d83ad8655cc98e3c..1ab88acd0d6d2641dbaa3272c9aebeeef170367b 100644 (file)
@@ -2263,6 +2263,54 @@ foreach file : pkgconfig_files
   )
 endforeach
 
+
+# generate dist files
+
+if git
+  spec_files = [
+    'libvirt.spec.in',
+    'mingw-libvirt.spec.in',
+  ]
+
+  spec_conf = configuration_data()
+  spec_conf.set('VERSION', meson.project_version())
+
+  foreach file : spec_files
+    configure_file(
+      input: file,
+      output: '@BASENAME@',
+      configuration: spec_conf,
+    )
+  endforeach
+
+  authors = run_command(python3_prog, meson_gen_authors_prog.path(), env: runutf8)
+  authors_file = 'AUTHORS.in'
+
+  authors_conf = configuration_data()
+  authors_conf.set('contributorslist', authors.stdout())
+
+  configure_file(
+    input: authors_file,
+    output: '@BASENAME@',
+    configuration: authors_conf,
+  )
+
+  # Using return values from configure_file in add_dist_script is possible since 0.55.0
+  dist_files = [
+    'libvirt.spec',
+    'mingw-libvirt.spec',
+    'AUTHORS',
+  ]
+
+  foreach file : dist_files
+    meson.add_dist_script(
+      meson_python_prog.path(), python3_prog.path(), meson_dist_prog.path(),
+      meson.build_root(), file
+    )
+  endforeach
+endif
+
+
 # generate meson-config.h file
 configure_file(output: 'meson-config.h', configuration: conf)
 
diff --git a/scripts/meson-dist.py b/scripts/meson-dist.py
new file mode 100755 (executable)
index 0000000..a1d36c2
--- /dev/null
@@ -0,0 +1,14 @@
+#!/usr/bin/env python3
+
+import os
+import sys
+
+meson_build_root = sys.argv[1]
+file_name = sys.argv[2]
+
+meson_dist_root = os.environ['MESON_DIST_ROOT']
+
+os.system('cp {0} {1}'.format(
+    os.path.join(meson_build_root, file_name),
+    os.path.join(meson_dist_root, file_name)
+))
diff --git a/scripts/meson-gen-authors.py b/scripts/meson-gen-authors.py
new file mode 100755 (executable)
index 0000000..f58bf63
--- /dev/null
@@ -0,0 +1,8 @@
+#!/usr/bin/env python3
+
+import os
+
+meson_source_root = os.environ['MESON_SOURCE_ROOT']
+
+os.chdir(meson_source_root)
+os.system('git log --pretty=format:"%aN <%aE>" | sort -u')
index 74662db4b0479ee38ffd56e6c175af51de1f7fc1..39b0e899f43180b6251584232fced5490ad7f544 100644 (file)
@@ -18,6 +18,8 @@ scripts = [
   'header-ifdef.py',
   'hvsupport.py',
   'hyperv_wmi_generator.py',
+  'meson-dist.py',
+  'meson-gen-authors.py',
   'meson-gen-def.py',
   'meson-gen-sym.py',
   'meson-html-gen.py',