Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

TP Template Table #284

Open
rgleason opened this issue Jan 20, 2023 · 20 comments
Open

TP Template Table #284

rgleason opened this issue Jan 20, 2023 · 20 comments

Comments

@rgleason
Copy link
Contributor

rgleason commented Jan 20, 2023

TestPlugin FE2 Template v1.0.278.11 in rgleason repos

  • KEEP = Build remains in commits.
  • DROP = Build dropped from commits.

OpenCPN 5.10.2 (running current O5.8 Plugins)

Testplugin File Target Version Target Runs on Notes wx, gtk3 assumed
Android OS
android-arm64-16 16 android-arm64 android customized wx31
android-armhf-16 16 android-armhf android customized wx31
Mac OS
darwin-universal-macos 14.2 darwin macos wx32
Flatpak
flatpak-aarch64-2208-arm64 22.08 flatpak-arm64 flatpak wx32
flatpak-x86_64-2208 22.08 flatpak-aarch64 flatpak wx32
flatpak-aarch64-2408-arm64 24.08 flatpak-arm64 flatpak wx32 (added)
flatpak-x86_64-2408 24.08 flatpak-aarch64 flatpak wx32 (added)
Windows OS
msvc-x86_64-wx32* 2022 msvc-wx32 Win 7+ wx32
Debian 12 Bookworm 11 (wx32 is assumed)
debian-arm64-12-bookworm 12 debian-arm64 wx32
debian-armhf-12-bookworm 12 debian-armhf wx32
debian-x86_64-12-bookworm 12 debian-x86_64 wx32
Debian 11 Bullseye 11 (wx30 Version)
debian-armhf-11-bullseye 11 debian-armhf Focal* Frozen KEEP wx30 gtk3
debian-arm64-11-bullseye 11 debian-arm64 Focal* Frozen KEEP wx30 gtk3
debian-x86_64-11-bullseye 11 debian-x86_64 Focal* Frozen KEEP wx30 gtk3
Ubuntu OS wanted Jammy to use wx32 Special Case
ubuntu-x86_64-2204 22.04 ubuntu-wx32-x86_64 Jammy wx32

OpenCPN 5.6.2 Plugins Frozen - 28/05/2023

build-macos: Still building
build-msvc-2022: Still building


OpenCPN 5.8 Plugins

Generally these are still being maintained and built refer to the table above which represent the current builds.

Testplugin File Target Version Target Runs on Notes wx, gtk3 assumed
Android OS
android-arm64-16 16 android-arm64 android customized wx31
android-armhf-16 16 android-armhf android customized wx31
Mac OS
darwin-wx32-x86_64-12.3.1-macos not needed 12.3.1 darwin-wx32 macos wx32 not needed
darwin-wx32-arm64-x86_64-11.4-macos 11.4 darwin-wx32 macos arm64;x86_64 wx32
Flatpak
flatpak-aarch64-2208-arm64 22.08 flatpak-arm64 flatpak wx32
flatpak-x86_64-2208 22.08 flatpak-aarch64 flatpak wx32
Windows OS
msvc-x86_64-wx32* 2022 msvc-wx32 Win 7+ wx32
Debian 12 Bookworm 11 wx32 is assumed
debian-arm64-12-bookworm 12 debian-arm64 wx32
debian-armhf-12-bookworm 12 debian-armhf wx32
debian-x86_64-12-bookworm 12 debian-x86_64 wx32
Debian 11 Bullseye 11 wx30 Version
debian-armhf-11-bullseye 11 debian-armhf Focal* Frozen KEEP wx30 gtk3
debian-arm64-11-bullseye 11 debian-arm64 Focal* Frozen KEEP wx30 gtk3
debian-x86_64-11-bullseye 11 debian-x86_64 Focal* Frozen KEEP wx30 gtk3
Ubuntu OS wanted Jammy to use wx32 Special Case
ubuntu-x86_64-2204 22.04 ubuntu-wx32-x86_64 Jammy wx32

Darwin-wx32-x86_64 is not needed because darwin-universal builds a compatible version.
Jammy is a special case. Under jammy, when OCPN is loaded from our launchpad repo, it uses wx32, but generic debian/11 provides only wx30. So a generic Debian /11 plugin will not work.
We need a special plugin build using debian 11 with wx32, which we do make as the special case.

OpenCPN 5.6.2 Plugins

Plugins using API 118 do not build these plugins.
If API=117 some of these are still being built.

Testplugin File Target Version Target Runs on Notes wx gtk
Mac OS
darwin-x86_64-11.4-macos 11.4 darwin-wx315 macos Frozen KEEP wx315
Flatpak
flatpak-aarch64-2008-arm64 20.08 flatpak-arm64 fltpk REMOVED wx30 gtk3
flatpak-x86_64-2008 20.08 flatpak-aarch64 fltpk REMOVED wx30 gtk3
Windows OS
msvc-x86_64 msvc Win 7+ Frozen KEEP wx312
Debian 10 Buster
debian-armhf-10-buster 10 debian-armhf Bionic* Frozen KEEP wx30 gtk2
debian-armhf-10-buster-gtk3 10 debian-gtk3-armhf Bionic* Frozen KEEP wx30 gtk3
debian-arm64-10-buster 10 debian-arm64 Bionic* Frozen KEEP wx30 gtk2
debian-x86_64-10-buster 10 debian-x86_64 Bionic* Frozen KEEP wx30 gtk2
Ubuntu OS Generally deprecated and not used
ubuntu-armhf-1804-buster 18.04 ubuntu-armhf buster 10.13 KEEP Raspbian wx30
ubuntu-x86_64-1804-bionic 18.04 ubuntu-x86_64 Bionic Frozen DROP wx30
ubuntu-x86_64-1804-bionic-gtk3 18.04 ubuntu-gtk3-x86_64 Bionic Frozen DROP wx30 gtk3
ubuntu-x86_64-2004-focal-gtk3 20.04 ubuntu-gtk3-x86_64 Focal Frozen DROP wx30 gtk3
ubuntu-armhf-2004-focal-gtk3 20.04 ubuntu-x86_64 Focal Frozen DROP wx30 gtk3

Edited 4/10/2022 rgleason See Thread and subsequent discussion.
Edited 8/6/2023 Cleaned up unused. Moved Old Notes out to a post.
Edited 9/17/2023 Improved table to conform to comments.

Current build list for testplugin_pi
All by circleci, appveyor dropped because it no longer works.
@circleci-checks
View CircleCI workflow

OpenCPN 5.8 - This list is outdated insofar as Macos builds.

build-android-armhf - Success
build-android-arm64 - Success
build-flatpak-x86-2208 - Success
build-flatpak-arm64-2208 - Success
build-macos-wx32 - Success
build-msvc-wx32-2022 - Success
build-debian-x86_64-12-bookworm - Success
build-debian-arm64-12-bookworm - Success
build-debian-armhf-12-bookworm - Success
build-debian-armhf-11-bullseye - Success
build-debian-x86_64-11-bullseye - Success
build-debian-arm64-11-bullseye - Success
build-ubuntu-x86_64-2204-jammy - Success


OpenCPN 5.6.2
Note that Plugins using API 118 do not build these versions.
Some of these are still being built if API is 117

build-macos - Success
build-msvc-2022 - Success
build-debian-armhf-10-buster-gtk3 - Success
build-debian-arm64-10-buster - Success
build-debian-x86_64-10-buster - Success
build-debian-armhf-10-buster - Success
build-ubuntu-armhf-1804-buster - Success

NOTE: appveyor msvc wx312 build for OpenCPN 5.6.2 fails because it is missing a windows header. There will be one more run for OpenCPN 5.6.2 (without Windows), then all builds for OpenCPN 5.6.2 will stop. See
rgleason/watchdog_pi#66

Testing and Deployment

See #287
To ensure that we have a good template, because this is a complicated process, and we need to have some formalized steps & good testing So, before any publishing of plugins occurs:

  1. For each new Version of OpenCPN, have a confirmed "Table of Targets" and supported OS with any important supportive information relevant and necessary to the build process and changing the template. Please refer to TP Template Table #284
  2. Have Dave's approval of that Table of Targets.
  3. Run a complete trial using Testplugin_pi pushed to Beta Catalog, with a Cruiser Forum testing thread.
  4. For every OS supported, have at least 2 people confirm operation of TestPlugin_pi without failures. User Testers will confirm testing via a CF "Testing thread for Testplugin".
  5. To provide incentive for users to test, I am advising that if TestPlugin_pi for a given OS is not tested, that NO FE2 plugins will be included for that OS.
  6. Once all OS pass, then we can build plugins with the testplugin template.
  7. This process should be used whenever there is a change in API and wxWidgets, at a minimum.

Note: TP plugins built by rgleason will be re-built at 3 month intervals and longer if feasible.

@rgleason
Copy link
Contributor Author

rgleason commented Jan 22, 2023

Main 5.8.0 Table OpenCPN/OpenCPN#2797 (comment)

Same table under 5.8.0 Beta Dependency Discussions

@rgleason
Copy link
Contributor Author

rgleason commented Mar 26, 2023

TP 1.0.230 Build List

Revised and edited 4/8/2023 after Lennart's Issue with Jammy build.

1.0.230 - in cloudsmith testplugin-alpha
android-arm64-16-android-arm64.xml
android-armhf-16-android-armhf.xml
darwin-wx32-x86_64-11.4-macos.xml
darwin-x86_64-11.4-macos.xml
debian-arm64-10-buster-arm64.xml
debian-arm64-11-bullseye-arm64.xml
debian-armhf-10-buster-armhf.xml
debian-armhf-10-gtk3-buster-armhf.xml
debian-armhf-11-bullseye-armhf.xml
debian-x86_64-10-buster.xml
debian-x86_64-11-bullseye.xml
flatpak-aarch64-20.08-flatpak-arm64.xml
flatpak-x86_64-20.08-flatpak-arm64.xml
flatpak-x86_64-20.08-flatpak.xml
msvc-x86_64-10.0.14393-MSVC.xml
msvc-x86_64-wx32-10.0.17763-MSVC.xml
raspbian-armhf-9.13-stretch-armhf.xml <--- O562 Remove, use flatpak - which one?
ubuntu-armhf-18.04-buster-armhf.xml <--- O562 Remove, use debian-armhf-10-buster
ubuntu-armhf-20.04-gtk3-focal-armhf.xml <---O562 Remove, use debian-armhf-11-bullseye
ubuntu-x86_64-18.04-bionic.xml <---O562 Remove, use debian-x86_64-10-buster
ubuntu-x86_64-18.04-gtk3-bionic-gtk3.xml <---O562 Remove, use debian-x86_64-10-buster
ubuntu-x86_64-20.04-gtk3-focal-gtk3.xml <--O562 Remove, use debian-x86_64-11-bullseye
ubuntu-x86_64-22.04-jammy.xml <---O562 Remove uses debian-x86_64-11-bullseye
-- bdbcat advises "O562 linux uses only wx30"

@bdbcat
Copy link
Contributor

bdbcat commented Apr 10, 2023

Rick...

  1. You may safely drop my list. Does not add to understanding, much. Keep your matrix.
  2. I would appreciate if you remove the "Please note" and questions from the matrix. I'll answer them, and the matrix can be updated. Trying, I hope, to get to a static matrix with all questions answered.
  3. I would also follow Leamas' suggestion: Move the "Frozens" to a separate section of the list. The idea might be to think of "what is built" as separate from "what is in the catalog".
  4. Under Flatpak shouldn't we keep the O562 versions to be consistent? Sure, OK, frozen.
  5. Under Flatpak shouldn't the O58 versions have "-wx32" in the name? No need. Flatpak O58 is always wx32.
  6. raspbian-armhf-9.13-stretch uses which Flatpak? None. There is no flatpak for armhf, any flavor.

@rgleason
Copy link
Contributor Author

Dave.. (and Alec)

Thank you. I've updated it and tried to simplify.
One question now about

O58
flatpak-aarch64-22.08-arm64 | 22.08 fltpk | wx32 gtk3 | O58 Primary ADD
flatpak-x86_64-22.08 | 22.08 fltpk | wx32 gtk3 | O58 Primary ADD

O56
flatpak-aarch64-20.08-arm64 | 20.08 fltpk | wx30 gtk3 | O562 Frozen KEEP
flatpak-x86_64-20.08 | 20.08 fltpk | wx30 gtk3 | O562 Frozen KEEP

are these ok now?

@bdbcat
Copy link
Contributor

bdbcat commented Apr 11, 2023

Rick...
O58: Fine.

O56:
As I think on it, it may not be possible to build plugins for flatpak sdk/20.08, since in flatpak world, the update to sdk/22.08 makes previous versions of sdk unavailable.
But I am am not perfectly sure of this.
If unable to build, then the plugins already available for O56 become "frozen, keep". And no new ones need (nor can) be built.
Thanks for cleaning up the matrix. Easier to see the big plan now.
Dave

@rgleason
Copy link
Contributor Author

I think you may be right about that. Thanks for all your help and Alec's untangling my mess.

@rgleason
Copy link
Contributor Author

rgleason commented Apr 27, 2023

Removed these from
OpenCPN 5.8 list

Debian 11 Buster wx32
debian-wx32-armhf-10-gtk3-buster | Buster* | wx32 gtk3 | O58 ADD
debian-wx32-armhf-10-buster | Buster* | wx32 gtk3 | O58 ADD
debian-wx32-x86_64-10-buster| Buster* | wx32 gtk3 | O58 ADD

@rgleason
Copy link
Contributor Author

rgleason commented Apr 28, 2023

Changed Debian 12 Bookworm (removing the wx32) from the file name
(But JON, please note that the FILE NAME is NOT used, what is used is the <target>
we can name the file whatever we want, so if you can add -wx32 to the Bookworm File Names, it would be very helpful to me (because I need to know exactly which metadata files are O58 and O562 and having "wx32" in all of the O58 files except flatpak will accomplish that)!

Debian 12 Bookworm| | wx32 is assumed |
debian-arm64-12-bookworm | Jammy* | wx32 gtk3 | O58 ADD
debian-armhf-12-bookworm | Jammy* | wx32 gtk3 | O58 ADD
debian-x86_64-12-bookworm | Jammy* | wx32 gtk3 | O58 ADD

@rgleason
Copy link
Contributor Author

rgleason commented May 11, 2023

Bdbcat review of the TP Template Table

Logic: Production OCPN 58x on Bullseye is always wx30, whether for ARM(HF/64), or X86, a decision/plan made long ago. So there will be no instances of OCPN/Bullseye in the field that call for a wx32 target. The first time we target wx32 in ubuntu is Jammy. (Ubuntu 22.04). And also the largely equivalent Debian Bookworm.

The reason the builds for Bullseye-wx32 fail is because there are no wx32 libraries available for Bullseye. Never have been any. While clever, trying to use the wx32 builds from jammy will not work, as these failed builds demonstrate.

So, dropping Bullseye-wx32 from the Template table, and for the builds (as you have already done) is the right thing to do, after all.

REMOVED

Debian 11 Bullseye wx32| | wx32 version |
debian-wx32-arm64-11-bullseye | Jammy/Focal* | wx32 gtk3 | O58 ADD
debian-wx32-armhf-11-bullseye | Jammy/Focal* | wx32 gtk3 | O58 ADD
debian-wx32-x86_64-11-bullseye | Jammy/Focal* | wx32 gtk3 | O58 ADD

@rgleason
Copy link
Contributor Author

rgleason commented Aug 7, 2023

Old Notes

Notes:

  1. The Testplugin File Name in the list above is preceded by "testplugin_pi-[version]-"
  2. TP FE2 Template contains scripts for OpenCPN v5.6.2 and OpenCPN v5.8
  3. The "Target ABI" is normally the first two or three character sets separate by "-" IE "debian-armhf" "debian-wx32-x86_64"
  4. The "*" Ubuntu version is not used at all for these builds.
  5. Circleci/config.yml boolean controls determine which metadata and tarballs are built.
  6. Currently "Frozen O562" plugins are built with the standard TestPlugin configuration of config.yml.
  7. Debian 11 Bullseye always uses gtk3 and wx30.
  8. Regarding , suffixes like -gtk3 and -wx32 are added to the target only if there are two variants for the same version.
  9. The only things used are <target>and <target-version>. <target-arch> is not used at all.
  10. Flatpak-22.08 always uses wx32 and gtk3, no need to encode it in the name (see https://github.com/OpenCPN/OpenCPN/discussions8/2797#discussioncomment-4717784) This applies to all platforms, both x86_64 and arm64
  11. For any linux system based on wx30 (i.e. anything older than debian Bookworm/SID, or derivatives), the _legacy plugins meant for O56_2 will load and run. OpenCPN 5.6.2 linux uses only wx3.0.
  12. Buster is RPi only, mostly 32 bit, used on many RPi3 devices. If a platform is running wx30, then its "O562 legacy plugins" are in the master catalog. (if not deleted)!
  13. Jammy itself is wx-agnostic. It will use wx30 if O562 is installed, and wx32 if O571 is installed.
  14. See important note about use of ubuntu builds ](Plugins not working under ubuntu 22.04 #299 (comment)). However, all supported ubuntu LTS after Jammy (i.e. 24.04 due in one year) will be able to drop the "wx32" from the plugin target.
  15. Quick guide to the use of wx32
  • Any ABI containing the string "wx32" indeed uses wxWidgets 3.2
  • Flatpak uses wx32 starting from version 22.08
  • Debian uses wx32 from version 12
  • Earlier Debian ABI:s use wx30
  • Other windows and macos ABIs use the wxWidgets version used in OpenCPN 5.6
  1. The point of debian builds:
  • Ubuntu is a derivative of debian, so OCPN will load debian plugins with a debian version corresponding to the ubuntu version.
  • OpenCPN v5.7.1 (and 5.8) figures this out at run time.
  • No "ubuntu target" is needed at all. The version in a "debian" plugin says it all. See "*"
  • Over time, ubuntu specific plugins will be dropped, to prefer the debian equivalents exclusively.
  • Also derivatives like Raspbian use the same plugins (same for plain Debian) thus avoiding exceptions in plugin loading
  • It also limits the number of plugins that must be built.
  1. aarch64 is the same as arm64
  2. "Debian 11 Bullseye wx32" (arm64, armhf and x86_64) has been removed.
  3. Flatpak 2008 aarch64 and x86_64 have been removed Flatpak 20.08 is no longer supported.
  4. AISradar PR to change Ubuntu Jammy build target from ubuntu-x86_64 to ubuntu-wx32-x86_64 because the build was not working.
  5. The "ci/Control" file specifies which libraries are required to build the plugin. The "base-files (>=12) |" (and friends) syntax tells the builder which base debian version the plugin is to be built for. This ensures that the correct version of wxWidgets is included
  6. Dropped raspian stretch 913. in favour of ubuntu-armhf:18.04 buster

@leamas
Copy link

leamas commented Sep 16, 2023

The table has two entries for flatpak: flatpak-arm64 and flatpak-aarch64.

aarch64 and arm64 are synonyms referring to the same hardware. We are using flatpak-aarch64 since the flatpak project uses the term aarch64. There is no such platform as flatpak-arm64 and this should thus be removed.

OTOH flatpak-x86_64, the probably most used one is missing and should be added.

EDIT: Either I got it wrong, or it it's fixed now.

@leamas
Copy link

leamas commented Sep 16, 2023

More remarks: the last line ubuntu-x86_64-2204-Jammy | Jammy | ubuntu-wx32-x86_64 | wx32 gtk3 KEEP Raspbian
looks fishy in several aspects. The most important is perhaps that a x86_64 plugin is not related to Raspbian in any way since Raspbian only runs on arm64.

@leamas
Copy link

leamas commented Sep 16, 2023

More: Debian bookworm plugins runs on Debian Bookworm and upcoming Ubuntu 24.04. Jammy runs bullseye (11) plugins.

EDIT: That is not to say that the bullseye "version" is "Jammy", bulllseye is version 11 and nothing else. It targets some different platforms, one of which Jammy.

@rgleason
Copy link
Contributor Author

Alec, thanks. From the table.. I can take the arm64 off, but it is just there for understanding and not used in reality.

Flatpak      
flatpak-aarch64-2208-arm64 22.08 fltpk flatpak-arm64 wx32 gtk3
flatpak-x86_64-2208 22.08 fltpk flatpak-aarch64 wx32 gtk3

Re:

More remarks: the last line ubuntu-x86_64-2204-Jammy | Jammy | ubuntu-wx32-x86_64 | wx32 gtk3 KEEP Raspbian
looks fishy in several aspects. The most important is perhaps that a x86_64 plugin is not related to Raspbian in any way since Raspbian only runs on arm64.

@bdbcat I will let bdbcat comment as I don't do rpi.

Re:

More: Debian bookworm plugins runs on Debian Bookworm and upcoming Ubuntu 24.04. Jammy runs bullseye (11) plugins.
EDIT: That is not to say that the bullseye "version" is "Jammy", bulllseye is version 11 and nothing else. It targets some different platforms, one of which Jammy.

So you would like me to change the Version column from "Jammy" to "12 (Jammy, u24.04)"?

@leamas
Copy link

leamas commented Sep 16, 2023

So you would like me to change the Version column from "Jammy" to "12 (Jammy, u24.04)"?

No.

It really depends on what you are trying to achieve.

If it is about what plugins to use for Jammy you should replace "Debian 12 Bookworm" with "Debian 11 Bullseye" for all plugins targeting Jammy in the first column. The second column Version should read "11". If you want to make a note about that this one runs on Jammy, this belongs in the last Notes column

That is, both Focal and Jammy runs Bullseye plugins.

If it is about what the bookworm plugins does you should replace the Version column with "12" and add the targets Raspbian 12, Debian 12 and/or Ubuntu 24.04 in the Notes column.

You can remove the gtk3 comments for 5.8, we don't build anything at all for gtk2 these days.

@rgleason
Copy link
Contributor Author

rgleason commented Sep 16, 2023

Column 1 List of all unique builds required for all OS supported a given version of OpenCPN, with an adequately defined name to characterize it. Table covers O5.8 and O5.6.2
Column 2 "Version"
Column 3 "Target" Exact "target" required by PIM
Column 4 "Notes" status, wx gtk etc.

Table has 2 flatpak entries active for O5.8, one for flatpak-aarch64-2208 and the other for flatpak-x86_64-2208

Table does not have a single line under 05.8 for debian-11-bullseye (armhf, arm64, x86_64. My understanding is that these builds are for OpenCPN 5.6.2 only. Please explain because we will be dropping all builds under O5.6.2 pretty soon.

I could make a separate column "Runs on" if you would prefer. Please explain what should be put in that column for all debian builds.

Thanks

Later: Have done some of this, but no idea if it is what you are suggesting.

@leamas
Copy link

leamas commented Sep 18, 2023

Short of time.

Table does not have a single line under 05.8 for debian-11-bullseye (armhf, arm64, x86_64. My understanding is that these builds are for OpenCPN 5.6.2 only

No. The bullseye plugins are used for for both Focal and Jammy as well as Debian 11/bullseye and Raspbian/11. In other words, these are probably the most used plugins as of today.

OTOH, the bookworm/12 builds currently does not yet run on any Ubuntu LTS release; they will run on upcoming 24.04. However, the do run on Debian 12 and Raspbian 12. Stated otherwise, bookworm is the most recent release, not yet fully adopted everywhere.

@rgleason
Copy link
Contributor Author

rgleason commented Sep 18, 2023

Dave
Would you mind please translate Alec for me so I can get this right hopefully. Thank you so much Alec and Dave.

Its more complicated than it needs to be I think.

@bdbcat
Copy link
Contributor

bdbcat commented Sep 19, 2023

Rick....
What Alec says about focal is true.
We simply need to move the 3 lines for debian 11/focal up to the O58 (active) section, and make sure they are built.
That is, indeed, what testplugin builds today. so no change needed to CCI builds.

Debian 11 Bullseye | 11 | wx30 Version |   |  

debian-armhf-11-bullseye | 11 | debian-armhf | Focal | wx30
debian-arm64-11-bullseye | 11 | debian-arm64 | Focal | wx30
debian-x86_64-11-bullseye | 11 | debian-x86_64 | Focal | wx30

Once again, jammy is the special case.
Under jammy, when OCPN is loaded from our launchpad repo, it uses wx32. But generic debian/11 provides only wx30. So a generic Debian /11 plugin will not work.
We need a special plugin build using debian 11 with wx32, which we do make as a special case.
One more time: Jammy build of OCPN cannot use generic debian/11 plugin build. Wrong wx version.

Everything else in the O562 section can stay in place, frozon.

@rgleason
Copy link
Contributor Author

Thanks. I thought that was what we needed to do, it makes more sense now, and when I drop O5.6.2 I won't drop all the Debian 11 Focal too!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants