Sailfish Community News, 8th February - FOSDEM'24

Sailfish OS update from Jolla

This last weekend the Jolla team, and an impressive number of the Sailfish Community, were attending FOSDEM’24 in Brussels. FOSDEM describes itself as “a free event for software developers to meet, share ideas and collaborate”, but the best description I’ve so far heard for it is “OpenSource Disneyland”.

Perhaps the reason why FOSDEM works so well is that it captures the spirit of open source: attendance is free; it’s completely open (you don’t even have to register to attend); it’s inclusive, attracting a diverse range of attendees; and it’s about as chaotic as they come.

Jolla has a long history of FOSDEM attendance. In previous years there have been talks by Jolla and community members about Sailfish OS, birds-of-a-feather (BOF) events and the now-regular community dinner.

This year was no different, with Sailfish OS represented on the Linux on Mobile stand alongside seven other mobile Linux distributions. There were also several talks related to or relevant for Sailfish OS.

The stand was a great opportunity for us to talk to some of our most committed users, but also to draw in new users. There was an incredible amount of interest: not a moment passed across the entire weekend when the stand wasn’t crowded around with people looking at the astonishing collection of mobile devices on show (see the photos if you don’t believe me!). There was huge interest in Sailfish OS and it’s clear that there’s an appetite for a Linux-based mobile operating system to replace Android as a daily-driver phone.

But the real highlight of the event for us was the Jolla event on the Saturday evening. Jolla took over a tapas restaurant near the centre of Brussels to host several dozen Sailfish enthusiasts to present Jolla Reborn.

The event started with a a very open presentation about Jolla’s future direction and involvement of the community. Presented by Antti Saarnio, Chairman of the Board of Directors and one of Jolla’s original founders, joining the event online alongisde several Sailors attending in-person.

Antti talked about the best way to harness new and developing technologies, especially artificial intelligence, the Internet of things (IoT) and how users want to interact with these technologies. Antti stressed the importance of these new technologies working in tandem with Jolla’s strengths in the mobile space, including privacy and its strong community links. This was placed in the context of devices and the cloud: where should AI processing take place? Could it be on a separate device, in the cloud, but still controlled by the user? How does this tie in to other devices the user may have? And crucially, what tools will the community need in order to develop applications and solutions to best make use of such capabilities.

Antti’s presentation was followed by a very frank Q&A session, giving the opportunity for members of the community to express their thoughts about the restructuring, the future direction of Jolla and how best it can serve the community. Discussion topics included the use of Artificial Intelligence to improve the product, potential revenue streams, commercial customers and partners to approach, the way to develop for new devices and the role of Sailfish OS as a European operating system.

At the end of the presentation everyone was encouraged to complete a questionnaire. The purpose was to allow input into this future direction. As Jolla is reborn and heads into what is undoubtedly going to be an exciting and challenging world for technology and the way we all interact with it, it’s crucial that we have your thoughts on Jolla’s place in this world and where Sailfish OS fits into it.

After all of the thoughtful and energetic discussion, the evening was rounded off by a very well-deserved tapas buffet and some great discussion between friends.

FOSDEM is always a great opportunity for Jolla to interact with the community, all with the aim of furthering Sailfish OS and making it the platform we all love to use. And this year was no different. It was great to see everyone, to get the opportunity to attract new faces to the Sailfish community, and to hear your experiences and thoughts on how to improve Sailfish OS. But crucially also, to share what already makes it so great. Thanks to everyone who attended, it was wonderful to see you there.

Energy from the Community

Repository roundup

Multimedia stack

Communication bits

User interface

  • lipstick , the home screen code (open source parts), krnlyng added a signal when the client closes a window. This signal ( terminated ) notifies that the application associated with the surface has terminated abnormally. This is based on qtwayland signaling when the client destroys a surface.

Other applications

Low level libraries

Developer’s corner

Thaodan removed the %make_install macro for RPM packaging. He thus fixed many packaging directives in various repositories:

There is also an on-going maintenance task to remove the static libraries (and libtool .la files) from the distributed package when they don’t make sense. This obviously will reduce a bit the download and installation footprint for the next update:

