modified build.sh and control file
This commit is contained in:
41
build.sh
41
build.sh
@@ -3,6 +3,13 @@ set -e # Exit on error
|
||||
|
||||
# Set Variables
|
||||
VERSION=$(curl -s https://dl.gitea.com/gitea/version.json | jq -r '.latest.version')
|
||||
echo "Current version: ${VERSION}"
|
||||
# Check if this version is already built
|
||||
if [[ -f "../gitea-deb/gitea_${VERSION}_amd64.deb" ]] && [[ -f "../gitea-deb/gitea_${VERSION}_arm64.deb" ]]; then
|
||||
echo "✅ Version ${VERSION} already built and present in release repo. Aborting."
|
||||
exit 0
|
||||
fi
|
||||
|
||||
ARCHS=("amd64" "arm64")
|
||||
GITEA_BASE_URL="https://dl.gitea.com/gitea/${VERSION}"
|
||||
FILES=("xz" "xz.asc" "xz.sha256" "xz.sha256.asc")
|
||||
@@ -10,6 +17,10 @@ FILES=("xz" "xz.asc" "xz.sha256" "xz.sha256.asc")
|
||||
# Download Gitea Binaries and Signatures
|
||||
for ARCH in "${ARCHS[@]}"; do
|
||||
echo "Downloading Gitea ${VERSION} for ${ARCH}..."
|
||||
if [[ ! -d "dist/${ARCH}" ]]; then
|
||||
echo "Creating directory dist/${ARCH}"
|
||||
mkdir "dist/${ARCH}"
|
||||
fi
|
||||
for FILE in "${FILES[@]}"; do
|
||||
FILE_NAME="gitea-${VERSION}-linux-${ARCH}.${FILE}"
|
||||
FILE_URL="${GITEA_BASE_URL}/${FILE_NAME}"
|
||||
@@ -37,8 +48,12 @@ for ARCH in "${ARCHS[@]}"; do
|
||||
(cd "dist/${ARCH}" && sha256sum -c gitea-${VERSION}-linux-${ARCH}.xz.sha256)
|
||||
done
|
||||
|
||||
# expand the Gitea binray to the target
|
||||
# expand the Gitea binary to the target
|
||||
for ARCH in "${ARCHS[@]}"; do
|
||||
if [[ ! -d "${ARCH}/opt/gitea/bin" ]]; then
|
||||
echo "Creating directory ${ARCH}/opt/gitea/bin"
|
||||
mkdir -p "${ARCH}/opt/gitea/bin"
|
||||
fi
|
||||
xz -dc "dist/${ARCH}/gitea-${VERSION}-linux-${ARCH}.xz" > "${ARCH}/opt/gitea/bin/gitea" || { echo "❌ Extraction failed for ${ARCH}"; exit 1; }
|
||||
|
||||
# Verify the extracted file isn't empty
|
||||
@@ -52,9 +67,33 @@ done
|
||||
# Build Debian Packages
|
||||
for ARCH in "${ARCHS[@]}"; do
|
||||
echo "Building package for ${ARCH}..."
|
||||
sed -i "s/^Version: .*/Version: ${VERSION}/" "${ARCH}/DEBIAN/control"
|
||||
dpkg-deb --build "${ARCH}" "gitea_${VERSION}_${ARCH}.deb"
|
||||
done
|
||||
|
||||
echo "All packages built successfully:"
|
||||
ls -lh gitea_${VERSION}_*.deb
|
||||
|
||||
echo "Moving .deb packages to release repo..."
|
||||
mv gitea_${VERSION}_*.deb ../gitea-deb/
|
||||
|
||||
cd ../gitea-deb
|
||||
|
||||
echo "Updating APT package index..."
|
||||
dpkg-scanpackages --multiversion . override > Packages
|
||||
dpkg-scanpackages --multiversion . override | gzip -9c > Packages.gz
|
||||
|
||||
echo "Generating Release file..."
|
||||
apt-ftparchive -c=apt-release.conf release . > Release
|
||||
|
||||
git add --all .
|
||||
if ! git diff --cached --quiet; then
|
||||
echo "Committing and pushing release..."
|
||||
git commit -m "Release Gitea ${VERSION}"
|
||||
git push
|
||||
else
|
||||
echo "No changes to commit."
|
||||
fi
|
||||
|
||||
cd ../gitea-deb-builder
|
||||
|
||||
|
||||
Reference in New Issue
Block a user