Hi I’m in the process of trying to bring some of the various software solutions currently running on nethserver to the RPI version I’m starting with sava page.
next i installed the dependencies nethserver-avahi and nethserver-cups
and installed the nethserver-savapage package that was compiled everything installed fine but I’m thinking that some settings need to be manually configured i did look at userguide:savapage but not sure what to configure as this is new to me i thought id open this topic to ask for suggestions
I would start by unpacking that and identify the real ach depended "bin"s,
they ( savapage-nss and savapage-pam) can be found in: \savapage\server\bin\
and ( savapage-cups-notifier) in: savapage\providers\cups\linux-x64\
maybe on more places though,
I think this repository gives some clues how it’s packaged:
build xmlrpcpp first, it is dependency for savapage-cups-notifier
(it gets statically-linked so we do not need the result of xmlrpcpp)
cd xmlrpcpp/
make all
then what you need:
cd ../savapage-cups-notifier/
make all
cp target/savapage-notifier ~/build
cd ../savapage-nss/
make all
cp target/savapage-nss ~/build/
cd ../savapage-pam/
make all
cp target/savapage-pam ~/build/
exit
i should be able to automate the install with a script (im also in the process of writing a script to automate the build from source then create folder structure and upload to repo and refresh so you just need to input name of package and location of source) but so far so good not fully tested but results look promising
what about packaging the 3 (arch depended) binaries in rpm’s who are installing those in /opt/savapage-bin-armv7l/ (or something like that) ?
These rpm’s would be pure a build-requirement for the armv7l savapage setup bin.
This would eliminate the need to build those manually (other then make-rpms savapage-notifier.spec)
As they get installed in a predictable place they can be used by a x84 > armv7l conversion script.
There was already some discussion on the SavaPage Community forum and I saw that the build and install of the arm variant was successful. I’m not familiar with how SavaPage is fitted into NethServer, but if you need something extra in SavaPage to facilitate the integration of the arm (cpp) binaries, please let me know.
Note if you build on the host-system you build against the libraries ( cups-devel, pam-devel) from the host-distro which may differ from the target distro (ie Fedora as host el7 as target)
Personally prefer to build in a clean build-chroot isolated from my host,
And that is what mock does, it sets up a (systemd-nspawn) container to build the packages
still haven’t had a chance to build the package but i noticed every time the server restarts or you issue systemctl daemon-reload
savapage.service is not loaded
my work around is as follows
change /usr/lib/systemd/system/savapage.service
to
This
#
# This file is part of the SavaPage project <https://www.savapage.org>.
# Copyright (c) 2011-2018 Datraverse B.V.
# Author: Rijk Ravestein.
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as
# published by the Free Software Foundation, either version 3 of the
# License, or (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <https://www.gnu.org/licenses/>.
#
# For more information, please contact Datraverse B.V. at this
# address: info@datraverse.com
#
[Unit]
Description=SavaPage Open Print Portal
After=network.target cups.service
[Service]
Type=forking
PIDFile=/opt/savapage/server/logs/service.pid
User=savapage
Group=savapage
LimitNOFILE=65536
ExecStart=/opt/savapage/server/bin/linux-armv7l/app-server start
ExecStop=/opt/savapage/server/bin/linux-armv7l/app-server stop
Restart=on-success
[Install]
WantedBy=multi-user.target
# end-of file
Not sure if the permission was already set to this but in case it wasn’t chmod 644 /usr/lib/systemd/system/savapage.service chown root:root /usr/lib/systemd/system/savapage.service
then symlink ln -s /usr/lib/systemd/system/savapage.service /etc/systemd/system/multi-user.target.wants/savapage.service
then enable cd /etc/systemd/system/ && systemctl enable savapage.service
reboot
systemctl status savapage
● savapage.service - SavaPage Open Print Portal
Loaded: loaded (/usr/lib/systemd/system/savapage.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 1970-01-01 10:00:15 AEST; 51 years 8 months ago
Process: 700 ExecStart=/opt/savapage/server/bin/linux-armv7l/app-server start (code=exited, status=0/SUCCESS)
Main PID: 1245 (java)
CGroup: /system.slice/savapage.service
├─1245 java -server -XX:+PrintGCDetails -XX:+PrintGCApplic...
├─3810 /usr/lib/libreoffice/program/soffice.bin -accept=so...
└─3838 /usr/lib/libreoffice/program/soffice.bin -accept=so...
[truncated]
and `systemctl daemon-reload’
systemctl status savapage
● savapage.service - SavaPage Open Print Portal
Loaded: loaded (/usr/lib/systemd/system/savapage.service; enabled; vendor preset: disabled)
Active: active (running) since Thu 1970-01-01 10:00:15 AEST; 51 years 8 months ago
Process: 700 ExecStart=/opt/savapage/server/bin/linux-armv7l/app-server start (code=exited, status=0/SUCCESS)
Main PID: 1245 (java)
CGroup: /system.slice/savapage.service
├─1245 java -server -XX:+PrintGCDetails -XX:+PrintGCApplic...
├─3810 /usr/lib/libreoffice/program/soffice.bin -accept=so...
└─3838 /usr/lib/libreoffice/program/soffice.bin -accept=so...
[truncated]
P.S. ignore the part about running for 51 years i changed the ntp to a government one and didnt configure the authentication correctly and said my server date was in the 1970s now it’s working right it says it’s been running for 51years