Use Linux uuid facility instead of an external library if possible

master
Simon McVittie 2014-07-01 08:29:20 +01:00
parent 4a11dc4d16
commit eb87dd177a
2 changed files with 14 additions and 8 deletions

View File

@ -140,13 +140,19 @@ sub filltemplate ($$) {
$template->param(name => $page); $template->param(name => $page);
if ($template->query(name => 'uuid')) { if ($template->query(name => 'uuid')) {
eval { my $uuid;
require UUID::Tiny; if (open(my $fh, "<", "/proc/sys/kernel/random/uuid")) {
UUID::Tiny->import(':std'); $uuid = <$fh>;
my $uuid; chomp $uuid;
$uuid = create_uuid_as_string(UUID_V4()); close $fh;
$template->param(uuid => $uuid); }
}; else {
eval {
require UUID::Tiny;
$uuid = UUID::Tiny::create_uuid_as_string(UUID::Tiny::UUID_V4());
};
}
$template->param(uuid => $uuid);
} }
return $template->output; return $template->output;

View File

@ -35,6 +35,6 @@ Two variables might be set:
created. created.
* `<TMPL_VAR uuid>` is replaced with a version 4 (random) UUID. * `<TMPL_VAR uuid>` is replaced with a version 4 (random) UUID.
(Requires the `UUID::Tiny` Perl module.) (Requires the `UUID::Tiny` Perl module if not running on Linux.)
[[!meta robots="noindex, follow"]] [[!meta robots="noindex, follow"]]