scripts/functions: Fix CT_ExtractGit function.
Change CT_ExtractGit so that it clones the repository, instead of just
symlinking it. After cloning, any given ref is checked out, or if no
ref is given, the HEAD of the repository is checked out.
This makes CT_Extract behave similar for git repositories as it does
for tarballs, so that it for example can be used for passing glibc-ports
as a git repository.
Signed-off-by: "Esben Haabendal" <esben.haabendal@prevas.dk>
[yann.morin.1998@anciens.enib.fr: fix incomplete var rename]
Signed-off-by: "Yann E. MORIN" <yann.morin.1998@anciens.enib.fr>
1 # Build script for D.U.M.A.
4 # Downloading an non-existing file from sourceforge will give you an
5 # HTML file containing an error message, instead of returning a 404.
7 CT_GetFile "duma_${CT_DUMA_VERSION}" .tar.gz http://mesh.dl.sourceforge.net/sourceforge/duma/
8 # Downloading from sourceforge may leave garbage, cleanup
9 CT_DoExecLog ALL rm -f "${CT_TARBALLS_DIR}/showfiles.php"*
12 do_debug_duma_extract() {
13 CT_Extract "duma_${CT_DUMA_VERSION}"
14 CT_Pushd "${CT_SRC_DIR}/duma_${CT_DUMA_VERSION}"
15 CT_Patch nochdir "duma" "${CT_DUMA_VERSION}"
19 do_debug_duma_build() {
20 CT_DoStep INFO "Installing D.U.M.A."
21 CT_DoLog EXTRA "Copying sources"
22 cp -a "${CT_SRC_DIR}/duma_${CT_DUMA_VERSION}" "${CT_BUILD_DIR}/build-duma"
23 CT_Pushd "${CT_BUILD_DIR}/build-duma"
26 [ "${CT_CC_LANG_CXX}" = "y" ] && DUMA_CPP=1
28 # The shared library needs some love: some version have libduma.so.0.0,
29 # while others have libduma.so.0.0.0
30 duma_so=$(make -n -p 2>&1 |grep -E '^libduma.so[^:]*:' |head -n 1 |cut -d : -f 1)
33 [ "${CT_DUMA_A}" = "y" ] && libs="${libs} libduma.a"
34 [ "${CT_DUMA_SO}" = "y" ] && libs="${libs} ${duma_so}"
36 CT_DoLog EXTRA "Building libraries '${libs}'"
38 make HOSTCC="${CT_BUILD}-gcc" \
39 CC="${CT_TARGET}-gcc" \
40 CXX="${CT_TARGET}-gcc" \
41 RANLIB="${CT_TARGET}-ranlib" \
42 DUMA_CPP="${DUMA_CPP}" \
44 CT_DoLog EXTRA "Installing libraries '${libs}'"
45 CT_DoExecLog ALL install -m 644 ${libs} "${CT_SYSROOT_DIR}/usr/lib"
46 if [ "${CT_DUMA_SO}" = "y" ]; then
47 CT_DoLog EXTRA "Installing shared library link"
48 ln -vsf ${duma_so} "${CT_SYSROOT_DIR}/usr/lib/libduma.so" 2>&1 |CT_DoLog ALL
49 CT_DoLog EXTRA "Installing wrapper script"
50 mkdir -p "${CT_DEBUGROOT_DIR}/usr/bin"
51 # Install a simpler, smaller, safer wrapper than the one provided by D.U.M.A.
52 sed -r -e 's:^LIBDUMA_SO=.*:LIBDUMA_SO=/usr/lib/'"${duma_so}"':;' \
53 "${CT_LIB_DIR}/scripts/build/debug/duma.in" \
54 >"${CT_DEBUGROOT_DIR}/usr/bin/duma"
55 chmod 755 "${CT_DEBUGROOT_DIR}/usr/bin/duma"