@smutje1179 Great work!
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?
@smutje1179 Great work!
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
KUDOS to @smutje1179 & @m.traeumner Iām interested in the sourcepackage / spec to build it for aarch64 too
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
Manged to build evebox for aarh64; have to say itās a painstaking job
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?
Hello @mark_nl
Iām sorry for the late reply ! I am quite busy with the securebox and on the job etc.
I guess your console output looks quite similar as mine ā¦ So i guess that should do !
Greetings
Bjƶrn
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 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.
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ā¦
I bet they were still under 7.6 testing and theyāve been deleted
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