mirror of
				https://github.com/teddysun/across.git
				synced 2025-10-30 08:15:34 +08:00 
			
		
		
		
	
		
			
				
	
	
		
			75 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
			
		
		
	
	
			75 lines
		
	
	
		
			2.5 KiB
		
	
	
	
		
			Bash
		
	
	
	
	
	
| #!/usr/bin/env bash
 | |
| set -x
 | |
| set -e
 | |
| 
 | |
| # untar sources
 | |
| mkdir -p /root/build-deb/xray-plugin
 | |
| tar -C /root/build-deb -xzf /sources/xray-plugin.tgz
 | |
| 
 | |
| # link them to their canonical path
 | |
| mkdir -p /go/src/github.com/teddysun
 | |
| ln -snf /root/build-deb/xray-plugin /go/src/github.com/teddysun/xray-plugin
 | |
| 
 | |
| EPOCH="${EPOCH:-}"
 | |
| EPOCH_SEP=""
 | |
| if [[ -n "$EPOCH" ]]; then
 | |
| 	EPOCH_SEP=":"
 | |
| fi
 | |
| 
 | |
| if [[ -z "${DEB_VERSION}" ]]; then
 | |
| 	echo "DEB_VERSION is required to build deb packages"
 | |
| 	exit 1
 | |
| fi
 | |
| 
 | |
| echo VERSION AAA ${VERSION}
 | |
| 
 | |
| VERSION=${VERSION:-$(cat VERSION)}
 | |
| 
 | |
| debSource="$(awk -F ': ' '$1 == "Source" { print $2; exit }' debian/control)"
 | |
| debMaintainer="$(awk -F ': ' '$1 == "Maintainer" { print $2; exit }' debian/control)"
 | |
| debDate="$(date --rfc-2822)"
 | |
| 
 | |
| # Include an extra `1` in the version, in case we ever would have to re-build an
 | |
| # already published release with a packaging-only change.
 | |
| pkgRevision=1
 | |
| 
 | |
| # Generate changelog. The version/name of the generated packages are based on this.
 | |
| #
 | |
| # Resulting packages are formatted as;
 | |
| #
 | |
| # - name of the package (e.g., "docker-ce")
 | |
| # - version (e.g., "23.0.0~beta.0")
 | |
| # - pkgRevision (usually "-0", see above), which allows updating packages with
 | |
| #   packaging-only changes (without a corresponding release of the software
 | |
| #   that's packaged).
 | |
| # - distro (e.g., "ubuntu")
 | |
| # - VERSION_ID (e.g. "22.04" or "11") this must be "sortable" to make sure that
 | |
| #   packages are upgraded when upgrading to a newer distro version ("codename"
 | |
| #   cannot be used for this, as they're not sorted)
 | |
| # - SUITE ("codename"), e.g. "jammy" or "bullseye". This is mostly for convenience,
 | |
| #   because some places refer to distro versions by codename, others by version.
 | |
| #   we prefix the codename with a tilde (~), which effectively excludes it from
 | |
| #   version comparison.
 | |
| #
 | |
| # Note that while the `${EPOCH}${EPOCH_SEP}` is part of the version, it is not
 | |
| # included in the package's *filename*. (And if you're wondering: we needed the
 | |
| # EPOCH because of our use of CalVer, which made version comparing not work in
 | |
| # some cases).
 | |
| #
 | |
| # Examples:
 | |
| #
 | |
| # docker-ce_23.0.0~beta.0-1~debian.11~bullseye_amd64.deb
 | |
| # docker-ce_23.0.0~beta.0-1~ubuntu.22.04~jammy_amd64.deb
 | |
| cat > "debian/changelog" <<-EOF
 | |
| $debSource (${EPOCH}${EPOCH_SEP}${DEB_VERSION}-${pkgRevision}~${DISTRO}.${VERSION_ID}~${SUITE}) $SUITE; urgency=low
 | |
|   * Version: ${VERSION}
 | |
|  -- $debMaintainer  $debDate
 | |
| EOF
 | |
| # The space above at the start of the line for the debMaintainer is very important
 | |
| 
 | |
| echo VERSION BBB ${VERSION}
 | |
| dpkg-buildpackage -uc -us -I.git
 | |
| destination="/build"
 | |
| mkdir -p "$destination"
 | |
| mv -v /root/xray-plugin* "$destination"
 |