Commit b2e97cdd authored by Lukas Fleischer's avatar Lukas Fleischer
Browse files

Add repository information to official providers

When updating the list of packages provided by the official
repositories, also save the repository names.
parent 1e5578b9
......@@ -310,6 +310,7 @@ CREATE TABLE PackageBlacklist (
CREATE TABLE OfficialProviders (
ID INTEGER UNSIGNED NOT NULL AUTO_INCREMENT,
Name VARCHAR(64) NOT NULL,
Repo VARCHAR(64) NOT NULL,
Provides VARCHAR(64) NOT NULL,
PRIMARY KEY (ID)
) ENGINE = InnoDB;
......
......@@ -20,6 +20,7 @@ servers = config.get('aurblup', 'servers').split(' ')
blacklist = set()
providers = set()
repomap = dict()
h = pyalpm.Handle("/", db_path)
for sync_db in sync_dbs:
......@@ -33,9 +34,11 @@ for sync_db in sync_dbs:
blacklist.add(pkg.name)
[blacklist.add(x) for x in pkg.replaces]
providers.add((pkg.name, pkg.name))
repomap[(pkg.name, pkg.name)] = repo.name
for provision in pkg.provides:
provisionname = re.sub(r'(<|=|>).*', '', provision)
providers.add((pkg.name, provisionname))
repomap[(pkg.name, provisionname)] = repo.name
db = mysql.connector.connect(host=aur_db_host, user=aur_db_user,
passwd=aur_db_pass, db=aur_db_name,
......@@ -54,8 +57,9 @@ cur.execute("SELECT Name, Provides FROM OfficialProviders")
oldproviders = set(cur.fetchall())
for pkg, provides in providers.difference(oldproviders):
cur.execute("INSERT INTO OfficialProviders (Name, Provides) "
"VALUES (%s, %s)", [pkg, provides])
repo = repomap[(pkg, provides)]
cur.execute("INSERT INTO OfficialProviders (Name, Repo, Provides) "
"VALUES (%s, %s, %s)", [pkg, repo, provides])
for pkg, provides in oldproviders.difference(providers):
cur.execute("DELETE FROM OfficialProviders "
"WHERE Name = %s AND Provides = %s", [pkg, provides])
......
......@@ -9,3 +9,9 @@ ALTER TABLE Users ADD COLUMN OwnershipNotify TINYINT(1) NOT NULL DEFAULT 1;
----
ALTER TABLE Users MODIFY LastLoginIPAddress VARCHAR(45) NULL DEFAULT NULL;
----
3. Add a new column to store repository information of official providers:
----
ALTER TABLE OfficialProviders ADD COLUMN Repo VARCHAR(64) NOT NULL;
----
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment