[-]
[+]
|
Changed |
_service:tar_git:droid-config-vince.changes
|
|
[-]
[+]
|
Changed |
_service:tar_git:droid-config-vince.spec
^
|
|
[-]
[+]
|
Changed |
_service
^
|
@@ -6,7 +6,7 @@
<service name="tar_git">
<param name="url">https://github.com/Sailfish-On-Vince/droid-config-vince.git</param>
<param name="branch">master</param>
- <param name="revision">00c9c56aabc5ade4a6e6f327c9640fd87965f884</param>
+ <param name="revision">e618fdbdbd0cbc155ffad12caabcdc98e562507b</param>
<param name="token"/>
<param name="debian">N</param>
<param name="dumb">N</param>
|
[-]
[+]
|
Deleted |
_service:tar_git:droid-config-vince-0.3.1.tar.bz2/droid-configs-device/helpers/process_patterns.sh
^
|
@@ -1,41 +0,0 @@
-#!/bin/sh
-# create/update patterns in local repo
-# Copyright (c) 2014 Jolla Ltd.
-# Contact: Simonas Leleiva <simonas.leleiva@jollamobile.com>
-
-if [ ! -d hybris ]; then
- echo $0: launch this script from the $ANDROID_ROOT directory
- exit 1
-fi
-
-if [ -z $DEVICE ]; then
- echo 'Error: $DEVICE is undefined. Please run hadk'
- exit 1
-fi
-
-RPMPATH="$ANDROID_ROOT/droid-local-repo/$DEVICE/droid-configs"
-RPMPATTERN='*-patterns*.rpm'
-RPMFILE="$RPMPATH/$RPMPATTERN"
-RPMCOUNT=$(find $RPMPATH -type f -name $RPMPATTERN | wc -l)
-echo "checking for $RPMFILE..."
-if [ $RPMCOUNT -gt 1 ]; then
- echo 'Error: more than one patterns RPM found. Please leave only one version'
- exit 1
-elif [ $RPMCOUNT == 0 ]; then
- echo 'Error: no patterns RPM found'
- exit 1
-fi
-
-mkdir -p tmp/patterns
-cd tmp/patterns
-rpm2cpio $RPMFILE | cpio -uidv
-COUNT=$(find . -type f -name "*.xml" | wc -l)
-echo "<patterns count=\"$COUNT\">" > ../patterns.xml
-find . -type f -name "*.xml" -exec cat {} + >> ../patterns.xml
-echo "</patterns>" >> ../patterns.xml
-modifyrepo_c ../patterns.xml $ANDROID_ROOT/droid-local-repo/$DEVICE/repodata ||
- modifyrepo ../patterns.xml $ANDROID_ROOT/droid-local-repo/$DEVICE/repodata
-cd ../..
-rm -rf tmp/patterns
-rm tmp/patterns.xml
-
|
[-]
[+]
|
Deleted |
_service:tar_git:droid-config-vince-0.3.1.tar.bz2/droid-configs-device/patterns/common/sailfish-porter-tools.yaml
^
|
@@ -1,21 +0,0 @@
-Description: Pattern with packages for common debugging tools used by porters
-Name: sailfish-porter-tools
-Requires:
-- jolla-developer-mode
-- sailfishsilica-qt5-demos
-- libhybris-tests
-
-- busybox-static
-- net-tools
-- openssh-clients
-- openssh-server
-- vim-enhanced
-- zypper
-- strace
-
-# jolla-rnd-device will enable usb-moded even when UI is not yet
-# brought up (useful during development, available since update10)
-- jolla-rnd-device
-
-Summary: Sailfish OS Porter Tools
-
|
[-]
[+]
|
Deleted |
_service:tar_git:droid-config-vince-0.3.1.tar.bz2/droid-configs-device/patterns/templates/jolla-configuration-@DEVICE@.yaml
^
|
@@ -1,38 +0,0 @@
-Description: Pattern with packages for @DEVICE@ configurations
-Name: jolla-configuration-@DEVICE@
-Requires:
-- pattern:jolla-hw-adaptation-@DEVICE@
-
-- patterns-sailfish-applications
-- patterns-sailfish-ui
-# For devices with cellular modem. Those without one, please comment out:
-- patterns-sailfish-cellular-apps
-# Early stages of porting benefit from these:
-- pattern:sailfish-porter-tools
-
-- sailfish-content-graphics-z@ICON_RES@
-
-# For multi-SIM devices
-#- jolla-settings-networking-multisim
-
-# Introduced starting Sailfish OS 2.0.4.x:
-# 3rd party accounts like Twitter, VK, cloud services, etc
-- jolla-settings-accounts-extensions-3rd-party-all
-
-# Introduced starting Sailfish OS 2.1.1.26
-# Required for Jolla Store Access
-- patterns-sailfish-consumer-generic
-
-# For Mozilla location services (online)
-- geoclue-provider-mlsdb
-
-# Sailfish OS CSD tool for hardware testing
-# needs some configuration to get all features working
-- csd
-
-# Devices with 2G or more memory should also include this booster
-# to improve camera startup times and the like
-#- mapplauncherd-booster-silica-qt5-media
-
-Summary: Jolla Configuration @DEVICE@
-
|
[-]
[+]
|
Deleted |
_service:tar_git:droid-config-vince-0.3.1.tar.bz2/droid-configs-device/patterns/templates/jolla-hw-adaptation-@DEVICE@.yaml
^
|
@@ -1,75 +0,0 @@
-Description: Pattern with packages for @DEVICE@ HW Adaptation
-Name: jolla-hw-adaptation-@DEVICE@
-Requires:
-- droid-hal-@DEVICE@
-- droid-hal-@DEVICE@-img-boot
-- droid-hal-@DEVICE@-kernel-modules
-- droid-config-@DEVICE@-sailfish
-- droid-config-@DEVICE@-pulseaudio-settings
-- droid-config-@DEVICE@-policy-settings
-- droid-config-@DEVICE@-preinit-plugin
-- droid-config-@DEVICE@-flashing
-- droid-config-@DEVICE@-bluez5
-- droid-hal-version-@DEVICE@
-
-# Hybris packages
-- libhybris-libEGL
-- libhybris-libGLESv2
-- libhybris-libwayland-egl
-
-# Sensors
-- hybris-libsensorfw-qt5
-
-# Vibra
-- ngfd-plugin-native-vibrator
-- qt5-feedback-haptics-native-vibrator
-
-# Needed for /dev/touchscreen symlink
-- qt5-plugin-generic-evdev
-
-- pulseaudio-modules-droid
-# for audio recording to work:
-- qt5-qtmultimedia-plugin-mediaservice-gstmediacapture
-
-# These need to be per-device due to differing backends (fbdev, eglfs, hwc, ..?)
-- qt5-qtwayland-wayland_egl
-- qt5-qpa-hwcomposer-plugin
-- qtscenegraph-adaptation
-
-# Add GStreamer v1.0 as standard
-- gstreamer1.0
-- gstreamer1.0-plugins-good
-- gstreamer1.0-plugins-base
-- gstreamer1.0-plugins-bad
-- nemo-gstreamer1.0-interfaces
-# For devices with droidmedia and gst-droid built, see HADK pdf for more information
-#- gstreamer1.0-droid
-
-# This is needed for notification LEDs
-- mce-plugin-libhybris
-
-# USB mode controller
-- usb-moded
-
-# hammerhead, grouper, and maguro use this in scripts, so include for all
-- rfkill
-
-# enable device lock and allow to select untrusted software
-- jolla-devicelock-daemon-encsfa
-
-# Enable home encryption
-#- sailfish-device-encryption
-
-# For GPS
-- geoclue-provider-hybris
-
-# For FM radio on some QCOM devices
-#- qt5-qtmultimedia-plugin-mediaservice-irisradio
-#- jolla-mediaplayer-radio
-
-# NFC for devices using Android 8 or newer as base
-#- nfcd-binder-plugin
-#- jolla-settings-system-nfc
-
-Summary: Jolla HW Adaptation @DEVICE@
-
|
[-]
[+]
|
Deleted |
_service:tar_git:droid-config-vince-0.3.1.tar.bz2/droid-configs-device/sparse/lib/systemd/system/actdead.target.wants/droid-hal-init.service
^
|
-(symlink to ../droid-hal-init.service)
|
[-]
[+]
|
Deleted |
_service:tar_git:droid-config-vince-0.3.1.tar.bz2/droid-configs-device/sparse/lib/systemd/system/droid-hal-init.service
^
|
@@ -1,28 +0,0 @@
-[Unit]
-Description=droid-hal-init
-Wants=systemd-udev-settle.service
-After=local-fs.target systemd-udev-settle.service systemd-tmpfiles-setup.service
-Before=basic.target network.target bluetooth.service ofono.service sensorfwd.service
-DefaultDependencies=no
-Conflicts=shutdown.target
-# Lets not do Requires= here as that means that this service will restart which leads automatically
-# to broken state as android init can be only started once per boot. If something goes wrong
-# our best hope is that android init doesn't notice that and that the crashing party fixes itself :)
-
-[Service]
-Type=notify
-NotifyAccess=all
-ProtectSystem=full
-ProtectHome=true
-PrivateTmp=true
-ExecStartPre=-/bin/sh /usr/bin/droid/droid-hal-early-init.sh
-ExecStart=/bin/sh /usr/bin/droid/droid-hal-startup.sh
-ExecStop=/bin/sh /usr/bin/droid/droid-hal-shutdown.sh %c
-Restart=always
-# Lets make sure we don't block minutes in case of errors.
-TimeoutSec=15
-StartLimitInterval=60
-StartLimitBurst=2
-
-[Install]
-WantedBy=graphical.target
|
[-]
[+]
|
Deleted |
_service:tar_git:droid-config-vince-0.3.1.tar.bz2/droid-configs-device/sparse/lib/systemd/system/graphical.target.wants/droid-hal-init.service
^
|
-(symlink to ../droid-hal-init.service)
|
[-]
[+]
|
Deleted |
_service:tar_git:droid-config-vince-0.3.1.tar.bz2/droid-configs-device/sparse/lib/systemd/system/graphical.target.wants/droid-late-start.service
^
|
-(symlink to ../droid-late-start.service)
|
[-]
[+]
|
Deleted |
_service:tar_git:droid-config-vince-0.3.1.tar.bz2/droid-configs-device/sparse/usr/share/environment/nemo/hybris.conf
^
|
@@ -1,2 +0,0 @@
-# Ensure that we can find hybris libs from any hybris-enabled binary
-HYBRIS_LD_LIBRARY_PATH=/usr/libexec/droid-hybris/system/lib:/vendor/lib:/system/lib
|
[-]
[+]
|
Deleted |
_service:tar_git:droid-config-vince-0.3.1.tar.bz2/droid-configs-device/sparse/var/lib/environment/nemo/99-hybris.conf
^
|
@@ -1,2 +0,0 @@
-# Ensure that we can find hybris libs from any hybris-enabled binary
-HYBRIS_LD_LIBRARY_PATH=/usr/libexec/droid-hybris/system/lib:/vendor/lib:/system/lib
|
[-]
[+]
|
Deleted |
_service:tar_git:droid-config-vince-0.3.1.tar.bz2/patterns/jolla-configuration-vince.yaml
^
|
@@ -1,50 +0,0 @@
-# Feel free to disable non-critical HA parts during devel by commenting lines out
-# Generated in hadk by executing: rpm/dhd/helpers/add_new_device.sh
-
-Description: Pattern with packages for vince configurations
-Name: jolla-configuration-vince
-Requires:
-- pattern:jolla-hw-adaptation-vince
-- patterns-sailfish-applications
-- patterns-sailfish-ui
-# For devices with cellular modem. Those without one, please comment out:
-- patterns-sailfish-cellular-apps
-# Early stages of porting benefit from these:
-- pattern:sailfish-porter-tools
-
-- sailfish-content-graphics-z@ICON_RES@
-
-# For multi-SIM devices
-- jolla-settings-networking-multisim
-
-# Introduced starting Sailfish OS 2.0.4.x:
-# 3rd party accounts like Twitter, VK, cloud services, etc
-- jolla-settings-accounts-extensions-3rd-party-all
-
-# For Mozilla location services (online)
-- geoclue-provider-mlsdb
-
-# Sailfish OS CSD tool for hardware testing
-# needs some configuration to get all features working
-- csd
-
-# Introduced starting Sailfish OS 2.1.1.26
-# Required for Jolla Store Access
-- patterns-sailfish-consumer-generic
-
-# Devices with 2G or more memory should also include this booster
-# to improve camera startup times and the like
-- mapplauncherd-booster-silica-qt5-media
-
-# some apps useful
-- sailfish-office
-- jolla-calculator
-- jolla-email
-- jolla-notes
-- jolla-clock
-- jolla-mediaplayer
-- jolla-calendar
-- sailfish-weather
-
-Summary: Jolla Configuration vince
-
|
[-]
[+]
|
Deleted |
_service:tar_git:droid-config-vince-0.3.1.tar.bz2/patterns/jolla-hw-adaptation-vince.yaml
^
|
@@ -1,94 +0,0 @@
-# Feel free to disable non-critical HA parts during devel by commenting lines out
-# Generated in hadk by executing: rpm/dhd/helpers/add_new_device.sh
-
-Description: Pattern with packages for vince HW Adaptation
-Name: jolla-hw-adaptation-vince
-Requires:
-- droid-hal-vince
-- droid-hal-vince-img-boot
-- droid-hal-vince-kernel-modules
-- droid-config-vince-sailfish
-- droid-config-vince-pulseaudio-settings
-- droid-config-vince-policy-settings
-- droid-config-vince-preinit-plugin
-- droid-config-vince-flashing
-- droid-config-vince-bluez5
-- droid-hal-version-vince
-- droid-hal-vince-detritus
-- droid-biometry-fp
-
-#Audiofligher glue
-- pulseaudio-modules-droid-glue
-
-# Hybris packages
-- libhybris-libEGL
-- libhybris-libGLESv2
-- libhybris-libwayland-egl
-
-# Sensors
-- hybris-libsensorfw-qt5
-
-# Vibra
-- ngfd-plugin-native-vibrator
-- qt5-feedback-haptics-native-vibrator
-
-# Needed for /dev/touchscreen symlink
-- qt5-plugin-generic-evdev
-
-- pulseaudio-modules-droid
-# for audio recording to work:
-- qt5-qtmultimedia-plugin-mediaservice-gstmediacapture
-
-# These need to be per-device due to differing backends (fbdev, eglfs, hwc, ..?)
-- qt5-qtwayland-wayland_egl
-- qt5-qpa-hwcomposer-plugin
-- qtscenegraph-adaptation
-
-# Add GStreamer v1.0 as standard
-- gstreamer1.0
-- gstreamer1.0-plugins-good
-- gstreamer1.0-plugins-base
-- gstreamer1.0-plugins-bad
-- nemo-gstreamer1.0-interfaces
-# For devices with droidmedia and gst-droid built, see HADK pdf for more information
-- gstreamer1.0-droid
-
-# This is needed for notification LEDs
-- mce-plugin-libhybris
-
-## USB mode controller
-# Enables mode selector upon plugging USB cable:
-- usb-moded
-- usb-moded-defaults-android
-- usb-moded-developer-mode-android
-
-# Extra useful modes not officially supported:
-# might need some configuration to get working
-#- usb-moded-mass-storage-android-config
-# working but careful with roaming!
-- usb-moded-connection-sharing-android-config
-# android diag mode only usable for certain android tools
-#- usb-moded-diag-mode-android
-
-# hammerhead, grouper, and maguro use this in scripts, so include for all
-- rfkill
-
-# enable device lock and allow to select untrusted software
-- sailfish-fpd-community
-- sailfish-devicelock-fpd
-
-# For GPS
-- geoclue-provider-hybris
-
-# For FM radio on some QCOM devices
-- qt5-qtmultimedia-plugin-mediaservice-irisradio
-- jolla-mediaplayer-radio
-
-# For torch
-- jolla-settings-system-flashlight
-
-# Additional packages
-- sd-utils
-
-Summary: Jolla HW Adaptation vince
-
|
|
Deleted |
_service:tar_git:droid-config-vince-0.3.1.tar.bz2/sparse/etc/firmware/tas2557_uCDSP.bin
^
|
[-]
[+]
|
Deleted |
_service:tar_git:droid-config-vince-0.3.1.tar.bz2/sparse/lib/systemd/system/basic.target.wants/wlan-module-load.service
^
|
-(symlink to ../wlan-module-load.service)
|
[-]
[+]
|
Deleted |
_service:tar_git:droid-config-vince-0.3.1.tar.bz2/sparse/lib/systemd/system/bluetooth.service.wants/droid-fm-up.service
^
|
-(symlink to ../droid-fm-up.service)
|
[-]
[+]
|
Deleted |
_service:tar_git:droid-config-vince-0.3.1.tar.bz2/sparse/lib/systemd/system/bluetooth.service.wants/droid-hcismd-up.service
^
|
-(symlink to ../droid-hcismd-up.service)
|
[-]
[+]
|
Deleted |
_service:tar_git:droid-config-vince-0.3.1.tar.bz2/sparse/lib/systemd/system/droid-hcismd-up.service
^
|
@@ -1,13 +0,0 @@
-[Unit]
-Description=Enable Bluetooth HCI over SMD
-DefaultDependencies=false
-After=local-fs.target
-
-[Service]
-Type=oneshot
-ExecStart=/bin/sh /usr/bin/droid/droid-hcismd-up.sh
-RemainAfterExit=yes
-TimeoutStartSec=60
-
-[Install]
-WantedBy=bluetooth.service
|
[-]
[+]
|
Deleted |
_service:tar_git:droid-config-vince-0.3.1.tar.bz2/sparse/lib/systemd/system/multi-user.target.wants/android-links.service
^
|
-(symlink to ../android-links.service)
|
[-]
[+]
|
Deleted |
_service:tar_git:droid-config-vince-0.3.1.tar.bz2/sparse/lib/systemd/system/multi-user.target.wants/wlan-module-load.service
^
|
@@ -1,15 +0,0 @@
-[Unit]
-Description=Load wifi module
-Conflicts=shutdown.target actdead.target
-
-[Service]
-Type=simple
-RemainAfterExit=yes
-ExecStartPre=/bin/touch /dev/wcnss_wlan
-ExecStart=/sbin/modprobe wlan
-ExecStop=/sbin/modprobe -r wlan
-Restart=on-failure
-RestartSec=2
-
-[Install]
-WantedBy=multi-user.target
|
[-]
[+]
|
Deleted |
_service:tar_git:droid-config-vince-0.3.1.tar.bz2/sparse/usr/bin/droid/android-links.sh
^
|
@@ -1,9 +0,0 @@
-#!/usr/bin/env bash
-if [ ! -L /home/nemo/android_storage ]; then
- if [ ! -d /data/media/0 ]; then
- ln -s /data/media /home/nemo/android_storage
- else
- ln -s /data/media/0 /home/nemo/android_storage
- fi
-fi
-
|
[-]
[+]
|
Deleted |
_service:tar_git:droid-config-vince-0.3.1.tar.bz2/sparse/usr/bin/droid/droid-hcismd-up.sh
^
|
@@ -1,35 +0,0 @@
-#!/bin/sh
-
-#Maximum number of attempts to enable hcismd to try to get
-# hci0 to come online. Writing to sysfs too early seems to
-# not work, so we loop.
-MAXTRIES=15
-
-#setprop bluetooth.hciattach true
-setprop ro.qualcomm.bt.hci_transport smd
-setprop qcom.bt.dev_power_class 2
-setprop qcom.bt.le_dev_pwr_class 2
-
-i=1
-while [ ! $i -gt $MAXTRIES ] ; do
- echo 1 > /sys/module/hci_smd/parameters/hcismd_set
- if [ -e /sys/class/bluetooth/hci0 ] ; then
- # found hci0, get/set BT MAC address
- echo 0 > /sys/module/hci_smd/parameters/hcismd_set
- bt_mac=$(/system/bin/hci_qcomm_init -e -p 2 -P 2 -d /dev/ttyHSL0 2>1 | grep -oE '([0-9a-f]{2}:){5}([0-9a-f]{2})')
- echo "BT MAC: $bt_mac"
- if [ ! -z "$bt_mac" ] ; then
- echo $bt_mac > /var/lib/bluetooth/board-address
- echo "BT MAC: $bt_mac"
- fi
- echo 1 > /sys/module/hci_smd/parameters/hcismd_set
- exit 0
- fi
- sleep 1
- if [ $i == $MAXTRIES ] ; then
- # must have gotten through all our retries, fail
- exit 1
- fi
- i=$(( i + 1 ))
-done
-
|
[-]
[+]
|
Changed |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/droid-config-@DEVICE@.spec.template
^
|
@@ -10,14 +10,17 @@
# Community HW adaptations need this
%define community_adaptation 1
-# Sailfish OS is considered to-scale, if in app grid you get 4-in-a-row icons
-# and 2x2 or 3x3 covers when up-to-4 or 5-or-more apps are open respectively.
+# Sailfish OS is considered to-scale, if in the App Grid you get 4-in-a-row icons,
+# and 2-in-a-row or 3-in-a-row app covers in the Home Screen, depending on
+# how many apps are open.
# For 4-5.5" device screen sizes of 16:9 ratio, use this formula (hold portrait):
# pixel_ratio = 4.5/DiagonalDisplaySizeInches * HorizontalDisplayResolution/540
# Other screen sizes and ratios will require more trial-and-error.
%define pixel_ratio 1.0
%include droid-configs-device/droid-configs.inc
+%include patterns/patterns-sailfish-device-adaptation-@DEVICE@.inc
+%include patterns/patterns-sailfish-device-configuration-@DEVICE@.inc
# IMPORTANT if you want to comment out any macros in your .spec, delete the %
# sign, otherwise they will remain defined! E.g.:
|
[-]
[+]
|
Changed |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/droid-configs.inc
^
|
@@ -16,16 +16,13 @@
# Device capabilities:
# remove_modem: set this if your device has no modem (e.g. a WiFi-only tablet)
# remove_bluetooth: set this if your device does not have a Bluetooth chip
-# pixel_ratio: UI scaling factor, choose from 1.0, 1.5, 2.0. Any other value will
-# default the icon pack to 1.0 resolution (it is a bug)!
-# Read more on ways to do-it-together: https://bugs.nemomobile.org/show_bug.cgi?id=814
-# WARNING: pixel_ratio is experimental, and not yet ready for proper UI scalability
-# tests! Please do not test/port your apps to other form factors for the time being.
+# pixel_ratio: UI scaling factor. Calc shown in droid-config-@DEVICE@.spec.template
# Ratio examples:
# Jolla1: 1.0
# Jolla Tablet: 1.5
# Nexus 5: 2.0
-# Nexus 4: pixel_ratio=1.3 (icon resolution then drops to 1.0)
+# Nexus 4: pixel_ratio=1.3 (then icon_res becomes 1.25)
+# packages_own_system: adaptation gets /system from rpm instead of device partition
# Overwriting other configs:
# If your droid-config-$DEVICE needs to provide one or more device-specific
@@ -53,7 +50,7 @@
# dcd_common is the common stuff and dcd_sparse is the common sparse
%define dcd_common %{dcd_path}/droid-configs-device
-%define dcd_sparse droid-configs-device/sparse
+%define dcd_sparse %{dcd_common}/sparse
# Set defaults if not defined already:
%if 0%{!?rpm_device:1}
@@ -70,13 +67,16 @@
Provides: droid-config
Summary: Config packages for Droid HAL adaptations
Version: 1
+%if 0%{?_obs_build_project:1}
Release: 1
-Group: Configs
+%else
+%define rel_date %(date +'%%Y%%m%%d%%H%%M')
+Release: %{rel_date}
+%endif
License: GPLv2
Source0: %{name}-%{version}.tar.bz2
BuildRequires: ssu-kickstart-configuration
BuildRequires: pkgconfig(android-headers)
-BuildRequires: repomd-pattern-builder
BuildRequires: qt5-qttools-kmap2qmap
BuildRequires: sed
Requires: sed
@@ -115,15 +115,6 @@
%{summary}.
################################################################
-%package patterns
-Summary: Repository patterns for %{rpm_device} hw
-Provides: droid-config-patterns
-Provides: package-groups
-
-%description patterns
-%{summary}.
-
-################################################################
%package policy-settings
Summary: Policy settings for %{rpm_device} hw
Provides: droid-config-policy-settings
@@ -190,7 +181,6 @@
%package sailfish
Provides: droid-config-sailfish
Provides: theme-configs
-Group: System
BuildArch: noarch
Requires: %{name} = %{version}-%{release}
Requires: oneshot
@@ -204,7 +194,6 @@
%package flashing
Provides: droid-config-flashing
-Group: System
# Sparse image flashing support for flash-partition
Requires: droid-hal-tools
Summary: On device flashing files for %{rpm_device} hw
@@ -217,7 +206,6 @@
%if 0%{?out_of_image_files:1}
%package out-of-image-files
-Group: System
BuildArch: noarch
Summary: Files that are used for flashing and are not needed on device.
@@ -233,8 +221,6 @@
%package bluez4
Summary: %{rpm_device} packages for BlueZ 4
Conflicts: droid-config-%{rpm_device}-bluez5
-Requires: %{name} = %{version}-%{release}
-Requires: %{name} = %{version}
Provides: %{rpm_device}-bluez-configs
Requires: bluez
@@ -257,31 +243,37 @@
Obsoletes: bluez-configs-sailfish
Obsoletes: bluez-configs-mer
+Requires: pulseaudio-modules-bluez4
+
%description bluez4
%{summary}.
%package bluez5
Summary: %{rpm_device} packages for BlueZ 5
Conflicts: droid-config-%{rpm_device}-bluez4
-Requires: %{name} = %{version}-%{release}
-Requires: %{name} = %{version}
Provides: %{rpm_device}-bluez-configs
Requires: bluez5
Conflicts: bluez
+Obsoletes: bluez
Requires: bluez5-libs
Conflicts: bluez-libs
+Obsoletes: bluez-libs
Requires: bluez5-obexd
Conflicts: obexd
+Obsoletes: obexd
Requires: kf5bluezqt-bluez5
Conflicts: kf5bluezqt-bluez4
+Obsoletes: kf5bluezqt-bluez4
+Obsoletes: kf5bluezqt-bluez4-declarative
Provides: bluez5-configs
Conflicts: bluez-configs
Obsoletes: bluez-configs-sailfish
+Obsoletes: bluez-configs-mer
%description bluez5
%{summary}.
@@ -295,6 +287,12 @@
%setup -q -n %{name}-%{version}
%endif
+%if 0%{?android_version_major:1}
+# If defined also use android version specfic sparse
+# Supersedes the base sparse and is superseded by device specific sparse
+case %{android_version_major} in 8|9|10) : ;; *) echo unsupported android_version_major; exit 1; esac
+%endif
+
%install
rm -rf %{buildroot}
mkdir -p %{buildroot}
@@ -305,26 +303,69 @@
mkdir -p tmp/
echo "%defattr(-,root,root,-)" > tmp/droid-config.files
-# Prefer files from sparse/ in the HA specific
-# area over sparse/ in the dcd area
+# On 64-bit ARM certain subdirs should not be moved to lib64 but kept under lib.
+# Algorithm below autodetects cases under sparse/ so adaptations do not have to
+# make any changes to their trees when going from armv7hl to aarch64.
+do_not_move_to_lib64=(
+ "firmware"
+ "modules"
+ "startup"
+ "systemd/system"
+ "systemd/user"
+ "tmpfiles.d"
+ "udev"
+ )
copy_files_from() {
config_dir=$1
if [ -d $config_dir ]; then
- (cd $config_dir; find . \( -type f -o -type l \) -print ) | sed 's/^.//' >> tmp/droid-config.files
- cp -Rf $config_dir/* $RPM_BUILD_ROOT/
+ olddir=$PWD
+ cd $config_dir
+ for f in $(find . \( -type f -o -type l \) -print); do
+ dst=$(echo $f | sed 's/^.//')
+ if echo $dst | grep -qE "^/usr/lib/|^/lib/"; then
+ move_to_lib64=true
+ for stay_in_lib in "${do_not_move_to_lib64[@]}"; do
+ if echo $dst | grep -qE "^/usr/lib/$stay_in_lib/|^/lib/$stay_in_lib/"; then
+ move_to_lib64=false
+ break
+ fi
+ done
+ if [ "$move_to_lib64" = true ]; then
+ if echo $dst | grep -q "^/usr/lib/"; then
+ dst=$(echo $dst | sed 's /usr/lib/ %{_libdir}/ ')
+ else
+ dst=$(echo $dst | sed 's /lib/ /%{_lib}/ ')
+ fi
+ fi
+ fi
+ dstdir=$RPM_BUILD_ROOT$(dirname $dst)
+ if [ ! -d $dstdir ]; then
+ mkdir -p $dstdir
+ fi
+ cp -Pv $f $dstdir
+ echo $dst >> $olddir/tmp/droid-config.files
+ done
+ cd - >/dev/null
fi
}
+delete_file() {
+ local files=$1
+ local file=$2
+ local dorm=$3
+ [ "x$dorm" == "x1" ] && rm $RPM_BUILD_ROOT/$file
+ grep -vE "$file" $files > tmp/$$.files
+ mv tmp/$$.files $files
+}
+
delete_files() {
- files=$1
- deletelist=$2
- dorm=$3
+ local files=$1
+ local deletelist=$2
+ local dorm=$3
if [ -e $deletelist ]; then
egrep -v '^#|^$' $deletelist | (
while read file; do
- [ "x$dorm" == "x1" ] && rm $RPM_BUILD_ROOT/$file
- grep -vE "$file" $files > tmp/$$.files
- mv tmp/$$.files $files
+ delete_file $files $file $dorm
done)
fi
}
@@ -342,10 +383,24 @@
fi
}
-# Copy from common; erase any we don't want; overlay from device
-# specific sparse/ :
-copy_files_from %{dcd_path}/%{dcd_sparse}
+# Copy from common; erase any we don't want; overlay from
+# android version-specific sparse (if exists), then
+# vendor (android version-specific) sparse (if exists), then
+# sparse for adaptation that package own /system (if applicable), then
+# device specific sparse:
+copy_files_from %{dcd_sparse}
delete_files tmp/droid-config.files delete_file.list 1
+%if 0%{?android_version_major:1}
+copy_files_from %{dcd_sparse}-%{android_version_major}
+delete_files tmp/droid-config.files \
+ %{dcd_common}/delete_file_sparse-%{android_version_major}.list 1
+copy_files_from %{dcd_sparse}-%{vendor}-%{android_version_major}
+delete_files tmp/droid-config.files \
+ %{dcd_common}/delete_file_sparse-vendor-%{android_version_major}.list 1
+%endif
+%if 0%{?packages_own_system:1}
+copy_files_from %{dcd_sparse}-ownsystem
+%endif
copy_files_from %{dcd_path}/sparse
delete_files tmp/droid-config.files delete_file_%{rpm_device}.list 1
# This add %config to %files section for files from rpm-config-files.files
@@ -353,6 +408,8 @@
OFONONOPLUGIN=$RPM_BUILD_ROOT/var/lib/environment/ofono/noplugin.conf
+if [ -e $OFONONOPLUGIN ]; then
+
%if 0%{?have_modem:1}
# DO NOT MODIFY THE "OFONO_MODEM_DEFAULT_PLUGINS" SET! If you do, you will break
# modems on other devices! If you need to introduce or remove a plugin,
@@ -380,6 +437,8 @@
done)
%endif
+fi
+
# Delete files from droid-config.files which are packaged in main spec file
if [ -e packaged-in-main-spec.files ]; then
delete_files tmp/droid-config.files packaged-in-main-spec.files 0
@@ -410,28 +469,13 @@
delete_files tmp/droid-config.files out-of-image-files.files 0
cp out-of-image-files.files tmp/out-of-image-files.files
fi
+%else
+ delete_file tmp/droid-config.files /boot/flash.sh 1
%endif
# Now the majority of the sparse tree is made we can handle configs
# which need some kind of substitution or generating
-# patterns
-mkdir -p %{buildroot}/usr/share/package-groups/
-/usr/bin/repomd-pattern-builder.py --patternxml -p %{dcd_common}/patterns/common -o %{buildroot}/usr/share/package-groups/ --version=%{version} --release=%{release}
-/usr/bin/repomd-pattern-builder.py --patternxml -p %{dcd_path}/patterns/ -o %{buildroot}/usr/share/package-groups/ --version=%{version} --release=%{release}
-
-delete_patterns() {
- deletelist=$1
- if [ -e $deletelist ]; then
- egrep -v '^#|^$' $deletelist | (
- while read file; do
- rm $RPM_BUILD_ROOT/$file
- done)
- fi
-}
-
-delete_patterns delete_pattern_%{rpm_device}.list
-
%if 0%{!?pixel_ratio:1}
%define pixel_ratio 1.0
%endif
@@ -445,7 +489,6 @@
%define icon_res %(awk 'BEGIN {a=int((%{pixel_ratio}-0.125)/0.25)*0.25+0.25;a=(a<=1?"1.0":(a>=2.0?"2.0":a));print a }')
sed --in-place 's|@ICON_RES@|%{icon_res}|' %{buildroot}/etc/dconf/db/vendor.d/silica-configs.txt
-sed --in-place 's|@ICON_RES@|%{icon_res}|' %{buildroot}/usr/share/package-groups/*
# In localbuilds it will break the system, because droid-hal-version-$DEVICE is
# not built yet. Also it will pull many unnecessary things into the SDK target.
@@ -469,17 +512,29 @@
%endif
%if 0%{?community_adaptation:1}
-# Community ports have their adaptation repos on http://build.merproject.org
-# Until we figure out how ssu works, we'll prevent the default adaptation0 from being created...
-sed --in-place '/adaptation-repos=/d' $RPM_BUILD_ROOT/%{board_mapping_dir}/*.ini
-# ...and make a separate adaptation repo for community:
-mkdir -p $RPM_BUILD_ROOT/%{_datadir}/ssu/features.d/
-sed -e 's|@DEVICE@|%{rpm_device}|g' \
- -e 's|@VENDOR@|%{rpm_vendor}|g' \
- %{_datadir}/community-adaptation/adaptation-community.ini.in \
- >$RPM_BUILD_ROOT/%{_datadir}/ssu/features.d/adaptation-community.ini
+if [ ! "$(ls -A %{dcd_path}/sparse/%{_datadir}/ssu/repos.d 2> /dev/null)" ]; then
+ # Community ports that do not override repos in ssu/repos.d are catered by
+ # the community-adaptation package.
+ # Prevent the default adaptation0 from being created:
+ sed --in-place '/adaptation-repos=/d' $RPM_BUILD_ROOT/%{board_mapping_dir}/*.ini
+ # Make a separate adaptation repo for community:
+ mkdir -p $RPM_BUILD_ROOT/%{_datadir}/ssu/features.d/
+ sed -e 's|@DEVICE@|%{rpm_device}|g' \
+ -e 's|@VENDOR@|%{rpm_vendor}|g' \
+ %{_datadir}/community-adaptation/adaptation-community.ini.in \
+ >$RPM_BUILD_ROOT/%{_datadir}/ssu/features.d/adaptation-community.ini
+ echo "%{_datadir}/ssu/features.d/adaptation-community.ini" >> tmp/droid-config.files
+fi
+%endif
+
+%if 0%{!?lvm_root_size:1}
+%define lvm_root_size 2500
%endif
+if [ -f %{dcd_path}/kickstart/part/%{rpm_device} ]; then
+ sed --in-place 's|@LVM_ROOT_PART_SIZE@|%{lvm_root_size}|' %{dcd_path}/kickstart/part/%{rpm_device}
+fi
+
# Copy kickstart packs (for %%{rpm_device}-kickstart-configuration)
mkdir -p $RPM_BUILD_ROOT/%{_datadir}/ssu/kickstart/pack/%{rpm_device}
DEST_UPDATER=$RPM_BUILD_ROOT/%{_datadir}/ssu/kickstart/pack/%{rpm_device}/hybris
@@ -512,12 +567,20 @@
%endif
%endif
+%if 0%{?_obs_build_project:1}
# build rnd kickstarts on devel and branch_devel level, release kickstarts on all other levels
%if 0%{?qa_stage_devel:1} || 0%{?qa_stage_branch_devel:1}
KS_LEVELS=true
%else
KS_LEVELS=false
%endif
+%else
+ if ssu s 2>/dev/null | grep -q "Release (rnd): latest (devel)"; then
+ KS_LEVELS=true
+ else
+ KS_LEVELS=false
+ fi
+%endif
# build variant ks files if name file exist
%if 0%{?variant_name_list:1}
@@ -534,12 +597,12 @@
%endif
# Preinit plugins
-ln -s /bin/false $RPM_BUILD_ROOT%{_libdir}/startup/preinit/is_total_erase_supported
+ln -s /bin/false $RPM_BUILD_ROOT%{_prefix}/lib/startup/preinit/is_total_erase_supported
# Create keyboard map file
mkdir -p $RPM_BUILD_ROOT/%{_datadir}/qt5/keymaps
-/usr/lib/qt5/bin/kmap2qmap %{dcd_common}/configs/droid.kmap %{dcd_common}/configs/us.kmap $RPM_BUILD_ROOT/%{_datadir}/qt5/keymaps/droid.qmap
-/usr/lib/qt5/bin/kmap2qmap %{dcd_path}/configs/droid.kmap %{dcd_path}/configs/us.kmap $RPM_BUILD_ROOT/%{_datadir}/qt5/keymaps/droid.qmap || true
+%{_libdir}/qt5/bin/kmap2qmap %{dcd_common}/configs/droid.kmap %{dcd_common}/configs/us.kmap $RPM_BUILD_ROOT/%{_datadir}/qt5/keymaps/droid.qmap
+%{_libdir}/qt5/bin/kmap2qmap %{dcd_path}/configs/droid.kmap %{dcd_path}/configs/us.kmap $RPM_BUILD_ROOT/%{_datadir}/qt5/keymaps/droid.qmap || true
clean_files() { sed 's_^./_/_'; }
@@ -564,8 +627,17 @@
################################################################
%post
# Force an update of ssu repositories
-touch %{board_mapping_dir}/* || :
-touch %{_datadir}/ssu/features.d/* || :
+touch %{board_mapping_dir}/* &> /dev/null || :
+touch %{_datadir}/ssu/features.d/* &> /dev/null || :
+
+%if 0%{?community_adaptation:1}
+if [ "$(find /%{_datadir}/ssu/repos.d -maxdepth 1 -type f -not -name 10-jolla.ini 2> /dev/null)" ] \
+ && ssu lr | grep -q adaptation-community; then
+ # Switching to a self-hosted removes adaptation-community*.ini files
+ # but those feature repos will still exist until we clear its cache:
+ rm -f /var/cache/ssu/features.ini
+fi
+%endif
# To add additional post scripts, one can define those as part
# of additional_post_scripts macro.
@@ -582,18 +654,11 @@
%{board_mapping_file}
%endif
%{_datadir}/qt5/keymaps/droid.qmap
-%if 0%{?community_adaptation:1}
-%{_datadir}/ssu/features.d/adaptation-community.ini
-%endif
%files ssu-kickstarts
%defattr(-,root,root,-)
%{_datadir}/kickstarts/*.ks
-%files patterns
-%defattr(-,root,root,-)
-%{_datadir}/package-groups/*.xml
-
%files policy-settings -f tmp/policy-settings.files
%defattr(644,root,root,-)
@@ -602,7 +667,7 @@
%files preinit-plugin
%defattr(-,root,root,-)
-%{_libdir}/startup/preinit/*
+%{_prefix}/lib/startup/preinit/*
%files pulseaudio-settings -f tmp/pulseaudio-settings.files
%defattr(644,root,root,-)
@@ -632,3 +697,23 @@
%files bluez5 -f tmp/bluez5.files
%defattr(644,root,root,-)
%endif
+
+
+%package -n patterns-sailfish-device-configuration-common-%{rpm_device}
+Summary: Jolla Configuration common
+Requires: patterns-sailfish-applications
+Requires: patterns-sailfish-ui
+
+# Sailfish OS CSD tool for hardware testing
+# needs some configuration to get all features working
+Recommends: csd
+# All 3 requires above will be replaced with new meta-package
+# "patterns-sailfish-device-configuration-common" that will become available in
+# the next Sailfish OS release after 3.4.0
+
+%description -n patterns-sailfish-device-configuration-common-%{rpm_device}
+Pattern with packages for common HW configurations
+
+%files -n patterns-sailfish-device-configuration-common-%{rpm_device}
+
+
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/helpers/migrate_patterns.sh
^
|
@@ -0,0 +1,93 @@
+#!/bin/bash
+
+METAPKG_DIR=patterns
+PATTERNS_DIR=patterns
+SPEC_DIR=rpm
+
+function migrate {
+ pattern=$1
+ pattername=$(basename "$pattern" .yaml)
+ remove_prefix="jolla-"
+ meta=${pattername#"$remove_prefix"}
+ meta=patterns-sailfish-device-${meta#"hw-"}
+ metaspec=$meta.inc
+ device=${meta##*-}
+
+ if [ -f $METAPKG_DIR/"$metaspec" ]; then
+ echo "Already migrated: $PATTERNS_DIR/$pattern -> $metaspec"
+ return
+ fi
+
+ {
+ echo "%package -n $meta"
+ sed -n '/Summary:/p' $PATTERNS_DIR/"$pattern"
+ awk '/Requires:/{flag=1;next}/Summary:/{flag=0}flag' $PATTERNS_DIR/"$pattern"
+ } >> $METAPKG_DIR/"$metaspec"
+
+ sed -i 's/- /Requires: /g' $METAPKG_DIR/"$metaspec"
+ sed -i 's/pattern://g' $METAPKG_DIR/"$metaspec"
+ sed -i 's/Requires: jolla-hw-adaptation-/Requires: patterns-sailfish-device-adaptation-/g' $METAPKG_DIR/"$metaspec"
+ sed -i "/^Requires: patterns-sailfish-device-adaptation-/i Requires: patterns-sailfish-device-configuration-common-$device" $METAPKG_DIR/"$metaspec"
+ sed -i '/^Requires: patterns-sailfish-applications/d' $METAPKG_DIR/"$metaspec"
+ sed -i '/^Requires: patterns-sailfish-ui/d' $METAPKG_DIR/"$metaspec"
+ sed -i '/^Requires: csd/d' $METAPKG_DIR/"$metaspec"
+ sed -i 's/Requires: jolla-configuration-/Requires: patterns-sailfish-device-configuration-/g' $METAPKG_DIR/"$metaspec"
+ sed -i 's/Requires: jolla-developer-mode$/Recommends: jolla-developer-mode/g' $METAPKG_DIR/"$metaspec"
+ sed -i "s/@ICON_RES@/%{icon_res}/" $METAPKG_DIR/"$metaspec"
+
+ {
+ echo "%description -n $meta"
+ sed -n -e 's/^Description: //p' $PATTERNS_DIR/"$pattern"
+ echo
+ echo "%files -n $meta"
+ } >> $METAPKG_DIR/"$metaspec"
+
+ # scan all .spec files, some of them might have differing rpm_device and device vars
+ grep -l "device\s*$device\s*$" $SPEC_DIR/droid-config-*.spec | while IFS= read -r f; do
+ if ! grep -q "%include $METAPKG_DIR\/$metaspec" "$f"; then
+ # include meta-packages to the .spec
+ sed -i "/^%include droid-configs-device\/droid-configs.inc/a %include $METAPKG_DIR\/$metaspec" "$f"
+ fi
+ done
+
+ if [[ $meta == patterns-sailfish-device-adaptation-* ]]; then
+ rm $PATTERNS_DIR/"$pattern"
+ sed -i "/$pattername.xml$/d" delete_pattern_*.list 2>/dev/null
+ elif [[ $meta == patterns-sailfish-device-*configuration-* ]]; then
+ # Replace pattern contents with the main meta-package
+ tmpmeta=$(mktemp)
+ awk -v name=$meta '
+ BEGIN {p=1}
+ /^Requires:/ {print;system("echo - "name"; echo");p=0}
+ /^Summary:/ {p=1}
+ p' $PATTERNS_DIR/"$pattern" > $tmpmeta
+ mv $tmpmeta $PATTERNS_DIR/"$pattern"
+ fi
+
+ echo "Migrated successfully: $PATTERNS_DIR/$pattern -> $metaspec"
+}
+
+if [ ! -d droid-configs-device/helpers ]; then
+ echo "$0: launch this script from the \$ANDROID_ROOT/hybris/droid-configs directory"
+ exit 1
+fi
+
+for pattern in "$PATTERNS_DIR"/*.yaml; do
+ while IFS= read -r f; do
+ if (echo "$f" | grep -q "^- pattern:\s*sailfish-porter-tools"); then
+ echo "Please replace '- pattern:sailfish-porter-tools' with:"
+ echo "- patterns-sailfish-device-tools"
+ echo
+ echo "and re-run this script"
+ exit 1
+ fi
+ if ! (echo "$f" | grep -q "^- pattern:\s*jolla-hw-adaptation-"); then
+ echo "File $pattern contains patterns that cannot be migrated automatically. Aborting."
+ exit 1
+ fi
+ done < <(grep "^- pattern:" "$pattern")
+done
+
+for pattern in "$PATTERNS_DIR"/*.yaml; do
+ migrate "${pattern##*/}"
+done
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/patterns/templates/patterns-sailfish-device-adaptation-@DEVICE@.inc
^
|
@@ -0,0 +1,81 @@
+%package -n patterns-sailfish-device-adaptation-@DEVICE@
+Summary: Jolla HW Adaptation @DEVICE@
+Requires: droid-hal-@DEVICE@
+Requires: droid-hal-@DEVICE@-img-boot
+Requires: droid-hal-@DEVICE@-kernel-modules
+Requires: droid-config-@DEVICE@-sailfish
+Requires: droid-config-@DEVICE@-pulseaudio-settings
+Requires: droid-config-@DEVICE@-policy-settings
+Requires: droid-config-@DEVICE@-preinit-plugin
+Requires: droid-config-@DEVICE@-flashing
+Requires: droid-config-@DEVICE@-bluez5
+Requires: droid-hal-version-@DEVICE@
+
+# Hybris packages
+Requires: libhybris-libEGL
+Requires: libhybris-libGLESv2
+Requires: libhybris-libwayland-egl
+
+# Sensors
+Requires: hybris-libsensorfw-qt5
+
+# Vibra
+Requires: ngfd-plugin-native-vibrator
+Requires: qt5-feedback-haptics-native-vibrator
+
+# Needed for /dev/touchscreen symlink
+Requires: qt5-plugin-generic-evdev
+
+Requires: pulseaudio-modules-droid
+Requires: pulseaudio-modules-droid-hidl
+
+# The -dummy-af is needed for newer devices that run the main
+# audiosystem-passthrough in qti mode (e.g. >=Android 9 Qualcomm),
+# to fix non-responding Camera app and/or voice during a phone call:
+#Requires: audiosystem-passthrough-dummy-af
+
+# for audio recording to work:
+Requires: qt5-qtmultimedia-plugin-mediaservice-gstmediacapture
+
+# These need to be per-device due to differing backends (fbdev, eglfs, hwc, ..?)
+Requires: qt5-qtwayland-wayland_egl
+Requires: qt5-qpa-hwcomposer-plugin
+Requires: qtscenegraph-adaptation
+
+# For hybris devices with droidmedia, see HADK pdf for more information
+Requires: gstreamer1.0-droid
+Requires: gmp-droid
+
+# This is needed for notification LEDs
+Requires: mce-plugin-libhybris
+
+# USB mode controller
+Requires: usb-moded
+
+# hammerhead, grouper, and maguro use this in scripts, so include for all
+Requires: rfkill
+
+# enable device lock and allow to select untrusted software
+Requires: jolla-devicelock-daemon-encsfa
+
+# Enable home encryption
+#Requires: sailfish-device-encryption
+
+# For GPS
+Requires: geoclue-provider-hybris
+
+# For FM radio on some QCOM devices
+#Requires: qt5-qtmultimedia-plugin-mediaservice-irisradio
+#Requires: jolla-mediaplayer-radio
+
+# NFC support
+# 1. binder plugin requires Android 8 or a newer base
+# 2. pn54x plugin talks directly to pn54x driver
+# These plugins are mutually exclusive, you need to pick one:
+#Requires: nfcd-binder-plugin
+#Requires: nfcd-pn54x-plugin
+
+%description -n patterns-sailfish-device-adaptation-@DEVICE@
+Pattern with packages for @DEVICE@ HW Adaptation
+
+%files -n patterns-sailfish-device-adaptation-@DEVICE@
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/patterns/templates/patterns-sailfish-device-configuration-@DEVICE@.inc
^
|
@@ -0,0 +1,40 @@
+%package -n patterns-sailfish-device-configuration-@DEVICE@
+Summary: Jolla Configuration @DEVICE@
+Requires: patterns-sailfish-device-configuration-common-@DEVICE@
+Requires: patterns-sailfish-device-adaptation-@DEVICE@
+
+# For devices with cellular modem. Those without one, please comment out:
+Requires: patterns-sailfish-cellular-apps
+
+# Early stages of porting benefit from these:
+Requires: patterns-sailfish-device-tools
+
+Requires: sailfish-content-graphics-z%{icon_res}
+
+# For multi-SIM devices
+#Requires: jolla-settings-networking-multisim
+
+# For devices which support NFC
+#Requires: jolla-settings-system-nfc
+#Requires: nfcd-dbuslog-plugin
+#Requires: nfcd-mce-plugin
+
+# Introduced starting Sailfish OS 2.0.4.x:
+# 3rd party accounts like Twitter, VK, cloud services, etc
+Requires: jolla-settings-accounts-extensions-3rd-party-all
+
+# Introduced starting Sailfish OS 2.1.1.26
+# Required for Jolla Store Access
+Requires: patterns-sailfish-consumer-generic
+
+# For Mozilla location services (online)
+Requires: geoclue-provider-mlsdb
+
+# Devices with 2G or more memory should also include this booster
+# to improve camera startup times and the like
+#Requires: mapplauncherd-booster-silica-qt5-media
+
+%description -n patterns-sailfish-device-configuration-@DEVICE@
+Pattern with packages for @DEVICE@ configurations
+
+%files -n patterns-sailfish-device-configuration-@DEVICE@
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse-10/boot/flashing-README.txt
^
|
@@ -0,0 +1 @@
+Please refer to https://jolla.com/sailfishxinstall
\ No newline at end of file
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse-10/etc/acdbdata
^
|
+(symlink to /vendor/etc/acdbdata)
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse-10/etc/dconf/db/vendor.d/lipstick-configs.txt
^
|
@@ -0,0 +1,3 @@
+[desktop/lipstick-jolla-home/peekfilter]
+boundaryWidth=48
+pressDelay=800
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse-10/etc/gbinder.conf
^
|
@@ -0,0 +1,2 @@
+[General]
+ApiLevel = 29
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse-10/etc/gst-droid/gstdroidcodec.conf
^
|
@@ -0,0 +1,6 @@
+[decoders]
+video/hevc=1
+
+[decoder-quirks]
+video/mp4v-es=use-codec-supplied-height;use-codec-supplied-width
+video/avc=use-codec-supplied-height;use-codec-supplied-width
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse-10/etc/mce/60-fingerprint-sensor.conf
^
|
@@ -0,0 +1 @@
+/system/osso/dsm/fingerprint/mode=1
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse-10/etc/mce/60-hybris-features.ini
^
|
@@ -0,0 +1,3 @@
+[FeatureHybris]
+# Keep mce off android hwc2 functionality
+FrameBuffer = false
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse-10/etc/mce/60-proximity-sensor.conf
^
|
@@ -0,0 +1 @@
+/system/osso/dsm/proximity/on_demand=true
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse-10/etc/ofono/ril_subscription.conf
^
|
@@ -0,0 +1,40 @@
+# Ofono configuration for Android 9
+
+[Settings]
+#EmptyConfig=false
+#Identity=radio:radio
+#3GLTEHandover=true
+#SetRadioCapability=auto
+SetRadioCapability=off
+
+emptyPinQuery=true
+radioPowerCycle=false
+confirmRadioPowerOn=false
+useDataProfiles=true
+mmsDataProfileId=0
+allowDataReq=off
+umtsNetworkMode=0
+
+[ril_0]
+transport=binder:name=slot1
+name=slot1
+ecclistFile=/run/ofono/ril.ecclist
+
+#socket=/dev/socket/rild
+#sub=SUB1
+#slot=0
+#timeout=0
+#technologies=all
+#enable4G=true
+#uiccWorkaround=true
+#dataCallFormat=auto
+#dataCallRetryLimit=4
+#dataCallRetryDelay=200
+#remoteHangupReasons=20
+#localHangupReasons=23
+#enableVoicecall=true
+#enableCellBroadcast=true
+#startTimeout=20000
+#legacyImeiQuery=false
+#lteNetworkMode=9
+#networkModeTimeout=20000
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse-10/etc/ofono/ril_subscription.d/dual-sim.conf
^
|
@@ -0,0 +1,4 @@
+[ril_1]
+transport=binder:name=slot2
+name=slot2
+ecclistFile=/run/ofono/ril.ecclist1
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse-10/etc/sailfish-fpd/50-settings.ini
^
|
@@ -0,0 +1,13 @@
+[fpslave]
+template_directory_owner_quirk = system
+template_directory_group_quirk = system
+template_directory_mode_quirk = 0770
+
+fphal_max_fingerprints_quirk = 5
+
+mass_remove_single_notify_quirk = 0
+set_active_group_twice_quirk = 0
+skip_post_enroll_quirk = 0
+skip_enumerate_quirk = 0
+no_cancel_notification_quirk = 0
+
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse-10/usr/bin/droid/droid-bootctl.sh
^
|
@@ -0,0 +1,14 @@
+#!/bin/sh
+
+# Check currentl used boot slot
+SLOT="$(/usr/libexec/droid-hybris/system/bin/bootctl get-current-slot)"
+
+# Check if current slot is marked successful
+/usr/libexec/droid-hybris/system/bin/bootctl is-slot-marked-successful $SLOT 2> /dev/null
+
+if [ $? -ne 0 ]
+then
+ echo "Marking boot as successful"
+ /usr/libexec/droid-hybris/system/bin/bootctl mark-boot-successful 2> /dev/null
+fi
+
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse-10/usr/bin/droid/droid-hal-early-init.sh
^
|
@@ -0,0 +1,6 @@
+#!/bin/bash
+
+if ! grep -q hybris /system/etc/ld.config.29.txt; then
+ mount -o bind /usr/libexec/droid-hybris/system/etc/ld.config.29.txt /system/etc/ld.config.29.txt
+fi
+
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse-10/usr/lib/systemd/system/droid-bootctl.service
^
|
@@ -0,0 +1,10 @@
+[Unit]
+Description=Droid bootctl
+After=start-user-session.service
+
+[Service]
+Type=oneshot
+ExecStart=/bin/sh /usr/bin/droid/droid-bootctl.sh
+
+[Install]
+WantedBy=graphical.target actdead.target
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse-10/usr/lib/systemd/system/droid-hal-init.service
^
|
@@ -0,0 +1,26 @@
+[Unit]
+Description=droid-hal-init
+Wants=systemd-udev-settle.service
+After=local-fs.target systemd-udev-settle.service systemd-tmpfiles-setup.service
+Before=basic.target network.target bluetooth.service ofono.service sensorfwd.service
+DefaultDependencies=no
+Conflicts=shutdown.target
+# Lets not do Requires= here as that means that this service will restart which leads automatically
+# to broken state as android init can be only started once per boot. If something goes wrong
+# our best hope is that android init doesn't notice that and that the crashing party fixes itself :)
+
+[Service]
+Type=notify
+NotifyAccess=all
+ExecStartPre=-/bin/sh /usr/bin/droid/droid-hal-early-init.sh
+ExecStart=/bin/sh /usr/bin/droid/droid-hal-startup.sh
+ExecStop=/bin/sh /usr/bin/droid/droid-hal-shutdown.sh
+Restart=always
+# Lets make sure we don't block minutes in case of errors.
+TimeoutSec=15
+StartLimitInterval=60
+StartLimitBurst=2
+
+[Install]
+WantedBy=graphical.target
+
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse-10/usr/lib/systemd/system/graphical.target.wants/droid-bootctl.service
^
|
+(symlink to ../droid-bootctl.service)
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse-10/usr/lib/systemd/system/multi-user.target.wants/wait_for_keymaster.service
^
|
+(symlink to ../wait_for_keymaster.service)
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse-10/usr/lib/systemd/system/sailfish-unlock-agent.service.d/50-vendor.hwcomposer-2-3.conf
^
|
@@ -0,0 +1,6 @@
+[Service]
+# stop hwcomposer before unlock ui
+ExecStartPre=-/system/bin/stop vendor.hwcomposer-2-3
+
+# start hwcomposer after unlock ui, but not on upgrade target
+ExecStart=-/bin/sh -c '/usr/bin/test -f /tmp/os-update-running || /system/bin/start vendor.hwcomposer-2-3'
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse-10/usr/lib/systemd/system/sailfish-upgrade-ui.service.d/50-vendor.hwcomposer-2-3.conf
^
|
@@ -0,0 +1,3 @@
+[Service]
+# make sure unlock-ui has exited before starting upgrade-ui
+ExecStartPre=-/usr/sbin/dummy_compositor --exit-on-enable
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse-10/usr/lib/systemd/system/wait_for_keymaster.service
^
|
@@ -0,0 +1,14 @@
+[Unit]
+Description=Fingerprint Daemon preinit
+DefaultDependencies=no
+After=droid-hal-init.service
+Before=sailfish-fpd.service
+Conflicts=shutdown.target
+
+[Service]
+Type=oneshot
+ExecStart=/system/bin/wait_for_keymaster
+RemainAfterExit=yes
+
+[Install]
+WantedBy=multi-user.target
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse-10/usr/lib/systemd/user/jolla-startupwizard-pre-user-session.service.d/50-vendor.hwcomposer-2-3.conf
^
|
@@ -0,0 +1,3 @@
+[Service]
+# make unlock ui exit
+ExecStartPre=/usr/sbin/dummy_compositor
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse-10/usr/lib/systemd/user/lipstick.service.d/50-vendor.hwcomposer-2-3.conf
^
|
@@ -0,0 +1,4 @@
+[Service]
+# make unlock ui exit
+ExecStartPre=/usr/sbin/dummy_compositor
+ExecStopPost=/usr/bin/setprop ctl.restart vendor.hwcomposer-2-3
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse-10/usr/libexec/droid-hybris/system/etc/init/disabled_services.rc
^
|
@@ -0,0 +1,29 @@
+service netd netd_HYBRIS_DISABLED
+
+service installd installd_HYBRIS_DISABLED
+
+service cameraserver cameraserver_HYBRIS_DISABLED
+
+service audioserver audioserver_HYBRIS_DISABLED
+
+service media mediaserver_HYBRIS_DISABLED
+
+service update_engine update_engine_HYBRIS_DISABLED
+
+service vendor.audio-hal-2-0 /vendor/bin/hw/android.hardware.audio@2.0-service_HYBRIS_DISABLED
+
+service lmkd /system/bin/lmkd_HYBRIS_DISABLED
+
+service vold /system/bin/vold_HYBRIS_DISABLED
+
+service wificond /system/bin/wificond_HYBRIS_DISABLED
+
+service storaged /system/bin/storaged_HYBRIS_DISABLED
+
+service surfaceflinger surfaceflinger_HYBRIS_DISABLED
+
+service bootanim /system/bin/bootanimation_HYBRIS_DISABLED
+
+service vendor.usb-hal-1-0 /vendor/bin/hw/android.hardware.usb@1.0-service
+
+service vendor.vibrator-1-0 /vendor/bin/hw/android.hardware.vibrator@1.0-service_HYBRIS_DISABLED
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse-10/usr/libexec/droid-hybris/system/etc/init/ecclist.rc
^
|
@@ -0,0 +1,12 @@
+on post-fs
+ # Create directory for ofono ecc files
+ mkdir /run/ofono 0755 root root
+
+# Ofono tracks these files to sync emergency numbers with the modem
+on property:ril.ecclist=*
+ write /run/ofono/ril.ecclist ${ril.ecclist}
+ chmod 0644 /run/ofono/ril.ecclist
+
+on property:ril.ecclist1=*
+ write /run/ofono/ril.ecclist1 ${ril.ecclist1}
+ chmod 0644 /run/ofono/ril.ecclist1
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse-10/usr/libexec/droid-hybris/system/etc/ld.config.29.txt
^
|
@@ -0,0 +1,678 @@
+# Copyright (C) 2017 The Android Open Source Project
+#
+# Bionic loader config file.
+#
+
+# Don't change the order here. The first pattern that matches with the
+# absolute path of an executable is selected.
+dir.system = /system/bin/
+dir.system = /system/xbin/
+dir.system = /product/bin/
+
+dir.vendor = /odm/bin/
+dir.vendor = /vendor/bin/
+dir.vendor = /data/nativetest/odm
+dir.vendor = /data/nativetest64/odm
+dir.vendor = /data/benchmarktest/odm
+dir.vendor = /data/benchmarktest64/odm
+dir.vendor = /data/nativetest/vendor
+dir.vendor = /data/nativetest64/vendor
+dir.vendor = /data/benchmarktest/vendor
+dir.vendor = /data/benchmarktest64/vendor
+
+dir.unrestricted = /data/nativetest/unrestricted
+dir.unrestricted = /data/nativetest64/unrestricted
+
+# TODO(b/123864775): Ensure tests are run from /data/nativetest{,64} or (if
+# necessary) the unrestricted subdirs above. Then clean this up.
+dir.unrestricted = /data/local/tmp
+
+dir.postinstall = /postinstall
+
+# Fallback entry to provide APEX namespace lookups for binaries anywhere else.
+# This must be last.
+dir.system = /data
+
+[system]
+additional.namespaces = runtime,conscrypt,media,resolv,sphal,vndk,rs
+
+###############################################################################
+# "default" namespace
+#
+# Framework-side code runs in this namespace. Libs from /vendor partition
+# can't be loaded in this namespace.
+###############################################################################
+namespace.default.isolated = true
+
+namespace.default.search.paths = /system/${LIB}
+namespace.default.search.paths += /product/${LIB}
+
+# We can't have entire /system/${LIB} as permitted paths because doing so
+# makes it possible to load libs in /system/${LIB}/vndk* directories by
+# their absolute paths (e.g. dlopen("/system/lib/vndk/libbase.so");).
+# VNDK libs are built with previous versions of Android and thus must not be
+# loaded into this namespace where libs built with the current version of
+# Android are loaded. Mixing the two types of libs in the same namespace can
+# cause unexpected problem.
+namespace.default.permitted.paths = /system/${LIB}/drm
+namespace.default.permitted.paths += /system/${LIB}/extractors
+namespace.default.permitted.paths += /system/${LIB}/hw
+namespace.default.permitted.paths += /product/${LIB}
+# These are where odex files are located. libart has to be able to dlopen the files
+namespace.default.permitted.paths += /system/framework
+namespace.default.permitted.paths += /system/app
+namespace.default.permitted.paths += /system/priv-app
+namespace.default.permitted.paths += /vendor/framework
+namespace.default.permitted.paths += /vendor/app
+namespace.default.permitted.paths += /vendor/priv-app
+namespace.default.permitted.paths += /system/vendor/framework
+namespace.default.permitted.paths += /system/vendor/app
+namespace.default.permitted.paths += /system/vendor/priv-app
+namespace.default.permitted.paths += /odm/framework
+namespace.default.permitted.paths += /odm/app
+namespace.default.permitted.paths += /odm/priv-app
+namespace.default.permitted.paths += /oem/app
+namespace.default.permitted.paths += /product/framework
+namespace.default.permitted.paths += /product/app
+namespace.default.permitted.paths += /product/priv-app
+namespace.default.permitted.paths += /data
+namespace.default.permitted.paths += /mnt/expand
+namespace.default.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
+namespace.default.permitted.paths += /system/${LIB}/bootstrap
+namespace.default.permitted.paths += /usr/libexec/droid-hybris/system/${LIB}
+
+namespace.default.asan.search.paths = /data/asan/system/${LIB}
+namespace.default.asan.search.paths += /system/${LIB}
+namespace.default.asan.search.paths += /data/asan/product/${LIB}
+namespace.default.asan.search.paths += /product/${LIB}
+
+namespace.default.asan.permitted.paths = /data
+namespace.default.asan.permitted.paths += /system/${LIB}/drm
+namespace.default.asan.permitted.paths += /system/${LIB}/extractors
+namespace.default.asan.permitted.paths += /system/${LIB}/hw
+namespace.default.asan.permitted.paths += /system/framework
+namespace.default.asan.permitted.paths += /system/app
+namespace.default.asan.permitted.paths += /system/priv-app
+namespace.default.asan.permitted.paths += /vendor/framework
+namespace.default.asan.permitted.paths += /vendor/app
+namespace.default.asan.permitted.paths += /vendor/priv-app
+namespace.default.asan.permitted.paths += /system/vendor/framework
+namespace.default.asan.permitted.paths += /system/vendor/app
+namespace.default.asan.permitted.paths += /system/vendor/priv-app
+namespace.default.asan.permitted.paths += /odm/framework
+namespace.default.asan.permitted.paths += /odm/app
+namespace.default.asan.permitted.paths += /odm/priv-app
+namespace.default.asan.permitted.paths += /oem/app
+namespace.default.asan.permitted.paths += /product/${LIB}
+namespace.default.asan.permitted.paths += /product/framework
+namespace.default.asan.permitted.paths += /product/app
+namespace.default.asan.permitted.paths += /product/priv-app
+namespace.default.asan.permitted.paths += /mnt/expand
+namespace.default.asan.permitted.paths += /apex/com.android.runtime/${LIB}/bionic
+namespace.default.asan.permitted.paths += /system/${LIB}/bootstrap
+
+# Keep in sync with ld.config.txt in the com.android.runtime APEX.
+# If a shared library or an executable requests a shared library that
+# cannot be loaded into the default namespace, the dynamic linker tries
+# to load the shared library from the runtime namespace. And then, if the
+# shared library cannot be loaded from the runtime namespace either, the
+# dynamic linker tries to load the shared library from the resolv namespace.
+# Finally, if all attempts fail, the dynamic linker returns an error.
+namespace.default.links = runtime,resolv
+# Visible because some libraries are dlopen'ed, e.g. libopenjdk is dlopen'ed by
+# libart.
+namespace.default.visible = true
+namespace.default.link.runtime.shared_libs = libdexfile_external.so
+# libicuuc.so and libicui18n.so are kept for app compat reason. http://b/130788466
+namespace.default.link.runtime.shared_libs += libicui18n.so
+namespace.default.link.runtime.shared_libs += libicuuc.so
+namespace.default.link.runtime.shared_libs += libnativebridge.so
+namespace.default.link.runtime.shared_libs += libnativehelper.so
+namespace.default.link.runtime.shared_libs += libnativeloader.so
+namespace.default.link.runtime.shared_libs += libandroidicu.so
+
+# TODO(b/122876336): Remove libpac.so once it's migrated to Webview
+namespace.default.link.runtime.shared_libs += libpac.so
+namespace.default.link.runtime.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.tsan-arm-android.so
+
+# When libnetd_resolv.so can't be found in the default namespace, search for it
+# in the resolv namespace. Don't allow any other libraries from the resolv namespace
+# to be loaded in the default namespace.
+namespace.default.link.resolv.shared_libs = libnetd_resolv.so
+
+###############################################################################
+# "runtime" APEX namespace
+#
+# This namespace exposes externally accessible libraries from the Runtime APEX.
+###############################################################################
+namespace.runtime.isolated = true
+namespace.runtime.visible = true
+
+# Keep in sync with ld.config.txt in the com.android.runtime APEX.
+namespace.runtime.search.paths = /apex/com.android.runtime/${LIB}
+namespace.runtime.asan.search.paths = /apex/com.android.runtime/${LIB}
+namespace.runtime.links = default
+# TODO(b/119867084): Restrict to Bionic dlopen dependencies and PALette library
+# when it exists.
+namespace.runtime.link.default.allow_all_shared_libs = true
+
+###############################################################################
+# "media" APEX namespace
+#
+# This namespace is for libraries within the media APEX.
+###############################################################################
+namespace.media.isolated = true
+namespace.media.visible = true
+
+namespace.media.search.paths = /apex/com.android.media/${LIB}
+namespace.media.asan.search.paths = /apex/com.android.media/${LIB}
+
+namespace.media.permitted.paths = /apex/com.android.media/${LIB}/extractors
+namespace.media.asan.permitted.paths = /apex/com.android.media/${LIB}/extractors
+
+namespace.media.links = default
+namespace.media.link.default.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libc.so:libcgrouprc.so:libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libneuralnetworks.so:libsync.so:libvndksupport.so:libvulkan.so
+namespace.media.link.default.shared_libs += libbinder_ndk.so
+namespace.media.link.default.shared_libs += libcgrouprc.so
+namespace.media.link.default.shared_libs += libmediametrics.so
+namespace.media.link.default.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.tsan-arm-android.so
+
+###############################################################################
+# "conscrypt" APEX namespace
+#
+# This namespace is for libraries within the conscrypt APEX.
+###############################################################################
+namespace.conscrypt.isolated = true
+namespace.conscrypt.visible = true
+
+# Keep in sync with ld.config.txt in the com.android.runtime APEX.
+namespace.conscrypt.search.paths = /apex/com.android.conscrypt/${LIB}
+namespace.conscrypt.asan.search.paths = /apex/com.android.conscrypt/${LIB}
+namespace.conscrypt.links = runtime,default
+namespace.conscrypt.link.runtime.shared_libs = libandroidio.so
+namespace.conscrypt.link.default.shared_libs = libc.so
+namespace.conscrypt.link.default.shared_libs += libm.so
+namespace.conscrypt.link.default.shared_libs += libdl.so
+namespace.conscrypt.link.default.shared_libs += liblog.so
+
+###############################################################################
+# "resolv" APEX namespace
+#
+# This namespace is for libraries within the resolv APEX.
+###############################################################################
+namespace.resolv.isolated = true
+namespace.resolv.visible = true
+
+namespace.resolv.search.paths = /apex/com.android.resolv/${LIB}
+namespace.resolv.asan.search.paths = /apex/com.android.resolv/${LIB}
+namespace.resolv.links = default
+namespace.resolv.link.default.shared_libs = libc.so
+namespace.resolv.link.default.shared_libs += libcgrouprc.so
+namespace.resolv.link.default.shared_libs += libm.so
+namespace.resolv.link.default.shared_libs += libdl.so
+namespace.resolv.link.default.shared_libs += libbinder_ndk.so
+namespace.resolv.link.default.shared_libs += liblog.so
+namespace.resolv.link.default.shared_libs += libvndksupport.so
+
+###############################################################################
+# "sphal" namespace
+#
+# SP-HAL(Sameprocess-HAL)s are the only vendor libraries that are allowed to be
+# loaded inside system processes. libEGL_<chipset>.so, libGLESv2_<chipset>.so,
+# android.hardware.graphics.mapper@2.0-impl.so, etc are SP-HALs.
+#
+# This namespace is exclusivly for SP-HALs. When the framework tries to dynami-
+# cally load SP-HALs, android_dlopen_ext() is used to explicitly specifying
+# that they should be searched and loaded from this namespace.
+#
+# Note that there is no link from the default namespace to this namespace.
+###############################################################################
+namespace.sphal.isolated = true
+namespace.sphal.visible = true
+
+namespace.sphal.search.paths = /odm/${LIB}
+namespace.sphal.search.paths += /vendor/${LIB}
+namespace.sphal.search.paths += /vendor/${LIB}/hw
+
+namespace.sphal.permitted.paths = /odm/${LIB}
+namespace.sphal.permitted.paths += /vendor/${LIB}
+namespace.sphal.permitted.paths += /system/vendor/${LIB}
+
+namespace.sphal.asan.search.paths = /data/asan/odm/${LIB}
+namespace.sphal.asan.search.paths += /odm/${LIB}
+namespace.sphal.asan.search.paths += /data/asan/vendor/${LIB}
+namespace.sphal.asan.search.paths += /vendor/${LIB}
+
+namespace.sphal.asan.permitted.paths = /data/asan/odm/${LIB}
+namespace.sphal.asan.permitted.paths += /odm/${LIB}
+namespace.sphal.asan.permitted.paths += /data/asan/vendor/${LIB}
+namespace.sphal.asan.permitted.paths += /vendor/${LIB}
+
+# Once in this namespace, access to libraries in /system/lib is restricted. Only
+# libs listed here can be used. Order is important here as the namespaces are
+# tried in this order. rs should be before vndk because both are capable
+# of loading libRS_internal.so
+namespace.sphal.links = rs,default,vndk
+
+# Renderscript gets separate namespace
+namespace.sphal.link.rs.shared_libs = libRS_internal.so
+
+namespace.sphal.link.default.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libc.so:libcgrouprc.so:libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libneuralnetworks.so:libsync.so:libvndksupport.so:libvulkan.so
+namespace.sphal.link.default.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.tsan-arm-android.so
+
+namespace.sphal.link.vndk.shared_libs = android.hardware.graphics.common@1.0.so:android.hardware.graphics.common@1.1.so:android.hardware.graphics.common@1.2.so:android.hardware.graphics.mapper@2.0.so:android.hardware.graphics.mapper@2.1.so:android.hardware.graphics.mapper@3.0.so:android.hardware.renderscript@1.0.so:android.hidl.memory.token@1.0.so:android.hidl.memory@1.0.so:android.hidl.memory@1.0-impl.so:android.hidl.safe_union@1.0.so:libRSCpuRef.so:libRSDriver.so:libRS_internal.so:libbase.so:libbcinfo.so:libc++.so:libcutils.so:libhardware.so:libhidlbase.so:libhidlmemory.so:libhidltransport.so:libhwbinder.so:libhwbinder_noltopgo.so:libion.so:libjsoncpp.so:liblzma.so:libprocessgroup.so:libunwindstack.so:libutils.so:libutilscallstack.so:libz.so
+
+###############################################################################
+# "rs" namespace
+#
+# This namespace is exclusively for Renderscript internal libraries.
+# This namespace has slightly looser restriction than the vndk namespace because
+# of the genuine characteristics of Renderscript; /data is in the permitted path
+# to load the compiled *.so file and libmediandk.so can be used here.
+###############################################################################
+namespace.rs.isolated = true
+namespace.rs.visible = true
+
+namespace.rs.search.paths = /odm/${LIB}/vndk-sp
+namespace.rs.search.paths += /vendor/${LIB}/vndk-sp
+namespace.rs.search.paths += /system/${LIB}/vndk-sp-29
+namespace.rs.search.paths += /odm/${LIB}
+namespace.rs.search.paths += /vendor/${LIB}
+
+namespace.rs.permitted.paths = /odm/${LIB}
+namespace.rs.permitted.paths += /vendor/${LIB}
+namespace.rs.permitted.paths += /system/vendor/${LIB}
+namespace.rs.permitted.paths += /data
+
+namespace.rs.asan.search.paths = /data/asan/odm/${LIB}/vndk-sp
+namespace.rs.asan.search.paths += /odm/${LIB}/vndk-sp
+namespace.rs.asan.search.paths += /data/asan/vendor/${LIB}/vndk-sp
+namespace.rs.asan.search.paths += /vendor/${LIB}/vndk-sp
+namespace.rs.asan.search.paths += /data/asan/system/${LIB}/vndk-sp-29
+namespace.rs.asan.search.paths += /system/${LIB}/vndk-sp-29
+namespace.rs.asan.search.paths += /data/asan/odm/${LIB}
+namespace.rs.asan.search.paths += /odm/${LIB}
+namespace.rs.asan.search.paths += /data/asan/vendor/${LIB}
+namespace.rs.asan.search.paths += /vendor/${LIB}
+
+namespace.rs.asan.permitted.paths = /data/asan/odm/${LIB}
+namespace.rs.asan.permitted.paths += /odm/${LIB}
+namespace.rs.asan.permitted.paths += /data/asan/vendor/${LIB}
+namespace.rs.asan.permitted.paths += /vendor/${LIB}
+namespace.rs.asan.permitted.paths += /data
+
+namespace.rs.links = default,vndk
+
+namespace.rs.link.default.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libc.so:libcgrouprc.so:libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libneuralnetworks.so:libsync.so:libvndksupport.so:libvulkan.so
+namespace.rs.link.default.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.tsan-arm-android.so
+# Private LLNDK libs (e.g. libft2.so) are exceptionally allowed to this
+# namespace because RS framework libs are using them.
+namespace.rs.link.default.shared_libs += libft2.so
+
+namespace.rs.link.vndk.shared_libs = android.hardware.graphics.common@1.0.so:android.hardware.graphics.common@1.1.so:android.hardware.graphics.common@1.2.so:android.hardware.graphics.mapper@2.0.so:android.hardware.graphics.mapper@2.1.so:android.hardware.graphics.mapper@3.0.so:android.hardware.renderscript@1.0.so:android.hidl.memory.token@1.0.so:android.hidl.memory@1.0.so:android.hidl.memory@1.0-impl.so:android.hidl.safe_union@1.0.so:libRSCpuRef.so:libRSDriver.so:libRS_internal.so:libbase.so:libbcinfo.so:libc++.so:libcutils.so:libhardware.so:libhidlbase.so:libhidlmemory.so:libhidltransport.so:libhwbinder.so:libhwbinder_noltopgo.so:libion.so:libjsoncpp.so:liblzma.so:libprocessgroup.so:libunwindstack.so:libutils.so:libutilscallstack.so:libz.so
+
+###############################################################################
+# "vndk" namespace
+#
+# This namespace is exclusively for vndk-sp libs.
+###############################################################################
+namespace.vndk.isolated = true
+namespace.vndk.visible = true
+
+namespace.vndk.search.paths = /odm/${LIB}/vndk-sp
+namespace.vndk.search.paths += /vendor/${LIB}/vndk-sp
+namespace.vndk.search.paths += /system/${LIB}/vndk-sp-29
+
+namespace.vndk.permitted.paths = /odm/${LIB}/hw
+namespace.vndk.permitted.paths += /odm/${LIB}/egl
+namespace.vndk.permitted.paths += /vendor/${LIB}/hw
+namespace.vndk.permitted.paths += /vendor/${LIB}/egl
+namespace.vndk.permitted.paths += /system/vendor/${LIB}/hw
+namespace.vndk.permitted.paths += /system/vendor/${LIB}/egl
+# This is exceptionally required since android.hidl.memory@1.0-impl.so is here
+namespace.vndk.permitted.paths += /system/${LIB}/vndk-sp-29/hw
+
+namespace.vndk.asan.search.paths = /data/asan/odm/${LIB}/vndk-sp
+namespace.vndk.asan.search.paths += /odm/${LIB}/vndk-sp
+namespace.vndk.asan.search.paths += /data/asan/vendor/${LIB}/vndk-sp
+namespace.vndk.asan.search.paths += /vendor/${LIB}/vndk-sp
+namespace.vndk.asan.search.paths += /data/asan/system/${LIB}/vndk-sp-29
+namespace.vndk.asan.search.paths += /system/${LIB}/vndk-sp-29
+
+namespace.vndk.asan.permitted.paths = /data/asan/odm/${LIB}/hw
+namespace.vndk.asan.permitted.paths += /odm/${LIB}/hw
+namespace.vndk.asan.permitted.paths += /data/asan/odm/${LIB}/egl
+namespace.vndk.asan.permitted.paths += /odm/${LIB}/egl
+namespace.vndk.asan.permitted.paths += /data/asan/vendor/${LIB}/hw
+namespace.vndk.asan.permitted.paths += /vendor/${LIB}/hw
+namespace.vndk.asan.permitted.paths += /data/asan/vendor/${LIB}/egl
+namespace.vndk.asan.permitted.paths += /vendor/${LIB}/egl
+
+namespace.vndk.asan.permitted.paths += /data/asan/system/${LIB}/vndk-sp-29/hw
+namespace.vndk.asan.permitted.paths += /system/${LIB}/vndk-sp-29/hw
+
+# The "vndk" namespace links to "default" namespace for LLNDK libs and links to
+# "sphal" namespace for vendor libs. The ordering matters. The "default"
+# namespace has higher priority than the "sphal" namespace.
+namespace.vndk.links = default,sphal,runtime
+
+# When these NDK libs are required inside this namespace, then it is redirected
+# to the default namespace. This is possible since their ABI is stable across
+# Android releases.
+namespace.vndk.link.default.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libc.so:libcgrouprc.so:libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libneuralnetworks.so:libsync.so:libvndksupport.so:libvulkan.so
+namespace.vndk.link.default.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.tsan-arm-android.so
+
+namespace.vndk.link.runtime.shared_libs = libclang_rt.asan-aarch64-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.tsan-arm-android.so
+
+# Allow VNDK-SP extensions to use vendor libraries
+namespace.vndk.link.sphal.allow_all_shared_libs = true
+
+
+###############################################################################
+# Namespace config for vendor processes. In O, no restriction is enforced for
+# them. However, in O-MR1, access to /system/${LIB} will not be allowed to
+# the default namespace. 'system' namespace will be added to give limited
+# (LL-NDK only) access.
+###############################################################################
+[vendor]
+additional.namespaces = runtime,system,vndk
+
+###############################################################################
+# "default" namespace
+#
+# This is the default linker namespace for a vendor process (a process started
+# from /vendor/bin/*). The main executable and the libs under /vendor/lib[64]
+# are loaded directly into this namespace. However, other libs under the system
+# partition (VNDK and LLNDK libraries) are not loaded here but from the
+# separate namespace 'system'. The delegation to the system namespace is done
+# via the 'namespace.default.link.system.shared_libs' property below.
+#
+# '#VNDK27#' TAG is only for building ld.config.27.txt for backward
+# compatibility. (TODO:b/123390078) Move them to a separate file.
+###############################################################################
+namespace.default.isolated = true
+namespace.default.visible = true
+
+namespace.default.search.paths = /odm/${LIB}
+namespace.default.search.paths += /vendor/${LIB}
+
+namespace.default.permitted.paths = /odm
+namespace.default.permitted.paths += /vendor
+namespace.default.permitted.paths += /system/vendor
+namespace.default.permitted.paths += /usr/libexec/droid-hybris/system/${LIB}
+
+namespace.default.asan.search.paths = /data/asan/odm/${LIB}
+namespace.default.asan.search.paths += /odm/${LIB}
+namespace.default.asan.search.paths += /data/asan/vendor/${LIB}
+namespace.default.asan.search.paths += /vendor/${LIB}
+
+namespace.default.asan.permitted.paths = /data/asan/odm
+namespace.default.asan.permitted.paths += /odm
+namespace.default.asan.permitted.paths += /data/asan/vendor
+namespace.default.asan.permitted.paths += /vendor
+
+namespace.default.links = system,vndk,runtime
+namespace.default.link.runtime.shared_libs = libclang_rt.asan-aarch64-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.tsan-arm-android.so
+namespace.default.link.system.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libc.so:libcgrouprc.so:libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libneuralnetworks.so:libsync.so:libvndksupport.so:libvulkan.so
+namespace.default.link.system.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.tsan-arm-android.so
+
+namespace.default.link.vndk.shared_libs = android.hardware.graphics.common@1.0.so:android.hardware.graphics.common@1.1.so:android.hardware.graphics.common@1.2.so:android.hardware.graphics.mapper@2.0.so:android.hardware.graphics.mapper@2.1.so:android.hardware.graphics.mapper@3.0.so:android.hardware.renderscript@1.0.so:android.hidl.memory.token@1.0.so:android.hidl.memory@1.0.so:android.hidl.memory@1.0-impl.so:android.hidl.safe_union@1.0.so:libRSCpuRef.so:libRSDriver.so:libRS_internal.so:libbase.so:libbcinfo.so:libc++.so:libcutils.so:libhardware.so:libhidlbase.so:libhidlmemory.so:libhidltransport.so:libhwbinder.so:libhwbinder_noltopgo.so:libion.so:libjsoncpp.so:liblzma.so:libprocessgroup.so:libunwindstack.so:libutils.so:libutilscallstack.so:libz.so
+namespace.default.link.vndk.shared_libs += android.frameworks.cameraservice.common@2.0.so:android.frameworks.cameraservice.device@2.0.so:android.frameworks.cameraservice.service@2.0.so:android.frameworks.displayservice@1.0.so:android.frameworks.schedulerservice@1.0.so:android.frameworks.sensorservice@1.0.so:android.frameworks.stats@1.0.so:android.frameworks.vr.composer@1.0.so:android.hardware.atrace@1.0.so:android.hardware.audio.common@2.0.so:android.hardware.audio.common@4.0.so:android.hardware.audio.common@5.0.so:android.hardware.audio.effect@2.0.so:android.hardware.audio.effect@4.0.so:android.hardware.audio.effect@5.0.so:android.hardware.audio@2.0.so:android.hardware.audio@4.0.so:android.hardware.audio@5.0.so:android.hardware.authsecret@1.0.so:android.hardware.automotive.audiocontrol@1.0.so:android.hardware.automotive.evs@1.0.so:android.hardware.automotive.vehicle@2.0.so:android.hardware.biometrics.face@1.0.so:android.hardware.biometrics.fingerprint@2.1.so:android.hardware.bluetooth.a2dp@1.0.so:android.hardware.bluetooth.audio@2.0.so:android.hardware.bluetooth@1.0.so:android.hardware.boot@1.0.so:android.hardware.broadcastradio@1.0.so:android.hardware.broadcastradio@1.1.so:android.hardware.broadcastradio@2.0.so:android.hardware.camera.common@1.0.so:android.hardware.camera.device@1.0.so:android.hardware.camera.device@3.2.so:android.hardware.camera.device@3.3.so:android.hardware.camera.device@3.4.so:android.hardware.camera.device@3.5.so:android.hardware.camera.metadata@3.2.so:android.hardware.camera.metadata@3.3.so:android.hardware.camera.metadata@3.4.so:android.hardware.camera.provider@2.4.so:android.hardware.camera.provider@2.5.so:android.hardware.cas.native@1.0.so:android.hardware.cas@1.0.so:android.hardware.cas@1.1.so:android.hardware.configstore-utils.so:android.hardware.configstore@1.0.so:android.hardware.configstore@1.1.so:android.hardware.confirmationui-support-lib.so:android.hardware.confirmationui@1.0.so:android.hardware.contexthub@1.0.so:android.hardware.drm@1.0.so:android.hardware.drm@1.1.so:android.hardware.drm@1.2.so:android.hardware.dumpstate@1.0.so:android.hardware.fastboot@1.0.so:android.hardware.gatekeeper@1.0.so:android.hardware.gnss.measurement_corrections@1.0.so:android.hardware.gnss.visibility_control@1.0.so:android.hardware.gnss@1.0.so:android.hardware.gnss@1.1.so:android.hardware.gnss@2.0.so:android.hardware.graphics.allocator@2.0.so:android.hardware.graphics.allocator@3.0.so:android.hardware.graphics.bufferqueue@1.0.so:android.hardware.graphics.bufferqueue@2.0.so:android.hardware.graphics.composer@2.1.so:android.hardware.graphics.composer@2.2.so:android.hardware.graphics.composer@2.3.so:android.hardware.health.storage@1.0.so:android.hardware.health@1.0.so:android.hardware.health@2.0.so:android.hardware.input.classifier@1.0.so:android.hardware.input.common@1.0.so:android.hardware.ir@1.0.so:android.hardware.keymaster@3.0.so:android.hardware.keymaster@4.0.so:android.hardware.light@2.0.so:android.hardware.media.bufferpool@1.0.so:android.hardware.media.bufferpool@2.0.so:android.hardware.media.c2@1.0.so:android.hardware.media.omx@1.0.so:android.hardware.media@1.0.so:android.hardware.memtrack@1.0.so:android.hardware.neuralnetworks@1.0.so:android.hardware.neuralnetworks@1.1.so:android.hardware.neuralnetworks@1.2.so:android.hardware.nfc@1.0.so:android.hardware.nfc@1.1.so:android.hardware.nfc@1.2.so:android.hardware.oemlock@1.0.so:android.hardware.power.stats@1.0.so:android.hardware.power@1.0.so:android.hardware.power@1.1.so:android.hardware.power@1.2.so:android.hardware.power@1.3.so:android.hardware.radio.config@1.0.so:android.hardware.radio.config@1.1.so:android.hardware.radio.config@1.2.so:android.hardware.radio.deprecated@1.0.so:android.hardware.radio@1.0.so:android.hardware.radio@1.1.so:android.hardware.radio@1.2.so:android.hardware.radio@1.3.so:android.hardware.radio@1.4.so:android.hardware.secure_element@1.0.so:android.hardware.secure_element@1.1.so:android.hardware.sensors@1.0.so:android.hardware.sensors@2.0.so:android.hardware.soundtrigger@2.0.so:android.hardware.soundtrigger@2.0-core.so:android.hardware.soundtrigger@2.1.so:android.hardware.soundtrigger@2.2.so:android.hardware.tetheroffload.config@1.0.so:android.hardware.tetheroffload.control@1.0.so:android.hardware.thermal@1.0.so:android.hardware.thermal@1.1.so:android.hardware.thermal@2.0.so:android.hardware.tv.cec@1.0.so:android.hardware.tv.cec@2.0.so:android.hardware.tv.input@1.0.so:android.hardware.usb.gadget@1.0.so:android.hardware.usb@1.0.so:android.hardware.usb@1.1.so:android.hardware.usb@1.2.so:android.hardware.vibrator@1.0.so:android.hardware.vibrator@1.1.so:android.hardware.vibrator@1.2.so:android.hardware.vibrator@1.3.so:android.hardware.vr@1.0.so:android.hardware.weaver@1.0.so:android.hardware.wifi.hostapd@1.0.so:android.hardware.wifi.hostapd@1.1.so:android.hardware.wifi.offload@1.0.so:android.hardware.wifi.supplicant@1.0.so:android.hardware.wifi.supplicant@1.1.so:android.hardware.wifi.supplicant@1.2.so:android.hardware.wifi@1.0.so:android.hardware.wifi@1.1.so:android.hardware.wifi@1.2.so:android.hardware.wifi@1.3.so:android.hidl.allocator@1.0.so:android.hidl.memory.block@1.0.so:android.hidl.token@1.0.so:android.hidl.token@1.0-utils.so:android.system.net.netd@1.0.so:android.system.net.netd@1.1.so:android.system.suspend@1.0.so:android.system.wifi.keystore@1.0.so:libadf.so:libaudioroute.so:libaudioutils.so:libbinder.so:libcamera_metadata.so:libcap.so:libclang_rt.scudo-aarch64-android.so:libclang_rt.scudo-arm-android.so:libclang_rt.scudo_minimal-aarch64-android.so:libclang_rt.scudo_minimal-arm-android.so:libclang_rt.ubsan_minimal-aarch64-android.so:libclang_rt.ubsan_minimal-arm-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.ubsan_standalone-arm-android.so:libcn-cbor.so:libcodec2.so:libcrypto.so:libcrypto_utils.so:libcurl.so:libdiskconfig.so:libdumpstateutil.so:libevent.so:libexif.so:libexpat.so:libfmq.so:libgatekeeper.so:libhardware_legacy.so:libhidlallocatorutils.so:libhidlcache.so:libjpeg.so:libkeymaster_messages.so:libkeymaster_portable.so:libldacBT_abr.so:libldacBT_enc.so:liblz4.so:libmedia_helper.so:libmedia_omx.so:libmemtrack.so:libminijail.so:libmkbootimg_abi_check.so:libnetutils.so:libnl.so:libpcre2.so:libpiex.so:libpng.so:libpower.so:libprocinfo.so:libprotobuf-cpp-full.so:libprotobuf-cpp-lite.so:libpuresoftkeymasterdevice.so:libradio_metadata.so:libselinux.so:libsoftkeymasterdevice.so:libspeexresampler.so:libsqlite.so:libssl.so:libstagefright_bufferpool@2.0.so:libstagefright_bufferqueue_helper.so:libstagefright_foundation.so:libstagefright_omx.so:libstagefright_omx_utils.so:libstagefright_xmlparser.so:libsysutils.so:libtinyalsa.so:libtinyxml2.so:libui.so:libusbhost.so:libwifi-system-iface.so:libxml2.so:libyuv.so:libziparchive.so
+
+###############################################################################
+# "runtime" APEX namespace
+#
+# This namespace exposes externally accessible libraries from the Runtime APEX.
+###############################################################################
+namespace.runtime.isolated = true
+
+# Keep in sync with ld.config.txt in the com.android.runtime APEX.
+namespace.runtime.search.paths = /apex/com.android.runtime/${LIB}
+namespace.runtime.asan.search.paths = /apex/com.android.runtime/${LIB}
+namespace.runtime.links = system
+# TODO(b/119867084): Restrict to Bionic dlopen dependencies and PALette library
+# when it exists.
+namespace.runtime.link.system.allow_all_shared_libs = true
+
+###############################################################################
+# "vndk" namespace
+#
+# This namespace is where VNDK and VNDK-SP libraries are loaded for
+# a vendor process.
+###############################################################################
+namespace.vndk.isolated = false
+
+namespace.vndk.search.paths = /odm/${LIB}/vndk
+namespace.vndk.search.paths += /odm/${LIB}/vndk-sp
+namespace.vndk.search.paths += /vendor/${LIB}/vndk
+namespace.vndk.search.paths += /vendor/${LIB}/vndk-sp
+namespace.vndk.search.paths += /system/${LIB}/vndk-sp-29
+namespace.vndk.search.paths += /system/${LIB}/vndk-29
+
+namespace.vndk.asan.search.paths = /data/asan/odm/${LIB}/vndk
+namespace.vndk.asan.search.paths += /odm/${LIB}/vndk
+namespace.vndk.asan.search.paths += /data/asan/odm/${LIB}/vndk-sp
+namespace.vndk.asan.search.paths += /odm/${LIB}/vndk-sp
+namespace.vndk.asan.search.paths += /data/asan/vendor/${LIB}/vndk
+namespace.vndk.asan.search.paths += /vendor/${LIB}/vndk
+namespace.vndk.asan.search.paths += /data/asan/vendor/${LIB}/vndk-sp
+namespace.vndk.asan.search.paths += /vendor/${LIB}/vndk-sp
+namespace.vndk.asan.search.paths += /data/asan/system/${LIB}/vndk-sp-29
+namespace.vndk.asan.search.paths += /system/${LIB}/vndk-sp-29
+namespace.vndk.asan.search.paths += /data/asan/system/${LIB}/vndk-29
+namespace.vndk.asan.search.paths += /system/${LIB}/vndk-29
+
+# When these NDK libs are required inside this namespace, then it is redirected
+# to the system namespace. This is possible since their ABI is stable across
+# Android releases. The links here should be identical to that of the
+# 'vndk_in_system' namespace, except for the link between 'vndk' and
+# 'vndk_in_system'.
+namespace.vndk.links = system,default,runtime
+
+namespace.vndk.link.system.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libc.so:libcgrouprc.so:libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libneuralnetworks.so:libsync.so:libvndksupport.so:libvulkan.so
+namespace.vndk.link.system.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.tsan-arm-android.so
+
+namespace.vndk.link.default.allow_all_shared_libs = true
+
+namespace.vndk.link.runtime.shared_libs = libclang_rt.asan-aarch64-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.tsan-arm-android.so
+
+
+
+###############################################################################
+# "system" namespace
+#
+# This namespace is where system libs (VNDK and LLNDK libs) are loaded for
+# a vendor process.
+###############################################################################
+namespace.system.isolated = false
+
+namespace.system.search.paths = /system/${LIB}
+namespace.system.search.paths += /product/${LIB}
+
+namespace.system.asan.search.paths = /data/asan/system/${LIB}
+namespace.system.asan.search.paths += /system/${LIB}
+namespace.system.asan.search.paths += /data/asan/product/${LIB}
+namespace.system.asan.search.paths += /product/${LIB}
+namespace.system.asan.search.paths += /data/asan/product_services/${LIB}
+
+namespace.system.links = runtime
+namespace.system.link.runtime.shared_libs = libdexfile_external.so
+# libicuuc.so and libicui18n.so are kept for app compat reason. http://b/130788466
+namespace.system.link.runtime.shared_libs += libicui18n.so
+namespace.system.link.runtime.shared_libs += libicuuc.so
+namespace.system.link.runtime.shared_libs += libnativebridge.so
+namespace.system.link.runtime.shared_libs += libnativehelper.so
+namespace.system.link.runtime.shared_libs += libnativeloader.so
+# Workaround for b/124772622
+namespace.system.link.runtime.shared_libs += libandroidicu.so
+namespace.system.link.runtime.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.tsan-arm-android.so
+
+###############################################################################
+# "vndk_in_system" namespace
+#
+# This namespace is where no-vendor-variant VNDK libraries are loaded for a
+# vendor process. Note that we do not simply export these libraries from
+# "system" namespace, because in some case both the core variant and the
+# vendor variant of a VNDK library may be loaded. In such case, we do not
+# want to eliminate double-loading because doing so means the global states
+# of the library would be shared.
+#
+# Only the no-vendor-variant VNDK libraries are whitelisted in this namespace.
+# This is to ensure that we do not load libraries needed by no-vendor-variant
+# VNDK libraries into vndk_in_system namespace.
+###############################################################################
+namespace.vndk_in_system.isolated = true
+namespace.vndk_in_system.visible = true
+
+# The search paths here should be kept the same as that of the 'system'
+# namespace.
+namespace.vndk_in_system.search.paths = /system/${LIB}
+namespace.vndk_in_system.search.paths += /product/${LIB}
+
+namespace.vndk_in_system.asan.search.paths = /data/asan/system/${LIB}
+namespace.vndk_in_system.asan.search.paths += /system/${LIB}
+namespace.vndk_in_system.asan.search.paths += /data/asan/product/${LIB}
+namespace.vndk_in_system.asan.search.paths += /product/${LIB}
+namespace.vndk_in_system.asan.search.paths += /data/asan/product_services/${LIB}
+
+
+
+# The links here should be identical to that of the 'vndk' namespace, with the
+# following exception:
+# 1. 'vndk_in_system' needs to be freely linked back to 'vndk'.
+# 2. 'vndk_in_system' does not need to link to 'default', as any library that
+# requires anything vendor would not be a vndk_in_system library.
+namespace.vndk_in_system.links = vndk,system,runtime
+namespace.vndk_in_system.link.runtime.shared_libs = libclang_rt.asan-aarch64-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.tsan-arm-android.so
+
+namespace.vndk_in_system.link.system.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libc.so:libcgrouprc.so:libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libneuralnetworks.so:libsync.so:libvndksupport.so:libvulkan.so
+namespace.vndk_in_system.link.system.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.tsan-arm-android.so
+
+namespace.vndk_in_system.link.vndk.allow_all_shared_libs = true
+
+
+###############################################################################
+# Namespace config for native tests that need access to both system and vendor
+# libraries. This replicates the default linker config (done by
+# init_default_namespace_no_config in bionic/linker/linker.cpp), except that it
+# includes the requisite namespace setup for APEXes.
+###############################################################################
+[unrestricted]
+additional.namespaces = runtime,media,conscrypt,resolv
+
+namespace.default.search.paths = /system/${LIB}
+namespace.default.search.paths += /odm/${LIB}
+namespace.default.search.paths += /vendor/${LIB}
+
+namespace.default.asan.search.paths = /data/asan/system/${LIB}
+namespace.default.asan.search.paths += /system/${LIB}
+namespace.default.asan.search.paths += /data/asan/odm/${LIB}
+namespace.default.asan.search.paths += /odm/${LIB}
+namespace.default.asan.search.paths += /data/asan/vendor/${LIB}
+namespace.default.asan.search.paths += /vendor/${LIB}
+
+# Keep in sync with ld.config.txt in the com.android.runtime APEX.
+namespace.default.links = runtime,resolv
+namespace.default.visible = true
+
+namespace.default.link.runtime.shared_libs = libdexfile_external.so
+# libicuuc.so and libicui18n.so are kept for app compat reason. http://b/130788466
+namespace.default.link.runtime.shared_libs += libicui18n.so
+namespace.default.link.runtime.shared_libs += libicuuc.so
+namespace.default.link.runtime.shared_libs += libnativebridge.so
+namespace.default.link.runtime.shared_libs += libnativehelper.so
+namespace.default.link.runtime.shared_libs += libnativeloader.so
+namespace.default.link.runtime.shared_libs += libandroidicu.so
+
+# TODO(b/122876336): Remove libpac.so once it's migrated to Webview
+namespace.default.link.runtime.shared_libs += libpac.so
+namespace.default.link.runtime.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.tsan-arm-android.so
+
+namespace.default.link.resolv.shared_libs = libnetd_resolv.so
+
+###############################################################################
+# "runtime" APEX namespace
+#
+# This namespace exposes externally accessible libraries from the Runtime APEX.
+###############################################################################
+namespace.runtime.isolated = true
+namespace.runtime.visible = true
+
+# Keep in sync with ld.config.txt in the com.android.runtime APEX.
+namespace.runtime.search.paths = /apex/com.android.runtime/${LIB}
+namespace.runtime.asan.search.paths = /apex/com.android.runtime/${LIB}
+namespace.runtime.links = default
+# TODO(b/119867084): Restrict to Bionic dlopen dependencies and PALette library
+# when it exists.
+namespace.runtime.link.default.allow_all_shared_libs = true
+
+###############################################################################
+# "media" APEX namespace
+#
+# This namespace is for libraries within the media APEX.
+###############################################################################
+namespace.media.isolated = true
+namespace.media.visible = true
+
+namespace.media.search.paths = /apex/com.android.media/${LIB}
+namespace.media.asan.search.paths = /apex/com.android.media/${LIB}
+
+namespace.media.permitted.paths = /apex/com.android.media/${LIB}/extractors
+namespace.media.asan.permitted.paths = /apex/com.android.media/${LIB}/extractors
+
+namespace.media.links = default
+namespace.media.link.default.shared_libs = libEGL.so:libGLESv1_CM.so:libGLESv2.so:libGLESv3.so:libRS.so:libandroid_net.so:libc.so:libcgrouprc.so:libclang_rt.asan-aarch64-android.so:libclang_rt.asan-arm-android.so:libdl.so:liblog.so:libm.so:libmediandk.so:libnativewindow.so:libneuralnetworks.so:libsync.so:libvndksupport.so:libvulkan.so
+namespace.media.link.default.shared_libs += libbinder_ndk.so
+namespace.media.link.default.shared_libs += libmediametrics.so
+namespace.media.link.default.shared_libs += libclang_rt.asan-aarch64-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.tsan-arm-android.so
+
+###############################################################################
+# "conscrypt" APEX namespace
+#
+# This namespace is for libraries within the conscrypt APEX.
+###############################################################################
+namespace.conscrypt.isolated = true
+namespace.conscrypt.visible = true
+
+# Keep in sync with ld.config.txt in the com.android.runtime APEX.
+namespace.conscrypt.search.paths = /apex/com.android.conscrypt/${LIB}
+namespace.conscrypt.asan.search.paths = /apex/com.android.conscrypt/${LIB}
+namespace.conscrypt.links = runtime,default
+namespace.conscrypt.link.runtime.shared_libs = libandroidio.so
+namespace.conscrypt.link.default.shared_libs = libc.so
+namespace.conscrypt.link.default.shared_libs += libm.so
+namespace.conscrypt.link.default.shared_libs += libdl.so
+namespace.conscrypt.link.default.shared_libs += liblog.so
+
+###############################################################################
+# "resolv" APEX namespace
+#
+# This namespace is for libraries within the resolv APEX.
+###############################################################################
+namespace.resolv.isolated = true
+namespace.resolv.visible = true
+
+namespace.resolv.search.paths = /apex/com.android.resolv/${LIB}
+namespace.resolv.asan.search.paths = /apex/com.android.resolv/${LIB}
+namespace.resolv.links = default
+namespace.resolv.link.default.shared_libs = libc.so
+namespace.resolv.link.default.shared_libs += libm.so
+namespace.resolv.link.default.shared_libs += libdl.so
+namespace.resolv.link.default.shared_libs += libbinder_ndk.so
+namespace.resolv.link.default.shared_libs += liblog.so
+
+
+###############################################################################
+# Namespace config for binaries under /postinstall.
+# Only default namespace is defined and default has no directories
+# other than /system/lib in the search paths. This is because linker calls
+# realpath on the search paths and this causes selinux denial if the paths
+# (/vendor, /odm) are not allowed to the postinstall binaries. There is no
+# reason to allow the binaries to access the paths.
+###############################################################################
+[postinstall]
+namespace.default.isolated = false
+namespace.default.search.paths = /system/${LIB}
+namespace.default.search.paths += /product/${LIB}
+
+namespace.default.link.runtime.shared_libs = libclang_rt.asan-aarch64-android.so:libclang_rt.hwasan-aarch64-android.so:libclang_rt.ubsan_standalone-aarch64-android.so:libclang_rt.tsan-aarch64-android.so:libclang_rt.asan-arm-android.so:libclang_rt.hwasan-arm-android.so:libclang_rt.ubsan_standalone-arm-android.so:libclang_rt.tsan-arm-android.so
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse-10/usr/share/ngfd/plugins.d/60-profile.ini
^
|
@@ -0,0 +1,3 @@
+[profile]
+touchscreen.sound.level = 0;18;50;75
+
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse-10/var/lib/environment/compositor/droid-hal-device.conf
^
|
@@ -0,0 +1,5 @@
+EGL_PLATFORM=hwcomposer
+QT_QPA_PLATFORM=hwcomposer
+
+LIPSTICK_OPTIONS="-plugin evdevtouch -plugin evdevkeyboard:keymap=/usr/share/qt5/keymaps/droid.qmap"
+
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse-10/var/lib/environment/nemo/99-qtscenegraph.conf
^
|
@@ -0,0 +1,2 @@
+# This flag needs to be set, regardless of its value
+QT_OPENGL_NO_BGRA=1
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse/boot/flash.sh
^
|
@@ -0,0 +1,517 @@
+#!/usr/bin/env bash
+
+# Copyright (c) 2021, Jolla Ltd.
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# * Neither the name of the <organization> nor the
+# names of its contributors may be used to endorse or promote products
+# derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
+# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL <COPYRIGHT HOLDER> BE LIABLE FOR ANY
+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+
+
+# Flash operations:
+#
+# getvar_fail_if <variable-name> <variable-value>
+# If variable-name equals variable-value abort flashing
+# Custom error message can be set in GETVAR_ERROR_<variable-name>
+#
+# flash <partition> <image>
+# Flash image to partition
+#
+# flash_dont_fail <partition> <image>
+# Try to flash image to partition but retry 30 times before giving up,
+# sleep 1 second between retries
+#
+# flash_blob <partition> <image>
+# Flash extra blob image to partition. This is a bit different from
+# regular flash operation, as image part can contain wildcards and
+# custom error messages can be set for not existing or too many files
+# in BLOB_ERROR_NOT_FOUND_<partition> and BLOB_ERROR_TOO_MANY_<partition>
+# variables, respectively.
+#
+# run <commands>
+# Run arbitrary commands, for example run sleep 5
+#
+# run fastboot <commands>
+# Run arbitrary fastboot commands
+#
+#
+#
+# Example flash-config.sh:
+#
+# VALID_PRODUCTS=(
+# "product-name"
+# )
+#
+# FLASH_OPS=(
+# "getvar_fail_if secure yes"
+# "run fastboot reboot-bootloader
+# "run fastboot erase foo
+# "run sleep 2"
+# "flash_dont_fail partition partition.bin"
+# "flash boot_a hybris-boot.img"
+# "flash boot_b hybris-boot.img"
+# "flash dtbo_a dtbo.img"
+# "flash dtbo_b dtbo.img"
+# "flash userdata userdata.img001"
+# "flash_blob oem_a *_vendor_image.img"
+# )
+#
+# GETVAR_ERROR_secure="
+# Error to display if variable secure has value yes
+# "
+#
+# BLOB_ERROR_NOT_FOUND_oem_a="
+# Error to display if vendor blob is not found.
+# "
+#
+# BLOB_ERROR_TOO_MANY_oem_a="
+# Error to display if more than one matching blob is found when using wildcards
+# "
+#
+# FLASH_COMPLETED_MESSAGE="
+# Message to show with successful flashing.
+# "
+
+SCRIPT_VERSION=1.1
+
+OS_VERSION=
+FASTBOOT_BIN_PATH=
+# Detect from fastboot command
+FLASHCMD_FLASH_BOOT=
+
+DRY_RUN=1
+
+if [ -z "$FLASH_CONFIG" ]; then
+ FLASH_CONFIG="./flash-config.sh"
+fi
+
+check_fastboot() {
+ FASTBOOT_BIN_NAME=$1
+ if [ -f "$FASTBOOT_BIN_NAME" ]; then
+ chmod 755 "$FASTBOOT_BIN_NAME"
+ # Ensure that the binary that is found can be executed fine
+ if ./"$FASTBOOT_BIN_NAME" help &>/dev/null; then
+ FASTBOOT_BIN_PATH="./"
+ return 0
+ fi
+ fi
+ return 1
+}
+
+print_and_run() {
+ # shellcheck disable=SC2145
+ echo ">> $@"
+
+ # shellcheck disable=SC2068
+ $@
+ local ret=$?
+
+ if [ $ret -ne 0 ]; then
+ echo "Flashing failed ($ret)"
+ exit $ret
+ fi
+}
+
+print_and_run_retry() {
+ # shellcheck disable=SC2145
+ echo ">> $@"
+
+ local retries=30
+ local ret=1
+ while [ $ret -ne 0 ]; do
+ # shellcheck disable=SC2068
+ $@
+ ret=$?
+
+ if [ $ret -ne 0 ]; then
+ if [ $retries -eq 0 ]; then
+ echo "Retry limit reached, flashing failed ($ret)"
+ exit 1
+ fi
+
+ sleep 1
+ fi
+
+ ((--retries))
+ done
+}
+
+usage() {
+ cat <<EOF
+Flash utility v$SCRIPT_VERSION
+
+This script uses either flash-config.sh from the directory where the
+script is ran or defined by --config.
+
+Options
+ --help This help
+ --force Don't abort if md5sums of files don't match
+ --fastboot Location of fastboot binary to use
+ --image-path Where regular image files are located
+ --blob-path Where possible vendor specific image files are located
+ --extra-opts Custom extra options for fastboot
+ --config Specify location for flash ops
+ --dry-run Only dry run, don't do any changes to device
+
+EOF
+}
+
+#
+# Command line arguments
+#
+
+while [ $# -gt 0 ]; do
+ case $1 in
+ --force)
+ FORCE=1
+ ;;
+ --fastboot)
+ shift
+ FASTBOOT_BIN_NAME="$1"
+ ;;
+ --image-path)
+ shift
+ IMAGE_PATH="$1"
+ ;;
+ --blob-path)
+ shift
+ BLOB_PATH="$1"
+ ;;
+ --extra-opts)
+ shift
+ FASTBOOTEXTRAOPTS="$1"
+ ;;
+ --config)
+ shift
+ FLASH_CONFIG="$1"
+ ;;
+ --dry-run)
+ ONLY_DRY_RUN=1
+ ;;
+ --help)
+ usage
+ exit 0
+ ;;
+ *)
+ echo "Unknown argument '$1'"
+ exit 1
+ ;;
+ esac
+ shift
+done
+
+if [ ! -f "$FLASH_CONFIG" ]; then
+ echo "Configuration file ($FLASH_CONFIG) for flash script not found."
+ exit 1
+fi
+
+source "$FLASH_CONFIG"
+
+if [ ${#FLASH_OPS[@]} -eq 0 ]; then
+ echo "No flash operations defined in $FLASH_CONFIG"
+ exit 1
+fi
+
+UNAME=$(uname)
+
+# Do not need root for fastboot on Mac OS X
+if [ "$UNAME" != "Darwin" ] && [ "$(id -u)" -ne 0 ]; then
+ exec sudo -E bash -c "FORCE=$FORCE FASTBOOT_BIN_NAME=\"$FASTBOOT_BIN_NAME\" IMAGE_PATH=\"$IMAGE_PATH\" BLOB_PATH=\"$BLOB_PATH\" FASTBOOTEXTRAOPTS=\"$FASTBOOTEXTRAOPTS\" FLASH_CONFIG=\"$FLASH_CONFIG\" ONLY_DRY_RUN=$ONLY_DRY_RUN $0"
+fi
+
+echo "Flash utility v$SCRIPT_VERSION"
+
+case $UNAME in
+ Linux)
+ echo "Detected Linux"
+ ;;
+ Darwin)
+ IFS='.' read -r major minor patch <<< "$(sw_vers -productVersion)"
+ OS_VERSION=$major-$minor
+ echo "Detected Mac OS X - Version: $OS_VERSION"
+ ;;
+ FreeBSD)
+ FASTBOOT_BIN_PATH="/usr/local/bin/"
+ echo "Detected FreeBSD"
+ ;;
+ *)
+ echo "Failed to detect operating system!"
+ exit 1
+ ;;
+esac
+
+
+if [ -z "$FASTBOOT_BIN_NAME" ]; then
+ if ! check_fastboot "fastboot-$UNAME-$OS_VERSION" ; then
+ if ! check_fastboot "fastboot-$UNAME"; then
+ # In case we didn't provide functional fastboot binary to the system
+ # lets check that one is found from the system.
+ if ! which fastboot &>/dev/null; then
+ echo "No 'fastboot' found in \$PATH. To install, use:"
+ echo ""
+ echo " Debian/Ubuntu/.deb distros: apt-get install android-tools-fastboot"
+ echo " Fedora: yum install android-tools"
+ echo " OS X: brew install android-sdk"
+ echo " FreeBSD: pkg install android-tools-fastboot"
+ echo ""
+ exit 1
+ else
+ FASTBOOT_BIN_NAME=fastboot
+ fi
+ fi
+ fi
+fi
+
+if [ -z "$FLASHCMD_FLASH_BOOT" ]; then
+ ### Detect fastboot flash commands
+
+ # By default use "flash" for boot partition
+ FLASHCMD_FLASH_BOOT="flash"
+
+ # If running fastboot version 30 or newer, use flash:raw for boot
+ if ${FASTBOOT_BIN_PATH}${FASTBOOT_BIN_NAME} help 2>&1 | grep -q "flash:raw PARTITION"; then
+ FLASHCMD_FLASH_BOOT="flash:raw"
+ fi
+fi
+
+echo "Searching device to flash.."
+FASTBOOTCMD_NO_DEVICE="${FASTBOOT_BIN_PATH}${FASTBOOT_BIN_NAME}"
+
+FASTBOOT_DEVICES=$($FASTBOOTCMD_NO_DEVICE devices | awk '{ print $1 }' | tr $'\n' ' ')
+
+if [ -z "$FASTBOOT_DEVICES" ]; then
+ echo "No device that can be flashed found. Please connect your device in fastboot mode before running this script."
+ exit 1
+fi
+
+TARGET_SERIALNO=
+count=0
+for SERIALNO in $FASTBOOT_DEVICES; do
+ PRODUCT=$($FASTBOOTCMD_NO_DEVICE -s "$SERIALNO" getvar product 2>&1 | head -n1 | cut -d ' ' -f2)
+ BASEBAND=$($FASTBOOTCMD_NO_DEVICE -s "$SERIALNO" getvar version-baseband 2>&1 | head -n1 | cut -d ' ' -f2)
+ BOOTLOADER=$($FASTBOOTCMD_NO_DEVICE -s "$SERIALNO" getvar version-bootloader 2>&1 | head -n1 | cut -d ' ' -f2)
+
+ echo "Found $PRODUCT, serial:$SERIALNO, baseband:$BASEBAND, bootloader:$BOOTLOADER"
+
+ for VALID_PRODUCT in "${VALID_PRODUCTS[@]}"; do
+ if echo "$PRODUCT" | grep -qe "^$VALID_PRODUCT$"; then
+ TARGET_SERIALNO="$SERIALNO $TARGET_SERIALNO"
+ ((++count))
+ fi
+ done
+done
+TARGET_SERIALNO=${TARGET_SERIALNO%% }
+
+FASTBOOTCMD="${FASTBOOT_BIN_PATH}${FASTBOOT_BIN_NAME}"
+
+if [ -n "$FASTBOOTEXTRAOPTS" ]; then
+ echo "Fastboot extra options detected: $FASTBOOTEXTRAOPTS, let's ignore device count check."
+ FASTBOOTCMD="$FASTBOOTCMD $FASTBOOTEXTRAOPTS"
+elif [ $count -eq 0 ]; then
+ echo "No valid devices found."
+ exit 1
+elif [ $count -gt 1 ]; then
+ echo "More than one flashable device connected. Make sure there is exactly one device connected in fastboot mode."
+ exit 1
+else
+ echo "Found matching device with serial $TARGET_SERIALNO"
+ FASTBOOTCMD="$FASTBOOTCMD -s $TARGET_SERIALNO"
+fi
+
+echo "Fastboot command: $FASTBOOTCMD"
+
+if [ "$UNAME" = "Darwin" ] || [ "$UNAME" = "FreeBSD" ]; then
+ # macOS and FreeBSD don't have md5sum so lets use md5 there.
+ while read -r line; do
+ md5=$(echo "$line" | awk '{ print $1 }')
+ filename=$(echo "$line" | awk '{ print $2 }')
+ md5calc=$(md5 "$filename" | cut -d '=' -f2 | tr -d '[:space:]')
+ if [ "$md5" != "$md5calc" ]; then
+ if [ -n "$FORCE" ]; then
+ echo "Ignoring md5sum errors (--force)"
+ else
+ echo; echo "md5sum does not match on file $filename, please download the package again."
+ echo;
+ exit 1;
+ fi
+ fi
+ done < md5.lst
+else
+ if [ "$(md5sum -c md5.lst --status;echo $?)" -eq "1" ]; then
+ if [ -n "$FORCE" ]; then
+ echo "Ignoring md5sum errors (--force)"
+ else
+ echo; echo "md5sum does not match, please download the package again."
+ echo;
+ exit 1;
+ fi
+ fi
+fi
+
+#
+# flash ops
+#
+
+flash_image() {
+ local partition="$1"
+ local image_file="$2"
+ local exit_on_failure="$3"
+
+ if [ -n "$IMAGE_PATH" ]; then
+ image_file="$IMAGE_PATH/$image_file"
+ fi
+
+ if [ ! -e "$image_file" ]; then
+ echo "Image file '$image_file' not found."
+ exit 1
+ fi
+
+ if [ $DRY_RUN -eq 0 ]; then
+ local flashcmd="flash"
+ if [ "$partition" == "boot" ] || [ "$partition" == "boot_a" ] || [ "$partition" == "boot_b" ]; then
+ flashcmd=$FLASHCMD_FLASH_BOOT
+ fi
+
+ if [ "$exit_on_failure" -eq 1 ]; then
+ print_and_run "$FASTBOOTCMD" $flashcmd "$partition" "$image_file"
+ else
+ print_and_run_retry "$FASTBOOTCMD" $flashcmd "$partition" "$image_file"
+ fi
+ fi
+}
+
+flash_blob() {
+ local partition="$1"
+ local image_file="$2"
+
+ local b_path="$BLOB_PATH"
+ if [ -z "$b_path" ]; then
+ b_path="."
+ fi
+
+ local count=0
+
+ while IFS= read -r -d '' b; do
+ if [ $DRY_RUN -eq 0 ]; then
+ print_and_run "$FASTBOOTCMD" flash "$partition" "$b"
+ fi
+ ((++count))
+ done < <(find "$b_path" -maxdepth 1 -name "$image_file" -print0)
+
+ if [ $count -eq 0 ]; then
+ eval echo -e \"\$BLOB_ERROR_NOT_FOUND_$partition\"
+ exit 1
+ fi
+
+ if [ $count -gt 1 ]; then
+ eval echo -e \"\$BLOB_ERROR_TOO_MANY_$partition\"
+ exit 1
+ fi
+}
+
+getvar_test() {
+ local var_name="$1"
+ local getvar_fail="$2"
+
+ # Only test vars during dry run
+ if [ $DRY_RUN -eq 0 ]; then
+ return
+ fi
+
+ echo ">> $FASTBOOTCMD getvar $var_name"
+ local val
+ val="$($FASTBOOTCMD getvar "$var_name" 2>&1 | head -n1 | awk '{ print $2 }')"
+ echo "<< getvar $var_name: $val"
+
+ if [ "$val" == "$getvar_fail" ]; then
+ eval echo -e \"\$GETVAR_ERROR_$var_name\"
+ exit 1
+ fi
+}
+
+run_flash_op() {
+ local op="$1"
+ local arg1="$2"
+ local arg2="$3"
+
+ case "$op" in
+ flash)
+ flash_image "$arg1" "$arg2" 1
+ ;;
+
+ flash_dont_fail)
+ flash_image "$arg1" "$arg2" 0
+ ;;
+
+ flash_blob)
+ flash_blob "$arg1" "$arg2"
+ ;;
+
+ getvar_fail_if)
+ getvar_test "$arg1" "$arg2"
+ ;;
+
+ run)
+ if [ $DRY_RUN -eq 0 ]; then
+ case "$arg1" in
+ fastboot)
+ shift
+ shift
+ print_and_run "$FASTBOOTCMD" "$@"
+ ;;
+
+ *)
+ shift
+ shift
+ print_and_run "$arg1" "$@"
+ ;;
+ esac
+ fi
+ ;;
+
+ *)
+ echo "Unknown flash operation '$op'"
+ exit 1
+ ;;
+ esac
+}
+
+run_flash_ops() {
+ for flash_op in "${FLASH_OPS[@]}"; do
+ read var_op var_arg1 var_arg2 <<< "$flash_op"
+ run_flash_op "$var_op" "$var_arg1" "$var_arg2"
+ done
+}
+
+DRY_RUN=1
+run_flash_ops
+
+if [ -z "$ONLY_DRY_RUN" ]; then
+ DRY_RUN=0
+ run_flash_ops
+fi
+
+echo
+echo "Flashing completed."
+
+if [ -n "$FLASH_COMPLETED_MESSAGE" ]; then
+ echo -e "$FLASH_COMPLETED_MESSAGE"
+fi
|
[-]
[+]
|
Changed |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse/etc/bluez5/bluetooth/main.conf
^
|
@@ -14,17 +14,16 @@
# 0 = disable timer, i.e. stay discoverable forever
DiscoverableTimeout = 0
+# Always allow pairing even if there are no agent registered
+# Possible values: true, false
+# Default: false
+#AlwaysPairable = false
+
# How long to stay in pairable mode before going back to non-discoverable
# The value is in seconds. Default is 0.
# 0 = disable timer, i.e. stay pairable forever
PairableTimeout = 0
-# Automatic connection for bonded devices driven by platform/user events.
-# If a platform plugin uses this mechanism, automatic connections will be
-# enabled during the interval defined below. Initially, this feature
-# intends to be used to establish connections to ATT channels. Default is 60.
-AutoConnectTimeout = 60
-
# Use vendor id source (assigner), vendor, product and version information for
# DID profile support. The values are separated by ":" and assigner, VID, PID
# and version.
@@ -32,9 +31,11 @@
#DeviceID = bluetooth:1234:5678:abcd
# Do reverse service discovery for previously unknown devices that connect to
-# us. This option is really only needed for qualification since the BITE tester
-# doesn't like us doing reverse SDP for some test cases (though there could in
-# theory be other useful purposes for this too). Defaults to 'true'.
+# us. For BR/EDR this option is really only needed for qualification since the
+# BITE tester doesn't like us doing reverse SDP for some test cases, for LE
+# this disables the GATT client functionally so it can be used in system which
+# can only operate as peripheral.
+# Defaults to 'true'.
ReverseServiceDiscovery = true
# Enable name resolving after inquiry. Set it to 'false' if you don't need
@@ -72,6 +73,11 @@
# Defaults to "off"
# Privacy = off
+# Specify the policy to the JUST-WORKS repairing initiated by peer
+# Possible values: "never", "confirm", "always"
+# Defaults to "never"
+#JustWorksRepairing = never
+
[GATT]
# GATT attribute cache.
# Possible values:
@@ -84,6 +90,21 @@
# Default: always
#Cache = always
+# Minimum required Encryption Key Size for accessing secured characteristics.
+# Possible values: 0 and 7-16. 0 means don't care.
+# Defaults to 0
+#KeySize = 0
+
+# Exchange MTU size.
+# Possible values: 23-517
+# Defaults to 517
+#ExchangeMTU = 517
+
+# Number of ATT channels
+# Possible values: 1-5 (1 disables EATT)
+# Default to 3
+#Channels = 3
+
[Policy]
#
# The ReconnectUUIDs defines the set of remote services that should try
|
[-]
[+]
|
Changed |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse/etc/pulse/arm_droid_default.pa
^
|
@@ -52,7 +52,7 @@
.endif
load-module module-meego-parameters cache=1 directory=/var/lib/nemo-pulseaudio-parameters use_voice=false
-load-module module-meego-mainvolume virtual_stream=true
+load-module module-meego-mainvolume virtual_stream=true unmute_delay=600
### Automatically restore the volume of streams
# load configuration based on bluez version
@@ -130,7 +130,8 @@
load-module module-dbus-protocol
.endif
-### Move orphan streams to placeholder sinks or sources so that playback doesn't get
-### interrupted. Policy enforcement module then moves the streams to new appropriate
-### sinks or sources.
-load-module module-rescue-streams sink_name=sink.null source_name=source.null
+### Set default sink and source to sink.null and source.null, respectively. PulseAudio default
+### sink/source handling will move orphaned sink-inputs and source-outputs to default ones.
+### Policy enforcement module then moves the streams to new appropriate sinks or sources.
+set-default-sink sink.null
+set-default-source source.null
|
[-]
[+]
|
Changed |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse/etc/zypp/systemCheck.d/ha.check
^
|
@@ -5,3 +5,4 @@
requires:libhybris-libEGL
requires:libhybris-libGLESv2
requires:libhybris-libwayland-egl
+requires:patterns-sailfish-core-device
|
[-]
[+]
|
Changed |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse/lib/udev/rules.d/998-droid-system.rules
^
|
@@ -34,21 +34,21 @@
# be). If android-init doesn't create the bootdevice symlink and there is no
# androidboot.bootdevice on the cmdline, then the bootdevice symlink is not
# required.
-IMPORT{cmdline}="bootdevice"
+IMPORT{cmdline}="androidboot.bootdevice"
# Unfortunately we cannot compare two variables, therefore use a workaround
# with a file.
-ENV{bootdevice}!="", RUN+="/bin/touch /tmp/udev-$env{bootdevice}"
-SUBSYSTEM=="platform", KERNEL!="", DEVPATH=="/devices/platform/*", DEVPATH!="/devices/platform/*/*/*", DEVPATH=="/devices/platform/*/*", TEST=="/tmp/udev-$env{PLATFORM_DEVICE}", RUN+="/bin/mkdir -p /dev/block/platform/$env{PLATFORM_FOLDER}/$env{bootdevice}"
-SUBSYSTEM=="platform", KERNEL!="", DEVPATH=="/devices/platform/*", DEVPATH!="/devices/platform/*/*/*", DEVPATH=="/devices/platform/*/*", TEST=="/tmp/udev-$env{PLATFORM_DEVICE}", RUN+="/bin/ln -s /dev/block/platform/$env{PLATFORM_FOLDER}/$env{bootdevice} /dev/block/bootdevice"
-SUBSYSTEM=="platform", KERNEL!="", DEVPATH!="/devices/platform/*", DEVPATH!="/devices/*/*/*", DEVPATH=="/devices/*/*", TEST=="/tmp/udev-$env{PLATFORM_DEVICE}", RUN+="/bin/mkdir -p /dev/block/platform/$env{PLATFORM_FOLDER}/$env{bootdevice}"
-SUBSYSTEM=="platform", KERNEL!="", DEVPATH!="/devices/platform/*", DEVPATH!="/devices/*/*/*", DEVPATH=="/devices/*/*", TEST=="/tmp/udev-$env{PLATFORM_DEVICE}", RUN+="/bin/ln -s /dev/block/platform/$env{PLATFORM_FOLDER}/$env{bootdevice} /dev/block/bootdevice"
+ENV{androidboot.bootdevice}!="", RUN+="/bin/touch /tmp/udev-$env{androidboot.bootdevice}"
+SUBSYSTEM=="platform", KERNEL!="", DEVPATH=="/devices/platform/*", DEVPATH!="/devices/platform/*/*/*", DEVPATH=="/devices/platform/*/*", TEST=="/tmp/udev-$env{PLATFORM_DEVICE}", RUN+="/bin/mkdir -p /dev/block/platform/$env{PLATFORM_FOLDER}/$env{androidboot.bootdevice}"
+SUBSYSTEM=="platform", KERNEL!="", DEVPATH=="/devices/platform/*", DEVPATH!="/devices/platform/*/*/*", DEVPATH=="/devices/platform/*/*", TEST=="/tmp/udev-$env{PLATFORM_DEVICE}", RUN+="/bin/ln -s /dev/block/platform/$env{PLATFORM_FOLDER}/$env{androidboot.bootdevice} /dev/block/bootdevice"
+SUBSYSTEM=="platform", KERNEL!="", DEVPATH!="/devices/platform/*", DEVPATH!="/devices/*/*/*", DEVPATH=="/devices/*/*", TEST=="/tmp/udev-$env{PLATFORM_DEVICE}", RUN+="/bin/mkdir -p /dev/block/platform/$env{PLATFORM_FOLDER}/$env{androidboot.bootdevice}"
+SUBSYSTEM=="platform", KERNEL!="", DEVPATH!="/devices/platform/*", DEVPATH!="/devices/*/*/*", DEVPATH=="/devices/*/*", TEST=="/tmp/udev-$env{PLATFORM_DEVICE}", RUN+="/bin/ln -s /dev/block/platform/$env{PLATFORM_FOLDER}/$env{androidboot.bootdevice} /dev/block/bootdevice"
# On certain devices the path is .../$PLATFORM_FOLDER/$PLATFORM_DEVICE/...,
# but on others there is no $PLATFORM_DEVICE subdirectory, or in other words,
# PLATFORM_FOLDER=platform device, PLATFORM_DEVICE=empty string. (1).
-SUBSYSTEM=="platform", KERNEL!="", DEVPATH=="/devices/platform/*", DEVPATH!="/devices/platform/*/*", DEVPATH=="/devices/platform/*", TEST=="/tmp/udev-$env{PLATFORM_FOLDER}", RUN+="/bin/mkdir -p /dev/block/platform/$env{bootdevice}"
-SUBSYSTEM=="platform", KERNEL!="", DEVPATH=="/devices/platform/*", DEVPATH!="/devices/platform/*/*", DEVPATH=="/devices/platform/*", TEST=="/tmp/udev-$env{PLATFORM_FOLDER}", RUN+="/bin/ln -s /dev/block/platform/$env{bootdevice} /dev/block/bootdevice"
-SUBSYSTEM=="platform", KERNEL!="", DEVPATH!="/devices/platform/*", DEVPATH!="/devices/*/*", DEVPATH=="/devices/*", TEST=="/tmp/udev-$env{PLATFORM_FOLDER}", RUN+="/bin/mkdir -p /dev/block/platform/$env{bootdevice}"
-SUBSYSTEM=="platform", KERNEL!="", DEVPATH!="/devices/platform/*", DEVPATH!="/devices/*/*", DEVPATH=="/devices/*", TEST=="/tmp/udev-$env{PLATFORM_FOLDER}", RUN+="/bin/ln -s /dev/block/platform/$env{bootdevice} /dev/block/bootdevice"
+SUBSYSTEM=="platform", KERNEL!="", DEVPATH=="/devices/platform/*", DEVPATH!="/devices/platform/*/*", DEVPATH=="/devices/platform/*", TEST=="/tmp/udev-$env{PLATFORM_FOLDER}", RUN+="/bin/mkdir -p /dev/block/platform/$env{androidboot.bootdevice}"
+SUBSYSTEM=="platform", KERNEL!="", DEVPATH=="/devices/platform/*", DEVPATH!="/devices/platform/*/*", DEVPATH=="/devices/platform/*", TEST=="/tmp/udev-$env{PLATFORM_FOLDER}", RUN+="/bin/ln -s /dev/block/platform/$env{androidboot.bootdevice} /dev/block/bootdevice"
+SUBSYSTEM=="platform", KERNEL!="", DEVPATH!="/devices/platform/*", DEVPATH!="/devices/*/*", DEVPATH=="/devices/*", TEST=="/tmp/udev-$env{PLATFORM_FOLDER}", RUN+="/bin/mkdir -p /dev/block/platform/$env{androidboot.bootdevice}"
+SUBSYSTEM=="platform", KERNEL!="", DEVPATH!="/devices/platform/*", DEVPATH!="/devices/*/*", DEVPATH=="/devices/*", TEST=="/tmp/udev-$env{PLATFORM_FOLDER}", RUN+="/bin/ln -s /dev/block/platform/$env{androidboot.bootdevice} /dev/block/bootdevice"
# Create the partition symlinks.
ENV{ID_PART_ENTRY_SCHEME}=="gpt", ENV{ID_PART_ENTRY_NAME}=="?*", SYMLINK+="block/platform/$env{PLATFORM_FOLDER}/$env{PLATFORM_DEVICE}/by-name/$env{ID_PART_ENTRY_NAME}"
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse/usr/lib/systemd/system/actdead.target.wants/droid-hal-init.service
^
|
+(symlink to ../droid-hal-init.service)
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse/usr/lib/systemd/system/droid-hal-init.service
^
|
@@ -0,0 +1,28 @@
+[Unit]
+Description=droid-hal-init
+Wants=systemd-udev-settle.service
+After=local-fs.target systemd-udev-settle.service systemd-tmpfiles-setup.service
+Before=basic.target network.target bluetooth.service ofono.service sensorfwd.service
+DefaultDependencies=no
+Conflicts=shutdown.target
+# Lets not do Requires= here as that means that this service will restart which leads automatically
+# to broken state as android init can be only started once per boot. If something goes wrong
+# our best hope is that android init doesn't notice that and that the crashing party fixes itself :)
+
+[Service]
+Type=notify
+NotifyAccess=all
+ProtectSystem=full
+ProtectHome=true
+PrivateTmp=true
+ExecStartPre=-/bin/sh /usr/bin/droid/droid-hal-early-init.sh
+ExecStart=/bin/sh /usr/bin/droid/droid-hal-startup.sh
+ExecStop=/bin/sh /usr/bin/droid/droid-hal-shutdown.sh
+Restart=always
+# Lets make sure we don't block minutes in case of errors.
+TimeoutSec=15
+StartLimitInterval=60
+StartLimitBurst=2
+
+[Install]
+WantedBy=graphical.target
|
[-]
[+]
|
Changed |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse/usr/lib/systemd/system/droid-late-start.service
^
|
(renamed from droid-configs-device/sparse/lib/systemd/system/droid-late-start.service)
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse/usr/lib/systemd/system/graphical.target.wants/droid-hal-init.service
^
|
+(symlink to ../droid-hal-init.service)
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/droid-configs-device/sparse/usr/lib/systemd/system/graphical.target.wants/droid-late-start.service
^
|
+(symlink to ../droid-late-start.service)
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/patterns/patterns-sailfish-device-adaptation-vince.inc
^
|
@@ -0,0 +1,96 @@
+%package -n patterns-sailfish-device-adaptation-vince
+Summary: Jolla HW Adaptation vince
+Requires: droid-hal-vince
+Requires: droid-hal-vince-img-boot
+Requires: droid-hal-vince-kernel-modules
+Requires: droid-config-vince-sailfish
+Requires: droid-config-vince-pulseaudio-settings
+Requires: droid-config-vince-policy-settings
+Requires: droid-config-vince-preinit-plugin
+Requires: droid-config-vince-flashing
+Requires: droid-config-vince-bluez5
+Requires: droid-hal-version-vince
+Requires: droid-hal-vince-detritus
+#Requires: droid-biometry-fp
+
+# Hybris packages
+Requires: libhybris-libEGL
+Requires: libhybris-libGLESv2
+Requires: libhybris-libwayland-egl
+
+# Sensors
+Requires: hybris-libsensorfw-qt5-hal
+
+# Vibra
+Requires: ngfd-plugin-native-vibrator
+Requires: qt5-feedback-haptics-native-vibrator
+
+# Needed for /dev/touchscreen symlink
+Requires: qt5-plugin-generic-evdev
+
+Requires: pulseaudio-modules-droid
+Requires: pulseaudio-modules-droid-hidl
+Requires: audiosystem-passthrough-dummy-af
+
+# for audio recording to work:
+Requires: qt5-qtmultimedia-plugin-mediaservice-gstmediacapture
+
+# for ofono
+Requires: ofono-ril-plugin
+Conflicts: ofono-ril-binder-plugin
+
+# These need to be per-device due to differing backends (fbdev, eglfs, hwc, ..?)
+Requires: qt5-qtwayland-wayland_egl
+Requires: qt5-qpa-hwcomposer-plugin
+Requires: qtscenegraph-adaptation
+
+# For devices with droidmedia and gst-droid built, see HADK pdf for more information
+Requires: gstreamer1.0-droid
+Requires: gmp-droid
+
+# This is needed for notification LEDs
+Requires: mce-plugin-libhybris
+
+## USB mode controller
+# Enables mode selector upon plugging USB cable:
+Requires: usb-moded
+Requires: usb-moded-defaults-android
+Requires: usb-moded-developer-mode-android
+
+# Extra useful modes not officially supported:
+# might need some configuration to get working
+#Requires: usb-moded-mass-storage-android-config
+# working but careful with roaming!
+Requires: usb-moded-connection-sharing-android-config
+# android diag mode only usable for certain android tools
+#Requires: usb-moded-diag-mode-android
+
+# hammerhead, grouper, and maguro use this in scripts, so include for all
+Requires: rfkill
+
+# enable device lock and allow to select untrusted software
+Requires: jolla-devicelock-daemon-encsfa
+#Requires: sailfish-fpd-community
+#Requires: sailfish-devicelock-fpd
+
+# For GPS
+Requires: geoclue-provider-hybris-hal
+
+# For FM radio on some QCOM devices
+Requires: qt5-qtmultimedia-plugin-mediaservice-irisradio
+Requires: jolla-mediaplayer-radio
+
+# For torch
+Requires: jolla-settings-system-flashlight
+
+# Additional packages
+Requires: sd-utils
+
+Requires: sailfish-connman-plugin-suspend
+
+Requires: camera-settings-plugin
+
+%description -n patterns-sailfish-device-adaptation-vince
+Pattern with packages for vince HW Adaptation
+
+%files -n patterns-sailfish-device-adaptation-vince
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/patterns/patterns-sailfish-device-configuration-vince.inc
^
|
@@ -0,0 +1,52 @@
+%package -n patterns-sailfish-device-configuration-vince
+Summary: Jolla Configuration vince
+Requires: patterns-sailfish-device-configuration-common-vince
+Requires: patterns-sailfish-device-adaptation-vince
+
+# For devices with cellular modem. Those without one, please comment out:
+Requires: patterns-sailfish-cellular-apps
+
+# Early stages of porting benefit from these:
+Requires: patterns-sailfish-device-tools
+
+# jolla-rnd-device will enable usb-moded even when UI is not yet
+# brought up (useful during development, available since update10)
+Requires: jolla-rnd-device
+
+Requires: sailfish-content-graphics-z%{icon_res}
+
+# For multi-SIM devices
+Requires: jolla-settings-networking-multisim
+
+# Introduced starting Sailfish OS 2.0.4.x:
+# 3rd party accounts like Twitter, VK, cloud services, etc
+Requires: jolla-settings-accounts-extensions-3rd-party-all
+
+# For Mozilla location services (online)
+Requires: geoclue-provider-mlsdb
+
+# Sailfish OS CSD tool for hardware testing
+# needs some configuration to get all features working
+
+# Introduced starting Sailfish OS 2.1.1.26
+# Required for Jolla Store Access
+Requires: patterns-sailfish-consumer-generic
+
+# Devices with 2G or more memory should also include this booster
+# to improve camera startup times and the like
+Requires: mapplauncherd-booster-silica-qt5-media
+
+# some apps useful
+Requires: sailfish-office
+Requires: jolla-calculator
+Requires: jolla-email
+Requires: jolla-notes
+Requires: jolla-clock
+Requires: jolla-mediaplayer
+Requires: jolla-calendar
+Requires: sailfish-weather
+
+%description -n patterns-sailfish-device-configuration-vince
+Pattern with packages for vince configurations
+
+%files -n patterns-sailfish-device-configuration-vince
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/sparse/etc/sysconfig/pulseaudio
^
|
@@ -0,0 +1,2 @@
+CONFIG="-n --file=/etc/pulse/arm_droid_default.pa"
+AUDIOSYSTEM_PASSTHROUGH_IDX=18
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/sparse/usr/bin/droid/droid-get-bt-address.sh
^
|
@@ -0,0 +1,6 @@
+#!/bin/bash
+echo "droid-get-bt-address: Setting up bluetooth address"
+if [ ! -f /var/lib/bluetooth/board-address ];then
+ bt_mac=$(cat /data/misc/bluedroid/bt_config.conf|grep Address|awk '{print $NF}')
+ echo $bt_mac > /var/lib/bluetooth/board-address
+fi
|
[-]
[+]
|
Changed |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/sparse/usr/lib/systemd/system/android-links.service
^
|
(renamed from sparse/lib/systemd/system/android-links.service)
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/sparse/usr/lib/systemd/system/basic.target.wants/wlan-module-load.service
^
|
+(symlink to ../wlan-module-load.service)
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/sparse/usr/lib/systemd/system/bluetooth.service.wants/droid-fm-up.service
^
|
+(symlink to ../droid-fm-up.service)
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/sparse/usr/lib/systemd/system/bluetooth.service.wants/droid-hcismd-up.service
^
|
+(symlink to ../droid-hcismd-up.service)
|
[-]
[+]
|
Changed |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/sparse/usr/lib/systemd/system/droid-fm-up.service
^
|
(renamed from sparse/lib/systemd/system/droid-fm-up.service)
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/sparse/usr/lib/systemd/system/droid-hcismd-up.service
^
|
@@ -0,0 +1,13 @@
+[Unit]
+Description=Enable Bluetooth HCI over SMD
+DefaultDependencies=false
+After=local-fs.target
+
+[Service]
+Type=oneshot
+ExecStart=/bin/sh /usr/bin/droid/droid-get-bt-address.sh
+RemainAfterExit=yes
+TimeoutStartSec=60
+
+[Install]
+WantedBy=bluetooth.service
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/sparse/usr/lib/systemd/system/multi-user.target.wants/wlan-module-load.service
^
|
+(symlink to ../wlan-module-load.service)
|
[-]
[+]
|
Changed |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/sparse/usr/lib/systemd/system/wlan-module-load.service
^
|
(renamed from sparse/lib/systemd/system/wlan-module-load.service)
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/sparse/usr/libexec/droid-hybris/system/etc/init/vold.rc
^
|
+(symlink to /system/etc/init/vold.rc)
|
[-]
[+]
|
Added |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/sparse/usr/share/ssu/repos.d/20-repo.sailfishos.club.ini
^
|
@@ -0,0 +1,2 @@
+[release]
+adaptation=https://repo.sailfishos.club/%(release)/%(vendor)-%(adaptation)/%(arch)/
|
[-]
[+]
|
Changed |
_service:tar_git:droid-config-vince-0.5.2.tar.bz2/sparse/var/lib/environment/compositor/droid-hal-device.conf
^
|
@@ -1,8 +1,7 @@
-# Config for xaiomi/vince
+# Config for xiaomi/vince
EGL_PLATFORM=hwcomposer
QT_QPA_PLATFORM=hwcomposer
QPA_HWC_IDLE_TIME=5
QPA_HWC_BUFFER_COUNT=3
# Determine which node is your touchscreen by checking /dev/input/event*
-LIPSTICK_OPTIONS=-plugin evdevtouch -plugin evdevkeyboard:keymap=/usr/share/qt5/keymaps/droid.qmap
-
+LIPSTICK_OPTIONS=-plugin evdevtouch -plugin evdevmouse -plugin evdevkeyboard:keymap=/usr/share/qt5/keymaps/droid.qmap
|