From d6ab6ed9ac12ce5370bae5d02d285cce81dbe463 Mon Sep 17 00:00:00 2001 From: morganamilo Date: Thu, 17 May 2018 20:09:43 +0100 Subject: [PATCH 1/2] Use native build date when printing news Use the build date of the newest native package instead of the install date of any package. --- print.go | 12 ++++++------ query.go | 12 +++++------- 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/print.go b/print.go index 405b3754..a74e3d64 100644 --- a/print.go +++ b/print.go @@ -425,7 +425,7 @@ type Item struct { Creator string `xml:"dc:creator"` } -func (item Item) Print(installTime time.Time) { +func (item Item) Print(buildTime time.Time) { var fd string date, err := time.Parse(time.RFC1123Z, item.PubDate) @@ -433,8 +433,8 @@ func (item Item) Print(installTime time.Time) { fmt.Println(err) } else { fd = formatTime(int(date.Unix())) - if _, double, _ := cmdArgs.getArg("news", "w"); !double && !installTime.IsZero() { - if installTime.After(date) { + if _, double, _ := cmdArgs.getArg("news", "w"); !double && !buildTime.IsZero() { + if buildTime.After(date) { return } } @@ -484,18 +484,18 @@ func printNewsFeed() error { return err } - installTime, err := lastInstallTime() + buildTime, err := lastBuildTime() if err != nil { return err } if config.SortMode == BottomUp { for i := len(rss.Channel.Items) - 1; i >= 0; i-- { - rss.Channel.Items[i].Print(installTime) + rss.Channel.Items[i].Print(buildTime) } } else { for i := 0; i < len(rss.Channel.Items); i++ { - rss.Channel.Items[i].Print(installTime) + rss.Channel.Items[i].Print(buildTime) } } diff --git a/query.go b/query.go index 94ec1994..d244acd9 100644 --- a/query.go +++ b/query.go @@ -408,22 +408,20 @@ func hangingPackages(removeOptional bool) (hanging []string, err error) { return } -func lastInstallTime() (time.Time, error) { +func lastBuildTime() (time.Time, error) { var time time.Time - localDb, err := alpmHandle.LocalDb() + pkgs, _, _, _, err := filterPackages() if err != nil { return time, err } - localDb.PkgCache().ForEach(func(pkg alpm.Package) error { - thisTime := pkg.InstallDate() + for _, pkg := range pkgs { + thisTime := pkg.BuildDate() if thisTime.After(time) { time = thisTime } - - return nil - }) + } return time, nil } From 84810a61af7db4d08a42169b27d28994068f4daa Mon Sep 17 00:00:00 2001 From: morganamilo Date: Thu, 17 May 2018 19:47:12 +0100 Subject: [PATCH 2/2] Document news --- doc/yay.8 | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/doc/yay.8 b/doc/yay.8 index da608bb0..74bc218c 100644 --- a/doc/yay.8 +++ b/doc/yay.8 @@ -119,6 +119,19 @@ be displayed\&. .RS 4 Print Names of packages that need to be updated\&. Note this does not perform a database refresh\&. Run \fByay -Sy\fR Before this for an up to date result\&. +.RE +.PP +\fB\-w --news\fR +.RS 4 +Print new news from the Archlinux homepage\&. News is considered new if it is +newer than the build date of all native packages\&. Pass this twice to show all +avaliable news\&. +.RE +.PP +\fB\-q --quiet\fR +.RS 4 +Only show titles when printing news\&. +.RE .PP .SH "PERMANENT CONFIGURATION SETTINGS" .PP