Re: [PATCH] Specify policy for use of revision IDs in version numbers

2011-06-01 Thread David Bremner

On May 1, 2011 seanius wrote:
  On Sat, Apr 30, 2011 at 03:51:15PM -0700, Russ Allbery wrote:

  I don't think it's Policy's place to tell people that they can't use
  hashes because they *might* result in long version numbers.  They
  usually don't.

 +1.  otherwise, this seems more like a guideline that ought to be in
 the developer's reference rather than enshrined as a MUST in policy.

I agree with the position articulated by Russ and Sean here. In any
cases hashes are only one way that version numbers can get long. Even if
you think putting hashes in version numbers is not useful, I'm pretty
sure we don't want to enumerate every possible thing that is not
permitted in version numbers.

I'd think the obvious place to start would be for policy to specify
limits on version length. Maybe I missed something, but I didn't see
anything like that.

David.

P.S. I'm not subscribed to the list.



pgpEKYcIRbhI8.pgp
Description: PGP signature


Re: [PATCH] Specify policy for use of revision IDs in version numbers

2011-05-11 Thread Steve McIntyre
On Thu, May 05, 2011 at 12:46:15PM +0200, Guillem Jover wrote:
On Sun, 2011-05-01 at 17:27:39 +0200, Bill Allombert wrote:
 On Sat, Apr 30, 2011 at 09:00:14PM -0700, Russ Allbery wrote:

 Also there are no technical requirement for packages filenames in ISO
 images to be canonical packages names. Packages filename can be mangled
 to fit the medium, there is a program 'dpkg-name' to recover the
 canonical packages name.

Exactly, we could also add a new option to dpkg-name to select which
naming layout to use, for example:

  --layout=(default|msdos|iso9960|joliet|sha1sum|...)

or something along these lines. Currently dpkg-split already has a
--msdos option to generate a 8.3 filename for the split files, which
could be deprecated in favour of dpkg-name instead.

 This requires the same mangling to be applied
 to the filenames in the Packages files, but this not an issue since the
 Packages file is in the same medium.

Well, this has already been solved long time ago, although the
restrictions were different then, the dselect methods have supported
the MSDOS-Filename field as a fallback to the Filename one. So the
Packages file is usable not only for CDs/DVDs.

The problem is that it seems that most (at least apt, cupt and smart) of
the other front-ends do not support such field, so support would need
to be added first. At that point the field could be named more
appropriately I guess. I'm adding this to the things to discuss with
dpkg front-end developer.

Please, let's not go this way. We're not talking about needing
incredibly limited filename lengths like 8.3 for FAT here.

-- 
Steve McIntyre, Cambridge, UK.st...@einval.com
We're the technical experts.  We were hired so that management could
 ignore our recommendations and tell us how to do our jobs.  -- Mike Andrews


-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110511160010.gz32...@einval.com



Re: [PATCH] Specify policy for use of revision IDs in version numbers

2011-05-11 Thread Guillem Jover
Hi!

On Wed, 2011-05-11 at 17:00:17 +0100, Steve McIntyre wrote:
 On Thu, May 05, 2011 at 12:46:15PM +0200, Guillem Jover wrote:
  Well, this has already been solved long time ago, although the
  restrictions were different then, the dselect methods have supported
  the MSDOS-Filename field as a fallback to the Filename one. So the
  Packages file is usable not only for CDs/DVDs.
 
  The problem is that it seems that most (at least apt, cupt and smart) of
  the other front-ends do not support such field, so support would need
  to be added first. At that point the field could be named more
  appropriately I guess. I'm adding this to the things to discuss with
  dpkg front-end developer.
 
 Please, let's not go this way. We're not talking about needing
 incredibly limited filename lengths like 8.3 for FAT here.

Oh! I guess it was not clear from what I wrote above. I meant that as
non of the other front-ends support MSDOS-Filename, then once and if
support for shorter names gets implemented for the rest then we can
use an updated field name and length restriction in line with current
reality. Say, for example Short-Filename, and iso9960 file name length.

regards,
guillem


-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110512002506.ga9...@gaara.hadrons.org



Re: [PATCH] Specify policy for use of revision IDs in version numbers

2011-05-05 Thread Guillem Jover
Hi!

On Sun, 2011-05-01 at 17:27:39 +0200, Bill Allombert wrote:
 On Sat, Apr 30, 2011 at 09:00:14PM -0700, Russ Allbery wrote:
  So the reason for imposing a length restriction on version numbers in
  particular is due to the UI display of aptitude?  I'm a bit dubious that
  this is a good justification for a Policy rule.  dpkg -l has truncated
  version numbers for forever at 14 characters, and I don't recall this
  being a major issue in the past.

dpkg -l only truncates the output on terminals, and then only if the
width is not enough to display the whole thing. aptitude seems to be
truncating always the version to 10 characters, regardless of terminal
width.

  The thing that started off this thread,
  I thought, was the constraint on file name length in ISO images, which is
  the total length and doesn't impose a constraint specifically on the
  version.

Right.

 Also there are no technical requirement for packages filenames in ISO
 images to be canonical packages names. Packages filename can be mangled
 to fit the medium, there is a program 'dpkg-name' to recover the
 canonical packages name.

Exactly, we could also add a new option to dpkg-name to select which
naming layout to use, for example:

  --layout=(default|msdos|iso9960|joliet|sha1sum|...)

or something along these lines. Currently dpkg-split already has a
--msdos option to generate a 8.3 filename for the split files, which
could be deprecated in favour of dpkg-name instead.

 This requires the same mangling to be applied
 to the filenames in the Packages files, but this not an issue since the
 Packages file is in the same medium.

Well, this has already been solved long time ago, although the
restrictions were different then, the dselect methods have supported
the MSDOS-Filename field as a fallback to the Filename one. So the
Packages file is usable not only for CDs/DVDs.

The problem is that it seems that most (at least apt, cupt and smart) of
the other front-ends do not support such field, so support would need
to be added first. At that point the field could be named more
appropriately I guess. I'm adding this to the things to discuss with
dpkg front-end developer.

regards,
guillem


-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110505104615.gb20...@gaara.hadrons.org



Re: [PATCH] Specify policy for use of revision IDs in version numbers

2011-05-03 Thread Charles Plessy
Le Mon, May 02, 2011 at 06:09:11PM -0300, Henrique de Moraes Holschuh a écrit :
 
 The commit info varies per upload, it doesn't make sense to modify
 debian/copyright at every upload, better have that in the ONE place you must
 modify anyway.

I recently started do this regularly for packages I maintain, with a commit
message indicating that I searched the diff with the previous version packaged
by Debian for new copyright notices or license statements.

Cheers,

-- 
Charles Plessy
Illkirch-Graffenstaden, Alsace, France


-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110503072448.ga11...@merveille.plessy.net



Re: [PATCH] Specify policy for use of revision IDs in version numbers

2011-05-02 Thread Henrique de Moraes Holschuh
On Sun, 01 May 2011, Bill Allombert wrote:
 On Sat, Apr 30, 2011 at 09:00:14PM -0700, Russ Allbery wrote:
  So the reason for imposing a length restriction on version numbers in
  particular is due to the UI display of aptitude?  I'm a bit dubious that
  this is a good justification for a Policy rule.  dpkg -l has truncated
  version numbers for forever at 14 characters, and I don't recall this
  being a major issue in the past.  The thing that started off this thread,
  I thought, was the constraint on file name length in ISO images, which is
  the total length and doesn't impose a constraint specifically on the
  version.
 
 Also there are no technical requirement for packages filenames in ISO images 
 to be
 canonical packages names. Packages filename can be mangled to fit the medium, 
 there
 is a program 'dpkg-name' to recover the canonical packages name. This requires
 the same mangling to be applied to the filenames in the Packages files, but 
 this 
 not an issue since the Packages file is in the same medium.

That could work, but I can certainly imagine non-uniqueness causing
problems.  .debs from inside a CD/DVD have this nasty tendency to show up in
the most strange places.  They don't stay put in that DVD/CD and get
destroyed at the next point release.

And it would cause problems for some tools, too.  Assuming such package name
reduction can be made to work safely, the question is: what would be the
better solution in the long term?

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh


-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110502212014.gb18...@khazad-dum.debian.net



Re: [PATCH] Specify policy for use of revision IDs in version numbers

2011-05-01 Thread Henrique de Moraes Holschuh
On Sat, 30 Apr 2011, Russ Allbery wrote:
 Osamu Aoki os...@debian.org writes:
  This is another topic.  I do not think everyone agreed yet to a
  particular set of numbers.  The more I looked into this issue, I think
  followings are the possible numbers:

