Path: csiph.com!weretis.net!feeder8.news.weretis.net!fu-berlin.de!news.servidellagleba.it!bofh.it!news.nic.it!robomod From: Soren Stoutner Newsgroups: linux.debian.maint.python,linux.debian.devel.mentors Subject: Re: Guidence regarding package testing and patching Date: Fri, 05 Dec 2025 19:50:02 +0100 Message-ID: References: X-Original-To: debian-python@lists.debian.org, debian-mentors@lists.debian.org X-Mailbox-Line: From debian-python-request@lists.debian.org Fri Dec 5 18:40:07 2025 Old-Return-Path: X-Amavis-Spam-Status: No, score=-114.51 tagged_above=-10000 required=5.3 tests=[BAYES_00=-2, DKIMWL_WL_HIGH=-0.001, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, LDO_WHITELIST=-5, PGPSIGNATURE=-5, RCVD_IN_DNSWL_MED=-2.3, UNPARSEABLE_RELAY=0.001, USER_IN_DKIM_WELCOMELIST=-0.01, USER_IN_DKIM_WHITELIST=-100] autolearn=ham autolearn_force=no Organization: Debian Face: iVBORw0KGgoAAAANSUhEUgAAADAAAAAwBAMAAAClLOS0AAAAFVBMVEWIg4F7bGiws7ReTkyy kYoXFRrd6/4yMA0PAAACaklEQVQ4y22TwXabMBBFJaPuNZGSNZZp1uhM6BpkJeu4VFk3bsL/f0Lf CHC6qHyOgbl68zTDoIwaVfh3tUopTUGpbFToDiFnY9IY2oMAZYMiS4R9SfbSXepSS5EcFAa/muIU aRj8mkoUqrEraFzhYegBmqig0LyCIyM8DAwPlpBqmJVYaD2UeWZ3abVjsqKIojg+hY4omsyIcNSi qIBM6jJWOveS6kvBeVvHJ+VYzJUW88RmA12UiBx3HEcUMRuzIZI6tBQovTrPclNB3AuUXoXvs0XY C3B2baJpW4Dn2ZpVMInCirkxoyhM1qpK5nFrO65QvCrCqql2DyPgvm94iMQz5/PmISuEotxQGMD5 M5G1N9CjXJ5HQH96BZG2xx6AzejYZccxT4Re3Zr4bPKkCcGcz5Or3dVEABkAUY/znnVcQVVkrXVU vomoEJFe7x4nQuaZmZELL6qnXZGIB5YV/Q2IogtSmyNybEcBX2+QCLOAQYm+gmoORUrYzV7dc6R2 T1WPm45oVEQqsjtoIovHyTmcyxMhVVxTqapomZyLlAmTKC9AmjgamXXGZo+epNrXO3wGGiPRHbKL FnMy2RRgRb1gzFXXGjhICp8wqaTtdtyQH6nWTfkatJvJJoUCbOjSC7wR9/naEVognxrOFdLh7Ugx QpA/0QT4pRV0+u2dqsXD5y9EBDjVAJS3ZZLxmZblgmsU8x7mBeCKg48Py7WU2IiH1epbEbC8K9Ms y0cpcySVUcdQVrBY+rEsv+XpYgFKXT8B3v2yATxv8fKK2EfC358tsIMLYqfD401xA0j1EY4P/wWf IbhlOWyBv4OQsywBM8MAAAAAAElFTkSuQmCC MIME-Version: 1.0 Content-Type: multipart/signed; boundary="nextPart3560791.AfoALyfYfT"; micalg="pgp-sha512"; protocol="application/pgp-signature" X-Debian-User: soren X-Mailing-List: archive/latest/23478 List-ID: List-URL: List-Archive: https://lists.debian.org/msgid-search/103823579.97WbxFKrFQ@soren-desktop Approved: robomod@news.nic.it Lines: 186 Sender: robomod@news.nic.it X-Original-Cc: Jai kadam X-Original-Date: Fri, 05 Dec 2025 11:39:41 -0700 X-Original-Message-ID: <103823579.97WbxFKrFQ@soren-desktop> X-Original-References: <914e4295e638fb478a4d450df243fb876f72c22d.camel@gmail.com> <16652957.1uztYCDPK9@soren-desktop> Xref: csiph.com linux.debian.maint.python:17244 linux.debian.devel.mentors:48191 --nextPart3560791.AfoALyfYfT Content-Transfer-Encoding: quoted-printable Content-Type: text/plain; charset="utf-8"; protected-headers="v1" From: Soren Stoutner To: debian-python@lists.debian.org, debian-mentors@lists.debian.org Cc: Jai kadam Subject: Re: Guidence regarding package testing and patching Date: Fri, 05 Dec 2025 11:39:41 -0700 Message-ID: <103823579.97WbxFKrFQ@soren-desktop> Organization: Debian MIME-Version: 1.0 On Friday, December 5, 2025 11:28:38=E2=80=AFAM Mountain Standard Time Jai = kadam=20 wrote: > On Fri, 5 Dec, 2025, 11:48=E2=80=AFpm Soren Stoutner, = wrote: > > Resending as I realized I had accidentally dropped the debian-python li= st. > >=20 > > On Friday, December 5, 2025 11:07:44=E2=80=AFAM Mountain Standard Time = you wrote: > > > On Fri, 5 Dec, 2025, 10:59=E2=80=AFpm Soren Stoutner, wrote: > > > > To add a bit more information about the behavior of "gbp push=E2=80= =9D and=20 =E2=80=9Cgit > > > > push=E2=80=9D > > > > and when to use them and mix their uses: > > > >=20 > > > > 1. The key to understanding this is that =E2=80=9Cgbp push=E2=80= =9D will push the > > > > following > > > > things: > > > >=20 > > > > a. The pristine-tar branch (if in use). > > > > b. The upstream branch. > > > > c. Any new tags on the upstream branch. > > > > d. The debian branch, but only if the changelog does not target > > > > UNRELEASED. > > > > e. Check for a new tag in the debian branch for the latest changel= og > > > > entry > > > > and push it, but only if the changelog does not target UNRELEASED. > > > >=20 > > > > 2. What we want to avoid is pushing a debian/X.Y-Z tag on the debi= an > > > > branch > > > > before X.Y-Z has actually been accepted into Debian. > > > >=20 > > > > 3. The following workflow accomplishes this: > > > >=20 > > > > a. gbp import-orig --uscan (this updates pristine-tar if used, the > > > > upstream > > > > branch, the debian branch, and creates a new upstream tag). > > > > b. dch (adjust the changelog version number accordingly, but leave > >=20 > > the > >=20 > > > > target as UNRELEASED). > > > > c. gbp buildpackage (make sure the package builds). > > > > d. . > > > > e. gbp push (this pushes pristine-tar if in use, the upstream bran= ch, > >=20 > > and > >=20 > > > > the > > > > new upstream branch tag, but not the debian branch because the > >=20 > > changelog > >=20 > > > > targets UNRELEASED). > > > > f. git push (this pushes the debian branch). > > >=20 > > > Noted! :) > > >=20 > > > > 4. When ready to release: > > > >=20 > > > > a. dch -r (this changes the target from UNRELEASED to unstable, ed= it > >=20 > > to > >=20 > > > > experimental if desired). > > >=20 > > > This is same as dch --release rigth ? Si it also adds the commit=20 messages > >=20 > > Yes, =E2=80=9Cdch -r=E2=80=9D and =E2=80=9Cdch --release=E2=80=9D are t= he same. > >=20 > > > b. gbp buildpackage (build the package with the final changelog). > > >=20 > > > > c. Upload the package. > > > > d. gbp tag (this creates the debian/X.Y-Z tag, typically one only= =20 does > > > > this > > > > after the package has been accepted into Debian). > > > > e. gbp push (this pushes the debian/X.Y-Z tag). > > >=20 > > > That is use gbp push only once at the very end , right? > >=20 > > No, you also use =E2=80=9Cgbp push=E2=80=9D in step 3.e above. Otherwi= se, you need to use > > multiple git commands to do the same things, which would be to push the > > pristine-tar branch (if in use), the upstream branch, and the upstream > > tag. > > If these things are not done at this step, other people who clone the > > repository cannot build the changes you have just made. When reviewing > > packages that other people have submitted to mentors I do the following. > >=20 > > 1. gbp clone (if I haven=E2=80=99t already cloned the repository). > > 2. gbp pull (this pulls all three branches and the tags, so that I can > > review > > the most recent changes). > > 3. gbp buildpackage. > >=20 > > If you don=E2=80=99t get step 3.e and 3.f right, "gbp buildpacakge" wil= l fail for > > me. >=20 > Oh i see cause debian-branch will have the previous version of code cause > gbp never uploads it while in unreleased state and we only do dch -r when > we get a green flag from a mentor or maintianer of the package which then > sets it to unstable and then when we run gbp tag and gbp push all work is > done. >=20 > Is my understanding rigth ? Yes, you are correct. If we skip =E2=80=9Cgbp push=E2=80=9D at step 3.e, t= he repository will=20 not have the latest version of the pristine-tar branch (if used), the upstr= eam=20 branch, and the upstream tag. If we skip =E2=80=9Cgit push=E2=80=9D at ste= p 3.f, the=20 repository will not have the latest version of the debian branch. That is = why=20 both are needed. It is confusing and not necessarily obvious from the documentation. But, o= nce=20 you understand things, it isn=E2=80=99t too difficult of a workflow to foll= ow. To round out this discussion, if you accidentally run =E2=80=9Cdch -r=E2=80= =9D before things=20 are ready to release and then run =E2=80=9Cgbp push=E2=80=9D, you will end = up with a debian/ X.Y-Z tag in the repository that is not pointing to the code that actually = was=20 released. To fix this, delete the local debian/X.Y-Z tag, then delete the= =20 same tag on Salsa, then regenerate the tag using =E2=80=9Cgbp tag=E2=80=9D.= Then push the tag=20 using either =E2=80=9Cgbp push=E2=80=9D or =E2=80=9Cgit push --tags=E2=80= =9D (I have done this enough times to=20 know the process by memory). =2D-=20 Soren Stoutner soren@debian.org --nextPart3560791.AfoALyfYfT Content-Type: application/pgp-signature; name="signature.asc" Content-Description: This is a digitally signed message part. Content-Transfer-Encoding: 7Bit -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEJKVN2yNUZnlcqOI+wufLJ66wtgMFAmkzJu0ACgkQwufLJ66w tgM7Hg//aDqOauuLMckvRj3CTM0az2BgsP0Y+e51ImykhUKv1uOlN21Wn+MKL3lM 1flFxcJ/8CBq8lmII91x9yrVuRKknFODT7PwOgdBNz+qnX+hyptG2VqRonJOkMab o1M3XvrDb+H5w9oIUP7kbD8epzm7ioDo5RFE/gdigO6BZ4O3+4AxpV9bwRWwVzF3 f323gIxqNkk7ged/wX1Zkk9r3Z8crPg0dREWXCSln2zlB3qYRPKSCSn7naXNSRHv 7R05EBojTwKlSqTQOYYavClzHZ/9hz5OS79kxY7iU5h4G+e61k/A6BJ4GYhBpEvm 7Wu6FY2Ui3hnJFgY5K3k7fHENNgym6VP2NmeL5+61n4ed+FxECbEBtROZp21Ehkh aXTspbpEqi1imYTTQwBNuzhhj7trWW5tdIFrhyOFYb+/fmC4IpOal9j4ndf3DQf8 cZ41w7tP7Uo9oGrudYzaGvTY3vOSz0VyXE0kDxYuFKpMgQR+mf4SxxoICwdGXfa1 rbV7M9NVJRFxBGRLHtAvEBVEWEcAOWOI5qoenx6werVE8xmYpKTFEpYFdrj2msPk y2kpbbIcWX5mdCD9hiItOCnGJ6XEWdt3Y+oHIGInye5jNAozpPP/nn82EoRRNGnz JsSmnM3hRggIgiHntms1Kxuz4XA4RwlnFTdtrHTUp7y1b9ODqJo= =uHVW -----END PGP SIGNATURE----- --nextPart3560791.AfoALyfYfT--