mirror of
				https://github.com/Xahau/xahaud.git
				synced 2025-11-04 02:35:48 +00:00 
			
		
		
		
	
		
			
				
	
	
		
			96 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			96 lines
		
	
	
		
			4.2 KiB
		
	
	
	
		
			Bash
		
	
	
		
			Executable File
		
	
	
	
	
#!/usr/bin/env bash
 | 
						|
set -ex
 | 
						|
 | 
						|
# make sure pkg source files are up to date with repo
 | 
						|
cd /opt/rippled_bld/pkg
 | 
						|
cp -fpru rippled/Builds/containers/packaging/dpkg/debian/. debian/
 | 
						|
cp -fpu rippled/Builds/containers/shared/rippled*.service debian/
 | 
						|
cp -fpu rippled/Builds/containers/shared/update_sources.sh .
 | 
						|
source update_sources.sh
 | 
						|
 | 
						|
# Build the dpkg
 | 
						|
 | 
						|
#dpkg uses - as separator, so we need to change our -bN versions to tilde
 | 
						|
RIPPLED_DPKG_VERSION=$(echo "${RIPPLED_VERSION}" | sed 's!-!~!g')
 | 
						|
# TODO - decide how to handle the trailing/release
 | 
						|
# version here (hardcoded to 1). Does it ever need to change?
 | 
						|
RIPPLED_DPKG_FULL_VERSION="${RIPPLED_DPKG_VERSION}-1"
 | 
						|
git config --global --add safe.directory /opt/rippled_bld/pkg/rippled
 | 
						|
cd /opt/rippled_bld/pkg/rippled
 | 
						|
if [[ -n $(git status --porcelain) ]]; then
 | 
						|
    git status
 | 
						|
    error "Unstaged changes in this repo - please commit first"
 | 
						|
fi
 | 
						|
git archive --format tar.gz --prefix rippled-${RIPPLED_DPKG_VERSION}/ -o ../rippled-${RIPPLED_DPKG_VERSION}.tar.gz HEAD
 | 
						|
cd ..
 | 
						|
# dpkg debmake would normally create this link, but we do it manually
 | 
						|
ln -s ./rippled-${RIPPLED_DPKG_VERSION}.tar.gz rippled_${RIPPLED_DPKG_VERSION}.orig.tar.gz
 | 
						|
tar xvf rippled-${RIPPLED_DPKG_VERSION}.tar.gz
 | 
						|
cd rippled-${RIPPLED_DPKG_VERSION}
 | 
						|
cp -pr ../debian .
 | 
						|
 | 
						|
# dpkg requires a changelog. We don't currently maintain
 | 
						|
# a useable one, so let's just fake it with our current version
 | 
						|
# TODO : not sure if the "unstable" will need to change for
 | 
						|
# release packages (?)
 | 
						|
NOWSTR=$(TZ=UTC date -R)
 | 
						|
cat << CHANGELOG > ./debian/changelog
 | 
						|
rippled (${RIPPLED_DPKG_FULL_VERSION}) unstable; urgency=low
 | 
						|
 | 
						|
  * see RELEASENOTES
 | 
						|
 | 
						|
 -- Ripple Labs Inc. <support@ripple.com>  ${NOWSTR}
 | 
						|
CHANGELOG
 | 
						|
 | 
						|
# PATH must be preserved for our more modern cmake in /opt/local
 | 
						|
# TODO : consider allowing lintian to run in future ?
 | 
						|
export DH_BUILD_DDEBS=1
 | 
						|
debuild --no-lintian --preserve-envvar PATH --preserve-env -us -uc
 | 
						|
rc=$?; if [[ $rc != 0 ]]; then
 | 
						|
    error "error building dpkg"
 | 
						|
fi
 | 
						|
cd ..
 | 
						|
 | 
						|
# copy artifacts
 | 
						|
cp rippled-reporting_${RIPPLED_DPKG_FULL_VERSION}_amd64.deb ${PKG_OUTDIR}
 | 
						|
cp rippled_${RIPPLED_DPKG_FULL_VERSION}_amd64.deb ${PKG_OUTDIR}
 | 
						|
cp rippled_${RIPPLED_DPKG_FULL_VERSION}.dsc ${PKG_OUTDIR}
 | 
						|
