quickstep-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Marc Spehlmann <spehl.apa...@gmail.com>
Subject Re: release: third_party/
Date Mon, 09 Jan 2017 21:39:48 GMT
Also, IWYU script was written by Shoban

On Mon, Jan 9, 2017 at 3:39 PM, Marc Spehlmann <spehl.apache@gmail.com>
wrote:

> Thanks for finding these! Impala is more or less doing what we're doing,
> except it doesn't use submodules. One thing is that if you download their
> release (http://impala.apache.org/downloads.html) it's not clear where
> all the thirdparty dependencies went.
>
> On Mon, Jan 9, 2017 at 12:00 PM, Hakan Memisoglu <
> hakanmemisoglu@apache.org> wrote:
>
>> Hi Marc,
>>
>> Here are two Apache projects using C++:
>>
>> Impala: https://github.com/cloudera/Impala <https://github.com/cloudera/I
>> mpala>
>>
>> Kudu: https://github.com/cloudera/kudu <https://github.com/cloudera/kudu>
>>
>> Kudu has a download script for dependencies in third_party folder.
>> It seems to be a good example for our case.
>>
>> > On Jan 8, 2017, at 2:17 PM, Marc Spehlmann <spehl.apache@gmail.com>
>> wrote:
>> >
>> > Regarding the IWYU script. It sounds safe then. If anything, maybe it
>> > belongs in another folder. ("tools/" ?)
>> >
>> > On Thu, Jan 5, 2017 at 3:07 PM, Julian Hyde <jhyde@apache.org> wrote:
>> >
>> >> Better still, make a release depend only releases. Snapshots and even
>> >> commit IDs can disappear.
>> >>
>> >> And consider the state of the IP. In Apache and many other open source
>> >> projects, the IP is only guaranteed "clean" when it has been formally
>> >> released.
>> >>
>> >> Sorry this is all painful. But conversely, this is the value-add of
>> >> making a release.
>> >>
>> >> On Thu, Jan 5, 2017 at 11:57 AM, Harshad Deshmukh <harshad@cs.wisc.edu
>> >
>> >> wrote:
>> >>>> Also, since you’re relying on the latest googletest, protobuf
and re2
>> >> your
>> >>>> release will work today and will break at some point in the future.
>> >> That’s
>> >>>> not OK. A release can depend only on releases, not snapshots or
live
>> >>>> repositories.
>> >>>
>> >>> Thanks for pointing that. It is possible to fetch a particular release
>> >>> (based on its commit ID) of the submodule. We will add the release
>> >> commit ID
>> >>> to the git submodule file.
>> >>>
>> >>>
>> >>>
>> >>> On 01/05/2017 01:44 PM, Julian Hyde wrote:
>> >>>>
>> >>>> Git sub-modules are useful, I agree. But for a source release, the
>> goal
>> >> is
>> >>>> that someone should be able to download the source tar-ball and
go:
>> >>>>
>> >>>> $ curl -O …/apache-quickstep-x.x-incubating.tar.gz
>> >>>> $ tar xvfz apache-quickstep-x.x-incubating.tar.gz
>> >>>> $ cd apache-quickstep-x.x-incubating/build
>> >>>> $ ./download-thirdparty.sh
>> >>>> $ cmake etc.
>> >>>>
>> >>>> I tried to find other Apache projects that use git submodules and
see
>> >> what
>> >>>> they do for source releases. Not much luck. Maybe someone else can
>> find
>> >>>> something.
>> >>>>
>> >>>> Also, since you’re relying on the latest googletest, protobuf
and re2
>> >> your
>> >>>> release will work today and will break at some point in the future.
>> >> That’s
>> >>>> not OK. A release can depend only on releases, not snapshots or
live
>> >>>> repositories.
>> >>>>
>> >>>> Julian
>> >>>>
>> >>>>
>> >>>>
>> >>>>> On Jan 5, 2017, at 11:03 AM, Harshad Deshmukh <harshad@cs.wisc.edu>
>> >>>>> wrote:
>> >>>>>
>> >>>>> Thanks for the review Julian.
>> >>>>>
>> >>>>> For some of the third party libraries used in Quickstep (e.g.
>> >> googletest,
>> >>>>> protobuf and re2) we use the submodules feature of git. For
such
>> >> libraries,
>> >>>>> the developer has to initialize the submodule only once, which
pulls
>> >> code
>> >>>>> from the third party repo to the Quickstep third party directory.
>> >>>>>
>> >>>>> I don't know of a centralized repo for C++ projects. Does the
git
>> >>>>> submodule method sound similar to the maven central approach
you
>> >> mentioned?
>> >>>>>
>> >>>>> On 01/05/2017 12:43 PM, Julian Hyde wrote:
>> >>>>>>
>> >>>>>> I took a quick look at third_party and there don’t seem
to be any
>> >>>>>> binaries in there. That’s good. You definitely cannot
include
>> >> binaries in a
>> >>>>>> source release.
>> >>>>>>
>> >>>>>> The more you can remove from third_party, the better. It
doesn’t
>> have
>> >> to
>> >>>>>> be done this release, but the less IP there is to review,
the
>> easier
>> >> for
>> >>>>>> everyone.
>> >>>>>>
>> >>>>>> Consider pulling from an external source the first time
the
>> developer
>> >>>>>> builds in a sandbox, then apply patches. The patches will
be the
>> only
>> >> thing
>> >>>>>> checked in to quickstep. (My expertise is in Java projects,
which
>> >> these days
>> >>>>>> get their dependencies from a Maven repo such as Maven central;
I
>> >> don’t know
>> >>>>>> whether there is an equivalent place to pull C and C++ source
code.
>> >> Might be
>> >>>>>> worth a review of what other C and C++ based Apache projects
do for
>> >> their
>> >>>>>> third-party dependencies.)
>> >>>>>>
>> >>>>>> Julian
>> >>>>>>
>> >>>>>>
>> >>>>>>> On Jan 5, 2017, at 9:43 AM, Marc Spehlmann <
>> spehl.apache@gmail.com>
>> >>>>>>> wrote:
>> >>>>>>>
>> >>>>>>> That seems to be the repo with the LLVM code for implementing
>> IWYU. I
>> >>>>>>> think
>> >>>>>>> what we have in our repo is scripts ontop of that library.
I'm
>> >>>>>>> wondering
>> >>>>>>> where the scripts came from.
>> >>>>>>>
>> >>>>>>> Thanks,
>> >>>>>>> Marc
>> >>>>>>>
>> >>>>>>> On Thu, Jan 5, 2017 at 10:50 AM, Harshad Deshmukh <
>> >> harshad@cs.wisc.edu>
>> >>>>>>> wrote:
>> >>>>>>>
>> >>>>>>>> Hi Marc,
>> >>>>>>>>
>> >>>>>>>> How about this one for IWYU?
>> >>>>>>>>
>> >>>>>>>> https://github.com/include-what-you-use/include-what-you-use
>> >>>>>>>> /blob/master/LICENSE.TXT
>> >>>>>>>>
>> >>>>>>>>
>> >>>>>>>> On 01/05/2017 10:43 AM, Marc Spehlmann wrote:
>> >>>>>>>>
>> >>>>>>>>> I double checked the libraries in thirdy_party.
They adhere to
>> >>>>>>>>> Apache's
>> >>>>>>>>> 3rd
>> >>>>>>>>> party requirement as they are all apache 2 or
opensourced by
>> >> Google.
>> >>>>>>>>> The
>> >>>>>>>>> only issue I saw was that IWYU has no documentation.
Anyone
>> know of
>> >>>>>>>>> its
>> >>>>>>>>> source?
>> >>>>>>>>>
>> >>>>>>>>> Library
>> >>>>>>>>>
>> >>>>>>>>> Ver
>> >>>>>>>>>
>> >>>>>>>>> License
>> >>>>>>>>>
>> >>>>>>>>> Notes
>> >>>>>>>>>
>> >>>>>>>>> benchmark
>> >>>>>>>>>
>> >>>>>>>>> Apache 2.0
>> >>>>>>>>>
>> >>>>>>>>> cpplint
>> >>>>>>>>>
>> >>>>>>>>> Google
>> >>>>>>>>>
>> >>>>>>>>> Header states that reuse is unconditional so
long as the
>> copyright
>> >>>>>>>>> header
>> >>>>>>>>> stays intact.
>> >>>>>>>>>
>> >>>>>>>>> Farmhash
>> >>>>>>>>>
>> >>>>>>>>> Google
>> >>>>>>>>>
>> >>>>>>>>> No restrictions so long as COPYING file is preserved.
See
>> COPYING
>> >>>>>>>>>
>> >>>>>>>>> gflags
>> >>>>>>>>>
>> >>>>>>>>> Google
>> >>>>>>>>>
>> >>>>>>>>> No restrictions so long as COPYING file is preserved.
See
>> COPYING
>> >>>>>>>>>
>> >>>>>>>>> glog
>> >>>>>>>>>
>> >>>>>>>>> Google
>> >>>>>>>>>
>> >>>>>>>>> No restrictions so long as COPYING file is preserved.
See
>> COPYING
>> >>>>>>>>>
>> >>>>>>>>> gtest
>> >>>>>>>>>
>> >>>>>>>>> Google
>> >>>>>>>>>
>> >>>>>>>>> No restrictions so long as COPYING file is preserved.
See
>> COPYING
>> >> in
>> >>>>>>>>> subprojects.
>> >>>>>>>>>
>> >>>>>>>>> gperftools
>> >>>>>>>>>
>> >>>>>>>>> Google
>> >>>>>>>>>
>> >>>>>>>>> No restrictions so long as COPYING file is preserved.
>> >>>>>>>>>
>> >>>>>>>>> iwyu
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>>> No license present
>> >>>>>>>>>
>> >>>>>>>>> linenoise
>> >>>>>>>>>
>> >>>>>>>>> Google
>> >>>>>>>>>
>> >>>>>>>>> No restrictions so long as LICENSE file is preserved.
>> >>>>>>>>>
>> >>>>>>>>> protobuf
>> >>>>>>>>>
>> >>>>>>>>> Google
>> >>>>>>>>>
>> >>>>>>>>> No restrictions so long as LICENSE file is preserved.
>> >>>>>>>>>
>> >>>>>>>>> RE2
>> >>>>>>>>>
>> >>>>>>>>> Google
>> >>>>>>>>>
>> >>>>>>>>> No restrictions so long as LICENSE file is preserved.
>> >>>>>>>>>
>> >>>>>>>>> tmb
>> >>>>>>>>>
>> >>>>>>>>> Apache 2.0
>> >>>>>>>>>
>> >>>>>>>>> README: TMB is part of the Quickstep project
(copyright Pivotal
>> >>>>>>>>> Software,
>> >>>>>>>>> Inc.) and is distributed under the same license
terms.
>> >>>>>>>>>
>> >>>>>>>>>
>> >>>>>>>> --
>> >>>>>>>> Thanks,
>> >>>>>>>> Harshad
>> >>>>>>>>
>> >>>>>>>>
>> >>>>> --
>> >>>>> Thanks,
>> >>>>> Harshad
>> >>>>>
>> >>>
>> >>> --
>> >>> Thanks,
>> >>> Harshad
>> >>>
>> >>
>>
>>
>

Mime
  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message