Reorganise more files into subdirectories and add CPAN support via Module::Build
This commit is contained in:
parent
382ad5c58d
commit
58625800ee
15 changed files with 369 additions and 95 deletions
58
Build.PL
Normal file
58
Build.PL
Normal file
|
@ -0,0 +1,58 @@
|
||||||
|
use strict;
|
||||||
|
use warnings;
|
||||||
|
|
||||||
|
use Module::Build;
|
||||||
|
|
||||||
|
# These are required by the test suite.
|
||||||
|
use lib "t";
|
||||||
|
use lib "bin";
|
||||||
|
|
||||||
|
my $build = Module::Build->new(
|
||||||
|
module_name => 'Stow',
|
||||||
|
keywords => [ qw/stow symlink software package management install/ ],
|
||||||
|
license => 'gpl',
|
||||||
|
|
||||||
|
# Module::Build forces us to use v1.4 of the CPAN Meta Spec:
|
||||||
|
# https://rt.cpan.org/Ticket/Display.html?id=71502
|
||||||
|
# 'meta-spec' => {
|
||||||
|
# version => '2.0',
|
||||||
|
# url => 'http://search.cpan.org/perldoc?CPAN::Meta::Spec',
|
||||||
|
# },
|
||||||
|
meta_add => {
|
||||||
|
resources => {
|
||||||
|
license => 'http://www.gnu.org/licenses/gpl-2.0.html' ,
|
||||||
|
homepage => 'https://savannah.gnu.org/projects/stow',
|
||||||
|
|
||||||
|
# Module::Build forces us to use v1.4 of the CPAN Meta Spec:
|
||||||
|
# https://rt.cpan.org/Ticket/Display.html?id=71502
|
||||||
|
# bugtracker => {
|
||||||
|
# web => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Stow',
|
||||||
|
# mailto => 'mysqldiff@adamspiers.org',
|
||||||
|
# },
|
||||||
|
#bugtracker => 'http://rt.cpan.org/Public/Dist/Display.html?Name=Stow',
|
||||||
|
|
||||||
|
# Module::Build forces us to use v1.4 of the CPAN Meta Spec:
|
||||||
|
# https://rt.cpan.org/Ticket/Display.html?id=71502
|
||||||
|
# repository => {
|
||||||
|
# url => 'git:github.com/aspiers/stow.git',
|
||||||
|
# web => 'http://github.com/aspiers/stow',
|
||||||
|
# type => 'git',
|
||||||
|
# },
|
||||||
|
repository => 'http://github.com/aspiers/stow',
|
||||||
|
#repository => 'https://savannah.gnu.org/git/?group=stow',
|
||||||
|
},
|
||||||
|
},
|
||||||
|
requires => {
|
||||||
|
'perl' => '5.006',
|
||||||
|
'Carp' => 0,
|
||||||
|
'File::Slurp' => 0,
|
||||||
|
'IO::File' => 0,
|
||||||
|
},
|
||||||
|
script_files => [ 'bin/stow' ],
|
||||||
|
all_from => 'lib/Stow.pm',
|
||||||
|
configure_requires => {
|
||||||
|
'Module::Build' => 0,
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
$build->create_build_script();
|
46
MANIFEST
Normal file
46
MANIFEST
Normal file
|
@ -0,0 +1,46 @@
|
||||||
|
aclocal.m4
|
||||||
|
AUTHORS
|
||||||
|
automake/install-sh
|
||||||
|
automake/mdate-sh
|
||||||
|
automake/missing
|
||||||
|
automake/stamp-vti
|
||||||
|
bin/chkstow
|
||||||
|
bin/chkstow.in
|
||||||
|
bin/stow
|
||||||
|
bin/stow.in
|
||||||
|
Build.PL
|
||||||
|
ChangeLog
|
||||||
|
configure
|
||||||
|
configure.ac
|
||||||
|
COPYING
|
||||||
|
doc/stow.8
|
||||||
|
doc/stow.info
|
||||||
|
doc/stow.texi
|
||||||
|
doc/texinfo.tex
|
||||||
|
doc/version.texi
|
||||||
|
INSTALL
|
||||||
|
lib/Stow.pm
|
||||||
|
lib/Stow.pm.in
|
||||||
|
lib/Stow/Util.pm
|
||||||
|
Makefile.am
|
||||||
|
Makefile.in
|
||||||
|
MANIFEST This list of files
|
||||||
|
NEWS
|
||||||
|
README
|
||||||
|
t/chkstow.t
|
||||||
|
t/cleanup_invalid_links.t
|
||||||
|
t/defer.t
|
||||||
|
t/examples.t
|
||||||
|
t/find_stowed_path.t
|
||||||
|
t/foldable.t
|
||||||
|
t/join_paths.t
|
||||||
|
t/parent.t
|
||||||
|
t/stow.t
|
||||||
|
t/stow_contents.t
|
||||||
|
t/testutil.pm
|
||||||
|
t/unstow_contents.t
|
||||||
|
t/unstow_contents_orig.t
|
||||||
|
THANKS
|
||||||
|
TODO
|
||||||
|
META.yml
|
||||||
|
META.json
|
78
MANIFEST.SKIP
Normal file
78
MANIFEST.SKIP
Normal file
|
@ -0,0 +1,78 @@
|
||||||
|
|
||||||
|
#!start included /usr/share/perl5/ExtUtils/MANIFEST.SKIP
|
||||||
|
# Avoid version control files.
|
||||||
|
\bRCS\b
|
||||||
|
\bCVS\b
|
||||||
|
\bSCCS\b
|
||||||
|
,v$
|
||||||
|
\B\.svn\b
|
||||||
|
\B\.git\b
|
||||||
|
\B\.gitignore\b
|
||||||
|
\b_darcs\b
|
||||||
|
\B\.cvsignore$
|
||||||
|
|
||||||
|
# Avoid VMS specific MakeMaker generated files
|
||||||
|
\bDescrip.MMS$
|
||||||
|
\bDESCRIP.MMS$
|
||||||
|
\bdescrip.mms$
|
||||||
|
|
||||||
|
# Avoid Makemaker generated and utility files.
|
||||||
|
\bMANIFEST\.bak
|
||||||
|
\bMakefile$
|
||||||
|
\bblib/
|
||||||
|
\bMakeMaker-\d
|
||||||
|
\bpm_to_blib\.ts$
|
||||||
|
\bpm_to_blib$
|
||||||
|
\bblibdirs\.ts$ # 6.18 through 6.25 generated this
|
||||||
|
|
||||||
|
# Avoid Module::Build generated and utility files.
|
||||||
|
\bBuild$
|
||||||
|
\b_build/
|
||||||
|
\bBuild.bat$
|
||||||
|
\bBuild.COM$
|
||||||
|
\bBUILD.COM$
|
||||||
|
\bbuild.com$
|
||||||
|
|
||||||
|
# Avoid temp and backup files.
|
||||||
|
~$
|
||||||
|
\.old$
|
||||||
|
\#$
|
||||||
|
\b\.#
|
||||||
|
\.bak$
|
||||||
|
\.tmp$
|
||||||
|
\.#
|
||||||
|
\.rej$
|
||||||
|
|
||||||
|
# Avoid OS-specific files/dirs
|
||||||
|
# Mac OSX metadata
|
||||||
|
\B\.DS_Store
|
||||||
|
# Mac OSX SMB mount metadata files
|
||||||
|
\B\._
|
||||||
|
|
||||||
|
# Avoid Devel::Cover files.
|
||||||
|
\bcover_db\b
|
||||||
|
#!end included /usr/share/perl5/ExtUtils/MANIFEST.SKIP
|
||||||
|
|
||||||
|
# Avoid configuration metadata file
|
||||||
|
^MYMETA\.
|
||||||
|
|
||||||
|
# Avoid Module::Build generated and utility files.
|
||||||
|
\bBuild$
|
||||||
|
\bBuild.bat$
|
||||||
|
\b_build
|
||||||
|
\bBuild.COM$
|
||||||
|
\bBUILD.COM$
|
||||||
|
\bbuild.com$
|
||||||
|
^MANIFEST\.SKIP
|
||||||
|
|
||||||
|
# Avoid archives of this distribution
|
||||||
|
\bStow-[\d\.\_]+
|
||||||
|
|
||||||
|
# Avoid autotools stuff
|
||||||
|
^autom4te\.cache/.+$
|
||||||
|
^config\.(log|status)$
|
||||||
|
^doc/\.dirstamp$
|
||||||
|
^doc/stamp-vti$
|
||||||
|
|
||||||
|
# Avoid test files
|
||||||
|
^t/(stow|target)/.+$
|
52
META.json
Normal file
52
META.json
Normal file
|
@ -0,0 +1,52 @@
|
||||||
|
{
|
||||||
|
"abstract" : "manage the installation of multiple software packages",
|
||||||
|
"author" : [
|
||||||
|
"unknown"
|
||||||
|
],
|
||||||
|
"dynamic_config" : 1,
|
||||||
|
"generated_by" : "Module::Build version 0.38, CPAN::Meta::Converter version 2.112621",
|
||||||
|
"license" : [
|
||||||
|
"open_source"
|
||||||
|
],
|
||||||
|
"meta-spec" : {
|
||||||
|
"url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
|
||||||
|
"version" : "2"
|
||||||
|
},
|
||||||
|
"name" : "Stow",
|
||||||
|
"prereqs" : {
|
||||||
|
"configure" : {
|
||||||
|
"requires" : {
|
||||||
|
"Module::Build" : 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"runtime" : {
|
||||||
|
"requires" : {
|
||||||
|
"Carp" : 0,
|
||||||
|
"File::Slurp" : 0,
|
||||||
|
"IO::File" : 0,
|
||||||
|
"perl" : "5.006"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"provides" : {
|
||||||
|
"Stow" : {
|
||||||
|
"file" : "lib/Stow.pm",
|
||||||
|
"version" : "v2.0.2"
|
||||||
|
},
|
||||||
|
"Stow::Util" : {
|
||||||
|
"file" : "lib/Stow/Util.pm",
|
||||||
|
"version" : 0
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"release_status" : "stable",
|
||||||
|
"resources" : {
|
||||||
|
"homepage" : "https://savannah.gnu.org/projects/stow",
|
||||||
|
"license" : [
|
||||||
|
"http://www.gnu.org/licenses/gpl-2.0.html"
|
||||||
|
],
|
||||||
|
"repository" : {
|
||||||
|
"url" : "http://github.com/aspiers/stow"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"version" : "v2.0.2"
|
||||||
|
}
|
31
META.yml
Normal file
31
META.yml
Normal file
|
@ -0,0 +1,31 @@
|
||||||
|
---
|
||||||
|
abstract: 'manage the installation of multiple software packages'
|
||||||
|
author:
|
||||||
|
- unknown
|
||||||
|
build_requires: {}
|
||||||
|
configure_requires:
|
||||||
|
Module::Build: 0
|
||||||
|
dynamic_config: 1
|
||||||
|
generated_by: 'Module::Build version 0.38, CPAN::Meta::Converter version 2.112621'
|
||||||
|
license: open_source
|
||||||
|
meta-spec:
|
||||||
|
url: http://module-build.sourceforge.net/META-spec-v1.4.html
|
||||||
|
version: 1.4
|
||||||
|
name: Stow
|
||||||
|
provides:
|
||||||
|
Stow:
|
||||||
|
file: lib/Stow.pm
|
||||||
|
version: v2.0.2
|
||||||
|
Stow::Util:
|
||||||
|
file: lib/Stow/Util.pm
|
||||||
|
version: 0
|
||||||
|
requires:
|
||||||
|
Carp: 0
|
||||||
|
File::Slurp: 0
|
||||||
|
IO::File: 0
|
||||||
|
perl: 5.006
|
||||||
|
resources:
|
||||||
|
homepage: https://savannah.gnu.org/projects/stow
|
||||||
|
license: http://www.gnu.org/licenses/gpl-2.0.html
|
||||||
|
repository: http://github.com/aspiers/stow
|
||||||
|
version: v2.0.2
|
30
Makefile.am
30
Makefile.am
|
@ -1,11 +1,14 @@
|
||||||
## Process this file with Automake to produce Makefile.in
|
## Process this file with Automake to produce Makefile.in
|
||||||
|
|
||||||
bin_SCRIPTS = stow chkstow
|
dist_bin_SCRIPTS = bin/stow bin/chkstow
|
||||||
info_TEXINFOS = stow.texi
|
info_TEXINFOS = doc/stow.texi
|
||||||
dist_man_MANS = stow.8
|
TEXINFO_TEX = doc/texinfo.tex
|
||||||
|
dist_man_MANS = doc/stow.8
|
||||||
dist_doc_DATA = README
|
dist_doc_DATA = README
|
||||||
pmdir = $(libdir)/perl5
|
pmdir = $(libdir)/perl5
|
||||||
pm_DATA = lib/Stow.pm lib/Stow/Util.pm
|
dist_pm_DATA = lib/Stow.pm
|
||||||
|
pmstowdir = $(pmdir)/Stow
|
||||||
|
dist_pmstow_DATA = lib/Stow/Util.pm
|
||||||
|
|
||||||
TESTS_ENVIRONMENT=$(PERL) -I $(top_srcdir)
|
TESTS_ENVIRONMENT=$(PERL) -I $(top_srcdir)
|
||||||
TESTS = \
|
TESTS = \
|
||||||
|
@ -23,8 +26,13 @@ TESTS = \
|
||||||
t/chkstow.t
|
t/chkstow.t
|
||||||
|
|
||||||
AUTOMAKE_OPTIONS = dist-shar
|
AUTOMAKE_OPTIONS = dist-shar
|
||||||
EXTRA_DIST = $(TESTS) t/testutil.pm
|
CPAN_FILES = MANIFEST MANIFEST.SKIP Build.PL META.yml META.json
|
||||||
CLEANFILES = $(bin_SCRIPTS)
|
EXTRA_DIST = \
|
||||||
|
bin/stow.in bin/chkstow.in lib/Stow.pm.in \
|
||||||
|
$(TESTS) t/testutil.pm \
|
||||||
|
$(TEXINFO_TEX) \
|
||||||
|
$(CPAN_FILES)
|
||||||
|
CLEANFILES = $(bin_SCRIPTS) $(dist_pm_DATA)
|
||||||
|
|
||||||
# clean up files left behind by test suite
|
# clean up files left behind by test suite
|
||||||
clean-local:
|
clean-local:
|
||||||
|
@ -34,11 +42,11 @@ clean-local:
|
||||||
edit = sed -e 's|[@]PERL[@]|$(PERL)|g' \
|
edit = sed -e 's|[@]PERL[@]|$(PERL)|g' \
|
||||||
-e 's|[@]VERSION[@]|$(VERSION)|g'
|
-e 's|[@]VERSION[@]|$(VERSION)|g'
|
||||||
|
|
||||||
stow: stow.in Makefile
|
bin/stow: bin/stow.in Makefile
|
||||||
$(edit) < $< > $@
|
$(edit) < $< > $@
|
||||||
chmod +x $@
|
chmod +x $@
|
||||||
|
|
||||||
chkstow: chkstow.in Makefile
|
bin/chkstow: bin/chkstow.in Makefile
|
||||||
$(edit) < $< > $@
|
$(edit) < $< > $@
|
||||||
chmod +x $@
|
chmod +x $@
|
||||||
|
|
||||||
|
@ -47,15 +55,15 @@ lib/Stow.pm: lib/Stow.pm.in
|
||||||
|
|
||||||
# The rules for manual.html and manual.texi are only used by
|
# The rules for manual.html and manual.texi are only used by
|
||||||
# the developer
|
# the developer
|
||||||
manual.html: manual.texi
|
doc/manual.html: doc/manual.texi
|
||||||
-rm -f $@
|
-rm -f $@
|
||||||
texi2html -expandinfo -menu -monolithic -verbose $<
|
texi2html -expandinfo -menu -monolithic -verbose $<
|
||||||
|
|
||||||
manual.texi: stow.texi
|
doc/manual.texi: doc/stow.texi
|
||||||
-rm -f $@
|
-rm -f $@
|
||||||
cp $< $@
|
cp $< $@
|
||||||
|
|
||||||
MODULES = lib/Stow.pm lib/Stow/Util.pm
|
MODULES = lib/Stow.pm lib/Stow/Util.pm
|
||||||
|
|
||||||
test: stow chkstow $(MODULES)
|
test: bin/stow bin/chkstow $(MODULES)
|
||||||
perl -MTest::Harness -Ilib -It -Ibin -e 'runtests(@ARGV)' t/*.t
|
perl -MTest::Harness -Ilib -It -Ibin -e 'runtests(@ARGV)' t/*.t
|
||||||
|
|
|
@ -2,6 +2,7 @@ dnl Process this file with Autoconf to produce configure dnl
|
||||||
|
|
||||||
AC_INIT([stow], [2.0.2], [bug-stow@gnu.org])
|
AC_INIT([stow], [2.0.2], [bug-stow@gnu.org])
|
||||||
AC_PREREQ([2.61])
|
AC_PREREQ([2.61])
|
||||||
|
AC_CONFIG_AUX_DIR([automake])
|
||||||
AM_INIT_AUTOMAKE([-Wall -Werror])
|
AM_INIT_AUTOMAKE([-Wall -Werror])
|
||||||
AC_PROG_INSTALL
|
AC_PROG_INSTALL
|
||||||
|
|
||||||
|
|
|
@ -460,7 +460,7 @@ tree-folding symlink.
|
||||||
@cindex unfolding trees
|
@cindex unfolding trees
|
||||||
The time often comes when a tree-folding symlink has to be undone
|
The time often comes when a tree-folding symlink has to be undone
|
||||||
because another package uses one or more of the folded subdirectories in
|
because another package uses one or more of the folded subdirectories in
|
||||||
its installation image. This operation is called @dfn{splitting open} or
|
its installation image. This operation is called @dfn{splitting open} or
|
||||||
@dfn{unfolding} a folded tree. It involves removing the original symlink from
|
@dfn{unfolding} a folded tree. It involves removing the original symlink from
|
||||||
the target tree, creating a true directory in its place, and then populating the
|
the target tree, creating a true directory in its place, and then populating the
|
||||||
new directory with symlinks to the newly-installed package @emph{and} to
|
new directory with symlinks to the newly-installed package @emph{and} to
|
||||||
|
@ -1020,8 +1020,8 @@ the output from the command (preferably verbose output, obtained by
|
||||||
adding @samp{--verbose=3} to the Stow command line).
|
adding @samp{--verbose=3} to the Stow command line).
|
||||||
@end itemize
|
@end itemize
|
||||||
|
|
||||||
If you are really keen, consider developing a minimal test case and creating a
|
If you are really keen, consider developing a minimal test case and
|
||||||
new test. See the @file{t/} for lots of examples.
|
creating a new test. See the @file{t/} for lots of examples.
|
||||||
|
|
||||||
Before reporting a bug, please read the manual carefully, especially
|
Before reporting a bug, please read the manual carefully, especially
|
||||||
@ref{Known Bugs}, to see whether you're encountering
|
@ref{Known Bugs}, to see whether you're encountering
|
|
@ -3,7 +3,7 @@
|
||||||
% Load plain if necessary, i.e., if running under initex.
|
% Load plain if necessary, i.e., if running under initex.
|
||||||
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
|
\expandafter\ifx\csname fmtname\endcsname\relax\input plain\fi
|
||||||
%
|
%
|
||||||
\def\texinfoversion{2006-10-04.17}
|
\def\texinfoversion{2011-11-21.13}
|
||||||
%
|
%
|
||||||
% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
|
% Copyright (C) 1985, 1986, 1988, 1990, 1991, 1992, 1993, 1994, 1995,
|
||||||
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free
|
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free
|
Loading…
Reference in a new issue