Commit Graph

2117 Commits

Author SHA1 Message Date
demmm
cfef01de39 fix crash on loading webview page with QtWebengine 2016-12-22 12:11:46 +01:00
Calamares CI
96476982d7 [dummypythonqt] Automatic merge of Transifex translations 2016-12-22 02:54:26 +00:00
Calamares CI
f88a980526 [dummypythonqt] Automatic merge of Transifex translations 2016-12-22 00:35:29 +00:00
Calamares CI
84d52a8b78 [dummypythonqt] Automatic merge of Transifex translations 2016-12-21 02:46:51 +00:00
Calamares CI
b3c62180a1 [dummypythonqt] Automatic merge of Transifex translations 2016-12-21 00:35:32 +00:00
Rohan Garg
4a55802b18 Allow passing a LOCALE variable in the package list
This allows for installing locale packages. This can be achieved
by adding a entry of the format packagename-${LOCALE} in the
packages configuration module.
2016-12-20 16:57:23 +01:00
Calamares CI
39d188079c [dummypythonqt] Automatic merge of Transifex translations 2016-12-20 02:46:41 +00:00
Calamares CI
8b1da00235 [dummypythonqt] Automatic merge of Transifex translations 2016-12-20 00:35:35 +00:00
Chantara Tith
ed42185927 Use device's immutable copy instead of rescanning. 2016-12-19 20:02:58 +01:00
Bernhard Landauer
297cf45bba logo padding 2016-12-19 19:53:38 +01:00
Bernhard Landauer
213c65676e update logos 2016-12-19 19:53:28 +01:00
Teo Mrnjavac
188b9efd79 Bump KPMcore requirement. 2016-12-19 19:48:07 +01:00
Teo Mrnjavac
a9e4315665 Make sure we write the inner fs type to globalstorage. 2016-12-19 19:48:01 +01:00
Philip
f73171ac4c [partition] Bump kpmcore requirements 2016-12-19 19:47:51 +01:00
Teo Mrnjavac
56fbec7b55 Improve user-visible strings in SetPartFlagsJob. 2016-12-19 19:47:46 +01:00
Teo Mrnjavac
6d0965ef3f Keep an immutable copy for every scanned Device* to avoid rescans. 2016-12-19 19:47:30 +01:00
Teo Mrnjavac
44368db30a Assert on nullptr Device*. 2016-12-19 19:47:25 +01:00
Chantara Tith
9afa2935cd Update to KPMcore LUKS' API changes 2016-12-19 19:47:18 +01:00
Chantara Tith
39c9f82c9c API Changes, logicalSectorSize -> logicalSize, totalSectors -> totalLogical. 2016-12-19 19:47:14 +01:00
Calamares CI
54e98359de [dummypythonqt] Automatic merge of Transifex translations 2016-12-19 02:47:02 +00:00
Calamares CI
afca3d2778 [dummypythonqt] Automatic merge of Transifex translations 2016-12-19 00:35:30 +00:00
Calamares CI
cee5bc34f5 [dummypythonqt] Automatic merge of Transifex translations 2016-12-18 02:46:57 +00:00
Calamares CI
0614753216 [dummypythonqt] Automatic merge of Transifex translations 2016-12-18 00:35:35 +00:00
Calamares CI
13e16b6954 [dummypythonqt] Automatic merge of Transifex translations 2016-12-17 02:46:16 +00:00
Calamares CI
4b78714704 [dummypythonqt] Automatic merge of Transifex translations 2016-12-17 00:35:22 +00:00
Calamares CI
5bea549daa [dummypythonqt] Automatic merge of Transifex translations 2016-12-16 17:15:41 +00:00
Teo Mrnjavac
ec1fc5f74d Properly load translations. 2016-12-16 17:03:14 +01:00
Calamares CI
172d336f57 [dummypythonqt] Automatic merge of Transifex translations 2016-12-16 17:03:14 +01:00
Calamares CI
86bb699fdf [dummypythonqt] Automatic merge of Transifex translations 2016-12-16 17:03:14 +01:00
Calamares CI
7b5b099c39 [dummypythonqt] Automatic merge of Transifex translations 2016-12-16 17:03:14 +01:00
Calamares CI
404d261839 [core] Automatic merge of Transifex translations 2016-12-16 17:03:14 +01:00
Calamares CI
5f632e8a3d [dummypythonqt] Automatic merge of Transifex translations 2016-12-16 17:03:14 +01:00
Teo Mrnjavac
13e79f8c64 Format correctly. 2016-12-16 17:03:13 +01:00
Teo Mrnjavac
1797c5fea1 Handle exception. 2016-12-16 17:03:13 +01:00
Teo Mrnjavac
7160aa60c3 Reorder. 2016-12-16 17:03:13 +01:00
Teo Mrnjavac
27328a720b Get new locale name in retranslate function. 2016-12-16 17:03:13 +01:00
Teo Mrnjavac
b1c67f429f Update headers. 2016-12-16 17:03:13 +01:00
Teo Mrnjavac
f4696f22a1 Pass locale name to PythonQt module. 2016-12-16 17:03:13 +01:00
Teo Mrnjavac
99ca3d768d Expose translator locale name. 2016-12-16 17:03:13 +01:00
Teo Mrnjavac
0c36de68ff Attach retranslator to base widget of ViewStep. 2016-12-16 17:03:13 +01:00
Teo Mrnjavac
3143015440 PEP fix. 2016-12-16 17:03:13 +01:00
Teo Mrnjavac
e541dbfbea React to retranslate call. 2016-12-16 17:03:13 +01:00
Teo Mrnjavac
9923e8504d Nicer strings. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
d3845144bb Start from empty str for entry point annotation. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
46787222c9 Fix ifdefs for WITH_PYTHONQT. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
0d6daf11b5 Update dummypythonqt to test PythonQt jobs. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
ca7728cd34 Implement PythonQtViewStep::jobs as a wrapper for Python-provided jobs. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
d425f71fdb Build it. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
aad1c536d1 New PythonQtJob class. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
3170067089 Make JobResult inheritable and remove obsolete Status enum. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
f3fa124f8d Set configuration map in PythonQt module. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
a3887d268a Expose global_storage and utils as objects in PythonQt.calamares. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
864109fd4e Build them. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
4648f5e8e0 Utils wrapper class, to expose libcalamares.utils under PythonQt. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
7791307e1e Wrapper for GlobalStorage, to make it available through PythonQt. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
25613d1bef Fix _calamares_module_basewidget check and improve readability. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
0f0a6ab18d PythonQtViewStep has no decorator. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
9aefeed648 Expose PythonQt.calamares.global_storage. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
69d870a486 Preliminary work on translations support in dummypythonqt. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
b77b4ee7d5 Extend dummypythonqt to test QWidget parenting and QObject::connect. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
a54f217173 Use CalamaresUtils::lookupAndCall in PythonQtViewStep.
This is done to support both Pythonic and Qt style method names, i.e.
both "isNextEnabled" and "is_next_enabled" is ok in a Python module.
Also better documentation in PythonQtViewStep, and stub for
setConfigurationMap.
Finally, proper handling of PythonQtViewStep Python-facing basewidget:
with this change, a call to PQVS::widget() only triggers a widget
relayout if it's necessary, and leaves it alone otherwise.
2016-12-16 17:03:00 +01:00
Teo Mrnjavac
fb9d1fa339 Add PythonQtUtils.{h,cpp} with CalamaresUtils::lookupAndCall. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
9570bd94e8 Nor this. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
869828a557 We don't need this. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
f1d6cc0283 Rewritten dummypythonqt module to work with current API state. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
53f687587b Add support for attaching a Python console in DebugWindow.
Also add support for showing module type/interface.
Also minor layout improvements.
2016-12-16 17:03:00 +01:00
Teo Mrnjavac
c618999418 Properly load new PythonQtViewModule.
Only initialize Python if it's not initialized yet.
Inject @calamares_module decorator to fetch the entry class.
2016-12-16 17:03:00 +01:00
Teo Mrnjavac
2736ad6e09 User-visible Type and Interface strings in Module. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
d526935001 Remove PythonQtConsoleViewStep, which was only there for testing. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
b4002a716a New PythonQtViewStep. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
0f734c8c5c Make sure to only call Py_Initialize if Python is not initialized. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
553062fc11 Fix build. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
8a90b89d25 Headers. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
264fb6996f dummypythonqt module for testing purposes. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
0a5faa4888 PythonQtConsoleViewStep for testing purposes. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
2c3b56c803 Link against PythonQt; new PythonQtViewModule stub. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
ada620effc Find PythonQt. 2016-12-16 17:03:00 +01:00
Teo Mrnjavac
026fa922d2 Do not dereference nullptr. 2016-12-14 09:02:07 +01:00
Teo Mrnjavac
07de427aab Provide default for m_writeEtcDefaultKeyboard in KeyboardViewStep. 2016-12-14 09:01:56 +01:00
Teo Mrnjavac
163cf52900 Write hasInternet to GlobalStorage.
CAL-431 #close
2016-12-14 09:01:39 +01:00
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
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
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
Teo Mrnjavac
0ad819e301 Make sure we write the inner fs type to globalstorage. 2016-11-25 16:21:25 +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
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
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
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
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
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
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
Rohan Garg
662656a762
Better handling for when the Autologin section already has things 2016-10-31 17:55:59 +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
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
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
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
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
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
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
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
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
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
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
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
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
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