Skip to content

Instantly share code, notes, and snippets.

@carsonoid
Created March 25, 2015 21:31
Show Gist options
  • Save carsonoid/980e3b81b227e0f49df1 to your computer and use it in GitHub Desktop.
Save carsonoid/980e3b81b227e0f49df1 to your computer and use it in GitHub Desktop.
CentOS 7 carton fix in rpm form
Name: perl-Carton-Glue
Version: 0.1
Release: 2%{?dist}
Summary: Make Carton work on CentOS 7's system perl
BuildArch: noarch
License: MIT
%description
CentOS 7 moves it's core modules out of the core path and into vendor_perl.
This breaks cpanm -L and carton. We simply symlink them back so carton works.
See: https://github.com/perl-carton/carton/issues/173 for more info.
%prep
%build
%install
cd %{buildroot}
mkdir -p usr/lib64/perl5
cd usr/lib64/perl5
#create a bunch of relative symlinks
%define ln_cmd /usr/bin/ln -rsf
%{ln_cmd} vendor_perl/Bundle Bundle
%{ln_cmd} vendor_perl/Class Class
%{ln_cmd} vendor_perl/Compress Compress
%{ln_cmd} vendor_perl/Crypt Crypt
%{ln_cmd} vendor_perl/Cwd.pm Cwd.pm
%{ln_cmd} vendor_perl/Data Data
%{ln_cmd} vendor_perl/DBD DBD
%{ln_cmd} vendor_perl/DB_File.pm DB_File.pm
%{ln_cmd} vendor_perl/DBI DBI
%{ln_cmd} vendor_perl/DBI.pm DBI.pm
%{ln_cmd} vendor_perl/dbixs_rev.pl dbixs_rev.pl
%{ln_cmd} vendor_perl/Encode Encode
%{ln_cmd} vendor_perl/Encode.pm Encode.pm
%{ln_cmd} vendor_perl/encoding.pm encoding.pm
%{ln_cmd} vendor_perl/FCGI.pm FCGI.pm
%{ln_cmd} vendor_perl/HTML HTML
%{ln_cmd} vendor_perl/List List
%{ln_cmd} vendor_perl/metaclass.pm metaclass.pm
%{ln_cmd} vendor_perl/Moose Moose
%{ln_cmd} vendor_perl/Moose.pm Moose.pm
%{ln_cmd} vendor_perl/Net Net
%{ln_cmd} vendor_perl/oose.pm oose.pm
%{ln_cmd} vendor_perl/Package Package
%{ln_cmd} vendor_perl/Params Params
%{ln_cmd} vendor_perl/PCP PCP
%{ln_cmd} vendor_perl/Scalar Scalar
%{ln_cmd} vendor_perl/Socket.pm Socket.pm
%{ln_cmd} vendor_perl/Storable.pm Storable.pm
%{ln_cmd} vendor_perl/Sub Sub
%{ln_cmd} vendor_perl/threads threads
%{ln_cmd} vendor_perl/threads.pm threads.pm
%{ln_cmd} vendor_perl/Variable Variable
%{ln_cmd} vendor_perl/version version
%{ln_cmd} vendor_perl/version.pm version.pm
%{ln_cmd} vendor_perl/version.pod version.pod
%{ln_cmd} vendor_perl/XML XML
cd %{buildroot}
mkdir -p usr/share/perl5
cd usr/share/perl5
%{ln_cmd} vendor_perl/autodie autodie
%{ln_cmd} vendor_perl/autodie.pm autodie.pm
%{ln_cmd} vendor_perl/Bundle Bundle
%{ln_cmd} vendor_perl/Business Business
%{ln_cmd} vendor_perl/Carp Carp
%{ln_cmd} vendor_perl/Carp.pm Carp.pm
%{ln_cmd} vendor_perl/CGI CGI
%{ln_cmd} vendor_perl/CGI.pm CGI.pm
%{ln_cmd} vendor_perl/constant.pm constant.pm
%{ln_cmd} vendor_perl/CPANPLUS CPANPLUS
%{ln_cmd} vendor_perl/CPANPLUS.pm CPANPLUS.pm
%{ln_cmd} vendor_perl/Data Data
%{ln_cmd} vendor_perl/Date Date
%{ln_cmd} vendor_perl/DBIx DBIx
%{ln_cmd} vendor_perl/Digest Digest
%{ln_cmd} vendor_perl/Digest.pm Digest.pm
%{ln_cmd} vendor_perl/Dist Dist
%{ln_cmd} vendor_perl/Env.pm Env.pm
%{ln_cmd} vendor_perl/Eval Eval
%{ln_cmd} vendor_perl/Exception Exception
%{ln_cmd} vendor_perl/Exporter Exporter
%{ln_cmd} vendor_perl/Exporter.pm Exporter.pm
mkdir ExtUtils
%{ln_cmd} vendor_perl/ExtUtils/MakeMaker ExtUtils/MakeMaker
%{ln_cmd} vendor_perl/ExtUtils/MakeMaker.pm ExtUtils/MakeMaker.pm
%{ln_cmd} vendor_perl/Fatal.pm Fatal.pm
%{ln_cmd} vendor_perl/Font Font
%{ln_cmd} vendor_perl/HTML HTML
%{ln_cmd} vendor_perl/inc inc
%{ln_cmd} vendor_perl/MRO MRO
%{ln_cmd} vendor_perl/namespace namespace
%{ln_cmd} vendor_perl/newgetopt.pl newgetopt.pl
%{ln_cmd} vendor_perl/Params Params
%{ln_cmd} vendor_perl/parent.pm parent.pm
%{ln_cmd} vendor_perl/Parse Parse
%{ln_cmd} vendor_perl/Path Path
%{ln_cmd} vendor_perl/perldoc.pod perldoc.pod
%{ln_cmd} vendor_perl/RPC RPC
%{ln_cmd} vendor_perl/Sub Sub
%{ln_cmd} vendor_perl/TAP TAP
%{ln_cmd} vendor_perl/Try Try
%{ln_cmd} vendor_perl/WWW WWW
%files
/usr/share/perl5/*
/usr/lib64/perl5/*
%changelog
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment