Soren Stoutner <soren@debian.org> writes:
Manuel and I would like to split this into two source packages, based on these two upstream source repositories:
https://github.com/OpenTaal/opentaal-hunspell
https://github.com/OpenTaal/opentaal-wordlist
The current dutch package has an epoch for reasons that happened before we were involved with the package: 1:2.20.19+1-1.
This doesn't look right, because
$ rmadison hunspell-nl -s unstable
hunspell-nl | 2:2.20.19+1-1 | unstable | all
Ie: Wrong epoch, which I hope is just a typo. I also don't think
ftpmasters will agree that a NEW package should have an epoch... I'm
CCing -devel, because introducing epochs must be discussed there, and I
count a NEW package as introducing an epoch.
If we create a new source package named hunspell-nl, it would also
need to have the same epoch.
Why not take the opportunity to remove the epoch? The upstream names
are opentaal-hunspell and opentaal-wordlist, so why not:
1. Create src:opentaal-hunspell and src:opentaal-wordlist
2. Use bin:opentaal-hunspell[-nl] and bin:opentaal-wordlist[-nl]
3. Create a dutch metapackage in one of these two NEW src:opentaal.* packages 4. Use versioned Provides, with epoch, in the dutch metapackage.
El 15/5/25 a las 0:39, Soren Stoutner escribió:
2. When moving the binary package to a new source package, should the old changelog be preserved? It seems even weirder to me to have a one-line changelog that says “Initial release” that already contains an epoch.
I think it depends on whether or not you consider the new source to be
a successor of the old one.
For example, the hello package which did not use debhelper at first was "forked" to hello-debhelper. Because it was a "fork", it retained the old changelog.
The changelog indeed says the current epoch is 1:
https://salsa.debian.org/debian/dutch/-/blob/master/debian/changelog? >ref_type=heads#L1
Also, tracker.debian.org says the same thing: >https://tracker.debian.org/pkg/dutch
On Thu, 15 May 2025 at 13:39:32 -0700, Soren Stoutner wrote:
The changelog indeed says the current epoch is 1:
https://salsa.debian.org/debian/dutch/-/blob/master/debian/changelog? >ref_type=heads#L1
Also, tracker.debian.org says the same thing: >https://tracker.debian.org/pkg/dutch
That's the version of the source package. The version of a binary
package defaults to the same as its source, but it can be different, and
in this case, it is:
dh_gencontrol -p hunspell-nl -- -v2:$(DEB_VERSION_UPSTREAM_REVISION) — https://tracker.debian.org/media/packages/d/dutch/rules-12.20.191-1
smcv
On Thursday, May 15, 2025 1:07:32 PM Mountain Standard Time Nicholas D Steeves
wrote:
Soren Stoutner <soren@debian.org> writes:
Manuel and I would like to split this into two source packages, based on >> > these two upstream source repositories:
https://github.com/OpenTaal/opentaal-hunspell
https://github.com/OpenTaal/opentaal-wordlist
The current dutch package has an epoch for reasons that happened before we >> > were involved with the package: 1:2.20.19+1-1.
This doesn't look right, because
$ rmadison hunspell-nl -s unstable
hunspell-nl | 2:2.20.19+1-1 | unstable | all
Ie: Wrong epoch, which I hope is just a typo. I also don't think
ftpmasters will agree that a NEW package should have an epoch... I'm
CCing -devel, because introducing epochs must be discussed there, and I
count a NEW package as introducing an epoch.
The changelog indeed says the current epoch is 1:
https://salsa.debian.org/debian/dutch/-/blob/master/debian/changelog? ref_type=heads#L1
Also, tracker.debian.org says the same thing:
https://tracker.debian.org/pkg/dutch
It is interesting that rmadison says differently. Is this some automatic adjustment in dak? If so, I would imagine that it would make sense to adjust
the epoch to 2 in package changelog.
If we create a new source package named hunspell-nl, it would also
need to have the same epoch.
Why not take the opportunity to remove the epoch? The upstream names
are opentaal-hunspell and opentaal-wordlist, so why not:
1. Create src:opentaal-hunspell and src:opentaal-wordlist
2. Use bin:opentaal-hunspell[-nl] and bin:opentaal-wordlist[-nl]
3. Create a dutch metapackage in one of these two NEW src:opentaal.*
packages 4. Use versioned Provides, with epoch, in the dutch metapackage.
I would love to, but the binary package names are not negotiable because they
are set by Debian’s dictionary policy. For example, the hunspell-nl binary
package needs to retain this name to match the other hunspell dictionaries. Similarly for aspell-nl, wdutch, and idutch.
"adjusting" the epoch also requires discussion, and consensus, on -devel
We have
an obligation to avoid epochs whenever possible, and the way that we do
this is by deductively eliminating alternatives such as Breaks,
Replaces, and Provides. Maybe I missed part of this thread? If so,
where can I read that this was demonstrated?
On Thursday, May 15, 2025 3:56:50 PM Mountain Standard Time Nicholas D Steeves
wrote:
"adjusting" the epoch also requires discussion, and consensus, on -devel
As far as I know, nobody is proposing adding or adjusting any epochs. All of
these binary packages are going to end up with the same epochs they already have.
We have
an obligation to avoid epochs whenever possible, and the way that we do
this is by deductively eliminating alternatives such as Breaks,
Replaces, and Provides. Maybe I missed part of this thread? If so,
where can I read that this was demonstrated?
I completely agree. I detest epochs and do everything I can to avoid using them.
The background (partially explained in the first email) is that this is a package I recently salvaged. It has never had a working debian/watch file and
cannot have one in its current state because the original maintainer combined
sources from multiple upstream sources with potentially distinct release schedules.
As part of bringing the package up to Debian standards, I need to split it into two source packages that match the upstream repositories. At some point
in the past, an epoch was added to this package. I am unaware of the history
of why this was done. I also don’t know why one of the binary packages has an
epoch of 2 (something I learned in this email chain), while the other three have an epoch of 1.
As much as I would like to get rid of the epochs, I don’t see any way to do
so.
I have never split a source package before, and certainly not one with an epoch. I assumed that the new source package needed to start out with a new debian/changelog, and creating one with a single entry with an epoch seemed wrong to me. However, it was pointed out that when splitting a source package, it is appropriate to maintain the debian/changelog history,
in which case I can simply explain in the changelog that the binary
package was moved to a new source package and the previous
debian/changelog history will make it obvious why the epoch was
maintained.
At some point in the past, an epoch was added to this package. I am
unaware of the history of why this was done. I also don’t know why
one of the binary packages has an epoch of 2 (something I learned in
this email chain), while the other three have an epoch of 1.
Hi Soren,already
Soren Stoutner <soren@debian.org> writes:
On Thursday, May 15, 2025 3:56:50 PM Mountain Standard Time Nicholas D Steeves>
wrote:
"adjusting" the epoch also requires discussion, and consensus, on -devel
As far as I know, nobody is proposing adding or adjusting any epochs. All of
these binary packages are going to end up with the same epochs they
have.
Do you disagree with the following?: You're creating two new source
packages that have to pass the NEW queue, you're adding epochs to them,
and your rationale appears to be thus: Because the old multiple-upstream source package has an epoch, therefore both NEW source packages should
have an epoch.
There's nothing in dsdt-policy about source package naming.
Soren Stoutner <soren@debian.org> writes:[...]
On Thursday, May 15, 2025 3:56:50 PM Mountain Standard Time Nicholas D Steeves
wrote:
"adjusting" the epoch also requires discussion, and consensus, on -devel
As far as I know, nobody is proposing adding or adjusting any epochs.
All of these binary packages are going to end up with the same epochs
they already have.
Do you disagree with the following?: You're creating two new source
packages that have to pass the NEW queue, you're adding epochs to them,
and your rationale appears to be thus: Because the old multiple-upstream source package has an epoch, therefore both NEW source packages should
have an epoch.
There's nothing in dsdt-policy about source package naming.
Yes, the NEW binary packages need to provide a greater version than the
old ones, because otherwise upgrades won't occur; No one is saying they
don't need to.
[...]As much as I would like to get rid of the epochs, I don’t see any way to do
so.
Here's how: Use accurate upstream versions in two NEW source packages.
Their binary packages gain versioned Provides [and Breaks and Replaces,
if appropriate]. In two Debian releases (forky+1), you can you drop the Breaks, Replaces, and Provides. Thus, packages without epochs replace
the packages with epochs, and a pox on the archive is removed.
Sysop: | Keyop |
---|---|
Location: | Huddersfield, West Yorkshire, UK |
Users: | 493 |
Nodes: | 16 (0 / 16) |
Uptime: | 166:38:54 |
Calls: | 9,703 |
Calls today: | 3 |
Files: | 13,733 |
Messages: | 6,177,983 |