librelist archives

« back to archive

Reject libraries that nothing depends_on?

Reject libraries that nothing depends_on?

From:
Adam Vandenberg
Date:
2011-12-13 @ 04:48
Request for comment: that Homebrew should reject form the main repo
any pure-libraries that nothing else in the repo `depends_on`.

Rationale:
If we accept version "x.y" of a library that doesn't have something
depending on it, then we have no idea if newer major (or minor)
versions of that library will break other things downstream that
depend on it.

Thus, if there are no executables that go with it, we should not
accept it into core (though Homebrew-alt would be OK, until we get
multiple-repo support going for real.)

Thoughts?

Example: https://github.com/mxcl/homebrew/pull/6368

I bring this up as a point of discussion, not a decision.

Re: [homebrew] Reject libraries that nothing depends_on?

From:
Max Howell
Date:
2011-12-13 @ 14:58
> Request for comment: that Homebrew should reject form the main repo
> any pure-libraries that nothing else in the repo `depends_on`.
> 
> Rationale:
> If we accept version "x.y" of a library that doesn't have something
> depending on it, then we have no idea if newer major (or minor)
> versions of that library will break other things downstream that
> depend on it.

Have there been many examples of this kind of problem?

Re: [homebrew] Reject libraries that nothing depends_on?

From:
Adam Vandenberg
Date:
2011-12-13 @ 17:03
On Tue, Dec 13, 2011 at 6:58 AM, Max Howell <max@methylblue.com> wrote:
>> Request for comment: that Homebrew should reject form the main repo
>> any pure-libraries that nothing else in the repo `depends_on`.
>>
>> Rationale:
>> If we accept version "x.y" of a library that doesn't have something
>> depending on it, then we have no idea if newer major (or minor)
>> versions of that library will break other things downstream that
>> depend on it.
>
> Have there been many examples of this kind of problem?

As an example: there was a JsonCpp library that nothing depend on,
that broke things between 1.x and 2.x.

And on another axis, I'm not familiar enough with a lot of libs to
know if they are "notable" enough to take on as a maintenance burden.

I realize things like Boost and Qt are huge and useful, but we know
they are useful, and we take the pain of patching other brews when
deprecated things in Boost fall out in newer versions.

If we're OK with less-used libraries going into core, then I'm going
to go through the older stuff and basically merge in anything that
"seems to compile on my single machine".

Re: [homebrew] Reject libraries that nothing depends_on?

From:
Mike McQuaid
Date:
2011-12-13 @ 17:23
On 13 Dec 2011, at 17:03, Adam Vandenberg wrote:

> If we're OK with less-used libraries going into core, then I'm going
> to go through the older stuff and basically merge in anything that
> "seems to compile on my single machine".

I think it's also worth looking at other distributions e.g. Debian and 
seeing if they've included the library.

--
Mike McQuaid
http://mikemcquaid.com

Re: [homebrew] Reject libraries that nothing depends_on?

From:
Charlie Sharpsteen
Date:
2011-12-13 @ 17:57
On Tue, Dec 13, 2011 at 9:23 AM, Mike McQuaid <mike@mikemcquaid.com> wrote:

>
> On 13 Dec 2011, at 17:03, Adam Vandenberg wrote:
>
> > If we're OK with less-used libraries going into core, then I'm going
> > to go through the older stuff and basically merge in anything that
> > "seems to compile on my single machine".
>
> I think it's also worth looking at other distributions e.g. Debian and
> seeing if they've included the library.


Seems like a good criteria for inclusion.

-Charlie

Re: [homebrew] Reject libraries that nothing depends_on?

From:
Luis Felipe Strano Moraes
Date:
2011-12-13 @ 18:06
On Tue, Dec 13, 2011 at 3:57 PM, Charlie Sharpsteen <chuck@sharpsteen.net>wrote:

>
>
> On Tue, Dec 13, 2011 at 9:23 AM, Mike McQuaid <mike@mikemcquaid.com>wrote:
>
>>
>> On 13 Dec 2011, at 17:03, Adam Vandenberg wrote:
>>
>> > If we're OK with less-used libraries going into core, then I'm going
>> > to go through the older stuff and basically merge in anything that
>> > "seems to compile on my single machine".
>>
>> I think it's also worth looking at other distributions e.g. Debian and
>> seeing if they've included the library.
>
>
> Seems like a good criteria for inclusion.
>

Debian has over 30000 packages, somehow I think that it would basically
mean anything would be included.

I failed to understand what is the problem with having libraries available
that are not used by any application on Homebrew. As a developer, this is a
really common use-case for me, to use Brew to install something that I need
in order to compile something else.

I'd really like still have the option of having those libraries available.

Best regards,
Luis Felipe



>
> -Charlie
>



-- 
Luís Felipe Strano Moraes
http://www.strano.org

Re: [homebrew] Reject libraries that nothing depends_on?

From:
Nehemiah Dacres
Date:
2011-12-20 @ 02:54
On Tue, Dec 13, 2011 at 12:06 PM, Luis Felipe Strano Moraes <
luis.strano@gmail.com> wrote:

> As a developer, this is a really common use-case for me, to use Brew to
> install something that I need in order to compile something else.



My favorite example is Qt but I can see where the OP is comming from; from
the webpage, "Homebrew is the easiest and most flexible way to install the
UNIX tools Apple didn't include with OS X"  that doesn't include libraries.
However Qt never installed successfully for me using macports. Now that we
are dependancy resolving we are almost competing on feature set with
macports, i don't know what macports does that homebrew doesn't.
particularly now that we are installing python and supporting multiple
versions of things and such.

-- 


http://linux.slashdot.org/comments.pl?sid=2482108&cid=37752854

Re: [homebrew] Reject libraries that nothing depends_on?

From:
Charlie Sharpsteen
Date:
2011-12-13 @ 06:44
On Mon, Dec 12, 2011 at 8:48 PM, Adam Vandenberg <flangy@gmail.com> wrote:

> Request for comment: that Homebrew should reject form the main repo
> any pure-libraries that nothing else in the repo `depends_on`.
>
> Rationale:
> If we accept version "x.y" of a library that doesn't have something
> depending on it, then we have no idea if newer major (or minor)
> versions of that library will break other things downstream that
> depend on it.
>
> Thus, if there are no executables that go with it, we should not
> accept it into core (though Homebrew-alt would be OK, until we get
> multiple-repo support going for real.)
>
> Thoughts?
>

I'm not entirely sure. For example, I use Homebrew to build libraries that
are in turn used to build and package the TeXworks editor for OS X:

  http://code.google.com/p/texworks/downloads/list

The Homebrew philosophy of "go as far as possible using the OS X system
libraries" makes formulae ideal for building components that can be used to
create redistributable application bundles and frameworks. In the case of
TeXworks, Hunspell is a critical library for which `brew uses hunspell` is
empty.

I agree that we need some standards to cut down on the maintenance burden,
but on the other hand I can see cases where a formula nothing depends on
can have a far reaching impact if it is easily available to developers. I
guess my vote is: We shouldn't reject a formula solely because nothing
depends on it, but this might count as a heavy strike that needs
justification similar to a formula with no stable release that only
installs from HEAD.

-Charlie

Re: [homebrew] Reject libraries that nothing depends_on?

From:
Mike McQuaid
Date:
2011-12-13 @ 08:06
On 13 Dec 2011, at 06:44, Charlie Sharpsteen wrote:

> The Homebrew philosophy of "go as far as possible using the OS X system 
libraries" makes formulae ideal for building components that can be used 
to create redistributable application bundles and frameworks. In the case 
of TeXworks, Hunspell is a critical library for which `brew uses hunspell`
is empty.
> 
> I agree that we need some standards to cut down on the maintenance 
burden, but on the other hand I can see cases where a formula nothing 
depends on can have a far reaching impact if it is easily available to 
developers. I guess my vote is: We shouldn't reject a formula solely 
because nothing depends on it, but this might count as a heavy strike that
needs justification similar to a formula with no stable release that only 
installs from HEAD.

Agreed. As a C++ developer it's useful to be able to pull in random 
libraries on occasion. You can probably see the use case for having e.g. 
Qt or Boost even if there were no dependencies on them.

--
Mike McQuaid
http://mikemcquaid.com

Re: [homebrew] Reject libraries that nothing depends_on?

From:
Misty De Meo
Date:
2011-12-13 @ 15:01
I can also see that a `brew uses foo` basis could unintentionally
exclude libs that exist mainly to be used in non-C languages. We have
some Python bindings that can't be properly installed with
pip/easy_install, for example, but all the software that uses them is
out of scope for Homebrew.

On Tue, Dec 13, 2011 at 2:06 AM, Mike McQuaid <mike@mikemcquaid.com> wrote:
>
> On 13 Dec 2011, at 06:44, Charlie Sharpsteen wrote:
>
>> The Homebrew philosophy of "go as far as possible using the OS X system
libraries" makes formulae ideal for building components that can be used 
to create redistributable application bundles and frameworks. In the case 
of TeXworks, Hunspell is a critical library for which `brew uses hunspell`
is empty.
>>
>> I agree that we need some standards to cut down on the maintenance 
burden, but on the other hand I can see cases where a formula nothing 
depends on can have a far reaching impact if it is easily available to 
developers. I guess my vote is: We shouldn't reject a formula solely 
because nothing depends on it, but this might count as a heavy strike that
needs justification similar to a formula with no stable release that only 
installs from HEAD.
>
> Agreed. As a C++ developer it's useful to be able to pull in random 
libraries on occasion. You can probably see the use case for having e.g. 
Qt or Boost even if there were no dependencies on them.
>
> --
> Mike McQuaid
> http://mikemcquaid.com
>

Re: [homebrew] Reject libraries that nothing depends_on?

From:
Jack Nagel
Date:
2011-12-13 @ 05:42
On Mon, Dec 12, 2011 at 10:48 PM, Adam Vandenberg <flangy@gmail.com> wrote:
> Request for comment: that Homebrew should reject form the main repo
> any pure-libraries that nothing else in the repo `depends_on`.

> Thoughts?

I'm not sure how I feel about "executables and the libraries they
depend on" as the criteria for acceptance, though now that I think
about it most libraries that (multiple) people want to develop against
are already dependencies of some other tool, so I guess it makes
sense.

The things that I don't really like merging are these one-file {shell,
ruby, python} scripts that someone has cooked up and could really be
distributed with a shell one liner using a gist and curl. It's not fun
to say no (for me, at least) but I think in a lot of cases the person
who authored and submitted it is probably the only person using it.

But, I think we should wait to begin rejecting these things until we
have multi-repo support. Perhaps we can slow down on merging them
until then, but we haven't exactly been racing to merge them, either.

Jack

Re: [homebrew] Reject libraries that nothing depends_on?

From:
Trevor Wennblom
Date:
2011-12-13 @ 04:54
On Dec 12, 2011, at 10:48 PM, Adam Vandenberg wrote:

> Request for comment: that Homebrew should reject form the main repo
> any pure-libraries that nothing else in the repo `depends_on`.

makes sense to me, it would seem to serve as at least some measure of 
control to prevent homebrew from becoming a dumping ground for possibly 
unused libraries.