mirror of
https://gitlab.archlinux.org/archlinux/aurweb.git
synced 2025-02-03 10:43:03 +01:00
git-update: Add comments
Add some comments to explain the major steps performed in the update hook. Signed-off-by: Lukas Fleischer <lfleischer@archlinux.org>
This commit is contained in:
parent
80e06e5fc3
commit
da875276d4
1 changed files with 5 additions and 0 deletions
|
@ -212,6 +212,7 @@ walker = repo.walk(sha1_new, pygit2.GIT_SORT_TOPOLOGICAL)
|
||||||
if sha1_old != "0000000000000000000000000000000000000000":
|
if sha1_old != "0000000000000000000000000000000000000000":
|
||||||
walker.hide(sha1_old)
|
walker.hide(sha1_old)
|
||||||
|
|
||||||
|
# Validate all new commits.
|
||||||
for commit in walker:
|
for commit in walker:
|
||||||
for fname in ('.SRCINFO', 'PKGBUILD'):
|
for fname in ('.SRCINFO', 'PKGBUILD'):
|
||||||
if not fname in commit.tree:
|
if not fname in commit.tree:
|
||||||
|
@ -278,14 +279,17 @@ for commit in walker:
|
||||||
if not fname in commit.tree:
|
if not fname in commit.tree:
|
||||||
die_commit('missing source file: {:s}'.format(fname), str(commit.id))
|
die_commit('missing source file: {:s}'.format(fname), str(commit.id))
|
||||||
|
|
||||||
|
# Read .SRCINFO from the HEAD commit.
|
||||||
srcinfo_raw = repo[repo[sha1_new].tree['.SRCINFO'].id].data.decode()
|
srcinfo_raw = repo[repo[sha1_new].tree['.SRCINFO'].id].data.decode()
|
||||||
srcinfo_raw = srcinfo_raw.split('\n')
|
srcinfo_raw = srcinfo_raw.split('\n')
|
||||||
srcinfo = aurinfo.ParseAurinfoFromIterable(srcinfo_raw)
|
srcinfo = aurinfo.ParseAurinfoFromIterable(srcinfo_raw)
|
||||||
|
|
||||||
|
# Ensure that the package base name matches the repository name.
|
||||||
srcinfo_pkgbase = srcinfo._pkgbase['pkgname']
|
srcinfo_pkgbase = srcinfo._pkgbase['pkgname']
|
||||||
if srcinfo_pkgbase != pkgbase:
|
if srcinfo_pkgbase != pkgbase:
|
||||||
die('invalid pkgbase: {:s}, expected {:s}'.format(srcinfo_pkgbase, pkgbase))
|
die('invalid pkgbase: {:s}, expected {:s}'.format(srcinfo_pkgbase, pkgbase))
|
||||||
|
|
||||||
|
# Ensure that packages are neither blacklisted nor overwritten.
|
||||||
cur.execute("SELECT ID FROM PackageBases WHERE Name = %s", [pkgbase])
|
cur.execute("SELECT ID FROM PackageBases WHERE Name = %s", [pkgbase])
|
||||||
pkgbase_id = cur.fetchone()[0]
|
pkgbase_id = cur.fetchone()[0]
|
||||||
|
|
||||||
|
@ -304,6 +308,7 @@ for pkgname in srcinfo.GetPackageNames():
|
||||||
if cur.fetchone()[0] > 0:
|
if cur.fetchone()[0] > 0:
|
||||||
die('cannot overwrite package: {:s}'.format(pkgname))
|
die('cannot overwrite package: {:s}'.format(pkgname))
|
||||||
|
|
||||||
|
# Store package base details in the database.
|
||||||
save_srcinfo(srcinfo, db, cur, user)
|
save_srcinfo(srcinfo, db, cur, user)
|
||||||
|
|
||||||
db.close()
|
db.close()
|
||||||
|
|
Loading…
Add table
Reference in a new issue