All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] [PATCH] support/scripts/check-bin-arch: ignore symbolic links
@ 2017-09-03 14:09 Thomas Petazzoni
  2017-09-03 14:25 ` Yann E. MORIN
                   ` (2 more replies)
  0 siblings, 3 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2017-09-03 14:09 UTC (permalink / raw)
  To: buildroot

Since commit da32b49f0091ee9dfb613e0f00973bf6893bfa84
("instrumentation: extend packages-file-list.txt with symlinks and
directories"), the packages-file-list.txt also contains symbolic
links. Therefore, check-bin-arch is now also checking symbolic links.

However, symbolic links in $(TARGET_DIR) can have absolute path as
targets, such as:

$ ls -l output/target/sbin/ifdown
lrwxrwxrwx 1 thomas thomas 10 Sep  3 15:55 output/target/sbin/ifdown -> /sbin/ifup

Therefore, we are now potentially checking a host binary, which
obviously makes check-bin-arch fail.

This commit changes check-bin-arch to ignore symbolic links. Indeed,
we have two cases:

 - The symbolic link really points to something that will in the
   rootfs (such as /sbin/ifup above). In this case, /sbin/ifup will be
   checked separately by check-bin-arch.

 - The symbolic link doesn't point to something that will be in the
   rootfs, and that is not a problem from the perspective of
   check-bin-arch, which checks the architecture of target binaries.

Fixes:

  http://autobuild.buildroot.net/results/16d384a0183d477646ac7692feb65f00dde7d068/
  (vim)

  http://autobuild.buildroot.net/results/50429c0f63a8befff9e20899327b9a8d754d99be/
  (ifupdown)

  http://autobuild.buildroot.net/results/1db65973e782bfa61abcbccd3501bfd235f77288/
  (gawk)

Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
---
 support/scripts/check-bin-arch | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/support/scripts/check-bin-arch b/support/scripts/check-bin-arch
index b822cdd60d..700ee3f65e 100755
--- a/support/scripts/check-bin-arch
+++ b/support/scripts/check-bin-arch
@@ -36,6 +36,12 @@ while read f; do
 		continue
 	fi
 
+	# Skip symlinks. Some symlinks may have absolute paths as
+	# target, pointing to host binaries while we're building.
+	if [[ -L "${f}" ]]; then
+		continue
+	fi
+
 	# Get architecture using readelf. We pipe through 'head -1' so
 	# that when the file is a static library (.a), we only take
 	# into account the architecture of the first object file.
-- 
2.13.5

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

* [Buildroot] [PATCH] support/scripts/check-bin-arch: ignore symbolic links
  2017-09-03 14:09 [Buildroot] [PATCH] support/scripts/check-bin-arch: ignore symbolic links Thomas Petazzoni
@ 2017-09-03 14:25 ` Yann E. MORIN
  2017-09-04 14:04   ` Thomas Petazzoni
  2017-09-04 14:03 ` Thomas Petazzoni
  2017-10-16 21:45 ` Peter Korsgaard
  2 siblings, 1 reply; 5+ messages in thread
From: Yann E. MORIN @ 2017-09-03 14:25 UTC (permalink / raw)
  To: buildroot

Thomas, All,

On 2017-09-03 16:09 +0200, Thomas Petazzoni spake thusly:
> Since commit da32b49f0091ee9dfb613e0f00973bf6893bfa84
> ("instrumentation: extend packages-file-list.txt with symlinks and
> directories"), the packages-file-list.txt also contains symbolic
> links. Therefore, check-bin-arch is now also checking symbolic links.
> 
> However, symbolic links in $(TARGET_DIR) can have absolute path as
> targets, such as:
> 
> $ ls -l output/target/sbin/ifdown
> lrwxrwxrwx 1 thomas thomas 10 Sep  3 15:55 output/target/sbin/ifdown -> /sbin/ifup
> 
> Therefore, we are now potentially checking a host binary, which
> obviously makes check-bin-arch fail.
> 
> This commit changes check-bin-arch to ignore symbolic links. Indeed,
> we have two cases:
> 
>  - The symbolic link really points to something that will in the
>    rootfs (such as /sbin/ifup above). In this case, /sbin/ifup will be
>    checked separately by check-bin-arch.
> 
>  - The symbolic link doesn't point to something that will be in the
>    rootfs, and that is not a problem from the perspective of
>    check-bin-arch, which checks the architecture of target binaries.
> 
> Fixes:
> 
>   http://autobuild.buildroot.net/results/16d384a0183d477646ac7692feb65f00dde7d068/
>   (vim)
> 
>   http://autobuild.buildroot.net/results/50429c0f63a8befff9e20899327b9a8d754d99be/
>   (ifupdown)
> 
>   http://autobuild.buildroot.net/results/1db65973e782bfa61abcbccd3501bfd235f77288/
>   (gawk)
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  support/scripts/check-bin-arch | 6 ++++++
>  1 file changed, 6 insertions(+)
> 
> diff --git a/support/scripts/check-bin-arch b/support/scripts/check-bin-arch
> index b822cdd60d..700ee3f65e 100755
> --- a/support/scripts/check-bin-arch
> +++ b/support/scripts/check-bin-arch
> @@ -36,6 +36,12 @@ while read f; do
>  		continue
>  	fi
>  
> +	# Skip symlinks. Some symlinks may have absolute paths as
> +	# target, pointing to host binaries while we're building.
> +	if [[ -L "${f}" ]]; then

I don't like that we use the bashism [[...]] when the POSIX [...] works
perfectly well. And we also use 'test' below, which is not very
consistent...

But oh, well...

Reviewed-by: "Yann E. MORIN" <yann.morin.1998@free.fr>

Regards,
Yann E. MORIN.

> +		continue
> +	fi
> +
>  	# Get architecture using readelf. We pipe through 'head -1' so
>  	# that when the file is a static library (.a), we only take
>  	# into account the architecture of the first object file.
> -- 
> 2.13.5
> 

-- 
.-----------------.--------------------.------------------.--------------------.
|  Yann E. MORIN  | Real-Time Embedded | /"\ ASCII RIBBON | Erics' conspiracy: |
| +33 662 376 056 | Software  Designer | \ / CAMPAIGN     |  ___               |
| +33 223 225 172 `------------.-------:  X  AGAINST      |  \e/  There is no  |
| http://ymorin.is-a-geek.org/ | _/*\_ | / \ HTML MAIL    |   v   conspiracy.  |
'------------------------------^-------^------------------^--------------------'

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

* [Buildroot] [PATCH] support/scripts/check-bin-arch: ignore symbolic links
  2017-09-03 14:09 [Buildroot] [PATCH] support/scripts/check-bin-arch: ignore symbolic links Thomas Petazzoni
  2017-09-03 14:25 ` Yann E. MORIN
@ 2017-09-04 14:03 ` Thomas Petazzoni
  2017-10-16 21:45 ` Peter Korsgaard
  2 siblings, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2017-09-04 14:03 UTC (permalink / raw)
  To: buildroot

Hello,

On Sun,  3 Sep 2017 16:09:41 +0200, Thomas Petazzoni wrote:
> Since commit da32b49f0091ee9dfb613e0f00973bf6893bfa84
> ("instrumentation: extend packages-file-list.txt with symlinks and
> directories"), the packages-file-list.txt also contains symbolic
> links. Therefore, check-bin-arch is now also checking symbolic links.
> 
> However, symbolic links in $(TARGET_DIR) can have absolute path as
> targets, such as:
> 
> $ ls -l output/target/sbin/ifdown
> lrwxrwxrwx 1 thomas thomas 10 Sep  3 15:55 output/target/sbin/ifdown -> /sbin/ifup
> 
> Therefore, we are now potentially checking a host binary, which
> obviously makes check-bin-arch fail.
> 
> This commit changes check-bin-arch to ignore symbolic links. Indeed,
> we have two cases:
> 
>  - The symbolic link really points to something that will in the
>    rootfs (such as /sbin/ifup above). In this case, /sbin/ifup will be
>    checked separately by check-bin-arch.
> 
>  - The symbolic link doesn't point to something that will be in the
>    rootfs, and that is not a problem from the perspective of
>    check-bin-arch, which checks the architecture of target binaries.
> 
> Fixes:
> 
>   http://autobuild.buildroot.net/results/16d384a0183d477646ac7692feb65f00dde7d068/
>   (vim)
> 
>   http://autobuild.buildroot.net/results/50429c0f63a8befff9e20899327b9a8d754d99be/
>   (ifupdown)
> 
>   http://autobuild.buildroot.net/results/1db65973e782bfa61abcbccd3501bfd235f77288/
>   (gawk)
> 
> Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
> ---
>  support/scripts/check-bin-arch | 6 ++++++
>  1 file changed, 6 insertions(+)

Applied to master, thanks.

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com

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

* [Buildroot] [PATCH] support/scripts/check-bin-arch: ignore symbolic links
  2017-09-03 14:25 ` Yann E. MORIN
@ 2017-09-04 14:04   ` Thomas Petazzoni
  0 siblings, 0 replies; 5+ messages in thread
From: Thomas Petazzoni @ 2017-09-04 14:04 UTC (permalink / raw)
  To: buildroot

Hello,

On Sun, 3 Sep 2017 16:25:48 +0200, Yann E. MORIN wrote:

> > +	# Skip symlinks. Some symlinks may have absolute paths as
> > +	# target, pointing to host binaries while we're building.
> > +	if [[ -L "${f}" ]]; then  
> 
> I don't like that we use the bashism [[...]] when the POSIX [...] works
> perfectly well. And we also use 'test' below, which is not very
> consistent...

Agreed, but there are already such tests in the script, so I just used
the same syntax. We can fix that up as a follow-up patch.

Thanks!

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com

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

* [Buildroot] [PATCH] support/scripts/check-bin-arch: ignore symbolic links
  2017-09-03 14:09 [Buildroot] [PATCH] support/scripts/check-bin-arch: ignore symbolic links Thomas Petazzoni
  2017-09-03 14:25 ` Yann E. MORIN
  2017-09-04 14:03 ` Thomas Petazzoni
@ 2017-10-16 21:45 ` Peter Korsgaard
  2 siblings, 0 replies; 5+ messages in thread
From: Peter Korsgaard @ 2017-10-16 21:45 UTC (permalink / raw)
  To: buildroot

>>>>> "Thomas" == Thomas Petazzoni <thomas.petazzoni@free-electrons.com> writes:

 > Since commit da32b49f0091ee9dfb613e0f00973bf6893bfa84
 > ("instrumentation: extend packages-file-list.txt with symlinks and
 > directories"), the packages-file-list.txt also contains symbolic
 > links. Therefore, check-bin-arch is now also checking symbolic links.

 > However, symbolic links in $(TARGET_DIR) can have absolute path as
 > targets, such as:

 > $ ls -l output/target/sbin/ifdown
 > lrwxrwxrwx 1 thomas thomas 10 Sep  3 15:55 output/target/sbin/ifdown -> /sbin/ifup

 > Therefore, we are now potentially checking a host binary, which
 > obviously makes check-bin-arch fail.

 > This commit changes check-bin-arch to ignore symbolic links. Indeed,
 > we have two cases:

 >  - The symbolic link really points to something that will in the
 >    rootfs (such as /sbin/ifup above). In this case, /sbin/ifup will be
 >    checked separately by check-bin-arch.

 >  - The symbolic link doesn't point to something that will be in the
 >    rootfs, and that is not a problem from the perspective of
 >    check-bin-arch, which checks the architecture of target binaries.

 > Fixes:

 >   http://autobuild.buildroot.net/results/16d384a0183d477646ac7692feb65f00dde7d068/
 >   (vim)

 >   http://autobuild.buildroot.net/results/50429c0f63a8befff9e20899327b9a8d754d99be/
 >   (ifupdown)

 >   http://autobuild.buildroot.net/results/1db65973e782bfa61abcbccd3501bfd235f77288/
 >   (gawk)

 > Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>

Committed to 2017.08.x, thanks.

-- 
Bye, Peter Korsgaard

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

end of thread, other threads:[~2017-10-16 21:45 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-09-03 14:09 [Buildroot] [PATCH] support/scripts/check-bin-arch: ignore symbolic links Thomas Petazzoni
2017-09-03 14:25 ` Yann E. MORIN
2017-09-04 14:04   ` Thomas Petazzoni
2017-09-04 14:03 ` Thomas Petazzoni
2017-10-16 21:45 ` Peter Korsgaard

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.