Commit Graph

2161 Commits

Author SHA1 Message Date
Teo Mrnjavac
cdf77c8a0d Do not LINK_PUBLIC by default. 2016-12-14 09:01:10 +01:00
Teo Mrnjavac
bbba9e60ee Document settings for services module. 2016-12-14 09:00:35 +01:00
Teo Mrnjavac
457172df66 Do not dereference nullptr. 2016-12-13 12:17:07 +01:00
Teo Mrnjavac
c36b1f66a5 Provide default for m_writeEtcDefaultKeyboard in KeyboardViewStep. 2016-12-13 12:17:07 +01:00
Teo Mrnjavac
f4dc81b0bc Write hasInternet to GlobalStorage.
CAL-431 #close
2016-12-12 13:37:18 +01:00
Bernhard Landauer
a8fe13a6d4 logo padding 2016-12-12 08:28:13 +01:00
Bernhard Landauer
8b2986c80a update logos 2016-12-12 08:24:43 +01:00
Teo Mrnjavac
e2b2d761c2 Do not LINK_PUBLIC by default. 2016-12-07 16:37:29 +01:00
Philip
0bd31b0404 [displaymanager] set_autologin: Unset autologin for sddm when needed 2016-12-06 21:58:30 +01:00
Philip
4666a96b56 [displaymanager] set_autologin: Unset autologin for sddm when needed 2016-12-06 21:57:31 +01:00
Philip
ec44f2e4f4 [users] implement upstream fixes 2016-12-06 21:56:40 +01:00
Teo Mrnjavac
dd035bf151 Document settings for services module. 2016-12-05 17:59:47 +01:00
Kevin Kofler
bc8dd4225a [displaymanager] set_autologin: Unset autologin for sddm when needed
CAL-423 #close
2016-12-03 19:18:41 +01:00
Teo Mrnjavac
45315e6ae9 Improve debug output for bootloader code path. 2016-12-02 18:36:02 +01:00
Teo Mrnjavac
e10034c670 Bump KPMcore requirement. 2016-12-01 19:15:11 +01:00
Kevin Kofler
041db6e3d7 [dracutlukscfg] Don't include keyfile in initramfs on unencrypted /boot.
This matches the fix in initcpiocfg and initramfscfg.
2016-11-25 22:28:44 +01:00
Kevin Kofler
423c7b57e3 [initramfscfg] Don't include keyfile in initramfs on unencrypted /boot.
This matches the fix in initcpiocfg.

I had to create an encrypt_hook_nokey that is a copy of encrypt_hook
without the part that copies the keyfile.
2016-11-25 22:28:33 +01:00
Teo Mrnjavac
e0c5e81b5b Write Btrfs subvolume lines to fstab. 2016-11-25 22:24:57 +01:00
Teo Mrnjavac
84b96b4f18 Special case for Btrfs root: create subvolumes and mount them. 2016-11-25 22:24:53 +01:00
Kevin Kofler
c7d390f864 [dracutlukscfg] Don't include keyfile in initramfs on unencrypted /boot.
This matches the fix in initcpiocfg and initramfscfg.
2016-11-25 22:23:57 +01:00
Kevin Kofler
88d6989c8f [initramfscfg] Don't include keyfile in initramfs on unencrypted /boot.
This matches the fix in initcpiocfg.

I had to create an encrypt_hook_nokey that is a copy of encrypt_hook
without the part that copies the keyfile.
2016-11-25 22:23:45 +01:00
Teo Mrnjavac
8f68f9bdef Write Btrfs subvolume lines to fstab. 2016-11-25 22:22:27 +01:00
Teo Mrnjavac
e3d7180932 Special case for Btrfs root: create subvolumes and mount them. 2016-11-25 22:22:17 +01:00
Teo Mrnjavac
0ad819e301 Make sure we write the inner fs type to globalstorage. 2016-11-25 16:21:25 +01:00
Philip
8e2b041498 [pythonqt] Start from empty str for entry point annotation. 2016-11-22 20:57:24 +01:00
shainer
2759529841 Remove current partition's mountpoint from used list.
This means that when we edit a partition, we don't consider
its current mountpoint invalid because it is already in-use.

We need to do this for both "edit existing partition" and
"edit a partition that we are still creating".
2016-11-20 23:19:33 +00:00
shainer
349470ae71 Check mountpoints when editing a partition too. 2016-11-20 23:06:03 +00:00
shainer
8c1199df2d Check first selection of mountpoint too.
When opening the dialog.
2016-11-20 23:05:44 +00:00
shainer
f51b05e8aa Get the mountpoint from PartitionInfo.
The Partition object includes the root mountpoint in
the partition mountpoint, which is not what we want.
2016-11-20 22:46:28 +00:00
shainer
c8dbeb5341 Avoid creating a new partition with a used mountpoint.
We get the mountpoints already used by other partitions, and
disable the Ok button in the "Create new partition" dialog if
the user selects/writes a mountpoint which is already used.

We are going to do the same in the Edit partition dialog
after testing.
2016-11-20 22:05:55 +00:00
Kevin Kofler
34516e9477 [dracutlukscfg] Don't include keyfile in initramfs on unencrypted /boot.
This matches the fix in initcpiocfg and initramfscfg.
2016-11-19 02:30:34 +01:00
Kevin Kofler
d9840feef9 [initramfscfg] Don't include keyfile in initramfs on unencrypted /boot.
This matches the fix in initcpiocfg.

