Ecosyste.ms: OpenCollective

An open API service for software projects hosted on Open Collective.

github.com/getsolus/clr-boot-manager

Kernel & Boot Loader Management
https://github.com/getsolus/clr-boot-manager

bootloaders/syslinux: Avoid duplicated entries in output

Due to our repair vs 1:1 "is installed" method changes, it is possible that
a kernel may be aske...

95cced4319761ac0ee5edff00c30343d0c675fe7 authored almost 8 years ago
tests: Add a migration test for GRUB2

Now that we no longer write out separate GRUB2 entry files, we have a simple
test to ensure that...

d58d515b7bffc123b3d1eacff6cc51c110a15752 authored almost 8 years ago
bootloaders/grub2: Use a submenu structure for non default kernels

This change will ensure that the newly selected default kernel is always
the first in the menu, ...

85e6594f0fd2901e6063087d39ea685dd9770b32 authored almost 8 years ago
bootman: Allow native UEFI to "win" on GPT system containing legacy boot

Given the nature of a GPT system, it is permitted to have a legacy boot
partition, *and* an EFI ...

7399e96d69dbeb06d0df50efed1e95a115922665 authored almost 8 years ago
tests: Add a new test case to ensure we use UEFI for legacy native

With a GPT disk, in native mode, we should ensure that we only use syslinux
if the native system...

834dbe7fb685acc2c321df28c60aaceda5a6a492 authored almost 8 years ago
Bump v1.5.1 for release

Signed-off-by: Ikey Doherty <[email protected]>

698dfc5724da0283de401a75bfd65aaeefd08dc3 authored almost 8 years ago
probe: Add support to determine if a device uses a GPT table or not

In accordance with issue #53, we must only use the PartUUID for root=
entries when we *know* tha...

b50c4606cb6ce0c37ae3e2a04c38a6d95fe2a685 authored almost 8 years ago
bootman: Always reinit using a valid boot directory

Previously the modify_bootloader invocation would attempt to reinit itself
with the abs_bootdir....

d055bd46bf72570101b15455f8e0840c66b69d51 authored almost 8 years ago
bootman: Collapse double slashed boot directory where possible

In the event that the boot dir exists, we can realpath it to collapse our
returned path to remov...

338106a69f1293f04356689a4dc2281629c5a510 authored almost 8 years ago
tests: Add a new test for the bootloader selection logic

This test exposes bugs within the core cbm_inspect_root function, by
validating exactly *which* ...

58fa6a21b951981879b518c8bbfb5a1ff27f7305 authored almost 8 years ago
bootman: Fix our cbm_inspect_routine to unbreak UEFI selection

The logic is now changed per issue #54 to properly isolate each image
configuration, and to make...

0fa93d9fe0732552a9bb24cb6a5e756f0e410928 authored almost 8 years ago
Update use case description in README

Add language under requirements to specify more precisely what
clr-boot-manager's purpose is reg...

f555ae2fa8a9383e6f7e8926079aa60f359e173c authored almost 8 years ago
Bump v1.5.0 for release

Signed-off-by: Ikey Doherty <[email protected]>

7910f7b2a2dded657f74cafd344742a9da67ef63 authored almost 8 years ago
bootloaders: Add initial GRUB2 implementation

This mechanism is used as a fallback when all other methods are unavailable,
i.e. a non GPT non ...

aa6251a495549b8339303b3c99f5f75e1d7bd32b authored almost 8 years ago
lib: Remove stray semicolon

Signed-off-by: Ikey Doherty <[email protected]>

c024ea3930c2d2544e3bd89a258ff8bad327aa89 authored almost 8 years ago
README: Add relevant v2 information

The README now indicates that the project isn't UEFI-specific anymore,
and shows (briefly) how a...

352195258cb3067c6fe73c979d75d0bbcac96ee7 authored almost 8 years ago
bootman: Automatically determine if the target system is GPT or not

The primary difference between our "core" bootloaders and the upcoming GRUB2
support, is that in...

6526a0446aacda4166be67efda9ac9dc04485613 authored almost 8 years ago
bootman: Ensure any System.map* files are purged

These are "permanent" paths in the existing implementations of CBM
compatible distros, so they s...

5ab4184a728d29c057b53a69e110130000de61bf authored almost 8 years ago
cli: Fix invalid license text in CLI output

Signed-off-by: Ikey Doherty <[email protected]>

5324a38b8732ded87857d40d0033a3b29bac8b14 authored almost 8 years ago
bootman: Automatically purge associated header tree

