Commit Graph

12 Commits

Author SHA1 Message Date
Yann E. MORIN"
94be1f470c config: add an option to name the sysroot directory
Depending on local policies, some users have expressed a need to
have the sysroot be named differently than the hard-coded name.

Add an option for that.
Default to 'sysroot' to match the existing literature.

While at it, replace 'sys-root' with 'sysroot' everywhere we
reference the sysroot.

Reported-by: Alexey Kuznetsov <Alexey.KUZNETSOV@youtransactor.com>
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
2011-01-25 20:31:16 +01:00
Yann E. MORIN"
d8d2459ca4 scripts/populate: optimise search loop
Curently, populate will iterate over all ELF (shared objects|executables)
to look for missing NEEDED DSOs, adding to the list at every iterations
of the search loop.

Instead of looking again at previously handled ELF files, recursively
resolve every ELf files.

Also, in case there are a whole lot of files (more than the shell can
accept as arguments list, or creating a command line longer than the
shell can cope with), use a temporary file with the list of files
to search for missing dependencies.
2010-03-29 00:15:32 +02:00
Yann E. MORIN"
ec4181e4d2 scripts/populate: cleanups and misc fixes
- it's a POSIX compliant shell script: drop bash, use /bin/sh
- fix help text
- use an absolute path for sysroot
- replace "echo" with "printf"
- replace "stat -c '%i'" with "ls -1id"
- replace "pushd / popd" with "cd / cd -"
- remove superfluous break
- bail out if required lib not found, except if forced
2010-03-28 23:01:19 +02:00
Yann E. MORIN"
1913d355b3 scripts/populate: fix handling the forced libraries list-file
If a list-file is used, then each library in the file will be handled
twice (not a real issue, as the second iteration will find the library
already present, just avoid doing the job twice).
2010-03-26 23:17:23 +01:00
Yann E. MORIN"
f36ceb7f54 scripts/populate: properly locate the sysroot and required tools
This fixes two problems:
- the sysroot might be in a sub-directory (think SYSROOT_DIR_PREFIX)
- it is not needed to have the target tuple to properly detect the sysroot
  and the required tools

As a side effect, this script is now no longer dependent on the target
tuple, and in the future, we might be able to share it across many
toolchains (when/if we can install all of them in the same place).
2010-03-25 22:42:00 +01:00
Yann E. MORIN"
a67a23877f scripts/populate: add -m option, to merge source and dest
Merge the source rootfs into the (pre-existing) destination rootfs,
and populate the result accordingly.
2010-03-24 22:36:51 +01:00
Nate Case
ceca768ee6 scripts/populate: add option to use an alternate sysroot
Add a new command line option, "-r", which allows the user to specify
an alternate sysroot location to copy libraries from.  This is useful
when using the toolchain in combination with a separate root filesystem,
or when working with multiple different root filesystems.

Signed-off-by: Nate Case <ncase@xes-inc.com>
2010-03-23 19:27:41 +01:00
Yann E. MORIN"
8908eb3037 misc: do not use "tar cf - |tar xf -"
Using this: tar cf - -C "/some/place" |tar xf - -C "/some/other/place"
to copy a directory to another place does not properly fail (when it does).

Using this instead: cp -av "/some/place" "/some/other/place"
makes it easy to see why and how it failed.

Impacted:
    libc/uClibc
    debug/ltrace
    tools/sstrip
    scripts/populate
2010-01-02 18:00:54 +01:00
Yann E. MORIN"
c564be2675 populate: fix installing dynamic linker 'ld.so'
The dynamic linker, ld.so, needs the execute bit to be set.
Detect tht the library being installed is in fact ld.so and
install it with 0755 instead of 0644.

Fix detecting src == dst.

Use a simpler command to copy src -> dst.

Also change echo to printf, get rid of 'echo -n', which is
highly non-portable.


 -------- diffstat follows --------
 /trunk/scripts/populate.in |   76    43    33     0 +++++++++++++++++++++++++++++-----------------------
 1 file changed, 43 insertions(+), 33 deletions(-)
2009-06-11 21:47:19 +00:00
Yann E. MORIN"
8eed91405e Fix populate to correctly use tools discovered via ./configure.
/trunk/scripts/functions   |   11     8     3     0 ++++++++---
 /trunk/scripts/populate.in |    6     4     2     0 ++++--
 2 files changed, 12 insertions(+), 5 deletions(-)
2009-02-01 22:41:16 +00:00
Yann E. MORIN"
2aaa5b8b68 Update populate:
- use tools found by ./configure
- some POSIX and eye-candy cleanups

 /trunk/scripts/functions   |    7     4     3     0 +++--
 /trunk/scripts/populate.in |   70    46    24     0 ++++++++++++++++++++++++++++++++++------------------
 2 files changed, 50 insertions(+), 27 deletions(-)
2009-01-29 22:35:26 +00:00
Yann E. MORIN"
790695af6f Move populate.in from tools/ to scripts/
/trunk/scripts/crosstool.sh |    2     1     1     0 +-
 1 file changed, 1 insertion(+), 1 deletion(-)
2008-12-11 18:16:54 +00:00