Hi Ian,

Am Tue, May 05, 2026 at 10:45:04PM +0100 schrieb Ian Jackson:
> Hi, Andreas.  I've been working on integrating the work from your
> branch in a way I'm happy with.  This is now complete and I have
> uploaded the package.

Cool.  Thanks a lot.
 
> 1. Approach to adopting Salsa CI
> 
> I see you configures Salsa to use, directly, the pipeline from
>   recipes/debian.yml@salsa-ci-team/pipeline
> This is contrary to the recommendation from the Salsa CI Team.  They
> suggest creating debian/salsa-ci.yml with some formulaic contents:
>   
> https://salsa.debian.org/salsa-ci-team/pipeline/#enable-feature-cicd-in-settings
> 
> I agree with this recommendation.  It is better practice than directly
> configuring the Salsa CI pipeline.

I also agree with this and inside the teams I can influence the
policy its even scripted to make sure every package is configured
like this[1]
 
> One reason is that if the pipeline configuration should need to be
> adjusted this can then be done with normal commits to
> debian/salsa-ci.yml, and does not need configuration changes on Salsa
> (and therefore does not need coordination of such configuraion changes
> which the in-tree pipeline file, possibly in many outstanding
> branches).

I absolutely get this point.  It just turned out that it is less
"invasive" to other teams / maintainers not to add the
debian/salsa-ci.yml file.  In your case this is not the case but
its to complex to know what people think in advance.  I could
for sure just follow the recommendation of the Salsa CI Team but
I decided what I consider the "second best option" and leave it
to the maintainer.
 
> 2. DEB_BUILD_MAINT_OPTIONS=hardening=+all
> 
> You added this to d/rules.
> 
> I could find no documentation in Debian Policy to support this change.
> I found documentation of the behaviour in dpkg-buildflags.  I think
> you may be following the advice in
>   https://wiki.debian.org/HardeningWalkthrough
> which talks says things like "Since Debian 7 ("wheezy").
> 
> It is unclear to me why we would want -z now, and PIE executables.
> 
> Are you sure this information is up to date?  If we want to make a
> change to the usual compiler flags, I doubt that making this change to
> every package, piecemeal, is a sensible way to go about it.  Policy
> should be updated.  We have transition arrangements to deal with build
> breakages, or this could be done by dh in newer compat level, or
> something.

I absolutely agree that its a nuisance to add this manually.
The thing is that for nearly all packages you would need

blhc:
 allow_failure: true

in debian/salsa-ci.yml to pass Salsa CI.  As a consequence of my
decision to not use salsa-ci.yml and by considering passing all tests a
sensible goal I added the hardeing options.   I personally understood
the Wiki page in a way that we want this and have not seen this
questionable.  I've seen *many* packages where just adding this to
d/rules did not helped and extra patches to the build system were
needed.  Since I considered it important that the build system is
supporting all options we set in d/rules I've seen this as some valid
test to confirm that the build system is correct (not every package
was featuring the according bug about not supporting all build flags).

> 3. debian/.gitignore.
> 
> You removed this.  Why?  This file is useful.

Sorry - I should probably not have removed it.
 
> 4. watch file doesn't seem to work.
> 
> I cherry-picked that commit from your branch but it caused this error
>    uscan warn: In debian/watch no matching files for version
>    0.2017-08-30.3c40fd3 in watch line
> (visible in Salsa CI, for example). 
> 
> Perhaps this is expected in situations where the upstream "publish"
> only one version at a time.  But in that case this combination of
> Salsa CI job and watch file is broken, because upstream changes will
> cause our CI to start failing.
> 
> I don't think the watch file is very useful really since Simon (the
> upstream here) doesn't generally make releases very much, and we
> probably don't want to release to Debian sid every time he does a
> push.

The watch file worked for the proposed new version (see below).  The new
Salsa CI test seems to be broken and fails in all cases.  I prefer to
have a watch file even if you are very close to the maintainer or are
the maintainer yourself and know what to do.  You might even consider
the following watch file:

  Version: 5
  Untrackable: Deactivated for REASON
  
  Source: https://www.chiark.greenend.org.uk/~sgtatham/ipbt/
  Matching-Pattern: .*/ipbt-@ANY_VERSION@@ARCHIVE_EXT@


> 5. DEP-5 copyright file
> 
> I think this is makework.  ISTM that the machine-readable copyright
> files have very little benefit to Debian and to the software freedom
> of our users.  Using the current copyright file makes it easy to
> update, because it's simply a case of copying in a new upstream
> LICENCE as needed.

I disagree here.  My workflow includes running lrc[2].  This raises a
signal even if I overlook some new license.  Automating things where
humans might fail makes perfectly sense to me.
 
> 6. Date-based version number
> 
> You changed the version number from 0.<date> to <date>.
> 
> Date-based version numbers should start with 0. so that if upstream
> adopts a proper release scheme in future, we don't need an epoch.  I
> have filed a bug suggestion this should be mentioned in policy,
> #1135785.  (There's discussion there, and it turns out that my
> approach wasn't the best one.)
> 
> I was surprised to find that you basically overrode this
> decision of mine without giving any kind of rationale.  Especially
> since once we've uploaded a with a version starting with a year,
> there's no going back.
> 
> Also, when choosing the version number you should choose the commit
> date of the git commit, not the date of the download.  In this case
> that's 2024-09-08, not any date in 2026.

I've choosen this version based on the result of the watch file *and*
the upstream tarball which seemed consistent.  I do not intend to
question your version scheme which is based upon internal knowledge.  If
I where you I would adopt a d/watch with `Mode: git` that might enable a
commit based date.  However, currently the link to the Git repository 
ends up in "Forbidden". 
 
> Conclusion:
> 
> I'm giving you this feedback because I know you do a lot of QA work
> and I hope I can help improve the quality of your output.  Thanks for
> your attention.

This is absolutely welcome and I appreciate this feedback.
 
> Since I've now incorporated from your proposed changes what I felt was
> valuable, I have removed that from Salsa.  If there's anything you'd
> like to re-propose, I'm sure you have a copy locally.  If not, I do.
 
I'm absolutely happy with seeing its-playback-time maintained on Salsa
now.  My initial commits do not matter at all.

Thanks a lot for your cooperation.  Unfortunately its really rare to see
productive responses like this.

Kind regards
    Andreas.

[1] 
https://salsa.debian.org/debian/routine-update/-/blob/master/routine-update?ref_type=heads#L885-899
 
[2] 
https://salsa.debian.org/debian/routine-update/-/blob/master/routine-update?ref_type=heads#L1093

-- 
https://fam-tille.de

Reply via email to