Commit Graph

530 Commits

Author SHA1 Message Date
Teo Mrnjavac
e258f0b5a9 Use onActivate instead of focusInEvent for page focus control. 2014-11-26 18:41:35 +01:00
demmm
86c49fbc89 Use correct entry from global_storage 2014-11-26 12:15:39 -05:00
Teo Mrnjavac
925632800b Debug output for lcLocale 2014-11-26 17:47:06 +01:00
Kevin Kofler
b79618aa15 locale: Move the string processing out of the loop. 2014-11-26 17:12:18 +01:00
Teo Mrnjavac
88dfd7fa10 Fix system locale string + allow 3 letter language codes. 2014-11-26 11:30:06 +01:00
Kevin Kofler
e7d0f205a4 locale: Support distributions without locale-gen.
If /etc/locale.gen (or the configured localeGenPath) does not exist,
assume that all the supported languages are already built into the
locale archive, and retrieve the list from "locale -a".

The list will then contain lines with only the locale rather than
locale + space + encoding, but that should not affect any of the rest of
the code. UTF-8 locales will still contain the string "UTF-8" (as part
of the ".UTF-8" suffix), we will not write a locale.gen file if we don't
have locale-gen, and everything else just strips away the encoding.
2014-11-25 20:03:37 +01:00
Kevin Kofler
440b38addf locale: Optimize guessLCLocale by moving function calls out of loops. 2014-11-25 19:44:16 +01:00
Kevin Kofler
bcbe5103b9 locale: Don't assume 2-letter language codes.
Some languages have 3-letter codes. So instead of splitting the output
of QLocale::name, use QLocale::language and the static
QLocale::languageToString.
2014-11-25 19:41:01 +01:00
Teo Mrnjavac
d2288d0961 Write lc locale setting from GlobalStorage. 2014-11-25 17:56:38 +01:00
Teo Mrnjavac
6049267cf6 Load lcLocale value into GlobalStorage. Also allow localeGenPath setting
in locale.conf.
2014-11-25 17:43:12 +01:00
Teo Mrnjavac
2ca58c6f91 Massive cleanup in LocalePage. Add LCLocale setting, with autodetect. 2014-11-25 17:41:27 +01:00
Teo Mrnjavac
100f08518b Build LCLocale dialog. 2014-11-25 17:40:38 +01:00
Teo Mrnjavac
ddfb8dfbc5 Add relevant strings. 2014-11-25 17:40:24 +01:00
Teo Mrnjavac
6cb072acc4 New LC LOCALE picker dialog. 2014-11-25 17:40:24 +01:00
Teo Mrnjavac
da0afd6e55 Better error reporting in CreatePartitionTableJob.cpp 2014-11-23 11:46:45 +01:00
Teo Mrnjavac
0d64c849fd Unbreak build. Sorry. 2014-11-20 17:21:10 +01:00
Teo Mrnjavac
0d89ba761a Uic in GreetingPage. 2014-11-20 10:04:10 +01:00
Teo Mrnjavac
01c3244396 Merge pull request #155 from calamares/fix-issue-128
grubcfg: Create /etc/default/grub if missing.
2014-11-19 17:20:06 +01:00
Kevin Kofler
ab4d31f1a6 bootloader: Allow overriding the bootloaderEntryName setting.
Allow setting bootloaderEntryName in bootloader.conf. If not specified
there, the setting will be taken from branding.desc.
2014-11-19 17:01:02 +01:00
Kevin Kofler
462819060b branding: Add a dedicated bootloaderEntryName setting.
Use it in the bootloader and grubcfg modules instead of
shortProductName.
2014-11-19 16:50:15 +01:00
Kevin Kofler
4df754ef29 Move detect_firmware_type to the prepare module.
This avoids the duplication between the bootloader and grub modules.
2014-11-19 13:58:18 +01:00
Kevin Kofler
930a49677a grub/test.yaml: Define the shortProductName. 2014-11-18 20:56:41 +01:00
Kevin Kofler
132628c175 grub: Add EFI support.
Fixes #110.

This is based on Daniel Hillenbrand's submissions, but it makes the same
adjustments already done in the bootloader module that's already merged:

* Put detect_firmware_type into the grub module itself until a better
  place is found.

* Get the distribution name from the branding configuration and use the
  file_name_sanitizer on it.

* Get the grub-install executable name from the module configuration.

It also fixes a Python syntax error in the original submission.
2014-11-18 20:51:26 +01:00
Teo Mrnjavac
fb37a0bf2f Fix focus in UsersPage. 2014-11-18 15:57:07 +01:00
Kevin Kofler
1499963920 grubcfg: Create /etc/default/grub if missing.
Also adds a grubcfg.conf with the following settings:

