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

Changes in IOI's 2023 system #2

Open
wants to merge 155 commits into
base: master
Choose a base branch
from
Open

Changes in IOI's 2023 system #2

wants to merge 155 commits into from

Conversation

radl97
Copy link

@radl97 radl97 commented Oct 18, 2023

I would like to contribute the changes of IOI 2023's contestant-"vm". I'll try to summarize the changes, and based on feedback, I am happy to cherry-pick the needed changes. (Maybe it's better this way, because the commits are not that nice how I wanted them to be.)

I do not know who handles this repository, I want to start a discussion on which changes would be useful for later years.

I also see that some contest organizers use these repositories as a base image for their own contests, so I wanted to add visibility to the changes listed below.

Some changes (at the end of the list) were not yet committed to this repo.

  • Migration to Ubuntu 22.04 (which leaded to ability to bump G++ version)
    • netplan, new clang, gcc versions, etc.
    • X11 -> wayland
    • Fix up/bump Gnome extensions (and minimum-gnome-versions)
    • Fix ability to load documentation. Firefox became a snap package, which restricts access to the original file system.
  • Certain must-do fixes (internet links dead)
    • Bump versions of clang packages
    • Fix accidental removal of packages. Ubuntu migration leads to package dependency graphs changing, so an apt-remove might remove a required package. Use apt-mark instead.
  • Fix a security vulnerability
  • Do not remove some packages
    • kernel headers, modules, etc. -> these were probably removed to save space, and these are big packages. But it made testing harder for us.
    • Do not remove some caches -> this made it harder to debug issues
  • Remove some Java debuggers (VisualVM)
  • Install clangd
  • Also allow native run, not just VM -- IOI 2023 was deployed natively.
    • We needed snapshotting: We tried LVM, but that did not go well with CloneZilla... So we did a bad imitation of LVM with manual snapshotting :(
      • there is a fancy boot-up-time (initramfs) script handling the snapshot/restore mechanisms
    • Remove packages/blacklist Wifi and bluetooth modules
  • UI fixes
    • Favorite apps
    • Some small changes to remove first-run prompts (Eclipse donate, some VSCode prompts too)
  • Documentation
    • Add Python documentation
    • Remove STL-manual (it was really old C++)
    • Bump HTML book version
  • IDEs
    • Install LSP servers and plugins for most editors.
    • (Eclipse was removed due to a misunderstanding, then adding back later :D )
    • Bump Eclipse version, VSCode extensions version.
    • Add xwayland compatible eclipse launcher -- Wayland version and X11 both seemed to have some annoyances
    • Remove OpenJDK, Eclipse bundles its own version.
    • IntelliJ Keybindings
    • Bumped VSCode Vim
    • Add VSCode clangd extension to use as a possible alternative for the Microsoft supported C++ extension
    • After request: install these plugins: geany-plugin-automark geany-plugin-lineoperations geany-plugin-overview
  • gen_vpn_conf scripts moved to automation repo
    • Many other changes in VPN config. We were having trouble integrating our infrastructure with the VPN configs...
  • Remove annoyances:
    • silently dropping outbound connections created many annoyances (30s-2m timeouts in several programs, e.g. VSCode): e7309fc

Continuous Integration / Reproducible build:

  • Support for qemu
  • Autoinstall + cloud-init setup
  • Try making setup script reentrant (the ability to run the script again, to test out changes on the same VM)
  • Split the big setup script to parts: 2766f39

There are several 2023-only changes:

  • PySide6-Essentials was installed to enable a visualization for a specific task, as requested by 2023 HSC
  • wallpaper

There has been some changes since this last revision. These were deployed through ansible, and not yet upstreamed here:

  • Fix screenshot capability (Wayland support) -- and another fixup later
  • VSCode GNU++17 support (auto-select)
  • Gnome favorite apps-related change
    • remove udisks2
    • fix a typo
  • Fix snapshot-rollback
  • disable snap updates
  • work on tinc configs (tinc vpn was changed to tunneling mode)
  • Bump zabbix from 1.5.x to 1.6.4
    • Fill in zabbix_agent.conf
  • Fixup firewall rules :/
  • keyscan backup server (so as not to throw authorization errors)
  • Add desktop icon for CMS

Known issues:

  • First startups sometimes throw crash reports: there was one with take_screenshot script (I think it was fixed)
  • There were several different crashes (gjs-console, somehow related to desktop entries -- this might have been fixed after a permission issue with Desktop)

radl97 and others added 30 commits August 7, 2023 15:25
This lets applications know that communication will not
work and thus they can react appropriately much faster
instead of running into long timeouts.

Fixes #78
Add alternative for running eclipse (`X11+xwayland` and `native`)

Fixes #85 

---------

Authored-by: horcs <[email protected]>
Reject disallowed outgoing packets instead of dropping them

Fixes #78
Update cppreference to 20230810
After the release of Ubuntu 22.04.3, the iso files for 22.04.2
were moved to old-releases.ubuntu.com.

Fixes #93
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

Successfully merging this pull request may close these issues.

5 participants