Граф коммитов

76 Коммитов

Автор SHA1 Сообщение Дата
Pawel Winogrodzki 9f9217c5f9
[main] Adding `CODEOWNERS` to restrict core packages updates. (#2353) 2022-02-28 13:40:35 -08:00
chalamalasetty bdd54e5acd
Add usbip kernel configs and user space modules (#2341) 2022-02-25 12:14:46 -08:00
Pawel Winogrodzki 061dc0e119
Adding an entry for static dependencies. (#2310) 2022-02-25 09:51:22 -08:00
chalamalasetty 7555b42c94
Update Mariner Core base image keeping dnf wget vim as optional packages (#2313)
* Update Mariner Core base image keeping dnf wget vim as optional packages

* Add core-packages to validate-cg-manifest ignore list

* Add license verfied to core-packages spec
2022-02-25 08:18:46 -08:00
Pawel Winogrodzki 2ddf43fc5b
Fixing `GConf2` and `geronimo-specs`. (#2309)
* Fixing 'geronimo-specs' and 'GConf2'.

* Verifying license.

* Adding an exception for 'geronimo-specs'.
2022-02-23 17:22:20 -08:00
Pawel Winogrodzki 2f75cec4b4
`SPECS-EXTENDED` fixes and removals. (#2247) 2022-02-17 10:47:34 -08:00
Pawel Winogrodzki cf63e09515
Updating `python-requests` dependencies after a version upgrade. (#2220) 2022-02-15 00:40:59 -08:00
Cameron E Baird 6ab84b1eac
[main] Add support for realtime kernel image builds (#2025)
* rebase on rlmenge/rlmenge/main-rebase/kernel-5.15

* successful local build kernel-rt 5.15.2.1

* fix kernel/config mismatch

* add utility packages for rt development

* build rt packages

* modify rt-tests source to point at proper location

* update rt-tests signature

* dashroll kernel-rt to match kernel

* fix issues with old certs being used in kernel-rt

* update kernel-rt source

* bring in python-ethtool

* fix python-ethtool signature

* remove redundant SPECS-EXTENDED folders for specs moved into SPECS

* cleanup duplicates in -EXTENDED, license.json and verify licenses

* conform to license checker

* more license debugging, downgrade pygobject2 since it was only needed for the (since removed) gui portions of tuned

* rerun license map script

* finish rebase

* switch off of temporary local manifests

* fix signature name for python-ethtool, add iso json for rt

* fix python-ethtool signature mess

* bump kernel-rt release to match kernel

* readd newline to manifests

* apply changes from PR #2075 onto kernel-rt

* fix changelog typo
2022-02-03 16:52:09 -08:00
Thomas Crain 4df8049648
Fix grubby build with newer versions of RPM (#2036) 2022-01-28 12:22:09 -08:00
chalamalasetty e6a6414f24
Update lua to 5.4.3 and fix CVE-2021-43519 (#1957)
* Update lua to 5.4.3

* Update lua-rpm-spec

* Update sha256 for lua sources

* Add rpmmacrosdir

* Update lua rpm macro spec

* Update lua rpm macro spec

* Add rpmmacropath and update lua change log

* Update httpd to 2.4.52 for  lua 5.4.3 version compatibility

* Update libsoup spec and validate-cg-manifest

* Add lua-rpm-macros to LICENSES MAP md file

* Update httpd SPEC

* Add perl required packages to apparmor spec

* Update lua-rpm-macros signatures json
2022-01-25 14:26:56 -08:00
Pawel Winogrodzki ef2531d59a
[main] Hydrating `licenses.json` for `SPECS-EXTENDED`. (#1869) 2022-01-10 10:10:21 -08:00
Pawel Winogrodzki dd6bfe37ba
[main] Updating GitHub checks to include 2.0 changes. (#1852) 2022-01-06 11:32:12 -08:00
Pawel Winogrodzki 9cb68b2679
[main] Updating 4 `libvirt-*` packages. (#1845) 2022-01-06 11:29:53 -08:00
Pawel Winogrodzki 21fac3d7e3
[main] Hydrating `cgmanifest.json` with `SPECS-EXTENDED` + adding automation scripts. (#1788) 2021-12-24 07:14:00 -08:00
Pawel Winogrodzki 77153f2702
[main] Removing redundant `%clean` stages from the spec files. (#1782) 2021-12-17 09:46:27 -08:00
Pawel Winogrodzki 33c409b6bd
[main] Resetting the version of `ca-certificates` to something more meaningful. (#1773) 2021-12-17 09:23:21 -08:00
Pawel Winogrodzki ff313fa3fa
Making sure all specs can be parsed by the check script. (#1765) 2021-12-17 07:19:09 -08:00
Thomas Crain 622a11f465
Promote sgabios package to SPECS folder (#1771) 2021-12-14 20:38:33 -08:00
Thomas Crain 1fd2bd15ff
Upgrade QEMU to 6.1.0, add more functionality to QEMU package (#1753) 2021-12-13 14:36:57 -08:00
Max Brodeur-Urbas 68fdd50ff4
[dev] enabling rook (#1540)
* rook building successfully

* importing runtime dependencies

* cleaning up rook.spec

* enabling patterns-ceph-containers without select dependencies

* updating licenses for added packages

* licensing corrections for added packages

* applied lint diffs

* ignoring meta package in cgmanifest

* updating licenses-map metadata

* correcting releases

* adding source link, correcting changelog

* added vendor tar instructions

* removing opensuse csi references from rook

* removed rook build flags, remove patterns-ceph source, removed rook test binary

* updating signatures.json

* correcting capitalization of source attribution

* Corrected changelog comment

Co-authored-by: maxbrodeururbas <maxbr@microsoft.com>
2021-11-10 11:49:30 -08:00
Pawel Winogrodzki 4ce26ace71
Extending source attribution check. (#1583) 2021-10-26 11:09:47 -07:00
Pawel Winogrodzki 9c0766ef34
[dev] Adding proper spec source attribution for CentOS specs (#1569) 2021-10-21 14:50:35 -07:00
Pawel Winogrodzki 5a5915de00
[dev] Adding spec file checks (#1559) 2021-10-20 17:04:50 -07:00
Pawel Winogrodzki 514a5fcc54
[dev] `ca-certificates`: removing Mozilla CAs in favour of Microsoft ones (#1437) 2021-10-07 12:51:39 -07:00
Andrew Phelps ebbc32b6cc
Update golang to version 1.17.1 (#1404)
* update golang to 1.17.1

* linting

* update flannel and cri-tools versions

* typo

* provides go
2021-09-18 12:00:19 -07:00
Pawel Winogrodzki 91b4807e7f
[dev] Migrating CoreUI into Core. (#1348)
* Removed `cgmanifest.json` duplicates and put everything in alphabetical order.
2021-09-01 01:55:15 -07:00
jslobodzian 17b0e93e71
Merge 1.0 to dev branch
This merge brings the latest SELinux and many packages and CVE fixes from the 1.0 branch.
2021-08-19 13:46:51 -07:00
Thomas Crain 90f361f753 Merge branch '1.0' from April Update 2021-04-30 18:07:37 -05:00
Jon Slobodzian b7ed62e4ed Merge branch '1.0-dev' into joslobo/merge-for-april-update 2021-04-29 21:34:03 -07:00
Pawel Winogrodzki e00cc4dc7b
Moving licenses script to toolkit and updating its functionality. (#885) 2021-04-26 10:39:50 -07:00
Christopher Co 67cf4f9b65
grub-efi-binary-signed: define new grub2-efi-binary subpackage (#855)
* grub-signed: Commonize on one spec

Use macros to swap spec contents based on build architecture. We will
still create an SRPM per arch, each with a unique name, so there is no
risk of SRPM name collision.

* grub-signed: Define new grub2-efi-binary subpackage

New subpackage will contain the signed grubx64.efi/grubaa64.efi binary.
This package name is identical to the unsigned version and we will
prefer to use this signed version if built.

* grub-signed: rename files

* grub2: bump spec version to match signed version

* Update github action checks

CG manifest, license file, and spec entanglement checks are failing
due to the grub-efi-binary-signed naming change. Update the checks to
account for the new name.

* grub2-signed: rename source0 to match subpackage

Source0 previous pointed to grub2-efi-unsigned rpm which technically
can work but it would be better to use the grub2-efi-binary package
instead because grub2-efi-binary package is ultimately the package we
will be replacing. We can also perform checks to make sure the output
rpm matches the inputs, modulo the signed binary.

Signed-off-by: Chris Co <chrco@microsoft.com>
2021-04-21 20:37:29 -07:00
Christopher Co 8a5fdab5d0
shim: Introduce shim package (#866)
* shim: Introduce shim package

Shim package contains a signed shim bootloader which is signed with the
Microsoft UEFI CA cert to allow it to load on many different platforms
that support UEFI Secure boot. If UEFI Secure Boot is enabled, this shim
binary will verify that next stage bootloaders (i.e., grub and kernel)
are signed with the CBL-Mariner secure boot key.

* shim: add extra versioning info to source0

Renamed Source0 tarball naming to prevent future tarball naming
collisions.

* CI: ignore shim during cgmanifest check

shim package's Source0 is a signed binary created by us.

* licenses-map: Add shim to table

* shim: prefer install over cp

* licenses: Add shim to data file

Fixes error thrown by spec license checker

* shim: Add comment explaining why only x86_64 shim

Signed-off-by: Chris Co <chrco@microsoft.com>
2021-04-21 20:29:33 -07:00
Christopher Co e6c89b3300
kernel-signed: define a new kernel subpackage (#785)
* kernel-signed: define a new kernel subpackage

This spec purpose is to take an input kernel rpm and input secure-boot-signed
kernel binary from the same build and generate a new "kernel" rpm with the
signed kernel binary + all of the other original kernel files, triggers,
scriptlets, requires, provides, etc.

We need to ensure the kernel modules and kernel binary used are from the exact
same build because at build time the kernel modules are signed with an
ephemeral key that the kernel enrolls in its keyring. We enforce kernel
module signature checking when we enable security features like kernel
lockdown so our kernel can only load those specific kernel modules at runtime.

Additionally, to complete the UEFI Secure Boot chain, we must PE-sign the
kernel binary. Ideally we would enable secure-boot signing tools like pesign
or sbsign to be callable from inside the rpmbuild environment, that way we can
secure-boot sign the kernel binary during the kernel's rpmbuild. It is best
practice to sign as soon as possible. However there are issues getting that
secure boot signing infrastructure in place today. Hence we sign the
resulting kernel binary and "repackage" the kernel RPM (something rpm itself
actively tries to make sure you never do...generally for good reasons).

To achive this repackaging, this spec creates a new subpackage named
"kernel". To retain all of the initial kernel package behaviors, we make sure
the subpackage has the same requires, provides, triggers, post steps, and
files as the original kernel package.

This specific repackaging implementation leaves room for us to enable the
more ideal secure-boot signing flow in the future without introducing any
sort of breaking change or new packaging. Users still install a "kernel"
package like they normally would.

Maintenance Notes:
- This spec's "version" and "release" must reflect the unsigned version that
was signed. An important consequence is that when making a change to this
spec or the normal kernel spec, the other spec's version version/release must
be increased to keep the two versions consistent.

- Make sure the kernel subpackage's Requires, Provides, triggers, post/postun
scriptlets, and files match the normal kernel spec's. The kernel subpackage
should contain the same content as the input kernel package but replace the
kernel binary with our signed kernel binary. Since all the requires, provides,
etc are the same, this new kernel package can be a direct replacement for the
normal kernel package and RPM will resolve packages with kernel dependencies
correctly.

To populate the input sources:
  1. Build the unsigned packages as normal
  2. Sign the desired binary
  3. Place the unsigned package and signed binary in this spec's folder
  4. Build this spec

* kernel-signed: refactor into one common spec file

The only differences between kernel-signed-x86_64 and
kernel-signed-aarch64 spec files were primarily the architecture
type in the spec name and input Source0 rpm. We can use a macro to set
these and reduce down to one spec file

* Update checks to consider kernel-signed

* kernel-hyperv: match release number

Ideally we keep kernel-headers version/release in sync with kernel and
kernel-hyperv package version/release. This allows the user to install
kernel-headers on any Mariner system by using
   dnf install kernel-headers-$(uname -r)

Signed-off-by: Chris Co <chrco@microsoft.com>
2021-04-20 17:51:09 -07:00
Thomas Crain 4859da4e1b Merge branch '1.0' into thcrain/pain (March Update) 2021-04-13 15:40:16 -05:00
Thomas Crain eae5b4006f Merge branch '1.0' into thcrain/ever-given 2021-04-06 22:39:22 -05:00
Christopher Co 840b30503e
installkernel: Add custom installkernel package (#816)
Add a custom installkernel script to easily install the Linux kernel
onto a running Mariner system. This script will get called automatically
by the Linux kernel's "make install" command.

Signed-off-by: Chris Co <chrco@microsoft.com>
2021-03-31 13:15:46 -07:00
Jon Slobodzian 1a3281d2a1 Merge 1.0-dev to 1.0 for March Update 2021-03-30 19:28:34 -07:00
Thomas Crain aab304ca58
Update PR template with new files (#807) 2021-03-29 09:25:50 -07:00
Andrew Phelps bd6df2caf6
update workflows to use golang 1.15 (#791) 2021-03-25 10:24:25 -07:00
Thomas Crain e5c1ee74ef
Add GitHub Action for LICENSE-MAP.md checking (#766) 2021-03-24 16:46:25 -07:00
Christopher Co 44d226165e
diskutils: Add partprobe after partition creation (#725)
* diskutils: Add partprobe after partition creation

There can be a timing issue where partition creation finishes but the
devtmpfs files are not populated in time for partition initialization.
So to deal with this, we call partprobe here to query and flush the
partition table information, which should enforce that the devtmpfs
files are created when partprobe returns control.

* diskutils: invoke partprobe with flock

Added flock because "partprobe -s" apparently doesn't always block.
flock is part of the util-linux package and helps to synchronize access
with other cooperating processes. The important part is it will block
if the fd is busy, and then execute the command. Adding a 5 second timeout
to prevent us from possibly waiting forever.

* diskutils: Update timeout variable name

* diskutils: clarify debug log message

* Add parted to documentation and quickstart runner

Signed-off-by: Chris Co <chrco@microsoft.com>
2021-03-18 11:32:51 -07:00
Jon Slobodzian 8e3f3aef60 Merge branch '1.0-dev' into 1.0 for February update 2021-02-22 19:40:02 -08:00
Pawel Winogrodzki 16c8e8df23
Addressing a few issues highlighted by "SpellCheck". (#626) 2021-02-10 12:56:45 -08:00
Thomas Crain 6eddfe439e
Fix handling of double-percent in cgmanifest check (#616) 2021-02-09 16:42:24 -08:00
Mateusz Malisz 1e813b86c8 Add title filter 2021-02-02 13:52:09 -08:00
Mateusz Malisz 2ec6d13dcb Add automated build trigger for release PR 2021-02-02 11:17:11 -08:00
Daniel McIlvaney e7d0c185f4 Attended installer supports new read-only root flows 2021-01-28 14:08:13 -08:00
Pawel d2197ac791 Updating entangled specs check. 2021-01-12 10:29:37 -08:00
Thomas Crain 6dffb4a58b
Add workflow to check entangled specs (#531) 2021-01-11 13:17:56 -08:00
Thomas Crain a6cdc0240a
Add workflow to check entangled specs (#528) 2021-01-11 13:08:04 -08:00