Re: [arch-dev-public] Add active Python versions to the repos

2020-11-26 Thread Filipe Laíns via arch-dev-public
On Thu, 2020-11-26 at 21:21 +0100, Jelle van der Waa wrote:
> On 21/11/2020 15:34, Filipe Laíns via arch-dev-public wrote:
> > Hi all,
> > 
> > I want to propose adding all active Python versions to [community], not
> > just the latest one. This would only entail adding the interpreter
> > itself, no other packages.
> > 
> > Having access to interpreters for older active versions is really
> > helpful for Python developers. This allows them to easily run test
> > suites against older versions. It is very common for developers to
> > maintain software against a couple major releases. Tools like tox or
> > nox are able to automate testing against multiple Python versions, just
> > needing the interpreter.
> > 
> > The current active Python releases are:
> >    - 3.9
> >    - 3.8
> >    - 3.7
> >    - 3.6
> >    - 2.7
> > 
> > The list can be found here[1].
> > 
> > So, I propose introducing 2 new packages:
> >    - python3.7
> >    - python3.6
> > 
> > And when we update the python package to 3.9:
> >    - python3.8
> 
> I am not super in favor of providing an old version, as we strive to 
> provide the latest and greatest. However some things come to mind:

We would still provide the latest and greatest :P

> * Does the Python foundation still maintain older Python versions and do 
> they provide proper security updates?

It depends on the version. Python 3.6 and 3.7 are in security maintenance
status.

I am okay limiting my proposal to interpreters which are getting security
updates, which at the time being doesn't change anything regarding the versions
affected.

It is also not clear in the proposal, but I have mentioned in the replies. I
only want the interpreters there as long as they do not give us any issues. If a
interpreter starts needing older dependencies or otherwise becomes a maintenance
burden, it would be removed.

> * This seems to be purely for Development right? Users would use this 
> Python version to bootstrap a virtualenv I guess?

The target is development, yes.
You are correct, users, or tools, could use the interpreter to bootstrap a
virtual environment using either virtualenv, which supports using external
interpreters, or the builtin venv module.

> 
> Greetings,
> 
> Jelle
> 

Cheers,
Filipe Laíns


signature.asc
Description: This is a digitally signed message part


Re: [arch-dev-public] Add active Python versions to the repos

2020-11-22 Thread Filipe Laíns via arch-dev-public
On Sun, 2020-11-22 at 11:45 -0500, Eli Schwartz via arch-dev-public wrote:
> On 11/22/20 10:05 AM, Filipe Laíns wrote:
> > On Sat, 2020-11-21 at 20:24 -0500, Eli Schwartz via arch-dev-public wrote:
> > > Your analysis is correct, it is indeed hell. I'm not sure why that is an
> > > argument in favor of doing even more of it though.
> > > 
> > > Now, if you were proposing to get rid of some of this, I could get
> > > behind that.
> > 
> > It was not an analysis, "hell" was an used here as an idiom.
> 
> https://i.imgur.com/axJmn.gif
> 
> You were unintentionally accurate.
> 
> > > > even Python.
> > > 
> > > I don't know if maybe you've missed the fact that we've spent like a
> > > year now aggressively upgrading or removing leaf packages depending on
> > > python2 in search of that glorious Promised Future where we can finally
> > > remove the python2 package itself?
> > 
> > I did not miss that. I absolutely want to see the python2 modules removed,
> > not
> > _necessarily_ the python2 interpreter.
> 
> Now I'm starting to see part of the reason why people are having a
> difference of opinions here.
> 
> I think I probably speak for a bunch of people when I say I'd like to
> see the interpreter dropped due to not being needed by any packages
> *and* being an end of life interpreter. The interpreter is only useful
> inasmuch as people use it to run software, so if we don't have any...
> 
> I expect by the time we finally remove all reverse dependencies for it,
> the gap between the python2 EOL and its removal from the distro will be
> quite a bit biger than it currently is.
> 
> > > And we're doing that even for a major incompatible release that most
> > > people argue is actually a different language.
> > > 
> > > I'm not sure how this suddenly became an argument to package a ton of
> > > point releases that aren't even incompatible.
> > 
> > Except they are... Python does not follow semver, only patch releases are
> > supposed to be compatible. They do try to keep breakage to a minimum, but it
> > definitely exists. One very obvious example is the introduction of "async"
> > and
> > "await" as reserved keywords. There are a bunch of other backwards
> > incompatible
> > changes, so yes, they are incompatible releases, to the point you could call
> > them different languages.
> 
> This is the first time I ever heard anyone describe "backwards
> incompatible changes means it is now a different programming language".

You literally mentioned that in your reply. Though I assume you meant more
significant change than what is being discussed. If the languages semantics are
different one could argue it is actually a different language. Anyway, this does
not really matter for the issue being discussed.

> I had backwards incompatible changes in a patchlevel bugfix in the
> python 3.8.x release line causing immediate traceback and SystemExit on
> a program's startup, does that mean every bugfix is now a different
> programming language?
> 
> (I mean this quite literally. Python bugfixed a function not working as
> expected under certain situations. The program it broke was working
> around the failure by manually doing $thing, the traceback happened when
> you try to do $thing twice.)
> 
> > > > I don't think having people opening bugs because they are
> > > > deliberately using an older version of Python is a big problem. It
> > > > hasn't been for any of the other languages, I don't think it will be
> > > > here.
> > > > I think this is an hypothetical that doesn't really materialize into
> > > > reality.
> > > 
> > > You're proposing something far beyond the scope of what we do for other
> > > languages, and ignoring that for other languages we only do it if driven
> > > to in desperation because another official repository package depends on
> > > it.
> > > 
> > > We don't introduce leaf packages of ancient versions of currently
> > > packaged interpreters just for fun. I don't even think anyone else does
> > > that either.
> > 
> > That was not of the point of me bringing up other languages. The whole point
> > of
> > me bringing up other languages was to show that Andreas' concern is unlikely
> > to
> > materialize into reality.
> 
> You think no one reports bugs for python-* packages that we should
> provide the python2 version? I promise you, you're wrong. I've closed
> those bugs, so I know they exist.

That is not "users raising bugs that something doesn't work with an older
version of python", and is not what I argued against.

> You specifically brought up Java and Javascript, languages where each
> application is forced to vendor their entire dependency list rather than
> using system modules. For this reason, people don't report the kind of
> bugs Andreas is concerned about for Java/nodejs...

They are not necessarily forced, but whatever, just ignore that.

> So I assumed you could not possibly be talking about Andreas' concern,
> and I responded somewhat tangentially myself. We can, of course, 

Re: [arch-dev-public] Add active Python versions to the repos

2020-11-22 Thread Filipe Laíns via arch-dev-public
On Sun, 2020-11-22 at 09:43 -0600, Doug Newgard via arch-dev-public wrote:
> On Sun, 22 Nov 2020 15:32:22 +
> Filipe Laíns via arch-dev-public  wrote:
> 
> > On Sun, 2020-11-22 at 09:13 -0600, Doug Newgard via arch-dev-public wrote:
> > > Why did you start the discussion if you plan on ignoring other people's
> > > opinions anyway?
> > > 
> > > Doug  
> > 
> > I am not ignoring Andreas' or Eli's opinion, I understand that they don't
> > want
> > these packages in the repos. What I am asking is why they don't want them
> > there?
> 
> I don't appreciate you trimming the paragraph I was replying to. I makes my
> comments look completely different without context.

Sorry, I only replied to the specific reply because my email client is messing
up the format and I have not fixed it yet. I did not meant to take it out of
context.

> The paragraph specifically said that you see no reason to block anything as
> long as someone is willing to maintain it. That means that other's opinions
> in this disussion don't matter, unless I misunderstood?
> 
> Doug

That was not meant that way. Similarly to your reply, the context matters.

The comment was meant as "If this helps people and does not impact you, why
would you block it?", I said this because Eli seems hell bent on not having the
packages in the repos. Sorry if it came out the wrong way.

Cheers,
Filipe Laíns


signature.asc
Description: This is a digitally signed message part


Re: [arch-dev-public] Add active Python versions to the repos

2020-11-22 Thread Filipe Laíns via arch-dev-public
On Sun, 2020-11-22 at 09:13 -0600, Doug Newgard via arch-dev-public wrote:
> Why did you start the discussion if you plan on ignoring other people's
> opinions anyway?
> 
> Doug

I am not ignoring Andreas' or Eli's opinion, I understand that they don't want
these packages in the repos. What I am asking is why they don't want them there?

I have addressed the concern Andreas raised. I am not sure if satisfactorily to
him as he has not replied yet.

Eli, so far, has presented me with the current status quo, stating this is not
we currently do. Which was never what I was arguing, that's why I have started
this thread, in hope of changing that.
From his reply, the only part I see as actual reasoning against the proposed
change is this:

> I don't see any reason why [community] needs to grow to support the
needs of exclusively Continuous Integration testsuite matrixes.

Which I have addressed.
Please let me know if I've missed any of his points.

Cheers,
Filipe Laíns


signature.asc
Description: This is a digitally signed message part


Re: [arch-dev-public] Add active Python versions to the repos

2020-11-22 Thread Filipe Laíns via arch-dev-public
On Sat, 2020-11-21 at 20:24 -0500, Eli Schwartz via arch-dev-public wrote:
> Your analysis is correct, it is indeed hell. I'm not sure why that is an
> argument in favor of doing even more of it though.
> 
> Now, if you were proposing to get rid of some of this, I could get
> behind that.

It was not an analysis, "hell" was an used here as an idiom.

> > even Python.
> 
> I don't know if maybe you've missed the fact that we've spent like a
> year now aggressively upgrading or removing leaf packages depending on
> python2 in search of that glorious Promised Future where we can finally
> remove the python2 package itself?

I did not miss that. I absolutely want to see the python2 modules removed, not
_necessarily_ the python2 interpreter.

> And we're doing that even for a major incompatible release that most
> people argue is actually a different language.
> 
> I'm not sure how this suddenly became an argument to package a ton of
> point releases that aren't even incompatible.

Except they are... Python does not follow semver, only patch releases are
supposed to be compatible. They do try to keep breakage to a minimum, but it
definitely exists. One very obvious example is the introduction of "async" and
"await" as reserved keywords. There are a bunch of other backwards incompatible
changes, so yes, they are incompatible releases, to the point you could call
them different languages.

> > I don't think having people opening bugs because they are
> > deliberately using an older version of Python is a big problem. It
> > hasn't been for any of the other languages, I don't think it will be
> > here.
> > I think this is an hypothetical that doesn't really materialize into
> > reality.
> 
> You're proposing something far beyond the scope of what we do for other
> languages, and ignoring that for other languages we only do it if driven
> to in desperation because another official repository package depends on it.
> 
> We don't introduce leaf packages of ancient versions of currently
> packaged interpreters just for fun. I don't even think anyone else does
> that either.

That was not of the point of me bringing up other languages. The whole point of
me bringing up other languages was to show that Andreas' concern is unlikely to
materialize into reality.

> > > It's sad enough we still have python2 and gtk2 around. To have gcc9
> > > around and other duplicates is not what I want to see growing in
> > > Arch. 
> > 
> > What you call sad I call a bad UX. Why do we need to force users to
> > compile active releases of the Python interpreters themselves, which
> > can take a long time if they are building with optimization, or to
> > resort to pre-built repos with much lower security standards than us,
> > when there are people willing to maintain them?
> > 
> > I can't understand how it's sad to help out users by not forcing them
> > to resort the sort of things I mentioned above, as long as we are not
> > struggling to do so. I like helping people, that's why I am a packager,
> > that is the opposite of sad for me, so I really can't understand this.
> 
> I have... no idea what the problem is supposed to be here? I'm
> desperately trying to understand what the actual point of your proposal is.
> 
> You want to package old versions of the python3 interpreter "but not
> modules", because "people would like to use it for tox".

People can use it tox or to create virtual environments directly. The main point
of the proposal is that people have use for the old interpreters and I would
like to provide them.

> Old versions of stuff that people need for who knows what weird reason
> is *the textbook reason* why the AUR exists. How long it takes to
> compile stuff in the AUR is not our problem, and we don't have a
> rationale to upload gcc-{4,5,6,7,8,9} because actual users need to use a
> lot of diverse compilers "to test that it still works on really old
> compilers".

AFAIK, the textbook reason why the AUR exists is to provide software that isn't
in the official repos. It being older versions should be completely incidental,
but not the "textbook reason".

> Likewise, if people want to test support for old versions of python3,
> they have options which don't involve uploading trash into [community].

I like how you refereed to the currently active Python releases as "trash", will
keep that in mind.

> - Do what normal people do, and build AUR packages they need
> - Ask FFY00 to provide signed repos
> - Use travis CI, which doesn't use distro packages but provides a
>   diverse set of hand-compiled python versions, which is apparently some
>   kind of gold standard for doing regression testing on lots of
>   different python releases ;)
> - Use pyenv
> 
> Apparently none of these are viable options in your mind, and the most
> Arch-like of them, option #1 "use the AUR" you believe to be problematic
> because it takes a long time to build with optimizations... even though
> you yourself said those packages don't enable 

Re: [arch-dev-public] Orphaned packages from arcanis

2020-11-21 Thread Filipe Laíns via arch-dev-public
On Sat, 2020-11-21 at 20:09 +0100, Morten Linderud via arch-dev-public wrote:
pymol
python-biopython

Adopted.

Filipe Laíns


signature.asc
Description: This is a digitally signed message part


Re: [arch-dev-public] Add active Python versions to the repos

2020-11-21 Thread Filipe Laíns via arch-dev-public
Whoops, my email client messed up the formatting :/

Here's the reply without the quotes:


Looking at some package stats for pyenv[1], we see a usage of 3,4%. I
think that is a big enough number.

pyenv does have another usage, which is managing custom Python
interpreters, which is mainly used in CPython development, but I'd say
that only a small percentage of the users use it uniquely for that.

We can also look directly at the python36 and python37 packages
reported, which users might be getting from the AUR or user repos.

python37 has 1.18% [2]
python36 has 1.63% [3]

The main reason why the packages might be required, as I explained in
the original email, is for package testing. It puts every maintainer
and most contributors to projects that target Python 3.6 or 3.7 in need
of an interpreter. Most open source Python project target at least a
few different Python versions.

These metrics are not perfect by any means, but I do think they present
relevant enough data to show an existent need.

[1] https://pkgstats.archlinux.de/api/packages/pyenv
[2] https://pkgstats.archlinux.de/api/packages/python36
[3] https://pkgstats.archlinux.de/api/packages/python37


Cheers,
Filipe Laíns


signature.asc
Description: This is a digitally signed message part


Re: [arch-dev-public] Add active Python versions to the repos

2020-11-21 Thread Filipe Laíns via arch-dev-public
On Sat, 2020-11-21 at 19:11 +0100, Bartłomiej Piotrowski via arch-dev-public 
wrote:
On 21/11/2020 18.48, Filipe Laíns via arch-dev-public wrote:
> I understand that. I am not asking to put all releases of Python on
> the
> repos, only the active ones, which people are using.

I presume you can back it up with numbers how widely 3.7 and 3.6 are
used by Arch users. All I can see is that both have less than 30 votes in AUR. 
Even if I take into account how irrelevant AUR votes are, I
assume the problem is exaggerated.

