Compare commits

..

220 Commits

Author SHA1 Message Date
Rik Mills f744e763f7 NOCI
2 months ago
Rik Mills b9b706ce02 Update Kubuntu slideshow for 24.10 (LP: #2080925)
2 months ago
Aaron Rainbolt 949a91e6ef
Fix klünitybuntu's root partition names for Oracular
2 months ago
Aaron Rainbolt a300fa7ba3
Get welcome images into shape for Klünitybuntu
2 months ago
Aaron Rainbolt dcd969079c Fix pkgselect UI centering bug
3 months ago
Aaron Rainbolt e073dc915c Release to Oracular.
5 months ago
Aaron Rainbolt a5e93e5ff7 Fix Calamares theming during OEM install first-time user setup on Kubuntu.
5 months ago
Aaron Rainbolt 664da199e4 Fix an issue where the user made during post-OEM user setup would be given UID 1001.
5 months ago
Aaron Rainbolt a5c2f4625e Don't recomment Internet during user setup after OEM install on Ubuntu Unity
5 months ago
Aaron Rainbolt edc227001a Don't recommend Internet for Kubuntu user setup after OEM install
5 months ago
Aaron Rainbolt be748bed19 Fix Kubuntu's donation and internet check links
5 months ago
Simon Quigley 0d29c20385 Welcome to Oracular Oriole!
7 months ago
Walter Lapchynski 6959468d0c sync with archive
7 months ago
Simon Quigley 2843b10697 Do not remove zram-config on Ubuntu Unity, it does not exist in the first place (LP: #2063108).
7 months ago
Aaron Rainbolt 883c08282e Rearrange versions
7 months ago
Aaron Rainbolt 4f1f85ef9c Fix timeouts.
7 months ago
Aaron Rainbolt 5674431193 Don't show Thunderbird on Kubuntu.
7 months ago
Walter Lapchynski b2766f78bc Remove timeouts re: networking/update-initramfs
7 months ago
Walter Lapchynski 825b0631bd Add icon on Desktop to finish OEM install.
7 months ago
Aaron Rainbolt 1b74da2587 Fix the sizes of some Kubuntu branding things.
7 months ago
Aaron Rainbolt 0d65dd0d20 Get rid of the third-party drivers checkbox.
7 months ago
Aaron Rainbolt c48927d938 Add Kubuntu branding from Rick Timmis.
7 months ago
Simon Quigley d19ba3878c Don't keep lubuntu-snap-installation-monitor installed on the minimal option (LP: #2061318).
7 months ago
Walter Lapchynski ec477ab8e9 Remove after_bootloader contextual process
7 months ago
Aaron Rainbolt 052f17fd80 Fix sidebar color for Kubuntu.
7 months ago
Walter Lapchynski b754ac1285 Run apt update before installing packages
7 months ago
Simon Quigley 303ab727b5 Run the pkgselect contextualprocesses after packages in Kubuntu and Ubuntu Unity (LP: #2060879)
7 months ago
Aaron Rainbolt c04b82b2fa Fix pkgselect for kubuntu and ubuntuunity
7 months ago
Simon Quigley ba4dae0174 Upload to Noble
7 months ago
Simon Quigley cb54b1e186 Adjust spacers accordingly on no network.
7 months ago
Simon Quigley 1299a42d37 Allow fixconkeys-part2 a 5 minute window to run, which should be enough to run update-initramfs (LP: #2060429).
7 months ago
Simon Quigley 8696f7da83 Bump the timeout limits to 15 minutes for both pkgselect contextualprocess modules.
7 months ago
Simon Quigley fd49ee70fe Be completely sure apt will not try to prompt the user.
7 months ago
Aaron Rainbolt 1cc0cb1be9 Don't purge zram-config from Kubuntu, it doesn't exist.
7 months ago
Aaron Rainbolt f9d7cd9639 Sync with archive.
7 months ago
Aaron Rainbolt f461a8afec Revert "Remove zram-config from package purge list for Kubuntu"
7 months ago
Aaron Rainbolt 7256a4013a Remove zram-config from package purge list for Kubuntu
7 months ago
Simon Quigley adcf60e0ee Add missing build dependency on golang-go.
8 months ago
Simon Quigley 3f2cca27e9 Ship it!
8 months ago
Simon Quigley 1cebfe1fd8 no network
8 months ago
Simon Quigley be86ca1ec0 snap-seed-glue
8 months ago
Simon Quigley e3d1d6fe9c Wraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaap.
8 months ago
Aaron Rainbolt 0f213e4269 Someone (cough, me) didn't audit the package purge lists very well...
8 months ago
Aaron Rainbolt 1c4b837add Give up on GPT-on-MBR this cycle, too dangerous
8 months ago
Aaron Rainbolt 8b924b0eeb Adjust changelog, fix Ubuntu Unity OEM stuff
8 months ago
Walter Lapchynski 27850a5f22 setting BROWSER to open as live user
8 months ago
Aaron Rainbolt 48a5f7d792 Go all-GPT, tweak changelog wording a bit
8 months ago
Aaron Rainbolt 7bad26586e Enhance design with suggestions from Michael, make changelog more accurate
8 months ago
Simon Quigley a6ece69a5a Ensure the items show up in globalStorage, but fail at actually using them
8 months ago
Simon Quigley 45d0d7bb62 can haz UI instead of QML pls kthxbai
8 months ago
Simon Quigley 991af8f043 Enable pkgselect for everyone.
8 months ago
Aaron Rainbolt ffc955d58e Fix LUKS passphrase prompt for non-US keyboard layouts, undo an accidental change to Kubuntu
8 months ago
Aaron Rainbolt c8f33d68f7 Add Ubuntu Unity config, fix some bugs
8 months ago
Walter Lapchynski 8c60c69654 GeoIP in welcome module disabled
8 months ago
Aaron Rainbolt 3cf89c92ab Actually enforce non-empty passwords
8 months ago
Aaron Rainbolt 5356eeab97 Good bye Ubuntu Studio, we miss you. Come back anytime!
8 months ago
Aaron Rainbolt 4d0755e3f0 Add changelog entry
9 months ago
Neal Gompa 79aaacdae4 debian/control: Define the flavor packages as swappable packages
9 months ago
Aaron Rainbolt 2e551c98e4 OEM mode bugfixes
9 months ago
Aaron Rainbolt 03d507b751 Update copyright file
9 months ago
Aaron Rainbolt 4629bba99c Massive OEM mode overhaul for Lubuntu, tweaks and fixes for Kubuntu OEM mode
9 months ago
Aaron Rainbolt f777bbfa16 Sync with archive.
9 months ago
Simon Quigley a649612fd2 Upload to Noble.
10 months ago
Simon Quigley c2fa148bc5 Be compliant with the current state of the deb822 Ubuntu implementation specification.
10 months ago
Dan Simmons 2389a13777 Upload to Noble.
11 months ago
Dan Simmons c000464ad5 Update welcome slide for noble.
11 months ago
Simon Quigley 62c5dee9e7 Use new icon for Lubuntu's installer, and improve theming.
11 months ago
Aaron Rainbolt 3e5f959765 Don't try to uninstall muon when doing a minimal install
11 months ago
Aaron Rainbolt efe57b6984 Sync with archive.
11 months ago
Simon Quigley f8bf449335 Add some testing code to the QML file to make it do what we'd like.
12 months ago
Simon Quigley 61b3436848 Install the QML file to the proper directory.
12 months ago
Simon Quigley c323c1df78 Update snaps used for Krita.
12 months ago
Simon Quigley e54b912e24 Add a full installation radio button, and disable the bottom checkboxes if minimal install is selected.
12 months ago
Simon Quigley 52cf0936d6 Go back to fullscreen.
12 months ago
Simon Quigley e6f7fb2f5a Explicitly depend on lubuntu-installer-prompt, which provides a default workflow on the live system. Remove this package at the end of the install as well.
12 months ago
Simon Quigley dfe54b454d Even if modules fail, try to perform the unmount.
12 months ago
Simon Quigley 0ab235c89e Use lxqt-sudo instead of sudo, to pick up theming.
12 months ago
Aaron Rainbolt 24a11332de Fix a Lintian override (we use sudo now, not pkexec)
1 year ago
Aaron Rainbolt 072c709db1 Copy the Calamares log from the right place
1 year ago
Aaron Rainbolt 14c632b6d5 Go back to using sudo -E
1 year ago
Aaron Rainbolt 99dcbbec07 Another FTBFS fix attempt
1 year ago
Aaron Rainbolt 11ba0bb760 Add some Lintian overrides
1 year ago
Aaron Rainbolt d4f3a7cbb3 Trailing whitespace trim
1 year ago
Aaron Rainbolt 473731f547 Export a couple important env vars
1 year ago
Aaron Rainbolt 775de27505 Unset some superfluous executable bits
1 year ago
Aaron Rainbolt a5a4c1bb3d /usr/lib/x86_64-linux-gnu/usr/lib/x86_64-linux-gnu is a bit repetitive, no?
1 year ago
Aaron Rainbolt dc16d97796 pkgselect CMakeLists.txt fixes
1 year ago
Aaron Rainbolt f14cf77d43 Revert "Fix FTBFS on !(amd64)."
1 year ago
Simon Quigley 26c675cb3d Fix FTBFS on !(amd64).
1 year ago
Simon Quigley 57efcc96f9 Upload to Noble.
1 year ago
Simon Quigley e4fa30c3d2 Welcome to Noble!
1 year ago
Simon Quigley d35567de95 Fix Vcs-* again.
1 year ago
Simon Quigley 1de2940b52 Some more polish around text and Ubuntu Restricted Extras etc.
1 year ago
Simon Quigley b0c000326b Bypass the debconf prompt for msttcorefonts, which absolutely breaks some license agreement.
1 year ago
Simon Quigley 9f6b8f8e8a Migrate to deb822 sources, removing the sources.list file pre-populated by livecd-rootfs. Main and Universe deb sources are enabled by default, Restricted and Multiverse are opt-in via the installer checkbox.
1 year ago
Simon Quigley 9b0d4c4394 Completely finish the backend for pkgselect
1 year ago
Simon Quigley b52736fc07 Finish the prototype for pkgselect, which stores the values in GlobalStorage for later usage by a contextualprocess
1 year ago
Simon Quigley 448d50f929 Start more of the backend implementation.
1 year ago
Simon Quigley 26e2cbac91 In another step forward on this ongoing project, connect the view step to a Job, which runs during the installation.
1 year ago
Simon Quigley 4b847dae69 Add the UI for Package Select, allowing for fine-tuned customization of the installed system.
1 year ago
Simon Quigley f8e37f2a81 Fix Vcs-*.
1 year ago
Simon Quigley f31623c3b7 Start 23.10 -> 24.04.
1 year ago
Simon Quigley 2be42e5594 Use geoip.ubuntu.com by default.
1 year ago
Simon Quigley ad4ab2cf25 Remove the Partners repository as an option.
1 year ago
Walter Lapchynski 3c0ae960b7 update changelog for no-change rebuild
1 year ago
Walter Lapchynski 4dd1ad4040 update changelog
1 year ago
Walter Lapchynski cb55a5d0bd update lubuntu welcome.png for mantic
1 year ago
Dan Simmons 7fe4cfc8f7 Upload to Mantic.
1 year ago
Dan Simmons 8c2f95c375 Add ext4, btrfs, xfs options on erase for Lubuntu.
1 year ago
Dan Simmons 4b5c7564fa Welcome to Mantic.
1 year ago
Aaron Rainbolt 7c553cade9 Don't let people make a user with a blank password
2 years ago
Aaron Rainbolt 7df7fd8d36 Fixed an invalid entry in Lubuntu's branding.desc
2 years ago
Erich Eickmeyer 9f711d1952 update changelog, upload to lunar
2 years ago
Erich Eickmeyer 87c224b44f Fix Ubuntu Studio sidebar colors
2 years ago
Erich Eickmeyer 74168eea8b Update changelog, upload to Lunar
2 years ago
Erich Eickmeyer b3fff4b1a0 Revert "Revert "Updated ubuntustudio slideshow""
2 years ago
Erich Eickmeyer 613f7dcdd9 Commit previously uncomm changes from arraybolt3
2 years ago
Erich Eickmeyer 046700eef5 Revert "Updated ubuntustudio slideshow"
2 years ago
Erich Eickmeyer 462809be53 Updated ubuntustudio slideshow
2 years ago
Aaron Rainbolt d2f526a390 Updated copyright file
2 years ago
Aaron Rainbolt 2c4429ba8f Slideshow update for Lunar
2 years ago
Simon Quigley 1600aa1924 Upload to Lunar.
2 years ago
Simon Quigley fb0c5f7457 Ensure the langpacks for GNOME and KDE applications are installed too. This increases the end user install by approximately 25 MB, and saves them the trouble of having to hunt for it later.
2 years ago
Aaron Rainbolt 65f9659b10 Run wrap-and-sort.
2 years ago
Aaron Rainbolt 571786c537 Added a Depends on python3-distro.
2 years ago
Aaron Rainbolt b45da6833b Bumped Standards-Version.
2 years ago
Aaron Rainbolt fbc09d2b52 Swapped in python3-distro in place of lsb_release.
2 years ago
Aaron Rainbolt 7d65c43dc8 Fixed changelog message for version 1:22.10.12.
2 years ago
Aaron Rainbolt 2f4a39718e Added Lintian overrides for direct dpkg database access.
2 years ago
Aaron Rainbolt 30c1bcd002 Added Lintian overrides for missing manpages.
2 years ago
Aaron Rainbolt f01937c48a Added 'Rules-Requires-Root: no'.
2 years ago
Aaron Rainbolt 85211fef0d Bumped Standards-Version to 4.6.1, no changes necessary.
2 years ago
Aaron Rainbolt 49332f8ac7 Removed trailing whitespace from changelog.
2 years ago
Aaron Rainbolt 14f4aba8c3 Fixed broken Lintian override in Lubuntu.
2 years ago
Aaron Rainbolt 33563a24d2 Removed unnecessary Breaks lines.
2 years ago
Aaron Rainbolt 58706b13ff Updated Lintian overrides.
2 years ago
Aaron Rainbolt 9ce85e5de5 Set Lubuntu Calamares to windowed mode
2 years ago
Aaron Rainbolt 27a43e3279 Fixed black Lubuntu sidebar.
2 years ago
Erich Eickmeyer 6d7e110c0c Allow swap for Ubuntu Studio
2 years ago
Simon Quigley 5d212e327b Welcome to the Lunar Lobster!
2 years ago
Erich Eickmeyer c13df45a36 Fix for black Ubuntu Studio sidebar
2 years ago
Erich Eickmeyer 53302f99fd Update from diffs
2 years ago
Erich Eickmeyer 9d29b34ec0 Upload to kinetic
2 years ago
Erich Eickmeyer 1c7f9f7c57 Remove remaining duplicate files that are in common
2 years ago
Erich Eickmeyer a45bcd47cf Upload to kinetic
2 years ago
Erich Eickmeyer 611885afc0 Remove duplicated file for common and ubuntustudio
2 years ago
Simon Quigley 989a2c1d25 Major oops in last changelog entry.
2 years ago
Simon Quigley e2b457d54e Upload to Kinetic.
2 years ago
Dan Simmons e46a3a2c13 Upload to kinetic.
2 years ago
Dan Simmons 07b528bb8e Fix typo in desktop file for Lubuntu.
2 years ago
Dan Simmons ee0e98343a Upload to kinetic.
2 years ago
Dan Simmons 4d5aa76d05 Point to the right log file now that we start as root.
2 years ago
Dan Simmons 8f36ff486f Adjust lubuntu desktop file for pkexec.
2 years ago
Simon Quigley 02c9e56863 Changelog.
2 years ago
Aaron Rainbolt 8e4dd6ab5c Fixed release name
2 years ago
Aaron Rainbolt 5af9ce3a06 Updated changelog
2 years ago
Aaron Rainbolt fe28365106 Modified users.conf for Calamares 3.3.0 compatibility.
2 years ago
Aaron Rainbolt a1e074d8c7 Changed deprecated "symlink" to "dbus-symlink".
2 years ago
Aaron Rainbolt 6d64aa40f7 Moved config from fstab.conf to mount.conf for Calamares 3.3.0 compatibility.
2 years ago
Aaron Rainbolt c6932db7fa Fixed contextual and shell processes for Ubuntu Studio.
2 years ago
Aaron Rainbolt e69a6b1b99 Actually fixed contextual and shell processes.
2 years ago
Aaron Rainbolt df7f7abf4e Update settings for Calamares 3.3.
2 years ago
Aaron Rainbolt 332dcf71a4 Changed contextual processes and shell processes as needed to support new `ROOT` placeholder syntax in Calamares 3.3.0.
2 years ago
Aaron Rainbolt 9efa3a5d54 Added a warning about a potential future breaking change.
2 years ago
Aaron Rainbolt 1c4b181833 Modified for compatibility with Calamares 3.3.0 (changed userShell option)
2 years ago
Aaron Rainbolt 405efd5bee Change deprecated "symlink" option to "dbus-symlink".
2 years ago
Aaron Rainbolt a3b7c93bc5 Moved mount options from fstab.conf to mount.conf for Calamares 3.3.0 compatibility.
2 years ago
Dan Simmons b3013a97ae Sync from archive.
2 years ago
Erich Eickmeyer 82708a6093 Use Ubuntu Studio Light colors
3 years ago
Erich Eickmeyer 621b60ad9d Fix kded automount issue
3 years ago
Erich Eickmeyer ed3170b37f Update logo and slideshow for Ubuntu Studio
3 years ago
Dan Simmons f25350ba7b Upload to jammy.
3 years ago
Dan Simmons 06fcece443 Bump Standards Version to 4.6.0.
3 years ago
Dan Simmons 9dc360ffc7 Update desktop file for 22.04.
3 years ago
Dan Simmons 23dde1516e Welcome to Jammy Jellyfish!
3 years ago
Dan Simmons 481f235e47 Upload to impish.
3 years ago
Dan Simmons 297c69e9f8 Update branding for proper version.
3 years ago
Dan Simmons c745f420ed Update desktop file for proper version.
3 years ago
Erich Eickmeyer 3c1c1b2ef8 Remove zram-config from us/mod/packages.conf
3 years ago
Dan Simmons 8123671afb Upload to Hirsute.
4 years ago
Dan Simmons f52413a647 Adjust log level for -D6.
4 years ago
Dan Simmons 6f639a0a75 Upload to Hirsute.
4 years ago
Dan Simmons 86886d8ebf Update copyright.
4 years ago
Dan Simmons 20073284a9 Add swapfile option and set as initial choice.
4 years ago
Dan Simmons 9bb6ff8ef8 Set sambashare user as a system user.
4 years ago
Dan Simmons 60626a2fae Welcome to Hirsute Hippo!
4 years ago
apt-ghetto 63230172e4 Lubuntu: Fix GeoIP parsing
4 years ago
Simon Quigley b0ae6f47ed Upload to Groovy.
4 years ago
Simon Quigley 01c0bcafc8 Switch to Canonical's GeoIP service.
4 years ago
Erich Eickmeyer d6982b94e5 Lowered Ubuntu Studio RAM requirements
4 years ago
Erich Eickmeyer 35f736d83f Update changelog
4 years ago
Erich Eickmeyer 66bedf2b2e Update Video and Photography slideshow bits
4 years ago
Erich Eickmeyer 031020bc3c Color correction for sidebar
4 years ago
Erich Eickmeyer a84e6f2513 Add removal of dvd.list back to scripts
5 years ago
Dan Simmons 2b451b0c03 Upload to groovy.
5 years ago
Dan Simmons 6513905ecf Add dependencies for LUKS and slideshow.
5 years ago
Dan Simmons d88f26d2ac Fix desktop file version for groovy.
5 years ago
Erich Eickmeyer 3aacab9db3 Darken sidebar to match new version of materia-kde
5 years ago
Erich Eickmeyer a4d3a3547c Update changelog, upload to groovy
5 years ago
Erich Eickmeyer 565bb03037 Add new shellprocess for fixing audio perms
5 years ago
Erich Eickmeyer a4008aa208 Blacklist dvd.list file from unpack
5 years ago
Erich Eickmeyer 2e97965bb9 Remove fixes from before_bootloader_context
5 years ago
Erich Eickmeyer 18d60f96fd Update changelog, upload to groovy
5 years ago
Erich Eickmeyer 79b19ea58e Revert previous commit
5 years ago
Erich Eickmeyer 4bcbf7a2bf Studio - Apply fixes in previous upload to legacy BIOS systems
5 years ago
Erich Eickmeyer dab7ad8fbf Update changelog, upload to groovy
5 years ago
Erich Eickmeyer 402dc7d13a Reenable audio.conf prior to first run
5 years ago
Erich Eickmeyer 59a8b2b597 Update two slideshow images
5 years ago
Erich Eickmeyer 0315b34f66 Actually fix changelog
5 years ago
Erich Eickmeyer d385b7fa62 Fix changelog
5 years ago
Erich Eickmeyer 27b10443ad Fix dvd.list leftover in /etc/apt/sources.list.d
5 years ago
Erich Eickmeyer d671e92039 Fix for logs-helper looking in wrong folder
5 years ago
Dan Simmons 2f179e636f Drop d/compat switch to debhelper-compat.
5 years ago
apt-ghetto 394dc4f068 Adjust studio's translations.
5 years ago
Erich Eickmeyer d396ff5e9f Add user to audio group by default
5 years ago
Erich Eickmeyer aa19196f75 Change-out some lubuntuisms for UbuntuStudio-isms
5 years ago
Erich Eickmeyer 00420b10e3
Fix versioning
5 years ago
Erich Eickmeyer feaf80857a Add Ubuntu Studio to Makefile
5 years ago
Erich Eickmeyer 9d4402f377 Fix .desktop file
5 years ago
Erich Eickmeyer 7dcbf16c85 Add Ubuntu Studio
5 years ago

@ -5,10 +5,69 @@
all: all:
# Desktop file # Desktop file
(cd lubuntu/po/ && make) (cd lubuntu/po/ && make)
(cd kubuntu/po/ && make)
(cd ubuntuunity/po && make)
# Slideshow # Slideshow
(cd lubuntu/branding/lubuntu/lang/ && make) (cd lubuntu/branding/lubuntu/lang/ && make)
# basicwallpaper
(cd common/basicwallpaper && mkdir build && cd build && cmake .. -DCMAKE_BUILD_TYPE=Release && make)
# Lubuntu OEM setup stuff
(cd lubuntu && mkdir oemconfig && cd oemconfig && mkdir -p usr/bin && mkdir -p etc/calamares && mkdir -p usr/share/xsessions && mkdir -p usr/libexec && mkdir -p etc && mkdir -p usr/share/applications && mkdir -p home/oem/Desktop)
(cp lubuntu/calamares-logs-helper lubuntu/oemconfig/usr/bin/)
(cp lubuntu/oem/sddm.conf lubuntu/oemconfig/etc/)
(cp lubuntu/oem/sudoers.oem lubuntu/oemconfig/etc/ && chmod 400 lubuntu/oemconfig/etc/sudoers.oem)
(cp lubuntu/oem/calamares-oemfinish.sh lubuntu/oemconfig/usr/libexec/)
(cp lubuntu/oem/calamares-finish-oem lubuntu/oemconfig/usr/bin/)
(cp lubuntu/oem/calamares-finish-oem.desktop lubuntu/oemconfig/usr/share/applications/)
(cp -r lubuntu/branding lubuntu/oemconfig/etc/calamares/)
(cp -r lubuntu/oem/modules/ lubuntu/oemconfig/etc/calamares/)
(cp lubuntu/oem/settings.conf lubuntu/oemconfig/etc/calamares/)
(cp lubuntu/oem/lubuntu-oem-env/lubuntu-oem-environment.desktop lubuntu/oemconfig/usr/share/xsessions/)
(cp lubuntu/oem/lubuntu-oem-env/start-lubuntu-oem-env lubuntu/oemconfig/usr/libexec/)
(cp common/basicwallpaper/build/basicwallpaper lubuntu/oemconfig/usr/bin/)
(cp lubuntu/oem/calamares-finish-oem.desktop lubuntu/oemconfig/home/oem/Desktop/)
(fakeroot bash -c "chown -R root:root lubuntu/oemconfig && tar cvzf lubuntu/oemconfig.tar.gz lubuntu/oemconfig")
# Kubuntu OEM setup stuff
(cd kubuntu && mkdir oemconfig && cd oemconfig && mkdir -p usr/bin && mkdir -p etc/calamares && mkdir -p usr/share/xsessions && mkdir -p usr/libexec && mkdir -p etc && mkdir -p usr/share/applications && mkdir -p home/oem/Desktop)
(cp kubuntu/calamares-logs-helper kubuntu/oemconfig/usr/bin/)
(cp kubuntu/oem/sddm.conf kubuntu/oemconfig/etc/)
(cp kubuntu/oem/sudoers.oem kubuntu/oemconfig/etc/ && chmod 400 kubuntu/oemconfig/etc/sudoers.oem)
(cp kubuntu/oem/calamares-oemfinish.sh kubuntu/oemconfig/usr/libexec/)
(cp kubuntu/oem/calamares-finish-oem kubuntu/oemconfig/usr/bin/)
(cp kubuntu/oem/calamares-finish-oem.desktop kubuntu/oemconfig/usr/share/applications/)
(cp -r kubuntu/branding kubuntu/oemconfig/etc/calamares/)
(cp -r kubuntu/oem/modules/ kubuntu/oemconfig/etc/calamares/)
(cp kubuntu/oem/settings.conf kubuntu/oemconfig/etc/calamares/)
(cp kubuntu/oem/kubuntu-oem-env/kubuntu-oem-environment.desktop kubuntu/oemconfig/usr/share/xsessions/)
(cp kubuntu/oem/kubuntu-oem-env/start-kubuntu-oem-env kubuntu/oemconfig/usr/libexec/)
(cp common/basicwallpaper/build/basicwallpaper kubuntu/oemconfig/usr/bin/)
(cp kubuntu/oem/calamares-finish-oem.desktop kubuntu/oemconfig/home/oem/Desktop/)
(fakeroot bash -c "chown -R root:root kubuntu/oemconfig && tar cvzf kubuntu/oemconfig.tar.gz kubuntu/oemconfig")
# Ubuntu Unity OEM setup stuff
(cd ubuntuunity && mkdir oemconfig && cd oemconfig && mkdir -p usr/bin && mkdir -p etc/calamares && mkdir -p usr/share/xsessions && mkdir -p usr/libexec && mkdir -p etc/lightdm && mkdir -p usr/share/applications && mkdir -p home/oem/Desktop)
(cp ubuntuunity/calamares-logs-helper ubuntuunity/oemconfig/usr/bin/)
(cp ubuntuunity/oem/lightdm.conf ubuntuunity/oemconfig/etc/lightdm/)
(cp ubuntuunity/oem/sudoers.oem ubuntuunity/oemconfig/etc/ && chmod 400 kubuntu/oemconfig/etc/sudoers.oem)
(cp ubuntuunity/oem/calamares-oemfinish.sh ubuntuunity/oemconfig/usr/libexec/)
(cp ubuntuunity/oem/calamares-finish-oem ubuntuunity/oemconfig/usr/bin/)
(cp ubuntuunity/oem/calamares-finish-oem.desktop ubuntuunity/oemconfig/usr/share/applications/)
(cp -r ubuntuunity/branding ubuntuunity/oemconfig/etc/calamares/)
(cp -r ubuntuunity/oem/modules/ ubuntuunity/oemconfig/etc/calamares/)
(cp ubuntuunity/oem/settings.conf ubuntuunity/oemconfig/etc/calamares/)
(cp ubuntuunity/oem/ubuntu-unity-oem-env/ubuntu-unity-oem-environment.desktop ubuntuunity/oemconfig/usr/share/xsessions/)
(cp ubuntuunity/oem/ubuntu-unity-oem-env/start-ubuntu-unity-oem-env ubuntuunity/oemconfig/usr/libexec/)
(cp common/basicwallpaper/build/basicwallpaper ubuntuunity/oemconfig/usr/bin/)
(cp ubuntuunity/oem/calamares-finish-oem.desktop ubuntuunity/oemconfig/home/oem/Desktop/)
(fakeroot bash -c "chown -R root:root ubuntuunity/oemconfig && tar cvzf ubuntuunity/oemconfig.tar.gz ubuntuunity/oemconfig")
# Get rid of the unnecessary files # Get rid of the unnecessary files
find lubuntu/ -type f -iname "*.in" | xargs rm -f find lubuntu/ -type f -iname "*.in" | xargs rm -f
find lubuntu/ -type f -iname "Makefile" | xargs rm -f find lubuntu/ -type f -iname "Makefile" | xargs rm -f
find kubuntu/ -type f -iname "*.in" | xargs rm -f
find kubuntu/ -type f -iname "Makefile" | xargs rm -f
find ubuntuunity/ -type f -iname "*.in" | xargs rm -f
find ubuntuunity/ -type f -iname "Makefile" | xargs rm -f
rm -rf kubuntu/oemconfig
rm -rf lubuntu/oemconfig
rm -rf ubuntuunity/oemconfig
rm -rf common/basicwallpaper/build
# vim:ts=4 # vim:ts=4

@ -6,8 +6,8 @@ If you want to add a new package for your flavor, here's how to do it:
2. Edit files and rename the branding directory for your flavor. All of the 2. Edit files and rename the branding directory for your flavor. All of the
configuration files are pretty self-explanatory, but they're documented configuration files are pretty self-explanatory, but they're documented
well upstream, so it shouldn't be hard to put your own spin on things. well upstream, so it shouldn't be hard to put your own spin on things.
3. Create a new binary package, and *make sure to Conflicts against all other 3. Create a new binary package, and *make sure to Provides+Conflicts against
binary packages in this source package*. This needs to be done because all `calamares-settings-ubuntu-flavor`*. This needs to be done because all
subdirectories are installed in the same location, so this makes sure that subdirectories are installed in the same location, so this makes sure that
nobody tries to install any two binary packages at the same time. nobody tries to install any two binary packages at the same time.

@ -0,0 +1,24 @@
# Ubuntu Studio's Calamares Branding (archived)
This directory houses the branding Ubuntu Studio used when Calamares was still
being used as the installer, along with some additional potentially useful
configuration fragments. Ubuntu Studio has since switched to using
ubuntu-desktop-provision, and thus most of the actual configuration has been
removed.
Unless otherwise stated, the contents of this directory are licensed as follows:
Copyright (C) 2020 Ubuntu Studio Developers <ubuntu-studio-devel@lists.ubuntu.com>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 3
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this software. If not, see <http://www.gnu.org/licenses/>.

Binary file not shown.

After

Width:  |  Height:  |  Size: 342 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 329 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 404 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 379 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 407 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 294 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 460 KiB

@ -0,0 +1,31 @@
---
componentName: ubuntustudio
windowExpanding: normal
windowSize: "890px,600px"
strings:
productName: Ubuntu Studio
shortProductName: Ubuntu Studio
version: 23.10
shortVersion: noble
versionedName: Ubuntu Studio
shortVersionedName: Ubuntu Studio 23.10
bootloaderEntryName: Ubuntu
productUrl: https://ubuntustudio.org/
supportUrl: https://ubuntustudio.org/support/
images:
productLogo: "logo.png"
productIcon: "icon.png"
productWelcome: "welcome.png"
slideshow: "show.qml"
slideshowAPI: 1
style:
SidebarBackground: "#1E1E1E"
SidebarText: "#BBBBBB"
SidebarTextCurrent: "#FFFFFF"
SidebarBackgroundCurrent: "#121212"

Binary file not shown.

After

Width:  |  Height:  |  Size: 22 KiB

@ -0,0 +1,11 @@
#!/usr/bin/make -f
LANGUAGES := ar ca de es eu gl be da el et fr ko pl pt pt_BR
all:
for i in $(LANGUAGES); do \
/usr/lib/qt5/bin/lrelease "calamares-lubuntu_$$i.ts"; \
rm calamares-lubuntu_$$i.ts; \
done
# vim:ts=4

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ar">
<context>
<name>show</name>
<message>
<location filename="../show.qml" line="32"/>
<source>Get Support</source>
<translation>احصل على المساعدة</translation>
</message>
<message>
<location filename="../show.qml" line="56"/>
<source>https://lubuntu.me</source>
<translation>https://lubuntu.me</translation>
</message>
<message>
<location filename="../show.qml" line="90"/>
<source>Your Mail</source>
<translation>ايميلك</translation>
</message>
<message>
<location filename="../show.qml" line="114"/>
<source>Managed by Trojitá</source>
<translation>مُدار بواسطة تروجيتا</translation>
</message>
<message>
<location filename="../show.qml" line="148"/>
<source>SMPlayer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="172"/>
<source>To Play All of Your Movies</source>
<translation>لتشغيل جميع أفلامك</translation>
</message>
<message>
<location filename="../show.qml" line="206"/>
<source>LibreOffice</source>
<translation>ليبر أوفيس</translation>
</message>
<message>
<location filename="../show.qml" line="230"/>
<source>Edits All Of Your Documents</source>
<translation>لتحرير ولتعديل جميع مستنداتك</translation>
</message>
<message>
<location filename="../show.qml" line="264"/>
<source>Pictures</source>
<translation>الصور</translation>
</message>
<message>
<location filename="../show.qml" line="288"/>
<source>Viewed With Nomacs</source>
<translation>تظهر بواسطة نوكامس</translation>
</message>
<message>
<location filename="../show.qml" line="322"/>
<source>Have Fun!</source>
<translation>أحصل على المرح!</translation>
</message>
<message>
<location filename="../show.qml" line="346"/>
<source>With the 2048 game</source>
<translation>مع 2048 لعبة</translation>
</message>
<message>
<location filename="../show.qml" line="380"/>
<source>IRC Chat</source>
<translation>دردشة اي ار سي</translation>
</message>
<message>
<location filename="../show.qml" line="404"/>
<source>With Quassel IRC</source>
<translation>مع كواسيل اي ار سي</translation>
</message>
<message>
<location filename="../show.qml" line="438"/>
<source>View Your Documents</source>
<translation>أظهر مستنداتك</translation>
</message>
<message>
<location filename="../show.qml" line="462"/>
<source>With QPDFView</source>
<translation>مع عارض كيو بد دي اف</translation>
</message>
</context>
</TS>

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1">
<context>
<name>show</name>
<message>
<location filename="../show.qml" line="32"/>
<source>Get Support</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="56"/>
<source>https://lubuntu.me</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="90"/>
<source>Your Mail</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="114"/>
<source>Managed by Trojitá</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="148"/>
<source>SMPlayer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="172"/>
<source>To Play All of Your Movies</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="206"/>
<source>LibreOffice</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="230"/>
<source>Edits All Of Your Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="264"/>
<source>Pictures</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="288"/>
<source>Viewed With Nomacs</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="322"/>
<source>Have Fun!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="346"/>
<source>With the 2048 game</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="380"/>
<source>IRC Chat</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="404"/>
<source>With Quassel IRC</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="438"/>
<source>View Your Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="462"/>
<source>With QPDFView</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ca">
<context>
<name>show</name>
<message>
<location filename="../show.qml" line="32"/>
<source>Get Support</source>
<translation>Obtenir Suport</translation>
</message>
<message>
<location filename="../show.qml" line="56"/>
<source>https://lubuntu.me</source>
<translation>https://lubuntu.me</translation>
</message>
<message>
<location filename="../show.qml" line="90"/>
<source>Your Mail</source>
<translation>El Teu E-Mail</translation>
</message>
<message>
<location filename="../show.qml" line="114"/>
<source>Managed by Trojitá</source>
<translation>Gestionat per Trojitá</translation>
</message>
<message>
<location filename="../show.qml" line="148"/>
<source>SMPlayer</source>
<translation>SMPlayer</translation>
</message>
<message>
<location filename="../show.qml" line="172"/>
<source>To Play All of Your Movies</source>
<translation>Per reproduir Totes les Teves Pel·lícules</translation>
</message>
<message>
<location filename="../show.qml" line="206"/>
<source>LibreOffice</source>
<translation>LibreOffice</translation>
</message>
<message>
<location filename="../show.qml" line="230"/>
<source>Edits All Of Your Documents</source>
<translation>Per Editar Tots el Teus Documents</translation>
</message>
<message>
<location filename="../show.qml" line="264"/>
<source>Pictures</source>
<translation>Imatges</translation>
</message>
<message>
<location filename="../show.qml" line="288"/>
<source>Viewed With Nomacs</source>
<translation>Mostrades Amb Nomacs</translation>
</message>
<message>
<location filename="../show.qml" line="322"/>
<source>Have Fun!</source>
<translation>Diverteix-te!</translation>
</message>
<message>
<location filename="../show.qml" line="346"/>
<source>With the 2048 game</source>
<translation>Amb el joc 2048</translation>
</message>
<message>
<location filename="../show.qml" line="380"/>
<source>IRC Chat</source>
<translation>IRC Chat</translation>
</message>
<message>
<location filename="../show.qml" line="404"/>
<source>With Quassel IRC</source>
<translation>Amb Quassel IRC</translation>
</message>
<message>
<location filename="../show.qml" line="438"/>
<source>View Your Documents</source>
<translation>Consulteu els Vostres Documents</translation>
</message>
<message>
<location filename="../show.qml" line="462"/>
<source>With QPDFView</source>
<translation>Amb QPDFView</translation>
</message>
</context>
</TS>

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="da_DK">
<context>
<name>show</name>
<message>
<location filename="../show.qml" line="32"/>
<source>Get Support</source>
<translation>Få support</translation>
</message>
<message>
<location filename="../show.qml" line="56"/>
<source>https://lubuntu.me</source>
<translation>https://lubuntu.me</translation>
</message>
<message>
<location filename="../show.qml" line="90"/>
<source>Your Mail</source>
<translation>Din e-mail</translation>
</message>
<message>
<location filename="../show.qml" line="114"/>
<source>Managed by Trojitá</source>
<translation>Styret af Trojitá</translation>
</message>
<message>
<location filename="../show.qml" line="148"/>
<source>SMPlayer</source>
<translation>SMPlayer</translation>
</message>
<message>
<location filename="../show.qml" line="172"/>
<source>To Play All of Your Movies</source>
<translation>Til at afspille alle dine videoer</translation>
</message>
<message>
<location filename="../show.qml" line="206"/>
<source>LibreOffice</source>
<translation>LibreOffice</translation>
</message>
<message>
<location filename="../show.qml" line="230"/>
<source>Edits All Of Your Documents</source>
<translation>Rediger alle dine dokumenter</translation>
</message>
<message>
<location filename="../show.qml" line="264"/>
<source>Pictures</source>
<translation>Billeder</translation>
</message>
<message>
<location filename="../show.qml" line="288"/>
<source>Viewed With Nomacs</source>
<translation>Se dem med Nomacs</translation>
</message>
<message>
<location filename="../show.qml" line="322"/>
<source>Have Fun!</source>
<translation>Hav det sjovt!</translation>
</message>
<message>
<location filename="../show.qml" line="346"/>
<source>With the 2048 game</source>
<translation>Med 2048 spillet</translation>
</message>
<message>
<location filename="../show.qml" line="380"/>
<source>IRC Chat</source>
<translation>IRC Chat</translation>
</message>
<message>
<location filename="../show.qml" line="404"/>
<source>With Quassel IRC</source>
<translation>Med Quassel IRC</translation>
</message>
<message>
<location filename="../show.qml" line="438"/>
<source>View Your Documents</source>
<translation>Se dine dokumenter</translation>
</message>
<message>
<location filename="../show.qml" line="462"/>
<source>With QPDFView</source>
<translation>Med QPDFView</translation>
</message>
</context>
</TS>

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="de">
<context>
<name>show</name>
<message>
<location filename="../show.qml" line="32"/>
<source>Get Support</source>
<translation>Unterstützung erhalten</translation>
</message>
<message>
<location filename="../show.qml" line="56"/>
<source>https://lubuntu.me</source>
<translation>https://lubuntu.me</translation>
</message>
<message>
<location filename="../show.qml" line="90"/>
<source>Your Mail</source>
<translation>Ihre E-Mail-Adresse</translation>
</message>
<message>
<location filename="../show.qml" line="114"/>
<source>Managed by Trojitá</source>
<translation>von Trojitá verwaltet</translation>
</message>
<message>
<location filename="../show.qml" line="148"/>
<source>SMPlayer</source>
<translation>SMPlayer</translation>
</message>
<message>
<location filename="../show.qml" line="172"/>
<source>To Play All of Your Movies</source>
<translation>Um alle ihre Filme abzuspielen</translation>
</message>
<message>
<location filename="../show.qml" line="206"/>
<source>LibreOffice</source>
<translation>LibreOffice</translation>
</message>
<message>
<location filename="../show.qml" line="230"/>
<source>Edits All Of Your Documents</source>
<translation>Bearbeitet all ihre Dokumente</translation>
</message>
<message>
<location filename="../show.qml" line="264"/>
<source>Pictures</source>
<translation>Bilder</translation>
</message>
<message>
<location filename="../show.qml" line="288"/>
<source>Viewed With Nomacs</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="322"/>
<source>Have Fun!</source>
<translation>Viel Spaß!</translation>
</message>
<message>
<location filename="../show.qml" line="346"/>
<source>With the 2048 game</source>
<translation>Mit das 2048 Spiel</translation>
</message>
<message>
<location filename="../show.qml" line="380"/>
<source>IRC Chat</source>
<translation>IRC Chat</translation>
</message>
<message>
<location filename="../show.qml" line="404"/>
<source>With Quassel IRC</source>
<translation>Mit Quassel IRC</translation>
</message>
<message>
<location filename="../show.qml" line="438"/>
<source>View Your Documents</source>
<translation>Ihre Dokumente anzeigen</translation>
</message>
<message>
<location filename="../show.qml" line="462"/>
<source>With QPDFView</source>
<translation>Mit QPDFView</translation>
</message>
</context>
</TS>

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1">
<context>
<name>show</name>
<message>
<location filename="../show.qml" line="32"/>
<source>Get Support</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="56"/>
<source>https://lubuntu.me</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="90"/>
<source>Your Mail</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="114"/>
<source>Managed by Trojitá</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="148"/>
<source>SMPlayer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="172"/>
<source>To Play All of Your Movies</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="206"/>
<source>LibreOffice</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="230"/>
<source>Edits All Of Your Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="264"/>
<source>Pictures</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="288"/>
<source>Viewed With Nomacs</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="322"/>
<source>Have Fun!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="346"/>
<source>With the 2048 game</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="380"/>
<source>IRC Chat</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="404"/>
<source>With Quassel IRC</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="438"/>
<source>View Your Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="462"/>
<source>With QPDFView</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="es">
<context>
<name>show</name>
<message>
<location filename="../show.qml" line="32"/>
<source>Get Support</source>
<translation>Obtén Soporte</translation>
</message>
<message>
<location filename="../show.qml" line="56"/>
<source>https://lubuntu.me</source>
<translation>https://lubuntu.me</translation>
</message>
<message>
<location filename="../show.qml" line="90"/>
<source>Your Mail</source>
<translation>Tu e-mail</translation>
</message>
<message>
<location filename="../show.qml" line="114"/>
<source>Managed by Trojitá</source>
<translation>Gestionado por Trojitá</translation>
</message>
<message>
<location filename="../show.qml" line="148"/>
<source>SMPlayer</source>
<translation>SMPlayer</translation>
</message>
<message>
<location filename="../show.qml" line="172"/>
<source>To Play All of Your Movies</source>
<translation>Para Reproducir Todas Tus Películas</translation>
</message>
<message>
<location filename="../show.qml" line="206"/>
<source>LibreOffice</source>
<translation>LibreOffice</translation>
</message>
<message>
<location filename="../show.qml" line="230"/>
<source>Edits All Of Your Documents</source>
<translation>Edita Todos Tus Documentos</translation>
</message>
<message>
<location filename="../show.qml" line="264"/>
<source>Pictures</source>
<translation>Imágenes</translation>
</message>
<message>
<location filename="../show.qml" line="288"/>
<source>Viewed With Nomacs</source>
<translation>Mostradas Con Nomacs</translation>
</message>
<message>
<location filename="../show.qml" line="322"/>
<source>Have Fun!</source>
<translation>¡Diviértete!</translation>
</message>
<message>
<location filename="../show.qml" line="346"/>
<source>With the 2048 game</source>
<translation>Con el juego 2048</translation>
</message>
<message>
<location filename="../show.qml" line="380"/>
<source>IRC Chat</source>
<translation>Chat de IRC</translation>
</message>
<message>
<location filename="../show.qml" line="404"/>
<source>With Quassel IRC</source>
<translation>Con Quassel IRC</translation>
</message>
<message>
<location filename="../show.qml" line="438"/>
<source>View Your Documents</source>
<translation>Visualiza tus Documentos</translation>
</message>
<message>
<location filename="../show.qml" line="462"/>
<source>With QPDFView</source>
<translation>Con QPDFView</translation>
</message>
</context>
</TS>

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1">
<context>
<name>show</name>
<message>
<location filename="../show.qml" line="32"/>
<source>Get Support</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="56"/>
<source>https://lubuntu.me</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="90"/>
<source>Your Mail</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="114"/>
<source>Managed by Trojitá</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="148"/>
<source>SMPlayer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="172"/>
<source>To Play All of Your Movies</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="206"/>
<source>LibreOffice</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="230"/>
<source>Edits All Of Your Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="264"/>
<source>Pictures</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="288"/>
<source>Viewed With Nomacs</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="322"/>
<source>Have Fun!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="346"/>
<source>With the 2048 game</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="380"/>
<source>IRC Chat</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="404"/>
<source>With Quassel IRC</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="438"/>
<source>View Your Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="462"/>
<source>With QPDFView</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1">
<context>
<name>show</name>
<message>
<location filename="../show.qml" line="32"/>
<source>Get Support</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="56"/>
<source>https://lubuntu.me</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="90"/>
<source>Your Mail</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="114"/>
<source>Managed by Trojitá</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="148"/>
<source>SMPlayer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="172"/>
<source>To Play All of Your Movies</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="206"/>
<source>LibreOffice</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="230"/>
<source>Edits All Of Your Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="264"/>
<source>Pictures</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="288"/>
<source>Viewed With Nomacs</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="322"/>
<source>Have Fun!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="346"/>
<source>With the 2048 game</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="380"/>
<source>IRC Chat</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="404"/>
<source>With Quassel IRC</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="438"/>
<source>View Your Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="462"/>
<source>With QPDFView</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="fr">
<context>
<name>show</name>
<message>
<location filename="../show.qml" line="32"/>
<source>Get Support</source>
<translation>Obtenir de l&apos;aide</translation>
</message>
<message>
<location filename="../show.qml" line="56"/>
<source>https://lubuntu.me</source>
<translation>https://lubuntu.me</translation>
</message>
<message>
<location filename="../show.qml" line="90"/>
<source>Your Mail</source>
<translation>Votre mail</translation>
</message>
<message>
<location filename="../show.qml" line="114"/>
<source>Managed by Trojitá</source>
<translation>Managé par Trojità</translation>
</message>
<message>
<location filename="../show.qml" line="148"/>
<source>SMPlayer</source>
<translation>SMPlayer</translation>
</message>
<message>
<location filename="../show.qml" line="172"/>
<source>To Play All of Your Movies</source>
<translation>Pour regarder tous vos films</translation>
</message>
<message>
<location filename="../show.qml" line="206"/>
<source>LibreOffice</source>
<translation>LibreOffice</translation>
</message>
<message>
<location filename="../show.qml" line="230"/>
<source>Edits All Of Your Documents</source>
<translation>Édite tous vos documents</translation>
</message>
<message>
<location filename="../show.qml" line="264"/>
<source>Pictures</source>
<translation>Images</translation>
</message>
<message>
<location filename="../show.qml" line="288"/>
<source>Viewed With Nomacs</source>
<translation>Visionné avec Nomacs</translation>
</message>
<message>
<location filename="../show.qml" line="322"/>
<source>Have Fun!</source>
<translation>Amusez vous !</translation>
</message>
<message>
<location filename="../show.qml" line="346"/>
<source>With the 2048 game</source>
<translation>Avec le jeux 2018</translation>
</message>
<message>
<location filename="../show.qml" line="380"/>
<source>IRC Chat</source>
<translation>Chat IRC</translation>
</message>
<message>
<location filename="../show.qml" line="404"/>
<source>With Quassel IRC</source>
<translation>Avec Quassel IRC</translation>
</message>
<message>
<location filename="../show.qml" line="438"/>
<source>View Your Documents</source>
<translation>Regardez vos documents</translation>
</message>
<message>
<location filename="../show.qml" line="462"/>
<source>With QPDFView</source>
<translation>Avec QPDFView</translation>
</message>
</context>
</TS>

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1">
<context>
<name>show</name>
<message>
<location filename="../show.qml" line="32"/>
<source>Get Support</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="56"/>
<source>https://lubuntu.me</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="90"/>
<source>Your Mail</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="114"/>
<source>Managed by Trojitá</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="148"/>
<source>SMPlayer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="172"/>
<source>To Play All of Your Movies</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="206"/>
<source>LibreOffice</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="230"/>
<source>Edits All Of Your Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="264"/>
<source>Pictures</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="288"/>
<source>Viewed With Nomacs</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="322"/>
<source>Have Fun!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="346"/>
<source>With the 2048 game</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="380"/>
<source>IRC Chat</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="404"/>
<source>With Quassel IRC</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="438"/>
<source>View Your Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="462"/>
<source>With QPDFView</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="it_IT">
<context>
<name>show</name>
<message>
<location filename="../show.qml" line="32"/>
<source>Get Support</source>
<translation>Ricevi Supporto</translation>
</message>
<message>
<location filename="../show.qml" line="56"/>
<source>https://lubuntu.me</source>
<translation>https://lubuntu.me</translation>
</message>
<message>
<location filename="../show.qml" line="90"/>
<source>Your Mail</source>
<translation>La tua Mail</translation>
</message>
<message>
<location filename="../show.qml" line="114"/>
<source>Managed by Trojitá</source>
<translation>Gestito da Trojitá</translation>
</message>
<message>
<location filename="../show.qml" line="148"/>
<source>SMPlayer</source>
<translation>SMPlayer</translation>
</message>
<message>
<location filename="../show.qml" line="172"/>
<source>To Play All of Your Movies</source>
<translation>Per Riprodurre Tutti i Tuoi Filmati</translation>
</message>
<message>
<location filename="../show.qml" line="206"/>
<source>LibreOffice</source>
<translation>LibreOffice</translation>
</message>
<message>
<location filename="../show.qml" line="230"/>
<source>Edits All Of Your Documents</source>
<translation>Modifica tutti i tuoi documenti</translation>
</message>
<message>
<location filename="../show.qml" line="264"/>
<source>Pictures</source>
<translation>Immagini</translation>
</message>
<message>
<location filename="../show.qml" line="288"/>
<source>Viewed With Nomacs</source>
<translation>Visualizzato con Nomacs</translation>
</message>
<message>
<location filename="../show.qml" line="322"/>
<source>Have Fun!</source>
<translation>Divertiti!</translation>
</message>
<message>
<location filename="../show.qml" line="346"/>
<source>With the 2048 game</source>
<translation>Con il gioco 2048</translation>
</message>
<message>
<location filename="../show.qml" line="380"/>
<source>IRC Chat</source>
<translation>Chat IRC</translation>
</message>
<message>
<location filename="../show.qml" line="404"/>
<source>With Quassel IRC</source>
<translation>Con Quassel IRC</translation>
</message>
<message>
<location filename="../show.qml" line="438"/>
<source>View Your Documents</source>
<translation>Vedi i tuoi documenti</translation>
</message>
<message>
<location filename="../show.qml" line="462"/>
<source>With QPDFView</source>
<translation>Con QPDFView</translation>
</message>
</context>
</TS>

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1">
<context>
<name>show</name>
<message>
<location filename="../show.qml" line="32"/>
<source>Get Support</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="56"/>
<source>https://lubuntu.me</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="90"/>
<source>Your Mail</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="114"/>
<source>Managed by Trojitá</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="148"/>
<source>SMPlayer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="172"/>
<source>To Play All of Your Movies</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="206"/>
<source>LibreOffice</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="230"/>
<source>Edits All Of Your Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="264"/>
<source>Pictures</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="288"/>
<source>Viewed With Nomacs</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="322"/>
<source>Have Fun!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="346"/>
<source>With the 2048 game</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="380"/>
<source>IRC Chat</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="404"/>
<source>With Quassel IRC</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="438"/>
<source>View Your Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="462"/>
<source>With QPDFView</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="no">
<context>
<name>show</name>
<message>
<location filename="../show.qml" line="32"/>
<source>Get Support</source>
<translation>Få brukerstøtte</translation>
</message>
<message>
<location filename="../show.qml" line="56"/>
<source>https://lubuntu.me</source>
<translation>https://lubuntu.me</translation>
</message>
<message>
<location filename="../show.qml" line="90"/>
<source>Your Mail</source>
<translation>Din epost</translation>
</message>
<message>
<location filename="../show.qml" line="114"/>
<source>Managed by Trojitá</source>
<translation>Håndtert av Trojitá</translation>
</message>
<message>
<location filename="../show.qml" line="148"/>
<source>SMPlayer</source>
<translation>SMPlayer</translation>
</message>
<message>
<location filename="../show.qml" line="172"/>
<source>To Play All of Your Movies</source>
<translation>For å spille alle dine filmer</translation>
</message>
<message>
<location filename="../show.qml" line="206"/>
<source>LibreOffice</source>
<translation>LibreOffice</translation>
</message>
<message>
<location filename="../show.qml" line="230"/>
<source>Edits All Of Your Documents</source>
<translation>Skriv alle dine dokumenter</translation>
</message>
<message>
<location filename="../show.qml" line="264"/>
<source>Pictures</source>
<translation>Bilder</translation>
</message>
<message>
<location filename="../show.qml" line="288"/>
<source>Viewed With Nomacs</source>
<translation>Vist med Nomacs</translation>
</message>
<message>
<location filename="../show.qml" line="322"/>
<source>Have Fun!</source>
<translation>Ha det gøy!</translation>
</message>
<message>
<location filename="../show.qml" line="346"/>
<source>With the 2048 game</source>
<translation>Med 2048-spillet</translation>
</message>
<message>
<location filename="../show.qml" line="380"/>
<source>IRC Chat</source>
<translation>IRC Chat</translation>
</message>
<message>
<location filename="../show.qml" line="404"/>
<source>With Quassel IRC</source>
<translation>Med Quassel IRC</translation>
</message>
<message>
<location filename="../show.qml" line="438"/>
<source>View Your Documents</source>
<translation>Se dine dokumenter</translation>
</message>
<message>
<location filename="../show.qml" line="462"/>
<source>With QPDFView</source>
<translation>Med QPDFView</translation>
</message>
</context>
</TS>

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="pl">
<context>
<name>show</name>
<message>
<location filename="../show.qml" line="32"/>
<source>Get Support</source>
<translation>Uzyskaj wsparcie</translation>
</message>
<message>
<location filename="../show.qml" line="56"/>
<source>https://lubuntu.me</source>
<translation>https://lubuntu.me</translation>
</message>
<message>
<location filename="../show.qml" line="90"/>
<source>Your Mail</source>
<translation>Twój e-mail</translation>
</message>
<message>
<location filename="../show.qml" line="114"/>
<source>Managed by Trojitá</source>
<translation>Obsługiwany przez Trojitá</translation>
</message>
<message>
<location filename="../show.qml" line="148"/>
<source>SMPlayer</source>
<translation>SMPlayer</translation>
</message>
<message>
<location filename="../show.qml" line="172"/>
<source>To Play All of Your Movies</source>
<translation>Odtwarzający wszystkie Twoje filmy</translation>
</message>
<message>
<location filename="../show.qml" line="206"/>
<source>LibreOffice</source>
<translation>LibreOffice</translation>
</message>
<message>
<location filename="../show.qml" line="230"/>
<source>Edits All Of Your Documents</source>
<translation>Edytuje Twoje dokumenty</translation>
</message>
<message>
<location filename="../show.qml" line="264"/>
<source>Pictures</source>
<translation>Zdjęcia</translation>
</message>
<message>
<location filename="../show.qml" line="288"/>
<source>Viewed With Nomacs</source>
<translation>Wyświetlane przez Nomacs</translation>
</message>
<message>
<location filename="../show.qml" line="322"/>
<source>Have Fun!</source>
<translation>Baw się dobrze!</translation>
</message>
<message>
<location filename="../show.qml" line="346"/>
<source>With the 2048 game</source>
<translation>Z grą 2048</translation>
</message>
<message>
<location filename="../show.qml" line="380"/>
<source>IRC Chat</source>
<translation>Czat IRC</translation>
</message>
<message>
<location filename="../show.qml" line="404"/>
<source>With Quassel IRC</source>
<translation>Dzięki Quassel IRC</translation>
</message>
<message>
<location filename="../show.qml" line="438"/>
<source>View Your Documents</source>
<translation>Wyświetlaj swoje dokumenty</translation>
</message>
<message>
<location filename="../show.qml" line="462"/>
<source>With QPDFView</source>
<translation>W QPDFView</translation>
</message>
</context>
</TS>

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="pt">
<context>
<name>show</name>
<message>
<location filename="../show.qml" line="32"/>
<source>Get Support</source>
<translation>Suporte</translation>
</message>
<message>
<location filename="../show.qml" line="56"/>
<source>https://lubuntu.me</source>
<translation>https://lubuntu.me</translation>
</message>
<message>
<location filename="../show.qml" line="90"/>
<source>Your Mail</source>
<translation>O seu correio eletrónico (e-mail)</translation>
</message>
<message>
<location filename="../show.qml" line="114"/>
<source>Managed by Trojitá</source>
<translation>Gerido por Trojitá</translation>
</message>
<message>
<location filename="../show.qml" line="148"/>
<source>SMPlayer</source>
<translation>SMPlayer</translation>
</message>
<message>
<location filename="../show.qml" line="172"/>
<source>To Play All of Your Movies</source>
<translation>Para a reprodução de todos os seus filmes</translation>
</message>
<message>
<location filename="../show.qml" line="206"/>
<source>LibreOffice</source>
<translation>LibreOffice</translation>
</message>
<message>
<location filename="../show.qml" line="230"/>
<source>Edits All Of Your Documents</source>
<translation>Edita todos os seus documentos</translation>
</message>
<message>
<location filename="../show.qml" line="264"/>
<source>Pictures</source>
<translation>Imagens</translation>
</message>
<message>
<location filename="../show.qml" line="288"/>
<source>Viewed With Nomacs</source>
<translation>Visualizado com Nomacs</translation>
</message>
<message>
<location filename="../show.qml" line="322"/>
<source>Have Fun!</source>
<translation>Divirta-se!</translation>
</message>
<message>
<location filename="../show.qml" line="346"/>
<source>With the 2048 game</source>
<translation>Com o jogo 2048</translation>
</message>
<message>
<location filename="../show.qml" line="380"/>
<source>IRC Chat</source>
<translation>Converse via IRC</translation>
</message>
<message>
<location filename="../show.qml" line="404"/>
<source>With Quassel IRC</source>
<translation>Com o Quassel IRC</translation>
</message>
<message>
<location filename="../show.qml" line="438"/>
<source>View Your Documents</source>
<translation>Visualize os seus documentos</translation>
</message>
<message>
<location filename="../show.qml" line="462"/>
<source>With QPDFView</source>
<translation>Com o QPDFView</translation>
</message>
</context>
</TS>

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="pt_BR">
<context>
<name>show</name>
<message>
<location filename="../show.qml" line="32"/>
<source>Get Support</source>
<translation>Suporte</translation>
</message>
<message>
<location filename="../show.qml" line="56"/>
<source>https://lubuntu.me</source>
<translation>https://lubuntu.me</translation>
</message>
<message>
<location filename="../show.qml" line="90"/>
<source>Your Mail</source>
<translation>Seu correio eletrônico (e-mail)</translation>
</message>
<message>
<location filename="../show.qml" line="114"/>
<source>Managed by Trojitá</source>
<translation>Gerenciado por Trojitá</translation>
</message>
<message>
<location filename="../show.qml" line="148"/>
<source>SMPlayer</source>
<translation>SMPlayer</translation>
</message>
<message>
<location filename="../show.qml" line="172"/>
<source>To Play All of Your Movies</source>
<translation>Para reprodução dos seus filmes favoritos</translation>
</message>
<message>
<location filename="../show.qml" line="206"/>
<source>LibreOffice</source>
<translation>LibreOffice</translation>
</message>
<message>
<location filename="../show.qml" line="230"/>
<source>Edits All Of Your Documents</source>
<translation>Edita todos os seus documentos</translation>
</message>
<message>
<location filename="../show.qml" line="264"/>
<source>Pictures</source>
<translation>Imagens</translation>
</message>
<message>
<location filename="../show.qml" line="288"/>
<source>Viewed With Nomacs</source>
<translation>Visualizadas com Nomacs</translation>
</message>
<message>
<location filename="../show.qml" line="322"/>
<source>Have Fun!</source>
<translation>Divirta-se!</translation>
</message>
<message>
<location filename="../show.qml" line="346"/>
<source>With the 2048 game</source>
<translation>Com o jogo 2048</translation>
</message>
<message>
<location filename="../show.qml" line="380"/>
<source>IRC Chat</source>
<translation>Converse via IRC</translation>
</message>
<message>
<location filename="../show.qml" line="404"/>
<source>With Quassel IRC</source>
<translation>Com o Quassel IRC</translation>
</message>
<message>
<location filename="../show.qml" line="438"/>
<source>View Your Documents</source>
<translation>Visualize os seus documentos</translation>
</message>
<message>
<location filename="../show.qml" line="462"/>
<source>With QPDFView</source>
<translation>Com o QPDFView</translation>
</message>
</context>
</TS>

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="ru_RU">
<context>
<name>show</name>
<message>
<location filename="../show.qml" line="32"/>
<source>Get Support</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="56"/>
<source>https://lubuntu.me</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="90"/>
<source>Your Mail</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="114"/>
<source>Managed by Trojitá</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="148"/>
<source>SMPlayer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="172"/>
<source>To Play All of Your Movies</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="206"/>
<source>LibreOffice</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="230"/>
<source>Edits All Of Your Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="264"/>
<source>Pictures</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="288"/>
<source>Viewed With Nomacs</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="322"/>
<source>Have Fun!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="346"/>
<source>With the 2048 game</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="380"/>
<source>IRC Chat</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="404"/>
<source>With Quassel IRC</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="438"/>
<source>View Your Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="462"/>
<source>With QPDFView</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

@ -0,0 +1,87 @@
<?xml version="1.0" encoding="utf-8"?>
<!DOCTYPE TS>
<TS version="2.1" language="zh_CN">
<context>
<name>show</name>
<message>
<location filename="../show.qml" line="32"/>
<source>Get Support</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="56"/>
<source>https://lubuntu.me</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="90"/>
<source>Your Mail</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="114"/>
<source>Managed by Trojitá</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="148"/>
<source>SMPlayer</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="172"/>
<source>To Play All of Your Movies</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="206"/>
<source>LibreOffice</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="230"/>
<source>Edits All Of Your Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="264"/>
<source>Pictures</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="288"/>
<source>Viewed With Nomacs</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="322"/>
<source>Have Fun!</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="346"/>
<source>With the 2048 game</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="380"/>
<source>IRC Chat</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="404"/>
<source>With Quassel IRC</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="438"/>
<source>View Your Documents</source>
<translation type="unfinished"></translation>
</message>
<message>
<location filename="../show.qml" line="462"/>
<source>With QPDFView</source>
<translation type="unfinished"></translation>
</message>
</context>
</TS>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

@ -0,0 +1,106 @@
import QtQuick 2.0;
import calamares.slideshow 1.0;
Presentation
{
id: presentation
Timer {
interval: 20000
running: true
repeat: true
onTriggered: presentation.goToNextSlide()
}
Slide {
Image {
anchors.centerIn: parent
id: image1
x:0
y:0
width: 790
height: 520
fillMode: Image.PreserveAspectFit
smooth: true
source: "NewLook.png"
}
}
Slide {
Image {
anchors.centerIn: parent
id: image3
x: 0
y: 0
width: 790
height: 520
fillMode: Image.PreserveAspectFit
smooth: true
source: "Audio.png"
}
}
Slide {
Image {
anchors.centerIn: parent
id: image4
x: 0
y: 0
width: 790
height: 520
fillMode: Image.PreserveAspectFit
smooth: true
source: "Video.png"
}
}
Slide {
Image {
anchors.centerIn: parent
id: image5
x: 0
y: 0
width: 790
height: 520
fillMode: Image.PreserveAspectFit
smooth: true
source: "Art.png"
}
}
Slide {
Image {
anchors.centerIn: parent
id: image6
x: 0
y: 0
width: 790
height: 520
fillMode: Image.PreserveAspectFit
smooth: true
source: "Photography.png"
}
}
Slide {
Image {
anchors.centerIn: parent
id: image7
x: 0
y: 0
width: 790
height: 520
fillMode: Image.PreserveAspectFit
smooth: true
source: "Software.png"
}
}
Slide {
Image {
anchors.centerIn: parent
id: image2
x: 0
y: 0
width: 790
height: 520
fillMode: Image.PreserveAspectFit
smooth: true
source: "FindUs.png"
}
}
}

@ -0,0 +1,92 @@
/*
A branding component can ship a stylesheet (like this one)
which is applied to parts of the Calamares user-interface.
In principle, all parts can be styled through CSS.
Missing parts should be filed as issues.
The IDs are based on the object names in the C++ code.
You can use the Debug Dialog to find out object names:
- Open the debug dialog
- Choose tab *Tools*
- Click *Widget Tree* button
The list of object names is printed in the log.
Documentation for styling Qt Widgets through a stylesheet
can be found at
https://doc.qt.io/qt-5/stylesheet-examples.html
https://doc.qt.io/qt-5/stylesheet-reference.html
In Calamares, styling widget classes is supported (e.g.
using `QComboBox` as a selector).
This example stylesheet has all the actual styling commented out.
The examples are not exhaustive.
*/
/*** Generic Widgets.
*
* You can style **all** widgets of a given class by selecting
* the class name. Some widgets have specialized sub-selectors.
*/
/*
QPushButton { background-color: green; }
*/
/*** Main application window.
*
* The main application window has the sidebar, which in turn
* contains a logo and a list of items -- note that the list
* can **not** be styled, since it has its own custom C++
* delegate code.
*/
/*
#mainApp { setStyleSheet("color: white; background-color: black;"); }
#sidebarApp { }
#logoApp { }
*/
/*** Welcome module.
*
* There are plenty of parts, but the buttons are the most interesting
* ones (donate, release notes, ...). The little icon image can be
* styled through *qproperty-icon*, which is a little obscure.
* URLs can reference the QRC paths of the Calamares application
* or loaded via plugins or within the filesystem. There is no
* comprehensive list of available icons, though.
*/
/*
QPushButton#aboutButton { qproperty-icon: url(:/data/images/release.svg); }
#donateButton,
#supportButton,
#releaseNotesButton,
#knownIssuesButton { qproperty-icon: url(:/data/images/help.svg); }
*/
/*** Partitioning module.
*
* Many moving parts, which you will need to experiment with.
*/
/*
#bootInfoIcon { }
#bootInfoLable { }
#deviceInfoIcon { }
#defineInfoLabel { }
#scrollAreaWidgetContents { }
#partitionBarView { }
*/
/*** Licensing module.
*
* The licensing module paints individual widgets for each of
* the licenses. The item can be collapsed or expanded.
*/
/*
#licenseItem { }
#licenseItemFullText { }
*/

Binary file not shown.

After

Width:  |  Height:  |  Size: 243 KiB

@ -0,0 +1,119 @@
[ColorEffects:Disabled]
Color=56,56,56
ColorAmount=0
ColorEffect=0
ContrastAmount=0.65
ContrastEffect=1
IntensityAmount=0.1
IntensityEffect=2
[ColorEffects:Inactive]
ChangeSelectionColor=true
Color=112,111,110
ColorAmount=0.025
ColorEffect=2
ContrastAmount=0.1
ContrastEffect=2
Enable=false
IntensityAmount=0
IntensityEffect=0
[Colors:Button]
BackgroundAlternate=163,212,250
BackgroundNormal=246,245,244
DecorationFocus=53,132,228
DecorationHover=53,132,228
ForegroundActive=53,132,228
ForegroundInactive=112,125,138
ForegroundLink=41,128,185
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=35,38,41
ForegroundPositive=39,174,96
ForegroundVisited=155,89,182
[Colors:Complementary]
BackgroundAlternate=27,30,32
BackgroundNormal=42,46,50
DecorationFocus=53,132,228
DecorationHover=53,132,228
ForegroundActive=53,132,228
ForegroundInactive=161,169,177
ForegroundLink=29,153,243
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=252,252,252
ForegroundPositive=39,174,96
ForegroundVisited=155,89,182
[Colors:Selection]
BackgroundAlternate=163,212,250
BackgroundNormal=53,132,228
DecorationFocus=53,132,228
DecorationHover=53,132,228
ForegroundActive=53,132,228
ForegroundInactive=112,125,138
ForegroundLink=41,128,185
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=255,255,255
ForegroundPositive=39,174,96
ForegroundVisited=155,89,182
[Colors:Tooltip]
BackgroundAlternate=234,231,229
BackgroundNormal=246,245,244
DecorationFocus=53,132,228
DecorationHover=53,132,228
ForegroundActive=53,132,228
ForegroundInactive=112,125,138
ForegroundLink=41,128,185
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=35,38,41
ForegroundPositive=39,174,96
ForegroundVisited=155,89,182
[Colors:View]
BackgroundAlternate=246,245,244
BackgroundNormal=255,255,255
DecorationFocus=53,132,228
DecorationHover=53,132,228
ForegroundActive=53,132,228
ForegroundInactive=112,125,138
ForegroundLink=41,128,185
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=35,38,41
ForegroundPositive=39,174,96
ForegroundVisited=155,89,182
[Colors:Window]
BackgroundAlternate=227,229,231
BackgroundNormal=234,231,229
DecorationFocus=53,132,228
DecorationHover=53,132,228
ForegroundActive=53,132,228
ForegroundInactive=112,125,138
ForegroundLink=41,128,185
ForegroundNegative=218,68,83
ForegroundNeutral=246,116,0
ForegroundNormal=35,38,41
ForegroundPositive=39,174,96
ForegroundVisited=155,89,182
[General]
ColorScheme=UbuntuStudioLight
Name=Ubuntu Studio Light
shadeSortColumn=true
[KDE]
contrast=4
[WM]
activeBackground=234,231,229
activeBlend=227,229,231
activeForeground=35,38,41
inactiveBackground=234,231,229
inactiveBlend=234,231,229
inactiveForeground=112,125,138

@ -0,0 +1,4 @@
[General]
AutomountEnabled=false
AutomountOnLogin=false
AutomountOnPlugin=false

@ -0,0 +1,45 @@
cmake_minimum_required(VERSION 3.5)
project(basicwallpaper VERSION 0.1 LANGUAGES CXX)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
set(CMAKE_AUTOUIC ON)
set(CMAKE_AUTOMOC ON)
set(CMAKE_AUTORCC ON)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets REQUIRED)
find_package(Qt${QT_VERSION_MAJOR} COMPONENTS Widgets REQUIRED)
set(PROJECT_SOURCES
main.cpp
mainwindow.cpp
mainwindow.h
mainwindow.ui
)
if(${QT_VERSION_MAJOR} GREATER_EQUAL 6)
qt_add_executable(basicwallpaper
MANUAL_FINALIZATION
${PROJECT_SOURCES}
)
else()
add_executable(basicwallpaper
${PROJECT_SOURCES}
)
endif()
target_link_libraries(basicwallpaper PRIVATE Qt${QT_VERSION_MAJOR}::Widgets)
install(TARGETS basicwallpaper
BUNDLE DESTINATION .
LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
)
if(QT_VERSION_MAJOR EQUAL 6)
qt_finalize_executable(basicwallpaper)
endif()

@ -0,0 +1,288 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE QtCreatorProject>
<!-- Written by QtCreator 6.0.2, 2024-02-14T12:14:09. -->
<qtcreator>
<data>
<variable>EnvironmentId</variable>
<value type="QByteArray">{c72e8e96-4d64-44b5-94c8-e16820d11b4b}</value>
</data>
<data>
<variable>ProjectExplorer.Project.ActiveTarget</variable>
<value type="int">0</value>
</data>
<data>
<variable>ProjectExplorer.Project.EditorSettings</variable>
<valuemap type="QVariantMap">
<value type="bool" key="EditorConfiguration.AutoIndent">true</value>
<value type="bool" key="EditorConfiguration.AutoSpacesForTabs">false</value>
<value type="bool" key="EditorConfiguration.CamelCaseNavigation">true</value>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.0">
<value type="QString" key="language">Cpp</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">CppGlobal</value>
</valuemap>
</valuemap>
<valuemap type="QVariantMap" key="EditorConfiguration.CodeStyle.1">
<value type="QString" key="language">QmlJS</value>
<valuemap type="QVariantMap" key="value">
<value type="QByteArray" key="CurrentPreferences">QmlJSGlobal</value>
</valuemap>
</valuemap>
<value type="int" key="EditorConfiguration.CodeStyle.Count">2</value>
<value type="QByteArray" key="EditorConfiguration.Codec">UTF-8</value>
<value type="bool" key="EditorConfiguration.ConstrainTooltips">false</value>
<value type="int" key="EditorConfiguration.IndentSize">4</value>
<value type="bool" key="EditorConfiguration.KeyboardTooltips">false</value>
<value type="int" key="EditorConfiguration.MarginColumn">80</value>
<value type="bool" key="EditorConfiguration.MouseHiding">true</value>
<value type="bool" key="EditorConfiguration.MouseNavigation">true</value>
<value type="int" key="EditorConfiguration.PaddingMode">1</value>
<value type="bool" key="EditorConfiguration.PreferSingleLineComments">false</value>
<value type="bool" key="EditorConfiguration.ScrollWheelZooming">true</value>
<value type="bool" key="EditorConfiguration.ShowMargin">false</value>
<value type="int" key="EditorConfiguration.SmartBackspaceBehavior">0</value>
<value type="bool" key="EditorConfiguration.SmartSelectionChanging">true</value>
<value type="bool" key="EditorConfiguration.SpacesForTabs">true</value>
<value type="int" key="EditorConfiguration.TabKeyBehavior">0</value>
<value type="int" key="EditorConfiguration.TabSize">8</value>
<value type="bool" key="EditorConfiguration.UseGlobal">true</value>
<value type="bool" key="EditorConfiguration.UseIndenter">false</value>
<value type="int" key="EditorConfiguration.Utf8BomBehavior">1</value>
<value type="bool" key="EditorConfiguration.addFinalNewLine">true</value>
<value type="bool" key="EditorConfiguration.cleanIndentation">true</value>
<value type="bool" key="EditorConfiguration.cleanWhitespace">true</value>
<value type="QString" key="EditorConfiguration.ignoreFileTypes">*.md, *.MD, Makefile</value>
<value type="bool" key="EditorConfiguration.inEntireDocument">false</value>
<value type="bool" key="EditorConfiguration.skipTrailingWhitespace">true</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.Target.0</variable>
<valuemap type="QVariantMap">
<value type="QString" key="DeviceType">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Desktop</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">{c8b6ccbc-b12c-473e-83be-23a4b6d2eb6e}</value>
<value type="int" key="ProjectExplorer.Target.ActiveBuildConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveDeployConfiguration">0</value>
<value type="int" key="ProjectExplorer.Target.ActiveRunConfiguration">0</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.0">
<value type="QString" key="CMake.Build.Type">Debug</value>
<value type="QString" key="CMake.Initial.Parameters">-GUnix Makefiles
-DCMAKE_BUILD_TYPE:STRING=Debug
-DCMAKE_PROJECT_INCLUDE_BEFORE:PATH=%{IDE:ResourcePath}/package-manager/auto-setup.cmake
-DQT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}
-DCMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}
-DCMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}
-DCMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/arraybolt3/Projects/build-basicwallpaper-Desktop-Debug</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Debug</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.1">
<value type="QString" key="CMake.Build.Type">Release</value>
<value type="QString" key="CMake.Initial.Parameters">-GUnix Makefiles
-DCMAKE_BUILD_TYPE:STRING=Release
-DCMAKE_PROJECT_INCLUDE_BEFORE:PATH=%{IDE:ResourcePath}/package-manager/auto-setup.cmake
-DQT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}
-DCMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}
-DCMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}
-DCMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/arraybolt3/Projects/build-basicwallpaper-Desktop-Release</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.2">
<value type="QString" key="CMake.Build.Type">RelWithDebInfo</value>
<value type="QString" key="CMake.Initial.Parameters">-GUnix Makefiles
-DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo
-DCMAKE_PROJECT_INCLUDE_BEFORE:PATH=%{IDE:ResourcePath}/package-manager/auto-setup.cmake
-DQT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}
-DCMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}
-DCMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}
-DCMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/arraybolt3/Projects/build-basicwallpaper-Desktop-RelWithDebInfo</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Release with Debug Information</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.BuildConfiguration.3">
<value type="QString" key="CMake.Build.Type">MinSizeRel</value>
<value type="QString" key="CMake.Initial.Parameters">-GUnix Makefiles
-DCMAKE_BUILD_TYPE:STRING=MinSizeRel
-DCMAKE_PROJECT_INCLUDE_BEFORE:PATH=%{IDE:ResourcePath}/package-manager/auto-setup.cmake
-DQT_QMAKE_EXECUTABLE:STRING=%{Qt:qmakeExecutable}
-DCMAKE_PREFIX_PATH:STRING=%{Qt:QT_INSTALL_PREFIX}
-DCMAKE_C_COMPILER:STRING=%{Compiler:Executable:C}
-DCMAKE_CXX_COMPILER:STRING=%{Compiler:Executable:Cxx}</value>
<value type="QString" key="ProjectExplorer.BuildConfiguration.BuildDirectory">/home/arraybolt3/Projects/build-basicwallpaper-Desktop-MinSizeRel</value>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
<value type="QString">all</value>
</valuelist>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Build</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Build</value>
</valuemap>
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.1">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildStepList.Step.0">
<valuelist type="QVariantList" key="CMakeProjectManager.MakeStep.BuildTargets">
<value type="QString">clean</value>
</valuelist>
<value type="bool" key="ProjectExplorer.BuildStep.Enabled">true</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.MakeStep</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">1</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Clean</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Clean</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">2</value>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ClearSystemEnvironment">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.CustomParsers"/>
<value type="bool" key="ProjectExplorer.BuildConfiguration.ParseStandardOutput">false</value>
<valuelist type="QVariantList" key="ProjectExplorer.BuildConfiguration.UserEnvironmentChanges"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Minimum Size Release</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">CMakeProjectManager.CMakeBuildConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.BuildConfigurationCount">4</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.DeployConfiguration.0">
<valuemap type="QVariantMap" key="ProjectExplorer.BuildConfiguration.BuildStepList.0">
<value type="int" key="ProjectExplorer.BuildStepList.StepsCount">0</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DefaultDisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.DisplayName">Deploy</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.BuildSteps.Deploy</value>
</valuemap>
<value type="int" key="ProjectExplorer.BuildConfiguration.BuildStepListCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.DeployConfiguration.CustomData"/>
<value type="bool" key="ProjectExplorer.DeployConfiguration.CustomDataEnabled">false</value>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.DefaultDeployConfiguration</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.DeployConfigurationCount">1</value>
<valuemap type="QVariantMap" key="ProjectExplorer.Target.RunConfiguration.0">
<value type="bool" key="Analyzer.Perf.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.QmlProfiler.Settings.UseGlobalSettings">true</value>
<value type="bool" key="Analyzer.Valgrind.Settings.UseGlobalSettings">true</value>
<valuelist type="QVariantList" key="CustomOutputParsers"/>
<value type="int" key="PE.EnvironmentAspect.Base">2</value>
<valuelist type="QVariantList" key="PE.EnvironmentAspect.Changes"/>
<value type="QString" key="ProjectExplorer.ProjectConfiguration.Id">ProjectExplorer.CustomExecutableRunConfiguration</value>
<value type="QString" key="ProjectExplorer.RunConfiguration.BuildKey"></value>
<value type="bool" key="RunConfiguration.UseCppDebugger">false</value>
<value type="bool" key="RunConfiguration.UseCppDebuggerAuto">true</value>
<value type="bool" key="RunConfiguration.UseQmlDebugger">false</value>
<value type="bool" key="RunConfiguration.UseQmlDebuggerAuto">true</value>
</valuemap>
<value type="int" key="ProjectExplorer.Target.RunConfigurationCount">1</value>
</valuemap>
</data>
<data>
<variable>ProjectExplorer.Project.TargetCount</variable>
<value type="int">1</value>
</data>
<data>
<variable>ProjectExplorer.Project.Updater.FileVersion</variable>
<value type="int">22</value>
</data>
<data>
<variable>Version</variable>
<value type="int">22</value>
</data>
</qtcreator>

