Skip to content
Snippets Groups Projects
Commit f3648324 authored by akiraohgaki's avatar akiraohgaki
Browse files

Update package build script

parent 5f34daaa
No related branches found
No related tags found
No related merge requests found
#!/bin/sh #!/bin/bash
TMPDIR=/tmp PKGNAME='xdgurl'
PKGDIR=`cd $(dirname $0) && pwd`
BUILDDIR=$PKGDIR/build PROJDIR="$(cd "$(dirname "${0}")/../" && pwd)"
PROJDIR=`dirname $PKGDIR`
PROJNAME=`basename $PROJDIR` BUILDDIR="${PROJDIR}/pkg/build"
PARENTDIR=`dirname $PROJDIR`
BUILDTYPE=''
if [ "${1}" ]; then
BUILDTYPE="${1}"
fi
TREEISH='HEAD'
if [ "${2}" ]; then
TREEISH="${2}"
fi
export_source() {
destdir="${BUILDDIR}"
if [ "${1}" ]; then
destdir="${1}"
fi
$(cd "${PROJDIR}" && git archive --prefix="${PKGNAME}/" --output="${destdir}/${PKGNAME}.tar.gz" "${TREEISH}")
}
build_ubuntu() { build_ubuntu() {
#sudo apt install build-essential qt5-default libqt5svg5-dev qtdeclarative5-dev devscripts debhelper fakeroot #sudo apt install build-essential qt5-default libqt5svg5-dev qtdeclarative5-dev devscripts debhelper fakeroot
cd $PARENTDIR cd "${PROJDIR}"
tar -czvf $TMPDIR/$PROJNAME.tar.gz --exclude ".git" $PROJNAME
mkdir $BUILDDIR mkdir -p "${BUILDDIR}"
export_source "${BUILDDIR}"
tar -xzvf "${BUILDDIR}/${PKGNAME}.tar.gz" -C "${BUILDDIR}"
cp -r "${PROJDIR}/pkg/ubuntu/debian" "${BUILDDIR}/${PKGNAME}"
mv $TMPDIR/$PROJNAME.tar.gz $BUILDDIR cd "${BUILDDIR}/${PKGNAME}"
tar -xzvf $BUILDDIR/$PROJNAME.tar.gz -C $BUILDDIR
cp -r $PKGDIR/ubuntu/debian $BUILDDIR/$PROJNAME
cd $BUILDDIR/$PROJNAME
debuild -uc -us -b debuild -uc -us -b
} }
build_fedora() { build_fedora() {
#sudo dnf install make automake gcc gcc-c++ libtool qt5-qtbase-devel qt5-qtsvg-devel qt5-qtdeclarative-devel rpm-build #sudo dnf install make automake gcc gcc-c++ libtool qt5-qtbase-devel qt5-qtsvg-devel qt5-qtdeclarative-devel rpm-build
cd $PARENTDIR cd "${PROJDIR}"
tar -czvf $TMPDIR/$PROJNAME.tar.gz --exclude ".git" $PROJNAME
mkdir $BUILDDIR
mkdir $BUILDDIR/SOURCES
mkdir $BUILDDIR/SPECS
mv $TMPDIR/$PROJNAME.tar.gz $BUILDDIR/SOURCES mkdir -p "${BUILDDIR}"
cp $PKGDIR/fedora/xdgurl.spec $BUILDDIR/SPECS mkdir "${BUILDDIR}/SOURCES"
mkdir "${BUILDDIR}/SPECS"
export_source "${BUILDDIR}/SOURCES"
cp "${PROJDIR}/pkg/fedora/xdgurl.spec" "${BUILDDIR}/SPECS"
rpmbuild --define "_topdir $BUILDDIR" -bb $BUILDDIR/SPECS/xdgurl.spec rpmbuild --define "_topdir ${BUILDDIR}" -bb "${BUILDDIR}/SPECS/xdgurl.spec"
} }
build_arch() { build_arch() {
#sudo pacman -S base-devel qt5-base qt5-svg qt5-declarative qt5-quickcontrols #sudo pacman -S base-devel qt5-base qt5-svg qt5-declarative qt5-quickcontrols
cd $PARENTDIR cd "${PROJDIR}"
tar -czvf $TMPDIR/$PROJNAME.tar.gz --exclude ".git" $PROJNAME
mkdir $BUILDDIR mkdir -p "${BUILDDIR}"
export_source "${BUILDDIR}"
cp "${PROJDIR}/pkg/arch/PKGBUILD" "${BUILDDIR}"
mv $TMPDIR/$PROJNAME.tar.gz $BUILDDIR cd "${BUILDDIR}"
cp $PKGDIR/arch/PKGBUILD $BUILDDIR
cd $BUILDDIR
updpkgsums updpkgsums
makepkg -s makepkg -s
} }
...@@ -58,57 +69,52 @@ build_arch() { ...@@ -58,57 +69,52 @@ build_arch() {
build_appimage() { build_appimage() {
#sudo add-apt-repository ppa:beineri/opt-qt57-xenial #sudo add-apt-repository ppa:beineri/opt-qt57-xenial
#sudo apt update #sudo apt update
#sudo apt install build-essential fuse desktop-file-utils
#sudo apt install build-essential fuse zsync desktop-file-utils
#sudo apt install qt57base qt57svg qt57quickcontrols qt57quickcontrols2 #sudo apt install qt57base qt57svg qt57quickcontrols qt57quickcontrols2
#curl https://transfer.sh/DHN4B/linuxdeployqt-799f704-x86-64.appimage -o linuxdeployqt.appimage # Replace linuxdeployqt download URL to official download URL when the stable version released
#sudo install -m 755 -p linuxdeployqt.appimage /usr/local/bin/linuxdeployqt.appimage #curl -L -o linuxdeployqt https://dl.dropboxusercontent.com/u/150776/temp/linuxdeployqt-799f704-x86-64.appimage
#sudo install -m 755 -p linuxdeployqt /usr/local/bin/linuxdeployqt
#sudo modprobe fuse #sudo modprobe fuse
#source /opt/qt57/bin/qt57-env.sh #source /opt/qt57/bin/qt57-env.sh
cd $PROJDIR cd "${PROJDIR}"
export VERSION=$(git describe --always)
cd $PARENTDIR
tar -czvf $TMPDIR/$PROJNAME.tar.gz --exclude ".git" $PROJNAME
mkdir $BUILDDIR
mv $TMPDIR/$PROJNAME.tar.gz $BUILDDIR export VERSION="$(git describe --always)"
tar -xzvf $BUILDDIR/$PROJNAME.tar.gz -C $BUILDDIR mkdir -p "${BUILDDIR}"
export_source "${BUILDDIR}"
tar -xzvf "${BUILDDIR}/${PKGNAME}.tar.gz" -C "${BUILDDIR}"
cd $BUILDDIR/$PROJNAME cd "${BUILDDIR}/${PKGNAME}"
/opt/qt57/bin/qmake /opt/qt57/bin/qmake
make make
strip xdgurl strip ./xdgurl
cd $BUILDDIR cd "${BUILDDIR}"
mkdir -p "${BUILDDIR}/${PKGNAME}.AppDir/usr/bin"
mkdir -p $BUILDDIR/xdgurl.AppDir/usr/bin install -m 755 -p "${BUILDDIR}/${PKGNAME}/xdgurl" "${BUILDDIR}/${PKGNAME}.AppDir/xdgurl"
install -m 755 -p $BUILDDIR/$PROJNAME/xdgurl $BUILDDIR/xdgurl.AppDir/xdgurl install -m 644 -p "${BUILDDIR}/${PKGNAME}/src/desktop/xdgurl.desktop" "${BUILDDIR}/${PKGNAME}.AppDir/xdgurl.desktop"
install -m 644 -p $BUILDDIR/$PROJNAME/src/desktop/xdgurl.desktop $BUILDDIR/xdgurl.AppDir/xdgurl.desktop install -m 644 -p "${BUILDDIR}/${PKGNAME}/src/desktop/xdgurl.svg" "${BUILDDIR}/${PKGNAME}.AppDir/xdgurl.svg"
install -m 644 -p $BUILDDIR/$PROJNAME/src/desktop/xdgurl.svg $BUILDDIR/xdgurl.AppDir/xdgurl.svg install -m 755 -p /usr/bin/update-desktop-database "${BUILDDIR}/${PKGNAME}.AppDir/usr/bin/update-desktop-database"
install -m 755 -p /usr/bin/update-desktop-database $BUILDDIR/xdgurl.AppDir/usr/bin/update-desktop-database install -m 755 -p /usr/bin/desktop-file-validate "${BUILDDIR}/${PKGNAME}.AppDir/usr/bin/desktop-file-validate"
install -m 755 -p /usr/bin/desktop-file-validate $BUILDDIR/xdgurl.AppDir/usr/bin/desktop-file-validate install -m 755 -p /usr/bin/desktop-file-install "${BUILDDIR}/${PKGNAME}.AppDir/usr/bin/desktop-file-install"
install -m 755 -p /usr/bin/desktop-file-install $BUILDDIR/xdgurl.AppDir/usr/bin/desktop-file-install linuxdeployqt "${BUILDDIR}/${PKGNAME}.AppDir/xdgurl" -qmldir="${BUILDDIR}/${PKGNAME}/src/app/qml" -verbose=2 -bundle-non-qt-libs # https://github.com/probonopd/linuxdeployqt/issues/25
linuxdeployqt "${BUILDDIR}/${PKGNAME}.AppDir/xdgurl" -qmldir="${BUILDDIR}/${PKGNAME}/src/app/qml" -verbose=2 -bundle-non-qt-libs # twice because of #25
linuxdeployqt.appimage $BUILDDIR/xdgurl.AppDir/xdgurl -qmldir=$BUILDDIR/$PROJNAME/src/app/qml -verbose=2 -bundle-non-qt-libs # https://github.com/probonopd/linuxdeployqt/issues/25 rm "${BUILDDIR}/${PKGNAME}.AppDir/AppRun"
linuxdeployqt.appimage $BUILDDIR/xdgurl.AppDir/xdgurl -qmldir=$BUILDDIR/$PROJNAME/src/app/qml -verbose=2 -bundle-non-qt-libs # twice because of #25 install -m 755 -p "${BUILDDIR}/${PKGNAME}/src/desktop/appimage-desktopintegration" "${BUILDDIR}/${PKGNAME}.AppDir/AppRun"
linuxdeployqt --appimage-extract
rm $BUILDDIR/xdgurl.AppDir/AppRun ./squashfs-root/usr/bin/appimagetool "${BUILDDIR}/${PKGNAME}.AppDir"
install -m 755 -p $BUILDDIR/$PROJNAME/src/desktop/appimage-desktopintegration $BUILDDIR/xdgurl.AppDir/AppRun
linuxdeployqt.appimage --appimage-extract
./squashfs-root/usr/bin/appimagetool $BUILDDIR/xdgurl.AppDir
} }
if [ $1 ] && [ $1 = 'ubuntu' ]; then if [ "${BUILDTYPE}" = 'ubuntu' ]; then
build_ubuntu build_ubuntu
elif [ $1 ] && [ $1 = 'fedora' ]; then elif [ "${BUILDTYPE}" = 'fedora' ]; then
build_fedora build_fedora
elif [ $1 ] && [ $1 = 'arch' ]; then elif [ "${BUILDTYPE}" = 'arch' ]; then
build_arch build_arch
elif [ $1 ] && [ $1 = 'appimage' ]; then elif [ "${BUILDTYPE}" = 'appimage' ]; then
build_appimage build_appimage
else else
echo 'sh build.sh [ubuntu|fedora|arch|appimage]' echo "sh $(basename "${0}") [ubuntu|fedora|arch|appimage] [tree_ish]"
fi fi
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment