summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xgit-interface/git-update.py8
-rw-r--r--schema/aur-schema.sql4
-rw-r--r--upgrading/4.0.0.txt9
-rw-r--r--web/template/pkg_details.php8
4 files changed, 24 insertions, 5 deletions
diff --git a/git-interface/git-update.py b/git-interface/git-update.py
index 6610019..41a3474 100755
--- a/git-interface/git-update.py
+++ b/git-interface/git-update.py
@@ -77,6 +77,10 @@ def save_srcinfo(srcinfo, db, cur, user):
else:
ver = '%s-%s' % (pkginfo['pkgver'], pkginfo['pkgrel'])
+ for field in ('pkgdesc', 'url'):
+ if not field in pkginfo:
+ pkginfo[field] = None
+
# Create a new package.
cur.execute("INSERT INTO Packages (PackageBaseID, Name, " +
"Version, Description, URL) " +
@@ -247,7 +251,7 @@ for commit in walker:
for pkgname in srcinfo.GetPackageNames():
pkginfo = srcinfo.GetMergedPackage(pkgname)
- for field in ('pkgver', 'pkgrel', 'pkgname', 'pkgdesc', 'url'):
+ for field in ('pkgver', 'pkgrel', 'pkgname'):
if not field in pkginfo:
die_commit('missing mandatory field: %s' % (field), commit.id)
@@ -259,7 +263,7 @@ for commit in walker:
commit.id)
for field in ('pkgname', 'pkgdesc', 'url'):
- if len(pkginfo[field]) > 255:
+ if field in pkginfo and len(pkginfo[field]) > 255:
die_commit('%s field too long: %s' % (field, pkginfo[field]),
commit.id)
diff --git a/schema/aur-schema.sql b/schema/aur-schema.sql
index 5a702b2..5a2e5c5 100644
--- a/schema/aur-schema.sql
+++ b/schema/aur-schema.sql
@@ -107,8 +107,8 @@ CREATE TABLE Packages (
PackageBaseID INTEGER UNSIGNED NOT NULL,
Name VARCHAR(255) NOT NULL,
Version VARCHAR(255) NOT NULL DEFAULT '',
- Description VARCHAR(255) NOT NULL DEFAULT "An Arch Package",
- URL VARCHAR(255) NOT NULL DEFAULT "https://www.archlinux.org",
+ Description VARCHAR(255) NULL DEFAULT NULL,
+ URL VARCHAR(255) NULL DEFAULT NULL,
PRIMARY KEY (ID),
UNIQUE (Name),
FOREIGN KEY (PackageBaseID) REFERENCES PackageBases(ID) ON DELETE CASCADE
diff --git a/upgrading/4.0.0.txt b/upgrading/4.0.0.txt
index 954dfcc..637c4b9 100644
--- a/upgrading/4.0.0.txt
+++ b/upgrading/4.0.0.txt
@@ -58,4 +58,11 @@ CREATE TABLE PackageKeywords (
) ENGINE = InnoDB;
----
-8. (optional) Setup cgit to browse the Git repositories via HTTP.
+8. Let Description and URL store nulls
+
+----
+ALTER TABLE Packages MODIFY Description VARCHAR(255) NULL DEFAULT NULL,
+ MODIFY URL VARCHAR(255) NULL DEFAULT NULL;
+----
+
+9. (optional) Setup cgit to browse the Git repositories via HTTP.
diff --git a/web/template/pkg_details.php b/web/template/pkg_details.php
index 82bc262..1e2b9a5 100644
--- a/web/template/pkg_details.php
+++ b/web/template/pkg_details.php
@@ -189,11 +189,19 @@ $sources = pkg_sources($row["ID"]);
</tr>
<tr>
<th><?= __('Description') . ': ' ?></th>
+<?php if (!empty($row['Description'])): ?>
<td class="wrap"><?= htmlspecialchars($row['Description']); ?></td>
+<?php else: ?>
+ <td class="wrap"><?= __('None') ?></td>
+<?php endif; ?>
</tr>
<tr>
<th><?= __('Upstream URL') . ': ' ?></th>
+<?php if (!empty($row['URL'])): ?>
<td><a href="<?= htmlspecialchars($row['URL'], ENT_QUOTES) ?>" title="<?= __('Visit the website for') . ' ' . htmlspecialchars( $row['Name'])?>"><?= htmlspecialchars($row['URL'], ENT_QUOTES) ?></a></td>
+<?php else: ?>
+ <td class="wrap"><?= __('None') ?></td>
+<?php endif; ?>
</tr>
<?php
if (has_credential(CRED_PKGBASE_SET_KEYWORDS, $maintainers) || count($keywords) > 0):