Many distributions permit building out of tree modules against the headers
for each kernel. To a...

f5a285e3b6b4c1c015732f88fe44542ffe18dd53 authored almost 8 years ago
Implement full UEFI namespacing on the EFI System Partition

In order to meet full UEFI compliance, and to enable secure boot, we must
now install our kernel...

3656238caf1617effa438da626c8e1190367a919 authored almost 8 years ago
harness: Fix error in calculation of installed file counts

This completely broke the condition to effectively return true == true.
Luckily our *current* te...

a53fe0b02637f9997f4eb5349ddb57d3a3b8658a authored almost 8 years ago
Reduce vast duplication with basename in the codebase

We now use a new target anonymous struct within the kernel to define the
final basename paths, t...

e9f1fc6e91a92eb6c31781ebfb58e1a787297317 authored almost 8 years ago
bootman: Logically group commonality within the kernel struct

This change introduces some namespacing within the Kernel struct itself
so that members are now ...

2cc63e2dd35dfeaf27ef883e5ecf64521f053098 authored almost 8 years ago
bootman: Ensure we always reinit bootloader for the given paths

Though we init with built-in defaults, later in our lifetime we may be
presented with a differen...

ff1d4a514160519f125904dccb9a8c68f8954fb8 authored almost 8 years ago
tests: Force test suite failure by using different-cased paths

We may, in certain dual boot scenarios, encounter paths on the ESP that
we don't expect. Previou...

bc3b3867cef6a7e2e619b6e3fcf9b400f308ba75 authored almost 8 years ago
bootman: Select the bootloader based on the system topology

We now make the bootloader management somewhat more intelligent by
selecting them based on a boo...

3b3ff8a48834d8c14a0fd7d7a531a8f38f6b2ac0 authored almost 8 years ago
lib: Remove unused autofree definition discovered by clang 3.9

Signed-off-by: Ikey Doherty <[email protected]>

e3f4b03d947b0a2d31e091f50b26edabe68286fc authored almost 8 years ago
bootman: Don't check array for being NULL, check that it has content

This issue was flagged by clang as GCC seems to be skipping the more obvious
compilation warning...

5eb72c9dfad47764ab6546332e9f66d09017f85c authored almost 8 years ago
lib: Fix signedness issues

Our log levels are an unsigned enum, so mixing those lead to redundant
checks, i.e. <= 0 when it...

88edefa9285cbd0c2a13d6e58810c29d756920c6 authored almost 8 years ago
Remove unused variables discovered by clang 3.9

Signed-off-by: Ikey Doherty <[email protected]>

1baf0d2b5eff6e763098b4676a143cb630baf125 authored almost 8 years ago
bootloaders: Introduce a very trivial capabilities system

This is used to describe in an obvious sense the purpose and application
for a given bootloader ...

fa155bc53ec99431f56197e8d3c79282c89e3a30 authored almost 8 years ago
bootman: Fix sign issues in modify_bootloader

The signedness issue was found when compiling with clang, by forcing the
unsigned enum. Also not...

2948f46997dacada37ab00498546365faca055d4 authored almost 8 years ago
Silence clang warnings about field zeroing

Clang recently does support zero initialisation of structs, but even to this
day it continues to...

25622038e8967a5b092632192104e641e5649d80 authored almost 8 years ago
Replace all critical uses of asprintf with string_printf

This will help in recovering the coverage numbers that have been lost to
untestable malloc-failu...

224541dc7f6fef535ccfd8f8547661bd28b1458b authored almost 8 years ago
lib: Don't inline rstrip function

This is a very large function and shouldn't be rlined at all, reduce the
overall weight of the o...

30d71f312b1eb104982100f7c0ee9a659f497624 authored almost 8 years ago
lib: Add a new string_alloc function

This function will, from the perspective of the client code, *always*
return something. There is...

d5b9cec707dd2a0cb05ef1946f1fa49ddefe06cb authored almost 8 years ago
bootman/update: Only use the system vtable ops

To allow further mocking, we ensure we proxy the mount family calls through
the system vtable, a...

9b9d7ae2a329217d771c9b744cf7829f2c0ad880 authored almost 8 years ago
lib: Move dev_t validation into default function wrapper

This ensures we can continue to mock out access to the blkid library for
when we add legacy mock...

cf2ba19394da93df3e406703d5c3128caafff1cb authored almost 8 years ago
Remove check-update as it really doesn't help coverage

