<feed xmlns='http://www.w3.org/2005/Atom'>
<title>buildroot/support/scripts, branch 2017.08.1</title>
<subtitle>OpenPOWER buildroot sources</subtitle>
<id>https://git.raptorcs.com/git/buildroot/atom?h=2017.08.1</id>
<link rel='self' href='https://git.raptorcs.com/git/buildroot/atom?h=2017.08.1'/>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/'/>
<updated>2017-10-17T08:30:34+00:00</updated>
<entry>
<title>support/check-rpath: recognise PIE</title>
<updated>2017-10-17T08:30:34+00:00</updated>
<author>
<name>Yann E. MORIN</name>
<email>yann.morin.1998@free.fr</email>
</author>
<published>2017-09-24T16:22:44+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=0e6fb50dc0829bec9e26e9bfdf0034c017606d47'/>
<id>urn:sha1:0e6fb50dc0829bec9e26e9bfdf0034c017606d47</id>
<content type='text'>
We sanity-check the host executables that they have a correct RPATH
pointing to the host libraries.

This is currently done by looking for all files in $(HOST_DIR) that
match the 'ELF executable' pattern (a bit more complex, but that's
idea).

However, when an executable is built with -fPIE of -fpie, it no longer
appears to be an 'ELF executable', but it rather looks like an 'ELF
sheard object' (like if it were an library.

So, we miss those files.

It turns out that the problem is a real one, because quite a few
mainline distros, expecially those based on Debian for example, have
already switched to generating PIE code by default, and thus we miss on
a whole class of systems..

We fix that by simply looking if we can find an ELF interpreter in each
file. If we there is one, this is an ELF executable; if not, it may be
anything else: we don't care (not even about ELF libraries).

Signed-off-by: "Yann E. MORIN" &lt;yann.morin.1998@free.fr&gt;
Cc: Arnout Vandecappelle &lt;arnout@mind.be&gt;
Signed-off-by: Arnout Vandecappelle (Essensium/Mind) &lt;arnout@mind.be&gt;
Signed-off-by: Peter Korsgaard &lt;peter@korsgaard.com&gt;
</content>
</entry>
<entry>
<title>support/scripts/check-bin-arch: fix symbolic link check</title>
<updated>2017-10-16T21:00:08+00:00</updated>
<author>
<name>Thomas Petazzoni</name>
<email>thomas.petazzoni@free-electrons.com</email>
</author>
<published>2017-09-05T18:59:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=094a1d118e62fc3359e3fe0b631dc7bda192dd6c'/>
<id>urn:sha1:094a1d118e62fc3359e3fe0b631dc7bda192dd6c</id>
<content type='text'>
Commit c96b8675ea03a5d3194d439f740c725dd239ed1a
("support/scripts/check-bin-arch: ignore symbolic links") was bogus,
because it tested ${f}, which is the relative path of the file inside
${TARGET_DIR}, so we end up testing if ${f} on the system is a
symbolic link.

This commit fixes that by testing ${TARGET_DIR}/${f}.

Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
(cherry picked from commit cb0f3fa13f315a1aa0469d3479673860dcba8eb9)
Signed-off-by: Peter Korsgaard &lt;peter@korsgaard.com&gt;
</content>
</entry>
<entry>
<title>support/scripts/check-bin-arch: ignore symbolic links</title>
<updated>2017-10-16T20:59:34+00:00</updated>
<author>
<name>Thomas Petazzoni</name>
<email>thomas.petazzoni@free-electrons.com</email>
</author>
<published>2017-09-03T14:09:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=e8e8f43abda1fa736a2b0c544db8e4dc7db29f50'/>
<id>urn:sha1:e8e8f43abda1fa736a2b0c544db8e4dc7db29f50</id>
<content type='text'>
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 -&gt; /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 &lt;thomas.petazzoni@free-electrons.com&gt;
Reviewed-by: "Yann E. MORIN" &lt;yann.morin.1998@free.fr&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
(cherry picked from commit c96b8675ea03a5d3194d439f740c725dd239ed1a)
Signed-off-by: Peter Korsgaard &lt;peter@korsgaard.com&gt;
</content>
</entry>
<entry>
<title>support/scripts/fix-rpath: typo fix and unneeded "; " removed</title>
<updated>2017-07-22T12:38:43+00:00</updated>
<author>
<name>Wolfgang Grandegger</name>
<email>wg@grandegger.com</email>
</author>
<published>2017-07-22T11:15:42+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=0bc81f528bcc136b65d73e60a05993526704c0b6'/>
<id>urn:sha1:0bc81f528bcc136b65d73e60a05993526704c0b6</id>
<content type='text'>
Signed-off-by: Wolfgang Grandegger &lt;wg@grandegger.com&gt;
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) &lt;arnout@mind.be&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>support/scripts/fix-rpath: check if the patchelf utility is executable</title>
<updated>2017-07-22T12:35:55+00:00</updated>
<author>
<name>Wolfgang Grandegger</name>
<email>wg@grandegger.com</email>
</author>
<published>2017-07-22T11:15:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=17dd0d49da96e8043ed244a480de0a48b0b116fd'/>
<id>urn:sha1:17dd0d49da96e8043ed244a480de0a48b0b116fd</id>
<content type='text'>
Signed-off-by: Wolfgang Grandegger &lt;wg@grandegger.com&gt;
Reviewed-by: Arnout Vandecappelle (Essensium/Mind) &lt;arnout@mind.be&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>support/scripts: add fix-rpath script to sanitize the rpath</title>
<updated>2017-07-20T20:47:04+00:00</updated>
<author>
<name>Samuel Martin</name>
<email>s.martin49@gmail.com</email>
</author>
<published>2017-07-20T14:35:14+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=022b8adbd68c7d2aee3d1ea15e2e7dd13d7677b3'/>
<id>urn:sha1:022b8adbd68c7d2aee3d1ea15e2e7dd13d7677b3</id>
<content type='text'>
This commit introduces the script "fix-rpath" able to scan a tree,
detect ELF files, check their RPATH and fix it in a proper way.
The RPATH fixup is done by the patchelf utility using the option
"--make-rpath-relative &lt;root-directory&gt;".

