public inbox for isar-users@googlegroups.com
 help / color / mirror / Atom feed
* [PATCH] build.sh: Yet another fix for the installation of build deps
@ 2018-01-03 17:59 Henning Schild
  2018-01-03 18:04 ` Henning Schild
  2018-01-04  9:44 ` [PATCHv2] build.sh: yet " Henning Schild
  0 siblings, 2 replies; 5+ messages in thread
From: Henning Schild @ 2018-01-03 17:59 UTC (permalink / raw)
  To: isar-users; +Cc: Frank Lenormand, Henning Schild

The perl code guessing the build-deps of packages can not handle all the
possible syntax that could be found in Build-Depends. And it ignores
Build-Depends-Indep. So there are several issues in it.

This patch uses an official debian-tool "mk-build-deb" to install the build
deps. The tool generates a package which which will Depends: on the
Build-Depends:. Architecture operators, -Indep etc. are handled
correctly.

Signed-off-by: Henning Schild <henning.schild@siemens.com>
---
 meta/recipes-devtools/buildchroot/buildchroot.bb | 3 ++-
 meta/recipes-devtools/buildchroot/files/build.sh | 9 ++-------
 2 files changed, 4 insertions(+), 8 deletions(-)

diff --git a/meta/recipes-devtools/buildchroot/buildchroot.bb b/meta/recipes-devtools/buildchroot/buildchroot.bb
index 59ad0e0..581cb9a 100644
--- a/meta/recipes-devtools/buildchroot/buildchroot.bb
+++ b/meta/recipes-devtools/buildchroot/buildchroot.bb
@@ -25,7 +25,8 @@ BUILDCHROOT_PREINSTALL ?= "gcc \
                            locales \
                            docbook-to-man \
                            apt \
-                           automake"
+                           automake \
+                           devscripts"
 
 WORKDIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/${PN}"
 
diff --git a/meta/recipes-devtools/buildchroot/files/build.sh b/meta/recipes-devtools/buildchroot/files/build.sh
index 5e310ad..975252e 100644
--- a/meta/recipes-devtools/buildchroot/files/build.sh
+++ b/meta/recipes-devtools/buildchroot/files/build.sh
@@ -6,13 +6,8 @@
 # Go to build directory
 cd $1
 
-# Get list of dependencies manually. The package is not in apt, so no apt-get
-# build-dep. dpkg-checkbuilddeps output contains version information and isn't
-# directly suitable for apt-get install.
-DEPS=`perl -ne 'next if /^#/; $p=(s/^Build-Depends:\s*/ / or (/^ / and $p)); s/,|\n|\([^)]+\)|\[[^]]+\]//mg; print if $p' < debian/control`
-
-# Install deps
-apt-get install -y $DEPS
+# Install all build deps
+mk-build-deps -i -r debian/control
 
 # If autotools files have been created, update their timestamp to
 # prevent them from being regenerated
-- 
2.13.6


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCH] build.sh: Yet another fix for the installation of build deps
  2018-01-03 17:59 [PATCH] build.sh: Yet another fix for the installation of build deps Henning Schild
@ 2018-01-03 18:04 ` Henning Schild
  2018-01-04  9:44 ` [PATCHv2] build.sh: yet " Henning Schild
  1 sibling, 0 replies; 5+ messages in thread
From: Henning Schild @ 2018-01-03 18:04 UTC (permalink / raw)
  To: isar-users, Alexander Smirnov; +Cc: Frank Lenormand

Am Wed, 3 Jan 2018 18:59:48 +0100
schrieb Henning Schild <henning.schild@siemens.com>:

> The perl code guessing the build-deps of packages can not handle all
> the possible syntax that could be found in Build-Depends. And it
> ignores Build-Depends-Indep. So there are several issues in it.
> 
> This patch uses an official debian-tool "mk-build-deb" to install the
> build deps. The tool generates a package which which will Depends: on
> the Build-Depends:. Architecture operators, -Indep etc. are handled
> correctly.
> 
> Signed-off-by: Henning Schild <henning.schild@siemens.com>
> ---
>  meta/recipes-devtools/buildchroot/buildchroot.bb | 3 ++-
>  meta/recipes-devtools/buildchroot/files/build.sh | 9 ++-------
>  2 files changed, 4 insertions(+), 8 deletions(-)
> 
> diff --git a/meta/recipes-devtools/buildchroot/buildchroot.bb
> b/meta/recipes-devtools/buildchroot/buildchroot.bb index
> 59ad0e0..581cb9a 100644 ---
> a/meta/recipes-devtools/buildchroot/buildchroot.bb +++
> b/meta/recipes-devtools/buildchroot/buildchroot.bb @@ -25,7 +25,8 @@
> BUILDCHROOT_PREINSTALL ?= "gcc \ locales \
>                             docbook-to-man \
>                             apt \
> -                           automake"
> +                           automake \
> +                           devscripts"
>  
>  WORKDIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/${PN}"
>  
> diff --git a/meta/recipes-devtools/buildchroot/files/build.sh
> b/meta/recipes-devtools/buildchroot/files/build.sh index
> 5e310ad..975252e 100644 ---
> a/meta/recipes-devtools/buildchroot/files/build.sh +++
> b/meta/recipes-devtools/buildchroot/files/build.sh @@ -6,13 +6,8 @@
>  # Go to build directory
>  cd $1
>  
> -# Get list of dependencies manually. The package is not in apt, so
> no apt-get -# build-dep. dpkg-checkbuilddeps output contains version
> information and isn't -# directly suitable for apt-get install.
> -DEPS=`perl -ne 'next if /^#/; $p=(s/^Build-Depends:\s*/ / or (/^ /
> and $p)); s/,|\n|\([^)]+\)|\[[^]]+\]//mg; print if $p' <
> debian/control` - -# Install deps
> -apt-get install -y $DEPS
> +# Install all build deps
> +mk-build-deps -i -r debian/control

The -r means that we do not want to keep the generated .deb-file. And
the -i says we want to install it right away. For moving this code
around for APT_BASE you would skip both and generate the dep-package
long before calling build.sh of the actual package. And you would
install the dep-package in the APT_BASE multistrap.
I think these .debs are ok to go into the Isar repo, we could invent
yet another one ...

Henning

>  # If autotools files have been created, update their timestamp to
>  # prevent them from being regenerated


^ permalink raw reply	[flat|nested] 5+ messages in thread

* [PATCHv2] build.sh: yet another fix for the installation of build deps
  2018-01-03 17:59 [PATCH] build.sh: Yet another fix for the installation of build deps Henning Schild
  2018-01-03 18:04 ` Henning Schild
@ 2018-01-04  9:44 ` Henning Schild
  2018-01-04  9:46   ` Henning Schild
  2018-01-11 11:38   ` Alexander Smirnov
  1 sibling, 2 replies; 5+ messages in thread
From: Henning Schild @ 2018-01-04  9:44 UTC (permalink / raw)
  To: isar-users; +Cc: Frank Lenormand, Henning Schild

The perl code guessing the build-deps of packages can not handle all the
possible syntax that could be found in Build-Depends. And it ignores
Build-Depends-Indep. So there are several issues in it.

This patch uses an official debian-tool "mk-build-deb" to install the build
deps. The tool generates a package which which will Depends: on the
Build-Depends:. Architecture operators, -Indep etc. are handled
correctly.

Signed-off-by: Henning Schild <henning.schild@siemens.com>
---
 meta/recipes-devtools/buildchroot/buildchroot.bb | 4 +++-
 meta/recipes-devtools/buildchroot/files/build.sh | 9 ++-------
 2 files changed, 5 insertions(+), 8 deletions(-)

diff --git a/meta/recipes-devtools/buildchroot/buildchroot.bb b/meta/recipes-devtools/buildchroot/buildchroot.bb
index 59ad0e0..51f9d5d 100644
--- a/meta/recipes-devtools/buildchroot/buildchroot.bb
+++ b/meta/recipes-devtools/buildchroot/buildchroot.bb
@@ -25,7 +25,9 @@ BUILDCHROOT_PREINSTALL ?= "gcc \
                            locales \
                            docbook-to-man \
                            apt \
-                           automake"
+                           automake \
+                           devscripts \
+                           equivs"
 
 WORKDIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/${PN}"
 
diff --git a/meta/recipes-devtools/buildchroot/files/build.sh b/meta/recipes-devtools/buildchroot/files/build.sh
index 5e310ad..975252e 100644
--- a/meta/recipes-devtools/buildchroot/files/build.sh
+++ b/meta/recipes-devtools/buildchroot/files/build.sh
@@ -6,13 +6,8 @@
 # Go to build directory
 cd $1
 
-# Get list of dependencies manually. The package is not in apt, so no apt-get
-# build-dep. dpkg-checkbuilddeps output contains version information and isn't
-# directly suitable for apt-get install.
-DEPS=`perl -ne 'next if /^#/; $p=(s/^Build-Depends:\s*/ / or (/^ / and $p)); s/,|\n|\([^)]+\)|\[[^]]+\]//mg; print if $p' < debian/control`
-
-# Install deps
-apt-get install -y $DEPS
+# Install all build deps
+mk-build-deps -i -r debian/control
 
 # If autotools files have been created, update their timestamp to
 # prevent them from being regenerated
