Skip to content

wazo-platform/asterisk-debug

Folders and files

NameName
Last commit message
Last commit date

Latest commit

fdc5b19 · Mar 20, 2025
Jan 17, 2025
Mar 20, 2025
Jun 25, 2024
Jul 26, 2024
Dec 2, 2019
May 23, 2019
Apr 13, 2021
Apr 13, 2023
Dec 20, 2023
Jun 14, 2017
Jul 18, 2023
Jun 7, 2024
Oct 7, 2024
Jul 18, 2023

Repository files navigation

asterisk

This repository contains the packaging information and patches for Asterisk.

To update the version of Asterisk:

  • Update the version number in debian/changelog by adding a new section
  • Update all the patches
    • Download the upstream tarball, extract it and cd into the directory
VERSION=$(dpkg-parsechangelog | awk -F': ' '{ if($1 == "Version") { print $NF } }' | sed -ne 's/^\(\([0-9]\+\):\)\?\(.*\)-.*/\3/p')
grep '^ASTERISK_URL_DOWNLOAD' debian/rules | awk -F' = ' '{ print $NF }' | sed -n "s/\${VER}/$VERSION/p" | xargs wget
tar -xf asterisk-$VERSION.tar.gz && cd asterisk-$VERSION
  • Create a symbolic link to debian/patches
ln -s ../debian/patches patches
  • Push the topmost patch with quilt push
  • Resolve the conflicts if necessary
  • Refresh the patch with quilt refresh (even if no conflicts)
  • Repeat the push-resolve-refresh step until all patches have been refreshed
  • Commit and push

To test that it compiles and builds fine (example for 13.10.0 on a remote wazo):

rsync -v -rtlp "asterisk-${VERSION}.tar.gz" debian wazo:ast-rebuild
ssh wazo

On the remote Wazo

cd ast-rebuild
tar xf asterisk-*.tar.gz
rename 's/asterisk-(.*).tar.gz/asterisk_$1.orig.tar.gz/' asterisk-*.tar.gz
cd asterisk-*
mv ../debian .
apt install devscripts
mk-build-deps -i
rm asterisk-build-deps_*.deb
dpkg-buildpackage -us -uc
dpkg -i ../asterisk_*.deb

asterisk-vanilla and asterisk-debug

By pushing commit on master, a series of actions will be triggered and other repositories will be updated automatically. There are 2 repositories that are built automatically:

The asterisk Jenkins job will trigger asterisk-to-asterisk-vanilla and asterisk-to-asterisk-debug. These jobs will apply vanilla.patch and debug.patch on the master branch of Asterisk. Then, it makes a diff and push it on asterisk-vanilla and asterisk-debug repositories.

Troubleshooting

When the patch or the patch context change, it cannot be applied automatically and it needs to be updated manually.

How to do it:

  • cp ../asterisk-vanilla/vanilla.patch .
  • git apply vanilla.patch
  • If the apply fail
    • update vanilla.patch to fix it
    • Or if there are too much context changes, manually do all the changes and regenerate patch
  • cp vanilla.patch ../asterisk-vanilla/
  • cd ../asterisk-vanilla
  • commit and push the updated vanilla.patch
  • Do the same thing for asterisk-debug with debug.patch
  • restart failed jobs or bump Asterisk version to force rebuild