Commit Graph

480 Commits

Author SHA1 Message Date
Teo Mrnjavac
88d5a301c9 Update Calamares modules documentation. 2014-08-06 15:50:39 +02:00
Teo Mrnjavac
83ad1fae0e Debug output in keyboard viewmodule. 2014-08-06 15:37:21 +02:00
Aurélien Gâteau
b5c3928609 unsquashfs: Do not ignore rsync failures 2014-08-06 15:11:10 +02:00
Aurélien Gâteau
b246a95606 Coding style 2014-08-06 15:11:10 +02:00
Aurélien Gâteau
493e368bf0 update partitionmanager submodule: Build PartResizerWidget 2014-08-06 15:08:19 +02:00
Teo Mrnjavac
e9ef90990b Correctly load globalstorage fake. 2014-08-06 12:57:12 +02:00
Teo Mrnjavac
5c8fa759b0 Update testmodule.py for new config structure. 2014-08-06 12:36:10 +02:00
Teo Mrnjavac
8f10c21e5b Big configuration overhaul.
Module descriptors are now module.desc, no configuration allowed inside.
Module config files are <modulename>.conf, installed in
share/calamares/modules.
settings.conf is read from /etc/calamares, then share/calamares, and if
running with --debug also in the current dir.
Module config files are read from /etc/calamares/modules, then
share/calamares/modules, and if running with --debug also in
src/modules/<modulename> relative to the current dir.
2014-08-06 11:54:45 +02:00
Teo Mrnjavac
75e9fd6aa3 Dracut module. 2014-08-06 11:54:17 +02:00
Aurélien Gâteau
415ad2c506 Fix empty error message 2014-08-06 11:53:23 +02:00
Aurélien Gâteau
a267ef856e Check file system after the resize, like PM does 2014-08-06 11:52:27 +02:00
Aurélien Gâteau
f5ccc616b9 Check file system before resizing: necessary for testResizePartition:shrink to pass 2014-08-06 11:49:04 +02:00
Aurélien Gâteau
d48644a49c Improve prettyName of all jobs, log them in execJobList() 2014-08-06 11:48:03 +02:00
Aurélien Gâteau
e2fe559f9d testResizePartition: more reliability tests
- use bigger partition sizes
- write a file before resizing, test it is the same after resizing
2014-08-06 11:46:03 +02:00
Aurélien Gâteau
dac23c90a1 Implement MoveFileSystemJob: all testResizePartition tests pass 2014-08-05 18:27:24 +02:00
Aurélien Gâteau
4716b1c9b4 Coding style 2014-08-05 17:53:10 +02:00
Aurélien Gâteau
3db6d607ca move MoveFileSystemJob to its own file
It's going to be bigger than the others.
2014-08-05 17:38:26 +02:00
Aurélien Gâteau
249a28910a Make it possible to update message and details fields of a JobResult 2014-08-05 17:37:24 +02:00
Aurélien Gâteau
1314bf944f Update partitionmanager submodule: Include CopySourceDevice and CopyTargetDevice 2014-08-05 17:35:54 +02:00
Aurélien Gâteau
f007810118 Implement SetPartGeometryJob and ResizeFileSystemJob
Now testResizePartition:grow and testResizePartition:shrink pass
2014-08-05 16:11:34 +02:00
Aurélien Gâteau
60a224e5cd 3MB is too small for ext4: set a bigger new size for shrink 2014-08-05 16:10:20 +02:00
Aurélien Gâteau
9dac375a31 Don't forget to queue the job! 2014-08-05 16:09:30 +02:00
Aurélien Gâteau
09c3240364 Scaffolding and tests for ResizePartitionJob 2014-08-05 14:57:00 +02:00
Aurélien Gâteau
fc3f3eaa3a Update partitionmanager submodule: Make it possible to set partition sectors from the outside world 2014-08-05 14:55:49 +02:00
Teo Mrnjavac
84ec430729 Add some Python API docs. 2014-08-05 13:23:04 +02:00
Aurélien Gâteau
e6c80ed5bd Coding style 2014-08-05 09:54:30 +02:00
Teo Mrnjavac
1d6c41e94d A timezone is a file, not a directory. 2014-08-04 21:48:04 +02:00
Aurélien Gâteau
9ce55bfb83 Introduce PartitionSizeWidget to reduce duplication between dialogs 2014-08-04 19:26:16 +02:00
Aurélien Gâteau
e482481262 updatePartitionToCreate: avoid crash
Create the new partition before deleting the old one: otherwise the
m_partition member of dlg is dangling at the time we call createPartition()
2014-08-04 19:23:39 +02:00
Aurélien Gâteau
3d40527d29 Make it possible to "resize" (aka delete + create for now) existing partitions 2014-08-04 18:16:05 +02:00
Aurélien Gâteau
df790986ae initcpio module, very loosely based on the one from the manjaro branch 2014-08-04 17:33:59 +02:00
Aurélien Gâteau
136d83f958 Add some test file for grub module 2014-08-04 17:33:15 +02:00
Aurélien Gâteau
6131ed212a Import check_chroot_call separately 2014-08-04 17:32:52 +02:00
Teo Mrnjavac
01efeda801 Utils, not util. 2014-08-04 17:06:16 +02:00
Teo Mrnjavac
c964093d7c Make libcalamares a proper package and utils a proper submodule. 2014-08-04 17:05:00 +02:00
Aurélien Gâteau
43c88567af Use check_chroot_call 2014-08-04 17:01:05 +02:00
Aurélien Gâteau
a1b7d3639e Some test data for fstab module 2014-08-04 16:31:45 +02:00
Aurélien Gâteau
2276ce56f4 Fix fat* filesystems translation 2014-08-04 16:31:45 +02:00
Aurélien Gâteau
87367d5abd fstab: Refactor to be able to add ssd-specific options 2014-08-04 16:31:45 +02:00
Teo Mrnjavac
c64e229142 By default, chrootCall should never time out. 2014-08-04 16:23:12 +02:00
Teo Mrnjavac
45ac91c784 Add check_chroot_call to libcalamares Python interface. 2014-08-04 16:06:29 +02:00
Aurélien Gâteau
26e5500e33 chrootCall: Log messages on failure, as well as command outputs 2014-08-01 17:26:18 +02:00
Aurélien Gâteau
6376e1daef Start the process before calling waitForStarted() 2014-08-01 17:26:18 +02:00
Aurélien Gâteau
70a13fc588 Make logging more useful
- Do not log progress percent but log job names.
- Log install failures.
2014-08-01 17:26:18 +02:00
Aurélien Gâteau
d175d199eb Rough chroot call failure check 2014-08-01 17:26:18 +02:00
Teo Mrnjavac
271b0945c9 Create jobs in locale viewmodule. 2014-08-01 16:29:19 +02:00
Teo Mrnjavac
34c5ac3182 Add SetTimezoneJob to locale viewmodule. 2014-08-01 16:28:29 +02:00
Teo Mrnjavac
a311770e2f Use libcalamares.utils.chroot_call in grub jobmodule. 2014-08-01 13:37:28 +02:00
Teo Mrnjavac
cc2e49c6ae Store keyboard layout information in GlobalStorage. 2014-08-01 12:42:34 +02:00
Aurélien Gâteau
7680578b61 Simplify unsquash code
- Merged UnpackEntry and UnpackStatusEntry. Created a entry_for_source dict.
- Removed dead code (update_copy_progress)
2014-08-01 11:59:44 +02:00
Aurélien Gâteau
edc70c596b unsquashfs: Fix installation dir 2014-08-01 11:46:29 +02:00
Aurélien Gâteau
45101d15b0 Store log in ~/.cache by default 2014-08-01 11:36:22 +02:00
Teo Mrnjavac
57ee5ac26b Add autologinUser to GlobalStorage. 2014-08-01 11:20:20 +02:00
Aurélien Gâteau
1b695b7355 Fix crash when logging at exit time 2014-08-01 10:56:30 +02:00
Aurélien Gâteau
5126458040 Disable "Next" button if isNextEnabled() of first step returns false 2014-08-01 10:29:41 +02:00
Aurélien Gâteau
a75b1809d8 Do not make dummypython fail 2014-08-01 09:59:23 +02:00
Aurélien Gâteau
90670f8b46 Improve formatting of error messages 2014-08-01 09:56:40 +02:00
Teo Mrnjavac
b111027d57 Add SetPasswordJob in Users module, hook it all up. 2014-07-31 19:06:31 +02:00
Teo Mrnjavac
8e3002bfbb Add FindCrypt in the users module. 2014-07-31 19:02:50 +02:00
Teo Mrnjavac
46f5dab7fd CreateUserJob for Users viewmodule 2014-07-31 14:53:46 +02:00
Teo Mrnjavac
fb32432548 UI for users viewmodule. 2014-07-31 14:52:40 +02:00
Aurélien Gâteau
c655c99f67 Hide disk which contains /
Fixes #75
2014-07-30 23:21:06 +02:00
Aurélien Gâteau
551a6ff9ba Fix potential memleak 2014-07-30 22:37:05 +02:00
Aurélien Gâteau
9708669ac7 Use libcalamares.utils.mount 2014-07-30 15:37:34 +02:00
Aurélien Gâteau
0946789f9e Move mounting of special partitions from grub to mount 2014-07-30 15:37:11 +02:00
Aurélien Gâteau
8867f6bc67 Fix progress reporting 2014-07-30 15:35:51 +02:00
Aurélien Gâteau
f371ffa696 Iterate on values, not on keys 2014-07-30 15:13:34 +02:00
Aurélien Gâteau
7a0fb52c83 Damn, forgot named tuples cannot be updated. Use a class instead 2014-07-30 15:10:23 +02:00
Aurélien Gâteau
9c27add968 Use os.path.join 2014-07-30 15:06:59 +02:00
Aurélien Gâteau
22299dc585 No need for UnpackEntry.source_dir 2014-07-30 15:06:39 +02:00
Aurélien Gâteau
638a5c021c More precise error handling 2014-07-30 15:05:44 +02:00
Aurélien Gâteau
adda405f83 Do not use os.path.join with entry["destination"]
if it starts with a "/" then `destination` will be equal to entry["destination"]
2014-07-30 15:05:19 +02:00
Aurélien Gâteau
ecb16dcdca Fix line counting 2014-07-30 15:03:55 +02:00
Aurélien Gâteau
47762d3812 No more need for sourceMountPath 2014-07-30 15:02:55 +02:00
Aurélien Gâteau
75a5bdac60 Fix fuzzy edges around keys (and a warning) 2014-07-30 14:17:14 +02:00
Aurélien Gâteau
03c5a38b90 Show a summary of the partition changes on the summary page 2014-07-30 14:17:14 +02:00
Teo Mrnjavac
e7e57689d8 Make sure chrootCall with args list actually passes the args as list. 2014-07-30 12:43:15 +02:00
Teo Mrnjavac
122a6036d5 globalStorage ==> globalstorage fix 2014-07-30 12:41:34 +02:00
Teo Mrnjavac
2232c49471 Make dummypython work with current API. 2014-07-30 12:40:09 +02:00
Teo Mrnjavac
0d3a3a0b78 Fix dummypython for recent API change. 2014-07-29 20:21:40 +02:00
Teo Mrnjavac
63534f7154 Add mount and chrootCall utilities to libcalamares + Python wrappers. 2014-07-29 20:21:40 +02:00
Aurélien Gâteau
e3a333e6e6 Prettier PartitionPreview 2014-07-29 16:01:45 +02:00
Aurélien Gâteau
fe9e52ee0e PartitionModel: Add IsFreeSpaceRole 2014-07-29 16:01:45 +02:00
Aurélien Gâteau
0ea6f1698b First version of PartitionPreview 2014-07-29 16:01:45 +02:00
Aurélien Gâteau
93cb9fd426 New role for PartitionModel: SizeRole 2014-07-29 16:01:45 +02:00
Aurélien Gâteau
5fc07aad7c Expose colors for Qt::DecorationRole 2014-07-29 16:01:45 +02:00
Aurélien Gâteau
5c1336f2d5 Turn PartitionModel into a tree model
Fixes #12
2014-07-29 16:01:45 +02:00
Aurélien Gâteau
e3a52745fc Fix assert failure when recreating partition table 2014-07-29 16:01:45 +02:00
Teo Mrnjavac
4b1975d3e2 PEPify unsquashfs 2014-07-29 15:10:18 +02:00
Teo Mrnjavac
2b097e7f3c PEPify umount 2014-07-29 14:53:07 +02:00
Teo Mrnjavac
2ba96d3b6b PEPify mount 2014-07-29 14:45:58 +02:00
Teo Mrnjavac
585dd20a34 Update README.md 2014-07-29 14:40:56 +02:00
Teo Mrnjavac
1c984c7bf9 PEPify grub 2014-07-29 14:34:30 +02:00
Teo Mrnjavac
98b62808de PEPify fstab 2014-07-29 14:26:19 +02:00
Teo Mrnjavac
906560ffee PEPify dummypython 2014-07-29 14:06:58 +02:00
Teo Mrnjavac
637242776c PEPify testmodule.py 2014-07-29 13:52:55 +02:00
Teo Mrnjavac
b988c3ad72 PEPify API fakes in testmodule.py 2014-07-29 13:17:15 +02:00
Teo Mrnjavac
fb328494b3 Make the libcalamares Python API better for PEP8 2014-07-29 13:16:46 +02:00
Teo Mrnjavac
5369038ed6 Add debug test to dummypython 2014-07-28 18:56:00 +02:00
Teo Mrnjavac
845ae05f7e Added debug( str ) to the Python API. 2014-07-28 18:56:00 +02:00
Aurélien Gâteau
d30b6300ab Unbreak locating of config file when run without --config 2014-07-28 18:36:24 +02:00
Aurélien Gâteau
289704ab90 Make it possible to override the config dir from the command line 2014-07-28 18:12:08 +02:00
Teo Mrnjavac
cb53cc41cb Remove __init__.py from unsquashfs 2014-07-28 18:04:34 +02:00
Teo Mrnjavac
422e78236b Make fileCopy in unsquashfs a single function 2014-07-28 17:57:53 +02:00
Teo Mrnjavac
b48a66a2e5 Improve readability. 2014-07-28 17:51:35 +02:00
Teo Mrnjavac
e937782a4e Fix some lousy error handling 2014-07-28 17:46:56 +02:00
Teo Mrnjavac
4fc2efb7fa Correctly report exit status from Python modules. 2014-07-28 17:40:57 +02:00
Teo Mrnjavac
87ee2b8b8c Improve error reporting for Python jobs. 2014-07-28 17:40:57 +02:00
Teo Mrnjavac
25d37b57dd Use named tuples in unsquashfs. 2014-07-28 17:40:57 +02:00
Teo Mrnjavac
1b4e56e97e Better call to rsync in unsquashfs. 2014-07-28 17:40:57 +02:00
Teo Mrnjavac
c42d021b61 Unthreadify FileCopy in unsquashfs. 2014-07-28 17:40:57 +02:00
Teo Mrnjavac
f44b8eb758 Count the files in the squashfs image without piping to wc -l. 2014-07-28 17:40:57 +02:00
Teo Mrnjavac
cb2dcf7860 Use temp dir for mounting squashfs image. 2014-07-28 17:40:57 +02:00
Teo Mrnjavac
60dda7db49 Begin unsquashfs module, port copy operation from Thus. 2014-07-28 17:40:57 +02:00
Aurélien Gâteau
64f8748c49 Spaces fixes 2014-07-28 15:00:30 +02:00
Aurélien Gâteau
0b01c76687 Coding style 2014-07-28 15:00:17 +02:00
Aurélien Gâteau
9e8c02fa33 Basic fstab module
Misses the 'options' finetunes

Bug #66
2014-07-28 14:59:22 +02:00
Aurélien Gâteau
2d9142487b FillGlobalStorageJob: Add the partition UUID to global storage 2014-07-28 14:58:06 +02:00
Aurélien Gâteau
62d706543b Do not let the user pick a partition type when creating a partition of a GPT disk
Fixes #27
2014-07-28 11:45:13 +02:00
Teo Mrnjavac
beafcd9cc4 Consistency: calamares_main ==> run; global_storage => globalStorage 2014-07-25 16:46:12 +02:00
Aurélien Gâteau
fb6d80ccb6 Bring back tree view headers 2014-07-25 13:13:04 +02:00
Aurélien Gâteau
bf72672cce Make double-clicking on a partition item in the list trigger edit/create 2014-07-25 13:07:22 +02:00
Aurélien Gâteau
cd99f64344 Add mnemonics to UI elements 2014-07-25 12:46:20 +02:00
Aurélien Gâteau
c3a91f1c8d Implement Revert
Fixes #14
2014-07-24 19:28:53 +02:00
Aurélien Gâteau
675b07799b Dead code-- 2014-07-24 19:26:57 +02:00
Aurélien Gâteau
d476f9cba8 Make sure we show info of the first device in the device combo box 2014-07-24 19:26:19 +02:00
Aurélien Gâteau
cb546d02f9 Sort device in DeviceModel by device node 2014-07-24 19:24:40 +02:00
Aurélien Gâteau
20521f278c Update doc 2014-07-24 17:51:51 +02:00
Aurélien Gâteau
0f23b8ad5c Add basic grub module. Not enabled for now because it requires a rootfs to work
Fixes #26
2014-07-24 17:17:40 +02:00
Aurélien Gâteau
545eef5761 Refactor mount module to make its code easier to reuse 2014-07-24 17:14:56 +02:00
Aurélien Gâteau
96ede98f27 Update partitionmanager submodule: fix cmake warning 2014-07-24 14:00:56 +02:00
Aurélien Gâteau
92114576ce Create umount module 2014-07-24 13:51:14 +02:00
Teo Mrnjavac
2a231b3532 Try to avoid passing GlobalStorage to Python by value. 2014-07-24 12:19:14 +02:00
Aurélien Gâteau
aef2b7e9e7 We can now test mount with testmodule.py: remove the test main() 2014-07-24 10:17:46 +02:00
Aurélien Gâteau
35d2a10177 Remove \t tab to avoid failure in testmodule.py 2014-07-24 10:16:51 +02:00
Aurélien Gâteau
e1877adf9c Make testmodule.py more Pythonic 2014-07-24 10:15:16 +02:00
Aurélien Gâteau
f2ab67b28b Create bootLoader.installPath in GlobalStorage 2014-07-23 18:16:55 +02:00
Aurélien Gâteau
06a13637b6 Store current boot loader install path in PartitionCoreModule 2014-07-23 18:15:46 +02:00
Aurélien Gâteau
ab4604258c Rework boot loader combo box
List MBR of all devices
Does not loose its selection when updated
2014-07-23 18:14:27 +02:00
Aurélien Gâteau
c9c1917997 log-- 2014-07-23 15:05:01 +02:00
Aurélien Gâteau
a39384eda7 Simplify 2014-07-23 15:04:40 +02:00
Aurélien Gâteau
484d7c4d15 Update partition path after partition has been created
Fixes #56
2014-07-23 14:34:06 +02:00
Teo Mrnjavac
da83ecfb13 libcalamares.job is of type libcalamares.Job 2014-07-23 13:02:42 +02:00
Teo Mrnjavac
ef28b7f2c1 Add job.setprogress to testmodule.py. 2014-07-23 13:01:30 +02:00
Teo Mrnjavac
78de11a412 Emit job progress from Python jobs. 2014-07-23 12:54:53 +02:00
Aurélien Gâteau
89fd6a950b Add support for per-job progress 2014-07-23 12:04:27 +02:00
Aurélien Gâteau
e9da5cb6cb Change signature of JobQueue::progress, add finished() signal
Now uses a qreal for progress instead of current and total
Also added a finished() signal because determining whether the queue is
finished should not be done by comparing a qreal with 1.0 as this is not
precise.
2014-07-23 10:58:08 +02:00
Teo Mrnjavac
2636a1273f Add job.setprogress to Python API. 2014-07-22 18:05:58 +02:00
Teo Mrnjavac
c6c2c67560 Rewrite Python error handling to show meaningful messages. 2014-07-22 17:48:56 +02:00
Aurélien Gâteau
0234415976 Add "mount" module 2014-07-22 17:38:36 +02:00