Idea from Pietro Abate: Excludes for wildcards, like "all from
unburden-home-dir.listfor alternative locations of
These features likely all will need expansion of environment variables in configuration files or values.
The expansion of environment variables in configuration files is implemented since the version 0.4 using
String::Expandwhich is packaged for Debian since recently, but may still be missing in Ubuntu. Still needs to be documented properly, though.
Make the dependency on rsync and File::Rsync optional by allowing a mode where only deletion and no moving happens.
Add warnings if either
$TARGETdo not begin with a slash. This can cause broken symlinks but may also break the test suite. :-)
UNBURDEN_HOME=offis set in
~/.unburden-home-dir(which would be for the
rsyncin dry-run mode if
unburden-home-diris called in dry-run mode instead of not calling
rsyncat all in that case.
Test::Perl::Critictest by default (but run it on Travis CI). Maybe move it from
xt/perlcritic.tand run the according Make target explicitly via
IPC::Runas optional as
lsof. Maybe use
Test Suite Coverage
- Write test so that
mvdoesn't fall into interactive mode. Basically test what the previous commit ("2ec069d Unconditionally move files") fixed. To reproduce: Have directories to move off as well as a directory which is already moved off.
Planned Default Setting Changes
Currently calling unburden-home-dir via Xsession.d is disabled by default and all default list entries are commented, too.
This double disabling is redundant. At most unburden-home-dir's functionality should be disabled at one of those locations.
Planned Invasive Changes
Find a nice way to handle the global
unburden-home-dir.list, maybe by using something like
/etc/unburden-home-dir/list.d/or maybe even put symlinks to the (split) example file(s) in there.
I've wrote a Perl interface to
run-partsnamed Run::Parts as standalone Perl module which is already used by
/usr/share/unburden-home-dir/…for default settings and use
/etc/unburden-home-dir*only for settings by the local admin.
See my question about How to make a Dist::Zilla based Perl module (or app) install files into /etc/ on StackOverflow for the reasoning behind this idea.
- Slow rsync, e.g. for cache directories.
- Restructure the documentation in a way that parts of it can be shipped as man pages as well as viewed in the web without contents being duplicated in the source.
I'd like to switch to POD as primary documentation format to make the software more suitable to distribution via CPAN.
One single, easy to read and write, Github rendered source format (i.e. Markdown or POD, but no DocBook) for different output formats (primarily HTML and [ng]roff aka Unix man-pages).
HTML documents should have an index/ToC of all the documentation, not only a ToC for the current file. (Example: MkDocs, ReadTheDocs)
A documentation build should be triggerable via Github Webhook. (Example: ReadTheDocs)
Convert all Markdown files to POD with e.g. Markdown::POD.
Replace ronn with a simple pod2man.
Use CGI::Github::Webhook to update a local clone/checkout/working-copy and run the documentation generator.
Maybe Pandoc is also an idea. It' not fulfilling all requirements above, but it would reduce the amount of dependencies because it can convert to HTML as well as [ng]roff.