diff options
author | Simon McVittie <smcv@debian.org> | 2014-07-01 08:29:20 +0100 |
---|---|---|
committer | Simon McVittie <smcv@debian.org> | 2014-09-01 08:54:37 +0100 |
commit | eb87dd177ae5ad2838c9bb9acb5e1e40d9cc5f28 (patch) | |
tree | a98e402d22062f956b95611b7087c0832a93ebb8 /IkiWiki/Plugin/edittemplate.pm | |
parent | 4a11dc4d16463ed0afaf387d0c33d00ba639f52e (diff) | |
download | ikiwiki-eb87dd177ae5ad2838c9bb9acb5e1e40d9cc5f28.tar ikiwiki-eb87dd177ae5ad2838c9bb9acb5e1e40d9cc5f28.tar.gz |
Use Linux uuid facility instead of an external library if possible
Diffstat (limited to 'IkiWiki/Plugin/edittemplate.pm')
-rw-r--r-- | IkiWiki/Plugin/edittemplate.pm | 20 |
1 files changed, 13 insertions, 7 deletions
diff --git a/IkiWiki/Plugin/edittemplate.pm b/IkiWiki/Plugin/edittemplate.pm index b408dfcac..571accf1f 100644 --- a/IkiWiki/Plugin/edittemplate.pm +++ b/IkiWiki/Plugin/edittemplate.pm @@ -140,13 +140,19 @@ sub filltemplate ($$) { $template->param(name => $page); if ($template->query(name => 'uuid')) { - eval { - require UUID::Tiny; - UUID::Tiny->import(':std'); - my $uuid; - $uuid = create_uuid_as_string(UUID_V4()); - $template->param(uuid => $uuid); - }; + my $uuid; + if (open(my $fh, "<", "/proc/sys/kernel/random/uuid")) { + $uuid = <$fh>; + chomp $uuid; + close $fh; + } + else { + eval { + require UUID::Tiny; + $uuid = UUID::Tiny::create_uuid_as_string(UUID::Tiny::UUID_V4()); + }; + } + $template->param(uuid => $uuid); } return $template->output; |