I have some metrics that might be relevant.

The people that are missing these interpreters generally use pyenv to
make up for it, which is not an optimal solution, but the most common
when the interpreters are missing.

Looking at some package stats for pyenv[1], we see a usage of 3,4%. I
think that is a big enough number.

pyenv does have another usage, which is managing custom Python
interpreters, which is mainly used in CPython development, but I'd say
that only a small percentage of the users use it uniquely for that.

We can also look directly at the python36 and python37 packages
reported, which users might be getting from the AUR or user repos.

python37 has 1.18% [2]
python36 has 1.63% [3]

The main reason why the packages might be required, as I explained in
the original email, is for package testing. It puts every maintainer
and most contributors to projects that target Python 3.6 or 3.7 in need
of an interpreter. Most open source Python project target at least a
few different Python versions.

These metrics are not perfect by any means, but I do think they present
relevant enough data to show an existent need.

Why are we packaging software that is used by far less people but we
can't package these Python interpreters which are being actively missed
by people?

Our approach of "YOLO push random new packages to repos" is something I never 
agreed with, for the record. Unfortunately it's a kingdom with
almost no rules.

BP

[1] https://pkgstats.archlinux.de/api/packages/pyenv
[2] https://pkgstats.archlinux.de/api/packages/python36
[3] https://pkgstats.archlinux.de/api/packages/python37

Cheers,
Filipe Laíns


signature.asc
Description: This is a digitally signed message part


Re: [arch-dev-public] Add active Python versions to the repos

2020-11-21 Thread Filipe Laíns via arch-dev-public
On Sat, 2020-11-21 at 11:24 -0600, Doug Newgard via arch-dev-public
wrote:
> On Sat, 21 Nov 2020 16:59:21 +
> Filipe Laíns via arch-dev-public 
> wrote:
> 
> > On Sat, 2020-11-21 at 16:58 +0100, Andreas Radke via arch-dev-
> > public
> > wrote:
> > > Am Sat, 21 Nov 2020 14:34:24 +0000
> > > schrieb Filipe Laíns via arch-dev-public
> > > :
> > > 
> > >   
> > > > Does anyone have any big issue with this? What are your
> > > > thoughts?
> > > > 
> > > > [1] https://www.python.org/downloads/
> > > > 
> > > > Cheers,
> > > > Filipe Laíns  
> > > 
> > > -1
> > > 
> > > Arch is yours. Whoever needs more and older releases on the
> > > system -
> > > just do it yourself! In the past we said "use abs and AUR - Arch
> > > is
> > > the base to make it your own".  
> > 
> > This argument can be used to deny adding any package to the repos.
> > You
> > need this library, tool, etc.? Just add it yourself.
> > 
> > Why are we packaging software that is used by far less people but
> > we
> > can't package these Python interpreters which are being actively
> > missed
> > by people?
> > 
> > > I don't want to see users raising bugs that something doesn't
> > > work
> > > with an older version of python. And I don't want to see these
> > > requests
> > > pop up every now and then to add even more stuff in different
> > > versions.  
> > 
> > We already have multiple versions of Java, Ruby, Javascript, etc.
> > hell,
> > even Python. I don't think having people opening bugs because they
> > are
> > deliberately using an older version of Python is a big problem. It
> > hasn't been for any of the other languages, I don't think it will
> > be
> > here.
> > I think this is an hypothetical that doesn't really materialize
> > into
> > reality.
> > 
> > > It's sad enough we still have python2 and gtk2 around. To have
> > > gcc9
> > > around and other duplicates is not what I want to see growing in
> > > Arch.   
> > 
> > What you call sad I call a bad UX. Why do we need to force users to
> > compile active releases of the Python interpreters themselves,
> > which
> > can take a long time if they are building with optimization, or to
> > resort to pre-built repos with much lower security standards than
> > us,
> > when there are people willing to maintain them?
> > 
> > I can't understand how it's sad to help out users by not forcing
> > them
> > to resort the sort of things I mentioned above, as long as we are
> > not
> > struggling to do so. I like helping people, that's why I am a
> > packager,
> > that is the opposite of sad for me, so I really can't understand
> > this.
> 
> It's more concerning to me that you can't understand this argument
> than
> anything else so far. Arch keeps old things around in the repos when
> they're
> required by other things in the repos. It's a necessary evil, not
> something to
> be actively encouraged.

I understand that. I am not asking to put all releases of Python on the
repos, only the active ones, which people are using.

> > > I don't want to see our distribution transformed into another
> > > Debian.  
> > 
> > That is not what is happening.
> > 
> > Cheers,
> > Filipe Laíns
> 

-- 
Filipe Laíns


signature.asc
Description: This is a digitally signed message part


Re: [arch-dev-public] Add active Python versions to the repos

2020-11-21 Thread Filipe Laíns via arch-dev-public
On Sat, 2020-11-21 at 16:58 +0100, Andreas Radke via arch-dev-public
wrote:
> Am Sat, 21 Nov 2020 14:34:24 +
> schrieb Filipe Laíns via arch-dev-public
> :
> 
> 
> > Does anyone have any big issue with this? What are your thoughts?
> > 
> > [1] https://www.python.org/downloads/
> > 
> > Cheers,
> > Filipe Laíns
> 
> -1
> 
> Arch is yours. Whoever needs more and older releases on the system -
> just do it yourself! In the past we said "use abs and AUR - Arch is
> the base to make it your own".

This argument can be used to deny adding any package to the repos. You
need this library, tool, etc.? Just add it yourself.

Why are we packaging software that is used by far less people but we
can't package these Python interpreters which are being actively missed
by people?

> I don't want to see users raising bugs that something doesn't work
> with an older version of python. And I don't want to see these
> requests
> pop up every now and then to add even more stuff in different
> versions.

We already have multiple versions of Java, Ruby, Javascript, etc. hell,
even Python. I don't think having people opening bugs because they are
deliberately using an older version of Python is a big problem. It
hasn't been for any of the other languages, I don't think it will be
here.
I think this is an hypothetical that doesn't really materialize into
reality.

> It's sad enough we still have python2 and gtk2 around. To have gcc9
> around and other duplicates is not what I want to see growing in
> Arch. 

What you call sad I call a bad UX. Why do we need to force users to
compile active releases of the Python interpreters themselves, which
can take a long time if they are building with optimization, or to
resort to pre-built repos with much lower security standards than us,
when there are people willing to maintain them?

I can't understand how it's sad to help out users by not forcing them
to resort the sort of things I mentioned above, as long as we are not
struggling to do so. I like helping people, that's why I am a packager,
that is the opposite of sad for me, so I really can't understand this.

> I don't want to see our distribution transformed into another Debian.

That is not what is happening.

Cheers,
Filipe Laíns


signature.asc
Description: This is a digitally signed message part


Re: [arch-dev-public] Add active Python versions to the repos

2020-11-21 Thread Filipe Laíns via arch-dev-public
On Sat, 2020-11-21 at 16:59 +0100, Morten Linderud via arch-dev-public
wrote:
> On Sat, Nov 21, 2020 at 04:47:27PM +0100, David Runge wrote:
> > On 2020-11-21 14:34:24 (+), Filipe Laíns via arch-dev-public
> > wrote:
> > > Hi all,
> > > 
> > > I want to propose adding all active Python versions to
> > > [community], not
> > > just the latest one. This would only entail adding the
> > > interpreter
> > > itself, no other packages.
> > > 
> > An alternative (in a per-user setup) can be to use pyenv [1]. It
> > works
> > reasonably well with tox etc. and I have used it in the past
> > successfully to develop against several python interpreter
> > versions.
> 
> I'm personally not very excited for the idea of adding more python
> interpreters.
> I'm a bit concerned that we today say "no packages" but in the future
> we relax a
> bit and end up with python36-$pkgname, as it's the pragmatic option
> as opposed
> to blocking entire rebuilds or package updates.

