Jump to content
Read the Funtoo Newsletter: Summer 2023 ×

Funtoo Newsletter, February 2023


drobbins

1,676 views

Our Second Newsletter!

Welcome to our second official Funtoo Linux newsletter, covering the time period of February 2023! It’s exciting for us to get into a rhythm with newsletter releases. 

We have a much meatier newsletter this month, with recent technical updates, great news about Oleg aka angry_vincent, a profile of Kery, a new user – and his install challenges, and some really useful and detailed info about our bug tracker and how to use it well. Let’s start by covering the latest updates:

Latest Updates

Funtoo Linux now has debian-sources-6.1.12_p1 enabled by default. This appears to be working well with all the key packages that require kernel compatibility (zfs-kmod, nvidia-kernel-drivers).

Harvester’s “harvester/2023-01” branch has been merged into master, meaning that all harvester changes are now part of official releases. The most notable change is an upgrade of binutils to 2.39_p5, as well as a harfbuzz update. We now have “harvester/2023-03” active and ready for PR’s. Our focus for March – updating Xorg. Adriano Bosco (aka “adbosco”) is working on this at the moment.

Oleg and Ukraine

Those who have been a part of the Funtoo community for quite some time are aware that Oleg, aka angry_vincent, used to serve as the project lead for several years, where he competently supported the Funtoo user community with great support and assistance. 

You may not be aware, however, that Oleg lives in Ukraine, and has been very personally impacted by Russia’s invasion of Ukraine, even prior to the “special military operation”. By extension, there is a personal connection between the events in Ukraine and the Funtoo Linux project. Even though the conflict is very far away from most of us, it feels very close.

There is good news here, though. Daniel has been chatting with Oleg recently and Oleg will be assisting with maintenance and improvement of Funtoo from Scratch, and associated efforts, as he is able. We are really happy to have Oleg back in our community. If you see him around online, please welcome him back!

New Jira

We are now running a new version of Jira, which comes with its own set of changes. Let’s look at each one.

Comments

The latest comments on each issue are now at the top of the page, rather than the bottom. This is more convenient for some. However, this feature is still in its infancy, and even with the latest comment at the top of the page, there is a problem –  the “Add Comment” button will still be at the bottom of the page, so if you want to add to the discussion, you have to scroll all the way to the bottom of the page anyway. D’oh! And if it’s an issue with many comments, the latest ones will be hidden, so you can’t easily reference the latest comment to write a response. Double d’oh!

Atlassian, please fix this soon! You can toggle back having the most recent comment at the bottom of the page by clicking this button on the right top of the comments:

LjIhZBnWWQEwuYLrhdcHt8wW8SBacYuPmBNLgIVk

Workflow Cleanup

In a feature that is better thought-out, workflow steps are now organized under their own sub-menu, rather than being individual buttons. This is a welcome change which cleans up the UI quite a bit:

waXPAHvqim6vt2RnvvKK8EtZrhcvAkec9INYOzbY

New Rules?