@ -0,0 +1,3 @@
# basicwallpaper: Shows an image in the background across all screens
Copyright (C) 2024 Kubuntu Developers <kubuntu-devel@lists.ubuntu.com>. Licensed under the GNU GPL version 3. This license applies to all files in the repository. Inspiration taken from lubuntu-installer-prompt and pcmanfm-qt.

@ -0,0 +1,28 @@
#include "mainwindow.h"
#include <QApplication>
#include <QScreen>
int main(int argc, char *argv[])
{
QApplication a(argc, argv);
QString wallpaperFile;
if (argc > 1) {
wallpaperFile = QString(argv[1]);
} else {
return 1;
}
for (QScreen *screen : QApplication::screens()) {
MainWindow *w = new MainWindow(wallpaperFile);
w->setWindowFlags(Qt::WindowStaysOnBottomHint);
w->setGeometry(screen->geometry());
w->showFullScreen();
w->show();
w->applyWallpaper();
}
return a.exec();
}

@ -0,0 +1,43 @@
#include "mainwindow.h"
#include "./ui_mainwindow.h"
#include <QDebug>
#include <QImage>
MainWindow::MainWindow(const QString &wallpaperFile, QWidget *parent)
: QMainWindow(parent)
, ui(new Ui::MainWindow)
{
ui->setupUi(this);
m_wallpaperFile = wallpaperFile;
}
MainWindow::~MainWindow()
{
delete ui;
}
void MainWindow::applyWallpaper()
{
QImage image(m_wallpaperFile);
if (!image.isNull()) {
qreal imgRatio = static_cast<qreal>(image.width()) / image.height();
qreal screenRatio = static_cast<qreal>(this->width()) / this->height();
QImage scaled;
if (imgRatio < screenRatio) {
scaled = image.scaledToWidth(this->width(), Qt::SmoothTransformation);
int yGap = (scaled.height() - this->height()) / 2;
scaled = scaled.copy(0, yGap, scaled.width(), this->height());
} else {
scaled = image.scaledToHeight(this->height(), Qt::SmoothTransformation);
int xGap = (scaled.width() - this->width()) / 2;
scaled = scaled.copy(xGap, 0, this->width(), scaled.height());
}
QPixmap bg = QPixmap::fromImage(scaled);
QPalette palette;
palette.setBrush(QPalette::Window, bg);
this->setPalette(palette);
} else {
qCritical() << "ERROR: Wallpaper does not exist!";
}
}

@ -0,0 +1,24 @@
#ifndef MAINWINDOW_H
#define MAINWINDOW_H
#include <QMainWindow>
QT_BEGIN_NAMESPACE
namespace Ui { class MainWindow; }
QT_END_NAMESPACE
class MainWindow : public QMainWindow
{
Q_OBJECT
public:
MainWindow(const QString &wallpaperFile, QWidget *parent = nullptr);
~MainWindow();
void applyWallpaper();
private:
Ui::MainWindow *ui;
QString m_wallpaperFile;
};
#endif // MAINWINDOW_H

@ -0,0 +1,22 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>MainWindow</class>
<widget class="QMainWindow" name="MainWindow">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>800</width>
<height>600</height>
</rect>
</property>
<property name="windowTitle">
<string>MainWindow</string>
</property>
<widget class="QWidget" name="centralwidget"/>
<widget class="QMenuBar" name="menubar"/>
<widget class="QStatusBar" name="statusbar"/>
</widget>
<resources/>
<connections/>
</ui>

@ -0,0 +1,3 @@
#!/bin/bash
setxkbmap -query | awk '/layout/{ print $2 }' > /dev/shm/fixconkeys-layout
cp /usr/libexec/fixconkeys-part2 ${1}/usr/libexec/fixconkeys-part2

