[artful/retpoline-hints,3/3] UBUNTU: [Packaging] include the retpoline extractor in the headers

Message ID 20180403165249.15489-4-apw@canonical.com
State New
Headers show
Series
  • [artful/retpoline-hints,1/3] UBUNTU: [Packaging] retpoline hints -- handle missing files when RETPOLINE not enabled
Related show

Commit Message

Andy Whitcroft April 3, 2018, 4:52 p.m.
BugLink: http://bugs.launchpad.net/bugs/1760876
Signed-off-by: Andy Whitcroft <apw@canonical.com>
---
 debian/rules                    | 6 +++++-
 debian/rules.d/2-binary-arch.mk | 2 ++
 scripts/Makefile.build          | 2 +-
 3 files changed, 8 insertions(+), 2 deletions(-)

Comments

Stefan Bader April 4, 2018, 10:04 a.m. | #1
On 03.04.2018 18:52, Andy Whitcroft wrote:
> BugLink: http://bugs.launchpad.net/bugs/1760876
> Signed-off-by: Andy Whitcroft <apw@canonical.com>
Acked-by: Stefan Bader <stefan.bader@canonical.com>

> ---

Code looks ok but I really would prefer if there was more text to
the commits which at least roughly explains what is done and why.

-Stefan

>  debian/rules                    | 6 +++++-
>  debian/rules.d/2-binary-arch.mk | 2 ++
>  scripts/Makefile.build          | 2 +-
>  3 files changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/debian/rules b/debian/rules
> index 61680be586f0..7519bc4a9d32 100755
> --- a/debian/rules
> +++ b/debian/rules
> @@ -119,6 +119,9 @@ clean: debian/control
>  	# Install the copyright information.
>  	cp $(DEBIAN)/copyright debian/copyright
>  
> +	# Install the retpoline extractor.
> +	cp $(DROOT)/scripts/retpoline-extract-one scripts/ubuntu-retpoline-extract-one
> +
>  	# If we have a reconstruct script use it.
>  	[ -f $(DEBIAN)/reconstruct ] && bash $(DEBIAN)/reconstruct
>  
> @@ -127,7 +130,8 @@ clean: debian/control
>  
>  distclean: clean
>  	rm -rf $(DROOT)/control debian/changelog \
> -		debian/control debian/control.stub debian/copyright
> +		debian/control debian/control.stub debian/copyright \
> +		scripts/ubuntu-retpoline-extract-one
>  
>  # Builds the image, arch headers and debug packages
>  include $(DROOT)/rules.d/2-binary-arch.mk
> diff --git a/debian/rules.d/2-binary-arch.mk b/debian/rules.d/2-binary-arch.mk
> index 6a570ab22f24..9920df16f4d4 100644
> --- a/debian/rules.d/2-binary-arch.mk
> +++ b/debian/rules.d/2-binary-arch.mk
> @@ -331,6 +331,8 @@ ifeq ($(build_arch),arm64)
>  	mkdir -p $(hdrdir)/arch/arm64/lib
>  	cp $(builddir)/build-$*/arch/arm64/kernel/ftrace-mod.o $(hdrdir)/arch/arm64/kernel
>  endif
> +	# Copy over the new retpoline extractor.
> +	cp scripts/ubuntu-retpoline-extract-one $(hdrdir)/scripts
>  	# Script to symlink everything up
>  	$(SHELL) $(DROOT)/scripts/link-headers "$(hdrdir)" "$(indeppkg)" "$*"
>  	# The build symlink
> diff --git a/scripts/Makefile.build b/scripts/Makefile.build
> index 9684c1091e62..d74c3f9f1fa8 100644
> --- a/scripts/Makefile.build
> +++ b/scripts/Makefile.build
> @@ -283,7 +283,7 @@ objtool_dep = $(objtool_obj)					\
>  			 include/config/stack/validation.h)
>  
>  ifdef CONFIG_RETPOLINE
> -cmd_ubuntu_retpoline = $(CONFIG_SHELL) $(srctree)/debian/scripts/retpoline-extract-one $(@) $(<) "$(filter -m16 %code16gcc.h,$(a_flags))";
> +cmd_ubuntu_retpoline = $(CONFIG_SHELL) $(srctree)/scripts/ubuntu-retpoline-extract-one $(@) $(<) "$(filter -m16 %code16gcc.h,$(a_flags))";
>  else
>  cmd_ubuntu_retpoline =
>  endif
>
Kleber Souza April 5, 2018, 8:31 a.m. | #2
On 04/03/18 18:52, Andy Whitcroft wrote:
> BugLink: http://bugs.launchpad.net/bugs/1760876
> Signed-off-by: Andy Whitcroft <apw@canonical.com>

With the follow-up fix for the commit message:

Acked-by: Kleber Sacilotto de Souza <kleber.souza@canonical.com>

