Re: [arch-dev-public] Starting x86_64_v3 port

2022-01-30 Thread Andreas Radke via arch-dev-public
1) -1 for bringing new packagers onboard just due to the lack of
automatic rebuilds.

2) For me 2 of my 3 systems are only x86-64-v2 so I won't be able to
test anything seriously. So I'm out of the game if v3 is the new
default. Both systems are fast enough for many more years. So there's
no plan to replace them.

3) Anything that just needs simple rebuilds should be done in 2022
without any manpower. What's the plan with the new v3 port if I build
only v1 packages? Will v3 stay at the old version or will the new v1
package also be pushed to v3 just lacking the better optimization until
some new v3 rebuild brings it back? This way v3 would go forth and back
all the time and should be avoided. But falling behind v1 for some time
is also not desired.

4) Is anybody actually running ALHP or working on it?
https://alhp.harting.dev/packages.html

[5) Why don't we care about ARM and OpenRISC at all? Aren't we riding
pretty dead horses here just for very minor improvements?]



-Andy


pgpcIJ1xweR5i.pgp
Description: Digitale Signatur von OpenPGP


[arch-dev-public] Debug packages for Arch Linux

2022-01-30 Thread Morten Linderud via arch-dev-public
I'm very happy to announce that debug packages in Arch Linux has been deployed 
:)

This work began after FOSDEM 2020 and was announced in November 2020. However
because of time constraints it took quite a while before we managed to deploy
it.

Currently we have a debuginfod service which is capable of delivering source
listings and debug symbols to users with gdb, delve and other debuggers. This
can be enabled by installing the `debuginfod` package and setting the
environment variable `DEBUGINFOD_URLS="https://debuginfod.archlinux.org"`. The
`debuginfod` package is also going to be providing this variable :)

The debug package repositories themself are not publicly accessible nor
distributed to our mirrors. This is because there is a general concern around
the repository size increase. The goal is to take a look at distributing them
and/or making them accessible in the future. 

Packages are being rebuilt for debug symbols where deemed needed by the packager
and I suspect we should have a discussion around enabling the debug option by
default or not. However see the section below around creating debug packages as
there are some caveats of the current approach.

I have added some links to the work that has been done to accomplish all of this
at the bottom of this email.

For general information about the instance one can look at the service itself:
https://debuginfod.archlinux.org/

Previous emails on this topic:
* 
https://lists.archlinux.org/pipermail/arch-dev-public/2020-November/030222.html
* 
https://lists.archlinux.org/pipermail/arch-dev-public/2021-December/030583.html


# archlinux.org news announcement

Suggestion for the news announcement on archweb. I'll post it in a day or two
unless there are any objections.

Subject: Debug packages and debuginfod
We are very happy to announce that debug packages are now available in Arch
Linux.

Debug symbols and source listing are provided through our debuginfod instance
which can be utilized by debuggers such as gdb and delve. In the future we are
planning to make these repositories public on our mirrors.

For more information on this please visit the
[archwiki](https://wiki.archlinux.org/title/Debuginfod) article, Or the
debuginfod service.

https://debuginfod.archlinux.org/


# Creating debug packages

Currently with pacman 6.0.1-3 debug package only works on C/C++ projects. This
is mostly because pacman utilizes a fairly ugly awk hack to extract sources and
if it encounters a binary from Go or Rust (as an example) it is simply unable to
deal with them and produces invalid packages.

This is fixed with a patch i wrote which replaces the AWK hack with debugedit.
https://gitlab.archlinux.org/pacman/pacman/-/commit/ae2f506ddfd11d9becda7216033fe1b159536982

Until this patch is backported, or a pacman release is done, I would advise us
to not build debug packages for anything that isn't using gcc/clangd.

Saying that, I'm unsure how we should be documenting debug packages across our
distro. They probably belong in package guidelines sections of each package, or
we make a common wiki page for this. Generally Rust needs a environment variable
and Golang needs a bit of work to disable decompressed DWARF headers.

We can probably work something out as we go along, currently I think we should
try enable debug packages on our [core] packages.

When we have pacman with the above patch I can try compile a list of available
methods to get debug packages from Rust, Go and other languages. Obviously I'd
need some help with that :)

Cheers!
-- 
Morten Linderud
PGP: 9C02FF419FECBE16

# infrastructure
https://gitlab.archlinux.org/archlinux/infrastructure/-/merge_requests/168

# dbscripts
https://gitlab.archlinux.org/archlinux/dbscripts/-/merge_requests/21
https://gitlab.archlinux.org/archlinux/dbscripts/-/merge_requests/33

