* [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.