This test suite asks all the wrong questions and is very much tied
to the old architecture. Thus...

3993d63293377cec1a829df091b8905a2b27dc42 authored almost 8 years ago
bootman: Completely remove concept of "can_mount"

Now that we only use mount/umount family via the system vfunc table, we
can safely push these ca...

de37b1d3fff7023b6fad3ae69538ff366d18b86b authored almost 8 years ago
bootman: Remove EUID guard for cbm_inspect_root

In order to help improve the coverage situation, we're removing the euid
check here that prevent...

885427018191613e0e247ddd29672d29aa14e4ba authored almost 8 years ago
tests: Add a new (currently failing) test for legacy boot

This change adds a new skeletal test designed specifically for the
legacy boot codepath. It deli...

e15c5a817de9bd77f7b9e15552102cc88edab394 authored almost 8 years ago
tests: Restore simple "native" installation test

This test checks the basic kernel install functionality in native mode
for both legacy & UEFI bo...

d46c68131c080001cfbe4811a6d91bef070af500 authored almost 8 years ago
lib: Add a new stub to encapsulate the blkid library

Reaching high levels of coverage within clr-boot-manager has been very
hard due to relying heavi...

37432cc542f1fa21655a86aa1dedca1e03067d8f authored almost 8 years ago
lib: Restrict all usage of libblkid to blkid_stub

To allow future expansion of coverage and testing, we ensure that the
core library only uses blk...

0ad92ef4c2aa6bd28a51c3c282257ba85388cd38 authored almost 8 years ago
lib: Introduce the system ops vtable

To further increase safety in testing, and coverage of the code itself,
we add a new system ops ...

bbc7b069d5db6297a272601d65d528ae47fd36ac authored almost 8 years ago
bootloaders/system-class: Remove support for mixed EFI

This has failed to appear in any version of systemd-boot or derivatives,
and is uncommon enough ...

34a9e9fa3c9fa3b20f52e5fd79b7275fedf29984 authored almost 8 years ago
tests: Restore test for UEFI bootloader removal

This test ensures that the UEFI-specific bootloader removal functionality
does as advertised, an...

6234801b843f7b37fd319b701045fcc70925abd3 authored almost 8 years ago
tests: Use a more obvious cmdline component in kernel pushing

This allows humans to look at the generate files during test suite
creation and actually underst...

ee2fdadc7823e531bcac3953dff4e91d63dd48bc authored almost 8 years ago
tests: Introduce a no-op blkid harness

In order to facilitate safety and coverage, we now override all aspects
of blkid during testing,...

0c33a286c30b5b6612cbe96398a7a31e5a8d86e4 authored almost 8 years ago
tests: Simplify code now that mixed EFI paths are gone

We now just leverage the existing defines at build time due to our
new-lack of architecture-size...

f68ad0f25750ae63ef8c7da5305c7728fff56a28 authored almost 8 years ago
bootman: Remove functions that are no longer needed

Due to some design enhancements along the way and a shedding of unnecessary
weight, these functi...

1aca54e2546176bd29286f3a1cb0daaf5e10bd60 authored almost 8 years ago
tests: Add basic image test for syslinux

This test adds very basic coverage for doing a basic image installation,
using the syslinux lega...

920aee712565e325d6f93dcf3c510fdd41866a75 authored almost 8 years ago
tests: Begin work on new skeletal UEFI test suite

This mimics the check-legacy test almost identically, but taking the
inverse road in certain are...

f5503eff27a6840b4a2ea1359032e0aba60845d0 authored almost 8 years ago
tests: Remove hard-coding of UEFI system

This modifies the harness to initialise UEFI mocking only when specified
in the PlaygroundConfig...

528479f650eae259c385eeabc5efc333be54a193 authored almost 8 years ago
lib: Wrap the mount helper functions in the system vtable

Currently clr-boot-manager will (correctly) detect a mounted ESP on the
host within the test sui...

51b3776d3cd07bbc6a90800a543c1e06ce3a53f5 authored almost 8 years ago
tests: Port to the new mount APIs within the system stub

Signed-off-by: Ikey Doherty <[email protected]>

c2f7a6c7a1a182d53ac59fe92b770f44a3d07126 authored almost 8 years ago
Fix distcheck for merging

This change unblocks distcheck again by adding the new gptmbr faux file
to the EXTRA_DIST set.

...

aebb107900fc31a283285e1b050c406f0887ac88 authored almost 8 years ago
tests: Simulate updating from unknown kernel to CBM for first time

This test enables us to mock the upgrade process going from a non CBM
managed system to a CBM ma...

8f0212ad72b63fe8ac563efec0a8870229a2d084 authored almost 8 years ago
lib: Add stub around devnode_to_devpath

This allows us to mock the return location for a /dev/ node per the stat
calls, enabling the ful...

26b1c00a8e9c0ffa800d9f84483c2fe748a4d3d5 authored almost 8 years ago
tests: Remove all overlapping test functionality

All of these tests are actually duplicated in the core of any other
install/remove/update tests ...

bfc1e1e13b01aefb49b666def301651c9ca19f31 authored almost 8 years ago
tests: Ensure initial bootloader installation is controlled by harness

To ensure that new tests are less complex, and that there are no unknown
parameters in the test ...

4d0769afadd12053aa49e68c1ef5dba6e659aee9 authored almost 8 years ago
lib: Add mock encapsulation for all /sys and /dev paths

In order to facilitate mocking, we must stop hardcoding /sys and /dev
paths. Unfortunately, thes...

2a3cfbf4ba4c55d2b1d602537c41486220715216 authored almost 8 years ago
tests: Force UEFI system configuration

For now we'll force detection of a "valid" UEFI system by constructing
a fake devfs/sysfs to foo...

2aea51fdb4f2f62ba73a1dad43ef7a495d713ef4 authored almost 8 years ago
harness: Stop faking the root sysinfo

Prior to our mocking abilities we had to inject a custom systeminfo
definition. However, this ma...

2cba299c4d1424d21ede89c327494c5435f212fd authored almost 8 years ago
tests: Restore the auto-update tests

These tests verify the basic install & update functionality for the
bootloaders, not the kernels...

8136734e4ae3eda31f72235405420d3da59c0afe authored almost 8 years ago
bootloader/syslinux: Fix nasty segfault

This change corrects a bug found in the coverage testing, whereby the wrong
item was freed (The ...

1f054c9f05edd084d52615cc6cf94a7eef49ac99 authored almost 8 years ago
Remove the compatibility scripts

These scripts were originally needed when transitioning to clr-boot-manager
within Clear Linux. ...

97774f48f90fb0a433d06ce6bca83af7963fb040 authored almost 8 years ago
Add support for automated building within docker environment.

In order to assist in building up test coverage, we need to do so in a way
that allows to test d...

562c741f90592e4f58007da318016dc63d818e19 authored almost 8 years ago
lib/probe: Add missing modelines

Signed-off-by: Ikey Doherty <[email protected]>

1ef4174c8c857fa88938c13b15c0454f71d08a0b authored almost 8 years ago
bootman: Use the new device probe API

In order to facilitate a more flexible approach to the root devices, we
now make use of the CbmD...

26bfa686ee84e9a71f412bffdbc7b44d8444b896 authored almost 8 years ago
tests: Write a fake UUID out for the purposes of LUKS code validation

Signed-off-by: Ikey Doherty <[email protected]>

7db0f894cec91526a480180d97f05ca18de4bbfc authored almost 8 years ago
lib: Add method to probe API for discovering LUKS parents

In order to support common deployment patterns, we also need to be able to
find out if a root sy...

5e9915ea8da1aa1565c534e45aa6b5c782ae9e51 authored almost 8 years ago
bootloaders/systemd: Add LUKS support

If we encounter a LUKS UUID for the root partition, automatically write
out a dracut-style rd.lu...

64012708eaf036532d8df293eeb8bd3d07682000 authored almost 8 years ago
bootloaders/syslinux: Also support LUKS UUID

Just like the systemd implementation, we now add support for dracut style
LUKS UUID activation b...

a3bd87db1859898c70d5655873c4133e65c0c1ae authored almost 8 years ago
lib: Add the new CbmDeviceProbe mechanism

This change adds some reusable disk probing code, to make our UUID logic
more robust. At present...

2bc7ac985c82ef9ef00640933c34edd7a0915076 authored almost 8 years ago
bootman: Move the files implementation into lib/

The majority of the "generic" library code for clr-boot-manager now exists
inside lib/. The file...

55b5f7bfb317b6f6ca350c6ef4c937e70562c97b authored almost 8 years ago
lib: Remove unused get_part_uuid API

With the move to CbmDeviceProbe API, this functionality is no longer
necessary within clr-boot-m...

555be2a89b098633e16fc0c06824e54ccbcdf026 authored almost 8 years ago
bootloaders/systemd: Add support for CbmWriter and initrd

This change helps to simplify the per-kernel config writer by switching
to the CbmWriter interfa...

5b9741bd6c2530e4ec40fd3808039ada4e9f2116 authored about 8 years ago
bootman: Add support for installation and removal of initrd files

This change adds preliminary support for initial ramdisk files in
distributions that make use of...

4da647b66cd3e9ab5ae10f30fb04803d398c6c1b authored about 8 years ago
lib: Add the new CbmWriter type

In order to help reduce the complexity of clr-boot-manager, much of which
actually revolves arou...

9edd1875fc6f8d10fb16f183a3fee42e4cfa6bf1 authored about 8 years ago
bootloaders/syslinux: Add CbmWriter and initrd support

In keeping with changes to the systemd-class implementation, we now
drastically simplify much of...

2301e969ab24c97e8419ba3072e4cfb5a052254d authored about 8 years ago
Release 1.2.0

Signed-off-by: William Douglas <[email protected]>

6f3ece65b756585392137cd2e92ce1b983aa9ee5 authored about 8 years ago
libnica: Sync with upstream for restored C11 support

Signed-off-by: Ikey Doherty <[email protected]>

0243291052b8748b0d3ed316607528bd568c08a3 authored about 8 years ago
Enable C11 by default

We should leverage modern standards and not support older, busted
toolchain implementations anym...

58649218f9cbe033b56fbe16e99cb8183310faa7 authored about 8 years ago
travis: Enable C11 + GCC5 by moving to trusty

Currently the only way to support the newer toolchain and have C11
support is by enabling Trusty...

1341f72ef94e510f6002be578aa2ffee8ae1b510 authored about 8 years ago
Fix autotools typo for linking

While this hasn't actually revealed itself as a bug just yet, it's
possible that linking would b...

5e4c3f6e79328395e5773b818f517df026570a1e authored about 8 years ago
bootman/files: Fix problematic file_get_text function

Valgrind tests in a newer branch on the initrd work revealed this
function to be somewhat flaky,...

d3c1abcdef2a0252d380ac7574855ca9da0060df authored about 8 years ago
bootman: Only update the kernel blob when it's different

As clr-boot-manager may be called at any time, and we now do not bail
if the kernel is installed...

a0db6a788c842b5153797d3964db8a30c974c100 authored about 8 years ago
bootloader/systemd: Only write the text files when they're different

Given the previous changes to ensure that we can dynamically update
the kernels and configs, we m...

dbab2f7cf71965557083baefef35ff9622d1841c authored about 8 years ago
bootloaders/syslinux:

As the final part of issue #31, we now ensure that the syslinux bootloader
implementation also c...

58fc0ce2663d0c8804ec4af30b322b8e327e5a4e authored about 8 years ago
Update copyright year range to include 2017

Signed-off-by: Ikey Doherty <[email protected]>

820cc57312b12b94fec733823b233cd14dec5d42 authored about 8 years ago
Update libnica to use C99

Unfortunately Travis doesn't support C11. Somehow.
This change demonstrates the beauty of us usi...

7f40ddf57fe8b7bdccfc5b8272d1dbe8810638d1 authored about 8 years ago
Integrate libnica into the build system

We now statically compile against the git submodule version of nica, vs
having to use any modifi...

71815bed301b0d1f7c177fea405647542aaecca6 authored about 8 years ago
update_format: Never modify libnica files

These files should only be handled upstream in the nica repository,
never should be have a local...

23793ddefc400910bf44d80b5a3b6bdc22a259d8 authored about 8 years ago
Add libnica as a git submodule

This will relieve much of the maintainence burden by allowing libnica to
remain in a single loca...

c6044ac08138403587732ae9a6a1df3f030bf671 authored about 8 years ago
Remove our local fork of Nica

Signed-off-by: Ikey Doherty <[email protected]>

9cda58a5ab94736155fbc44629a91f68c9ae2c06 authored about 8 years ago
bootloaders/systemd: Remove excess '\n' in loader.conf

When using a timeout we had a stray '\n' that really just didn't need
to be there.

Signed-off-b...

149498296ab543bf33b99b08ccb4670f2e86e183 authored about 8 years ago
timeout: Change configuration to /etc/kernel/timeout

Recent changes have made CBM read files from /etc/kernel, such as the
cmdline. Keeping in line w...

4839149aa3152c5900da8bc84cde250abaadd7dd authored about 8 years ago