tags  543990 +pending
thanks

On Sun, Aug 30, 2009 at 4:06 AM, Ana Guerrero <a...@debian.org> wrote:

>
>
> Dear Francisco and Cleto (I expect),


[...]

By the way, it is not your package, but since you are the sponsor, I
> understand you feel resposible about it, which is quite fine.
>

Indeed, a serious violation of the policy would be my responsibility.


> On Fri, Aug 28, 2009 at 11:22:08PM +0200, Francisco Moya wrote:
> > I must have missed something. What is wrong in my statements? What file
> is
> > rejected by Debian and why? What in this package contradicts the debian
> > policy?  I not only mean the letter of the DP but also the rationale
> behind
> > it.  What is wrong with this particular package given that ows is in
> Debian
> > till 2007 and nobody complained?
> >
>
> Since you do not quote here what you are answering, I am not sure at all
> what
> are you answering. It is usually nice quote exaclty what you are answering,
> it is one of the problems I have found to follow and understand you
> correctly
> in this bug report.
>

My fault, sorry.


> > 1. Upstream main author is David Villa, which clearly stated *his*
> release
> > policy and clearly refused to change it. I try to respect upstream
> opinions
> > as much as Debian allows it.
> >
>
> You do not have to change David's release policy at all. Actually, in this
> case, for what I have seen, David does not have any release policy, he does


Obviously you didn't even tried to contact David.  You didn't even tried to
see the upstream head, which enforces *his* release policy.


> not release tarballs, and even if he did, you are not affected but his
> release
> policy to be forced to ship binary packages.


Wrong (Cf. Debian Policy 3.2.1)

For what I have seen in the package, the versions that are being uploaded
> are
> "numbered" after the date YYMMDD from a checkout of the code in the SVN and
> this
> code include a debian/ directory.


Wrong, versions (and releases) are changed at commit time.  The current head
generates versions and releases at commit time, see upstream head.


> Let me explain you the way this is usually handled in Debian:
>
> CASE A) (easy case) When upstream release tarballs with the debian/ dir.
>
> This happens from time to time. Maintainer usually ask upstream to drop
> this
> directory from the tarballs and in the meanwhile (or if upstream just do
> not
> care), the maintainer repackage upstream's tarball to remove this
> directory.
>

Not in this case. The maintainer is a developer.  It wouldn't make much
sense to ask himself to remove the debian directory.


> CASE B) (complicated case) upstream does not do releases at all and has
> debian/ in their repo.
> It seems to be the case here.
>
> In short, maintainer do a svn checkout, version it someway, package it and
> upload it.


And follows Debian policy 3.2.1.  He uses the same version numbers of
upstream code.


> More lengthy: since there are not releases maintainers ned to version it,
> usually people start with a 0 and use the svn revision, for example, for
> the
> revision 56 of atheist, you could number it: 0.svn56 or 0.0.svn56, so it
> indicates in the "version" number exacty what revision is, which is quite
> handy when bug reports are filed to upstream. Using the date as it is being
> used in atheist is not a good idea, what if you need to do 2 or more
> uploads
> in the same day due to upstream changes?


There is a release, although is not an orthodox release. Read the source and
talk to David, much better than using the BTS for this.

If in the future upstream starts releasing and it breaks your invented
> revision number, you can use an epoch.


Indeed David already provides something like an epoch in his release
scheme.  See atheist.py from svn.

Whan packaging, packager put this fictional version number and then the
> packaging revision with "-X".
> About the debian/ dir, you just ignore it and if it is the case you are
> using
> that debian/ then you add it later.


Not the case, the maintainer cannot ignore his own debian directory.

In this case, of fictional versions it is a very good idea ask your
> sponsoree
> add a get-orig-source: rule in his debian/rules, so you can fetch the code
> exaclty as the sponsoree did and just the version he wants to upload
> easily.


Fictional versions are only appropriate if the upstream release scheme does
not work for Debian. It is not the case.


> No, you won't find about get-orig-source: in the policy, that does not mean
> you can not use it, if you google it you will see how useful it is for a
> lot
> of people, even for one of the policy maintainers:
> http://www.eyrie.org/~eagle/notes/debian/scripts.html<http://www.eyrie.org/%7Eeagle/notes/debian/scripts.html>
> there you can find some info of how to implement and use the
> get-orig-source:
> target.


Yeah, sounds quite easy.  You are basically asking upstream to use two
branches to maintain a 32KiB package just to cope with your "best practices"
and it wouldn't get you anything (see below).


