Commit graph

41 commits

Author SHA1 Message Date
ATuinDev a41118d927
Fix missing variable 2020-05-25 22:26:31 +02:00
ATuinDev a2db7a9c76
Add $level variable in stow_contents and stow_node
This variables is used to keep track of the current level in the source.
2020-05-25 22:21:31 +02:00
ATuinDev d4e413536e
Fixes Bug #56727
Problem was that when running stow_contents/unstow_contents recursively from
stow_node/unstow_node the information for the source path (without the dot- to
. transformation) was lost.

In the case of stow_contents the solution is just to remove the leading
dots (..) from the $source path (since the $source path is passed as an argument
to the function)

In the case of unstow_contents the solution is the same as for stow_contents but
the arguments was now passed so I added it to the function.
2020-05-24 18:12:49 +02:00
Adam Spiers 40a0807185 Check that find_stowed_path $path matches relative/absolute with target
Watch out for a corner case probably only relevant in tests.
2019-06-28 15:24:50 +01:00
Adam Spiers 3270b145e1 Improve comments on function parameters for clarity 2019-06-28 15:24:50 +01:00
Adam Spiers 27796720d5 Upgrade to GPL v3 and add headers to files (#44)
Following advice from maintainers@gnu.org, bring Stow in line with
other GNU projects by upgrading it from GPL v2 to v3

  https://www.gnu.org/prep/maintain/html_node/Licensing-of-GNU-Packages.html#Licensing-of-GNU-Packages

as obtained in plain text and texinfo formats from

  https://www.gnu.org/licenses/

and adding appropriate headers:

  https://www.gnu.org/prep/maintain/html_node/License-Notices-for-Code.html#License-Notices-for-Code

Fixes #44: https://github.com/aspiers/stow/issues/44
2019-06-27 20:37:40 +01:00
Adam Spiers 72ef83cebd Fix old descriptions of Stow (#22)
De-emphasise the package management aspects, since these days
almost everyone prefers to use modern package managers such as
rpm / dpkg / Nix for (system-wide) package management.

Also include more popular modern use cases for Stow such as management
of dotfiles and software compiled in the user's $HOME directory.

Fixes #22: https://github.com/aspiers/stow/issues/22
2019-06-25 16:52:33 +01:00
Adam Spiers 1b320b1dc3 Merge pull request #17 from jvkersch/enh/dot-files
Special processing for dotfiles
2016-10-05 17:47:51 +01:00
Joris Vankerschaver 182acbbb64 Special processing for dotfiles 2016-10-04 17:51:01 +01:00
Adam Spiers f5e12670d6 remove superfluous space in function call
Be consistent with style elsewhere.
2016-08-23 10:37:12 +01:00
Adam Spiers 43333b8eca add Stow/Util.pm.in with @VERSION@ substitution
This is now necessary in order to prevent pause.perl.org from
complaining:

    Status: Decreasing version number
    =================================

         module : Stow::Util
         version: undef
         in file: lib/Stow/Util.pm
         status : Not indexed because lib/Stow/Util.pm in
                 A/AS/ASPIERS/Stow-v2.2.0.tar.gz has a higher version number
                 (0)
2015-11-09 12:36:51 +00:00
Adam Spiers 7b43622dd9 fix stowing of relative links when --no-folding is used
With a tree like this:

    .
    |-- stow
    |   `-- pkg
    |       `-- lib
    |           |-- itk-current -> itk4.0.0
    |           `-- itk4.0.0
    |               `-- libitk4.0.0.so
    `-- target
        `-- lib
            |-- itk4.0.0 -> ../../stow/pkg/lib/itk4.0.0
            `-- libfoo-1.2.3.so

stowing pkg with the --no-folding option resulted in itk-current
being "unpacked":

    .
    `-- target
        `-- lib
            |-- itk-current
            |   `-- libitk4.0.0.so -> ../../../stow/pkg/lib/itk-current/libitk4.0.0.so
            |-- itk4.0.0
            |   `-- libitk4.0.0.so -> ../../../stow/pkg/lib/itk4.0.0/libitk4.0.0.so
            `-- libfoo-1.2.3.so

This commit fixes it so that it gets stowed as a symlink:

  .
  `-- target
      `-- lib
          ...
          |-- itk-current -> ../../stow/pkg/lib/itk-current
          ...

Thanks to Gabriele Balducci for reporting this problem:

    http://thread.gmane.org/gmane.comp.gnu.stow.general/6676
2015-01-01 19:02:46 +00:00
Adam Spiers 5be496a795 improve debug 2015-01-01 19:02:26 +00:00
Adam Spiers 07a84541f1 make it more obvious when target (sub)directory is skipped
This should avoid the sort of confusion seen in:

  https://github.com/aspiers/shell-env/issues/1
2014-09-23 01:37:54 +01:00
Adam Spiers d788ce0c1c avoid precedence warning
With Perl 5.20, installing a package with stow gives a warning like
this:

  Possible precedence issue with control flow operator at
  /gar/packages/stow-2.2.0/lib/perl5/site_perl/5.20.0/Stow.pm line 1736.

http://lists.gnu.org/archive/html/bug-stow/2014-06/msg00000.html

Suggested-by: Adam Sampson <ats@offog.org>
2014-06-16 10:22:55 +01:00
Adam Spiers c500216f20 correctly handle the stow/target directories as non-canonical paths
Fix the case discovered by Hiroyuki Iwatsuki where stowing fails if
the stow / target directories are non-canonical paths.  For example,
on FreeBSD /home is a symlink pointing to 'usr/home', so running with
the stow directory as /home/user/local/stow and the target directory
as /home/user/local previously resulted in the stow directory path
being calculated as ../../../usr/home/user/local/stow relative to
the target.

http://article.gmane.org/gmane.comp.gnu.stow.bugs/8820
2013-04-12 17:48:08 +01:00
Adam Spiers 8ccef07601 Only include $! in error messages for failed syscalls. 2012-07-09 01:06:13 +01:00
Adam Spiers 1517384e53 Improve docs for path_owned_by_package() 2012-02-19 11:58:45 +00:00
Adam Spiers ed12c787df Add --no-folding option. 2012-02-18 20:33:34 +00:00
Adam Spiers a127d22457 Improve error message when package is not found. 2012-02-18 20:33:34 +00:00
Adam Spiers a5c2134f59 Add missing options to pod, and reference to front-end documentation. 2012-02-18 17:14:50 +00:00
Adam Spiers fe18b6c442 Avoid "Use of uninitialized value" warnings from test suite.
Happened on some versions of Perl when TEST_VERBOSE not yet.
Thanks Adam Sampson!
2012-01-13 11:35:53 +00:00
Adam Spiers 8357dca645 Remove "There are no outstanding operations to perform" warning.
This is more in keeping with the UNIX convention of no output on success,
and is also the way Stow v1.x behaved.  Thanks to Adam Sampson for the suggestion.
2012-01-11 14:01:40 +00:00
Adam Spiers 7e44666640 Add --adopt / -a option. 2012-01-09 21:29:34 +00:00
Adam Spiers 5110ea8338 Add stacktrace to internal error report to aid debugging. 2012-01-09 21:11:58 +00:00
Adam Spiers 1200420687 Link to website to encourage users to report bugs. 2012-01-09 17:52:11 +00:00
Adam Spiers 1efb786140 Improve existing comments. 2012-01-09 16:25:27 +00:00
Adam Spiers d672e3e6cf Improve debug levels. 2011-11-26 19:18:33 +00:00
Adam Spiers d5aa061abe Fix documentation regarding splitting of symlinks across multiple stow directories. 2011-11-26 16:34:57 +00:00
Adam Spiers 3d414dc071 Improve conflict reporting 2011-11-26 16:34:57 +00:00
Adam Spiers 55d3f05cf2 Ditch obsolete --conflicts option and update misleading documentation. 2011-11-26 16:34:57 +00:00
Adam Spiers 0db112441f Strip superfluous quotes from $hash{'lookups'} 2011-11-26 16:34:54 +00:00
Adam Spiers ea82ef5b8b Add support for ignore lists. 2011-11-26 16:34:48 +00:00
Adam Spiers 7777e181a8 Rename $old_* to $existing_* 2011-11-26 15:10:29 +00:00
Adam Spiers b20228721e Rename protected_dir() to marked_stow_dir(). 2011-11-26 15:10:29 +00:00
Adam Spiers d8a4cda11b Rename should_skip_stow_dir_target() to should_skip_target_which_is_stow_dir() 2011-11-26 15:10:28 +00:00
Adam Spiers 7c0bb53bff Be clearer when we're not actually (un)stowing, just planning. 2011-11-26 15:10:28 +00:00
Adam Spiers 1873e4b4ef Add a comment about a relative weakness of compat mode. 2011-11-26 15:10:28 +00:00
Adam Spiers 4d45d3e0c7 Fix more inconsistencies in coding style. 2011-11-26 15:10:27 +00:00
Adam Spiers b8942c9f79 Fix typos 2011-11-26 15:10:27 +00:00
Adam Spiers dc61da22d4 Major refactoring of code into separate Stow and Stow::Util Perl modules 2011-11-24 16:56:11 +00:00