Further development corner items:

Please feed us your news

As always, please do not hesitate to share your ideas, thoughts, or suggestion for future newsletter topics.

Let’s keep working together!

Please do also join us at our community meetings on IRC, Matrix and Telegram. Next community meeting will be on the 15th February

23 Likes

Oh.

That’s going to be fun.

1 Like

Will this questionnaire, or a similar one, also be made available for people who didn’t attend the presentation?

I’m sure some who couldn’t attend would like the opportunity to give feedback as well.

9 Likes

Actually, I was a bit unprecise, the removal is not done yet, see this pending PR:
Various cleanups by Thaodan · Pull Request #6 · sailfishos/meego-rpm-config · GitHub

And, this is removing the (modified) copy Meego vendor is proposing. I think, this is to become closer RPM distros in their packaging spec files.

5 Likes

Phew, thanks for clarifying! :smiley:

1 Like

@Thaodan may comment if I’m mistaken, but looking at the code that is removed from the macros provided by Meego vendor, this macro was doing the following:

  • invoking make install with a DESTDIR and INSTALL_ROOT pointing to the build root,
  • removing any installed info files,
  • removing any libtool *.la files,
  • removing any static libraries.

I guess the first point can be achieved by a more standard qmake5_install macro for Qt projects for instance. Sailfish OS is not packaging documentation, so the removal of info or man pages may have to be done explicitely in the spec file now (??). The removal of libtool files seems to be taken care off now by an addition to the __os_install_post macro. The removal (or absence of build) of static libraries will have to be explicit in the spec file also, like it’s done and reported here for various packages.

4 Likes
8 Likes

Thanks again.

The main point is, though, will %make_install still be defined from somewhere else and do something reasonable? Or will all .spec files using it break now?

NB: It is the default of spectacle to use that macro for the %install step. I know the yaml/spec approach is not en vogue any more, but I happen to like it and use it still, in a lot of packages.

1 Like

I’m not an expert (not at all anything actually) when coming to discuss about RPM packaging, so take these remarks with a criticising eye…

%make_install macro is a standard macro from rpm package that is defined in /usr/lib/rpm/macros. Just that Meego vendor was overwriting it.

So I guess that %make_install will still work, and will work as it is working on other RPM platforms. Which is better.

Last notice, as mentioned in this macros file, %make_install is “the make install analogue of %configure for modern autotools”. So, if your package is using qmake and not autotools, you should use %qmake5_install instead.

3 Likes

Perfect. That’s reassuring.

2 Likes

Thaodan may comment if I’m mistaken, but looking at the code that is removed from the macros provided by Meego vendor, this macro was doing the following:

  • invoking make install with a DESTDIR and INSTALL_ROOT pointing to the build root,
  • removing any installed info files,
  • removing any libtool *.la files,
  • removing any static libraries.
    It was doing all that but removing info files.

I guess the first point can be achieved by a more standard qmake5_install macro for Qt projects for instance.

Yes this was one of the flaws in the current Qt packaging. Existing projects only break if they used the wrong make when using qmake. Packages which have fixed their packaging will build so also on older Sailfish OS releases.

Sailfish OS is not packaging documentation, so the removal of info or man pages may have to be done explicitely in the spec file now (??).

Packages which shouldn’t contain documentation should do so explicitly. There is no use in building documentation and then not package them.

The removal of libtool files seems to be taken care off now by an addition to the __os_install_post macro. The removal (or absence of build) of static libraries will have to be explicit in the spec file also, like it’s done and reported here for various packages.

Yes that is intended.

3 Likes

Actually an ai assistant that could teach you making sailfish os apps would be nice. And also to be able to ask it how to write a specific app and parts of it.

You LIKE the yaml!? In the main, I have to defer to you in any matter that concerns packaging. But the yaml files!!! The appearance of simplicity, veiling the actual insanity of rpm & co.!

1 Like

It would have been great to be there! Any chance to have the presentation shared / did anyone tape the event?

2 Likes