In addition to Jira itself, the official “rules” for creating an issue on the Funtoo Bug Tracker (https://bugs.funtoo.org) were updated by Daniel.

Previously, Daniel had a very gentle and metaphorical set of guidelines, which were in green, which appeared when the “Create” button was pressed on bugs.funtoo.org. Now, there are much stricter and direct rules that appear, which are in red. The underlying philosophy hasn’t changed, but the way the rules are being explained has gone through a dramatic change.

The new bug tracker rules are designed to set clear expectations on what is acceptable, to ensure that compliant bug reports are filed. The stricter rules are necessary to provide clear guidance to the community, but are not intended to discourage you from filing issues on the bug tracker. Just please follow these new rules, and you will be fine. Here is the new text:

If you are using personal overlays, custom USE settings or other non-standard things on your system, then your bug will be given low priority or may even be closed with little or no explanation. We are focused on supporting Funtoo users, who use Funtoo's official profiles with minor deviations only.
In your new issue, please include:

  • A description of what you were trying to do -- not just the actual breakage. This is called giving us context.
  • A description of what happened.
  • A description of what you expected to happen.
  • How you are being impacted by this issue.
  • Please attach build logs and ego profile show output, if appropriate.
  • For feature requests, new package additions or other improvements please include an explanation of why the issue is important to you and could be beneficial to the Funtoo community.
  • Please include any other information that might help us reproduce the issue.

Please DON'T do the following:
DON'T attach emerge --info output -- instead please attach ego profile show output as is much more useful and will allow us to try to reproduce the issue.
DON'T use anything in Gentoo as justification to do or not do something in Funtoo -- Funtoo is a separate community with its own processes and development and we are under no obligation to do something just because Gentoo does it, or not do something because Gentoo doesn't do it.
Please see the Wolf Pack Philosophy for more background on these rules. Users who repeatedly and flagrantly ignore these rules when reporting bugs may be banned from the Funtoo bug tracker and related community resources.


It’s worth spending some time to discuss the rationale behind this change, and how Funtoo intends to use the bug tracker going forward.

Bug Tracker 101

Let’s dive into some deep thoughts about the bug tracker, which will help you to understand why we do things the way we do, and help you use the bug tracker as an expert.

The Funtoo Project utilizes the bug tracker in a quite peculiar way. Most projects will put in place strict rules in certain areas, but not others. For example, in most communities, you can receive unpleasant feedback from developers if you file a duplicate or if you let it show that you didn't read and understand the documentation thoroughly. On the Funtoo bug tracker, duplicates are welcome: they show that there are more people concerned about that issue, each one with their own personal experiences. On Funtoo, if you struggled enough trying to accomplish something to the point you thought you found a bug, then we consider it to be a bug, even if the issue was caused by something you did wrong. In the Funtoo ideal, everything should “just work” in the most intuitive way possible. If it doesn't, then that fact, in and of itself, is a bug. This is also different from most projects.

Our openness about user experience provides some temptation to use the bug tracker as the project’s main forum for discussing various ideas and improvements – and here is where it is important to understand a subtle but important rule that is enforced:  any idea proposed on the bug tracker as a feature request should include justification as to why this change would be beneficial to you as well as to the larger Funtoo community. This means you should not simply describe the technical change, but also make clear the motivation and reasoning behind it. This is very different from how most bug trackers operate, where pure technical discussions are the norm. In Funtoo, the “heart” of every issue should be a human story and with a clear explanation of how it benefits people. Not sure if others are interested in your idea? At least explain how it benefits you.

So, you have permission to discuss your personal needs on the bug tracker. But at the same time, Daniel doesn’t support the idea of using the bug tracker for general discussion – all comments on each issue should be focused on the specific issue at hand, and moving it towards resolution. And careful attention must be paid by all participants to not “hijack” the issue with tangential comments or ideas. The bug tracker is not an appropriate place for a “general brainstorming”-style discussion. 

If your idea is still in the brainstorming stage, Funtoo Linux does have forums at https://forums.funtoo.org, which are recommended for discussions, as well as Discord and Telegram servers/channels. These are great resources for soliciting feedback on your ideas.

So – did I mention that Funtoo rules were a bit peculiar? These subtle but important rules, when followed consistently, make a huge positive difference for the Funtoo community.

This user-centric way of using the bug tracker – with clear limits – tends to get misunderstood. Users will assume we allow free-flowing discussion, or think we are extremely strict and avoid reporting important issues that are annoying to them personally, thinking we don’t care. Neither one of these extremes is the reality at all. It’s probably fair to say that we are strict in how we use the bug tracker, but we are strictly focused on having a productive and positive force for improving the human experience with Funtoo.

Finally, it’s important to understand that in Funtoo – unlike in Gentoo – we are all using standardized profiles, not every possible USE flag combination – and that the bug tracker is primarily focused on improving our official profiles. Issues related to non-standard settings will be significantly deprioritized. On the other hand, if our official profiles aren’t working for you, that itself is a bug, and you should explain how our default settings are sub-optimal and how we should change them or improve Funtoo so you don’t need to use custom USE settings in the first place.

If in doubt – create an issue. We will give you feedback if it is best handled elsewhere.

New User – Kery

Kery joined the community on February 17th, when he was about to install Funtoo for the first time. He downloaded the GNOME stage3 Westmere tarball and started the installation process, but he would run into weird error messages, like chroot and even bash failing due to “illegal instruction”.

It turns out that Kery had chosen the correct sub-architecture tarball “Westmere tarball” for his Pentium P6200 (Arrandale variant of Westmere), but the fact is that P6200 lacks the extensions SSE4.1, SSE4.2, AES and PCLMUL, which GCC assumes are available on every Westmere chip. The solution was to choose the core2 tarball instead, which matches the Westmere Pentium P6200 actual available instruction set.

Basically, what happens here is that the chip manufacturer and the GCC developers have different opinions on what constitutes an “architecture”, or “sub-architecture” to use the Funtoo terminology. For the manufacturer, “architecture” means how the chip is physically built; for GCC, it means what instruction set is available.

Both are correct most of the time, but in the case of the Westmere chips, not all models ship with the same instruction set.  In the P6200 case, it has the same instruction set as what GCC considers to be a Core2 chip.

Kery also found out that our fchroot tool would silently fail when there was a CPU instruction set incompatibility between the binaries in the tarball and the physical hardware on which fchroot running.

After working through these issues, Kery managed to successfully install Funtoo on his P6200 box using the Core2 tarball, but when he tried to run any GNOME application, the entire session would crash and he’d be thrown back to the login screen. He had followed the instructions in the documentation in the order they were presented, but that didn’t lead to a working GNOME desktop as expected.

It took some digging, but he soon found out that the problem was that he hadn't installed the correct X driver. So, he went back to the documentation to find out how to do it. He learned that he needed to add the “gfxcard-intel” mix-in to get the driver he needed and run a full world update. It turns out that this mix-in, which is normally enabled by default, is not enabled for the core2_64 subarch.

Unfortunately that still didn't work. He couldn't even start the X server now. Eventually, he discovered that he needed the i915 mesa driver, which is provided by the gfxcard-intel-classic mix-in instead, which led to another world update. Basically, he had found another bug, but this time the bug was in the documentation. The “classic” driver enables the “xf86-video-intel” ebuild, which is required for some older Intel integrated graphics chips, but is no longer the recommended default, which is now provided by the modesetting driver enabled by the “gfxcard-intel” mix-in.

Once his video was working, another bug was found. Kery was using the “lxqt” stage3, and he found that LXQt was not being enabled as the default desktop environment. Another bug, and another thing for us to fix.

Probably most Funtoo user (or Gentoo user for that matter) have gone through some struggle when they installed the system for the first time.  What makes Kery's story different is that he happened to go down a path that hit a surprising number of bugs and he communicated everything, both his difficulties and his findings. Each roadblock has its own issue reported on the bug tracker, and we will be addressing every reported issue by improvements to our stages and documentation to prevent other users from encountering similar problems in the future. His efforts in reporting the issues will result in Funtoo being better for everyone. 

Thanks, Kery, for taking the time to do this! We’re going to be working on the issues you reported.

EOL

Thanks everyone for joining us for this month’s newsletter! Our plan is to make this newsletter a true “hub” for our distributed Funtoo community and appreciate you reading all the way to the bottom 🙂

2 Comments


Recommended Comments

Nice wrap up! As someone that comes here from time to time It is really nice to have this kind of newsletter. I've subscribed to it and looking forward to read more!

Link to comment
Hi everyone, some time ago I was wondering what happened to Oleg, I'm glad to know that you are active again in Funtoo. I didn't know you were Ukrainian.
 Oleg I want to tell you that I am very sorry about what is happening in your country. Since the invasion (war) began, I have followed all the events very closely via TV,
 radio and the internet, even when I work. I hope this nightmare ends as soon as possible and I'm glad that my country, Italy like all of Europe is lined up in support of Ukraine.

https://ibb.co/0ZFszpK

 

I just updated the system
funtoomex /home/morphmex # emerge --depclean -a

 * Always study the list of packages to be cleaned for any obvious
 * mistakes. Packages that are part of the world set will always
 * be kept.  They can be manually added to this set with
 * `emerge --noreplace <atom>`.  Packages that are listed in
 * package.provided (see portage(5)) will be removed by
 * depclean, even if they are part of the world set.
 * 
 * As a safety measure, depclean will not remove any packages
 * unless *all* required dependencies have been resolved.  As a
 * consequence of this, it often becomes necessary to run 
 * `emerge --update --newuse --deep @world` prior to depclean.

Calculating dependencies... done!
>>> Checking for lib consumers...
>>> Calculating removal order...

>>> These are the packages that would be unmerged:

 virtual/jre
    selected: 18 
   protected: none 
     omitted: 19 

 virtual/jdk
    selected: 18 
   protected: none 
     omitted: 19 

 dev-java/oracle-jdk-bin
    selected: 18.0.1.1 
   protected: none 
     omitted: 19.0.2 

All selected packages: =virtual/jdk-18 =dev-java/oracle-jdk-bin-18.0.1.1 =virtual/jre-18

>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.

Would you like to unmerge these packages? [Yes/No] y
>>> Waiting 5 seconds before starting...
>>> (Control-C to abort)...
>>> Unmerging in: 5 4 3 2 1
>>> Unmerging (1 of 3) virtual/jre-18...
>>> Unmerging (2 of 3) virtual/jdk-18...
>>> Unmerging (3 of 3) dev-java/oracle-jdk-bin-18.0.1.1...
 * It appears you are removing your system-vm! Please run
 * "eselect java-vm list" to list available VMs, then use
 * "eselect java-vm set system" to set a new system-vm!
 * Updating .desktop files database ...                                                                                                                                                                                              [ ok ]
Packages installed:   1492
Packages in world:    38
Packages in system:   81
Required packages:    1492
Number removed:       3

 * Messages for package dev-java/oracle-jdk-bin-18.0.1.1:

 * It appears you are removing your system-vm! Please run
 * "eselect java-vm list" to list available VMs, then use
 * "eselect java-vm set system" to set a new system-vm!

 * GNU info directory index is up-to-date.
funtoomex /home/morphmex # revdep-rebuild.sh
 * Configuring search environment for revdep-rebuild

 * Checking reverse dependencies
 * Packages containing binaries and libraries broken by a package update
 * will be emerged.

 * Collecting system binaries and libraries
 * Generated new 1_files.rr
 * Collecting complete LD_LIBRARY_PATH
 * Generated new 2_ldpath.rr
 * Checking dynamic linking consistency
[ 100% ]                 

 * Dynamic linking on your system is consistent... All done. 
funtoomex /home/morphmex # 
funtoomex /home/morphmex # epro list

=== arch: ===

    arm-32bit, arm-64bit, riscv-64bit, x86-32bit, (x86-64bit*), x86-64bit-papa

=== build: ===

    current, musl, (next*)

=== subarch: ===

    amd64-bulldozer, amd64-excavator, amd64-jaguar, amd64-k10
    amd64-k8, amd64-k8+sse3, amd64-piledriver, amd64-pumaplus
    amd64-steamroller, amd64-zen, amd64-zen2, amd64-zen3, atom_64
    btver1_64, core-avx-i, core2_64, corei7, generic_64, intel64-broadwell
    intel64-haswell, intel64-ivybridge, intel64-nehalem, intel64-sandybridge
    intel64-silvermont, intel64-skylake*, intel64-skylake-avx512
    intel64-westmere, native_64, nocona, opteron_64, xen-pentium4+sse3_64

=== flavor: ===

    core, desktop*, hardened, minimal, server, workstation

=== mix-ins: ===

    X, amazon-ec2, audio, btrfs, cinnamon, console-extras, dvd
    encrypted-root, gfxcard-amdgpu, gfxcard-ancient-ati, gfxcard-intel
    gfxcard-intel-classic, gfxcard-intel-iris, gfxcard-kvm, gfxcard-nouveau
    gfxcard-nvidia*, gfxcard-nvidia-legacy, gfxcard-older-ati, gfxcard-panfrost
    gfxcard-radeon, gfxcard-raspi4, gfxcard-vmware, gnome, gnome-3.16-fixups
    hardened, kde, kde-plasma-5, kde-plasma-5-new*, lxde, lxqt
    mate, media, media-pro, mediadevice-audio-consumer, mediadevice-audio-pro
    mediadevice-base, mediadevice-video-consumer, mediadevice-video-pro
    mediaformat-audio-common, mediaformat-audio-extra, mediaformat-gfx-common
    mediaformat-gfx-extra, mediaformat-video-common, mediaformat-video-extra
    no-emul-linux-x86, no-systemd, openvz-host, print, python3-only
    selinux, stage1, vmware-guest*, wayland, xfce

funtoomex /home/morphmex # 

   

 

Edited by morphmex
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...