diff --git a/.gitlab-ci-files/deploy.yml b/.gitlab-ci-files/deploy.yml index c6bdd4c..80bd97f 100644 --- a/.gitlab-ci-files/deploy.yml +++ b/.gitlab-ci-files/deploy.yml @@ -22,26 +22,24 @@ debian12-deploy: - debian12-package - debian12-test +debian13-deploy: + extends: .deploy + script: + - ./deploy_packages.sh debian trixie + needs: + - debian13-package + - debian13-test + remi-rocky8-deploy: extends: .deploy - rules: - - changes: - - .gitlab-ci.yml + #rules: + #- changes: + # - .gitlab-ci.yml script: - ./deploy_packages.sh rockylinux 8 needs: - remi-rocky8-package -remi-rocky9-deploy: - extends: .deploy - rules: - - changes: - - .gitlab-ci.yml - script: - - ./deploy_packages.sh rockylinux 9 - needs: - - remi-rocky9-package - .deploy: stage: deploy tags: ["docker"] diff --git a/.gitlab-ci-files/package.yml b/.gitlab-ci-files/package.yml index bdcedfc..ba2e620 100644 --- a/.gitlab-ci-files/package.yml +++ b/.gitlab-ci-files/package.yml @@ -4,12 +4,6 @@ rocky8-package: extends: .package image: gitlab.linphone.org:4567/bc/public/docker/rocky8-php:$ROCKY_8_IMAGE_VERSION script: - # We install this dependency only for the pipeline - - dnf -y install https://rpms.remirepo.net/enterprise/remi-release-8.rpm - - dnf -y module reset php - - dnf -y module enable php:remi-8.2 - - dnf -y update php\* - - dnf -y install php-sodium - make package-el8 rocky9-package: @@ -18,12 +12,6 @@ rocky9-package: extends: .package image: gitlab.linphone.org:4567/bc/public/docker/rocky9-php:$ROCKY_9_IMAGE_VERSION script: - # We install this dependency only for the pipeline - - dnf -y install https://rpms.remirepo.net/enterprise/remi-release-9.rpm - - dnf -y module reset php - - dnf -y module enable php:remi-8.2 - - dnf -y update php\* - - dnf -y install php-sodium - make package-el9 debian12-package: @@ -32,6 +20,12 @@ debian12-package: extends: .debian_package image: gitlab.linphone.org:4567/bc/public/docker/debian12-php:$DEBIAN_12_IMAGE_VERSION +debian13-package: + needs: + - prepare-package + extends: .debian_package + image: gitlab.linphone.org:4567/bc/public/docker/debian13-php:$DEBIAN_13_IMAGE_VERSION + .debian_package: extends: .package script: @@ -46,21 +40,12 @@ remi-rocky8-package: - dnf -y module reset redis - dnf -y install @redis:6 -remi-rocky9-package: - image: gitlab.linphone.org:4567/bc/public/docker/rocky9-php:$ROCKY_9_IMAGE_VERSION - extends: .remi-rocky-package - variables: - ROCKY_RELEASE: 9 - before_script: - - dnf -y module reset redis - - dnf -y install @redis:7 - .remi-rocky-package: extends: .package rules: - if: $CI_COMMIT_REF_NAME =~ /^release/ || $CI_COMMIT_REF_NAME == "master" - - changes: - - .gitlab-ci.yml + #- changes: + # - .gitlab-ci.yml script: # Remi - mkdir -p $CI_PROJECT_DIR/build diff --git a/.gitlab-ci-files/test.yml b/.gitlab-ci-files/test.yml index e9b34b9..94de4b1 100644 --- a/.gitlab-ci-files/test.yml +++ b/.gitlab-ci-files/test.yml @@ -15,7 +15,7 @@ rocky9-test: script: - yum -y localinstall build/*.rpm - cd /opt/belledonne-communications/share/flexisip-account-manager/flexiapi - - composer install --ignore-platform-req=ext-sodium # Rocky 8 use the external library + - composer install --ignore-platform-req=ext-sodium # Rocky 8 and 9 use the external library - vendor/bin/phpcs - vendor/bin/phpmd . ansi phpmd.xml - php artisan key:generate @@ -27,10 +27,16 @@ debian12-test: needs: - debian12-package +debian13-test: + extends: .debian-test + image: gitlab.linphone.org:4567/bc/public/docker/debian13-php:$DEBIAN_13_IMAGE_VERSION + needs: + - debian13-package + .debian-test: extends: .test script: - - apt update + #- apt update - apt install -y ./build/*.deb - cd /opt/belledonne-communications/share/flexisip-account-manager/flexiapi - composer install diff --git a/.gitlab-ci.yml b/.gitlab-ci.yml index 5d2df3c..9b774d0 100644 --- a/.gitlab-ci.yml +++ b/.gitlab-ci.yml @@ -1,7 +1,8 @@ variables: ROCKY_8_IMAGE_VERSION: 20250702_171834_update_rocky8_dockerhub ROCKY_9_IMAGE_VERSION: 20250702_171314_update_rocky9_dockerhub - DEBIAN_12_IMAGE_VERSION: 20241204_162237_update_download_linphone_org + DEBIAN_12_IMAGE_VERSION: 20250908_154742_refresh_dependencies + DEBIAN_13_IMAGE_VERSION: 20250908_114350_debian13_first_push PHP_REDIS_REMI_VERSION: php-pecl-redis6-6.1.0-1 PHP_IGBINARY_REMI_VERSION: php-pecl-igbinary-3.2.16-2 PHP_MSGPACK_REMI_VERSION: php-pecl-msgpack-2.2.0-3 diff --git a/CHANGELOG.md b/CHANGELOG.md index 926208d..a147cf2 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -11,6 +11,7 @@ v2.1 - Fix FLEXIAPI-378 Return a valid JSON containing the vCard and not the raw vCard in VcardsStorage controller - Fix FLEXIAPI-377 Don't reset authInfoIndex in the Provisioning - Fix FLEXIAPI-380 Fix CardDav documentation +- Fix FLEXIAPI-381 Remove Remi in the Rocky9 pipeline v2.0 ---- diff --git a/INSTALL.md b/INSTALL.md index 5042d57..8a91650 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -24,6 +24,14 @@ FlexiAPI is packaged for Debian and RedHat, you can setup those repositories usi The `artisan` script is in the root directory of where the application is setup, with packages its often `/opt/belledonne-communications/share/flexisip-account-manager/flexiapi/`. +⚠️ If you want to enable JWT authentication the php-sodium dependency is required, on Rockylinux it is only available in the Remi repository in some cases. You can install it with the following step: + + dnf -y install https://rpms.remirepo.net/enterprise/remi-release-{rockylinux-release}.rpm + dnf -y module reset php + dnf -y module enable php:remi-{php-version} + dnf -y update php\* + dnf -y install php-sodium + # 2. Web server configuration The package will deploy a `flexisip-account-manager.conf` file in the apache2 configuration directory. diff --git a/Makefile b/Makefile index e2b9702..9397b10 100644 --- a/Makefile +++ b/Makefile @@ -50,7 +50,7 @@ package-common: cp -R cron/ $(OUTPUT_DIR)/flexisip-account-manager/ cp flexisip-account-manager.spec.run $(OUTPUT_DIR)/rpmbuild/SPECS/flexisip-account-manager.spec - tar cvf flexisip-account-manager.tar.gz -C $(OUTPUT_DIR) flexisip-account-manager + tar cf flexisip-account-manager.tar.gz -C $(OUTPUT_DIR) flexisip-account-manager mv flexisip-account-manager.tar.gz $(OUTPUT_DIR)/rpmbuild/SOURCES/flexisip-account-manager.tar.gz package-end-common: @@ -59,13 +59,13 @@ package-end-common: rpm-el8-only: mkdir -p build - sed -i 's/Requires:.*/Requires: php >= 8.1, php-gd, php-pdo, php-redis, php-mysqlnd, php-mbstring/g' $(OUTPUT_DIR)/rpmbuild/SPECS/flexisip-account-manager.spec - rpmbuild -v -bb --define 'dist .el8' --define '_topdir $(OUTPUT_DIR)/rpmbuild' --define "_rpmdir $(OUTPUT_DIR)/rpmbuild" $(OUTPUT_DIR)/rpmbuild/SPECS/flexisip-account-manager.spec + sed -i 's/Requires:.*/Requires: php >= 8.2, php-gd, php-pdo, php-redis, php-mysqlnd, php-mbstring/g' $(OUTPUT_DIR)/rpmbuild/SPECS/flexisip-account-manager.spec + rpmbuild --quiet -bb --define 'dist .el8' --define '_topdir $(OUTPUT_DIR)/rpmbuild' --define "_rpmdir $(OUTPUT_DIR)/rpmbuild" $(OUTPUT_DIR)/rpmbuild/SPECS/flexisip-account-manager.spec @echo "📦✅ RPM el8 Package Created" rpm-el9-only: mkdir -p build - rpmbuild -v -bb --define 'dist .el9' --define '_topdir $(OUTPUT_DIR)/rpmbuild' --define "_rpmdir $(OUTPUT_DIR)/rpmbuild" $(OUTPUT_DIR)/rpmbuild/SPECS/flexisip-account-manager.spec + rpmbuild --quiet -bb --define 'dist .el9' --define '_topdir $(OUTPUT_DIR)/rpmbuild' --define "_rpmdir $(OUTPUT_DIR)/rpmbuild" $(OUTPUT_DIR)/rpmbuild/SPECS/flexisip-account-manager.spec @echo "📦✅ RPM el9 Package Created" rpm-cleanup: @@ -76,11 +76,11 @@ rpm-cleanup: deb-only: mkdir -p build sed -i 's/posttrans/post/g' $(OUTPUT_DIR)/rpmbuild/SPECS/flexisip-account-manager.spec - rpmbuild -v -bb --with deb --define '_topdir $(OUTPUT_DIR)/rpmbuild' --define "_rpmfilename tmp.rpm" --define "_rpmdir $(OUTPUT_DIR)/rpmbuild" $(OUTPUT_DIR)/rpmbuild/SPECS/flexisip-account-manager.spec + rpmbuild --quiet -bb --with deb --define '_topdir $(OUTPUT_DIR)/rpmbuild' --define "_rpmfilename tmp.rpm" --define "_rpmdir $(OUTPUT_DIR)/rpmbuild" $(OUTPUT_DIR)/rpmbuild/SPECS/flexisip-account-manager.spec fakeroot alien -g -k --scripts $(OUTPUT_DIR)/rpmbuild/tmp.rpm rm -r $(OUTPUT_DIR)/rpmbuild rm -rf $(OUTPUT_DIR)/*.orig - sed -i 's/Depends:.*/Depends: $${shlibs:Depends}, php (>= 8.1), php-xml, php-pdo, php-gd, php-redis, php-mysql, php-mbstring, php-sqlite3/g' $(OUTPUT_DIR)/bc-flexisip-account-manager*/debian/control + sed -i 's/Depends:.*/Depends: $${shlibs:Depends}, php (>= 8.2), php-xml, php-pdo, php-gd, php-redis, php-mysql, php-mbstring, php-sqlite3/g' $(OUTPUT_DIR)/bc-flexisip-account-manager*/debian/control cd `ls -rt $(OUTPUT_DIR) | tail -1` && dpkg-buildpackage --no-sign @echo "📦✅ DEB Package Created" diff --git a/flexisip-account-manager.spec b/flexisip-account-manager.spec index d394297..b3ae4fa 100644 --- a/flexisip-account-manager.spec +++ b/flexisip-account-manager.spec @@ -34,11 +34,13 @@ License: GPL URL: http://www.linphone.org Source0: flexisip-account-manager.tar.gz -Requires: php >= 8.1, php-gd, php-pdo, php-redis, php-mysqlnd, php-mbstring +Requires: php >= 8.2, php-gd, php-pdo, php-redis, php-mysqlnd, php-mbstring %description PHP server for Linphone and Flexisip providing module for account creation. +%global debug_package %{nil} + %prep %setup -n flexisip-account-manager