gitian: create debug packages for linux/windows
The -debug tarballs/zips contain detached debugging symbols. To use them, place in the same dir as the target binary, and invoke gdb as usual. Also, because the debug symbols add a substantial space requirement, the build dirs are now deleted when they're no longer needed.
This commit is contained in:
parent
413a20e12b
commit
464b3cd367
@ -26,9 +26,12 @@ files: []
|
|||||||
script: |
|
script: |
|
||||||
WRAP_DIR=$HOME/wrapped
|
WRAP_DIR=$HOME/wrapped
|
||||||
HOSTS="i686-pc-linux-gnu x86_64-unknown-linux-gnu"
|
HOSTS="i686-pc-linux-gnu x86_64-unknown-linux-gnu"
|
||||||
CONFIGFLAGS="--enable-glibc-back-compat --enable-reduce-exports --disable-bench --disable-gui-tests LDFLAGS=-static-libstdc++"
|
CONFIGFLAGS="--enable-glibc-back-compat --enable-reduce-exports --disable-bench --disable-gui-tests"
|
||||||
FAKETIME_HOST_PROGS=""
|
FAKETIME_HOST_PROGS=""
|
||||||
FAKETIME_PROGS="date ar ranlib nm strip"
|
FAKETIME_PROGS="date ar ranlib nm strip objcopy"
|
||||||
|
HOST_CFLAGS="-O2 -g"
|
||||||
|
HOST_CXXFLAGS="-O2 -g"
|
||||||
|
HOST_LDFLAGS=-static-libstdc++
|
||||||
|
|
||||||
export QT_RCC_TEST=1
|
export QT_RCC_TEST=1
|
||||||
export GZIP="-9n"
|
export GZIP="-9n"
|
||||||
@ -95,20 +98,26 @@ script: |
|
|||||||
mkdir -p ${INSTALLPATH}
|
mkdir -p ${INSTALLPATH}
|
||||||
tar --strip-components=1 -xf ../$SOURCEDIST
|
tar --strip-components=1 -xf ../$SOURCEDIST
|
||||||
|
|
||||||
CONFIG_SITE=${BASEPREFIX}/${i}/share/config.site ./configure --prefix=/ --disable-ccache --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS}
|
CONFIG_SITE=${BASEPREFIX}/${i}/share/config.site ./configure --prefix=/ --disable-ccache --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS} CFLAGS="${HOST_CFLAGS}" CXXFLAGS="${HOST_CXXFLAGS}" LDFLAGS="${HOST_LDFLAGS}"
|
||||||
make ${MAKEOPTS}
|
make ${MAKEOPTS}
|
||||||
make ${MAKEOPTS} -C src check-security
|
make ${MAKEOPTS} -C src check-security
|
||||||
make ${MAKEOPTS} -C src check-symbols
|
make ${MAKEOPTS} -C src check-symbols
|
||||||
make install-strip DESTDIR=${INSTALLPATH}
|
make install DESTDIR=${INSTALLPATH}
|
||||||
cd installed
|
cd installed
|
||||||
find . -name "lib*.la" -delete
|
find . -name "lib*.la" -delete
|
||||||
find . -name "lib*.a" -delete
|
find . -name "lib*.a" -delete
|
||||||
rm -rf ${DISTNAME}/lib/pkgconfig
|
rm -rf ${DISTNAME}/lib/pkgconfig
|
||||||
find ${DISTNAME} | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-${i}.tar.gz
|
find ${DISTNAME}/bin -type f -executable -exec objcopy --only-keep-debug {} {}.dbg \; -exec strip -s {} \; -exec objcopy --add-gnu-debuglink={}.dbg {} \;
|
||||||
|
find ${DISTNAME}/lib -type f -exec objcopy --only-keep-debug {} {}.dbg \; -exec strip -s {} \; -exec objcopy --add-gnu-debuglink={}.dbg {} \;
|
||||||
|
find ${DISTNAME} -not -name "*.dbg" | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-${i}.tar.gz
|
||||||
|
find ${DISTNAME} -name "*.dbg" | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-${i}-debug.tar.gz
|
||||||
cd ../../
|
cd ../../
|
||||||
|
rm -rf distsrc-${i}
|
||||||
done
|
done
|
||||||
mkdir -p $OUTDIR/src
|
mkdir -p $OUTDIR/src
|
||||||
mv $SOURCEDIST $OUTDIR/src
|
mv $SOURCEDIST $OUTDIR/src
|
||||||
|
mv ${OUTDIR}/${DISTNAME}-x86_64-*-debug.tar.gz ${OUTDIR}/${DISTNAME}-linux64-debug.tar.gz
|
||||||
|
mv ${OUTDIR}/${DISTNAME}-i686-*-debug.tar.gz ${OUTDIR}/${DISTNAME}-linux32-debug.tar.gz
|
||||||
mv ${OUTDIR}/${DISTNAME}-x86_64-*.tar.gz ${OUTDIR}/${DISTNAME}-linux64.tar.gz
|
mv ${OUTDIR}/${DISTNAME}-x86_64-*.tar.gz ${OUTDIR}/${DISTNAME}-linux64.tar.gz
|
||||||
mv ${OUTDIR}/${DISTNAME}-i686-*.tar.gz ${OUTDIR}/${DISTNAME}-linux32.tar.gz
|
mv ${OUTDIR}/${DISTNAME}-i686-*.tar.gz ${OUTDIR}/${DISTNAME}-linux32.tar.gz
|
||||||
|
|
||||||
|
@ -30,8 +30,10 @@ script: |
|
|||||||
WRAP_DIR=$HOME/wrapped
|
WRAP_DIR=$HOME/wrapped
|
||||||
HOSTS="x86_64-w64-mingw32 i686-w64-mingw32"
|
HOSTS="x86_64-w64-mingw32 i686-w64-mingw32"
|
||||||
CONFIGFLAGS="--enable-reduce-exports --disable-gui-tests"
|
CONFIGFLAGS="--enable-reduce-exports --disable-gui-tests"
|
||||||
FAKETIME_HOST_PROGS="g++ ar ranlib nm windres strip"
|
FAKETIME_HOST_PROGS="g++ ar ranlib nm windres strip objcopy"
|
||||||
FAKETIME_PROGS="date makensis zip"
|
FAKETIME_PROGS="date makensis zip"
|
||||||
|
HOST_CFLAGS="-O2 -g"
|
||||||
|
HOST_CXXFLAGS="-O2 -g"
|
||||||
|
|
||||||
export QT_RCC_TEST=1
|
export QT_RCC_TEST=1
|
||||||
export GZIP="-9n"
|
export GZIP="-9n"
|
||||||
@ -125,22 +127,28 @@ script: |
|
|||||||
mkdir -p ${INSTALLPATH}
|
mkdir -p ${INSTALLPATH}
|
||||||
tar --strip-components=1 -xf ../$SOURCEDIST
|
tar --strip-components=1 -xf ../$SOURCEDIST
|
||||||
|
|
||||||
CONFIG_SITE=${BASEPREFIX}/${i}/share/config.site ./configure --prefix=/ --disable-ccache --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS}
|
CONFIG_SITE=${BASEPREFIX}/${i}/share/config.site ./configure --prefix=/ --disable-ccache --disable-maintainer-mode --disable-dependency-tracking ${CONFIGFLAGS} CFLAGS="${HOST_CFLAGS}" CXXFLAGS="${HOST_CXXFLAGS}"
|
||||||
make ${MAKEOPTS}
|
make ${MAKEOPTS}
|
||||||
make ${MAKEOPTS} -C src check-security
|
make ${MAKEOPTS} -C src check-security
|
||||||
make deploy
|
make deploy
|
||||||
make install-strip DESTDIR=${INSTALLPATH}
|
make install DESTDIR=${INSTALLPATH}
|
||||||
cp -f dash-*setup*.exe $OUTDIR/
|
cp -f dash-*setup*.exe $OUTDIR/
|
||||||
cd installed
|
cd installed
|
||||||
mv ${DISTNAME}/bin/*.dll ${DISTNAME}/lib/
|
mv ${DISTNAME}/bin/*.dll ${DISTNAME}/lib/
|
||||||
find . -name "lib*.la" -delete
|
find . -name "lib*.la" -delete
|
||||||
find . -name "lib*.a" -delete
|
find . -name "lib*.a" -delete
|
||||||
rm -rf ${DISTNAME}/lib/pkgconfig
|
rm -rf ${DISTNAME}/lib/pkgconfig
|
||||||
find ${DISTNAME} -type f | sort | zip -X@ ${OUTDIR}/${DISTNAME}-${i}.zip
|
find ${DISTNAME}/bin -type f -executable -exec ${i}-objcopy --only-keep-debug {} {}.dbg \; -exec ${i}-strip -s {} \; -exec ${i}-objcopy --add-gnu-debuglink={}.dbg {} \;
|
||||||
cd ../..
|
find ${DISTNAME}/lib -type f -exec ${i}-objcopy --only-keep-debug {} {}.dbg \; -exec ${i}-strip -s {} \; -exec ${i}-objcopy --add-gnu-debuglink={}.dbg {} \;
|
||||||
|
find ${DISTNAME} -not -name "*.dbg" -type f | sort | zip -X@ ${OUTDIR}/${DISTNAME}-${i}.zip
|
||||||
|
find ${DISTNAME} -name "*.dbg" -type f | sort | zip -X@ ${OUTDIR}/${DISTNAME}-${i}-debug.zip
|
||||||
|
cd ../../
|
||||||
|
rm -rf distsrc-${i}
|
||||||
done
|
done
|
||||||
cd $OUTDIR
|
cd $OUTDIR
|
||||||
rename 's/-setup\.exe$/-setup-unsigned.exe/' *-setup.exe
|
rename 's/-setup\.exe$/-setup-unsigned.exe/' *-setup.exe
|
||||||
find . -name "*-setup-unsigned.exe" | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-win-unsigned.tar.gz
|
find . -name "*-setup-unsigned.exe" | sort | tar --no-recursion --mode='u+rw,go+r-w,a+X' --owner=0 --group=0 -c -T - | gzip -9n > ${OUTDIR}/${DISTNAME}-win-unsigned.tar.gz
|
||||||
|
mv ${OUTDIR}/${DISTNAME}-x86_64-*-debug.zip ${OUTDIR}/${DISTNAME}-win64-debug.zip
|
||||||
|
mv ${OUTDIR}/${DISTNAME}-i686-*-debug.zip ${OUTDIR}/${DISTNAME}-win32-debug.zip
|
||||||
mv ${OUTDIR}/${DISTNAME}-x86_64-*.zip ${OUTDIR}/${DISTNAME}-win64.zip
|
mv ${OUTDIR}/${DISTNAME}-x86_64-*.zip ${OUTDIR}/${DISTNAME}-win64.zip
|
||||||
mv ${OUTDIR}/${DISTNAME}-i686-*.zip ${OUTDIR}/${DISTNAME}-win32.zip
|
mv ${OUTDIR}/${DISTNAME}-i686-*.zip ${OUTDIR}/${DISTNAME}-win32.zip
|
||||||
|
Loading…
Reference in New Issue
Block a user