Error during evebox installation

Hello Davide !

I’ve finally managed to upload a rpm file to your cloud !

I hope nothing is going to explode with this rpm :slight_smile:

If you didn’t get a file : Write me a note ! Then i will try again to upload it !

Greetings

Björn

PS : Thanks to all who have supported me !

3 Likes

Hello Davide !

I’ve uploaded one rpm which is hopefully better!

Greeting

Björn

3 Likes

Got it!

$ rpm -qpi evebox-0.10.2-1.ns7.armv7l.rpm
Name        : evebox
Version     : 0.10.2
Release     : 1.ns7
Architecture: armv7hnl
Install Date: (not installed)
Group       : default
Size        : 14481834
License     : unknown
Signature   : (none)
Source RPM  : evebox-0.10.2-1.ns7.src.rpm
Build Date  : Thu 25 Jul 2019 17:56:14 CEST
Build Host  : localhost
Relocations : / 
Packager    : <pi@bpi-iot-ros-ai>
Vendor      : pi@bpi-iot-ros-ai
URL         : http://example.com/no-uri-given
Summary     : no description given
Description :
no description given

I’ve a question: the arch is armv7hnl, should it go under armhfp?

Hello Davide !

Yes, i think so. Do i have to change it in the spec of the rpm?

Greetings

1 Like

I don’t know what is the correct value :innocent: By now we have a armv7hl => armhfp rule (missing n)

Is the “n” just a typo? https://stackoverflow.com/questions/29166619/differences-between-arm-versions-armv7-only#29167402

Hello Davide

I’ve tried to figure out what this name “armv7hnl” means without any results.

I think this is a valid architecture description because i’ve found on some places the same name (e.g. openmandriva uses the same…).

The problem is that i can not tell you the difference between an “armv7hnl” and a “armv7l” or even if they are compatible to each other…

Greetings

Björn

2 Likes

I think the “n” just mean “neon” with an advanced instruction set.
See this patch and wikipedia.

I’d say yes.

2 Likes

Thank you for your feedback! I’m changing the repository arch rules to match armhfp in a smarter way

@giacomo you’re going to review it :wink:

1 Like

The package is now available from nethserver-testing!

http://packages.nethserver.org/nethserver/7.6.1810/testing/armhfp/Packages/evebox-0.10.2-1.ns7.armv7l.rpm

2 Likes

Installed with

yum install enablerepo=nethserver-testing evebox

Installation works fine but I could choose it for installation at softwarecenter anymore.

@dev_team Is this a normal behaviour

@arm_team Did somebody else tested it? Would be nice if it’s implemented.

@smutje1179 Great work! :grinning:

This Node.js stuff is way out of my comfort-zone, kind of get lost if there is no main.c(pp)

how did you manage node-sass to play-along?

An heads up evebox-0.10.2-1.ns7.armv7l.rpm works fine here:

IMHO it can move to the updates repo :+1:

KUDOS to @smutje1179 & @m.traeumner I’m interested in the sourcepackage / spec to build it for aarch64 too

2 Likes

Hi @mark_nl,
the compiling job was made by @smutje1179. I think he could write a short instruction of compiling here.

git clone GitHub - jasonish/evebox: Web Based Event Viewer (GUI) for Suricata EVE Events in Elastic Search ~/project/evebox

1 Like

Manged to build evebox for aarh64; have to say it’s a painstaking job :tired_face:

Here a write-up composed from bash-history, please note I may have missed something…

#setup build chroot
mock -r nethserver-7-aarch64 --clean
mock -r nethserver-7-aarch64 --init
mock -r nethserver-7-aarch64 --install git python ruby-devel

# I'm a pussy :)
mock -r nethserver-7-aarch64 --install nano

#enter build chroot
mock -r nethserver-7-aarch64  --enable-network --shell


# get go with right version
cd /usr/local && \
curl -o - -L  https://dl.google.com/go/go1.11.4.linux-arm64.tar.gz | \
tar zxf -

# get node with right version
cd /usr/local && \
curl -o - -L  https://nodejs.org/dist/v10.14.2/node-v10.14.2-linux-arm64.tar.xz | \
tar Jxf - --strip-components=1

#go home = /builddir
cd

#build fpm for packaging
gem install fpm  --no-doc

#setup PATH
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=/usr/local/bin:$GOPATH/bin:$GOROOT/bin:$PATH


#check build environment

go version
#output : go version go1.11.4 linux/arm64

npm version
#output :
{ npm: '6.4.1',
  ares: '1.15.0',
  cldr: '33.1',
  http_parser: '2.8.0',
  icu: '62.1',
  modules: '64',
  napi: '3',
  nghttp2: '1.34.0',
  node: '10.14.2',
  openssl: '1.1.0j',
  tz: '2018e',
  unicode: '11.0',
  uv: '1.23.2',
  v8: '6.8.275.32-node.45',
  zlib: '1.2.11' }

fpm --version
#output : 1.11.0


# get sources and enter dir
git clone https://github.com/jasonish/evebox.git && cd evebox/

