aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjakob.stendahl <jakob.stendahl@infomedia.dk>2024-06-17 09:08:15 +0200
committerjakob.stendahl <jakob.stendahl@infomedia.dk>2024-06-17 09:12:46 +0200
commit1a9b46180fa1e796f2ed0bf965141490900ec77e (patch)
treeba3e3a8ca2bcce34ed28581fec170b06eb16a456
parentd82a5f6e1bc878b0e6a695f88eb69404ca6d571d (diff)
downloadtextgraph-1a9b46180fa1e796f2ed0bf965141490900ec77e.tar.gz
textgraph-1a9b46180fa1e796f2ed0bf965141490900ec77e.zip
Don't use the tg alias by default, add fedora build script
-rw-r--r--README.md75
-rw-r--r--packaging/FEDORA/textgraph.spec17
-rwxr-xr-xpackaging/package-debian.sh4
-rwxr-xr-xpackaging/package-fedora.sh33
-rw-r--r--textgraph.1 (renamed from tg.1)10
5 files changed, 84 insertions, 55 deletions
diff --git a/README.md b/README.md
index ed15be4..b70679b 100644
--- a/README.md
+++ b/README.md
@@ -9,22 +9,24 @@ by piping data through it.
It was written because I sometimes have the need to
watch some state in a sql table for a short while.
-The documentation is in the manual file `tg.1`.
+The documentation is in the manual file `textgraph.1`.
It is only tested with glibc and terminals with ansi escape code support.
## Usage
-You can compile it with `cargo build --release`,
-there is also a script in `packaging` which can be used to make a `.deb`.
+There is a script in `packaging` which can be used to make a `.deb`.
If you are on a debian based distro, you should be able to run `./packaging/package-debian.sh`.
Then a `textgraph.deb` file should be made somewhere in `/tmp/`.
-There is a spec file for rpms as well, but I haven't gotten around to making a script to build for that.
+There is a script in `packaging` which can be used to make a `.rpm`.
+If you are on a rpm based distro, you should be able to run `./packaging/package-fedora.sh`.
+Then a `textgraph-<buildinfo>.rpm` should be build in `~/rpmbuild/RPMS/x86_64/`.
+You can compile it with `cargo build --release`.
If you compile with `cargo build --release`, you can copy it to your path, e.g.
```
-sudo install target/release/textgraph /usr/local/bin/tg
-sudo install tg.1 /usr/share/man/man1/tg.1
+sudo install target/release/textgraph /usr/local/bin/textgraph
+sudo install textgraph.1 /usr/share/man/man1/textgraph.1
```
## Example 1
@@ -113,76 +115,77 @@ Example of a simple sinusoid
## Manual
For reference, this is a translation of the manual page.
-Best is to check to manual page itself, not the README `man -l tg.1`.
+Best is to check to manual page itself, not the README `man -l textgraph.1`.
```
-TG(1) General Commands Manual TG(1)
-
-
+TEXTGRAPH(1) General Commands Manual TEXTGRAPH(1)
name
- tg - TermGraph - Text graphing utility
+ TextGraph - Text graphing utility
SYNOPSIS
- tg [-s|--silent] [-l|--last-n N] [-h|--height N] [-w|--width N] [-t
- type]
-
+ textgraph [OPTIONS] [input_file]
DESCRIPTION
- tg TermGraph is a utility for graphing
-
+ textgraph TermGraph is a utility for graphing
OPTIONS
- -h, --help
- Display help information.
-
+ --help Display help information.
-s, --silent
Disable distracting elements, such as axis and non-graph text.
+ -n, --last-n count
+ If specified, only the newest count samples will be plotted.
+ This can be useful if you want to follow the latest state of a
+ graph that is piped in.
+
+ -c, --cut
+ This is a special case of --last-n. Where the number of columns
+ --width will be used for the count.
-a, --ascii
Shorthand for -t ascii, if multiple options setting mode is
specified, the last will likely be respected.
-
-b, --braille
Shorthand for -t braille, if multiple options setting mode is
specified, the last will likely be respected.
+ -t star|ascii|braille|braille6|braille8
+ The type of graph to draw, it defaults to star, which is the
+ fastest one.
- -n, --last-n count
- If specified, only the newest count samples will be plotted.
- This can be useful if you want to follow the latest state of a
- graph that is piped in.
+ star Scatter plot using only the '*' character.
+ ascii Ascii is slightly prettier to look at.
- -c, --cut
- This is a special case of --last-n. Where the number of columns
- --width will be used for the count.
-
-
- -t type
- The type of graph to draw, it defaults to star, which is the
- fastest one. Options are star, ascii and braille. Ascii is
- slightly prettier to look at.
+ braille, braille6 Uses braille characters to draw higher resolu‐
+ tion plots.
+ braille8 This is the most scatter-plot-ish with the highest res‐
+ olution, but also the most buggy.
-w, --width width
Specify a width for the output. If not specified, it will at‐
tempt to determine the TTY width and use that. If it cannot be
automatically determined, it will fail.
-
-h, --height height
Specify a height for the output. If not specified, it will at‐
tempt to determine the TTY height and use that. If it cannot be
automatically determined, it will fail.
+ --color yes|no
+ Enable or disable colors, by default color will be enabled if it
+ looks like a tty is connected.
+
+ It can therefore be nice to use --color yes if you are piping
+ the output into another program that supports colors.
EXAMPLES
The simplest version is if you have a text file of values
- cat file | tg
+ cat file | textgraph
- 2024-06-08 TG(1)
+ 2024-06-08 TEXTGRAPH(1)
```
diff --git a/packaging/FEDORA/textgraph.spec b/packaging/FEDORA/textgraph.spec
index 0873f69..2a92c6a 100644
--- a/packaging/FEDORA/textgraph.spec
+++ b/packaging/FEDORA/textgraph.spec
@@ -15,10 +15,11 @@ Version: %{package_version}
Release: %{package_release}
Summary: Text graphing utility
-#License: GPLv3
+License: GPLv3
Source: %{name}-%{version}.tar.gz
BuildRequires: cargo-rpm-macros >= 24
+BuildRequires: rust-libc-devel
%description
Text graphing utility
@@ -28,21 +29,13 @@ Text graphing utility
%cargo_prep
%build
-# This is not best practice, but it was somewhat annoying to actually get all
-# dependencies vendored/packaged properly.
-# currently this app doesn't have any cargo dependencies, but keeping it for reference
-#sed -i '/^\[source\.crates-io\]/,/^$/d' %{cargo_config}
-#sed -i '/^\[source\.local-registry\]/,/^$/d' %{cargo_config}
-#sed -i '/^\[net\]/,/^$/d' %{cargo_config}
-#echo "[net]" >> %{cargo_config}
-#echo "git-fetch-with-cli = true" >> %{cargo_config}
%cargo_build
%install
%cargo_install
mkdir -p %{buildroot}%{_mandir}/man1
-install tg.1 %{buildroot}%{_mandir}/man1/tg.1
+install textgraph.1 %{buildroot}%{_mandir}/man1/textgraph.1
%if %{with check}
%check
@@ -51,8 +44,8 @@ install tg.1 %{buildroot}%{_mandir}/man1/tg.1
%files
%doc README.md
-%{_bindir}/tg
-%{_mandir}/man1/tg.1.gz
+%{_bindir}/textgraph
+%{_mandir}/man1/textgraph.1.gz
%changelog
%autochangelog
diff --git a/packaging/package-debian.sh b/packaging/package-debian.sh
index 3bea609..51d3962 100755
--- a/packaging/package-debian.sh
+++ b/packaging/package-debian.sh
@@ -17,8 +17,8 @@ mandir=${dir}/usr/share/man/man1
mkdir -p ${mandir}
cp -r packaging/DEBIAN ${dir}/DEBIAN
-cp target/release/textgraph ${bindir}/tg
-cp tg.1 ${mandir}/tg.1
+cp target/release/textgraph ${bindir}/textgraph
+cp textgraph.1 ${mandir}/textgraph.1
cd ${tmpdir}
dpkg-deb --build textgraph
diff --git a/packaging/package-fedora.sh b/packaging/package-fedora.sh
new file mode 100755
index 0000000..d91c018
--- /dev/null
+++ b/packaging/package-fedora.sh
@@ -0,0 +1,33 @@
+#!/bin/bash
+set -x
+
+DIST=fc40
+ARCH=x86_64
+RPMBUILD=rpmbuild
+BUILDROOT=${HOME}/rpmbuild/
+SPECFILE=packaging/FEDORA/textgraph.spec
+SOURCEDIR=$(pwd)
+VERSION=$(awk -F ' = ' '$1 ~ /version/ { gsub(/[\"]/, "", $2); printf("%s",$2) }' Cargo.toml)
+BUILDROOT_SPECFILE="${BUILDROOT}/SPECS/textgraph.spec"
+
+rpmdev-setuptree
+
+echo "Making tarball"
+tarwd=$(dirname "${SOURCEDIR}")
+tarfile=$(basename "${SOURCEDIR}")
+tar -czf "textgraph-${VERSION}.tar.gz" -C "${tarwd}" --transform "s|${tarfile}|textgraph-${VERSION}|" ${tarfile}
+cp "textgraph-${VERSION}.tar.gz" "${BUILDROOT}/SOURCES/textgraph-${VERSION}.tar.gz"
+
+echo "Copy specfile"
+cp "${SPECFILE}" "${BUILDROOT_SPECFILE}"
+
+
+echo "Install dependencies"
+sudo dnf builddep "${BUILDROOT_SPECFILE}"
+
+echo "Running spmbuild"
+rpmbuild -ba "${BUILDROOT_SPECFILE}" \
+ --define "package_version ${VERSION}" \
+ --define "package_release 1.${DIST}"
+
+
diff --git a/tg.1 b/textgraph.1
index ff0eb3b..58f3702 100644
--- a/tg.1
+++ b/textgraph.1
@@ -1,11 +1,11 @@
-.TH TG 1 2024-06-08
+.TH TEXTGRAPH 1 2024-06-08
.SH name
-tg \- TermGraph \- Text graphing utility
+TextGraph \- Text graphing utility
.SH SYNOPSIS
-.B tg [OPTIONS] [\fIinput_file\fB]
+.B textgraph [OPTIONS] [\fIinput_file\fB]
.SH DESCRIPTION
-.B tg
+.B textgraph
TermGraph is a utility for graphing
.SH OPTIONS
@@ -70,7 +70,7 @@ The simplest version is if you have a text file of values
.PP
.nf
.RS
-cat \fIfile\fR | tg
+cat \fIfile\fR | textgraph
.RE
.fi
.PP