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
PKGDIR=`cd $(dirname $0) && pwd`
BUILDDIR=$PKGDIR/build
PROJDIR=`dirname $PKGDIR`
PROJNAME=`basename $PROJDIR`
PARENTDIR=`dirname $PROJDIR`
PKGNAME='xdgurl'
PROJDIR="$(cd "$(dirname "${0}")/../" && pwd)"
BUILDDIR="${PROJDIR}/pkg/build"
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() {
#sudo apt install build-essential qt5-default libqt5svg5-dev qtdeclarative5-dev devscripts debhelper fakeroot
cd $PARENTDIR
tar -czvf $TMPDIR/$PROJNAME.tar.gz --exclude ".git" $PROJNAME
cd "${PROJDIR}"
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
tar -xzvf $BUILDDIR/$PROJNAME.tar.gz -C $BUILDDIR
cp -r $PKGDIR/ubuntu/debian $BUILDDIR/$PROJNAME
cd $BUILDDIR/$PROJNAME
cd "${BUILDDIR}/${PKGNAME}"
debuild -uc -us -b
}
build_fedora() {
#sudo dnf install make automake gcc gcc-c++ libtool qt5-qtbase-devel qt5-qtsvg-devel qt5-qtdeclarative-devel rpm-build
cd $PARENTDIR
tar -czvf $TMPDIR/$PROJNAME.tar.gz --exclude ".git" $PROJNAME
mkdir $BUILDDIR
mkdir $BUILDDIR/SOURCES
mkdir $BUILDDIR/SPECS
cd "${PROJDIR}"
mv $TMPDIR/$PROJNAME.tar.gz $BUILDDIR/SOURCES
cp $PKGDIR/fedora/xdgurl.spec $BUILDDIR/SPECS
mkdir -p "${BUILDDIR}"
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() {
#sudo pacman -S base-devel qt5-base qt5-svg qt5-declarative qt5-quickcontrols
cd $PARENTDIR
tar -czvf $TMPDIR/$PROJNAME.tar.gz --exclude ".git" $PROJNAME
cd "${PROJDIR}"
mkdir $BUILDDIR
mkdir -p "${BUILDDIR}"
export_source "${BUILDDIR}"
cp "${PROJDIR}/pkg/arch/PKGBUILD" "${BUILDDIR}"
mv $TMPDIR/$PROJNAME.tar.gz $BUILDDIR
cp $PKGDIR/arch/PKGBUILD $BUILDDIR
cd $BUILDDIR
cd "${BUILDDIR}"
updpkgsums
makepkg -s
}
......@@ -58,57 +69,52 @@ build_arch() {
build_appimage() {
#sudo add-apt-repository ppa:beineri/opt-qt57-xenial
#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
#curl https://transfer.sh/DHN4B/linuxdeployqt-799f704-x86-64.appimage -o linuxdeployqt.appimage
#sudo install -m 755 -p linuxdeployqt.appimage /usr/local/bin/linuxdeployqt.appimage
# Replace linuxdeployqt download URL to official download URL when the stable version released
#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
#source /opt/qt57/bin/qt57-env.sh
cd $PROJDIR
export VERSION=$(git describe --always)
cd $PARENTDIR
tar -czvf $TMPDIR/$PROJNAME.tar.gz --exclude ".git" $PROJNAME
mkdir $BUILDDIR
cd "${PROJDIR}"
mv $TMPDIR/$PROJNAME.tar.gz $BUILDDIR
tar -xzvf $BUILDDIR/$PROJNAME.tar.gz -C $BUILDDIR
export VERSION="$(git describe --always)"
mkdir -p "${BUILDDIR}"
export_source "${BUILDDIR}"
tar -xzvf "${BUILDDIR}/${PKGNAME}.tar.gz" -C "${BUILDDIR}"
cd $BUILDDIR/$PROJNAME
cd "${BUILDDIR}/${PKGNAME}"
/opt/qt57/bin/qmake
make
strip xdgurl
cd $BUILDDIR
mkdir -p $BUILDDIR/xdgurl.AppDir/usr/bin
install -m 755 -p $BUILDDIR/$PROJNAME/xdgurl $BUILDDIR/xdgurl.AppDir/xdgurl
install -m 644 -p $BUILDDIR/$PROJNAME/src/desktop/xdgurl.desktop $BUILDDIR/xdgurl.AppDir/xdgurl.desktop
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/xdgurl.AppDir/usr/bin/update-desktop-database
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/xdgurl.AppDir/usr/bin/desktop-file-install
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
linuxdeployqt.appimage $BUILDDIR/xdgurl.AppDir/xdgurl -qmldir=$BUILDDIR/$PROJNAME/src/app/qml -verbose=2 -bundle-non-qt-libs # twice because of #25
rm $BUILDDIR/xdgurl.AppDir/AppRun
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
strip ./xdgurl
cd "${BUILDDIR}"
mkdir -p "${BUILDDIR}/${PKGNAME}.AppDir/usr/bin"
install -m 755 -p "${BUILDDIR}/${PKGNAME}/xdgurl" "${BUILDDIR}/${PKGNAME}.AppDir/xdgurl"
install -m 644 -p "${BUILDDIR}/${PKGNAME}/src/desktop/xdgurl.desktop" "${BUILDDIR}/${PKGNAME}.AppDir/xdgurl.desktop"
install -m 644 -p "${BUILDDIR}/${PKGNAME}/src/desktop/xdgurl.svg" "${BUILDDIR}/${PKGNAME}.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/desktop-file-validate "${BUILDDIR}/${PKGNAME}.AppDir/usr/bin/desktop-file-validate"
install -m 755 -p /usr/bin/desktop-file-install "${BUILDDIR}/${PKGNAME}.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
rm "${BUILDDIR}/${PKGNAME}.AppDir/AppRun"
install -m 755 -p "${BUILDDIR}/${PKGNAME}/src/desktop/appimage-desktopintegration" "${BUILDDIR}/${PKGNAME}.AppDir/AppRun"
linuxdeployqt --appimage-extract
./squashfs-root/usr/bin/appimagetool "${BUILDDIR}/${PKGNAME}.AppDir"
}
if [ $1 ] && [ $1 = 'ubuntu' ]; then
if [ "${BUILDTYPE}" = 'ubuntu' ]; then
build_ubuntu
elif [ $1 ] && [ $1 = 'fedora' ]; then
elif [ "${BUILDTYPE}" = 'fedora' ]; then
build_fedora
elif [ $1 ] && [ $1 = 'arch' ]; then
elif [ "${BUILDTYPE}" = 'arch' ]; then
build_arch
elif [ $1 ] && [ $1 = 'appimage' ]; then
elif [ "${BUILDTYPE}" = 'appimage' ]; then
build_appimage
else
echo 'sh build.sh [ubuntu|fedora|arch|appimage]'
echo "sh $(basename "${0}") [ubuntu|fedora|arch|appimage] [tree_ish]"
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