From cd7fa92d15410c58e80490028a508114d5ca9aec Mon Sep 17 00:00:00 2001 From: Dan Simmons Date: Tue, 20 Aug 2019 21:31:15 -0700 Subject: [PATCH] Clean up Calamares settings. Summary: This resolves T107 Refactor automirror Add donate button url and geoip to welcome Adjust locale.conf geoip format Set default filesystem type and no user swap choices Add defaults to settings to eliminate warnings Add efi mount options to fstab.conf Set restart mode in finished.conf to new style Set bootloader entry name to Ubuntu and slideshowAPI to 1 Test Plan: Test Calamares installation for proper location detection. Test Calamares installation for proper efi mount. Test Calamares installation for proper bootloader entry. Reviewers: tsimonq2, wxl, apt-ghetto Reviewed By: tsimonq2, wxl Subscribers: apt-ghetto Maniphest Tasks: T107 Differential Revision: https://phab.lubuntu.me/D33 --- Makefile | 1 - common/modules/automirror/automirror.conf | 4 +- common/modules/automirror/main.py | 38 +++++++++---------- ...lamares-settings-lubuntu.lintian-overrides | 3 ++ debian/changelog | 38 +++++++++++++++++++ debian/compat | 2 +- debian/control | 18 +++++++-- debian/rules | 4 +- lubuntu/branding/lubuntu/branding.desc | 4 +- lubuntu/lubuntu-calamares.desktop.in | 2 +- lubuntu/modules/automirror.conf | 4 +- lubuntu/modules/finished.conf | 3 +- lubuntu/modules/fstab.conf | 1 + lubuntu/modules/locale.conf | 7 ++-- lubuntu/modules/partition.conf | 3 +- lubuntu/modules/welcome.conf | 5 +++ lubuntu/settings.conf | 4 ++ 17 files changed, 105 insertions(+), 36 deletions(-) create mode 100644 debian/calamares-settings-lubuntu.lintian-overrides diff --git a/Makefile b/Makefile index b76c0ef..e1538a5 100755 --- a/Makefile +++ b/Makefile @@ -5,7 +5,6 @@ all: # Desktop file (cd lubuntu/po/ && make) - chmod +x lubuntu/*.desktop # Slideshow (cd lubuntu/branding/lubuntu/lang/ && make) # Get rid of the unnecessary files diff --git a/common/modules/automirror/automirror.conf b/common/modules/automirror/automirror.conf index 2d58f47..aa1c8ff 100644 --- a/common/modules/automirror/automirror.conf +++ b/common/modules/automirror/automirror.conf @@ -5,7 +5,9 @@ baseUrl: archive.ubuntu.com # URL used for IP address lookup -geoIpUrl: https://ipapi.co/json +geoip: + style: "json" + url: "https://ipapi.co/json" # Distribution that this is based off of. # This is so we can make safe assumptions for the contents of diff --git a/common/modules/automirror/main.py b/common/modules/automirror/main.py index d2f2a00..79d058c 100644 --- a/common/modules/automirror/main.py +++ b/common/modules/automirror/main.py @@ -106,13 +106,13 @@ def getcountrycode(): an empty string. """ if libcalamares.globalstorage.value("hasInternet"): - geoipurl = libcalamares.job.configuration["geoIpUrl"] + geoipurl = libcalamares.job.configuration["geoip"]["url"] try: with urllib.request.urlopen(geoipurl, timeout=75) as url: localedata = json.loads(url.read().decode()) except HTTPError as error: - logging.error("Data of %s not retrieved because %s - URL: %s", - name, error, url) + logging.error("Data not retrieved because %s - URL: %s", + error, url) except URLError as error: if isinstance(error.reason, socket.timeout): logging.error("Socket timed out - URL %s", url) @@ -137,22 +137,22 @@ def getcodename(): def changesources(subdomain): - distro = libcalamares.job.configuration["distribution"] - url = "http://{}{}".format(subdomain, - libcalamares.job.configuration["baseUrl"]) - - global sources - sources = sources.replace("DISTRIBUTION", distro) - sources = sources.replace("CODENAME", getcodename()) - sources = sources.replace("URL", url) - sources = sources.replace("DATE", strftime("%Y-%m-%d")) - - filepath = libcalamares.globalstorage.value("rootMountPoint") - filepath += "/etc/apt/sources.list" - with open(filepath, "r+") as sourcesfile: - sourcesfile.seek(0) - sourcesfile.write(sources) - sourcesfile.truncate() + distro = libcalamares.job.configuration["distribution"] + url = "http://{}{}".format(subdomain, + libcalamares.job.configuration["baseUrl"]) + + global sources + sources = sources.replace("DISTRIBUTION", distro) + sources = sources.replace("CODENAME", getcodename()) + sources = sources.replace("URL", url) + sources = sources.replace("DATE", strftime("%Y-%m-%d")) + + filepath = libcalamares.globalstorage.value("rootMountPoint") + filepath += "/etc/apt/sources.list" + with open(filepath, "r+") as sourcesfile: + sourcesfile.seek(0) + sourcesfile.write(sources) + sourcesfile.truncate() def run(): diff --git a/debian/calamares-settings-lubuntu.lintian-overrides b/debian/calamares-settings-lubuntu.lintian-overrides new file mode 100644 index 0000000..1f3a274 --- /dev/null +++ b/debian/calamares-settings-lubuntu.lintian-overrides @@ -0,0 +1,3 @@ +# The .desktop file uses bash to run firefox as the local +# user. bash is included in the system. +calamares-settings-lubuntu: desktop-command-not-in-package usr/share/applications/lubuntu-calamares.desktop bash diff --git a/debian/changelog b/debian/changelog index 66ab96f..7677ddf 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,41 @@ +calamares-settings-ubuntu (1:19.10.4) eoan; urgency=medium + + [ Dan Simmons ] + * Bump Standards-Version to 4.4.0, no changes needed. + * Bump debhelper to 12, no changes needed. + * Adjust automirror config to new style. Change automirror module + to allow for new config style. + * Add setting for donate button in welcome. + * Add geoip for welcome. + * Adjust locale.conf to new geoip style. + * Set userSwapChoices to none in partition.conf. + * Set defaultFileSystemType to "ext4" in partition.conf. + * Set default dont-chroot, oem-setup, disable-cancel, to + eliminate warnings from settings.conf. + * Add efiMountOptions: umask=0077 to fstab.conf. + * Set restart mode to new style in finished.conf. + * Set bootloader entry name to Ubuntu. + * Set slide show API to 1 to eliminate warnings. + * Fix lintian errors and warnings. + - Add depends for python3 in calamares-settings-ubuntu-common. + - Adjust depends for calamares-settings-lubuntu. + - Add further description to extended description for + calamares-settings-lubuntu and calamares-settings-ubuntu. + - Add lintian override for bash in .desktop file. + - Remove unusual-interpreter in .desktop file. + - Adjust Makefile so .desktop file so it is not executable. + - Add keywords to .desktop file. + - Remove executable flag from automirror.conf and module.desc. + - Adjust debian/rules dpkg-architecture-variable. + + [ apt-ghetto ] + * Fix small issues in automirror module + - Remove whitespace before index bracket. + - Remove undefined variable. + - Fix over-indented block. + + -- Dan Simmons Tue, 20 Aug 2019 19:59:12 -0400 + calamares-settings-ubuntu (1:19.10.3) eoan; urgency=medium * Short version name is eoan. diff --git a/debian/compat b/debian/compat index b4de394..48082f7 100644 --- a/debian/compat +++ b/debian/compat @@ -1 +1 @@ -11 +12 diff --git a/debian/control b/debian/control index 01f434a..e909e62 100644 --- a/debian/control +++ b/debian/control @@ -3,21 +3,31 @@ Section: devel Priority: optional Maintainer: Lubuntu Developers Uploaders: Simon Quigley -Build-Depends: debhelper (>= 11), intltool, qttools5-dev-tools -Standards-Version: 4.2.0 +Build-Depends: debhelper (>= 12), + intltool, + qttools5-dev-tools +Standards-Version: 4.4.0 Homepage: https://code.launchpad.net/ubuntu-calamares-settings Vcs-Git: https://git.launchpad.net/ubuntu-calamares-settings Vcs-Browser: https://git.launchpad.net/ubuntu-calamares-settings Package: calamares-settings-lubuntu Architecture: all -Depends: calamares-settings-ubuntu-common (= ${binary:Version}), +Depends: calamares-settings-ubuntu-common (>= ${binary:Version}), ${misc:Depends} Description: Lubuntu Calamares Settings and Branding This package contains the Calamares settings and branding for Lubuntu. + As part of the branding the installer slideshow is contained within. + The settings ensure a proper Lubuntu desktop is installed with the + LXQt desktop environment. Package: calamares-settings-ubuntu-common Architecture: any -Depends: calamares, squashfs-tools, ${misc:Depends} +Depends: calamares, + squashfs-tools, + python3, + ${misc:Depends} Description: Common Calamares Settings This package contains the common Calamares settings for all flavors. + There is also a automirror Python script to set sources based on + geolocation. diff --git a/debian/rules b/debian/rules index 9c1a940..1eafac2 100755 --- a/debian/rules +++ b/debian/rules @@ -1,6 +1,6 @@ #!/usr/bin/make -f -DEB_HOST_MULTIARCH = $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) +DEB_HOST_MULTIARCH ?= $(shell dpkg-architecture -qDEB_HOST_MULTIARCH) %: dh $@ @@ -10,3 +10,5 @@ override_dh_missing: mkdir -pv debian/calamares-settings-ubuntu-common/usr/lib/$(DEB_HOST_MULTIARCH)/calamares/modules cp -vr common/modules/* debian/calamares-settings-ubuntu-common/usr/lib/$(DEB_HOST_MULTIARCH)/calamares/modules 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 debian/calamares-settings-ubuntu-common/usr/lib/$(DEB_HOST_MULTIARCH)/calamares/modules/automirror/module.desc diff --git a/lubuntu/branding/lubuntu/branding.desc b/lubuntu/branding/lubuntu/branding.desc index 210bb8d..36b65eb 100644 --- a/lubuntu/branding/lubuntu/branding.desc +++ b/lubuntu/branding/lubuntu/branding.desc @@ -10,7 +10,7 @@ strings: shortVersion: eoan versionedName: Lubuntu shortVersionedName: Lubuntu 19.10 - bootloaderEntryName: Lubuntu 19.10 + bootloaderEntryName: Ubuntu productUrl: https://lubuntu.me/ supportUrl: https://lubuntu.me/links/ @@ -21,6 +21,8 @@ images: slideshow: "show.qml" +slideshowAPI: 1 + style: sidebarBackground: "#808080" sidebarText: "#FFFFFF" diff --git a/lubuntu/lubuntu-calamares.desktop.in b/lubuntu/lubuntu-calamares.desktop.in index 5de3a74..a474db7 100755 --- a/lubuntu/lubuntu-calamares.desktop.in +++ b/lubuntu/lubuntu-calamares.desktop.in @@ -1,4 +1,3 @@ -#!/usr/bin/env xdg-open [Desktop Entry] Type=Application Version=1.0 @@ -10,3 +9,4 @@ Icon=calamares Terminal=false StartupNotify=true Categories=Qt;System; +Keywords=installer;calamares;system; diff --git a/lubuntu/modules/automirror.conf b/lubuntu/modules/automirror.conf index 4361c09..e11458d 100644 --- a/lubuntu/modules/automirror.conf +++ b/lubuntu/modules/automirror.conf @@ -1,4 +1,6 @@ --- baseUrl: archive.ubuntu.com distribution: Lubuntu -geoIpUrl: https://ipapi.co/json +geoip: + style: "json" + url: "https://ipapi.co/json" diff --git a/lubuntu/modules/finished.conf b/lubuntu/modules/finished.conf index 35473c8..18951b3 100644 --- a/lubuntu/modules/finished.conf +++ b/lubuntu/modules/finished.conf @@ -1,4 +1,3 @@ --- -restartNowChecked: true -restartNowEnabled: true +restartNowMode: user-checked restartNowCommand: "systemctl -i reboot" diff --git a/lubuntu/modules/fstab.conf b/lubuntu/modules/fstab.conf index 024cb4d..ae14a2b 100644 --- a/lubuntu/modules/fstab.conf +++ b/lubuntu/modules/fstab.conf @@ -8,3 +8,4 @@ ssdExtraMountOptions: swap: discard btrfs: discard,compress=lzo crypttabOptions: luks,keyscript=/bin/cat +efiMountOptions: umask=0077 diff --git a/lubuntu/modules/locale.conf b/lubuntu/modules/locale.conf index 7eb427f..3004702 100644 --- a/lubuntu/modules/locale.conf +++ b/lubuntu/modules/locale.conf @@ -2,6 +2,7 @@ region: "America" zone: "New_York" localeGenPath: "/etc/locale.gen" -geoipUrl: "https://ipapi.co/json" -geoipStyle: "json" -geoipSelector: "timezone" +geoip: + style: "json" + url: "https://ipapi.co/json" + selector: "timezone" diff --git a/lubuntu/modules/partition.conf b/lubuntu/modules/partition.conf index 4a75579..58f7518 100644 --- a/lubuntu/modules/partition.conf +++ b/lubuntu/modules/partition.conf @@ -1,4 +1,5 @@ efiSystemPartition: "/boot/efi" enableLuksAutomatedPartitioning: true -neverCreateSwap: true +userSwapChoices: none drawNestedPartitions: true +defaultFileSystemType: "ext4" diff --git a/lubuntu/modules/welcome.conf b/lubuntu/modules/welcome.conf index fb67d53..69022a2 100644 --- a/lubuntu/modules/welcome.conf +++ b/lubuntu/modules/welcome.conf @@ -2,6 +2,7 @@ showSupportUrl: true showKnownIssuesUrl: true showReleaseNotesUrl: true +showDonateUrl: https://lubuntu.me/donate/ requirements: requiredStorage: 8 @@ -18,3 +19,7 @@ requirements: - root - storage - ram +geoip: + style: "json" + url: "https://ipapi.co/json" + selector: "country" diff --git a/lubuntu/settings.conf b/lubuntu/settings.conf index 927b279..453a383 100644 --- a/lubuntu/settings.conf +++ b/lubuntu/settings.conf @@ -57,3 +57,7 @@ sequence: branding: lubuntu prompt-install: true +dont-chroot: false +oem-setup: false +disable-cancel: false +disable-cancel-during-exec: false