# -*-mic2-options-*- -A armv7l -f loop --pack-to=@NAME@.tar.gz -*-mic2-options-*-

# 
# Do not Edit! Generated by:
# kickstarter.py
# 

lang en_US.UTF-8
keyboard us
timezone --utc Asia/Seoul
part / --fstype="ext4" --size=3500 --ondisk=mmcblk0 --label rootfs --fsoptions=defaults,noatime
part /opt --fstype="ext4" --size=512 --ondisk=mmcblk0 --label system-data --fsoptions=defaults,noatime
part /opt/usr --fstype="ext4" --size=3500 --ondisk=mmcblk0 --label user --fsoptions=defaults,noatime
part /mnt/initrd --size=14 --ondisk mmcblk0p --fstype=squashfs --label=ramdisk --extoptions="-b 1024 -O ^has_journal"
part /mnt/initrd-recovery --size=32 --ondisk mmcblk0p --fstype=ext4 --label=ramdisk-recovery --extoptions="-b 1024 -O ^has_journal"


rootpw tizen 
xconfig --startxonboot
bootloader  --timeout=3  --append="rw vga=current splash rootwait rootfstype=ext4 plymouth.enable=0"   --ptable=gpt --menus="install:Wipe and Install:systemd.unit=system-installer.service:test"

desktop --autologinuser=guest  
user --name guest  --groups audio,video --password 'tizen'


repo --name=unified-standard --baseurl=http://download.tizen.org/snapshots/tizen/unified/@BUILD_ID@/repos/standard/packages/ --ssl_verify=no
repo --name=base-standard --baseurl=http://download.tizen.org/snapshots/tizen/base/latest/repos/standard/packages/ --ssl_verify=no


%packages

# @ Generic Base
bash
connman
coreutils
default-ac-domains
e2fsprogs
filesystem
glibc-locale
gum-utils
kmod
kmod-compat
lrzsz
net-tools
pam
pam-locale
procps
psmisc
rpm
rpm-security-plugin
setup
shadow-utils-adm
systemd
tizen-release
tlm
tzdata
util-linux
wpa_supplicant
# @ TV Base
capi-base-utils
deviced
deviced-plugin-profile-tv
deviced-tools
dlogutil
fsck-msdos
libopenssl
libstorage
lzo
newfs-msdos
tizen-locale
tizen-release-profile_tv
tlm-config-common-singleseat
# @ TV Console Tools
curl
findutils
grep
gzip
iptables
tar
unzip
xz
zip
# @ TV Adaptation
system-plugin
# @ TV Wayland
libwayland-tbm-client
libwayland-tbm-server
# @ TV Middleware
SDL2
SDL2_ttf
account-common
account-manager
account-parser
activationd
amd
amd-mod-cynara-core
amd-mod-extractor
amd-mod-light-user
amd-mod-loader-manager
amd-mod-rua
amd-mod-screen-resolution
amd-mod-share
amd-mod-splash-screen
amd-mod-ui-core
amd-mod-watchdog
amd-mod-wayland-core
amd-mod-widget
app-defined-loader
app2sd
appcore-agent
appcore-widget
argos_watchdog
askuser-notification
askuser-notification-client
audit-trail
aurum
aurum-bootstrap
auth-fw
bind
boost-date-time
boost-regex
buxton2
cairo
calendar-service-profile_tv
capi-appfw-alarm
capi-appfw-app-common
capi-appfw-app-control
capi-appfw-component-manager
capi-appfw-event
capi-appfw-preference
capi-appfw-tizen-theme
capi-maps-service
capi-network-http
capi-network-stc
capi-privacy-privilege-manager
capi-system-info-tool
capi-system-media-key
capi-system-resource-monitor
capi-system-resource-plugin
capi-system-runtime-info
capi-system-sensor
capi-system-system-settings-util-lib
capi-vpnsvc
cert-svc
component-based-application
component-based-efl-widget
component-based-port
crash-worker
cryptsetup
cynara
data-control
dbus-tools
device-certificate-manager
device-policy-manager
drm-service-core-tizen
dummyasm
dumpsys
esd
esd-mod-cion
esd-mod-dbus-event
eventsystem
fido-asm
fido-client
fido_bt_roaming_agent
fido_silent
frame-broker
frame-provider
hal-api-common
hal-api-common-haltests
hal-api-device
hal-api-power
hal-api-sensor
hal-api-tbm
hal-api-tdm
heremaps-uc-launcher
iotcon
key-manager
key-manager-pam-plugin
klay
launchpad
launchpad-loader
libaccount-service
libaskuser-notification-common
libaudit-trail
libauth-fw-client
libauth-fw-client-admin
libcalendar-service
libcynara-creds-commons
libcynara-creds-dbus
libcynara-creds-gdbus
libcynara-creds-self
libcynara-creds-socket
libcynara-monitor
libdpm
libdumpsys-system
libeom
libhyphen
libjson-glib
libkey-manager-client
libkey-manager-common
libnss-security-manager
liboauth
libpass-resource-monitor
libscl-core-profile_common
libscreen_connector_launcher_service
libscreen_connector_provider
libscreen_connector_shared_widget_launch
libscreen_connector_watcher
libscreen_connector_watcher_evas
libsecurity-manager-client
libspeex
libwebappenc
libwidget_service
libwidget_viewer_dali
libwidget_viewer_evas
lottie-player
memps
multi-assistant
murphy
nghttp2
nsjail
ode-dummy-ksp
opentk
org.tizen.vc-engine-default
pass
pkgmgr-server
pkgmgr-server
pkgmgr-tool
privilege-checker
privilege-info
resourced-light
rive-tizen
rpc-port
sdbd
sdbd-profile_tv
security-config-profile_tv
security-license-manager
security-manager
security-privilege-manager
security-privilege-manager-extension-tv
sessiond
smartreply
smartreply-service
sqlite3
stc-iptables
stc-manager
stc-manager-plugin-appstatus
stc-manager-plugin-exception
stc-manager-plugin-procfs
storaged
storaged-module_block
storaged-module_storage
stt
svi-data-profile_common
system-plugin-feature-namespace
system-plugin-feature-session-bind
tayga
tcpdump
tef-libteec
thorvg
tizen-debug
tizen-theme-manager
toybox
toybox-symlinks-dhcp
toybox-symlinks-dhcpd
ttrace
tts-engine-rsc
tzsh
ui-gadget-1
vc-webview
vc-webview-js
vconf-internal-keys
vconf-internal-keys-config-profile_tv
voice-control
voice-control-elm
watch-holder
webapi-plugins-teec
xdelta3
yaca
# @ TV Applications
app-core-ui
app-installers
aul
aul-exec-checker-plugin
ca-certificates
data-provider-master
libpush
org.tizen.autofilld
org.tizen.default-dark-theme
org.tizen.default-light-theme
org.tizen.dpm-syspopup
org.tizen.heremaps-uc
org.tizen.inputmethod-setting
org.tizen.multi-assistant-service
org.tizen.screen-reader
org.tizen.screen-reader-extension-no-tapi
org.tizen.settings
org.tizen.simple-maps-tv
org.tizen.stt-engine-default
org.tizen.stt-engine-embedded
org.tizen.tts-engine-default
org.tizen.xahome
org.tizen.xamediahub
push-bin
tpk-backend
unified-backend
wgt-backend
# @ Generic Multimedia
GraphicsMagick-c++
alsa-utils
gst-plugins-bad
gst-plugins-base
gst-plugins-good
gstreamer
gstreamer-utils
pulseaudio
pulseaudio-module-bluetooth
pulseaudio-modules-tizen
pulseaudio-utils
# @ TV Multimedia
alure
capi-media-camera
capi-media-codec
capi-media-controller
capi-media-editor
capi-media-image-util
capi-media-metadata-editor
capi-media-metadata-extractor
capi-media-player
capi-media-player-utils
capi-media-recorder
capi-media-screen-mirroring
capi-media-sound-pool
capi-media-streamer
capi-media-streamrecorder
capi-media-thumbnail-util
capi-media-tone-player
capi-media-tool
capi-media-transporter
capi-media-transporter-tool
capi-media-vision
capi-media-webrtc
capi-mediademuxer
capi-mediamuxer
dcm-service
esplusplayer
freealut
gst-libav
gst-plugins-tizen
gst-plugins-ugly
gst-rtsp-server
inference-engine-armnn
inference-engine-interface-common
inference-engine-mlapi
inference-engine-opencv
inference-engine-tflite
libmm-camcorder
libmm-common
libmm-display
libmm-evas-renderer
libmm-fileinfo
libmm-imgp-gstcs
libmm-player
libmm-sound
libmm-streamrecorder
libmm-wfd
libtrackrenderer
mediacontroller
mmsvc-camera
mmsvc-player
mmsvc-recorder
mused
openal-soft
opencv
pulseaudio-modules-tizen
soundtouch
srt
taglib
training-engine-nntrainer
vision-source
vision-source-v4l2
zbar
zint
# @ Generic Desktop Applications
emotion
# @ TV Dali
dali2
dali2-adaptor
dali2-adaptor-profile_tv
dali2-csharp-binder
dali2-csharp-binder-profile_tv
dali2-csharp-binder-scene3d
dali2-extension
dali2-extension-camera-player-plugin
dali2-extension-color-controller-plugin
dali2-extension-key-extension
dali2-extension-rive-animation-view
dali2-extension-vector-animation-renderer-plugin
dali2-extension-video-player-plugin
dali2-extension-web-engine-chromium-plugin
dali2-extension-web-engine-lwe-plugin
dali2-scene3d
dali2-toolkit
dali2-toolkit-resources_1920x1080
vulkan-wsi-tizen
# @ TV EFL
at-spi2-core
capi-ui-efl-util
default-fonts-fc-sdk
default-fonts-sdk
e-mod-tizen-wl-textinput
ecore-buffer
efl-config
efl-extension
efl-locale
efl-misc-profile_tv
efl-modules-profile_tv
efl-theme-tizen-tv
elementary-theme
elementary-tools
libatk
libatk-bridge-2_0-0
libatspi0
typelib-1_0-Atspi-2_0
# @ TV Enlightenment
e-mod-tizen-devicemgr
e-mod-tizen-keyrouter
e-mod-tizen-processmgr
e-mod-tizen-wm-policy
e-tizen-data-profile_tv
enlightenment
# @ TV Input Framework
anthy
autofill-config-tv
capi-ui-autofill
capi-ui-autofill-common
capi-ui-autofill-manager
capi-ui-autofill-service
capi-ui-inputmethod
capi-ui-inputmethod-manager
ise-default
ise-default-profile_tv
ise-engine-anthy
ise-engine-default
ise-engine-hangul
ise-engine-loader
ise-engine-tables
ise-engine-tables-zh
isf
isf-config-tv
libhangul
libscl-ui
org.tizen.inputdelegator
org.tizen.inputdelegator-profile_tv
# @ TV Connectivity Framework Target
asp-manager
capi-network-asp
capi-network-connection
capi-network-inm
capi-network-mtp
capi-network-ua
capi-network-vine
capi-network-wifi
capi-network-wifi-aware
capi-network-wifi-manager
capi-network-wifi-manager-tool
clat
connman-extension-tv
hal-api-wifi
inm-manager
libbpf
libdns_sd
libmtp
libnet-client
libnl2
libnsd-dns-sd
libnsd-ssdp
libtfeature
mdnsresponder
mobileap-agent
mobileap-agent-extension-headed
mtp-initiator
nan-manager
net-config
net-config-profile_tv
ua-manager
ua-manager-plugins
ua-plugin-wifi-dummy
wifi-direct-manager
wifi-direct-manager-profile_tv
wifi-direct-plugin-wpasupplicant
# @ TV Web Framework
capi-web-url-download
chromium-efl
chromium-efl-squashfs
cordova-api
download-provider
libwebsockets
lwnode
webapi-plugins
webapi-plugins-profile_tv
wrtjs
# @ TV Bluetooth
bluetooth-frwk-core
bluetooth-frwk-plugin-headed
bluetooth-frwk-profile_tv
bluetooth-frwk-service
bluez
bluez-profile_tv
capi-network-bluetooth
hal-api-bluetooth
obexd
org.tizen.bt-syspopup
org.tizen.bt-syspopup-profile_common
# @ TV Telephony
libtcore
tel-plugin-database
tel-plugin-dbus_tapi
tel-plugin-manager
tel-plugin-packetservice
tel-plugin-packetservice-dbinit-profile_tv
tel-plugin-packetservice-profile_tv
tel-plugin-vconf
telephony-daemon
telephony-daemon-profile_tv
# @ TV dotNet
csapi-tizenfx-tv
dotnet-launcher
elm-sharp-theme-tv
keyutils
krb5
libkeyutils
libunwind
# @ TV dotNet Runtime
coreclr
coreclr-diagnostics
corefx-managed
corefx-native
crossgen2-mic
mscorlib
patchelf
# @ TV Machine Learning
capi-machine-learning-inference
capi-machine-learning-service
capi-machine-learning-training
mlops-agent
nnstreamer
nnstreamer-edge
nnstreamer-flatbuf
nnstreamer-nnfw
nnstreamer-protobuf
nnstreamer-tensorflow-lite
nnstreamer-tensorflow2-lite
nntrainer
# @ TV Adaptation RPI
alsa-ucm-data-rpi3
audio-hal-bcm2837
bluetooth-firmware-bcm-rpi3
coregl
dbus-libs-extension-kdbus
fm-data-rpi3
hal-backend-device-rpi
hal-backend-device-rpi4
hal-backend-tbm-vc4
hal-backend-tdm-vc4
initrd
initrd-flash
initrd-recovery
libgio-extension-kdbus
media-config-target-rpi3
mesa
model-config-rpi3-profile_tv
nnfw
org.tizen.webapp-addon-setting_tv
pass-hal-rpi
reboot-param-helper
resourced-config-tv
sensord-profile_tv
system-plugin-config-3parts
systemd-extension-kdbus
# Others



lightweight-web-engine-profile_tv

%end



%post
#!/bin/sh
echo "#################### generic-base.post ####################"

test ! -e /opt/var && mkdir -p /opt/var
test -d /var && cp -arf /var/* /opt/var/
rm -rf /var
ln -snf opt/var /var

test ! -e /opt/usr/home && mkdir -p /opt/usr/home
test -d /home && cp -arf /home/* /opt/usr/home/
rm -rf /home
ln -snf opt/usr/home /home

build_ts=$(date -u +%s)
build_date_local=$(date -u --date @$build_ts +%Y%m%d_%H%M%S)
build_date=$(echo @BUILD_DATE@ | sed -r -e "s/@BUILD_DATE[@]/$build_date_local/g")
build_time=$(date -u --date @$build_ts +%H:%M:%S)

sed -ri \
	-e 's|@BUILD_ID[@]|@BUILD_ID@|g' \
	-e "s|@BUILD_DATE[@]|$build_date|g" \
	-e "s|@BUILD_TIME[@]|$build_time|g" \
	-e "s|@BUILD_TS[@]|$build_ts|g" \
	/etc/tizen-build.conf

# setup systemd default target for user session
cat <<'EOF' >>/usr/lib/systemd/user/default.target
[Unit]
Description=User session default target
EOF
mkdir -p /usr/lib/systemd/user/default.target.wants

# sdx: fix smack labels on /var/log
chsmack -a '*' /var/log

# create appfw dirs inside homes
function generic_base_user_exists() {
	user=$1
	getent passwd | grep -q ^${user}:
}

function generic_base_user_home() {
	user=$1
	getent passwd | grep ^${user}: | cut -f6 -d':'
}

function generic_base_fix_user_homedir() {
	user=$1
	generic_base_user_exists $user || return 1

	homedir=$(generic_base_user_home $user)
	mkdir -p $homedir/apps_rw
	for appdir in desktop manifest dbspace; do
		mkdir -p $homedir/.applications/$appdir
	done
	find $homedir -type d -exec chsmack -a User {} \;
	chown -R $user:users $homedir
	return 0
}

# fix TC-320 for SDK
. /etc/tizen-build.conf
[ "${TZ_BUILD_WITH_EMULATOR}" == "1" ] && generic_base_fix_user_homedir developer

# Add info.ini for system-info CAPI (TC-2047)
/etc/make_info_file.sh

#!/bin/sh
echo "#################### generic-users.post ####################"

if ! generic_base_user_exists owner; then
        # By default GUM will create users in /opt/etc/passwd, which is
        # additional users database suitable for end-user created accounts.
        # However, the 'owner' user is shipped by Tizen system itself and
        # it's its default user.  Consequently, it should always be available
        # and thus, it should be added to /etc/passwd.
        conf=/etc/gumd/gumd.conf
        origf=${conf}.orig
        mv -v $conf $origf
        sed -e 's,^\(PASSWD_FILE\).*,\1=/etc/passwd,' -e 's,^\(SHADOW_FILE\).*,\1=/etc/shadow,' <$origf >$conf
        gum-utils --offline --add-user --username=owner --usertype=admin --usecret=""
        mv -v $origf $conf
fi



#!/bin/sh
echo "#################### generic-console-tools.post ####################"

# customize bash prompt
cat >/etc/profile.d/bash_prompt_custom.sh <<'EOF'
if [ "$PS1" ]; then

	function proml {
		# set a fancy prompt (overwrite the one in /etc/profile)
		local default="\[\e[0m\]"
		local usercol='\[\e[1;34m\]' # blue
		local hostcol='\[\e[1;32m\]' # green
		local pathcol='\[\e[1;33m\]' # yellow
		local gitcol='\[\e[1;31m\]' # light red
		local termcmd=''
		local _p="$";

		if [ "`id -u`" -eq 0 ]; then
			usercol='\[\e[1;31m\]'
			_p="#"
		fi

		PS1="${usercol}\u${default}@${hostcol}\h${default}:${pathcol}\w${default}${gitcol}${default}${_p} ${termcmd}"
	}

	proml

	function rcd () {
      [ "${1:0:1}" == "/" ] && { cd $1; } || { cd $(pwd -P)/$1; }
   }

	alias ll="ls -lZ"
	alias lr="ls -ltrZ"
	alias la="ls -alZ"

	function get_manifest () {
		rpm -qa --queryformat="%{name} %{Version} %{Release} %{VCS}\n" | sort
	}
fi
EOF


#!/bin/sh
echo "#################### generic-packaging.post ####################"

rm -rf /root/.zypp

# remove libzypp history
rm -rf /var/log/zypp

# was: rpm.post
rm -f /var/lib/rpm/__db*
rpmdb --rebuilddb


#!/bin/sh
echo "############### tv-packaging.post ################"


#!/bin/sh
echo "#################### generic-adaptation.post ####################"

# fix TIVI-2291
sed -ri "s/(^blacklist i8042.*$)/#fix from base-general.post \1/" /etc/modprobe.d/blacklist.conf


#!/bin/sh
echo "############### tv-adaptation.post ################"


#!/bin/sh
echo "############### tv-middleware.post ################"


#!/bin/sh
echo "#################### generic-multimedia.post ####################"


#!/bin/sh
echo "#################### generic-desktop-applications.post ####################"

# depends on generic-base functions
function generic_desktop_applications_fix_userhome() {
	user=$1

	generic_base_user_exists $user || return 1
	homedir=$(generic_base_user_home $user)

	echo "Fix app_info.db of $user"
	chown -R $user:users $homedir/.applications/dbspace/
}

# fix TC-320 for SDK
. /etc/tizen-build.conf
# Disable to run below line because this results in always failure, so it can be regarded as useless.
#[ "${TZ_BUILD_WITH_EMULATOR}" == "1" ] && generic_desktop_applications_fix_userhome developer


#!/bin/sh
echo "#################### tv-bluetooth.post ####################"


#!/bin/sh
echo "############### tv-user.post ################"

#for user in alice bob carol guest; do
# if ! generic_base_user_exists $user; then
#  gum-utils --offline --add-user --username="$user" --usertype=normal --usecret=tizen
# fi
#done


#!/bin/sh
echo "############### tv-license.post ################"

LICENSE_DIR=/usr/share/licenses
LICENSE_FILE=/usr/share/license.html
MD5_TEMP_FILE=/usr/share/temp_license_md5

if [[ -f $LICENSE_FILE ]]; then
	rm -f $LICENSE_FILE
fi

if [[ -f $MD5_TEMP_FILE ]]; then
	rm -f $MD5_TEMP_FILE
fi


cd $LICENSE_DIR
LICENSE_LIST=`ls */*`

for INPUT in $LICENSE_LIST; do
	if [[ -f $INPUT ]]; then
		PKG_NAME=`echo $INPUT|cut -d'/' -f1`
		echo `md5sum $INPUT` $PKG_NAME >> $MD5_TEMP_FILE
	fi
done

MD5_LIST=`cat $MD5_TEMP_FILE|awk '{print $1}'|sort -u`

echo "<html>" >> $LICENSE_FILE
echo "<head>" >> $LICENSE_FILE
echo "<meta name=\"viewport\" content=\"initial-scale=1.0\">" >> $LICENSE_FILE
echo "</head>" >> $LICENSE_FILE
echo "<body>" >> $LICENSE_FILE
echo "<xmp>" >> $LICENSE_FILE

for INPUT in $MD5_LIST; do
	PKG_LIST=`cat $MD5_TEMP_FILE|grep $INPUT|awk '{print $3}'`
	FILE_LIST=`cat $MD5_TEMP_FILE|grep $INPUT|awk '{print $2}'`
	PKG_FILE=`echo $FILE_LIST |awk '{print $1}'`

	echo "$PKG_LIST :" >> $LICENSE_FILE
	cat $PKG_FILE >> $LICENSE_FILE
	echo  >> $LICENSE_FILE
	echo  >> $LICENSE_FILE
	echo  >> $LICENSE_FILE
done

echo "</xmp>" >> $LICENSE_FILE
echo "</body>" >> $LICENSE_FILE
echo "</html>" >> $LICENSE_FILE

rm -rf $LICENSE_DIR/* $MD5_TEMP_FILE

#!/bin/sh
echo "#################### generic-security.post ####################"

if [ -e /usr/share/security-config/set_capability ]; then
	echo 'Give capabilities to daemons via set_capability from security-config package'
	/usr/share/security-config/set_capability
fi
if [ -e /opt/share/security-config/test/image_test.sh ]; then
	echo 'Run security-test'
	/opt/share/security-config/test/image_test.sh
fi

# 04-15-2019 : This is to create security-manager DB backup file.
security-manager-cmd -b
 

#!/bin/sh
echo "#################### generic-dbus-policychecker.post ####################"
if [ -x /usr/bin/dbuspolicy-checker ] ; then
	fail_cnt=0
	for f in /etc/dbus-1/system.d/*.conf /usr/share/dbus-1/system.d/*.conf; do
		echo
		echo "$0: Checking D-Bus policy file: $f"
		result=$(/usr/bin/dbuspolicy-checker "$f")
		fail=$(echo "$result" | grep FAILED | wc -l)
		echo "$result"
		if [ $fail -gt 0 ]; then
			echo "Found $fail Fails"
			echo "Remove conf file : mv $f $f.fail"
			mv "$f" "${f}.fail"
			fail_cnt=$(( ${fail_cnt} + 1 ))
		fi
	done
	if [ $fail_cnt -gt 0 ]; then
		echo "Error: MIC build exits due to failed cases on dbus policy checker.(${fail_cnt} errors)"
		exit 1
	fi

fi

#!/bin/sh
if [ -x /usr/bin/dbuspolicy-serializer ] ; then
	echo "#################### generic-dbus-policyserializer ####################"
	echo
	echo "$0: Serializing system.conf:"
	dbuspolicy-serializer --system
	echo "$0: Serializing session.conf:"
	dbuspolicy-serializer --session
fi


#!/bin/sh
echo "############### tv-dotnet-generate-ni.post ################"

# remove previous native image
dotnettool --ni-reset-system

# set the patchelf
export DOTNET_SYSTEM_GLOBALIZATION_INVARIANT=1
export MIC_CROSSGEN2_ENABLED=1

DOTNET_MIC_DIR=/opt/usr/dotnet/mic

chmod 755 /usr/bin/patchelf
chmod 755 $DOTNET_MIC_DIR/*

/usr/bin/patchelf --set-interpreter $DOTNET_MIC_DIR/ld-linux-x86-64.so.2 $DOTNET_MIC_DIR/crossgen2
/usr/bin/patchelf --set-rpath $DOTNET_MIC_DIR $DOTNET_MIC_DIR/crossgen2

for file in $( find $DOTNET_MIC_DIR -type f \( -name "*.so" -or -name "*.so.*" \) -not -name "*.dbg" -not -name "ld-*.so*" )
do
    /usr/bin/patchelf --set-rpath $DOTNET_MIC_DIR ${file}
done

# generate native image for system
dotnettool --ni-system --inputbubble

# generate native image for all app
dotnettool --ni-regen-all-app
dotnettool --tac-regen-all

# remove files and package related to dotnet used only in MIC
rm -rf $DOTNET_MIC_DIR
rpm -e patchelf
rpm -e crossgen2-mic


%end

%post --nochroot
# buildname.nochroot 
if [ -n "$IMG_NAME" ]; then
    echo "BUILD_ID=$IMG_NAME" >> $INSTALL_ROOT/etc/tizen-release
    echo "BUILD_ID=$IMG_NAME" >> $INSTALL_ROOT/etc/os-release
fi


%end




