summaryrefslogtreecommitdiff
path: root/bin/get-package-updates
blob: 57bb17bf2ef66936250e47298db9d805a65a549e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
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}"