summaryrefslogtreecommitdiff
path: root/src
AgeCommit message (Collapse)Author
2018-02-05propellor spinJoey Hess
2018-02-05propellor spinJoey Hess
2018-02-04Merge branch 'master' into joeyconfigJoey Hess
2018-02-04updateJoey Hess
2018-02-01Merge branch 'joeyconfig'Joey Hess
2018-02-01Laptop: New module, starting with powertopAutoTuneOnBoot.Joey Hess
This commit was sponsored by Brock Spratlen on Patreon.
2018-02-01add only to default linux command lineJoey Hess
Don't affect rescue mode.
2018-02-01Grub: Added properties to configure /etc/default/grub.Joey Hess
This commit was sponsored by Ewen McNeill on Patreon.
2018-01-24Add HasCallStack constraint to pickOS and unsupportedOS, so the call stack ↵Joey Hess
includes the caller. This commit was sponsored by Jochen Bartl on Patreon.
2018-01-24updateJoey Hess
2018-01-18propellor spinJoey Hess
2018-01-18propellor spinJoey Hess
2018-01-17Run su with --loginJoey Hess
To avoid inheriting some problematic environment variables, such as TMP, from the caller. The only potential breakage from this change would be if something used setEnv before one of the affected properties. Audited propellor's source for that, and nothing does. Anything that did would could fail in a concurrent context anyway.
2018-01-17Merge branch 'joeyconfig'Joey Hess
2018-01-17propellor spinJoey Hess
2018-01-09propellor spinJoey Hess
2018-01-06changes to allow GPT BIOS boot partitionsJoey Hess
* Parted: Allow partitions to have no filesystem, for eg, GPT BIOS boot partitions. (API change) * Added rawPartition to PartSpec, for specifying partitions with no filesystem. * Added BiosGrubFlag to PartFlag. Note that man parted does not list the "bios_boot" flag, but I found it in its html documentation. Other flags may also be missing. This commit was sponsored by Boyd Stephen Smith Jr. on Patreon.
2018-01-06Merge branch 'joeyconfig'Joey Hess
2018-01-05add intel-microcodeJoey Hess
2018-01-04skip update warning when there's a remote named "upstream"Joey Hess
2018-01-02Merge branch 'joeyconfig'Joey Hess
2018-01-02avoid bogus warningJoey Hess
Avoid bogus warning about new upstream version when /usr/bin/propellor is run on a Debian system, but ~/.propellor was not cloned from the Debian git bundle.
2018-01-02updateJoey Hess
2018-01-02avoid mixing concurrent and non-concurrent output for related messagesJoey Hess
If the concurrent output was delayed for whatever reason, the messages could appear out of order and separated from one-another.
2018-01-01updateJoey Hess
2017-12-30more docsJoey Hess
2017-12-30improve haddockJoey Hess
2017-12-30Merge branch 'joeyconfig'Joey Hess
2017-12-30installerJoey Hess
Added Propellor.Property.Installer modules, which can be used to create bootable installer disk images, which then run propellor to install a system. This code was extracted from the demo I gave at my talk at DebConf 2017, from the secret-project repository. That repository was AGPL licensed. I hereby relicense the code committed here under the same 2-clause BSD license as the rest of propellor. Changes from secret-project: Generalized UserInput to a type class, and added a lot more documentation and examples. This commit was sponsored by Brock Spratlen on Patreon.
2017-12-30addJoey Hess
2017-12-29ssh key for homepower uploadJoey Hess
2017-12-29updateJoey Hess
2017-12-29Merge branch 'joeyconfig'Joey Hess
2017-12-29moved from joey-metaJoey Hess
2017-12-23Sbuild: add notes about Debian jessie hosts and backportsSean Whitton
Signed-off-by: Sean Whitton <spwhitton@spwhitton.name>
2017-12-22fix inversionJoey Hess
2017-12-22specify typeJoey Hess
2017-12-21fuzzy partition end location for partedJoey Hess
This should fix the reversion in GPT partition creation. See my long comment for the gory details. This commit was sponsored by Peter on Patreon.
2017-12-21Grub.boots, Grub.bootsMounted: Pass --target to grub-install.Joey Hess
This is to support eg, coreboot. The GrubTarget passed to Grub.installed is introspected to determine --target. If multiple grubs are installed, it currently doesn't pass any --target. Might make more sense to run grub-install repeatedly, but I don't know if that case is sane at all. The Xen -> "x86_64-xen" mapping is kind of arbitrarily chosen since there's a i386-xen available too. I don't know when that case would be used in any case though; chainPVGrub uses installed Xen, but it does not run grub-install. If this does become a problem, would probably need to split it into Xen64 and Xen32. Renamed BIOS to GrubTarget in passing to match grub's terminology; BIOS was kind of a joke term for this in propellor. This commit was sponsored by Francois Marier on Patreon.
2017-12-20Merge branch 'joeyconfig'Joey Hess
2017-12-20updateJoey Hess
2017-12-20got the order backwards..Joey Hess
2017-12-20say when resizing/creating disk image fileJoey Hess
That can take quite a while, so let the user know why propellor has stalled.
2017-12-20two diskimage edge case fixesJoey Hess
* DiskImage: Fix rsync crash when a mount point does not exist in the chroot. * Fix bug in unmountBelow that caused unmounting of nested mounts to fail. This commit was sponsored by Jack Hill on Patreon.
2017-12-20Merge branch 'joeyconfig'Joey Hess
2017-12-20add missingJoey Hess
2017-12-20propellor spinJoey Hess
2017-12-20disk partition alignmentJoey Hess
Cheap flash drives need partitions aligned to 4 MiB in order to not be slow (and to avoid extra writes). <https://lwn.net/Articles/428584/> And at least 1 MiB alignment is generally a good idea, and most people seem to think 4 MiB is for all drives. I noticed that Parted.partitioned does not do that; the first partition started at an offset of 1 MB, and subsequent partitions from where it ends. (The 1 MB offset came from the PartedVal PartSize instance, and note that it was not 1 MiB.) * Parted: Add an Alignment parameter. (API change) A good default to use is safeAlignment, which is 4MiB, well suited for inexpensive flash drives, and fine for other disks too. Previously, a very non-optimial 1MB (not 1MiB) alignment had been used. * DiskImage: Use safeAlignment. It didn't seem worth making the alignment configurable here. Alignment is implemented by offsetting the first partition's start position so it's aligned (making sure to leave room for the partition table). Each partition is then extended as needed so the next partition will start properly aligned. Note that parted rejects partition tables that don't fit in cylinder bounderies. Before, propellor let parted deal with the fine details of layout, so that was not a problem. Now it's possible to set some wacky Alignment not divisible by 512, or use Byte sizes for partitions and create a partition table that parted rejects. But, using safeAlignment and MegaBytes should always be safe. Also, this fixes a rounding bug in Parted.calcPartTable. It was rounding up to the nearest MegaByte when allocating remaining disk space, so returned partition table that was actually larger than the disk size. This commit was sponsored by an anonymous bitcoiner.
2017-12-20Parted: Fix names used for FAT and VFAT partitions.Joey Hess
Use "fat32" for both; these are not distinguished at the partition table level. This commit was sponsored by Henrik Riomar on Patreon.
2017-12-06avoid redundant "has has"Joey Hess