aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--NEWS1
-rw-r--r--Rpmdrake/gui.pm15
2 files changed, 16 insertions, 0 deletions
diff --git a/NEWS b/NEWS
index 2fde6b71..5e6c14e2 100644
--- a/NEWS
+++ b/NEWS
@@ -1,3 +1,4 @@
+- display URLs of packages (#40571)
- handle gracefully locked RPM DB when trying to install some packages
(#40244)
- rpmdrake:
diff --git a/Rpmdrake/gui.pm b/Rpmdrake/gui.pm
index ebf74720..80c48d20 100644
--- a/Rpmdrake/gui.pm
+++ b/Rpmdrake/gui.pm
@@ -177,6 +177,21 @@ sub format_pkg_simplifiedinfo {
),
);
+ my $url = $upkg->url || $pkg->{url};
+ if (!$url) {
+ open_rpm_db()->traverse_tag('name', [ $upkg->name ], sub { $url = $_[0]->url });
+ }
+
+ if ($url) {
+ push @$details_txt,
+ @{ ugtk2::markup_to_TextView_format(format_field("\n$spacing" . N("URL: "))) },
+ [ my $link = gtkshow(Gtk2::LinkButton->new($url, $url)) ];
+ $link->set_uri_hook(sub {
+ my (undef, $url) = @_;
+ run_program::raw({ detach => 1, setuid => get_parent_uid() }, 'www-browser', $url);
+ });
+ }
+
push @$s, [ gtkadd(gtkshow(my $exp0 = Gtk2::Expander->new(format_field(N("Details:")))),
gtknew('TextView', text => $details_txt)) ];
$exp0->set_use_markup(1);