* overwrite: If set to true, always creates /etc/default/grub from
  scratch even if the file already existed. If set to false, edits the
  existing file instead. The default is "false".

* defaults: Default entries to write to /etc/default/grub if it does not
  exist yet or if we are overwriting it. Note that in addition,
  GRUB_CMDLINE_LINUX_DEFAULT and GRUB_DISTRIBUTOR will always be
  written, with automatically detected values. The default in the code
  is empty. The shipped grubcfg.conf currently reproduces the default
  settings from the Fedora installer Anaconda.

Fixes #128.
2014-11-18 04:33:39 +01:00
Kevin Kofler
d5b95d79e5 grubcfg: Handle the case where expected lines are missing.
Check whether we actually had a GRUB_CMDLINE_LINUX_DEFAULT and a
GRUB_DISTRIBUTOR line, add any of them if it was missing.
2014-11-18 03:40:47 +01:00
Kevin Kofler
f58cca1bb2 grubcfg: Don't error if /etc/default is missing.
It is created later in the function.
2014-11-18 03:38:20 +01:00
Kevin Kofler
5cae4e0632 partition: Don't assume that an unknown OS is Windows 7.
Don't talk about "Windows 7 programs, documents, photos, music, and
other files" when we actually have no idea what the other operating
system is or when there are multiple ones.
2014-11-18 02:48:58 +01:00
Kevin Kofler
75921ec125 bootloader/test.yaml: Define the shortProductName. 2014-11-16 15:05:00 +01:00
Kevin Kofler
48eca95a26 grubcfg: Use shortProductName.
This is particularly useful if the full product name contains
"GNU/Linux" or "Linux", because e.g. "Generic GNU/Linux GNU/Linux" does
not make sense.
2014-11-16 05:18:11 +01:00
Kevin Kofler
e420341ba6 bootloader: Use shortProductName.
This is particularly useful if the full product name contains
"GNU/Linux" or "Linux", because e.g. "Generic GNU/Linux GNU/Linux" does
not make sense.
2014-11-16 05:17:06 +01:00
Kevin Kofler
cde7356f0d grubcfg: Quote the GRUB_DISTRIBUTOR value. 2014-11-16 04:58:00 +01:00
Kevin Kofler
76450b44a3 bootloader: Ensure that the file names are valid.
Change any '/' slashes to '-' dashes. Also change spaces to underscores
while we are at it.
2014-11-16 04:56:11 +01:00
Kevin Kofler
8f5b0585cb grubcfg: Get the distribution name from the branding.
Remove the redundant "distributor" setting from grubcfg.conf (and the
entire grubcfg.conf file that has no settings left for now).
2014-11-16 04:33:27 +01:00
Kevin Kofler
3cf5baadc1 bootloader: Get the distribution name from the branding.
Remove the redundant "distribution" setting from bootloader.conf.
2014-11-16 04:26:51 +01:00
Teo Mrnjavac
78de47eb8c Retranslate Users module. 2014-11-13 17:42:02 +01:00
Teo Mrnjavac
ecc2d27a18 Merge pull request #151 from calamares/localecfg
adding localecfg
2014-11-13 17:34:07 +01:00
Rohan Garg
60eb9cfae6 Use the correct file to write things into 2014-11-13 17:08:46 +01:00
Teo Mrnjavac
0f9496babe Finish up retranslation in PreparePage. 2014-11-13 16:52:32 +01:00
Teo Mrnjavac
280baf7326 Move PrepareCheckWidget text out of ctor. 2014-11-13 16:52:32 +01:00
Teo Mrnjavac
9b2dfdf1ec Use Retranslator in Prepare module (partial). 2014-11-13 16:52:32 +01:00
demmm
ff1383d7f5 adding localecfg
locale hardcoded to en_US until local globalstorage is available
run pep8 on bootloader main.py, plain switch from subprocess to chroot_call fails for gummiboot call
2014-11-12 23:10:20 -05:00
Kevin Kofler
7e1ec78d35 grub, bootloader: Make the grub-* and /boot/grub names configurable.
Some distributions (e.g. Fedora) use grub2-* (resp. /boot/grub2/) names.

Fixes #123.
2014-11-13 00:19:24 +01:00
Rohan Garg
d9187c25c7 check_chroot_call does not actually return a error code, use chroot_call
instead.

Thanks to Kevin Kofler for pointing this out.
2014-11-12 18:54:26 +01:00
Rohan Garg
1f6feb9417 Make sure we return a message when dracut or initramfs fail 2014-11-12 17:05:06 +01:00
Teo Mrnjavac
388363c1f2 Merge pull request #148 from calamares/gummibot
make gummiboot kernel/distro agnostic
2014-11-12 12:17:32 +01:00
Teo Mrnjavac
faa77d7f5e Use Retranslator in Partitioning module. 2014-11-11 17:09:33 +01:00
Teo Mrnjavac
688cc8f798 Use Retranslator in KeyboardPage. 2014-11-11 15:46:49 +01:00
Rohan Garg
fb92697a93 Make sure our return value is correct 2014-11-11 15:33:03 +01:00
Teo Mrnjavac
99114e04d8 Merge pull request #147 from kkofler/fix-issue-31
keyboard: Write the keyboard model and layout settings to the root mount point.
2014-11-11 15:23:07 +01:00
Teo Mrnjavac
1d9535053a Use Retranslator in GreetingPage. 2014-11-11 15:17:46 +01:00
Teo Mrnjavac
e5c3888be2 Allow multiple CALAMARES_RETRANSLATE blocks in the same widget. 2014-11-11 15:12:44 +01:00
Teo Mrnjavac
945b59748a Add RETRANSLATE macro to CalamaresUtils::Retranslator. 2014-11-11 15:12:44 +01:00
Kevin Kofler
3e9de2a05a keyboard: Allow absolute paths for the xOrgConfFileName setting.
This should ensure it works on all distributions.
2014-11-11 14:59:30 +01:00
Rohan Garg
2c8aa950a3 Update README.md 2014-11-11 14:56:34 +01:00
Kevin Kofler
86d51b4a9c keyboard: Pass settings directly, not through GlobalStorage.
Pass the settings from keyboard.conf directly to the
SetKeyboardLayoutJob rather than through GlobalStorage.
2014-11-11 14:37:05 +01:00
Kevin Kofler
2fec6e3202 keyboard: kbd-model-map: Add link to the original.
In particular, to the upstream git log for the file.
2014-11-11 14:04:21 +01:00
Kevin Kofler
bfdcf0dbc0 keyboard: Coding style fixes. 2014-11-11 13:57:08 +01:00
Teo Mrnjavac
6f3898a73d Use Retranslator in LocalePage. 2014-11-11 12:44:32 +01:00
demmm
53da965bb1 make gummiboot kernel/distro agnostic
add hibernate option to .conf
create a fallback entry in gummiboot menu
re-add firmware to globalstorage, simplifies this module, will be needed to add more OS to gummi
2014-11-11 00:13:15 -05:00
Kevin Kofler
4f9f7d7858 keyboard: Write the keyboard model and layout settings to the root mount point.
This is implemented as a new SetKeyboardLayout job that does the work.

Portions of the code are adapted from systemd-localed's source code,
which is under a compatible license (LGPLv2.1+, can be converted to our
GPLv3+ license). I ported it from C to to C++/Qt and made some minor
tweaks to the mapping logic (from X11 to vconsole layouts) though.

Fixes #31.

Tested on a Fedora Remix (Kannolo 21) with the default module settings
(finds the converted X11 keymaps for the virtual console) and with
convertedKeymapPath: "" (does the legacy keymap conversion as expected).
2014-11-11 04:48:03 +01:00
Rohan Garg
2b26be4162 Fix copyright holder 2014-11-10 15:45:40 +01:00
Rohan Garg
ce96b13c0d Add a initramfs module that updates the initramfs post install 2014-11-10 15:42:31 +01:00
Teo Mrnjavac
dec452f9b5 Make LocalePage retranslatable. 2014-11-10 14:56:29 +01:00
Teo Mrnjavac
2617ef369e Use retranslate pattern in GreetingPage. 2014-11-10 14:36:18 +01:00
Teo Mrnjavac
9e9a922498 Language selector + focus fix in GreetingPage. 2014-11-10 12:40:00 +01:00
Rohan Garg
d3d9ea130c Fix build, last merge was a bit broken 2014-11-07 16:06:14 +01:00
Teo Mrnjavac
294d6a34ca Merge pull request #142 from shadeslayer/github_master
Make sure we also write to the /etc/hosts file
2014-11-07 15:23:52 +01:00
Rohan Garg
7a2fe5e647 Make sure we also write to the /etc/hosts file 2014-11-07 15:19:55 +01:00
Manjaro Linux
36e8ed5f46 adjust LXDE startup scripts
- add LXQT support
- add LXDE 0.5 changes in Archlinux
2014-11-07 14:04:15 +01:00
Teo Mrnjavac
7c89613332 Merge pull request #140 from kkofler/detect-sddm-session-type
displaymanager: Detect SDDM session type
2014-11-07 11:50:28 +01:00
Kevin Kofler
8512e43405 displaymanager: Set Session= for sddm autologin.
Detect the correct value using find_desktop_environment.
2014-11-07 04:09:54 +01:00
Kevin Kofler
467d78dde6 displaymanager: Use a regex to match User= in sddm.conf.
This ensures we really only match the User= line and not the
RememberLastUser= one.
2014-11-07 04:09:54 +01:00
Kevin Kofler
e365864c05 displaymanager: Detect the KDE Plasma (5 and 4) and GNOME desktop environments.
Add them to the front of the list of desktop environments because users
are more likely to expect those as the default if they have them
installed.
2014-11-07 04:09:54 +01:00
Kevin Kofler
4990b8e3f8 displaymanager: Refactor the desktop environment detection to eliminate the copy&paste.
This also fixes some issues with the previous code:

* The code for LightDM only supported Xfce.

* The case where multiple desktop environments are installed was not
  handled in a good way.

* We now also check that the xsession definition actually exists. This
  allows handling the case where upstream changed the xsession
  definition's name without renaming the invoked binary.
2014-11-07 04:09:54 +01:00
Kevin Kofler
5a4ae7f62c displaymanager: Run "sddm --example-config > /etc/sddm.conf" in a shell.
Otherwise, the output redirection cannot work (and the argument was also
misinterpreted as part of the command name).
2014-11-07 01:09:33 +01:00
Teo Mrnjavac
1df44eddba Fix displaymanager sddm config call. 2014-11-06 10:44:53 +01:00
demmm
3828eb6d2a add the define 2014-11-05 22:42:58 -05:00
demmm
a186c7e44b Missing define, check_chroot_call replaced
not really needed here, subprocess.call well tested
2014-11-05 22:26:10 -05:00
Teo Mrnjavac
486f160ca9 Merge pull request #134 from calamares/sddm
Generate sddm.conf if not present.
2014-11-04 09:51:36 +01:00
demmm
49bdb25f30 remove erronous line line, wrongly left in 2014-10-30 14:30:53 -04:00
Teo Mrnjavac
8026a287d3 Shut up Qt lupdate warnings. 2014-10-29 13:06:52 +01:00
Teo Mrnjavac
10ca85338d Yet another Qt 5.4 fix. 2014-10-28 18:38:27 +01:00
demmm
8cefd1dcb8 remove indent 2014-10-28 11:18:10 -04:00
demmm
e26335d2da proper check for existing sddm.conf
second set of if/else is obsolete with this, sddm.conf always exists at this point
2014-10-28 11:15:35 -04:00
demmm
231c93a513 missed colon 2014-10-27 14:00:35 -04:00
demmm
f26406daa4 actually create a sddm.conf 2014-10-27 13:53:34 -04:00
Rohan Garg
6a9c9cbaae Fix typo 2014-10-27 18:39:11 +01:00
Teo Mrnjavac
8b0ad2f675 Merge pull request #129 from shadeslayer/master
Add support to set the hostname
2014-10-27 17:00:33 +01:00
Rohan Garg
fdd84d1f99 Don't crash when packageOperations is empty 2014-10-27 16:58:42 +01:00
demmm
972fe23131 create sddm.conf if not present 2014-10-27 11:57:32 -04:00
Rohan Garg
a0a3b4dc49 Style fixes
Run calamaresstyle over new classes
2014-10-27 16:53:57 +01:00
Teo Mrnjavac
ee2ed0921e Allow mounting a Fedora image.
Fixes #127
2014-10-27 11:02:09 +01:00
Rohan Garg
4a4dc74f5c Drop useless line 2014-10-22 15:54:07 +02:00
Rohan Garg
b587a0ff00 Add support to set the hostname 2014-10-21 19:06:27 +02:00
Rohan Garg
8a623cc118 Fix function call 2014-10-17 11:52:29 +02:00
Teo Mrnjavac
97867af2aa Autopep8 pass on bootloader module. 2014-10-16 21:08:18 +02:00
Teo Mrnjavac
8f250311e8 Allow links in Greeting page. 2014-10-16 21:05:57 +02:00
Teo Mrnjavac
c2d6237d31 Merge pull request #119 from calamares/efi
adding new bootloader job
2014-10-16 21:08:30 +02:00
Rohan Garg
34befb9cb8 Refactor CPU detection code to be more reliable
Instead of parsing hwinfo output, which might or might be present
on systems, just parse the /proc/cpuinfo file, it's much more
reliable.
2014-10-16 19:34:43 +02:00