index : builder | |
Archlinux32 build system | gitolite user |
summaryrefslogtreecommitdiff |
author | Erich Eckner <git@eckner.net> | 2017-03-17 20:36:16 +0100 |
---|---|---|
committer | Erich Eckner <git@eckner.net> | 2017-03-17 20:36:16 +0100 |
commit | fd9add36925327e1cf3b82d0d3acbac7700a4e14 (patch) | |
tree | ea4d046bcf726087b3000c7a33f8f4ae83945d13 /bin | |
parent | 0faf07f3d2e0e55cf442070517a6d784335777ec (diff) |
-rwxr-xr-x | bin/get-package-updates | 39 |
diff --git a/bin/get-package-updates b/bin/get-package-updates new file mode 100755 index 0000000..57bb17b --- /dev/null +++ b/bin/get-package-updates @@ -0,0 +1,39 @@ +#!/bin/bash + +# check for packages that need to be built, and build a list in the proper build order +# Details: +# https://github.com/archlinux32/builder/wiki/Build-system#get-package-updates + +set -e + +lock_file="/tmp/get-package-updates.lock" + +# Create a lock file for build list. + +exec 9>"${lock_file}" +flock -n 9 || exit + +# Update git repositories (official packages, community packages and the repository of package customizations). +# TODO: +# include repository of package customizations + +for repo in packages community; do + git -C /usr/src/archlinux/${repo} pull +done + +# TODO: +# Read previous git revision numbers from files. + +# TODO: +# Check modified packages from the last update, and put them to the build list. +# If a package is updated, but already on the rebuild list, then just update the git revision number. +# If a package is deleted, remove from the rebuild list, and add it to the deletion list. +# If a new package is added, then ensure that it's not on the deletion list. + +# TODO: +# Put the list in the proper build order. + +# TODO: +# Write the current git revision numbers to files. + +rm -f "${lock_file}" |