x86_64 packages have been built, let's switch:
http://dl-cdn.alpinelinux.org/alpine/v3.12/
There doesn't seem to be a branch on aports.git yet, but it should
appear soon. So it's master for now.
Closes: #582
This script is used by multiple repositories by now, let's make sure we
only have one place where we need to maintain it. The version in
ci-common is shellchecked and displays less output for 'pmbootstrap
init' again (unless it fails, then it shows the whole log).
Read kernel module names from files in
/etc/postmarketos-mkinitfs/modules and print out which modules are
required by which of these files as the initramfs gets generated. Put
the default modules into a new 00-default.modules. This allows mkinitfs
hooks to add modules to the initramfs.
Parse the modules from a file similar to modules-load.d, with commented
lines and empty lines ignored. Add a simple test script for that and run
it in check().
Split mkinitfs.sh into two files, so the functions (now in
mkinitfs_functions.sh) can be sourced in a test. Such a test will be
added in the next commit.
Move $BINARIES_EXTRA into the get_binaries_extra() function, so its
$(find...) does not get executed when sourcing the functions file. Move
$BINARIES into get_binaries() too for consistency.
Make it pass shellcheck by fixing obvious mistakes like '==' instead of
'='. Add "shellcheck disable" lines for things that are intentionally done
or would be a bit more complicated to rewrite. It would be nice to
refactor some things like '${outfile/initramfs-/uImage-}', but this should
be done in a separate change (patches welcome).
Remove unused variable "modules_path". While at it, add two new fatal
error messages instead of just "exit 1" without any comment and remove
redundant mkdir in APKBUILD.
Replace branch_pmos and branch_alpine keys (that were never used) with a
new channel key. pmbootstrap will look up the branches related to a
channel in channels.cfg of the master branch. While at it, modernize the
file.
Let's add a nice file that defines the available release channels.
Upcoming pmbootstrap patches will make use of this in 'pmbootstrap init'
for example:
[20:46:22] Choose the postmarketOS release channel.
[20:46:22] Available (2):
[20:46:22] * edge: Rolling release channel
[20:46:22] * stable: Upcoming beta release (WIP, DO NOT USE!)
[20:46:22] Channel [edge]:
Closes: #519
The current postmarketOS port does not do Hildon/Maemo Leste justice.
Various features are missing or broken. We can't even upgrade to the newest
version, because of packaging issues that can't easily be resolved. And
nobody is maintaining it currently. So for the people who want to use
Hildon, please use Maemo Leste (https://maemo-leste.github.io/).
If somebody is willing to invest a lot of time for a new postmarketOS
port of Hildon/Maemo Leste, let us know!
Left over from unity 8, which has been removed from pmaports earlier.
umockdev depends on libgudev in Alpine, which has been moved from main
to community. As of writing, there is no armhf package, so the upstream
compatibility test is failing. There is no point in waiting until the
package was built though, since nobody is currently using in in
pmaports.
The point of this program was to have something to play with once weston
boots up. It does not make sense to ship this with
postmarketos-ui-plasma-mobile.
Related: postmarketos-demos#1
It seems that the .gitlab-ci.yml did not trigger properly when the file
was changed last time, and now it does in this MR. Fix the file to make
it pass.
Do not run upstream compatibility checks whenever pushing to master.
This is confusing, because if the upstream compatibility check fails,
then it appears that the last patch was broken in some way although it
isn't related.
I've moved the upstream compatibility checks to a separate repository
already, and added a badge to the pmaports gitlab project that indicates
whether they are currently succeding or not. The checks run hourly now.
Related: https://gitlab.com/postmarketOS/monitoringFixes: #457
Prepare for better device categorization by moving everything to testing
subdir first.
[skip-ci]: chicken-egg problem: passing pmaports CI depends on pmbootstrap MR
depends on this MR
Related: postmarketos#16
GitLab disabled downloads of tarballs currently, because it was being
exploited for DoS agains their infrastructure. Work around this by using
git clone for now. I've thought about using --depth=1, but that would
break the ability to choose different branches.
Related: https://status.gitlab.com
Use the native rustc cross compiler where possible, and fall back to the
qemu rustc if necessary. This should improve speed and reliability.
Without this patch, building squeekbox 1.4.0 for aarch64 with the
pmbootstrap stack just hangs forever.
Related: pmbootstrap#1861
Temporarily disabled, because the postmarketOS binary repository has
armhf packages for various kde related packages depending on
qt5-qtwebengine-dev, although qt5-qtwebengine-dev isn't available for
armhf anymore. All related pmaports were disabled for armhf, however
currently the binary repository does not delete binary packages yet,
after the corresponding pmaport was deleted/disabled for a given arch.
I'll work on this with high priority, so we can enable the test again.
Related: https://gitlab.com/postmarketOS/build.postmarketos.org/issues/38
With this patch and pmbootstrap!1851, finally resolve the long-standing
issue that gtk+2.0-maemo would get installed by pmbootstrap whenever
something depends on gtk+2.0. (Currently on x86_64 only, because maemo
is disabled for other arches, but still very annoying.)
I've verified that doing 'pmbootstrap install' with qemu-amd64 and
hildon as selected UI still results in gtk+2.0-maemo getting installed.
[ci:skip-build]: already built successfully in CI
The framework check is supposed to make sure, that we always have the
same versions of multiple packages that belong to the same framework.
We must exclude git versions for this check to have it working properly.
The interesting question is of course: why was this working before?
The check is using the url field to figure out which packages belong to
a certain framework, and by chance, all packages that had a git version,
did also use single quotes around the URL:
url='http://qt-project.org/'
With the old APKINDEX parsing code, this was parsed as:
url: "'http://qt-project.org/'"
And therefore, this was considered a different URL than the URL with
double quotes (again, by chance!) used by the stable qt versions:
url: "http://qt-project.org/"
I have improved the APKBUILD parsing code in pmbootstrap today, and now
it is properly parsing both URLs.
Related: https://gitlab.com/postmarketOS/pmbootstrap/merge_requests/1837
Fix the following error when installing postmarketos-ui-plasma-mobile:
ERROR: unsatisfiable constraints:
polkit-elogind-0.116-r1:
breaks: polkit-dev-0.116-r0[polkit=0.116-r0]
satisfies: polkit-kde-agent-1-5.17.3-r0[polkit-elogind]
.pmbootstrap-20191121.210534[polkit-elogind]
consolekit2-1.2.1-r1[polkit]
consolekit2-1.2.1-r1[so:libpolkit-gobject-1.so.0]
networkmanager-1.20.6-r0[so:libpolkit-agent-1.so.0]
networkmanager-1.20.6-r0[so:libpolkit-gobject-1.so.0]
polkit-qt-1-0.113.0-r0[so:libpolkit-agent-1.so.0]
polkit-qt-1-0.113.0-r0[so:libpolkit-gobject-1.so.0]
accountsservice-0.6.55-r0[so:libpolkit-gobject-1.so.0]
urfkill-0.5.0_git20170118-r0[so:libpolkit-gobject-1.so.0]
This is the reason, why the pmbootstrap qemu test (which performs a full
plasma mobile installation and checks running processes) check failed:
https://postmarketos.gitlab.io/-/pmbootstrap/-/jobs/357942365/artifacts/log_testsuite.txt
It seems the the CFLAGS are not properly set in the CMakeLists.txt.
Cmake currently appends -std=gnu90 at the end of the CFLAGS, overriding
the earlier set -std=c99. Work around this with sed. Better fix is
welcome, this is a stop-gap solution to unbreak the build (which is
blocking build.postmarketos.org).
Fix build with current abuild version by removing the "-devel" suffix
in /usr/lib/pkgconfig/*.pc. Set "pcprefix" instead, so abuild doesn't
confuse these packages with the regular mesa.
[ci:skip-build]: already built successfully in CI
Fixes: #386
Without this, the device will simply run the broken ACPI DSDT table, so
we might as well update it. If we had put it into a subpackage, it
would not be possible to use the fixed DSDT without any other firmware
packages.
Turns out, that the pkgrel was bumped in Alpine. I had looked at an
outdated error message from the postmarketos-ui-* related MR and
assumed that this issue is still present (somwhat confused by the other
upstream-compat issues).
This reverts commit 07653d60a8.
Package kcalcore has been renamed to kcalendarcore in Alpine.
pmbootstrap can't resolve kcalcore-dev anymore (not sure if this is a
bug in pmbootstrap, or if the -dev package is not properly replaced in
the upstream APKBUILD). Work around the resulting error by updating the
package to use the new dependency name.
Needs a pkgrel bump because dependency libboost was upgraded. This is
currently breaking everything depending on libphonenumber, for example
plasma mobile.
>>> postmarketos-ui-plasma-mobile: Analyzing dependencies...
ERROR: unsatisfiable constraints:
so:libprotobuf.so.20 (missing):
required by: libphonenumber-8.10.21-r0[so:libprotobuf.so.20]
>>> ERROR: postmarketos-ui-plasma-mobile: builddeps failed
The openrc service of lightdm has been moved to lightdm-openrc in
Alpine. Fix all UIs depending on lightdm, so their post-install script
does not fail with:
Executing postmarketos-ui-plasma-mobile-2-r6.post-install
* rc-update: service `lightdm' does not exist
It was forked to build the 5.17 pre-release, which is not needed
anymore. Remove now to unclutter pmaports, and to get pretty much all
remaining packages for x86_64 out of the queue on
build.postmarketos.org.
Fix the following error message and make it build again:
configure.ac:11: error: possibly undefined macro: AC_PROG_LIBTOOL
If this token and others are legitimate, please use m4_pattern_allow.
See the Autoconf documentation.
Upgrade and add depends to static libraries to make it build again. When
the package was added initially, the static libraries were part of the
respective -dev packages.
Phosh depends on gnome-session, which is currently not available in
Alpine for armhf. Fix the arch-lines to unblock building the binary
repository. [ci:skip-vercheck]
Let's send both to to the bpo server with each request. This is needed
to handle failing jobs (we need to know which job exactly is failing).
Note that this is not directly using a sourcehut specific environment
variable, because with bpo it is also possible to choose a "local"
job service for testing (manual and testsuite). The local job service
will just generate a random number as job id and place that in this
variable.
This ID was not so useful and got in the way of calling the
get_repo_missing job without actually having received a trigger from
gitlab before (bpo.py --auto-get-repo-missing).
Rename .sr.ht to .build.postmarketos.org, because the submit script is
talking to the bpo server and may not even be using sourcehut if running
with the local job service.
Update the script to work with the new API. See the
build.postmarketos.org git repository for details:
https://gitlab.com/postmarketOS/build.postmarketos.org/
Fixes 'pmbootstrap flasher boot' for fastboot devices. This is probably
not used as often as 'pmbootstrap flasher flash_*', so I'm not enforcing
the upgrade by modifying pmaports.cfg this time.
postmarketos-ui-plasma-mobile has !armhf in its arches list, so it does
not make sense to build these packages for armhf either. Let's save some
building time.
[ci:skip-vercheck], [ci:skip-build]
Cut off the hotfix-version (fourth number) from the version strings
before comparing them, to fix invalid errors like:
[14:57:00] Reference pkgver: 5.16.90 (from 'khotkeys')
[14:57:00] ERROR: plasma-workspace has version 5.16.90.1