source: trunk/src/3rdparty/libgq/debian/fixup-scratchbox

Last change on this file was 846, checked in by Dmitry A. Kuminov, 14 years ago

trunk: Merged in qt 4.7.2 sources from branches/vendor/nokia/qt.

  • Property svn:executable set to *
File size: 2.6 KB
Line 
1#! /bin/sh
2
3# XXX - this needs to run under fakeroot...
4
5exec 3>&1 1>&2
6
7real_dpkg_checkbuilddeps () {
8 SBOX_REDIRECT_IGNORE=/usr/bin/perl /usr/bin/perl /usr/bin/dpkg-checkbuilddeps "$@"
9}
10
11finish () {
12 if ! real_dpkg_checkbuilddeps; then
13 echo "This package does not use any devkits."
14 echo "Please install all build dependencies as real packages."
15 echo >&3 FAIL
16 fi
17 exit 0
18}
19
20# The stamp file can not be in the source tree because then it would
21# end up in the source package, which is not what we want. We put it
22# into /var/tmp so that it gets deleted when a new rootstrap is
23# extracted.
24
25STAMP=/var/tmp/SANITIZED.$(head debian/changelog | md5sum | cut -d' ' -f1)
26
27if [ -e $STAMP ]; then
28 exit 0;
29fi
30
31# Only do permanent changes if this is BIFH
32
33echo "$USER" | grep -q 'bifh[0-9]' || finish
34
35# prevent bash from killing the system
36rm -f /var/lib/bash/provide-sh
37
38# clean ~/.texmf-var to avoid trouble with stale things hiding there.
39rm -rf ~/.texmf-var/
40
41pfx="dpkg-checkbuilddeps: Unmet build dependencies:"
42deps=`real_dpkg_checkbuilddeps 2>&1 | grep "^$pfx" | \
43 sed -e "s/$pfx//" -e s'/([^)]*)//g' -e 's/|//'`
44deps="$deps build-essential automake autoconf libtool ed gawk diff dpkg-dev"
45for d in $deps; do
46 echo apt-get "$@" install $d
47 apt-get -o DPkg::Options::=--force-confold -q --force-yes --yes install $d
48done
49apt-get -o DPkg::Options::=--force-confold -q --force-yes --yes dist-upgrade
50
51# Make sure we get a fresh fakeroot installation
52
53# We can't seem to control the value of LD_PRELOAD well enough, so we
54# just copy the good version of libfakeroot over the bad one that
55# Scratchbox uses. This will result in a good version of libfakeroot
56# talking to a bad version of faked, but that seems to work well
57# enough. The protocol between the two is really simple and unlikely
58# to change even when new syscalls are wrapped. And this is a
59# desperate hack anyway, so it's OK if there is blood all over the
60# floor from time to time.
61#
62# After we have overwritten libfakeroot, it no longer works with any
63# host binaries, such as the ones in /scratchbox/compilers/bin or
64# /scratchbox/tools/bin. Thus, we must avoid running those when
65# fakerooted.
66#
67# We use "cp -l" here to avoid overwriting a library that is in use.
68#
69if [ "$(fakeroot -v)" = "fakeroot version 1.4.2" ]; then
70 apt-get -q --force-yes --yes --reinstall install fakeroot
71 cp -fl /usr/lib/libfakeroot/libfakeroot-sysv.so /usr/lib/libfakeroot-sysv/libfakeroot.so.0
72 cp -fl /usr/lib/libfakeroot/libfakeroot-tcp.so /usr/lib/libfakeroot-tcp/libfakeroot.so.0
73else
74 echo "We have $(fakeroot -v), hurray!"
75fi
76
77touch $STAMP
78
79finish
Note: See TracBrowser for help on using the repository browser.