Nexus 5 upgrade

In on sailfish on nexus 5 on update you have error:

Код PHP:
  1. Error: nothing provides pattern:jolla-sailfish-applications needed by pattern:jolla-configuration-hammerhead-0.0.25+master.20160801104754.4.g2708c79-1.14.13.jolla.noarch
  2.  
You need:
Код BASH:
  1. ssu ar cup http://repo.merproject.org/obs/home:/mautz:/sfos-latest/sailfishos_2.2.1.18/
After that all will be well as i think :)

Кастомные интерфейсы в Офоно или как помяукать модемом - продолжение

Часть 4: Котики умею не только мяукать

Далее мы работаем с коммитом 1233c05f2ce201af2538e82ae7bf4f05f2201f15 изменения тут: https://github.com/neochapay/ofono-example-plugin/commit/1233c05f2ce201af2538e82ae7bf4f05f2201f15

Чтобы получить значение передаваемое через dbus нам чуть надо будет изменить функцию example_meow - теперь она выглядит так:
Код C:
  1. static DBusMessage *example_meow(DBusConnection *conn, DBusMessage *msg, void *data) {
  2. const char *talk; //переменная в которую мы сохраним то, что говорит котик
  3. //
  4. // Присваиваем сообщению содержимое
  5. // msg - сообщение которое которое нам присылает dbus
  6. // NULL - это callback это потом
  7. // DBUS_TYPE_STRING - тип сообщения, тут строка
  8. // talk - куда писать
  9. // DBUS_TYPE_INVALID - всё остальное неправильно
  10. dbus_message_get_args(msg, NULL, DBUS_TYPE_STRING, &talk, DBUS_TYPE_INVALID);
  11. // говорим в консоль
  12. ofono_info("Some cat say %s !", talk);
  13. return dbus_message_new_method_return(msg);
  14. }

Кастомные интерфейсы в Офоно или как помяукать модемом

Всем хорош Sailfish, но что делать, если Вам захочется помяукать модемом?

Кастомные интерфейсы в Офоно или как помяукать модемом

Ладно, далее, в этой статье, я расскажу как создать плагин для офоно, в нём создать кастомный dbus интерфейс и покажу как обрабатывать входные данные, добро пожаловать под кат.

Конфигурация ядра для Sailfish OS

Самые, как оказалось проблемы со сборкой Sailfish OS связаны с fixup-mountpoints и сборкой ядра. Ну чтож...давайте начнём с последнего. Инструкция по настройке ядра для Sailfish OS под катом

Конфигурация ядра для Sailfish OS

Обновил инструкцию HADK

Тут пришли обновления в HADK оказывается, а я их не исправил. Сейчас исправляю. Исправлений всего в принципе 2:
Теперь у нас SFOSSDK а не MER и появился sdk-assistant для установки песочниц.
Официальные инструкции тут:
https://sailfishos.org/wiki/Platform_SDK_Installation
https://sailfishos.org/wiki/Platform_SDK_Target_Installation

Ну и моя инструкция уже обновлена в соответствии с изменениями

Работа с контактами в Sailfish OS

Итак, если Вы забрели сюда после этой инструкции с хабра с вопросом: "А чавой это у меня не получается добавить контакт" - у меня для Вас хорошие новости! Сейчас получится!

Работа с контактами в Sailfish OS

Новый HADK 2.2 подвезли

Качать тут

Включение отладки ofono

Заходим на устройство по ssh, думаю как это сделать Вы знаете

Код BASH:
  1. DEVICE# devel-su
  2. DEVICE# vi /var/lib/environment/ofono/debug.conf
В новом файле пишите:
Код BASH:
  1. OFONO_DEBUG=-d
Кто не знает как пользоваться VI
1 - нажимаем кнопку i - переходим в режим редактирования
2 - пишем что нам нужно
3 - нажимаем Esc - переходим в режим команд
4 - набираем :wq - говорим Write и Quit

Перезапускаем ofono

Код BASH:
  1. DEVICE# systemctl restart ofono
Логи смотреть так:

Код BASH:
  1. DEVICE# journalctl -xf /usr/sbin/ofonod

Instructions to update nexus5 to latest glacierUX

CM LINK http://www.mediafire.com/file/970u3n4l9hybi22/cm13_release.zip
SF LINK http://www.mediafire.com/file/w4a0wkre59kue6s/sailfishos-hammerhead-release-2.1.2.3-build-0.4.zip

1 - Install CM and after install SFOS
2 - Enable developer mode
3 - Login to nemo over ssh
4 - devel-su
5 - setup root password

Код BASH:
  1. passwd
6 - add some repos
Код BASH:
  1. ssu ar adaptation-community-hammerhead http://repo.merproject.org/obs/home:/mautz:/sfos-latest/sailfishos/
  2. ssu ar mer-core http://repo.merproject.org/obs/home:/neochapay:/mer:/core/latest_armv7hl/
  3. ssu ar mer-qt http://repo.merproject.org/obs/home:/neochapay:/mer:/qt56/latest_armv7hl/
  4. ssu ar mer-mw http://repo.merproject.org/obs/home:/neochapay:/mer:/mw/latest_armv7hl/
  5. ssu ar nemo-ux http://repo.merproject.org/obs/home:/neochapay:/mer:/nemo-devel-ux/latest_armv7hl/
  6. ssu adapt-mer http://repo.merproject.org/obs/home:/neochapay:/hw:/lge:/hammerhead/mer_latest_armv7hl/
  7. ssu ar adapt-mer http://repo.merproject.org/obs/home:/neochapay:/hw:/lge:/hammerhead/mer_latest_armv7hl/
  8.  
7 - remove silica
Код BASH:
  1. zypper remove sailfishsilica-qt5
8 - install minimal GlacierUX
Код BASH:
  1. zypper in qt5-qtquickcontrols qt5-qtquickcontrols-nemo
  2. lipstick-glacier-home-qt5
9 - update all packages
Код BASH:
  1. zypper dup
10 - reboot

Обновить ревизии всех пакетов до последней на OBS

По моей ошибке все пакеты в моих репозиториях были на фиксированной ревизии и чуточку протухли. Пришлось обновлять. А так как пакетов 500+ решилось всё скриптом:

Код BASH:
  1. #!/bin/bash
  2.  
  3. PROJECT="home:neochapay:mer:core"
  4. PACKAGE_LIST=`osc ls $PROJECT`
  5.  
  6. for PACKAGE_NAME in $PACKAGE_LIST
  7. do
  8. echo " $PACKAGE_NAME"
  9. osc co $PROJECT/$PACKAGE_NAME
  10. cd $PROJECT/$PACKAGE_NAME
  11. cur_rev=$(cat _service | grep "param name="revision"" | cut -d> -f2 | cut -d< -f1)
  12. echo $cur_rev
  13. if [ -n $cur_rev ]
  14. then
  15. sed -i "s/$cur_rev//" _service
  16. osc ci -n
  17. fi
  18. cd ../../
  19. done
Немного конечно кривовато...но работает. Если нужно не до последнего релиза/тега обновлять, а прям до последнего коммита то sed -i "s/$cur_rev//" _service заменяйте на sed -i "s/$cur_rev/HEAD/" _service