We can add a guideline blocking this.

> What is the downsides of utilizing something like pyenv? There are
> user
> repositories providing older python interpreters as well if people
> need it.
> 

pyenv forces users to compile the Python interpreter themselves, which
can take a long time with --enable-optimizations.
None of the user repos available builds with optimizations, or has
signed packages AFAIK. Of course they could in the future, but I think
having the packages in the repos is much better in terms of security
and usability. I run one of the user which provides these packages and
I don't see myself fixing any of the issues I pointed out due to
technical limitations.

Cheers,
Filipe Laíns


signature.asc
Description: This is a digitally signed message part


Re: [arch-dev-public] Add active Python versions to the repos

2020-11-21 Thread Filipe Laíns via arch-dev-public
On Sat, 2020-11-21 at 07:51 -0700, Zach Himsel wrote:
> What would determine what the "default" python be? The latest?
> 
> 
> --
> Zach Himsel
> mailto://z...@himsel.net
> http://zach.himsel.net

Yep, that would stay exactly as it is right now. We would only
additionally provide interpreters (and interpreters only!) for the
older Python versions.

Cheers,
Filipe Laíns


signature.asc
Description: This is a digitally signed message part


[arch-dev-public] Add active Python versions to the repos

2020-11-21 Thread Filipe Laíns via arch-dev-public
Hi all,

I want to propose adding all active Python versions to [community], not
just the latest one. This would only entail adding the interpreter
itself, no other packages.

Having access to interpreters for older active versions is really
helpful for Python developers. This allows them to easily run test
suites against older versions. It is very common for developers to
maintain software against a couple major releases. Tools like tox or
nox are able to automate testing against multiple Python versions, just
needing the interpreter.

The current active Python releases are:
  - 3.9
  - 3.8
  - 3.7
  - 3.6
  - 2.7

The list can be found here[1].

So, I propose introducing 2 new packages:
  - python3.7
  - python3.6

And when we update the python package to 3.9:
  - python3.8

Does anyone have any big issue with this? What are your thoughts?

[1] https://www.python.org/downloads/

Cheers,
Filipe Laíns


signature.asc
Description: This is a digitally signed message part


Re: [arch-dev-public] Autumn extra cleaning

2020-10-06 Thread Filipe Laíns via arch-dev-public
On Mon, 2020-10-05 at 07:16 +0200, Sven-Hendrik Haase via arch-dev-
public wrote:
> libusb-compat

I can maintain this, please drop to [community] :)

Filipe Laíns


signature.asc
Description: This is a digitally signed message part


Re: [arch-dev-public] [aur-general] AUR migration

2020-07-28 Thread Filipe Laíns via arch-dev-public
On Mon, 2020-07-27 at 14:43 -1000, Gaetan Bisson via arch-dev-public wrote:
> [2020-07-27 21:10:23 -0300] Giancarlo Razzolini:
> > Em julho 27, 2020 21:03 Gaetan Bisson escreveu:
> > > It's quite unsettling that we seem to be rushing to write a news post
> > > while this very reasonable suggestion remains completely ignored.
> > > 
> > 
> > It wasn't ignored. They keys were deliberately changed in the process.
> 
> Why? Baptiste rightly points out "it's the same service as before and
> (presumably) the host private keys were not compromised, so there is no
> reason to change keys." Yet his message remains unanswered...

If one machine gets compromised the keys are also compromised. If we
can just use different keys on each machine to mitigate this, why
wouldn't we? I think the short term bothers of changing the key do not
warrant at all compromising security like this.
But your experience might be different, is there anything in specific
you are worried about or find annoying? I have been trying to figure
what would possibly justify this but I can't, please let me know.

Baptiste's answer was presumably under the assumption that the full
machine would be migrated, but he would have to confirm. On which case,
his request would be perfectly reasonable IMO.

> > I think the issue you refer to happened on the orion -> gemini migration and
> 
> You are correct.
> 
> > I personally think that everything that runs as a service on Arch servers 
> > should
> > be properly tracked on ansible, even if it's a user service.
> 
> That is certainly a worthy goal but it does not imply that we must kill
> everything that is not tracked by ansible at every migration. Copying
> home directories over to the new host used to be standard practice for
> any administrator of a system which serves multiple users...

None of this happened, when it did hapen in soyuz everyone got properly
notified and had plenty time to get their stuff out, on top of that,
the system was backed up in case someone forgot. I don't understand
what issue you are trying to get on here, Grazzolini already explained
this did not happen. I agree with what you said, no machine should be
killed without a proper handling of the user data, but what is the
issue right now?

Cheers,
Filipe Laíns


signature.asc
Description: This is a digitally signed message part


Re: [arch-dev-public] SDR package naming

2020-06-05 Thread Filipe Laíns via arch-dev-public
On Fri, 2020-06-05 at 10:19 -0400, Eli Schwartz via arch-dev-public wrote:
> On 6/5/20 9:04 AM, Filipe Laíns via arch-dev-public wrote:
> > My main concern here is that it is not as simple as it just being
> > Kyle's decision, it sets a precedent. I believe the naming is
> > incorrect, and as such, should be fixed. I have tried initiating a
> > conversation with the maintainer but with that didn't result in
> > anything.
> 
> It did result in something: he said "no".
> 
> > I really don't want to step in anyone's toes, I have postponed this
> > email as much as I could. Giving the lack of the reply from Kyle, one
> > can only assume he does not care that much about the issue. I am fine
> > with waiting one or two weeks before taking action to make sure he has
> > time to reply, if there are no objections.
> 
> "I don't agree with this, it fails to be memorable and using the
> upstream shortname is confusing and does a disservice to users" sure
> sounds like he objects to me.

Hi Eli,

Sorry, I wasn't clear, my bad. No consensus came from my attempt at
contacting him. And there was no discussion, it was one sided, so I
feel like this issue is not resolved. There are still relevant points
that I want to see addressed.

Cheers,
Filipe Laíns


signature.asc
Description: This is a digitally signed message part


Re: [arch-dev-public] SDR package naming

2020-06-05 Thread Filipe Laíns via arch-dev-public
On Thu, 2020-06-04 at 22:43 -1000, Gaetan Bisson via arch-dev-public
wrote:
> [2020-06-04 23:03:23 +0100] Filipe Laíns via arch-dev-public:
> > 1) Rename libuhd to uhd
> > 2) Use the gr- prefix instead of gnuradio- for GNURadio[2] blocks
> 
> Your proposed changes indeed seem the correct thing to do, but Kyle
> appears to have done a good job maintaining those packages over the
> years. Do you really think it is worth bypassing his decision using a
> community vote for something of almost no consequence?

Hi Gaetan,

My main concern here is that it is not as simple as it just being
Kyle's decision, it sets a precedent. I believe the naming is
incorrect, and as such, should be fixed. I have tried initiating a
conversation with the maintainer but with that didn't result in
anything.

I really don't want to step in anyone's toes, I have postponed this
email as much as I could. Giving the lack of the reply from Kyle, one
can only assume he does not care that much about the issue. I am fine
with waiting one or two weeks before taking action to make sure he has
time to reply, if there are no objections.

I have delayed bringing new GNURadio blocks to [community] due to the
naming issue. I would like to have this resolved soon.

> If we are to work together, we must sometimes learn to accept others'
> decisions we don't 100% agree with...

All I am trying to do is work together, but failing. As I said above,
this decision affects more than Kyle's packages.

Nobody is denying him of him opinion or decision rights, he is free to
speak up at any time. I would be very happy to have a discussion with
him about the issue :)

Cheers,
Filipe Laíns


signature.asc
Description: This is a digitally signed message part


Re: [arch-dev-public] SDR package naming

2020-06-04 Thread Filipe Laíns via arch-dev-public
Hi all,

I want to bring up two issues relating Kyle Keen's packages. I tried to
contact him and got an initial reply but I have not heard from him
since. It has been almost 4 months and I have sent him 3 different
followup emails. Since it was not super urgent I let a pretty
significant amount of time pass but I would like to have this resolved.

Here are the two issues I seek resolution:


1) Rename libuhd to uhd

UHD[1] is the upstream name. The software is pretty well known by that
name. I have only ever seen it being addressed as libuhd when talking
about the library it provides specifically, but even then UHD is the
standard. It also provides some tools alongside the library.

Following the Arch philosophy I think the package should be named
"uhd".


2) Use the gr- prefix instead of gnuradio- for GNURadio[2] blocks

The GNURadio ecosystem has a pretty well established prefix for
GNURadio blocks, which is gr-. Similarly to the previous issue, I have
never seen them being refereed as gnuradio-something. The upstream
names are gr-something. The gnuradio- prefix might seem to make things
more clear to new users, and even then I have my doubts, but it
definitely makes things more confusing for actual users of the project.

Previewing some counter-arguments to this, as I have discussed it with
people previously. This is totally different than, for eg., the python
ecosystem where we use the python- prefix. The gr- is given by the
upstream and is the *de facto* naming scheme for the project.

If you don't agree with the use of the gr- prefix, I think that
variation of the name should *at least* be present in provides.


These might seem like nitpicks, but I do very much care about them and
I believe they should be corrected.

You can find my attempt at communication with Kyle below.

I am very conflicted about this, but I think before I end the email I
should note that Kyle is packaging and he appears to have replied to
other team member(s). I am not sure if I have done something wrong or
behaved in an improper manner. I don't think I did, but if that's the
case please let me know.

[1] https://github.com/EttusResearch/uhd
[2] https://github.com/gnuradio

Cheers,
Filipe Laíns

On Thu, 2020-02-06 at 09:42 +, Filipe Laíns wrote:
> On Wed, 2020-02-05 at 23:21 -0500, keenerd wrote:
> > Sometimes my automatic email filing puts things in the wrong place,
> > but searching across all folders finds no emails from you about this.
> > How did you try to contact me before?
> > 
> > UHD I am ambivalent on.  However several other distros also call it
> > "libuhd" and it is a library after all.
> > 
> > Gnuradio vs gr I don't agree with.  A project needs to be very notable
> > for a two-letter naming convention.  Python, for example, is
> > sufficient.  Internally the Gnuradio project uses "gr" because, well,
> > they type it hundreds of times every day.  Outside of their project,
> > it is less helpful and more confusing.
> > 
> > There are several people deeply involved with Gnuradio who are also
> > Arch users.  I more or less started packaging Gnuradio for them, and
> > their input was instrumental in making our packages the way they are.
> > They've never raised any of these issues.
> > 
> > You did not provide any reasoning for why you think changes are necessary?
> > 
> > -Kyle
> > 
> > On 2/4/20, Filipe Laíns  wrote:
> > > Hey Kyle,
> > > 
> > > I think I have contacted out about this already but without much
> > > success. I would like to adjust the names of some SDR packages. I
> > > believe `libuhd` should be called `uhd`   and packages that
> > > provide GNU
> > > Radio blocks should be named `gr-name` instead of `gnuradio-name`
> > > (this
> > > affects `gnuradio-{fcdproplus,iqbal,osmosdr}`).
> > > 
> > > Can we adjust the naming? What do you think?
> > > 
> > > Thank you,
> > > Filipe Laíns
> > > 
> 
> Sorry, my bad.
> 
> Regarding uhd, that's what Debian does, not us. uhd is the upstream
> name and we should honor it. If you want examples just look at [1],
> from a quick browse I wasn't able to find any instances of packages
> where we add the lib prefix.
> 
> Regarding GNU Radio blocks, it more of a grey area so I understand and
> respect your position. My reasoning is that the gr- prefix comes from
> the upstream, and AFAIK everybody else on earth uses it. When I started
> using Arch it was a bit confusing why the packages had different names,
> especially for a distribution that tries to keep as close to the
> upstream as possible. Do you think it would make sense to ask the GNU
> Radio guys what they think? Either way, it's ultimately your call.
> But if you don't want to rename it could we add the gr- prefixed name
> to provides/conflicts?
> 
> Just some other unrelated things, I am bringing a few more SDR packages
> to Arch. I just pushed the necessary bits for Adalm-Pluto support, I am
> working on srsLTE (actually, almost finished, just waiting for some
> replies from the upstream) and I want 

Re: [arch-dev-public] Packages spring cleanup!

2020-04-19 Thread Filipe Laíns via arch-dev-public
On Sun, 2020-04-19 at 20:50 +0200, Jelle van der Waa wrote:
> Hi all,
> 
> I'm going to disown some packages as I no longer actively use them and I
> want to shift focus into my on other Arch roles:
> 
> ettercap
> openttd-opensfx
> openttd-opengfx
> rdesktop
> tesseract
> tesseract-*
> tidy
> unshield
> vim-pastie
> vim-align
> pstreams
> pdf2djvu
> bonnie++
> gsmartcontrol
> leptonica
> jbigkit
> pbpst
> ccd2iso
> chromium-bsu
> fsarchiver
> dot2tex
> 
> If packages need to be moved to [community] for you to be able to adopt
> them, please say so.
> 
> Greetings,
> 
> Jelle

I will take this opportunity to add some to the list:

java-batik
java-commons-io
java-xmlgraphics-commons
jxrlib

Same reasoning, I no longer use them or have something that needs them.

Cheers,
Filipe Laíns


signature.asc
Description: This is a digitally signed message part


Re: [arch-dev-public] Discussion - Increasing our CPU requirements

2020-03-29 Thread Filipe Laíns via arch-dev-public
On Mon, 2020-03-30 at 09:07 +1000, Allan McRae via arch-dev-public wrote:
> SSE4.2 is 2008 for Intel, 2011 for AMD.  Though I guess some processors
> were released without it for some time after that.   AVX was released by
> both in 2011.
> 
> So why is one too far and the other not?

I was looking at some edge cases where the CPUs had AVX but no SSE4.2.
Intel's website is also a bit unreliable with older CPUs, a lot of the
cases it is not listing extensions when it should be.

> No need for pacman support.  Just add higher instruction set to a new
> repo and set that repo with higher priority.

Right, that works too. Although, we can't have the word "auto" in the
arch definition automatically identifying and enabling the supported
extensions.

> But that involves developers choosing which packages to build with
> higher instruction sets, which requires extra developer time.

Well. The thing about these CPU extensions is that they require very
specific use workloads to be useful. They are more efficient when
performing the tasks they were design to do, but they have an higher
power consumption, which generally results in the CPU lowering clocks.
To make proper use of them, you usually need to build your algorithm
around them.

Just enabling it in GCC might bring some performance improvements but
they are usually *very* minimal.

Upstreams that benefit from these extensions will most of the time
write their own kernels and provide runtime detection or add a switch
in the build system.

I don't believe this is too much of burden for packagers. 99.9% of the
time, just building a package with SEE/AVX natively in GCC will not
bring any relevant performance enhancement.

Furthermore, building an extra optimized version makes it much more
reasonable for us to choose AVX2, which will have a much higher real
world impact than just building everything with SSE4.2 instead.

With that said, if you still want to bump the minimum requirements,
could please consider taking just a little bit of time to run some
benchmarks on packages you think should get an improvement?

