aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Magorsch <arzano@gentoo.org>2020-09-09 15:55:13 +0200
committerMax Magorsch <arzano@gentoo.org>2020-09-09 15:55:13 +0200
commit060e159a593e8fad84601eb6cefc55ba2807c6d6 (patch)
tree094ca0dfacdadaedf35b40c80a9438e1c60e452b
parentAdd links to upstream remotes (diff)
downloadsoko-060e159a593e8fad84601eb6cefc55ba2807c6d6.tar.gz
soko-060e159a593e8fad84601eb6cefc55ba2807c6d6.tar.bz2
soko-060e159a593e8fad84601eb6cefc55ba2807c6d6.zip
Add furher upstream information from the metadata
Documentation, Bugs-To and Changelog links will be parsed and displayed as well now, if they are present. Signed-off-by: Max Magorsch <arzano@gentoo.org>
-rw-r--r--pkg/models/package.go9
-rw-r--r--pkg/portage/repository/package.go12
-rw-r--r--web/templates/packages/metadata.tmpl50
3 files changed, 62 insertions, 9 deletions
diff --git a/pkg/models/package.go b/pkg/models/package.go
index ffd83d5..0608e92 100644
--- a/pkg/models/package.go
+++ b/pkg/models/package.go
@@ -9,7 +9,7 @@ type Package struct {
Versions []*Version `pg:",fk:atom"`
Longdescription string
Maintainers []*Maintainer
- Upstream []RemoteId
+ Upstream Upstream
Commits []*Commit `pg:"many2many:commit_to_packages,joinFK:commit_id"`
PrecedingCommits int `pg:",use_zero"`
PkgCheckResults []*PkgCheckResult `pg:",fk:atom"`
@@ -34,6 +34,13 @@ type MaintainerPackagesInformation struct {
SecurityBugs int
}
+type Upstream struct {
+ RemoteIds []RemoteId
+ BugsTo []string
+ Doc []string
+ Changelog []string
+}
+
type RemoteId struct {
Type string
Id string
diff --git a/pkg/portage/repository/package.go b/pkg/portage/repository/package.go
index 9b1aec2..4a79ee5 100644
--- a/pkg/portage/repository/package.go
+++ b/pkg/portage/repository/package.go
@@ -96,13 +96,20 @@ func updateModifiedPackage(changedFile string) {
})
}
+ upstream := models.Upstream{
+ RemoteIds: remoteIds,
+ Doc: pkgmetadata.Upstream.Doc,
+ BugsTo: pkgmetadata.Upstream.BugsTo,
+ Changelog: pkgmetadata.Upstream.Changelog,
+ }
+
gpackage := &models.Package{
Atom: atom,
Category: category,
Name: packagename,
Longdescription: longDescription,
Maintainers: maintainers,
- Upstream: remoteIds,
+ Upstream: upstream,
}
_, err := database.DBCon.Model(gpackage).OnConflict("(atom) DO UPDATE").
@@ -160,6 +167,9 @@ type LongdescriptionItem struct {
type Upstream struct {
XMLName xml.Name `xml:"upstream"`
RemoteIds []RemoteId `xml:"remote-id"`
+ BugsTo []string `xml:"bugs-to"`
+ Doc []string `xml:"doc"`
+ Changelog []string `xml:"changelog"`
}
type RemoteId struct {
diff --git a/web/templates/packages/metadata.tmpl b/web/templates/packages/metadata.tmpl
index 78b3128..ee36d5b 100644
--- a/web/templates/packages/metadata.tmpl
+++ b/web/templates/packages/metadata.tmpl
@@ -28,13 +28,49 @@
Upstream
</div>
<div class="col-xs-12 col-md-9">
- {{range $k, $v := .Package.Upstream}}
- {{ $link := RemoteIdLink . }}
- {{if not (eq $link "")}}
- <a href="{{ $link}}">{{ $link }}</a>
- {{if not (eq $k (len $.Package.Upstream))}}<br/>{{end}}
- {{end}}
- {{end}}
+ <table>
+ {{if .Package.Upstream.Doc}}
+ {{range $k, $v := .Package.Upstream.Doc}}
+ <tr>
+ <td>{{if eq $k 0}}<span class="kk-useflag-group float-right mr-2">Documentation </span>{{end}}</td>
+ {{if not (eq $v "")}}
+ <td><a href="{{ $v}}">{{ $v }}</a></td>
+ {{end}}
+ </tr>
+ {{end}}
+ {{end}}
+ {{if .Package.Upstream.Changelog}}
+ {{range $k, $v := .Package.Upstream.Changelog}}
+ <tr>
+ <td>{{if eq $k 0}}<span class="kk-useflag-group float-right mr-2">Changelog</span>{{end}}</td>
+ {{if not (eq $v "")}}
+ <td><a href="{{ $v}}">{{ $v }}</a></td>
+ {{end}}
+ </tr>
+ {{end}}
+ {{end}}
+ {{if .Package.Upstream.BugsTo}}
+ {{range $k, $v := .Package.Upstream.BugsTo}}
+ <tr>
+ <td>{{if eq $k 0}}<span class="kk-useflag-group float-right mr-2">Bugs-To</span>{{end}}</td>
+ {{if not (eq $v "")}}
+ <td><a href="{{ $v}}">{{ $v }}</a></td>
+ {{end}}
+ </tr>
+ {{end}}
+ {{end}}
+ {{if .Package.Upstream.RemoteIds}}
+ {{range $k, $v := .Package.Upstream.RemoteIds}}
+ {{ $link := RemoteIdLink . }}
+ {{if not (eq $link "")}}
+ <tr>
+ <td>{{if eq $k 0}}<span class="kk-useflag-group float-right mr-2">Remote-Id</span>{{end}}</td>
+ <td><a href="{{ $link}}">{{ $link }}</a></td>
+ </tr>
+ {{end}}
+ {{end}}
+ {{end}}
+ </table>
</div>
</div>
</li>