ne modifie plus le LD_LIBRARY_PATH pour le lancement de qtcreator

dangereux car qtcreator se sert de l'environnent modifié comme environnement de build
This commit is contained in:
Thomas Briffard 2021-06-30 21:16:27 +02:00
parent 9fad802282
commit 0693853b92
3 changed files with 30 additions and 11 deletions

View File

@ -2,7 +2,8 @@ FROM cos7_base_qt
ARG QTCREATOR_VER=v4.15.1
RUN git clone --recursive https://code.qt.io/qt-creator/qt-creator.git && \
RUN yum install -y patchelf && \
git clone --recursive https://code.qt.io/qt-creator/qt-creator.git && \
cd qt-creator && \
git checkout $QTCREATOR_VER && \
mkdir qtcreator_build && cd qtcreator_build && \

View File

@ -2,5 +2,32 @@
cp -r --preserve=links /qt-creator/qtcreator_build/lib/qtcreator $WORK_DIR/AppDir/usr/lib/
cp -r --preserve=links /qt-creator/qtcreator_build/share/qtcreator $WORK_DIR/AppDir/usr/share/
QTCREATOR_PLUGINS_LIB=$WORK_DIR/AppDir/usr/lib/qtcreator/plugins
liste_libs=()
while IFS= read -r -d $'\0'; do
liste_libs+=("$REPLY")
done < <(find $QTCREATOR_PLUGINS_LIB -type f -name *so* -print0)
cd $QTCREATOR_PLUGINS_LIB
for i in "${liste_libs[@]}"; do
echo $(basename $i)
patchelf --set-rpath '$ORIGIN/../../:$ORIGIN/../' $(basename $i)
done
cd -
liste_libs=()
QTCREATOR_LIB=$WORK_DIR/AppDir/usr/lib/qtcreator/
while IFS= read -r -d $'\0'; do
liste_libs+=("$REPLY")
done < <(find $QTCREATOR_LIB -maxdepth 1 -type f -name *so* -print0)
cd $QTCREATOR_LIB
for i in "${liste_libs[@]}"; do
echo $(basename $i)
patchelf --set-rpath ':$ORIGIN/../' $(basename $i)
done
cd -
wget https://thomasbriffard.com/public/mon_style_qtcreator.xml -O $WORK_DIR/AppDir/usr/share/qtcreator/styles/onedark_like.xml

View File

@ -1,18 +1,9 @@
#!/bin/bash
cat << EOF > $WORK_DIR/AppRun
#!/bin/bash
APPDIR=\$(dirname -- "\$0")
export LD_LIBRARY_PATH=\$APPDIR/usr/lib/:\$LD_LIBRARY_PATH
exec \$APPDIR/usr/bin/$APP_NOM "\$@"
EOF
fichierIcon=/build/QtProject-qtcreator.svg
fichierDesktop=/build/qtcreator.desktop
QT_LIB=/qt/$QT_VER/gcc_64/lib/
AUTRES_LIB="-l $QT_LIB/libQt5Help.so.5 -l $QT_LIB/libQt5QuickWidgets.so.5 -l $QT_LIB/libQt5DesignerComponents.so.5"
AUTRES_OPTIONS="-i $fichierIcon -d $fichierDesktop $AUTRES_LIB --custom-apprun $WORK_DIR/AppRun --plugin qt"
AUTRES_OPTIONS="-i $fichierIcon -d $fichierDesktop $AUTRES_LIB --plugin qt"