> Ideally, we would just autobuild for more optimized architectures, but
> this requires auto-signing packages, which has not happened in the last
> decade (but may in this one...).
>
> Picking an instruction set that is ~10 years old and making it the
> default for the distro seems a reasonable approach to me.

The instruction set might be 10 years old, but you have to look at the
discontinuation date for CPU families which don't support it, and maybe
add 1 or 2 years for the bulk of the inventory to be cleared out from
stores.

Cheers,
Filipe Laíns


signature.asc
Description: This is a digitally signed message part


Re: [arch-dev-public] Discussion - Increasing our CPU requirements

2020-03-29 Thread Filipe Laíns via arch-dev-public
On Sun, 2020-03-29 at 16:25 +0100, Filipe Laíns via arch-dev-public wrote:
> I would not be an entirely
  *It would

> What I would for us to do is to create a x86-64-axv2, etc. that would
*would like for us

> let's me to believe (but this may be just me), I would be
 *let me to

Ugh, sorry again. Today I am only catching the errors when obsessing
over sending.


signature.asc
Description: This is a digitally signed message part


Re: [arch-dev-public] Discussion - Increasing our CPU requirements

2020-03-29 Thread Filipe Laíns via arch-dev-public
I want to clarify what I am proposing.

I would not be an entirely new architecture in the sense of i686, CPU
extensions are not different architectures and shouldn't be treated as
such.

What I would for us to do is to create a x86-64-axv2, etc. that would
complement x86-64. We would not add it as a target for all packages,
just for the ones that make sense.

For this pacman would have to support architecture priority. We could
have something like this:

Architecture = x86-64-axv2 x86-64

This means if a x86-64-axv2 package is available, it would be selected
over the x86-64 one. That way we don't need to rebuild all packages.


My point here is that to me it does not really make sense to drop
support for older CPUs. We will have little benefit in newer CPUs.
Projects that need the performance already dynamically choose the CPU
extensions to use in the runtime -- they will work on all x86-64 CPUs.

If this did in fact bring a relevant performance improvement, like the
original mail let's me to believe (but this may be just me), I would be
all for it, but that's not the case.

On Sun, 2020-03-29 at 16:51 +0200, Morten Linderud via arch-dev-public wrote:
> Well, how do you think we supported two architectures? Why do you think
> `extra-x86_64-build` is named the way it is?
> 
> The "problem" is that we have no intentions of building 1 package 4 times and
> keep things in sync by hand, it was tedious enough with i686, which was part 
> of
> why it was dropped in the first place. Thus we want build-servers to do this 
> for
> us. 

Then automate it? Is there any reason why we can't have the tooling
build all architectures for us? Why not have an `extra-build` helper
that will call extra-$arch-build for all every architecture?

This will have practically the same affect as my SIMD packages not. The
only difference would be how people are consuming them. It would just
work out of the box instead of them having to install the -avx2
variant.

> Allan is going to have a hard time argueing that the minimal improvements is
> going to justify the absurd time we'll end up building things by hand, it's 
> the
> crux of the problem essentially. I'm also sure he knows this.
> 
> Surely we can bikeshed about which architectures to support, what we should
> discuss is how we should accomplish the task in general.
> 
> > Furthermore, if you do indeed whish to move this forward please present
> > us with reasonable data. Take a few packages that would benefit from
> > this, build them with the proposed architecture and show us benchmarks.
> > I think it's gonna be very hard for you to find packages with
> > considerable improvement but I might be wrong, please show me.
> 
> See last paragraph.

Which paragraph are you referring to?

I will be taking a step back now. I will probably wait 1 or 2 days before 
replying.
Feel free to reach me privately for a direct discussion if you want to.

Cheers,
Filipe Laíns


signature.asc
Description: This is a digitally signed message part


Re: [arch-dev-public] Discussion - Increasing our CPU requirements

2020-03-29 Thread Filipe Laíns via arch-dev-public
On Sun, 2020-03-29 at 15:39 +0100, Filipe Laíns via arch-dev-public
wrote:
> I make the PKGBUILD build for 2
* I can make

Sorry, I am a little distracted today.
 
Filipe Laíns


signature.asc
Description: This is a digitally signed message part


Re: [arch-dev-public] Discussion - Increasing our CPU requirements

2020-03-29 Thread Filipe Laíns via arch-dev-public
On Sun, 2020-03-29 at 23:37 +1000, Allan McRae via arch-dev-public wrote:
> On 29/3/20 11:17 pm, Filipe Laíns wrote:
> > I would also like to note that rebuilding everything with forced
> > support for AVX2 or whatever won't have much effect. Most packages do
> > not have workloads where it would make use sense to use these CPU
> > extensions, and as such, GCC would not use them.
> 
> That assumes we just add AVX2.  Whereas, requiring a CPU supporting AVX2
> would bring other optimizations that would be used.

No, it should be true for all extensions.

> As I replied earlier, AVX2 may be going too far.  But is a good starting
> point for discussion.  If that is too far, what could we accept?
> SSE4.2?  AVX?   Surely we can do better than pure x86_64.

No, SSE4.2 is too far. For me, the minimum should be AVX.

> To have a separate architecture would require automated builds, which
> requires being able to sign packages automatically.  And we have not
> achieved database signing in 9 years  I'm looking for a boost that
> could be achieved now.

No, it would not. Where is this coming from? I already build split
packages with SIMD instructions, I make the PKGBUILD build for 2
architectures instead with a minimal patch.

If pacman is not able to handle parallel architectures, we should fix
that. I think it's a valid use case.

Furthermore, if you do indeed whish to move this forward please present
us with reasonable data. Take a few packages that would benefit from
this, build them with the proposed architecture and show us benchmarks.
I think it's gonna be very hard for you to find packages with
considerable improvement but I might be wrong, please show me.

Filipe Laíns


signature.asc
Description: This is a digitally signed message part


Re: [arch-dev-public] Discussion - Increasing our CPU requirements

2020-03-29 Thread Filipe Laíns via arch-dev-public
On Sun, 2020-03-29 at 20:26 +1000, Allan McRae via arch-dev-public wrote:
> Remember when Arch Linux was optimized out of the box.   We have the
> blazingly fast i686 port while other distros hung out in i386 land.
> Those were the days where the idea of Arch being fast started.  Now it
> has degraded to stuff of legend.
> 
> Now, x86_64 is old.  We should continue to push forward and add further
> optimization.
> 
> Reasonable optimizations to consider:
> 
> AVX2
> FMA
> SSE4.2
> 
> AVX2 is Intel Haswell and newer or AMD Ryzen and newer.  This CPUs
> released 2013 to 2015.  So 5 - 7 years old.
> 
> Discuss.

Absolutely not!

A huge amount of systems do not meet that requirements. This would rule
out all Intel 3rd gen and older cpus, which would for eg. impact laptop
models such as the Thinkpad X220 and Thinkpad X230.

Instead of adding a requirement for newer CPU extensions let's fix this
the proper way.

The correct approach to this is to push upstreams to support dynamic
detection of CPU extensions. That means the performance critical code
is compiled with a different range of extensions and the binary detects
at runtime what to use. A lot of them do that already, and for the ones
which don't we should push for it (point them to [1]).

Unfortunately, we will always have upstreams that don't support that.
For this we should define a separate architecture. Right now I have
building 2 variants of the projects (see srslte-avx2 and liquid-dsp-
sse4.1), optimally we would have a different arch for them.

I would also like to note that rebuilding everything with forced
support for AVX2 or whatever won't have much effect. Most packages do
not have workloads where it would make use sense to use these CPU
extensions, and as such, GCC would not use them.

There is only maybe a handful of packages in the repos that would
benefit from this.

[1] 
https://gcc.gnu.org/onlinedocs/gcc/Common-Function-Attributes.html#index-target_005fclones-function-attribute

