[boxer] 19/33: New upstream version 1.1.5
Jonas Smedegaard
dr at jones.dk
Sun Nov 5 18:28:18 UTC 2017
This is an automated email from the git hooks/post-receive script.
js pushed a commit to annotated tag debian/1.1.5-1
in repository boxer.
commit cd980fc26c807234f18fee8349757c3a01e60e4e
Merge: bf0fc85 caa7fcd
Author: Jonas Smedegaard <dr at jones.dk>
Date: Sun Nov 5 12:13:50 2017 +0100
New upstream version 1.1.5
COPYRIGHT | 46 ++++---
Changes | 26 ++++
LICENSE | 6 +-
MANIFEST | 7 +
META.json | 62 ++++++---
META.yml | 56 +++++---
Makefile.PL | 80 ++++++------
README | 7 +-
SIGNATURE | 86 ++++++-------
TODO | 10 ++
bin/boxer | 33 ++++-
doap.ttl | 64 ++++++++--
lib/Boxer.pm | 32 +++--
lib/Boxer/CLI.pm | 39 ++++--
lib/Boxer/CLI/Command.pm | 130 ++++++-------------
lib/Boxer/CLI/Command/About.pm | 43 ++++++-
lib/Boxer/CLI/Command/Aliases.pm | 45 ++++++-
lib/Boxer/CLI/Command/Commands.pm | 44 ++++++-
lib/Boxer/CLI/Command/Compose.pm | 53 ++++++--
lib/Boxer/File/WithSkeleton.pm | 160 +++++++++++++++++++++++
lib/Boxer/{CLI.pm => Part.pm} | 52 +++++---
lib/Boxer/Part/Reclass.pm | 125 ++++++++++++++++++
lib/Boxer/Role/Interact.pm | 48 ++++++-
lib/Boxer/Task.pm | 44 ++++++-
lib/Boxer/Task/Classify.pm | 80 ++++++++++--
lib/Boxer/Task/Serialize.pm | 263 +++++++++++++-------------------------
lib/Boxer/Types.pm | 56 ++++++--
lib/Boxer/World.pm | 73 +++++++++++
lib/Boxer/World/Flat.pm | 128 +++++++++++++++++++
lib/Boxer/World/Reclass.pm | 195 ++++++++++++++++++++++++++++
t/00_compile.t | 4 +-
t/00_compile_scripts.t | 4 +-
t/01_app_help.t | 4 +-
t/fixme.t | 4 +-
t/minimumversion.t | 4 +-
t/pod.t | 4 +-
t/world.t | 62 +++++++++
37 files changed, 1645 insertions(+), 534 deletions(-)
diff --cc COPYRIGHT
index 251a89e,0000000..469667c
mode 100644,000000..100644
--- a/COPYRIGHT
+++ b/COPYRIGHT
@@@ -1,261 -1,0 +1,271 @@@
+Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
+Upstream-Name: Boxer
+Upstream-Contact: Jonas Smedegaard (JONASS) <jonass at cpan.org>
+Source: https://metacpan.org/release/Boxer
+
+Files: INSTALL
+ LICENSE
+ TODO
+ doc/boxer.svg
+ examples/README
+ examples/classes/Admin/apt/auto/all.yml
+ examples/classes/Admin/apt/auto/core.yml
+ examples/classes/Admin/apt/auto/functions.yml
+ examples/classes/Admin/apt/init.yml
+ examples/classes/Admin/apt/popcon.yml
+ examples/classes/Admin/apt/tools/changes.yml
+ examples/classes/Admin/apt/tools/init.yml
+ examples/classes/Admin/auto.yml
+ examples/classes/Admin/backup/init.yml
+ examples/classes/Admin/backup/remote.yml
+ examples/classes/Admin/base.yml
+ examples/classes/Admin/disk/lvm.yml
+ examples/classes/Admin/etc/functions.yml
+ examples/classes/Admin/etc/track.yml
+ examples/classes/Admin/harden/account/init.yml
+ examples/classes/Admin/harden/account/strong.yml
+ examples/classes/Admin/harden/init.yml
+ examples/classes/Admin/harden/trustweb.yml
+ examples/classes/Admin/init.yml
+ examples/classes/Console/compression.yml
+ examples/classes/Console/editor/init.yml
+ examples/classes/Console/editor/vim.yml
+ examples/classes/Console/filemanager.yml
+ examples/classes/Console/init.yml
+ examples/classes/Console/mail/init.yml
+ examples/classes/Console/mail/list/init.yml
+ examples/classes/Console/mail/list/tools.yml
+ examples/classes/Console/mail/mutt.yml
+ examples/classes/Console/mail/tools.yml
+ examples/classes/Console/media/audio/alsa.yml
+ examples/classes/Console/media/init.yml
+ examples/classes/Console/mobile/init.yml
+ examples/classes/Console/mobile/sync.yml
+ examples/classes/Console/mouse.yml
+ examples/classes/Console/multiplexer/init.yml
+ examples/classes/Console/tools.yml
+ examples/classes/Desktop/base.yml
+ examples/classes/Desktop/chat/init.yml
+ examples/classes/Desktop/chat/pidgin/crypto.yml
+ examples/classes/Desktop/chat/pidgin/init.yml
+ examples/classes/Desktop/email/base.yml
+ examples/classes/Desktop/email/bidi.yml
+ examples/classes/Desktop/email/harden.yml
+ examples/classes/Desktop/email/icedove/base.yml
+ examples/classes/Desktop/email/icedove/harden.yml
+ examples/classes/Desktop/email/init.yml
+ examples/classes/Desktop/email/locale/ALL.yml
+ examples/classes/Desktop/email/locale/AMERICAS.yml
+ examples/classes/Desktop/email/locale/ASIA.yml
+ examples/classes/Desktop/email/locale/EU.yml
+ examples/classes/Desktop/email/locale/EUROPE.yml
+ examples/classes/Desktop/email/locale/INDIA.yml
+ examples/classes/Desktop/harden.yml
+ examples/classes/Desktop/init.yml
+ examples/classes/Desktop/locale/EU.yml
+ examples/classes/Desktop/media/audio/alsa.yml
+ examples/classes/Desktop/media/audio/pulseaudio.yml
+ examples/classes/Desktop/media/init.yml
+ examples/classes/Desktop/mobile/init.yml
+ examples/classes/Desktop/mobile/sync.yml
+ examples/classes/Desktop/office/init.yml
+ examples/classes/Desktop/office/locale/AFRICA.yml
+ examples/classes/Desktop/office/locale/ALL.yml
+ examples/classes/Desktop/office/locale/AMERICAS.yml
+ examples/classes/Desktop/office/locale/ASIA.yml
+ examples/classes/Desktop/office/locale/EU.yml
+ examples/classes/Desktop/office/locale/EUROPE.yml
+ examples/classes/Desktop/office/locale/INDIA.yml
+ examples/classes/Desktop/office/locale/ZA.yml
+ examples/classes/Desktop/office/presentation.yml
+ examples/classes/Desktop/office/spreadsheet.yml
+ examples/classes/Desktop/office/word-processor.yml
+ examples/classes/Desktop/scheduling/init.yml
+ examples/classes/Desktop/screensaver/unicode.yml
+ examples/classes/Desktop/tools/harden.yml
+ examples/classes/Desktop/tools/pgp/gtk.yml
+ examples/classes/Desktop/tools/pgp/init.yml
+ examples/classes/Desktop/web/base.yml
+ examples/classes/Desktop/web/harden.yml
+ examples/classes/Desktop/web/iceweasel/base.yml
+ examples/classes/Desktop/web/iceweasel/harden.yml
+ examples/classes/Desktop/web/init.yml
+ examples/classes/Desktop/web/java.yml
+ examples/classes/Desktop/web/locale/AFRICA.yml
+ examples/classes/Desktop/web/locale/ALL.yml
+ examples/classes/Desktop/web/locale/AMERICAS.yml
+ examples/classes/Desktop/web/locale/ASIA.yml
+ examples/classes/Desktop/web/locale/EU.yml
+ examples/classes/Desktop/web/locale/EUROPE.yml
+ examples/classes/Desktop/web/locale/INDIA.yml
+ examples/classes/Framework/base.yml
+ examples/classes/Framework/crypto/base.yml
+ examples/classes/Framework/crypto/gnupg/pinentry/gtk/init.yml
+ examples/classes/Framework/media/base.yml
+ examples/classes/Framework/media/wildmidi/limit.yml
+ examples/classes/Framework/pkg/apt/cli/aptitude.yml
+ examples/classes/Framework/pkg/base.yml
+ examples/classes/Framework/web/webkit/webkit1/gtk/avoid.yml
+ examples/classes/Hardware/base.yml
+ examples/classes/Hardware/gl/hardware/init.yml
+ examples/classes/Hardware/gl/init.yml
+ examples/classes/Hardware/gl/software/avoid.yml
+ examples/classes/Hardware/harden.yml
+ examples/classes/Hardware/laptop/acer/aao725.yml
+ examples/classes/Hardware/laptop/apple/macbook2-1.yml
+ examples/classes/Hardware/laptop/apple/macbook5-1.yml
+ examples/classes/Hardware/laptop/init.yml
+ examples/classes/Hardware/laptop/lenovo/edge145.yml
+ examples/classes/Hardware/motherboard/amd/athlon/64.yml
+ examples/classes/Hardware/motherboard/amd/athlon/init.yml
+ examples/classes/Hardware/motherboard/amd/c60.yml
+ examples/classes/Hardware/motherboard/amd/e1-2500.yml
+ examples/classes/Hardware/motherboard/asus/a7n8x.yml
+ examples/classes/Hardware/motherboard/intel/atom/32bit.yml
+ examples/classes/Hardware/motherboard/intel/baytrail-m.yml
+ examples/classes/Hardware/motherboard/intel/core2duo.yml
+ examples/classes/Hardware/motherboard/intel/pentium3.yml
+ examples/classes/Hardware/motherboard/via/nehemiah.yml
+ examples/classes/Hardware/motherboard/via/samuel2.yml
+ examples/classes/Hardware/net/bluetooth.yml
+ examples/classes/Hardware/net/pac/avoid.yml
+ examples/classes/Hardware/nic/broadcom/sta.yml
+ examples/classes/Hardware/nic/realtek/init.yml
+ examples/classes/Hardware/power.yml
+ examples/classes/Hardware/tools/harden.yml
+ examples/classes/Language/java/base.yml
+ examples/classes/Language/java/init.yml
+ examples/classes/Language/java/openjdk6/avoid.yml
+ examples/classes/Language/java/openjdk6/init.yml
+ examples/classes/Language/java/openjdk7/avoid.yml
+ examples/classes/Language/java/openjdk7/init.yml
+ examples/classes/Service/antivirus.yml
+ examples/classes/Service/base.yml
+ examples/classes/Service/dhcp/client.yml
+ examples/classes/Service/dhcp/init.yml
+ examples/classes/Service/dns/authoritative.yml
+ examples/classes/Service/dns/init.yml
+ examples/classes/Service/git.yml
+ examples/classes/Service/ids.yml
+ examples/classes/Service/init.yml
+ examples/classes/Service/log/init.yml
+ examples/classes/Service/log/remote.yml
+ examples/classes/Service/mail/antispam.yml
+ examples/classes/Service/mail/base.yml
+ examples/classes/Service/mail/imap.yml
+ examples/classes/Service/mail/init.yml
+ examples/classes/Service/mail/list.yml
+ examples/classes/Service/mail/mda.yml
+ examples/classes/Service/mail/mta/init.yml
+ examples/classes/Service/mail/mta/postfix.yml
+ examples/classes/Service/mail/sasl.yml
+ examples/classes/Service/mail/sieve.yml
+ examples/classes/Service/ssh.yml
+ examples/classes/Service/web/apache/gnutls.yml
+ examples/classes/Service/web/apache/init.yml
+ examples/classes/Service/web/apache/uwsgi.yml
+ examples/classes/Service/web/init.yml
+ examples/classes/Service/web/mail/cider.yml
+ examples/classes/Service/web/uwsgi/init.yml
+ examples/classes/Service/web/uwsgi/psgi.yml
+ examples/classes/Service/web/uwsgi/python.yml
+ examples/classes/Service/web/wiki/moinmoin.yml
+ examples/classes/Task/harden/desktop.yml
+ examples/classes/cli/compression/init.yml
+ examples/classes/cli/compression/uncommon.yml
+ examples/classes/cli/gpm.yml
+ examples/classes/cli/less.yml
+ examples/classes/cli/mc.yml
+ examples/classes/cli/ssh-server.yml
+ examples/classes/cli/web.yml
+ examples/classes/hw/acpi/full.yml
+ examples/classes/hw/acpi/init.yml
+ examples/classes/hw/bluetooth.yml
+ examples/classes/hw/crypto.yml
+ examples/classes/hw/firmware.yml
+ examples/classes/hw/mac/init.yml
+ examples/classes/hw/mac/laptop.yml
+ examples/classes/hw/power.yml
+ examples/classes/hw/x86/amd64.yml
+ examples/classes/hw/x86/i486.yml
+ examples/classes/hw/x86/i686.yml
+ examples/classes/x11/init.yml
+ examples/classes/x11/lightdm/gtk.yml
+ examples/classes/x11/lightdm/init.yml
+ examples/nodes/lxp5.yml
+ examples/nodes/parl-greens.yml
+ share/skel/preseed.cfg.in
+ share/skel/script.sh.in
+Copyright: Unknown
+License: Unknown
+
- Files: Changes
- META.json
- META.yml
- doap.ttl
++Files: README
++ lib/Boxer.pm
++ lib/Boxer/CLI.pm
+ lib/Boxer/CLI/Command.pm
+ lib/Boxer/CLI/Command/About.pm
+ lib/Boxer/CLI/Command/Aliases.pm
+ lib/Boxer/CLI/Command/Commands.pm
+ lib/Boxer/CLI/Command/Compose.pm
++ lib/Boxer/File/WithSkeleton.pm
++ lib/Boxer/Part.pm
+ lib/Boxer/Role/Interact.pm
+ lib/Boxer/Task.pm
+ lib/Boxer/Task/Classify.pm
+ lib/Boxer/Task/Serialize.pm
+ lib/Boxer/Types.pm
- Copyright: Copyright 2016 Jonas Smedegaard.
++ lib/Boxer/World.pm
++ lib/Boxer/World/Flat.pm
++ lib/Boxer/World/Reclass.pm
++Copyright: Copyright © 2013-2016 Jonas Smedegaard.
+License: GPL-1.0+ or Artistic-1.0
+
- Files: dist.ini
- t/00_compile.t
++Files: Changes
++ META.json
++ META.yml
++ bin/boxer
++ doap.ttl
++ t/world.t
++Copyright: Copyright 2017 Jonas Smedegaard.
++License: GPL-1.0+ or Artistic-1.0
++
++Files: t/00_compile.t
+ t/00_compile_scripts.t
+ t/01_app_help.t
+ t/fixme.t
+ t/minimumversion.t
+ t/pod.t
- Copyright: Copyright 2014 Jonas Smedegaard.
++Copyright: Copyright 2016 Jonas Smedegaard.
+License: GPL-1.0+ or Artistic-1.0
+
+Files: COPYRIGHT
+ CREDITS
+ SIGNATURE
+Copyright: None
+License: public-domain
+
- Files: README
- lib/Boxer.pm
- lib/Boxer/CLI.pm
- Copyright: This software is copyright (c) 2013-2015 by Jonas Smedegaard.
- License: GPL-1.0+ or Artistic-1.0
-
+Files: Makefile.PL
+Copyright: Copyright 2013 Toby Inkster.
+License: GPL-1.0+ or Artistic-1.0
+
- Files: bin/boxer
- Copyright: Copyright 2015 Jonas Smedegaard.
++Files: lib/Boxer/Part/Reclass.pm
++Copyright: Copyright © 2016 Jonas Smedegaard.
++License: GPL-1.0+ or Artistic-1.0
++
++Files: dist.ini
++Copyright: Copyright 2014 Jonas Smedegaard.
+License: GPL-1.0+ or Artistic-1.0
+
+License: Artistic-1.0
- This software is Copyright (c) 2016 by the copyright holder(s).
++ This software is Copyright (c) 2017 by the copyright holder(s).
+
+ This is free software, licensed under:
+
+ The Artistic License 1.0
+
+License: GPL-1.0
- This software is Copyright (c) 2016 by the copyright holder(s).
++ This software is Copyright (c) 2017 by the copyright holder(s).
+
+ This is free software, licensed under:
+
+ The GNU General Public License, Version 1, February 1989
diff --cc Changes
index 99b7743,0000000..a98284e
mode 100644,000000..100644
--- a/Changes
+++ b/Changes
@@@ -1,125 -1,0 +1,151 @@@
+Boxer
+=====
+
+Created: 2013-02-12
+Home page: <https://metacpan.org/release/Boxer>
+Home page: <https://wiki.debian.org/Boxer>
+Bug tracker: <http://rt.cpan.org/Dist/Display.html?Queue=Boxer>
+Maintainer: Jonas Smedegaard (JONASS) <jonass at cpan.org>
+
++v1.1.5 2017-01-24
++
++ [ Bug Fixes ]
++ - Fix chomp tweak lines.
++
++ [ Documentation ]
++ - Add some TODOs.
++ - Fix usage description for compose subcommand.
++
++ [ Packaging ]
++ - Run perlcritic with tidyall, and test both (not only perlcritic) in
++ TEST_AUTHOR mode.
++ - Use version with modern assignment. Extend copyright to current year.
++
++ [ Other ]
++ - Add Boxer::File::WithSkeleton class.
++ - Add World and Part classes, with unit test.
++ - Consistently use namespace::clean in modules. Order use by
++ pragma/non-Moo/Moo/cleanup and (roughly) by specificity.
++ - Drop unusued code in Boxer::CLI.
++ - Modernize to use perl v5.14, utf8, and strictures 2.
++ - Stop handle __PKGAUTOLIST__ in data (deprecated since 0.004).
++ - Stop skip undefined args in Task::Serialize (needed only for
++ Task::Classify).
++ - Stop use MooX::Types::MooseLike::Base.
++
+v1.1.4 2016-05-02
+
+ [ Bug Fixes ]
+ - Fix have current dir be default nodedir (as originally intended and
+ documented in boxer pod): Do XDG data_dirs lookup only on datadir,
+ leaving datadir undefined by default).
+
+v1.1.3 2016-05-02
+
+ [ Bug Fixes ]
+ - Fix use File::ShareDir.
+
+v1.1.2 2016-04-30
+
+ - Use File::ShareDir (not File::ShareDir::ProjectDistDir, strongly
+ discouraged by author). Thanks to Karen Etheridge (RT#114079).
+
+v1.1.1 2016-04-12
+
+ - Use Log::Any::Adapter::Screen (not obsolete predecessor
+ Log::Any::Adapter::ScreenColoredLevel).
+
+v1.1.0 2015-11-29
+
+ [ Bug Fixes ]
+ - Fix unescape \n and ${ for shellscript.
+ - Fix use apt-get (automated) or apt (interactive, on recent releases) in
+ skeleton scripts and notes (aptitude is not always available).
+
+ [ Documentation ]
+ - Add TODO on resolving named suites from relative ones.
+ - Extend copyright to cover current year.
+
+ [ Other ]
+ - Added: Pass node to skeleton files (and use in boilerplate, replacing
+ bogus DebianParl boilerplate.
+ - Added: Pass suite to skeleton files, and set as variable in shellscript
+ and preseed file late_script.
+ - Fix drop all hardcoded data from default skeleton files.
+ - Support empty packagelist.
+ - Tidy Boxer::Types.
+
+v1.0.0 2015-11-21
+
+ [ Bug Fixes ]
+ - Fix avoid Boxer::Task::Serialize spewing garbage when warning about
+ empty lists.
+ - Fix suppress failure to mark package auto-installed.
+
+ [ Documentation ]
+ - Rewrite INSTALL to use Debian boxer package.
+
+ [ Other ]
+ - Added: Implement --nonfree option for subcommand compose.
+ - Croak (not die) on broken input.
+ - Fixate suite in preseed file (resolved package list is suite-specific).
+ - Improve coercion and error messages for input paths.
+ - Release as stable, using semantic versioning.
+ - Sync example data with boxer-data.
+ - Tidy whitespace.
+ - Use MooX::Role::Logger (not MooX::Log::Any) and
+ Log::Any::Adapter::ScreenColoredLevel.
+
+0.004 2014-11-24
+
+ [ Bug Fixes ]
+ - Fix only warn (not die) on unresolved auto-markings, avoidance or
+ tweaks.
+
+ [ Documentation ]
+ - Add some TODOs.
+
+ [ Other ]
+ - Adjust example class set: Use reclass 1.4 ABI, and drop broken Printing
+ class.
+ - Adjust help output of Compose command to describe correct default
+ locations.
+ - Deprecate expansion of __PKGAUTOLIST__ in tweaklist.
+ - Move initial shell code for tweaklist out to skeleton file.
+ - Sort doc sections by explicit list (and alphabetically only as
+ fallback).
+ - Use Template::Tiny.
+
+0.003 2014-10-19
+
+ [ Documentation ]
+ - Update INSTALL file and pod synopsis slightly.
+
+ [ Packaging ]
+ - Fix copyright coverage to include current year.
+ - Fix require MooX::Log::Any.
+ - Require IPC::System::Simple.
+ - Tighten Moo requirement to at least 1.001000 (older are untested with
+ Type::Tiny).
+
+ [ Other ]
+ - Add --suite option (and drop it as 2nd argument) in compose command,
+ allowing multiple nodes instead.
+ - Added: Handle nodes, classes and skeleton files with separate options in
+ compose command.
+ - Added: Include builting skeleton files, and ship with example classes
+ and nodes.
+ - Explicitly use IPC::System::Simple (already implicitly used via autodie
+ + system() call).
+ - Refactor to strip undefined args handed over internally - a.k.a. coerce
+ Undef to default, to permit callers to sloppily pass App::Cmd options
+ as-is.
+
+0.002 2014-10-19
+
+ [ Packaging ]
+ - Fix all references to distribution name.
+ Toby Inkster++
+ - Fix time of initial release.
+
+0.001 2014-10-18 Initial release.
diff --cc LICENSE
index 6023ab4,0000000..fbe1aab
mode 100644,000000..100644
--- a/LICENSE
+++ b/LICENSE
@@@ -1,379 -1,0 +1,379 @@@
- This software is copyright (c) 2016 by Jonas Smedegaard.
++This software is copyright (c) 2017 by Jonas Smedegaard.
+
+This is free software; you can redistribute it and/or modify it under
+the same terms as the Perl 5 programming language system itself.
+
+Terms of the Perl programming language system itself
+
+a) the GNU General Public License as published by the Free
+ Software Foundation; either version 1, or (at your option) any
+ later version, or
+b) the "Artistic License"
+
+--- The GNU General Public License, Version 1, February 1989 ---
+
- This software is Copyright (c) 2016 by Jonas Smedegaard.
++This software is Copyright (c) 2017 by Jonas Smedegaard.
+
+This is free software, licensed under:
+
+ The GNU General Public License, Version 1, February 1989
+
+ GNU GENERAL PUBLIC LICENSE
+ Version 1, February 1989
+
+ Copyright (C) 1989 Free Software Foundation, Inc.
+ 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
+
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+ Preamble
+
+ The license agreements of most software companies try to keep users
+at the mercy of those companies. By contrast, our General Public
+License is intended to guarantee your freedom to share and change free
+software--to make sure the software is free for all its users. The
+General Public License applies to the Free Software Foundation's
+software and to any other program whose authors commit to using it.
+You can use it for your programs, too.
+
+ When we speak of free software, we are referring to freedom, not
+price. Specifically, the General Public License is designed to make
+sure that you have the freedom to give away or sell copies of free
+software, that you receive source code or can get it if you want it,
+that you can change the software or use pieces of it in new free
+programs; and that you know you can do these things.
+
+ To protect your rights, we need to make restrictions that forbid
+anyone to deny you these rights or to ask you to surrender the rights.
+These restrictions translate to certain responsibilities for you if you
+distribute copies of the software, or if you modify it.
+
+ For example, if you distribute copies of a such a program, whether
+gratis or for a fee, you must give the recipients all the rights that
+you have. You must make sure that they, too, receive or can get the
+source code. And you must tell them their rights.
+
+ We protect your rights with two steps: (1) copyright the software, and
+(2) offer you this license which gives you legal permission to copy,
+distribute and/or modify the software.
+
+ Also, for each author's protection and ours, we want to make certain
+that everyone understands that there is no warranty for this free
+software. If the software is modified by someone else and passed on, we
+want its recipients to know that what they have is not the original, so
+that any problems introduced by others will not reflect on the original
+authors' reputations.
+
+ The precise terms and conditions for copying, distribution and
+modification follow.
+
+ GNU GENERAL PUBLIC LICENSE
+ TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
+
+ 0. This License Agreement applies to any program or other work which
+contains a notice placed by the copyright holder saying it may be
+distributed under the terms of this General Public License. The
+"Program", below, refers to any such program or work, and a "work based
+on the Program" means either the Program or any work containing the
+Program or a portion of it, either verbatim or with modifications. Each
+licensee is addressed as "you".
+
+ 1. You may copy and distribute verbatim copies of the Program's source
+code as you receive it, in any medium, provided that you conspicuously and
+appropriately publish on each copy an appropriate copyright notice and
+disclaimer of warranty; keep intact all the notices that refer to this
+General Public License and to the absence of any warranty; and give any
+other recipients of the Program a copy of this General Public License
+along with the Program. You may charge a fee for the physical act of
+transferring a copy.
+
+ 2. You may modify your copy or copies of the Program or any portion of
+it, and copy and distribute such modifications under the terms of Paragraph
+1 above, provided that you also do the following:
+
+ a) cause the modified files to carry prominent notices stating that
+ you changed the files and the date of any change; and
+
+ b) cause the whole of any work that you distribute or publish, that
+ in whole or in part contains the Program or any part thereof, either
+ with or without modifications, to be licensed at no charge to all
+ third parties under the terms of this General Public License (except
+ that you may choose to grant warranty protection to some or all
+ third parties, at your option).
+
+ c) If the modified program normally reads commands interactively when
+ run, you must cause it, when started running for such interactive use
+ in the simplest and most usual way, to print or display an
+ announcement including an appropriate copyright notice and a notice
+ that there is no warranty (or else, saying that you provide a
+ warranty) and that users may redistribute the program under these
+ conditions, and telling the user how to view a copy of this General
+ Public License.
+
+ d) You may charge a fee for the physical act of transferring a
+ copy, and you may at your option offer warranty protection in
+ exchange for a fee.
+
+Mere aggregation of another independent work with the Program (or its
+derivative) on a volume of a storage or distribution medium does not bring
+the other work under the scope of these terms.
+
+ 3. You may copy and distribute the Program (or a portion or derivative of
+it, under Paragraph 2) in object code or executable form under the terms of
+Paragraphs 1 and 2 above provided that you also do one of the following:
+
+ a) accompany it with the complete corresponding machine-readable
+ source code, which must be distributed under the terms of
+ Paragraphs 1 and 2 above; or,
+
+ b) accompany it with a written offer, valid for at least three
+ years, to give any third party free (except for a nominal charge
+ for the cost of distribution) a complete machine-readable copy of the
+ corresponding source code, to be distributed under the terms of
+ Paragraphs 1 and 2 above; or,
+
+ c) accompany it with the information you received as to where the
+ corresponding source code may be obtained. (This alternative is
+ allowed only for noncommercial distribution and only if you
+ received the program in object code or executable form alone.)
+
+Source code for a work means the preferred form of the work for making
+modifications to it. For an executable file, complete source code means
+all the source code for all modules it contains; but, as a special
+exception, it need not include source code for modules which are standard
+libraries that accompany the operating system on which the executable
+file runs, or for standard header files or definitions files that
+accompany that operating system.
+
+ 4. You may not copy, modify, sublicense, distribute or transfer the
+Program except as expressly provided under this General Public License.
+Any attempt otherwise to copy, modify, sublicense, distribute or transfer
+the Program is void, and will automatically terminate your rights to use
+the Program under this License. However, parties who have received
+copies, or rights to use copies, from you under this General Public
+License will not have their licenses terminated so long as such parties
+remain in full compliance.
+
+ 5. By copying, distributing or modifying the Program (or any work based
+on the Program) you indicate your acceptance of this license to do so,
+and all its terms and conditions.
+
+ 6. Each time you redistribute the Program (or any work based on the
+Program), the recipient automatically receives a license from the original
+licensor to copy, distribute or modify the Program subject to these
+terms and conditions. You may not impose any further restrictions on the
+recipients' exercise of the rights granted herein.
+
+ 7. The Free Software Foundation may publish revised and/or new versions
+of the General Public License from time to time. Such new versions will
+be similar in spirit to the present version, but may differ in detail to
+address new problems or concerns.
+
+Each version is given a distinguishing version number. If the Program
+specifies a version number of the license which applies to it and "any
+later version", you have the option of following the terms and conditions
+either of that version or of any later version published by the Free
+Software Foundation. If the Program does not specify a version number of
+the license, you may choose any version ever published by the Free Software
+Foundation.
+
+ 8. If you wish to incorporate parts of the Program into other free
+programs whose distribution conditions are different, write to the author
+to ask for permission. For software which is copyrighted by the Free
+Software Foundation, write to the Free Software Foundation; we sometimes
+make exceptions for this. Our decision will be guided by the two goals
+of preserving the free status of all derivatives of our free software and
+of promoting the sharing and reuse of software generally.
+
+ NO WARRANTY
+
+ 9. BECAUSE THE PROGRAM IS LICENSED FREE OF CHARGE, THERE IS NO WARRANTY
+FOR THE PROGRAM, TO THE EXTENT PERMITTED BY APPLICABLE LAW. EXCEPT WHEN
+OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR OTHER PARTIES
+PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED
+OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
+TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU. SHOULD THE
+PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF ALL NECESSARY SERVICING,
+REPAIR OR CORRECTION.
+
+ 10. IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING
+WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY AND/OR
+REDISTRIBUTE THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES,
+INCLUDING ANY GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING
+OUT OF THE USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED
+TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY
+YOU OR THIRD PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER
+PROGRAMS), EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE
+POSSIBILITY OF SUCH DAMAGES.
+
+ END OF TERMS AND CONDITIONS
+
+ Appendix: How to Apply These Terms to Your New Programs
+
+ If you develop a new program, and you want it to be of the greatest
+possible use to humanity, the best way to achieve this is to make it
+free software which everyone can redistribute and change under these
+terms.
+
+ To do so, attach the following notices to the program. It is safest to
+attach them to the start of each source file to most effectively convey
+the exclusion of warranty; and each file should have at least the
+"copyright" line and a pointer to where the full notice is found.
+
+ <one line to give the program's name and a brief idea of what it does.>
+ Copyright (C) 19yy <name of author>
+
+ This program is free software; you can redistribute it and/or modify
+ it under the terms of the GNU General Public License as published by
+ the Free Software Foundation; either version 1, or (at your option)
+ any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Public License for more details.
+
+ You should have received a copy of the GNU General Public License
+ along with this program; if not, write to the Free Software
+ Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston MA 02110-1301 USA
+
+
+Also add information on how to contact you by electronic and paper mail.
+
+If the program is interactive, make it output a short notice like this
+when it starts in an interactive mode:
+
+ Gnomovision version 69, Copyright (C) 19xx name of author
+ Gnomovision comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+ This is free software, and you are welcome to redistribute it
+ under certain conditions; type `show c' for details.
+
+The hypothetical commands `show w' and `show c' should show the
+appropriate parts of the General Public License. Of course, the
+commands you use may be called something other than `show w' and `show
+c'; they could even be mouse-clicks or menu items--whatever suits your
+program.
+
+You should also get your employer (if you work as a programmer) or your
+school, if any, to sign a "copyright disclaimer" for the program, if
+necessary. Here a sample; alter the names:
+
+ Yoyodyne, Inc., hereby disclaims all copyright interest in the
+ program `Gnomovision' (a program to direct compilers to make passes
+ at assemblers) written by James Hacker.
+
+ <signature of Ty Coon>, 1 April 1989
+ Ty Coon, President of Vice
+
+That's all there is to it!
+
+
+--- The Artistic License 1.0 ---
+
- This software is Copyright (c) 2016 by Jonas Smedegaard.
++This software is Copyright (c) 2017 by Jonas Smedegaard.
+
+This is free software, licensed under:
+
+ The Artistic License 1.0
+
+The Artistic License
+
+Preamble
+
+The intent of this document is to state the conditions under which a Package
+may be copied, such that the Copyright Holder maintains some semblance of
+artistic control over the development of the package, while giving the users of
+the package the right to use and distribute the Package in a more-or-less
+customary fashion, plus the right to make reasonable modifications.
+
+Definitions:
+
+ - "Package" refers to the collection of files distributed by the Copyright
+ Holder, and derivatives of that collection of files created through
+ textual modification.
+ - "Standard Version" refers to such a Package if it has not been modified,
+ or has been modified in accordance with the wishes of the Copyright
+ Holder.
+ - "Copyright Holder" is whoever is named in the copyright or copyrights for
+ the package.
+ - "You" is you, if you're thinking about copying or distributing this Package.
+ - "Reasonable copying fee" is whatever you can justify on the basis of media
+ cost, duplication charges, time of people involved, and so on. (You will
+ not be required to justify it to the Copyright Holder, but only to the
+ computing community at large as a market that must bear the fee.)
+ - "Freely Available" means that no fee is charged for the item itself, though
+ there may be fees involved in handling the item. It also means that
+ recipients of the item may redistribute it under the same conditions they
+ received it.
+
+1. You may make and give away verbatim copies of the source form of the
+Standard Version of this Package without restriction, provided that you
+duplicate all of the original copyright notices and associated disclaimers.
+
+2. You may apply bug fixes, portability fixes and other modifications derived
+from the Public Domain or from the Copyright Holder. A Package modified in such
+a way shall still be considered the Standard Version.
+
+3. You may otherwise modify your copy of this Package in any way, provided that
+you insert a prominent notice in each changed file stating how and when you
+changed that file, and provided that you do at least ONE of the following:
+
+ a) place your modifications in the Public Domain or otherwise make them
+ Freely Available, such as by posting said modifications to Usenet or an
+ equivalent medium, or placing the modifications on a major archive site
+ such as ftp.uu.net, or by allowing the Copyright Holder to include your
+ modifications in the Standard Version of the Package.
+
+ b) use the modified Package only within your corporation or organization.
+
+ c) rename any non-standard executables so the names do not conflict with
+ standard executables, which must also be provided, and provide a separate
+ manual page for each non-standard executable that clearly documents how it
+ differs from the Standard Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+4. You may distribute the programs of this Package in object code or executable
+form, provided that you do at least ONE of the following:
+
+ a) distribute a Standard Version of the executables and library files,
+ together with instructions (in the manual page or equivalent) on where to
+ get the Standard Version.
+
+ b) accompany the distribution with the machine-readable source of the Package
+ with your modifications.
+
+ c) accompany any non-standard executables with their corresponding Standard
+ Version executables, giving the non-standard executables non-standard
+ names, and clearly documenting the differences in manual pages (or
+ equivalent), together with instructions on where to get the Standard
+ Version.
+
+ d) make other distribution arrangements with the Copyright Holder.
+
+5. You may charge a reasonable copying fee for any distribution of this
+Package. You may charge any fee you choose for support of this Package. You
+may not charge a fee for this Package itself. However, you may distribute this
+Package in aggregate with other (possibly commercial) programs as part of a
+larger (possibly commercial) software distribution provided that you do not
+advertise this Package as a product of your own.
+
+6. The scripts and library files supplied as input to or produced as output
+from the programs of this Package do not automatically fall under the copyright
+of this Package, but belong to whomever generated them, and may be sold
+commercially, and may be aggregated with this Package.
+
+7. C or perl subroutines supplied by you and linked into this Package shall not
+be considered part of this Package.
+
+8. The name of the Copyright Holder may not be used to endorse or promote
+products derived from this software without specific prior written permission.
+
+9. THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
+WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
+MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
+The End
+
diff --cc MANIFEST
index 9cb5780,0000000..776d1a6
mode 100644,000000..100644
--- a/MANIFEST
+++ b/MANIFEST
@@@ -1,223 -1,0 +1,230 @@@
+COPYRIGHT
+CREDITS
+Changes
+INSTALL
+LICENSE
+MANIFEST
+META.json
+META.yml
+Makefile.PL
+README
+SIGNATURE
+TODO
+bin/boxer
+dist.ini
+doap.ttl
+doc/boxer.svg
+examples/README
+examples/classes/Admin/apt/auto/all.yml
+examples/classes/Admin/apt/auto/core.yml
+examples/classes/Admin/apt/auto/functions.yml
+examples/classes/Admin/apt/init.yml
+examples/classes/Admin/apt/popcon.yml
+examples/classes/Admin/apt/tools/changes.yml
+examples/classes/Admin/apt/tools/init.yml
+examples/classes/Admin/auto.yml
+examples/classes/Admin/backup/init.yml
+examples/classes/Admin/backup/remote.yml
+examples/classes/Admin/base.yml
+examples/classes/Admin/disk/lvm.yml
+examples/classes/Admin/etc/functions.yml
+examples/classes/Admin/etc/track.yml
+examples/classes/Admin/harden/account/init.yml
+examples/classes/Admin/harden/account/strong.yml
+examples/classes/Admin/harden/init.yml
+examples/classes/Admin/harden/trustweb.yml
+examples/classes/Admin/init.yml
+examples/classes/Console/compression.yml
+examples/classes/Console/editor/init.yml
+examples/classes/Console/editor/vim.yml
+examples/classes/Console/filemanager.yml
+examples/classes/Console/init.yml
+examples/classes/Console/mail/init.yml
+examples/classes/Console/mail/list/init.yml
+examples/classes/Console/mail/list/tools.yml
+examples/classes/Console/mail/mutt.yml
+examples/classes/Console/mail/tools.yml
+examples/classes/Console/media/audio/alsa.yml
+examples/classes/Console/media/init.yml
+examples/classes/Console/mobile/init.yml
+examples/classes/Console/mobile/sync.yml
+examples/classes/Console/mouse.yml
+examples/classes/Console/multiplexer/init.yml
+examples/classes/Console/tools.yml
+examples/classes/Desktop/base.yml
+examples/classes/Desktop/chat/init.yml
+examples/classes/Desktop/chat/pidgin/crypto.yml
+examples/classes/Desktop/chat/pidgin/init.yml
+examples/classes/Desktop/email/base.yml
+examples/classes/Desktop/email/bidi.yml
+examples/classes/Desktop/email/harden.yml
+examples/classes/Desktop/email/icedove/base.yml
+examples/classes/Desktop/email/icedove/harden.yml
+examples/classes/Desktop/email/init.yml
+examples/classes/Desktop/email/locale/ALL.yml
+examples/classes/Desktop/email/locale/AMERICAS.yml
+examples/classes/Desktop/email/locale/ASIA.yml
+examples/classes/Desktop/email/locale/EU.yml
+examples/classes/Desktop/email/locale/EUROPE.yml
+examples/classes/Desktop/email/locale/INDIA.yml
+examples/classes/Desktop/harden.yml
+examples/classes/Desktop/init.yml
+examples/classes/Desktop/locale/EU.yml
+examples/classes/Desktop/media/audio/alsa.yml
+examples/classes/Desktop/media/audio/pulseaudio.yml
+examples/classes/Desktop/media/init.yml
+examples/classes/Desktop/mobile/init.yml
+examples/classes/Desktop/mobile/sync.yml
+examples/classes/Desktop/office/init.yml
+examples/classes/Desktop/office/locale/AFRICA.yml
+examples/classes/Desktop/office/locale/ALL.yml
+examples/classes/Desktop/office/locale/AMERICAS.yml
+examples/classes/Desktop/office/locale/ASIA.yml
+examples/classes/Desktop/office/locale/EU.yml
+examples/classes/Desktop/office/locale/EUROPE.yml
+examples/classes/Desktop/office/locale/INDIA.yml
+examples/classes/Desktop/office/locale/ZA.yml
+examples/classes/Desktop/office/presentation.yml
+examples/classes/Desktop/office/spreadsheet.yml
+examples/classes/Desktop/office/word-processor.yml
+examples/classes/Desktop/scheduling/init.yml
+examples/classes/Desktop/screensaver/unicode.yml
+examples/classes/Desktop/tools/harden.yml
+examples/classes/Desktop/tools/pgp/gtk.yml
+examples/classes/Desktop/tools/pgp/init.yml
+examples/classes/Desktop/web/base.yml
+examples/classes/Desktop/web/harden.yml
+examples/classes/Desktop/web/iceweasel/base.yml
+examples/classes/Desktop/web/iceweasel/harden.yml
+examples/classes/Desktop/web/init.yml
+examples/classes/Desktop/web/java.yml
+examples/classes/Desktop/web/locale/AFRICA.yml
+examples/classes/Desktop/web/locale/ALL.yml
+examples/classes/Desktop/web/locale/AMERICAS.yml
+examples/classes/Desktop/web/locale/ASIA.yml
+examples/classes/Desktop/web/locale/EU.yml
+examples/classes/Desktop/web/locale/EUROPE.yml
+examples/classes/Desktop/web/locale/INDIA.yml
+examples/classes/Framework/base.yml
+examples/classes/Framework/crypto/base.yml
+examples/classes/Framework/crypto/gnupg/pinentry/gtk/init.yml
+examples/classes/Framework/media/base.yml
+examples/classes/Framework/media/wildmidi/limit.yml
+examples/classes/Framework/pkg/apt/cli/aptitude.yml
+examples/classes/Framework/pkg/base.yml
+examples/classes/Framework/web/webkit/webkit1/gtk/avoid.yml
+examples/classes/Hardware/base.yml
+examples/classes/Hardware/gl/hardware/init.yml
+examples/classes/Hardware/gl/init.yml
+examples/classes/Hardware/gl/software/avoid.yml
+examples/classes/Hardware/harden.yml
+examples/classes/Hardware/laptop/acer/aao725.yml
+examples/classes/Hardware/laptop/apple/macbook2-1.yml
+examples/classes/Hardware/laptop/apple/macbook5-1.yml
+examples/classes/Hardware/laptop/init.yml
+examples/classes/Hardware/laptop/lenovo/edge145.yml
+examples/classes/Hardware/motherboard/amd/athlon/64.yml
+examples/classes/Hardware/motherboard/amd/athlon/init.yml
+examples/classes/Hardware/motherboard/amd/c60.yml
+examples/classes/Hardware/motherboard/amd/e1-2500.yml
+examples/classes/Hardware/motherboard/asus/a7n8x.yml
+examples/classes/Hardware/motherboard/intel/atom/32bit.yml
+examples/classes/Hardware/motherboard/intel/baytrail-m.yml
+examples/classes/Hardware/motherboard/intel/core2duo.yml
+examples/classes/Hardware/motherboard/intel/pentium3.yml
+examples/classes/Hardware/motherboard/via/nehemiah.yml
+examples/classes/Hardware/motherboard/via/samuel2.yml
+examples/classes/Hardware/net/bluetooth.yml
+examples/classes/Hardware/net/pac/avoid.yml
+examples/classes/Hardware/nic/broadcom/sta.yml
+examples/classes/Hardware/nic/realtek/init.yml
+examples/classes/Hardware/power.yml
+examples/classes/Hardware/tools/harden.yml
+examples/classes/Language/java/base.yml
+examples/classes/Language/java/init.yml
+examples/classes/Language/java/openjdk6/avoid.yml
+examples/classes/Language/java/openjdk6/init.yml
+examples/classes/Language/java/openjdk7/avoid.yml
+examples/classes/Language/java/openjdk7/init.yml
+examples/classes/Service/antivirus.yml
+examples/classes/Service/base.yml
+examples/classes/Service/dhcp/client.yml
+examples/classes/Service/dhcp/init.yml
+examples/classes/Service/dns/authoritative.yml
+examples/classes/Service/dns/init.yml
+examples/classes/Service/git.yml
+examples/classes/Service/ids.yml
+examples/classes/Service/init.yml
+examples/classes/Service/log/init.yml
+examples/classes/Service/log/remote.yml
+examples/classes/Service/mail/antispam.yml
+examples/classes/Service/mail/base.yml
+examples/classes/Service/mail/imap.yml
+examples/classes/Service/mail/init.yml
+examples/classes/Service/mail/list.yml
+examples/classes/Service/mail/mda.yml
+examples/classes/Service/mail/mta/init.yml
+examples/classes/Service/mail/mta/postfix.yml
+examples/classes/Service/mail/sasl.yml
+examples/classes/Service/mail/sieve.yml
+examples/classes/Service/ssh.yml
+examples/classes/Service/web/apache/gnutls.yml
+examples/classes/Service/web/apache/init.yml
+examples/classes/Service/web/apache/uwsgi.yml
+examples/classes/Service/web/init.yml
+examples/classes/Service/web/mail/cider.yml
+examples/classes/Service/web/uwsgi/init.yml
+examples/classes/Service/web/uwsgi/psgi.yml
+examples/classes/Service/web/uwsgi/python.yml
+examples/classes/Service/web/wiki/moinmoin.yml
+examples/classes/Task/harden/desktop.yml
+examples/classes/cli/compression/init.yml
+examples/classes/cli/compression/uncommon.yml
+examples/classes/cli/gpm.yml
+examples/classes/cli/less.yml
+examples/classes/cli/mc.yml
+examples/classes/cli/ssh-server.yml
+examples/classes/cli/web.yml
+examples/classes/hw/acpi/full.yml
+examples/classes/hw/acpi/init.yml
+examples/classes/hw/bluetooth.yml
+examples/classes/hw/crypto.yml
+examples/classes/hw/firmware.yml
+examples/classes/hw/mac/init.yml
+examples/classes/hw/mac/laptop.yml
+examples/classes/hw/power.yml
+examples/classes/hw/x86/amd64.yml
+examples/classes/hw/x86/i486.yml
+examples/classes/hw/x86/i686.yml
+examples/classes/x11/init.yml
+examples/classes/x11/lightdm/gtk.yml
+examples/classes/x11/lightdm/init.yml
+examples/nodes/lxp5.yml
+examples/nodes/parl-greens.yml
+lib/Boxer.pm
+lib/Boxer/CLI.pm
+lib/Boxer/CLI/Command.pm
+lib/Boxer/CLI/Command/About.pm
+lib/Boxer/CLI/Command/Aliases.pm
+lib/Boxer/CLI/Command/Commands.pm
+lib/Boxer/CLI/Command/Compose.pm
++lib/Boxer/File/WithSkeleton.pm
++lib/Boxer/Part.pm
++lib/Boxer/Part/Reclass.pm
+lib/Boxer/Role/Interact.pm
+lib/Boxer/Task.pm
+lib/Boxer/Task/Classify.pm
+lib/Boxer/Task/Serialize.pm
+lib/Boxer/Types.pm
++lib/Boxer/World.pm
++lib/Boxer/World/Flat.pm
++lib/Boxer/World/Reclass.pm
+share/skel/preseed.cfg.in
+share/skel/script.sh.in
+t/00_compile.t
+t/00_compile_scripts.t
+t/01_app_help.t
+t/fixme.t
+t/minimumversion.t
+t/pod.t
++t/world.t
diff --cc META.json
index 5a7d334,0000000..7c12a5b
mode 100644,000000..100644
--- a/META.json
+++ b/META.json
@@@ -1,155 -1,0 +1,175 @@@
+{
+ "abstract" : "boxer command line utils",
+ "author" : [
+ "Jonas Smedegaard (JONASS) <jonass at cpan.org>"
+ ],
+ "dynamic_config" : 0,
- "generated_by" : "Dist::Inkt::Profile::TOBYINK version 0.023, CPAN::Meta::Converter version 2.150005",
++ "generated_by" : "Dist::Inkt::Profile::TOBYINK version 0.023, CPAN::Meta::Converter version 2.150010",
+ "keywords" : [
+ "Debian",
+ "Distribution"
+ ],
+ "license" : [
+ "perl_5"
+ ],
+ "meta-spec" : {
+ "url" : "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ "version" : "2"
+ },
+ "name" : "Boxer",
+ "no_index" : {
+ "directory" : [
+ "eg",
+ "examples",
+ "inc",
+ "t",
+ "xt"
+ ]
+ },
+ "optional_features" : {},
+ "prereqs" : {
+ "configure" : {
+ "requires" : {
+ "ExtUtils::MakeMaker" : "6.17",
+ "File::ShareDir::Install" : "0.02"
+ }
+ },
+ "runtime" : {
+ "requires" : {
+ "App::Cmd" : "0",
+ "Capture::Tiny" : "0",
+ "File::BaseDir" : "0",
- "File::HomeDir" : "0",
+ "File::ShareDir" : "0",
+ "IPC::System::Simple" : "0",
- "JSON" : "2.00",
+ "Log::Any::Adapter::Screen" : "0",
+ "Module::Runtime" : "0",
+ "Moo" : "1.001000",
+ "MooX::Role::Logger" : "0",
- "MooX::Types::MooseLike::Base" : "0",
- "Path::Class" : "0",
- "Path::Tiny" : "0",
++ "Path::Tiny" : "0.054",
+ "Role::Commons" : "0",
+ "Template::Tiny" : "0.11",
+ "Try::Tiny" : "0",
+ "Types::Path::Tiny" : "0",
+ "Types::Standard" : "0",
+ "YAML::XS" : "0",
+ "autodie" : "0",
+ "match::simple" : "0",
+ "namespace::clean" : "0",
- "perl" : "5.010001",
- "strictures" : "0"
++ "perl" : "5.014000",
++ "strictures" : "2"
+ }
+ },
+ "test" : {
+ "requires" : {
+ "English" : "0",
+ "File::Spec" : "0",
+ "Test::Compile" : "0",
+ "Test::Fixme" : "0",
+ "Test::MinimumVersion" : "0",
+ "Test::More" : "0.61",
+ "Test::Pod" : "1.00",
+ "Test::Synopsis" : "0"
+ }
+ }
+ },
+ "provides" : {
+ "Boxer" : {
+ "file" : "lib/Boxer.pm",
- "version" : "v1.1.4"
++ "version" : "v1.1.5"
+ },
+ "Boxer::CLI" : {
+ "file" : "lib/Boxer/CLI.pm",
- "version" : "v1.1.4"
++ "version" : "v1.1.5"
+ },
+ "Boxer::CLI::Command" : {
+ "file" : "lib/Boxer/CLI/Command.pm",
- "version" : "v1.1.4"
++ "version" : "v1.1.5"
+ },
+ "Boxer::CLI::Command::About" : {
+ "file" : "lib/Boxer/CLI/Command/About.pm",
- "version" : "v1.1.4"
++ "version" : "v1.1.5"
+ },
+ "Boxer::CLI::Command::Aliases" : {
+ "file" : "lib/Boxer/CLI/Command/Aliases.pm",
- "version" : "v1.1.4"
++ "version" : "v1.1.5"
+ },
+ "Boxer::CLI::Command::Commands" : {
+ "file" : "lib/Boxer/CLI/Command/Commands.pm",
- "version" : "v1.1.4"
++ "version" : "v1.1.5"
+ },
+ "Boxer::CLI::Command::Compose" : {
+ "file" : "lib/Boxer/CLI/Command/Compose.pm",
- "version" : "v1.1.4"
++ "version" : "v1.1.5"
++ },
++ "Boxer::File::WithSkeleton" : {
++ "file" : "lib/Boxer/File/WithSkeleton.pm",
++ "version" : "v1.1.5"
++ },
++ "Boxer::Part" : {
++ "file" : "lib/Boxer/Part.pm",
++ "version" : "v1.1.5"
++ },
++ "Boxer::Part::Reclass" : {
++ "file" : "lib/Boxer/Part/Reclass.pm",
++ "version" : "v1.1.5"
+ },
+ "Boxer::Role::Interact" : {
+ "file" : "lib/Boxer/Role/Interact.pm",
- "version" : "v1.1.4"
++ "version" : "v1.1.5"
+ },
+ "Boxer::Task" : {
+ "file" : "lib/Boxer/Task.pm",
- "version" : "v1.1.4"
++ "version" : "v1.1.5"
+ },
+ "Boxer::Task::Classify" : {
+ "file" : "lib/Boxer/Task/Classify.pm",
- "version" : "v1.1.4"
++ "version" : "v1.1.5"
+ },
+ "Boxer::Task::Serialize" : {
+ "file" : "lib/Boxer/Task/Serialize.pm",
- "version" : "v1.1.4"
++ "version" : "v1.1.5"
+ },
+ "Boxer::Types" : {
+ "file" : "lib/Boxer/Types.pm",
- "version" : "v1.1.4"
++ "version" : "v1.1.5"
++ },
++ "Boxer::World" : {
++ "file" : "lib/Boxer/World.pm",
++ "version" : "v1.1.5"
++ },
++ "Boxer::World::Flat" : {
++ "file" : "lib/Boxer/World/Flat.pm",
++ "version" : "v1.1.5"
++ },
++ "Boxer::World::Reclass" : {
++ "file" : "lib/Boxer/World/Reclass.pm",
++ "version" : "v1.1.5"
+ }
+ },
+ "release_status" : "stable",
+ "resources" : {
+ "bugtracker" : {
+ "web" : "http://rt.cpan.org/Dist/Display.html?Queue=Boxer"
+ },
+ "homepage" : "https://metacpan.org/release/Boxer",
+ "license" : [
+ "http://dev.perl.org/licenses/"
+ ],
+ "repository" : {
+ "type" : "git",
+ "web" : "https://anonscm.debian.org/cgit/boxer/Boxer.git"
+ },
+ "x_identifier" : "http://purl.org/NET/cpan-uri/dist/Boxer/project"
+ },
- "version" : "v1.1.4",
++ "version" : "v1.1.5",
+ "x_help_wanted" : [
+ "documenter",
+ "tester"
+ ],
+ "x_provides_scripts" : {
+ "boxer" : {
+ "file" : "bin/boxer"
+ }
+ },
+ "x_serialization_backend" : "JSON::PP version 2.27400"
+}
diff --cc META.yml
index c871c6d,0000000..2eb8880
mode 100644,000000..100644
--- a/META.yml
+++ b/META.yml
@@@ -1,111 -1,0 +1,125 @@@
+---
+abstract: 'boxer command line utils'
+author:
+ - 'Jonas Smedegaard (JONASS) <jonass at cpan.org>'
+build_requires:
+ English: '0'
+ File::Spec: '0'
+ Test::Compile: '0'
+ Test::Fixme: '0'
+ Test::MinimumVersion: '0'
+ Test::More: '0.61'
+ Test::Pod: '1.00'
+ Test::Synopsis: '0'
+configure_requires:
+ ExtUtils::MakeMaker: '6.17'
+ File::ShareDir::Install: '0.02'
+dynamic_config: 0
- generated_by: 'Dist::Inkt::Profile::TOBYINK version 0.023, CPAN::Meta::Converter version 2.150005'
++generated_by: 'Dist::Inkt::Profile::TOBYINK version 0.023, CPAN::Meta::Converter version 2.150010'
+keywords:
+ - Debian
+ - Distribution
+license: perl
+meta-spec:
+ url: http://module-build.sourceforge.net/META-spec-v1.4.html
+ version: '1.4'
+name: Boxer
+no_index:
+ directory:
+ - eg
+ - examples
+ - inc
+ - t
+ - xt
+optional_features: {}
+provides:
+ Boxer:
+ file: lib/Boxer.pm
- version: v1.1.4
++ version: v1.1.5
+ Boxer::CLI:
+ file: lib/Boxer/CLI.pm
- version: v1.1.4
++ version: v1.1.5
+ Boxer::CLI::Command:
+ file: lib/Boxer/CLI/Command.pm
- version: v1.1.4
++ version: v1.1.5
+ Boxer::CLI::Command::About:
+ file: lib/Boxer/CLI/Command/About.pm
- version: v1.1.4
++ version: v1.1.5
+ Boxer::CLI::Command::Aliases:
+ file: lib/Boxer/CLI/Command/Aliases.pm
- version: v1.1.4
++ version: v1.1.5
+ Boxer::CLI::Command::Commands:
+ file: lib/Boxer/CLI/Command/Commands.pm
- version: v1.1.4
++ version: v1.1.5
+ Boxer::CLI::Command::Compose:
+ file: lib/Boxer/CLI/Command/Compose.pm
- version: v1.1.4
++ version: v1.1.5
++ Boxer::File::WithSkeleton:
++ file: lib/Boxer/File/WithSkeleton.pm
++ version: v1.1.5
++ Boxer::Part:
++ file: lib/Boxer/Part.pm
++ version: v1.1.5
++ Boxer::Part::Reclass:
++ file: lib/Boxer/Part/Reclass.pm
++ version: v1.1.5
+ Boxer::Role::Interact:
+ file: lib/Boxer/Role/Interact.pm
- version: v1.1.4
++ version: v1.1.5
+ Boxer::Task:
+ file: lib/Boxer/Task.pm
- version: v1.1.4
++ version: v1.1.5
+ Boxer::Task::Classify:
+ file: lib/Boxer/Task/Classify.pm
- version: v1.1.4
++ version: v1.1.5
+ Boxer::Task::Serialize:
+ file: lib/Boxer/Task/Serialize.pm
- version: v1.1.4
++ version: v1.1.5
+ Boxer::Types:
+ file: lib/Boxer/Types.pm
- version: v1.1.4
++ version: v1.1.5
++ Boxer::World:
++ file: lib/Boxer/World.pm
++ version: v1.1.5
++ Boxer::World::Flat:
++ file: lib/Boxer/World/Flat.pm
++ version: v1.1.5
++ Boxer::World::Reclass:
++ file: lib/Boxer/World/Reclass.pm
++ version: v1.1.5
+requires:
+ App::Cmd: '0'
+ Capture::Tiny: '0'
+ File::BaseDir: '0'
- File::HomeDir: '0'
+ File::ShareDir: '0'
+ IPC::System::Simple: '0'
- JSON: '2.00'
+ Log::Any::Adapter::Screen: '0'
+ Module::Runtime: '0'
+ Moo: '1.001000'
+ MooX::Role::Logger: '0'
- MooX::Types::MooseLike::Base: '0'
- Path::Class: '0'
- Path::Tiny: '0'
++ Path::Tiny: '0.054'
+ Role::Commons: '0'
+ Template::Tiny: '0.11'
+ Try::Tiny: '0'
+ Types::Path::Tiny: '0'
+ Types::Standard: '0'
+ YAML::XS: '0'
+ autodie: '0'
+ match::simple: '0'
+ namespace::clean: '0'
- perl: '5.010001'
- strictures: '0'
++ perl: '5.014000'
++ strictures: '2'
+resources:
+ Identifier: http://purl.org/NET/cpan-uri/dist/Boxer/project
+ bugtracker: http://rt.cpan.org/Dist/Display.html?Queue=Boxer
+ homepage: https://metacpan.org/release/Boxer
+ license: http://dev.perl.org/licenses/
+ repository: https://anonscm.debian.org/cgit/boxer/Boxer.git
- version: v1.1.4
++version: v1.1.5
+x_help_wanted:
+ - documenter
+ - tester
+x_provides_scripts:
+ boxer:
+ file: bin/boxer
+x_serialization_backend: 'CPAN::Meta::YAML version 0.018'
diff --cc Makefile.PL
index 9d98fe2,0000000..72f4a18
mode 100644,000000..100644
--- a/Makefile.PL
+++ b/Makefile.PL
@@@ -1,194 -1,0 +1,196 @@@
+use strict;
+use ExtUtils::MakeMaker 6.17;
+
+my $EUMM = eval( $ExtUtils::MakeMaker::VERSION );
+
+my $meta = {
+ "abstract" => "boxer command line utils",
+ "author" => ["Jonas Smedegaard (JONASS) <jonass\@cpan.org>"],
+ "dynamic_config" => 0,
- "generated_by" => "Dist::Inkt::Profile::TOBYINK version 0.023, CPAN::Meta::Converter version 2.150005",
++ "generated_by" => "Dist::Inkt::Profile::TOBYINK version 0.023, CPAN::Meta::Converter version 2.150010",
+ "keywords" => ["Debian", "Distribution"],
+ "license" => ["perl_5"],
+ "meta-spec" => {
+ url => "http://search.cpan.org/perldoc?CPAN::Meta::Spec",
+ version => 2,
+ },
+ "name" => "Boxer",
+ "no_index" => { directory => ["eg", "examples", "inc", "t", "xt"] },
+ "prereqs" => {
+ configure => {
+ requires => { "ExtUtils::MakeMaker" => 6.17, "File::ShareDir::Install" => 0.02 },
+ },
+ runtime => {
+ requires => {
- "App::Cmd" => 0,
- "autodie" => 0,
- "Capture::Tiny" => 0,
- "File::BaseDir" => 0,
- "File::HomeDir" => 0,
- "File::ShareDir" => 0,
- "IPC::System::Simple" => 0,
- "JSON" => "2.00",
- "Log::Any::Adapter::Screen" => 0,
- "match::simple" => 0,
- "Module::Runtime" => 0,
- "Moo" => "1.001000",
- "MooX::Role::Logger" => 0,
- "MooX::Types::MooseLike::Base" => 0,
- "namespace::clean" => 0,
- "Path::Class" => 0,
- "Path::Tiny" => 0,
- "perl" => 5.010001,
- "Role::Commons" => 0,
- "strictures" => 0,
- "Template::Tiny" => 0.11,
- "Try::Tiny" => 0,
- "Types::Path::Tiny" => 0,
- "Types::Standard" => 0,
- "YAML::XS" => 0,
++ "App::Cmd" => 0,
++ "autodie" => 0,
++ "Capture::Tiny" => 0,
++ "File::BaseDir" => 0,
++ "File::ShareDir" => 0,
++ "IPC::System::Simple" => 0,
++ "Log::Any::Adapter::Screen" => 0,
++ "match::simple" => 0,
++ "Module::Runtime" => 0,
++ "Moo" => "1.001000",
++ "MooX::Role::Logger" => 0,
++ "namespace::clean" => 0,
++ "Path::Tiny" => 0.054,
++ "perl" => "5.014000",
++ "Role::Commons" => 0,
++ "strictures" => 2,
++ "Template::Tiny" => 0.11,
++ "Try::Tiny" => 0,
++ "Types::Path::Tiny" => 0,
++ "Types::Standard" => 0,
++ "YAML::XS" => 0,
+ },
+ },
+ test => {
+ requires => {
+ "English" => 0,
+ "File::Spec" => 0,
+ "Test::Compile" => 0,
+ "Test::Fixme" => 0,
+ "Test::MinimumVersion" => 0,
+ "Test::More" => 0.61,
+ "Test::Pod" => "1.00",
+ "Test::Synopsis" => 0,
+ },
+ },
+ },
+ "provides" => {
- "Boxer" => { file => "lib/Boxer.pm", version => "v1.1.4" },
- "Boxer::CLI" => { file => "lib/Boxer/CLI.pm", version => "v1.1.4" },
- "Boxer::CLI::Command" => { file => "lib/Boxer/CLI/Command.pm", version => "v1.1.4" },
- "Boxer::CLI::Command::About" => { file => "lib/Boxer/CLI/Command/About.pm", version => "v1.1.4" },
- "Boxer::CLI::Command::Aliases" => { file => "lib/Boxer/CLI/Command/Aliases.pm", version => "v1.1.4" },
- "Boxer::CLI::Command::Commands" => { file => "lib/Boxer/CLI/Command/Commands.pm", version => "v1.1.4" },
- "Boxer::CLI::Command::Compose" => { file => "lib/Boxer/CLI/Command/Compose.pm", version => "v1.1.4" },
- "Boxer::Role::Interact" => { file => "lib/Boxer/Role/Interact.pm", version => "v1.1.4" },
- "Boxer::Task" => { file => "lib/Boxer/Task.pm", version => "v1.1.4" },
- "Boxer::Task::Classify" => { file => "lib/Boxer/Task/Classify.pm", version => "v1.1.4" },
- "Boxer::Task::Serialize" => { file => "lib/Boxer/Task/Serialize.pm", version => "v1.1.4" },
- "Boxer::Types" => { file => "lib/Boxer/Types.pm", version => "v1.1.4" },
++ "Boxer" => { file => "lib/Boxer.pm", version => "v1.1.5" },
++ "Boxer::CLI" => { file => "lib/Boxer/CLI.pm", version => "v1.1.5" },
++ "Boxer::CLI::Command" => { file => "lib/Boxer/CLI/Command.pm", version => "v1.1.5" },
++ "Boxer::CLI::Command::About" => { file => "lib/Boxer/CLI/Command/About.pm", version => "v1.1.5" },
++ "Boxer::CLI::Command::Aliases" => { file => "lib/Boxer/CLI/Command/Aliases.pm", version => "v1.1.5" },
++ "Boxer::CLI::Command::Commands" => { file => "lib/Boxer/CLI/Command/Commands.pm", version => "v1.1.5" },
++ "Boxer::CLI::Command::Compose" => { file => "lib/Boxer/CLI/Command/Compose.pm", version => "v1.1.5" },
++ "Boxer::File::WithSkeleton" => { file => "lib/Boxer/File/WithSkeleton.pm", version => "v1.1.5" },
++ "Boxer::Part" => { file => "lib/Boxer/Part.pm", version => "v1.1.5" },
++ "Boxer::Part::Reclass" => { file => "lib/Boxer/Part/Reclass.pm", version => "v1.1.5" },
++ "Boxer::Role::Interact" => { file => "lib/Boxer/Role/Interact.pm", version => "v1.1.5" },
++ "Boxer::Task" => { file => "lib/Boxer/Task.pm", version => "v1.1.5" },
++ "Boxer::Task::Classify" => { file => "lib/Boxer/Task/Classify.pm", version => "v1.1.5" },
++ "Boxer::Task::Serialize" => { file => "lib/Boxer/Task/Serialize.pm", version => "v1.1.5" },
++ "Boxer::Types" => { file => "lib/Boxer/Types.pm", version => "v1.1.5" },
++ "Boxer::World" => { file => "lib/Boxer/World.pm", version => "v1.1.5" },
++ "Boxer::World::Flat" => { file => "lib/Boxer/World/Flat.pm", version => "v1.1.5" },
++ "Boxer::World::Reclass" => { file => "lib/Boxer/World/Reclass.pm", version => "v1.1.5" },
+ },
+ "release_status" => "stable",
+ "resources" => {
+ bugtracker => { web => "http://rt.cpan.org/Dist/Display.html?Queue=Boxer" },
+ homepage => "https://metacpan.org/release/Boxer",
+ license => ["http://dev.perl.org/licenses/"],
+ repository => {
+ type => "git",
+ web => "https://anonscm.debian.org/cgit/boxer/Boxer.git",
+ },
+ x_identifier => "http://purl.org/NET/cpan-uri/dist/Boxer/project",
+ },
- "version" => "v1.1.4",
++ "version" => "v1.1.5",
+ "x_help_wanted" => ["documenter", "tester"],
+ "x_provides_scripts" => { boxer => { file => "bin/boxer" } },
+};
+
+my %dynamic_config;
+
+my %WriteMakefileArgs = (
+ ABSTRACT => $meta->{abstract},
+ AUTHOR => ($EUMM >= 6.5702 ? $meta->{author} : $meta->{author}[0]),
+ DISTNAME => $meta->{name},
+ VERSION => $meta->{version},
+ EXE_FILES => [ map $_->{file}, values %{ $meta->{x_provides_scripts} || {} } ],
+ NAME => do { my $n = $meta->{name}; $n =~ s/-/::/g; $n },
+ test => { TESTS => "t/*.t" },
+ %dynamic_config,
+);
+
+$WriteMakefileArgs{LICENSE} = $meta->{license}[0] if $EUMM >= 6.3001;
+
+sub deps
+{
+ my %r;
+ for my $stage (@_)
+ {
+ for my $dep (keys %{$meta->{prereqs}{$stage}{requires}})
+ {
+ next if $dep eq 'perl';
+ my $ver = $meta->{prereqs}{$stage}{requires}{$dep};
+ $r{$dep} = $ver if !exists($r{$dep}) || $ver >= $r{$dep};
+ }
+ }
+ \%r;
+}
+
+my ($build_requires, $configure_requires, $runtime_requires, $test_requires);
+if ($EUMM >= 6.6303)
+{
+ $WriteMakefileArgs{BUILD_REQUIRES} ||= deps('build');
+ $WriteMakefileArgs{CONFIGURE_REQUIRES} ||= deps('configure');
+ $WriteMakefileArgs{TEST_REQUIRES} ||= deps('test');
+ $WriteMakefileArgs{PREREQ_PM} ||= deps('runtime');
+}
+elsif ($EUMM >= 6.5503)
+{
+ $WriteMakefileArgs{BUILD_REQUIRES} ||= deps('build', 'test');
+ $WriteMakefileArgs{CONFIGURE_REQUIRES} ||= deps('configure');
+ $WriteMakefileArgs{PREREQ_PM} ||= deps('runtime');
+}
+elsif ($EUMM >= 6.52)
+{
+ $WriteMakefileArgs{CONFIGURE_REQUIRES} ||= deps('configure');
+ $WriteMakefileArgs{PREREQ_PM} ||= deps('runtime', 'build', 'test');
+}
+else
+{
+ $WriteMakefileArgs{PREREQ_PM} ||= deps('configure', 'build', 'test', 'runtime');
+}
+
+{
+ my ($minperl) = reverse sort(
+ grep defined && /^[0-9]+(\.[0-9]+)?$/,
+ map $meta->{prereqs}{$_}{requires}{perl},
+ qw( configure build runtime )
+ );
+
+ if (defined($minperl))
+ {
+ die "Installing $meta->{name} requires Perl >= $minperl"
+ unless $] >= $minperl;
+
+ $WriteMakefileArgs{MIN_PERL_VERSION} ||= $minperl
+ if $EUMM >= 6.48;
+ }
+}
+
+sub FixMakefile
+{
+ return unless -d 'inc';
+ my $file = shift;
+
+ local *MAKEFILE;
+ open MAKEFILE, "< $file" or die "FixMakefile: Couldn't open $file: $!; bailing out";
+ my $makefile = do { local $/; <MAKEFILE> };
+ close MAKEFILE or die $!;
+
+ $makefile =~ s/\b(test_harness\(\$\(TEST_VERBOSE\), )/$1'inc', /;
+ $makefile =~ s/( -I\$\(INST_ARCHLIB\))/ -Iinc$1/g;
+ $makefile =~ s/( "-I\$\(INST_LIB\)")/ "-Iinc"$1/g;
+ $makefile =~ s/^(FULLPERL = .*)/$1 "-Iinc"/m;
+ $makefile =~ s/^(PERL = .*)/$1 "-Iinc"/m;
+
+ open MAKEFILE, "> $file" or die "FixMakefile: Couldn't open $file: $!; bailing out";
+ print MAKEFILE $makefile or die $!;
+ close MAKEFILE or die $!;
+}
+
+use File::ShareDir::Install;
+install_share 'share';
+{ package MY; use File::ShareDir::Install qw(postamble) };
+
+my $mm = WriteMakefile(%WriteMakefileArgs);
+FixMakefile($mm->{FIRST_MAKEFILE} || 'Makefile');
+exit(0);
+
diff --cc README
index 1bb2b6e,0000000..138b201
mode 100644,000000..100644
--- a/README
+++ b/README
@@@ -1,27 -1,0 +1,30 @@@
+NAME
+ Boxer - system deployment ninja tricks
+
++VERSION
++ Version v1.1.5
++
+DESCRIPTION
+ Framework for system deployment ninja tricks
+
+BUGS
+ Please report any bugs to
+ <http://rt.cpan.org/Dist/Display.html?Queue=Boxer>.
+
+SEE ALSO
+ boxer.
+
+AUTHOR
- Jonas Smedegaard <dr at jones.dk>.
++ Jonas Smedegaard `<dr at jones.dk>`.
+
+COPYRIGHT AND LICENCE
- This software is copyright (c) 2013-2015 by Jonas Smedegaard.
++ Copyright © 2013-2016 Jonas Smedegaard
+
+ This is free software; you can redistribute it and/or modify it under the
+ same terms as the Perl 5 programming language system itself.
+
+DISCLAIMER OF WARRANTIES
+ THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED
+ WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
+ MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
+
diff --cc SIGNATURE
index 95ddac4,0000000..6eb9702
mode 100644,000000..100644
--- a/SIGNATURE
+++ b/SIGNATURE
@@@ -1,255 -1,0 +1,245 @@@
+This file contains message digests of all files listed in MANIFEST,
- signed via the Module::Signature module, version 0.79.
++signed via the Module::Signature module, version 0.81.
+
+To verify the content in this distribution, first make sure you have
+Module::Signature installed, then type:
+
+ % cpansign -v
+
+It will check each file's integrity, as well as the signature's
+validity. If "==> Signature verified OK! <==" is not displayed,
+the distribution may already have been compromised, and you should
+not run its Makefile.PL or Build.PL.
+
+-----BEGIN PGP SIGNED MESSAGE-----
- Hash: SHA1
++Hash: SHA256
+
- SHA1 4604851011fb865ea3e7a2c7fde8e56521853298 COPYRIGHT
++SHA1 b80914f670c13ed969c34bda31b282dfafba4d33 COPYRIGHT
+SHA1 6c20c21af1aee1cc223733f8ad611d6e78ef790b CREDITS
- SHA1 7533e2453dcf1c9cd0a38ba9458d6c46b98734e4 Changes
++SHA1 ac159bf79e001f0bc73d3c2b7c5da8453908a4a2 Changes
+SHA1 b199daf5b34dc2f8f1a17edf821af560e72d7c54 INSTALL
- SHA1 f2eb4743622d543c7d59bfc25ec9490c32109cf5 LICENSE
- SHA1 319e0673b5a771b173d6cb2a74a87e40fbf89c54 MANIFEST
- SHA1 290beb9f910ce2fb9e6b502e5b52ca2959af903a META.json
- SHA1 df8cb7000a2167489c8e3db54762390adb548faa META.yml
- SHA1 3824da40165d7dd00edca969b547072ff8bec187 Makefile.PL
- SHA1 ba398856d2427353fe3eb93af2f5f5ed875f41eb README
- SHA1 d474a2a6da6b07d395a903d20612c6cba42141ae TODO
- SHA1 f2289c8d12720e0a858cad4edd5ac1155656aca1 bin/boxer
++SHA1 669fff2c2aa740c31d6546341aa7627c248454c6 LICENSE
++SHA1 32f71780808987c77911be49c06b626328d71cf3 MANIFEST
++SHA1 fb99d5fa3fd21d24fde965a0ac246eed1957b384 META.json
++SHA1 728f9b97960baab884f1a4e47264d463dbd7a860 META.yml
++SHA1 21cd40660db5642207454363401630026641696f Makefile.PL
++SHA1 81d5e803a8aeb5e8ab2b52bf96b166222d01b5c5 README
++SHA1 28172458c570fec482572f4ebc19bb0609cdf24a TODO
++SHA1 d8a7ee1564a3da8af9726fe0c5ad6751a88bd0c1 bin/boxer
+SHA1 c59760e54130231bcd42e193e41df8420a5d8bd9 dist.ini
- SHA1 e3d4c8a541b404621d09fc51d3dcc3d7f0df6c47 doap.ttl
++SHA1 5d95c8259e1182dfbf76b72125c8e6877f109e39 doap.ttl
+SHA1 f2f5df67593d316760b27e089157ab26ca1cc4e1 doc/boxer.svg
+SHA1 919d3b2bb4100a6a9731e85c91f70f957e42364d examples/README
+SHA1 bde3ca64437336189476c015b54fa4a627ada4f7 examples/classes/Admin/apt/auto/all.yml
+SHA1 9a4323bdf5b81d59a8a470ad6a0c1ab0639efabd examples/classes/Admin/apt/auto/core.yml
+SHA1 e8c3843755fa88d2388088d95b0f9592d34bef05 examples/classes/Admin/apt/auto/functions.yml
+SHA1 4a09ba79a6289de4099d9058e656535f9a460a15 examples/classes/Admin/apt/init.yml
+SHA1 e31e421015c05adffcc840c4ad548034544d8213 examples/classes/Admin/apt/popcon.yml
+SHA1 52b47d8d290828676d222f9f4db65f863de9c880 examples/classes/Admin/apt/tools/changes.yml
+SHA1 6712534e5888a51377cdf205da4a35d3c935b90c examples/classes/Admin/apt/tools/init.yml
+SHA1 9d0232ac5c3fdf8bd4d69954ad346fcf9b3d86dd examples/classes/Admin/auto.yml
+SHA1 648f3b78723e18ee227f76e45e7e739badd4325e examples/classes/Admin/backup/init.yml
+SHA1 cd81f861eb10cb1af5b1f32cd2191cf060dd1640 examples/classes/Admin/backup/remote.yml
+SHA1 0f550fe85a7fd84240d4abd8c9f53fad8be0a72a examples/classes/Admin/base.yml
+SHA1 973fc6290f0e80e3a6d42592aa856311f37147e3 examples/classes/Admin/disk/lvm.yml
+SHA1 7f0ef298a2aead78475259af5407249b42f57f33 examples/classes/Admin/etc/functions.yml
+SHA1 e56168168297f74570cdb23df12c03d8933c3b76 examples/classes/Admin/etc/track.yml
+SHA1 9b2cbbda7cbf69e40ed2a846642f76205b87b90f examples/classes/Admin/harden/account/init.yml
+SHA1 b734e09988afccaf5a316ba56df61fa79b624412 examples/classes/Admin/harden/account/strong.yml
+SHA1 c39523b9774c744d0d98e7ec4663b7a6b0be72fc examples/classes/Admin/harden/init.yml
+SHA1 68e4cc94f2298d83340787b9f24bff23dde718e3 examples/classes/Admin/harden/trustweb.yml
+SHA1 0f550fe85a7fd84240d4abd8c9f53fad8be0a72a examples/classes/Admin/init.yml
+SHA1 0bce79ff6b06bb79f111aa9849b2a219270e912a examples/classes/Console/compression.yml
+SHA1 de5805ec976fc68b04f3fd43a4838c12f08fb24f examples/classes/Console/editor/init.yml
+SHA1 cfaaba5fdb748583febec07a445c3379eaee4534 examples/classes/Console/editor/vim.yml
+SHA1 f913ebc705c81b267c660566bb96bb0b50aa24e1 examples/classes/Console/filemanager.yml
+SHA1 d6f5c89f27b9527c39a553444fc143bc5548157a examples/classes/Console/init.yml
+SHA1 fcb672771563705a292eddb052900b872d8e349e examples/classes/Console/mail/init.yml
+SHA1 229e1efd2ce688c905595c35add98bda0f9ec3e9 examples/classes/Console/mail/list/init.yml
+SHA1 294862753c3108c6da0ca1ec8817cf33f83413d7 examples/classes/Console/mail/list/tools.yml
+SHA1 65758035251269b6bd315269b556602392554ce3 examples/classes/Console/mail/mutt.yml
+SHA1 492aab0060cefe2d0a833f2dd2c4bde1e0afa764 examples/classes/Console/mail/tools.yml
+SHA1 a5d535edaf50371accffa4a5bbf5d3ab431d279c examples/classes/Console/media/audio/alsa.yml
+SHA1 e4ad6e1274a9bb49ce6b25927e7bcad39a0733aa examples/classes/Console/media/init.yml
+SHA1 86a5a30d6d9323b7194f368205bb4134dc271057 examples/classes/Console/mobile/init.yml
+SHA1 d2f4f4c8172da0f08eb4d17aae261cc972679976 examples/classes/Console/mobile/sync.yml
+SHA1 da98ddd58abf9812d6168853677677d6cc1d7051 examples/classes/Console/mouse.yml
+SHA1 838591b9904ec3cc4d524ac19684dfc3cdf092e0 examples/classes/Console/multiplexer/init.yml
+SHA1 e8e2c7ce0b73849e78c5e0eb5596d9e6af106faf examples/classes/Console/tools.yml
+SHA1 8215799a6ebf081c1c74ba330fc1cc1957b05ea1 examples/classes/Desktop/base.yml
+SHA1 68694b198eaea87e30dba471e4bca19d13a8b0ee examples/classes/Desktop/chat/init.yml
+SHA1 1eaca255408545bb554ac0e4bd228dfa0aeeda05 examples/classes/Desktop/chat/pidgin/crypto.yml
+SHA1 c253692b69f07adf4a9424fc57ab0aa13409d986 examples/classes/Desktop/chat/pidgin/init.yml
+SHA1 224d5ccfc0e01f93b8ce0681761736ff1eab398f examples/classes/Desktop/email/base.yml
+SHA1 474ab32715d335e5106d5e0708451833546a75f6 examples/classes/Desktop/email/bidi.yml
+SHA1 0a6f955c42c4f1d8b743ad0233520097ac776dff examples/classes/Desktop/email/harden.yml
+SHA1 96090d232ac6c1f6bbed5fc3e465be92717c9105 examples/classes/Desktop/email/icedove/base.yml
+SHA1 ddc83ab596535d26aebfd22041be594f0c4f6aee examples/classes/Desktop/email/icedove/harden.yml
+SHA1 528d1b988b0f021ac7fb88281db22c3d109a859e examples/classes/Desktop/email/init.yml
+SHA1 c883ce1ccc6487dbcdfdafaf0d21f9532977d612 examples/classes/Desktop/email/locale/ALL.yml
+SHA1 ef0f0980868c42a9e8f4e7da139f3cd83dd62dab examples/classes/Desktop/email/locale/AMERICAS.yml
+SHA1 1ddd76c988b8cc305169c832142a35bd751d90dd examples/classes/Desktop/email/locale/ASIA.yml
+SHA1 2657584e6c4be8f8e88c9fa5a49b97c9a88ecd3b examples/classes/Desktop/email/locale/EU.yml
+SHA1 1fc0ff86112f46e09d691c8fdff76637e14542ba examples/classes/Desktop/email/locale/EUROPE.yml
+SHA1 528cb47a6a44f043ac23a9ee63ea3bcf00a1f399 examples/classes/Desktop/email/locale/INDIA.yml
+SHA1 a077b254f0f9ae472183ae5200d104134b822c9c examples/classes/Desktop/harden.yml
+SHA1 8215799a6ebf081c1c74ba330fc1cc1957b05ea1 examples/classes/Desktop/init.yml
+SHA1 348bdb6cbd18605f8dc0daf5a3feae01d06bc864 examples/classes/Desktop/locale/EU.yml
+SHA1 2dc7613f6f90b4fe106994bf02ad230a6260e57f examples/classes/Desktop/media/audio/alsa.yml
+SHA1 9c2578b2b07e2260026ee9df4eef28c462b1eb22 examples/classes/Desktop/media/audio/pulseaudio.yml
+SHA1 e2d269198eaf46949a1e44bff268597f009256a7 examples/classes/Desktop/media/init.yml
+SHA1 2c0b7699238e651e2a44a0e8e208a786cd73155c examples/classes/Desktop/mobile/init.yml
+SHA1 4562fb3c2826019e4f93f3a28d07f37365f394a9 examples/classes/Desktop/mobile/sync.yml
+SHA1 1ad20e2934e2fb1f9990029ad9aeb057c7995f1f examples/classes/Desktop/office/init.yml
+SHA1 6dbc9206453e2c7b1df79bc859e3f964cdf77e9f examples/classes/Desktop/office/locale/AFRICA.yml
+SHA1 41d0eb3ba8fb7bb9a4239d698c28be34721eeffa examples/classes/Desktop/office/locale/ALL.yml
+SHA1 ae270782294145a6da8c2e75cf7ac944649a4b0a examples/classes/Desktop/office/locale/AMERICAS.yml
+SHA1 e513e741ac320fa3b400f1de3f6ec2a338c02eee examples/classes/Desktop/office/locale/ASIA.yml
+SHA1 dadd85ba036c465ec6dc0464334c33481bafee9f examples/classes/Desktop/office/locale/EU.yml
+SHA1 e4aba019fe7de6f2cc546505ee4e95e7864186d6 examples/classes/Desktop/office/locale/EUROPE.yml
+SHA1 68a403b0d5603b205a268730fc5e7aa97f9353d7 examples/classes/Desktop/office/locale/INDIA.yml
+SHA1 cb9419cc0ab67538bff3c0fd1aa15cd1b7b8a599 examples/classes/Desktop/office/locale/ZA.yml
+SHA1 d4cbe6721c8452be095f832292d9a07b377c7b86 examples/classes/Desktop/office/presentation.yml
+SHA1 a7562d3a27bbe2280a43dc152af1198e47681885 examples/classes/Desktop/office/spreadsheet.yml
+SHA1 f6fd85f4c1e26b1ca71c46b397d378eeeaccb97b examples/classes/Desktop/office/word-processor.yml
+SHA1 a4596b7fbd99cf853cb14884f6f5c349ac62ffc8 examples/classes/Desktop/scheduling/init.yml
+SHA1 b9432d2df4fcc39cd17e91e0bf386af27e85d11b examples/classes/Desktop/screensaver/unicode.yml
+SHA1 a90a1a9575f9371b930460d7580cf8829cee8469 examples/classes/Desktop/tools/harden.yml
+SHA1 10dfc41cfb8fa85c0f2ba9339cc90cd399c668ca examples/classes/Desktop/tools/pgp/gtk.yml
+SHA1 c20bd53ac4cdd57cdf8f7ab0ede803843c6f6fad examples/classes/Desktop/tools/pgp/init.yml
+SHA1 2a55b0bba0b84b9e6676cb547d2ec9ef573374c8 examples/classes/Desktop/web/base.yml
+SHA1 8c14ab89c6a8fde1d6f5ba1f05644abf2dfa2039 examples/classes/Desktop/web/harden.yml
+SHA1 4d80051b8ee7b7c1c57b3dd664f5a4e66451299d examples/classes/Desktop/web/iceweasel/base.yml
+SHA1 713176f03b43c7e7d85f9a887635d92e0eb0d732 examples/classes/Desktop/web/iceweasel/harden.yml
+SHA1 ada91e6de7bd76043f7d88e2aa86bb7667a7a0eb examples/classes/Desktop/web/init.yml
+SHA1 90f0909e3205f95b1baeb39eb5d5c8b4bf290b16 examples/classes/Desktop/web/java.yml
+SHA1 d92cd2cb44b2572e7462d17d8c1a5f2ac77df1f4 examples/classes/Desktop/web/locale/AFRICA.yml
+SHA1 d6eaf17f4179d9ac59f53edf5998069a3ac81c48 examples/classes/Desktop/web/locale/ALL.yml
+SHA1 04f42a49bc3cc849aa02e3e0780439be51030aa1 examples/classes/Desktop/web/locale/AMERICAS.yml
+SHA1 63dab25bdea0930671e7cce46352f2aac27548d5 examples/classes/Desktop/web/locale/ASIA.yml
+SHA1 30eebe8b20feb891b21d0da667015c861ab81cbd examples/classes/Desktop/web/locale/EU.yml
+SHA1 e5949a390b06bf7ab4733e8f328e1b10e65805d7 examples/classes/Desktop/web/locale/EUROPE.yml
+SHA1 25cd26aa4eaca4b15a4f45e47e2971b1f39bed35 examples/classes/Desktop/web/locale/INDIA.yml
+SHA1 5b1a545211f663b9f85f2b3fc2c8ba0d3a59663e examples/classes/Framework/base.yml
+SHA1 f92c6067c8b1df3415ae5b7ebe192b98bb450901 examples/classes/Framework/crypto/base.yml
+SHA1 4ed3b74ff36ff3be75831a3a32377fcc6f1c81bf examples/classes/Framework/crypto/gnupg/pinentry/gtk/init.yml
+SHA1 e0712611476c04e5d1332dba5c9f9bb123e3d21e examples/classes/Framework/media/base.yml
+SHA1 bf1644485547fb1c065bc5e3f5eb5a7cfd67da1c examples/classes/Framework/media/wildmidi/limit.yml
+SHA1 7783201b59a1d8dcb1062c699a403bdb88118bdc examples/classes/Framework/pkg/apt/cli/aptitude.yml
+SHA1 1e104c97fc838f6ce3e961ce679f8ddf86dc39d0 examples/classes/Framework/pkg/base.yml
+SHA1 f4bf39f679ad83c2de6d69ac9e187317a184cb97 examples/classes/Framework/web/webkit/webkit1/gtk/avoid.yml
+SHA1 922c3dee0088ab16c918d9a583f29901952ca3a2 examples/classes/Hardware/base.yml
+SHA1 0a6a7855b1361b135e20923a793cea1cd0bcd45c examples/classes/Hardware/gl/hardware/init.yml
+SHA1 35b8eaf59744bf40ed63075cd2ef46234f1c7c58 examples/classes/Hardware/gl/init.yml
+SHA1 d415688bfa2358bc1c3af4d7b2509e15d5b67eca examples/classes/Hardware/gl/software/avoid.yml
+SHA1 80a6e2feff5949a9bf6eb3a73c5f5f05921a862c examples/classes/Hardware/harden.yml
+SHA1 2c727ead1adb5708ec2aaa8678a83751c79a2d1c examples/classes/Hardware/laptop/acer/aao725.yml
+SHA1 90a985fdf1537caf77f910c2a4fa5c3df6366311 examples/classes/Hardware/laptop/apple/macbook2-1.yml
+SHA1 ec60c7e578cfc4674b2feae5342a2e5a0c9a3c44 examples/classes/Hardware/laptop/apple/macbook5-1.yml
+SHA1 b0dc06597b26daa005f092e754cbc732ebcbd474 examples/classes/Hardware/laptop/init.yml
+SHA1 2dbf2e048a0cebf3699db1d80c9c6e4d8fea650a examples/classes/Hardware/laptop/lenovo/edge145.yml
+SHA1 8c3273263ad49c51b07ace784db24ecc2f69c3b8 examples/classes/Hardware/motherboard/amd/athlon/64.yml
+SHA1 1de39053e1933de627a9b28d695477ed8faee32d examples/classes/Hardware/motherboard/amd/athlon/init.yml
+SHA1 ef2c621d22dcfb9e0f2cc63ebd6984ca34ff43e8 examples/classes/Hardware/motherboard/amd/c60.yml
+SHA1 291bf015d1dd6e893330d1c23a6dfb4f46c6cdd4 examples/classes/Hardware/motherboard/amd/e1-2500.yml
+SHA1 307a4c4ea0055a1b17dd55159f4cf3e786509a34 examples/classes/Hardware/motherboard/asus/a7n8x.yml
+SHA1 d00eb02422a871006086278c5c62e769bea241b8 examples/classes/Hardware/motherboard/intel/atom/32bit.yml
+SHA1 ec009b8627865a754d06ba6aa49b27029993f603 examples/classes/Hardware/motherboard/intel/baytrail-m.yml
+SHA1 fa98d021fb6bda4be4f1ad3c0564d25ad12aa2d0 examples/classes/Hardware/motherboard/intel/core2duo.yml
+SHA1 72e57c9158d87db4d648052d18a62573a5d35b58 examples/classes/Hardware/motherboard/intel/pentium3.yml
+SHA1 821a411ad39b9663856cebbb2b74a84014506099 examples/classes/Hardware/motherboard/via/nehemiah.yml
+SHA1 9e59a996ce8b33f5aae02e6748de0c3c75bc1590 examples/classes/Hardware/motherboard/via/samuel2.yml
+SHA1 6736c8a111c5b62e18b283b1c4407588b86a1d94 examples/classes/Hardware/net/bluetooth.yml
+SHA1 d4906e49f31723aa8c552f17a1621cd555c655dc examples/classes/Hardware/net/pac/avoid.yml
+SHA1 5c41407ec16cfde119b4c7f82ba0cf63a506f23f examples/classes/Hardware/nic/broadcom/sta.yml
+SHA1 9b2783bf2f1dfe07dc14c072e92dad99d3378356 examples/classes/Hardware/nic/realtek/init.yml
+SHA1 7a4605822c5ca6076ce195888717862195801064 examples/classes/Hardware/power.yml
+SHA1 0b86f39bc222abafbe4eb3afee5193be0c2af591 examples/classes/Hardware/tools/harden.yml
+SHA1 3c1ec1fe817e4126a93871d2fed410c9de4086ef examples/classes/Language/java/base.yml
+SHA1 07cf89422cf7a2d05716182a650e4e8610f49c66 examples/classes/Language/java/init.yml
+SHA1 2f5802f6f5baed2d92b675b6a7b4c38e8e30f058 examples/classes/Language/java/openjdk6/avoid.yml
+SHA1 03cd547c40961ad14e88dee97dba1ec57d5b2303 examples/classes/Language/java/openjdk6/init.yml
+SHA1 75f55c1380f56b0972c54a1cabe1f35084be2ac9 examples/classes/Language/java/openjdk7/avoid.yml
+SHA1 395298845cde814d2b7f8a8b0c9a6e906aa05ed1 examples/classes/Language/java/openjdk7/init.yml
+SHA1 563b949398a6c65a566f403d7fb958037adc445e examples/classes/Service/antivirus.yml
+SHA1 bd85bfabed0e473b8e861208ca5d94def434bbe7 examples/classes/Service/base.yml
+SHA1 33734486a14de89adb4dc8c411b9aad347966dd0 examples/classes/Service/dhcp/client.yml
+SHA1 ec996190865b86c7deb357f191fd835a2a71a1e1 examples/classes/Service/dhcp/init.yml
+SHA1 5e4e5f3bdb601b37f48bec71a7b9b1b3a5897257 examples/classes/Service/dns/authoritative.yml
+SHA1 747fe23ef585070e5bb0bbaecb06c35cdd54ef48 examples/classes/Service/dns/init.yml
+SHA1 04713b2959d7f8368e227329a21d87c0686e3641 examples/classes/Service/git.yml
+SHA1 59dc1f4f244c36ae1fe3bf2fb7052cc70fd7aa97 examples/classes/Service/ids.yml
+SHA1 bd85bfabed0e473b8e861208ca5d94def434bbe7 examples/classes/Service/init.yml
+SHA1 c420d71382265653d39985b1ef75c97162362e93 examples/classes/Service/log/init.yml
+SHA1 fabadecac763be3b35411883e8fa66538747a859 examples/classes/Service/log/remote.yml
+SHA1 b24a4d209247c111caf0fa7d21010b96f30a4724 examples/classes/Service/mail/antispam.yml
+SHA1 370290cf6511f7cf206e4a628c99ed29ae851b40 examples/classes/Service/mail/base.yml
+SHA1 9c24fc803ceb6651eda6c30c92550e2d555ba714 examples/classes/Service/mail/imap.yml
+SHA1 5e1b5f9ef7441fdb68ce97975ff49c23d38f1430 examples/classes/Service/mail/init.yml
+SHA1 b06836ed61ae8bd42c4d52c854bf03ed66218038 examples/classes/Service/mail/list.yml
+SHA1 355f7d5e1f390d74100934ebd99088de4acaf30e examples/classes/Service/mail/mda.yml
+SHA1 d4a4394a2634185e615ec5ae6e7b9b5e64f5c6a7 examples/classes/Service/mail/mta/init.yml
+SHA1 7af70f095d581ccbccc65b2b471c9f9d03a4795b examples/classes/Service/mail/mta/postfix.yml
+SHA1 3cbb35371a5e763de9ce8e0e34f8cdbf79732aeb examples/classes/Service/mail/sasl.yml
+SHA1 d70d1310ccbb5b96aff3625a5346e286afac5b3b examples/classes/Service/mail/sieve.yml
+SHA1 86f1b85a6d65754bb28c9bab7d3f36f4480ba90c examples/classes/Service/ssh.yml
+SHA1 53a27974a55da67ebf52d9df54a9e9628f852aec examples/classes/Service/web/apache/gnutls.yml
+SHA1 5211464ad7dec14a10b42d082b1b938bb0f823d2 examples/classes/Service/web/apache/init.yml
+SHA1 e770198bbb5d6a57286e92f1df4e3ca4623d555b examples/classes/Service/web/apache/uwsgi.yml
+SHA1 75c7e8c9457cb91bc85e0b05c6bc5576639aa95d examples/classes/Service/web/init.yml
+SHA1 e04efb0f648cea2c0cf27bd671cf4043b4d6b658 examples/classes/Service/web/mail/cider.yml
+SHA1 ed6c8dd2272d93c43a9dfcd3b29533e74eec934f examples/classes/Service/web/uwsgi/init.yml
+SHA1 2cb2592cfbf1839fe641a050ec3d0a835f17f5a5 examples/classes/Service/web/uwsgi/psgi.yml
+SHA1 43ac614d25c02b0183169bb734221f054d650860 examples/classes/Service/web/uwsgi/python.yml
+SHA1 97ac55c0d7f20c9fab0265057245b514cf988476 examples/classes/Service/web/wiki/moinmoin.yml
+SHA1 84e13e657945b2e5a18a5be076c74fc99d09e288 examples/classes/Task/harden/desktop.yml
+SHA1 67e18a3c0a512c2be2dee9bf268882cd9df5b7c4 examples/classes/cli/compression/init.yml
+SHA1 bf7e82a960a7809cd16b055654d78e4a21e11b27 examples/classes/cli/compression/uncommon.yml
+SHA1 e3477a368e31fc1de65b385ea920f470a67e60da examples/classes/cli/gpm.yml
+SHA1 2e4fa0895ce96b72bd843f510450213cb1d76e79 examples/classes/cli/less.yml
+SHA1 c9cc5d600b0625140a76969d84c87f7765d7641e examples/classes/cli/mc.yml
+SHA1 b83679a8be81017f08bc83c69649aaa7d34ba588 examples/classes/cli/ssh-server.yml
+SHA1 d80c3b0656d69f04568f024da7a792fcfd82c85e examples/classes/cli/web.yml
+SHA1 e8ce76a263c9a931fb1e5d367ae43f67e8cfaaf7 examples/classes/hw/acpi/full.yml
+SHA1 2a40ba3ecccf8a4783ad4cd9a3abf9572db68c72 examples/classes/hw/acpi/init.yml
+SHA1 ceb9830033f920b9e031365514317336038e501e examples/classes/hw/bluetooth.yml
+SHA1 7963027eeb4d18fd957070cb63becfe92a1242ce examples/classes/hw/crypto.yml
+SHA1 c4bc9c34f6b5a4e33edd5226cea41bb310dd7084 examples/classes/hw/firmware.yml
+SHA1 f7213faa455db186129fd85f2c7c20419ce01aa7 examples/classes/hw/mac/init.yml
+SHA1 76626e08c190cdf13464e39e4981b990e27f9bb4 examples/classes/hw/mac/laptop.yml
+SHA1 57d01769d1997ad984fd8995e1f2abf1227509a0 examples/classes/hw/power.yml
+SHA1 2c45598a4faab216fe0232bd8bebbd9ec6c0db4b examples/classes/hw/x86/amd64.yml
+SHA1 c96cc7615ba8ab7968aaf79b99679ca9453757ca examples/classes/hw/x86/i486.yml
+SHA1 6b6e97587329fd54e9d8ef221cdfe7ee95c496c3 examples/classes/hw/x86/i686.yml
+SHA1 87080d71f9a12a1db73c958adc3f26abf34e5a8d examples/classes/x11/init.yml
+SHA1 20c2af37df6d3a9ec0c44362949d1228f8d039f7 examples/classes/x11/lightdm/gtk.yml
+SHA1 36575b4e55acc82830eaa1f53ef74130629b184f examples/classes/x11/lightdm/init.yml
+SHA1 b0e8e08c5b9e7726efa134a1ef081ff492f4c3ab examples/nodes/lxp5.yml
+SHA1 45e744814af30ccc792ce8042815f39f57da1804 examples/nodes/parl-greens.yml
- SHA1 663438b953ea50c4c81a139b5ad57a1f6eafdd13 lib/Boxer.pm
- SHA1 5978c35e86b163444c259f9a00fc2263c95f7195 lib/Boxer/CLI.pm
- SHA1 33bab9c038c4e6fe653dcfcd8302623049b3704f lib/Boxer/CLI/Command.pm
- SHA1 8a6f8124298d34ac321a3c5c1a711e63670b3d8b lib/Boxer/CLI/Command/About.pm
- SHA1 1c374d0406a26d7d8f9f48edcc5e07eab7b2d25d lib/Boxer/CLI/Command/Aliases.pm
- SHA1 13f3ad2ad7eeeae6a74e157dd3e7130b36d73cc3 lib/Boxer/CLI/Command/Commands.pm
- SHA1 40f9edf783c54467819c75818bc26392f4226950 lib/Boxer/CLI/Command/Compose.pm
- SHA1 e244238966b268bb8ad9112764fc1a8f9e0d4f33 lib/Boxer/Role/Interact.pm
- SHA1 250fca9cfb5b4503ff2c6a6d485d46a05108816c lib/Boxer/Task.pm
- SHA1 5a17f964c5922138e4ba577477411dd1b4ea566d lib/Boxer/Task/Classify.pm
- SHA1 eb63a0100ad9d3cb0736286692476e5a672060e2 lib/Boxer/Task/Serialize.pm
- SHA1 a5e4f6040bc98ae1250d6d9d389772e026a94111 lib/Boxer/Types.pm
++SHA1 1d325aa029e68f148c685e32c4e815fab1a570fa lib/Boxer.pm
++SHA1 ec795fc0ddfa11c9901730341ce25047776a9ea4 lib/Boxer/CLI.pm
++SHA1 37f74e0c677c19dcfb1103e0a6598d4472b45637 lib/Boxer/CLI/Command.pm
++SHA1 4b092c09221ba6dc42cfd739ce4255477385ec67 lib/Boxer/CLI/Command/About.pm
++SHA1 bc86a5e1e0aad8cc5486715e087522b3c9f13771 lib/Boxer/CLI/Command/Aliases.pm
++SHA1 7979cce9e19d87a37d05c4bc975f23d9f4c54233 lib/Boxer/CLI/Command/Commands.pm
++SHA1 f16887b80e5d5c458ec80a051b3237250d79ab40 lib/Boxer/CLI/Command/Compose.pm
++SHA1 339853ee61db3f69d624739e6e3f55b2b8e53fb6 lib/Boxer/File/WithSkeleton.pm
++SHA1 7c48970ece7de7688387699a9ce86e53df4ea10c lib/Boxer/Part.pm
++SHA1 f3ac8e2ac2dbd41265828aeb8caf904a738ff544 lib/Boxer/Part/Reclass.pm
++SHA1 3631567c6aad87000434fea993b58ff7f7fcc149 lib/Boxer/Role/Interact.pm
++SHA1 be19af8f3deea6237b71cab96cbb9192d76cdf4f lib/Boxer/Task.pm
++SHA1 3a3f877943d8a4a1f6a3f57b96cb81224e821b47 lib/Boxer/Task/Classify.pm
++SHA1 e004f119e7cd20d042489a4e5789cd88ebc784e2 lib/Boxer/Task/Serialize.pm
++SHA1 05ccf46cd931835e347a519a229be8b3bd760fa1 lib/Boxer/Types.pm
++SHA1 4d60d62b45b9bf369a3df83598c50c18fa1ae249 lib/Boxer/World.pm
++SHA1 87678b47ed7e691d09697ccf61de95d29bfa141c lib/Boxer/World/Flat.pm
++SHA1 ed6395ea5551296641dfbc0c56daa019a6ea6181 lib/Boxer/World/Reclass.pm
+SHA1 16ab646487dcc69478b20f7f11becb9f30bc01ee share/skel/preseed.cfg.in
+SHA1 888a9b47c3e1cdbc23d932d2ec0ef4bb0e671572 share/skel/script.sh.in
- SHA1 79da2f8bb25fbfeaf402dca5baa579b66f0b6935 t/00_compile.t
- SHA1 3a08af6e6ef91d9f5fa3762310606c4432531a2e t/00_compile_scripts.t
- SHA1 e3d65ec269d39cafd7ce87ad24050a7110b93fc1 t/01_app_help.t
- SHA1 58e4221ee28b818ad3940f40328c359254555774 t/fixme.t
- SHA1 80f0b9e0db58da4841e563b66e078a4de5f51aa7 t/minimumversion.t
- SHA1 d8fc6b2045604f2a6d04f551431fd1bb68050e77 t/pod.t
- -----BEGIN PGP SIGNATURE-----
- Version: GnuPG v1
-
- iQIcBAEBAgAGBQJXZOxIAAoJECx8MUbBoAEheHEQAJeutccD9h8i0bKaUAmQ1Z6U
- olwAfid5mAvtWfPun4If3MGJi5/CnS6LBYe9jOsRTMAGvY/Ja3PAQJOVhWGNgpVK
- 17fdV1W2wIyJc/6wo0QWDouZD2AAWQgQkq1xupN8IkaHRGmBrKJ570BQ/+MTSEOc
- lROEk6k18cRYwhaLxlQrLAWfXjh2q/hp+dsGEJlooCfSduUSlfx2vUi3D+JI828D
- erDN5ievkVJ3YDxLPA5r7iju0Lhn3dkT3FaSKxuyJRMzZj7x2+huwv/77ofWsbIz
- hkRlQ8HvZ/xjkzk9bnk4wJUewjH98DIS9o4YG16W7KPLQIOuWeX4ESu0y2Timyvs
- Y+MULxwXA9rM9aeBNLoxK1U1T3POaNIBxoxUsqi+PYKvdw/1BFR8oZd4aWIQihQG
- avL6VNwg+RRaER8ihdSIr9PvsOBB6WeNu5kMzrtCYruME3WzqGDzNyQ/gJSzOGgW
- +XEDQ6KL7UzLpTbI6XEvq+hhHtcIe5kXOu+u4D5rs8ts4m4qXU99gdi5vqqmz9Xd
- 4fD1F/jKFd6YuEDAn6ZwErjQ3cvhqV9gWFk56W+X4KrqI3wi3YGC6He7Rdmwfct9
- aMvkdCLBpMuz6pWB0Q3wmGpbTjDrTbz+YMHIgz38u8NBPhQ1tl7txEvumSlF/u9F
- JcrYDFKZh9Q2rNy02rzL
- =gQns
- -----END PGP SIGNATURE-----
++SHA1 8653c7bc24881ffb021b65bf7c9c9dca6a71e1a5 t/00_compile.t
++SHA1 3d4c3fcd3e1c2f4bd99a66c90fda8aa591e316be t/00_compile_scripts.t
++SHA1 d34157688eed8a82c1612c22ac98c6c0ee4f0286 t/01_app_help.t
++SHA1 8fb30d12fcc4a35ee8bd781c3ed99d90a951cd3a t/fixme.t
++SHA1 28287c40831d5126046988c88cd07e5da6f3f6d6 t/minimumversion.t
++SHA1 a7dcc176ca5bedb047f328b71bc7638ad6f330b5 t/pod.t
++SHA1 e42a74d35077f86e571fb4a7a81d7e7b3f53ebac t/world.t
diff --cc bin/boxer
index 609126b,f82dd46..f82dd46
mode 100644,100755..100644
--- a/bin/boxer
+++ b/bin/boxer
diff --cc doap.ttl
index d8942a2,0000000..ecc48c4
mode 100644,000000..100644
--- a/doap.ttl
+++ b/doap.ttl
@@@ -1,304 -1,0 +1,352 @@@
+ at prefix cpan-uri: <http://purl.org/NET/cpan-uri/terms#> .
+ at prefix dc: <http://purl.org/dc/terms/> .
+ at prefix doap: <http://usefulinc.com/ns/doap#> .
+ at prefix doap-changeset: <http://ontologi.es/doap-changeset#> .
+ at prefix doap-deps: <http://ontologi.es/doap-deps#> .
+ at prefix foaf: <http://xmlns.com/foaf/0.1/> .
+ at prefix rdfs: <http://www.w3.org/2000/01/rdf-schema#> .
+ at prefix xsd: <http://www.w3.org/2001/XMLSchema#> .
+
+<http://dev.perl.org/licenses/>
+ dc:title "the same terms as the perl 5 programming language system itself".
+
+<http://purl.org/NET/cpan-uri/dist/Boxer/project>
+ a doap:Project;
+ cpan-uri:x_help_wanted <http://usefulinc.com/ns/doap#documenter>, <http://usefulinc.com/ns/doap#tester>;
+ dc:contributor <http://purl.org/NET/cpan-uri/person/jonass>;
- doap-deps:runtime-requirement [ doap-deps:on "App::Cmd 0"^^doap-deps:CpanId ], [ doap-deps:on "autodie 0"^^doap-deps:CpanId ], [ doap-deps:on "Module::Runtime"^^doap-deps:CpanId ], [ doap-deps:on "Moo 1.001000"^^doap-deps:CpanId ], [
++ doap-deps:runtime-requirement [ doap-deps:on "App::Cmd 0"^^doap-deps:CpanId ], [ doap-deps:on "autodie 0"^^doap-deps:CpanId ], [
+ doap-deps:on "MooX::Role::Logger 0"^^doap-deps:CpanId;
+ ], [
+ doap-deps:on "Log::Any::Adapter::Screen 0"^^doap-deps:CpanId;
- ], [ doap-deps:on "namespace::clean 0"^^doap-deps:CpanId ], [ doap-deps:on "Path::Class 0"^^doap-deps:CpanId ], [
- doap-deps:on "MooX::Types::MooseLike::Base 0"^^doap-deps:CpanId;
- ], [ doap-deps:on "Path::Tiny 0"^^doap-deps:CpanId ], [ doap-deps:on "Role::Commons 0"^^doap-deps:CpanId ], [
++ ], [ doap-deps:on "namespace::clean 0"^^doap-deps:CpanId ], [ doap-deps:on "Path::Tiny 0.054"^^doap-deps:CpanId ], [ doap-deps:on "Role::Commons 0"^^doap-deps:CpanId ], [
+ doap-deps:on "Template::Tiny 0.11"^^doap-deps:CpanId;
- ], [
- doap-deps:on "IPC::System::Simple 0"^^doap-deps:CpanId;
+ ], [ doap-deps:on "Try::Tiny 0"^^doap-deps:CpanId ], [
+ doap-deps:on "Types::Path::Tiny 0"^^doap-deps:CpanId;
- ], [ doap-deps:on "Types::Standard 0"^^doap-deps:CpanId ], [ doap-deps:on "YAML::XS 0"^^doap-deps:CpanId ], [ doap-deps:on "perl 5.010001"^^doap-deps:CpanId ], [ doap-deps:on "strictures 0"^^doap-deps:CpanId ], [ doap-deps:on "Capture::Tiny 0"^^doap-deps:CpanId ], [ doap-deps:on "File::BaseDir 0"^^doap-deps:CpanId ], [ doap-deps:on "File::HomeDir 0"^^doap-deps:CpanId ], [ doap-deps:on "File::ShareDir 0"^^doap-deps:CpanId ], [ doap-deps:on "JSON 2.00"^^doap-deps:CpanId ], [ doap-deps:on [...]
++ ], [ doap-deps:on "Types::Standard 0"^^doap-deps:CpanId ], [ doap-deps:on "YAML::XS 0"^^doap-deps:CpanId ], [
++ doap-deps:on "IPC::System::Simple 0"^^doap-deps:CpanId;
++ ], [ doap-deps:on "perl 5.014000"^^doap-deps:CpanId ], [ doap-deps:on "strictures 2"^^doap-deps:CpanId ], [ doap-deps:on "Capture::Tiny 0"^^doap-deps:CpanId ], [ doap-deps:on "File::BaseDir 0"^^doap-deps:CpanId ], [ doap-deps:on "File::ShareDir 0"^^doap-deps:CpanId ], [ doap-deps:on "match::simple 0"^^doap-deps:CpanId ], [ doap-deps:on "Module::Runtime"^^doap-deps:CpanId ], [ doap-deps:on "Moo 1.001000"^^doap-deps:CpanId ];
+ doap-deps:test-requirement [ doap-deps:on "Test::More 0.61"^^doap-deps:CpanId ], [ doap-deps:on "English 0"^^doap-deps:CpanId ], [ doap-deps:on "File::Spec 0"^^doap-deps:CpanId ], [ doap-deps:on "Test::Compile 0"^^doap-deps:CpanId ], [ doap-deps:on "Test::Fixme 0"^^doap-deps:CpanId ], [
+ doap-deps:on "Test::MinimumVersion 0"^^doap-deps:CpanId;
+ ], [ doap-deps:on "Test::Pod 1.00"^^doap-deps:CpanId ], [ doap-deps:on "Test::Synopsis 0"^^doap-deps:CpanId ];
+ doap:bug-database <http://rt.cpan.org/Dist/Display.html?Queue=Boxer>;
+ doap:category [ rdfs:label "Debian" ], [ rdfs:label "Distribution" ];
+ doap:created "2013-02-12"^^xsd:date;
+ doap:developer <http://purl.org/NET/cpan-uri/person/jonass>;
+ doap:download-page <https://metacpan.org/release/Boxer>;
+ doap:homepage <https://metacpan.org/release/Boxer>, <https://wiki.debian.org/Boxer>;
+ doap:license <http://dev.perl.org/licenses/>;
+ doap:maintainer <http://purl.org/NET/cpan-uri/person/jonass>;
+ doap:name "Boxer";
+ doap:programming-language "Perl";
- doap:release <http://purl.org/NET/cpan-uri/dist/Boxer/v_0-001>, <http://purl.org/NET/cpan-uri/dist/Boxer/v_0-002>, <http://purl.org/NET/cpan-uri/dist/Boxer/v_0-003>, <http://purl.org/NET/cpan-uri/dist/Boxer/v_0-004>, <http://purl.org/NET/cpan-uri/dist/Boxer/v_v1-0-0>, <http://purl.org/NET/cpan-uri/dist/Boxer/v_v1-1-0>, <http://purl.org/NET/cpan-uri/dist/Boxer/v_v1-1-1>, <http://purl.org/NET/cpan-uri/dist/Boxer/v_v1-1-2>, <http://purl.org/NET/cpan-uri/dist/Boxer/v_v1-1-3>, <http [...]
++ doap:release <http://purl.org/NET/cpan-uri/dist/Boxer/v_0-001>, <http://purl.org/NET/cpan-uri/dist/Boxer/v_0-002>, <http://purl.org/NET/cpan-uri/dist/Boxer/v_0-003>, <http://purl.org/NET/cpan-uri/dist/Boxer/v_0-004>, <http://purl.org/NET/cpan-uri/dist/Boxer/v_v1-0-0>, <http://purl.org/NET/cpan-uri/dist/Boxer/v_v1-1-0>, <http://purl.org/NET/cpan-uri/dist/Boxer/v_v1-1-1>, <http://purl.org/NET/cpan-uri/dist/Boxer/v_v1-1-2>, <http://purl.org/NET/cpan-uri/dist/Boxer/v_v1-1-3>, <http [...]
+ doap:repository [
+ a doap:GitRepository;
+ doap:browse <https://anonscm.debian.org/cgit/boxer/Boxer.git>;
+ ];
+ doap:shortdesc "boxer command line utils".
+
+<http://purl.org/NET/cpan-uri/dist/Boxer/v_0-001>
+ a doap:Version;
+ rdfs:label "Initial release.";
+ dc:identifier "Boxer-0.001"^^xsd:string;
+ dc:issued "2014-10-18"^^xsd:date;
+ doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/jonass>;
+ doap:file-release <http://backpan.cpan.org/authors/id/J/JO/JONASS/Boxer-0.001.tar.gz>;
+ doap:revision "0.001"^^xsd:string.
+
+<http://purl.org/NET/cpan-uri/dist/Boxer/v_0-002>
+ a doap:Version;
+ dc:identifier "Boxer-0.002"^^xsd:string;
+ dc:issued "2014-10-19"^^xsd:date;
+ doap-changeset:changeset [
+ doap-changeset:item [
+ a doap-changeset:Packaging;
+ rdfs:label "Fix time of initial release.";
+ ], [
+ a doap-changeset:Packaging;
+ rdfs:label "Fix all references to distribution name.";
+ doap-changeset:thanks <http://purl.org/NET/cpan-uri/person/tobyink>;
+ ];
+ ];
+ doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/jonass>;
+ doap:file-release <http://backpan.cpan.org/authors/id/J/JO/JONASS/Boxer-0.002.tar.gz>;
+ doap:revision "0.002"^^xsd:string.
+
+<http://purl.org/NET/cpan-uri/dist/Boxer/v_0-003>
+ a doap:Version;
+ dc:identifier "Boxer-0.003"^^xsd:string;
+ dc:issued "2014-10-19"^^xsd:date;
+ doap-changeset:changeset [
+ doap-changeset:item [
+ a doap-changeset:Packaging;
+ rdfs:label "Fix copyright coverage to include current year.";
+ ], [
+ a doap-changeset:Documentation;
+ rdfs:label "Update INSTALL file and pod synopsis slightly.";
+ ], [
+ a doap-changeset:Change;
+ rdfs:label "Explicitly use IPC::System::Simple (already implicitly used via autodie + system() call).";
+ ], [
+ a doap-changeset:Packaging;
+ rdfs:label "Fix require MooX::Log::Any.";
+ ], [
+ a doap-changeset:Packaging;
+ rdfs:label "Require IPC::System::Simple.";
+ ], [
+ a doap-changeset:Addition;
+ rdfs:label "Include builting skeleton files, and ship with example classes and nodes.";
+ ], [
+ a doap-changeset:Packaging;
+ rdfs:label "Tighten Moo requirement to at least 1.001000 (older are untested with Type::Tiny).";
+ ], [
+ a doap-changeset:Change;
+ rdfs:label "Refactor to strip undefined args handed over internally - a.k.a. coerce Undef to default, to permit callers to sloppily pass App::Cmd options as-is.";
+ ], [
+ a doap-changeset:Change;
+ rdfs:label "Add --suite option (and drop it as 2nd argument) in compose command, allowing multiple nodes instead.";
+ ], [
+ a doap-changeset:Addition;
+ rdfs:label "Handle nodes, classes and skeleton files with separate options in compose command.";
+ ];
+ ];
+ doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/jonass>;
+ doap:file-release <http://backpan.cpan.org/authors/id/J/JO/JONASS/Boxer-0.003.tar.gz>;
+ doap:revision "0.003"^^xsd:string.
+
+<http://purl.org/NET/cpan-uri/dist/Boxer/v_0-004>
+ a doap:Version;
+ dc:identifier "Boxer-0.004"^^xsd:string;
+ dc:issued "2014-11-24"^^xsd:date;
+ doap-changeset:changeset [
+ doap-changeset:item [
+ a doap-changeset:Change;
+ rdfs:label "Adjust example class set: Use reclass 1.4 ABI, and drop broken Printing class.";
+ ], [
+ a doap-changeset:Change;
+ rdfs:label "Adjust help output of Compose command to describe correct default locations.";
+ ], [
+ a doap-changeset:Change;
+ rdfs:label "Use Template::Tiny.";
+ ], [
+ a doap-changeset:Change;
+ rdfs:label "Sort doc sections by explicit list (and alphabetically only as fallback).";
+ ], [
+ a doap-changeset:Change;
+ rdfs:label "Move initial shell code for tweaklist out to skeleton file.";
+ ], [
+ a doap-changeset:Change;
+ rdfs:label "Deprecate expansion of __PKGAUTOLIST__ in tweaklist.";
+ ], [
+ a doap-changeset:Bugfix;
+ rdfs:label "Fix only warn (not die) on unresolved auto-markings, avoidance or tweaks.";
+ ], [
+ a doap-changeset:Documentation;
+ rdfs:label "Add some TODOs.";
+ ];
+ ];
+ doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/jonass>;
+ doap:file-release <http://backpan.cpan.org/authors/id/J/JO/JONASS/Boxer-0.004.tar.gz>;
+ doap:revision "0.004"^^xsd:string.
+
+<http://purl.org/NET/cpan-uri/dist/Boxer/v_v1-0-0>
+ a doap:Version;
+ dc:identifier "Boxer-v1.0.0"^^xsd:string;
+ dc:issued "2015-11-21"^^xsd:date;
+ doap-changeset:changeset [
+ doap-changeset:item [
+ a doap-changeset:Change;
+ rdfs:label "Tidy whitespace.";
+ ], [
+ a doap-changeset:Documentation;
+ rdfs:label "Rewrite INSTALL to use Debian boxer package.";
+ ], [
+ a doap-changeset:Change;
+ rdfs:label "Use MooX::Role::Logger (not MooX::Log::Any) and Log::Any::Adapter::ScreenColoredLevel.";
+ ], [
+ a doap-changeset:Change;
+ rdfs:label "Croak (not die) on broken input.";
+ ], [
+ a doap-changeset:Addition;
+ rdfs:label "Implement --nonfree option for subcommand compose.";
+ ], [
+ a doap-changeset:Bugfix;
+ rdfs:label "Fix suppress failure to mark package auto-installed.";
+ ], [
+ a doap-changeset:Change;
+ rdfs:label "Fixate suite in preseed file (resolved package list is suite-specific).";
+ ], [
+ a doap-changeset:Bugfix;
+ rdfs:label "Fix avoid Boxer::Task::Serialize spewing garbage when warning about empty lists.";
+ ], [
+ a doap-changeset:Change;
+ rdfs:label "Sync example data with boxer-data.";
+ ], [
+ a doap-changeset:Change;
+ rdfs:label "Improve coercion and error messages for input paths.";
+ ], [
+ a doap-changeset:Change;
+ rdfs:label "Release as stable, using semantic versioning.";
+ ];
+ ];
+ doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/jonass>;
+ doap:file-release <http://backpan.cpan.org/authors/id/J/JO/JONASS/Boxer-v1.0.0.tar.gz>;
+ doap:revision "v1.0.0"^^xsd:string.
+
+<http://purl.org/NET/cpan-uri/dist/Boxer/v_v1-1-0>
+ a doap:Version;
+ dc:identifier "Boxer-v1.1.0"^^xsd:string;
+ dc:issued "2015-11-29"^^xsd:date;
+ doap-changeset:changeset [
+ doap-changeset:item [
+ a doap-changeset:Change;
+ rdfs:label "Tidy Boxer::Types.";
+ ], [
+ a doap-changeset:Addition;
+ rdfs:label "Pass suite to skeleton files, and set as variable in shellscript and preseed file late_script.";
+ ], [
+ a doap-changeset:Documentation;
+ rdfs:label "Add TODO on resolving named suites from relative ones.";
+ ], [
+ a doap-changeset:Bugfix;
+ rdfs:label "Fix unescape \\n and ${ for shellscript.";
+ ], [
+ a doap-changeset:Bugfix;
+ rdfs:label "Fix use apt-get (automated) or apt (interactive, on recent releases) in skeleton scripts and notes (aptitude is not always available).";
+ ], [
+ a doap-changeset:Documentation;
+ rdfs:label "Extend copyright to cover current year.";
+ ], [
+ a doap-changeset:Addition;
+ rdfs:label "Pass node to skeleton files (and use in boilerplate, replacing bogus DebianParl boilerplate.";
+ ], [
+ a doap-changeset:Change;
+ rdfs:label "Fix drop all hardcoded data from default skeleton files.";
+ ], [
+ a doap-changeset:Change;
+ rdfs:label "Support empty packagelist.";
+ ];
+ ];
+ doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/jonass>;
+ doap:file-release <http://backpan.cpan.org/authors/id/J/JO/JONASS/Boxer-v1.1.0.tar.gz>;
+ doap:revision "v1.1.0"^^xsd:string.
+
+<http://purl.org/NET/cpan-uri/dist/Boxer/v_v1-1-1>
+ a doap:Version;
+ dc:identifier "Boxer-v1.1.1"^^xsd:string;
+ dc:issued "2016-04-12"^^xsd:date;
+ doap-changeset:changeset [
+ doap-changeset:item [
+ a doap-changeset:Change;
+ rdfs:label "Use Log::Any::Adapter::Screen (not obsolete predecessor Log::Any::Adapter::ScreenColoredLevel).";
+ ];
+ ];
+ doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/jonass>;
+ doap:file-release <http://backpan.cpan.org/authors/id/J/JO/JONASS/Boxer-v1.1.1.tar.gz>;
+ doap:revision "v1.1.1"^^xsd:string.
+
+<http://purl.org/NET/cpan-uri/dist/Boxer/v_v1-1-2>
+ a doap:Version;
+ dc:identifier "Boxer-v1.1.2"^^xsd:string;
+ dc:issued "2016-04-30"^^xsd:date;
+ doap-changeset:changeset [
+ doap-changeset:item [
+ a doap-changeset:Change;
+ rdfs:label "Use File::ShareDir (not File::ShareDir::ProjectDistDir, strongly discouraged by author). Thanks to Karen Etheridge (RT#114079).";
+ ];
+ ];
+ doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/jonass>;
+ doap:file-release <http://backpan.cpan.org/authors/id/J/JO/JONASS/Boxer-v1.1.2.tar.gz>;
+ doap:revision "v1.1.2"^^xsd:string.
+
+<http://purl.org/NET/cpan-uri/dist/Boxer/v_v1-1-3>
+ a doap:Version;
+ dc:identifier "Boxer-v1.1.3"^^xsd:string;
+ dc:issued "2016-05-02"^^xsd:date;
+ doap-changeset:changeset [
+ doap-changeset:item [
+ a doap-changeset:Bugfix;
+ rdfs:label "Fix use File::ShareDir.";
+ ];
+ ];
+ doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/jonass>;
+ doap:file-release <http://backpan.cpan.org/authors/id/J/JO/JONASS/Boxer-v1.1.3.tar.gz>;
+ doap:revision "v1.1.3"^^xsd:string.
+
+<http://purl.org/NET/cpan-uri/dist/Boxer/v_v1-1-4>
+ a doap:Version;
+ dc:identifier "Boxer-v1.1.4"^^xsd:string;
+ dc:issued "2016-05-02"^^xsd:date;
+ doap-changeset:changeset [
+ doap-changeset:item [
+ a doap-changeset:Bugfix;
+ rdfs:label "Fix have current dir be default nodedir (as originally intended and documented in boxer pod): Do XDG data_dirs lookup only on datadir, leaving datadir undefined by default).";
+ ];
+ ];
+ doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/jonass>;
+ doap:file-release <http://backpan.cpan.org/authors/id/J/JO/JONASS/Boxer-v1.1.4.tar.gz>;
+ doap:revision "v1.1.4"^^xsd:string.
+
++<http://purl.org/NET/cpan-uri/dist/Boxer/v_v1-1-5>
++ a doap:Version;
++ dc:identifier "Boxer-v1.1.5"^^xsd:string;
++ dc:issued "2017-01-24"^^xsd:date;
++ doap-changeset:changeset [
++ doap-changeset:item [
++ a doap-changeset:Documentation;
++ rdfs:label "Fix usage description for compose subcommand.";
++ ], [
++ a doap-changeset:Change;
++ rdfs:label "Modernize to use perl v5.14, utf8, and strictures 2.";
++ ], [
++ a doap-changeset:Packaging;
++ rdfs:label "Use version with modern assignment. Extend copyright to current year.";
++ ], [
++ a doap-changeset:Change;
++ rdfs:label "Consistently use namespace::clean in modules. Order use by pragma/non-Moo/Moo/cleanup and (roughly) by specificity.";
++ ], [
++ a doap-changeset:Change;
++ rdfs:label "Drop unusued code in Boxer::CLI.";
++ ], [
++ a doap-changeset:Bugfix;
++ rdfs:label "Fix chomp tweak lines.";
++ ], [
++ a doap-changeset:Packaging;
++ rdfs:label "Run perlcritic with tidyall, and test both (not only perlcritic) in TEST_AUTHOR mode.";
++ ], [
++ a doap-changeset:Change;
++ rdfs:label "Stop handle __PKGAUTOLIST__ in data (deprecated since 0.004).";
++ ], [
++ a doap-changeset:Change;
++ rdfs:label "Add World and Part classes, with unit test.";
++ ], [
++ a doap-changeset:Change;
++ rdfs:label "Stop skip undefined args in Task::Serialize (needed only for Task::Classify).";
++ ], [
++ a doap-changeset:Change;
++ rdfs:label "Add Boxer::File::WithSkeleton class.";
++ ], [
++ a doap-changeset:Documentation;
++ rdfs:label "Add some TODOs.";
++ ], [
++ a doap-changeset:Change;
++ rdfs:label "Stop use MooX::Types::MooseLike::Base.";
++ ];
++ ];
++ doap-changeset:released-by <http://purl.org/NET/cpan-uri/person/jonass>;
++ doap:file-release <http://backpan.cpan.org/authors/id/J/JO/JONASS/Boxer-v1.1.5.tar.gz>;
++ doap:revision "v1.1.5"^^xsd:string.
++
+<http://purl.org/NET/cpan-uri/person/jonass>
+ a foaf:Person;
+ foaf:mbox <mailto:dr at jones.dk>, <mailto:jonass at cpan.org>;
+ foaf:name "Jonas Smedegaard";
+ foaf:nick "JONASS";
+ foaf:page <https://metacpan.org/author/JONASS>.
+
+<http://purl.org/NET/cpan-uri/person/tobyink>
+ a foaf:Person;
+ foaf:mbox <mailto:tobyink at cpan.org>;
+ foaf:name "Toby Inkster";
+ foaf:nick "TOBYINK";
+ foaf:page <https://metacpan.org/author/TOBYINK>.
+
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/boxer.git
More information about the Pkg-perl-cvs-commits
mailing list