Signed-off-by: Samuel Martin &lt;s.martin49@gmail.com&gt;
Signed-off-by: Wolfgang Grandegger &lt;wg@grandegger.com&gt;
Acked-by: Arnout Vandecappelle (Essensium/Mind) &lt;arnout@mind.be&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>pkg-stats: add exception for nvidia-tegra23.mk</title>
<updated>2017-07-06T19:46:04+00:00</updated>
<author>
<name>Thomas Petazzoni</name>
<email>thomas.petazzoni@free-electrons.com</email>
</author>
<published>2017-07-06T19:46:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=67409d9303faa4df44bff56d46e16bb71855bf57'/>
<id>urn:sha1:67409d9303faa4df44bff56d46e16bb71855bf57</id>
<content type='text'>
This file is not a package per-se, it includes other .mk files that
are packages.

Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>pkg-stats: take into account waf packages</title>
<updated>2017-07-06T19:45:41+00:00</updated>
<author>
<name>Thomas Petazzoni</name>
<email>thomas.petazzoni@free-electrons.com</email>
</author>
<published>2017-07-06T19:45:41+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=df3bf7bccd4b1caab137cec0f9ce17e7e2a39202'/>
<id>urn:sha1:df3bf7bccd4b1caab137cec0f9ce17e7e2a39202</id>
<content type='text'>
The waf package infrastructure was not known by the pkg-stats script,
so let's add it.

Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>pkg-stats: allow to sort by column</title>
<updated>2017-07-06T19:38:43+00:00</updated>
<author>
<name>Ricardo Martincoski</name>
<email>ricardo.martincoski@gmail.com</email>
</author>
<published>2017-07-06T01:36:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=2f762fb620f440a72af128b3455df3897d06fba1'/>
<id>urn:sha1:2f762fb620f440a72af128b3455df3897d06fba1</id>
<content type='text'>
With 2000+ packages it's not trivial to identify i.e.:
- all packages that don't have a hash file;
- all packages that have patches;
- all packages that have code style warnings;

User experience can be improved by dynamically sorting the resulting
table.

There is an open-source solution that does that in the client-side and
requires minimal changes to our script: sorttable.js.  The script is
MIT licensed as stated in its website.

Also add a hint to the user that the table can be sorted.

Signed-off-by: Ricardo Martincoski &lt;ricardo.martincoski@gmail.com&gt;
Cc: Arnout Vandecappelle &lt;arnout@mind.be&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
<entry>
<title>check-host-rpath: no longer allow $(HOST_DIR)/usr</title>
<updated>2017-07-05T14:54:12+00:00</updated>
<author>
<name>Arnout Vandecappelle</name>
<email>arnout@mind.be</email>
</author>
<published>2017-07-05T12:09:49+00:00</published>
<link rel='alternate' type='text/html' href='https://git.raptorcs.com/git/buildroot/commit/?id=1d11d6314cd5ab793b5f2db784d11614f2d2d604'/>
<id>urn:sha1:1d11d6314cd5ab793b5f2db784d11614f2d2d604</id>
<content type='text'>
Now all packages have been updated to install things in $(HOST_DIR)/lib
instead of $(HOST_DIR)/usr/lib, there should no longer be any reason
to have $(HOST_DIR)/usr/lib in the RPATH, so we don't allow it any more.

Signed-off-by: Arnout Vandecappelle (Essensium/Mind) &lt;arnout@mind.be&gt;
Cc: Wolfgang Grandegger &lt;wg@grandegger.com&gt;
Signed-off-by: Thomas Petazzoni &lt;thomas.petazzoni@free-electrons.com&gt;
</content>
</entry>
</feed>
