File hxtools.spec of Package hxtools

# spec file for package hxtools
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via

Name:           hxtools
Version:        20121125
Release:        0
Summary:        Collection of day-to-day tools (binaries)
License:        GPL-2.0+ and SUSE-WTFPL-2.0
Group:          System/Base

Source:         %name-%version.tar.xz
Source2:        %name-%version.tar.xz.asc
Source3:        %name.keyring
BuildRequires:  fdupes
BuildRequires:  libcap-devel >= 2
# xorg-x11 for "bdftopcf"
%if 0%{?suse_version} >= 1220 || 0%{?rhel_version} || 0%{?fedora_version}
BuildRequires:  bdftopcf
BuildRequires:  xorg-x11
BuildRequires:  pkgconfig >= 0.21
BuildRequires:  xz
%if 0%{?suse_version} >= 1230
BuildRequires:  gpg-offline
%if 0%{?suse_version} >= 1130
BuildRequires:  pkgconfig(libHX) >= 3.12
BuildRequires:  pkgconfig(libpci) >= 3
BuildRequires:  pkgconfig(mount) >= 2.20
BuildRequires:  pkgconfig(xcb) >= 1
BuildRequires:  libHX-devel >= 3.12
BuildRequires:  libmount-devel >= 2.20
BuildRequires:  libxcb-devel >= 1
BuildRequires:  pciutils-devel >= 3
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

Requires:       %name-scripts = %version
%if 0%{?suse_version} >= 1100
Recommends:     %name-man = %version
Requires:       %name-man = %version
Requires:       fd0ssh
Requires:       ofl
Requires:       sysinfo = %version

%define build_profile 1
%define hldir %_libexecdir/%name

A collection of various tools. Some of the important ones:

* declone(1) — break hardlinks
* fd0ssh(1) — pipe for password-over-stdin support to ssh
* newns(8) — clone current filesystem namespace and start a process
* ofl(1) — open file lister (replaces fuser and lsof -m)
* sysinfo(1) — system configuration summary
* tailhex(1) — hex dumper with tail-following support
* utmp_register(1) — make entries in the utmp/wtmp database
* vfontas(1) — VGA font file assembler

%package scripts
Summary:        Collection of day-to-day tools (scripts)
Group:          System/Base
%if 0%{?suse_version} >= 1120
BuildArch:      noarch
Requires:       %name
%if 0%{?suse_version} >= 1100
Recommends:     %name-man
Requires:       %name-man
Requires:       perl(Data::Dumper)
Requires:       perl(File::Find)
Requires:       perl(File::Find::Rule)
Requires:       perl(Getopt::Long)
Requires:       perl(IPC::Open2)
Requires:       perl(Text::CSV_XS)

%description scripts
Architecture-independent programs from hxtools.

* checkbrack(1) — check parenthesis and bracket count
* cwdiff(1) — run wdiff with color
* diff2php(1) — transform patch to self-serving PHP file
* doxygen-kerneldoc-filter(1) — filter for Doxygen to support kerneldoc
* filenameconv(1) — convert file name encoding
* flv2avi(1) — repackage Flash video into an AVI container with PCM audio
* fnt2bdf(1) — convert VGA raw fonts to X11 BDF
* git-author-stat(1) — show commit author statistics of a git repository
* git-export-patch(1) — produce perfect patch from git comits for mail submission
* git-forest(1) — display the commit history forest
* git-new-root(1) — start a new root in the git history
* git-revert-stats(1) — show reverting statistics of a git repository
* git-track(1) — set up branch for tracking a remote
* man2html(1) — convert nroff manpages to HTML
* pesubst(1) — perl-regexp stream substitution (replaces sed for sub‐ stitutions)
* recursive_lower(1) — recursively lowercase all filenames
* spec-beautifier(1) — program to clean up RPM .spec files
* vcsaview(8) — display a screen dump in VCSA format
* wktimer(1) — work timer

%package man
Summary:        Manual pages for the hxtools suite
Group:          Documentation/Man
%if 0%{?suse_version} >= 1120
BuildArch:      noarch

%description man
This package contains the manual pages for the binaries and scripts
from hxtools.

%package data
Summary:        Collection of day-to-day tools (data)
Group:          System/Base
%if 0%{?suse_version} >= 1120
BuildArch:      noarch

%description data
Architecture-independent data from hxtools.

* VAIO U3 keymap
* additional fonts for console and xterm
* additional syntax highlighting definitions for mcedit

%package profile
Summary:        The hxtools shell environment
Group:          System/Base
Requires:       %name = %version
Requires:       %name-data = %version
Requires:       %name-scripts = %version
%if 0%{?suse_version} >= 1120
BuildArch:      noarch

%description profile
Bash environment settings from hxtools. Particularly, this provides
the SUSE 6.x ls color scheme, and an uncluttered PS1 that shows
only important parts of a path.

%package -n sysinfo
Summary:        System diagnosis tools from hxtools
Group:          System/Base

%description -n sysinfo
This subpackage contains programs from the hxtools suite that
give info about available system components.

* clock_info(1) – show available system clocks for clock_gettime(2)
* pmap_dirty(1) — display amount of RAM a process uses hard
* sysinfo(1) — print IRC-style system information banner

%package -n fd0ssh
Summary:        Helper program for using a pipe for SSH authentication
Group:          System/Base

%description -n fd0ssh
fd0ssh a helper program used by non-interactive programs, for example
pam_mount, that want to pipe a password to ssh.

%package -n ofl
Summary:        Open File Lister from hxtools
Group:          System/Base

%description -n ofl
ofl lists processes (and can send signals to them) that have
directories or files in specific locations in use. It differs from
lsof/fuser in that it can scan recursively and won't bluntly look at
an entire mount.

%{?gpg_verify: %gpg_verify %{S:2}}
%if 0%{?__xz:1}
%setup -q
tar -xf "%{S:0}" --use=xz;
%setup -DTq

make %{?_smp_mflags};

make install DESTDIR="$b";

install -dm0755 "$b/%_datadir/mc/syntax";
install -pm0644 cooledit/*.syntax "$b/%_datadir/mc/syntax/";
install -dm0755 "$b/%_sysconfdir/openldap/schema";
ln -s "%_datadir/hxtools/rfc2307bis-utf8.schema" \

%if 0%{?build_profile}
mkdir -p "$b/%_sysconfdir/bashrc.d";
ln -s "%_datadir/%name/hxtools_bashrc.bash" "$b/%_sysconfdir/bashrc.d/";
mkdir -p "$b/%_sysconfdir/profile.d";
ln -s "%_datadir/%name/hxtools_profile.bash" "$b/%_sysconfdir/profile.d/";
rm -Rf "$b/%_sysconfdir/profile.d" "$b/%_sysconfdir"/hx*;

%fdupes %buildroot

%dir %hldir

%files scripts
%dir %hldir

%files man
%doc %_mandir/man*/*
%exclude %_mandir/man*/fd0ssh.1*
%exclude %_mandir/man*/ofl.1*

%files data
%dir %_sysconfdir/openldap
%dir %_sysconfdir/openldap/schema
%config %_sysconfdir/openldap/schema/*

%if 0%{?build_profile}

%files profile
%config %_sysconfdir/hxloginpref.conf
%dir %_sysconfdir/bashrc.d
%config %_sysconfdir/bashrc.d/*
%config %_sysconfdir/profile.d/*

%files -n fd0ssh
%dir %hldir

%files -n ofl

%files -n sysinfo
%dir %hldir

openSUSE Build Service is sponsored by