I had to create an encrypt_hook_nokey that is a copy of encrypt_hook
without the part that copies the keyfile.
2016-11-19 02:13:04 +01:00
Teo Mrnjavac
c0b7b0bc27 Show warning. 2016-11-18 09:06:29 +01:00
Teo Mrnjavac
45e7363dfb Oops. 2016-11-18 09:06:26 +01:00
Teo Mrnjavac
8d93c34031 Warn user about encrypted root with unencrypted /boot. 2016-11-18 09:06:21 +01:00
Teo Mrnjavac
555f0ba6cf Don't include keyfile in initramfs on unencrypted /boot. 2016-11-18 09:06:17 +01:00
Teo Mrnjavac
b513a892af Show warning. 2016-11-18 09:05:53 +01:00
Teo Mrnjavac
2aedea7d5f Oops. 2016-11-18 09:05:40 +01:00
Teo Mrnjavac
d852999cba Warn user about encrypted root with unencrypted /boot. 2016-11-18 09:05:27 +01:00
Teo Mrnjavac
b04dcdc42f Don't include keyfile in initramfs on unencrypted /boot. 2016-11-18 09:05:15 +01:00
Teo Mrnjavac
83b51a5867 Show warning. 2016-11-17 19:03:24 +01:00
Teo Mrnjavac
17fe2d82f4 Oops. 2016-11-17 18:28:58 +01:00
Teo Mrnjavac
a55bef5d2d Warn user about encrypted root with unencrypted /boot. 2016-11-17 18:15:37 +01:00
Teo Mrnjavac
79b0889db7 Don't include keyfile in initramfs on unencrypted /boot. 2016-11-17 18:15:37 +01:00
shainer
e5f5bb99d7 Change the default value of critical to false.
This means all package groups are non-critical by default.
Update documentation accordingly.
2016-11-13 12:12:07 +00:00
shainer
b6d6075213 New example netinstall.yaml, less groups for easier testing. 2016-11-13 10:56:13 +00:00
shainer
5fadd0a3ce New example netinstall.yaml with non-critical group. 2016-11-12 18:08:08 +00:00
shainer
58ae8e13c9 Add support for non-critical groups in netinstall.
Package groups are divided into critical and non-critical
depending on whether we want all Calamares to fail if installing
a package in the group fails, or we are okay with just logging a
warning.

The distinction is configured in the YAML file listing the package
groups. By default, all groups are critical, to keep supporting
the previous behaviour.
2016-11-12 17:57:58 +00:00
Teo Mrnjavac
a9d8107b3b Write Btrfs subvolume lines to fstab. 2016-11-11 16:47:08 +01:00
Teo Mrnjavac
e9ecb64a36 Special case for Btrfs root: create subvolumes and mount them. 2016-11-11 16:47:08 +01:00
Philip
e8f694fe02 [partition] Bump kpmcore requirements 2016-11-09 08:47:27 +01:00
Philip
b95503065f [mount] Bind-mount /run/udev in the chroot by default 2016-11-09 07:40:34 +01:00
Philip
433d6ded6d [mount] Bind-mount /run/udev in the chroot by default 2016-11-09 07:39:58 +01:00
Teo Mrnjavac
93cf5acea4 Bind-mount /run/udev in the chroot by default.
NOTE: this is absolutely necessary for grub-mkconfig's os-prober
instance to work.
2016-11-08 11:18:19 +01:00
Philip
d698b98988 Modifications
-  [welcome] Use QNetworkAccessManager in checkHasInternet
-  [bootloader] Fix UEFI firmware workaround for 32-bit UEFI
2016-11-06 08:51:03 +01:00
Philip
2e9fe3f185 Modifications
-  [welcome] Use QNetworkAccessManager in checkHasInternet
-  [bootloader] Fix UEFI firmware workaround for 32-bit UEFI
2016-11-06 08:49:45 +01:00
Kevin Kofler
4f11faea52 [bootloader] Fix UEFI firmware workaround for 32-bit UEFI.
On 32-bit UEFI (note that the bitness of the firmware is what matters
here, not the bitness of the distribution), instead of copying
grubx64.efi to bootx64.efi, copy grubia32.efi to bootia32.efi.

Patch by TeHMoroS from SparkyLinux.

CAL-403 #close
2016-11-06 03:38:34 +01:00
Kevin Kofler
f08739cd15 [welcome] Use QNetworkAccessManager in checkHasInternet.
Use QNetworkAccessManager instead of raw QtDBus queries to
NetworkManager in RequirementsChecker::checkHasInternet(). This is much
simpler (i.e., less error-prone) and should be more portable (to, e.g.,
ConnMan).
2016-11-05 22:11:57 +01:00
Philip
e21338d81e Modifications
- [bootloader] Fix vfat_correct_case
- [welcome] Fix RequirementsChecker::checkHasInternet()
2016-11-05 22:02:41 +01:00
Philip
c8f1134196 Modifications
- [bootloader] Fix vfat_correct_case
- [welcome] Fix RequirementsChecker::checkHasInternet()
2016-11-05 22:01:44 +01:00
Kevin Kofler
6eb512ab49 [welcome] Fix RequirementsChecker::checkHasInternet().
The NetworkManager property is called "State", not "state". The call
was always failing, and the method was always returning true as a
result.
2016-11-05 20:34:13 +01:00
Kevin Kofler
62bded1447 [bootloader] Fix vfat_correct_case.
If the directory already existed, vfat_correct_case was returning only
the last part rather than the full path as it is supposed to.
2016-11-05 17:41:38 +01:00
Philip
e91be5bd12 v2.4.4
- [partition] remove sgdisk dependency
- [displaymanager] use configparser and add better autologin handling
- [displaymanager] set a preferred Xsession for autologin
- [netinstall] Support selecting visible groups by default
- [packages] Add option of updating packages db before perfoming package operations
- [packages] Allow try_install and try_remove entries in packages module
- [unpackfs] Do not fail if rsync returns exit code 23
2016-11-05 09:55:37 +01:00
Kevin Kofler
35f098e04a [unpackfs] Do not fail if rsync returns exit code 23.
Unfortunately, rsync returns exit code 23 (Partial transfer due to
error) if it cannot write extended attributes (with -X) because the
target file system does not support it, e.g., the FAT EFI system
partition. We need -X because distributions using file system
capabilities and/or SELinux require the extended attributes. But
distributions using SELinux may also have SELinux labels set on files
under /boot/efi, and rsync complains about those. The only clean way
would be to split the rsync into one with -X and --exclude /boot/efi and
a separate one without -X for /boot/efi, but only if /boot/efi is
actually an EFI system partition. For now, this hack will have to do.

See also:
https://bugzilla.redhat.com/show_bug.cgi?id=868755#c50
for the same issue in Anaconda, which uses a similar workaround.
2016-11-05 09:25:59 +01:00
Kevin Kofler
0131d7fbf1 [unpackfs] Do not fail if rsync returns exit code 23.
Unfortunately, rsync returns exit code 23 (Partial transfer due to
error) if it cannot write extended attributes (with -X) because the
target file system does not support it, e.g., the FAT EFI system
partition. We need -X because distributions using file system
capabilities and/or SELinux require the extended attributes. But
distributions using SELinux may also have SELinux labels set on files
under /boot/efi, and rsync complains about those. The only clean way
would be to split the rsync into one with -X and --exclude /boot/efi and
a separate one without -X for /boot/efi, but only if /boot/efi is
actually an EFI system partition. For now, this hack will have to do.

See also:
https://bugzilla.redhat.com/show_bug.cgi?id=868755#c50
for the same issue in Anaconda, which uses a similar workaround.
2016-11-04 01:37:08 +01:00
Teo Mrnjavac
2bc12b80cc Allow try_install and try_remove entries in packages module. 2016-11-03 18:04:38 +01:00
Teo Mrnjavac
d4bdef0be3 Add option of updating packages db before perfoming package operations. 2016-11-03 18:04:28 +01:00
Kevin Kofler
f43c600adc [netinstall] Support selecting visible groups by default.
In other words, support:
  hidden: false
  selected: true
groups.

This was supposed to work according to README.md, but not actually
implemented. Now it should be working.
2016-11-03 18:04:15 +01:00
Teo Mrnjavac
c4df69b4a7 Allow try_install and try_remove entries in packages module. 2016-11-02 17:00:45 +01:00
Teo Mrnjavac
b272917e83 Add option of updating packages db before perfoming package operations. 2016-11-02 13:04:11 +01:00
Rohan Garg
d67fdccd4c Make sure we also set a preferred Xsession 2016-11-02 09:51:27 +01:00
Kevin Kofler
075577d948 [netinstall] Support selecting visible groups by default.
In other words, support:
  hidden: false
  selected: true
groups.

This was supposed to work according to README.md, but not actually
implemented. Now it should be working.
2016-11-02 05:58:00 +01:00
Philip
b7c121de9c [users] add missing images 2016-11-01 05:52:58 +01:00
Philip
09f6392173 [users] enhance dialog
- multiple users management.
- ability to set different shells based on configuration.
- ability to select avatars from files and then copy them to a target location in the user's home directory. No specific location suggested due to differences between DEs on where to read avatars from.
2016-11-01 05:42:56 +01:00
Philip
0b4f015d3a [displaymanager] set a preferred Xsession for autologin 2016-11-01 05:28:39 +01:00
Philip
0ceadc2b95 [displaymanager] use configparser and add better autologin handling 2016-10-31 18:02:50 +01:00
Rohan Garg
662656a762
Better handling for when the Autologin section already has things 2016-10-31 17:55:59 +01:00
Philip
e2f26467ab [libcalamaresui] try with upstream fix 2016-10-31 17:55:19 +01:00
Rohan Garg
f7ac1a3ede Use configparser to parse sddm.conf
Since sddm.conf follows the INI format we can use configparser
with a few added options to properly parse the config and write
it out instead of manually parsing each line which is slow and
prone to error.

For eg. The old code would fail to parse a conf which had no
commented out User key but where the user had configured autologin
in Calamares.
2016-10-31 17:10:46 +01:00
Philip
5bbb71e90e [libcalamaresui] try to fix issue with ‘pythonConsoleButton’ not declared in this scope 2016-10-31 11:57:23 +01:00
Philip
f42e904dba [partition] remove sgdisk dependency 2016-10-31 11:06:04 +01:00
Philip
4752f70809 Merge pythonqt branch 2016-10-31 07:45:35 +01:00
Kevin Kofler
1548fe4810 [partition] Use FlagEsp instead of sgdisk to scan for ESPs.
Address an old FIXME in
PartitionCoreModule::scanForEfiSystemPartitions(): Check the FlagEsp on
the Partition object (that KPMcore has been supporting since 2.1.0)
instead of running sgdisk.
2016-10-29 01:09:14 +02:00
Kevin Kofler
5377003f89 Set the ESP flag in partition rather than bootloader.
The manual partitioning setup was already requiring the user to check
the ESP flag for the EFI System Partition. Now the autopartitioning also
sets it directly (a one-line change). The sgdisk call in the bootloader
module is thus no longer necessary (it was only a workaround because
kpmcore < 2.1.0 did not support FlagEsp), so remove that snippet.

This fixes configurations such as NVME disks where splitting boot_device
into boot_device[-1:] and boot_device[:-1] is not the correct split
(because the partition gets a 2-letter suffix) (reported by demmm on
IRC).
2016-10-29 00:52:38 +02:00
Kevin Kofler
ff7cf9b9ec New dummycpp C++ job module (ported from dummypython). 2016-10-28 21:02:30 +02:00
Kevin Kofler
7264c9dcbf Add support for C++/Qt batch job plugins
These job plugins work similarly to view modules, with the following
differences:

* These jobs need to link only libcalamares, not libcalamaresui. For
  this reason, PluginFactory was moved from libcalamaresui to
  libcalamares. (It depends only on QtCore.)

* Instead of deriving from ViewModule, derive from CppJob (which is a
  subclass of Job).

* Like process and Python jobs, a job plugin is a single job, whereas a
  ViewModule can generate a whole list of jobs.

The CppJob and CppJobModule classes are new. In Module::fromDescriptor,
the combination type=job, intf=qtplugin is now supported and mapped to
CppJobModule.
2016-10-28 21:02:19 +02:00
Kevin Kofler
9ae4755b1c New dummycpp C++ job module (ported from dummypython). 2016-10-28 20:57:32 +02:00
Kevin Kofler
206a89e06c Add support for C++/Qt batch job plugins
These job plugins work similarly to view modules, with the following
differences:

* These jobs need to link only libcalamares, not libcalamaresui. For
  this reason, PluginFactory was moved from libcalamaresui to
  libcalamares. (It depends only on QtCore.)

* Instead of deriving from ViewModule, derive from CppJob (which is a
  subclass of Job).

* Like process and Python jobs, a job plugin is a single job, whereas a
  ViewModule can generate a whole list of jobs.

The CppJob and CppJobModule classes are new. In Module::fromDescriptor,
the combination type=job, intf=qtplugin is now supported and mapped to
CppJobModule.
2016-10-28 20:55:50 +02:00
Teo Mrnjavac
19e41a3c71 Only add LUKS keyfile if relevant, and with a 15s timeout. 2016-10-28 20:52:20 +02:00
Teo Mrnjavac
a2c7256406 Add user to groups separately from useradd. 2016-10-28 20:51:03 +02:00
Philip
381f3e9bb3 Revert "Improve user-visible strings in SetPartFlagsJob."
This reverts commit fbe72b3663.
2016-10-28 20:50:10 +02:00
Teo Mrnjavac
5e81ddecad Only add LUKS keyfile if relevant, and with a 15s timeout. 2016-10-28 20:47:09 +02:00
Teo Mrnjavac
9a643431dd Improve user-visible strings in SetPartFlagsJob. 2016-10-28 20:46:56 +02:00
Teo Mrnjavac
c61e53edf7 Add user to groups separately from useradd. 2016-10-28 20:46:32 +02:00
Teo Mrnjavac
4488761a63 Only add LUKS keyfile if relevant, and with a 15s timeout. 2016-10-28 10:17:39 +02:00
Teo Mrnjavac
fbe72b3663 Improve user-visible strings in SetPartFlagsJob. 2016-10-28 09:24:00 +02:00
Teo Mrnjavac
de979f8528 Add user to groups separately from useradd. 2016-10-27 15:26:20 +02:00
Philip
37df041b9c [displaymanager] use same pattern for all str.format calls 2016-10-26 22:14:00 +02:00
Bernhard Landauer
b293f0320d [displaymanager] add Deepin 2016-10-26 22:13:58 +02:00
Philip
f71602ec6c [displaymanager] use same pattern for all str.format calls 2016-10-26 22:13:38 +02:00
Bernhard Landauer
811b1422e9 [displaymanager] add Deepin 2016-10-26 22:13:26 +02:00
Philip
22cf2c16a2 [displaymanager] use same pattern for all str.format calls 2016-10-26 21:40:14 +02:00
Bernhard Landauer
c99cdc0fa7 [displaymanager] add Deepin 2016-10-26 03:56:03 +02:00
Philip
e1d72552db [branding] bump to 16.10 2016-10-22 11:21:52 +02:00
Kevin Kofler
9d2291b74e [grubcfg] Compare integers to integers, not strings.
target_env_call returns an integer, so do not compare its result to the
string "0".
2016-10-22 11:21:41 +02:00
V3n3RiX
a279eaf4fa dracut : unlock encrypted swap if exists (#267)
* dracut : unlock encrypted swap if exists
* only check for swap_outer_uuid if dracut exists
2016-10-22 11:21:31 +02:00
V3n3RiX
e0dc6e03fd Only write rd.luks.uuid if dracut is present and leave other initramfs generators clean (#266)
* add rd.luks.uuid to GRUB_CMDLINE (fixes unbootable system with dracut --nohostonly, and doesn't affect any other initramfs generators)

* typo

* only write rd.luks.uuid line if dracut is present, and leave other initramfs generators alone :D

* add missing = operator
2016-10-22 11:21:19 +02:00
V3n3RiX
f5793a760d add rd.luks.uuid to GRUB_CMDLINE (fixes unbootable system with dracut… (#265)
* add rd.luks.uuid to GRUB_CMDLINE (fixes unbootable system with dracut --nohostonly, and doesn't affect any other initramfs generators)

* typo
2016-10-22 11:21:10 +02:00
Kevin Kofler
4a88223f6d [dracutlukscfg] New module: pre-configuration for dracut+LUKS. 2016-10-22 11:21:02 +02:00
Kevin Kofler
4a7c469f96 [grubcfg] Fix mismatched quoting and escaping.
If we use .replace("'", "'\\''") for escaping, we also need to use
single quotes, not double quotes.

This was broken by the port from '%' to format, which also randomly
changed quoting characters for no good reason. Changing the outer ones
does not matter, but \" or ' within a string is not the same thing!
2016-10-22 11:20:54 +02:00
David McKinney
af8b0e84a4 [initramfscfg] New module: pre-configuration for update-initramfs.
Added an initramfscfg module to handle pre-configuration for the Debian
update-initramfs, such as installing hooks (needed for luks/FDE support
on Debian-based distros).

Closes #254. (Cherry-picked from the pull request.)
2016-10-22 11:20:37 +02:00
Philip
3a5cb47081 [branding] bump to 16.10 2016-10-22 11:08:35 +02:00
Kevin Kofler
c0898c308b [grubcfg] Compare integers to integers, not strings.
target_env_call returns an integer, so do not compare its result to the
string "0".
2016-10-22 11:06:55 +02:00
V3n3RiX
4a35035396 dracut : unlock encrypted swap if exists (#267)
* dracut : unlock encrypted swap if exists
* only check for swap_outer_uuid if dracut exists
2016-10-22 11:06:42 +02:00
V3n3RiX
93ecf0d44d Only write rd.luks.uuid if dracut is present and leave other initramfs generators clean (#266)
* add rd.luks.uuid to GRUB_CMDLINE (fixes unbootable system with dracut --nohostonly, and doesn't affect any other initramfs generators)

* typo

* only write rd.luks.uuid line if dracut is present, and leave other initramfs generators alone :D

* add missing = operator
2016-10-22 11:06:31 +02:00
V3n3RiX
601f61fefa add rd.luks.uuid to GRUB_CMDLINE (fixes unbootable system with dracut… (#265)
* add rd.luks.uuid to GRUB_CMDLINE (fixes unbootable system with dracut --nohostonly, and doesn't affect any other initramfs generators)

* typo
2016-10-22 11:06:14 +02:00
Kevin Kofler
645ba95989 [dracutlukscfg] New module: pre-configuration for dracut+LUKS. 2016-10-22 11:05:27 +02:00
Kevin Kofler
b1169dc48c [grubcfg] Fix mismatched quoting and escaping.
If we use .replace("'", "'\\''") for escaping, we also need to use
single quotes, not double quotes.

This was broken by the port from '%' to format, which also randomly
changed quoting characters for no good reason. Changing the outer ones
does not matter, but \" or ' within a string is not the same thing!
2016-10-22 11:00:54 +02:00
David McKinney
1b8b5aab13 [initramfscfg] New module: pre-configuration for update-initramfs.
Added an initramfscfg module to handle pre-configuration for the Debian
update-initramfs, such as installing hooks (needed for luks/FDE support
on Debian-based distros).

Closes #254. (Cherry-picked from the pull request.)
2016-10-22 11:00:20 +02:00
Kevin Kofler
668284f5f1 [grubcfg] Compare integers to integers, not strings.
target_env_call returns an integer, so do not compare its result to the
string "0".
2016-10-21 00:19:22 +02:00
V3n3RiX
11c9e87fd0 dracut : unlock encrypted swap if exists (#267)
* dracut : unlock encrypted swap if exists
* only check for swap_outer_uuid if dracut exists
2016-10-20 17:00:15 +02:00
V3n3RiX
0bde162a9c Only write rd.luks.uuid if dracut is present and leave other initramfs generators clean (#266)
* add rd.luks.uuid to GRUB_CMDLINE (fixes unbootable system with dracut --nohostonly, and doesn't affect any other initramfs generators)

* typo

* only write rd.luks.uuid line if dracut is present, and leave other initramfs generators alone :D

* add missing = operator
2016-10-19 17:41:35 +02:00
V3n3RiX
7e74d48fb6 add rd.luks.uuid to GRUB_CMDLINE (fixes unbootable system with dracut… (#265)
* add rd.luks.uuid to GRUB_CMDLINE (fixes unbootable system with dracut --nohostonly, and doesn't affect any other initramfs generators)

* typo
2016-10-18 18:59:51 +02:00
Kevin Kofler
d5dfe86525 [dracutlukscfg] New module: pre-configuration for dracut+LUKS.
Add a dracutlukscfg module to write a
/etc/dracut.conf.d/calamares-luks.conf file for LUKS full disk
encryption support with Dracut.

You should run:

* partition
* luksbootkeyfile
* dracutlukscfg
* dracut

in that order (not necessarily in immediate sequence). The
luksopenswaphook module is not used with Dracut.
2016-10-16 19:08:16 +02:00
Kevin Kofler
2573731cdb [grubcfg] Fix mismatched quoting and escaping.
If we use .replace("'", "'\\''") for escaping, we also need to use
single quotes, not double quotes.

This was broken by the port from '%' to format, which also randomly
changed quoting characters for no good reason. Changing the outer ones
does not matter, but \" or ' within a string is not the same thing!
2016-10-16 18:44:22 +02:00
Philip
87006eaa20 [services] proper DM check 2016-10-15 09:41:10 +02:00
Philip
9d18fb1ece [services] don't configure DM if already configured 2016-10-14 18:55:02 +02:00
Teo Mrnjavac
499fd513b4 Use the target system's boot name in partitioning summary widget. 2016-10-14 18:37:35 +02:00
Kevin Kofler
eb6bb49d5a [fstab] Write configurable options to crypttab (default: luks).
fstab.conf: Add a new "crypttabOptions" option that defaults to "luks".
            Document that for Debian and Debian-based distributions, the
            setting should be changed to "luks,keyscript=/bin/cat".

main.py: Append the options from the above setting to the end of every
         line in crypttab.

At least the "luks" option should always be there, because there may be
different encryption types. The Debian initramfs-tools also require the
Debian-specific keyscript option and will otherwise ignore the keyfile
entirely (see pull request #254).
2016-10-14 18:37:19 +02:00
Kevin Kofler
17c0dd08c7 [fstab] Do not omit "/" from crypttab.
At least the Debian update-initramfs needs the entry to be there (see
pull request #254). Dracut will probably need it too. And logically, it
should be there.
2016-10-14 18:37:09 +02:00
Teo Mrnjavac
130eb43b26 Use the target system's boot name in partitioning summary widget. 2016-10-14 18:21:52 +02:00
Kevin Kofler
9a5221bbd8 [fstab] Write configurable options to crypttab (default: luks).
fstab.conf: Add a new "crypttabOptions" option that defaults to "luks".
            Document that for Debian and Debian-based distributions, the
            setting should be changed to "luks,keyscript=/bin/cat".

main.py: Append the options from the above setting to the end of every
         line in crypttab.

At least the "luks" option should always be there, because there may be
different encryption types. The Debian initramfs-tools also require the
Debian-specific keyscript option and will otherwise ignore the keyfile
entirely (see pull request #254).
2016-10-14 18:21:20 +02:00
Kevin Kofler
fce053439c [fstab] Do not omit "/" from crypttab.
At least the Debian update-initramfs needs the entry to be there (see
pull request #254). Dracut will probably need it too. And logically, it
should be there.
2016-10-14 18:21:05 +02:00
Teo Mrnjavac
6e7dc0b437 Use the target system's boot name in partitioning summary widget. 2016-10-14 15:27:24 +02:00
David McKinney
b63ab4df15 [initramfscfg] New module: pre-configuration for update-initramfs.
Added an initramfscfg module to handle pre-configuration for the Debian
update-initramfs, such as installing hooks (needed for luks/FDE support
on Debian-based distros).

Closes #254. (Cherry-picked from the pull request.)
2016-10-13 19:20:20 +02:00
Kevin Kofler
0876af63d0 [fstab] Write configurable options to crypttab (default: luks).
fstab.conf: Add a new "crypttabOptions" option that defaults to "luks".
            Document that for Debian and Debian-based distributions, the
            setting should be changed to "luks,keyscript=/bin/cat".

main.py: Append the options from the above setting to the end of every
         line in crypttab.

At least the "luks" option should always be there, because there may be
different encryption types. The Debian initramfs-tools also require the
Debian-specific keyscript option and will otherwise ignore the keyfile
entirely (see pull request #254).
2016-10-13 19:01:13 +02:00
Kevin Kofler
4d28544e6f [fstab] Do not omit "/" from crypttab.
At least the Debian update-initramfs needs the entry to be there (see
pull request #254). Dracut will probably need it too. And logically, it
should be there.
2016-10-13 18:44:07 +02:00
Kevin Kofler
b6f8d6ae92 users: Drop dependency on chfn. (#260)
Pass the full name directly to useradd instead, using the "-c" (comment)
parameter, which is "currently used as the field for the user's full
name" according to the documentation.

The chfn utility is no longer installed by default on current Fedora
releases due to its dependency on libuser. (They split out chfn and chsh
from util-linux into an optional subpackage.) It could be added as a
dependency of Calamares, but since it is needed inside the chroot, it
has to be on the base live image, not the overlay. Thus, to allow
testing Calamares with a simple "dnf install calamares" again, the
dependency needs to go away. And it is unnecessary anyway.
2016-09-28 21:24:36 +02:00
Kevin Kofler
3edf1bb162 Fix locale filtering for UTF-8 on Fedora.
locale -a returns the locales using ".utf8" names rather than ".UTF-8".
The case-insensitive match does not help because it is "utf8" rather
than "UTF-8". So we need to match both with and without the dash.
2016-09-28 21:22:10 +02:00
Teo Mrnjavac
2a74fc423f Make writeEtcDefaultKeyboard an option in keyboard.conf. 2016-09-28 21:22:07 +02:00
Teo Mrnjavac
431e6b8c03 Allow disabling automated LUKS modes. 2016-09-28 21:22:04 +02:00
Teo Mrnjavac
11dd15f123 Allow disabling automated LUKS modes. 2016-09-28 21:20:13 +02:00
Teo Mrnjavac
36a96fedfb Make writeEtcDefaultKeyboard an option in keyboard.conf. 2016-09-28 21:19:56 +02:00
Kevin Kofler
a37896da49 Fix locale filtering for UTF-8 on Fedora.
locale -a returns the locales using ".utf8" names rather than ".UTF-8".
The case-insensitive match does not help because it is "utf8" rather
than "UTF-8". So we need to match both with and without the dash.
2016-09-28 21:19:40 +02:00
Kevin Kofler
97b06e3101 users: Drop dependency on chfn. (#260)
Pass the full name directly to useradd instead, using the "-c" (comment)
parameter, which is "currently used as the field for the user's full
name" according to the documentation.

The chfn utility is no longer installed by default on current Fedora
releases due to its dependency on libuser. (They split out chfn and chsh
from util-linux into an optional subpackage.) It could be added as a
dependency of Calamares, but since it is needed inside the chroot, it
has to be on the base live image, not the overlay. Thus, to allow
testing Calamares with a simple "dnf install calamares" again, the
dependency needs to go away. And it is unnecessary anyway.
2016-09-28 21:16:52 +02:00
udeved
9fe9320555 services: enable displaymanager via globalstorage 2016-09-27 19:28:31 +02:00
Kevin Kofler
0ae41dd286 New dummycpp C++ job module (ported from dummypython). 2016-09-27 17:25:09 +02:00
Kevin Kofler
00d9f211f5 Add support for C++/Qt batch job plugins
These job plugins work similarly to view modules, with the following
differences:

* These jobs need to link only libcalamares, not libcalamaresui. For
  this reason, PluginFactory was moved from libcalamaresui to
  libcalamares. (It depends only on QtCore.)

* Instead of deriving from ViewModule, derive from CppJob (which is a
  subclass of Job).

* Like process and Python jobs, a job plugin is a single job, whereas a
  ViewModule can generate a whole list of jobs.

The CppJob and CppJobModule classes are new. In Module::fromDescriptor,
the combination type=job, intf=qtplugin is now supported and mapped to
CppJobModule.
2016-09-27 17:25:09 +02:00
Teo Mrnjavac
5796b05fda Allow disabling automated LUKS modes. 2016-09-26 13:14:54 +02:00
Teo Mrnjavac
5bf4bb8787 Make writeEtcDefaultKeyboard an option in keyboard.conf. 2016-09-26 10:57:57 +02:00
Teo Mrnjavac
40cb168468 Fix typo. 2016-09-26 10:57:56 +02:00
Teo Mrnjavac
6f3dc32bfe Config file comment. 2016-09-26 10:57:56 +02:00
Kevin Kofler
1b2cce4be3 Fix locale filtering for UTF-8 on Fedora.
locale -a returns the locales using ".utf8" names rather than ".UTF-8".
The case-insensitive match does not help because it is "utf8" rather
than "UTF-8". So we need to match both with and without the dash.
2016-09-26 01:47:58 +02:00
Philip
c06903e168 [servicescfg] set pulse autospawn; clean up imports 2016-09-24 12:28:51 +02:00
Philip
b4a63ecb28 [chrootcfg] add new module
- 'chrootcfg' is used for our new netinstall approach
- it provides the needed function to install packages in a chroot
- we might need to optimize its progressbar visualization ...
2016-09-24 12:24:30 +02:00
Philip
5eb56733b8 [servicescfg] add new module
- 'servicescfg' is the equivalent to module 'services', just for OpenRC
2016-09-24 12:21:28 +02:00
udeved
18f4b6e50c servicescfg: fix typo 2016-09-23 22:37:23 +02:00
udeved
74c2090ebc servicescfg: set pulse autospawn; clean up imports 2016-09-23 22:34:58 +02:00
Teo Mrnjavac
4ed06d4fe3 Remove target resolv.conf before proceeding. 2016-09-22 20:52:04 +02:00
Teo Mrnjavac
ec2094d768 Add support for writing keymap data to /etc/default/keyboard. 2016-09-22 20:52:01 +02:00
Teo Mrnjavac
a1c4c23051 Remove target resolv.conf before proceeding. 2016-09-22 20:51:27 +02:00
Teo Mrnjavac
027ba074ed Add support for writing keymap data to /etc/default/keyboard. 2016-09-22 20:51:16 +02:00
Teo Mrnjavac
567ac87440 Remove target resolv.conf before proceeding. 2016-09-22 15:43:41 +02:00
Teo Mrnjavac
37384279e5 Add support for writing keymap data to /etc/default/keyboard. 2016-09-22 12:32:30 +02:00
shainer
b6811c65e8 In the netinstall page, always show the arrow-down button.
The arrow no longer changes direction depending on whether
the button is clicked or not.
2016-09-21 20:35:15 +02:00
shainer
cb6f9ae576 In the netinstall page, fix the group button.
The button is "not checked" by default, and becomes
checked when clicked; the packageview becomes visible
when the button is checked.
2016-09-21 20:34:56 +02:00
Teo Mrnjavac
94916f59e0 Remove irrelevant debug output. 2016-09-21 20:34:40 +02:00
shainer
479b67f696 In the netinstall page, always show the arrow-down button.
The arrow no longer changes direction depending on whether
the button is clicked or not.
2016-09-21 12:56:38 +02:00
shainer
d45a6bd856 In the netinstall page, fix the group button.
The button is "not checked" by default, and becomes
checked when clicked; the packageview becomes visible
when the button is checked.
2016-09-20 18:20:53 +02:00
Teo Mrnjavac
4662c9c877 Remove irrelevant debug output. 2016-09-19 12:34:45 +02:00
udeved
8a3047f1ab license: validate yaml conf 2016-09-19 09:29:52 +02:00
udeved
b593682c0c servicescfg: validate yaml conf 2016-09-19 09:17:31 +02:00
udeved
2b00d28de2 postcfg: only attempt to rank mirrors if hasInternet
clean up imports
2016-09-17 23:03:55 +02:00
Teo Mrnjavac
021e3b20c6 Fix VFAT filename handling in bootloader module.
CAL-385 #close
2016-09-17 10:16:44 +02:00
Teo Mrnjavac
dcea99e278 Warning in debug output when the RequirementsChecker is misconfigured.
CAL-390 #close
2016-09-17 10:16:35 +02:00
Philip Müller
9dfbc54fda Merge pull request #4 from calamares/2.4.x-stable
Merge upstream changes
2016-09-17 10:13:16 +02:00
Philip Müller
94b8ad3b6e Merge pull request #1 from manjaro/pr-mhwdcfg
[mhwdcfg] replace hardwarecfg
2016-09-17 10:11:22 +02:00
Teo Mrnjavac
3408eb5c56 Fix VFAT filename handling in bootloader module.
CAL-385 #close
2016-09-16 16:31:38 +02:00
Teo Mrnjavac
77fb264129 Fix VFAT filename handling in bootloader module.
CAL-385 #close
2016-09-16 16:30:17 +02:00
Teo Mrnjavac
0c29233062 Warning in debug output when the RequirementsChecker is misconfigured.
CAL-390 #close
2016-09-16 11:00:53 +02:00
Teo Mrnjavac
a48dadf757 Warning in debug output when the RequirementsChecker is misconfigured.
CAL-390 #close
2016-09-16 10:54:39 +02:00
Kevin Kofler
0ad215bcca users: Drop dependency on chfn. (#260)
Pass the full name directly to useradd instead, using the "-c" (comment)
parameter, which is "currently used as the field for the user's full
name" according to the documentation.

The chfn utility is no longer installed by default on current Fedora
releases due to its dependency on libuser. (They split out chfn and chsh
from util-linux into an optional subpackage.) It could be added as a
dependency of Calamares, but since it is needed inside the chroot, it
has to be on the base live image, not the overlay. Thus, to allow
testing Calamares with a simple "dnf install calamares" again, the
dependency needs to go away. And it is unnecessary anyway.
2016-09-16 07:55:04 +02:00
Philip
cc4ab32350 [mhwdcfg] clean up imports; use target_env_call() 2016-09-13 08:08:57 +02:00
udeved
5610e274ba [mhwdcfg] adopt development changes 2016-09-13 08:04:20 +02:00
udeved
c70e91fa9a mhwdcfg:clean up imports; use target_env_call() 2016-09-12 18:51:38 +02:00
udeved
ac43d43409 mhwdcfg: adjust interation; update conf 2016-09-12 18:30:39 +02:00
Philip Müller
ea1c8a0e5d [plymouthcfg] add module to configure Plymouth (#256) 2016-09-12 07:59:17 +02:00
Jonathan Carter
c83ca9af44 Fix spelling mistake in kdsingleapplicationguard.cpp (#257)
s/emty/empty/g.
2016-09-12 07:56:13 +02:00
Philip
7dfac7b5bf [mhwdcfg] update conf file
- add 302 and 380 to gfx IDs
- disable usb as we don't have any config for that yet
2016-09-12 07:40:08 +02:00
Philip
8627f291ca [mhwdcfg] update conf file
- add 302 and 380 to gfx IDs
- disable usb as we don't have any config for that yet
2016-09-12 07:39:25 +02:00
Chantara Tith
64db6d5ba1 Use device's immutable copy instead of rescanning. 2016-09-11 16:20:50 +07:00
Philip
045ec0408d [displaymanager] prefer Budgie before Gnome 2016-09-10 23:04:27 +02:00
Philip
fe92450e7b [displaymanager] prefer Budgie before Gnome 2016-09-10 22:16:58 +02:00
Philip
7ed780014d [mhwdcfg] replace hardwarecfg 2016-09-10 14:55:28 +02:00
Philip
06facb22cb [servicescfg] add new module 2016-09-10 14:18:58 +02:00
Philip
6927ca6439 [chrootcfg] add new module 2016-09-10 14:17:47 +02:00
Philip
29392f24ee [mhwdcfg] replace hardwarecfg 2016-09-10 14:17:04 +02:00
Philip
f03195150b [hardwarecfg] remove module 2016-09-10 14:15:47 +02:00
Philip
5adf8775fa [users] use upstream config 2016-09-10 14:10:43 +02:00
Philip
ff8be85b08 [modules] adjust to Manjaro configs 2016-09-10 14:01:50 +02:00
Philip
587681b14c [postcfg] add new module 2016-09-10 13:56:05 +02:00
Philip
d7c8ff5a45 [hardwarecfg] add new module 2016-09-10 13:55:17 +02:00
Philip
6b44320bfd [branding] add Manjaro branding 2016-09-10 13:54:01 +02:00
Philip
295cf12b9a [plymouthcfg] add module to configure Plymouth 2016-09-10 13:50:50 +02:00
Teo Mrnjavac
c316d22b08 Keep an immutable copy for every scanned Device* to avoid rescans. 2016-09-09 11:28:39 +02:00
Teo Mrnjavac
464336d609 Assert on nullptr Device*. 2016-09-09 11:28:39 +02:00
Chantara Tith
23026252a8 Update to KPMcore LUKS' API changes 2016-09-09 11:28:39 +02:00
Chantara Tith
aa10fe982a API Changes, logicalSectorSize -> logicalSize, totalSectors -> totalLogical. 2016-09-09 11:28:39 +02:00
Teo Mrnjavac
cbb2162ee9 Merge pull request #255 from stikonas/master
Port away from most cases of Q_FOREACH to C++11 ranged for loop.
2016-09-02 15:14:25 +02:00
Teo Mrnjavac
6c928e0404 Exclude ISO9660 volumes. 2016-09-02 15:12:48 +02:00
Teo Mrnjavac
ad219e1b8e Exclude loop devices with mounted children from devices list. 2016-09-02 12:08:00 +02:00
Andrius Štikonas
9f0ca042fe Port away from most cases of Q_FOREACH to C++11 ranged for loop.
In order to avoid deep copies, Qt containers over which we iterate must be const
The remaining unported cases require qAsConst (Qt 5.7) or std::as_const (C++17)
2016-09-01 16:46:14 +01:00
Teo Mrnjavac
1a1657a7fc Set timezone on the live system too. 2016-08-26 17:20:48 +02:00
Teo Mrnjavac
f2a087c348 Write timezone correctly. 2016-08-26 15:05:42 +02:00
Teo Mrnjavac
83b341b0f7 Handle a variety of case-insensitive situations on the VFAT ESP.
This fixes CAL-385 #close
2016-08-23 10:23:22 +02:00
Teo Mrnjavac
7104ef915a Merge pull request #251 from udeved/master
displaymanager: write processed DM list to globalstorage
2016-08-19 13:30:28 +02:00
Teo Mrnjavac
0684a761bd Copyright. 2016-08-19 12:49:36 +02:00
Teo Mrnjavac
d99d7bfdff Expose CalamaresUtils::obscure as libcalamares.utils.obscure. 2016-08-19 12:49:36 +02:00
Teo Mrnjavac
f8078be2fd Wrap CalamaresUtils::obscure in CalamaresPython. 2016-08-19 12:49:36 +02:00
udeved
c2d7890f3e displaymanager: write process DM list to globalstorage so other modules can use it 2016-08-19 09:42:28 +02:00
Teo Mrnjavac
8daac2cba5 Recompute defaults after init. 2016-08-18 16:18:24 +02:00
Teo Mrnjavac
3146d2093e Add support for freegeoip.net in locale module.
This is disabled by default. To enable, provide a geoipUrl setting in
locale.conf.
Relies on the RequirementsChecker output, in the welcome module.
2016-08-18 15:38:41 +02:00
Teo Mrnjavac
cd1268cb63 Fix defaults. 2016-08-18 15:30:08 +02:00
Teo Mrnjavac
9a1c65a23e Style. 2016-08-18 15:29:32 +02:00
Teo Mrnjavac
0521f8a3b9 Be sure to always write hasInternet into GlobalStorage. 2016-08-18 15:28:55 +02:00
Teo Mrnjavac
6926f239f7 Write hasInternet into GlobalStorage. 2016-08-18 11:27:53 +02:00
Philip Müller
239c7534d2 [locale] default to the states
Since our default locale setting is **en_US** anyway, it makes more sense to default to New York.
2016-08-15 10:06:06 +02:00
V3n3RiX
ef3600891f improve portage backend, so that it removes ALL calamares deps 2016-08-12 15:32:35 +01:00
Teo Mrnjavac
701d7d8a62 Be sure to validate user name even if empty. 2016-08-12 12:40:15 +02:00
Teo Mrnjavac
e6cabe277b Fix locale names and user-visible locale names. 2016-08-10 16:10:06 +02:00
Teo Mrnjavac
2b26f6e6c9 Fix localecfg to work with new locale module. 2016-08-10 12:11:48 +02:00
Teo Mrnjavac
dee87f68aa And in GS, it's called localeConf now. 2016-08-10 11:47:36 +02:00
Teo Mrnjavac
160d00a47a Write locales map into GS. 2016-08-10 11:47:24 +02:00
Teo Mrnjavac
8f44f76443 Use LocaleConfiguration in LocalePage. Add relevant widgets.
Also fix error reporting.
Move guesswork to LocaleConfiguration + a total rewrite.
Locale is now a LocaleConfiguration, that converts to QMap.
2016-08-10 11:45:22 +02:00
Teo Mrnjavac
f60f1c6220 New LocaleConfiguration class which also deals with locale guesswork. 2016-08-10 11:43:13 +02:00
Teo Mrnjavac
471d94a02e Read country codes from zone.tab. 2016-08-10 11:43:13 +02:00
Teo Mrnjavac
2e27c3b84b Don't try to overwrite resolv.conf in no-chroot mode. 2016-08-02 13:25:33 +02:00
Teo Mrnjavac
5e12096e4b Only use UTF-8 locales. 2016-08-02 13:25:33 +02:00
Teo Mrnjavac
849137c20b Use UUIDs instead of paths to match osprober entries with partitions. 2016-07-28 17:53:54 +02:00
Teo Mrnjavac
811261258b Try to load filesystem UUIDs into the OsproberEntryList structure. 2016-07-28 17:53:54 +02:00
Teo Mrnjavac
f13f6a1faf Add filesystem UUID to OsproberEntry structure. 2016-07-28 17:53:54 +02:00
Teo Mrnjavac
18b6e56271 nullptr safety. 2016-07-28 17:53:54 +02:00
Teo Mrnjavac
754cfc78b3 Make che color cache indexed by UUID instead of by path. 2016-07-28 17:53:54 +02:00
Philip
8768c3af66 [machineid] simplify code 2016-07-28 02:37:51 +02:00
Philip
ca9f4bc053 [manchineid] proper cleanup 2016-07-28 02:00:47 +02:00
Philip
24c0da3fb1 [machineid] fix copyright 2016-07-28 01:28:53 +02:00
Philip
23789675c8 [machineid] cleanup first
- to garantie a random new ID also dbus machine-id needs to be removed
2016-07-28 01:27:41 +02:00
Teo Mrnjavac
003456594e Try with new enumeration but no cache reset. 2016-07-27 16:55:22 +02:00
Teo Mrnjavac
1da4360ed6 Go on with colors enumeration even when there's a new partition. 2016-07-27 16:53:17 +02:00
Teo Mrnjavac
c08eecbbaf Invalidate colors cache on delete. 2016-07-27 16:49:53 +02:00