My sinopia daemon refused to start. After dig out the journal, I found that
ExecStop run straight after
ExecStart, what the…
After some research, I found that for daemons, or any other program that put themselves at the background, systemd thought they are stopped, thus stop the service for you. To prevent this, you need following in your systemd service file:
so your daemons can live happily ever after.
The nodejs and npm in EL7 is too old, so I borrowed the to latest nodejs spec from rawhide. Long story short, the result is at:
Please read the disclaimer and do follow the installation instruction if you choose to proceed. I don’t usually put the disclaimer like that but you need to know that:
- The build dependency of nodejs include openssl-1.0.2, but EL7 only shipped with 1.0.1, yet nodejs can run with openssl-1.0.1.
- openssl-libs is an important package, without it, yum, curl and rpm URL install won’t work, so restore it is a bit tricky. The instruction is, however, written in the copr page.
To build this copr, following dependencies need to go in as well:
libuv is piece of cake. But crypto-policies and openssl bring the worst packager nightmare: circular dependency. After F23, crypto-policies require openssl-devel to build, yet openssl require crypto-policies to run.
I eventually dug out crypto-policies from F21 and built it, thus broke the circular dependency and finished the build.