# devtools
https://gitlab.archlinux.org/archlinux/devtools/-/merge_requests/78


signature.asc
Description: PGP signature


Re: [arch-dev-public] Starting x86_64_v3 port

2022-01-30 Thread Morten Linderud via arch-dev-public
On Sun, Jan 30, 2022 at 12:02:46PM +0100, Andreas Radke via arch-dev-public 
wrote:
>
> [5) Why don't we care about ARM and OpenRISC at all? Aren't we riding
> pretty dead horses here just for very minor improvements?]

ALARM has refused to join the project because of our ancient tooling. RISC is
being worked on by Felix.

https://github.com/felixonmars/archriscv-packages

-- 
Morten Linderud
PGP: 9C02FF419FECBE16


signature.asc
Description: PGP signature


Re: [arch-dev-public] Starting x86_64_v3 port

2022-01-30 Thread David Runge via arch-dev-public
On 2022-01-30 12:13:45 (+0100), Morten Linderud via arch-dev-public wrote:
> ALARM has refused to join the project because of our ancient tooling.

Case in point. :)

-- 
https://sleepmap.de


signature.asc
Description: PGP signature


Re: [arch-dev-public] Debug packages for Arch Linux

2022-01-30 Thread Kristian Klausen via arch-dev-public

On 30.01.2022 12.08, Morten Linderud via arch-dev-public wrote:

I'm very happy to announce that debug packages in Arch Linux has been deployed 
:)

This work began after FOSDEM 2020 and was announced in November 2020. However
because of time constraints it took quite a while before we managed to deploy
it.

Currently we have a debuginfod service which is capable of delivering source
listings and debug symbols to users with gdb, delve and other debuggers. This
can be enabled by installing the `debuginfod` package and setting the
environment variable `DEBUGINFOD_URLS="https://debuginfod.archlinux.org"`. The
`debuginfod` package is also going to be providing this variable :)

The debug package repositories themself are not publicly accessible nor
distributed to our mirrors. This is because there is a general concern around
the repository size increase. The goal is to take a look at distributing them
and/or making them accessible in the future.


We have three sponsored machines, which are used as package mirrors and 
archive mirrors[1].
At the time of writing they have 14TB available storage each, so we 
could mirror the debug packages to them.


[1] {america,asia,europe}.{archive,mirror}.pkgbuild.com

- Kristian


Re: [arch-dev-public] openssl 3.0

2022-01-30 Thread Pierre Schmitz via arch-dev-public
So I just build the 437 packages (pkgbase) and let my computer compile
for just 25 hours. The initial results can be seen here
https://md.archlinux.org/s/t8HOyhNOi

Currently there are 27 packages in [core]/[extra] and 92 in
[community] that do not build. I did not check the logs for every
package yet, but I guess there are these categories:
* package does not build regardless of OpenSSL (e.g. unavailable
sources, checksum mismatch, issues due to LTO, ...)
* packages also links to a not yet update package that still uses openssl-1.1
* packages are actually incompatible with OpenSSL 3.0

I'll need some help with:
* Document why a package fails (complete build logs are attached to
the document linked above)
* Create a todo list for packages that are broken for other reasons and fix them
* Review the legacy openssl-1.1 package and check if this approach is
valid. (last time we patched versiond symbols in 1.0 which I did not
apply here) See
https://github.com/archlinux/svntogit-packages/tree/packages/openssl-1.1/trunk
and 
https://github.com/archlinux/svntogit-packages/tree/packages/openssl-1.0/trunk
* Fix the incompatible packages and as a last resort link to 1.1

PS: if there is a tool that is able to rebuild and install packages in
the correct order (not by explicit dependency but by so lib links),
let me know.

Greetings,

Pierre

On Fri, Jan 28, 2022 at 9:41 AM Maxime Gauduin via arch-dev-public
 wrote:
>
> On Thu, 2022-01-27 at 16:47 +0100, Christian Hesse via arch-dev-public
> wrote:
> > Pierre Schmitz via arch-dev-public
> >  on
> > Sun, 2022/01/23 12:50:
> > > Next steps:
> > > 1) Let's agree on a time window where no other rebuild can take
> > > place
> > > within our staging repos. How about at least the first two weeks in
> > > February?
> >
> > I guess the ffmpeg 5.0 will be blocking for some time...
>
> Not necessarily. There are too many packages that don't build, I will
> maintain a temporary ffmpeg4.4 package to get this todo out quickly.
> Should have time for this over the weekend.
>
> Cheers,
> --
> Maxime



-- 
Pierre Schmitz, https://pierre-schmitz.com


Re: [arch-dev-public] Starting x86_64_v3 port

2022-01-30 Thread Allan McRae via arch-dev-public

On 30/1/22 21:13, Morten Linderud via arch-dev-public wrote:

On Sun, Jan 30, 2022 at 12:02:46PM +0100, Andreas Radke via arch-dev-public 
wrote:


[5) Why don't we care about ARM and OpenRISC at all? Aren't we riding
pretty dead horses here just for very minor improvements?]


ALARM has refused to join the project because of our ancient tooling. RISC is
being worked on by Felix.


Not 100% accurate.  When I asked there was significant issues around 
sponsorship and ownership of the arm machines used as a buildfarm.


Re: [arch-dev-public] Starting x86_64_v3 port

2022-01-30 Thread Maxime Gauduin via arch-dev-public
On Sat, 2022-01-29 at 20:17 +0100, Sven-Hendrik Haase via arch-dev-
public wrote:
> On Sat, 29 Jan 2022 at 15:17, Pierre Schmitz via arch-dev-public <
> arch-dev-public@lists.archlinux.org> wrote:
> 
> > On Sat, Jan 29, 2022 at 2:49 PM Allan McRae via arch-dev-public
> >  wrote:
> > > Assuming we need people to help the x86_64_v3 port, I would post
> > > a news
> > > item and have people apply.  We have advertised developer
> > > positions in
> > > the past and received dozens of applications, and readily filled
> > > the
> > > available positions with quality applicants.  They would be
> > > brought on
> > > as Package Maintainers (once approved on the staff list) with
> > > access to
> > > [extra] and [community], and have packaging privileges including
> > > being
> > > added to the keyring.
> > > 
> > > While advertising for x86_64_v3 specific packagers, we should
> > > make a
> > > list of other packaging areas needing help and recruit for those
> > > too.
> > 
> > While I would have preferred to gradually have raised the CPU
> > requirements of our main repo (e.g. v2 right now and v3 in a few
> > years), maintaining two x86_64 variants for a transition period
> > might
> > work. Nonetheless we should in work on how to get Arch back to be
> > bleeding edge regardless of this. One aspect might be to reduce the
> > overall amount of packages and get rid of unmaintained software
> > (either by us or upstream).
> > 
> > As the vast majority of hardware is v3 already we should consider
> > x86_64 ( > date
> > when support for such CPUs will be dropped. Personally I would only
> > use and test on v3 once it is available. While not all of you might
> > agree right now, this is how it will end up eventually, like it did
> > with i686. Long story short: we might be looking for people
> > maintaining the x86_64 repos and not the v3 ones.
> > 
> > Greetings,
> > 
> > Pierre
> > 
> > --
> > Pierre Schmitz, https://pierre-schmitz.com
> 
> 
> This wouldn't really be too much of an issue if we had proper
> automation.
> With automation, this exact problem solves itself to a degree. Surely
> there
> will still be specific breakages now and then but the bulk of the
> burden
> will go away. We'd even be able to support other targets with ease.
> 
> However, I realize this will require a lot of upfront infra work
> before
> we're there and I'm not sure we should block this proposal on that
> work.
> 
> If we don't eventually get good automation (and packages in git),
> this
> kinda problem will keep reoccurring. Sadly I don't really have time
> to work
> on this right now though I'd love to.
> 
> Sven

We already have 2 working automated build tools, that I know of,
Evangelos' and mine [0]. I'm sure we can figure something out fairly
quickly, unless we'd rather go with some Gitlab CI now that we have
one. It would probably make more sense to go that route, but I've
already fitted several Gitlab instances with a Buildbot CI, I find it
more flexible and it also works wonders.

[0] https://github.com/alucryd/archbuild

Cheers,
-- 
Maxime


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


Re: [arch-dev-public] Starting x86_64_v3 port

2022-01-30 Thread Morten Linderud via arch-dev-public
On Sun, Jan 30, 2022 at 02:00:51PM +0100, Maxime Gauduin via arch-dev-public 
wrote:
> On Sat, 2022-01-29 at 20:17 +0100, Sven-Hendrik Haase via arch-dev-
> >
> > This wouldn't really be too much of an issue if we had proper automation.
> > With automation, this exact problem solves itself to a degree. Surely there
> > will still be specific breakages now and then but the bulk of the burden
> > will go away. We'd even be able to support other targets with ease.
> > 
> > However, I realize this will require a lot of upfront infra work before
> > we're there and I'm not sure we should block this proposal on that work.
> > 
> > If we don't eventually get good automation (and packages in git), this kinda
> > problem will keep reoccurring. Sadly I don't really have time to work on
> > this right now though I'd love to.
> > 
> > Sven
> 
> We already have 2 working automated build tools, that I know of,
> Evangelos' and mine [0]. I'm sure we can figure something out fairly
> quickly, unless we'd rather go with some Gitlab CI now that we have
> one. It would probably make more sense to go that route, but I've
> already fitted several Gitlab instances with a Buildbot CI, I find it
> more flexible and it also works wonders.

I think having buildbot would be more flexible for such an infrastructure then
piggy back on the pipeline system for gitlab. It sometimes feels too restrictive
being tied to git repositories and buildbot is a *lot* more flexible when it
comes to it.

It might also be worth a consideration that the build infrastructure would be
completely seperate from our git forge. This would make it easier if we want to
move VCS/forge in the future.

-- 
Morten Linderud
PGP: 9C02FF419FECBE16


signature.asc
Description: PGP signature


Re: [arch-dev-public] Debug packages for Arch Linux

2022-01-30 Thread Morten Linderud via arch-dev-public
On Sun, Jan 30, 2022 at 08:49:29PM +0100, sL1pKn07 SpinFlo wrote:
> hi
> 
> thanks for the work!

Thanks!

> one question. This thing works, for example, if I build one of the packages
> with debug package in the arch debuginfod site with my custom flag for
> disable an option/feature. the debug package stored in the debuginfod site
> still works? or i need to create a debug package locally?

The buildid would be different so our debuginfo won't work with your packages.

You can check with: readelf -n /bin/ls | grep -A4 build.id

> If I need to build a local debug package and I want to use it
> with debuginfod, is it possible add the link of the custom debuginfod site
> in the DEBUGINFOD_URLS variable? how? is , separate? or ;?

Yes, space is the seperator. See 
https://man.archlinux.org/man/debuginfod-find.1#ENVIRONMENT_VARIABLES

You can also add a file under /etc/debuginfod/*.urls like we did with our
`debuginfod` package.

-- 
Morten Linderud
PGP: 9C02FF419FECBE16


signature.asc
Description: PGP signature


Re: [arch-dev-public] Debug packages for Arch Linux

2022-01-30 Thread Morten Linderud via arch-dev-public
On Sun, Jan 30, 2022 at 08:59:34PM +0100, sL1pKn07 SpinFlo wrote:
> El dom, 30 ene 2022 a las 20:54, Morten Linderud ()
> escribió:
> 
> > On Sun, Jan 30, 2022 at 08:49:29PM +0100, sL1pKn07 SpinFlo wrote:
> > > hi
> > >
> > > thanks for the work!
> >
> > Thanks!
> >
> > > one question. This thing works, for example, if I build one of the
> > packages
> > > with debug package in the arch debuginfod site with my custom flag for
> > > disable an option/feature. the debug package stored in the debuginfod
> > site
> > > still works? or i need to create a debug package locally?
> >
> > The buildid would be different so our debuginfo won't work with your
> > packages.
> >
> > You can check with: readelf -n /bin/ls | grep -A4 build.id
> >
> > > If I need to build a local debug package and I want to use it
> > > with debuginfod, is it possible add the link of the custom debuginfod
> > site
> > > in the DEBUGINFOD_URLS variable? how? is , separate? or ;?
> >
> > Yes, space is the seperator. See
> > https://man.archlinux.org/man/debuginfod-find.1#ENVIRONMENT_VARIABLES
> >
> > You can also add a file under /etc/debuginfod/*.urls like we did with our
> > `debuginfod` package.
> >
> > --
> > Morten Linderud
> > PGP: 9C02FF419FECBE16
> >
> 
> Hi
> 
> thanks for the reply
> 
> is here documented the file/directory structure of debuginfod "repo"?
> 
> greetings

I recommend reading the documentation frankly. debuginfod just recursively scans
a set of directories which is polling our package repositories. The
implementation is linked in the email.

https://gitlab.archlinux.org/archlinux/infrastructure/-/merge_requests/168/diffs?commit_id=b7202bd6da295654171d890c4d139ddae96ace54

-- 
Morten Linderud
PGP: 9C02FF419FECBE16


signature.asc
Description: PGP signature


Re: [arch-dev-public] Debug packages for Arch Linux

2022-01-30 Thread Morten Linderud via arch-dev-public
(Sorry for the offlist spam. I'm too quick and forget to remove the CC :c)

-- 
Morten Linderud
PGP: 9C02FF419FECBE16