nteodosio

Revision 17 as of 2023-09-06 15:05:02

Clear message

This page is just a dump of notes.

Where was Cmake test defined?

ctest -R test_some_side_corner_item_XYZ --show-only=json-v1

https://stackoverflow.com/questions/60863036/cmake-ctest-where-was-defined-test-xyz

Iterate on build

./debian/rules build
fakeroot ./debian/rules binary
dh_clean

No file selection dialog

sudo apt install xdg-desktop-portal-gtk+ xdg-desktop-portal-gnome-

Skip XDG portal to test snap access

This is a common mistake. The XDG portal provides the file to the snap.

In browser skip it with file:// in address bar.

Canonistack

>10 GB instances are actually available, see openstack flavor list.

List of merge requests on Launchpad

Source.

Which dependency is linking against an unwanted one?

I was getting this problem figuring who was including soup2.4 while I only wanted soup3.0 in a meson project.

Non-meson should be something similar.

Given meson.build in this form:

grep dependency meson.build
    dependency ('libnm', version: '>= 1.2'),
    dependency ('libnma', version: '>= 1.0'),
    dependency ('polkit-gobject-1', version: '>= 0.103'),
    dependency ('accountsservice'),
    ...

$ awk -F\' '/dependency/{dep=$2; "pkg-config --libs " dep | getline; if(/soup-2.4/)print dep}' meson.build
webkit2gtk-4.0

Dbus stuff

For minimal environments, if you get

Failed to execute child process ?dbus-launch? (No such file or directory)

the solution is to put

. /etc/X11/Xsession.d/*dbus*

in your .xinitrc.

GTK

GTK3 to GTK4 *.ui

  •  gtk4-builder-tool simplify --3to4 gtk3.ui > gtk4.ui  fixes a considerable amount of stuff, but not all.

  • <packing> no longer works, use <layout>.

See https://docs.gtk.org/gtk4/migrating-3to4.html for more.

Old GTK, empty space in window

To make sure a widget expands (i.e., takes over empty space),

<packing>
  <property name="expand">True</property>
  <property name="fill">True</property>
</packing>

was not enough in Xenial. It was necessary to add a

<property name="vexpand">True</property>

C.f. https://git.launchpad.net/~nteodosio/update-manager/commit/?id=89be5e7e0ed91225fd2855c4079bb3efb4824dd3

For widget initial size

https://stackoverflow.com/questions/29737096/gtk3-paned-widget-default-homogeneous-sizes https://stackoverflow.com/questions/7796335/how-to-set-minimal-and-current-size-of-the-right-pane-in-hpaned-in-gtk https://stackoverflow.com/questions/45799092/set-widget-initial-size https://docs.gtk.org/gtk3/signal.Widget.screen-changed.html

Chromium

Grepping its source code is slow, hours even with fixed patterns.

Use https://source.chromium.org/search?q=regex instead.

ISO QA testing hints

Minimal install is slower

Minimal install won't save you time; on the contrary: It adds the step of removing what was installed.

Nvidia test case

There are outdated bits, don't block on them.

The point is that, once you fully install and booted. you should have 1) secureboot on 2) working nvidia drivers loaded.

Tests that can be done in a single run

Save time by performing those in a single go:

  • [Run-once] Other Features (i.e. test if keyboard, wireless and timezone configuration during installation is kept after installing)
  • [Mandatory] Install (manual partitioning re-using home partition)
  • [Mandatory] Install (manual partitioning)