aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorLuca Boccassi <luca.boccassi@gmail.com>2017-06-22 15:40:17 +0100
committerLuca Boccassi <luca.boccassi@gmail.com>2017-06-29 16:42:26 +0100
commitf29803d2d7380d9240738afe69821aa41d7724f7 (patch)
treee008bb9c0f44bfb182fa3b0a304996b531e23824
parent0b24f2c32b0f3277e48c1934290f036a79a9cc81 (diff)
Backport patches to fix reproducibility issues
These patches make the documentation and linker script generation fully reproducible. Change-Id: Iec5a3578d54f810edd0a0bf1551cacf394e4af32 Signed-off-by: Luca Boccassi <luca.boccassi@gmail.com>
-rw-r--r--debian/patches/mk-fix-excluding-.doctrees-when-installing-docs.patch30
-rw-r--r--debian/patches/mk-sort-list-of-shared-objects-in-linker-script.patch32
-rw-r--r--debian/patches/mk-use-make-silent-flag-to-print-HTML-doc-version.patch31
-rw-r--r--debian/patches/series3
4 files changed, 96 insertions, 0 deletions
diff --git a/debian/patches/mk-fix-excluding-.doctrees-when-installing-docs.patch b/debian/patches/mk-fix-excluding-.doctrees-when-installing-docs.patch
new file mode 100644
index 00000000..b658d263
--- /dev/null
+++ b/debian/patches/mk-fix-excluding-.doctrees-when-installing-docs.patch
@@ -0,0 +1,30 @@
+Description: mk: fix excluding .doctrees when installing docs
+
+The --exclude parameter must be passed before the input directory to
+tar, otherwise it's silently ignored and the .doctrees directory is
+installed by make install-doc.
+
+Origin: http://dpdk.org/dev/patchwork/patch/25632/
+Forwarded: yes
+Author: Luca Boccassi <luca.boccassi@gmail.com>
+Last-Update: 2017-06-22
+---
+ mk/rte.sdkinstall.mk | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mk/rte.sdkinstall.mk b/mk/rte.sdkinstall.mk
+index dbac2a277..4e97feff9 100644
+--- a/mk/rte.sdkinstall.mk
++++ b/mk/rte.sdkinstall.mk
+@@ -162,7 +162,7 @@ install-sdk:
+ install-doc:
+ ifneq ($(wildcard $O/doc/html),)
+ $(Q)$(call rte_mkdir, $(DESTDIR)$(docdir))
+- $(Q)tar -cf - -C $O/doc html --exclude 'html/guides/.*' | \
++ $(Q)tar -cf - -C $O/doc --exclude 'html/guides/.*' html | \
+ tar -xf - -C $(DESTDIR)$(docdir) --strip-components=1 \
+ --keep-newer-files
+ endif
+--
+2.11.0
+
diff --git a/debian/patches/mk-sort-list-of-shared-objects-in-linker-script.patch b/debian/patches/mk-sort-list-of-shared-objects-in-linker-script.patch
new file mode 100644
index 00000000..52e6b5a5
--- /dev/null
+++ b/debian/patches/mk-sort-list-of-shared-objects-in-linker-script.patch
@@ -0,0 +1,32 @@
+Description: mk: sort list of shared objects in linker script
+
+The output of wildcard might not be stable and depend on the
+filesystem and other factors.
+This means the content libdpdk.so linker script might change between
+builds from the same sources.
+Run the list through sort to ensure reproducibility.
+
+Origin: http://dpdk.org/dev/patchwork/patch/25633/
+Forwarded: yes
+Author: Luca Boccassi <luca.boccassi@gmail.com>
+Last-Update: 2017-06-22
+---
+ mk/rte.combinedlib.mk | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/mk/rte.combinedlib.mk b/mk/rte.combinedlib.mk
+index 449358b33..2ab7ee8a1 100644
+--- a/mk/rte.combinedlib.mk
++++ b/mk/rte.combinedlib.mk
+@@ -42,7 +42,7 @@ endif
+ RTE_LIBNAME := dpdk
+ COMBINEDLIB := lib$(RTE_LIBNAME)$(EXT)
+
+-LIBS := $(filter-out $(COMBINEDLIB), $(notdir $(wildcard $(RTE_OUTPUT)/lib/*$(EXT))))
++LIBS := $(filter-out $(COMBINEDLIB), $(sort $(notdir $(wildcard $(RTE_OUTPUT)/lib/*$(EXT)))))
+
+ all: FORCE
+ $(Q)echo "GROUP ( $(LIBS) )" > $(RTE_OUTPUT)/lib/$(COMBINEDLIB)
+--
+2.11.0
+
diff --git a/debian/patches/mk-use-make-silent-flag-to-print-HTML-doc-version.patch b/debian/patches/mk-use-make-silent-flag-to-print-HTML-doc-version.patch
new file mode 100644
index 00000000..c7bdfb4f
--- /dev/null
+++ b/debian/patches/mk-use-make-silent-flag-to-print-HTML-doc-version.patch
@@ -0,0 +1,31 @@
+Description: mk: use make silent flag to print HTML doc version
+
+Depending on the environment, make might echo the command being ran.
+In mk/rte.sdkdoc.mk make is used to print the DPDK version to be
+piped to doxygen. This causes the following to be written:
+
+<div id="projectname">DPDK
+&#160;<span id="projectnumber">/usr/bin/make-f/build/dpdk-jYjqnr/dpdk-16.11.2/mk/rte.sdkconfig.mkshowversion</span>
+</div>
+
+Use -s (--silent) to prevent echoing.
+
+Origin: http://dpdk.org/dev/patchwork/patch/25631/
+Forwarded: yes
+Author: Luca Boccassi <luca.boccassi@gmail.com>
+Last-Update: 2017-06-22
+---
+ mk/rte.sdkdoc.mk | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/mk/rte.sdkdoc.mk
++++ b/mk/rte.sdkdoc.mk
+@@ -71,7 +71,7 @@ api-html: api-html-clean
+ $(Q)mkdir -p $(RTE_OUTPUT)/doc/html
+ $(Q)(cat $(RTE_SDK)/doc/api/doxy-api.conf && \
+ printf 'PROJECT_NUMBER = ' && \
+- $(MAKE) -rR showversion && \
++ $(MAKE) -rRs showversion && \
+ echo OUTPUT_DIRECTORY = $(RTE_OUTPUT)/doc && \
+ echo HTML_OUTPUT = html/api && \
+ echo GENERATE_HTML = YES && \
diff --git a/debian/patches/series b/debian/patches/series
index e57a6614..ad293f6e 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -10,3 +10,6 @@ nicvf-0007-net-thunderx-disable-PMD-for-old-compilers.patch
nicvf-0009-config-set-cache-line-as-128B-for-generic-arm64.patch
kni-fix-ethtool-build-with-kernel-4.11.patch
igb_uio-switch-to-new-irq-function-for-MSI-X.patch
+mk-use-make-silent-flag-to-print-HTML-doc-version.patch
+mk-fix-excluding-.doctrees-when-installing-docs.patch
+mk-sort-list-of-shared-objects-in-linker-script.patch