[Devel-en] New platform: forking rosa2021.1 into rosa2023.1
Giovanni Mariani
mc2374 at mclink.it
Wed Dec 28 19:25:21 MSK 2022
On 28/12/22 14:59, Mikhail Novosyolov wrote:
> Hi all! Happy New Year!
>
> Quite a lot of time has passed since release of first ISO images based
> on rosa2021.1 and even more time since its development was started. Now
> it is time to create a new platform, while continuing maintenance of the
> old one.
>
Great news! I was just wondering when this would start...
The plan you propose is sound...
Some little remarks below for some of the proposed steps.
> 7. Make a mass rebuild (with publishing of results into the repository,
> packages will have a new suffix/disttag rosa2023.1). Find which packages stopped being buildable compared
> to the list from point 5. It will give us a list of packages broken because
> of glibc and we will be able to quickly fix common problems without spending time on classifying each problem.
For this one (and step 5 and 12), I think we need a place where put and
interactively edit the "broken stuff" list to mark the packages being
worked and fixed... just to avoid someone doing two time the same work.
In the past ABondrov used google docs, but perhaps there are better
alternatives at hand...
> 9. [in parallel with other things] Reformat main and contrib. There are
> many strange, old, not maintained, not used packages in main. We
> have to form the new main repository from packages which are used in
> ISO images, plus some server packages plus some other packages and
> all packages required to build them, recursively. All other packages
> should go into contrib. Here we will have to take
> installed_pkgs.log.gz from build lists of mass build and some how
> process them with a script.
Perhaps this could be the time for also taking out from Contrib EOL
stuff as qt4/(kde4)/gtk2/python2 packages or old and unmaintained
packages having a newer alternative...
For the Sound packages (ie the ones I know about better), there are
still a few of them...
> 10. We have gcc 11 in rosa2021.1, gcc 12 is the latest version, gcc 13
> is going to be released in spring 2023. I do not see sense in
> updating gcc now. Updating it from 11 to 12 will break building a
> lot of packages but will not give any profit (at least nothing comes
> to mind). I suggest to make other big updates for now and wait,
> maybe we will better update to v13 nearer to its release.
I'm basically OK with your proposal, but we could face two issues with it:
1) Finding packages that will not build, because they use some stuff not
present in (or changed since) the libc/libc++ (probably more the latter
than the former) coming with gcc 11.2.0.
I already found a such case with Ardour (I wrote you about this, do you
remember?):
********************************
../gtk2_ardour/option_editor.cc: In member function ‘void
EntryOption::filter_text(const Glib::ustring&, int*)’:
../gtk2_ardour/option_editor.cc:354:48: error: no matching function for
call to
‘std::basic_string<char>::erase(std::basic_string<char>::const_iterator&)’
354 | t = text.erase (t);
| ~~~~~~~~~~~^~~
[...]
/usr/include/c++/11.2.0/bits/basic_string.h:4793:7: note: candidate
expects 2 arguments, 1 provided
********************************
Every release >= 7.0.0 failed to build with this error related to the
standard library headers.
Luckily it was only one single change in the Ardour sources, easy to
find and to reverse, but IMO the thing could happen other times, as our
gcc toolchain becomes older...
2) Gcc 14 (if not before) should disable by default or remove at all the
support for a few compatibility features dropped by C99 and still
supported (eg. implicit function declaration).
LLVM/Clang should get this at release 16.
See:
https://lwn.net/Articles/913505/
https://fedoraproject.org/wiki/Changes/PortingToModernC
Given the big number of packages involved and the complication deriving
from autoconf scripts using the deprecated features, this work could
require a very long time to be finished. So, perhaps, we should start
working with newer compilers and catch/fix all the fallout from them
earlier than we would prefer... but I guess that we can start this just
after releasing the new 2023.1.
Just my two cents...
GvM
More information about the Devel-en
mailing list