Build own repositories for RPM packages for various distros: CentOS, RedHate, OpenSuse ...
Hi Daniel @miconda I implemented automated rpm packaging on release tag using [codefresh](https://codefresh.io). I implemented using my github account and my github repo. [Example](https://g.codefresh.io/public/accounts/sergeysafarov/builds/5da245612d82f521...).
Could you create `kamailio` account on codefresh and give me permission to configure build settings on new account.
Hello, I see it that codefresh requires to login with external service (like github), but there is no one belonging to the project, each developer has its own github account. There is kamailio.dev used to push changes to README files, I will see if that can be used or we need to create a new dedicated github account.
We can use kamailio-sync github user, but do We want to allow this? 
Replying to: https://github.com/kamailio/kamailio/issues/1949#issuecomment-553517712
There is no python3-devel or python3 (place-holder packages) for CentOS 8.
`Please try download or install python3-devel or python3.`
Let me repeat. On CentOS 8, THERE IS NO PACKAGE `python3-devel` or `python3`.
Look closely, please:
https://koji.mbox.centos.org/koji/buildinfo?buildID=4624
Quote:
```
Description | This is the internal interpreter of the Python language for the system. **To use Python yourself, please install one of the available Python 3 packages, for example python36.**
```
Only python36-devel and python36 exist (as yet) for CentOS 8.
Verified by `dnf search python36-devel` and `python3-devel` etc.
``` dnf search python3 | grep -i devel Last metadata expiration check: 1:03:05 ago on Wed 13 Nov 2019 12:15:27 PM CET. python3-qscintilla-qt5-devel.noarch : Development files for QScintilla-qt5 python3-idle.i686 : A basic graphical development environment for Python python3-idle.x86_64 : A basic graphical development environment for Python python3-kobo.noarch : Python modules for tools development python36-devel.x86_64 : Libraries and header files needed for Python development python3-hupper.noarch : Integrated process monitor for developing servers python3-werkzeug.noarch : The Swiss Army knife of Python web development ```
Apparently these place-holder packages are necessary for building kamailio?
This: https://build.opensuse.org/package/view_file/home:kamailio:v5.3.x-rpms/kamai...
should include (?) e.g.
``` %if 0%{?centos_ver} == 8 %define dist_name centos %define dist_version %{?centos} %define dist .el8.centos ... %bcond_without python36 ... %endif ```
For reference, the EL8 equivalents for python3 are now ``` # rpm -qi python36 Name : python36 Version : 3.6.8 Release : 2.module_el8.0.0+33+0a10c0e1 Architecture: x86_64 Install Date: Mon 23 Sep 2019 05:53:02 PM +08 Group : Unspecified Size : 13131 License : Python Signature : RSA/SHA256, Wed 31 Jul 2019 06:32:02 AM +08, Key ID 05b555b38483c65d Source RPM : python36-3.6.8-2.module_el8.0.0+33+0a10c0e1.src.rpm Build Date : Sat 22 Jun 2019 11:20:29 PM +08 Build Host : x86-02.mbox.centos.org Relocations : (not relocatable) Packager : CentOS Buildsys bugs@centos.org Vendor : CentOS URL : https://www.python.org/ Summary : Interpreter of the Python programming language ```
``` # rpm -qi python36-devel Name : python36-devel Version : 3.6.8 Release : 2.module_el8.0.0+33+0a10c0e1 Architecture: x86_64 Install Date: Mon 23 Sep 2019 05:53:04 PM +08 Group : Unspecified Size : 13131 License : Python Signature : RSA/SHA256, Wed 31 Jul 2019 06:32:08 AM +08, Key ID 05b555b38483c65d Source RPM : python36-3.6.8-2.module_el8.0.0+33+0a10c0e1.src.rpm Build Date : Sat 22 Jun 2019 11:20:29 PM +08 Build Host : x86-02.mbox.centos.org Relocations : (not relocatable) Packager : CentOS Buildsys bugs@centos.org Vendor : CentOS URL : https://www.python.org/ Summary : Libraries and header files needed for Python development ```
Provides:
``` # rpm -q --whatprovides python3 python36-3.6.8-2.module_el8.0.0+33+0a10c0e1.x86_64 # rpm -q --whatprovides python3-devel python36-devel-3.6.8-2.module_el8.0.0+33+0a10c0e1.x86_64 ```
I guess it is modular, because they may want to slip Python 3.7/3.8 into RHEL 8.x at some point.
From today `rpm` packages will be available from http://rpm.kamailio.org page.
Here you can download rpm files for: - CentOS - Fedora - OpenSUSE
Thank you Sergey, great. It would be nice to have packages as well for RHEL. If the discussed way of implementing this does not work out, just let us know that we can sort out how to proceed. :-)
Yes, Henning. I already get access to RHEL iso on RedHad developer portal. Good description about RedHat Policy located [here](https://medium.com/faun/how-to-build-rhel-based-docker-images-on-redhat-ente...).
Think I will create kamailio builder docker image and then create kamailio RPM. I expect one-two weeks.
Hello @henningw Packages for RHEL 7 and 8 available on `rpm.kamailio.org`
Next daily builds
Thanks you Sergey, close this one now as main packages are available on rpm.kamailio.org.
Closed #2084.
Added webhook to `rpm.kamailio.org` server and to codefresh. Now daily master build and weekly builds for `5.3` and `5.2` branches available.
Created `kamailio.repo` files with repo description. For CentOS dist repo file may be installed ```sh yum-config-manager \ --add-repo \ http://rpm.kamailio.org/centos/kamailio.repo ```
For other dist need update repo file url.
Next package signing
Reopened #2084.
re-open as @sergey-safarov is using this to track his work on the RPM infrastructure
Added package signing. PGP key stored on server provided by Fred Posner.
Packages signed using key ```sh [root@kama4 ~]# gpg --homedir /etc/pulp/gpg-key --list-keys /etc/pulp/gpg-key/pubring.gpg ------------------------------ pub 2048R/17A12EE1 2019-11-28 uid Kamailio team RPM signing bot rpm_bot@kamailio.org sub 2048R/D3190C20 2019-11-28 ```
Victor @linuxmaniac, Daniel @miconda, If need to replace this key to other, please let me know.
To test repo on `CentOS 8` you can use ```sh dnf -y install dnf-plugins-core dnf config-manager --add-repo http://rpm.kamailio.org/centos/kamailio.repo dnf install kamailio ```
On CentOS/RHEL 7 and 6 you can use ``` yum -y install yum-utils yum-config-manager --add-repo http://rpm.kamailio.org/centos/kamailio.repo yum install kamailio ```
Today `5.3.2` released properly after tagging on GitHub. Think if no more questions to resolve, then we are ready to announce new kamailio RPM repo.
With the provided instructions, even though 5.3.3 is 'available' in the repos, only 5.3.1 is installed, and won't upgrade.
Whatever is in the 'latest' doesn't update properly on server side.
If I edit the .repo file which includes 5.3.1, and change it to e.g. 5.3.2, dnf sees the updates and upgrades.
Something is wrong...
@sergey-safarov - somehow the building for the new version seems not to work. For example 5.3.3 and 5.3.4 are not available for CentOS 8 on rpm.kamailio.org
yes, some ago time publishing repo is moved from codefresh to docker repo. https://github.com/kamailio/kamailio/issues/2259
Now I must reconfigure script to pull from docker hub. but not have done. Let me look this again. May be will fix fast.
@henningw just published '5.3.4' and after 40 min will available '5.2.7' .
I am not a CentOS expert, but the repository structure seems a bit strange. E.g. for CentOS 6: [link](http://rpm.kamailio.org/centos/kamailio.repo) - this contains repositories for 5.2 and 5.3. branch. The 5.2. and 5.3 branches contains old versions, like 5.2.5 [link](http://rpm.kamailio.org/centos/6/5.2/5.2/x86_64/Packages/k/). The newer versions are in another location, like this one [link](http://rpm.kamailio.org/centos/6/5.2/5.2.7/) but does not seems to be found if added in the system.
Thanks @henningw for remark. Main idea of folder like `5.2/5.2` or `5.3/5.3` as weekly build of supported branch. As weekly builds configured only for `CentOS 8` and `CentOS 7` so this repos for `CentOS 6` need to delete. Looks as this repos I made my mistake when I start repo creation.
Hi Sergey, thanks for looking into it. We should not just delete the CentOS 6, it ist still supported until the end of 2020. Having additional daily or weekly builds is great, but there should be 5.2 and 5.3 branches that only contain the actual releases similar like Debian repository structure. Most people would probably use this. Cheers, Henning
So there will be no repos for Centos 6 ???
@nicoonline please try this commands ``` yum clean all yum -y install yum-utils yum-config-manager --add-repo http://rpm.kamailio.org/centos/kamailio.repo yum install --disablerepo=kamailio --enablerepo=kamailio-5.2.7 kamailio ``` For `5.3` branch please wait `5.3.5` release. For proper packaging on `CentOS 6` required commit fc28a14203f59c62d2c745ffd294a5091bf8cb26
Having additional daily or weekly builds is great, but there should be 5.2 and 5.3 branches that only contain the actual releases
@henningw are you suggest rename weekly url http://rpm.kamailio.org/centos/8/5.2/5.2/ to http://rpm.kamailio.org/centos/8/5.2/weekly/.
Hello Sergey, Why we have to enable repo for the 5.2.7 branch ? Is it possible to have a 5.2 & 5.3 repo's with the last release like before?
Now URL like `/centos/8/5.2/5.2` used for weekly build. We must relocate this builds to other url. Then we can use this url for latest release.
Let hear @henningw opinion.
Still Kamailio 5.2.5 in Centos 6 weekly packages :(
@nicoonline please try this commands
yum clean all yum -y install yum-utils yum-config-manager --add-repo http://rpm.kamailio.org/centos/kamailio.repo yum install --disablerepo=kamailio --enablerepo=kamailio-5.2.7 kamailio
For `5.3` branch please wait `5.3.5` release. For proper packaging on `CentOS 6` required commit [fc28a14](https://github.com/kamailio/kamailio/commit/fc28a14203f59c62d2c745ffd294a509...)
Not working anymore. 5.2.7 rep not found.
Thanks @nicoonline I found issue and fixed. Please try again.
Also I pointed `5.2/5.2` to latest `5.2` branch release. And pointed `5.3/5.3` to latest `5.3` branch release.
``` yum clean all yum -y install yum-utils yum-config-manager --add-repo http://rpm.kamailio.org/centos/kamailio.repo yum install --disablerepo=kamailio --enablerepo=kamailio-5.2 kamailio ```
Hello Sergey,
Yes seems fixed but still an error on the last repo file.
http://rpm.kamailio.org/centos/6/5.2/weekly/x86_64/repodata/repomd.xml: [Errno 14] PYCURL ERROR 22 - "The requested URL returned error: 404 Not Found" Trying other mirror. To address this issue please refer to the below wiki article
De : sergey-safarov notifications@github.com Envoyé : dimanche 24 mai 2020 14:36 À : kamailio/kamailio kamailio@noreply.github.com Cc : Nicolas Breuer Nicolas.Breuer@belcenter.biz; Mention mention@noreply.github.com Objet : Re: [kamailio/kamailio] RPM repos at https://rpm.kamailio.org (#2084)
Thanks @nicoonlinehttps://github.com/nicoonline I found issue and fixed. Please try again.
Also I pointed 5.2/5.2 to latest 5.2 branch release. And pointed 5.3/5.3 to latest 5.3 branch release.
yum clean all
yum -y install yum-utils
yum-config-manager --add-repo http://rpm.kamailio.org/centos/kamailio.repo
yum install --disablerepo=kamailio --enablerepo=kamailio-5.2 kamailio
— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://github.com/kamailio/kamailio/issues/2084#issuecomment-633224733, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AAQEM64LPTOHQKXOSEAFPPDRTEIEDANCNFSM4I3WWSHQ.
yes, weekly repos not published. Required publishing scripts refactoring.
@sergey-safarov Thanks for the fixes! So I understood correctly, the 5.2/5.2 and 5.3/5.3 point now to the latest stable releases of the respective branches, great. About the weekly repositories, yes, they could be named indeed "weekly" in the respective branches, e.g. 5.2/weekly.
The rpm repos should be available for quite some time. Closing. For problems, open new issues.
Closed #2084.