Merge pull request #37 from kubedzero/master

Add nmon version 16m
This commit is contained in:
Derek Macias 2020-12-21 07:07:18 -07:00 committed by GitHub
commit d7088ca158
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 8704 additions and 0 deletions

BIN
packages/6.8/nmon-16m-x86_64-1_SBo.txz vendored Normal file

Binary file not shown.

BIN
packages/6.9/nmon-16m-x86_64-1_SBo.txz vendored Normal file

Binary file not shown.

View File

@ -0,0 +1,13 @@
## README for nmon
- http://nmon.sourceforge.net/pmwiki.php?n=Site.CompilingNmon has the .c source files. It ALSO has a makefile that includes ARM and X86 and X86_64 compilation flag options.
- Ncurses needs to be installed. I'm using Slackware-current, which has `ncurses-6.2_20201024-x86_64-1.txz`. It also calls for GCC, so I have `gcc-10.2.0-x86_64-2.txz` installed. Finally, I have `make-4.2.1-x86_64-7.txz` installed, though I guess if I'm calling GCC directly, it's perhaps not necessary
- https://slackbuilds.org/repository/14.2/system/nmon/ has a SlackBuild file, but was made for version 14i which is at least older than April 2015 (nmon15c was released).
- The GCC flags are a little out of date in comparison to the makefile, so I copied/merged the flags over. (The changelog notes the deprecation of some of these flags, such as -D LARGEMEM and JFS and GETUSER).
- NOTE: I did this on an X86_64 system and did not update the compile flags in the SlackBuild for other architectures.
- The SlackBuild also has scatterings of hardcoded version numbers, which I updated to be generic `lmon.c` as it is in the makefile.
- I also increased the set flags for more verbose output.
- Finally, the output was changed from `tgz` to `txz`
- There was a "bug" in the 16m release of nmon where the version number string wasn't bumped from "16k" to "16m". I changed that string so the nmon executable properly shows that it is version 16m.
- I copied the compiled `nmon-16m-x86_64-1_SBo.txz` file to Unraid 6.8.3 and 6.9-rc1 systems and confirmed that after `installpkg nmon-16m-x86_64-1_SBo.txz` I was able to call `nmon` and start up the utility without issue
- I thought Ncurses might need to be installed on Unraid for this to work, but it seems to only be needed at compile time.

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,88 @@
#!/bin/sh
# Slackware build script for nmon
# Copyright 2014 Georgi Kolev, Bulgaria
# All rights reserved.
#
# Redistribution and use of this script, with or without modification, is
# permitted provided that the following conditions are met:
#
# 1. Redistributions of this script must retain the above copyright
# notice, this list of conditions and the following disclaimer.
#
# THIS SOFTWARE IS PROVIDED BY THE AUTHOR "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
# MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
# EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
PRGNAM=nmon
VERSION=${VERSION:-16m}
BUILD=${BUILD:-1}
TAG=${TAG:-_SBo}
if [ -z "$ARCH" ]; then
case "$( uname -m )" in
i?86) ARCH=i486 ;;
arm*) ARCH=arm ;;
*) ARCH=$( uname -m ) ;;
esac
fi
CWD=$(pwd)
TMP=${TMP:-/tmp/SBo}
PKG=$TMP/package-$PRGNAM
OUTPUT=${OUTPUT:-/tmp}
if [ "$ARCH" = "i486" ]; then
SLKCFLAGS="-g -O2 -march=i486 -mtune=i686 -D JFS -D GETUSER -Wall -D LARGEMEM -lncurses -g -D X86"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "i686" ]; then
SLKCFLAGS="-g -O2 -march=i686 -mtune=i686 -D JFS -D GETUSER -Wall -D LARGEMEM -lncurses -g -D X86"
LIBDIRSUFFIX=""
elif [ "$ARCH" = "x86_64" ]; then
SLKCFLAGS="-g -O3 -Wall -lncurses -lm -D X86"
LIBDIRSUFFIX="64"
else
SLKCFLAGS="-g -O2 -D JFS -D GETUSER -Wall -D LARGEMEM -lncurses -g -D X86"
LIBDIRSUFFIX=""
fi
set -eux
rm -rf $PKG
mkdir -p $TMP $PKG $OUTPUT
cd $TMP
rm -rf $PRGNAM
mkdir -p $PRGNAM
cp $CWD/lmon.c $PRGNAM
cd $TMP/$PRGNAM
chown -R root:root .
find -L . \
\( -perm 777 -o -perm 775 -o -perm 750 -o -perm 711 -o -perm 555 \
-o -perm 511 \) -exec chmod 755 {} \; -o \
\( -perm 666 -o -perm 664 -o -perm 640 -o -perm 600 -o -perm 444 \
-o -perm 440 -o -perm 400 \) -exec chmod 644 {} \;
cc -o $TMP/$PRGNAM/nmon $TMP/$PRGNAM/lmon.c $SLKCFLAGS
find $PKG -print0 | xargs -0 file | grep -e "executable" -e "shared object" | grep ELF \
| cut -f 1 -d : | xargs strip --strip-unneeded 2> /dev/null || true
mkdir -p $PKG/usr/doc/$PRGNAM-$VERSION
cat $CWD/$PRGNAM.SlackBuild > $PKG/usr/doc/$PRGNAM-$VERSION/$PRGNAM.SlackBuild
mkdir -p $PKG/install
cat $CWD/slack-desc > $PKG/install/slack-desc
mkdir -p $PKG/usr/bin
cp $TMP/$PRGNAM/nmon $PKG/usr/bin/
cd $PKG
/sbin/makepkg -l y -c n $OUTPUT/$PRGNAM-$VERSION-$ARCH-$BUILD$TAG.${PKGTYPE:-txz}

View File

@ -0,0 +1,19 @@
# HOW TO EDIT THIS FILE:
# The "handy ruler" below makes it easier to edit a package description.
# Line up the first '|' above the ':' following the base package name, and
# the '|' on the right side marks the last column you can put a character in.
# You must make exactly 11 lines for the formatting to be correct. It's also
# customary to leave one space after the ':' except on otherwise blank lines.
|-----handy-ruler------------------------------------------------------|
nmon: nmon (Nigel's performance MONitor)
nmon:
nmon: This systems administrator, tuner, benchmark tool gives you a huge
nmon: amount of important performance information in one go. It can output
nmon: the data in two ways.
nmon:
nmon: 1) You can display the CPU, memory, network, disks
nmon: (mini graphs or numbers), file systems, NFS, top processes, resources
nmon: 2) Save the data to a comma separated file for analysis and longer
nmon: term data capture.
nmon: