[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Debian12 repository.
From: |
Riccardo Mottola |
Subject: |
Re: Debian12 repository. |
Date: |
Fri, 24 Nov 2023 11:04:14 +0100 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Firefox/91.0 SeaMonkey/2.53.17 |
Hi,
let me try to explain a little the compatibility issue. I am not
debating if GCC is better or worse, but you want to provide an
repository (would be "overlay" in gentoo terms) to Debian or Ubuntu,
which provides differently configured packages. Runtime (in short, let's
say ARC here) is the major difference, but it could also be layout, root
directory, etc.
The issue is that debian and ubuntu already provide GS packages which
are configured differently from "yours" and you cannot control how
Debian names its packages, only "your".
I would configure these package e.g. with --with-layout=gnustep --prefix=/
This compatibility will remain even if in the future things will change.
GCC my acquire ARC and libobcj2, it will still be an issue for other
things. Debian might switch to clang, but you still have a different
layout...
Also the amount of packages offered by you might differ. I suppose they
easily can be "more" because you could provide anything GNUstep has, but
you might choose not.
You cannot control how debian names their packages right now you can't
just call them legacy.
Andreas Fink wrote:
base: 1.29
gui: 0.30
back: 0.30
Randomly checking some other apps shows they are op to release (ProjectCenter,
gorm, GNUMail)
Does that version support ARC?
It is irrelevant, those versions are current versions, that is what I
wanted to show. It depends on how they are compiled and they are
compiled with gcc, so without ARC.
For all users which are not developers, they will not care, they install
an application and it works. Most applications we have do not require ARC.
Those who notice are mostly developers now. Or in the future more apps
will be ARC-only, who nows.
As far as I remember gcc simply doesn't support it. Sticking around with gcc is
a dead end. It looks to me like gcc never will ever support objective-2.0 fully.
I never even considered the debian packages because ARC does not work with them
and thats kind of mandatory now.
While it is up for debate if GCC is a dead-end or not, it was not my
point. You need to consider debian packages, since they exist and are in
the official repositories.
While the libobjc2 runtime is "runtime" compatible with non-ARC code, it
is (no longer is?) binary compatible with it. So you have to cover e.g.
these two scenarios:
Debian repo first:
1) debian user installs some GNUstep user packages. E.g GWorkspace,
Terminal and PRICE. They pull in of course gnustep core libraries
2) user wants to develop, installs ProjectCenter&GORM, dev packages, ecc
3) user needs ARC, adds your repository
4) user needs to replace existing packages with "your" packages. All of
them! Even if they have the same "version" number they need to be
mutually exclusive
5) if a package is not provided by your package it needs to be removed.
E.g. you provide core, ProjectCenter and GWorkspace, but not Terminal
and PRICE. They need to me deleted because of unavailable dependency
GS repo first (happy flow)
1) debian user does not have any GS app or library installed
2) User adds your GS repos, install what it needs, e.g. Core,
ProjectCenter and GWorkspace
3) user attempts to add Terminal and PRICE which you do not provide, he
needs to fail to install the debian provided versions
What incompatibilities do we end up having if we use the new runtime 2.0 only?
non ARC written code can still be executed. What other clashes will we face?
To my knowledge and experience, in most code I am involved in there is
no end-user difference. I have two workstations, they run the "same"
software (all gnustep core tool & apps, all GAP apps + PRICE and some
custom apps none of which needs objc2) one on linux with GCC and one
with FreeBSD and clang/libobjc2 and they all compile and run the same.
Provided you are on a fully supported arch/OS combination, no issues.
Sure there are differences when you debug, compile and things. There may
be bugs, e.g. do that on NetBSD and with libobjc2 your exceptions won't
work.
I wanted to stress the "package tree" incompatibility issue, where
mixing is impossible for many reasons, not just compiler and runtime.
Riccardo
- Re: Debian12 repository., Riccardo Mottola, 2023/11/20
- Re: Debian12 repository., Hugo Melder, 2023/11/20
- Re: Debian12 repository., Andreas Fink, 2023/11/20
- Re: Debian12 repository.,
Riccardo Mottola <=
- Re: Debian12 repository., Andreas Fink, 2023/11/24
- Re: Debian12 repository., H. Nikolaus Schaller, 2023/11/24
- Re: Debian12 repository., Andreas Fink, 2023/11/24
- Re: Debian12 repository., H. Nikolaus Schaller, 2023/11/24
- Re: Debian12 repository., Andreas Fink, 2023/11/24
- Re: Debian12 repository., Richard Frith-Macdonald, 2023/11/24
- Re: Debian12 repository., Hugo Melder, 2023/11/24
- Re: Debian12 repository., Riccardo Mottola, 2023/11/27