@ -0,0 +1,5 @@
#!/bin/bash
loadkeys "$(cat /dev/shm/fixconkeys-layout)"
setupcon --save-only
update-initramfs -c -k all
rm /usr/libexec/fixconkeys-part2

@ -6,8 +6,8 @@ baseUrl: archive.ubuntu.com
# URL used for IP address lookup # URL used for IP address lookup
geoip: geoip:
style: "json" style: "xml"
url: "https://ipapi.co/json" url: "https://geoip.ubuntu.com/lookup"
# Distribution that this is based off of. # Distribution that this is based off of.
# This is so we can make safe assumptions for the contents of # This is so we can make safe assumptions for the contents of

@ -1,6 +1,6 @@
#!/usr/bin/env python3 #!/usr/bin/env python3
# Copyright (C) 2018 Simon Quigley <tsimonq2@ubuntu.com> # Copyright (C) 2018-2023 Simon Quigley <tsimonq2@ubuntu.com>
# #
# This program is free software: you can redistribute it and/or modify # This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by # it under the terms of the GNU General Public License as published by
@ -19,150 +19,108 @@ import json
import libcalamares import libcalamares
from time import strftime from time import strftime
import urllib.request import urllib.request
from urllib.error import HTTPError from urllib.error import HTTPError, URLError
from urllib.error import URLError
import socket import socket
import logging import logging
from lsb_release import get_distro_information import distro
import xml.etree.ElementTree as ET
global sources from os import remove
sources = """# Automatically generated by Calamares on DATE.
# Lines starting with "deb" are mandatory, while lines starting with "deb-src"
# are for more detailed package information. SUBDOMAINS_BY_COUNTRY_CODE = {
"US": "us.", "AU": "au.", "SE": "no.", "NO": "no.",
## See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to "NZ": "nz.", "NL": "nl.", "KR": "kr.", "DE": "de.",
## newer versions of DISTRIBUTION. "GE": "ge.", "PF": "pf.", "CZ": "cz.", "HR": "hr."
deb URL/ubuntu/ CODENAME main restricted }
# deb-src URL/ubuntu/ CODENAME main restricted
## Major bug fix updates produced after the final release of DISTRIBUTION. def get_sources_template():
## Have you noticed a regression? Please report it! return """# Automatically generated by Calamares on {date}.
## https://wiki.ubuntu.com/StableReleaseUpdates#Regressions # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade to
deb URL/ubuntu/ CODENAME-updates main restricted # newer versions of {distro}.
# deb-src URL/ubuntu/ CODENAME-updates main restricted ## Ubuntu distribution repository
##
## Software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu team. ## The following settings can be adjusted to configure which packages to use from Ubuntu.
## Also, please note that software in Universe WILL NOT receive any review or ## Mirror your choices (except for URIs and Suites) in the security section below to
## updates from the Ubuntu security team directly. Updates in this repository ## ensure timely security updates.
## are provided by volunteers, but most come from Debian. ##
deb URL/ubuntu/ CODENAME universe ## Types: Append deb-src to enable the fetching of source package.
# deb-src URL/ubuntu/ CODENAME universe ## URIs: A URL to the repository (you may add multiple URLs)
deb URL/ubuntu/ CODENAME-updates universe ## Suites: The following additional suites can be configured
# deb-src URL/ubuntu/ CODENAME-updates universe ## <name>-updates - Major bug fix updates produced after the final release of the
## distribution.
## Software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu team, ## <name>-backports - software from this repository may not have been tested as
## and may not be under a free licence. Please satisfy yourself as your rights ## extensively as that contained in the main release, although it includes
## to use the software. Also, please note that software in Multiverse WILL NOT ## newer versions of some applications which may provide useful features.
## receive any review or updates from the Ubuntu security team directly. ## Also, please note that software in backports WILL NOT receive any review
deb URL/ubuntu/ CODENAME multiverse ## or updates from the Ubuntu security team.
# deb-src URL/ubuntu/ CODENAME multiverse ## Components: Aside from main, the following components can be added to the list
deb URL/ubuntu/ CODENAME-updates multiverse ## restricted - Software that may not be under a free license, or protected by patents.
# deb-src URL/ubuntu/ CODENAME-updates multiverse ## universe - Community maintained packages.
## Software from this repository is only maintained and supported by Canonical
## Software from this repository contains tested security updates from the ## for machines with Ubuntu Pro subscriptions. Without Ubuntu Pro, the Ubuntu
## Ubuntu security team. ## community provides best-effort security maintenance.
deb http://security.ubuntu.com/ubuntu CODENAME-security main restricted ## multiverse - Community maintained of restricted. Software from this repository is
# deb-src http://security.ubuntu.com/ubuntu CODENAME-security main restricted ## ENTIRELY UNSUPPORTED by the Ubuntu team, and may not be under a free
deb http://security.ubuntu.com/ubuntu CODENAME-security universe ## licence. Please satisfy yourself as to your rights to use the software.
# deb-src http://security.ubuntu.com/ubuntu CODENAME-security universe ## Also, please note that software in multiverse WILL NOT receive any
deb http://security.ubuntu.com/ubuntu CODENAME-security multiverse ## review or updates from the Ubuntu security team.
# deb-src http://security.ubuntu.com/ubuntu CODENAME-security multiverse ##
## See the sources.list(5) manual page for further settings.
## Software from this repository may not have been tested as extensively as Types: deb
## software contained in the main release, although it includes newer versions URIs: {url}
## of some applications which may provide useful features. Also, please note Suites: {codename} {codename}-updates {codename}-backports
## that software in Backports WILL NOT receive any review or updates from the Components: main universe restricted multiverse
## Ubuntu security team. Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
deb URL/ubuntu/ CODENAME-backports main restricted universe multiverse
# deb-src URL/ubuntu/ CODENAME-backports main restricted universe multiverse ## Ubuntu security updates. Aside from URIs and Suites,
## this should mirror your choices in the previous section.
## Uncomment the following two lines to add software from Canonical's Types: deb
## "partner" repository. URIs: http://security.ubuntu.com/ubuntu/
## This software is not part of Ubuntu, but is offered by Canonical and the Suites: {codename}-security
## respective vendors as a service to Ubuntu users. Components: main universe restricted multiverse
# deb http://archive.canonical.com/ubuntu CODENAME partner Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
# deb-src http://archive.canonical.com/ubuntu CODENAME partner""" """
SUBDOMAINS_BY_COUNTRY_CODE = {"US": "us.",
"AU": "au.", def get_country_code():
"SE": "no.", if not libcalamares.globalstorage.value("hasInternet"):
"NO": "no.",
"NZ": "nz.",
"NL": "nl.",
"KR": "kr.",
"DE": "de.",
"GE": "ge.",
"PF": "pf.",
"CZ": "cz.",
"HR": "hr."}
def getcountrycode():
"""
Return the two-letter country code or an empty string.
Tries to determine the country code based on the public IP address,
if the device is connected to the Internet. Otherwise it returns
an empty string.
"""
if libcalamares.globalstorage.value("hasInternet"):
geoipurl = libcalamares.job.configuration["geoip"]["url"]
try:
with urllib.request.urlopen(geoipurl, timeout=75) as http_response:
localedata = json.loads(http_response.read().decode())
except HTTPError as http_error:
logging.http_error("Data not retrieved because %s - URL: %s",
http_error, geoipurl)
except URLError as url_error:
if isinstance(url_error.reason, socket.timeout):
logging.error("Socket timed out - URL %s", geoipurl)
else:
logging.error("Non-timeout protocol error.")
else:
logging.info("Country successfully determined.")
return localedata["country"]
else:
return "" return ""
geoip_config = libcalamares.job.configuration["geoip"]
try:
with urllib.request.urlopen(geoip_config["url"], timeout=75) as resp:
if geoip_config["style"] == "json":
return json.loads(resp.read().decode())["country_code"]
elif geoip_config["style"] == "xml":
return ET.parse(resp).getroot().find("CountryCode").text
except (HTTPError, URLError, socket.timeout):
logging.error("Failed to get country code.")
return ""
def get_subdomain_by_country(countrycode):
"""Return the subdomain for the given countrycode
or an empty string.
"""
if countrycode in SUBDOMAINS_BY_COUNTRY_CODE.keys():
return SUBDOMAINS_BY_COUNTRY_CODE[countrycode]
else:
return ""
def get_subdomain_by_country(country_code):
return SUBDOMAINS_BY_COUNTRY_CODE.get(country_code, "")
def getcodename():
"""Return the codename of the distribution, similar to lsb_release -cs"""
return get_distro_information()["CODENAME"]
def write_file(path, content):
with open(path, "w") as f:
f.write(content)
def changesources(subdomain):
"""Replace the placeholders and then create the sources.list"""
distro = libcalamares.job.configuration["distribution"]
url = "http://{}{}".format(subdomain,
libcalamares.job.configuration["baseUrl"])
global sources def run():
sources = sources.replace("DISTRIBUTION", distro) country_code = get_country_code()
sources = sources.replace("CODENAME", getcodename()) subdomain = get_subdomain_by_country(country_code)
sources = sources.replace("URL", url) base_url = "http://{}{}/ubuntu".format(subdomain, libcalamares.job.configuration["baseUrl"])
sources = sources.replace("DATE", strftime("%Y-%m-%d")) codename = distro.codename()
filepath = libcalamares.globalstorage.value("rootMountPoint") root_mount_point = libcalamares.globalstorage.value("rootMountPoint")
filepath += "/etc/apt/sources.list"
with open(filepath, "r+") as sourcesfile:
sourcesfile.seek(0)
sourcesfile.write(sources)
sourcesfile.truncate()
sources = get_sources_template().format(date=strftime("%Y-%m-%d"), distro=libcalamares.job.configuration["distribution"], url=base_url, codename=codename)
write_file(f"{root_mount_point}/etc/apt/sources.list.d/ubuntu.sources", sources)
def run(): remove(f"{root_mount_point}/etc/apt/sources.list")
"""Autoselect a mirror and create the sources.list file."""
countrycode = getcountrycode()
subdomain = get_subdomain_by_country(countrycode)
changesources(subdomain) libcalamares.globalstorage.insert("mirrorURL", base_url)
libcalamares.globalstorage.insert("ubuntuCodename", codename)

@ -11,8 +11,8 @@ firmwareType:
- command: sed -i '/deb http/d' /etc/apt/sources.list - command: sed -i '/deb http/d' /etc/apt/sources.list
timeout: 10 timeout: 10
- command: apt-get update - command: apt-get update
timeout: 120 timeout: 10800
- command: apt install -y --no-upgrade -o Acquire::gpgv::Options::=--ignore-time-conflict grub-efi-$(if grep -q 64 /sys/firmware/efi/fw_platform_size; then echo amd64-signed; else echo ia32; fi) - command: apt install -y --no-upgrade -o Acquire::gpgv::Options::=--ignore-time-conflict grub-efi-$(if grep -q 64 /sys/firmware/efi/fw_platform_size; then echo amd64-signed; else echo ia32; fi)
timeout: 300 timeout: 10800
- command: apt install -y --no-upgrade -o Acquire::gpgv::Options::=--ignore-time-conflict shim-signed - command: apt install -y --no-upgrade -o Acquire::gpgv::Options::=--ignore-time-conflict shim-signed
timeout: 300 timeout: 10800

@ -0,0 +1,10 @@
---
dontChroot: true
timeout: 10
firmwareType:
efi:
- -cp /cdrom/casper/vmlinuz ${ROOT}/boot/vmlinuz-$(uname -r)
- -mkdir -pv ${ROOT}/media/cdrom
- -mount --bind /cdrom ${ROOT}/media/cdrom
bios:
- -cp /cdrom/casper/vmlinuz ${ROOT}/boot/vmlinuz-$(uname -r)

@ -0,0 +1,2 @@
crypttabOptions: luks,keyscript=/bin/cat
efiMountOptions: umask=0077

@ -4,5 +4,5 @@ zone: "New_York"
localeGenPath: "/etc/locale.gen" localeGenPath: "/etc/locale.gen"
geoip: geoip:
style: "xml" style: "xml"
url: "http://geoip.ubuntu.com/lookup" url: "https://geoip.ubuntu.com/lookup"
selector: "TimeZone" selector: "TimeZone"

@ -5,4 +5,4 @@ systemd: true
dbus: true dbus: true
# Whether /var/lib/dbus/machine-id should be a symlink to /etc/machine-id # Whether /var/lib/dbus/machine-id should be a symlink to /etc/machine-id
# (ignored if dbus is false, or if there is no /etc/machine-id to point to). # (ignored if dbus is false, or if there is no /etc/machine-id to point to).
symlink: true dbus-symlink: true

@ -0,0 +1,38 @@
extraMounts:
- device: proc
fs: proc
mountPoint: /proc
- device: sys
fs: sysfs
mountPoint: /sys
- device: /dev
mountPoint: /dev
options: [ bind ]
- device: tmpfs
fs: tmpfs
mountPoint: /run
- device: /run/udev
mountPoint: /run/udev
options: [ bind ]
- device: efivarfs
fs: efivarfs
mountPoint: /sys/firmware/efi/efivars
efi: true
- device: /run/systemd/resolve
mountPoint: /run/systemd/resolve
options: [ bind ]
mountOptions:
- filesystem: default
options: [ defaults ]
- filesystem: btrfs
options: [ defaults, noatime, autodefrag ]
ssdOptions: [ discard, compress=lzo ]
- filesystem: ext4
ssdOptions: [ discard ]
- filesystem: jfs
ssdOptions: [ discard ]
- filesystem: xfs
ssdOptions: [ discard ]
- filesystem: swap
ssdOptions: [ discard ]

@ -0,0 +1,31 @@
cmake_minimum_required(VERSION 3.16 FATAL_ERROR)
include(FeatureSummary)
set( CMAKE_CXX_STANDARD 17 )
set( CMAKE_CXX_STANDARD_REQUIRED ON )
set( CALAMARES_VERSION_REQUIRED 3.3.0 )
find_package(ECM ${ECM_VERSION} NO_MODULE)
set(CMAKE_MODULE_PATH ${ECM_MODULE_PATH} ${CMAKE_MODULE_PATH})
include(KDEInstallDirs)
find_package(KF5 REQUIRED COMPONENTS CoreAddons)
find_package(Calamares ${CALAMARES_VERSION_REQUIRED} NO_CMAKE_PACKAGE_REGISTRY)
if (NOT TARGET Calamares::calamares OR NOT TARGET Calamares::calamaresui)
find_package(Calamares ${CALAMARES_VERSION_REQUIRED} REQUIRED)
endif()
message(STATUS "Found Calamares version ${Calamares_VERSION}")
message(STATUS " libraries ${Calamares_LIB_DIRS}")
message(STATUS "")
calamares_add_plugin( pkgselect
TYPE viewmodule
EXPORT_MACRO PLUGINDLLEXPORT_PRO
SOURCES
PackageSelectViewStep.cpp
UI
pkgselect.ui
SHARED_LIB
)

@ -0,0 +1,208 @@
#include "PackageSelectViewStep.h"
#include "JobQueue.h"
#include "GlobalStorage.h"
#include "Branding.h"
#include "network/Manager.h"
#include <QVariantMap>
PackageSelectViewStep::PackageSelectViewStep( QObject* parent )
: Calamares::ViewStep( parent ),
m_packageSelections(QVariantMap()),
ui(new Ui::pkgselect)
{
m_widget = new QWidget();
ui->setupUi(m_widget);
}
PackageSelectViewStep::~PackageSelectViewStep()
{
delete ui;
delete m_widget;
}
QString
PackageSelectViewStep::prettyName() const
{
return tr( "Customize" );
}
bool PackageSelectViewStep::exists_and_true(const QString& key) const
{
return m_packageSelections.contains(key) && m_packageSelections[key].toBool() == true;
}
QWidget* PackageSelectViewStep::widget()
{
return m_widget;
}
Calamares::JobList PackageSelectViewStep::jobs() const
{
return Calamares::JobList();
}
bool PackageSelectViewStep::isNextEnabled() const
{
return true;
}
bool PackageSelectViewStep::isBackEnabled() const
{
return true;
}
bool PackageSelectViewStep::isAtBeginning() const
{
return true;
}
bool PackageSelectViewStep::isAtEnd() const
{
return true;
}
void PackageSelectViewStep::onActivate()
{
// Connect the Minimal Installation radio button
connect(ui->minimal_button, &QRadioButton::toggled, this, [this](bool checked) {
Calamares::Network::Manager network;
if (checked && network.hasInternet()) {
ui->extraparty_scroll->setVisible(false);
ui->extraparty_text->setVisible(false);
ui->mandatory_warning_label->setVisible(false);
ui->element_button->setChecked(false);
ui->thunderbird_button->setChecked(false);
ui->virtmanager_button->setChecked(false);
ui->krita_button->setChecked(false);
ui->element_button->setEnabled(false);
ui->thunderbird_button->setEnabled(false);
ui->virtmanager_button->setEnabled(false);
ui->krita_button->setEnabled(false);
}
});
// Connect the Normal Installation radio button
connect(ui->normal_button, &QRadioButton::toggled, this, [this](bool checked) {
Calamares::Network::Manager network;
if (checked && network.hasInternet()) {
ui->extraparty_scroll->setVisible(true);
ui->extraparty_text->setVisible(true);
ui->mandatory_warning_label->setVisible(true);
ui->element_button->setChecked(false);
ui->thunderbird_button->setChecked(false);
ui->virtmanager_button->setChecked(false);
ui->krita_button->setChecked(false);
ui->element_button->setEnabled(true);
ui->thunderbird_button->setEnabled(true);
ui->virtmanager_button->setEnabled(true);
ui->krita_button->setEnabled(true);
}
});
// Connect the Full Installation radio button
connect(ui->full_button, &QRadioButton::toggled, this, [this](bool checked) {
Calamares::Network::Manager network;
if (checked && network.hasInternet()) {
ui->extraparty_scroll->setVisible(true);
ui->extraparty_text->setVisible(true);
ui->mandatory_warning_label->setVisible(true);
ui->element_button->setChecked(true);
ui->thunderbird_button->setChecked(true);
ui->virtmanager_button->setChecked(true);
ui->krita_button->setChecked(true);
ui->element_button->setEnabled(false);
ui->thunderbird_button->setEnabled(false);
ui->virtmanager_button->setEnabled(false);
ui->krita_button->setEnabled(false);
}
});
// Disable many bits of functionality if network is not enabled
Calamares::Network::Manager network;
if (!network.hasInternet()) {
ui->full_button->setVisible(false);
ui->full_text->setVisible(false);
ui->left_spacer->changeSize(20, 20, QSizePolicy::Fixed, QSizePolicy::Fixed);
ui->right_spacer->changeSize(0, 0, QSizePolicy::Fixed, QSizePolicy::Fixed);
ui->additional_label->setVisible(false);
ui->updates_button->setVisible(false);
ui->updates_text->setVisible(false);
ui->extraparty_scroll->setVisible(false);
ui->extraparty_text->setVisible(false);
ui->mandatory_warning_label->setVisible(false);
ui->element_button->setChecked(false);
ui->thunderbird_button->setChecked(false);
ui->virtmanager_button->setChecked(false);
ui->krita_button->setChecked(false);
ui->element_button->setEnabled(false);
ui->thunderbird_button->setEnabled(false);
ui->virtmanager_button->setEnabled(false);
ui->krita_button->setEnabled(false);
}
// Thunderbird exists on Kubuntu already
if (Calamares::Branding::instance()->componentName() == "kubuntu") {
ui->thunderbird_button->setChecked(false);
ui->thunderbird_button->setEnabled(false);
ui->thunderbird_button->setVisible(false);
ui->thunderbird_text->setVisible(false);
ui->thunderbird_spacer->changeSize(0, 0, QSizePolicy::Fixed, QSizePolicy::Fixed);
ui->thunderbird_spacer->invalidate();
}
// Connect the storage items
/// Full/Normal/Minimal
connect(ui->minimal_button, &QRadioButton::toggled, this, &PackageSelectViewStep::updatePackageSelections);
connect(ui->normal_button, &QRadioButton::toggled, this, &PackageSelectViewStep::updatePackageSelections);
connect(ui->full_button, &QRadioButton::toggled, this, &PackageSelectViewStep::updatePackageSelections);
/// Additional Options
connect(ui->updates_button, &QRadioButton::toggled, this, &PackageSelectViewStep::updatePackageSelections);
/// Third-Party Apps
connect(ui->element_button, &QCheckBox::toggled, this, &PackageSelectViewStep::updatePackageSelections);
connect(ui->thunderbird_button, &QCheckBox::toggled, this, &PackageSelectViewStep::updatePackageSelections);
connect(ui->virtmanager_button, &QCheckBox::toggled, this, &PackageSelectViewStep::updatePackageSelections);
connect(ui->krita_button, &QCheckBox::toggled, this, &PackageSelectViewStep::updatePackageSelections);
}
void
PackageSelectViewStep::onLeave()
{
Calamares::GlobalStorage* gs = Calamares::JobQueue::instance()->globalStorage();
QVariantMap config;
for (auto i = m_packageSelections.begin(); i != m_packageSelections.end(); ++i) {
if (exists_and_true(i.key())) {
config.insert(i.key(), i.value());
}
}
gs->insert("packages", config);
}
void PackageSelectViewStep::updatePackageSelections(bool checked) {
QObject* sender_obj = sender();
if (!sender_obj) return;
QString key = sender_obj->objectName();
// snake_case -> camelCase
QStringList parts = key.split("_", Qt::SkipEmptyParts);
for (int i = 1; i < parts.size(); ++i) {
parts[i][0] = parts[i][0].toUpper();
}
QString camelCaseKey = parts.join("");
m_packageSelections[camelCaseKey] = checked;
}
CALAMARES_PLUGIN_FACTORY_DEFINITION( PackageSelectViewStepFactory, registerPlugin< PackageSelectViewStep >(); )

@ -0,0 +1,52 @@
#ifndef PACKAGESELECTVIEWSTEP_H
#define PACKAGESELECTVIEWSTEP_H
#include <QFile>
#include <QTextStream>
#include "DllMacro.h"
#include "utils/PluginFactory.h"
#include "viewpages/ViewStep.h"
#include "ui_pkgselect.h"
namespace Ui {
class pkgselect;
}
class PLUGINDLLEXPORT PackageSelectViewStep : public Calamares::ViewStep
{
Q_OBJECT
public:
explicit PackageSelectViewStep( QObject* parent = nullptr );
~PackageSelectViewStep() override;
QString prettyName() const override;
QWidget* widget() override;
Calamares::JobList jobs() const override;
bool isNextEnabled() const override;
bool isBackEnabled() const override;
bool isAtBeginning() const override;
bool isAtEnd() const override;
void onActivate() override;
void onLeave() override;
QVariantMap packageSelections() const { return m_packageSelections; }
void updatePackageSelections(bool checked);
signals:
void packageSelectionsChanged();
private:
QVariantMap m_packageSelections;
Ui::pkgselect *ui;
QWidget* m_widget;
bool exists_and_true(const QString& key) const;
};
CALAMARES_PLUGIN_FACTORY_DECLARATION( PackageSelectViewStepFactory )
#endif

