Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@locusf
Created February 17, 2016 16:09
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save locusf/be8822905be10041e7ed to your computer and use it in GitHub Desktop.
Save locusf/be8822905be10041e7ed to your computer and use it in GitHub Desktop.
#version=DEVEL
user --groups=audio,video --name=nemo --password=nemo
# Keyboard layouts
keyboard us# Root password
rootpw --plaintext nemo
# System language
lang en_US.UTF-8
# Installation logging level
logging --level=info
# System timezone
timezone --isUtc UTC
# Default Desktop Settings
desktop --autologinuser=meego
repo --name="mer-core" --baseurl=http://repo.merproject.org/obs/mer-core:/armv7hl:/devel/Core_armv7hl/ --debuginfo --ssl_verify=yes
repo --name="nemo-ux" --baseurl=http://repo.merproject.org/obs/nemo:/devel:/ux/mer-core_armv7hl_devel/ --ssl_verify=yes
repo --name="nemo-apps" --baseurl=http://repo.merproject.org/obs/nemo:/devel:/apps/latest_armv7hl/ --ssl_verify=yes
repo --name="hammerhead" --baseurl=http://repo.merproject.org/obs/nemo:/devel:/hw:/lge:/hammerhead/sailfish_latest_armv7hl/
%packages
#@jolla-hw-adaptation-hammerhead
#PackageKit-Qt5
#PackageKit-glib
#PackageKit-zypp
#PackageKit
alsa-lib
attr
augeas-libs
basesystem
bash
bluez-configs-mer
bluez-libs
bluez
boardname
boost-filesystem
boost-system
#buteo-mtp-qt5-sync-plugin
#buteo-syncfw-qt5
bzip2-libs
bzip2
ca-certificates
cairo
ce-backgrounds
check
cjkuni-fonts
commhistory-daemon
connman-qt5-declarative
connman-qt5
connman-test
connman
contactsd
#contextkit-plugin-kbslider
#contextkit-plugin-mce
#contextkit-plugin-power-bme
#contextkit
cor
coreutils
crda
curl
db4-utils
db4
dbus-glib
dbus-libs
dbus-python
#dbus-x11
dbus
deltarpm
desktop-file-utils
diffutils
droid-sans-fonts
droid-sans-mono-fonts
droid-serif-fonts
dsme
e2fsprogs-libs
e2fsprogs
elfutils-libelf
exempi
expat
farstream
fbset
file-libs
file
filesystem
findutils
fingerterm
flac
fontconfig
fontpackages-filesystem
freetype
fuse-libs
fuse
gawk
gconf
gdb
gdbm
giflib
glib-networking
glib2
glibc-common
glibc
gmime
gnupg2
gnutls
google-opensans-fonts
grep
gst-plugins-bad-free
gst-plugins-base
gst-plugins-good
gstreamer
gzip
hwdata
info
iotop
iproute
iptables
iputils
iw
json-c
kbd
kcalcore-qt5
kmod-libs
kmod
lcms-libs
lcms
libICE
libSM
libX11
libXau
libXaw
libXdamage
libXext
libXfixes
libXft
libXi
libXmu
libXpm
libXrender
libXt
libXtst
libXv
libaccounts-glib-tools
libaccounts-glib
libaccounts-qt5
libacl
libarchive
libasyncns
libattr
libblkid
libcanberra
libcap
libcom_err
libcommhistory-qt5-declarative
libcommhistory-qt5-tools
libcommhistory-qt5
libcontacts-qt5
libcontentaction-qt5
libcreds3
libcurl
libdbus-qeventloop-qt5
libdrm
libdsme
libenca-libenca0
libenca
libsmack
liberation-fonts-common
liberation-mono-fonts
liberation-sans-fonts
liberation-serif-fonts
libexif
libffi
libgcc
libgcrypt
libgpg-error
libgsf
libgudev1
libical
libicu
libidn
libiodata-qt5
libiphb
libiptcdata
libjpeg-turbo
libksba
liblua
libmlocale-qt5
libngf-qt5
libnice
libnl
libogg
libpng
libmeegotouchevents-qt5
libngf-client
libqmfclient1-qt5
libqmfmessageserver1-qt5
libqofono-qt5
libqt5sparql-tracker-direct
libqt5sparql
libqtwebkit5-widgets
libqtwebkit5
libquillmetadata-qt5
libresource
libresourceqt-qt5
libsailfishkeyprovider
libshadowutils
libsignon-glib
libsignon-qt5
libsndfile
libsolv-tools
libsolv0
libsoup
libss
libstdc++
libtasn1
libtheora
libtiff
libtool-ltdl
libtrace
#libudev
libusb
libusb1
libuser
libutempter
libuuid
libvisual
libvorbis
libxcb
libxkbcommon
libxkbfile
libxml2
libxslt
libzypp
lipstick-glacier-home-qt5
#lipstick-qt5-tools-ui
lipstick-qt5-tools
lipstick-qt5
lsb-release
lsof
lynx
maliit-framework-wayland-inputcontext
maliit-framework-wayland
maliit-plugins
mapplauncherd-booster-qtcomponents-qt5
mapplauncherd-qt5
mapplauncherd
mce-tools
mce
mer-gfx-tests
mer-release
mkcal-qt5
mlite-qt5
mobile-broadband-provider-info
multi_c_rehash
nano
ncurses-base
ncurses-libs
ncurses
#nemo-configs-connman
#nemo-firstsession
nemo-mobile-session-common
nemo-mobile-session-wayland
nemo-qml-plugin-accounts-qt5
#nemo-qml-plugin-alarms-qt5
nemo-qml-plugin-configuration-qt5
nemo-qml-plugin-contacts-qt5-tools
nemo-qml-plugin-contacts-qt5
nemo-qml-plugin-dbus-qt5
#nemo-qml-plugin-email-qt5
#nemo-qml-plugin-folderlistmodel
nemo-qml-plugin-messages-internal-qt5
nemo-qml-plugin-notifications-qt5
nemo-qml-plugin-signon-qt5
nemo-qml-plugin-systemsettings
nemo-qml-plugin-thumbnailer-qt5
nemo-qml-plugin-time-qt5
nemo-theme-glacier
net-tools
ngfd-settings-basic
ngfd
nspr
nss-softokn-freebl
nss-sysinit
nss
ofono-tests
ofono
ohm-configs-default
ohm-plugin-core
ohm
oneshot
openssh-clients
openssh-server
openssh
openssl-libs
orc
pacrunner
pam
pango
passwd
pcre
pixman
#plymouth-lite
polkit
poppler-glib
poppler
popt
prelink
procps
profiled-settings-default
profiled
psmisc
pth
pulseaudio-modules-nemo-common
#-5.0.16-10.1.Nemo.i486
pulseaudio-modules-nemo-mainvolume
pulseaudio-modules-nemo-music
pulseaudio-modules-nemo-parameters
pulseaudio-modules-nemo-record
pulseaudio-modules-nemo-stream-restore
pulseaudio-modules-nemo-voice
pulseaudio-policy-enforcement
pulseaudio
pygobject2
python-libs
python
qmlcalc
qmlcalendar
#qmlclock
#qmlcontacts
#qmlfilemuncher
qmlgallery
#qmlmail
qmlmaps
#qmlmessages
qmlmusicplayer
#qmlnotes-theme-blanco-extra
qmlnotes
qmlpackagemanager
qmlpinquery
qmlsettings-account-plugin-email
qmlsettings-account-plugin-jabber
qmlsettings
qmsystem-qt5
qt-components-qt5-gallery
qt-components-qt5
qt5-plugin-generic-evdev
qt5-plugin-imageformat-jpeg
qt5-plugin-platform-eglfs
qt5-plugin-platform-minimal
qt5-plugin-sqldriver-sqlite
qt5-qt3d
qt5-qtconcurrent
qt5-qtcore
qt5-qtdbus
qt5-qtdeclarative-import-localstorageplugin
qt5-qtdeclarative-import-location
qt5-qtdeclarative-import-multimedia
qt5-qtdeclarative-import-qtquick2plugin
qt5-qtdeclarative-import-window2
qt5-qtdeclarative-import-xmllistmodel
qt5-qtdeclarative-pim-organizer
qt5-qtdeclarative-qmlscene
qt5-qtdeclarative-qtquick
qt5-qtdeclarative
qt5-qtdocgallery
qt5-qtfeedback
qt5-qtgraphicaleffects
qt5-qtgui
qt5-qtlocation
qt5-qtmultimedia-gsttools
qt5-qtmultimedia-plugin-mediaservice-gstmediaplayer
qt5-qtmultimedia
qt5-qtnetwork
qt5-qtopengl
qt5-qtpim-contacts
qt5-qtpim-organizer
qt5-qtpim-versit
qt5-qtpim-versitorganizer
qt5-qtpositioning
qt5-qtprintsupport
qt5-qtquickcontrols-nemo-examples
qt5-qtquickcontrols-nemo
qt5-qtquickcontrols
qt5-qtsensors-plugin-sensorfw
qt5-qtsensors
qt5-qtserviceframework
qt5-qtsql
qt5-qtsvg-plugin-imageformat-svg
qt5-qtsvg
qt5-qtsysteminfo
qt5-qtwayland-wayland_egl-examples
qt5-qtwayland-wayland_egl
qt5-qtwebkit-uiprocess-launcher
qt5-qtwidgets
qt5-qtxml
qt5-qtxmlpatterns
qtcontacts-sqlite-qt5
quillimagefilter-qt5
readline
recode
rootfiles
rpm-libs
rpm
screen
sed
sensorfw-qt5-configs
sensorfw-qt5
setup
shadow-utils
shared-mime-info
signon-qt5
sound-theme-freedesktop
speex
sqlite
#ssu-vendor-data-nemo
ssu
statefs-contextkit-subscriber
#statefs-pp
statefs-qt5
statefs
##systemd-console-ttyS0
##systemd-sysv
systemd-config-mer
systemd-analyze
systemd-libs
systemd-user-session-targets
systemd
taglib
tar
telepathy-accounts-signon
telepathy-farstream
telepathy-glib
telepathy-mission-control
telepathy-qt5-farstream
telepathy-qt5
telepathy-ring
time
timed-qt5
tinycdb
tone-generator
totem-pl-parser
tracker-utils
tracker
tumbler
tzdata-timed
tzdata
unzip
usb-moded
usbutils
util-linux
v8
vim-common
vim-enhanced
vim-filesystem
vim-minimal
voicecall-qt5
voicecall-ui-reference
wayland
wget
wireless-regdb
wireless-tools
wpa_supplicant
xdg-user-dirs
xdg-utils
xkeyboard-config
xorg-x11-filesystem
xorg-x11-xkb-utils
xz-libs
xz
zlib
zypper
#libhybris
libhybris-libEGL
libhybris-libGLESv1
libhybris-libGLESv2
libhybris-libOpenCL
libhybris-libOpenVG
libhybris-libwayland-egl
libhybris-tests
libhybris-libvibrator
hybris-libsensorfw-qt5
qt5-plugin-generic-evdev
droid-hal-hammerhead
droid-hal-hammerhead-img-boot
droid-hal-hammerhead-kernel-modules
droid-config-hammerhead-sailfish
droid-config-hammerhead-pulseaudio-settings
droid-config-hammerhead-preinit-plugin
droid-hal-version-hammerhead
pulseaudio-modules-droid
qt5-qtwayland-wayland_egl
qt5-qpa-hwcomposer-plugin
qtscenegraph-adaptation
gstreamer1.0
gstreamer1.0-plugins-good
gstreamer1.0-plugins-base
gstreamer1.0-plugins-bad
nemo-gstreamer1.0-interfaces
gstreamer1.0-droid
mce-plugin-libhybris
usb-moded
usb-moded-defaults-android
usb-moded-developer-mode-android
usb-moded-pc-suite-mode-android
usb-moded-mass-storage-android-config
usb-moded-connection-sharing-android-config
usb-moded-diag-mode-android
#@nemo-mw
#@nemo-ux-wayland
#@nemo-apps-wayland
#@nemo-rnd-wayland
%end
%attachment
### Commands from /tmp/sandbox/usr/share/ssu/kickstart/attachment/hammerhead
/boot/hybris-boot.img
/boot/hybris-updater-script
/boot/hybris-updater-unpack.sh
/boot/update-binary
/etc/sailfish-release
%end
%pre
export SSU_RELEASE_TYPE=release
### begin 01_init
touch $INSTALL_ROOT/.bootstrap
### end 01_init
%end
%post
export SSU_RELEASE_TYPE=release
### begin 01_arch-hack
if [ "@ARCH@" == armv7hl ] || [ "@ARCH@" == armv7tnhl ]; then
# Without this line the rpm does not get the architecture right.
echo -n "@ARCH@-meego-linux" > /etc/rpm/platform
# Also libzypp has problems in autodetecting the architecture so we force tha as well.
# https://bugs.meego.com/show_bug.cgi?id=11484
echo "arch = @ARCH@" >> /etc/zypp/zypp.conf
fi
### end 01_arch-hack
### begin 01_rpm-rebuilddb
# Rebuild db using target's rpm
echo -n "Rebuilding db using target rpm.."
rm -f /var/lib/rpm/__db*
rpm --rebuilddb
echo "done"
### end 01_rpm-rebuilddb
### begin 50_oneshot
# exit boostrap mode
rm -f /.bootstrap
# export some important variables until there's a better solution
export LANG=en_US.UTF-8
export LC_COLLATE=en_US.UTF-8
export GSETTINGS_BACKEND=gconf
# run the oneshot triggers for root and first user uid
UID_MIN=$(grep "^UID_MIN" /etc/login.defs | tr -s " " | cut -d " " -f2)
DEVICEUSER=`getent passwd $UID_MIN | sed 's/:.*//'`
if [ -x /usr/bin/oneshot ]; then
su -c "/usr/bin/oneshot --mic"
su -c "/usr/bin/oneshot --mic" $DEVICEUSER
fi
### end 50_oneshot
### begin 60_ssu
if [ "$SSU_RELEASE_TYPE" = "rnd" ]; then
[ -n "@RNDRELEASE@" ] && ssu release -r @RNDRELEASE@
[ -n "@RNDFLAVOUR@" ] && ssu flavour @RNDFLAVOUR@
ssu mode 2
else
[ -n "@RELEASE@" ] && ssu release @RELEASE@
ssu mode 4
fi
### end 60_ssu
### begin 70_sdk-domain
export SSU_DOMAIN=@RNDFLAVOUR@
if [ "$SSU_RELEASE_TYPE" = "release" ] && [[ "$SSU_DOMAIN" = "public-sdk" ]];
then
ssu domain sailfish
fi
### end 70_sdk-domain
sed -i 's/at_console="true"/group="users"/g' /etc/dbus-1/system.d/*
%end
%post --nochroot
export SSU_RELEASE_TYPE=release
### begin 01_release
if [ -n "$IMG_NAME" ]; then
echo "BUILD: $IMG_NAME" >> $INSTALL_ROOT/etc/meego-release
fi
### end 01_release
%end
%pack
export SSU_RELEASE_TYPE=release
### begin package-droid-updater
pushd $IMG_OUT_DIR
DEVICE=hammerhead
# Locate rootfs tar.bz2 archive.
for filename in *.tar.bz2; do
GEN_IMG_BASE=$(basename $filename .tar.bz2)
done
if [ ! -e "$GEN_IMG_BASE.tar.bz2" ]; then
echo "No rootfs archive found, exiting ..."
exit 1
fi
IMG_SIZE=$(du -h $GEN_IMG_BASE.tar.bz2 | cut -f1)
# Output filenames
DST_IMG_BASE=nemo-mer-hammerhead-devel
DST_IMG=$DST_IMG_BASE.tar.bz2
# Copy boot image, updater scripts and updater binary into updater .zip tree.
mkdir -p updater/META-INF/com/google/android
mv update-binary updater/META-INF/com/google/android/update-binary
mv hybris-updater-script updater/META-INF/com/google/android/updater-script
mv hybris-updater-unpack.sh updater/updater-unpack.sh
mv hybris-boot.img updater/hybris-boot.img
# Temporarily move the rootfs into the updater directory
mv $GEN_IMG_BASE.tar.bz2 updater/$DST_IMG
# Update updater-script with image details.
sed -i -e "s %VERSION% $VERSION_ID g" -e "s %IMAGE_FILE% $DST_IMG g" -e "s %IMAGE_SIZE% $IMG_SIZE g" updater/META-INF/com/google/android/updater-script
# pack updater .zip
pushd updater
zip -r ../$DST_IMG_BASE.zip META-INF/com/google/android/update-binary META-INF/com/google/android/updater-script updater-unpack.sh hybris-boot.img $DST_IMG_BASE.ks $DST_IMG
popd # updater
# Move the rootfs back out of the updater directory
mv updater/$DST_IMG $GEN_IMG_BASE.tar.bz2
# Clean up updater .zip working directory.
rm -rf updater
popd # $IMG_OUT_DIR
### end package-droid-updater
%end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment