NetBSD-Users archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pkgsrc net/mldonkey (is broken)



Germain Le Chapelain <germain%lanvaux.fr@localhost> writes:

> On Tue, 12 Nov 2019 18:48:29 -0500
> Greg Troxel <gdt%lexort.com@localhost> wrote:
>
>> Germain Le Chapelain <germain%lanvaux.fr@localhost> writes:
>> 
>> > I filled in pkg/54695
>> >
>> > I had always assumed that all package tagged with these quarter tag were all verified to build properly :|
>> > My world is shattered 
>>
>> I am guessing you are joking...
>
> No, I would certainly not joke on this mailing list:
> In some aspects the OS is even more important than religion!
>
> I thought broken packages eventually moved to pkgsrc-wip.
> That was actually one of my suggestions for the problem at hand.

If a package is broken *on all platforms* for an extended period, then
yes it may get moved to wip, or deleted.

But 'broken' is non-binary.  Pkgsrc supports N operating sytems, M
versions of those, O cpus, and P compilers.  The total number of ways it
can be used is vast.

>> But seriously, the tag is applied to the tree, and it is how it is.
>
> I really wonder to which purpose, then.

It's really pretty straightforward.  During a quarter, people change
pkgsrc, and most changes are for the better.  Depending on the person,
there is more or less testing of each update.  Some things get broken,
and many things are improved.  During the freeze, there is a general
notion of checking things and trying to fix problems, and then it is
declared not so much "good enough" but "as good as it is going to get".

We do not tag individual packages after verifying that they build (and
pass their own tests, or some other functional tests) ont he platform
you care about.  (Tagging partial trees is these days viewed as an
artifact of CVS; most VCSes support whole-repo tagging only now.)[

> I do understand it relates to the announcement email on netbsd-announce.
>
> You had me look into it: https://www.netbsd.org/docs/pkgsrc/pkgsrc.txt
>
>  << * TAG is either 20xxQy for a stable branch, or head for packages built from
>       the HEAD branch. >>

Yes, and that's right.  Note that "stable branch" does not mean "branch
on which everything builds and works".  It means "branch which is only
changed following a configuration management process".

> I knew I did not make that up!
> Now, one may say that MLDonkey has stably been broken :) 

Usually, broken pacakges are due to upstream packages which do not
build.

So I would say: if you download the upstream release corresponding to
what's packaged, and build it from source, following its instructions,
does it build and work?   If not, upstream is broken, and you should
address the problems there.

> Nevertheless the expectation on my side is that packages would build.

That is an incorrect expectation!

Fixes are welcome.

> Anyways, I'll take a look and update the PR; as well as possibly run
> these tests on our server.

Great - pkgsrc is an effort of a large number of people and fixes are
welcome.


Looking at the PR, this seems to be about ocaml.  ocaml seems to be a
language family with effectively frequent changes in language
specification.  This in my view imposes a duty on programs that are
written in ocaml to have new releases that are buildable with upcoming
compiler versions, while still building with the old ones, and to have
these new versions be sufficiently compatible that the updates are
trivial.   In practice, this doesn't happen :-(


Now, one could argue that pkgsrc  should have N versions of ocaml at
once, and be able to build everything with different ones, like python.
That's a vast amount of work, and if you want to start trying to support
that in pkgsrc-wip, we hand out commit privileges there pretty easily.
But really you are running into a problem in ocaml culture.



Home | Main Index | Thread Index | Old Index