They're deployed as a set, so what I want is the SHA1 or even MD5 of any
one of the set of uploaded files, such that I can confirm that the set is
the set that I am supposed to be looking at. I don't see importance in
which, but I've not thought about it much. I think *all* would be huge
overkill.

On Sat, Aug 17, 2013 at 12:00 AM, Stephen Connolly <
stephen.alan.conno...@gmail.com> wrote:

> That sounds like you are looking for the SHA1 sum of the source bundle to
> be included in the vote email. Which would seem perfectly reasonable to me.
>
>
>
>
> On 16 August 2013 12:31, Fred Cooke <fred.co...@gmail.com> wrote:
>
> > Dennis, of course source bundles will contain URLs and hashes and
> revisions
> > and so forth, and the chance of those being mismatched is approximately
> > zero. That's not the point.
> >
> > The point (for me, at least) is what did you INTEND to release, and does
> > THAT match what is actually found in the bundle (including URLs and
> hashes
> > etc matching).
> >
> > Releasing is a fundamentally human process that consists of "is this
> > ready?" and "pull trigger". Some binaries and bundles end up on server of
> > some type somewhere. I want to know the checksum of one of the set of
> items
> > (so I KNOW (not guess) that I'm looking at what you want me to), and I
> want
> > to know what SCM or tarball+patchset you think you released it from. This
> > is human information that can't be automated. The bundle someone goes and
> > finds could have anything in it, and they won't know if it's what you
> > wanted it to have in it, or not.
> >
> > Fred.
> >
> > On Fri, Aug 16, 2013 at 11:25 PM, Dennis Lundberg <denn...@apache.org
> > >wrote:
> >
> > > On Fri, Aug 16, 2013 at 11:24 AM, sebb <seb...@gmail.com> wrote:
> > >
> > > > On 16 August 2013 09:32, Dennis Lundberg <denn...@apache.org> wrote:
> > > > > On Fri, Aug 16, 2013 at 9:52 AM, sebb <seb...@gmail.com> wrote:
> > > > >
> > > > >> On 16 August 2013 08:10, Dennis Lundberg <denn...@apache.org>
> > wrote:
> > > > >> > On Fri, Aug 16, 2013 at 1:20 AM, sebb <seb...@gmail.com> wrote:
> > > > >> >
> > > > >> >> On 15 August 2013 20:57, Dennis Lundberg <denn...@apache.org>
> > > wrote:
> > > > >> >> > On Thu, Aug 15, 2013 at 9:27 PM, sebb <seb...@gmail.com>
> > wrote:
> > > > >> >> >
> > > > >> >> >> On 15 August 2013 14:16, Jason van Zyl <ja...@tesla.io>
> > wrote:
> > > > >> >> >> > What Sebb is doing is perfectly reasonable.
> > > > >> >> >>
> > > > >> >> >
> > > > >> >> > I agree. Checking that the source bundle is correct is good
> > > release
> > > > >> >> review
> > > > >> >> > practice.
> > > > >> >> >
> > > > >> >> > Thank you!
> > > > >> >> >>
> > > > >> >> >> > He's trying to assert that everything in the source ball
> > > > actually
> > > > >> >> comes
> > > > >> >> >> from source control and that no errant files have made their
> > way
> > > > into
> > > > >> >> the
> > > > >> >> >> distribution. Right now we cannot assert that the assembly
> > > plugin
> > > > has
> > > > >> >> not
> > > > >> >> >> wandered outside the checkout and pulled something else in,
> or
> > > > that
> > > > >> >> someone
> > > > >> >> >> didn't accidentally put something else in the distribution.
> I
> > > > think
> > > > >> this
> > > > >> >> >> unlikely but we can't assert otherwise right now which I
> > believe
> > > > is
> > > > >> >> Sebb's
> > > > >> >> >> point.
> > > > >> >> >>
> > > > >> >> >> It *has* already happened several times that I am aware of.
> > > > >> >> >>
> > > > >> >> >> The last few releases of the War plugin (various RMs &
> voters)
> > > > >> >> >> included at least one spurious file.
> > > > >> >> >> So it was not just a one-off packaging - and review -
> failure.
> > > > >> >> >> [See separate thread(s) for all the details; they are not
> > > germane
> > > > >> here.]
> > > > >> >> >>
> > > > >> >> >> The message is that mistakes happen even in automated
> > processes.
> > > > >> >> >> Which is why independent comparison of input and output is
> > > > valuable.
> > > > >> >> >>
> > > > >> >> >> > If we can embed the revision from which the assembly was
> > made
> > > in
> > > > >> the
> > > > >> >> >> assembly itself (and maybe the build number plugin is doing
> > this
> > > > >> >> already),
> > > > >> >> >> then a tool can be made to unpack the assembly, checkout the
> > > > revision
> > > > >> >> and
> > > > >> >> >> assert that everything in the source distribution comes from
> > > > source
> > > > >> >> control.
> > > > >> >> >> >
> > > > >> >> >> > If we can also assert that as part of each build all the
> > > license
> > > > >> files
> > > > >> >> >> are intact and headers are in place then I believe we're
> done
> > > with
> > > > >> >> >> provenance.
> > > > >> >> >> > Licenses are present, all files have valid license
> headers,
> > > all
> > > > >> files
> > > > >> >> >> present in the source distribution come from source control,
> > all
> > > > >> >> >> contributions to source control are from bonafide CLA
> carrying
> > > > Apache
> > > > >> >> >> committers because you don't get access to commit until the
> > CLA
> > > > is on
> > > > >> >> file.
> > > > >> >> >> >
> > > > >> >> >> > Sebb, reasonably accurate?
> > > > >> >> >>
> > > > >> >> >> Yes.
> > > > >> >> >>
> > > > >> >> >> One other point I made already is that I think the vote
> e-mail
> > > > needs
> > > > >> >> >> to be transparent to all, not just those on the PMC.
> > > > >> >> >> Links to the output from the release process are obviously
> > > > already in
> > > > >> >> >> the mail; what is missing is the input to the process, e.g..
> > SCM
> > > > >> >> >> coords.
> > > > >> >> >> Yes, it may be possible to dig out the details from the
> > archive,
> > > > but
> > > > >> >> >> that's not trivial.
> > > > >> >> >>
> > > > >> >> >
> > > > >> >> > I disagree.
> > > > >> >> >
> > > > >> >> > If we focus first on a "normal" release, one that succeeds on
> > the
> > > > >> first
> > > > >> >> > attempt, without a respin or deleting of tags.
> > > > >> >> > To check provenance you would do this:
> > > > >> >> >
> > > > >> >> > 1. download the source bundle
> > > > >> >> > 2. unpack the source bundle
> > > > >> >> > 3. checkout the corresponding source code from the SCM
> > > > >> >> > 4. compare the two trees
> > > > >> >> >
> > > > >> >> > Right so far?
> > > > >> >> >
> > > > >> >> > What you want, if I understand you correctly, is to have the
> > SCM
> > > > URL
> > > > >> in
> > > > >> >> the
> > > > >> >> > vote email. So that you can give that to your SCM client in
> > step
> > > 3.
> > > > >> >>
> > > > >> >> Yes.
> > > > >> >>
> > > > >> >> > With the process we use here at the Maven project, the SCM
> URL
> > is
> > > > in
> > > > >> the
> > > > >> >> > pom.xml file that sits in the root directory of the unpacked
> > > source
> > > > >> >> bundle.
> > > > >> >> > All you need to do is open the file and copy the URL from
> > there.
> > > I
> > > > >> still
> > > > >> >> > fail to see how that is so much harder than to copy the URL
> > from
> > > an
> > > > >> >> email.
> > > > >> >> >
> > > > >> >> > That is if you don't know the conventions that we use, by way
> > of
> > > > the
> > > > >> >> > Release Plugin. The tag will always be in the format
> > > > >> >> > ${project.artifactId}-${project.version}
> > > > >> >> >
> > > > >> >>
> > > > >> >> My point is that it should be completely transparent, even to
> > > outside
> > > > >> >> reviewers.
> > > > >> >>
> > > > >> >
> > > > >> > I guess that this is the point that we'll have to agree to
> > disagree
> > > > on.
> > > > >> My
> > > > >> > view is that if someone wants to to review a release from the
> > Maven
> > > > >> > project, they'd have to have a basic understanding of how Maven
> > > works
> > > > and
> > > > >> > how we do releases in the Maven project. That includes what the
> > > > Release
> > > > >> > Plugin is and how it works.
> > > > >>
> > > > >> Why does the release tool matter?
> > > > >>
> > > > >
> > > > > It is not the tool itself that matters, but rather what the tools
> > does.
> > > > > Since the Release plugin automates a lot of the tasks involved when
> > > > doing a
> > > > > release, it can appear to make things less transparent. Therefor a
> > > > > knowledge about what it does is needed to make it transparent.
> > > >
> > > > That really is not the point.
> > > >
> > > > It's possible to create the same outputs from the same inputs using
> > > > all sorts of methods, manual or automated.
> > > >
> > > > The fact that it is a Maven release should not matter as far as the
> > > > source checking is concerned, except insofar as the staging area may
> > > > be different.
> > > >
> > > > Only the source release archives matter.
> > > >
> > >
> > > All of what you say above is true, but that is not what I'm talking
> > about.
> > > My focus is still on the 2.5 bullet in the process of *reviewing* a
> > source
> > > release, not it's creation.
> > >
> > > You want the SCM URL in the vote email. I'm arguing that that piece of
> > > information is already available to you in the source bundle, so there
> is
> > > not point in including it in the vote email. Knowing *what* the Release
> > > Plugin does makes you aware of this fact.
> > >
> > >
> > > >
> > > > > It's still an ASF release.
> > > > >>
> > > > >
> > > > > Yes, and we must adhere to all the requirements of an ASF release.
> > > There
> > > > > are however a lot of different ways to make an ASF compliant
> release.
> > > > Each
> > > > > PMC decides on a process for that, that works best for them.
> > > >
> > > > That's fine, the tool and process does not matter so long as the
> > > > output is correct.
> > > >
> > > > > It should not matter how the source release artifacts are
> generated.
> > > > >> The process of checking them is still the same.
> > > > >>
> > > > >> Of course if things go wrong, then it's important to know how the
> > SCM
> > > > >> input was assembled into the source archives in order to fix the
> > > > >> process.
> > > > >> But the release tool is completely irrelevant to the process of
> > > > >> checking the contents of the source archives.
> > > > >>
> > > > >
> > > > > See above.
> > > > >
> > > > >
> > > > >>
> > > > >> > Most people have their own checklist of stuff they do when
> > > reviewing a
> > > > >> > release. Would it be a good idea if we aggregate all those
> points
> > > on a
> > > > >> page
> > > > >> > on the Maven web site, under the development section? That would
> > > also
> > > > >> serve
> > > > >> > as a guide for "outside reviewers".
> > > > >>
> > > > >> Yes, though that is a separate issue.
> > > > >>
> > > > >
> > > > > Agreed.
> > > > >
> > > > >>
> > > > >> >> > Now, for a respun release thing are trickier. Here it might
> be
> > a
> > > > good
> > > > >> >> idea
> > > > >> >> > to include the revision number or hash, or whatever is unique
> > in
> > > > the
> > > > >> SCM
> > > > >> >> > being used.
> > > > >> >>
> > > > >> >> And how do you know from a vote e-mail that it is respun?
> > > > >> >>
> > > > >> >
> > > > >> > It should always say so in the subject of the vote email. Not
> sure
> > > if
> > > > >> that
> > > > >> > is written down somewhere, but that's how we have always done
> it.
> > If
> > > > it's
> > > > >> > missing I'll add it to our release process document.
> > > > >> >
> > > > >> >
> > > > >> >>
> > > > >> >> > Even though the code under review will always be under the
> > > > >> >> > latest tag in the above format (at least for Subversion).
> > > > >> >>
> > > > >> >> Until the next respin.
> > > > >> >>
> > > > >> >> If there is a respin, and reviewers are not following the
> e-mails
> > > > very
> > > > >> >> carefully, it would be quite easy to overlook an updated tag.
> > > > >> >>
> > > > >> >> This is all about making sure that it is really obvious what
> the
> > > > vote is
> > > > >> >> about.
> > > > >> >>
> > > > >> >
> > > > >> > Yes, that's why I agreed that it's a good idea to add the
> > > > revision/hash
> > > > >> > when doing a respin.
> > > > >> >
> > > > >> >
> > > > >> >>
> > > > >> >> >
> > > > >> >> >> Publishing the SCM coordinates in the mail is trivial to do,
> > and
> > > > >> shows
> > > > >> >> >> that the input is an important part of the review process.
> > > > >> >> >> Having the information in the mail thread is also useful for
> > the
> > > > >> >> archives.
> > > > >> >> >>
> > > > >> >> >
> > > > >> >> > As others have said before, we aim to automate the release
> > > process
> > > > as
> > > > >> >> much
> > > > >> >> > as possible. Therefor even a seemingly minor addition will be
> > > > >> questioned,
> > > > >> >> > as you have noticed, before it is included in our process.
> > > > >> >> >
> > > > >> >> > Can you explain why the information is useful for the
> archives?
> > > > I've
> > > > >> seen
> > > > >> >> > you mentioned that before. Isn't that moot once the release
> is
> > > > >> approved?
> > > > >> >> > The tag will be in Subversion for the forseable future and
> > noone
> > > > will
> > > > >> >> touch
> > > > >> >> > it. What am I missing?
> > > > >> >>
> > > > >> >> Why would a release need to be revisited?
> > > > >> >> Perhaps someone is complaining that one of our releases
> contains
> > > code
> > > > >> >> it should not.
> > > > >> >> If that is the case, it helps to have the evidence of the
> release
> > > > vote
> > > > >> >> in plain sight.
> > > > >> >>
> > > > >> >
> > > > >> > Sure it helps in those cases. But the evidence in our case is in
> > the
> > > > the
> > > > >> > source bundle itself, which is even better in my opinion. There
> > you
> > > > have
> > > > >> > the tag in the POM file.
> > > > >>
> > > > >> However, the link to the staging repo is temporary.
> > > > >> Once the repo is published, the staging repo is deleted and there
> is
> > > > >> no direct route to the pom from the vote e-mail.
> > > > >>
> > > > >
> > > > > Once the staging repo is promoted, its content is moved to the real
> > > > > repository. So the source bundle is available there for anyone who
> > > wants
> > > > to
> > > > > track down the complete contents of a previous release.
> > > >
> > > > However that is not the canonical location for source releases;
> source
> > > > releases MUST be released via the ASF mirror system.
> > > >
> > >
> > > So, go download it from the mirror system then. I fail to see how that
> is
> > > relevant to this discussion.
> > >
> > >
> > > > > Again this is where a bit of knowledge of what the Release Plugin
> > does
> > > > > helps you. A release done with the Release Plugin will always be
> > > > available
> > > > > at
> > > > >
> > > >
> > >
> >
> https://repository.apache.org/content/repositories/releases/${project.groupId}/${project.artifactId}/${project.version}/${project.artifactId}-${project.version}-source-release.zip
> > > > > where project.groupId has had '.' replaced by '/'.
> > > >
> > > > AIUI the name is not controlled by the Release Plugin.
> > > >
> > > > The first part of the name is determined by Maven Convention and ASF
> > > > hosting.
> > > > The -source-release.zip suffix depends on settings outside the
> Release
> > > > plugin.
> > > >
> > > > Apache Commons sometimes uses the Release Plugin, but our archives
> are
> > > > called -src.zip and -src.tar.gz
> > > >
> > >
> > > Okay, I'll rephrase that:
> > >
> > > Again this is where a bit of knowledge of what the Release Plugin does
> > > *during a release from the Apache Maven project* does help you.
> > >
> > > Is that clear enough?
> > >
> > >
> > > >
> > > > >
> > > > >> > Note that I'm not talking about respins here, that's another
> > story.
> > > > >>
> > > > >> >
> > > > >> >>
> > > > >> >> >
> > > > >> >> >>
> > > > >> >> >> > On Aug 15, 2013, at 9:01 AM, Chris Graham <
> > > chrisgw...@gmail.com
> > > > >
> > > > >> >> wrote:
> > > > >> >> >> >
> > > > >> >> >> >>
> > > > >> >> >> >>
> > > > >> >> >> >> Sent from my iPhone
> > > > >> >> >> >>
> > > > >> >> >> >> On 15/08/2013, at 10:05 PM, sebb <seb...@gmail.com>
> wrote:
> > > > >> >> >> >>
> > > > >> >> >> >>> On 15 August 2013 10:08, Chris Graham <
> > chrisgw...@gmail.com
> > > >
> > > > >> wrote:
> > > > >> >> >> >>>> What sebb does not appear to have understood or
> accepted,
> > > as
> > > > >> >> Stephen
> > > > >> >> >> has
> > > > >> >> >> >>>> endlessly pointed out, is that we vote on the source
> > > bundle,
> > > > >> not a
> > > > >> >> scm
> > > > >> >> >> >>>> revision, and that, strictly speaking a SCM is not even
> > > > required
> > > > >> >> >> (however
> > > > >> >> >> >>>> sensible it is to use one).
> > > > >> >> >> >>>>
> > > > >> >> >> >>>> He wants a tree and a revision so that we can compare
> > > between
> > > > >> >> >> releases,
> > > > >> >> >> >>>> where what he should be doing, strictly speaking, is
> > > > comparing
> > > > >> >> source
> > > > >> >> >> tar
> > > > >> >> >> >>>> balls, as that is what we really are voting on.
> > > > >> >> >> >>>
> > > > >> >> >> >>> I agree that what is released (and voted on) are the
> > source
> > > > >> >> tarballs.
> > > > >> >> >> >>> And any such tarballs should be identical (barring
> > possibly
> > > > >> >> different
> > > > >> >> >> >>> EOL settings for text files).
> > > > >> >> >> >>>
> > > > >> >> >> >>> However, that is only one of the checks that need to be
> > > made.
> > > > >> >> >> >>>
> > > > >> >> >> >>> The PMC also needs to ensure that the files are being
> > > released
> > > > >> under
> > > > >> >> >> >>> the correct license.
> > > > >> >> >> >>
> > > > >> >> >> >> Are not the licenses in the source that is in the source
> > > > tarball?
> > > > >> >> >> >>
> > > > >> >> >> >> If so, can not the rat plugin or similar be used to check
> > the
> > > > >> >> >> compliance?
> > > > >> >> >> >>
> > > > >> >> >> >>> I contend that the only practical way to check the
> > licences
> > > > is to
> > > > >> >> >> >>> compare the source tarball(s) with the files in SCM.
> > > > >> >> >> >>>
> > > > >> >> >> >>> [The files should only be added to SCM if the license is
> > OK,
> > > > so
> > > > >> the
> > > > >> >> >> >>> SCM tag acts as a database of validated source files.]
> > > > >> >> >> >>>
> > > > >> >> >> >>> The SVN revision / Git hash are needed to ensure
> > uniqueness.
> > > > >> >> >> >>>
> > > > >> >> >> >>>
> > > > >> >>
> > > ---------------------------------------------------------------------
> > > > >> >> >> >>> To unsubscribe, e-mail:
> dev-unsubscr...@maven.apache.org
> > > > >> >> >> >>> For additional commands, e-mail:
> > dev-h...@maven.apache.org
> > > > >> >> >> >>>
> > > > >> >> >> >>
> > > > >> >> >> >>
> > > > >>
> > ---------------------------------------------------------------------
> > > > >> >> >> >> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> > > > >> >> >> >> For additional commands, e-mail:
> dev-h...@maven.apache.org
> > > > >> >> >> >>
> > > > >> >> >> >
> > > > >> >> >> > Thanks,
> > > > >> >> >> >
> > > > >> >> >> > Jason
> > > > >> >> >> >
> > > > >> >> >> > ----------------------------------------------------------
> > > > >> >> >> > Jason van Zyl
> > > > >> >> >> > Founder,  Apache Maven
> > > > >> >> >> > http://twitter.com/jvanzyl
> > > > >> >> >> > ---------------------------------------------------------
> > > > >> >> >> >
> > > > >> >> >> > There's no sense in being precise when you don't even know
> > > what
> > > > >> you're
> > > > >> >> >> talking about.
> > > > >> >> >> >
> > > > >> >> >> >  -- John von Neumann
> > > > >> >> >> >
> > > > >> >> >> >
> > > > >> >> >> >
> > > > >> >> >> >
> > > > >> >> >> >
> > > > >> >> >> >
> > > > >> >> >>
> > > > >> >> >>
> > > > ---------------------------------------------------------------------
> > > > >> >> >> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> > > > >> >> >> For additional commands, e-mail: dev-h...@maven.apache.org
> > > > >> >> >>
> > > > >> >> >> --
> > > > >> >> >> Dennis Lundberg <dev-h...@maven.apache.org>
> > > > >> >> >>
> > > > >> >>
> > > > >> >>
> > > ---------------------------------------------------------------------
> > > > >> >> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> > > > >> >> For additional commands, e-mail: dev-h...@maven.apache.org
> > > > >> >>
> > > > >> >> --
> > > > >> >> Dennis Lundberg <dev-h...@maven.apache.org>
> > > > >> >>
> > > > >>
> > > > >>
> > ---------------------------------------------------------------------
> > > > >> To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> > > > >> For additional commands, e-mail: dev-h...@maven.apache.org
> > > > >>
> > > > >> --
> > > > >> Dennis Lundberg <dev-h...@maven.apache.org>
> > > > >>
> > > >
> > > > ---------------------------------------------------------------------
> > > > To unsubscribe, e-mail: dev-unsubscr...@maven.apache.org
> > > > For additional commands, e-mail: dev-h...@maven.apache.org
> > > >
> > > > --
> > > > Dennis Lundberg <dev-h...@maven.apache.org>
> > > >
> > >
> >
>

Reply via email to