Package Details: vnlog 1.36-4

Git Clone URL: https://aur.archlinux.org/vnlog.git (read-only, click to copy)
Package Base: vnlog
Description: Tools to manipulate whitespace-separated ASCII logs
Upstream URL: https://github.com/dkogan/vnlog
Keywords: ASCII feedgnuplot gnuplot log logs perl
Licenses: LGPL-2.1-or-later
Provides: vnlog
Submitter: ASMik09
Maintainer: 0e4ef622
Last Packager: 0e4ef622
Votes: 1
Popularity: 0.26
First Submitted: 2019-07-16 17:56 (UTC)
Last Updated: 2024-02-21 16:02 (UTC)

Latest Comments

m040601 commented on 2024-02-18 12:43 (UTC) (edited on 2024-02-18 13:10 (UTC) by m040601)

Another component of vnlog, complaining about dependencies (see my previous comment)

This time is "vnl-filter".

Trying to run the man page example,

$ <run.vnl vnl-filter -p x,y,z | vnl-align

gives the error message,

# Close
Can't exec "mawk": No such file or directory at /usr/bin/vnl-filter line 542.

In /usr/bin/vnl-filter I see,


  47     By default, this tool generates an awk script that's then interpreted by
  48     mawk. 
...
...

And several mentions of an "awkprogram".

I would be expecting the standard GNU awk to be enough. What the heck does "mawk" does that "awk" cant do ? If it is so important, why is it on the AUR ?

So I went looking for this "mawk".

It is also on the AUR. Not an official package.

I installed it and the tool works.

.... Hmmm

I dont like this. Pulling too much stuff from the AUR just to run this tool. Too much for my taste.

Especially since he mentions,

...
...
If you regularly use =awk= and =sort=
and =uniq= and others, these tools will make you infinitely more powerful. The
vnlog tools /extend/, rather than replace the standard tooling, so minimal
effort is required to learn and use these tools.
...
....
The =vnl-sort= tool (and most of the other =vnl-xxx= tools) are wrappers around
the core tools already available on the system (such as =sort=, in this case).
....
....
- =vnl-sort=, =vnl-uniq=, =vnl-join=, =vnl-tail=, =vnl-ts= are wrappers around
  the corresponding commandline tools. These work exactly as you would expect
....

So I was expecting just a bit of Perl "glue", a tiny bit of Python and one C tool. Not monstruous dependency chains. A bit contradictory for a data format and tool that is supposed to be simple.

Not sure if this is by design, choices from the developer. Or this could be somehow adapted and customized for Arch linux. To "force" the tool to accept what we have in Archlinux official packages.

Anyway, I still need to spend more time testing and running through all the examples.

m040601 commented on 2024-02-18 12:23 (UTC) (edited on 2024-02-18 12:46 (UTC) by m040601)

I've been slowly going through the examples on the README and man pages.

I have spotted what, I think, are missing some missing dependency of perl modules.

Not sure where this might be missing. The Makefile ? That strange build tool "mrbuild" ? The PKGBUILD ?

First example "vnl-align" tool.

If you try the example on the README on man "vnl-align"

vnl-align some-data-file

or

head -n 4 some-data-file | vnl-align

You get this error

Can't locate Text/Table.pm in @INC (you may need to install the Text::Table module) (@INC entries checked: /usr/lib/perl5/5.38/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/5.38/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/5.38/core_perl /usr/share/perl5/core_perl) at /usr/bin/vnl-align line 5.
BEGIN failed--compilation aborted at /usr/bin/vnl-align line 5.

Error seems to go away and the tool works, by installling

perl-text-table

which also pulls

perl-text-aligner

Unfortunately they are both on the AUR. Not official Arch packages. Last update 2020.

Can someone with Perl knowledge comment ?

Are these perl modules still relevant nowadays ? Not obsolete ? Were they replaced by more modern alternatives ? If so, why are they not in the official Arch packages ?

ASMik09 commented on 2024-02-17 10:24 (UTC)

@0e4ef622 Thank you for maintaining this package!

@m040601 As far as I can see, numpy is not a hard requirement. The only places it is imported explicitly are here and here.

First one is inside slurp function (imported ONLY on call to slurp) and the oter one testing slurp. We are not running tests during build time, only package and build docs, so we dont need numpy.

m040601 commented on 2024-02-15 19:39 (UTC) (edited on 2024-02-15 19:40 (UTC) by m040601)

