Introduce a scripts/ folder
This commit is contained in:
parent
0441f620d7
commit
658bba67c0
@ -12,7 +12,7 @@ if [ -e $BUILDORDER_FILE ]; then
|
||||
else
|
||||
rm -Rf $HOME/termux /data/data $HOME/termux/_buildall
|
||||
mkdir -p $HOME/termux/_buildall
|
||||
./buildorder.py > $BUILDORDER_FILE
|
||||
./scripts/buildorder.py > $BUILDORDER_FILE
|
||||
fi
|
||||
if [ -e $BUILDSTATUS_FILE ]; then
|
||||
echo "Continuing build-all from: $BUILDSTATUS_FILE"
|
||||
|
29
scripts/apt-compare-versions
Executable file
29
scripts/apt-compare-versions
Executable file
@ -0,0 +1,29 @@
|
||||
#!/usr/bin/env python3
|
||||
# apt-compare-versions: Simple script which takes two arguments and compares
|
||||
# their version according to apt rules. This can be used to verify the ordering
|
||||
# between two versions.
|
||||
#
|
||||
# Note that ~ (tilde) construct, which allows for beta and preview releases.
|
||||
# A version with ~ is considered earlier than one without, so 1.6~beta1 is
|
||||
# considered earlier than 1.6. If both versions contains ~ the version comparison
|
||||
# is made first on the part preceding the tilde, then the part coming after,
|
||||
# so 1.6~beta1 comes before 1.6~beta2.
|
||||
|
||||
import apt_pkg, sys
|
||||
apt_pkg.init_system()
|
||||
|
||||
if len(sys.argv) != 3:
|
||||
sys.exit('usage: apt-compare-versions <first-version> <second-version>')
|
||||
|
||||
version1 = sys.argv[1]
|
||||
version2 = sys.argv[2]
|
||||
|
||||
comparison_result = apt_pkg.version_compare(version1, version2)
|
||||
if comparison_result > 0:
|
||||
operator = ' > '
|
||||
elif comparison_result < 0:
|
||||
operator = ' < '
|
||||
elif comparison_result == 0:
|
||||
operator = ' == '
|
||||
|
||||
print(version1 + operator + version2)
|
81
scripts/bintray-upload-deb
Executable file
81
scripts/bintray-upload-deb
Executable file
@ -0,0 +1,81 @@
|
||||
#!/usr/bin/env python
|
||||
|
||||
import argparse, os, re, sys, requests
|
||||
|
||||
USERNAME = os.environ["BINTRAY_USERNAME"]
|
||||
API_KEY = os.environ["BINTRAY_API_KEY"]
|
||||
API_BASE = os.environ.get("BINTRAY_URL", "https://api.bintray.com/content")
|
||||
ORGANIZATION = os.environ.get("BINTRAY_ORGANIZATION")
|
||||
ALLOWED_ARCH = ["all", "arm", "i686", "aarch64", "x86_64"]
|
||||
|
||||
VERSION_RE = re.compile("^\d+(\.\d+)+([^\-]+)?\-([\da-z]+)$")
|
||||
VERIFY_FORMAT = """
|
||||
Does this look correct?
|
||||
- Name: {a.name}
|
||||
- Version: {a.version}
|
||||
- Architecture: {a.architecture}
|
||||
- Distribution: {a.distribution}
|
||||
- Component: {a.component}
|
||||
- BinTray Repo: {a.org}/{a.repo}
|
||||
|
||||
(Please enter y/n): """
|
||||
|
||||
|
||||
def main():
|
||||
parser = argparse.ArgumentParser(description="Upload BinTray package.")
|
||||
parser.add_argument("package")
|
||||
parser.add_argument("--name", "-n")
|
||||
parser.add_argument("--no-confirm", action='store_true', default=False)
|
||||
parser.add_argument("--repo", "-r", default="main")
|
||||
parser.add_argument("--org", "-o", default=ORGANIZATION)
|
||||
parser.add_argument("--component", "-c", default="main")
|
||||
parser.add_argument("--distribution", "-d", default="stable")
|
||||
|
||||
args = parser.parse_args()
|
||||
basename = os.path.basename(args.package)
|
||||
|
||||
if not os.path.isfile(args.package):
|
||||
raise ValueError("File {0} is not valid / does not exist.".format(args.package))
|
||||
|
||||
if not args.org:
|
||||
raise ValueError("Organization is missing.")
|
||||
|
||||
# Determine name, version and architecture from file name:
|
||||
base, _ = os.path.splitext(basename)
|
||||
name, version, arch = base.split("_")
|
||||
if arch not in ALLOWED_ARCH: raise ValueError("Architecture {0} not discoverable".format(arch))
|
||||
if not VERSION_RE.match(version): raise ValueError("Version not discoverable ({0})".format(version))
|
||||
|
||||
args.architecture = arch
|
||||
args.version = version
|
||||
args.name = args.name or name
|
||||
|
||||
url = "{url}/{a.org}/{a.repo}/{a.name}/{a.version}/pool/{a.component}" \
|
||||
"/{a.name[0]}/{basename}?publish=1".format(
|
||||
url=API_BASE, a=args, basename=basename)
|
||||
|
||||
if not args.no_confirm:
|
||||
sys.stdout.write(VERIFY_FORMAT.format(a=args))
|
||||
if not sys.stdin.readline().rstrip() == "y":
|
||||
print("\nNot submitting package.")
|
||||
return
|
||||
|
||||
print("Submitting package...")
|
||||
|
||||
parameters = {"publish": "1"}
|
||||
headers = {
|
||||
"X-Bintray-Debian-Distribution": args.distribution,
|
||||
"X-Bintray-Debian-Architecture": args.architecture,
|
||||
"X-Bintray-Debian-Component": args.component
|
||||
}
|
||||
|
||||
with open(args.package, "rb") as package_fp:
|
||||
response = requests.put(url, auth=(USERNAME, API_KEY), params=parameters, headers=headers, data=package_fp)
|
||||
|
||||
if response.status_code != 201:
|
||||
raise Exception("Failed to submit package: {0}\n{1}".format(response.status_code, response.text))
|
||||
|
||||
print("Submitted successfully.")
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
Reference in New Issue
Block a user