Commit Graph

949 Commits

Author SHA1 Message Date
Oliver Smith ac2a0b2749 convert dict.keys() to list() (#1290) 2018-03-04 21:10:27 +01:00
Oliver Smith 99127111a1
Only download APKINDEX for relevant architectures (#1201)
### Only download APKINDEX for relevant architectures
We're downloading the APKINDEX files for all architectures supported by
postmarketOS currently (x86, x86_64, armhf, aarch64). Most of the time,
we only need it for the native and device arch, so this PR reduces the
downloaded files to what is really necessary.

### Intuitive pmbootstrap update logic
* pmb.helpers.repo.update():
  * Default is updating all arches where the APKBUILD files exist
  * Add existing_only parameter
  * Return True when files have been downloaded
  * Properly print which arches will be updated
  * Print update reason only in verbose log
  * Add and improve comments
* pmb.parse.arguments(), update action:
  * Add --non-existing parameter
  * Default for --arch is None (instead of arch.native)
* pmb.helpers.frontend.update():
  * Inform about --non-existing if no APKBUILDs have been updated
2018-03-04 13:44:27 +00:00
Oliver Smith e6bb96426b
linux-postmarketos-mainline: fix weston (x86_64) (#1283)
Since it works for linux-postmarketos-stable, I've simply copied over
the config, and ran "pmbootstrap menuconfig" on it again. Then it
worked again in Qemu.
2018-03-04 11:15:47 +00:00
Martijn Braam 6e69c8d905 postmarketos-base: Enable NetworkManager by default (#388) 2018-03-04 11:07:21 +00:00
Filip Matijević 0abf1557fe Fix Nokia N9 build and update kernel (#1281)
* Remove unneeded dtb entry from deviceinfo
* Update Nokia N9 to kernel v4.16-rc3
2018-03-03 11:01:35 +00:00
Bart Ribbers a1ae2b7084 Add NetworkManager and PulseAudio applets to Plasma (#1040)
* Add NetworkManager and PulseAudio applets to Plasma
* This crashes plasma mobile on armhf (where it is not usable due
  to performance problems anyway), except on mainlined kernels
  with hardware accelerated graphics. This is mentioned in the
  pkgdesc of postmarketos-ui-plasma-mobile now.
2018-03-02 21:07:18 +00:00
Luca Weiss 50e293f035 Kernel updates (#1280)
* linux-postmarketos-stable 4.15.7
* linux-postmarketos-lts 4.14.23
2018-03-01 23:53:19 +00:00
Oliver Smith 0f15951023
Always prefer native/device arch when building (#1277)
In case the user does not specify for which arch packages should be
built with `pmbootstrap build`, we detect it automatically.

Previous logic was, that if the APKBUILD's arch is "all" or "noarch",
then prefer the native arch, and otherwise use the first one in the
list of available arches.

New behavior is, that we also check if the list of possible arches
contains the native arch (and if that fails, the device arch). If that
is the case, we return the native/device arch instead of the first one
in the list.

### Use case

The arch from `gcc-armhf` and similar packages (as generated by
`pmbootstrap aportgen`) used to be "all", but is nowadays a specific
list of arches. This means, that after updating the `gcc-armhf` and
`gcc-aarch64` packages, and calling `pmbootstrap build gcc-armhf`,
it will try to build `gcc-armhf` for `aarch64` instead of the native
architecture, because that is the first one listed.
And since compiling to `aarch64` requires `gcc-aarch64`, it will build
that for the native architecture first.

So you're asking for `gcc-armhf` and it compiles `gcc-aarch64`, which
is very confusing (see #1272).
2018-03-01 20:04:51 +00:00
Oliver Smith 25256ae4a1
Bump pkgrel of qt5-qtbase and db8
Upstream soname bumps, these don't exist anymore:
* so:libicui18n.so.59
* so:libicuuc.so.59
2018-02-28 21:49:48 +01:00
Daniele Debernardi e694e00d85 Use default partitions in odin export if not specified in deviceinfo (#1271) 2018-02-28 01:28:36 +00:00
Oliver Smith c0eb991073
Update gcc-* to upstream: 6.4.0-r7 2018-02-27 23:24:21 +01:00
Bart Ribbers 74217d6001 Package the Plasma phone dialler (#1270)
* Package everything required for the Plasma dialler

* Improve build scripts

* Bump pkgrel of plasma-phone-components
2018-02-27 21:06:46 +01:00
Oliver Smith 34b95a7e8b
postmarketos-mkinitfs: don't fail without deviceinfo [skip ci] (#1269)
When building device packages, the postmarketos-mkinitfs package gets
installed as dependency of postmarketos-base. It must not try to
create an initramfs at this point, when there is not deviceinfo file.

We build the initramfs during the installation, so it's fine.

Added [skip ci] because linux kernels and KDE updates are currently
getting built for the binary repository (so Travis couldn't finish
anyway).
2018-02-26 23:57:56 +00:00
Bart Ribbers 92b11bf610 Update KDE Frameworks to 5.43.0 (#1265) [skip ci] 2018-02-26 23:27:50 +00:00
Luca Weiss f4619cccb1 Kernel updates (#1267) [skip ci]
* linux-postmarketos-stable 4.15.6
* linux-postmarketos-lts 4.14.22
* linux-postmarketos-mainline 4.16_rc3
2018-02-26 23:27:28 +00:00
Oliver Smith ab2fde4fef
Make nonfree depends optional part 2: device pkgs (#1268)
* Add nonfree_firmware subpackage to all devices, that depend on
  nonfree firmware.
* Some packages were depending on `linux-firmware`, but without having
  Wifi working. Removed that dependency as it was probably added by
  accident. If it was really necessary, chosing the appropriate
  split linux-firmware package (e.g. linux-firmware-brcm) is better
  anyway (that has been changed recently in Alpine and is possible
  now).
* Add a test case that makes sure we don't have firmware depends
  without subpackages in device aports anymore.
2018-02-26 22:11:44 +00:00
Luca Weiss b6bf3176e2 Add nonfree-firmware subpackage for fp2 (#1261)
Also removes linux-firmware from device package as it
was probably never used.
2018-02-26 20:53:22 +00:00
Daniele Debernardi 20e850c5aa Include fbdebug tool in debug-shell hook (#1266) 2018-02-26 20:32:01 +00:00
pikpok d44776e2cb New device: Moto G 4G (2013) (#1264) 2018-02-26 20:26:47 +00:00
Oliver Smith 937686d164
Don't mark all packages as explicitly installed (#1247)
pmbootstrap does dependency resolving on its own, and passes the list
of resolved packages to apk when we want it to install something. The
reason was outlined in #129:

> fixing #120: packages do not get updated in "pmbootstrap install"
> after they have been rebuilt. For this to work, we specify all
> packages explicitly for abuild, instead of letting abuild do the
> resolving.

This new PR fixes #1212 (which noted that all of these dependencies
were explicitly marked for installation) by doing the following:
1. All packages and dependencies get attached to the virtual package
  .pmbootstrap instead of world
2. We install the packages (without depends) explcitly
3. .pmbootstrap gets removed, which means that all packages from 1.
  stay installed, but are no longer marked as explicitly installed.
  They will get removed automatically, when the depending packages get
  removed.

In addition, the mechanism for replacing the package of locally built
packages with their full path, was broken and has been fixed in this
commit. This is necessary to update packages of the same version with
apk.
2018-02-25 20:49:47 +00:00
Luca Weiss 6b9e7ecf75 qemu: allow the user to specify the kernel flavor (#1256) 2018-02-25 19:20:22 +00:00
Oliver Smith 948b5af09b
device packages: depend on postmarketos-base (#1258)
* device-*: add postmarketos-base to depends
* aportgen: add postmarketos-base to depends
* Add test case
* postmarketos-base: Don't depend on devicepkg
* msm-fb-refresher: Enable service in post-install
2018-02-25 18:40:54 +00:00
Pierre Rudloff 26f0e2d045 infocus-flatfish: Correct framebuffer mode (#1262) 2018-02-25 17:47:04 +00:00
Attila Szöllősi e4875e54fa Fix menuconfig arch check (#1259)
We don't use 'arch="all"' in our kernels anymore (that does not make sense,
since each arch needs its own kernel config). This patch fixes the menuconfig
code to work with multiple values in the "arch" field.
2018-02-25 17:44:01 +00:00
Joey Hewitt cd8b190bc3 samsung-i9195: fix kernel config (#1260)
It lacked some hardware config, such as the USB switch.
With this change, I was able to SSH over the USB network.

I based this off of LineageOS 14.1's config file from its
build root. I think we were missing the secondary config
file
(TARGET_KERNEL_VARIANT_CONFIG := msm8930_serrano_eur_lte_defconfig
in BoardConfig.mk).
2018-02-25 17:32:35 +00:00
Oliver Smith ad5a0d4294
Make proprietary drivers optional (1/2): pmbootstrap changes (#1254)
Here are the changes necessary in pmbootstrap to make proprietary
software installed onto the device (firmware and userspace drivers)
optional (#756). To full close the issue, we need to apply this concept
to all device packages we already have in a follow-up PR.

Changes:
* New config file options nonfree_firmware and nonfree_userland, which
  we ask for during "pmbootstrap init" if there are non-free components
  for the selected device.
* We find that out by checking the APKBUILD's subpakages: The non-free
  packages are called $pkgname-nonfree-firmware and
  $pkgname-nonfree-userland.
* During "pmbootstrap init" we also show the pkgdesc of these
  subpackages. Parsing that is implemented in
  pmb.parse._apkbuild.subpkgdesc(). It was not implemented as part of
  the regular APKBUILD parsing, as this would need a change in the
  output format, and it is a lot *less* code if done like in this
  commit.
* pmb/parse/apkbuild.py was renamed to _apkbuild.py, and
  pmb/install/install.py to _install.py: needed to call the function in
  the usual way (e.g. pmb.parse.apkbuild()) but still being able to
  test the individual functions from these files in the test suite.
  We did the same thing for pmb/build/_package.py already.
* Install: New function get_nonfree_packages() returns the non-free
  packages that will be installed, based on the user's choice in
  "pmbootstrap init" and on the subpackages the device has.
* Added test cases and test data (APKBUILDs) for all new code,
  refactored test/test_questions.py to have multiple functions for
  testing the various questions / question types from
  "pmbootstrap init" instead of having it all in one big function.
  This allows to use another aport folder for testing the new
  non-free related questions in init.
2018-02-24 21:49:10 +00:00
Bart Ribbers 2e30fa4281 New device (Jolla Phone) (#1245) 2018-02-24 18:46:54 +00:00
Luca Weiss 2f78dad318 Kernel updates (#1253)
* linux-postmarketos-lts 4.14.21
* linux-postmarketos-stable 4.15.5
2018-02-24 08:34:42 +00:00
MoreRobustThanYou b661fd957f Patch amazon-thor's kernel to properly set the RGB mode (#1252) 2018-02-24 08:25:32 +00:00
Pierre Rudloff 64c8f39e82 New device: infocus-flatfish (#1251)
It boots and display/touchscreen partially work
(the framebuffer only fills a part of the screen).
2018-02-24 08:17:38 +00:00
Oliver Smith 8f5ffe0589
APKINDEX not found: Only show in verbose log (#1250)
The message appears 20 or so times in a row when setting up a new
chroot. Right now we log it into the debug log (which is what
"pmbootstrap log" and "pmbootstrap --details-to-stdout" show). This
is annoying for normal pmbootstrap usage, and really clutters up the
Travis output.

This commit changes the log level to verbose, so it only shows up
when "-v" is passed to pmbootstrap.
2018-02-24 08:03:34 +00:00
Pierre Rudloff 5514584f71 gp-peak: Add support for osk-sdl and audio (#1243)
* gp-peak: Add support for osk-sdl
* gp-peak: Move non-kernel files to device-gp-peak
* gp-peak: Add audio support
Manually trigger the udev rules for audio devices and add the default user to the audio group
2018-02-22 23:36:24 +00:00
Oliver Smith 68c3be8f55
Update musl-* to upstream (1.1.19-r0) 2018-02-22 23:44:37 +01:00
Mayeul Cantan a261a1cd26 Add a maximum-attention hook to help with debugging boot issues (#1238)
The hook flashes every LED it can find, as well as the vibration motor.
More paths are probably necessary to support more devices and kernels.
2018-02-22 22:10:19 +00:00
Sicelo 730d311e75 Update README.md (#1249)
x86 is also supported, not just x86_64
2018-02-22 22:50:39 +01:00
Pierre Rudloff 40d8955bae gp-peak: Set deviceinfo_flash_fastboot_max_size (#1244) 2018-02-21 20:39:59 +00:00
Luca Weiss c7db649823 Kernel updates (#1240)
* linux-postmarketos-mainline 4.16-rc2
* linux-postmarketos-stable 4.15.4
* linux-postmarketos-lts 4.14.20
2018-02-21 19:19:37 +00:00
Oliver Smith 9af240b7d9
Bump musl-* to upstream (1.1.18-r8) 2018-02-21 19:46:06 +01:00
Oliver Smith 90ca7b6351
zap_mismatch_bins: Adjust to new apkindex parsing
Without this fix, `pmbootstrap zap -m` fails with:

  File "/home/user/code/pmbootstrap/pmb/__init__.py", line 61, in main
    getattr(frontend, args.action)(args)
  File "/home/user/code/pmbootstrap/pmb/helpers/frontend.py", line 322, in zap
    distfiles=args.distfiles)
  File "/home/user/code/pmbootstrap/pmb/chroot/zap.py", line 54, in zap
    zap_mismatch_bins(args, confirm, dry)
  File "/home/user/code/pmbootstrap/pmb/chroot/zap.py", line 110, in zap_mismatch_bins
    if pkgname != bin_data["pkgname"]:
KeyError: 'pkgname'
2018-02-20 21:41:03 +00:00
Bart Ribbers a3676b1bbc New device: Nexus 5X (LG Bullhead) (#1222) 2018-02-20 20:24:45 +00:00
Oliver Smith 2a9c1da46c
Bump version to 0.7.0 (previous one got tagged) 2018-02-20 19:53:50 +00:00
Oliver Smith db5e69630e
Index parser: support multiple package providers (#1202)
* The APKINDEX parser used to return a dictionary with one package for
  a given package name. This works for the installed packages database,
  because there can only be one provider for a package. But when
  parsing packages from binary repositories, we need to support
  multiple providers for one package. It is now possible to get a
  dictionary with either multiple providers, or just a single provider
  for each package.
* Dependency parsing logic has been adjusted, to support multiple
  providers. For multiple providers, the one with the same package
  name as the package we are looking up is prefered. If there is none
  (eg. "so:libEGL.so.1" is provided by "mesa-egl"), it prefers packages
  that will be installed anyway, and after that packages that are
  already installed. When all else fails, it just picks the first one
  and prints a note in the "pmbootstrap log".
* Added testcases for all functions in pmb.parse.apkindex and
  pmb.parse.depends
* pmbootstrap chroot has a new "--add" parameter to specify packages
  that pmbootstrap should build if neccessary, and install in the
  chroot. This can be used to quickly test the depencency resolution
  of pmbootstrap without doing a full "pmbootstrap install".

Fixes #1122.
2018-02-20 19:52:28 +00:00
Martijn Braam 481c99f50c
postmarketos-ui-i3wm (#1225)
* Added a ui package for i3wm

* Added n900 specific i3wm config

* Fixed mixed tabs and spaces in i3status.

This is also the first commit made on an n900
running postmarketOS.

* Removed redundant X11

* Use lock.sh to lock the device

* Windows management improvements

* bump pkgver

* Fix device-nokia-n900 checksums

* Fixed path in the i3wm split package
2018-02-20 11:21:03 +01:00
Oliver Smith 0f371e426f
pmbootstrap build --src: override source for any package (#1210)
* New "pmbootstrap build --src=/local/source/path hello-world" syntax
* The local source path gets mounted inside the chroot
* From there, a copy of the source code gets created with rsync (so
  we can write into the source folder if necessary, for better
  compatibility with all kinds of APKBUILDs)
* After the aport gets copied into the chroot before building (as
  usually), we extend the APKBUILD with overrides to make it use
  mountpoint's source instead of downloading the package's source
  from the web as usually
* The package built with the local source gets _pYYYYMMDDHHMMSS
  appended to the pkgver
* linux-postmarketos-mainline: use $builddir, fix patch checksum
2018-02-19 22:04:01 +00:00
Oliver Smith 42ed5dcb0a
linux-nokia-n9: update patch checksum 2018-02-19 21:04:52 +01:00
Oliver Smith eaeb3c9f2c
kfilemetadata: bump pkgrel (soname bump: libexiv2.so.14) 2018-02-19 20:59:00 +01:00
Martijn Braam 0d84d58ba7 Wireguard for postmarketos-stable (#1231)
* Added modified wireguard APKBUILD from alpine
* Add required kernel options to postmarketos-stable
2018-02-19 16:51:00 +00:00
Pierre Rudloff 2fb49d2a15 gp-peak: display and touch screen (#1226)
Adds a /etc/local.d/ script in order to work around
udev being broken with this kernel.
2018-02-18 01:42:46 +00:00
Alex Dills 50a5d36cbb Rudimentary ZSH autocompletion helper (#1232) 2018-02-17 22:46:20 +00:00
Alexander 57b45a4798 Add a check for binfmt_misc (#1236)
Closes #1223.
2018-02-17 20:41:54 +00:00