COPYRIGHT000644001750001750 2350513200033751 13766 0ustar00jonasjonas000000000000Boxer-v1.1.7Format: http://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ Upstream-Name: Boxer Upstream-Contact: Jonas Smedegaard (JONASS) 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: 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 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: 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 2016 Jonas Smedegaard. License: GPL-1.0+ or Artistic-1.0 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: COPYRIGHT CREDITS SIGNATURE Copyright: None License: public-domain Files: dist.ini Copyright: Copyright 2014 Jonas Smedegaard. License: GPL-1.0+ or Artistic-1.0 Files: lib/Boxer/Part/Reclass.pm Copyright: Copyright © 2016 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 License: Artistic-1.0 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) 2017 by the copyright holder(s). This is free software, licensed under: The GNU General Public License, Version 1, February 1989 CREDITS000644001750001750 16013200033751 13443 0ustar00jonasjonas000000000000Boxer-v1.1.7Maintainer: - Jonas Smedegaard (JONASS) Thanks: - Toby Inkster (TOBYINK) Changes000644001750001750 1137413200033751 13767 0ustar00jonasjonas000000000000Boxer-v1.1.7Boxer ===== Created: 2013-02-12 Home page: Home page: Bug tracker: Maintainer: Jonas Smedegaard (JONASS) v1.1.7 2017-11-06 [ Bug Fixes ] - Fix make option --skeldir optional. v1.1.6 2017-11-05 [ Bug Fixes ] - Fix testsuite to gracefully handle executable reclass unavailable. [ Packaging ] - Fix require Test::Exception and Test::File::Contents for testsuite. 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. INSTALL000644001750001750 227013200033750 13477 0ustar00jonasjonas000000000000Boxer-v1.1.7Boxer installation ================== Preparations ------------ On Debian 8+ (Jessie or newer), or Debian unstable (Sid), simply install boxer: apt install boxer On Debian 8 (Jessie), you can alternatively install a backport of newer boxer: echo deb http://debian.jones.dk/ jessie boxer > /etc/apt/sources.list.d/boxer.list apt update apt install boxer On Debian Wheezy, you can install a backport of boxer: echo deb http://debian.jones.dk/ wheezy boxer > /etc/apt/sources.list.d/boxer.list apt-get update apt-get install boxer Usage ----- cp /usr/share/doc/boxer/examples/nodes/parl-greens.yml . boxer compose parl-greens NB! If code was pulled from CPAN or git, you may need to adapt location of example file and environment variables PATH PYTHONPATH PERL5LIB. Development ----------- git clone git://git.debian.org/boxer/Boxer cd Boxer PERL5LIB=lib bin/boxer compose --skeldir share/skel --datadir examples parl-greens You may want to explore the larger dataset in active use: git clone git://source.jones.dk/blends System compositions are expressed using reclass. See the README in the sample data dir for more info on its structure. LICENSE000644001750001750 4367113200033750 13505 0ustar00jonasjonas000000000000Boxer-v1.1.7This 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) 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. Copyright (C) 19yy 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. , 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) 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 MANIFEST000644001750001750 2074413200033751 13626 0ustar00jonasjonas000000000000Boxer-v1.1.7COPYRIGHT 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 META.json000644001750001750 1150413200033751 14110 0ustar00jonasjonas000000000000Boxer-v1.1.7{ "abstract" : "boxer command line utils", "author" : [ "Jonas Smedegaard (JONASS) " ], "dynamic_config" : 0, "generated_by" : "Dist::Inkt::Profile::TOBYINK version 0.024, 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::ShareDir" : "0", "IPC::System::Simple" : "0", "Log::Any::Adapter::Screen" : "0", "Module::Runtime" : "0", "Moo" : "1.001000", "MooX::Role::Logger" : "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.014000", "strictures" : "2" } }, "test" : { "requires" : { "English" : "0", "File::Spec" : "0", "File::Which" : "0", "Test::Compile" : "0", "Test::Exception" : "0", "Test::File::Contents" : "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.7" }, "Boxer::CLI" : { "file" : "lib/Boxer/CLI.pm", "version" : "v1.1.7" }, "Boxer::CLI::Command" : { "file" : "lib/Boxer/CLI/Command.pm", "version" : "v1.1.7" }, "Boxer::CLI::Command::About" : { "file" : "lib/Boxer/CLI/Command/About.pm", "version" : "v1.1.7" }, "Boxer::CLI::Command::Aliases" : { "file" : "lib/Boxer/CLI/Command/Aliases.pm", "version" : "v1.1.7" }, "Boxer::CLI::Command::Commands" : { "file" : "lib/Boxer/CLI/Command/Commands.pm", "version" : "v1.1.7" }, "Boxer::CLI::Command::Compose" : { "file" : "lib/Boxer/CLI/Command/Compose.pm", "version" : "v1.1.7" }, "Boxer::File::WithSkeleton" : { "file" : "lib/Boxer/File/WithSkeleton.pm", "version" : "v1.1.7" }, "Boxer::Part" : { "file" : "lib/Boxer/Part.pm", "version" : "v1.1.7" }, "Boxer::Part::Reclass" : { "file" : "lib/Boxer/Part/Reclass.pm", "version" : "v1.1.7" }, "Boxer::Role::Interact" : { "file" : "lib/Boxer/Role/Interact.pm", "version" : "v1.1.7" }, "Boxer::Task" : { "file" : "lib/Boxer/Task.pm", "version" : "v1.1.7" }, "Boxer::Task::Classify" : { "file" : "lib/Boxer/Task/Classify.pm", "version" : "v1.1.7" }, "Boxer::Task::Serialize" : { "file" : "lib/Boxer/Task/Serialize.pm", "version" : "v1.1.7" }, "Boxer::Types" : { "file" : "lib/Boxer/Types.pm", "version" : "v1.1.7" }, "Boxer::World" : { "file" : "lib/Boxer/World.pm", "version" : "v1.1.7" }, "Boxer::World::Flat" : { "file" : "lib/Boxer/World/Flat.pm", "version" : "v1.1.7" }, "Boxer::World::Reclass" : { "file" : "lib/Boxer/World/Reclass.pm", "version" : "v1.1.7" } }, "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.7", "x_help_wanted" : [ "tester", "documenter" ], "x_provides_scripts" : { "boxer" : { "file" : "bin/boxer" } }, "x_serialization_backend" : "JSON::PP version 2.27400_02" } META.yml000644001750001750 606513200033751 13726 0ustar00jonasjonas000000000000Boxer-v1.1.7--- abstract: 'boxer command line utils' author: - 'Jonas Smedegaard (JONASS) ' build_requires: English: '0' File::Spec: '0' File::Which: '0' Test::Compile: '0' Test::Exception: '0' Test::File::Contents: '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.024, 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.7 Boxer::CLI: file: lib/Boxer/CLI.pm version: v1.1.7 Boxer::CLI::Command: file: lib/Boxer/CLI/Command.pm version: v1.1.7 Boxer::CLI::Command::About: file: lib/Boxer/CLI/Command/About.pm version: v1.1.7 Boxer::CLI::Command::Aliases: file: lib/Boxer/CLI/Command/Aliases.pm version: v1.1.7 Boxer::CLI::Command::Commands: file: lib/Boxer/CLI/Command/Commands.pm version: v1.1.7 Boxer::CLI::Command::Compose: file: lib/Boxer/CLI/Command/Compose.pm version: v1.1.7 Boxer::File::WithSkeleton: file: lib/Boxer/File/WithSkeleton.pm version: v1.1.7 Boxer::Part: file: lib/Boxer/Part.pm version: v1.1.7 Boxer::Part::Reclass: file: lib/Boxer/Part/Reclass.pm version: v1.1.7 Boxer::Role::Interact: file: lib/Boxer/Role/Interact.pm version: v1.1.7 Boxer::Task: file: lib/Boxer/Task.pm version: v1.1.7 Boxer::Task::Classify: file: lib/Boxer/Task/Classify.pm version: v1.1.7 Boxer::Task::Serialize: file: lib/Boxer/Task/Serialize.pm version: v1.1.7 Boxer::Types: file: lib/Boxer/Types.pm version: v1.1.7 Boxer::World: file: lib/Boxer/World.pm version: v1.1.7 Boxer::World::Flat: file: lib/Boxer/World/Flat.pm version: v1.1.7 Boxer::World::Reclass: file: lib/Boxer/World/Reclass.pm version: v1.1.7 requires: App::Cmd: '0' Capture::Tiny: '0' File::BaseDir: '0' File::ShareDir: '0' IPC::System::Simple: '0' Log::Any::Adapter::Screen: '0' Module::Runtime: '0' Moo: '1.001000' MooX::Role::Logger: '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.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.7 x_help_wanted: - tester - documenter x_provides_scripts: boxer: file: bin/boxer x_serialization_backend: 'CPAN::Meta::YAML version 0.018' Makefile.PL000644001750001750 2224013200033751 14440 0ustar00jonasjonas000000000000Boxer-v1.1.7use strict; use ExtUtils::MakeMaker 6.17; my $EUMM = eval( $ExtUtils::MakeMaker::VERSION ); my $meta = { "abstract" => "boxer command line utils", "author" => ["Jonas Smedegaard (JONASS) "], "dynamic_config" => 0, "generated_by" => "Dist::Inkt::Profile::TOBYINK version 0.024, 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::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, "File::Which" => 0, "Test::Compile" => 0, "Test::Exception" => 0, "Test::File::Contents" => 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.7" }, "Boxer::CLI" => { file => "lib/Boxer/CLI.pm", version => "v1.1.7" }, "Boxer::CLI::Command" => { file => "lib/Boxer/CLI/Command.pm", version => "v1.1.7" }, "Boxer::CLI::Command::About" => { file => "lib/Boxer/CLI/Command/About.pm", version => "v1.1.7" }, "Boxer::CLI::Command::Aliases" => { file => "lib/Boxer/CLI/Command/Aliases.pm", version => "v1.1.7" }, "Boxer::CLI::Command::Commands" => { file => "lib/Boxer/CLI/Command/Commands.pm", version => "v1.1.7" }, "Boxer::CLI::Command::Compose" => { file => "lib/Boxer/CLI/Command/Compose.pm", version => "v1.1.7" }, "Boxer::File::WithSkeleton" => { file => "lib/Boxer/File/WithSkeleton.pm", version => "v1.1.7" }, "Boxer::Part" => { file => "lib/Boxer/Part.pm", version => "v1.1.7" }, "Boxer::Part::Reclass" => { file => "lib/Boxer/Part/Reclass.pm", version => "v1.1.7" }, "Boxer::Role::Interact" => { file => "lib/Boxer/Role/Interact.pm", version => "v1.1.7" }, "Boxer::Task" => { file => "lib/Boxer/Task.pm", version => "v1.1.7" }, "Boxer::Task::Classify" => { file => "lib/Boxer/Task/Classify.pm", version => "v1.1.7" }, "Boxer::Task::Serialize" => { file => "lib/Boxer/Task/Serialize.pm", version => "v1.1.7" }, "Boxer::Types" => { file => "lib/Boxer/Types.pm", version => "v1.1.7" }, "Boxer::World" => { file => "lib/Boxer/World.pm", version => "v1.1.7" }, "Boxer::World::Flat" => { file => "lib/Boxer/World/Flat.pm", version => "v1.1.7" }, "Boxer::World::Reclass" => { file => "lib/Boxer/World/Reclass.pm", version => "v1.1.7" }, }, "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.7", "x_help_wanted" => ["tester", "documenter"], "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 $/; }; 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); README000644001750001750 134213200033750 13325 0ustar00jonasjonas000000000000Boxer-v1.1.7NAME Boxer - system deployment ninja tricks VERSION Version v1.1.7 DESCRIPTION Framework for system deployment ninja tricks BUGS Please report any bugs to . SEE ALSO boxer. AUTHOR Jonas Smedegaard ``. COPYRIGHT AND LICENCE 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. SIGNATURE000644001750001750 5013113200033755 13756 0ustar00jonasjonas000000000000Boxer-v1.1.7This file contains message digests of all files listed in MANIFEST, 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: SHA512 SHA1 7b9c867f682991d714b2fefd03e7d89d3e43d36a COPYRIGHT SHA1 6c20c21af1aee1cc223733f8ad611d6e78ef790b CREDITS SHA1 969f48a25cb5f16b34c2bfe5375242e871e3b3bf Changes SHA1 b199daf5b34dc2f8f1a17edf821af560e72d7c54 INSTALL SHA1 669fff2c2aa740c31d6546341aa7627c248454c6 LICENSE SHA1 32f71780808987c77911be49c06b626328d71cf3 MANIFEST SHA1 aa2a588ee089b6d4c42ca077dd19d82af922094d META.json SHA1 35f3a52bb8104dc293af9a8a932b01c0da3cfb4c META.yml SHA1 d7e65dda8c0a00d7d8fe8ca8132a0329c16b25ba Makefile.PL SHA1 175334c9838fb4acdf4b388945d77886e446aedc README SHA1 718a2edfad84285e6b3ae8c676bd7aa5b93268c7 TODO SHA1 7b83eea519f65357760b51e036981cebd3c8088f bin/boxer SHA1 c59760e54130231bcd42e193e41df8420a5d8bd9 dist.ini SHA1 470b4decbee40c0d711b7cb0587a1b4c842bca1d 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 85201fd7fdf52d6356eac9f2a0a3fafe394c13b2 lib/Boxer.pm SHA1 b975c410e1f647d23ab5168d5ce4eb7fa2a47ca6 lib/Boxer/CLI.pm SHA1 a34b771cd4eaa017d88314fd7c411153ac90048d lib/Boxer/CLI/Command.pm SHA1 8bfc21311e1cff9f6ab6d4dae52b57a9c3aa70b1 lib/Boxer/CLI/Command/About.pm SHA1 7974a17b747bd6cdb4a1a2744ab0c399d9cb8ceb lib/Boxer/CLI/Command/Aliases.pm SHA1 6c10f4f80f23c33d4a9c0e00f2d8f7b4b128d61d lib/Boxer/CLI/Command/Commands.pm SHA1 5518e755e7bec8aab62b9640a488678c890aebd2 lib/Boxer/CLI/Command/Compose.pm SHA1 f821fd83794efbde4a7ab756d2b32a1ec74ab903 lib/Boxer/File/WithSkeleton.pm SHA1 a213fe4752a457a41fc68bc91dc53fa924717cfc lib/Boxer/Part.pm SHA1 6d3483cc3f501e66a073e67cd2eefac4e7a8c5a0 lib/Boxer/Part/Reclass.pm SHA1 6975c109cecd250fb4d506546d9ad31ff2b62d3b lib/Boxer/Role/Interact.pm SHA1 fa282e9f0de81e6fa04be758ac1b3a47a4240ed2 lib/Boxer/Task.pm SHA1 327650d5865487248d0211753404ac0587ad9599 lib/Boxer/Task/Classify.pm SHA1 26985bcc07e378cbee94760e90d8ecb9319de356 lib/Boxer/Task/Serialize.pm SHA1 b4978767d3b1236a309c30b625923879525b8056 lib/Boxer/Types.pm SHA1 6a1e853f340cdb3e81868455325fa732f1c5332e lib/Boxer/World.pm SHA1 a82cc2f4a7f6effe744ccf96085c700d0d87aef8 lib/Boxer/World/Flat.pm SHA1 e5d71f0aa10ad22bc3c22c3e5060767c71445095 lib/Boxer/World/Reclass.pm SHA1 16ab646487dcc69478b20f7f11becb9f30bc01ee share/skel/preseed.cfg.in SHA1 888a9b47c3e1cdbc23d932d2ec0ef4bb0e671572 share/skel/script.sh.in 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 0975601a515a4413e644f83b7bde12be352197e7 t/world.t -----BEGIN PGP SIGNATURE----- iQIzBAEBCgAdFiEEn+Ppw2aRpp/1PMaELHwxRsGgASEFAloAN+kACgkQLHwxRsGg ASHdxA//SO/gEH60z4TDJ+n0CBDeR06f/EdpMYCmgGImdUTPRbZGjyJf8B2qSRqD yWWgZYKM0hRA5sq/9KoKA41597sHNV7Yed3LKDPtF5qwz5jzHjE2JrgnsJ44E4nz W+GM+/yGBklDuAUXrnazPgTRRYb+qiv1XNbLSoawULxRQI7iM32jXfDulvueKjVu 50GhnrN7Doa6r+bCrYnX0STWftEfTPKtCPr5bJfqvt4ZDPGi6oSY0xmbzPoKkW62 rtnl4fLsFHHRYwTKDzmBHaFJTJsn0cVeh54jzr6RAI0ma6Hy7A82Rnm7Ice2V7WR ADKJbcP1A0zMYGI6vt7cgiyNjbgtT9zrV+e094Qiq4ynAOKlf3U20UuER7up8hg/ omGs1PciAjIGbp00RdyqMMsVl2USwj9OKcxU3MAzNZ3nu5Cx9fVpC5F05Qyb9Qct Tric+ttk2maWqRUX4dLqLB3do81InkLMcWDLgwZN71oWmBXAHupMerAP4rKtir0u 7wzftrn24zFWCx5456bNUvANmfc5lhqxLvNwXHKBCDuWX/HpmydeeYCr62nzWVxc BGNjQr2gSF3+MYXwl14gE8AANLAzHaE0vmTlU/M4VVMjPkOwKZDUalXPvs5SSY/P nyPugf7g1ijCOnwUl2ymLZ5BEKxY3tqMaSY9iXTMbzY9c4xLZ9g= =3o1D -----END PGP SIGNATURE----- TODO000644001750001750 422313200033750 13136 0ustar00jonasjonas000000000000Boxer-v1.1.7 * Only optionally (not by default) include tweaks. * Include README on whether it is a Debian Blend or Debian Pure Blend. * Isolate package auto-install flagging only relevant for upgrades. * Fail (or optionally warn) if both installing and avoiding a package. * Handle bugs as parameters, and extend data documentation. * Resolve named suites (e.g. stretch) from relative (e.g. testing). * Use warnings::warnif instead of carp (and croak?). Or Throwable? * Use IPC::PrettyPipe Initial release: * Reimplement commands and classes from current make-based boxer: + bootstrap + install + Bootstrap::Multistrap + Install::Device Later releases... * Use Object::Remote + Add subclass to use Rex::Inline + Add subclass to use debootstrap/cdebootstrap/multistrap * Limit coercion and type checks * Implement additional commands and classes to create a system: + bless + Bootstrap::Debootstrap + Bootstrap::Live-build + Bless::Extlinux * Implement commands and classes to interact with an existing system: + refresh + detect + distill * Implement commands and classes to interact with config classes: + list + enable + disable * Implement commands and classes to echange config classes: + push + pull + publish * Implement trojan" functionality for install and bless classes, to embed as trigger unfolding at first boot in target environment. * Implement alternate CLI shim tools which mimic conventional tools, to bring boxer flexibility to existing unmodified scripts. * Implement web export and/or service usable with debian-installer for static/live boxer-driven "Hands-off" . * Implement commands and classes to interact with bug trackers: + triage * Implement PXE target - i.e. DHCP+TFTP services serving preseed file. + . + * Improve testsuite + Test implicit --skeldir (by setting ENV variable instead) dist.ini000644001750001750 13513200033750 14070 0ustar00jonasjonas000000000000Boxer-v1.1.7; Configuration file for Boxer ; ;; class = 'Dist::Inkt::Profile::TOBYINK' ;; name = 'Boxer' doap.ttl000644001750001750 4200613200033751 14140 0ustar00jonasjonas000000000000Boxer-v1.1.7@prefix cpan-uri: . @prefix dc: . @prefix doap: . @prefix doap-changeset: . @prefix doap-deps: . @prefix foaf: . @prefix rdfs: . @prefix xsd: . dc:title "the same terms as the perl 5 programming language system itself". a doap:Project; cpan-uri:x_help_wanted , ; dc:contributor ; 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::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 "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 "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 "File::Which 0"^^doap-deps:CpanId ], [ doap-deps:on "Test::Compile 0"^^doap-deps:CpanId ], [ doap-deps:on "Test::Exception 0"^^doap-deps:CpanId ], [ doap-deps:on "Test::File::Contents 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 ; doap:category [ rdfs:label "Debian" ], [ rdfs:label "Distribution" ]; doap:created "2013-02-12"^^xsd:date; doap:developer ; doap:download-page ; doap:homepage , ; doap:license ; doap:maintainer ; doap:name "Boxer"; doap:programming-language "Perl"; doap:release , , , , , , , , , , , , ; doap:repository [ a doap:GitRepository; doap:browse ; ]; doap:shortdesc "boxer command line utils". 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 ; doap:file-release ; doap:revision "0.001"^^xsd:string. 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 ; ]; ]; doap-changeset:released-by ; doap:file-release ; doap:revision "0.002"^^xsd:string. 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 ; doap:file-release ; doap:revision "0.003"^^xsd:string. 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 ; doap:file-release ; doap:revision "0.004"^^xsd:string. 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 ; doap:file-release ; doap:revision "v1.0.0"^^xsd:string. 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 ; doap:file-release ; doap:revision "v1.1.0"^^xsd:string. 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 ; doap:file-release ; doap:revision "v1.1.1"^^xsd:string. 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 ; doap:file-release ; doap:revision "v1.1.2"^^xsd:string. 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 ; doap:file-release ; doap:revision "v1.1.3"^^xsd:string. 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 ; doap:file-release ; doap:revision "v1.1.4"^^xsd:string. 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 ; doap:file-release ; doap:revision "v1.1.5"^^xsd:string. a doap:Version; dc:identifier "Boxer-v1.1.6"^^xsd:string; dc:issued "2017-11-05"^^xsd:date; doap-changeset:changeset [ doap-changeset:item [ a doap-changeset:Packaging; rdfs:label "Fix require Test::Exception and Test::File::Contents for testsuite."; ], [ a doap-changeset:Bugfix; rdfs:label "Fix testsuite to gracefully handle executable reclass unavailable."; ]; ]; doap-changeset:released-by ; doap:file-release ; doap:revision "v1.1.6"^^xsd:string. a doap:Version; dc:identifier "Boxer-v1.1.7"^^xsd:string; dc:issued "2017-11-06"^^xsd:date; doap-changeset:changeset [ doap-changeset:item [ a doap-changeset:Bugfix; rdfs:label "Fix make option --skeldir optional."; ]; ]; doap-changeset:released-by ; doap:file-release ; doap:revision "v1.1.7"^^xsd:string. a foaf:Person; foaf:mbox , ; foaf:name "Jonas Smedegaard"; foaf:nick "JONASS"; foaf:page . a foaf:Person; foaf:mbox ; foaf:name "Toby Inkster"; foaf:nick "TOBYINK"; foaf:page . boxer000644001750001750 720713200033750 14265 0ustar00jonasjonas000000000000Boxer-v1.1.7/bin#!/usr/bin/env perl =encoding UTF-8 =head1 NAME boxer - boxer command line utils =cut use v5.14; use utf8; use strictures 2; use version; use Role::Commons -all; use Boxer::CLI; Boxer::CLI->run; =head1 VERSION Version v1.1.7 =cut our $VERSION = version->declare("v1.1.7"); =head1 SYNOPSIS $ boxer compose parl-greens Done: composed preseed.cfg and script.sh for a DebianParl system # TODO: below command are not yet implemented $ boxer install [...] Done: Installed "Debian GNU/Linux 7.0 (wheezy)" to /media/boxer $ boxer install --arch armhf --classes swedish kde webdesign [...] Done: Installed "Debian GNU/Linux 7.0 (wheezy)" to /media/boxer $ boxer detect Analyzing current system... Report and custom class saved below directory /tmp/boxer.wcJxHnql6f $ boxer refresh --script ~/refresh.sh Shell script (to be executed by root) saved as ~/refresh.sh =head1 DESCRIPTION boxer is a single front-end to various "boxing" tasks - i.e. structured system-wide tasks commonly applied in batch to larger deployments. Unlike tools like Puppet, CFEngine and Chef which operates on top of an installed system, boxer preferrably interacts with the packaging system of the system. Boxer is inspired by Fully Automated Installer (FAI) and the classes are modelled after that tool, but goal of boxer is to become obsolete: boxer can include custom tweaks but encourages avoiding them and instead pass upstream to distro designers the needed customizations. The core distribution includes commands to analyze, initialize and refresh a Debian(-based) operating system. However, boxer is pluggable and it is anticipated that plugins on CPAN will cover other related tasks. =head1 COMMANDS This section describes the commands included with the core Boxer::CLI distribution. Others are available as plugins. Run C<< boxer commands >> to see a list of locally installed commands. =head2 Meta Commands =head3 C<< boxer about >> Shows the version numbers of all installed boxer commands, plus the CPAN ID of each command's author. =head3 C<< boxer aliases >> Many commands have aliases or shortcuts. For example, the following two are equivalent: $ boxer install --arch armhf --classes swedish $ boxer deploy --arch armhf --classes swedish C<< boxer aliases >> shows a list of available aliases. =head3 C<< boxer commands >> Shows a list of installed boxer commands, along with a brief extract. =head3 C<< boxer help >> Running the C<< boxer help >> command on its own shows a list of commands with their abstracts. Detailed help for a particular command can be shown by providing that as an argument. For example, for help on the C<< boxer detect >> command, run: $ boxer help detect =head2 System creation/manipulation =head3 C<< boxer install >> =head3 C<< boxer update >> =head2 Class handling =head3 C<< boxer enable >> =head3 C<< boxer disable >> =head3 C<< boxer analyze >> =head2 Class exchange =head3 C<< boxer pull >> =head3 C<< boxer push >> =head3 C<< boxer publish >> =head1 SEE ALSO Find Boxer::CLI plugins on MetaCPAN: L. =head1 AUTHOR Jonas Smedegaard C<< >>. =cut our $AUTHORITY = 'cpan:JONASS'; =head1 COPYRIGHT AND LICENCE 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. =head1 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. =cut 1; boxer.svg000644001750001750 1527013200033750 15077 0ustar00jonasjonas000000000000Boxer-v1.1.7/doc image/svg+xml boxer profiles distilldetect edit share tweaksdebootstraptweaksinstalltweaks deploy analyse publishclonepushpull adapt (from OS)addenabledisable New System Self The World Existing System README000644001750001750 323213200033750 15143 0ustar00jonasjonas000000000000Boxer-v1.1.7/examplesClasses and nodes usable by Boxer ================================= Classes and nodes are YAML files parsed by reclass. See reclass documentation for more info on its syntax and structure. Additional syntax needed for parsing by Boxer is covered below. Classes ------- Lowercase classes are reusable, (relatively) objective core classes. Never include documentation, and avoid pkg-auto or pkg-avoid items. Capital classes (first letter uppercase) and their subclasses are subjective high-level bundles. Always include documentation. Nodes ----- Nodes should only use capital classes, to have all actions documented. Parameters ---------- doc: Documentation doc-headline: Headline for a group of classes doc-pkg: Description of purpose of pkg lists in this class doc-tweak: Description of purpose of tweak in this class pkg: Packages to install pkg-auto: Packages to mark auto-installed if installed pkg-avoid: Packages to remove tweak: Tweaks to apply after package actions Packages -------- Packages are binary packages registered in APT. One way to resolve package lists for classes is to to try mark most possible packages on an actual system as auto-installed (e.g. hit "M" with aptitude in fullscreen mode), and then dump the list of remaining manually installed packages with "apt-mark showmanual". Tweaks ------ Tweaks are code snippets executed by a POSIX shell. Avoid ${...} (reclass use it for parameter interpolation), e.g. by adding dummy quotes like this: "dpkg-query -Wf='$''{Depends}\n' foo". Write tweaks for use with debian-installer, using either of below which will be stripped when generating script target: * "chroot /target " * "/target/" Boxer.pm000644001750001750 174413200033750 14636 0ustar00jonasjonas000000000000Boxer-v1.1.7/libpackage Boxer; =encoding UTF-8 =head1 NAME Boxer - system deployment ninja tricks =cut use v5.14; use utf8; use strictures 2; use version; use Role::Commons -all; use namespace::clean; =head1 VERSION Version v1.1.7 =cut our $VERSION = version->declare("v1.1.7"); =head1 DESCRIPTION Framework for system deployment ninja tricks =head1 BUGS Please report any bugs to L. =head1 SEE ALSO L. =head1 AUTHOR Jonas Smedegaard C<< >>. =cut our $AUTHORITY = 'cpan:JONASS'; =head1 COPYRIGHT AND LICENCE 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. =head1 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. =cut 1; 00_compile.t000644001750001750 32213200033750 15001 0ustar00jonasjonas000000000000Boxer-v1.1.7/t#!/usr/bin/perl use v5.14; use utf8; use strictures 2; use Test::More; eval "use Test::Compile"; Test::More->builder->BAIL_OUT( "Test::Compile required for testing compilation") if $@; all_pm_files_ok(); 00_compile_scripts.t000644001750001750 32213200033750 16550 0ustar00jonasjonas000000000000Boxer-v1.1.7/t#!/usr/bin/perl use v5.14; use utf8; use strictures 2; use Test::More; eval "use Test::Compile"; Test::More->builder->BAIL_OUT( "Test::Compile required for testing compilation") if $@; all_pl_files_ok(); 01_app_help.t000644001750001750 55213200033750 15147 0ustar00jonasjonas000000000000Boxer-v1.1.7/t#!/usr/bin/perl use v5.14; use utf8; use strictures 2; use Test::More tests => 3; use App::Cmd::Tester; use Boxer::CLI; my $result = test_app( 'Boxer::CLI' => [qw(help)] ); like( $result->stdout, qr/Available commands:/, 'printed what we expected' ); is( $result->stderr, '', 'nothing sent to sderr' ); is( $result->error, undef, 'threw no exceptions' ); fixme.t000644001750001750 15013200033750 14161 0ustar00jonasjonas000000000000Boxer-v1.1.7/t#!/usr/bin/perl use v5.14; use utf8; use strictures 2; use Test::Fixme; run_tests( where => 'lib' ); minimumversion.t000644001750001750 21413200033750 16133 0ustar00jonasjonas000000000000Boxer-v1.1.7/t#!/usr/bin/perl -w use v5.14; use utf8; use strictures 2; use Test::More; use Test::MinimumVersion; all_minimum_version_from_metayml_ok; pod.t000644001750001750 27413200033750 13642 0ustar00jonasjonas000000000000Boxer-v1.1.7/t#!/usr/bin/perl use v5.14; use utf8; use strictures 2; use Test::More; eval "use Test::Pod 1.00"; plan skip_all => "Test::Pod 1.00 required for testing POD" if $@; all_pod_files_ok(); world.t000644001750001750 267313200033750 14234 0ustar00jonasjonas000000000000Boxer-v1.1.7/t#!/usr/bin/perl use v5.14; use utf8; use strictures 2; #use Test::More tests => 6; use Test::More; use Test::Exception; use Test::File::Contents; use File::Which; use Path::Tiny; plan skip_all => 'reclass executable required' unless which('reclass'); use_ok('Boxer::Part::Reclass'); use_ok('Boxer::World::Reclass'); use_ok('Boxer::Task::Classify'); use_ok('Boxer::Task::Serialize'); my $from_reclass = new_ok( 'Boxer::Task::Classify' => [ datadir => path('examples'), ] ); my $world = $from_reclass->run; my $outdir = Path::Tiny->tempdir; note("Temporary output directory is $outdir"); my $to_compositions = new_ok( 'Boxer::Task::Serialize' => [ world => $world, skeldir => path('share')->child('skel'), outdir => $outdir, node => 'lxp5', ] ); $to_compositions->run; file_contents_like $outdir->child('preseed.cfg'), qr/pkgsel\/include string acpi-support/, 'content of "preseed.cfg" seems ok'; file_contents_like $outdir->child('script.sh'), qr/apt-get install acpi-support/, 'content of "script.sh" seems ok'; my $from_root = new_ok( 'Boxer::Task::Classify' => [ datadir => path('.') ] ); throws_ok( sub { $from_root->run; }, qr/Must be an existing directory containing boxer classes/, 'Died as expected on existing but wrong datadir' ); throws_ok( sub { Boxer::Task::Classify->new( datadir => path('nowhere') ); }, qr/Directory 'nowhere' does not exist/, 'Died as expected on non-exising datadir' ); done_testing(); lxp5.yml000644001750001750 134113200033750 17005 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/nodesclasses: - Admin - Admin.backup.remote - Admin.harden.account - Admin.harden.trustweb - Admin.disk.lvm - Console - Console.editor.vim - Console.mail - Console.mail.list - Console.multiplexer - Hardware.harden - Hardware.motherboard.intel.atom.32bit - Hardware.nic.realtek - Service.antivirus - Service.dhcp.client - Service.dns.authoritative - Service.git - Service.ids - Service.log - Service.web - Service.web.apache.gnutls - Service.web.uwsgi.python - Service.web.mail.cider # - Service.web.slippymap - Service.web.wiki.moinmoin - Service.mail.antispam - Service.mail.imap - Service.mail.list - Service.mail.sasl - Service.mail.sieve # - Service.mail.search - Service.ssh parl-greens.yml000644001750001750 13213200033750 20311 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/nodesclasses: - Task.harden.desktop - Desktop.locale.EU - Hardware.laptop.lenovo.edge145 CLI.pm000644001750001750 175413200033750 15246 0ustar00jonasjonas000000000000Boxer-v1.1.7/lib/Boxerpackage Boxer::CLI; =encoding UTF-8 =head1 NAME Boxer::CLI - boxer command line utils =cut use v5.14; use utf8; use strictures 2; use version; use Role::Commons -all; use App::Cmd::Setup -app; use namespace::clean; =head1 VERSION Version v1.1.7 =cut our $VERSION = version->declare("v1.1.7"); =head1 SYNOPSIS use Boxer::CLI; BOXER::CLI->run; =head1 DESCRIPTION Support library for the L command-line tool. =head1 SEE ALSO L, L. =head1 AUTHOR Jonas Smedegaard C<< >>. =cut our $AUTHORITY = 'cpan:JONASS'; =head1 COPYRIGHT AND LICENCE 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. =head1 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. =cut 1; Part.pm000644001750001750 174513200033750 15545 0ustar00jonasjonas000000000000Boxer-v1.1.7/lib/Boxerpackage Boxer::Part; =encoding UTF-8 =head1 NAME Boxer::Part - software component =cut use v5.14; use utf8; use strictures 2; use version; use Role::Commons -all; use autodie; use Moo; use namespace::clean; =head1 VERSION Version v1.1.7 =cut our $VERSION = version->declare("v1.1.7"); =head1 DESCRIPTION Outside the box is a World of software, consisting of parts. B represents a part of a . =head1 SEE ALSO L. =head1 AUTHOR Jonas Smedegaard C<< >>. =cut our $AUTHORITY = 'cpan:JONASS'; =head1 COPYRIGHT AND LICENCE 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. =head1 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. =cut 1; Task.pm000644001750001750 150513200033750 15533 0ustar00jonasjonas000000000000Boxer-v1.1.7/lib/Boxerpackage Boxer::Task; =encoding UTF-8 =cut use v5.14; use utf8; use strictures 2; use version; use Role::Commons -all; use autodie; use Moo; with 'MooX::Role::Logger', 'Boxer::Role::Interact'; use namespace::clean; =head1 VERSION Version v1.1.7 =cut our $VERSION = version->declare("v1.1.7"); =head1 AUTHOR Jonas Smedegaard C<< >>. =cut our $AUTHORITY = 'cpan:JONASS'; =head1 COPYRIGHT AND LICENCE 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. =head1 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. =cut 1; Types.pm000644001750001750 327313200033750 15741 0ustar00jonasjonas000000000000Boxer-v1.1.7/lib/Boxerpackage Boxer::Types; =encoding UTF-8 =cut use v5.14; use utf8; use strictures 2; use version; use Role::Commons -all; use Path::Tiny; use Type::Library -base, -declare => qw( DataDir ClassDir NodeDir SkelDir Basename Suite ); use Type::Utils -all; use Types::Common::String qw(NonEmptySimpleStr LowerCaseSimpleStr); use Types::Path::Tiny qw(Dir); use namespace::clean; =head1 VERSION Version v1.1.7 =cut our $VERSION = version->declare("v1.1.7"); declare DataDir, as Dir, coercion => 1, message { 'Must be an existing directory containing directories for boxer classes and/or boxer nodes'; }; declare ClassDir, as Dir, coercion => 1, message {'Must be an existing directory containing boxer classes'}; declare NodeDir, as Dir, coercion => 1, message {'Must be an existing directory containing boxer nodes'}; declare SkelDir, as Dir, coercion => 1, message {'Must be an existing directory containing boxer skeleton files'}; declare Basename, as NonEmptySimpleStr, where { $_ eq path($_)->basename }, message {'Must be a bare filename with no directory parts'}; declare Suite, as LowerCaseSimpleStr, coercion => 1, message {'Must be a single lowercase word'}; =head1 AUTHOR Jonas Smedegaard C<< >>. =cut our $AUTHORITY = 'cpan:JONASS'; =head1 COPYRIGHT AND LICENCE 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. =head1 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. =cut 1; World.pm000644001750001750 231113200033750 15714 0ustar00jonasjonas000000000000Boxer-v1.1.7/lib/Boxerpackage Boxer::World; =encoding UTF-8 =head1 NAME Boxer::World - set of software available to install =cut use v5.14; use utf8; use strictures 2; use version; use Role::Commons -all; use autodie; use Moo; use Types::Standard qw(ArrayRef InstanceOf); use namespace::clean; =head1 VERSION Version v1.1.7 =cut our $VERSION = version->declare("v1.1.7"); =head1 DESCRIPTION Outside the box is a world of software. B is a class describing a collection of software available for installation into (or as) an operating system. =head1 SEE ALSO L. =cut has parts => ( is => 'ro', isa => ArrayRef [ InstanceOf ['Boxer::Part'] ], required => 1, ); =head1 AUTHOR Jonas Smedegaard C<< >>. =cut our $AUTHORITY = 'cpan:JONASS'; =head1 COPYRIGHT AND LICENCE 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. =head1 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. =cut 1; preseed.cfg.in000644001750001750 61613200033750 17205 0ustar00jonasjonas000000000000Boxer-v1.1.7/share/skel# This is a debian-installer preseed file. # It was generated by Boxer with node "[% node %]" d-i mirror/suite string [% suite %] [% IF pkglist %] [% pkgdesc %] d-i pkgsel/include string [% pkglist %][% END %] [% tweakdesc %] d-i preseed/late_command string set -e;\ suite=[% suite %][% IF pkgautolist %];\ chroot /target apt-mark auto \ [% pkgautolist %] || true[% END %];\ [% tweaklist %] script.sh.in000644001750001750 61413200033750 16733 0ustar00jonasjonas000000000000Boxer-v1.1.7/share/skel#!/bin/sh # This is an install/update script. # It was generated by Boxer with node "[% node %]" set -e # Workaround for dictionaries-common install failure (bug#751367) apt-get install apt-utils [% IF pkglist %] [% pkgdesc %] apt-get install [% pkglist %][% END %] [% tweakdesc %] suite=[% suite %] [% IF pkgautolist %] apt-mark auto \ [% pkgautolist %] || true [% END %] [% tweaklist %] auto.yml000644001750001750 45713200033750 20431 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Adminclasses: - Admin.etc.functions - Admin parameters: doc: admin: pkg: - include automated maintenance routines tweak: - auto-repair inconsistent filesystems during boot pkg: - unattended-upgrades - ntp tweak: - _setvar /target/etc/default/rcS FSCKFIX yes base.yml000644001750001750 10713200033750 20363 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Adminparameters: doc: admin: headline: - Administration init.yml000644001750001750 10713200033750 20414 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Adminparameters: doc: admin: headline: - Administration compression.yml000644001750001750 16413200033750 22367 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Consoleclasses: - cli.compression parameters: doc: console: pkg: - include console compression tools filemanager.yml000644001750001750 20513200033750 22274 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Consoleclasses: - cli.mc - Console parameters: doc: console: pkg: - install console file manager Midnight Commander init.yml000644001750001750 10213200033750 20761 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Consoleparameters: doc: console: headline: - Console mouse.yml000644001750001750 16313200033750 21155 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Consoleclasses: - cli.gpm - Console parameters: doc: console: pkg: - enable console mouse support tools.yml000644001750001750 31713200033750 21166 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Consoleclasses: - cli.less - Console parameters: doc: console: pkg: - include console helper tools pkg: - dfc - info - man-db - manpages - mr - mtr-tiny - ncdu base.yml000644001750001750 12313200033750 20742 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktopclasses: - x11 parameters: doc: desktop: headline: - Desktop harden.yml000644001750001750 12213200033750 21270 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktopclasses: - Desktop.email.harden - Desktop.tools.harden - Desktop.web.harden init.yml000644001750001750 12313200033750 20773 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktopclasses: - x11 parameters: doc: desktop: headline: - Desktop base.yml000644001750001750 10613200033750 21267 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Frameworkparameters: doc: framework: headline: - Framework base.yml000644001750001750 10413200033750 21065 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Hardwareparameters: doc: hardware: headline: - Hardware harden.yml000644001750001750 7613200033750 21404 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Hardwareclasses: - Hardware.net.pac.avoid - Hardware.tools.harden power.yml000644001750001750 37413200033750 21320 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Hardwareclasses: - hw.acpi.full - Admin.etc.functions - Hardware.base parameters: doc: hardware: tweak: - sleep when lid is closed pkg-avoid: - cpufrequtils tweak: - _setvar /target/etc/default/acpi-support LID_SLEEP true antivirus.yml000644001750001750 24313200033750 22046 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Serviceclasses: - cli.compression.uncommon - Service parameters: doc: service: pkg: - include antivirus service ClamAV pkg: - clamav-daemon base.yml000644001750001750 10213200033750 20726 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Serviceparameters: doc: service: headline: - Service git.yml000644001750001750 24313200033750 20605 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Serviceclasses: - Service.web.apache - Service parameters: doc: service: pkg: - include git service pkg: - gitweb - git-daemon-sysvinit ids.yml000644001750001750 21213200033750 20575 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Serviceclasses: - Service parameters: doc: service: pkg: - include intrusion detection system fail2ban pkg: - fail2ban init.yml000644001750001750 10213200033750 20757 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Serviceparameters: doc: service: headline: - Service ssh.yml000644001750001750 33113200033750 20615 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Serviceclasses: - cli.ssh-server - Service parameters: doc: service: pkg: - include remote access to console (ssh) pkg-auto: - ncurses-term - openssh-blacklist - openssh-blacklist-extra gpm.yml000644001750001750 3513200033750 17733 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/cliparameters: pkg: - gpm less.yml000644001750001750 3613200033750 20117 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/cliparameters: pkg: - less mc.yml000644001750001750 16513200033750 17573 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/cli#FIXME: check if antiword catdoc html2text and/or others are needed classes: - cli.web parameters: pkg: - mc ssh-server.yml000644001750001750 16113200033750 21271 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/cliparameters: pkg: - task-ssh-server - molly-guard pkg-auto: - openssh-server - openssh-client web.yml000644001750001750 14013200033750 17742 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/cli# elinks is arguably better, but not recognized by default by mc parameters: pkg: - links bluetooth.yml000644001750001750 4313200033750 21023 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/hwparameters: pkg: - bluetooth crypto.yml000644001750001750 4113200033750 20334 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/hwparameters: pkg: - haveged firmware.yml000644001750001750 17713200033750 20662 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/hwparameters: pkg: - firmware-linux-free pkg-nonfree: - firmware-linux pkg-nonfree-auto: - firmware-linux-free power.yml000644001750001750 4613200033750 20155 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/hwparameters: pkg: - cpufrequtils init.yml000644001750001750 4613200033750 17757 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/x11parameters: pkg: - xserver-xorg Command.pm000644001750001750 150213200033750 16613 0ustar00jonasjonas000000000000Boxer-v1.1.7/lib/Boxer/CLIpackage Boxer::CLI::Command; =encoding UTF-8 =cut use v5.14; use utf8; use strictures 2; use version; use Role::Commons -all; use Log::Any::Adapter qw; use App::Cmd::Setup-command; use namespace::clean; =head1 VERSION Version v1.1.7 =cut our $VERSION = version->declare("v1.1.7"); =head1 AUTHOR Jonas Smedegaard C<< >>. =cut our $AUTHORITY = 'cpan:JONASS'; =head1 COPYRIGHT AND LICENCE 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. =head1 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. =cut 1; WithSkeleton.pm000644001750001750 532613200033750 20135 0ustar00jonasjonas000000000000Boxer-v1.1.7/lib/Boxer/Filepackage Boxer::File::WithSkeleton; =encoding UTF-8 =cut use v5.14; use utf8; use strictures 2; use version; use Role::Commons -all; use Path::Tiny; use Template::Tiny; use File::ShareDir qw(dist_dir); use Moo; use Types::Standard qw(Maybe); use Types::TypeTiny qw(HashLike); use Types::Path::Tiny qw(Dir File Path); use Boxer::Types qw(SkelDir Basename); use namespace::clean; =head1 VERSION Version v1.1.7 =cut our $VERSION = version->declare("v1.1.7"); # permit callers to sloppily pass undefined values sub BUILDARGS { my ( $class, %args ) = @_; delete @args{ grep !defined( $args{$_} ), keys %args }; return {%args}; } has basename => ( is => 'ro', isa => Basename, ); has file => ( is => 'lazy', isa => Basename, default => sub { if ( $_[0]->basename ) { return $_[0]->basename; } elsif ( $_[0]->skeleton_suffix ) { return $_[0]->skeleton_path->basename( $_[0]->skeleton_suffix ); } }, ); has file_path => ( is => 'lazy', isa => Path, required => 1, default => sub { if ( $_[0]->file_dir and $_[0]->file ) { return $_[0]->file_dir->child( $_[0]->file ); } }, ); has file_dir => ( is => 'lazy', isa => Dir, default => sub { path('.') }, ); has skeleton => ( is => 'lazy', isa => Basename, default => sub { if ( $_[0]->basename and $_[0]->skeleton_dir and $_[0]->skeleton_suffix ) { return $_[0]->skeleton_dir->child( $_[0]->basename . $_[0]->skeleton_suffix )->basename; } }, ); has skeleton_path => ( is => 'lazy', isa => File, required => 1, default => sub { if ( $_[0]->skeleton_dir and $_[0]->skeleton ) { return $_[0]->skeleton_dir->child( $_[0]->skeleton ); } }, ); has skeleton_dir => ( is => 'lazy', isa => SkelDir, default => sub { path( dist_dir('Boxer'), 'skel' ) }, ); has skeleton_suffix => ( is => 'ro', isa => Basename, default => '.in', ); has vars => ( is => 'ro', isa => HashLike, required => 1, ); sub create { my $self = shift; my $template = Template::Tiny->new( TRIM => 1, ); my $content = ''; $template->process( \$self->skeleton_path->slurp, $self->vars, \$content ); $self->file_path->spew( $content . "\n" ); } =head1 AUTHOR Jonas Smedegaard C<< >>. =cut our $AUTHORITY = 'cpan:JONASS'; =head1 COPYRIGHT AND LICENCE 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. =head1 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. =cut 1; Reclass.pm000644001750001750 347413200033750 17142 0ustar00jonasjonas000000000000Boxer-v1.1.7/lib/Boxer/Partpackage Boxer::Part::Reclass; =encoding UTF-8 =head1 NAME Boxer::Part::Reclass - software component as a reclass node or class =cut use v5.14; use utf8; use strictures 2; use version; use Role::Commons -all; use autodie; use Moo; extends 'Boxer::Part'; use Types::Standard qw(Str Maybe ArrayRef HashRef); use Types::TypeTiny qw(StringLike); use namespace::clean; =head1 VERSION Version v1.1.7 =cut our $VERSION = version->declare("v1.1.7"); =head1 DESCRIPTION Outside the box is a World of software, consisting of parts. B represents a part of a , represented as a B node or class. =head1 SEE ALSO L. =cut has id => ( is => 'ro', isa => Str, ); has classes => ( is => 'ro', isa => Maybe [ ArrayRef [Str] ], ); has doc => ( is => 'ro', isa => HashRef, ); has pkg => ( is => 'ro', isa => ArrayRef [Str], ); has pkg_auto => ( is => 'ro', isa => ArrayRef [Str], ); has pkg_avoid => ( is => 'ro', isa => ArrayRef [Str], ); has pkg_nonfree => ( is => 'ro', isa => ArrayRef [Str], ); has pkg_nonfree_auto => ( is => 'ro', isa => ArrayRef [Str], ); has bug => ( is => 'ro', isa => ArrayRef [Str], ); has tweak => ( is => 'ro', isa => ArrayRef [Str], ); has epoch => ( is => 'ro', isa => Maybe [StringLike], ); =head1 AUTHOR Jonas Smedegaard C<< >>. =cut our $AUTHORITY = 'cpan:JONASS'; =head1 COPYRIGHT AND LICENCE Copyright © 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. =head1 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. =cut 1; Interact.pm000644001750001750 212413200033750 17301 0ustar00jonasjonas000000000000Boxer-v1.1.7/lib/Boxer/Rolepackage Boxer::Role::Interact; =encoding UTF-8 =cut use v5.14; use utf8; use strictures 2; use version; use Role::Commons -all; use Moo::Role; use Types::Standard qw< Bool >; use namespace::clean; =head1 VERSION Version v1.1.7 =cut our $VERSION = version->declare("v1.1.7"); has verbose => ( is => 'rw', isa => Bool, required => 1, default => sub {0}, ); has debug => ( is => 'rw', isa => Bool, required => 1, default => sub {0}, ); has dryrun => ( is => 'ro', isa => Bool, required => 1, default => sub {0}, ); =head1 AUTHOR Jonas Smedegaard C<< >>. =cut our $AUTHORITY = 'cpan:JONASS'; =head1 COPYRIGHT AND LICENCE 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. =head1 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. =cut 1; Classify.pm000644001750001750 453713200033750 17320 0ustar00jonasjonas000000000000Boxer-v1.1.7/lib/Boxer/Taskpackage Boxer::Task::Classify; =encoding UTF-8 =cut use v5.14; use utf8; use strictures 2; use version; use Role::Commons -all; use autodie qw(:all); use IPC::System::Simple; use File::BaseDir qw(data_dirs); use Capture::Tiny qw(capture_stdout); use YAML::XS; use Boxer::World::Reclass; use Boxer::Part::Reclass; use Moo; use Types::Standard qw( Maybe Str Undef ); use Boxer::Types qw( DataDir ClassDir NodeDir Suite ); extends 'Boxer::Task'; use namespace::clean; =head1 VERSION Version v1.1.7 =cut our $VERSION = version->declare("v1.1.7"); # permit callers to sloppily pass undefined values sub BUILDARGS { my ( $class, %args ) = @_; delete @args{ grep !defined( $args{$_} ), keys %args }; return {%args}; } has datadir => ( is => 'lazy', isa => Maybe [DataDir], coerce => 1, required => 1, default => sub {undef}, ); has suite => ( is => 'ro', isa => Suite, required => 1, coerce => 1, default => sub {'wheezy'}, ); has classdir => ( is => 'lazy', isa => ClassDir, coerce => 1, required => 1, default => sub { $_[0]->datadir ? $_[0]->datadir->child('classes') : scalar( data_dirs( 'boxer', $_[0]->suite, 'classes' ) ); }, ); has nodedir => ( is => 'lazy', isa => NodeDir, coerce => 1, required => 1, default => sub { $_[0]->datadir ? $_[0]->datadir->child('nodes') : '.' }, ); sub run { my $self = shift; my $data = Load( scalar( capture_stdout { system( 'reclass', '-b', '', '-c', $self->classdir, '-u', $self->nodedir, '--inventory', ); } ) ); my @parts; for ( keys %{ $data->{nodes} } ) { push @parts, Boxer::Part::Reclass->new( id => $_, epoch => $self->suite, %{ $data->{nodes}{$_}{parameters} } ); } return Boxer::World::Reclass->new( parts => \@parts, ); } =head1 AUTHOR Jonas Smedegaard C<< >>. =cut our $AUTHORITY = 'cpan:JONASS'; =head1 COPYRIGHT AND LICENCE 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. =head1 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. =cut 1; Serialize.pm000644001750001750 610513200033750 17463 0ustar00jonasjonas000000000000Boxer-v1.1.7/lib/Boxer/Taskpackage Boxer::Task::Serialize; =encoding UTF-8 =cut use v5.14; use utf8; use strictures 2; use version; use Role::Commons -all; use autodie; use Path::Tiny; use File::ShareDir qw(dist_dir); use Boxer::File::WithSkeleton; use Moo; use Types::Standard qw( Bool Maybe Str Undef InstanceOf ); use Types::Path::Tiny qw( Dir File Path ); use Boxer::Types qw( SkelDir ); extends 'Boxer::Task'; use namespace::clean; =head1 VERSION Version v1.1.7 =cut our $VERSION = version->declare("v1.1.7"); has world => ( is => 'ro', isa => InstanceOf ['Boxer::World::Reclass'], required => 1, ); has skeldir => ( is => 'ro', isa => Maybe [SkelDir], coerce => 1, ); has infile => ( is => 'ro', isa => File, coerce => File->coercion, ); has altinfile => ( is => 'ro', isa => File, coerce => File->coercion, ); has outdir => ( is => 'ro', isa => Dir, coerce => Dir->coercion, ); has outfile => ( is => 'ro', isa => Path, coerce => Path->coercion, ); has altoutfile => ( is => 'ro', isa => Path, coerce => Path->coercion, ); has node => ( is => 'ro', isa => Str, required => 1, ); has nonfree => ( is => 'ro', isa => Bool, required => 1, default => sub {0}, ); sub run { my $self = shift; my $world = $self->world->flatten( $self->node, $self->nonfree, ); my $pkglist = join( ' ', sort @{ $world->pkgs } ); $pkglist .= " \\\n "; $pkglist .= join( ' ', sort map { $_ . '-' } @{ $world->pkgs_avoid } ); my $pkgautolist = join( ' ', sort @{ $world->pkgs_auto } ); my $tweaklist = join( ";\\\n ", @{ $world->tweaks } ); my %vars = ( node => $self->node, suite => $world->epoch, pkgdesc => $world->pkgdesc, pkglist => $pkglist, tweakdesc => $world->tweakdesc, tweaklist => $tweaklist, pkgautolist => $pkgautolist, ); Boxer::File::WithSkeleton->new( basename => 'preseed.cfg', skeleton_dir => $self->skeldir, skeleton_path => $self->infile, file_dir => $self->outdir, file_path => $self->outfile, vars => \%vars, )->create; my %altvars = %vars; $altvars{tweaklist} =~ s,chroot\s+/target\s+,,g; $altvars{tweaklist} =~ s,/target/,/,g; # TODO: maybe move below (or only $''{ part?) to reclass parser $altvars{tweaklist} =~ s/\\\K''(?=n)|\$\K''(?=\{)//g; Boxer::File::WithSkeleton->new( basename => 'script.sh', skeleton_dir => $self->skeldir, skeleton_path => $self->altinfile, file_dir => $self->outdir, file_path => $self->altoutfile, vars => \%altvars, )->create; } =head1 AUTHOR Jonas Smedegaard C<< >>. =cut our $AUTHORITY = 'cpan:JONASS'; =head1 COPYRIGHT AND LICENCE 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. =head1 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. =cut 1; Flat.pm000644001750001750 367613200033750 16621 0ustar00jonasjonas000000000000Boxer-v1.1.7/lib/Boxer/Worldpackage Boxer::World::Flat; =encoding UTF-8 =head1 NAME Boxer::World::Reclass - software for single use case =cut use v5.14; use utf8; use strictures 2; use version; use Role::Commons -all; use autodie; use Moo; extends 'Boxer::World'; use Types::Standard qw(Maybe Bool Tuple); use Types::TypeTiny qw(StringLike ArrayLike); use namespace::clean; =head1 VERSION Version v1.1.7 =cut our $VERSION = version->declare("v1.1.7"); =head1 DESCRIPTION Outside the box is a world of software. B is a class describing a collection of software available for installation into (or as) an operating system. =head1 SEE ALSO L. =cut has parts => ( is => 'ro', isa => Tuple [], default => sub { [] }, ); has node => ( is => 'ro', isa => StringLike, required => 1, ); has epoch => ( is => 'ro', isa => Maybe [StringLike], ); has pkgs => ( is => 'ro', isa => ArrayLike, required => 1, ); has pkgs_auto => ( is => 'ro', isa => ArrayLike, required => 1, ); has pkgs_avoid => ( is => 'ro', isa => ArrayLike, required => 1, ); has tweaks => ( is => 'ro', isa => ArrayLike, required => 1, ); has pkgdesc => ( is => 'ro', isa => StringLike, required => 1, ); has tweakdesc => ( is => 'ro', isa => StringLike, required => 1, ); has nonfree => ( is => 'ro', isa => Bool, required => 1, ); =head1 AUTHOR Jonas Smedegaard C<< >>. =cut our $AUTHORITY = 'cpan:JONASS'; =head1 COPYRIGHT AND LICENCE 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. =head1 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. =cut 1; Reclass.pm000644001750001750 772513200033750 17326 0ustar00jonasjonas000000000000Boxer-v1.1.7/lib/Boxer/Worldpackage Boxer::World::Reclass; =encoding UTF-8 =head1 NAME Boxer::World::Reclass - software as serialized by reclass =cut use v5.14; use utf8; use strictures 2; use version; use Role::Commons -all; use autodie; use Carp qw; use Try::Tiny; use Moo; extends 'Boxer::World'; use Types::Standard qw(ArrayRef InstanceOf); use Boxer::World::Flat; with qw(MooX::Role::Logger); use namespace::clean; =head1 VERSION Version v1.1.7 =cut our $VERSION = version->declare("v1.1.7"); =head1 DESCRIPTION Outside the box is a world of software. B is a class describing a collection of software available for installation into (or as) an operating system. =head1 SEE ALSO L. =cut has parts => ( is => 'ro', isa => ArrayRef [ InstanceOf ['Boxer::Part::Reclass'] ], required => 1, ); sub get_node_by_id { my ( $self, $id ) = @_; foreach ( @{ $self->parts } ) { if ( $_->id eq $id ) { return $_; } } croak "This world contains no node identified as \"" . $id . "\"."; } my $pos = 1; my @section_order = qw( Administration Service Console Desktop Language Framework Task Hardware ); my %section_order = map { $_ => $pos++ } @section_order; sub flatten { my ( $self, $node_id, $nonfree ) = @_; my $node = $self->get_node_by_id($node_id); ( $node->epoch ) or croak "Undefined epoch for node \"" . $self->node . "\"."; my %desc; my @section_keys = sort { ( $section_order{$a} // 1000 ) <=> ( $section_order{$b} // 1000 ) || $a cmp $b } keys %{ $node->{doc} }; foreach my $key (@section_keys) { my $headline = $node->{doc}{$key}{headline}[0] || $key; if (( $node->{pkg} and $node->{doc}{$key}{pkg} ) or ( $nonfree and $node->{'pkg-nonfree'} and $node->{doc}{$key}{'pkg-nonfree'} ) ) { push @{ $desc{pkg} }, "# $headline"; if ( $node->{pkg} ) { foreach ( @{ $node->{doc}{$key}{pkg} } ) { push @{ $desc{pkg} }, "# * $_"; } } if ( $nonfree and $node->{'pkg-nonfree'} ) { foreach ( @{ $node->{doc}{$key}{'pkg-nonfree'} } ) { push @{ $desc{pkg} }, "# * [non-free] $_"; } } } if ( $node->{tweak} and $node->{doc}{$key}{tweak} ) { push @{ $desc{tweak} }, "# $headline"; foreach ( @{ $node->{doc}{$key}{tweak} } ) { push @{ $desc{tweak} }, "# * $_"; } } } my $pkgdesc = defined( $desc{pkg} ) ? join( "\n", @{ $desc{pkg} } ) : ''; my $tweakdesc = defined( $desc{tweak} ) ? join( "\n", @{ $desc{tweak} } ) : ''; my @pkg = try { @{ $node->{pkg} } } catch { $self->_logger->warning('No packages resolved'); return (); }; my @pkgauto = try { @{ $node->{'pkg-auto'} } } catch { $self->_logger->warning('No package auto-markings resolved'); return (); }; my @pkgavoid = try { @{ $node->{'pkg-avoid'} } } catch { $self->_logger->warning('No package avoidance resolved'); return (); }; my @tweak = try { @{ $node->{tweak} } } catch { $self->_logger->warning('No tweaks resolved'); return (); }; if ($nonfree) { push @pkg, @{ $node->{'pkg-nonfree'} if ( $node->{'pkg-nonfree'} ) }; push @pkgauto, @{ $node->{'pkg-nonfree-auto'} } if ( $node->{'pkg-nonfree-auto'} ); } chomp(@tweak); return Boxer::World::Flat->new( node => $node_id, epoch => $node->epoch, pkgs => \@pkg, pkgs_auto => \@pkgauto, pkgs_avoid => \@pkgavoid, tweaks => \@tweak, pkgdesc => $pkgdesc, tweakdesc => $tweakdesc, nonfree => $nonfree, # TODO: unset if none resolved ); } =head1 AUTHOR Jonas Smedegaard C<< >>. =cut our $AUTHORITY = 'cpan:JONASS'; =head1 COPYRIGHT AND LICENCE 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. =head1 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. =cut 1; init.yml000644001750001750 12513200033750 21200 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Admin/aptclasses: - Framework.pkg.apt.cli.aptitude - Admin.apt.popcon - Admin.apt.tools popcon.yml000644001750001750 23113200033750 21531 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Admin/aptclasses: - Admin parameters: doc: admin: pkg: - include package usage reporting Popularity-Contest pkg: - popularity-contest init.yml000644001750001750 30613200033750 21662 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Admin/backup#TODO: Add tweak to backup debconf preseed cache classes: - Admin parameters: doc: admin: pkg: - include backup system Backupninja pkg: - backupninja - debconf-utils remote.yml000644001750001750 22713200033750 22214 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Admin/backupclasses: - Admin.backup parameters: doc: admin: pkg: - include Backupninja hook to save to remote host pkg: - rdiff-backup lvm.yml000644001750001750 22513200033750 21202 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Admin/diskclasses: - Admin.base parameters: doc: admin: pkg: - include support and tools for Logical Volume Management pkg: - lvm2 functions.yml000644001750001750 105113200033750 22253 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Admin/etcclasses: - Admin parameters: doc: admin: tweak: - define routines to make backup of and help edit config files tweak: - > _backup(){ set -e;\ if [ -e "$1.orig" ]; then \ :;\ elif [ -e "$1" ]; then \ cp -a "$1" "$1.orig";\ else \ touch "$1.orig";\ fi; } - > _clone(){ set -e;\ _backup "$2";\ cp -a "$1" "$2"; } - > _setvar(){ set -e;\ _backup "$1";\ sed -i -r \ -e "s,^#?($2)=.*,\\1=$3," "$1"; } track.yml000644001750001750 21713200033750 21332 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Admin/etcclasses: - Admin parameters: doc: admin: tweak: - include config file VCS tracking tool etckeeper pkg: - etckeeper init.yml000644001750001750 45613200033750 21664 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Admin/hardenclasses: - Admin.etc.track parameters: doc: admin: pkg: - include hardening tools pkg: - e2fsck-static - changetrack - fail2ban - harden - monkeysphere - rkhunter - samhain - sash - sudo - systraq - unhide.rb pkg-auto: - samhain - sash - unhide.rb trustweb.yml000644001750001750 21713200033750 22573 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Admin/hardenclasses: - Admin parameters: doc: admin: pkg: - include web-of-trust hardening tool Monkeysphere pkg: - monkeysphere init.yml000644001750001750 17413200033750 22260 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Console/editorclasses: - Console parameters: doc: console: pkg: - install console editor GNU nano pkg: - nano vim.yml000644001750001750 16613200033750 22111 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Console/editorclasses: - Console parameters: doc: console: pkg: - install console editor ViM pkg: - vim init.yml000644001750001750 14113200033750 21706 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Console/mailclasses: - Console parameters: doc: console-mail: headline: - Console mail mutt.yml000644001750001750 20713200033750 21737 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Console/mailclasses: - Console.mail parameters: doc: console-mail: pkg: - Install console mail client Mutt pkg: - mutt tools.yml000644001750001750 21113200033750 22101 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Console/mailclasses: - Console.mail parameters: doc: console-mail: pkg: - include console mail helper tools pkg: - mb2md init.yml000644001750001750 14313200033750 22045 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Console/mediaclasses: - Console parameters: doc: console-media: headline: - Console media init.yml000644001750001750 14513200033750 22237 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Console/mobileclasses: - Console parameters: doc: console-mobile: headline: - Console mobile sync.yml000644001750001750 30013200033750 22241 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Console/mobileclasses: - Console.mobile parameters: doc: console-mobile: pkg: - include SyncEvolution console tool and http service pkg: - syncevolution - syncevolution-http init.yml000644001750001750 20513200033750 23337 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Console/multiplexerclasses: - Console parameters: doc: console: pkg: - install console multiplexer GNU screen pkg: - screen init.yml000644001750001750 14113200033750 21712 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/chatclasses: - Desktop parameters: doc: desktop-chat: headline: - Desktop chat base.yml000644001750001750 16013200033750 22032 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/emailclasses: - x11 - Desktop.base parameters: doc: desktop-email: headline: - Desktop email bidi.yml000644001750001750 24613200033750 22034 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/emailclasses: - Desktop.email parameters: doc: desktop-email: pkg: - include Icedove support for bidirectional text pkg: - icedove-l10n-bidiui harden.yml000644001750001750 5213200033750 22341 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/emailclasses: - Desktop.email.icedove.harden init.yml000644001750001750 32113200033750 22062 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/emailclasses: - Desktop - x11 parameters: doc: desktop-email: headline: - Desktop email pkg: - include Icedove email with sieve plugin pkg: - icedove - xul-ext-sieve EU.yml000644001750001750 13413200033750 21602 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/localeclasses: - Desktop.email.locale.EU - Desktop.office.locale.EU - Desktop.web.locale.EU init.yml000644001750001750 14313200033750 22054 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/mediaclasses: - Desktop parameters: doc: desktop-media: headline: - Desktop media init.yml000644001750001750 14513200033750 22246 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/mobileclasses: - Desktop parameters: doc: desktop-mobile: headline: - Desktop mobile sync.yml000644001750001750 46713200033750 22266 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/mobile#TODO: Stop listing evolution-data-server when DebianParl 1.0.5 is obsolete classes: - Console.mobile.sync - Desktop.media parameters: doc: desktop-mobile: pkg: - include SyncEvolution desktop tool pkg: - sync-ui - evolution-data-server pkg-auto: - evolution-data-server init.yml000644001750001750 15513200033750 22233 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/officeclasses: - Desktop - x11 parameters: doc: desktop-office: headline: - Desktop office presentation.yml000644001750001750 26013200033750 24000 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/officeclasses: - Desktop.office parameters: doc: desktop-office: pkg: - include LibreOffice Impress pkg: - libreoffice-impress - libreoffice-ogltrans spreadsheet.yml000644001750001750 21713200033750 23576 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/officeclasses: - Desktop.office parameters: doc: desktop-office: pkg: - include LibreOffice Calc pkg: - libreoffice-calc word-processor.yml000644001750001750 33313200033750 24256 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/officeclasses: - Desktop.office parameters: doc: desktop-office: pkg: - include LibreOffice Writer pkg: - libreoffice-writer pkg-avoid: - libreoffice-java-common - libreoffice-emailmerge init.yml000644001750001750 32313200033750 23122 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/schedulingclasses: - Desktop - Desktop.email parameters: doc: desktop-scheduling: headline: - Desktop scheduling pkg: - include Icedove extension Iceowl pkg: - iceowl-extension unicode.yml000644001750001750 22313200033750 23777 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/screensaverclasses: - Desktop parameters: doc: desktop: pkg: - include screensaver unicode-screensaver pkg: - unicode-screensaver harden.yml000644001750001750 32113200033750 22431 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/toolsclasses: - Hardware.harden - Desktop.tools.pgp - Desktop.base parameters: doc: desktop: pkg: - include desktop hardening helper tools pkg: - parcimonie - gnome-disk-utility base.yml000644001750001750 14413200033750 21522 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/webclasses: - Desktop.base parameters: doc: desktop-web: headline: - Desktop web harden.yml000644001750001750 5213200033750 22027 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/webclasses: - Desktop.web.iceweasel.harden init.yml000644001750001750 25113200033750 21552 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/webclasses: - Desktop parameters: doc: desktop-web: headline: - Desktop web pkg: - include Iceweasel web browser pkg: - iceweasel java.yml000644001750001750 31413200033750 21530 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/webclasses: - Language.java - Desktop.web parameters: doc: desktop-web: pkg: - include Iceweasel support for Java-applet pkg: - icedtea-6-plugin pkg-auto: - openjdk-6-jre base.yml000644001750001750 12313200033750 22606 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Framework/cryptoparameters: doc: framework-media: headline: - Crypto framework base.yml000644001750001750 12213200033750 22344 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Framework/mediaparameters: doc: framework-media: headline: - Media framework base.yml000644001750001750 12413200033750 22050 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Framework/pkgparameters: doc: framework-media: headline: - Package framework init.yml000644001750001750 10113200033750 21515 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Hardware/glclasses: - Hardware.gl.hardware - Hardware.gl.software.avoid init.yml000644001750001750 44713200033750 22427 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Hardware/laptopclasses: - Hardware.power - Hardware.net.bluetooth parameters: doc: hardware: pkg: - include low-level laptop tools parameters: pkg: - task-laptop pkg-auto: - bluetooth pkg-avoid: - bluez-cups - cups - printer-driver-all - hplip - hpijs bluetooth.yml000644001750001750 52613200033750 22756 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Hardware/netclasses: - hw.acpi.full - Admin.etc.functions - Hardware.base parameters: doc: hardware: pkg: - include support for Bluetooth hardware tweak: - modernize logic of WiFi/Bluetooth radio on/off button tweak: - _setvar /target/etc/default/acpi-support WIRELESS_BLUETOOTH_SYNC true pkg: - bluez harden.yml000644001750001750 21013200033750 22552 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Hardware/toolsclasses: - hw.crypto - Hardware.base parameters: doc: hardware: pkg: - include low-level crypto hardening tools base.yml000644001750001750 13313200033750 21776 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Language/javaclasses: - Language parameters: doc: Language.java: headline: - Java init.yml000644001750001750 10513200033750 22026 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Language/javaclasses: - Language.java.openjdk6 - Language.java.openjdk7.avoid client.yml000644001750001750 20313200033750 22212 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Service/dhcpclasses: - Service parameters: doc: service: pkg: - include DHCP client service pkg: - isc-dhcp-client init.yml000644001750001750 17413200033750 21706 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Service/dhcpclasses: - Service parameters: doc: service: pkg: - include DHCP service pkg: - isc-dhcp-server authoritative.yml000644001750001750 22113200033750 23472 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Service/dnsclasses: - Service.base parameters: doc: service: pkg: - include authoritative domain name service BIND pkg: - bind9 init.yml000644001750001750 14713200033750 21554 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Service/dnsclasses: - Service parameters: doc: service-dns: headline: - Domain name service init.yml000644001750001750 25313200033750 21547 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Service/logclasses: - Service parameters: doc: service-log: headline: - Syslog service pkg: - include syslog service Rsyslog pkg: - rsyslog remote.yml000644001750001750 26513200033750 22102 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Service/logclasses: - Service.log parameters: doc: service: pkg: - include Rsyslog plugin for secure remote logging pkg: - rsyslog-gnutls pkg-auto: - rsyslog antispam.yml000644001750001750 34013200033750 22556 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Service/mailclasses: - Service.mail parameters: doc: service: pkg: - include antispam service AMaViS (with SpamAssassin) pkg: - amavisd-new - pyzor - razor - spamassassin pkg-avoid: - spamc base.yml000644001750001750 14613200033750 21660 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Service/mailclasses: - Service.base parameters: doc: service-mail: headline: - Mail service imap.yml000644001750001750 30113200033750 21665 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Service/mailclasses: - Service.mail.mda parameters: doc: service-mail: pkg: - include IMAP mail access service using Dovecot pkg: - dovecot-imapd pkg-auto: - dovecot-core init.yml000644001750001750 14113200033750 21704 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Service/mailclasses: - Service parameters: doc: service-mail: headline: - Mail service list.yml000644001750001750 25013200033750 21715 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Service/mailclasses: - Service.web.apache - Service.mail.mta parameters: doc: service-mail: pkg: - include mailinglist service Mailman pkg: - mailman mda.yml000644001750001750 22213200033750 21502 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Service/mailclasses: - Service.mail parameters: doc: service-mail: pkg: - install mail delivery agent Dovecot pkg: - dovecot-core sasl.yml000644001750001750 37413200033750 21713 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Service/mail#TODO: check if cyrus-sasl is still needed classes: - Service.mail.mta - Service.mail.mda parameters: doc: service-mail: pkg: - install SASL email authentication using Dovecot and Cyrus pkg: - dovecot-core - sasl2-bin sieve.yml000644001750001750 30213200033750 22053 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Service/mailclasses: - Service.mail.mda parameters: doc: service-mail: pkg: - include Dovecot Sieve filter and Managesieve service pkg: - dovecot-sieve - dovecot-managesieve init.yml000644001750001750 11213200033750 21535 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Service/webparameters: doc: service-web: headline: - Web service desktop.yml000644001750001750 21413200033750 22234 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Task/hardenclasses: - Hardware.laptop - Hardware.gl - Admin.apt - Admin.auto - Desktop - Desktop.harden - Framework.media.wildmidi.limit init.yml000644001750001750 3713200033750 22456 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/cli/compressionparameters: pkg: - bzip2 uncommon.yml000644001750001750 22713200033750 23367 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/cli/compressionclasses: - cli.compression parameters: pkg: - arj - cabextract - lhasa - lzop - nomarch - p7zip - unrar-free - zoo full.yml000644001750001750 13713200033750 20720 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/hw/acpiclasses: - hw.acpi parameters: pkg: - acpi-support pkg-auto: - acpi-support-base init.yml000644001750001750 5313200033750 20676 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/hw/acpiparameters: pkg: - acpi-support-base init.yml000644001750001750 4413200033750 20522 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/hw/macparameters: pkg: - macfanctld laptop.yml000644001750001750 13713200033750 21101 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/hw/macclasses: - hw.mac parameters: pkg: - pommed pkg-nonfree: - isight-firmware-tools amd64.yml000644001750001750 10013200033750 20370 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/hw/x86classes: - hw.acpi parameters: pkg: - linux-image-amd64 i486.yml000644001750001750 7613200033750 20143 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/hw/x86classes: - hw.acpi parameters: pkg: - linux-image-486 i686.yml000644001750001750 7613200033750 20145 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/hw/x86classes: - hw.acpi parameters: pkg: - linux-image-686 gtk.yml000644001750001750 11313200033750 21244 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/x11/lightdmclasses: - x11.lightdm parameters: pkg-auto: - lightdm-gtk-greeter init.yml000644001750001750 12113200033750 21421 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/x11/lightdmclasses: - x11 parameters: pkg: - lightdm pkg-auto: - xserver-xorg About.pm000644001750001750 261213200033750 17670 0ustar00jonasjonas000000000000Boxer-v1.1.7/lib/Boxer/CLI/Commandpackage Boxer::CLI::Command::About; =encoding UTF-8 =cut use v5.14; use utf8; use strictures 2; use version; use Role::Commons -all; use Boxer::CLI -command; use namespace::clean; =head1 VERSION Version v1.1.7 =cut our $VERSION = version->declare("v1.1.7"); use constant { abstract => q[list which boxer plugins are installed], usage_desc => q[%c about], }; use constant FORMAT_STR => "%-36s%10s %s\n"; sub command_names { qw( about credits ); } sub opt_spec { return; } sub execute { my ( $self, $opt, $args ) = @_; my $auth = $self->app->can('AUTHORITY'); printf( FORMAT_STR, ref( $self->app ), $self->app->VERSION, $auth ? $self->app->$auth : '???', ); foreach my $cmd ( sort $self->app->command_plugins ) { my $auth = $cmd->can('AUTHORITY'); printf( FORMAT_STR, $cmd, $cmd->VERSION, $auth ? $cmd->$auth : '???', ); } } =head1 AUTHOR Jonas Smedegaard C<< >>. =cut our $AUTHORITY = 'cpan:JONASS'; =head1 COPYRIGHT AND LICENCE 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. =head1 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. =cut 1; Aliases.pm000644001750001750 315213200033750 20177 0ustar00jonasjonas000000000000Boxer-v1.1.7/lib/Boxer/CLI/Commandpackage Boxer::CLI::Command::Aliases; =encoding UTF-8 =cut use v5.14; use utf8; use strictures 2; use version; use Role::Commons -all; use match::simple qw(match); use Boxer::CLI -command; use namespace::clean; =head1 VERSION Version v1.1.7 =cut our $VERSION = version->declare("v1.1.7"); use constant { abstract => q[show aliases for boxer commands], usage_desc => q[%c aliases], }; sub description { <<'DESCRIPTION' Most boxer commands can be invoked with shorter aliases. boxer translate -s rdfxml input.ttl boxer tr -s rdfxml input.ttl # same thing The aliases command (which, ironically, has no shorter alias) shows existing aliases. DESCRIPTION } sub command_names { qw( aliases ); } sub opt_spec { return; } sub execute { my ( $self, $opt, $args ) = @_; my $filter = scalar(@$args) ? $args : sub { not( match( shift, [qw(aliases commands help)] ) ) }; foreach my $cmd ( sort $self->app->command_plugins ) { my ( $preferred, @aliases ) = $cmd->command_names; printf( "%-16s: %s\n", $preferred, "@aliases" ) if match( $preferred, $filter ); } } =head1 AUTHOR Jonas Smedegaard C<< >>. =cut our $AUTHORITY = 'cpan:JONASS'; =head1 COPYRIGHT AND LICENCE 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. =head1 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. =cut 1; Commands.pm000644001750001750 226113200033750 20357 0ustar00jonasjonas000000000000Boxer-v1.1.7/lib/Boxer/CLI/Commandpackage Boxer::CLI::Command::Commands; =encoding UTF-8 =cut use v5.14; use utf8; use strictures 2; use version; use Role::Commons -all; use Boxer::CLI -command; use namespace::clean; =head1 VERSION Version v1.1.7 =cut our $VERSION = version->declare("v1.1.7"); require App::Cmd::Command::commands; our @ISA; unshift @ISA, 'App::Cmd::Command::commands'; use constant { abstract => q[list installed boxer commands], }; sub sort_commands { my ( $self, @commands ) = @_; my $float = qr/^(?:help|commands|aliases|about)$/; my @head = sort grep { $_ =~ $float } @commands; my @tail = sort grep { $_ !~ $float } @commands; return ( \@head, \@tail ); } =head1 AUTHOR Jonas Smedegaard C<< >>. =cut our $AUTHORITY = 'cpan:JONASS'; =head1 COPYRIGHT AND LICENCE 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. =head1 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. =cut 1; Compose.pm000644001750001750 431313200033750 20223 0ustar00jonasjonas000000000000Boxer-v1.1.7/lib/Boxer/CLI/Commandpackage Boxer::CLI::Command::Compose; =encoding UTF-8 =cut use v5.14; use utf8; use strictures 2; use version; use Role::Commons -all; use Path::Tiny; use Module::Runtime qw/use_module/; use Boxer::CLI -command; use namespace::clean; =head1 VERSION Version v1.1.7 =cut our $VERSION = version->declare("v1.1.7"); use constant { abstract => q[compose system recipe from reclass node], usage_desc => q[%c compose %o NODE [NODE...]], }; sub description { <<'DESCRIPTION' Compose a system recipe. Resolve a recipe to build a system. Input is one or more reclass nodes to resolve using a set of reclass classes, and output is one or more recipies serialized in one or more formats. DESCRIPTION } sub command_names { qw( compose ); } sub opt_spec { return ( [ "suite=s", "suite of classes to use (wheezy)" ], [ "nodedir=s", "location of nodes (XDG datadir + suite/nodes)" ], [ "classdir=s", "location of classes (XDG datadir + suite/classes)" ], [ "datadir=s", "location containing nodes and classes" ], [ "skeldir=s", "location of skeleton files (use builtin)" ], [ "format=s", "serialize recipe(s) in this format (preseed script)" ], [ "nonfree", "enable use of contrib and non-free code" ], [ "verbose|v", "verbose output" ], ); } sub execute { my $self = shift; my ( $opt, $args ) = @_; my $world = use_module('Boxer::Task::Classify')->new( suite => $opt->{suite}, nodedir => $opt->{nodedir}, classdir => $opt->{classdir}, datadir => $opt->{datadir}, )->run; for my $node (@$args) { use_module('Boxer::Task::Serialize')->new( world => $world, skeldir => $opt->{skeldir}, nonfree => $opt->{nonfree}, node => $node, )->run; } } =head1 AUTHOR Jonas Smedegaard C<< >>. =cut our $AUTHORITY = 'cpan:JONASS'; =head1 COPYRIGHT AND LICENCE 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. =head1 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. =cut 1; all.yml000644001750001750 26713200033750 21764 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Admin/apt/autoclasses: - Admin.apt.auto.core parameters: doc: admin: pkg: - mark misc. packages, relevant only as dependencies, as auto-installed pkg-auto: - vim-common core.yml000644001750001750 113013200033750 22152 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Admin/apt/auto#TODO: Stop install bash-completion or uuid-runtime when bug fixed in stable #FIXME: File bugreport about bash-completion and uuid-runtime not installed classes: - Admin.apt.auto.functions parameters: doc: admin: tweak: - fix mark auto-installed essential packages + dependencies (bug#742977) pkg: - bash-completion - uuid-runtime pkg-auto: - bash-completion - grub-common - isc-dhcp-common - tasksel-data - uuid-runtime tweak: - > chroot /target apt-mark auto \ $(_pkganddeepdeps $(_pkgessentials) apt linux-image-*) || true functions.yml000644001750001750 252213200033750 23240 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Admin/apt/autoparameters: doc: admin: tweak: - define routines to resolve package dependencies tweak: - > _pkgdeps(){ set -e;\ chroot /target dpkg-query \ -Wf=',$''{Pre-Depends},$''{Depends},$''{Recommends}\n' $* 2>/dev/null \ | sed -r \ -e 's/[,|] *([a-z0-9.+-]+)?(:\s+)?( *[^|,]*)?/\1\n/g' \ | sed '/^$/d'|sort -u; } - > _pkg2re(){ set -e;\ echo $* \ | sed -r \ -e 's/\s+/\|/g;' \ -e 's/^\|//;' \ -e 's/([.+-])/\\\1/g;' \ -e 's/\|$//'; } - > _pkgreal(){ set -e;\ chroot /target dpkg-query \ -Wf='$''{Package},$''{Provides},\n' \ | sed -r \ -e '/,,/d;' \ -e 's/^([a-z0-9.+-]+).*[,|] *('"$(_pkg2re $*)"')[ :,]/\1/;' \ -e '/,/d'; } - > _pkganddeepdeps(){ set -e;\ rest=$*;\ all=$rest;\ for i in 1 2 3 4 5; do \ deps=$(_pkgdeps $rest);\ rest="$deps $(_pkgreal $deps)";\ all="$all $rest";\ done;\ echo $all \ | sed -r \ -e 's/\s+/\n/g' \ | sort -u; } - > _pkgessentials(){ set -e;\ chroot /target dpkg-query \ -Wf='$''{Package}%$''{Essential}\n' \ | sed -r \ -e 's/(.*)%yes/\1/;' \ -e '/%/d'; } changes.yml000644001750001750 21113200033750 23001 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Admin/apt/toolsclasses: - Admin.base parameters: doc: admin: pkg: - include APT hook apt-listchanges pkg: - apt-listchanges init.yml000644001750001750 4513200033750 22321 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Admin/apt/toolsclasses: - Admin.apt.tools.changes init.yml000644001750001750 30613200033750 23312 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Admin/harden/accountclasses: - Admin.harden parameters: doc: admin: pkg: - include passive account hardening PAM plugin cracklib pkg: - libpam-cracklib - miscfiles pkg-auto: - miscfiles strong.yml000644001750001750 23613200033750 23665 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Admin/harden/accountclasses: - Admin.harden.account parameters: doc: admin: pkg: - include proactive account hardening tool John the Ripper pkg: - john init.yml000644001750001750 4513200033750 22644 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Console/mail/listclasses: - Console.mail.list.tools tools.yml000644001750001750 25313200033750 23062 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Console/mail/listclasses: - Console.mail parameters: doc: console-mail: pkg: - include console tool listadmin to moderate Mailman mailinglists pkg: - listadmin alsa.yml000644001750001750 21413200033750 23122 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Console/media/audioclasses: - Console.media parameters: doc: console-media: pkg: - include core ALSA audio tools pkg: - alsa-utils crypto.yml000644001750001750 25413200033750 23546 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/chat/pidginclasses: - Desktop.chat.pidgin parameters: doc: desktop-chat: pkg: - include Pidgin crypto plugin for Off-The-Record protocol pkg: - pidgin-otr init.yml000644001750001750 20313200033750 23163 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/chat/pidginclasses: - Desktop.chat parameters: doc: desktop-chat: pkg: - include chat client Pidgin pkg: - pidgin base.yml000644001750001750 26513200033750 23456 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/email/icedoveclasses: - Desktop.email.base parameters: doc: desktop-email: headline: - Desktop email pkg: - include Icedove email client pkg: - icedove harden.yml000644001750001750 25013200033750 23777 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/email/icedoveclasses: - Hardware.harden - Desktop.email.icedove.base parameters: doc: desktop-email: pkg: - include Icedove PGP plugin pkg: - enigmail ALL.yml000644001750001750 22013200033750 22764 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/email/localeclasses: - Desktop.email parameters: doc: desktop-email: pkg: - include all Icedove locales pkg: - icedove-l10n-all AMERICAS.yml000644001750001750 26413200033750 23550 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/email/localeclasses: - Desktop.email parameters: doc: desktop-email: pkg: - include Icedove locales for Americas pkg: - icedove-l10n-es-ar - icedove-l10n-pt-br ASIA.yml000644001750001750 72613200033750 23104 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/email/localeclasses: - Desktop.email parameters: doc: desktop-email: pkg: - include Icedove locales for Asia (UN M.49 definition) pkg: - icedove-l10n-ar - icedove-l10n-bn-bd - icedove-l10n-he - icedove-l10n-id - icedove-l10n-ja - icedove-l10n-ko - icedove-l10n-pa-in - icedove-l10n-ru - icedove-l10n-si - icedove-l10n-ta-lk - icedove-l10n-tr - icedove-l10n-vi - icedove-l10n-zh-cn - icedove-l10n-zh-tw EU.yml000644001750001750 132213200033750 22711 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/email/locale# bg cs da nl en-gb et fi fr de el hu ga-ie it lt pl pt-pt ro sk sl es-es sv-se classes: - Desktop.email parameters: doc: desktop-email: pkg: - include Icedove locales for European Union (except Maltese or Croatian) pkg: - icedove-l10n-bg - icedove-l10n-cs - icedove-l10n-da - icedove-l10n-de - icedove-l10n-el - icedove-l10n-en-gb - icedove-l10n-es-es - icedove-l10n-et - icedove-l10n-fi - icedove-l10n-fr - icedove-l10n-ga-ie - icedove-l10n-hu - icedove-l10n-it - icedove-l10n-lt - icedove-l10n-nl - icedove-l10n-pl - icedove-l10n-pt-pt - icedove-l10n-ro - icedove-l10n-sk - icedove-l10n-sl - icedove-l10n-sv-se EUROPE.yml000644001750001750 103713200033750 23402 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/email/localeclasses: - Desktop.email.locale.EU parameters: doc: desktop-email: pkg: - include Icedove locales for Europe (UN M.49 definition) pkg: - icedove-l10n-ast - icedove-l10n-be - icedove-l10n-br - icedove-l10n-ca - icedove-l10n-eu - icedove-l10n-fy-nl - icedove-l10n-gd - icedove-l10n-gl - icedove-l10n-is - icedove-l10n-nb-no - icedove-l10n-nn-no - icedove-l10n-rm - icedove-l10n-ru - icedove-l10n-sq - icedove-l10n-sr - icedove-l10n-tr - icedove-l10n-uk INDIA.yml000644001750001750 200013200033750 23216 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/email/locale#TODO: switch from bn-bd to bn-in if that emerges at some point #TODO: switch from ta-lk to ta (or ta-in) if that emerges at some point # languages (and in paranthesis: locales, and scripts when exceptional) # union: Hindi(hi,devanagari) English(en-GB) # 8th Schedule additions: Assamese(as) Bengali(bn) Bodo(brx) Dogri(doi) # Gujarati(gu) Kannada(kn) Kashmiri(ks,persian/perso-arabic) # Konkani(kok) Maithili(mai,tirhuta) Malayalam(ml) # Manipuri/Meitei/Meithei(mni) Marathi(mr) Nepali(ne) Oriya(or) # Punjabi(pa,gurmukhi/shahmukhi) Sanskrit(sa) # Santali(sat,ol chiki/ol cemet) Sindhi(sd,khudabadi,landa) Tamil(ta) # Telugu(te) Urdu(ur) # state only: Garo(grt) Khasi(kha) Kokborok(trp/ria/tpe/usi/xtr) Mizo(lus) # bn-bd en-gb pa-in ta-lk classes: - Desktop.email - Desktop.email.bidi parameters: doc: desktop-email: pkg: - include Icedove locales for official languages of India pkg: - icedove-l10n-bn-bd - icedove-l10n-en-gb - icedove-l10n-pa-in - icedove-l10n-ta-lk alsa.yml000644001750001750 25713200033750 23140 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/media/audioclasses: - Console.media.audio.alsa - Desktop.media parameters: doc: desktop-media: pkg: - include simple ALSA volume control Volti pkg: - volti pulseaudio.yml000644001750001750 27413200033750 24371 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/media/audioclasses: - Console.media.audio.pulseaudio - Desktop.media parameters: doc: desktop-media: pkg: - include PulseAudio desktop volume control pkg: - pavucontrol AFRICA.yml000644001750001750 33613200033750 23455 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/office/localeclasses: - Desktop.office.locale.ZA parameters: doc: desktop-office: pkg: - include LibreOffice locales for Africa pkg: - libreoffice-l10n-dz - libreoffice-l10n-om - libreoffice-l10n-rw ALL.yml000644001750001750 41213200033750 23133 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/office/localeclasses: - Desktop.office.locale.AFRICA - Desktop.office.locale.AMERICAS - Desktop.office.locale.ASIA - Desktop.office.locale.EUROPE parameters: doc: desktop-office: pkg: - include all LibreOffice locales pkg: - libreoffice-l10n-eo AMERICAS.yml000644001750001750 145613200033750 23740 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/office/localeclasses: - Desktop.office parameters: doc: desktop-office: pkg: - include LibreOffice locales for Americas pkg: - libreoffice-l10n-pt-br Asia: - libreoffice-l10n-ar - libreoffice-l10n-fa - libreoffice-l10n-he - libreoffice-l10n-id - libreoffice-l10n-ja - libreoffice-l10n-km - libreoffice-l10n-ko - libreoffice-l10n-ku - libreoffice-l10n-mn - libreoffice-l10n-ne - libreoffice-l10n-ru - libreoffice-l10n-si - libreoffice-l10n-tg - libreoffice-l10n-th - libreoffice-l10n-tr - libreoffice-l10n-ug - libreoffice-l10n-uz - libreoffice-l10n-vi - libreoffice-l10n-zh-cn - libreoffice-l10n-zh-tw Africa: - libreoffice-l10n-dz - libreoffice-l10n-om - libreoffice-l10n-rw All: - libreoffice-l10n-eo ASIA.yml000644001750001750 125413200033750 23265 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/office/localeclasses: - Desktop.office parameters: doc: desktop-office: pkg: - include LibreOffice locales for Asia pkg: - libreoffice-l10n-ar - libreoffice-l10n-fa - libreoffice-l10n-he - libreoffice-l10n-id - libreoffice-l10n-in - libreoffice-l10n-ja - libreoffice-l10n-km - libreoffice-l10n-ko - libreoffice-l10n-ku - libreoffice-l10n-mn - libreoffice-l10n-ne - libreoffice-l10n-ru - libreoffice-l10n-si - libreoffice-l10n-tg - libreoffice-l10n-th - libreoffice-l10n-tr - libreoffice-l10n-ug - libreoffice-l10n-uz - libreoffice-l10n-vi - libreoffice-l10n-zh-cn - libreoffice-l10n-zh-tw EU.yml000644001750001750 150213200033750 23055 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/office/locale# bg hr cs da nl en-gb et fi fr de el hu ga it lv lt pl pt ro sk sl es sv classes: - Desktop.office parameters: doc: desktop-office: pkg: - include LibreOffice locales for European Union (except Maltese) pkg: - libreoffice-l10n-bg - libreoffice-l10n-hr - libreoffice-l10n-cs - libreoffice-l10n-da - libreoffice-l10n-nl - libreoffice-l10n-en-gb - libreoffice-l10n-et - libreoffice-l10n-fi - libreoffice-l10n-fr - libreoffice-l10n-de - libreoffice-l10n-el - libreoffice-l10n-hu - libreoffice-l10n-ga - libreoffice-l10n-it - libreoffice-l10n-lv - libreoffice-l10n-lt - libreoffice-l10n-pl - libreoffice-l10n-pt - libreoffice-l10n-ro - libreoffice-l10n-sk - libreoffice-l10n-sl - libreoffice-l10n-es - libreoffice-l10n-sv EUROPE.yml000644001750001750 117213200033750 23546 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/office/localeclasses: - Desktop.office.locale.EU parameters: doc: desktop-office: pkg: - include LibreOffice locales for Europe (UN M.49 definition) pkg: - libreoffice-l10n-ast - libreoffice-l10n-be - libreoffice-l10n-br - libreoffice-l10n-bs - libreoffice-l10n-ca - libreoffice-l10n-cy - libreoffice-l10n-eu - libreoffice-l10n-gl - libreoffice-l10n-is - libreoffice-l10n-ka - libreoffice-l10n-mk - libreoffice-l10n-nb - libreoffice-l10n-nn - libreoffice-l10n-oc - libreoffice-l10n-ru - libreoffice-l10n-sr - libreoffice-l10n-tr - libreoffice-l10n-uk INDIA.yml000644001750001750 151113200033750 23370 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/office/locale# languages (and in paranthesis: locales, and scripts when exceptional) # union: Hindi(hi,devanagari) English(en-GB) # 8th Schedule additions: Assamese(as) Bengali(bn) Bodo(brx) Dogri(doi) # Gujarati(gu) Kannada(kn) Kashmiri(ks,persian/perso-arabic) # Konkani(kok) Maithili(mai,tirhuta) Malayalam(ml) # Manipuri/Meitei/Meithei(mni) Marathi(mr) Nepali(ne) Oriya(or) # Punjabi(pa,gurmukhi/shahmukhi) Sanskrit(sa) # Santali(sat,ol chiki/ol cemet) Sindhi(sd,khudabadi,landa) Tamil(ta) # Telugu(te) Urdu(ur) # state only: Garo(grt) Khasi(kha) Kokborok(trp/ria/tpe/usi/xtr) Mizo(lus) # as bn en-gb gu hi ml mr or pa-in ta te classes: - Desktop.office parameters: doc: desktop-office: pkg: - include LibreOffice locales for official languages of India pkg: - libreoffice-l10n-in - libreoffice-l10n-en-gb ZA.yml000644001750001750 27413200033750 23043 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/office/localeclasses: - Desktop.office parameters: doc: desktop-office: pkg: - include LibreOffice locales for official languages of South Africa pkg: - libreoffice-l10n-za gtk.yml000644001750001750 6113200033750 22524 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/tools/pgpclasses: - Framework.crypto.gnupg.pinentry.gtk init.yml000644001750001750 4313200033750 22702 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/tools/pgpclasses: - Desktop.tools.pgp.gtk base.yml000644001750001750 21413200033750 23461 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/web/iceweaselclasses: - Desktop.web.base parameters: doc: desktop-web: pkg: - include Iceweasel web browser pkg: - iceweasel harden.yml000644001750001750 50113200033750 24007 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/web/iceweaselclasses: - Hardware.harden - Desktop.web.iceweasel.base parameters: doc: desktop-web: pkg: - include Iceweasel security plugins pkg: - xul-ext-certificatepatrol - xul-ext-cookie-monster - xul-ext-flashblock - xul-ext-noscript - xul-ext-refcontrol - xul-ext-requestpolicy AFRICA.yml000644001750001750 53413200033750 22777 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/web/localeclasses: - Desktop.web parameters: doc: desktop-web: pkg: - include Iceweasel locales for Africa pkg: - iceweasel-l10n-ach - iceweasel-l10n-af - iceweasel-l10n-ak - iceweasel-l10n-en-za - iceweasel-l10n-ff - iceweasel-l10n-lg - iceweasel-l10n-nso - iceweasel-l10n-son - iceweasel-l10n-zu ALL.yml000644001750001750 22013200033750 22452 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/web/localeclasses: - Desktop.web parameters: doc: desktop-web: pkg: - include all Iceweasel locales pkg: - iceweasel-l10n-all AMERICAS.yml000644001750001750 35413200033750 23236 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/web/localeclasses: - Desktop.web parameters: doc: desktop-web: pkg: - include Iceweasel locales for Americas pkg: - iceweasel-l10n-es-ar - iceweasel-l10n-es-cl - iceweasel-l10n-es-mx - iceweasel-l10n-pt-br ASIA.yml000644001750001750 154513200033750 22612 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/web/localeclasses: - Desktop.web parameters: doc: desktop-web: pkg: - include Iceweasel locales for Asia pkg: - iceweasel-l10n-ar - iceweasel-l10n-as - iceweasel-l10n-bn-bd - iceweasel-l10n-bn-in - iceweasel-l10n-fa - iceweasel-l10n-gu-in - iceweasel-l10n-he - iceweasel-l10n-hi-in - iceweasel-l10n-id - iceweasel-l10n-ja - iceweasel-l10n-kk - iceweasel-l10n-km - iceweasel-l10n-kn - iceweasel-l10n-ko - iceweasel-l10n-ku - iceweasel-l10n-mai - iceweasel-l10n-ml - iceweasel-l10n-mr - iceweasel-l10n-or - iceweasel-l10n-pa-in - iceweasel-l10n-ru - iceweasel-l10n-si - iceweasel-l10n-ta - iceweasel-l10n-ta-lk - iceweasel-l10n-te - iceweasel-l10n-th - iceweasel-l10n-tr - iceweasel-l10n-vi - iceweasel-l10n-zh-cn - iceweasel-l10n-zh-tw EU.yml000644001750001750 141113200033750 22376 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/web/locale# bg hr cs da nl en-gb et fi fr de el hu ga-ie it lt pl pt-pt ro sk sl es-es sv-se classes: - Desktop.web parameters: doc: desktop-web: pkg: - include Iceweasel locales for European Union (except Maltese) pkg: - iceweasel-l10n-bg - iceweasel-l10n-hr - iceweasel-l10n-cs - iceweasel-l10n-da - iceweasel-l10n-nl - iceweasel-l10n-en-gb - iceweasel-l10n-et - iceweasel-l10n-fi - iceweasel-l10n-fr - iceweasel-l10n-de - iceweasel-l10n-el - iceweasel-l10n-hu - iceweasel-l10n-ga-ie - iceweasel-l10n-it - iceweasel-l10n-lt - iceweasel-l10n-pl - iceweasel-l10n-pt-pt - iceweasel-l10n-ro - iceweasel-l10n-sk - iceweasel-l10n-sl - iceweasel-l10n-es-es - iceweasel-l10n-sv-se EUROPE.yml000644001750001750 140413200033750 23066 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/web/localeclasses: - Desktop.web.locale.EU parameters: doc: desktop-web: pkg: - include Iceweasel locales for Europe (UN M.49 definition) pkg: - iceweasel-l10n-ast - iceweasel-l10n-be - iceweasel-l10n-br - iceweasel-l10n-bs - iceweasel-l10n-ca - iceweasel-l10n-csb - iceweasel-l10n-cy - iceweasel-l10n-eu - iceweasel-l10n-fy-nl - iceweasel-l10n-gd - iceweasel-l10n-gl - iceweasel-l10n-hy-am - iceweasel-l10n-is - iceweasel-l10n-kk - iceweasel-l10n-lij - iceweasel-l10n-lv - iceweasel-l10n-mk - iceweasel-l10n-nb-no - iceweasel-l10n-nn-no - iceweasel-l10n-rm - iceweasel-l10n-ru - iceweasel-l10n-sq - iceweasel-l10n-sr - iceweasel-l10n-tr - iceweasel-l10n-uk INDIA.yml000644001750001750 213413200033750 22714 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Desktop/web/locale# languages (and in paranthesis: locales, and scripts when exceptional) # union: Hindi(hi,devanagari) English(en-GB) # 8th Schedule additions: Assamese(as) Bengali(bn) Bodo(brx) Dogri(doi) # Gujarati(gu) Kannada(kn) Kashmiri(ks,persian/perso-arabic) # Konkani(kok) Maithili(mai,tirhuta) Malayalam(ml) # Manipuri/Meitei/Meithei(mni) Marathi(mr) Nepali(ne) Oriya(or) # Punjabi(pa,gurmukhi/shahmukhi) Sanskrit(sa) # Santali(sat,ol chiki/ol cemet) Sindhi(sd,khudabadi,landa) Tamil(ta) # Telugu(te) Urdu(ur) # state only: Garo(grt) Khasi(kha) Kokborok(trp/ria/tpe/usi/xtr) Mizo(lus) # as bn-in en-gb gu-in hi-in kn mai ml mr or ta te classes: - Desktop.web parameters: doc: desktop-web: pkg: - include Iceweasel locales for official languages of India pkg: - iceweasel-l10n-as - iceweasel-l10n-bn-in - iceweasel-l10n-en-gb - iceweasel-l10n-gu-in - iceweasel-l10n-hi-in - iceweasel-l10n-kn - iceweasel-l10n-mai - iceweasel-l10n-ml - iceweasel-l10n-mr - iceweasel-l10n-or - iceweasel-l10n-pa-in - iceweasel-l10n-ta - iceweasel-l10n-te limit.yml000644001750001750 23613200033750 24360 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Framework/media/wildmidiclasses: - Framework.media.base parameters: bug: - 612509 doc: framework: pkg: - exclude MIDI patches pkg-avoid: - freepats init.yml000644001750001750 22213200033750 23316 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Hardware/gl/hardwareclasses: - Hardware.base parameters: doc: hardware: pkg: - include OpenGL hardware rasterizers pkg: - libgl1-mesa-dri avoid.yml000644001750001750 23213200033750 23513 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Hardware/gl/softwareclasses: - Hardware.base parameters: doc: hardware: pkg: - exclude OpenGL software rasterizers pkg-avoid: - libgl1-mesa-swx11 aao725.yml000644001750001750 30113200033750 23361 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Hardware/laptop/acerclasses: - Hardware.motherboard.amd.c60 - Hardware.nic.broadcom.sta - Hardware.laptop parameters: doc: hardware: pkg: - include support for Acer Aspire One 725 laptop macbook2-1.yml000644001750001750 27113200033750 24413 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Hardware/laptop/appleclasses: - hw.mac.laptop - Hardware.motherboard.intel.core2duo - Hardware.laptop parameters: doc: hardware: pkg: - include support for Apple MacBook2,1 laptop macbook5-1.yml000644001750001750 40613200033750 24416 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Hardware/laptop/apple#FIXME: tweak to add kernel boot arg maxcpus=1 classes: - hw.mac.laptop - Hardware.motherboard.intel.core2duo - Hardware.nic.broadcom.sta - Hardware.laptop parameters: doc: hardware: pkg: - include support for Apple MacBook5,1 laptop edge145.yml000644001750001750 30113200033750 24111 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Hardware/laptop/lenovoclasses: - Hardware.motherboard.amd.e1-2500 - Hardware.nic.broadcom.sta - Hardware.laptop parameters: doc: hardware: pkg: - include support for Lenovo Edge 145 laptop c60.yml000644001750001750 27313200033750 23621 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Hardware/motherboard/amdclasses: - hw.x86.amd64 - hw.firmware - Hardware.base parameters: doc: hardware: pkg: - include core support for board with AMD C-60 (Brazos) APU and Bobcat CPU e1-2500.yml000644001750001750 27613200033750 24125 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Hardware/motherboard/amdclasses: - hw.x86.amd64 - hw.firmware - Hardware.base parameters: doc: hardware: pkg: - include core support for board with AMD E1-2500 (Kabini) APU and Jaguar CPU a7n8x.yml000644001750001750 10713200033750 24404 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Hardware/motherboard/asusclasses: - hw.x86.amd64 - hw.firmware - Hardware.igp.nvidia.nv1f baytrail-m.yml000644001750001750 34013200033750 25637 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Hardware/motherboard/intelclasses: - hw.x86.amd64 - hw.firmware - Hardware.igp.intel.valleyview - Hardware.base parameters: doc: hardware: pkg: - include core support for board with Intel Bay Trail-M (Pentium/Celeron) SoC core2duo.yml000644001750001750 25313200033750 25323 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Hardware/motherboard/intelclasses: - hw.x86.amd64 - hw.firmware - Hardware.base parameters: doc: hardware: pkg: - include core support for board with Intel Core 2 Duo CPU pentium3.yml000644001750001750 26413200033750 25347 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Hardware/motherboard/intelclasses: - hw.x86.i486 - hw.firmware - Hardware.base parameters: doc: hardware: pkg: - include core support for board with Intel Pentium III (Katmai) CPU nehemiah.yml000644001750001750 25513200033750 25025 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Hardware/motherboard/viaclasses: - hw.x86.i686 - hw.firmware - Hardware.base parameters: doc: hardware: pkg: - include core support for board with VIA C5XL (Nehemiah) CPU samuel2.yml000644001750001750 25413200033750 24616 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Hardware/motherboard/viaclasses: - hw.x86.i486 - hw.firmware - Hardware.base parameters: doc: hardware: pkg: - include core support for board with VIA C5B (Samuel 2) CPU avoid.yml000644001750001750 6413200033750 22573 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Hardware/net/pacclasses: - Framework.web.webkit.webkit1.gtk.avoid sta.yml000644001750001750 26213200033750 23306 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Hardware/nic/broadcomclasses: - Hardware.base parameters: doc: hardware: pkg-nonfree: - include Broadcom 43xx "STA" WiFi/Bluetooth driver pkg-nonfree: - broadcom-sta-dkms init.yml000644001750001750 25013200033750 23320 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Hardware/nic/realtekclasses: - Hardware.base parameters: doc: hardware: pkg-nonfree: - include firmware for Realtek NIC drivers pkg-nonfree: - firmware-realtek avoid.yml000644001750001750 21413200033750 23706 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Language/java/openjdk6classes: - Language.java.base parameters: doc: Language.java: pkg: - avoid OpenJDK 6 pkg-avoid: - openjdk-6-jre init.yml000644001750001750 21013200033750 23543 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Language/java/openjdk6classes: - Language.java.base parameters: doc: Language.java: pkg: - include OpenJDK 6 pkg: - openjdk-6-jre avoid.yml000644001750001750 21413200033750 23707 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Language/java/openjdk7classes: - Language.java.base parameters: doc: Language.java: pkg: - avoid OpenJDK 7 pkg-avoid: - openjdk-7-jre init.yml000644001750001750 21013200033750 23544 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Language/java/openjdk7classes: - Language.java.base parameters: doc: Language.java: pkg: - include OpenJDK 7 pkg: - openjdk-7-jre init.yml000644001750001750 4613200033750 22451 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Service/mail/mtaclasses: - Service.mail.mta.postfix postfix.yml000644001750001750 22313200033750 23217 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Service/mail/mtaclasses: - Service.mail.base parameters: doc: service-mail: pkg: - install mail transport agent Postfix pkg: - postfix gnutls.yml000644001750001750 16713200033750 23341 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Service/web/apacheclasses: - Service.web.apache parameters: doc: service-web: pkg: - install Apache2 plugin GnuTLS init.yml000644001750001750 21613200033750 22763 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Service/web/apacheclasses: - Service.web parameters: doc: service-web: pkg: - install web service Apache2 pkg: - apache2-mpm-worker uwsgi.yml000644001750001750 23413200033750 23156 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Service/web/apacheclasses: - Service.web.apache parameters: doc: service-web: pkg: - install Apache2 plugin for uWSGI pkg: - libapache2-mod-uwsgi cider.yml000644001750001750 24113200033750 22605 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Service/web/mailclasses: - Service.web.uwsgi.psgi parameters: doc: service-web: pkg: - include webmail service CiderWebmail pkg-auto: - ciderwebmail init.yml000644001750001750 20613200033750 22677 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Service/web/uwsgiclasses: - Service.web.apache parameters: doc: service-web: pkg: - install web service uWSGI pkg: - uwsgi psgi.yml000644001750001750 24413200033750 22700 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Service/web/uwsgiclasses: - Service.web.uwsgi parameters: doc: service-web: pkg: - install uWSGI plugin for Perl PSGI interface pkg: - uwsgi-plugin-psgi python.yml000644001750001750 25013200033750 23254 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Service/web/uwsgiclasses: - Service.web.uwsgi parameters: doc: service-web: pkg: - install uWSGI plugin for Python WSGI interface pkg: - uwsgi-plugin-python moinmoin.yml000644001750001750 23713200033750 23372 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Service/web/wikiclasses: - Service.web.uwsgi.python parameters: doc: service-web: pkg: - include wiki service MoinMoin pkg-auto: - python-moinmoin aptitude.yml000644001750001750 31113200033750 24306 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Framework/pkg/apt/cliclasses: - Framework.pkg.base parameters: doc: framework-pkg: pkg: - include command-line and Curses APT frontend aptitude pkg: - aptitude pkg-auto: - aptitude-common 64.yml000644001750001750 25013200033750 24742 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Hardware/motherboard/amd/athlonclasses: - hw.x86.amd64 - hw.firmware - Hardware.base parameters: doc: hardware: pkg: - include core support for board with AMD Athlon 64 CPU init.yml000644001750001750 26013200033750 25455 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Hardware/motherboard/amd/athlonclasses: - hw.x86.i686 - hw.firmware - hw.acpi - Hardware.base parameters: doc: hardware: pkg: - include core support for board with AMD Athlon CPU 32bit.yml000644001750001750 26013200033750 25462 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Hardware/motherboard/intel/atomclasses: - hw.x86.i686 - hw.firmware - Hardware.base parameters: doc: hardware: pkg: - include core support for board with older 32bit Intel Atom CPU init.yml000644001750001750 24713200033750 26423 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Framework/crypto/gnupg/pinentry/gtkclasses: - Framework.crypto.base parameters: doc: framework-crypto: pkg: - include GTK+ PIN entry interface for GnuPG pkg: - pinentry-gtk2 avoid.yml000644001750001750 30213200033750 25652 0ustar00jonasjonas000000000000Boxer-v1.1.7/examples/classes/Framework/web/webkit/webkit1/gtkclasses: - Framework.base parameters: doc: framework: pkg: - exclude WebKit GTK+ 1.0 library (used for maybe-risky PAC proxy parsing) pkg-avoid: - libwebkitgtk-1.0-0