> ---
>  debian/rules                    | 6 +++++-
>  debian/rules.d/2-binary-arch.mk | 2 ++
>  scripts/Makefile.build          | 2 +-
>  3 files changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/debian/rules b/debian/rules
> index 61680be586f0..7519bc4a9d32 100755
> --- a/debian/rules
> +++ b/debian/rules
> @@ -119,6 +119,9 @@ clean: debian/control
>  	# Install the copyright information.
>  	cp $(DEBIAN)/copyright debian/copyright
>  
> +	# Install the retpoline extractor.
> +	cp $(DROOT)/scripts/retpoline-extract-one scripts/ubuntu-retpoline-extract-one
> +
>  	# If we have a reconstruct script use it.
>  	[ -f $(DEBIAN)/reconstruct ] && bash $(DEBIAN)/reconstruct
>  
> @@ -127,7 +130,8 @@ clean: debian/control
>  
>  distclean: clean
>  	rm -rf $(DROOT)/control debian/changelog \
> -		debian/control debian/control.stub debian/copyright
> +		debian/control debian/control.stub debian/copyright \
> +		scripts/ubuntu-retpoline-extract-one
>  
>  # Builds the image, arch headers and debug packages
>  include $(DROOT)/rules.d/2-binary-arch.mk
> diff --git a/debian/rules.d/2-binary-arch.mk b/debian/rules.d/2-binary-arch.mk
> index 6a570ab22f24..9920df16f4d4 100644
> --- a/debian/rules.d/2-binary-arch.mk
> +++ b/debian/rules.d/2-binary-arch.mk
> @@ -331,6 +331,8 @@ ifeq ($(build_arch),arm64)
>  	mkdir -p $(hdrdir)/arch/arm64/lib
>  	cp $(builddir)/build-$*/arch/arm64/kernel/ftrace-mod.o $(hdrdir)/arch/arm64/kernel
>  endif
> +	# Copy over the new retpoline extractor.
> +	cp scripts/ubuntu-retpoline-extract-one $(hdrdir)/scripts
>  	# Script to symlink everything up
>  	$(SHELL) $(DROOT)/scripts/link-headers "$(hdrdir)" "$(indeppkg)" "$*"
>  	# The build symlink
> diff --git a/scripts/Makefile.build b/scripts/Makefile.build
> index 9684c1091e62..d74c3f9f1fa8 100644
> --- a/scripts/Makefile.build
> +++ b/scripts/Makefile.build
> @@ -283,7 +283,7 @@ objtool_dep = $(objtool_obj)					\
>  			 include/config/stack/validation.h)
>  
>  ifdef CONFIG_RETPOLINE
> -cmd_ubuntu_retpoline = $(CONFIG_SHELL) $(srctree)/debian/scripts/retpoline-extract-one $(@) $(<) "$(filter -m16 %code16gcc.h,$(a_flags))";
> +cmd_ubuntu_retpoline = $(CONFIG_SHELL) $(srctree)/scripts/ubuntu-retpoline-extract-one $(@) $(<) "$(filter -m16 %code16gcc.h,$(a_flags))";
>  else
>  cmd_ubuntu_retpoline =
>  endif
>
Kleber Souza April 5, 2018, 8:52 a.m. | #3
On 04/03/18 18:52, Andy Whitcroft wrote:
> BugLink: http://bugs.launchpad.net/bugs/1760876
> Signed-off-by: Andy Whitcroft <apw@canonical.com>
> ---
>  debian/rules                    | 6 +++++-
>  debian/rules.d/2-binary-arch.mk | 2 ++
>  scripts/Makefile.build          | 2 +-
>  3 files changed, 8 insertions(+), 2 deletions(-)
> 
> diff --git a/debian/rules b/debian/rules
> index 61680be586f0..7519bc4a9d32 100755
> --- a/debian/rules
> +++ b/debian/rules
> @@ -119,6 +119,9 @@ clean: debian/control
>  	# Install the copyright information.
>  	cp $(DEBIAN)/copyright debian/copyright
>  
> +	# Install the retpoline extractor.
> +	cp $(DROOT)/scripts/retpoline-extract-one scripts/ubuntu-retpoline-extract-one
> +
>  	# If we have a reconstruct script use it.
>  	[ -f $(DEBIAN)/reconstruct ] && bash $(DEBIAN)/reconstruct
>  
> @@ -127,7 +130,8 @@ clean: debian/control
>  
>  distclean: clean
>  	rm -rf $(DROOT)/control debian/changelog \
> -		debian/control debian/control.stub debian/copyright
> +		debian/control debian/control.stub debian/copyright \
> +		scripts/ubuntu-retpoline-extract-one
>  
>  # Builds the image, arch headers and debug packages
>  include $(DROOT)/rules.d/2-binary-arch.mk
> diff --git a/debian/rules.d/2-binary-arch.mk b/debian/rules.d/2-binary-arch.mk
> index 6a570ab22f24..9920df16f4d4 100644
> --- a/debian/rules.d/2-binary-arch.mk
> +++ b/debian/rules.d/2-binary-arch.mk
> @@ -331,6 +331,8 @@ ifeq ($(build_arch),arm64)
>  	mkdir -p $(hdrdir)/arch/arm64/lib
>  	cp $(builddir)/build-$*/arch/arm64/kernel/ftrace-mod.o $(hdrdir)/arch/arm64/kernel
>  endif
> +	# Copy over the new retpoline extractor.
> +	cp scripts/ubuntu-retpoline-extract-one $(hdrdir)/scripts
>  	# Script to symlink everything up
>  	$(SHELL) $(DROOT)/scripts/link-headers "$(hdrdir)" "$(indeppkg)" "$*"
>  	# The build symlink
> diff --git a/scripts/Makefile.build b/scripts/Makefile.build
> index 9684c1091e62..d74c3f9f1fa8 100644
> --- a/scripts/Makefile.build
> +++ b/scripts/Makefile.build
> @@ -283,7 +283,7 @@ objtool_dep = $(objtool_obj)					\
>  			 include/config/stack/validation.h)
>  
>  ifdef CONFIG_RETPOLINE
> -cmd_ubuntu_retpoline = $(CONFIG_SHELL) $(srctree)/debian/scripts/retpoline-extract-one $(@) $(<) "$(filter -m16 %code16gcc.h,$(a_flags))";
> +cmd_ubuntu_retpoline = $(CONFIG_SHELL) $(srctree)/scripts/ubuntu-retpoline-extract-one $(@) $(<) "$(filter -m16 %code16gcc.h,$(a_flags))";
>  else
>  cmd_ubuntu_retpoline =
>  endif
> 

