stellar-core
stellar-core copied to clipboard
Write spec file to produce Fedora/RHEL/CentOS RPMS Version: all
Description
- [ ] Produce basic spec file to build stellar-core for Fedora/RHEL/CentOS
- [x] Target Fedora
- [x] Target CentOS 7
- [ ] Target RHEL (blocked by deps ATM)
- [ ] Automate into Copr (mostly complete)
- [ ] Produce doco for forks wishing to achieve same (part complete)
Initial version, split into two where "stellar-core-unstable" skips make check
stage and sources from master, veruses "stellar-core" (stable) executing make check
.
In addition...
- [ ] Trigger stable by release and unstable by push (both on push ATM)
- [ ] Obviate GNU Parallel dependency as not readily available in Fedora/CentOS and unlikely to ever be provided in Red Hat due to historic naming conflict. Use less pretty xargs.
- [ ] Obviate pandoc dependency as whilst doco is important it pulls in requirement for entire Haskell stack which whilst available for Fedora/CentOS is unlikely to ever be avaialable for RHEL.
- [ ] Investigate RHEL UBI
Checklist
- [ ] Reviewed the contributing document
- [ ] Rebased on top of master (no merge commits)
- [ ] Ran clang-format v5.0.0 (via make format or the Visual Studio extension)
- [x] Compiles
- [x] Ran all tests
- [ ] ~~If change impacts performance, include supporting evidence per the performance document~~
Cool. @philipmather Have you looked at https://github.com/stellar/packages ? This may be a better place to track this kind of work as it’s dist related
No, that's a bit buried to be frank, I plumbed through a couple of layers of doco before diving in without finding any mention of it.
I can understand splitting out stuff into separate repos so you don't have to grant everyone access to the actual code, let alone randoms from the Internet but it either needs a one line pointer in the doco or if it makes some sort of sense sub-moduling this "packages" repo into those it builds perhaps? Not sure.
I've not really seen a model/practice for building code from one repository from configuration in another but I can see a way it might work (doesn't depend on the sub-module bit) although I'm unsure how the autosetup RPM macro will handle multiple source git repos.
I can also see some unrelated monitoring and util bits in the "packages" repo from Mr. Nykis, is there any diagram or outline of the repo structure within the project somewhere? :^)
Hey @philipmather!
Thanks for this issue, let's sync on the best way to get this work complete.
I fully agree with @philipmather . However, I was interested in trying to find a solution. Just for fun. Maybe for someone who needs RPM this will be a good start.
Right now I have packages like this
Here is PR with changes https://github.com/stellar/packages/compare/master...BOPOHA:rpm_test?expand=1
You can try stellar-core with a few commands. For example for CentOS Stream 8 aarch64 you need to run the following commands as root :
dnf module enable postgresql:13 -y
dnf copr enable vorona/stellar-packages centos-stream-8 -y
dnf install -y stellar-core-postgres
systemctl enable --now [email protected]
I use this ec2 config: r6g.medium, 8.0 GiB 1 vCPUs, 200 GiB of EBS storage gp3,
After some time, you can check status with psql query
sudo -s -u stellar psql "postgresql:///core?host=/var/run/stellar" -c 'select max(ledgerseq), min(ledgerseq) from public.txhistory'
max | min
-----+-----
|
(1 row)
max | min
----------+----------
43097670 | 43095552
(1 row)