@ -0,0 +1,607 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>pkgselect</class>
<widget class="QWidget" name="pkgselect">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>830</width>
<height>943</height>
</rect>
</property>
<property name="windowTitle">
<string>Form</string>
</property>
<property name="styleSheet">
<string notr="true">QRadioButton {
spacing: 13px;
}
QCheckBox {
spacing: 13px;
}
QLabel {
padding-left: 33px;
padding-right: 33px;
}</string>
</property>
<layout class="QGridLayout" name="gridLayout">
<item row="9" column="1">
<widget class="QRadioButton" name="minimal_button">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>21</height>
</size>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>Minimal Installation</string>
</property>
</widget>
</item>
<item row="0" column="2">
<spacer name="right_spacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Minimum</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="21" column="1">
<spacer name="pushup">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>40</height>
</size>
</property>
</spacer>
</item>
<item row="20" column="0" colspan="3">
<widget class="QLabel" name="mandatory_warning_label">
<property name="font">
<font>
<pointsize>11</pointsize>
<weight>75</weight>
<italic>false</italic>
<bold>true</bold>
</font>
</property>
<property name="text">
<string>Note: Ubuntu and flavors are NOT responsible for third-party software installed from this list.</string>
</property>
<property name="wordWrap">
<bool>true</bool>
</property>
</widget>
</item>
<item row="14" column="1">
<widget class="QLabel" name="updates_text">
<property name="font">
<font>
<pointsize>10</pointsize>
<italic>true</italic>
</font>
</property>
<property name="text">
<string>This saves time after installation, and keeps your system secure</string>
</property>
</widget>
</item>
<item row="0" column="1">
<spacer name="verticalSpacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="1">
<widget class="QRadioButton" name="full_button">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>21</height>
</size>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>Full Installation</string>
</property>
</widget>
</item>
<item row="0" column="0">
<spacer name="left_spacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Minimum</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="3" column="1">
<widget class="QLabel" name="full_text">
<property name="font">
<font>
<pointsize>10</pointsize>
<italic>true</italic>
</font>
</property>
<property name="text">
<string>All applications in the Normal Installation, and all extra third-party packages listed below</string>
</property>
<property name="alignment">
<set>Qt::AlignLeading|Qt::AlignLeft|Qt::AlignTop</set>
</property>
</widget>
</item>
<item row="8" column="1">
<spacer name="verticalSpacer_6">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>10</height>
</size>
</property>
</spacer>
</item>
<item row="13" column="1">
<widget class="QCheckBox" name="updates_button">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>21</height>
</size>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>Download and install updates following installation</string>
</property>
</widget>
</item>
<item row="18" column="1">
<spacer name="verticalSpacer_11">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>3</height>
</size>
</property>
</spacer>
</item>
<item row="19" column="1">
<widget class="QScrollArea" name="extraparty_scroll">
<property name="widgetResizable">
<bool>true</bool>
</property>
<widget class="QWidget" name="extraparty_scrollhouse">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>762</width>
<height>281</height>
</rect>
</property>
<layout class="QGridLayout" name="gridLayout_2">
<item row="8" column="1">
<widget class="QCheckBox" name="virtmanager_button">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>21</height>
</size>
</property>
<property name="text">
<string>Virtual Machine Manager</string>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QCheckBox" name="element_button">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>21</height>
</size>
</property>
<property name="text">
<string>Element</string>
</property>
</widget>
</item>
<item row="11" column="1">
<widget class="QCheckBox" name="krita_button">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>21</height>
</size>
</property>
<property name="text">
<string>Krita</string>
</property>
</widget>
</item>
<item row="6" column="1">
<spacer name="thunderbird_spacer">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>10</height>
</size>
</property>
</spacer>
</item>
<item row="2" column="1">
<widget class="QLabel" name="element_text">
<property name="font">
<font>
<pointsize>10</pointsize>
<italic>true</italic>
</font>
</property>
<property name="text">
<string>Matrix-based end-to-end encrypted messenger and secure collaboration app</string>
</property>
</widget>
</item>
<item row="10" column="1">
<spacer name="verticalSpacer_10">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>10</height>
</size>
</property>
</spacer>
</item>
<item row="9" column="1">
<widget class="QLabel" name="virtmanager_text">
<property name="font">
<font>
<pointsize>10</pointsize>
<italic>true</italic>
</font>
</property>
<property name="text">
<string>Desktop user interface for managing virtual machines through libvirt</string>
</property>
</widget>
</item>
<item row="0" column="1">
<spacer name="verticalSpacer_4">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>1</width>
<height>5</height>
</size>
</property>
</spacer>
</item>
<item row="5" column="1">
<widget class="QLabel" name="thunderbird_text">
<property name="font">
<font>
<pointsize>10</pointsize>
<italic>true</italic>
</font>
</property>
<property name="text">
<string>Email, newsfeed, chat, and calendaring client</string>
</property>
</widget>
</item>
<item row="4" column="1">
<widget class="QCheckBox" name="thunderbird_button">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>21</height>
</size>
</property>
<property name="text">
<string>Thunderbird</string>
</property>
</widget>
</item>
<item row="3" column="1">
<spacer name="verticalSpacer_8">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>10</height>
</size>
</property>
</spacer>
</item>
<item row="13" column="1">
<spacer name="pushup_tiny">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>6</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="0">
<spacer name="horizontalSpacer_12">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>5</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="12" column="1">
<widget class="QLabel" name="krita_text">
<property name="font">
<font>
<pointsize>10</pointsize>
<italic>true</italic>
</font>
</property>
<property name="text">
<string>Graphics editor designed primarily for digital art and 2D animation</string>
</property>
</widget>
</item>
</layout>
</widget>
</widget>
</item>
<item row="10" column="1">
<widget class="QLabel" name="minimal_text">
<property name="font">
<font>
<pointsize>10</pointsize>
<italic>true</italic>
</font>
</property>
<property name="text">
<string>Only the desktop environment</string>
</property>
</widget>
</item>
<item row="15" column="1">
<spacer name="verticalSpacer_3">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="1" column="1">
<widget class="QLabel" name="apps_label">
<property name="font">
<font>
<pointsize>18</pointsize>
<weight>50</weight>
<bold>false</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true">padding-left: 0px; padding-right: 0px;</string>
</property>
<property name="text">
<string>Installation Mode</string>
</property>
</widget>
</item>
<item row="12" column="1">
<widget class="QLabel" name="additional_label">
<property name="font">
<font>
<pointsize>18</pointsize>
<weight>50</weight>
<bold>false</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true">padding-left: 0px; padding-right: 0px;</string>
</property>
<property name="text">
<string>Additional Options</string>
</property>
</widget>
</item>
<item row="7" column="1">
<widget class="QLabel" name="normal_text">
<property name="font">
<font>
<pointsize>10</pointsize>
<italic>true</italic>
</font>
</property>
<property name="text">
<string>Web browser, utilities, office software, games, and media players</string>
</property>
</widget>
</item>
<item row="6" column="1">
<widget class="QRadioButton" name="normal_button">
<property name="maximumSize">
<size>
<width>16777215</width>
<height>21</height>
</size>
</property>
<property name="font">
<font>
<pointsize>12</pointsize>
</font>
</property>
<property name="text">
<string>Normal Installation</string>
</property>
<property name="checked">
<bool>true</bool>
</property>
</widget>
</item>
<item row="16" column="1">
<widget class="QLabel" name="extraparty_text">
<property name="font">
<font>
<pointsize>18</pointsize>
<weight>50</weight>
<bold>false</bold>
</font>
</property>
<property name="styleSheet">
<string notr="true">padding-left: 0px; padding-right: 0px;</string>
</property>
<property name="text">
<string>Install additional third-party packages</string>
</property>
</widget>
</item>
<item row="11" column="1">
<spacer name="verticalSpacer_2">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>20</height>
</size>
</property>
</spacer>
</item>
<item row="4" column="1">
<spacer name="verticalSpacer_5">
<property name="orientation">
<enum>Qt::Vertical</enum>
</property>
<property name="sizeType">
<enum>QSizePolicy::Fixed</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>20</width>
<height>10</height>
</size>
</property>
</spacer>
</item>
<item row="17" column="1">
<spacer name="horizontalSpacer">
<property name="orientation">
<enum>Qt::Horizontal</enum>
</property>
<property name="sizeHint" stdset="0">
<size>
<width>40</width>
<height>0</height>
</size>
</property>
</spacer>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>

@ -0,0 +1,5 @@
---
dontChroot: false
timeout: 30
script:
- "touch ${ROOT}/boot/initrd.img-$(uname -r)"

@ -0,0 +1,7 @@
---
dontChroot: false
timeout: 120
script:
- "sed -i 's/oem:x:1000:1000/oem:x:60999:60999/' /etc/passwd"
- "sed -i 's/oem:x:1000/oem:x:60999/' /etc/group"
- "chown -R 60999:60999 /home/oem"

@ -0,0 +1,5 @@
---
dontChroot: true
timeout: 30
script:
- /usr/libexec/fixconkeys-part1 ${ROOT}

@ -0,0 +1,5 @@
---
dontChroot: false
timeout: 10800
script:
- /usr/libexec/fixconkeys-part2

@ -2,4 +2,4 @@
dontChroot: true dontChroot: true
timeout: 30 timeout: 30
script: script:
- calamares-logs-helper @@ROOT@@ - calamares-logs-helper ${ROOT}

@ -0,0 +1,4 @@
---
# Setting emergency to true will make it so this module is still run
# when a prior module fails
emergency: true

@ -0,0 +1,5 @@
module snap-seed-glue
go 1.22.1
require github.com/snapcore/snapd v0.0.0-20240328101726-fdc222fc37a0

@ -0,0 +1,289 @@
package main
// Copyright (C) 2024 Simon Quigley <tsimonq2@ubuntu.com>
//
// This program is free software; you can redistribute it and/or
// modify it under the terms of the GNU General Public License
// as published by the Free Software Foundation; either version 3
// of the License, or (at your option) any later version.
//
// This program is distributed in the hope that it will be useful,
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
// GNU General Public License for more details.
import (
"flag"
"fmt"
"io/ioutil"
"log"
"os"
"os/exec"
"path/filepath"
"strings"
"github.com/snapcore/snapd/snap"
"github.com/snapcore/snapd/interfaces/builtin"
"gopkg.in/yaml.v2"
)
type seed struct {
Snaps []struct {
Name string `yaml:"name"`
Channel string `yaml:"channel"`
File string `yaml:"file"`
} `yaml:"snaps"`
}
func main() {
snap.SanitizePlugsSlots = builtin.SanitizePlugsSlots
var seed_directory string
flag.StringVar(&seed_directory, "seed", "/var/lib/snapd/seed", "Specify the seed directory")
flag.Parse()
snap_set := make(map[string]bool)
snaps_dir := filepath.Join(seed_directory, "snaps")
assertions_dir := filepath.Join(seed_directory, "assertions")
seed_yaml := filepath.Join(seed_directory, "seed.yaml")
ensure_seed_yaml(seed_yaml)
existing_snaps_in_yaml := load_existing_snaps(seed_yaml)
for _, snap_info := range flag.Args() {
parts := strings.SplitN(snap_info, "=", 2)
snap_name := parts[0]
channel := "stable" // Default to stable if no channel is specified
if len(parts) == 2 {
channel = parts[1]
}
process_snap_with_prereqs(snap_name, channel, &snap_set, snaps_dir, assertions_dir, seed_yaml, existing_snaps_in_yaml)
}
essentialSnaps := []string{"snapd", "bare"}
for _, snapName := range essentialSnaps {
if !existing_snaps_in_yaml[snapName] {
process_snap_with_prereqs(snapName, "stable", &snap_set, snaps_dir, assertions_dir, seed_yaml, existing_snaps_in_yaml)
}
}
update_seed_yaml(snaps_dir, seed_yaml, snap_set, existing_snaps_in_yaml)
remove_state_json(filepath.Join(seed_directory, "..", "state.json"))
ensure_assertions(assertions_dir)
validate_seed(seed_yaml)
}
func ensure_seed_yaml(seed_yaml string) {
if _, err := os.Stat(seed_yaml); os.IsNotExist(err) {
file, err := os.Create(seed_yaml)
if err != nil {
log.Fatalf("Failed to create seed.yaml: %v", err)
}
defer file.Close()
file.WriteString("snaps:\n")
}
}
func load_existing_snaps(seed_yaml string) map[string]bool {
file, err := ioutil.ReadFile(seed_yaml)
if err != nil {
log.Fatalf("Failed to read seed.yaml: %v", err)
}
var seed_data seed
if err := yaml.Unmarshal(file, &seed_data); err != nil {
log.Fatalf("Failed to parse seed.yaml: %v", err)
}
existing := make(map[string]bool)
for _, snap := range seed_data.Snaps {
existing[snap.Name] = true
}
return existing
}
func update_seed_yaml(snaps_dir, seed_yaml string, snap_set map[string]bool, existing_snaps map[string]bool) {
seed_data := load_seed_data(seed_yaml)
for snap_name := range snap_set {
if !existing_snaps[snap_name] {
snap_files, err := filepath.Glob(filepath.Join(snaps_dir, fmt.Sprintf("%s_*.snap", snap_name)))
if err != nil || len(snap_files) == 0 {
log.Printf("No snap file found for %s", snap_name)
return
}
snap_file := filepath.Base(snap_files[0])
log.Printf(snap_file)
// FIXME: should put the real name of the channel in here
seed_data.Snaps = append(seed_data.Snaps, struct {
Name string `yaml:"name"`
Channel string `yaml:"channel"`
File string `yaml:"file"`
}{snap_name, "latest/stable", snap_file})
}
}
// Marshal to YAML and write back to file
data, err := yaml.Marshal(&seed_data)
if err != nil {
log.Fatalf("Failed to marshal seed data to YAML: %v", err)
}
if err := ioutil.WriteFile(seed_yaml, data, 0644); err != nil {
log.Fatalf("Failed to write updated seed.yaml: %v", err)
}
}
func load_seed_data(seed_yaml string) seed {
file, err := ioutil.ReadFile(seed_yaml)
if err != nil {
log.Fatalf("Failed to read seed.yaml: %v", err)
}
var seed_data seed
if err := yaml.Unmarshal(file, &seed_data); err != nil {
log.Fatalf("Failed to parse seed.yaml: %v", err)
}
return seed_data
}
func remove_state_json(state_json_path string) {
if _, err := os.Stat(state_json_path); err == nil {
os.Remove(state_json_path)
}
}
func validate_seed(seed_yaml string) {
cmd := exec.Command("snap", "debug", "validate-seed", seed_yaml)
if err := cmd.Run(); err != nil {
log.Printf("Error validating seed: %v", err)
}
}
func process_snap_with_prereqs(snap_name, channel string, snap_set *map[string]bool, snaps_dir, assertions_dir, seed_yaml string, existing_snaps_in_yaml map[string]bool) {
if (*snap_set)[snap_name] {
return
}
// Download the snap if not already processed or listed in seed.yaml
if !existing_snaps_in_yaml[snap_name] {
cmd := exec.Command("snap", "download", snap_name, "--channel="+channel, "--target-directory="+snaps_dir)
if err := cmd.Run(); err != nil {
log.Printf("Error downloading snap %s from channel %s: %v", snap_name, channel, err)
return
}
}
snap_files, err := filepath.Glob(filepath.Join(snaps_dir, fmt.Sprintf("%s_*.snap", snap_name)))
if err != nil || len(snap_files) == 0 {
log.Printf("No snap file found for %s in channel %s", snap_name, channel)
return
}
snap_file := snap_files[0]
cmd := exec.Command("unsquashfs", "-n", "-d", filepath.Join(snaps_dir, fmt.Sprintf("%s_meta", snap_name)), snap_file, "meta/snap.yaml")
if err := cmd.Run(); err != nil {
log.Printf("Error extracting meta/snap.yaml from snap %s: %v", snap_name, err)
return
}
yaml_data, err := ioutil.ReadFile(filepath.Join(snaps_dir, fmt.Sprintf("%s_meta/meta/snap.yaml", snap_name)))
if err != nil {
log.Printf("Error reading snap.yaml file for %s: %v", snap_name, err)
return
}
info, err := snap.InfoFromSnapYaml(yaml_data)
if err != nil {
log.Printf("Error parsing snap.yaml data for %s: %v", snap_name, err)
return
}
(*snap_set)[snap_name] = true
tracker := snap.SimplePrereqTracker{}
missing_provider_content_tags := tracker.MissingProviderContentTags(info, nil)
for provider_snap := range missing_provider_content_tags {
if !(*snap_set)[provider_snap] {
process_snap_with_prereqs(provider_snap, "stable", snap_set, snaps_dir, assertions_dir, seed_yaml, existing_snaps_in_yaml)
}
}
if info.Base != "" && !(*snap_set)[info.Base] {
process_snap_with_prereqs(info.Base, "stable", snap_set, snaps_dir, assertions_dir, seed_yaml, existing_snaps_in_yaml)
}
assert_files, err := filepath.Glob(filepath.Join(snaps_dir, "*.assert"))
for _, file := range assert_files {
target_path := filepath.Join(assertions_dir, filepath.Base(file))
err := os.Rename(file, target_path)
if err != nil {
log.Printf("Failed to move %s to %s: %v", file, assertions_dir, err)
}
}
os.RemoveAll(filepath.Join(snaps_dir, fmt.Sprintf("%s_meta", snap_name)))
}
func ensure_assertions(assertions_dir string) {
model := "generic-classic"
brand := "generic"
series := "16"
model_assertion_path := filepath.Join(assertions_dir, "model")
account_key_assertion_path := filepath.Join(assertions_dir, "account-key")
account_assertion_path := filepath.Join(assertions_dir, "account")
// Check and generate model assertion
if _, err := os.Stat(model_assertion_path); os.IsNotExist(err) {
output, err := exec.Command("snap", "known", "--remote", "model", "series="+series, "model="+model, "brand-id="+brand).CombinedOutput()
if err != nil {
log.Fatalf("Failed to fetch model assertion: %v, Output: %s", err, string(output))
}
ioutil.WriteFile(model_assertion_path, output, 0644)
}
// Generate account-key assertion if not exists
if _, err := os.Stat(account_key_assertion_path); os.IsNotExist(err) {
signKeySha3 := grep_pattern(model_assertion_path, "sign-key-sha3-384: ")
output, err := exec.Command("snap", "known", "--remote", "account-key", "public-key-sha3-384="+signKeySha3).CombinedOutput()
if err != nil {
log.Fatalf("Failed to fetch account-key assertion: %v, Output: %s", err, string(output))
}
ioutil.WriteFile(account_key_assertion_path, output, 0644)
}
// Generate account assertion if not exists
if _, err := os.Stat(account_assertion_path); os.IsNotExist(err) {
accountId := grep_pattern(account_key_assertion_path, "account-id: ")
output, err := exec.Command("snap", "known", "--remote", "account", "account-id="+accountId).CombinedOutput()
if err != nil {
log.Fatalf("Failed to fetch account assertion: %v, Output: %s", err, string(output))
}
ioutil.WriteFile(account_assertion_path, output, 0644)
}
}
func grep_pattern(filePath, pattern string) string {
content, err := ioutil.ReadFile(filePath)
if err != nil {
log.Fatalf("Failed to read from file %s: %v", filePath, err)
}
lines := strings.Split(string(content), "\n")
for _, line := range lines {
if strings.Contains(line, pattern) {
parts := strings.SplitN(line, ":", 2)
if len(parts) == 2 {
return strings.TrimSpace(parts[1])
}
}
}
log.Fatalf("Pattern %s not found in file %s", pattern, filePath)
return ""
}

@ -0,0 +1,10 @@
kubuntu/branding/ etc/calamares/
kubuntu/calamares-launch-normal usr/bin/
kubuntu/calamares-logs-helper usr/bin/
kubuntu/kubuntu-calamares.desktop usr/share/applications/
kubuntu/modules/ etc/calamares/
kubuntu/oem/calamares-launch-oem usr/bin/
kubuntu/oem/calamares-launch-oem.desktop usr/share/applications/
kubuntu/oem/calamares-oemprep.sh usr/libexec/
kubuntu/oemconfig.tar.gz etc/calamares/
kubuntu/settings.conf etc/calamares/

@ -0,0 +1,7 @@
# sudo will always be present in the target system
calamares-settings-kubuntu: desktop-command-not-in-package sudo *
# there will be no manpage for any of this in the foreseeable future
calamares-settings-kubuntu: no-manual-page *
# We're just extracting a log file and preserving it for the user to look at
# after the installation, this is normal.
calamares-settings-kubuntu: uses-dpkg-database-directly [usr/bin/calamares-logs-helper]

@ -1,5 +1,11 @@
lubuntu/branding/ etc/calamares/ lubuntu/branding/ etc/calamares/
lubuntu/calamares-launch-normal usr/bin/
lubuntu/calamares-logs-helper usr/bin/ lubuntu/calamares-logs-helper usr/bin/
lubuntu/lubuntu-calamares.desktop usr/share/applications/ lubuntu/lubuntu-calamares.desktop usr/share/applications/
lubuntu/lubuntu-installer.svg usr/share/icons/hicolor/scalable/apps/
lubuntu/modules/ etc/calamares/ lubuntu/modules/ etc/calamares/
lubuntu/oem/calamares-launch-oem usr/bin/
lubuntu/oem/calamares-launch-oem.desktop usr/share/applications/
lubuntu/oem/calamares-oemprep.sh usr/libexec/
lubuntu/oemconfig.tar.gz etc/calamares/
lubuntu/settings.conf etc/calamares/ lubuntu/settings.conf etc/calamares/

@ -1,3 +1,7 @@
# The .desktop file uses bash to run firefox as the local # sudo will always exist in the target system
# user. bash is included in the system. calamares-settings-lubuntu: desktop-command-not-in-package sudo *
calamares-settings-lubuntu: desktop-command-not-in-package usr/share/applications/lubuntu-calamares.desktop bash # there will be no manpage for any of this in the foreseeable future
calamares-settings-lubuntu: no-manual-page *
# We're just extracting a log file and preserving it for the user to look at
# after the installation, this is normal.
calamares-settings-lubuntu: uses-dpkg-database-directly [usr/bin/calamares-logs-helper]

@ -0,0 +1,4 @@
# this is an internal implementation detail, no manpage needed
calamares-settings-ubuntu-common: no-manual-page [usr/bin/calamares_snap_install]
# this is normal and not a problem
calamares-settings-ubuntu-common: executable-in-usr-lib [usr/lib/x86_64-linux-gnu/calamares/modules/automirror/main.py]

@ -0,0 +1,12 @@
ubuntuunity/branding/ etc/calamares/
ubuntuunity/calamares-launch-normal usr/bin/
ubuntuunity/calamares-logs-helper usr/bin/
ubuntuunity/kvantum.kvconfig etc/xdg/Kvantum/
ubuntuunity/modules/ etc/calamares/
ubuntuunity/oem/calamares-launch-oem usr/bin/
ubuntuunity/oem/calamares-launch-oem.desktop usr/share/applications/
ubuntuunity/oem/calamares-oemprep.sh usr/libexec/
ubuntuunity/oemconfig.tar.gz etc/calamares/
ubuntuunity/settings.conf etc/calamares/
ubuntuunity/ubuntu-unity-calamares.desktop usr/share/applications/
ubuntuunity/ubuntu-unity-installer.svg usr/share/icons/hicolor/scalable/apps/

@ -0,0 +1,7 @@
# sudo will always be present in the target system
calamares-settings-ubuntu-unity: desktop-command-not-in-package sudo *
# there will be no manpage for any of this in the foreseeable future
calamares-settings-ubuntu-unity: no-manual-page *
# We're just extracting a log file and preserving it for the user to look at
# after the installation, this is normal.
calamares-settings-ubuntu-unity: uses-dpkg-database-directly [usr/bin/calamares-logs-helper]

735
debian/changelog vendored