No, but I'd like to have a MUST rule that says that you MUST specify the
full repository and commit identification data in the 'new upstream'
changelog entry when you package out of a VCS repository instead of a
public release tarball.  Maybe with examples for git, svn, mercurial and
bzr on the grounds that they're the most used ones right now and it
should get the idea across nicely).

   * package file name for normal uploads: 90 characters (must)
 - rationale: UCS-2 requirement etc.
 - current longest is 76 chars.
 - this number is ready for policy.
 
   * package name length =40 (must:   99.8% qualifies)
   * package name length =30 (should: 98.3% qualifies)
 - aptitude field length default
 
  normal version length withour special extension such as +nmu? +b? ...
  should be:
 
   * version length =30 (must:   99.9% qualifies)
=20 (must:   99.0% qualifies) possible alternative.
   * version length =15 (should: 95.3% qualifies)
 - aptitude field length default can be 15 as BTS #624542 for 80 char/line
 - 10 is too short since only 83.8% qualifies.
 
 So the reason for imposing a length restriction on version numbers in
 particular is due to the UI display of aptitude?  I'm a bit dubious that

No, it is because package file name + version string + other stuff
(arch, .deb/.udeb/?, _ field separators...) must not exceed 90
characters...  who cares if the tool won't show 10 chars by default?
Request a new default for the tool, or fix it in your local config if it
bothers you (I had to configure aptitute to show 20 chars plus suite to
suit my local needs, for example).

AND since you need to vary the arch and version strings outside of
maintainer control (new ports, NMUs, binNMUs, security updates,
backports...) you must have some space reserved for that.

When we arrive at the final numbers, we really should ALSO mandate the
maximum length of arch names and also change the p-u and security
updates versioning to be bounded and shorter (i.e. use a short pattern
with the debian release number that is other-distros-friendly, not its
codename), etc.

Otherwise it is a moot effort.

  If we do this, we also need to move 3.2.1 to developers-reference.
 
 I don't agree.  That section is there because of a technical failure
 caused by poorly-chosen date-based version numbers.  As discussed in the
 long thread in debian-devel, the use of hashes is as a supplement to a
 sequential version, to identify a precise commit reliably.

When we mandate anything re. version numbers, it better be in policy as
SHOULD or MUST, yes.

 I would support adding a statement to Policy akin to the advice in 3.2.1
 pointing out that hashes don't sort reasonably and hence can't be relied
 upon to order the version number, and that the part of the version prior
 to the hash has to establish a unique sort.  (That's a bad way of phrasing
 it, of course.)  But just banning them doesn't feel justified to me.

I advise that the supporters of VCS-commit-hashes in version strings to
help write a footnote in policy (and maybe a full text in d-reference)
about how to properly deal with variable-length commit ids used as
version, when they exceed the maximum size.  It requires some thought to
do it right in a way that it won't cause issues for any future commits.

Since we had to do it for the much easier to understand date-style
safe patterns for version strings because people were screwing it up in
practice and epochs were needed to repair the damage, we better do it
for VCS commit ids as well.  There is no reason to believe history won't
repeat itself.

-- 
  One disk to rule them all, One disk to find them. One disk to bring
  them all and in the darkness grind them. In the Land of Redmond
  where the shadows lie. -- The Silicon Valley Tarot
  Henrique Holschuh


-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110501124217.ga19...@khazad-dum.debian.net



Re: [PATCH] Specify policy for use of revision IDs in version numbers

2011-05-01 Thread Charles Plessy
Le Sun, May 01, 2011 at 09:42:17AM -0300, Henrique de Moraes Holschuh a écrit :
 
 No, but I'd like to have a MUST rule that says that you MUST specify the
 full repository and commit identification data in the 'new upstream'
 changelog entry when you package out of a VCS repository instead of a
 public release tarball.

Hello everybody,

I wonder if the full repository and commit identification would not better 
belong
to the Debian copyright file.  See §12.5, paragraph 2:

  “the copyright file must say where the upstream sources (if any) were 
obtained.”

Cheers,

-- 
Charles Plessy
Illkirch-Graffenstaden, Alsace, France


-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110501150045.gb10...@merveille.plessy.net



Re: [PATCH] Specify policy for use of revision IDs in version numbers

2011-05-01 Thread Bill Allombert
On Sat, Apr 30, 2011 at 09:00:14PM -0700, Russ Allbery wrote:
 So the reason for imposing a length restriction on version numbers in
 particular is due to the UI display of aptitude?  I'm a bit dubious that
 this is a good justification for a Policy rule.  dpkg -l has truncated
 version numbers for forever at 14 characters, and I don't recall this
 being a major issue in the past.  The thing that started off this thread,
 I thought, was the constraint on file name length in ISO images, which is
 the total length and doesn't impose a constraint specifically on the
 version.

