summaryrefslogtreecommitdiffstats
path: root/make-links.sh
blob: af15f30d4adf450d5276744f5802e7edb4640d8c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
#!/bin/bash
# make-links.sh - script to populate the global .build-id dir with hardlinks.
#
# GPLv2+. BOILERPLATE SHOULD GO HERE.
#
# Copyright 2009 Red Hat, Inc.
# Author: Will Woods <wwoods@redhat.com>

source config.sh

if [ $# -lt 1 ]; then
    echo "Usage: $0 reponame [reponame...]"
    echo "populates $exportdir/.build-id with hardlinks to .debug files."
    exit 1
fi

if [ -z "$libdir" ]; then
    echo "Couldn't find config.sh - exiting."
    exit 1
fi

while [ $# -gt 0 ]; do
    reponame="$1"
    shift

    if [ ! -d "$libdir/$reponame" ]; then
        echo "$libdir/$reponame does not exist - please unpack debuginfo first"
        continue
    fi

    find $libdir/$reponame -regex '.*/usr/lib/debug/\.build-id/.*\.debug' | \
      while read u; do
        target=$(readlink --canonicalize $u)
        linkname=${u#*/usr/lib/debug/}
        newlink="$exportdir/$linkname"
        mkdir -p $(dirname $newlink)
        ln -f $target $newlink
    done
done