• Status Closed
  • Percent Complete
    100%
  • Task Type Bug Report
  • Category Packages → Packages: Stable
  • Assigned To
    Andreas Baumann
  • Operating System i686
  • Severity Medium
  • Priority Very Low
  • Reported Version
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Arch Linux 32
Opened by Arvid Norlander - 04.11.2022
Last edited by Andreas Baumann - 05.11.2022

FS#305 - [chezmoi] i686 and i486 packages are way out of date, pentium4 only slightly outdated

I did not see a way to report a package outdated (unlike upstream arch linux) so here is a bug report.

chezmoi (a dot file manager for your home directory) is way outdated in arch32, especially the non-pentium4 versions. This makes it unusable for me as my config depends on newer features.

I would at least expect arch32 to have the same version for i686 and pentium4.

Closed by  Andreas Baumann
05.11.2022 07:09
Reason for closing:  Fixed
Admin
Andreas Baumann commented on 05.11.2022 06:29

On the process issues mentioned:

We rely on upstream for the out-of-date flagging, there is no need to duplicate
this functionality.

https://archlinux32.org/packages/differences/ shows the differences to upstream:

Name	i486 Version	i686 Version	x86_64 Version	Repository	i486 Last Updated	i686 Last Updated

chezmoi	1.8.9-1.0	1.8.11-1.0	2.26.0-1	community	2020-11-28	
2021-02-12

The versions between subarchitectures differ, because we keep the latest working
version for a given subarchitecture. The alternative is to stick to the lowest
version or simply blacklist the package.

On chezmois: it's written in Go, i486 and i686 are currently not supported (if
I remember correctly there were some SSE2-requirement somewhere).

there is also an LTO problem:

# github.com/twpayne/chezmoi
flag provided but not defined: -flto
Admin
Andreas Baumann commented on 05.11.2022 06:35

This boils down to a Go falling apart:

i686:

Building Go cmd/dist using /usr/lib/go. (go1.15.8 linux/386)
cmd/dist
go tool compile: exit status 1
unsupported setting GO386=softfloat
go tool compile: exit status 1
unsupported setting GO386=softfloat
go tool compile: exit status 1
unsupported setting GO386=softfloat

i486:

# runtime
unable to allocate additional stack space: errno 12
Admin
Andreas Baumann commented on 05.11.2022 06:36

Let's see if the pentium4 version at least builds..

Admin
Andreas Baumann commented on 05.11.2022 06:38

We could try to omit the 'go' compiler and instead use the 'gccgo', but this
would require patching of all go packages from upstream. Also we should check first, if gccgo can do more.

'gc'/'go' officially dropped everything not having SSE math and SSE2 (so FPU/MMX
math is no longer possible on i686).

Admin
Andreas Baumann commented on 05.11.2022 06:43
go build: when using gccgo toolchain, please pass compiler flags using -gccgoflags, not -gcflags

Yeah, it builds on pentium4, i686, i484, but patching all go packages to use
gcc-go might be a little bit tedious. Let's do it with chezmoi as a test..

Admin
Andreas Baumann commented on 05.11.2022 06:50

chezmoi has a PKGBUILD in community-x86_64 (2.x) and in extra-x86_64 (1.x) upstream,
it seems the right one is choosen by our toochain.

Admin
Andreas Baumann commented on 05.11.2022 06:58

Also failing tests:

PASS
ok      github.com/twpayne/chezmoi/v2/pkg/cmd   11.325s
FAIL    github.com/twpayne/chezmoi/v2/pkg/git [build failed]
=== RUN   TestCurrentUserShell
--- PASS: TestCurrentUserShell (0.00s)
PASS
ok      github.com/twpayne/chezmoi/v2/pkg/shell 0.003s
FAIL

Let's not test the software and see if it works..

Admin
Andreas Baumann commented on 05.11.2022 07:08

i486 and i686 with gcc-go fail brutally (as if gcc-go and gc implemented a
different language, see attached logs).

So chezmoi will be rebuild for pentium4 only and blacklisted for i686 and i486.

Admin
Andreas Baumann commented on 05.11.2022 07:08

Loading...

Available keyboard shortcuts

Tasklist

Task Details

Task Editing