> And you know what it is very good about get-orig-source in this case? Since
> upstream does not release tarballs and users do not know exaclty what you
> are
> distributing in your tarball, checking the rules they can know exaclty.
> Imagine upstram is uploading the pdf files with documentation to the SVN
> while
> you generate them in build time. You do not need to fetch them.


Is it so hard to look through the eyes of them?  There is no such "what if
upstream is uploading..." because they are upstream developers.  In any
other case use NMUs.

If there is something you should convince upstream about it is releasing
> tarballs
> of his software periodically and not ship the debian/ directory with some
> versioning scheme. Then you solve totally this problem.


Wrong, talk to David.  Most (if not all) of his utilities are distributed
through the svn repo.

Advantanges of a package not being native for a random user:
> - When user see the upload is -2 -3, etc, users know it is NOT a new
> upstream
>  relase and updates should not be big, just reading changelog will know
>  exaclty what was changed.


As I explained lots of times before, upstream releases change even when the
debian directory changes.  From current head I see a new release whenever
there is a commit in the repo (see atheist.py from head svn).  David does
not want more than a release per day.  Therefore, all of the commits in the
repo during the same day belongs to the same release.  Several alternatives
to "quickly needed fixes" where discussed and they are all acceptable for
Debian.

A release with -2 in their release scheme means that changes were not
commited into the repo.  Therefore it wouldn't be the case of changes made
by the maintainer (who is a developer).  In that case the right debian
release would be -1.1 (non maintainer upload).


> - When debian is frozen, you won't be allowed to upload a new upstream
>  release.


Totally right.  In that case only non-maintainer uploads would be able to
fit their release scheme.  They have changed the versioning scheme a little
in head svn, hopefully they will change it further in the future.  Again
something to talk about in a different place.

- When you see this versioning number, you think it is not a package
> developed
>  only for Debian. Maybe upstreams only care about Debian, but if the
> software
>  is usful it will be picked by other distros.


As far as I know native packages were originally devised to avoid empty
diffs when the roles of developer and maintainer fall into the same person.
Afterwards some clever people noticed that native packages cost more to
Debian than non-native packages because the whole source is uploaded on each
packaging-only change.  AFAIK that was the rationale behind reducing the
number of native packages as much as possible.  It is not a matter of being
useful to other people.  There are virtually no packages which could not be
useful to other people.  And the most representative example is apt.  APT is
being used on non-deb distributions and it is native.

There are also upstream managerial benefits of orthogonalizing
maintainer/developer roles.  But this is not something Debian should decide.

Besides, the orig/diff separation is not the right way to reduce the size of
the uploads.  For example, a doc-only change (even a typo) would also
require a full-source upload.  I guess there will be a better way in the
future.

But in this case there is nothing to win.  From atheist.py you can easily
infer that source will be changed on every commit made, even when the debian
directory is touched.


> > 2. The package maintainer is Cleto Martin, also a developer of atheist.
>  His
> > commits go directly into the svn repo.  There is no separate branch for
> > packaging because, as the *main* upstream author requires, package
> version
> > is also changed when the debian directory changes.  Therefore this is
> indeed
> > a Debian native package.  It may posibly be turned into a non-native
> package
> > but it would require a fork, which in my opinion is much worse than this.
> >
>
> He can perfeclty maintain the debian/ directory wherever he wants, no need
> to
> fork at all. Just do as mentioned above...


Uh? Therefore you, as a developer with commit rights into upstream repo just
ignore the main developer and do whatever you want in a separate repo.
Well, our idea of a team differs significantly.


> And no, this is not a debian native package, it is not software developed
> direclty for and in Debian. Again, this is explained above.


This wishlist bug is being worked on.  See atheist.py from head.  I already
commited a change to close this bug in head.


> BTW if Cleto is developer of atheist why he does not appear in
> debian/copyright? You mentioned earlier in this thread upstream was David
> Villa
> (message 44).  And David happens to be also a Debian maintainer.


Ask him, not me.  But I wouldn't use a BTS to talk about these personal
questions.


> > 3. The versioning scheme although not the most orthodox one does not
> create
> > problems for Debian. No need for epochs and no problems in case of
> > debian-only related changes. For me it is just a matter of inconvenience
> for
> > them. Could you be more precise on the problems you forsee for Debian?
> >
>
> Read above.


Read above.


