From 0d737af02d0b27bb4d9fbb453f09c293036d1a39 Mon Sep 17 00:00:00 2001 From: "B. Stack" Date: Tue, 17 May 2022 21:32:43 -0400 Subject: initial commit --- README.md | 71 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 README.md (limited to 'README.md') diff --git a/README.md b/README.md new file mode 100644 index 0000000..92a06cf --- /dev/null +++ b/README.md @@ -0,0 +1,71 @@ +# README for build-radicale-el7 project + + +## Overview +This repository contains the steps required to build Radicale3 for CentOS 7 and put the rpms in a copr. The process is generally, "adapt the Fedora packages," which works very well! + +## Dependencies + +### Packages + +* rpmbuild +* git + +### Git repositories + +* https://src.fedoraproject.org/rpms/python-nose +* https://src.fedoraproject.org/rpms/python-passlib +* https://src.fedoraproject.org/rpms/python-dateutil +* https://src.fedoraproject.org/rpms/python-vobject +* https://src.fedoraproject.org/rpms/radicale +* https://gitlab.com/bgstack15/radicale_auth_ldap +* https://gitlab.com/bgstack15/radicaleInfCloud + +## Using +You need to establish a [COPR](https://copr.fedorainfracloud.org/) project, and also an api key. Store the api key in ~/.config/copr as typical for copr. + +Clone this repository, and examine the shell scripts, at least the top parts, to confirm the variables it will use. + +When ready, run `./1-build-srpms.sh`. It will generate in the typical ~/rpmbuild/SRPMS/ path the customized srpms. Some needed no modification from the Fedora sources. Some needed minor changes like `python3` -> `python36`, and some needed + +It is possible that my build environment, in which I had already run everything manually, already had the Source: files which tend to be listed in the `sources` file for Fedora's dist-git process. You might have to manually fetch source tarballs. Give `spectool -R -g *.spec` a try in each directory as needed, otherwise you will have to visit each upstream and download the appropriate tarball. + +With all the srpms available, run `./2-upload-srpms.sh`. It will run `copr-cli` in the correct order for the build dependencies of the packages. It is not incredibly robust; if any package fails you will have to address it and then re-run the whole thing. I need to redesign it to accept parameters. Pull requests welcome. + +Additional packages of type **rpkg** in my COPR include: + +Package | clone url | committish +------------------ | -------------------------------------------------- | ---------- +radicale_auth_ldap | https://gitlab.com/bgstack15/radicale_auth_ldap | 3 +infcloud | https://gitlab.com/bgstack15/radicaleInfCloud | stackrpms + +Package `radicale_auth_ldap` is a bonus: I don't actually use it, but I patched it when testing it before going in a different direction (authentication at the reverse proxy level). + +Package `infcloud` is the web front-end for the calendar and address book. Its documentation demonstrates how to set up my reverse-proxy with ldap authentication. + +### My modifications +This project modifies Radicale3 to automatically log in the user at the web interface, based on the passed header `HTTP_X_REMOTE_USER`. This might be not to your liking, so you should poke around and disable it if you do not like that. + +## Reason for existing +Radicale is CentOS 7 is version 1.1.2, which is out of date. As of the time of this writing, Radicale is at version 3.1.7. These steps allow me to use Radicale3 with its features on a stable server OS. + +I want my server environment to be fairly reproducible, with only configuration changes and not major application changes required. + +## References +All git repo links above. -- cgit