Applied the 3 patches to artful/master-next branch, with the commit
message fixup for commit 3/3.

Thanks,
Kleber

Patch

diff --git a/debian/rules b/debian/rules
index 61680be586f0..7519bc4a9d32 100755
--- a/debian/rules
+++ b/debian/rules
@@ -119,6 +119,9 @@  clean: debian/control
 	# Install the copyright information.
 	cp $(DEBIAN)/copyright debian/copyright
 
+	# Install the retpoline extractor.
+	cp $(DROOT)/scripts/retpoline-extract-one scripts/ubuntu-retpoline-extract-one
+
 	# If we have a reconstruct script use it.
 	[ -f $(DEBIAN)/reconstruct ] && bash $(DEBIAN)/reconstruct
 
@@ -127,7 +130,8 @@  clean: debian/control
 
 distclean: clean
 	rm -rf $(DROOT)/control debian/changelog \
-		debian/control debian/control.stub debian/copyright
+		debian/control debian/control.stub debian/copyright \
+		scripts/ubuntu-retpoline-extract-one
 
 # Builds the image, arch headers and debug packages
 include $(DROOT)/rules.d/2-binary-arch.mk
diff --git a/debian/rules.d/2-binary-arch.mk b/debian/rules.d/2-binary-arch.mk
index 6a570ab22f24..9920df16f4d4 100644
--- a/debian/rules.d/2-binary-arch.mk
+++ b/debian/rules.d/2-binary-arch.mk
@@ -331,6 +331,8 @@  ifeq ($(build_arch),arm64)
 	mkdir -p $(hdrdir)/arch/arm64/lib
 	cp $(builddir)/build-$*/arch/arm64/kernel/ftrace-mod.o $(hdrdir)/arch/arm64/kernel
 endif
+	# Copy over the new retpoline extractor.
+	cp scripts/ubuntu-retpoline-extract-one $(hdrdir)/scripts
 	# Script to symlink everything up
 	$(SHELL) $(DROOT)/scripts/link-headers "$(hdrdir)" "$(indeppkg)" "$*"
 	# The build symlink
diff --git a/scripts/Makefile.build b/scripts/Makefile.build
index 9684c1091e62..d74c3f9f1fa8 100644
--- a/scripts/Makefile.build
+++ b/scripts/Makefile.build
@@ -283,7 +283,7 @@  objtool_dep = $(objtool_obj)					\
 			 include/config/stack/validation.h)
 
 ifdef CONFIG_RETPOLINE
-cmd_ubuntu_retpoline = $(CONFIG_SHELL) $(srctree)/debian/scripts/retpoline-extract-one $(@) $(<) "$(filter -m16 %code16gcc.h,$(a_flags))";
+cmd_ubuntu_retpoline = $(CONFIG_SHELL) $(srctree)/scripts/ubuntu-retpoline-extract-one $(@) $(<) "$(filter -m16 %code16gcc.h,$(a_flags))";
 else
 cmd_ubuntu_retpoline =
 endif