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
|
||||
|
||||
bin_SCRIPTS = stow chkstow
|
||||
info_TEXINFOS = stow.texi
|
||||
dist_man_MANS = stow.8
|
||||
dist_bin_SCRIPTS = bin/stow bin/chkstow
|
||||
info_TEXINFOS = doc/stow.texi
|
||||
TEXINFO_TEX = doc/texinfo.tex
|
||||
dist_man_MANS = doc/stow.8
|
||||
dist_doc_DATA = README
|
||||
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 = \
|
||||
|
@ -23,8 +26,13 @@ TESTS = \
|
|||
t/chkstow.t
|
||||
|
||||
AUTOMAKE_OPTIONS = dist-shar
|
||||
EXTRA_DIST = $(TESTS) t/testutil.pm
|
||||
CLEANFILES = $(bin_SCRIPTS)
|
||||
CPAN_FILES = MANIFEST MANIFEST.SKIP Build.PL META.yml META.json
|
||||
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-local:
|
||||
|
@ -34,11 +42,11 @@ clean-local:
|
|||
edit = sed -e 's|[@]PERL[@]|$(PERL)|g' \
|
||||
-e 's|[@]VERSION[@]|$(VERSION)|g'
|
||||
|
||||
stow: stow.in Makefile
|
||||
bin/stow: bin/stow.in Makefile
|
||||
$(edit) < $< > $@
|
||||
chmod +x $@
|
||||
|
||||
chkstow: chkstow.in Makefile
|
||||
bin/chkstow: bin/chkstow.in Makefile
|
||||
$(edit) < $< > $@
|
||||
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 developer
|
||||
manual.html: manual.texi
|
||||
doc/manual.html: doc/manual.texi
|
||||
-rm -f $@
|
||||
texi2html -expandinfo -menu -monolithic -verbose $<
|
||||
|
||||
manual.texi: stow.texi
|
||||
doc/manual.texi: doc/stow.texi
|
||||
-rm -f $@
|
||||
cp $< $@
|
||||
|
||||
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
|
||||
|
|
|
@ -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_PREREQ([2.61])
|
||||
AC_CONFIG_AUX_DIR([automake])
|
||||
AM_INIT_AUTOMAKE([-Wall -Werror])
|
||||
AC_PROG_INSTALL
|
||||
|
||||
|
|
|
@ -460,7 +460,7 @@ tree-folding symlink.
|
|||
@cindex unfolding trees
|
||||
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
|
||||
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
|
||||
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
|
||||
|
@ -1020,8 +1020,8 @@ the output from the command (preferably verbose output, obtained by
|
|||
adding @samp{--verbose=3} to the Stow command line).
|
||||
@end itemize
|
||||
|
||||
If you are really keen, consider developing a minimal test case and creating a
|
||||
new test. See the @file{t/} for lots of examples.
|
||||
If you are really keen, consider developing a minimal test case and
|
||||
creating a new test. See the @file{t/} for lots of examples.
|
||||
|
||||
Before reporting a bug, please read the manual carefully, especially
|
||||
@ref{Known Bugs}, to see whether you're encountering
|
|
@ -3,7 +3,7 @@
|
|||
% Load plain if necessary, i.e., if running under initex.
|
||||
\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,
|
||||
% 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006 Free
|
Loading…
Reference in a new issue