Cheers,
Filipe Laíns


signature.asc
Description: This is a digitally signed message part


Re: [arch-dev-public] [arch-events] FOSDEM Dinner 2020

2020-01-06 Thread Filipe Laíns via arch-dev-public
On Mon, 2020-01-06 at 15:41 +0100, Morten Linderud via arch-events wrote:
> Yo!
> 
> Last year at FOSDEM we held a dinner with 15 people, some members from the 
> Arch
> team and some users that wanted to join. It was a great event and people had a
> nice dinner with some nice chats afterwards on various pubs.
> 
> For this year I plan to do the same with some changes. First of all, we are
> going to be holding it on saturday around 18:00 - 19:00 as opposed to friday.
^

Is this a typo? Isn't that too early? There will be talks until 19:00.
In fact, I will be giving a talk from 18:30 to 18:55.

> This is to ensure people are able to arrive friday evening, AND keep their
> phones after their dinner. I'm still looking for mine :/
> members of the Arch team (developers, trusted users and support staff). Any 
> free
> spots after this can be taken by anyone interested :). Send an email *offlist*
> so I have some ability to keep track and inform you about further booking
> details. 
> 
> The users requesting spots will get a headsup the week before FOSDEM to give 
> all
> staff a chance to reply. Please ask me if you have any questions :)
> 
> 
> --- 
> 
> I have again CC'ed arch-dev-public since I don't actually know how many people
> watch arch-events (hinthint subscribe!). Sorry for the noise, and please do 
> tell
> me if we are better off not cross-posting emails like these :)
> 
> ___
> arch-events mailing list
> arch-eve...@archlinux.org
> https://lists.archlinux.org/listinfo/arch-events

-- 
Filipe Laíns


signature.asc
Description: This is a digitally signed message part


Re: [arch-dev-public] Proposal: Build a ruleset for new packages and package quality

2019-12-12 Thread Filipe Laíns via arch-dev-public
On Thu, 2019-12-12 at 13:21 +0100, Christian Rebischke via arch-dev-public 
wrote:
> Hello everybody,
> 
> Due to a longer discussion around alpha and beta packages in our
> repositories in IRC yesterday, I would like to start a hopefully more
> constructive discussion around this topic on the ML.
> 
> Short summary for everybody what happened:
> 
> I wanted to get caddy2.0.0-beta into [community], people started
> discussing that we don't ship betas in our repositories and I should
> either wait or ship the stable caddy v1 release.
> 
> 
> I don't want to start this discussion around caddy again (I will wait
> for a stable release). What I want to accomplish with this mail is:
> 
> 1. find a consensus on rules which packages we allow in our repositories
> and which don't.

For the ones that were not in the discussion about caddy: The caddy
devs consider 2.0.0-beta10 stable software but not stable API.

From 
https://wiki.archlinux.org/index.php/Arch_package_guidelines#Package_versioning
> Stable packages package stable releases 

I think this means stable software *and* stable API.

Projects that depend on a certain library are not expected to be using
beta releases. They will most likely only update once the library
authors commit to a certain API.

For most cases I don't think we should be packaging unstable APIs.

> 2. find a consensus on rules on violating our rules regarding package
> requirements. (e.g. What happens when TU/Dev XY violates our package
> requirements? what is the punishment?)

No punishments. As coderobe said, we should assume good faith.

If someone is breaking the rule, ask them to fix it. If they continue
to do it then I think it's means for disciplinary action, even removal
if needed. I believe this should apply to both TUs and Devs.

> 3. revive the discussion around better PKGBUILD quality (see also Eli's
> thread about  PKGBUILD quality on arch-tu:
> https://lists.archlinux.org/private/arch-tu/2019-November/83.html)
> 
> 4. I would like to have this rules written down somewhere, either in the
> TU bylaws (in dev bylaws if this exists) or in a new format like
> "community bylaws" (maybe we could combine this with the question about
> a new leader).

This should be in the packaging guidelines, not on some community or TU
specific guilelines. I also think any sort of bylaws are not the
correct place for this, there are to many exceptions for this to be
correctly described in that kind of document.

> 5. What do we do with the existing beta and alpha packages? Are they
> granted asylum? Or do we remove them, to be consistent?
> 
> extra libmspack 1:0.10.1alpha-2
> extra qt5-webkit 5.212.0alpha3-6
> community d-containers 0.8.0alpha.19-1
> extra frozen-bubble 2.2.1beta1-14
> extra hddtemp 0.3.beta15.53-1
> extra libcaca 0.99.beta19-2
> extra tsocks 1.8beta5-8
> community hydrogen 1.0.0beta1-1
> community lablgtk3 3.0.beta6-2
> community modclean 3.0.0beta.1-1
> community sdedit 4.2beta8-1
> community sniffit 0.3.7.beta-17
> community vbindiff 3.0_beta5-1
> community wqy-microhei 0.2.0_beta-9
> community wqy-microhei-lite 0.2.0_beta-9

Well, it depends on the case. As a general rule just don't package
-beta.

> 6. How do we define stable packages? beta or alpha is just a human made
> word. I've seen devs who said their "1.0" version is unstable and
> shouldn't be used in production. Should such a software get packaged?
> And what about projects who use semantic versioning (the devs said so),
> but they have a 0.* prefix release?

True. We can't make rules based on version strings, each case needs to
be analyzed. If the software is stable and the API is stable then
package it.

> 7. Another topic is a rule about "touching packages of others". In the
> #archlinux-tu channel we came to the conclusion that TUs or devs should
> ask the package maintainer before touching another devs/TUs package, how
> do we want to handle this? Is this the consensus, or are touches without
> prior question allowed? What do we do if somebody violates our rules?
> etc

This is the same as 2), assume good faith. If people abuse it then that
should be grounds for disciplinary action.

> 8. A few guys in the IRC pointed me to this guidelines in our wiki:
> 
> Note: This page is only editable with Wiki-Admin/Dev Permission.
> 
> https://wiki.archlinux.org/index.php/Arch_package_guidelines#Package_versioning
> 
> My questions to this guidelines:
> 
> 8.1. under which consensus where this rules defined? Are these rules the
> result of a developer vote? of a leader decision? Or are they made up by
> a few persons without consensus.
> 
> 8.2  I can't find any list about punishments for violations of these
> rules.
> 
> 8.3 There is no documentation about our alpha and beta packages. I see
> that there are exceptions for alpha and betas, but it's not clear for me
> how these exceptions apply to the packages we have in our repositories.
> 
> This needs to be documented, otherwise every person could push an 

[arch-dev-public] I will be away this week

2019-08-08 Thread Filipe Laíns via arch-dev-public
Hi,

I will be away this week. I understand some of you have questions specifically 
about the new discord packages. Feel free to take any action that you feel 
necessary, delete, modify, etc..., just document that (email, irc or etc).
Thabk you,
Filipe Laíns
3DCE 51D6 0930 EBA4 7858 BA41 46F6 33CB B0EB 4BF2


Re: [arch-dev-public] Create guidelines regarding SIMD instructions/x86 extensions

