aboutsummaryrefslogtreecommitdiff
path: root/IkiWiki/Plugin/edittemplate.pm
diff options
context:
space:
mode:
authorSimon McVittie <smcv@debian.org>2014-07-01 08:29:20 +0100
committerSimon McVittie <smcv@debian.org>2014-09-01 08:54:37 +0100
commiteb87dd177ae5ad2838c9bb9acb5e1e40d9cc5f28 (patch)
treea98e402d22062f956b95611b7087c0832a93ebb8 /IkiWiki/Plugin/edittemplate.pm
parent4a11dc4d16463ed0afaf387d0c33d00ba639f52e (diff)
downloadikiwiki-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.pm20
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;