freeswitch icon indicating copy to clipboard operation
freeswitch copied to clipboard

Create CentOS 8 build

Open sergey-safarov opened this issue 6 years ago • 12 comments

Could you create CentOS 8 build and repos

sergey-safarov avatar Oct 29 '19 11:10 sergey-safarov

I am on that :)

daniel-lucio avatar Oct 31 '19 02:10 daniel-lucio

Thanks Daniel @daniel-lucio, I also created packages for CentOS8. And created several PR to improve FreeSwitch packaging.

sergey-safarov avatar Dec 04 '19 15:12 sergey-safarov

True. They are under review now.

andywolk avatar Dec 04 '19 15:12 andywolk

Bump - is there any update on CentOS 8 packages?

space88man avatar Mar 03 '20 07:03 space88man

@andywolk what's missing here? I'm happy to help with any work that's left for packaging for CentOS 8 :)

LorbusChris avatar Apr 26 '20 21:04 LorbusChris

While waiting for the resolution of this issue, I just rebuilt the src.rpm of CentOS 7 on CentOS 8 and encountered the following papercuts. I'm sure they will be resolved in any official CentOS 8 builds. Recording them here in case anyone tries to do the same.

Background: Try to do a rpmbuild --rebuild <centos7srcrpm> in CentOS 8.

  1. Ancillary RPMs, flite, broadvoice, g722_1, libks, signalwire-client-c, ilbc2, silk etc etc are needed. They can all be rebuilt from the CentOS 7 src.rpm but flite requires a change because texi2html now wants -number-footnotes -number-sections instead of -number. The result of my rebuild of "helper" RPMs is here: https://copr.fedorainfracloud.org/coprs/beaveryoga/broadvoice/

Note: I have split libks into libks and libks-devel, and the same for signalwire-client-c. This is to be more idiomatic with the RHEL/CentOS eco-system. There is a bug in my CentOS 8 spec file which does not reflect this split yet.

  1. Python packaging: needed to create artificial links python2 -> python, python2-config -> python-config in ~/bin so that python and python-config could be found.

  2. -Werror: propagated to all sub Makefiles, many C/C++ files would not build. -Werror comes from apr, but by adding it to SWITCH_AM_CFLAGS it went into all Makefiles causing failing builds. I had to purge -Werror from many Makefiles.

  3. Build id link clash: One build step copies the Erlang epmd to fs_epmd. They are identical files. This causes a duplicate hash in /usr/lib/.build-id. I had to build with %define _build_id_links none to workaround this.

The results of the build are here:

https://copr.fedorainfracloud.org/coprs/beaveryoga/FreeSWITCH/.

The build is based on the newly released CentOS 8.2.2004 and completes successfully after the above workarounds. It uses the CentOS 8 repos, EPEL-8, and FreeSWITCH ancillary RPMs.

space88man avatar Jun 16 '20 06:06 space88man

All issues already resolved by me. Need just review and merge my open PR and then I will open next.

sergey-safarov avatar Jun 16 '20 07:06 sergey-safarov

Hi, any update for centos 8 ?

tamal-appsbee avatar Jan 14 '21 10:01 tamal-appsbee

I have an RPM for Centos 8 that works, check my GitHub profile to get to there

daniel-lucio avatar Jan 14 '21 14:01 daniel-lucio

@daniel-lucio can you please send me the link. I went to this https://github.com/daniel-lucio/freeswitch url but did not get the rpm link.

tamal-appsbee avatar Jan 19 '21 13:01 tamal-appsbee

Any news on Centos 8 Builds?

gpavinteractiv avatar Oct 01 '21 12:10 gpavinteractiv

Following on from a successful build based on the specs extracted from beaveryoga repo linked by @space88man i'm now looking at EL9 and running into issues that appear related to crypto/OpenSSL changes.

Is anyone else out there had any luck with EL9 builds?

spacetourist avatar Jun 21 '22 13:06 spacetourist

Following on from a successful build based on the specs extracted from beaveryoga repo linked by @space88man i'm now looking at EL9 and running into issues that appear related to crypto/OpenSSL changes.

Is anyone else out there had any luck with EL9 builds?

I am looking at this now...

BTW - I have added 1.10.8 on RHEL8 to Copr: https://copr.fedorainfracloud.org/coprs/beaveryoga/FreeSWITCH-1.10.8/

space88man avatar Oct 18 '22 23:10 space88man

@spacetourist - the spec file for rebuilding on EL9 is here: https://download.copr.fedorainfracloud.org/results/beaveryoga/FreeSWITCH-1.10.8/epel-9-x86_64/04956289-freeswitch/freeswitch.spec

  • you will need to find Erlang from somewhere
    • here https://packagecloud.io/rabbitmq/erlang/el/8/$basearch (yes it is EL8 on EL9)
    • or here https://github.com/rabbitmq/erlang-rpm/releases/download/v25.1.1/erlang-25.1.1-1.el9.x86_64.rpm

The copr repository is here: https://copr.fedorainfracloud.org/coprs/beaveryoga/FreeSWITCH-1.10.8/

space88man avatar Oct 19 '22 11:10 space88man

Hey @space88man - thanks for your work here, I had made a start only yesterday on the 1.10.8 conversion but I've produced a much cleaner build file using your spec as a base.

The only modifications are a couple of unique patches we apply, a purge of signalwire client and an extra location in PKG_CONFIG_PATH to support mock as a build environment.

Next step is to install and test on our Alma 9 servers!

spacetourist avatar Oct 19 '22 14:10 spacetourist

I am working on my own RPMs for Roky9, Rocky8 and Centos 7, bloating almost everything, including the signalwire stuff.

daniel-lucio avatar Jan 06 '23 05:01 daniel-lucio

Rocky9 RPMS are ready, Details are here https://inside-out.xyz/technology/freeswitch-1-10-8-rpm-for-centos-7-rocky-8-9.html

The repo can be installed using this RPM http://repo.okay.com.mx/centos/9/x86_64/release/okay-release-1-6.el9.noarch.rpm

daniel-lucio avatar Jan 18 '23 02:01 daniel-lucio

@daniel-lucio could you provide a pointer to the .spec files you're using to build these RPMS?

LorbusChris avatar Jan 19 '23 21:01 LorbusChris

@space88man Nice job for providing builds of 1.10.8 for el8 and el9. I tried using your .spec to build on a centos 8 Stream but could not manage to make it work though.

Are you planning to work on a new .spec for building 1.10.9? I saw that there were a few changes to Freeswitch on the build side (dynamic libs, dependencies removed...).

gpavinteractiv avatar Feb 28 '23 13:02 gpavinteractiv

@daniel-lucio could you provide a pointer to the .spec files you're using to build these RPMS?

We would be very interested in this spec file too :)

gpavinteractiv avatar Aug 17 '23 09:08 gpavinteractiv

Basic spec files for 1.10.10 (as close as possible to CentOS 7 builds):

Dependencies spec (libks2, signalwire-client-c2) if you use FS Signalwire module:

  • libks2: https://copr.fedorainfracloud.org/coprs/beaveryoga/broadvoice/build/6310951/
  • signalwire-client-c2: https://copr.fedorainfracloud.org/coprs/beaveryoga/broadvoice/build/6314309/

RHEL 8/9: https://copr.fedorainfracloud.org/coprs/beaveryoga/FreeSWITCH-1.10.10/

CentOS Stream 8/9: https://copr.fedorainfracloud.org/coprs/beaveryoga/FreeSWITCH-1.10.10-Stream/

space88man avatar Aug 19 '23 04:08 space88man