-- 
2.13.6


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCHv2] build.sh: yet another fix for the installation of build deps
  2018-01-04  9:44 ` [PATCHv2] build.sh: yet " Henning Schild
@ 2018-01-04  9:46   ` Henning Schild
  2018-01-11 11:38   ` Alexander Smirnov
  1 sibling, 0 replies; 5+ messages in thread
From: Henning Schild @ 2018-01-04  9:46 UTC (permalink / raw)
  To: isar-users; +Cc: Frank Lenormand

Changes in v2, install "equivs" as well, otherwise the tool will not
run.

Henning

Am Thu, 4 Jan 2018 10:44:50 +0100
schrieb Henning Schild <henning.schild@siemens.com>:

> The perl code guessing the build-deps of packages can not handle all
> the possible syntax that could be found in Build-Depends. And it
> ignores Build-Depends-Indep. So there are several issues in it.
> 
> This patch uses an official debian-tool "mk-build-deb" to install the
> build deps. The tool generates a package which which will Depends: on
> the Build-Depends:. Architecture operators, -Indep etc. are handled
> correctly.
> 
> Signed-off-by: Henning Schild <henning.schild@siemens.com>
> ---
>  meta/recipes-devtools/buildchroot/buildchroot.bb | 4 +++-
>  meta/recipes-devtools/buildchroot/files/build.sh | 9 ++-------
>  2 files changed, 5 insertions(+), 8 deletions(-)
> 
> diff --git a/meta/recipes-devtools/buildchroot/buildchroot.bb
> b/meta/recipes-devtools/buildchroot/buildchroot.bb index
> 59ad0e0..51f9d5d 100644 ---
> a/meta/recipes-devtools/buildchroot/buildchroot.bb +++
> b/meta/recipes-devtools/buildchroot/buildchroot.bb @@ -25,7 +25,9 @@
> BUILDCHROOT_PREINSTALL ?= "gcc \ locales \
>                             docbook-to-man \
>                             apt \
> -                           automake"
> +                           automake \
> +                           devscripts \
> +                           equivs"
>  
>  WORKDIR = "${TMPDIR}/work/${DISTRO}-${DISTRO_ARCH}/${PN}"
>  
> diff --git a/meta/recipes-devtools/buildchroot/files/build.sh
> b/meta/recipes-devtools/buildchroot/files/build.sh index
> 5e310ad..975252e 100644 ---
> a/meta/recipes-devtools/buildchroot/files/build.sh +++
> b/meta/recipes-devtools/buildchroot/files/build.sh @@ -6,13 +6,8 @@
>  # Go to build directory
>  cd $1
>  
> -# Get list of dependencies manually. The package is not in apt, so
> no apt-get -# build-dep. dpkg-checkbuilddeps output contains version
> information and isn't -# directly suitable for apt-get install.
> -DEPS=`perl -ne 'next if /^#/; $p=(s/^Build-Depends:\s*/ / or (/^ /
> and $p)); s/,|\n|\([^)]+\)|\[[^]]+\]//mg; print if $p' <
> debian/control` - -# Install deps
> -apt-get install -y $DEPS
> +# Install all build deps
> +mk-build-deps -i -r debian/control
>  
>  # If autotools files have been created, update their timestamp to
>  # prevent them from being regenerated


^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: [PATCHv2] build.sh: yet another fix for the installation of build deps
  2018-01-04  9:44 ` [PATCHv2] build.sh: yet " Henning Schild
  2018-01-04  9:46   ` Henning Schild
@ 2018-01-11 11:38   ` Alexander Smirnov
  1 sibling, 0 replies; 5+ messages in thread
From: Alexander Smirnov @ 2018-01-11 11:38 UTC (permalink / raw)
  To: Henning Schild, isar-users; +Cc: Frank Lenormand

On 01/04/2018 12:44 PM, Henning Schild wrote:
> The perl code guessing the build-deps of packages can not handle all the
> possible syntax that could be found in Build-Depends. And it ignores
> Build-Depends-Indep. So there are several issues in it.
> 
> This patch uses an official debian-tool "mk-build-deb" to install the build
> deps. The tool generates a package which which will Depends: on the
> Build-Depends:. Architecture operators, -Indep etc. are handled
> correctly.
> 
> Signed-off-by: Henning Schild <henning.schild@siemens.com>

Applied to next, thanks!

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2018-01-11 11:38 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-03 17:59 [PATCH] build.sh: Yet another fix for the installation of build deps Henning Schild
2018-01-03 18:04 ` Henning Schild
2018-01-04  9:44 ` [PATCHv2] build.sh: yet " Henning Schild
2018-01-04  9:46   ` Henning Schild
2018-01-11 11:38   ` Alexander Smirnov

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox