Commit Graph

903 Commits

Author SHA1 Message Date
Teo Mrnjavac
f8f005f53c Store osprober output in GlobalStorage. 2014-12-19 15:03:27 +01:00
Teo Mrnjavac
aa70a4b2dd Improve messages in Replace page.
Fixes CAL-155
2014-12-19 14:10:40 +01:00
Teo Mrnjavac
c21f426dee Don't rely on the activated signal in ReplacePage. 2014-12-19 13:53:05 +01:00
Teo Mrnjavac
a7b4c01ec0 GB -> GiB 2014-12-19 13:53:05 +01:00
Teo Mrnjavac
0da99d0866 Hook up ReplacePage in ChoicePage and PartitionViewStep. 2014-12-19 13:53:05 +01:00
Teo Mrnjavac
2f2ef73f20 Compile ReplacePage 2014-12-19 13:53:05 +01:00
Teo Mrnjavac
8f8e1ad6d4 New ReplacePage 2014-12-19 13:53:04 +01:00
Teo Mrnjavac
d3ea92ef3d Also in CalamaresUtilsGui 2014-12-19 13:53:04 +01:00
Teo Mrnjavac
2a5e8c8ee3 Add replace icon. 2014-12-19 13:53:04 +01:00
Daniel Hillenbrand
113812ad3d grub: add --target=i386-pc for bios systems
From Arch wiki:
--target=i386-pc instructs grub-install to install for BIOS systems only. It is recommended
to always use this option to remove ambiguity in grub-install.
2014-12-09 19:21:52 +00:00
Teo Mrnjavac
eb748cca8e Merge pull request #180 from calamares/displaymanager-cleanups
displaymanager: Various fixes and cleanups.
2014-12-06 10:07:54 +01:00
Kevin Kofler
75adfa03fc locale: timezonewidget: Use the system default font.
Don't hardcode the Cantarell font.
2014-12-06 00:15:55 +01:00
Kevin Kofler
2955c0a5a8 displaymanager: Also look for display managers in /usr/sbin. 2014-12-05 22:20:54 +01:00
Kevin Kofler
9b75999706 keyboard: Preselect the current keyboard layout variant. 2014-12-05 02:25:08 +01:00
Kevin Kofler
3d9116b80e grub: Add an optional efiBootloaderId setting.
If the efiBootloaderId is set, it is used as the --bootloader-id when
installing grub-efi. The rationale is pretty much the same as for the
Gummiboot case.

If the setting is not used, the --bootloader-id is determined from the
branding's bootloaderEntryName (as before).
2014-12-05 01:03:21 +01:00
Kevin Kofler
5209af0182 unpackfs: Fix error in list_excludes.
I accidentally removed the initialization of lst.
2014-12-05 00:27:59 +01:00
Kevin Kofler
e6d65d047b Fix unpackfs wrongly excluding separately-mounted partitions.
mount: Remember the extraMounts (and extraMountsEfi, if applicable) in
the global storage (as "extraMounts").

unpackfs: Read the extra mounts from the global storage to generate the
exclude list instead of trying to detect it from the "mount" command's
output, because the latter also includes normally-mounted destination
partitions.

This makes having separate partitions for non-/ mountpoints work again.
2014-12-05 00:17:33 +01:00
Kevin Kofler
20e6cd4ab0 grub/test.yaml: Simulate bootloaderEntryName instead of shortProductName.
That is what grub/main.py now expects in the global storage.
2014-12-05 00:08:08 +01:00
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
f72f1ae5ca README.md for branding. 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
00604a8bca PythonHelper: Add support for bool.
Convert Python bool type from/to C++/QVariant bool (QVariant::Bool) in
PythonHelper::variantToPyObject and PythonHelper::variantFromPyObject.

This fixes the "override" option and any booleans in the "defaults" list
in grubcfg.conf.
2014-11-18 05:34:01 +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
538b457ea8 branding: Add a shortProductName entry.
This is what the bootloader modules really want, and it was also missing
for consistency with the other branding entries.
2014-11-16 05:14:57 +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
Kevin Kofler
98f99fa5bf Introduce and use a Calamares::Branding::setGlobals method.
The method creates a map called "branding" in the global storage, and
inserts an entry for each of the branding strings. This makes the
branding information accessible to the Python modules.

The method is called by CalamaresApplication::initJobQueue.

This is necessary because the Branding class is in libcalamaresui, so
Python modules cannot access it directly.
2014-11-16 04:19:53 +01:00
Kevin Kofler
7478c1266b Point the lib/calamares/libcalamares.so symlink to the versioned so.
Point the lib/calamares/libcalamares.so symlink for the Python modules
directly to the versioned lib/libcalamares.so.VERSION library rather
than to the lib/libcalamares.so symlink. This allows distributions to
install the lib/libcalamares.so symlink to a development package and
only ship lib/libcalamares.so.VERSION and lib/calamares/libcalamares.so
in the runtime package. It is also marginally faster (because only one
level of symlinks has to be resolved instead of two).

(I know this works because I have been manually fixing up this symlink
in the Fedora specfile so far.)
2014-11-14 12:30:56 +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
8575240b95 Capture by-val in Retranslator macro. 2014-11-11 17:05:56 +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
Teo Mrnjavac
08b90e975b Add retranslator class to CalamaresUtils. 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
Teo Mrnjavac
78075d7412 Use the new CalamaresUtils::installTranslator. 2014-11-10 12:26:39 +01:00
Teo Mrnjavac
058be8beb2 Ensure viewpages will have focus. To choose a focused widget inside it,
a viewpage should override void focusInEvent( QFocusEvent* ).
2014-11-10 12:26:03 +01:00
Teo Mrnjavac
8b343ace4a QTranslator switching in CalamaresUtils. 2014-11-10 12:26:03 +01:00
Teo Mrnjavac
fc4ce3d23b Make progress view unfocusable. 2014-11-10 12:26:03 +01:00
Teo Mrnjavac
0849a5983c Actually build translations qrc. 2014-11-07 17:58:47 +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
fef448833e And some more debug output readability improvements. 2014-10-30 17:36:56 +01:00
Teo Mrnjavac
f2f73b2e87 More meaningful debug output. 2014-10-30 17:30:13 +01:00
Teo Mrnjavac
a51251fdc6 Expose list of build-time available translation languages. 2014-10-30 17:26:03 +01:00
Teo Mrnjavac
aaa696f543 Even less debug noise. 2014-10-30 17:25:16 +01:00
Teo Mrnjavac
5b01925d99 Remove debug noise. 2014-10-30 16:26:54 +01: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
Teo Mrnjavac
519ba038cf Fix build on Qt 5.4, again. 2014-10-28 18:30:37 +01:00
Teo Mrnjavac
633c8512c2 Try to make compile on Qt 5.4 2014-10-28 18:20:28 +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
Teo Mrnjavac
a97297a3fe Attempt to fix #125 2014-10-28 12:02:08 +01: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
demmm
c84a98c23c set option to select higlighted text color
keep it independent from background color, should make it easier to add a color section option to branding
2014-10-18 19:41:53 -04: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
Rohan Garg
b8b2c2b735 Properly break lines in Python 2014-10-16 19:00:44 +02:00
Teo Mrnjavac
2e2bd78deb Use Branding in partition viewmodule. 2014-10-16 17:00:08 +02:00
Teo Mrnjavac
4c51d320f6 Use branding in Prepare viewmodule. 2014-10-16 16:59:29 +02:00
Teo Mrnjavac
8e38a03cca Branding in greeting module. 2014-10-16 16:58:58 +02:00
Teo Mrnjavac
90e10f63fa Use Branding in main window. 2014-10-16 16:58:36 +02:00
Teo Mrnjavac
7594c85f2e Add ImageRegistry support to Branding. 2014-10-16 16:57:52 +02:00
Teo Mrnjavac
5e8ab97de4 Actually load branding data from default component. 2014-10-16 16:15:31 +02:00
Rohan Garg
6513c6400e Handle line breaks properly 2014-10-15 12:51:43 +02:00
Teo Mrnjavac
fc60bcb313 Update partitionmanager submodule. 2014-10-15 10:29:53 +02:00
demmm
58bc7c86c1 remove globalstorage entry for efi 2014-10-14 10:47:21 -04:00
Rohan Garg
f9bd0dfcfc Make sure the hwinfo executable exists before calling it 2014-10-14 15:41:20 +02:00
Rohan Garg
eed387f7a4 Make sure to check things exist before actually modifying them
This fixes crashes when a system does not have squashfs-tools or
a grub dir does not exist.
2014-10-14 15:09:38 +02:00
Teo Mrnjavac
9c10b49802 Check if the filesystem to be resized actually supports grow/shrink. 2014-10-14 11:48:19 +02:00
demmm
7a310ef27b rename grub to bootloader calls 2014-10-12 18:21:28 -04:00
demmm
c1a1399958 adding new bootloader job
options are to use grub for BIOS, gummiboot for efi
set extra mountpoint when efi is found
2014-10-12 13:45:02 -04:00
Teo Mrnjavac
a58857baa6 Hook up the branding component code path in CalamaresApplication. 2014-10-10 18:18:59 +02:00
Teo Mrnjavac
2182918476 Groundwork for branding loader/manager. 2014-10-10 18:18:35 +02:00
Teo Mrnjavac
97cf2a796c Load branding component name from Settings. 2014-10-10 18:13:02 +02:00
Teo Mrnjavac
f952b44922 Works better when you actually add it to CMakeLists.txt. 2014-10-10 18:11:27 +02:00
Teo Mrnjavac
8618d85b8f Dummy default branding component. 2014-10-10 18:10:50 +02:00
Teo Mrnjavac
006f0e3eef Make sure the window doesn't grow out of QScreen bounds. 2014-10-09 18:10:11 +02:00
Teo Mrnjavac
9e84581354 Only add wheel to sudoers if a wheel group is defined in conf. 2014-10-08 15:35:27 +02:00
Teo Mrnjavac
ad68ce0187 Make default groups, users group and autologin group configurable. 2014-10-08 15:05:23 +02:00
Teo Mrnjavac
0d1fb79ec8 New config file for users module. 2014-10-08 15:02:27 +02:00
Teo Mrnjavac
ce407a5ec4 Use good old C++ template instead of auto parameter which needs C++1y. 2014-10-07 16:07:28 +02:00
Teo Mrnjavac
961eadada4 New UI and logic for Alongside autopartitioning+install. 2014-10-07 16:07:28 +02:00
Teo Mrnjavac
08a2ab94e7 Use PMUtils::findPartitionByPath in PVS + fix back button in Alongside. 2014-10-07 16:07:28 +02:00
Teo Mrnjavac
2347ead200 Remove bad debug feature. 2014-10-07 16:07:28 +02:00
Teo Mrnjavac
6d60ca5e63 Fix item order in ChoicePage 2014-10-07 16:07:28 +02:00
Teo Mrnjavac
6bd5736d35 Add findPartitionByPath to PMUtils 2014-10-07 16:07:28 +02:00
Teo Mrnjavac
51d12b2b35 The vfat driver apparently supports FAT16 too, be consistent. 2014-10-07 16:07:28 +02:00
Teo Mrnjavac
482b2c0da2 Fix fstype names for mount -t syntax. 2014-10-07 16:07:28 +02:00
Teo Mrnjavac
e7995ad540 Improve Osprober logic to immediately check if entries are resizable. 2014-10-07 16:07:28 +02:00
Teo Mrnjavac
9ebc881223 Prevent segfault on exit when module not found. 2014-10-07 16:07:28 +02:00
Teo Mrnjavac
045d9cdf8c Fix layout in partitioning choice page. 2014-10-07 16:07:28 +02:00
Teo Mrnjavac
faa39e1746 Enable resize+alongside radiobutton if osprober reports multiple lines. 2014-10-07 16:07:28 +02:00
Teo Mrnjavac
0801756cd1 Stub for Alongside page, and logic to detect if alongside is possible. 2014-10-07 16:07:28 +02:00
Teo Mrnjavac
dbd6573ed4 Write required disk space into GlobalStorage. 2014-10-07 16:07:28 +02:00
Teo Mrnjavac
c070b1c836 Const correctness. 2014-10-07 16:07:28 +02:00
Teo Mrnjavac
c6eb0721d9 Check for root mount point before going ahead. 2014-10-07 16:07:28 +02:00
Teo Mrnjavac
aeb20761cc Add preview and partitioning operations to Erase+Autopartition code path 2014-10-07 16:07:28 +02:00
Teo Mrnjavac
8a50685c75 Add clearJobs to PCM 2014-10-07 16:07:28 +02:00
Teo Mrnjavac
b7f2d5d9d3 Fix page flow issue in partition module. 2014-10-07 16:07:28 +02:00
Teo Mrnjavac
a943d55063 Size policy on erase page. 2014-10-07 16:07:28 +02:00
Teo Mrnjavac
fdaea27475 Attempt at a window size fix. 2014-10-07 16:07:28 +02:00
Teo Mrnjavac
ef703b0859 Add page for erase+install operation. 2014-10-07 16:07:28 +02:00
Teo Mrnjavac
dab5a05116 Add isDirty check to PartitionCoreModule 2014-10-07 16:07:27 +02:00
Teo Mrnjavac
4cadbf9b98 Expose icon and tooltip in DeviceModel. 2014-10-07 16:07:27 +02:00
Teo Mrnjavac
a98a4bb614 Add ChoicePage to partition module + OS detection with os-prober. 2014-10-07 16:07:27 +02:00
Teo Mrnjavac
73246b47c6 Prefer nullptr over 0. 2014-10-07 16:07:27 +02:00
Teo Mrnjavac
d39e77f7e8 New PrettyRadioButton, an alternative to QRadioButton with rich text. 2014-10-07 16:07:27 +02:00
Teo Mrnjavac
4d9f887c58 Make the prepare viewmodule use WaitingWidget 2014-10-07 16:07:27 +02:00
Teo Mrnjavac
8651b33843 Make the locale viewmodule use WaitingWidget. 2014-10-07 16:07:27 +02:00
Teo Mrnjavac
13ccede630 Add new icons to CalamaresUtilsGui 2014-10-07 16:07:27 +02:00
Teo Mrnjavac
41cb09ea01 Add ClickableLabel, a QLabel which emits the clicked signal. 2014-10-07 16:07:27 +02:00
Teo Mrnjavac
382317dcaf Added WaitingWidget to libcalamaresui, wrapper for QtWaitingSpinner 2014-10-07 16:07:27 +02:00
Teo Mrnjavac
b14a715300 Add icons to qrc. 2014-10-07 16:07:27 +02:00
Teo Mrnjavac
33569085b7 Merge pull request #116 from plfiorini/packages
Add packages job
2014-09-22 17:43:21 +02:00
Pier Luigi Fiorini
5624132172 Add packages job
This job can be used to install and remove packages.
2014-09-01 21:48:35 +02:00
Teo Mrnjavac
14130ae9c0 Only allow a ViewStep to change next button status if it's active now. 2014-09-01 12:49:24 +02:00
demmm
631649ea69 1.0 Gb RAM should be a good default 2014-08-27 16:17:03 -04:00
Teo Mrnjavac
a9aa3e9aa6 Show an error or warning if there are unsatisfied requirements. 2014-08-26 18:24:51 +02:00
Teo Mrnjavac
2182fd2f0c Add info and fail icons to libcalamaresui. 2014-08-26 18:24:51 +02:00
Teo Mrnjavac
5434a04ebc Block the install process if an entry is required but unsatisfied. 2014-08-26 18:24:51 +02:00
Teo Mrnjavac
87711c89fc Use common icons in users viewmodule. 2014-08-26 18:24:51 +02:00
Teo Mrnjavac
d97bb47f09 Add proper QResrouce system to libcalamaresui, finish up prepare checks
This also adds ImageRegistry, a SVG cache, a bunch of utility functions
for shared pixmaps in CalamaresUtilsGui and renames several qrc files
in viewmodules.
2014-08-26 18:24:51 +02:00
Teo Mrnjavac
0404413b05 Store active user in GlobalStorage as username. 2014-08-26 18:24:51 +02:00
Teo Mrnjavac
3bef0b835a Check for mains power in prepare viewmodule. 2014-08-26 18:24:51 +02:00
Teo Mrnjavac
26419f2c8a Check for internet connection in prepare viewmodule. 2014-08-26 18:24:51 +02:00