> > 4. I consider the package itself to be a small utility but extremely
> > convenient for many people. Therefore I think it should be part of Debian
> > (Debian Social Contract #4).
> >
>
> While honestly I still do not understand what the program does, nobody in
> this
> thread had doubt of the usefulness of this piece of software.


I didn't infer you had.

> 5. The maintainer *is* one of the upstream developers with commit rights
> to
> > the atheist repo but he is not entitled to change the release policy.
> > Therefore if upstream ships a file that Debian does not want to include
> > anymore then Cleto Martin, the maintainer will remove it from upstream
> > repo.  It works as long as the maintainer is an upstream developer and
> there
> > is a real commitment to develop a Debian package.  That is precisely what
> a
> > native package is.
>
> Nothing to do here, again, explained above.
>
> >
> > 6. Having a discussion like this in a place like the BTS is worse than
> > having the same discussion in debian-devel or debian-private. As you can
> > imagine, people which are so strongly opinionated on their release policy
> > may easily get angry at such loose argumentation against their way of
> doing
> > things.
>
> This is the only thing annoys me about the whole issue. In Debian we
> discuss
> the stuff, we ask and we argue. You are the only who has get angry here and
> did not want to discuss.
> The BTS is being used exaclty for what it has been created, report issues
> and
> discuss about them.


The BTS is a powerful tool to improve Debian.  It gives extremely valuable
data to improve process, allocate resources and focus on the important
things.  A discussion like this distorts the data and makes it more
difficult to extract the right info.

On the other hand a discussion like this is perfectly appropriate in
debian-devel and it would benefit from a larger audience. As a general rule
of thumb a BTS should not be used as a replacement of communication tools.
About 10% of this thread is about the bug, the remaining 90% is about
generic package management issues.

[...]


> > On the other hand having this kind of discussions on a BTS is just faking
> > the stats.  One more serious bug in the back of Debian distro.  No wait
> it
> > is closed.  No, wait, it was reopened as a serious bug.  No, wait it is
> > wishlist.  9 follow-ups.  This one must be a tough bug! Is it?
> >
> > Come on, this is a small simple package which just happens to have an
> > unusual name and an unusual release policy.  But it is still useful
> > nonetheless.
> >
> > I do believe that there are hundreds of bugs which require more attention
> > than this one.  But since it seems to be such an attractor I propose two
> > actions:
> >
> > 1. I'll try to convince the maintainer to turn this package into a
> > non-native package with an empty diff. It sounds silly to me but it seems
> > way better than splitting upstream source as proposed by Luk.  What Luk
> > propose would be equivalent to deny anybody the right to make a program
> > ready to be used in Debian.
> >
> > 2. I urge you to reconsider having this discussion in a more appropriate
> > place.
> >
>
>
> The policy is a great tool we have, but there is something called "usual
> (best) practices", and you do not see very familiar with them (*). When you
> got
> feedback in this bug report from several other developers, it is nto
> because
> we wanted to annoy you, it is because we saw you did not know about this
> and
> wanted to *help* you.


If I were annoyed I wouldn't have replied to so many messages.  This has
nothing to do with annoyance but with proper use of the tools to *help*
Debian and not me. I may very well assume that there was a typo in the
changelog and the uploader didn't notice it.  But rather than assuming it I
would confirm it *before* I file a bug report.

Does this annoy me?  Not at all.

Would it be more effective? I think so.  Assuming there is a will to reach a
consensus in order of effectiveness I would mention direct phone call, live
chat, personal email, small mailing list, and large mailing list.

Increasing the number of bug reports does not improve Debian per se. I
sincerely find obnoxious wasting so many resources in a wishlist bug.


> All this said, the policy you seem to use so literally is not clear about
> when a package should be native. I encourage you to open a thread about
> this
> in -devel and/or -policy and help to make it clearer.
> If you want my personal opinion: we should kill the concenpt of native
> package.


If I open the discussion in -devel then I would need to allocate enough time
to collect opinions, summarize, etc.  I'm sorry but my time is limited right
now.  Things may change in the future, but I consider this a minor issue and
indeed we all agreed to fix this in the next release, even when I didn't
find *any* convincing argument.

Nonetheless if anybody else raises this issue I'd try to contribute my
opinion.


>
> Hope this helps,
>
> Ana
>
> (*) quoting text in bug report, how the bts is used and the alike. This is
> not about
> technical competence at all, it is about experience in Debian.
>

Reply via email to