From 44f250a5212ac029a1c6f320674061cb39561d9d Mon Sep 17 00:00:00 2001 From: "Graydon, Tracy" Date: Fri, 6 Sep 2013 18:04:55 -0700 Subject: [PATCH 1/1] Initial commit for Tizen 3.0 Panda IVI --- .gitignore | 1 + Makefile | 49 ++++++++++++ VERSION | 1 + ivi-repos.yaml | 7 ++ ivi.yaml | 32 ++++++++ ks/ivi-panda.ks | 174 +++++++++++++++++++++++++++++++++++++++++ ks/ivi-panda.yaml | 36 +++++++++ packaging/meta-panda.changes | 3 + packaging/meta-panda.spec | 30 +++++++ partitions/ivi-panda | 6 ++ patterns/ivi-adaptation.yaml | 6 ++ patterns/ivi-applications.yaml | 22 ++++++ patterns/ivi-middleware.yaml | 52 ++++++++++++ patterns/ivi-packaging.yaml | 6 ++ patterns/ivi-qa.yaml | 16 ++++ scripts/ivi-2.0-symlinks.post | 95 ++++++++++++++++++++++ scripts/panda.nochroot | 8 ++ 17 files changed, 544 insertions(+) create mode 100644 .gitignore create mode 100644 Makefile create mode 100644 VERSION create mode 100644 ivi-repos.yaml create mode 100644 ivi.yaml create mode 100644 ks/ivi-panda.ks create mode 100644 ks/ivi-panda.yaml create mode 100644 packaging/meta-panda.changes create mode 100644 packaging/meta-panda.spec create mode 100755 partitions/ivi-panda create mode 100644 patterns/ivi-adaptation.yaml create mode 100644 patterns/ivi-applications.yaml create mode 100644 patterns/ivi-middleware.yaml create mode 100644 patterns/ivi-packaging.yaml create mode 100644 patterns/ivi-qa.yaml create mode 100644 scripts/ivi-2.0-symlinks.post create mode 100644 scripts/panda.nochroot diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..53752db --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +output diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..6ce6539 --- /dev/null +++ b/Makefile @@ -0,0 +1,49 @@ +# ex: set tabstop=4 noexpandtab: +VERSION = $(shell cat VERSION) +NAME=meta-ivi +TAGVER = $(shell cat VERSION | sed -e "s/\([0-9\.]*\).*/\1/") +DESTDIR= +ARCH=i586 + +ifeq ($(VERSION), $(TAGVER)) + TAG = $(TAGVER) +else + TAG = "HEAD" +endif + +all: + +install: + install -d ${DESTDIR}/usr/share/package-groups/ivi + install -d ${DESTDIR}/usr/share/image-configurations/ivi/configs + install -d ${DESTDIR}/usr/share/image-configurations/ivi/scripts + install -d ${DESTDIR}/usr/share/image-configurations/ivi/partitions + install -m 644 patterns/*.yaml ${DESTDIR}/usr/share/package-groups/ivi + install -m 644 ivi.yaml ${DESTDIR}/usr/share/image-configurations/ivi + install -m 644 ivi-repos.yaml ${DESTDIR}/usr/share/image-configurations/ivi + install -m 644 ks/*.yaml ${DESTDIR}/usr/share/image-configurations/ivi/configs + install -D partitions/* ${DESTDIR}/usr/share/image-configurations/ivi/partitions + install -D scripts/* ${DESTDIR}/usr/share/image-configurations/ivi/scripts + +test: + kickstarter -c ivi.yaml -r ivi-repos.yaml -e ks/ +tag: + git tag -a $(VERSION) -m "$(VERSION)" + git push --tags + +changelog: + python ./scripts/gitlog2changelog.py + + +dist-bz2: + git archive --format=tar --prefix=$(NAME)-$(VERSION)/ $(TAG) | \ + bzip2 > $(NAME)-$(VERSION).tar.bz2 + +dist-gz: + git archive --format=tar --prefix=$(NAME)-$(VERSION)/ $(TAG) | \ + gzip > $(NAME)-$(VERSION).tar.gz + +dist: dist-bz2 + +clean: + rm -rf patterns.xml INDEX.xml group.xml *.xml diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..5325a8d --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +001 diff --git a/ivi-repos.yaml b/ivi-repos.yaml new file mode 100644 index 0000000..d37b7c5 --- /dev/null +++ b/ivi-repos.yaml @@ -0,0 +1,7 @@ +Repositories: + - Name: ivi-panda + Url: http://download.tizen.org/snapshots/tizen/ivi-panda/@BUILD_ID@/repos/ivi-panda/@ARCH@/packages/ + Options: --ssl_verify=no + - Name: ivi-panda-debug + Url: http://download.tizen.org/snapshots/tizen/ivi-panda/@BUILD_ID@/repos/ivi-panda/@ARCH@/debug/ + Options: --ssl_verify=no diff --git a/ivi.yaml b/ivi.yaml new file mode 100644 index 0000000..35aa0d4 --- /dev/null +++ b/ivi.yaml @@ -0,0 +1,32 @@ +Default: + Baseline: tizen-3.0 + Active: True + Mic2Options: -f raw --fstab=uuid --copy-kernel --compress-disk-image=bz2 --generate-bmap + Architecture: armv7l + Part: ivi-panda + Language: en_US.UTF-8 + Keyboard: us + Timezone: America/Los_Angeles + RootPass: tizen + DefaultUser: tizen + DefaultUserPass: tizen + BootLoader: True + BootloaderAppend: "rootwait rootfstype=ext4" + BootloaderTimeout: 0 + BootloaderOptions: "--ptable=gpt" + StartX: False + Desktop: None + Repos: + - ivi-panda + SaveRepos: False + UserGroups: "audio,video" + Groups: + - Base System + - IVI Adaptation + - IVI Packaging + PostScripts: + - base-general + - rpm + NoChrootScripts: + - buildname + diff --git a/ks/ivi-panda.ks b/ks/ivi-panda.ks new file mode 100644 index 0000000..f66658e --- /dev/null +++ b/ks/ivi-panda.ks @@ -0,0 +1,174 @@ +# -*-mic2-options-*- -f loop --pack-to=@NAME@.tar.gz --runtime=native -*-mic2-options-*- + +# +# Do not Edit! Generated by: +# kickstarter.py +# + +lang en_US.UTF-8 +keyboard us +timezone --utc America/Los_Angeles +# ROOT fs partition +part / --size=3000 --ondisk mmcblk0p --fstype=ext4 --label=platform +# DATA partition +part /opt/ --size=3000 --ondisk mmcblk0p --fstype=ext4 --label=data +# UMS partition +part /opt/usr/ --size=3000 --ondisk mmcblk0p --fstype=ext4 --label=ums + +rootpw tizen +bootloader --timeout=0 --append="rootdelay=5" + +desktop --autologinuser=root +user --name root --groups audio,video --password '' + +repo --name=Tizen-base --baseurl=https://download.tizen.org/snapshots/2.0/ivi-panda/@BUILD_ID@/repos/base/armv7l/packages/ --ssl_verify=no +repo --name=Tizen-ivi --baseurl=https://download.tizen.org/snapshots/2.0/ivi-panda/@BUILD_ID@/repos/ivi-panda/armv7l/packages/ --ssl_verify=no + +%packages + +@common +@appscommon +@appstargetsdk +@osp +@trats + + +%end + +%prepackages +eglibc +systemd +busybox +libacl +libcap +dbus-libs +libgcc +libudev +libattr +default-files-tizen +openssl +libprivilege-control +libprivilege-control-conf +security-server +libdlog +libsecurity-server-client +sqlite +tzdata-slp +vconf +Tizen-coreutils +systemd-bootmode +%end + + +%post +echo 'kickstart post script start' +if [ -d /etc/init.d ]; then + cp /etc/init.d/* /etc/rc.d/init.d/ -rdf +fi +rm -rf /etc/init.d* +ln -sf /etc/rc.d/init.d /etc/init.d + +rm -rf /etc/localtime +ln -sf /opt/etc/localtime /etc/localtime +#rm -rf /usr/share/zoneinfo +#ln -sf /opt/share/zoneinfo /usr/share/zoneinfo + +ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N "" +ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N "" +ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N "" + +pkg_initdb + +INITDB=1 ail_initdb +/opt/apps/com.samsung.menu-screen/bin/menuscreen_initdb + +# ims-service domain setting +RESULT=`grep "192.168.0.163 config.45001.rcse" /etc/hosts` +if [ -z "$RESULT" ]; then + echo "Set domain for auto configuration" + echo "192.168.0.163 config.45001.rcse" >> /etc/hosts +else + echo "Already setted domain for test auto configuration" +fi +# ims-service domain setting + +cat > /usr/bin/press << EOF +#!/bin/sh + +JUNK="SLP" + +[ "\$1" ] && TIMEOUT="\$1" || TIMEOUT="1" + +echo "Press return key to stop scripts" +read -t \$TIMEOUT JUNK +exit \$? +EOF +chmod +x /usr/bin/press +mkdir -p /opt/var/lib/dbus +mkdir -p /var/lib/alsa + +#pulseAudio patch +echo "PulseAudio Patch for Pandaboard" +chmod 777 /etc/pulse/* +chmod -R 777 /usr/share/pulseaudio/ +cp -arf /etc/pulse_bak/* /etc/pulse/ +cp -arf /usr/share/pulseaudio_bak/* /usr/share/pulseaudio/ +#patch End + +ln -s /opt/etc/X11/xkb /usr/share/X11 + +echo "UDEV_PERSISTENT_STORAGE=no" >> /etc/sysconfig/udev + +mv /usr/include/python2.7/pyconfig.h /usr/pyconfig.h +rm -rf /usr/include/* +mkdir -p /usr/include/python2.7 +mv /usr/pyconfig.h /usr/include/python2.7/pyconfig.h +rm -rf /usr/share/man +rm -rf /usr/share/doc + +ldconfig + +#mkdir -p /opt/var/lib/dbus +#mkdir -p /var/lib/alsa + +rm -f /var/lib/rpm/__db* +mv -f /var/lib/rpm /opt/var/lib/ +ln -sf /opt/var/lib/rpm /var/lib/rpm +rpmdb --rebuilddb + +if [ -e /usr/bin/build-backup-data.sh ]; then + /usr/bin/build-backup-data.sh +fi + +/etc/make_info_file.sh Ref.Device-210 Tizen_Ref.Device-210_`date +%Y%m%d.%H%M` + +ln -sf /etc/info.ini /opt/etc/info.ini +ln -sf /etc/info.ini /usr/etc/info.ini + +#Moving platform to arch specific posts, from common +echo -n 'armv7l-tizen-linux' > /etc/rpm/platform + +# invisi-cursor.post +# Config workaround for TIVI-515: Invisible cursor. +cd /opt/home/app/.e/e/config/samsung/ +eet -d e.cfg config > a.config +sed -ie s/'value "cursor_size" int: 1'/'value "cursor_size" int: 24'/ a.config +eet -e e.cfg config a.config 1 +chown app.app e.cfg +rm a.config + + +%end + +%post --nochroot +if [ -f /etc/device-sec-policy ]; then + cp -fp /etc/device-sec-policy $INSTALL_ROOT/etc/ +fi + +if [ -d /etc/smack/accesses.d ]; then + mkdir -p $INSTALL_ROOT/opt/etc/smack/accesses.d + cp -rfp /etc/smack/accesses.d/* $INSTALL_ROOT/opt/etc/smack/accesses.d/ +fi + + +%end diff --git a/ks/ivi-panda.yaml b/ks/ivi-panda.yaml new file mode 100644 index 0000000..fab4f7e --- /dev/null +++ b/ks/ivi-panda.yaml @@ -0,0 +1,36 @@ +Name: Tizen 2.0 IVI Panda +Schedule: "*" +Active: True +Platform: PANDA +Part: ivi-panda +FileName: ivi-panda +Groups: + - common + - appscommon + - appstargetsdk + - osp + - trats +PrePackages: + - eglibc + - systemd + - busybox + - libacl + - libcap + - dbus-libs + - libgcc + - libudev + - libattr + - default-files-tizen + - openssl + - libprivilege-control + - libprivilege-control-conf + - security-server + - libdlog + - libsecurity-server-client + - sqlite + - tzdata-slp + - vconf + - Tizen-coreutils + - systemd-bootmode +PostScripts: + - ivi-2.0-symlinks diff --git a/packaging/meta-panda.changes b/packaging/meta-panda.changes new file mode 100644 index 0000000..890ff62 --- /dev/null +++ b/packaging/meta-panda.changes @@ -0,0 +1,3 @@ +* Sat Sep 7 01:03:32 UTC 2013 - tracy.graydon@intel.com +- Initial commit for Tizen 3.0 Panda meta configs + diff --git a/packaging/meta-panda.spec b/packaging/meta-panda.spec new file mode 100644 index 0000000..1f6acb7 --- /dev/null +++ b/packaging/meta-panda.spec @@ -0,0 +1,30 @@ +Summary: IVI Panda Meta Data +Name: meta-panda +Version: 1 +Release: 1 +BuildArch: noarch +License: GPL-2.0 +Group: Base/Configuration +URL: http://www.tizen.org +Source: %{name}-%{version}.tar.bz2 + +%description +IVI Panda Meta Data. +Includes patterns and image configurations for IVI Pandaboard images. + +%prep +%setup -q + +%build +make + +%install +%make_install + + +%files +%attr(644,-,-) %{_datadir}/package-groups/ivi/*.yaml +%{_datadir}/image-configurations/ivi/*.yaml +%{_datadir}/image-configurations/ivi/configs/*.yaml +%{_datadir}/image-configurations/ivi/partitions +%{_datadir}/image-configurations/ivi/scripts diff --git a/partitions/ivi-panda b/partitions/ivi-panda new file mode 100755 index 0000000..f2dd3b5 --- /dev/null +++ b/partitions/ivi-panda @@ -0,0 +1,6 @@ +# ROOT fs partition +part / --size=3000 --ondisk mmcblk0p --fstype=ext4 --label=platform +# DATA partition +part /opt/ --size=3000 --ondisk mmcblk0p --fstype=ext4 --label=data +# UMS partition +part /opt/usr/ --size=3000 --ondisk mmcblk0p --fstype=ext4 --label=ums diff --git a/patterns/ivi-adaptation.yaml b/patterns/ivi-adaptation.yaml new file mode 100644 index 0000000..a190330 --- /dev/null +++ b/patterns/ivi-adaptation.yaml @@ -0,0 +1,6 @@ +Description: IVI Adaptation +Name: ivi-adaptation +Packages: + - dracut + - linux-firmware-ivi +Summary: IVI Adaptation diff --git a/patterns/ivi-applications.yaml b/patterns/ivi-applications.yaml new file mode 100644 index 0000000..dbb1184 --- /dev/null +++ b/patterns/ivi-applications.yaml @@ -0,0 +1,22 @@ +Description: IVI Applications +Name: ivi-applications +Packages: +- GhostCluster +- MediaPlayer +- ca-certificates +- ca-certificates-mozilla +- evolution-data-server +- festival +- pocketsphinx +- Settings +- sphinxbase +- webkit2-efl-test +Summary: IVI Applications + +#syncevolution +#syncevolution-ebook +#syncevolution-ecal +#syncevolution-pbap +#syncevolution-phone-config +#syncevolution-synccompare + diff --git a/patterns/ivi-middleware.yaml b/patterns/ivi-middleware.yaml new file mode 100644 index 0000000..f020d3e --- /dev/null +++ b/patterns/ivi-middleware.yaml @@ -0,0 +1,52 @@ +Description: IVI Middleware +Name: ivi-middleware +Packages: +- alsa-utils +- automotive-message-broker +- attr +- bluez +- csr-framework +- dleyna +- gdb-server +- gst-libav +- gst-plugins-bad +- gst-plugins-base +- gst-plugins-good +- gstreamer +- gstreamer-vaapi +- gssdp +- gupnp +- gupnp-av +- gupnp-dlna +- iptables +- lemolo +- libprivilege-control-conf +- libva-intel-driver +- media-data-sdk +- murphy +- neard +- neardal +- nfc-manager-neard +- nfc-common-lib-neard +- net-config +- obexd +- obexd-client +- obexd-server +- ofono +- openavb +- pulseaudio +- pulseaudio-config +- pulseaudio-locale +- pulseaudio-module-bluetooth +- pulseaudio-module-murphy-ivi +- pulseaudio-utils +- rygel +- sdbd +- smartdevicelink +- smartdevicelink-sample-hmi +- which +- wpa_supplicant +- wrt +- wrt-installer +- wrt-plugins-tizen +Summary: IVI Middleware diff --git a/patterns/ivi-packaging.yaml b/patterns/ivi-packaging.yaml new file mode 100644 index 0000000..1939b39 --- /dev/null +++ b/patterns/ivi-packaging.yaml @@ -0,0 +1,6 @@ +Description: IVI Packaging +Name: ivi-packaging +Packages: +- zypper +- yum +Summary: IVI Packaging diff --git a/patterns/ivi-qa.yaml b/patterns/ivi-qa.yaml new file mode 100644 index 0000000..f5b5c59 --- /dev/null +++ b/patterns/ivi-qa.yaml @@ -0,0 +1,16 @@ +Description: IVI QA Tools +Name: ivi-qa +Packages: +- bluez-test +- connman-test +- dbus-python +- dlogutil +- eet-tools +- gdb +- gstreamer-utils +- neard-test +- ofono-test +- python-xml +- wget +- zypper +Summary: IVI QA Tools diff --git a/scripts/ivi-2.0-symlinks.post b/scripts/ivi-2.0-symlinks.post new file mode 100644 index 0000000..19b0187 --- /dev/null +++ b/scripts/ivi-2.0-symlinks.post @@ -0,0 +1,95 @@ +echo 'kickstart post script start' +if [ -d /etc/init.d ]; then + cp /etc/init.d/* /etc/rc.d/init.d/ -rdf +fi +rm -rf /etc/init.d* +ln -sf /etc/rc.d/init.d /etc/init.d + +rm -rf /etc/localtime +ln -sf /opt/etc/localtime /etc/localtime +#rm -rf /usr/share/zoneinfo +#ln -sf /opt/share/zoneinfo /usr/share/zoneinfo + +ssh-keygen -t rsa1 -f /etc/ssh/ssh_host_key -N "" +ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N "" +ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N "" + +pkg_initdb + +INITDB=1 ail_initdb +/opt/apps/com.samsung.menu-screen/bin/menuscreen_initdb + +# ims-service domain setting +RESULT=`grep "192.168.0.163 config.45001.rcse" /etc/hosts` +if [ -z "$RESULT" ]; then + echo "Set domain for auto configuration" + echo "192.168.0.163 config.45001.rcse" >> /etc/hosts +else + echo "Already setted domain for test auto configuration" +fi +# ims-service domain setting + +cat > /usr/bin/press << EOF +#!/bin/sh + +JUNK="SLP" + +[ "\$1" ] && TIMEOUT="\$1" || TIMEOUT="1" + +echo "Press return key to stop scripts" +read -t \$TIMEOUT JUNK +exit \$? +EOF +chmod +x /usr/bin/press +mkdir -p /opt/var/lib/dbus +mkdir -p /var/lib/alsa + +#pulseAudio patch +echo "PulseAudio Patch for Pandaboard" +chmod 777 /etc/pulse/* +chmod -R 777 /usr/share/pulseaudio/ +cp -arf /etc/pulse_bak/* /etc/pulse/ +cp -arf /usr/share/pulseaudio_bak/* /usr/share/pulseaudio/ +#patch End + +ln -s /opt/etc/X11/xkb /usr/share/X11 + +echo "UDEV_PERSISTENT_STORAGE=no" >> /etc/sysconfig/udev + +mv /usr/include/python2.7/pyconfig.h /usr/pyconfig.h +rm -rf /usr/include/* +mkdir -p /usr/include/python2.7 +mv /usr/pyconfig.h /usr/include/python2.7/pyconfig.h +rm -rf /usr/share/man +rm -rf /usr/share/doc + +ldconfig + +#mkdir -p /opt/var/lib/dbus +#mkdir -p /var/lib/alsa + +rm -f /var/lib/rpm/__db* +mv -f /var/lib/rpm /opt/var/lib/ +ln -sf /opt/var/lib/rpm /var/lib/rpm +rpmdb --rebuilddb + +if [ -e /usr/bin/build-backup-data.sh ]; then + /usr/bin/build-backup-data.sh +fi + +/etc/make_info_file.sh Ref.Device-210 Tizen_Ref.Device-210_`date +%Y%m%d.%H%M` + +ln -sf /etc/info.ini /opt/etc/info.ini +ln -sf /etc/info.ini /usr/etc/info.ini + +#Moving platform to arch specific posts, from common +echo -n 'armv7l-tizen-linux' > /etc/rpm/platform + +# invisi-cursor.post +# Config workaround for TIVI-515: Invisible cursor. +cd /opt/home/app/.e/e/config/samsung/ +eet -d e.cfg config > a.config +sed -ie s/'value "cursor_size" int: 1'/'value "cursor_size" int: 24'/ a.config +eet -e e.cfg config a.config 1 +chown app.app e.cfg +rm a.config diff --git a/scripts/panda.nochroot b/scripts/panda.nochroot new file mode 100644 index 0000000..e4c9336 --- /dev/null +++ b/scripts/panda.nochroot @@ -0,0 +1,8 @@ +if [ -f /etc/device-sec-policy ]; then + cp -fp /etc/device-sec-policy $INSTALL_ROOT/etc/ +fi + +if [ -d /etc/smack/accesses.d ]; then + mkdir -p $INSTALL_ROOT/opt/etc/smack/accesses.d + cp -rfp /etc/smack/accesses.d/* $INSTALL_ROOT/opt/etc/smack/accesses.d/ +fi -- 2.7.4