mirror of
https://github.com/nextcloud/desktop.git
synced 2024-11-24 05:55:59 +03:00
89 lines
2.3 KiB
Bash
Executable file
89 lines
2.3 KiB
Bash
Executable file
#!/bin/bash
|
|
|
|
set -e -u
|
|
|
|
scriptdir=`dirname $0`
|
|
scriptdir=`cd "${scriptdir}" && pwd`
|
|
|
|
. "${scriptdir}/config.sh"
|
|
|
|
package="nextcloud-client"
|
|
tag="${1}"
|
|
version="${2}"
|
|
distribution="${3}"
|
|
|
|
gitdir="${GITROOTS}/client"
|
|
packagedir="${BUILDAREA}/${package}_${version}"
|
|
origtarname="${package}_${version}.orig.tar.bz2"
|
|
origtar="${BUILDAREA}/${origtarname}"
|
|
|
|
archive_submodules()
|
|
{
|
|
local subdir="${1}"
|
|
local treeish="${2}"
|
|
|
|
local dir="${gitdir}"
|
|
local destdir="${packagedir}"
|
|
if test "${subdir}"; then
|
|
echo " copying submodule ${subdir}"
|
|
dir="${dir}/${subdir}"
|
|
destdir="${destdir}/${subdir}"
|
|
fi
|
|
|
|
mkdir -p "${destdir}"
|
|
|
|
(cd "${dir}"; git archive "${treeish}" | tar xf - -C "${destdir}")
|
|
|
|
(cd "${dir}"; git ls-tree "${treeish}" -r) | while read mode type object file; do
|
|
if test "${type}" = "commit"; then
|
|
sdir="${file}"
|
|
if test "${subdir}"; then
|
|
sdir="${subdir}/${sdir}"
|
|
fi
|
|
archive_submodules "${sdir}" "${object}"
|
|
fi
|
|
done
|
|
}
|
|
|
|
rm -rf "${packagedir}"
|
|
mkdir -p "${packagedir}"
|
|
|
|
echo "Updating submodules"
|
|
commit=`cd "${gitdir}"; git rev-parse HEAD`
|
|
(cd "${gitdir}"; git checkout "${tag}"; git submodule update --recursive --init)
|
|
|
|
echo "Copying sources"
|
|
archive_submodules "" "${tag}"
|
|
|
|
if test -f "${GITROOTS}/${origtarname}"; then
|
|
echo "Copying orig archive from ${GITROOTS}"
|
|
cp -a "${GITROOTS}/${origtarname}" "${BUILDAREA}"
|
|
else
|
|
echo "Creating orig archive"
|
|
tar cjf "${origtar}" -C "${BUILDAREA}" "${package}_${version}"
|
|
fi
|
|
|
|
echo "Restoring Git state"
|
|
(cd "${gitdir}"; git checkout "${commit}")
|
|
cd "${scriptdir}"
|
|
|
|
echo "Copying Debian files"
|
|
mkdir -p "${packagedir}/debian"
|
|
tar cf - -C "${scriptdir}/../debian" . | tar xf - -C "${packagedir}/debian"
|
|
|
|
if test -d "${scriptdir}/../debian.${distribution}"; then
|
|
tar cf - -C "${scriptdir}/../debian.${distribution}" . | tar xf - -C "${packagedir}/debian"
|
|
fi
|
|
|
|
pushd "${packagedir}"
|
|
for p in debian/post-patches/*.patch; do
|
|
if test -f "${p}"; then
|
|
echo "Applying ${p}"
|
|
patch -p1 < "${p}"
|
|
fi
|
|
done
|
|
popd
|
|
|
|
"${scriptdir}/git2changelog.py" /tmp/git2changelog "${distribution}"
|
|
mv "${packagedir}/debian/changelog" "${packagedir}/debian/changelog.old"
|
|
cat /tmp/git2changelog "${packagedir}/debian/changelog.old" > "${packagedir}/debian/changelog"
|