# dbgsym suffix is ddeb under newer debuild, but just deb under earlier
 | 
						|
cp rippled-dbgsym_${RIPPLED_DPKG_FULL_VERSION}_amd64.* ${PKG_OUTDIR}
 | 
						|
cp rippled-reporting-dbgsym_${RIPPLED_DPKG_FULL_VERSION}_amd64.* ${PKG_OUTDIR}
 | 
						|
cp rippled_${RIPPLED_DPKG_FULL_VERSION}_amd64.changes ${PKG_OUTDIR}
 | 
						|
cp rippled_${RIPPLED_DPKG_FULL_VERSION}_amd64.build ${PKG_OUTDIR}
 | 
						|
cp rippled_${RIPPLED_DPKG_VERSION}.orig.tar.gz ${PKG_OUTDIR}
 | 
						|
cp rippled_${RIPPLED_DPKG_FULL_VERSION}.debian.tar.xz ${PKG_OUTDIR}
 | 
						|
# buildinfo is only generated by later version of debuild
 | 
						|
if [ -e rippled_${RIPPLED_DPKG_FULL_VERSION}_amd64.buildinfo ] ; then
 | 
						|
    cp rippled_${RIPPLED_DPKG_FULL_VERSION}_amd64.buildinfo ${PKG_OUTDIR}
 | 
						|
fi
 | 
						|
 | 
						|
cat rippled_${RIPPLED_DPKG_FULL_VERSION}_amd64.changes
 | 
						|
# extract the text in the .changes file that appears between
 | 
						|
#    Checksums-Sha256:  ...
 | 
						|
# and
 | 
						|
#    Files: ...
 | 
						|
awk '/Checksums-Sha256:/{hit=1;next}/Files:/{hit=0}hit' \
 | 
						|
    rippled_${RIPPLED_DPKG_VERSION}-1_amd64.changes | \
 | 
						|
        sed -E 's!^[[:space:]]+!!' > shasums
 | 
						|
DEB_SHA256=$(cat shasums | \
 | 
						|
    grep "rippled_${RIPPLED_DPKG_VERSION}-1_amd64.deb" | cut -d " " -f 1)
 | 
						|
DBG_SHA256=$(cat shasums | \
 | 
						|
    grep "rippled-dbgsym_${RIPPLED_DPKG_VERSION}-1_amd64.*" | cut -d " " -f 1)
 | 
						|
REPORTING_DBG_SHA256=$(cat shasums | \
 | 
						|
    grep "rippled-reporting-dbgsym_${RIPPLED_DPKG_VERSION}-1_amd64.*" | cut -d " " -f 1)
 | 
						|
REPORTING_SHA256=$(cat shasums | \
 | 
						|
    grep "rippled-reporting_${RIPPLED_DPKG_VERSION}-1_amd64.deb" | cut -d " " -f 1)
 | 
						|
SRC_SHA256=$(cat shasums | \
 | 
						|
    grep "rippled_${RIPPLED_DPKG_VERSION}.orig.tar.gz" | cut -d " " -f 1)
 | 
						|
echo "deb_sha256=${DEB_SHA256}" >> ${PKG_OUTDIR}/build_vars
 | 
						|
echo "dbg_sha256=${DBG_SHA256}" >> ${PKG_OUTDIR}/build_vars
 | 
						|
echo "reporting_sha256=${REPORTING_SHA256}" >> ${PKG_OUTDIR}/build_vars
 | 
						|
echo "reporting_dbg_sha256=${REPORTING_DBG_SHA256}" >> ${PKG_OUTDIR}/build_vars
 | 
						|
echo "src_sha256=${SRC_SHA256}" >> ${PKG_OUTDIR}/build_vars
 | 
						|
echo "rippled_version=${RIPPLED_VERSION}" >> ${PKG_OUTDIR}/build_vars
 | 
						|
echo "dpkg_version=${RIPPLED_DPKG_VERSION}" >> ${PKG_OUTDIR}/build_vars
 | 
						|
echo "dpkg_full_version=${RIPPLED_DPKG_FULL_VERSION}" >> ${PKG_OUTDIR}/build_vars
 |