diff --git a/sysutils/rubygem-hammer_cli/Makefile b/sysutils/rubygem-hammer_cli/Makefile index 43b09b0d1134..f9b4514623e9 100644 --- a/sysutils/rubygem-hammer_cli/Makefile +++ b/sysutils/rubygem-hammer_cli/Makefile @@ -2,19 +2,23 @@ # $FreeBSD$ PORTNAME= hammer_cli -PORTVERSION= 0.0.18 +PORTVERSION= 0.1.0 CATEGORIES= sysutils ruby MASTER_SITES= RG -MAINTAINER= ruby@FreeBSD.org +MAINTAINER= kvedulv@kvedulv.de COMMENT= Provides CLI interfaces for Ruby apps LICENSE= GPLv3 -RUN_DEPENDS= rubygem-awesome_print>=1.1.0:${PORTSDIR}/devel/rubygem-awesome_print \ +RUN_DEPENDS= rubygem-apipie-bindings>=0.0.6:${PORTSDIR}/devel/rubygem-apipie-bindings \ + rubygem-awesome_print>=1.1.0:${PORTSDIR}/devel/rubygem-awesome_print \ rubygem-clamp>=0.6.3:${PORTSDIR}/devel/rubygem-clamp \ rubygem-fastercsv>=1.5.5:${PORTSDIR}/devel/rubygem-fastercsv \ + rubygem-fast_gettext>=0.8.1:${PORTSDIR}/devel/rubygem-fast_gettext \ rubygem-highline>=1.6.20:${PORTSDIR}/devel/rubygem-highline \ + rubygem-json>=1.8.1:${PORTSDIR}/devel/rubygem-json \ + rubygem-locale=2.0.8:${PORTSDIR}/devel/rubygem-locale \ rubygem-logging>=1.8.1:${PORTSDIR}/devel/rubygem-logging \ rubygem-mime-types>=1.0:${PORTSDIR}/misc/rubygem-mime-types \ rubygem-rest-client>=1.6.7:${PORTSDIR}/www/rubygem-rest-client \ @@ -24,6 +28,11 @@ USE_RUBY= yes USE_RUBYGEMS= yes RUBYGEM_AUTOPLIST= yes -PLIST_FILES= bin/hammer +.include -.include +post-install: + ${MKDIR} ${STAGEDIR}${PREFIX}/etc/hammer + ${MKDIR} ${STAGEDIR}${PREFIX}/etc/hammer/cli.modules.d + ${INSTALL_DATA} ${FILESDIR}/cli_config.yml.sample ${STAGEDIR}${PREFIX}/etc/hammer/cli_config.yml.sample + +.include diff --git a/sysutils/rubygem-hammer_cli/distinfo b/sysutils/rubygem-hammer_cli/distinfo index 9e0004b52744..f2136fef229a 100644 --- a/sysutils/rubygem-hammer_cli/distinfo +++ b/sysutils/rubygem-hammer_cli/distinfo @@ -1,2 +1,2 @@ -SHA256 (rubygem/hammer_cli-0.0.18.gem) = 6cbda00ba509029e8fc96edda0d1076d285d1f97eeb0b8590f4b939106ec023c -SIZE (rubygem/hammer_cli-0.0.18.gem) = 80896 +SHA256 (rubygem/hammer_cli-0.1.0.gem) = 2b41ae48e3eb3f4adb8a11c2facce28cf6e61eca163f2bbef9dc90eb7c45fca7 +SIZE (rubygem/hammer_cli-0.1.0.gem) = 91136 diff --git a/sysutils/rubygem-hammer_cli/files/cli_config.yml.sample b/sysutils/rubygem-hammer_cli/files/cli_config.yml.sample new file mode 100644 index 000000000000..e11161e38ccd --- /dev/null +++ b/sysutils/rubygem-hammer_cli/files/cli_config.yml.sample @@ -0,0 +1,15 @@ +:ui: + :interactive: true + :per_page: 20 + :history_file: '~/.hammer/history' + + +# enable/disable color output of logger in Clamp commands +:watch_plain: false + +:log_dir: '~/.hammer/log' +:log_level: 'error' +:log_api_calls: false +#:log_owner: 'foreman' +#:log_group: 'foreman' +#:log_size: 5 #MB diff --git a/sysutils/rubygem-hammer_cli/files/patch-bin__hammer b/sysutils/rubygem-hammer_cli/files/patch-bin__hammer deleted file mode 100644 index 39b95c734056..000000000000 --- a/sysutils/rubygem-hammer_cli/files/patch-bin__hammer +++ /dev/null @@ -1,11 +0,0 @@ ---- bin/hammer.orig 2014-03-12 11:07:16.000000000 +0100 -+++ bin/hammer 2014-03-12 11:07:33.000000000 +0100 -@@ -20,7 +20,7 @@ - # load user's settings - require 'hammer_cli/settings' - --CFG_PATH = ['./config/cli_config.yml', '~/.foreman/cli_config.yml', '/etc/foreman/cli_config.yml'] -+CFG_PATH = ['./config/cli_config.yml', '~/.foreman/cli_config.yml', '/etc/foreman/cli_config.yml', "#{::RbConfig::CONFIG['sysconfdir']}/foreman/cli_config.yml"].uniq - - if preparser.config - CFG_PATH.unshift preparser.config diff --git a/sysutils/rubygem-hammer_cli/files/patch-fca42d1a8e9f7a4dfabca0900818e5d355b3b554 b/sysutils/rubygem-hammer_cli/files/patch-fca42d1a8e9f7a4dfabca0900818e5d355b3b554 new file mode 100644 index 000000000000..fc3edd3db04c --- /dev/null +++ b/sysutils/rubygem-hammer_cli/files/patch-fca42d1a8e9f7a4dfabca0900818e5d355b3b554 @@ -0,0 +1,69 @@ +commit fca42d1a8e9f7a4dfabca0900818e5d355b3b554 +Author: Ivan Nečas +Date: Wed Apr 2 15:08:17 2014 +0200 + + Fixes #5025 - Add support for boolean fields + +diff --git lib/hammer_cli/output/fields.rb lib/hammer_cli/output/fields.rb +index 1abe7b2..26b5540 100644 +--- lib/hammer_cli/output/fields.rb ++++ lib/hammer_cli/output/fields.rb +@@ -86,4 +86,7 @@ module Fields + class Collection < ContainerField + end + ++ class Boolean < Field ++ end ++ + end +diff --git lib/hammer_cli/output/formatters.rb lib/hammer_cli/output/formatters.rb +index fa2d299..2d261de 100644 +--- lib/hammer_cli/output/formatters.rb ++++ lib/hammer_cli/output/formatters.rb +@@ -144,10 +144,22 @@ module HammerCLI::Output + end + end + ++ class BooleanFormatter < FieldFormatter ++ ++ def tags ++ [:flat, :screen] ++ end ++ ++ def format(value) ++ !value || value == "" ? _("no") : _("yes") ++ end ++ end ++ + HammerCLI::Output::Output.register_formatter(DateFormatter.new, :Date) + HammerCLI::Output::Output.register_formatter(ListFormatter.new, :List) + HammerCLI::Output::Output.register_formatter(KeyValueFormatter.new, :KeyValue) + HammerCLI::Output::Output.register_formatter(LongTextFormatter.new, :LongText) ++ HammerCLI::Output::Output.register_formatter(BooleanFormatter.new, :Boolean) + + end + end +diff --git test/unit/output/formatters_test.rb test/unit/output/formatters_test.rb +index 2a3a610..050a085 100644 +--- test/unit/output/formatters_test.rb ++++ test/unit/output/formatters_test.rb +@@ -138,3 +138,19 @@ describe HammerCLI::Output::Formatters::LongTextFormatter do + end + + end ++ ++describe HammerCLI::Output::Formatters::BooleanFormatter do ++ ++ it "says yes for true like objects" do ++ formatter = HammerCLI::Output::Formatters::BooleanFormatter.new ++ formatter.format(true).must_equal "yes" ++ formatter.format("yes").must_equal "yes" ++ end ++ ++ it "says no for false and nil and empty string" do ++ formatter = HammerCLI::Output::Formatters::BooleanFormatter.new ++ formatter.format(nil).must_equal "no" ++ formatter.format(false).must_equal "no" ++ formatter.format("").must_equal "no" ++ end ++end diff --git a/sysutils/rubygem-hammer_cli/pkg-plist b/sysutils/rubygem-hammer_cli/pkg-plist new file mode 100644 index 000000000000..78cc7972687d --- /dev/null +++ b/sysutils/rubygem-hammer_cli/pkg-plist @@ -0,0 +1,6 @@ +bin/hammer +@unexec if cmp -s %D/etc/hammer/cli_config.yml.sample %D/etc/hammer/cli_config.yml; then rm -f %D/etc/hammer/cli_config.yml; fi +etc/hammer/cli_config.yml.sample +@exec if [ ! -f %D/etc/hammer/cli_config.yml ] ; then cp -p %D/etc/hammer/cli_config.yml.sample %D/etc/hammer/cli_config.yml; fi +@dirrmtry etc/hammer/cli.modules.d +@dirrmtry etc/hammer