Host ELOG on Raspberry Pi for small lab, posted by Michel Döhring on Thu Mar 20 10:25:59 2025
|
Dear all,
is there an instruction document how to exacly host the ELOG on a server for example a raspberry pi?
Wishes,
M |
Re: Host ELOG on Raspberry Pi for small lab, posted by Stefan Ritt on Thu Mar 20 11:21:07 2025
|
Just read the manual: https://elog.psi.ch/elog/adminguide.html
Michel Döhring wrote: |
Dear all,
is there an instruction document how to exacly host the ELOG on a server for example a raspberry pi?
Wishes,
M
|
|
Re: Host ELOG on Raspberry Pi for small lab, posted by Konstantin Olchanski on Fri Mar 21 23:51:08 2025
|
> is there an instruction document how to exacly host the ELOG on a server for example a raspberry pi?
would be same as on any other linux machine, in the nutshell:
- install generic raspbian (R-12 is current version)
- setup the network
- setup apache2 https with automatic https certificate renewal using certbot
- setup apache2 redirect to elogd port 8080
- setup elogd on port localhost:8080
some of this is written up here:
https://daq00.triumf.ca/DaqWiki/index.php/Ubuntu#Install_apache_httpd_proxy_for_midas_and_elog
in theory you can run elogd without apache https proxy, but I find computer security
people are quite happy when I tell them that I run apache https with SSLlabs score "A+".
also I believe elogd does not support automatic https certificate renewal, running
it behind apache https solves that.
another consideration, specifically for RaspberryPi, they use SD flash for storage,
and unlike SATA and NVMe SSDs, SD flash does not have SMART to report flash read,
write and wear-out problems. So you may run into unexpected SD flash failures. We do.
do daily/hourly rsync to backup/archive storage to avoid total data loss if this happens.
also be aware that SD flash is very slow, compared to normal PC SSDs. read speed is not too
bad, but write speed is quite abysmal.
as solution to this, RPi5 can have a PCIe/NVMe dongle, you can try that instead of SD flash.
K.O. |
3-level conditional not working, posted by Harry Martin on Thu Mar 20 07:34:24 2025
|
Not sure if this is a bug or not; if it is not, kindly reclassify the category.
Following is a small example of what I will dub a 3-level, conditional logbook:
[cond_test]
attributes = region, manufacturer, model
show attributes edit = region
options region = american{1}, japanese{2}, european{3}
{1} options manufacturer = ford, chrysler, gm
{2} options manufacturer = toyota{4}, nissan{5}, mitsubishi{6}
{3} options manufacturer = audi, mercedes, bmw, volvo, fiat
{1,2,3} show attributes edit = region, manufacturer
{4} options model = corolla, prius, miata
{5} options model = sentra, murano
{6} options model = starion, outlander, mirage
{4,5,6} show attributes edit = region, manufacturer, model
This example is hardly complete, but it is sufficient to demonstrate the issue I am running into. This works until I select from the 2nd level (manufacturer); it won't display the dropdown for the model (I think my show attribute edit is supposed to display that). Is there a restriction on how many levels of conditional I can have? If there is, it would be disappointing because I am trying to do something similar to this example.
I hope there is something very simple I can do to correct this, or perhaps a completely different approach that accomplishes the same thing. I'd like to stick with the multi-level selection process as I have done here.
I am running elog 3.1.5 on Devuan Chimaera (approx. Debian Bullseye, sans systemd) in a Virtualbox VM. |
Webserver authentication may cause redirect loop, posted by Arjan Hulsbosch on Thu Jan 23 11:32:05 2025
|
If
- Elog is configured to use webserver authentication, and
- the user reported by the webserver does not exist in the password file, and
- the "Guest Menu commands" configuration is set in "elogd.cfg", and
- a logbook is accessed,
then Elog returns with a redirect (302) to the logbook itself, causing the loop.
The fix here is to remove the "Guest Menu commands" configuration from "elogd.cfg".
Source code location: https://bitbucket.org/ritt/elog/src/30ada1df634529c8011c27275c52a05b01b7b3d6/src/elogd.cxx#lines-27599 |
Segfault on elog-3.1.5-1 when uploading file., posted by gary holman on Thu Dec 12 18:45:49 2024
|
I am receiving a segfault whenever I attempt to upload a file. Please see attached .txt for valgrind output. This occurs in version elog-3.1.5-1. I reverted back to version elog-3.1.4-3 and the segfault does not occur.
Segfault occurs in Elog version: elog-3.1.5-1
System:
Virtualization: kvm
Operating System: Ubuntu 24.04.1 LTS
Kernel: Linux 6.8.0-49-generic
Architecture: x86-64
Hardware Vendor: QEMU
Hardware Model: Standard PC _Q35 + ICH9, 2009_
Firmware Version: 1.15.0-1
Firmware Date: Tue 2014-04-01
Firmware Age: 10y 8month 1w 5d
Valgrind command: valgrind -v --leak-check=full --track-origins=yes ./elogd -s /usr/local/elog -c /var/www/elog/he6/elogd.cfg -f /var/run/elog/he6.pid
Steps to reproduce:
1. Login elog
2. Create new logbook entry
3. Attachement 1: Select Browse
4. Select any file.
5. Select Upload |
Re: Segfault on elog-3.1.5-1 when uploading file., posted by gary holman on Thu Dec 12 19:01:39 2024
|
Looks like duplicate report to https://elog.psi.ch/elogs/Forum/69826
gary holman wrote: |
I am receiving a segfault whenever I attempt to upload a file. Please see attached .txt for valgrind output. This occurs in version elog-3.1.5-1. I reverted back to version elog-3.1.4-3 and the segfault does not occur.
Segfault occurs in Elog version: elog-3.1.5-1
System:
Virtualization: kvm
Operating System: Ubuntu 24.04.1 LTS
Kernel: Linux 6.8.0-49-generic
Architecture: x86-64
Hardware Vendor: QEMU
Hardware Model: Standard PC _Q35 + ICH9, 2009_
Firmware Version: 1.15.0-1
Firmware Date: Tue 2014-04-01
Firmware Age: 10y 8month 1w 5d
Valgrind command: valgrind -v --leak-check=full --track-origins=yes ./elogd -s /usr/local/elog -c /var/www/elog/he6/elogd.cfg -f /var/run/elog/he6.pid
Steps to reproduce:
1. Login elog
2. Create new logbook entry
3. Attachement 1: Select Browse
4. Select any file.
5. Select Upload
|
|
Re: Segfault on elog-3.1.5-1 when uploading file., posted by Stefan Ritt on Thu Dec 12 19:46:02 2024
|
A statement like "core dumped" does not help much. Same with valgrind memory leaks. I need a full strack trace with all parameters when the segment violation occurs. The easiest is when you run elogd vom inside gdb, and once you get the signal, do a "where" to see th full stack trace.
As you can see from this forum, there is absolutely no crash when you upload any file, so it must have to do with your config file or anything whcih is special in yoru environment. We have to find what this is so that I can reproduce it here.
Stefan |
Re: Segfault on elog-3.1.5-1 when uploading file., posted by gary holman on Thu Dec 12 20:29:40 2024
|
Thanks for further instructions here is full stack trace:
Program received signal SIGABRT, Aborted.
__pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44
warning: 44 ./nptl/pthread_kill.c: No such file or directory
(gdb) where
#0 __pthread_kill_implementation (no_tid=0, signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:44
#1 __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78
#2 __GI___pthread_kill (threadid=<optimized out>, signo=signo@entry=6) at ./nptl/pthread_kill.c:89
#3 0x00007ffff764526e in __GI_raise (sig=sig@entry=6) at ../sysdeps/posix/raise.c:26
#4 0x00007ffff76288ff in __GI_abort () at ./stdlib/abort.c:79
#5 0x00007ffff76297b6 in __libc_message_impl (fmt=fmt@entry=0x7ffff77ce765 "*** %s ***: terminated\n") at ../sysdeps/posix/libc_fatal.c:132
#6 0x00007ffff7736c19 in __GI___fortify_fail (msg=msg@entry=0x7ffff77ce74c "buffer overflow detected") at ./debug/fortify_fail.c:24
#7 0x00007ffff77365d4 in __GI___chk_fail () at ./debug/chk_fail.c:28
#8 0x00007ffff7738019 in __strlcpy_chk (s1=<optimized out>, s2=<optimized out>, n=<optimized out>, s1len=<optimized out>) at ./debug/strlcpy_chk.c:28
#9 0x000055555557ac8a in strlcpy (__n=356, __src=0x89ab3c42edf52f00 <error: Cannot access memory at address 0x89ab3c42edf52f00>, __dest=0x7ffffffd5370 "agarcia") at /usr/include/x86_64-linux-gnu/bits/string_fortified.h:156
#10 el_submit_attachment (lbs=lbs@entry=0x5555566873d8, afilename=afilename@entry=0x7ffffffd57e0 "pfSense-UDP4-1194-yuhaosun-config.ovpn",
buffer=buffer@entry=0x5555566bba67 "dev tun\npersist-tun\npersist-key\ndata-ciphers AES-256-GCM:AES-128-GCM:CHACHA20-POLY1305:AES-256-CBC\ndata-ciphers-fallback AES-256-CBC\nauth SHA256\ntls-client\nclient\nresolv-retry infinite\nremote pfsense."...,
buffer_size=buffer_size@entry=5265, full_name=full_name@entry=0x7ffffffd58e0 "") at src/elogd.cxx:4547
#11 0x00005555555f91ea in decode_post (logbook=logbook@entry=0x7fffffffbff0 "He6", lbs=lbs@entry=0x5555566873d8, string=<optimized out>,
string@entry=0x5555566bb1c9 '-' <repeats 29 times>, "16417726823211458101306576170\r\nContent-Disposition: form-data; name=\"unm\"\r\n\r\ngholman\r\n", '-' <repeats 29 times>, "16417726823211458101306576170\r\nContent-Disposition: form"...,
boundary=boundary@entry=0x7fffffffbef0 '-' <repeats 27 times>, "16417726823211458101306576170", length=length@entry=7649) at src/elogd.cxx:28662
#12 0x00005555555fb5cc in process_http_request (
crequest=crequest@entry=0x555556656658 "POST /He6/ HTTP/1.0\r\nHost: xxx.xxx.xxx.xxx\r\nX-Real-IP: 192.168.101.2\r\nX-Forwarded-For: 192.168.101.2\r\nConnection: close\r\nContent-Length: 7649\r\nUser-Agent: Mozilla/5.0 (Windows NT 10.0; Win6"...,
i_conn=i_conn@entry=0) at src/elogd.cxx:29317
#13 0x00005555555ffc68 in server_loop () at src/elogd.cxx:30302
#14 0x000055555555b1b9 in main (argc=<optimized out>, argv=<optimized out>) at src/elogd.cxx:31327
(gdb)
Stefan Ritt wrote: |
A statement like "core dumped" does not help much. Same with valgrind memory leaks. I need a full strack trace with all parameters when the segment violation occurs. The easiest is when you run elogd vom inside gdb, and once you get the signal, do a "where" to see th full stack trace.
As you can see from this forum, there is absolutely no crash when you upload any file, so it must have to do with your config file or anything whcih is special in yoru environment. We have to find what this is so that I can reproduce it here.
Stefan
|
|
Re: Segfault on elog-3.1.5-1 when uploading file., posted by Stefan Ritt on Fri Dec 13 15:11:08 2024
|
Thanks to your stack trace, I found a case where a string might get overwritten, but only if the attachment file name is longer than 256 chars. I fixed the code and made a new RPM:
https://www.dropbox.com/scl/fi/r37qx9aka5ytt3j7vn4km/elog-3.1.5-20241213.el8.x86_64.rpm?rlkey=knct99pdltggunrbmyr2hpfe5&st=pkre24aq&dl=0
Alternatively, you can compile from sources. Give it a try.
Stefan |
Re: Segfault on elog-3.1.5-1 when uploading file., posted by gary holman on Fri Dec 13 19:40:57 2024
|
Thanks Stefen!
I built from source (ELOG V3.1.5-3a5f2f00) and I confirmed as fixed.
Stefan Ritt wrote: |
Thanks to your stack trace, I found a case where a string might get overwritten, but only if the attachment file name is longer than 256 chars. I fixed the code and made a new RPM:
https://www.dropbox.com/scl/fi/r37qx9aka5ytt3j7vn4km/elog-3.1.5-20241213.el8.x86_64.rpm?rlkey=knct99pdltggunrbmyr2hpfe5&st=pkre24aq&dl=0
Alternatively, you can compile from sources. Give it a try.
Stefan
|
|
Re: Segfault on elog-3.1.5-1 when uploading file., posted by Evinrude Motor on Tue Jan 7 20:35:23 2025
|
When will the new source be in the standard download area ? I'm on ubuntu .
gary holman wrote: |
Thanks Stefen!
I built from source (ELOG V3.1.5-3a5f2f00) and I confirmed as fixed.
Stefan Ritt wrote: |
Thanks to your stack trace, I found a case where a string might get overwritten, but only if the attachment file name is longer than 256 chars. I fixed the code and made a new RPM:
https://www.dropbox.com/scl/fi/r37qx9aka5ytt3j7vn4km/elog-3.1.5-20241213.el8.x86_64.rpm?rlkey=knct99pdltggunrbmyr2hpfe5&st=pkre24aq&dl=0
Alternatively, you can compile from sources. Give it a try.
Stefan
|
|
|
Re: Segfault on elog-3.1.5-1 when uploading file., posted by Stefan Ritt on Tue Jan 7 20:41:13 2025
|
It is in the usual download area which is referenced at https://elog.psi.ch/elog/download.html
Stefan
Evinrude Motor wrote: |
When will the new source be in the standard download area ? I'm on ubuntu .
gary holman wrote: |
Thanks Stefen!
I built from source (ELOG V3.1.5-3a5f2f00) and I confirmed as fixed.
Stefan Ritt wrote: |
Thanks to your stack trace, I found a case where a string might get overwritten, but only if the attachment file name is longer than 256 chars. I fixed the code and made a new RPM:
https://www.dropbox.com/scl/fi/r37qx9aka5ytt3j7vn4km/elog-3.1.5-20241213.el8.x86_64.rpm?rlkey=knct99pdltggunrbmyr2hpfe5&st=pkre24aq&dl=0
Alternatively, you can compile from sources. Give it a try.
Stefan
|
|
|
|
Equation Editor does not work, posted by Dominic on Sun Sep 1 04:33:13 2024
|
Hi!
I am not sure if this is a know issue: it seems that the equation editor does not work anymore. Is there any fix or alternative method to type latex formula in the log?
Thank you! |
Re: Equation Editor does not work, posted by Nick Sauerwein on Wed Sep 25 16:00:06 2024
|
We have observed the same issue. Did the CodeCogs api change?
Thanks for the help.
Dominic wrote: |
Hi!
I am not sure if this is a know issue: it seems that the equation editor does not work anymore. Is there any fix or alternative method to type latex formula in the log?
Thank you!
|
|
Re: Equation Editor does not work, posted by Dominic on Tue Nov 5 15:51:26 2024
|
is there any update on this bug? Has anyone else observed the same problem?
Dominic wrote: |
Hi!
I am not sure if this is a know issue: it seems that the equation editor does not work anymore. Is there any fix or alternative method to type latex formula in the log?
Thank you!
|
|
Re: Equation Editor does not work, posted by Stefan Ritt on Mon Jan 6 14:59:06 2025
|
Apparently Codecogs have changed their URL. I tried the update from
https://editor.codecogs.com/depr/CK_Editor_v4x.php
but it did not help. The CK Editor v5 is quite different from v4 (like they require node.js to install it), so putting it into elog would be some major work.
Stefan
Dominic wrote: |
is there any update on this bug? Has anyone else observed the same problem?
Dominic wrote: |
Hi!
I am not sure if this is a know issue: it seems that the equation editor does not work anymore. Is there any fix or alternative method to type latex formula in the log?
Thank you!
|
|
|
Author special characters changed when saving as draft, posted by Víctor M. Nouvilas on Mon Dec 16 15:26:26 2024
|
Hello, I have installed ELOG in an Ubuntu 22.04 machine and is working great, but I have found a small bug with Author names.
I have the config set like this for the Author attribute:
Preset Author = $long_name
Locked Attributes = Author
For context, my name is Víctor, which includes the accented "í". When creating a new entry and submitting immediately seems to work well. However, if I create a new entry, save it as draft, go back to the list, and then go to the draft entry, the accented "í" has transformed into "Ã". If I repeat the process, it turns into "ÃÂ", and so on. As I have configured the Author to not be editable, the user cannot fix this manually.
I found a way around this bug by setting
Subst Author = $long_name
Which is okay for us, but might not be for everyone.
In fact I saved this entry as a draft and then on another tab tried to edit it and it wouldn't let me edit because the author name now did not match. |
no availability of el8 and el9 rpm, posted by scott on Wed Feb 21 10:39:21 2024
|
Hi,
I checked the RPM download page and found that there is no RPM available to install ELOG on el8 and el9 based OS.
Can someone upload the RPM for el8 and el9 on the download page of ELOG?
|
Re: no availability of el8 and el9 rpm, posted by Laurent Jean-Rigaud on Wed Feb 21 11:15:38 2024
|
Hi,
EPEL retired the ELOG package for security reason.
You can build from GIT source as described in elog:Forum/69732 .
As SPECfile don't manage el8/9, you have to activate manually service thru "systemctl enable elogd" then "systemctl start elogd".
scott wrote: |
Hi,
I checked the RPM download page and found that there is no RPM available to install ELOG on el8 and el9 based OS.
Can someone upload the RPM for el8 and el9 on the download page of ELOG?
|
|
Re: no availability of el8 and el9 rpm, posted by Konstantin Olchanski on Wed Feb 21 21:20:56 2024
|
> EPEL retired the ELOG package for security reason
no, this is not what happened, we (I) requested removal of elog packages from epel, debian and ubuntu because they had obsolete pre-cve (insecure)
versions that should not be used. they were very pleasant, quick and efficient dealing with this. (but obviously they could not retroactively
remove elog from old versions of ubuntu and debian).
we opted to not reclaim ownership of these packages (original person who created these packages had drifted away) because
none of us know how to create debian packages and all of us (speaking for myself) know how much PITA is building RPM packages.
plus I do not know if Stefan has access to el8 and el9 machines (I do not, we are moving to ubuntu/debian wholesale).
I recommend building elog from git sources. it is simple, two commands (git clone + make) vs one command (rpm install),
it ensures you always have the latest version available, it is easy to update (git pull + make) and you do not
get any surprise updates (from nightly apt update/upgrade).
K.O. |
Re: no availability of el8 and el9 rpm, posted by Laurent Jean-Rigaud on Thu Feb 22 00:53:26 2024
|
> > EPEL retired the ELOG package for security reason
>
> no, this is not what happened, we (I) requested removal of elog packages from epel, debian and ubuntu because they had obsolete pre-cve (insecure)
> versions that should not be used. they were very pleasant, quick and efficient dealing with this. (but obviously they could not retroactively
> remove elog from old versions of ubuntu and debian).
Yep i remind now. Finally the result was the same :-(
if CVEs had been fixed in repo, you should make a new official ELOG version and update download site with tarball, .exe and RPMS. Almost End-users do not use git repo...
> we opted to not reclaim ownership of these packages (original person who created these packages had drifted away) because
> none of us know how to create debian packages and all of us (speaking for myself) know how much PITA is building RPM packages.
> plus I do not know if Stefan has access to el8 and el9 machines (I do not, we are moving to ubuntu/debian wholesale).
I spent one hour yesterday to install almalinux in VM on my laptop, clone repo, rebuild ELOG RPM, install the new rpm and start elogd.
You should have several VM on a shield for that :-P
> I recommend building elog from git sources. it is simple, two commands (git clone + make) vs one command (rpm install),
> it ensures you always have the latest version available, it is easy to update (git pull + make) and you do not
> get any surprise updates (from nightly apt update/upgrade).
The problem of building ELOG is that it needs a development machine with C++ and dependencies installed. This is not present (or forbidden) in production machine/VM...
End users need simple package (rpm/pkg/*) to install it as all other products, with the confidence that this package has been testing...
Also, "git clone and make" should be surprising, as the devs use a particular environment that should be different from user's one.
The future is maybe something more universal as Flatpak/SNAP/...
Btw thanks for ELOG program and support.
Bye
Laurent |
Re: no availability of el8 and el9 rpm, posted by Stefan Ritt on Thu Feb 22 08:12:28 2024
|
> I spent one hour yesterday to install almalinux in VM on my laptop, clone repo, rebuild ELOG RPM, install the new rpm and start elogd.
> You should have several VM on a shield for that :-P
Right. One hour to install linux X, another hour for linux Y. Building RPMs is a constant challenge taking lots of time. If we
find someone who volunteers to build the RPMs and EXEs from the sources and takes over the responsibility for the next years,
I would be more than happy to upload the resulting files. I simply don't have time for that given all my other responsibilities.
Best,
Stefan |
Re: no availability of el8 and el9 rpm, posted by Laurent Jean-Rigaud on Thu Feb 22 11:59:03 2024
|
> > I spent one hour yesterday to install almalinux in VM on my laptop, clone repo, rebuild ELOG RPM, install the new rpm and start elogd.
> > You should have several VM on a shield for that :-P
>
> Right. One hour to install linux X, another hour for linux Y. Building RPMs is a constant challenge taking lots of time. If we
> find someone who volunteers to build the RPMs and EXEs from the sources and takes over the responsibility for the next years,
> I would be more than happy to upload the resulting files. I simply don't have time for that given all my other responsibilities.
>
> Best,
> Stefan
Hi Stephan,
I understand your time problem. In fact, the "One hour" is the kickstart. Update is poweron VM, dnf update, git clone & rpmbuild x.y.z, then scp *.rpm to website. 10 mins. It could be scripted on your dev server if any VM manager is available from it.
You can also use automatic build plaform as COPR (https://copr.fedorainfracloud.org/) for RPM, and Bitbucket for Debian/Ubuntu (native). Bitbucket accepts OSS projects for Free.
With BitBucket, it's possible to configure personal runners for CI/CD (systems with pipeline client installed, as RHEL, Fedora, Windows, etc...). The pipeline scripts can build, test and generate the packages automatically, depend on system runners.
As CI/CD, the process is automatically done after commits in git repo... A lot of work to make it in place, but when it's running, the delivery process is done
This is also possible with GitLab and other big platorms.
Maybe you should try.
For my curiosity, I've just clone ELOG repo on Bitbucket to try the process. That's pity : pipelines are currently broken (incident traced in status page https://status.atlassian.com/).
The goal is to build elog and pkg file for Ubuntu (docker images list : https://status.atlassian.com/). Next steps should to create a AlmaLinux VM to try RPM builds.
Have nice day,
Laurent |
Re: no availability of el8 and el9 rpm, posted by Stefan Ritt on Fri Feb 23 08:40:26 2024
|
> For my curiosity, I've just clone ELOG repo on Bitbucket to try the process. That's pity : pipelines are currently broken (incident traced in status page https://status.atlassian.com/).
> The goal is to build elog and pkg file for Ubuntu (docker images list : https://status.atlassian.com/). Next steps should to create a AlmaLinux VM to try RPM builds.
I fixed the bitbucket pipeline. I compiled it for an (old) GCC 6.3, and even if I installed cmake there, it was not running (maybe I needed cmake3?). Anyhow, I switched GCC 10.2 and now it's fine.
> With BitBucket, it's possible to configure personal runners for CI/CD (systems with pipeline client installed, as RHEL, Fedora, Windows, etc...). The pipeline scripts can build, test and generate the packages automatically, depend on system runners.
> As CI/CD, the process is automatically done after commits in git repo... A lot of work to make it in place, but when it's running, the delivery process is done
> This is also possible with GitLab and other big platorms.
As you saw I use the bitbucket pipeline for CI/CD. The current bitbucket-pipelines.yml is pretty simple (see attachment). If you make me one which does the rpmbuild automatically, I'm more than happy to upload and use it. The downside there is that it only works for so long. As you saw at the
error above, the pipeline worked a few years ago when I installed it. But in meantime things changed apparently and need to be fixed. ELOG is around since last century (literally!), and I'm kind of tired to fix things every once in a while. If somebody else could take over the responsibility to
deliver the RPMs I would be more than delighted.
Stefan |
Re: no availability of el8 and el9 rpm, posted by Laurent Jean-Rigaud on Fri Feb 23 18:00:41 2024   
|
Hi Stefan,
> As you saw I use the bitbucket pipeline for CI/CD. The current bitbucket-pipelines.yml is pretty simple (see attachment). If you make me one which does the rpmbuild automatically, I'm more than happy to upload and use it. The downside there is that it only works for so long. As you saw at the
> error above, the pipeline worked a few years ago when I installed it. But in meantime things changed apparently and need to be fixed. ELOG is around since last century (literally!), and I'm kind of tired to fix things every once in a while. If somebody else could take over the responsibility to
> deliver the RPMs I would be more than delighted.
Good news ! I thought the bitbucket-pipelines.yml was automatically added when importing the repo :-P
Btw, i try to update it as enclosed :
- first step : build, install, start and test Web connection
- build on ELx in // with artifacts
- on centos7
- on centos8
- on centos-stream-9
- automatic deployment on ... where you want. You can push to your website the files by sftp/scp using dedicated account/key using secrets in bitbuckket...

Manually, the artifacts (rpm files) are also available from website in pipeline's steps, Artifacts tab and download button.

NB : The ELOG version is statically set in pipeline script (3.1.5) so this script need to be updated with git one by bitbuecket vars or script command to retrieve it from src.
One more thing : the elog.spec.template must be patched to build last ELOG source on EL7. Without, an error occurs on nullptr usage and C++ must be set to C11 rules... See enclosed elog-EL7_c11_patch.diff .
Now, the Debian/Ubuntu PKGs generation have to be added. Need google as I do not do that for 20 years :-P
Bye
Laurent
|
Re: no availability of el8 and el9 rpm, posted by Stefan Ritt on Mon Feb 26 17:39:56 2024
|
Many thanks for your files and instructions. I integrated this into the official elog pipeline, so now the RPMs can be downloaded from https://elog.psi.ch/elog/download.html and they will be updated automatically after each commit. If you succeed with any Debian/Ubunto I'm happy to add that. What's missing now is an easy way to compile for Windows (which I don't have anymore).
Stefan |
Re: no availability of el8 and el9 rpm, posted by Antonio Bulgheroni on Mon Feb 26 21:18:23 2024
|
+1 for a Windows pipeline!
Stefan Ritt wrote: |
Many thanks for your files and instructions. I integrated this into the official elog pipeline, so now the RPMs can be downloaded from https://elog.psi.ch/elog/download.html and they will be updated automatically after each commit. If you succeed with any Debian/Ubunto I'm happy to add that. What's missing now is an easy way to compile for Windows (which I don't have anymore).
Stefan
|
|
Re: no availability of el8 and el9 rpm, posted by Laurent Jean-Rigaud on Mon Feb 26 22:23:05 2024
|
Hi Stefan,
Nice to have up to date RPMs.
For .DEB, I contact the Ubuntu maintainer for its build script, and cool, he replied that he's searching for it. That's could help me to generate the deb more rapidly...
For Windows target, It's supported in Bitbucket but only with private agent :-(
So I tried to build using docker hub MSVC image (abrarov/msvc-2019) but pipeline fails to retrieve the image. Maybe I need to swipe on alternative images, or these images with MS software are unaccepted from Atlassian...
Also, I tried to crosscompiling ELOG Win32 from Linux with g++-mingw-w64-x86-64, but Makefile/sources need to be patched to manage this 'platform'... For the moment, it fails. :-(
Next solution : use Wine in Debian image to build Elog with mingwin as I know that it works (under Windows :-)). Will be tested after all...
.
Laurent
Stefan Ritt wrote: |
Many thanks for your files and instructions. I integrated this into the official elog pipeline, so now the RPMs can be downloaded from https://elog.psi.ch/elog/download.html and they will be updated automatically after each commit. If you succeed with any Debian/Ubunto I'm happy to add that. What's missing now is an easy way to compile for Windows (which I don't have anymore).
Stefan
|
|
Re: no availability of el8 and el9 rpm, posted by Antonio Bulgheroni on Tue Feb 27 06:59:06 2024
|
Many thanks for all your efforts!
Laurent Jean-Rigaud wrote: |
Hi Stefan,
Nice to have up to date RPMs.
For .DEB, I contact the Ubuntu maintainer for its build script, and cool, he replied that he's searching for it. That's could help me to generate the deb more rapidly...
For Windows target, It's supported in Bitbucket but only with private agent :-(
So I tried to build using docker hub MSVC image (abrarov/msvc-2019) but pipeline fails to retrieve the image. Maybe I need to swipe on alternative images, or these images with MS software are unaccepted from Atlassian...
Also, I tried to crosscompiling ELOG Win32 from Linux with g++-mingw-w64-x86-64, but Makefile/sources need to be patched to manage this 'platform'... For the moment, it fails. :-(
Next solution : use Wine in Debian image to build Elog with mingwin as I know that it works (under Windows :-)). Will be tested after all...
.
Laurent
Stefan Ritt wrote: |
Many thanks for your files and instructions. I integrated this into the official elog pipeline, so now the RPMs can be downloaded from https://elog.psi.ch/elog/download.html and they will be updated automatically after each commit. If you succeed with any Debian/Ubunto I'm happy to add that. What's missing now is an easy way to compile for Windows (which I don't have anymore).
Stefan
|
|
|
Re: no availability of el8 and el9 rpm, posted by Stefan Ritt on Tue Feb 27 07:35:15 2024
|
Laurent Jean-Rigaud wrote: |
For Windows target, It's supported in Bitbucket but only with private agent :-(
So I tried to build using docker hub MSVC image (abrarov/msvc-2019) but pipeline fails to retrieve the image. Maybe I need to swipe on alternative images, or these images with MS software are unaccepted from Atlassian...
Also, I tried to crosscompiling ELOG Win32 from Linux with g++-mingw-w64-x86-64, but Makefile/sources need to be patched to manage this 'platform'... For the moment, it fails. :-(
Next solution : use Wine in Debian image to build Elog with mingwin as I know that it works (under Windows :-)). Will be tested after all...
|
For Windows it's more than just getting the .exe. Users want an installer. I used the Nullsoft Scriptable Installer (NSI), but I have no clue if this still works today. But there is still the elog.nsi script in the repository. Next, users want elogd as a service running in the background as a "service". I'm pretty sure the old way of doing that has changed and one would at least have to test this. Unfortunatley I switched to MacOSX about ten years ago (actually most of ELOG has been developed under Windows, but these days are gone), so I'm kind of illiterate in the Windows world now and don't have any time to change that.
Stefan
|
Re: no availability of el8 and el9 rpm, posted by Laurent Jean-Rigaud on Tue Feb 27 16:55:39 2024
|
Elogd for windows has an option -install which normally does it. Is it working on last Windows version (or the one enclosed in elog:Forum/69664) ?
If Yes, a simple install-as-a-service.bat can be added to archive :-)
.
Laurent
Stefan Ritt wrote: |
Laurent Jean-Rigaud wrote: |
For Windows target, It's supported in Bitbucket but only with private agent :-(
So I tried to build using docker hub MSVC image (abrarov/msvc-2019) but pipeline fails to retrieve the image. Maybe I need to swipe on alternative images, or these images with MS software are unaccepted from Atlassian...
Also, I tried to crosscompiling ELOG Win32 from Linux with g++-mingw-w64-x86-64, but Makefile/sources need to be patched to manage this 'platform'... For the moment, it fails. :-(
Next solution : use Wine in Debian image to build Elog with mingwin as I know that it works (under Windows :-)). Will be tested after all...
|
For Windows it's more than just getting the .exe. Users want an installer. I used the Nullsoft Scriptable Installer (NSI), but I have no clue if this still works today. But there is still the elog.nsi script in the repository. Next, users want elogd as a service running in the background as a "service". I'm pretty sure the old way of doing that has changed and one would at least have to test this. Unfortunatley I switched to MacOSX about ten years ago (actually most of ELOG has been developed under Windows, but these days are gone), so I'm kind of illiterate in the Windows world now and don't have any time to change that.
Stefan
|
|
Re: no availability of el8 and el9 rpm, posted by Laurent Jean-Rigaud on Mon Mar 4 10:10:50 2024
|
Hi Stefan,
Some updates for Windows version.
I spent last WE to try to build ELOG on Windows from MSVCODE, MSCV, crosschain tool under linux etc, but in vain.
ELOG MSVC projects file are obsolete for last MS C++, and after migration, so much error or missing libs for SSL/Ldap/krb5 which should be built... I drop the sponge :-P
With mingw64 under Linux (docker/Debian), the code has also to be updated (C++11), but I don't get a build after all (also libs missing and must be built).
Finally, I can build Windows version from Windows with CygWin gcc-c++ as I did in the past. All the dependencies are available from CygWin installer. I got problems with strlcpy file missing, need to drop inlcude from elog.c and elogd.h as mxml doesn't include it anymore...
I find a Win64 CI/CD solution on AppVeyor which is free for OSS project. After creating account and add link to my ELOG test Bitbucket repo, ad new files (appveyor.yml, buildming script, update NSIS script for CygWin DDL, add tool for service), it builds automatically an elog-ver-release.exe artifact : (current build from GIT with SSL/LDAP/KRB5 available on month up to March 3, 2024 : https://ci.appveyor.com/api/buildjobs/logp7r8f0kcjq9pp/artifacts/elog-3.1.5-a720145.exe)
I installed this NSIS bundle on my PC and it's starting fine as a service.
The link info from EXE :
$ ldd /cygdrive/c/Program\ Files\ \(x86\)/ELOG/elogd.exe
ntdll.dll => /cygdrive/c/Windows/SYSTEM32/ntdll.dll (0x7ffdb1fb0000)
KERNEL32.DLL => /cygdrive/c/Windows/System32/KERNEL32.DLL (0x7ffdb0dc0000)
KERNELBASE.dll => /cygdrive/c/Windows/System32/KERNELBASE.dll (0x7ffdaf950000)
cygwin1.dll => /cygdrive/c/Program Files (x86)/ELOG/cygwin1.dll (0x7ffcedc30000)
cygkrb5-3.dll => /cygdrive/c/Program Files (x86)/ELOG/cygkrb5-3.dll (0x3fe0a0000)
cyglber-2.dll => /cygdrive/c/Program Files (x86)/ELOG/cyglber-2.dll (0x3fe040000)
cygldap-2.dll => /cygdrive/c/Program Files (x86)/ELOG/cygldap-2.dll (0x3fdf20000)
cygssl-3.dll => /cygdrive/c/Program Files (x86)/ELOG/cygssl-3.dll (0x3fd0d0000)
cyggcc_s-seh-1.dll => /cygdrive/c/Program Files (x86)/ELOG/cyggcc_s-seh-1.dll (0x3ff1d0000)
cygstdc++-6.dll => /cygdrive/c/Program Files (x86)/ELOG/cygstdc++-6.dll (0x3fcee0000)
cygk5crypto-3.dll => /cygdrive/c/Program Files (x86)/ELOG/cygk5crypto-3.dll (0x3fe170000)
cygkrb5support-0.dll => /cygdrive/c/Program Files (x86)/ELOG/cygkrb5support-0.dll (0x3fe080000)
cygcom_err-2.dll => /cygdrive/c/Program Files (x86)/ELOG/cygcom_err-2.dll (0x3ffe90000)
cygintl-8.dll => /cygdrive/c/Program Files (x86)/ELOG/cygintl-8.dll (0x3fe450000)
cygcrypto-1.1.dll => /cygdrive/c/Program Files (x86)/ELOG/cygcrypto-1.1.dll (0x3ffbc0000)
cygsasl2-3.dll => /cygdrive/c/Program Files (x86)/ELOG/cygsasl2-3.dll (0x3fd3e0000)
cygssl-1.1.dll => /cygdrive/c/Program Files (x86)/ELOG/cygssl-1.1.dll (0x3fd170000)
cygcrypto-3.dll => /cygdrive/c/Program Files (x86)/ELOG/cygcrypto-3.dll (0x3ff800000)
cygiconv-2.dll => /cygdrive/c/Program Files (x86)/ELOG/cygiconv-2.dll (0x3fe540000)
cygz.dll => /cygdrive/c/Program Files (x86)/ELOG/cygz.dll (0x3fc790000)
I will send you the files/patchs if AppVeyor could be used for Windows CI/CD in your project.
Bye,
Laurent
NB: the AppVeyor build log enclosed, need some cleanup...
Stefan Ritt wrote: |
Laurent Jean-Rigaud wrote: |
For Windows target, It's supported in Bitbucket but only with private agent :-(
So I tried to build using docker hub MSVC image (abrarov/msvc-2019) but pipeline fails to retrieve the image. Maybe I need to swipe on alternative images, or these images with MS software are unaccepted from Atlassian...
Also, I tried to crosscompiling ELOG Win32 from Linux with g++-mingw-w64-x86-64, but Makefile/sources need to be patched to manage this 'platform'... For the moment, it fails. :-(
Next solution : use Wine in Debian image to build Elog with mingwin as I know that it works (under Windows :-)). Will be tested after all...
|
For Windows it's more than just getting the .exe. Users want an installer. I used the Nullsoft Scriptable Installer (NSI), but I have no clue if this still works today. But there is still the elog.nsi script in the repository. Next, users want elogd as a service running in the background as a "service". I'm pretty sure the old way of doing that has changed and one would at least have to test this. Unfortunatley I switched to MacOSX about ten years ago (actually most of ELOG has been developed under Windows, but these days are gone), so I'm kind of illiterate in the Windows world now and don't have any time to change that.
Stefan
|
|
Re: no availability of el8 and el9 rpm, posted by Stefan Ritt on Tue Dec 10 15:34:41 2024
|
People are keeping me asking for a Windows installer. Is this now properly working, also under Windows 11? If you send me the executable, I could upload it to the distribution.
Do people have to install cygwin before they can use it, or will the executable runn just by itself? If I understand correctly, the MinGW package would not require a runtime library, right?
Best,
Stefan
Laurent Jean-Rigaud wrote: |
Hi Stefan,
Some updates for Windows version.
I spent last WE to try to build ELOG on Windows from MSVCODE, MSCV, crosschain tool under linux etc, but in vain.
ELOG MSVC projects file are obsolete for last MS C++, and after migration, so much error or missing libs for SSL/Ldap/krb5 which should be built... I drop the sponge :-P
With mingw64 under Linux (docker/Debian), the code has also to be updated (C++11), but I don't get a build after all (also libs missing and must be built).
Finally, I can build Windows version from Windows with CygWin gcc-c++ as I did in the past. All the dependencies are available from CygWin installer. I got problems with strlcpy file missing, need to drop inlcude from elog.c and elogd.h as mxml doesn't include it anymore...
I find a Win64 CI/CD solution on AppVeyor which is free for OSS project. After creating account and add link to my ELOG test Bitbucket repo, ad new files (appveyor.yml, buildming script, update NSIS script for CygWin DDL, add tool for service), it builds automatically an elog-ver-release.exe artifact : (current build from GIT with SSL/LDAP/KRB5 available on month up to March 3, 2024 : https://ci.appveyor.com/api/buildjobs/logp7r8f0kcjq9pp/artifacts/elog-3.1.5-a720145.exe)
I installed this NSIS bundle on my PC and it's starting fine as a service.
The link info from EXE :
$ ldd /cygdrive/c/Program\ Files\ \(x86\)/ELOG/elogd.exe
ntdll.dll => /cygdrive/c/Windows/SYSTEM32/ntdll.dll (0x7ffdb1fb0000)
KERNEL32.DLL => /cygdrive/c/Windows/System32/KERNEL32.DLL (0x7ffdb0dc0000)
KERNELBASE.dll => /cygdrive/c/Windows/System32/KERNELBASE.dll (0x7ffdaf950000)
cygwin1.dll => /cygdrive/c/Program Files (x86)/ELOG/cygwin1.dll (0x7ffcedc30000)
cygkrb5-3.dll => /cygdrive/c/Program Files (x86)/ELOG/cygkrb5-3.dll (0x3fe0a0000)
cyglber-2.dll => /cygdrive/c/Program Files (x86)/ELOG/cyglber-2.dll (0x3fe040000)
cygldap-2.dll => /cygdrive/c/Program Files (x86)/ELOG/cygldap-2.dll (0x3fdf20000)
cygssl-3.dll => /cygdrive/c/Program Files (x86)/ELOG/cygssl-3.dll (0x3fd0d0000)
cyggcc_s-seh-1.dll => /cygdrive/c/Program Files (x86)/ELOG/cyggcc_s-seh-1.dll (0x3ff1d0000)
cygstdc++-6.dll => /cygdrive/c/Program Files (x86)/ELOG/cygstdc++-6.dll (0x3fcee0000)
cygk5crypto-3.dll => /cygdrive/c/Program Files (x86)/ELOG/cygk5crypto-3.dll (0x3fe170000)
cygkrb5support-0.dll => /cygdrive/c/Program Files (x86)/ELOG/cygkrb5support-0.dll (0x3fe080000)
cygcom_err-2.dll => /cygdrive/c/Program Files (x86)/ELOG/cygcom_err-2.dll (0x3ffe90000)
cygintl-8.dll => /cygdrive/c/Program Files (x86)/ELOG/cygintl-8.dll (0x3fe450000)
cygcrypto-1.1.dll => /cygdrive/c/Program Files (x86)/ELOG/cygcrypto-1.1.dll (0x3ffbc0000)
cygsasl2-3.dll => /cygdrive/c/Program Files (x86)/ELOG/cygsasl2-3.dll (0x3fd3e0000)
cygssl-1.1.dll => /cygdrive/c/Program Files (x86)/ELOG/cygssl-1.1.dll (0x3fd170000)
cygcrypto-3.dll => /cygdrive/c/Program Files (x86)/ELOG/cygcrypto-3.dll (0x3ff800000)
cygiconv-2.dll => /cygdrive/c/Program Files (x86)/ELOG/cygiconv-2.dll (0x3fe540000)
cygz.dll => /cygdrive/c/Program Files (x86)/ELOG/cygz.dll (0x3fc790000)
I will send you the files/patchs if AppVeyor could be used for Windows CI/CD in your project.
Bye,
Laurent
NB: the AppVeyor build log enclosed, need some cleanup...
Stefan Ritt wrote: |
Laurent Jean-Rigaud wrote: |
For Windows target, It's supported in Bitbucket but only with private agent :-(
So I tried to build using docker hub MSVC image (abrarov/msvc-2019) but pipeline fails to retrieve the image. Maybe I need to swipe on alternative images, or these images with MS software are unaccepted from Atlassian...
Also, I tried to crosscompiling ELOG Win32 from Linux with g++-mingw-w64-x86-64, but Makefile/sources need to be patched to manage this 'platform'... For the moment, it fails. :-(
Next solution : use Wine in Debian image to build Elog with mingwin as I know that it works (under Windows :-)). Will be tested after all...
|
For Windows it's more than just getting the .exe. Users want an installer. I used the Nullsoft Scriptable Installer (NSI), but I have no clue if this still works today. But there is still the elog.nsi script in the repository. Next, users want elogd as a service running in the background as a "service". I'm pretty sure the old way of doing that has changed and one would at least have to test this. Unfortunatley I switched to MacOSX about ten years ago (actually most of ELOG has been developed under Windows, but these days are gone), so I'm kind of illiterate in the Windows world now and don't have any time to change that.
Stefan
|
|
|
Re: no availability of el8 and el9 rpm, posted by Konstantin Olchanski on Tue Dec 10 19:23:32 2024
|
> People are keeping me asking for a Windows installer
My Windows-11 laptop may free up in January and I could look at builds of elog and midas, but I know nothing about making Windows installers...
K.O. |
Probleme TLS, posted by Olivier MARTIN on Fri Dec 6 09:39:44 2024
|
Hello,
I would like to notify by email as soon as an entry is created or modified.
I declared my SMTP which uses TLS security.
The following error message appears : Erreur d'envoi de mail via "smtp.xxxx.xxx.xxx.fr": 5.7.0 Must issue a STARTTLS command first
Is there a solution ?
|
Re: Probleme TLS, posted by Stefan Ritt on Fri Dec 6 10:59:52 2024
|
TSL is not implemented in ELOG. Maybe I find time some day to do that, but if we have any volunteers in our community who could help me with that I would appreciate.
Stefan
Olivier MARTIN wrote: |
Hello,
I would like to notify by email as soon as an entry is created or modified.
I declared my SMTP which uses TLS security.
The following error message appears : Erreur d'envoi de mail via "smtp.xxxx.xxx.xxx.fr": 5.7.0 Must issue a STARTTLS command first
Is there a solution ?
|
|
Re: Probleme TLS, posted by Olivier MARTIN on Mon Dec 9 10:23:32 2024
|
Thanks,
Does email notification from a Gmail address work? It is noted that port 465 must be used for SSL use? Is this correct :
SMTP host : smtp.gmail.com
SMTP port = 465
SMTP username = monadresse@gmail.com
And, should I enter the password attached to my Gmail email and where?
Thanks in advance.
Stefan Ritt wrote: |
TSL is not implemented in ELOG. Maybe I find time some day to do that, but if we have any volunteers in our community who could help me with that I would appreciate.
Stefan
Olivier MARTIN wrote: |
Hello,
I would like to notify by email as soon as an entry is created or modified.
I declared my SMTP which uses TLS security.
The following error message appears : Erreur d'envoi de mail via "smtp.xxxx.xxx.xxx.fr": 5.7.0 Must issue a STARTTLS command first
Is there a solution ?
|
|
|
Re: Probleme TLS, posted by Konstantin Olchanski on Mon Dec 9 21:55:53 2024
|
What Stefan meant to say is that Elog does not implement sending email using encrypted SMTP over TLS.
In theory it could be implemented, but if you try to use it, you may find that most
destinations will reject you unless you have configured correct SPF records.
https://en.wikipedia.org/wiki/Sender_Policy_Framework
Even if you do everything right, joints like gmail may still reject you because
their AI decides you are a spammer, or just because they do not like you, and good
luck making them change their mind.
At TRIUMF, we configure elog to use unencrypted and unauthenticated SMTP
to smtp.triumf.ca, which has special rules to accept our email (no questions asked),
and our Microsoft email instance is configured to accept and forward email from
smpt.triumf.ca. Everything is done right, but we still see Fermilab's Microsoft
rejecting TRIUMF's Microsoft email once in a while.
K.O. |
|