Subject: | Avoid Installation Infinite Loop |
I can't install this module on my system using cpan(1) as it depends on DBIx::Class::UUIDColumns, which in turn depends on several UUID generators. One of these is mod_perl, whose Makefile.PL hits an infinite loop as it can't find an apxs(1) binary.
The simplest way to deal with this is to change the UUID generation as per the attached patch.
Tom
Subject: | 0001-Change-the-UUID-generator.patch |
From 5fe8935d6698e88cd116efcef999476b01cd8e2d Mon Sep 17 00:00:00 2001
From: Tom Hukins <tom@eborcom.com>
Date: Mon, 15 Apr 2019 09:44:36 +0100
Subject: [PATCH] Change the UUID generator
DBIx::Class::UUIDColumns has recommended dependencies on several UUID
generators. One of these, APR::UUID, ships as part of mod_perl.
mod_perl's Makefile.PL can easily get stuck in an infinite loop if it
can't find an apxs(1) executable.
---
Makefile.PL | 2 +-
lib/DBIx/Class/InflateColumn/FS.pm | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/Makefile.PL b/Makefile.PL
index a4ee093..be063af 100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@ -10,7 +10,7 @@ all_from 'lib/DBIx/Class/InflateColumn/FS.pm';
requires 'DBIx::Class' => 0.08;
requires 'Path::Class' => 0;
-requires 'DBIx::Class::UUIDColumns' => 0.02005;
+requires 'UUID::URandom' => 0;
test_requires 'DBD::SQLite' => 1.12;
test_requires 'DBICx::TestDatabase' => 0;
diff --git a/lib/DBIx/Class/InflateColumn/FS.pm b/lib/DBIx/Class/InflateColumn/FS.pm
index efc79da..4edc4a8 100644
--- a/lib/DBIx/Class/InflateColumn/FS.pm
+++ b/lib/DBIx/Class/InflateColumn/FS.pm
@@ -2,7 +2,7 @@ package DBIx::Class::InflateColumn::FS;
use strict;
use warnings;
-use DBIx::Class::UUIDColumns;
+use UUID::URandom 'create_uuid_string';
use File::Spec ();
use File::Path ();
use File::Copy ();
@@ -114,7 +114,7 @@ C<< column_info >> object.
sub fs_file_name {
my ($self, $column, $column_info) = @_;
- return DBIx::Class::UUIDColumns->get_uuid;
+ return create_uuid_string();
}
sub _fs_column_storage {
--
2.21.0