#edit or patch Makefile
######################################################
diff --git a/Makefile b/Makefile
index 12ef0b4..c90bccd 100644
--- a/Makefile
+++ b/Makefile
@@ -86,6 +86,13 @@ endif
 ifeq ($(GOARCH),386)
 dist: DISTARCH := x32
 endif
+ifeq ($(GOARCH),arm)
+dist: DISTARCH := armv7hl
+endif
+ifeq ($(GOARCH),arm64)
+dist: DISTARCH := aarch64
+endif
+
 ifneq ($(VERSION_SUFFIX),)
 dist: VERSION := latest
 endif
@@ -105,45 +112,16 @@ dist: public
        cp evebox.yaml.example dist/$(DISTNAME)
        cd dist && zip -r ${DISTNAME}.zip ${DISTNAME}

-# Debian packaging. Due to a versioning screwup early on, we now need
-# to set the epoch to 1 for those updating with apt.
-deb: EPOCH := 1
-ifneq ($(VERSION_SUFFIX),)
-deb: TILDE := ~$(VERSION_SUFFIX)$(BUILD_DATE)
-deb: EVEBOX_BIN := dist/${APP}-latest-linux-x64/evebox
-deb: OUTPUT := dist/evebox-latest-amd64.deb
-else
-deb: EVEBOX_BIN := dist/${APP}-${VERSION}-linux-x64/evebox
-deb: OUTPUT := dist/
-endif
-deb:
-       fpm --force -s dir \
-               -t deb \
-               -p $(OUTPUT) \
-               -n evebox \
-               --epoch $(EPOCH) \
-               -v $(VERSION)$(TILDE) \
-               --after-install=deb/after-install.sh \
-               --after-upgrade=deb/after-upgrade.sh \
-               --deb-no-default-config-files \
-               --config-files /etc/default/evebox \
-               ${EVEBOX_BIN}=/usr/bin/evebox \
-               evebox.yaml.example=/etc/evebox/evebox.yaml.example \
-               agent.yaml.example=/etc/evebox/agent.yaml.example \
-               deb/evebox.default=/etc/default/evebox \
-               deb/evebox.service=/lib/systemd/system/evebox.service \
-
 # RPM packaging.
 ifneq ($(VERSION_SUFFIX),)
 # Setup non-release versioning.
 rpm: RPM_ITERATION := 0.$(VERSION_SUFFIX)$(BUILD_DATE)
-rpm: EVEBOX_BIN := dist/${APP}-latest-linux-x64/evebox
-rpm: OUTPUT := dist/evebox-latest-x86_64.rpm
+rpm: EVEBOX_BIN := dist/${APP}-latest-linux-aarch64/evebox
+rpm: OUTPUT := dist/evebox-latest-aarch64.rpm
 else
 # Setup release versioning.
 rpm: RPM_ITERATION := 1
-rpm: EVEBOX_BIN := dist/${APP}-${VERSION}-linux-x64/evebox
+rpm: EVEBOX_BIN := dist/${APP}-${VERSION}-linux-aarch64/evebox
 rpm: OUTPUT := dist/
 endif
 rpm:
@@ -152,6 +130,7 @@ rpm:
            -p $(OUTPUT) \
            -n evebox \
            -v $(VERSION) \
+           --rpm-dist ns7 \
            --iteration $(RPM_ITERATION) \
            --before-install=rpm/before-install.sh \
            --after-upgrade=rpm/after-upgrade.sh \

###############################################


#build evebox
make install-deps
make
make dist
make rpm


#check result
ls -l dist/
total 12084
-rw-r--r--. 1 root 1000 6167602 Sep  1 21:37 evebox-0.10.2-1.ns7.aarch64.rpm
drwxr-sr-x. 2 root 1000    4096 Sep  1 21:36 evebox-0.10.2-linux-aarch64
-rw-r--r--. 1 root 1000 6200794 Sep  1 21:36 evebox-0.10.2-linux-aarch64.zip

@smutje1179 did I missed something?

1 Like

Hello @mark_nl

I’m sorry for the late reply ! I am quite busy with the securebox and on the job etc. :pensive:

I guess your console output looks quite similar as mine … So i guess that should do !

Greetings

Björn

1 Like

Hi @smutje1179,

No problem, still curious though on my arm 32 bit centos setup node.js 10 did not play along with gcc 4.8.5.

Who cares :smiley: would you mind if I publish your binary on my github?
like I did in the past with version 0.9.1

I’m considering writing a spec file which fetches these binaries and put them in an rpm in order to skip the rpm building with (rubby) fpm…

Sitting here with @smutje1179, and of course you can use the binary.

1 Like

Sotty to bump this up,

But evebox-0.10.2-1.ns7.armv7l.rpm disappeared from all 7.6.1810 repositoryies; hence also absent in 7.7.1908…

cc/ @davidep @giacomo

1 Like

I bet they were still under 7.6 testing and they’ve been deleted :sweat_smile:

I should have a copy of them somewhere. Let me check it!

Edit: uploaded to

http://packages.nethserver.org/nethserver/7.7.1908/base/armhfp/Packages/evebox-0.10.2-1.ns7.armv7l.rpm
http://packages.nethserver.org/nethserver/7.7.1908/base/aarch64/Packages/evebox-0.10.2-1.ns7.armv7l.rpm

2 Likes