%if ( 0%{?rhel} && 0%{?rhel} < 7 ) || ( 0%{?centos} && 0%{?centos} < 7 ) %global pspkg procps %else %global pspkg procps-ng %endif Name: __MKIT_PROJ_PKGNAME__ Version: __MKIT_PROJ_VERSION__ Release: 1%{?dist} Summary: __MKIT_PROJ_NAME__ - __MKIT_PROJ_TAGLINE__ License: LGPLv2 URL: __MKIT_PROJ_VCS_BROWSER__ Source0: %{name}-%{version}.tar.gz BuildArch: noarch BuildRequires: perl BuildRequires: %{pspkg} Requires: %{pspkg} Requires: shellfu-bash-sfdoc %description Shellfu is an attempt to add modularity to your shell scripts. With Shellfu you can develop your shell modules separately from your scripts, and test, use, explore or study them without need to be aware of details such as where the actual files are placed. Shellfu is mostly intended for cases when there's need for non-trivial amount of reliable body of shell scripts, and access to advanced modular languages such as Python or Perl is limited. This sub-package contains only the Shellfu management system but not actual modules. Use this if you want to write all modules yourself. %package bash Summary: Bash-specific base Requires: shellfu %description bash This sub-package contains Bash-specific parts of library infrastructure. Shellfu modules written for Bash should depend on this. %package bash-inigrep Summary: INI grepping Shellfu/Bash module Requires: perl Requires: shellfu-bash Requires: shellfu-bash-pretty Obsoletes: shellfu-bash-extras < 0.10 %description bash-inigrep This sub-package contains 'inigrep', Shellfu/Bash module for reading INI-like files. %package bash-pretty Summary: Logging Shellfu/Bash module Requires: shellfu-bash Requires: shellfu-sh-exit Requires: shellfu-sh-termcolors Obsoletes: shellfu-bash-core < 0.10 %description bash-pretty This sub-package contains 'pretty', universal Shellfu logging module. %package bash-sfdoc Summary: Shellfu/Bash module to export docs from Shellfu modules Requires: perl Requires: shellfu-bash Requires: shellfu-bash-pretty %description bash-sfdoc This sub-package contains Shellfu/Bash module to export documentation from other Shellfu modules that follow Shellfu coding style. %package bash-sfpi Summary: Shellfu/Bash plugin interface Requires: shellfu-bash Requires: shellfu-bash-sfdoc Requires: shellfu-bash-pretty %description bash-sfpi This sub-package contains Shellfu/Bash module to help manage, discover, select and load other Shellfu modules as plugins. %package devel Summary: Essential developer tools Requires: shellfu-bash-pretty %description devel This sub-package contains tools useful mostly for development of shellfu scripts. %package sh Summary: Generic base Requires: shellfu %description sh This sub-package contains POSIX-oriented parts of library infrastructure. Generic Shellfu modules aiming for POSIX compatibility should depend on this. %package sh-charmenu Summary: Shellfu/sh module for building interactive terminal menus Requires: shellfu-sh Obsoletes: shellfu-bash-extras < 0.10 %description sh-charmenu This sub-package contains 'charmenu', a Shellfu/sh module for building interactive terminal menus %package sh-coerce Summary: Shellfu/sh module with data coercion helpers Requires: perl Requires: perl-Term-ANSIColor Requires: shellfu-sh %description sh-coerce This sub-package contains 'coerce', Shellfu module containing few data coercion helpers. %package sh-exit Summary: Shellfu/sh module for standard exit statuses Requires: shellfu-sh Obsoletes: shellfu-bash-core < 0.10 %description sh-exit This sub-package contains 'exit', Shellfu module containing functions and variables for standard exit statuses. %package sh-isa Summary: Shellfu/sh module with validation helpers Requires: shellfu-sh %description sh-isa This sub-package contains 'isa', Shellfu module containing few value validation helpers. %package sh-mdfmt Summary: Markdown formatting helper Requires: shellfu-sh %description sh-mdfmt This sub-package contains Markdown formatting helper, a function that helps you generate Markdown paragraph elements from your shell scripts. %package sh-termcolors Summary: Shellfu/sh module for terminal color names Requires: shellfu-sh Obsoletes: shellfu-bash-core < 0.10 %description sh-termcolors This sub-package contains 'termcolors', Shellfu module containing most common ANSI color names. %prep %setup -q %build make %{?_smp_mflags} PREFIX=/usr %install %make_install PREFIX=/usr %check make test \ PATH=%{buildroot}/%{_bindir}:$PATH \ SHELLFU_INCLUDE=%{buildroot}/%{_datadir}/%{name}/include \ SHELLFU_DIR=%{buildroot}/%{_datadir}/%{name} %files %config %{_sysconfdir}/bash_completion.d/%{name}.bash %dir %{_datadir}/%{name} %dir %{_docdir}/%{name} %doc %{_docdir}/%{name}/LICENSE.md %doc %{_docdir}/%{name}/README.md %{_bindir}/sfdoc %{_bindir}/sfpath %{_datadir}/%{name}/shellfu.sh %files bash %dir %{_datadir}/%{name}/include-bash %files bash-inigrep %{_datadir}/%{name}/include-bash/inigrep.sh %files bash-pretty %{_datadir}/%{name}/include-bash/_pretty_color.sh %{_datadir}/%{name}/include-bash/_pretty_html.sh %{_datadir}/%{name}/include-bash/_pretty_journald.sh %{_datadir}/%{name}/include-bash/_pretty_notify.sh %{_datadir}/%{name}/include-bash/_pretty_plain.sh %{_datadir}/%{name}/include-bash/pretty.sh %files bash-sfdoc %{_datadir}/%{name}/include-bash/sfdoc.sh %files bash-sfpi %{_datadir}/%{name}/include-bash/sfpi.sh %files devel %{_bindir}/sfembed %files sh %dir %{_datadir}/%{name}/include-sh %files sh-charmenu %{_datadir}/%{name}/include-sh/charmenu.sh %files sh-coerce %{_datadir}/%{name}/include-sh/coerce.sh %files sh-exit %{_datadir}/%{name}/include-sh/exit.sh %files sh-isa %{_datadir}/%{name}/include-sh/isa.sh %files sh-mdfmt %{_datadir}/%{name}/include-sh/mdfmt.sh %files sh-termcolors %{_datadir}/%{name}/include-sh/termcolors.sh %changelog # specfile built with MKit __MKIT_SELF_VERSION__