Could you also clarify this,

To build vnlog, is python-numpy a strict "dependency" ? Or could it be instead an "optional dependency" ?

I ask because I went through the docs and could not make a conclusion.

... Reading vnlog data into a python program is simple. The =vnlog= Python module provides three different ways to do that: ...

... * numpy interface If we need to read data into numpy specifically, nicer tools are available than the generic =vnlog= Python module. The built-in =numpy.loadtxt ...

... These matrices can be loaded into any analysis tool (numpy for instance), or plotted directly with gnuplot: ...

So he talks about, "if we need", and, "can be loaded". I take it as, if you do want and have python-numpy installed, you can also do more xyz.

But by itself, python-numpy, is not necessary to compile or run the tool ?

Am I correct ?

I as this because "python-numpy" is a very big dependency, so if it could be optional, the better.

0e4ef622 commented on 2024-02-15 15:15 (UTC)

@m040601 Thanks for letting me know, I've updated the package.

m040601 commented on 2024-02-15 07:57 (UTC) (edited on 2024-02-15 08:01 (UTC) by m040601)

Recent changes:

3 days     1.36                     Matthew Tran

Wow, new maintainer, thanks for adopting the PKGBUILD. Very usefull. Hope that with enough votes this could turn into an Arch official package.

On the github released tar.gz that this PKGBUILD uses there is:

$ wget https://github.com/dkogan/vnlog/archive/v1.36.tar.gz

$ tar tf v1.36.tar.gz

...
...
vnlog-1.36/Changes
vnlog-1.36/README.org
...
...

This README.org is not fluff. It contains a detailed description of the tool, its motivation and examples. That stuff is NOT on the shipped man pages. It is extremely usefull to really master the tool.

Please make sure those 2 files end up in something like

/usr/share/doc/vnlog/README.org
/usr/share/doc/vnlog/Changes

A simple additional "install ... xyz" on the PKGBUILD will do.

         install -Dm 644 ...xyz... -t "$pkgdir/usr/share/doc/$pkgname"

In the tar.gz there is also:

....
vnlog-1.36/completions/
vnlog-1.36/completions/bash/
vnlog-1.36/completions/bash/vnl-filter
vnlog-1.36/completions/bash/vnl-join
vnlog-1.36/completions/bash/vnl-sort
vnlog-1.36/completions/bash/vnl-tail
vnlog-1.36/completions/bash/vnl-ts
vnlog-1.36/completions/bash/vnl-uniq
vnlog-1.36/completions/zsh/
vnlog-1.36/completions/zsh/_vnl-filter
vnlog-1.36/completions/zsh/_vnl-join
vnlog-1.36/completions/zsh/_vnl-sort
vnlog-1.36/completions/zsh/_vnl-tail
vnlog-1.36/completions/zsh/_vnl-ts
vnlog-1.36/completions/zsh/_vnl-uniq
....

Please also make sure those also land on its respective places, that is,

/usr/share/bash-completion/completions/vnlog...
/usr/share/zsh/site-functions/_....

Thanks in advance.

m040601 commented on 2021-12-13 10:25 (UTC) (edited on 2023-09-19 20:01 (UTC) by m040601)

This is a very interesting tool. It's also a healthy perl and python project with several releases every year. It really deserves an AUR presence.

However, as of December 2021, it's PKGBUILD it's totally outdated and abandoned.

The last update to this PKGBUILD was in 2019, version 1.19. The current version is from December 2021, version 1.32.

In addition, and more seriously, it tries to create and install obsolete files and folders, for python 2.7 and python 3.1, when the current Archlinux version is python 3.10.

$ pacman -Ql  vnlog  | grep --color=always -i usr.lib  -
vnlog /usr/lib/
vnlog /usr/lib/lib64/
vnlog /usr/lib/lib64/libvnlog.so
vnlog /usr/lib/lib64/libvnlog.so.0
vnlog /usr/lib/lib64/libvnlog.so.0.1
vnlog /usr/lib/python2.7/
vnlog /usr/lib/python2.7/site-packages/
vnlog /usr/lib/python2.7/site-packages/vnlog.py
vnlog /usr/lib/python3.1/
vnlog /usr/lib/python3.1/site-packages/
vnlog /usr/lib/python3.1/site-packages/vnlog.py

I therefore recommend that this PKGBUILD should be removed from the AUR, should there be no one willing to show up and to maintain it.