Commit Graph

572 Commits

Author SHA1 Message Date
Kevin Kofler
727db05fdf grub: Use bootloaderEntryName instead of shortProductName.
Use bootloaderEntryName instead of shortProductName as the
--bootloader-id.
2014-12-04 23:08:27 +01:00
Teo Mrnjavac
3984bf0634 Merge pull request #156 from calamares/grub-efi-support-rfe-110
grub: Add EFI support (improved).
2014-12-02 14:24:41 +01:00
Kevin Kofler
b411a66baf displaymanager: Make the settings follow the naming convention.
Make the defaultDesktopEnvironment and desktopFile settings in
displaymanager.conf follow the naming convention used in the other .conf
files.
2014-12-01 03:30:42 +01:00
Kevin Kofler
a54067f709 displaymanager: Don't run xdg-icon-resource and update-desktop-database.
Don't run xdg-icon-resource and update-desktop-database in the basic
setup for KDM. These tools have absolutely nothing to do with KDM. KDM
does not ship any icons in the hicolor theme, nor a .desktop file (let
alone one that handles any MIME type, the only case in which
update-desktop-database is needed).

I know the original shell script from Manjaro called these when setting
up KDM, but this is really the wrong place. If you need to call these,
they need to go into another module, and you also have to call them
independently of the selected display manager.
2014-12-01 03:25:44 +01:00
Kevin Kofler
a0bb108486 displaymanager: Fix the use of getent in the basic setup.
This also matches what the original shell script from Manjaro did.
2014-12-01 03:20:55 +01:00
Kevin Kofler
90a25fdc62 displaymanager: Disable basic setup by default.
Add a "basicSetup" boolean setting and default to leaving this kind of
setup operations to the distribution packages (i.e., to
"basicSetup: false").
2014-12-01 03:14:33 +01:00
Kevin Kofler
95e39e05fa displaymanager: Use libcalamares.utils.debug instead of print.
Use libcalamares.utils.debug instead of print to output a debugging
message during SDDM autologin setup.
2014-12-01 03:03:20 +01:00
Kevin Kofler
524bcc15ea displaymanager: Fix default session setup for GDM.
The default session setting in GDM is per user. Therefore, it is not of
much use to set it for the gdm user. (Nobody will log in as "gdm".)
Unfortunately, there seems to be no systemwide setting for the default
session, the AccountsService provides no such setting, and GDM just
hardcodes the fallback to use if it is not set in the AccountsService.
(GDM first tries "gnome", and if that is not available, it picks the
first session in the alphabet.)

Therefore, the best we can do right now is to set the default session
for the autoLoginUser. This is the case where it matters the most
anyway. We would also need the username of a non-autologin user in the
global storage to do any better.
2014-12-01 03:01:39 +01:00
Kevin Kofler
5e14080891 displaymanager: Remove lightdm gdmflexiserver hack.
Remove the hack that symlinks /usr/lib/lightdm/lightdm/gdmflexiserver as
/usr/bin/gdmflexiserver.

Upstream LightDM removed their gdmflexiserver implementation in 1.9.4 in
2013:
http://bazaar.launchpad.net/~lightdm-team/lightdm/trunk/revision/1841

In addition, LightDM was already adding the path containing its
gdmflexiserver implementation to PATH, so there was no use symlinking it
into /usr/bin, potentially overwriting the original version from GDM.
This must have been a workaround for an ancient LightDM version that
didn't even do that.

And finally, the hardcoded /usr/lib/lightdm/lightdm/gdmflexiserver path
was wrong on Fedora to begin with (we had used
/usr/libexec/lightdm/gdmflexiserver, but now the file is completely gone
because upstream removed it).
2014-11-29 17:21:36 +01:00
Kevin Kofler
e78418b693 displaymanager: Don't error if a DM is not installed.
If a display manager is in the list, but not installed, do not return an
error message, but only print a debugging message and proceed.

This allows distributions that support multiple display managers to list
them all, independently of what the concrete live image will be using.
2014-11-29 17:14:17 +01:00
Kevin Kofler
2783f98615 displaymanager: Add my copyright to main.py.
I have already written a bunch of code in there.
2014-11-29 16:56:43 +01:00
Kevin Kofler
a525de8f11 displaymanager: Fix typos in displaymanager.conf. 2014-11-29 16:56:16 +01:00
Kevin Kofler
210685a15d mount: Fix /run mount.
It turns out that I had messed this up. Issue #173 was addressed anyway
by the followup fix to unpackfs to only exclude the directories that are
actually mounted (which does work), but with this fix, /run is now
handled as intended.

PS: Should the mount job not check the return value of
libcalamares.utils.mount instead of failing silently?
2014-11-29 05:07:40 +01:00
Manjaro Linux
eee54241d1 [umount] use lazy switch
in some rare cases you can't unmount your mountpoints. As it is the last step we can use lazy switch to force unmounting.
2014-11-28 22:32:38 +01:00
Manjaro Linux
0a6053dd82 Fix syntax error
This fixes e65d9c4f. Setting a variable can't end with :
This also fixes the issue with referenced before assignment
2014-11-28 22:12:19 +01:00
Daniel Hillenbrand
722e87fd00 packages: add --noconfirm arg for pacman, also remove unneeded deps 2014-11-28 20:54:35 +01:00
Daniel Hillenbrand
22a9fd86df localecfg: only restore locale.gen.bak if available 2014-11-28 20:05:54 +01:00
Kevin Kofler
6f78ecab3b displaymanager: Fix the default_desktop_environment option.
Do not use a YAML list when only a single entry actually works. (It was
just silently using the last one.)

Create the default_desktop_environment DesktopEnvironment tuple. Before,
the setting was silently ignored altogether.
2014-11-28 18:51:08 +01:00
Kevin Kofler
e65d9c4f4d Revert "Fix autologin-routine"
This reverts commit 9c799b32e9.

This was already right before. default_desktop_environment.desktop_file is not a
variable, it's a field of a variable. This commit is not valid Python:
"SyntaxError: invalid syntax".
2014-11-28 18:40:49 +01:00
Manjaro Linux
9c799b32e9 Fix autologin-routine
default_desktop_environment.desktop_file needs to been passed actually.
2014-11-28 18:36:18 +01:00
Kevin Kofler
36488583f7 unpackfs: Add a trailing '/' to the excludes. 2014-11-28 18:33:31 +01:00
Kevin Kofler
f0203a072c unpackfs: Automatically detect the exclude list from the mounts.
See issue #173.
2014-11-28 18:29:57 +01:00
Manjaro Linux
6a70029198 Fix commit d5d74fbdcd
We need to pass default_desktop_environment if we won't use automatic desktop detection.
2014-11-28 18:27:16 +01:00
Kevin Kofler
96d863b22b mount: Mount /run as a tmpfs in the rootMountPoint.
In particular, this also ensures that the directory gets created on the
target system so things can be mounted into it.

Fixes #173.
2014-11-28 18:03:58 +01:00
Teo Mrnjavac
6e98f63bf3 Merge pull request #171 from calamares/machineid-module
Add a machineid module.
2014-11-28 16:52:08 +01:00
Teo Mrnjavac
e85b2d164f Hook up ClearMountsJob in PartitionCoreModule. 2014-11-28 15:52:18 +01:00
Teo Mrnjavac
1de7b55c3b ClearMountsJob: umount all partitions before making changes to a device.
Fixes #169
2014-11-28 15:52:18 +01:00
Manjaro Linux
ddc7a6057d Update displaymanager.conf
Add an example to force Plasma5 desktop (commented out)
2014-11-28 09:11:27 +01:00
Manjaro Linux
d5d74fbdcd Add option to force desktop environment
This adds the function to force a desktop environment. We might think to add it also to global storage.
2014-11-28 09:06:33 +01:00
Manjaro Linux
b4b409243f [displaymanager] make openbox session have "less priority".
Fixes settings Session= when both lxqt and openbox are installed, it will first find lxqt an use put lxqt.desktop
This fixes also #170
2014-11-28 08:23:46 +01:00
Kevin Kofler
587e76aa56 machineid: Add modules.desc. 2014-11-27 22:18:34 +01:00
Kevin Kofler
5f99d51f80 machineid: Add missing import. 2014-11-27 21:11:56 +01:00
Kevin Kofler
0b0868822d Add a machineid module.
The module creates /etc/machine-id and/or /var/lib/dbus/machine-id. By
default, it is enabled and creates both files, making the latter a
symlink to the former.
2014-11-27 21:08:50 +01:00
Kevin Kofler
8591dcf731 unpackfs: Make rsync preserve everything, exclude special paths.
Add the following flags to rsync:
* `-H, --hard-links            preserve hard links`
* `-A, --acls                  preserve ACLs (implies --perms)`
* `-X, --xattrs                preserve extended attributes`
(i.e., the preservation options not already implied by -a).

Also exclude the special paths that do not make sense to rsync, because
reading the extended attributes from those can cause errors, at least
with SELinux enabled.

This fixes installation of Fedora systems with SELinux enabled.
2014-11-27 18:36:46 +01:00
Teo Mrnjavac
0c3f88077d More debug output in CreatePartitionTableJob 2014-11-27 14:22:00 +01:00
Rohan Garg
ac5cecee19 Clean up unused packages after installation
Fixes #166.
2014-11-27 11:03:12 +01:00
Teo Mrnjavac
5b864c5dc3 Make networkmanager service example optional. 2014-11-27 10:57:09 +01:00
Teo Mrnjavac
5bb7755925 Remove unnecessary debug output. 2014-11-26 19:10:17 +01:00
Teo Mrnjavac
52a1a28696 Fix focus handling in Keyboard page. 2014-11-26 18:56:09 +01:00
Teo Mrnjavac
5fdca37db5 Focus fix in Locale page. 2014-11-26 18:52:44 +01:00
Teo Mrnjavac
472590669f Adding stuff to GlobalStorage works much better it is actually executed. 2014-11-26 18:47:46 +01:00
Teo Mrnjavac
0738af04ca Reimplement onActivate in UsersViewStep for focus handling. 2014-11-26 18:41:35 +01:00
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