Also there are no technical requirement for packages filenames in ISO images to 
be
canonical packages names. Packages filename can be mangled to fit the medium, 
there
is a program 'dpkg-name' to recover the canonical packages name. This requires
the same mangling to be applied to the filenames in the Packages files, but 
this 
not an issue since the Packages file is in the same medium.

Cheers,
-- 
Bill. ballo...@debian.org

Imagine a large red swirl here. 


-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110501152739.GI19957@yellowpig



Re: [PATCH] Specify policy for use of revision IDs in version numbers

2011-04-30 Thread Cyril Brulebois
Ben Hutchings b...@decadent.org.uk (30/04/2011):
 ---
 This is based on recent discussions on debian-devel.  There was not
 complete agreement, but I believe this reflects consensus.
 
 Ben.
 
  policy.sgml |   23 +++
  1 files changed, 23 insertions(+), 0 deletions(-)
 
 diff --git a/policy.sgml b/policy.sgml
 index 91173a5..2cc2d1e 100644
 --- a/policy.sgml
 +++ b/policy.sgml
 @@ -934,6 +934,29 @@
 /p
   /sect1
  
 + sect1
 +   headingVersion numbers based on revision IDs/heading
 +
 +   p
 + If the upstream version is a snapshot from a version
 + control system, the upstream version number may
 + incorporate a linear revision ID from the version control
 + system.  For example, a Subversion or Mercurial revision
 + ID can be used if all snapshots are taken from the same
 + repository and branch.  A commit count from prgngit
 + describe/prgn output can be used if all snapshots are
 + taken from the same branch which is not rebased or
 + otherwise rolled back.
 +   /p
 +   p
 + The upstream version number must not include a non-linear
 + revision ID or hash, since it cannot help in ordering
 + versions and it tends to result in very long version
 + numbers and filenames.  This information may be recorded
 + in the changelog instead.
 +   /p
 + /sect1
 +
/sect
  
sect id=maintainer

Seconded; thanks, Ben.

Mraw,
KiBi.


signature.asc
Description: Digital signature


Re: [PATCH] Specify policy for use of revision IDs in version numbers

2011-04-30 Thread Russ Allbery
Ben Hutchings b...@decadent.org.uk writes:

 +   p
 + The upstream version number must not include a non-linear
 + revision ID or hash, since it cannot help in ordering
 + versions and it tends to result in very long version
 + numbers and filenames.  This information may be recorded
 + in the changelog instead.
 +   /p

I don't think it's Policy's place to tell people that they can't use
hashes because they *might* result in long version numbers.  They usually
don't.

If we have a version number length restriction, or an overall filename
length restriction, we should just say that, and point out that using
hashes may make it hard to meet the restriction.

-- 
Russ Allbery (r...@debian.org)   http://www.eyrie.org/~eagle/


-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87wribic9o@windlord.stanford.edu



Re: [PATCH] Specify policy for use of revision IDs in version numbers

2011-04-30 Thread sean finney
On Sat, Apr 30, 2011 at 03:51:15PM -0700, Russ Allbery wrote:
 Ben Hutchings b...@decadent.org.uk writes:
 
  + p
  +   The upstream version number must not include a non-linear
  +   revision ID or hash, since it cannot help in ordering
  +   versions and it tends to result in very long version
  +   numbers and filenames.  This information may be recorded
  +   in the changelog instead.
  + /p
 
 I don't think it's Policy's place to tell people that they can't use
 hashes because they *might* result in long version numbers.  They usually
 don't.
 
 If we have a version number length restriction, or an overall filename
 length restriction, we should just say that, and point out that using
 hashes may make it hard to meet the restriction.

+1.  otherwise, this seems more like a guideline that ought to be in
the developer's reference rather than enshrined as a MUST in policy.


sean


-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110430225858.ga18...@cobija.connexer.com



Re: [PATCH] Specify policy for use of revision IDs in version numbers

2011-04-30 Thread Osamu Aoki
Hi,

