Commit graph

105 commits

Author SHA1 Message Date
Clayton Craft
4eda07153a
postmarketos-mkinitfs: upgrade to 2.0 (MR 3895)
- Move base files/modules out of package, this package now only provides
  the mkinitfs tool.

- Add all required modules, these were copied over from
  postmarketos-mkinitfs and sorted

- Use new exe name in trigger

- Update triggers to ignore /etc, add /usr/share/mkinitfs. No packages
  should be installing into /etc/mkinitfs/

- Support building/installing docs

- Add vendored deps

- Change trigger path
2023-03-08 21:35:04 -08:00
Clayton Craft
536264bac0
main/postmarketos-initramfs: new aport (MR 3895)
This package contains base file and module lists for the initramfs /
initramfs-extra archives, along with the init.sh

The primary reason for doing this is so that changes to these
files/lists can be properly versioned (in pkgver), and (re)building
mkinitfs itself is no longer required for these changes.

- Add base file list for initramfs. The dirs at path
  /usr/share/postmarketos-mkinitfs/* are "new" in mkinitfs 2.0

- Install default modules to /usr/share

- Install system config to /usr/share/mkinifs

- Add base files for -extra archive

- Create user config dirs

- Update hook dirs in init.sh, change from mkinitfs 2.0

- Remove splash images, obsolete since pbsplash

- Support uncompressed initramfs-extra
2023-03-08 21:34:37 -08:00
Clayton Craft
5a01a67634
ci: grep for old mkinitfs paths (MR 3895)
Co-authored-by: Oliver Smith <ollieparanoid@postmarketos.org>
2023-03-08 21:30:30 -08:00
Newbyte
3fa300ecdb
CI: fix dtb check detecting itself and improve message (MR 3801)
Previously, the grep command would detect the /usr/bin/share string
inside of the .ci/grep.sh file, so only check the device folder to
avoid this. Other folders shouldn't contain any kernels anyway.

[ci:skip-build]: Everything but linux-postmarketos-qcom-sm7150
built fine in CI, and linux-postmarketos-qcom-sm7150 built fine
locally. Building linux-postmarketos-qcom-sm7150 via the CI failed
because it took over 3 hours so the CI timed out.
2023-03-03 23:09:01 +01:00
Newbyte
14d50e1c06
CI: re-enable dtb path check (MR 3801) 2023-03-03 23:09:01 +01:00
Anton Bambura
d7ec2e46dc
CI: test_device: fix versioned depends for postmarketos-base (MR 3791)
[ci:skip-build]: already built successfully in CI
2023-02-13 08:52:20 +01:00
Oliver Smith
d502d02a0b
CI: bump copyright to 2023 2023-01-26 08:40:40 +01:00
Joel Selvaraj
eab0457e00
CI: shellcheck: include call_audio_idle_suspend_workaround script (MR 3639)
[ci:skip-build]: already built successfully in CI
2022-11-28 09:07:52 +01:00
Oliver Smith
1af1eafd23
CI: mark deviceinfo_usb_rndis_function as obsolete (MR 3669)
[ci:skip-build]: already built successfully in CI
2022-11-27 17:30:03 +01:00
uclydde
ecb08a4388
motorola-ali: use mainline kernel and add firmware (MR 3569)
[ci:skip-build]: already built successfully in CI
2022-11-21 09:08:46 +01:00
Oliver Smith
245d41d7c5
CI scripts: fix typo in URL (MR 3655)
Note that the URLs in these scripts are not only for information, but
they are also used as marker by pmbootstrap so it knows these are
compatible with 'pmbootstrap ci'. I just fixed the typo in the
pmbootstrap code as well and made a new release, use pmbootstrap 1.50.0
or above to have it recognize these scripts with 'pmbootstrap ci' again.
2022-11-20 16:50:42 +01:00
Oliver Smith
a1242ed35e
CI: implement distfile-check as python test (MR 3608)
Reimplement the distfile-check as python test inside this git
repository, so we don't need to download a tarball of ci-common.git to
run it. This would not have been nice for running the test with
'pmbootstrap ci', as we don't want it to get downloaded every time the
test runs.

This new implementation is done in less than 40 lines of code, very fast
and doesn't need to create a lot of files in /tmp to build a
"distfiletree".
2022-11-17 19:10:56 +01:00
Oliver Smith
3c4080e8f5
CI: make test_unreferenced_files more generic (MR 3608)
Prepare to add a new test making use of the
parse_source_from_checksums() function in test_unreferenced_files.py by
extending the function to not only return the checksum file names, but
also the checksums. Also rename the file from test_unreferenced_files.py
to test_source.py.
2022-11-17 19:10:56 +01:00
Oliver Smith
6dbe4fdc31
CI: move_logs.sh: put in .ci/lib (MR 3608) 2022-11-17 19:10:56 +01:00
Oliver Smith
196abb1575
CI: kconfig adjust for 'pmbootstrap ci' (MR 3608) 2022-11-17 19:10:56 +01:00
Oliver Smith
da52dace85
CI: adjust .ci/common.py users to pmbootstrap ci (MR 3608)
Adjust all CI scripts that make use of .ci/common.py to
'pmbootstrap ci'. Move all scripts that are not direct entry points to
running CI scripts to .ci/lib.

Comment out the dtb check, as it is failing. Apparently it didn't run
properly before. Let's fix this after this CI change is done.
2022-11-17 19:10:56 +01:00
Oliver Smith
8f78988b33
CI: editor-config: adjust for 'pmbootstrap ci' (MR 3608) 2022-11-17 19:10:56 +01:00
Oliver Smith
c88cfa516f
CI: shellcheck: adjust for 'pmbootstrap ci' (MR 3608)
Split out the grep for CHANGEME into a separate .ci/grep.sh script, as
it's not related to shellcheck and also there's another grep check that
I'll move there in a follow-up patch.
2022-11-17 19:10:56 +01:00
Oliver Smith
613aa1c68a
CI: flake8: adjust for 'pmbootstrap ci' (MR 3608) 2022-11-17 19:10:56 +01:00
Oliver Smith
a2f75963bf
CI: wiki: adjust for 'pmbootstrap ci' (MR 3608)
Add a wrapper .ci/wiki.sh, that pmbootstrap ci can run and use it in
gitlab-ci.yml. Add a .ci/lib/gitlab_prepare_ci.sh script that makes a
user available with sudo, as expected by the pmbootstrap ci compatible
scripts. Set up binfmt_misc too while at it, it will be needed for
running pmbootstrap.

The next patches will adjust the rest of the CI scripts and move the old
scripts in the .ci/lib dir, so only the scripts that should be called
directly are in the .ci dir.

Related: https://postmarketos.org/pmb-ci
2022-11-17 19:10:56 +01:00
Oliver Smith
23790a3577
.ci/check_devices_in_wiki: remove <> around url (MR 3608)
I added this around all urls in the beginning of postmarketOS, but now I
think it makes it less readable and doesn't have a benefit.
2022-11-17 19:09:57 +01:00
Jakob Hauser
67b5dd49dd
main/swclock-offset: move to its own repository (MR 3642)
To make "swclock-offset" available to other projects as well, it was
moved to its own repository.
2022-11-15 10:32:29 +01:00
Dzmitry Sankouski
341e959e45
xiaomi-sagit: new device (Xiaomi Mi6) (MR 3134)
Device uses mainline kernel. What works:
- boots
- display
- touchscreen
- wifi

Also add firmware package

[ci:skip-build]: already built successfully in CI
2022-11-03 07:58:19 +01:00
Oliver Smith
5e2730d2db
CI: add new test for correct usage of provides (MR 3597)
[ci:ignore-count]
[ci:skip-build]: does not finish for aarch64, I'll verify that it builds
for aarch64 before merging.
2022-11-02 15:02:56 +01:00
Luca Weiss
5c78e255a6
CI: disallow firmware packages to be noarch (MR 3607)
As explained in the previous commit, it's just unnecessary.

[ci:ignore-count]
[ci:skip-vercheck] no need to rebuild for arch change
2022-11-01 18:20:08 +01:00
Oliver Smith
2b3254df32
CI: test_unreferenced_files: remove debug prints (MR 3545)
Drop these debug prints which I added while extending the test to work
with MR 3386.
2022-10-16 14:26:48 +02:00
Luca Weiss
afc11656d8
ci: unreferenced: skip cross/ (MR 3541)
It thinks that the gcc-go.post-install files from the new cross/gcc-*
packages isn't used because those add subpackages dynamically in the
APKBUILD which isn't handled.
2022-10-15 23:26:29 +02:00
Oliver Smith
4cd4463a21
ci: unreferenced: handle triggers from subpackages (MR 3386)
Depends: pmbootstrap MR 2202
2022-10-12 21:39:12 +02:00
Oliver Smith
b01974179c
ci: unreferenced: refactor subpackage_installs (MR 3386)
Make it shorter in preparation for adding the same thing for triggers.
2022-10-12 21:39:12 +02:00
Oliver Smith
03ceddb284
CI: check mesa-dri-gallium dependency for devices (MR 3478)
Devices should not depend on it anymore to allow a more minimal install.
postmarketos-base will pull it in if mesa is installed.

[ci:ignore-count]
2022-10-11 11:19:53 +02:00
Newbyte
60d4821f68
CI: add dtb location check (MR 3254)
[ci:ignore-count]: Too many packages probably
[ci:skip-build]: No way this would finish in time
2022-10-09 17:04:36 +02:00
Minecrell
018b1a1a2d
community/device-asus-me176c: switch to linux-edge (MR 3167)
Linux 5.18 brought better support for some x86-based Android tablets,
thanks to work from Hans de Goede. This includes asus-me176c: the
modified ACPI table and the Linux fork is no longer necessary,
it can just run linux-edge from Alpine.

Drop the old Linux 5.4 fork and related packages. Instead of using
the proprietary sound firmware from linux-firmware-intel, switch to
using the open-source(!) "Sound Open Firmware" (SOF).

NOTE: The mainline battery driver seems quite a bit less accurate
than the ugly old driver ported from the downstream driver. Also,
Bluetooth seems to fail on some boots now. Overall it works quite
well though. :)
2022-10-06 01:34:42 +03:00
Oliver Smith
ff24bce15d
CI: deviceinfo: add more strict linting (MR 3454)
pmbootstrap and postmarketos-mkinitfs don't support multiple lines in
these files, and the complexity is not worth implementing there. Let's
keep the format dead-simple and enforce it across all files.

While at it, enforce that comments stat with '# ' and make sure each
line has quotations (we had some without).

Related: discussion in postmarketos-mkinitfs MR 21
2022-09-27 09:26:41 +02:00
Luca Weiss
a1a2f80a51
CI: require pmb:kconfigcheck-community for community/main devices (MR 3422)
Since nftables check is a part of community check, we can safely remove
the explicit nftables check.

[ci:skip-build]
2022-09-21 22:25:56 +02:00
Newbyte
7e94b27b71
CI: remove msm-firmware-loader from shellcheck (MR 3260)
msm-firmware-loader is in its own repo now.
2022-06-29 08:07:58 +02:00
Oliver Smith
5d4d9c80cd
CI: test_ui: get arches from pmaports.cfg (MR 3205)
Don't assume that each branch has all arches that pmbootstrap supports,
instead add them to pmaports.cfg and read them from there. This should
allow the test to pass on v22.06.
2022-06-07 08:01:25 +02:00
Oliver Smith
f940819e64
CI: wiki: add note about renamed devices (MR 3079)
Ask people to add renamed devices to https://postmarketos.org/renamed
The CI script already downloads this page and ignores missing devices
that are on this list of renamed devices. This is important, so when
creating a MR that renames a device, and already renaming the device in
the wiki, other CI jobs will not start failing until the MR is merged.
2022-04-21 09:45:18 +02:00
Caleb Connolly
6ec43fbbb4
ci: remove shellcheck for TTYEscape (MR 3017)
It's been moved to it's own repo.
2022-03-23 00:09:03 +00:00
Joel Selvaraj
b75e662f90
CI: don't exclude sdm845 related firmware packages (MR 2982)
No longer needed as these firmware packages doesn't depend on
soc-qcom-sdm845-nonfree-firmware anymore.
2022-03-22 12:29:45 +01:00
Johannes Marbach
4f3ed7f70e
main/osk-sdl: add fde-unlock script (MR 2687) 2022-02-03 15:39:48 -08:00
Johannes Marbach
816937b1ef
main/unl0kr: new aport (MR 2687)
Fixes: #1309
2022-02-03 15:39:48 -08:00
Mark Hargreaves
ac23869e4c
postmarketos-mkinitfs-hook-netboot: new aport (MR 2222)
Co-authored-by: Luca Weiss <luca@z3ntu.xyz>
2022-01-22 13:40:05 +01:00
Alexander Martinz
c84a97a757
shift-axolotl: add firmware package (MR 2738)
This adds a firmware package firmware-shift-sdm845 containing
BT, GPU and WiFi firmware, which allows to enable hardware
acceleration to get phosh up and running.

Change-Id: Iaef46ccd51a756ad44642769e64202a7c534be9c
Signed-off-by: Alexander Martinz <amartinz@shiftphones.com>
2021-12-22 05:00:05 +03:00
bo41
03c989ed54
ci: remove unused args argument from pmb.parse.apkbuild (MR 2711) 2021-11-27 15:42:05 +01:00
Newbyte
70be414133
CI: use shellcheck from Alpine again (MR 2691)
Shellcheck is back in Alpine's repos.

This reverts commit 80e35c5eb0.
2021-11-18 18:22:29 +01:00
Oliver Smith
80e35c5eb0
CI: download shellcheck as static binary (MR 2673)
Adjust to shellcheck removal in Alpine. Currently it's still in edge for
x86_64, but installation fails with:

  ERROR: unable to select packages:
    so:libffi.so.7 (no such package):
      required by: shellcheck-0.7.2-r1[so:libffi.so.7]

Use the official static binary release from shellcheck instead of the
Alpine package. Version 0.7.2 is intentionally used instead of latest
8.0.0, since the latter generates a new warning. Let's unbreak CI first
before adjusting to a newer shellcheck version.

Related: https://lists.alpinelinux.org/~alpine/devel/%3C20211021133615.32f08070%40ncopa-desktop.lan%3E
2021-11-10 08:26:42 +01:00
Jami Kettunen
4ca73456e4
CI: exclude firmware-oneplus-msm8998 from firmware tests (MR 2591)
This was already done for firmware-oneplus-sdm845 &
firmware-xiaomi-beryllium which also depend on
soc-qcom-sdm845-nonfree-firmware.
2021-11-08 12:07:42 +02:00
Clayton Craft
82fba2bdb2
ci/apkbuild-linting: quit if there are no apkbuilds to lint (MR 2630)
If the only changed apkbuilds are skipped, then the check would lint
*every* apkbuild in aports (calling '-q lint' with no packages
apparently causes it to do everything)

This quits if all packages were skipped. It fixes the CI failure seen on
MR !2600
2021-10-24 15:00:24 +02:00
Alexey Minnekhanov
b4d73a717f
CI: add installkernel-pmos to shellcheck (MR 2586) 2021-10-14 12:27:55 +03:00
Alexey Minnekhanov
b8ac75d475
CI: follow-up rework according to pmbootstrap master (MR 2595)
args.logfd was moved to pmb.helper.logging.logfd

Follow-up to https://gitlab.com/postmarketOS/pmbootstrap/-/merge_requests/2114
2021-10-11 16:08:39 +03:00
Minecrell
f9fae7bf4e
CI: wiki: check if device name is on Renamed Devices page (MR 2559)
Since the wiki applies to all branches, renaming devices is really
difficult without breaking the wiki check. To simplify this, download
the Renamed Devices page additionally, and just print a WARNING if
a device is missing in the wiki, but is listed there.
2021-09-28 11:55:37 +02:00
Nikita Travkin
bc50dd0279
main/msm-firmware-loader: add a package to load firmware on msm devices (MR 2431)
Many devices need proprietary firmware blobs. So far those blobs were
packaged and installed from the repository but this approach has many
drawbacks:

- The rootfs can only be used on a single device model.
 - If a model has multiple variants that have diferent secire-boot key,
   each must have it's own firmware blobs.

This makes maintaining packaged firmware very hard and outweights the
benefits of having a repeatable installation in most cases.

Instead we can load blobs dynamically from preexisting firmware
partitions that usually have same structure and contain the blobs we are
interested in.

The proposed scripts place symlinks to the blobs in a special dir that
then given to the kernel. Blobs from firmware/postmarketos (or another
dir that was set as extra path prior the script execution) will take
priority which allows to override some blobs (e.g. for deviecs with no
secure-boot)
2021-09-27 15:23:47 +03:00
Johannes Marbach
95d375879c
treewide: firmware: use pmb:cross-native/!tracdeps (MR 2468)
Add pmb:cross-native/!tracedeps to applicable firmware packages and
secure both with a test.

This sets the pmb:cross-native and !tracedeps options on all firmware-*
packages that are compatible with the native compilation method. A unit
test ensures the presence of both options while maintaining a list of
exempted packages.

Fixes: #718
[ci:ignore-count] [ci:skip-vercheck] [ci:skip-build]
2021-09-19 18:57:36 +02:00
bo41
346c8d2e89
CI: check empty deviceinfo variables (MR 2534) 2021-09-19 10:08:13 +02:00
bo41
ef0117cc4e
CI: rename ci folder to consistent naming (MR 2514)
part of https://gitlab.com/postmarketOS/postmarketos/-/issues/26
2021-09-14 09:36:39 +02:00