2019-05-25 Thread Filipe Laíns via arch-dev-public
On Sat, 2019-05-25 at 21:27 +1000, Allan McRae via arch-dev-public wrote:
> On 25/5/19 9:19 pm, Bruno Pagani via arch-dev-public wrote:
> > Hi,
> > 
> > Le 25/05/2019 à 02:17, Filipe Laíns via arch-dev-public a écrit :
> > > I would also like to explore the idea of adding an "high performance"
> > > architecture which would be able to make use of SSE{,2,3,4,4.1,4.2} and
> > > AVX, which seem to be the standard for newer processors (>=2013). This
> > > would only be available for packages that do high performance computing
> > > (ex. openblas, sdrangel, etc.). Any thoughts on this?
> > 
> > As said on IRC, they have been discussions before on having multiple
> > targets and corresponding repos, but the starting point is that we need
> > automated build before going into such a direction, and this in turn has
> > several requirements. I’ve linked to you the pad where we put our ideas
> > together regarding this.
> > 
> > In the meantime, we had the case before of whether we should package
> > e.g. $pkgname-{sse4,avx} in a case where it mattered a lot, but it
> > turned out the software in question (embree) is able to do runtime
> > detection of available ISA. Maybe some other packages are doing this
> > too, else we could discuss whether allowing such flavours as a temporary
> > measure would be acceptable for selected packages.
> 
> glibc detects available instruction sets and uses the best for many
> functions.
> 
> I'd be very, very, very much against providing multiple variants of a
> package in our repos.  Using asp and makepkg are is a hard solution for
> those who really need a few packages rebuilt.
> 
> PS - I rebuilt [core] with -march=haswell recently as a test.  Automated
> building is not an issue.  Unattended package/database signing is the
> major stumbling block.
> 
> Allan

In cases where the instruction set is detected at runtime it would not
be needed a new variation of the package since we can guarantee the
software isn't going to try to run any unsupported instructions.
What we are discussing really only applies to packages without runtime
SIMD code selection.

Thanks,
Filipe Laíns
3DCE 51D6 0930 EBA4 7858 BA41 46F6 33CB B0EB 4BF2


signature.asc
Description: This is a digitally signed message part


Re: [arch-dev-public] Create guidelines regarding SIMD instructions/x86 extensions

2019-05-25 Thread Filipe Laíns via arch-dev-public
On Sat, 2019-05-25 at 13:19 +0200, Bruno Pagani via arch-dev-public wrote:
> Hi,
> 
> Le 25/05/2019 à 02:17, Filipe Laíns via arch-dev-public a écrit :
> > I would also like to explore the idea of adding an "high performance"
> > architecture which would be able to make use of SSE{,2,3,4,4.1,4.2} and
> > AVX, which seem to be the standard for newer processors (>=2013). This
> > would only be available for packages that do high performance computing
> > (ex. openblas, sdrangel, etc.). Any thoughts on this?
> 
> As said on IRC, they have been discussions before on having multiple
> targets and corresponding repos, but the starting point is that we need
> automated build before going into such a direction, and this in turn has
> several requirements. I’ve linked to you the pad where we put our ideas
> together regarding this.
> 
> In the meantime, we had the case before of whether we should package
> e.g. $pkgname-{sse4,avx} in a case where it mattered a lot, but it
> turned out the software in question (embree) is able to do runtime
> detection of available ISA. Maybe some other packages are doing this
> too, else we could discuss whether allowing such flavours as a temporary
> measure would be acceptable for selected packages.
> 
> Regards,
> Bruno

This is fine my me. My biggest concern was the fact C doesn't support
__attribute__(("instruction set here")) but there are of course
workarounds. Creating a new architecture only makes sense if there are
multiple packages needing this but it seems not. I am fine with a
suffix, although I was thinking more something like -simd as SSE4, AVX,
etc. are usually available at the same time. In this cases I think we
should add a post_install step that gives a warning if the user CPU
doesn't support the used instruction sets.

Thanks,
Filipe Laíns
3DCE 51D6 0930 EBA4 7858 BA41 46F6 33CB B0EB 4BF2


signature.asc
Description: This is a digitally signed message part


Re: [arch-dev-public] Create guidelines regarding SIMD instructions/x86 extensions

2019-05-24 Thread Filipe Laíns via arch-dev-public
On Sat, 2019-05-25 at 10:35 +1000, Allan McRae wrote:
> On 25/5/19 10:17 am, Filipe Laíns via arch-dev-public wrote:
> > Hello,
> > 
> > Currently there are no guidelines stating which x86 extensions (ex.
> > SSE2, SEE3, SSE4, AVX, etc.) we support. This is a bit problematic
> > since it lets compilers do what they want and possible generate code
> > that can't run on some systems.
> > 
> > Even though this is an issue, it's not complete anarchy, at least yet!
> > Just kidding :p. The vast majority of our native packages are compiled
> > with GCC and we do default to `-mtune=generic` which is good but not
> > optimal. `-mtune=generic` tells GCC to compile for a generic processor
> > so it's up to GCC to decide which architecture extensions would compose
> > a generic processor. I haven't been able to find any documentation on
> > what x86 extensions are enabled for a "generic" processor but I was
> > able to track them down to MMX, SSE (or KNI) and SSE2. Being
> > undocumented they could change at any time so I don't think we should
> > rely on `-mtune=generic`.
> > 
> 
> I think you need to look at the difference between -march and -mtune.
> We use "-march=x86-64", which defines the instruction sets that can be
> used.  Adding "-mtune=generic" does not allow the inclusion of
> additional instruction sets.
> 
> Look at the output of:
> gcc -march=x86-64 -Q --help=target
> 
> Allan

Yes! My bad. I got confused.

From the `-march=x86_64` documentation:
A generic CPU with 64-bit extensions.

Setting `-mtune` to generic won't add any additional instruction sets
by itself, but it does not prevent instruction sets from being added.
Looks like GCC enables MMX, SSE and SSE2 by default, it isn't related
at all to `-march` like I stated in the email but it still presents the
same issue.

What do you think?

Filipe Laíns
3DCE 51D6 0930 EBA4 7858 BA41 46F6 33CB B0EB 4BF2


signature.asc
Description: This is a digitally signed message part


[arch-dev-public] Create guidelines regarding SIMD instructions/x86 extensions

2019-05-24 Thread Filipe Laíns via arch-dev-public
Hello,

Currently there are no guidelines stating which x86 extensions (ex.
SSE2, SEE3, SSE4, AVX, etc.) we support. This is a bit problematic
since it lets compilers do what they want and possible generate code
that can't run on some systems.

Even though this is an issue, it's not complete anarchy, at least yet!
Just kidding :p. The vast majority of our native packages are compiled
with GCC and we do default to `-mtune=generic` which is good but not
optimal. `-mtune=generic` tells GCC to compile for a generic processor
so it's up to GCC to decide which architecture extensions would compose
a generic processor. I haven't been able to find any documentation on
what x86 extensions are enabled for a "generic" processor but I was
able to track them down to MMX, SSE (or KNI) and SSE2. Being
undocumented they could change at any time so I don't think we should
rely on `-mtune=generic`.

What I propose is to define a set of x86 extensions to support and make
all compilers default to that if possible. I am fine with MMX, SSE and
SSE2 but they should be *our* choice, not GCC's.

This begs the question, would such approach be doable? So I ask the
compiler maintainers to please check if this would be possible.

I would also like to explore the idea of adding an "high performance"
architecture which would be able to make use of SSE{,2,3,4,4.1,4.2} and
AVX, which seem to be the standard for newer processors (>=2013). This
would only be available for packages that do high performance computing
(ex. openblas, sdrangel, etc.). Any thoughts on this?

Thanks,
Filipe Laíns
3DCE 51D6 0930 EBA4 7858 BA41 46F6 33CB B0EB 4BF2


signature.asc
Description: This is a digitally signed message part


[arch-dev-public] Mishandle of the 'Use gpg signatures and https sources' TODO list

2019-01-24 Thread Filipe Laíns via arch-dev-public
Hello,

In the process of updating the 'Use gpg signatures and https sources'
TODO list, packages which weren't using https in their 'url' field were
also added. This changes were reversed and a new TODO list was opened.
Sorry for the trouble.

Thanks,
Filipe Laíns
3DCE 51D6 0930 EBA4 7858 BA41 46F6 33CB B0EB 4BF2 


signature.asc
Description: This is a digitally signed message part