@ -1,8 +1,737 @@
calamares-settings-ubuntu (1:20.04.2.1) focal; urgency=medium calamares-settings-ubuntu (1:24.10.5) oracular; urgency=medium
* Switch to Canonical's GeoIP service (LP: #1899854). * Update Kubuntu slideshow for 24.10 (LP: #2080925)
-- Simon Quigley <tsimonq2@ubuntu.com> Wed, 14 Oct 2020 18:37:09 -0500 -- Rik Mills <rikmills@kde.org> Sat, 28 Sep 2024 21:46:11 +0100
calamares-settings-ubuntu (1:24.10.4) oracular; urgency=medium
* Fix welcome image for Kubuntu, Lubuntu, and Ubuntu Unity. (LP: #2080925)
* Set root partition name properly for Kubuntu, Lubuntu, and Ubuntu Unity.
(LP: #2065602)
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Tue, 24 Sep 2024 22:23:11 -0500
calamares-settings-ubuntu (1:24.10.3) oracular; urgency=medium
* Fix pkgselect UI becoming centered when minimal install mode is selected.
(LP: #2076303)
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Thu, 08 Aug 2024 14:25:24 -0500
calamares-settings-ubuntu (1:24.10.2) oracular; urgency=medium
* kubuntu: Change donate URL to point to Kubuntu's donation page
* kubuntu: Use networkcheck.kde.org for checking for an Internet connection
* kubuntu: Do not recommend that the user have an Internet connection during
first-time user setup after an OEM installation
* ubuntuunity: Do not recommend that the user have an Internet connection
during first-time user setup after an OEM installation
* all: Change the UID of the OEM configuration user to 60999.
- This is done because otherwise the OEM configuration user is given UID
1000. This results in the first real user on the machine having UID
1001, which could cause issues in a single-user deployment where the
user must have or is assumed to have UID 1000. Setting the OEM
configuration user's UID to 60999 results in the first real user having
UID 1000. This is similar (though not identical) to Ubiquity's behavior
with the OEM configuration user.
* kubuntu: Use QT_QPA_PLATFORMTHEME="kde" rather than
QT_STYLE_OVERRIDE="Breeze" for the OEM first-time setup session.
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Wed, 12 Jun 2024 23:26:13 -0500
calamares-settings-ubuntu (1:24.10.1) oracular; urgency=medium
* Welcome to Oracular Oriole!
-- Simon Quigley <tsimonq2@ubuntu.com> Tue, 30 Apr 2024 15:24:38 -0500
calamares-settings-ubuntu (1:24.04.39) noble; urgency=medium
* Fix permissions on /home/oem when doing OEM installations. (LP: #2063403)
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Thu, 25 Apr 2024 00:01:37 -0500
calamares-settings-ubuntu (1:24.04.38) noble; urgency=high
* Do not remove zram-config on Ubuntu Unity, it does not exist in the first
place (LP: #2063108).
-- Simon Quigley <tsimonq2@ubuntu.com> Mon, 22 Apr 2024 07:10:28 -0500
calamares-settings-ubuntu (1:24.04.37) noble; urgency=medium
* Correctly lengthen timeouts for network and initramfs package commands.
(LP: #2060429)
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Fri, 19 Apr 2024 18:52:09 -0500
calamares-settings-ubuntu (1:24.04.36) noble; urgency=medium
* Don't show Thunderbird as an installable third-party app on Kubuntu.
(LP: #2062438)
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Fri, 19 Apr 2024 17:38:06 -0500
calamares-settings-ubuntu (1:24.04.35) noble; urgency=medium
* Remove timeouts for network-related package commands. (LP: #2062106)
* Remove timeouts for update-initramfs. (LP: #2060429)
-- Walter Lapchynski <wxl@ubuntu.com> Fri, 19 Apr 2024 21:23:54 +0000
calamares-settings-ubuntu (1:24.04.34) noble; urgency=medium
* Add icon on Desktop to finish OEM install. (LP: #2060928)
-- Walter Lapchynski <wxl@ubuntu.com> Fri, 19 Apr 2024 19:18:59 +0000
calamares-settings-ubuntu (1:24.04.33) noble; urgency=medium
* Fix slideshow image sizes for Kubuntu.
* Fix the size of the logo in the upper-left corner for Kubuntu.
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Thu, 18 Apr 2024 19:28:02 -0500
calamares-settings-ubuntu (1:24.04.32) noble; urgency=medium
* Remove the third-party driver installation checkbox from pkgselect, its
functionality was not implemented.
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Wed, 17 Apr 2024 23:18:12 -0500
calamares-settings-ubuntu (1:24.04.31) noble; urgency=medium
* Add Kubuntu branding. (LP: #2060845)
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Tue, 16 Apr 2024 12:57:56 -0500
calamares-settings-ubuntu (1:24.04.30) noble; urgency=medium
* Don't keep lubuntu-snap-installation-monitor installed on the minimal
option (LP: #2061318).
-- Simon Quigley <tsimonq2@ubuntu.com> Tue, 16 Apr 2024 10:24:00 -0500
calamares-settings-ubuntu (1:24.04.29) noble; urgency=medium
[ Aaron Rainbolt ]
* Change Kubuntu's Calamares sidebar color.
[ Walter Lapchynski ]
* Remove after_bootloader contextual process. (LP: #2061681)
-- Walter Lapchynski <wxl@ubuntu.com> Tue, 16 Apr 2024 01:10:47 +0000
calamares-settings-ubuntu (1:24.04.28) noble; urgency=medium
* Run apt updates before installing packages. (LP: #2061150)
-- Walter Lapchynski <wxl@ubuntu.com> Sat, 13 Apr 2024 00:44:32 +0000
calamares-settings-ubuntu (1:24.04.27) noble; urgency=medium
* Run the pkgselect contextualprocesses after packages in Kubuntu and Ubuntu
Unity (LP: #2060879)
-- Simon Quigley <tsimonq2@ubuntu.com> Thu, 11 Apr 2024 02:49:44 -0500
calamares-settings-ubuntu (1:24.04.26) noble; urgency=medium
* Make the pkgselect module actually work on Kubuntu and Ubuntu Unity.
(LP: #2060879)
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Wed, 10 Apr 2024 16:16:21 -0500
calamares-settings-ubuntu (1:24.04.25) noble; urgency=medium
* Be completely sure apt will not try to prompt the user.
* Bump the timeout limits to 15 minutes for both pkgselect
contextualprocess modules.
* Allow fixconkeys-part2 a 5 minute window to run, which should be
enough to run update-initramfs (LP: #2060429).
* Adjust spacers accordingly on no network.
-- Simon Quigley <tsimonq2@ubuntu.com> Tue, 09 Apr 2024 03:15:53 -0500
calamares-settings-ubuntu (1:24.04.24) noble; urgency=medium
* Don't try to remove the nonexistant zram-config package from a Kubuntu
installation.
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Mon, 08 Apr 2024 21:07:08 -0500
calamares-settings-ubuntu (1:24.04.23) noble; urgency=medium
* Set GOCACHE to stay within the build directory
-- Simon Chopin <schopin@ubuntu.com> Wed, 03 Apr 2024 19:40:50 +0200
calamares-settings-ubuntu (1:24.04.22) noble; urgency=medium
* Add missing build dependency on golang-go.
-- Simon Quigley <tsimonq2@ubuntu.com> Mon, 01 Apr 2024 15:28:24 -0500
calamares-settings-ubuntu (1:24.04.21) noble; urgency=medium
[ Simon Quigley ]
* Revamp pkgselect and enable it for everyone (LP: #2056061).
* Wraaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaap.
* No-network UX improvements for pkgselect (LP: #2048727).
[ Aaron Rainbolt ]
* Don't try to start Unity after the OEM environment exits on Ubuntu Unity,
this has to be done by logging in via LightDM.
* Fix a couple of goofs with post-install package purging.
[ Walter Lapchynski ]
* Make links work. (LP: #1981473)
-- Simon Quigley <tsimonq2@ubuntu.com> Thu, 28 Mar 2024 23:30:34 -0500
calamares-settings-ubuntu (1:24.04.20) noble; urgency=medium
* Fix LUKS passphrase unlocker for non-US keyboard layouts.
* Disable pkgselect module on Kubuntu, it's not ready for use and wasn't
intentionally enabled.
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Thu, 21 Mar 2024 13:32:53 -0500
calamares-settings-ubuntu (1:24.04.19) noble; urgency=medium
* Add Ubuntu Unity configuration. (LP: #2055799)
* Disable GeoIP in a couple missed places.
* Don't tell the user that they've disabled OEM configuration mode when they
chose to not disable it.
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Sun, 17 Mar 2024 20:14:00 +0000
calamares-settings-ubuntu (1:24.04.18) noble; urgency=medium
* GeoIP in welcome module disabled.
-- Walter Lapchynski <wxl@ubuntu.com> Wed, 13 Mar 2024 18:16:06 +0000
calamares-settings-ubuntu (1:24.04.17) noble; urgency=medium
[ Neal Gompa ]
* debian/control: Define the flavor packages as swappable packages
[ Aaron Rainbolt ]
* Wipe Ubuntu Studio's configuration while preserving branding, Studio now
uses ubuntu-desktop-provision.
* Migrate from users.conf password setting "nonEmpty: true" to
"minLength: 1" to enforce non-empty passwords.
- This is not a new feature, we had non-empty passwords being enforced in
the past and didn't intentionally undo this, but Calamares dropped the
"nonEmpty: true" setting we were using.
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Sun, 10 Mar 2024 18:10:03 -0500
calamares-settings-ubuntu (1:24.04.16) noble; urgency=medium
* Actually fix the autologin bug.
* Don't kick the user out of first-run configuration mode if they don't
complete it the first time around.
* Fix a bug that caused the first-run setup wizard to not run even after
instructing it to.
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Thu, 15 Feb 2024 10:36:34 -0600
calamares-settings-ubuntu (1:24.04.15) noble; urgency=medium
* Add Lubuntu OEM config.
* Fix a bug that could interfere with autologin setup during first-run
configuration after an OEM install.
* Add a simple wallpaper display engine for the first-run configuration
wizard.
* Don't run kdialog as root.
* Make OEM file cleanup more thorough.
* Update copyright file.
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Wed, 14 Feb 2024 12:11:34 -0600
calamares-settings-ubuntu (1:24.04.14) noble; urgency=medium
* Add Kubuntu OEM config.
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Wed, 07 Feb 2024 17:02:27 -0600
calamares-settings-ubuntu (1:24.04.13) noble; urgency=medium
* Add Kubuntu config.
* Update Lubuntu config to create an unencrypted /boot partition when
encryption is enabled.
* Enforce the use of Calamares 3.3.1-0ubuntu3 or later to ensure that needed
encryption-related features are present.
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Fri, 02 Feb 2024 15:32:10 -0600
calamares-settings-ubuntu (1:24.04.12) noble; urgency=medium
* Be compliant with the current state of the deb822 Ubuntu implementation
specification.
-- Simon Quigley <tsimonq2@ubuntu.com> Thu, 18 Jan 2024 16:27:43 -0600
calamares-settings-ubuntu (1:24.04.11) noble; urgency=medium
* Update welcome slide for Noble.
-- Dan Simmons <kc2bez@lubuntu.me> Sat, 30 Dec 2023 16:26:04 -0500
calamares-settings-ubuntu (1:24.04.10) noble; urgency=medium
* Use new icon for Lubuntu's installer, and improve theming.
-- Simon Quigley <tsimonq2@ubuntu.com> Sat, 23 Dec 2023 18:20:50 -0600
calamares-settings-ubuntu (1:24.04.9) noble; urgency=medium
* Remove muon from the list of packages to purge when doing a minimal
installation, it no longer exists in Noble.
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Fri, 08 Dec 2023 01:16:24 +0000
calamares-settings-ubuntu (1:24.04.8) noble; urgency=medium
* Use lxqt-sudo instead of sudo, to pick up theming.
* Even if modules fail, try to perform the unmount.
* Explicitly depend on lubuntu-installer-prompt, which provides a default
workflow on the live system. Remove this package at the end of the install
as well.
* Go back to fullscreen.
* Add a full installation radio button, and disable the bottom checkboxes if
minimal install is selected.
* Update snaps used for Krita.
* Install the QML file to the proper directory.
* Add some testing code to the QML file to make it do what we'd like.
-- Simon Quigley <tsimonq2@ubuntu.com> Wed, 22 Nov 2023 18:30:39 -0600
calamares-settings-ubuntu (1:24.04.7) noble; urgency=medium
* Copy the Calamares installation log file from $HOME rather than /root.
(LP: #2044006)
* Update a Lintian override now that we're using sudo rather than pkexec to
launch Calamares in Lubuntu.
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Mon, 20 Nov 2023 12:21:41 -0600
calamares-settings-ubuntu (1:24.04.6) noble; urgency=medium
* Use sudo -E to launch Calamares so that Lubuntu theming is preserved.
-- Aaron Rainbolt <arraybolt3@gmail.com> Sun, 19 Nov 2023 16:26:18 -0600
calamares-settings-ubuntu (1:24.04.5) noble; urgency=medium
* Fixed an FTBFS on !(amd64).
-- Aaron Rainbolt <arraybolt3@gmail.com> Wed, 15 Nov 2023 21:12:05 -0600
calamares-settings-ubuntu (1:24.04.4) noble; urgency=medium
* Fixed the pkgselect module's CMakeLists.txt file.
* Removed some unnecessary path segments from debian/rules.
* Unset the executable bit on files that shouldn't be executable.
* Exported the LC_ALL=C.UTF-8 and DEB_BUILD_MAINT_OPTIONS = hardening =+all
environment variables in debian/rules since we're building a shared
library in here now.
* Removed trailing whitespace from changelog.
* Added some lintian-overrides for the lack of a manual page and an
executable Python script in /usr/lib
-- Aaron Rainbolt <arraybolt3@gmail.com> Wed, 15 Nov 2023 18:33:39 -0600
calamares-settings-ubuntu (1:24.04.3) noble; urgency=medium
* Revert a failed FTBFS fix.
-- Aaron Rainbolt <arraybolt3@gmail.com> Wed, 15 Nov 2023 17:01:22 -0600
calamares-settings-ubuntu (1:24.04.2) noble; urgency=medium
* Fix FTBFS on !(amd64).
-- Simon Quigley <tsimonq2@ubuntu.com> Tue, 14 Nov 2023 14:34:09 -0600
calamares-settings-ubuntu (1:24.04.1) noble; urgency=medium
* Fix Vcs-*.
* Add a Package Select module, allowing for fine-tuned customization of the
installed system.
* Migrate to deb822 sources, removing the sources.list file pre-populated by
livecd-rootfs. Main and Universe deb sources are enabled by default,
Restricted and Multiverse are opt-in via the installer checkbox.
* Welcome to Noble!
-- Simon Quigley <tsimonq2@ubuntu.com> Fri, 20 Oct 2023 13:39:32 -0500
calamares-settings-ubuntu (1:23.10.4) mantic; urgency=medium
* Remove the Partners repository as an option.
* Use geoip.ubuntu.com by default.
-- Simon Quigley <tsimonq2@ubuntu.com> Sun, 08 Oct 2023 11:53:28 -0500
calamares-settings-ubuntu (1:23.10.3) mantic; urgency=medium
* No-change rebuild.
-- Walter Lapchynski <wxl@ubuntu.com> Sun, 10 Sep 2023 10:05:21 -0700
calamares-settings-ubuntu (1:23.10.2) mantic; urgency=medium
* Update welcome image for Mantic in Lubuntu.
-- Walter Lapchynski <wxl@ubuntu.com> Sun, 10 Sep 2023 09:03:28 -0700
calamares-settings-ubuntu (1:23.10.1) mantic; urgency=medium
* Welcome to the Mantic Minotaur!
* Add ext4, btrfs, xfs file system options on erase disk for Lubuntu.
-- Dan Simmons <kc2bez@lubuntu.me> Mon, 14 Aug 2023 20:10:37 -0400
calamares-settings-ubuntu (1:23.04.12) lunar; urgency=medium
* Don't allow the first user to be created with a blank password in either
Lubuntu or Ubuntu Studio. (LP: #2016436)
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Sun, 16 Apr 2023 17:34:56 -0500
calamares-settings-ubuntu (1:23.04.11) lunar; urgency=medium
* Fixed an invalid "SidebarTextSelect" field in Lubuntu's branding.desc -
this is now called "SidebarTextCurrent".
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Mon, 20 Mar 2023 17:47:40 -0500
calamares-settings-ubuntu (1:23.04.10) lunar; urgency=medium
* Fix Ubuntu Studio sidebar colors
-- Erich Eickmeyer <eeickmeyer@ubuntu.com> Mon, 20 Mar 2023 11:49:08 -0700
calamares-settings-ubuntu (1:23.04.9) lunar; urgency=medium
* Update ubuntustudio slideshow
-- Erich Eickmeyer <eeickmeyer@ubuntu.com> Sat, 18 Mar 2023 08:46:57 -0700
calamares-settings-ubuntu (1:23.04.8) lunar; urgency=medium
* Made the slideshow loop again. (Slow systems were ending up on the "The
installation should finish soon" screen when the installation was only 8%
done, and then were staying on that screen.)
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Thu, 16 Mar 2023 22:31:01 -0500
calamares-settings-ubuntu (1:23.04.7) lunar; urgency=medium
* Updated copyright file.
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Wed, 15 Mar 2023 03:53:07 -0500
calamares-settings-ubuntu (1:23.04.6) lunar; urgency=medium
* Updated the lubuntu installer slideshow.
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Mon, 13 Mar 2023 19:40:55 -0500
calamares-settings-ubuntu (1:23.04.5) lunar; urgency=medium
* Ensure the langpacks for GNOME and KDE applications are installed too.
This increases the end user install by approximately 25 MB, and saves them
the trouble of having to hunt for it later.
-- Simon Quigley <tsimonq2@ubuntu.com> Tue, 07 Mar 2023 13:16:32 -0700
calamares-settings-ubuntu (1:23.04.4) lunar; urgency=medium
* Switch from using the lsb_release python module to the distro module, as
the python module for lsb_release no longer exists in Lunar.
(LP: #2008685)
* Bumped Standards-Version to 4.6.2, no changes necessary.
* Added an explicit Depends on python3-distro.
* Ran wrap-and-sort.
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Tue, 28 Feb 2023 19:27:13 -0600
calamares-settings-ubuntu (1:23.04.3) lunar; urgency=medium
* Fixed a syntax error that led to incorrect sidebar coloring (LP: #1991251).
* Set Calamares to launch in windowed mode, avoiding a welcome image scaling
issue.
* Updated Lintian overrides to work with Lintian again.
* Removed unnecessary Breaks lines from both calamares-settings-lubuntu and
calamares-settings-ubuntustudio. Conflicts is sufficient here.
* Fixed broken Lintian override in Lubuntu.
* Removed trailing whitespace from changelog.
* Bumped Standards-Version to 4.6.1, no changes necessary.
* Added 'Rules-Requires-Root: no'.
* Added Lintian overrides for missing manpages.
* Added Lintian overrides for direct usage of the dpkg database - this is
just log file extraction.
* Fixed changelog section for version 1:22.10.12.
-- Aaron Rainbolt <arraybolt3@ubuntu.com> Wed, 23 Nov 2022 16:08:10 -0600
calamares-settings-ubuntu (1:23.04.2) lunar; urgency=medium
* Allow swap for Ubuntu Studio (LP: #1996646)
-- Erich Eickmeyer <eeickmeyer@ubuntu.com> Tue, 15 Nov 2022 17:37:14 -0800
calamares-settings-ubuntu (1:23.04.1) lunar; urgency=medium
* Welcome to the Lunar Lobster!
-- Simon Quigley <tsimonq2@ubuntu.com> Fri, 28 Oct 2022 14:26:09 -0500
calamares-settings-ubuntu (1:22.10.12) kinetic; urgency=medium
[ Erich Eickmeyer ]
* Fix for black Ubuntu Studio sidebar (LP: #1991251)
[ Aaron Rainbolt ]
* Fixed a syntax error that led to incorrect sidebar coloring (LP: #1991251).
* Set Calamares to launch in windowed mode, avoiding a welcome image scaling
issue.
-- Aaron Rainbolt <arraybolt3@gmail.com> Tue, 04 Oct 2022 20:39:43 -0500
calamares-settings-ubuntu (1:22.10.11) kinetic; urgency=medium
* Tackled edge case for if libreoffice-help-$LOCALE doesn't exist but
libreoffice-l10n-$LOCALE does exist (required for LibreOffice
localization to work with languages like Icelandic)
-- Aaron Rainbolt <arraybolt3@gmail.com> Fri, 05 Aug 2022 13:19:50 -0500
calamares-settings-ubuntu (1:22.10.10) kinetic; urgency=medium
* Fixed LibreOffice localization bug (LP: #1970270).
-- Aaron Rainbolt <arraybolt3@gmail.com> Mon, 25 Jul 2022 23:47:11 -0500
calamares-settings-ubuntu (1:22.10.9) kinetic; urgency=medium
* Remove remaining conflicting ubuntustudio files existing in common
-- Erich Eickmeyer <eeickmeyer@ubuntu.com> Tue, 28 Jun 2022 11:48:34 -0700
calamares-settings-ubuntu (1:22.10.8) kinetic; urgency=medium
* Remove file in ubuntustudio settings duplicated in common
-- Erich Eickmeyer <eeickmeyer@ubuntu.com> Mon, 27 Jun 2022 17:15:06 -0700
calamares-settings-ubuntu (1:22.10.7) kinetic; urgency=medium
* Major oops in last changelog entry.
-- Simon Quigley <tsimonq2@ubuntu.com> Sun, 26 Jun 2022 22:17:37 -0500
calamares-settings-ubuntu (1:22.10.6) kinetic; urgency=medium
* Move much of the common modules to the common package.
-- Simon Quigley <tsimonq2@ubuntu.com> Sun, 26 Jun 2022 22:10:37 -0500
calamares-settings-ubuntu (1:22.10.5) kinetic; urgency=medium
* Fix desktop file typo in exec line.
-- Dan Simmons <kc2bez@lubuntu.me> Sun, 12 Jun 2022 14:45:37 -0400
calamares-settings-ubuntu (1:22.10.4) kinetic; urgency=medium
* Adjust desktop file to use pkexec so it starts.
* Point to the right log file now that we start as root.
-- Dan Simmons <kc2bez@lubuntu.me> Sat, 11 Jun 2022 16:06:53 -0400
calamares-settings-ubuntu (1:22.10.3) kinetic; urgency=medium
* Fixed contextual and shell processes for Lubuntu.
* Fixed contextual and shell processed for Ubuntu Studio.
* Updated Ubuntu Studio settings for Calamres 3.3.
-- Aaron Rainbolt <arraybolt3@gmail.com> Thu, 09 Jun 2022 19:27:24 -0500
calamares-settings-ubuntu (1:22.10.2) kinetic; urgency=medium
* Update settings for Calamares 3.3.
-- Aaron Rainbolt <arraybolt3@gmail.com> Wed, 08 Jun 2022 18:48:23 -0500
calamares-settings-ubuntu (1:22.10.1) kinetic; urgency=medium
* Welcome to the Kinetic Kudu!
* Fix manual btrfs notifications (LP: #1966774).
-- Simon Quigley <tsimonq2@ubuntu.com> Thu, 28 Apr 2022 10:12:01 -0500
calamares-settings-ubuntu (1:22.04.4) jammy; urgency=medium
* Change calamares to use Ubuntu Studio Light colors
-- Erich Eickmeyer <eeickmeyer@ubuntu.com> Thu, 24 Mar 2022 09:50:18 -0700
calamares-settings-ubuntu (1:22.04.3) jammy; urgency=medium
* Fix for kded automount issue (LP: #1965658)
-- Erich Eickmeyer <eeickmeyer@ubuntu.com> Tue, 22 Mar 2022 15:18:58 -0700
calamares-settings-ubuntu (1:22.04.2) jammy; urgency=medium
* Update Ubuntu Studio logo, slideshow (LP: #1965645)
-- Erich Eickmeyer <eeickmeyer@ubuntu.com> Mon, 21 Mar 2022 08:39:17 -0700
calamares-settings-ubuntu (1:22.04.1) jammy; urgency=medium
* Welcome to Jammy Jellyfish!
- Update Branding to 22.04.
- Update desktop file.
* Bump Standards-Version to 4.6.0, no changes needed.
-- Dan Simmons <kc2bez@lubuntu.me> Sun, 14 Nov 2021 11:24:15 -0500
calamares-settings-ubuntu (1:21.10.2) impish; urgency=medium
* Update desktop files for proper version. (LP: #1944778)
* Update branding for proper version.
-- Dan Simmons <kc2bez@lubuntu.me> Sat, 25 Sep 2021 07:47:25 -0400
calamares-settings-ubuntu (1:21.10.1) impish; urgency=medium
* ubuntustudio/modules/packages.conf
- Remove zram-config from packages to remove to prevent crash
-- Erich Eickmeyer <eeickmeyer@ubuntu.com> Tue, 14 Sep 2021 17:22:11 -0700
calamares-settings-ubuntu (1:21.04.2) hirsute; urgency=medium
* Append -D6 to desktop exec to bring log level to preferred level.
(LP: #1917360)
-- Dan Simmons <kc2bez@lubuntu.me> Mon, 01 Mar 2021 15:37:29 -0500
calamares-settings-ubuntu (1:21.04.1) hirsute; urgency=medium
[ apt-ghetto ]
* Fix GeoIP parsing for Lubuntu in welcome module.
* Use https for the GeoIP lookup
[ Dan Simmons ]
* Welcome to the Hirsute Hippo!
* Set sambashare user as a system user. (LP: #1857364)
* Add swapfile as an option and set it as the initial choice
(LP: 1881191)
* Update d/copyright.
-- Dan Simmons <kc2bez@lubuntu.me> Sun, 03 Jan 2021 12:38:33 -0500
calamares-settings-ubuntu (1:20.10.11) groovy; urgency=medium
* Switch to Canonical's GeoIP service.
-- Simon Quigley <tsimonq2@ubuntu.com> Wed, 14 Oct 2020 18:23:51 -0500
calamares-settings-ubuntu (1:20.10.10) groovy; urgency=medium
* Lowered Ubuntu Studio RAM requirements due to popular demand/confusion
-- Erich Eickmeyer <eeickmeyer@ubuntu.com> Sat, 26 Sep 2020 09:45:12 -0700
calamares-settings-ubuntu (1:20.10.9) groovy; urgency=medium
* Ubuntu Studio
- Update color for sidebar
- Update Video and Photography slides
-- Erich Eickmeyer <eeickmeyer@ubuntu.com> Sat, 19 Sep 2020 13:47:18 -0700
calamares-settings-ubuntu (1:20.10.8) groovy; urgency=medium
* Ubuntu Studio
- Check for /etc/apt/sources.list.d/dvd.list and remove if exists
-- Erich Eickmeyer <erich@ericheickmeyer.com> Thu, 04 Jun 2020 16:44:43 -0700
calamares-settings-ubuntu (1:20.10.7) groovy; urgency=medium
[ Erich Eickmeyer ]
* Ubuntu Studio
- Darken sidebar to match new version of materia theme
[ Dan Simmons ]
* Lubuntu
- Adjust Lubuntu desktop file for Groovy.
* Ubuntu Common
- Add dependencies for cryptsetup, keyutils, needed for LUKS
installation and qml-modules for slideshow.
-- Dan Simmons <kc2bez@lubuntu.me> Wed, 03 Jun 2020 18:47:13 -0400
calamares-settings-ubuntu (1:20.10.6) groovy; urgency=medium
* Ubuntu Studio - Actual Fixes for legacy BIOS installs
- Blacklist dvd.list from squashfs rsync
- Use new shellprocess script to do audio.conf.disabled rename
-- Erich Eickmeyer <erich@ericheickmeyer.com> Sat, 30 May 2020 22:35:45 -0700
calamares-settings-ubuntu (1:20.10.5) groovy; urgency=medium
* Ubuntu Studio
- Revert previous fix - caused regression
-- Erich Eickmeyer <erich@ericheickmeyer.com> Fri, 29 May 2020 08:34:15 -0700
calamares-settings-ubuntu (1:20.10.4) groovy; urgency=medium
* Ubuntu Studio
- Apply fixes in previous upload to legacy BIOS systems
-- Erich Eickmeyer <erich@ericheickmeyer.com> Thu, 28 May 2020 16:20:56 -0700
calamares-settings-ubuntu (1:20.10.3) groovy; urgency=medium
* Ubuntu Studio
- Fix for leftover dvd.list file in /etc/apt/sources.list.d
- Fix for disabled /etc/security/limits.d/audio.conf
- Replace two slideshow images
-- Erich Eickmeyer <erich@ericheickmeyer.com> Fri, 22 May 2020 13:12:21 -0700
calamares-settings-ubuntu (1:20.10.2) groovy; urgency=medium
* Fix for calamares-logs-helper looking in wrong home folder
-- Erich Eickmeyer <erich@ericheickmeyer.com> Thu, 21 May 2020 12:54:52 -0700
calamares-settings-ubuntu (1:20.10.1) groovy; urgency=medium
[ Erich Eickmeyer ]
* Added Ubuntu Studio
* Welcome to the Groovy Gorilla!
[ apt-ghetto ]
* Fix AttributeError in automirror module (LP: #1875476)
[ Dan Simmons ]
* Adjust Ubuntu Studio translations.
* Add groovy to Lubuntu branding.
* Drop debian/compat use debhelper-compat=13, no changes needed.
-- Dan Simmons <kc2bez@lubuntu.me> Wed, 20 May 2020 20:40:13 -0400
calamares-settings-ubuntu (1:20.04.2) focal; urgency=medium calamares-settings-ubuntu (1:20.04.2) focal; urgency=medium

1
debian/compat vendored

@ -1 +0,0 @@
12

64
debian/control vendored

@ -3,30 +3,80 @@ Section: devel
Priority: optional Priority: optional
Maintainer: Lubuntu Developers <lubuntu-devel@lists.ubuntu.com> Maintainer: Lubuntu Developers <lubuntu-devel@lists.ubuntu.com>
Uploaders: Simon Quigley <tsimonq2@ubuntu.com> Uploaders: Simon Quigley <tsimonq2@ubuntu.com>
Build-Depends: debhelper (>= 12), Build-Depends: calamares (>= 3.3.5),
cmake,
debhelper-compat (= 13),
extra-cmake-modules,
golang-github-snapcore-snapd-dev (>= 2.62),
golang-go,
golang-gopkg-yaml.v2-dev,
intltool, intltool,
libkf5coreaddons-dev,
libqt5svg5-dev,
libyaml-cpp-dev,
qtbase5-dev,
qtdeclarative5-dev,
qttools5-dev,
qttools5-dev-tools qttools5-dev-tools
Standards-Version: 4.5.0 Standards-Version: 4.6.2
Homepage: https://code.launchpad.net/ubuntu-calamares-settings Homepage: https://code.launchpad.net/~ubuntu-qt-code/+git/calamares-settings-ubuntu
Vcs-Git: https://git.launchpad.net/ubuntu-calamares-settings Vcs-Browser: https://git.lubuntu.me/Lubuntu/calamares-settings-ubuntu/
Vcs-Browser: https://git.launchpad.net/ubuntu-calamares-settings Vcs-Git: https://git.lubuntu.me/Lubuntu/calamares-settings-ubuntu.git
Rules-Requires-Root: no
Package: calamares-settings-kubuntu
Architecture: all
Depends: calamares-settings-ubuntu-common (>= ${binary:Version}),
${misc:Depends}
Conflicts: calamares-settings-ubuntu-flavor
Provides: calamares-settings-ubuntu-flavor
Description: Kubuntu Calamares Settings and Branding
This package contains the Calamares settings and branding for Kubuntu.
As part of the branding the installer slideshow is contained within.
The settings ensure a proper Kubuntu desktop is installed with the
KDE Plasma desktop environment.
Package: calamares-settings-lubuntu Package: calamares-settings-lubuntu
Architecture: all Architecture: all
Depends: calamares-settings-ubuntu-common (>= ${binary:Version}), Depends: calamares-settings-ubuntu-common (>= ${binary:Version}),
${misc:Depends} ${misc:Depends}
Recommends: lubuntu-installer-prompt
Conflicts: calamares-settings-ubuntu-flavor
Provides: calamares-settings-ubuntu-flavor
Description: Lubuntu Calamares Settings and Branding Description: Lubuntu Calamares Settings and Branding
This package contains the Calamares settings and branding for Lubuntu. This package contains the Calamares settings and branding for Lubuntu.
As part of the branding the installer slideshow is contained within. As part of the branding the installer slideshow is contained within.
The settings ensure a proper Lubuntu desktop is installed with the The settings ensure a proper Lubuntu desktop is installed with the
LXQt desktop environment. LXQt desktop environment.
Package: calamares-settings-ubuntu-unity
Architecture: all
Depends: calamares-settings-ubuntu-common (>= ${binary:Version}),
qt5-style-kvantum,
qt5-style-kvantum-themes,
${misc:Depends}
Conflicts: calamares-settings-ubuntu-flavor
Provides: calamares-settings-ubuntu-flavor
Description: Ubuntu Unity Calamares Settings and Branding
This package contains the Calamares settings and branding for Ubuntu Unity.
As part of the branding the installer slideshow is contained within.
The settings ensure a proper Ubuntu Unity desktop is installed with the
Unity desktop environment.
Package: calamares-settings-ubuntu-common Package: calamares-settings-ubuntu-common
Architecture: any Architecture: any
Depends: calamares (>= 3.2.14~), Depends: calamares (>= 3.2.14~),
squashfs-tools, cryptsetup,
kdialog,
keyutils,
python3, python3,
${misc:Depends} python3-distro,
qml-module-qtquick-window2,
qml-module-qtquick2,
squashfs-tools,
sudo,
${misc:Depends},
${shlibs:Depends}
Description: Common Calamares Settings Description: Common Calamares Settings
This package contains the common Calamares settings for all flavors. This package contains the common Calamares settings for all flavors.
There is also a automirror Python script to set sources based on There is also a automirror Python script to set sources based on

29
debian/copyright vendored

@ -2,7 +2,10 @@ Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Files: * Files: *
Copyright: 2014 Rohan Garg <shadeslayer@systems> Copyright: 2014 Rohan Garg <shadeslayer@systems>
2017-2018 Lubuntu Developers <lubuntu-devel@lists.ubuntu.com> 2020 Ubuntu Studio Developers <ubuntu-studio-devel@lists.ubuntu.com>
2024 Kubuntu Developers <kubuntu-devel@lists.ubuntu.com>
2024 Ubuntu Unity Developers
2017-2024 Lubuntu Developers <lubuntu-devel@lists.ubuntu.com>
License: GPL-3+ License: GPL-3+
This package is free software; you can redistribute it and/or modify This package is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by it under the terms of the GNU General Public License as published by
@ -19,3 +22,27 @@ License: GPL-3+
. .
On Debian systems, the complete text of the GNU General On Debian systems, the complete text of the GNU General
Public License version 3 can be found in "/usr/share/common-licenses/GPL-3". Public License version 3 can be found in "/usr/share/common-licenses/GPL-3".
Files: ubuntuunity/ubuntu-unity-installer.svg
Copyright: 2014 Uri Herrera <uri_herrera@nitrux.in> and others
2024 Ubuntu Unity Developers
License: LGPL-3+
This package is free software; you can redistribute it and/or modify
it under the terms of the GNU Lesser General Public License as published
by the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
.
This package is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
.
You should have received a copy of the GNU Lesser General Public License
along with this program. If not, see <http://www.gnu.org/licenses/>
.
On Debian systems, the complete text of the GNU Lesser General
Public License version 3 can be found in "/usr/share/common-licenses/LGPL-3".
Comment:
Adapted from the Breeze icon theme. See
https://develop.kde.org/frameworks/breeze-icons for more information about
Breeze icons.

40
debian/rules vendored

@ -1,14 +1,46 @@
#!/usr/bin/make -f #!/usr/bin/make -f
export LC_ALL=C.UTF-8
export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export GOPATH=/usr/share/gocode
export GO111MODULE=off
export GOCACHE=$(CURDIR)/.gocache
DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH)
PKGSELECT = "common/modules/pkgselect"
MODULES_DIR = "debian/calamares-settings-ubuntu-common/usr/lib/$(DEB_HOST_MULTIARCH)/calamares/modules"
%: %:
dh $@ dh $@
override_dh_auto_configure:
(cd $(PKGSELECT) && mkdir build && cd build && cmake ..)
override_dh_auto_build:
make;
(cd $(PKGSELECT)/build && $(MAKE))
(cd common/snap-seed-glue && go build -gcflags="all=-N -l" -ldflags="-compressdwarf=false" -o snap-seed-glue main.go)
override_dh_auto_clean:
dh_auto_clean
rm -rf $(GOCACHE)
override_dh_auto_install:
(cd $(PKGSELECT)/build && $(MAKE) DESTDIR=$(CURDIR)/debian/calamares-settings-ubuntu-common/ install)
override_dh_missing: override_dh_missing:
dh_missing dh_missing
mkdir -pv debian/calamares-settings-ubuntu-common/usr/lib/$(DEB_HOST_MULTIARCH)/calamares/modules mkdir -pv $(MODULES_DIR)
cp -vr common/modules/* debian/calamares-settings-ubuntu-common/usr/lib/$(DEB_HOST_MULTIARCH)/calamares/modules cp -vr common/modules/automirror $(MODULES_DIR)
mkdir -pv debian/calamares-settings-ubuntu-common/etc/calamares/modules
cp -vr common/modules/*.conf debian/calamares-settings-ubuntu-common/etc/calamares/modules
chmod -R 755 debian/calamares-settings-ubuntu-common/usr/lib/ chmod -R 755 debian/calamares-settings-ubuntu-common/usr/lib/
chmod 644 debian/calamares-settings-ubuntu-common/usr/lib/$(DEB_HOST_MULTIARCH)/calamares/modules/automirror/automirror.conf chmod 644 $(MODULES_DIR)/automirror/automirror.conf
chmod 644 debian/calamares-settings-ubuntu-common/usr/lib/$(DEB_HOST_MULTIARCH)/calamares/modules/automirror/module.desc chmod 644 $(MODULES_DIR)/automirror/module.desc
chmod 644 $(MODULES_DIR)/pkgselect/libcalamares_viewmodule_pkgselect.so
chmod 644 $(MODULES_DIR)/pkgselect/module.desc
mkdir -pv debian/calamares-settings-ubuntu-common/usr/bin/
cp -v common/snap-seed-glue/snap-seed-glue debian/calamares-settings-ubuntu-common/usr/bin/snap-seed-glue
mkdir -pv debian/calamares-settings-ubuntu-common/usr/libexec/
cp -v common/fixconkeys-part1 debian/calamares-settings-ubuntu-common/usr/libexec/fixconkeys-part1
cp -v common/fixconkeys-part2 debian/calamares-settings-ubuntu-common/usr/libexec/fixconkeys-part2

@ -0,0 +1,21 @@
# Kubuntu's Calamares Settings
This directory houses the Calamares settings for Kubuntu.
Unless otherwise stated, the contents of this directory are licensed as follows:
Copyright (C) 2018 Lubuntu Developers <lubuntu-devel@lists.ubuntu.com>
Copyright (C) 2024 Kubuntu Developers <kubuntu-devel@lists.ubuntu.com>
This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 3
of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU General Public License for more details.
You should have received a copy of the GNU General Public License
along with this software. If not, see <http://www.gnu.org/licenses/>.

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.4 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.2 MiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 MiB

@ -0,0 +1,29 @@
---
componentName: kubuntu
windowExpanding: fullscreen
strings:
productName: Kubuntu
shortProductName: Kubuntu
version: 24.10
shortVersion: oracular
versionedName: Kubuntu
shortVersionedName: Kubuntu 24.10
bootloaderEntryName: Kubuntu
productUrl: https://kubuntu.org/
supportUrl: https://kubuntu.org/contact/
images:
productLogo: "logo.png"
productIcon: "icon.png"
productWelcome: "welcome.png"
slideshow: "show.qml"
slideshowAPI: 1
style:
SidebarBackground: "#6C7B93"
SidebarText: "#FFFFFF"
SidebarTextCurrent: "#0068C8"

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

@ -0,0 +1,165 @@
import QtQuick 2.0;
import calamares.slideshow 1.0;
Presentation
{
id: presentation
Timer {
interval: 15000
running: true
repeat: true
onTriggered: presentation.goToNextSlide()
}
Slide {
Image {
id: image1
anchors.centerIn: parent
anchors.verticalCenterOffset: - parent.y / 3.6
height: parent.masterHeight * 0.95
width: parent.masterWidth * 0.95
fillMode: Image.PreserveAspectFit
smooth: true
source: "01_Easy_Install.png"
}
}
Slide {
Image {
id: image2
anchors.centerIn: parent
anchors.verticalCenterOffset: - parent.y / 3.6
height: parent.masterHeight * 0.95
width: parent.masterWidth * 0.95
fillMode: Image.PreserveAspectFit
smooth: true
source: "02_Customizable_Desktop.png"
}
}
Slide {
Image {
id: image3
anchors.centerIn: parent
anchors.verticalCenterOffset: - parent.y / 3.6
height: parent.masterHeight * 0.95
width: parent.masterWidth * 0.95
fillMode: Image.PreserveAspectFit
smooth: true
source: "03_Built-in_Applications.png"
}
}
Slide {
Image {
id: image4
anchors.centerIn: parent
anchors.verticalCenterOffset: - parent.y / 3.6
height: parent.masterHeight * 0.95
width: parent.masterWidth * 0.95
fillMode: Image.PreserveAspectFit
smooth: true
source: "04_Performant.png"
}
}
Slide {
Image {
id: image5
anchors.centerIn: parent
anchors.verticalCenterOffset: - parent.y / 3.6
height: parent.masterHeight * 0.95
width: parent.masterWidth * 0.95
fillMode: Image.PreserveAspectFit
smooth: true
source: "05_Secure_and_Private.png"
}
}
Slide {
Image {
id: image6
anchors.centerIn: parent
anchors.verticalCenterOffset: - parent.y / 3.6
height: parent.masterHeight * 0.95
width: parent.masterWidth * 0.95
fillMode: Image.PreserveAspectFit
smooth: true
source: "06_Community_Support.png"
}
}
Slide {
Image {
id: image7
anchors.centerIn: parent
anchors.verticalCenterOffset: - parent.y / 3.6
height: parent.masterHeight * 0.95
width: parent.masterWidth * 0.95
fillMode: Image.PreserveAspectFit
smooth: true
source: "07_Free_and_Open_Source.png"
}
}
Slide {
Image {
id: image8
anchors.centerIn: parent
anchors.verticalCenterOffset: - parent.y / 3.6
height: parent.masterHeight * 0.95
width: parent.masterWidth * 0.95
fillMode: Image.PreserveAspectFit
smooth: true
source: "08_Software_Compatibility.png"
}
}
Slide {
Image {
id: image9
anchors.centerIn: parent
anchors.verticalCenterOffset: - parent.y / 3.6
height: parent.masterHeight * 0.95
width: parent.masterWidth * 0.95
fillMode: Image.PreserveAspectFit
smooth: true
source: "09_Beautiful_Aesthetics.png"
}
}
Slide {
Image {
id: image10
anchors.centerIn: parent
anchors.verticalCenterOffset: - parent.y / 3.6
height: parent.masterHeight * 0.95
width: parent.masterWidth * 0.95
fillMode: Image.PreserveAspectFit
smooth: true
source: "10_Kubuntu_Focus.png"
}
}
Slide {
Image {
id: image11
anchors.centerIn: parent
anchors.verticalCenterOffset: - parent.y / 3.6
height: parent.masterHeight * 0.95
width: parent.masterWidth * 0.95
fillMode: Image.PreserveAspectFit
smooth: true
source: "11_Testimonials_of_Success.png"
}
}
Slide {
Image {
id: image12
anchors.centerIn: parent
anchors.verticalCenterOffset: - parent.y / 3.6
height: parent.masterHeight * 0.95
width: parent.masterWidth * 0.95
fillMode: Image.PreserveAspectFit
smooth: true
source: "12_Get_Involved.png"
}
}
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save