On Sat, Apr 30, 2011 at 03:51:15PM -0700, Russ Allbery wrote:
 Ben Hutchings b...@decadent.org.uk writes:
 
  + p
  +   The upstream version number must not include a non-linear
  +   revision ID or hash, since it cannot help in ordering
  +   versions and it tends to result in very long version
  +   numbers and filenames.  This information may be recorded
  +   in the changelog instead.
  + /p

It is a bit detailed and lacks limitation for length but I think it is a
good start.

The above goes to as 3.2.2 as I understand.  We already have 3.2.1
Version numbers based on dates and fits nicely into the context.

Let's add this.

 I don't think it's Policy's place to tell people that they can't use
 hashes because they *might* result in long version numbers.  They usually
 don't.

This is another topic.  I do not think everyone agreed yet to a
particular set of numbers.  The more I looked into this issue, I think
followings are the possible numbers:

 * package file name for normal uploads: 90 characters (must)
   - rationale: UCS-2 requirement etc.
   - current longest is 76 chars.
   - this number is ready for policy.

 * package name length =40 (must:   99.8% qualifies)
 * package name length =30 (should: 98.3% qualifies)
   - aptitude field length default

normal version length withour special extension such as +nmu? +b? ...
should be:

 * version length =30 (must:   99.9% qualifies)
  =20 (must:   99.0% qualifies) possible alternative.
 * version length =15 (should: 95.3% qualifies)
   - aptitude field length default can be 15 as BTS #624542 for 80 char/line
   - 10 is too short since only 83.8% qualifies.

I understand some may feel general recommendation to be in Developer's
reference in general as:

5.11.2. NMUs and debian/changelog
 http://www.debian.org/doc/manuals/developers-reference/pkgs.html#nmu-changelog
 This only talk about NMU versioning.

6.3. Best practices for debian/changelog
 
http://www.debian.org/doc/manuals/developers-reference/best-pkging-practices.html#bpp-debian-changelog
 
These are a bit more guidance than limiting version number for what we
can use.

 If we have a version number length restriction, or an overall filename
 length restriction, we should just say that, and point out that using
 hashes may make it hard to meet the restriction.

If we do this, we also need to move 3.2.1 to developers-reference.

Osamu


-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20110501003325.ga3...@debian.org



Re: [PATCH] Specify policy for use of revision IDs in version numbers

2011-04-30 Thread Russ Allbery
Osamu Aoki os...@debian.org writes:

 This is another topic.  I do not think everyone agreed yet to a
 particular set of numbers.  The more I looked into this issue, I think
 followings are the possible numbers:

  * package file name for normal uploads: 90 characters (must)
- rationale: UCS-2 requirement etc.
- current longest is 76 chars.
- this number is ready for policy.

  * package name length =40 (must:   99.8% qualifies)
  * package name length =30 (should: 98.3% qualifies)
- aptitude field length default

 normal version length withour special extension such as +nmu? +b? ...
 should be:

  * version length =30 (must:   99.9% qualifies)
   =20 (must:   99.0% qualifies) possible alternative.
  * version length =15 (should: 95.3% qualifies)
- aptitude field length default can be 15 as BTS #624542 for 80 char/line
- 10 is too short since only 83.8% qualifies.

So the reason for imposing a length restriction on version numbers in
particular is due to the UI display of aptitude?  I'm a bit dubious that
this is a good justification for a Policy rule.  dpkg -l has truncated
version numbers for forever at 14 characters, and I don't recall this
being a major issue in the past.  The thing that started off this thread,
I thought, was the constraint on file name length in ISO images, which is
the total length and doesn't impose a constraint specifically on the
version.

 If we have a version number length restriction, or an overall filename
 length restriction, we should just say that, and point out that using
 hashes may make it hard to meet the restriction.

 If we do this, we also need to move 3.2.1 to developers-reference.

I don't agree.  That section is there because of a technical failure
caused by poorly-chosen date-based version numbers.  As discussed in the
long thread in debian-devel, the use of hashes is as a supplement to a
sequential version, to identify a precise commit reliably.

I would support adding a statement to Policy akin to the advice in 3.2.1
pointing out that hashes don't sort reasonably and hence can't be relied
upon to order the version number, and that the part of the version prior
to the hash has to establish a unique sort.  (That's a bad way of phrasing
it, of course.)  But just banning them doesn't feel justified to me.

-- 
Russ Allbery (r...@debian.org)   http://www.eyrie.org/~eagle/


-- 
To UNSUBSCRIBE, email to debian-policy-requ...@lists.debian.org
with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/87tydfrrxt@windlord.stanford.edu