Asterisk Maintenance

Jonas Smedegaard jonas at jones.dk
Sun Jan 12 23:28:16 GMT 2025


Hi Martin,

Quoting Martin Rampersad via Pkg-voip-maintainers (2025-01-10 03:36:12)
> There is a new version of asterisk available on https://downloads.asterisk.org/pub/telephony/asterisk/
> 
> I am interested in assisting with maintenance, if someone is planning to bump the
> unstable version to this latest one, I would be very interested to learn how this is
> done. I believe there are some simple steps like updating the upstream branch and
> putting in a change log entry, but there are some steps I don't fully understand, like
> updating the copyright details and otherwise confirming the new release complies
> with the Policy.
> 
> I have forked the repo in salsa under my user account, and I might try to perform
> the steps as documented in the Team VoIP wiki, and I would appreciate some
> feedback. Please let me know.

I have now updated asterisk, and wrote down exactly the commands used.

First a command I did (the equivalent of) previously, needed only once:

```
gbp clone vcsgit:asterisk
```

Also, for the quilt commands below, you want to setup this:
https://wiki.debian.org/UsingQuilt#Using_quilt_with_Debian_source_packages

Also, for the local* commands (if you are not using one of the other
many ways to build packages) you will want a few of my /usr/local/bin
scripts from https://source.jones.dk/bin

With the above, here's what I did:

```
gbp import-orig --uscan # import newest upstream release
tig --all # examine import and get a sense of upstream changes
quilt push && quilt refresh # repeat until all patches are applied
quilt pop -a # ...and then unroll the patches again
ls -la .pc # old habit: 3 files there means all patches are unapplied
rm -rf .pc # ...which means we can cleanup as git does not like that dir
git status # check if patch refreshing caused unfuzzing needing a commit
debian/copyright-check # scan sources for copyright/licensing changes
git diff # see if we need to update debian/copyright
gbp dch -a debian && dch -r # generate and refine new changelog section
git status # check that only changelog and maybe copyright is changed
git commit -m "update changelog and copyright hints" -a
localcowbuilder-update sid # update local buil environment
localgitcowdebuild sid # build the package
```

When built, I always keep the older build around and compare contents:

```
debdiff -wt asterisk_22.1.{0,1}*_amd64.changes | less -R
```

Since changes look sensible, and the upstream source code changes were
minimal, I sign and release the package:

```
debsign asterisk_22.1.1*_source.changes
dput asterisk_22.1.1*_source.changes
```

...and since that went well, I sign and push the git repo as well:

```
gbp tag && gbp push
```

That's it.

Now, if you want to try replicate at least the first half of the above,
then I recommend that after you've cloned the repo you configure it to
temporarily not have its remote, to not accidentally push your
experimental mess to the shared repo.

If a `gbp import-orig` goes wrong or you just (like now) want to dial
back changes for other reasons, then beware that it has touched 3
branches and added a tag, which can be reverted like this:

```
tig --all # get an overview of involved branches and tags
git checkout upstream/latest
git reset --hard upstream/22.0.0_dfsg+_cs6.14.60671435
git checkout pristine-tar
git reset --hard HEAD^ # repeat until at something asterisk_22.1.0*
git checkout debian/latest
git reset --hard debian/1%20.0.1_dfsg+_cs6.12.40431414-1
git tag -d debian/1%22.1.1_dfsg+_cs6.14.60671435-1
git tag -d upstream/22.1.1_dfsg+_cs6.14.60671435
tig --all # check that all is gone as intended
```

(I commonly use `git reset --hard HEAD^` a lot, because that's easier
to fetch from my shell history than copy-pasting the specific tags).

Hope that helps.

You might also find help at https://wiki.debian.org/PackagingWithGit
and some of the resources linked from there.

 - Jonas

-- 
 * Jonas Smedegaard - idealist & Internet-arkitekt
 * Tlf.: +45 40843136  Website: http://dr.jones.dk/
 * Sponsorship: https://ko-fi.com/drjones

 [x] quote me freely  [ ] ask before reusing  [ ] keep private
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 931 bytes
Desc: signature
URL: <http://alioth-lists.debian.net/pipermail/pkg-voip-maintainers/attachments/20250113/f5256d42/attachment-0001.sig>


More information about the Pkg-voip-maintainers mailing list