Skip to content
Snippets Groups Projects
  1. Feb 21, 2018
  2. Feb 20, 2018
    • Oliver Smith's avatar
      zap_mismatch_bins: Adjust to new apkindex parsing · 90ca7b63
      Oliver Smith authored
      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'
      Unverified
      90ca7b63
    • Bart Ribbers's avatar
      New device: Nexus 5X (LG Bullhead) (#1222) · a3676b1b
      Bart Ribbers authored
      a3676b1b
    • Oliver Smith's avatar
    • Oliver Smith's avatar
      Index parser: support multiple package providers (#1202) · db5e6963
      Oliver Smith authored
      * 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.
      Unverified
      db5e6963
    • Martijn Braam's avatar
      postmarketos-ui-i3wm (#1225) · 481c99f5
      Martijn Braam authored
      * 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
  3. Feb 19, 2018
  4. Feb 18, 2018
  5. Feb 17, 2018
  6. Feb 16, 2018
    • Oliver Smith's avatar
      Package kernel-scripts separately (#1234) · d2610343
      Oliver Smith authored
      We have two methods of cross-compiling:
      * native: everything runs with the host architecture, QEMU is not
        involved. This is the fastest, but requires the build system to be
        working with it. We use this for all linux-* packages currently.
      * distcc: everything runs through QEMU emulating the target arch,
        *except* for the compiler. This is the most compatible approach
        working with all packages.
      
      When compiling `linux-*` packages natively, kernel scripts needed
      during the build process get generated. Some of these are C files that
      get compiled as executables. In native mode, these get compied to the
      native architecture, in distcc mode to the target architecture.
      
      The problem is, that we need these scripts compiled for the target
      architecture in the kernel's dev package in order to compile kernel
      modules outside of the kernel's package (e.g. wireguard).
      
      It is not possible to just rewrite this logic to generate target-arch
      binaries when running in native mode, because these binaries require
      musl-dev, linux-headers and some other packages to be installed for the
      target architecture inside the native chroot.
      
      We solve this by introducing a new `kernel-scripts` package. which
      contains just the binary scripts. In case the dev package was
      cross-compiled, it depends on `kernel-scripts` and symlinks these
      binaries. The `kernel-scripts` package always gets compiled in distcc
      mode since it does not have a `linux-` prefix.
      
      Fixes #1230.
      d2610343
  7. Feb 14, 2018
  8. Feb 13, 2018
  9. Feb 12, 2018
  10. Feb 11, 2018
  11. Feb 10, 2018
  12. Feb 09, 2018
    • Pavel Machek's avatar
      Update unicsy-demo to 0.4.6 (#1215) · bca7fc20
      Pavel Machek authored
      bca7fc20
    • Oliver Smith's avatar
      Fix screwed up progress bars in Travis output (#1213) · 3fe75ddb
      Oliver Smith authored
      Right now, they appear on screen when using --details-to-stdout. This
      does not work well with Travis CI and screws up the log.
      
      Disabling the progress bars in abuild works just like Alpine does it in
      their Travis CI script: Exporting SUDO_APK as
      "abuild-apk --no-progress" instead of "abuild-apk".
      
      test_check_checksums.py: Run "pmbootstrap build_init" before building
      any packages, so it is a bit less verbose (downloading the APKINDEX
      files etc.). Later we run the build init code again (because we use
      --strict while building the packages), but then the APKINDEX files
      are already present. So overall the log is a bit shorter before the
      building starts. (It is still logged to the logfile, which gets
      printed on error anyway.)
      Unverified
      3fe75ddb
  13. Feb 06, 2018
  14. Feb 05, 2018
    • alive4ever's avatar
      Initial porting effort to Xiaomi Redmi 1S (armani) (#1204) · d0acbca4
      alive4ever authored
      The device is Xiaomi Redmi 1S, based on MSM8296 platform, with Qualcomm
      Snapdragon 400.  The kernel is from lineageOS (3.4.0). Some additional patches
      are needed for successful compilation. The screen dimension is 720x1280.
      
      The touchscreen device name is ft5x06_i2c. Use this name for udev
      instead of hardcoded device path. Also add a workaround for red
      screen weston by setting weston_pixman to 2
      The screen doesn't refresh. Enabling msm-fb-refresher as suggested.
      
      Add udev rule to indicate whether the device is in charging state.
      Green led indicates that the device is charging, whereas red light
      indicates that the device is discharging.
      
      For prima wlan module to work, an initialization procedure is needed (
      echo 1 > /dev/wcnss_wlan ), before loading the prima wlan module
      (wlan.ko). Also build the prima wlan as module. 
      
      Xiaomi Redmi 1S is using pronto wlan module, which needs some firmware
      to run. Add the required wifi firmware to enable the wifi interface.
      
      Add an openrc service to load wlan module after wcnss_service is
      initialized.
      d0acbca4
  15. Feb 03, 2018
  16. Feb 02, 2018
    • Daniele Debernardi's avatar
    • Oliver Smith's avatar
      Testsuite: Run UIs in Qemu and check running processes and more (#982) · 5e85d72c
      Oliver Smith authored
      * Testsuite: Run UIs in Qemu and check running processes (and other changes)
      
      * When `pmbootstrap qemu` gets killed, it now takes down the Qemu process with it
      * `test/check_checksums.py` got a new optional `--build` parameter, which makes
        it build all changed packages instead of just checking the checksums
      * We run this before running the testsuite now, so all changed packages get
        built before running tests (otherwise tests would hang without any output
        while a changed package is building)
      * New testcase, that zaps all chroots, installs a specific UI (xfce4 and
        plasma-mobile currently, easy to extend), runs it via Qemu and checks the
        running processes via SSH.
      * Version checking testcase: rewritten to include Alpine's testsuite file in
        our source tree, so we don't need to clone their git repo anymore. Now it
        is enabled for Travis.
      * All this gives us a nice 10% code coverage boost
      * Increased the `hello-world` pkgrel to verify that the Travis job is working.
      
      * Various fixes
      * Build device-packages for the device arch and don't raise an
        exception, but print a note if --ignore-depends is not specified
        and therefore the kernel gets installed, too.
      * Don't use --force when building in Travis (because abuild doesn't
        check the checksums then. Bug report on the way.)
      * Don't run the building process in the background, but wait for its
        completion
      * Exit with 1 when showing usage in check_checksums.py
      Unverified
      5e85d72c
  17. Feb 01, 2018
    • Oliver Smith's avatar
      Fix invalid /etc/apk/repositories entry on device (#1189) · 5eb75afc
      Oliver Smith authored
      It used to have an entry for /mnt/pmbootstrap-packages, which only
      makes sense while working on the chroot with pmbootstrap. After the
      installation on the device, there's no repo in that path.
      Furthermore, empty lines were added to the recovery installer script
      for readability (thanks @ata2001!)
      Unverified
      5eb75afc
    • Oliver Smith's avatar
      Remove rest of 'pmbootstrap challenge' left overs (#1173) · e8c27795
      Oliver Smith authored
      Follow up to #1162.
      
      * `pmb.build.buildinfo()`: Used to record the build environment. It is
        flawed because it scans the repo APKINDEX files instead of using the
        actually installed packages list. When it was implemented we were not
        able to do the latter. After this is removed, `pmb.parse.depends` can
        be simplified (it needs to be rewritten for #1122).
      * `pmb.helpers.repo.diff()` and `pmb.helpers.repo.files()`: These were
        used exclusively by `pmb.build.buildinfo()`, to learn about which
        files have been changed in the local repository folder after a
        package was built. The idea was, that we could find subpackages that
        way. But this information is present in the installed package list as
        well, which is a much cleaner approach.
      Unverified
      e8c27795
Loading