Merge "jordan: touch to focus overlay" into gingerbread
diff --git a/prebuilt/common/etc/apns-conf.xml b/prebuilt/common/etc/apns-conf.xml
index 4ca5498..e6cce49 100644
--- a/prebuilt/common/etc/apns-conf.xml
+++ b/prebuilt/common/etc/apns-conf.xml
@@ -218,7 +218,7 @@
   <apn carrier="T-Mobile UK" mcc="234" mnc="30" apn="general.t-mobile.uk" user="t-mobile" password="tm" server="*" mmsc="http://mmsc.t-mobile.co.uk:8002" mmsproxy="149.254.201.135" mmsport="8080" type="default,supl,mms" />
   <apn carrier="Picture Message" mcc="234" mnc="30" apn="general.t-mobile.uk" user="user" password="wap" mmsc="http://mmsc.t-mobile.co.uk:8002" mmsproxy="149.254.201.135" mmsport="8080" type="mms" />
   <apn carrier="Virgin UK" mcc="234" mnc="30" apn="goto.virginmobile.uk" user="user" type="default,supl" />
-  <apn carrier="Virgin UK MMS" mcc="234" mnc="30" apn="pp.vodafone.co.uk" user="wap" password="wap" mmsc="http://mms.virginmobile.co.uk:8002" mmsproxy="149.254.201.135" mmsport="8080" type="mms" />
+  <apn carrier="Virgin UK MMS" mcc="234" mnc="30" apn="goto.virginmobile.uk" mmsc="http://mms.virginmobile.co.uk:8002" mmsproxy="193.30.166.2" mmsport="8080" type="mms" />
   <apn carrier="Virgin UK" mcc="234" mnc="31" apn="goto.virginmobile.uk" user="user" type="default,supl" />
   <apn carrier="Virgin UK MMS" mcc="234" mnc="31" apn="pp.vodafone.co.uk" user="wap" password="wap" mmsc="http://mms.virginmobile.co.uk:8002" mmsproxy="149.254.201.135" mmsport="8080" type="mms" />
   <apn carrier="Virgin UK" mcc="234" mnc="32" apn="goto.virginmobile.uk" user="user" type="default,supl" />
@@ -1105,6 +1105,10 @@
   <apn carrier="Celcom MMS" mcc="502" mnc="13" apn="celcom3g" user="mms" password="mms" mmsc="http://mms.celcom.net.my" mmsproxy="10.128.1.242" mmsport="8080" type="mms" />
   <apn carrier="Digi MMS" mcc="502" mnc="16" apn="digimms" user="mms" password="mms" mmsc="http://mms.digi.com.my/servlets/mms" mmsproxy="203.92.128.160" mmsport="9201" type="mms" />
   <apn carrier="Digi" mcc="502" mnc="16" apn="diginet" user="digi" password="digi" type="default,supl" />
+  <apn carrier="Celcom 3G Internet" mcc="502" mnc="19" apn="celcom3g" type="default,supl" />
+  <apn carrier="Celcom 3G MMS" mcc="502" mnc="19" apn="celcom3g" mmsc="http://mms.celcom.net.my" mmsproxy="10.128.1.242" mmsport="8080" type="mms" />
+  <apn carrier="Celcom 2G Internet" mcc="502" mnc="19" apn="celcom.net.my" type="default,supl" />
+  <apn carrier="Celcom 2G MMS" mcc="502" mnc="19" apn="mms.celcom.net.my" mmsc="http://mms.celcom.net.my" mmsproxy="10.128.1.242" mmsport="8080" type="mms" />
   <apn carrier="U Mobile Internet" mcc="502" mnc="18" apn="my3g" type="default,supl" />
   <apn carrier="U Mobile MMS" mcc="502" mnc="18" apn="my3g" mmsc="http://10.30.3.11/servlets/mms" mmsproxy="10.30.5.11" mmsport="8080" type="mms" />
   <apn carrier="Telstra MMS" mcc="505" mnc="01" apn="Telstra.mms" mmsc="http://mmsc.telstra.com:8002" mmsproxy="10.1.1.180" mmsport="80" type="mms" />
diff --git a/products/AndroidProducts.mk b/products/AndroidProducts.mk
index aaa042c..6caf3d4 100644
--- a/products/AndroidProducts.mk
+++ b/products/AndroidProducts.mk
@@ -7,6 +7,7 @@
     $(LOCAL_DIR)/cyanogen_buzz.mk \
     $(LOCAL_DIR)/cyanogen_captivatemtd.mk \
     $(LOCAL_DIR)/cyanogen_click.mk \
+    $(LOCAL_DIR)/cyanogen_coconut.mk \
     $(LOCAL_DIR)/cyanogen_crespo.mk \
     $(LOCAL_DIR)/cyanogen_crespo4g.mk \
     $(LOCAL_DIR)/cyanogen_desirec.mk \
@@ -21,6 +22,7 @@
     $(LOCAL_DIR)/cyanogen_hero.mk \
     $(LOCAL_DIR)/cyanogen_heroc.mk \
     $(LOCAL_DIR)/cyanogen_inc.mk \
+    $(LOCAL_DIR)/cyanogen_iyokan.mk \
     $(LOCAL_DIR)/cyanogen_jordan.mk \
     $(LOCAL_DIR)/cyanogen_galaxys2.mk \
     $(LOCAL_DIR)/cyanogen_galaxys2att.mk \
@@ -43,6 +45,7 @@
     $(LOCAL_DIR)/cyanogen_passion.mk \
     $(LOCAL_DIR)/cyanogen_robyn.mk \
     $(LOCAL_DIR)/cyanogen_saga.mk \
+    $(LOCAL_DIR)/cyanogen_satsuma.mk \
     $(LOCAL_DIR)/cyanogen_shadow.mk \
     $(LOCAL_DIR)/cyanogen_shakira.mk \
     $(LOCAL_DIR)/cyanogen_sholes.mk \
@@ -54,9 +57,11 @@
     $(LOCAL_DIR)/cyanogen_smultron.mk \
     $(LOCAL_DIR)/cyanogen_speedy.mk \
     $(LOCAL_DIR)/cyanogen_supersonic.mk \
-    $(LOCAL_DIR)/cyanogen_v9.mk \
+    $(LOCAL_DIR)/cyanogen_tass.mk \
+    $(LOCAL_DIR)/cyanogen_u8150.mk \
     $(LOCAL_DIR)/cyanogen_u8220.mk \
     $(LOCAL_DIR)/cyanogen_urushi.mk \
+    $(LOCAL_DIR)/cyanogen_v9.mk \
     $(LOCAL_DIR)/cyanogen_vega.mk \
     $(LOCAL_DIR)/cyanogen_vibrantmtd.mk \
     $(LOCAL_DIR)/cyanogen_vision.mk \
diff --git a/products/common_versions.mk b/products/common_versions.mk
new file mode 100644
index 0000000..247197f
--- /dev/null
+++ b/products/common_versions.mk
@@ -0,0 +1,19 @@
+PRODUCT_VERSION_MAJOR = 7
+PRODUCT_VERSION_MINOR = 1
+PRODUCT_VERSION_MAINTENANCE = 0
+
+PRODUCT_BUILD_PROP_OVERRIDES += BUILD_DISPLAY_ID=GWK74
+
+ifdef CYANOGEN_NIGHTLY
+    PRODUCT_PROPERTY_OVERRIDES += \
+        ro.modversion=CyanogenMod-$(PRODUCT_VERSION_MAJOR)-$(shell date +%m%d%Y)-NIGHTLY-$(PRODUCT_RELEASE_NAME)
+else
+    ifdef CYANOGEN_RELEASE
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-$(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR).$(PRODUCT_VERSION_MAINTENANCE)$(PRODUCT_VERSION_DEVICE_SPECIFIC)-$(PRODUCT_RELEASE_NAME)
+    else
+        PRODUCT_PROPERTY_OVERRIDES += \
+            ro.modversion=CyanogenMod-$(PRODUCT_VERSION_MAJOR).$(PRODUCT_VERSION_MINOR).$(PRODUCT_VERSION_MAINTENANCE)$(PRODUCT_VERSION_DEVICE_SPECIFIC)-$(PRODUCT_RELEASE_NAME)-KANG
+    endif
+endif
+
diff --git a/products/cyanogen_ace.mk b/products/cyanogen_ace.mk
index 1f6a9e7..44b678e 100644
--- a/products/cyanogen_ace.mk
+++ b/products/cyanogen_ace.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := ace
 PRODUCT_MODEL := Desire HD
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_ace BUILD_ID=GRI40 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=htc_wwe/htc_ace/ace:2.3.3/GRI40/87995:user/release-keys PRIVATE_BUILD_DESC="2.50.405.2 CL87995 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_ace BUILD_ID=GRI40 BUILD_FINGERPRINT=htc_wwe/htc_ace/ace:2.3.3/GRI40/87995:user/release-keys PRIVATE_BUILD_DESC="2.50.405.2 CL87995 release-keys"
 
 # Build kernel
 #PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -31,21 +31,10 @@
 # Broadcom FM radio
 $(call inherit-product, vendor/cyanogen/products/bcm_fm_radio.mk)
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-DesireHD
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-DesireHD
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-DesireHD-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := DesireHD
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy passion specific prebuilt files
diff --git a/products/cyanogen_anzu.mk b/products/cyanogen_anzu.mk
index 6e6ba0f..23a51eb 100644
--- a/products/cyanogen_anzu.mk
+++ b/products/cyanogen_anzu.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := anzu
 PRODUCT_MODEL := LT15i
 PRODUCT_MANUFACTURER := Sony Ericsson
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=LT15i BUILD_ID=3.0.1.A.0.145 BUILD_DISPLAY_ID=3.0.1.A.0.145 BUILD_FINGERPRINT=SEMC/LT15i_1247-1061/LT15i:2.3.3/3.0.1.A.0.145/bn_P:user/release-keys PRIVATE_BUILD_DESC="LT15i-user 2.3.3 3.0.1.A.0.145 bn_P test-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=LT15i BUILD_ID=4.0.2.A.0.42 BUILD_FINGERPRINT=SEMC/LT15i_1247-1061/LT15i:2.3.4/4.0.2.A.0.42/bn_P:user/release-keys PRIVATE_BUILD_DESC="LT15i-user 2.3.4 4.0.3.A.0.42 bn_P test-keys"
 
 # Build kernel
 #PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -32,21 +32,10 @@
 # BCM FM radio
 #$(call inherit-product, vendor/cyanogen/products/bcm_fm_radio.mk)
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-XperiaArc-LT15i
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-XperiaArc-LT15i
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-XperiaArc-LT15i-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := XperiaArc-LT15i
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy passion specific prebuilt files
diff --git a/products/cyanogen_blade.mk b/products/cyanogen_blade.mk
index d09c82b..60dff49 100644
--- a/products/cyanogen_blade.mk
+++ b/products/cyanogen_blade.mk
@@ -15,23 +15,12 @@
 PRODUCT_DEVICE := blade
 PRODUCT_MODEL := Blade
 PRODUCT_MANUFACTURER := ZTE
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=blade BUILD_ID=GRJ22 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/passion/passion:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.4 GRJ22 121341 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=blade BUILD_ID=GRJ22 BUILD_FINGERPRINT=google/passion/passion:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.4 GRJ22 121341 release-keys"
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Blade
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Blade
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Blade-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := Blade
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy legend specific prebuilt files
diff --git a/products/cyanogen_bravo.mk b/products/cyanogen_bravo.mk
index aaa9902..42b05ab 100644
--- a/products/cyanogen_bravo.mk
+++ b/products/cyanogen_bravo.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := bravo
 PRODUCT_MODEL := HTC Desire
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=GRI40 BUILD_DISPLAY_ID=GWK74 PRODUCT_NAME=htc_bravo BUILD_FINGERPRINT=htc_wwe/htc_bravo/bravo:2.3.3/GRI40/96875.1:user/release-keys TARGET_BUILD_TYPE=userdebug BUILD_VERSION_TAGS=release-keys PRIVATE_BUILD_DESC="3.14.405.1 CL96875 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=GRI40 PRODUCT_NAME=htc_bravo BUILD_FINGERPRINT=htc_wwe/htc_bravo/bravo:2.3.3/GRI40/96875.1:user/release-keys TARGET_BUILD_TYPE=userdebug BUILD_VERSION_TAGS=release-keys PRIVATE_BUILD_DESC="3.14.405.1 CL96875 release-keys"
 
 # Build kernel
 PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -37,21 +37,10 @@
     ro.ril.oem.nosim.ecclist=911,112,113,115,117,999,000,08,118,120,122,110,119,995 \
     ro.ril.emc.mode=2
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Desire
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Desire
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Desire-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := Desire
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy passion specific prebuilt files
diff --git a/products/cyanogen_bravoc.mk b/products/cyanogen_bravoc.mk
index 48b0288..a0259b2 100644
--- a/products/cyanogen_bravoc.mk
+++ b/products/cyanogen_bravoc.mk
@@ -12,7 +12,7 @@
 PRODUCT_DEVICE := bravoc
 PRODUCT_MODEL := HTC Desire CDMA
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=GRI40 BUILD_DISPLAY_ID=GWK74 PRODUCT_NAME=htc_bravo BUILD_FINGERPRINT=htc_wwe/htc_bravo/bravo:2.3.3/GRI40/96875.1:user/release-keys TARGET_BUILD_TYPE=userdebug BUILD_VERSION_TAGS=release-keys PRIVATE_BUILD_DESC="3.14.405.1 CL96875 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=GRI40 PRODUCT_NAME=htc_bravo BUILD_FINGERPRINT=htc_wwe/htc_bravo/bravo:2.3.3/GRI40/96875.1:user/release-keys TARGET_BUILD_TYPE=userdebug BUILD_VERSION_TAGS=release-keys PRIVATE_BUILD_DESC="3.14.405.1 CL96875 release-keys"
 
 # Build kernel
 PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -25,21 +25,10 @@
 # Add the Torch app
 PRODUCT_PACKAGES += Torch
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-BravoC
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-BravoC
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-BravoC-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := BravoC
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy passion specific prebuilt files
diff --git a/products/cyanogen_buzz.mk b/products/cyanogen_buzz.mk
index f2fba9a..1ea231a 100644
--- a/products/cyanogen_buzz.mk
+++ b/products/cyanogen_buzz.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := buzz
 PRODUCT_MODEL := HTC Wildfire
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_buzz BUILD_ID=GRI40 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/passion/passion:2.3.3/GRI40/102588:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.3 GRI40 102588 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_buzz BUILD_ID=GRI40 BUILD_FINGERPRINT=google/passion/passion:2.3.3/GRI40/102588:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.3 GRI40 102588 release-keys"
 
 # Add LDPI assets, in addition to MDPI
 PRODUCT_LOCALES += ldpi mdpi
@@ -33,18 +33,7 @@
 PRODUCT_COPY_FILES +=  \
     vendor/cyanogen/prebuilt/ldpi/media/bootanimation.zip:system/media/bootanimation.zip
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-buzz
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-buzz
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-buzz-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := buzz
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
diff --git a/products/cyanogen_captivatemtd.mk b/products/cyanogen_captivatemtd.mk
index 9b4738b..ca02263 100644
--- a/products/cyanogen_captivatemtd.mk
+++ b/products/cyanogen_captivatemtd.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := captivatemtd
 PRODUCT_MODEL := SGH-I897
 PRODUCT_MANUFACTURER := samsung
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=soju BUILD_ID=GRJ22 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/soju/crespo:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="soju-user 2.3.4 GRJ22 121341 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=SGH-I897 BUILD_ID=GINGERBREAD BUILD_FINGERPRINT=samsung/SGH-I897/SGH-I897:2.3.5/GINGERBREAD/UCKJ3:user/release-keys PRIVATE_BUILD_DESC="SGH-I897-user 2.3.5 GINGERBREAD UCKJ3 release-keys"
 
 # Build kernel
 #PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -36,21 +36,10 @@
     ro.additionalmounts=/mnt/emmc \
     ro.vold.switchablepair=/mnt/sdcard,/mnt/emmc
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Captivate
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Captivate
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Captivate-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := Captivate
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy captivate specific prebuilt files
diff --git a/products/cyanogen_click.mk b/products/cyanogen_click.mk
index a279e02..c577386 100644
--- a/products/cyanogen_click.mk
+++ b/products/cyanogen_click.mk
@@ -21,7 +21,7 @@
 PRODUCT_DEVICE := click
 PRODUCT_MODEL := HTC Tattoo
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_click BUILD_ID=GRI40 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/passion/passion:2.3.3/GRI40/102588:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.3 GRI40 102588 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_click BUILD_ID=GRI40 BUILD_FINGERPRINT=google/passion/passion:2.3.3/GRI40/102588:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.3 GRI40 102588 release-keys"
 
 # Add LDPI assets, in addition to MDPI
 PRODUCT_LOCALES += ldpi mdpi
@@ -33,18 +33,7 @@
 PRODUCT_COPY_FILES +=  \
     vendor/cyanogen/prebuilt/ldpi/media/bootanimation.zip:system/media/bootanimation.zip
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-click
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-click
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-click-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := click
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
diff --git a/products/cyanogen_coconut.mk b/products/cyanogen_coconut.mk
new file mode 100644
index 0000000..4a66ae4
--- /dev/null
+++ b/products/cyanogen_coconut.mk
@@ -0,0 +1,43 @@
+# Inherit device configuration for coconut.
+$(call inherit-product, device/semc/coconut/device_coconut.mk)
+
+# Inherit some common cyanogenmod stuff.
+$(call inherit-product, vendor/cyanogen/products/common_full.mk)
+
+# Include GSM stuff
+$(call inherit-product, vendor/cyanogen/products/gsm.mk)
+
+#
+# Setup device specific product configuration.
+#
+PRODUCT_NAME := cyanogen_coconut
+PRODUCT_BRAND := SEMC
+PRODUCT_DEVICE := coconut
+PRODUCT_MODEL := WT19i
+PRODUCT_MANUFACTURER := Sony Ericsson
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=WT19i BUILD_ID=4.0.2.A.0.42 BUILD_FINGERPRINT=SEMC/WT19i_1249-6227/WT19i:2.3.4/4.0.2.A.0.42/j_b_3w:user/release-keys PRIVATE_BUILD_DESC="WT19i-user 2.3.4 4.0.2.A.0.42 j_b_3w test-keys"
+
+# Build kernel
+#PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
+#PRODUCT_SPECIFIC_DEFINES += TARGET_KERNEL_DIR=kernel-msm
+#PRODUCT_SPECIFIC_DEFINES += TARGET_KERNEL_CONFIG=cyanogen_coconut_defconfig
+
+# Extra coconut overlay
+PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/coconut
+
+# Add the Torch app
+PRODUCT_PACKAGES += Torch
+
+# BCM FM radio
+#$(call inherit-product, vendor/cyanogen/products/bcm_fm_radio.mk)
+
+# Release name and versioning
+PRODUCT_RELEASE_NAME := LiveWithWalkman-WT19i
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
+
+#
+# Copy passion specific prebuilt files
+#
+PRODUCT_COPY_FILES +=  \
+    vendor/cyanogen/prebuilt/mdpi/media/bootanimation.zip:system/media/bootanimation.zip
diff --git a/products/cyanogen_crespo.mk b/products/cyanogen_crespo.mk
index ca230b3..e2af224 100644
--- a/products/cyanogen_crespo.mk
+++ b/products/cyanogen_crespo.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := crespo
 PRODUCT_MODEL := Nexus S
 PRODUCT_MANUFACTURER := samsung
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=soju BUILD_ID=GRJ22 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/soju/crespo:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="soju-user 2.3.4 GRJ22 121341 release-keys" BUILD_NUMBER=121341
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=soju BUILD_ID=GWK74 BUILD_FINGERPRINT=google/soju/crespo:2.3.7/GWK74/185293:user/release-keys PRIVATE_BUILD_DESC="soju-user 2.3.7 GWK74 185293 release-keys" BUILD_NUMBER=185293
 
 # Extra Crespo overlay
 PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/crespo
@@ -29,21 +29,10 @@
     ro.ril.oem.nosim.ecclist=911,112,999,000,08,118,120,122,110,119,995 \
     ro.ril.emc.mode=2
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-NS
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-NS
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-NS-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := NS
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy crespo specific prebuilt files
diff --git a/products/cyanogen_crespo4g.mk b/products/cyanogen_crespo4g.mk
index d36b2d8..d85dcc6 100644
--- a/products/cyanogen_crespo4g.mk
+++ b/products/cyanogen_crespo4g.mk
@@ -12,7 +12,7 @@
 PRODUCT_DEVICE := crespo4g
 PRODUCT_MODEL := Nexus S 4G
 PRODUCT_MANUFACTURER := samsung
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=sojus BUILD_ID=GRJ90 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/sojus/crespo4g:2.3.5/GRJ90/138666:user/release-keys PRIVATE_BUILD_DESC="sojus-user 2.3.5 GRJ90 138666 release-keys" BUILD_NUMBER=138666
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=sojus BUILD_ID=GWK74 BUILD_FINGERPRINT=google/sojus/crespo4g:2.3.7/GWK74/185293:user/release-keys PRIVATE_BUILD_DESC="sojus-user 2.3.7 GWK74 185293 release-keys" BUILD_NUMBER=185293
 
 # Extra Crespo overlay
 PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/crespo4g
@@ -20,21 +20,10 @@
 # Add the Torch app
 PRODUCT_PACKAGES += Torch
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-NS4G
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-NS4G
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-NS4G-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := NS4G
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy crespo specific prebuilt files
diff --git a/products/cyanogen_desirec.mk b/products/cyanogen_desirec.mk
index 547aa43..9844e92 100644
--- a/products/cyanogen_desirec.mk
+++ b/products/cyanogen_desirec.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := desirec
 PRODUCT_MODEL := ERIS
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=GRI40 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/passion/passion:2.3.3/GRI40/102588:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.3 GRI40 102588 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=GRI40 BUILD_FINGERPRINT=google/passion/passion:2.3.3/GRI40/102588:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.3 GRI40 102588 release-keys"
 
 # Use Prebuilt kernel from desirec device tree
 PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=device/htc/desirec/kernel
@@ -25,21 +25,11 @@
 
 # Enable Windows Media
 WITH_WINDOWS_MEDIA := true
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Eris
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Eris
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-KANG-Eris
-    endif
-endif
+
+# Release name and versioning
+PRODUCT_RELEASE_NAME := Eris
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy dream/sapphire specific prebuilt files
diff --git a/products/cyanogen_dream_sapphire.mk b/products/cyanogen_dream_sapphire.mk
index d325e7b..1c878c1 100644
--- a/products/cyanogen_dream_sapphire.mk
+++ b/products/cyanogen_dream_sapphire.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := dream_sapphire
 PRODUCT_MODEL := Dream/Sapphire
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=FRG83 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=tmobile/opal/sapphire/sapphire:2.2.1/FRG83/60505:user/release-keys PRIVATE_BUILD_DESC="opal-user 2.2.1 FRG83 60505 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=FRG83 BUILD_FINGERPRINT=tmobile/opal/sapphire/sapphire:2.2.1/FRG83/60505:user/release-keys PRIVATE_BUILD_DESC="opal-user 2.2.1 FRG83 60505 release-keys"
 
 # Build kernel
 #PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -36,21 +36,10 @@
 PRODUCT_PROPERTY_OVERRIDES += \
     ro.compcache.default=18
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-DS
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-RC1-DS
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-RC1-DS-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := DS
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 # Use the audio profile hack
 WITH_DS_HTCACOUSTIC_HACK := true
diff --git a/products/cyanogen_droid2.mk b/products/cyanogen_droid2.mk
index 9ea2686..30d03fe 100644
--- a/products/cyanogen_droid2.mk
+++ b/products/cyanogen_droid2.mk
@@ -13,23 +13,12 @@
 PRODUCT_MODEL := DROID2
 PRODUCT_MANUFACTURER := Motorola
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7.1-$(shell date +%m%d%Y)-NIGHTLY-DROID2
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-RC0-DROID2
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-RC0-DROID2-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := DROID2
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
-PRODUCT_BUILD_PROP_OVERRIDES := BUILD_ID=VZW BUILD_DISPLAY_ID=GRH78C PRODUCT_NAME=droid2_vzw TARGET_DEVICE=cdma_droid2 BUILD_FINGERPRINT=verizon/droid2_vzw/cdma_droid2/droid2:2.2/VZW/23.20:user/ota-rel-keys,release-keys PRODUCT_BRAND=verizon PRIVATE_BUILD_DESC="cdma_droid2-user 2.2 VZW 2.3.20 ota-rel-keys,release-keys" BUILD_NUMBER=2.3.20 BUILD_UTC_DATE=1284778494 TARGET_BUILD_TYPE=user BUILD_VERSION_TAGS=release-keys USER=dbretzm1
+PRODUCT_BUILD_PROP_OVERRIDES := BUILD_ID=VZW PRODUCT_NAME=droid2_vzw TARGET_DEVICE=cdma_droid2 BUILD_FINGERPRINT=verizon/droid2_vzw/cdma_droid2/droid2:2.2/VZW/23.20:user/ota-rel-keys,release-keys PRODUCT_BRAND=verizon PRIVATE_BUILD_DESC="cdma_droid2-user 2.2 VZW 2.3.20 ota-rel-keys,release-keys" BUILD_NUMBER=2.3.20 BUILD_UTC_DATE=1284778494 TARGET_BUILD_TYPE=user BUILD_VERSION_TAGS=release-keys USER=dbretzm1
 
 PRODUCT_COPY_FILES +=  \
     vendor/cyanogen/prebuilt/hdpi/media/bootanimation.zip:system/media/bootanimation.zip
diff --git a/products/cyanogen_droid2we.mk b/products/cyanogen_droid2we.mk
index d149020..56171f7 100644
--- a/products/cyanogen_droid2we.mk
+++ b/products/cyanogen_droid2we.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := droid2we
 PRODUCT_MODEL := DROID2 GLOBAL
 PRODUCT_MANUFACTURER := Motorola
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=droid2we_vzw BUILD_ID=S273 BUILD_DISPLAY_ID=VZW BUILD_FINGERPRINT=verizon/droid2we_vzw/cdma_droid2we/droid2we:2.2/S273/2.4.330:user/ota-rel-keys,release-keys PRIVATE_BUILD_DESC="cdma_droid2we-user 2.2 S273 2.4.330 ota-rel-keys,release-keys" TARGET_DEVICE=cdma_droid2we PRODUCT_BRAND=verizon BUILD_NUMBER=2.4.330 BUILD_UTC_DATE=1287722464 TARGET_BUILD_TYPE=user BUILD_VERSION_TAGS=release-keys USER=xrpk47
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=droid2we_vzw BUILD_ID=S273 BUILD_FINGERPRINT=verizon/droid2we_vzw/cdma_droid2we/droid2we:2.2/S273/2.4.330:user/ota-rel-keys,release-keys PRIVATE_BUILD_DESC="cdma_droid2we-user 2.2 S273 2.4.330 ota-rel-keys,release-keys" TARGET_DEVICE=cdma_droid2we PRODUCT_BRAND=verizon BUILD_NUMBER=2.4.330 BUILD_UTC_DATE=1287722464 TARGET_BUILD_TYPE=user BUILD_VERSION_TAGS=release-keys USER=xrpk47
 
 # Build kernel
 #PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -34,21 +34,10 @@
 # Broadcom FM radio
 #$(call inherit-product, vendor/cyanogen/products/bcm_fm_radio.mk)
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-DROID2WE-KANG
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-DROID2WE
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-DROID2WE-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := DROID2WE
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy Droid2WE specific prebuilt files
diff --git a/products/cyanogen_encore.mk b/products/cyanogen_encore.mk
index 7d3d47e..19eefbf 100644
--- a/products/cyanogen_encore.mk
+++ b/products/cyanogen_encore.mk
@@ -12,28 +12,16 @@
 PRODUCT_DEVICE := encore
 PRODUCT_MODEL := NookColor
 PRODUCT_MANUFACTURER := bn
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=encore BUILD_ID=GRK39F BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/passion/passion:2.3.6/GRK39F/189904:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.6 GRK39F 189904 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=encore BUILD_ID=GRK39F BUILD_FINGERPRINT=google/passion/passion:2.3.6/GRK39F/189904:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.6 GRK39F 189904 release-keys"
 
 PRODUCT_PACKAGE_OVERLAYS += \
     vendor/cyanogen/overlay/tablet \
     vendor/cyanogen/overlay/encore
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-encore
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-encore
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-encore-KANG
-    endif
-endif
-
+# Release name and versioning
+PRODUCT_RELEASE_NAME := encore
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 PRODUCT_COPY_FILES +=  \
     vendor/cyanogen/prebuilt/hdpi/media/bootanimation.zip:system/media/bootanimation.zip
diff --git a/products/cyanogen_es209ra.mk b/products/cyanogen_es209ra.mk
index abdebce..ed2bb2c 100644
--- a/products/cyanogen_es209ra.mk
+++ b/products/cyanogen_es209ra.mk
@@ -15,26 +15,15 @@
 PRODUCT_DEVICE := es209ra
 PRODUCT_MODEL := X10i
 PRODUCT_MANUFACTURER := Sony Ericsson
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=X10i BUILD_ID=3.0.1.G.0.75 BUILD_DISPLAY_ID=3.0.1.G.0.75 BUILD_FINGERPRINT=SEMC/X10i_1241-1846/X10i:2.3.3/3.0.1.G.0.75/tB_P:user/release-keys PRIVATE_BUILD_DESC="X10i-user 2.3.3 3.0.1.G.0.75 tB_P test-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=X10i BUILD_ID=3.0.1.G.0.75 BUILD_FINGERPRINT=SEMC/X10i_1241-1846/X10i:2.3.3/3.0.1.G.0.75/tB_P:user/release-keys PRIVATE_BUILD_DESC="X10i-user 2.3.3 3.0.1.G.0.75 tB_P test-keys"
 
 # Add the Torch app
 PRODUCT_PACKAGES += Torch
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-es209ra
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-es209ra
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-es209ra-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := es209ra
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy passion specific prebuilt files
diff --git a/products/cyanogen_espresso.mk b/products/cyanogen_espresso.mk
index 0288a12..733e4b9 100644
--- a/products/cyanogen_espresso.mk
+++ b/products/cyanogen_espresso.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := espresso
 PRODUCT_MODEL := T-Mobile myTouch 3G Slide
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=GRI40 BUILD_DISPLAY_ID=GWK74 PRODUCT_NAME=htc_espresso BUILD_FINGERPRINT=google/passion/passion:2.3.3/GRI40/102588:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.3 GRI40 102588 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=GRI40 PRODUCT_NAME=htc_espresso BUILD_FINGERPRINT=google/passion/passion:2.3.3/GRI40/102588:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.3 GRI40 102588 release-keys"
 
 PRODUCT_SPECIFIC_DEFINES += TARGET_PRELINKER_MAP=$(TOP)/vendor/cyanogen/prelink-linux-arm-msm722x.map
 
@@ -28,21 +28,10 @@
 # Build GanOptimizer
 PRODUCT_PACKAGES += GanOptimizer
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Slide
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Slide
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Slide-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := Slide
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy espresso specific prebuilt files
diff --git a/products/cyanogen_fascinatemtd.mk b/products/cyanogen_fascinatemtd.mk
index 5407cb9..5f03f85 100644
--- a/products/cyanogen_fascinatemtd.mk
+++ b/products/cyanogen_fascinatemtd.mk
@@ -12,7 +12,7 @@
 PRODUCT_DEVICE := fascinatemtd
 PRODUCT_MODEL := SCH-I500
 PRODUCT_MANUFACTURER := samsung
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=soju BUILD_ID=GRJ22 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/soju/crespo:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="soju-user 2.3.4 GRJ22 121341 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=SCH-I500 BUILD_ID=GINGERBREAD BUILD_FINGERPRINT=uscc/SCH-I500/SCH-I500:2.3.4/GINGERBREAD/EH09:user/release-keys PRIVATE_BUILD_DESC="SCH-I500-user 2.3.4 GINGERBREAD EH09 release-keys"
 
 # Extra fascinatemtd overlay
 PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/fascinatemtd
@@ -20,21 +20,10 @@
 # Add the Torch app
 PRODUCT_PACKAGES += Torch
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Fascinate
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Fascinate
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Fascinate-KANG-$(shell date +%m%d)
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := Fascinate
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy galaxys specific prebuilt files
diff --git a/products/cyanogen_galaxys2.mk b/products/cyanogen_galaxys2.mk
index c7b62ec..79de694 100644
--- a/products/cyanogen_galaxys2.mk
+++ b/products/cyanogen_galaxys2.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := galaxys2
 PRODUCT_MODEL := GT-I9100
 PRODUCT_MANUFACTURER := samsung
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=GT-I9100 BUILD_ID=GRJ22 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=samsung/GT-I9100/GT-I9100:2.3.4/GINGERBREAD/XXKG2:user/release-keys PRIVATE_BUILD_DESC="GT-I9100-user 2.3.4 GINGERBREAD XXKG2 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=GT-I9100 BUILD_ID=GRJ22 BUILD_FINGERPRINT=samsung/GT-I9100/GT-I9100:2.3.4/GINGERBREAD/XXKG2:user/release-keys PRIVATE_BUILD_DESC="GT-I9100-user 2.3.4 GINGERBREAD XXKG2 release-keys"
 
 # Extra captivate overlay
 PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/galaxys2
@@ -33,24 +33,13 @@
 
 # Add additional mounts
 PRODUCT_PROPERTY_OVERRIDES += \
-    ro.additionalmounts=/mnt/emmc \
+    ro.additionalmounts=/mnt/emmc;/mnt/usbdisk \
     ro.vold.switchablepair=/mnt/sdcard,/mnt/emmc
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-GalaxyS2
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-GalaxyS2
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-GalaxyS2-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := GalaxyS2
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy captivate specific prebuilt files
diff --git a/products/cyanogen_galaxys2att.mk b/products/cyanogen_galaxys2att.mk
index baa1652..c40c038 100644
--- a/products/cyanogen_galaxys2att.mk
+++ b/products/cyanogen_galaxys2att.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := galaxys2att
 PRODUCT_MODEL := SGH-I777
 PRODUCT_MANUFACTURER := samsung
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=SGH-I777 BUILD_ID=GWK74 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=samsung/SGH-I777/SGH-I777:2.3.7/GINGERBREAD/UCKH7:user/release-keys PRIVATE_BUILD_DESC="SGH-I777-user 2.3.7 GINGERBREAD UCKH7 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=SGH-I777 BUILD_ID=GWK74 BUILD_FINGERPRINT=samsung/SGH-I777/SGH-I777:2.3.7/GINGERBREAD/UCKH7:user/release-keys PRIVATE_BUILD_DESC="SGH-I777-user 2.3.7 GINGERBREAD UCKH7 release-keys"
 
 # Extra captivate overlay
 PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/galaxys2att
@@ -33,24 +33,13 @@
 
 # Add additional mounts
 PRODUCT_PROPERTY_OVERRIDES += \
-    ro.additionalmounts=/mnt/emmc \
+    ro.additionalmounts=/mnt/emmc;/mnt/usbdisk \
     ro.vold.switchablepair=/mnt/sdcard,/mnt/emmc
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Galaxys2ATT
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Galaxys2ATT
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Galaxys2ATT-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := Galaxys2ATT
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy captivate specific prebuilt files
diff --git a/products/cyanogen_galaxysmtd.mk b/products/cyanogen_galaxysmtd.mk
index a260693..a4afc7b 100644
--- a/products/cyanogen_galaxysmtd.mk
+++ b/products/cyanogen_galaxysmtd.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := galaxysmtd
 PRODUCT_MODEL := GT-I9000
 PRODUCT_MANUFACTURER := samsung
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=soju BUILD_ID=GRJ22 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/soju/crespo:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="soju-user 2.3.4 GRJ22 121341 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=GT-I9000 BUILD_ID=GINGERBREAD BUILD_FINGERPRINT=samsung/GT-I9000/GT-I9000:2.3.5/GINGERBREAD/XXJVT:user/release-keys PRIVATE_BUILD_DESC="GT-I9000-user 2.3.5 GINGERBREAD XXJVT release-keys"
 
 # Build kernel
 #PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -39,21 +39,10 @@
     ro.additionalmounts=/mnt/emmc \
     ro.vold.switchablepair=/mnt/sdcard,/mnt/emmc
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-GalaxyS
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-GalaxyS
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-GalaxyS-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := GalaxyS
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy galaxys specific prebuilt files
diff --git a/products/cyanogen_glacier.mk b/products/cyanogen_glacier.mk
index 4446bc5..116d431 100644
--- a/products/cyanogen_glacier.mk
+++ b/products/cyanogen_glacier.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := glacier
 PRODUCT_MODEL := HTC Glacier
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_glacier BUILD_ID=GRJ22 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=tmobile/htc_glacier/glacier:2.3.4/GRJ22/95282:user/release-keys PRIVATE_BUILD_DESC="2.19.531.1 CL95282 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_glacier BUILD_ID=GRJ22 BUILD_FINGERPRINT=tmobile/htc_glacier/glacier:2.3.4/GRJ22/95282:user/release-keys PRIVATE_BUILD_DESC="2.19.531.1 CL95282 release-keys"
 
 # Build kernel
 #PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -34,21 +34,10 @@
 # Broadcom FM radio
 $(call inherit-product, vendor/cyanogen/products/bcm_fm_radio.mk)
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-glacier
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-glacier
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-glacier-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := glacier
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy passion specific prebuilt files
diff --git a/products/cyanogen_hallon.mk b/products/cyanogen_hallon.mk
index be847c9..27e805f 100644
--- a/products/cyanogen_hallon.mk
+++ b/products/cyanogen_hallon.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := hallon
 PRODUCT_MODEL := MT15i
 PRODUCT_MANUFACTURER := Sony Ericsson
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=MT15i BUILD_ID=3.0.1.A.0.145 BUILD_DISPLAY_ID=3.0.1.A.0.145 BUILD_FINGERPRINT=SEMC/MT15i_1247-0875/MT15i:2.3.3/3.0.1.A.0.145/bn_P:user/release-keys PRIVATE_BUILD_DESC="MT15i-user 2.3.3 3.0.1.A.0.145 bn_P test-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=MT15i BUILD_ID=4.0.2.A.0.42 BUILD_FINGERPRINT=SEMC/MT15i_1247-0875/MT15i:2.3.4/4.0.2.A.0.42/bn_P:user/release-keys PRIVATE_BUILD_DESC="MT15i-user 2.3.4 4.0.2.A.0.42 bn_P test-keys"
 
 # Build kernel
 #PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -32,21 +32,10 @@
 # BCM FM radio
 #$(call inherit-product, vendor/cyanogen/products/bcm_fm_radio.mk)
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-XperiaNeo-MT15i
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-XperiaNeo-MT15i
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-XperiaNeo-MT15i-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := XperiaNeo-MT15i
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy passion specific prebuilt files
diff --git a/products/cyanogen_hero.mk b/products/cyanogen_hero.mk
index b309afb..ec4c82e 100644
--- a/products/cyanogen_hero.mk
+++ b/products/cyanogen_hero.mk
@@ -19,25 +19,14 @@
 PRODUCT_DEVICE := hero
 PRODUCT_MODEL := Hero
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=GRH78 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/soju/crespo:2.3.1/GRH78/85442:user/release-keys PRIVATE_BUILD_DESC="soju-user 2.3.1 GRH78 85442 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=GRH78 BUILD_FINGERPRINT=google/soju/crespo:2.3.1/GRH78/85442:user/release-keys PRIVATE_BUILD_DESC="soju-user 2.3.1 GRH78 85442 release-keys"
 
 PRODUCT_SPECIFIC_DEFINES += TARGET_PRELINKER_MAP=$(TOP)/vendor/cyanogen/prelink-linux-arm-hero.map
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Hero
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Hero
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Hero-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := Hero
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy passion specific prebuilt files
diff --git a/products/cyanogen_heroc.mk b/products/cyanogen_heroc.mk
index 867358d..a79dda9 100644
--- a/products/cyanogen_heroc.mk
+++ b/products/cyanogen_heroc.mk
@@ -13,26 +13,16 @@
 PRODUCT_DEVICE := heroc
 PRODUCT_MODEL := HERO200
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=GRI40 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/passion/passion:2.3.3/GRI40/102588:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.3 GRI40 102588 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=GRI40 BUILD_FINGERPRINT=google/passion/passion:2.3.3/GRI40/102588:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.3 GRI40 102588 release-keys"
 
 # Extra overlay for Gallery3D orientation hack
 PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/heroc
 PRODUCT_SPECIFIC_DEFINES += TARGET_PRELINKER_MAP=$(TOP)/vendor/cyanogen/prelink-linux-arm-hero.map
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Heroc
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Heroc
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Heroc-KANG
-    endif
-endif
+
+# Release name and versioning
+PRODUCT_RELEASE_NAME := Heroc
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy dream/sapphire specific prebuilt files
diff --git a/products/cyanogen_inc.mk b/products/cyanogen_inc.mk
index 95acba7..e942af3 100644
--- a/products/cyanogen_inc.mk
+++ b/products/cyanogen_inc.mk
@@ -11,7 +11,7 @@
 PRODUCT_DEVICE := inc
 PRODUCT_MODEL := Incredible
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=FRF91 BUILD_DISPLAY_ID=GWK74 PRODUCT_NAME=inc BUILD_FINGERPRINT=verizon_wwe/inc/inc/inc:2.2/FRF91/264707:user/release-keys PRODUCT_BRAND=verizon_wwe TARGET_BUILD_TYPE=user BUILD_VERSION_TAGS=release-keys PRIVATE_BUILD_DESC="3.26.605.1 CL264707 release-keys" PRODUCT_MODEL=ADR6300 PRODUCT_MANUFACTURER=HTC
+PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=FRF91 PRODUCT_NAME=inc BUILD_FINGERPRINT=verizon_wwe/inc/inc/inc:2.2/FRF91/264707:user/release-keys PRODUCT_BRAND=verizon_wwe TARGET_BUILD_TYPE=user BUILD_VERSION_TAGS=release-keys PRIVATE_BUILD_DESC="3.26.605.1 CL264707 release-keys" PRODUCT_MODEL=ADR6300 PRODUCT_MANUFACTURER=HTC
 
 PRODUCT_PROPERTY_OVERRIDES += ro.product.version=3.26.605.1
 
@@ -24,21 +24,10 @@
 # Broadcom FM radio
 $(call inherit-product, vendor/cyanogen/products/bcm_fm_radio.mk)
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Inc
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Inc
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Inc-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := Inc
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy passion specific prebuilt files
diff --git a/products/cyanogen_iyokan.mk b/products/cyanogen_iyokan.mk
new file mode 100644
index 0000000..85d1f26
--- /dev/null
+++ b/products/cyanogen_iyokan.mk
@@ -0,0 +1,44 @@
+# Inherit device configuration for iyokan.
+$(call inherit-product, device/semc/iyokan/device_iyokan.mk)
+
+# Inherit some common cyanogenmod stuff.
+$(call inherit-product, vendor/cyanogen/products/common_full.mk)
+
+# Include GSM stuff
+$(call inherit-product, vendor/cyanogen/products/gsm.mk)
+
+#
+# Setup device specific product configuration.
+#
+PRODUCT_NAME := cyanogen_iyokan
+PRODUCT_BRAND := SEMC
+PRODUCT_DEVICE := iyokan
+PRODUCT_MODEL := MK16i
+PRODUCT_MANUFACTURER := Sony Ericsson
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=MK16i BUILD_ID=4.0.1.A.0.283 BUILD_FINGERPRINT=SEMC/MK16i_1247-1061/MK16i:2.3.4/4.0.1.A.0.283/bn_P:user/release-keys PRIVATE_BUILD_DESC="MK16i-user 2.3.4 4.0.1.A.0.283 bn_P test-keys"
+
+# Build kernel
+#PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
+#PRODUCT_SPECIFIC_DEFINES += TARGET_KERNEL_DIR=kernel-msm
+#PRODUCT_SPECIFIC_DEFINES += TARGET_KERNEL_CONFIG=cyanogen_iyokan_defconfig
+
+# Extra iyokan overlay
+PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/iyokan
+
+# Add the Torch app
+PRODUCT_PACKAGES += Torch
+
+
+# BCM FM radio
+#$(call inherit-product, vendor/cyanogen/products/bcm_fm_radio.mk)
+
+# Release name and versioning
+PRODUCT_RELEASE_NAME := XperiaPro-MK16i
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
+
+#
+# Copy passion specific prebuilt files
+#
+PRODUCT_COPY_FILES +=  \
+    vendor/cyanogen/prebuilt/hdpi/media/bootanimation.zip:system/media/bootanimation.zip
diff --git a/products/cyanogen_jordan.mk b/products/cyanogen_jordan.mk
index 50a7db6..b0efc15 100644
--- a/products/cyanogen_jordan.mk
+++ b/products/cyanogen_jordan.mk
@@ -7,6 +7,12 @@
 # Inherit some common cyanogenmod stuff.
 $(call inherit-product, vendor/cyanogen/products/common_full.mk)
 
+# Extra jordan overlay
+PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/jordan
+
+# Add the Torch app
+PRODUCT_PACKAGES += Torch
+
 #
 # Setup device specific product configuration.
 #
@@ -18,45 +24,28 @@
 PRODUCT_SBF := 3.4.2-179-4
 PRODUCT_SFX := JOREM_U3
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%y%m%d-%H%M)-NIGHTLY-Jordan
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-jordan
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-jordan
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := Defy
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 UTC_DATE := $(shell date +%s)
 DATE     := $(shell date +%Y%m%d)
 
-PRODUCT_BUILD_PROP_OVERRIDES := \
-BUILD_ID=GWK74 \
-BUILD_DISPLAY_ID="Gingerbread GWK74" \
-PRODUCT_NAME=${PRODUCT_MODEL}_${PRODUCT_SFX} \
-TARGET_DEVICE=umts_jordan \
-BUILD_FINGERPRINT=MOTO/${PRODUCT_MODEL}_${PRODUCT_SFX}/umts_jordan/jordan:2.3.7/${PRODUCT_SBF}/${UTC_DATE}:user/release-keys \
-PRODUCT_BRAND=MOTO \
-PRIVATE_BUILD_DESC="umts_jordan-user 2.3.7 ${PRODUCT_SFX}_${PRODUCT_SBF} ${UTC_DATE} release-keys" \
-BUILD_NUMBER=${DATE} \
-BUILD_VERSION_TAGS=release-keys \
-TARGET_BUILD_TYPE=user \
-USER=CyanogenDefy
+PRODUCT_BUILD_PROP_OVERRIDES += \
+    BUILD_ID=GWK74 \
+    PRODUCT_NAME=${PRODUCT_MODEL}_${PRODUCT_SFX} \
+    TARGET_DEVICE=umts_jordan \
+    BUILD_FINGERPRINT=MOTO/${PRODUCT_MODEL}_${PRODUCT_SFX}/umts_jordan/jordan:2.3.7/${PRODUCT_SBF}/${UTC_DATE}:user/release-keys \
+    PRIVATE_BUILD_DESC="umts_jordan-user 2.3.7 ${PRODUCT_SFX}_${PRODUCT_SBF} ${UTC_DATE} release-keys" \
+    BUILD_NUMBER=${DATE} \
+    BUILD_VERSION_TAGS=release-keys \
+    TARGET_BUILD_TYPE=user
 
+#
+# Copy jordan specific prebuilt files
+#
 PRODUCT_COPY_FILES += \
     vendor/cyanogen/prebuilt/hdpi/media/bootanimation.zip:system/media/bootanimation.zip
 
-PRODUCT_PACKAGE_OVERLAYS += \
-    vendor/cyanogen/overlay/jordan
-
-# Add the Torch app
-PRODUCT_PACKAGES += \
-    Torch
 
diff --git a/products/cyanogen_legend.mk b/products/cyanogen_legend.mk
index 700526b..459121f 100644
--- a/products/cyanogen_legend.mk
+++ b/products/cyanogen_legend.mk
@@ -13,7 +13,7 @@
 PRODUCT_DEVICE := legend
 PRODUCT_MODEL := Legend
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_legend BUILD_ID=GRH55 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/soju/crespo:2.3/GRH55/79397:user/release-keys PRIVATE_BUILD_DESC="soju-user 2.3 GRH55 79397 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_legend BUILD_ID=GRH55 BUILD_FINGERPRINT=google/soju/crespo:2.3/GRH55/79397:user/release-keys PRIVATE_BUILD_DESC="soju-user 2.3 GRH55 79397 release-keys"
 
 PRODUCT_SPECIFIC_DEFINES += TARGET_PRELINKER_MAP=$(TOP)/vendor/cyanogen/prelink-linux-arm-msm722x.map
 
@@ -24,18 +24,10 @@
 
 PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/legend
 
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Legend
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Legend
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Legend-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := Legend
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 PRODUCT_COPY_FILES +=  \
     vendor/cyanogen/prebuilt/mdpi/media/bootanimation.zip:system/media/bootanimation.zip
diff --git a/products/cyanogen_leo.mk b/products/cyanogen_leo.mk
index b824c9b..726f693 100644
--- a/products/cyanogen_leo.mk
+++ b/products/cyanogen_leo.mk
@@ -16,7 +16,7 @@
 PRODUCT_DEVICE := leo
 PRODUCT_MODEL := HTC HD2
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=passion BUILD_ID=GRI40 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/passion/passion:2.3.3/GRI40/102588:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.3 GRI40 102588 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=passion BUILD_ID=GRI40 BUILD_FINGERPRINT=google/passion/passion:2.3.3/GRI40/102588:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.3 GRI40 102588 release-keys"
 
 # Extra leo overlay
 PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/leo
@@ -37,23 +37,10 @@
 # Broadcom FM radio
 $(call inherit-product, vendor/cyanogen/products/bcm_fm_radio.mk)
 
-
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-LEO
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-LEO
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-LEO-KANG
-    endif
-endif
-
+# Release name and versioning
+PRODUCT_RELEASE_NAME := LEO
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy leo specific prebuilt files
diff --git a/products/cyanogen_liberty.mk b/products/cyanogen_liberty.mk
index 9f0e929..ed3e136 100644
--- a/products/cyanogen_liberty.mk
+++ b/products/cyanogen_liberty.mk
@@ -15,25 +15,17 @@
 PRODUCT_DEVICE := liberty
 PRODUCT_MODEL := Liberty
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_liberty BUILD_ID=GRK39F BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/passion/passion:2.3.6/GRK39F/189904:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.6 GRK39F 189904 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_liberty BUILD_ID=GRK39F BUILD_FINGERPRINT=google/passion/passion:2.3.6/GRK39F/189904:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.6 GRK39F 189904 release-keys"
 
 PRODUCT_SPECIFIC_DEFINES += TARGET_PRELINKER_MAP=$(TOP)/vendor/cyanogen/prelink-linux-arm-msm722x.map
 
 # Broadcom FM radio
 $(call inherit-product, vendor/cyanogen/products/bcm_fm_radio.mk)
 
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Liberty
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Liberty
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Liberty-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := Liberty
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy liberty specific prebuilt files
diff --git a/products/cyanogen_mango.mk b/products/cyanogen_mango.mk
index 7b1d296..6fce3ea 100644
--- a/products/cyanogen_mango.mk
+++ b/products/cyanogen_mango.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := mango
 PRODUCT_MODEL := SK17i
 PRODUCT_MANUFACTURER := Sony Ericsson
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=SK17i BUILD_ID=4.0.A.2.368 BUILD_DISPLAY_ID=4.0.A.2.368 BUILD_FINGERPRINT=SEMC/SK17i_1249-8062/SK17i:2.3.3/4.0.A.2.368/j_b_3w:user/release-keys PRIVATE_BUILD_DESC="SK17i-user 2.3.3 4.0.A.2.368 j_b_3w test-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=SK17i BUILD_ID=4.0.2.A.0.42 BUILD_FINGERPRINT=SEMC/SK17i_1249-8062/SK17i:2.3.4/4.0.2.A.0.42/j_b_3w:user/release-keys PRIVATE_BUILD_DESC="SK17i-user 2.3.4 4.0.2.A.0.42 j_b_3w test-keys"
 
 # Build kernel
 #PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -32,21 +32,10 @@
 # BCM FM radio
 #$(call inherit-product, vendor/cyanogen/products/bcm_fm_radio.mk)
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-XperiaMiniPro-SK17i
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-XperiaMiniPro-SK17i
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-XperiaMiniPro-SK17i-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := XperiaMiniPro-SK17i
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy passion specific prebuilt files
diff --git a/products/cyanogen_mecha.mk b/products/cyanogen_mecha.mk
index d161695..efe19ed 100644
--- a/products/cyanogen_mecha.mk
+++ b/products/cyanogen_mecha.mk
@@ -12,7 +12,7 @@
 PRODUCT_DEVICE := mecha
 PRODUCT_MODEL := ADR6400L
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_mecha BUILD_ID=FRG83D BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=verizon_wwe/htc_mecha/mecha/mecha:2.2.1/FRG83D/343953:user/release-keys PRIVATE_BUILD_DESC="1.70.605.0 CL343953 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_mecha BUILD_ID=FRG83D BUILD_FINGERPRINT=verizon_wwe/htc_mecha/mecha/mecha:2.2.1/FRG83D/343953:user/release-keys PRIVATE_BUILD_DESC="1.70.605.0 CL343953 release-keys"
 
 # Extra Mecha overlay
 PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/mecha
@@ -26,21 +26,10 @@
 # SIM Toolkit
 PRODUCT_PACKAGES += Stk
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Thunderbolt
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Thunderbolt
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Thunderbolt-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := Thunderbolt
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy passion specific prebuilt files
diff --git a/products/cyanogen_mesmerizemtd.mk b/products/cyanogen_mesmerizemtd.mk
index 1c2ea06..9d6f53c 100644
--- a/products/cyanogen_mesmerizemtd.mk
+++ b/products/cyanogen_mesmerizemtd.mk
@@ -12,7 +12,7 @@
 PRODUCT_DEVICE := mesmerizemtd
 PRODUCT_MODEL := SCH-I500
 PRODUCT_MANUFACTURER := samsung
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=soju BUILD_ID=GRJ22 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/soju/crespo:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="soju-user 2.3.4 GRJ22 121341 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=SCH-I500 BUILD_ID=GINGERBREAD BUILD_FINGERPRINT=uscc/SCH-I500/SCH-I500:2.3.4/GINGERBREAD/EH09:user/release-keys PRIVATE_BUILD_DESC="SCH-I500-user 2.3.4 GINGERBREAD EH09 release-keys"
 
 # Extra mesmerizemtd overlay
 PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/mesmerizemtd
@@ -20,21 +20,10 @@
 # Add the Torch app
 PRODUCT_PACKAGES += Torch
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Mesmerize
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Mesmerize
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Mesmerize-KANG-$(shell date +%m%d)
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := Mesmerize
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy galaxys specific prebuilt files
diff --git a/products/cyanogen_mimmi.mk b/products/cyanogen_mimmi.mk
index 1a38a70..af01135 100644
--- a/products/cyanogen_mimmi.mk
+++ b/products/cyanogen_mimmi.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := mimmi
 PRODUCT_MODEL := U20i
 PRODUCT_MANUFACTURER := Sony Ericsson
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_DEVICE=U20i PRODUCT_NAME=U20i BUILD_ID=3.0.1.A.0.145 BUILD_DISPLAY_ID=3.0.1.A.0.145 BUILD_FINGERPRINT=SEMC/LT15i_1247-1073/LT15i:2.3.3/3.0.1.A.0.145/bn_p:user/release-keys PRIVATE_BUILD_DESC="LT15i-user 2.3.3 3.0.1.A.0.145 bn_P test-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_DEVICE=U20i PRODUCT_NAME=U20i BUILD_ID=3.0.1.A.0.145 BUILD_FINGERPRINT=SEMC/LT15i_1247-1073/LT15i:2.3.3/3.0.1.A.0.145/bn_p:user/release-keys PRIVATE_BUILD_DESC="LT15i-user 2.3.3 3.0.1.A.0.145 bn_P test-keys"
 
 # Add the Torch app
 PRODUCT_PACKAGES += Torch
@@ -29,21 +29,10 @@
 # Ti FM radio
 #$(call inherit-product, vendor/cyanogen/products/ti_fm_radio.mk)
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-X10MiniPro
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-X10MiniPro
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-X10MiniPro-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := X10MiniPro
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy MDPI specific prebuilt files
diff --git a/products/cyanogen_morrison.mk b/products/cyanogen_morrison.mk
index 6ac3d53..21679fa 100644
--- a/products/cyanogen_morrison.mk
+++ b/products/cyanogen_morrison.mk
@@ -17,23 +17,12 @@
 PRODUCT_MODEL := MB200
 PRODUCT_MANUFACTURER := Motorola
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-CLIQ
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-CLIQ
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-CLIQ-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := CLIQ
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=morrison TARGET_DEVICE=morrison BUILD_ID=GRJ22 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/soju/crespo:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="soju-user 2.3.4 GRJ22 121341 release-keys" BUILD_NUMBER=121341
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=morrison TARGET_DEVICE=morrison BUILD_ID=GRJ22 BUILD_FINGERPRINT=google/soju/crespo:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="soju-user 2.3.4 GRJ22 121341 release-keys" BUILD_NUMBER=121341
 
 PRODUCT_COPY_FILES +=  \
     vendor/cyanogen/prebuilt/mdpi/media/bootanimation.zip:system/media/bootanimation.zip
diff --git a/products/cyanogen_motus.mk b/products/cyanogen_motus.mk
index 66865d0..36b3d45 100644
--- a/products/cyanogen_motus.mk
+++ b/products/cyanogen_motus.mk
@@ -15,23 +15,12 @@
 PRODUCT_MODEL := MB300
 PRODUCT_MANUFACTURER := Motorola
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-BACKFLIP
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-BACKFLIP
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-BACKFLIP-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := BACKFLIP
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=motus_att_us TARGET_DEVICE=motus BUILD_ID=GRJ22 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/soju/crespo:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="soju-user 2.3.4 GRJ22 121341 release-keys" BUILD_NUMBER=121341
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=motus_att_us TARGET_DEVICE=motus BUILD_ID=GRJ22 BUILD_FINGERPRINT=google/soju/crespo:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="soju-user 2.3.4 GRJ22 121341 release-keys" BUILD_NUMBER=121341
 
 PRODUCT_COPY_FILES +=  \
     vendor/cyanogen/prebuilt/mdpi/media/bootanimation.zip:system/media/bootanimation.zip
diff --git a/products/cyanogen_olympus.mk b/products/cyanogen_olympus.mk
index 32cfe30..333efe1 100644
--- a/products/cyanogen_olympus.mk
+++ b/products/cyanogen_olympus.mk
@@ -15,28 +15,16 @@
 PRODUCT_DEVICE := olympus
 PRODUCT_MODEL := MB860
 PRODUCT_MANUFACTURER := Motorola
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_BRAND=MOTO PRODUCT_NAME=olyatt BUILD_ID=4.5.91 BUILD_PRODUCT=olyatt BUILD_DISPLAY_ID=4.5.91 BUILD_FINGERPRINT=MOTO/olyatt/olympus:2.3.4/4.5.91/110625:user/release-keys PRIVATE_BUILD_DESC="olympus-user 2.3.4 4.5.91 110625 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_BRAND=MOTO PRODUCT_NAME=olyatt BUILD_ID=4.5.91 BUILD_PRODUCT=olyatt BUILD_FINGERPRINT=MOTO/olyatt/olympus:2.3.4/4.5.91/110625:user/release-keys PRIVATE_BUILD_DESC="olympus-user 2.3.4 4.5.91 110625 release-keys"
 
 # Extra Olympus overlay
 PRODUCT_PACKAGE_OVERLAYS += \
 	vendor/cyanogen/overlay/olympus \
 #	vendor/cyanogen/overlay/qhd
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Olympus
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Olympus
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Olympus-KANG
-    endif
-endif
+PRODUCT_RELEASE_NAME := Olympus
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy hdpi specific prebuilt files
diff --git a/products/cyanogen_one.mk b/products/cyanogen_one.mk
index c945d11..fda23c9 100644
--- a/products/cyanogen_one.mk
+++ b/products/cyanogen_one.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := one
 PRODUCT_MODEL := Geeksphone ONE
 PRODUCT_MANUFACTURER := Geeksphone
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_DEVICE=geeksphone-one PRODUCT_NAME=geeksphone_one BUILD_ID=GRI40 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/passion/passion:2.3.3/GRI40/102588:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.3 GRI40 102588 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_DEVICE=geeksphone-one PRODUCT_NAME=geeksphone_one BUILD_ID=GRI40 BUILD_FINGERPRINT=google/passion/passion:2.3.3/GRI40/102588:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.3 GRI40 102588 release-keys"
 
 # Add the CMWallpapers app
 PRODUCT_PACKAGES += CMWallpapers
@@ -25,19 +25,10 @@
 #
 PRODUCT_PROPERTY_OVERRIDES += dalvik.vm.dexopt-data-only=1
 
-
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-ONE
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-ONE
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-ONE-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := ONE
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy GPO specific prebuilt files
diff --git a/products/cyanogen_p990.mk b/products/cyanogen_p990.mk
index 0d91eb6..e4d32c1 100644
--- a/products/cyanogen_p990.mk
+++ b/products/cyanogen_p990.mk
@@ -15,26 +15,15 @@
 PRODUCT_DEVICE := p990
 PRODUCT_MODEL := Optimus 2X
 PRODUCT_MANUFACTURER := LGE
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=lge_star BUILD_ID=FRG83G BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=lge/lge_star/p990/p990:2.2.2/FRG83G/lgp990-V10b.2ED2ADCFFC:user/release-keys PRIVATE_BUILD_DESC="star-user 2.2.2 FRG83G 2ED2ADCFFC release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=lge_star BUILD_ID=FRG83G BUILD_FINGERPRINT=lge/lge_star/p990/p990:2.2.2/FRG83G/lgp990-V10b.2ED2ADCFFC:user/release-keys PRIVATE_BUILD_DESC="star-user 2.2.2 FRG83G 2ED2ADCFFC release-keys"
 
 # Extra Star overlay
 PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/star
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Optimus2X
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Optimus2X
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Optimus2X-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := Optimus2X
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy prebuilt files
diff --git a/products/cyanogen_p999.mk b/products/cyanogen_p999.mk
index 10a6e71..131237b 100644
--- a/products/cyanogen_p999.mk
+++ b/products/cyanogen_p999.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := p999
 PRODUCT_MODEL := LG-P999
 PRODUCT_MANUFACTURER := lge
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=lge_lge_star BUILD_ID=GRI40 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=lge/lge_lge_star/p999:2.3.3/GRI40/lgp999-V21e.41fdc8a2:user/release-keys PRIVATE_BUILD_DESC="lge_star-user 2.3.3 GRI40 41fdc8a2 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=lge_lge_star BUILD_ID=GRI40 BUILD_FINGERPRINT=lge/lge_lge_star/p999:2.3.3/GRI40/lgp999-V21e.41fdc8a2:user/release-keys PRIVATE_BUILD_DESC="lge_star-user 2.3.3 GRI40 41fdc8a2 release-keys"
 
 # Build kernel
 #PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -34,21 +34,10 @@
 # Broadcom FM radio
 #$(call inherit-product, vendor/cyanogen/products/bcm_fm_radio.mk)
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-G2x
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-G2x
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-G2x-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := G2x
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy hdpi specific prebuilt files
diff --git a/products/cyanogen_passion.mk b/products/cyanogen_passion.mk
index 9898f04..4301e8c 100644
--- a/products/cyanogen_passion.mk
+++ b/products/cyanogen_passion.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := passion
 PRODUCT_MODEL := Nexus One
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=passion BUILD_ID=GRK39F BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/passion/passion:2.3.6/GRK39F/189904:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.6 GRK39F 189904 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=passion BUILD_ID=GRK39F BUILD_FINGERPRINT=google/passion/passion:2.3.6/GRK39F/189904:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.6 GRK39F 189904 release-keys"
 
 # Build kernel
 PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -37,21 +37,10 @@
     ro.ril.oem.nosim.ecclist=911,112,999,000,08,118,120,122,110,119,995 \
     ro.ril.emc.mode=2
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-N1
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-N1
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-N1-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := N1
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy passion specific prebuilt files
diff --git a/products/cyanogen_robyn.mk b/products/cyanogen_robyn.mk
index 03ac913..9256c7b 100644
--- a/products/cyanogen_robyn.mk
+++ b/products/cyanogen_robyn.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := robyn
 PRODUCT_MODEL := E10i
 PRODUCT_MANUFACTURER := Sony Ericsson
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_DEVICE=E10i PRODUCT_NAME=E10i BUILD_ID=3.0.1.A.0.145 BUILD_DISPLAY_ID=3.0.1.A.0.145 BUILD_FINGERPRINT=SEMC/LT15i_1247-1073/LT15i:2.3.3/3.0.1.A.0.145/bn_p:user/release-keys PRIVATE_BUILD_DESC="LT15i-user 2.3.3 3.0.1.A.0.145 bn_P test-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_DEVICE=E10i PRODUCT_NAME=E10i BUILD_ID=3.0.1.A.0.145 BUILD_FINGERPRINT=SEMC/LT15i_1247-1073/LT15i:2.3.3/3.0.1.A.0.145/bn_p:user/release-keys PRIVATE_BUILD_DESC="LT15i-user 2.3.3 3.0.1.A.0.145 bn_P test-keys"
 
 # Add the Torch app
 PRODUCT_PACKAGES += Torch
@@ -29,21 +29,10 @@
 # Ti FM radio
 #$(call inherit-product, vendor/cyanogen/products/ti_fm_radio.mk)
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-X10Mini
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-X10Mini
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-X10Mini-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := X10mini
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy MDPI specific prebuilt files
diff --git a/products/cyanogen_saga.mk b/products/cyanogen_saga.mk
index 8d6c1e9..3d213ff 100644
--- a/products/cyanogen_saga.mk
+++ b/products/cyanogen_saga.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := saga
 PRODUCT_MODEL := HTC Desire S
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_saga BUILD_ID=GRJ90 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=htc_europe/htc_saga/saga:2.3.5/GRJ90/156318.4:user/release-keys PRIVATE_BUILD_DESC="2.10.401.4 CL156318 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_saga BUILD_ID=GRJ90 BUILD_FINGERPRINT=htc_europe/htc_saga/saga:2.3.5/GRJ90/156318.4:user/release-keys PRIVATE_BUILD_DESC="2.10.401.4 CL156318 release-keys"
 
 # Build kernel
 #PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -31,21 +31,10 @@
 # Broadcom FM radio
 $(call inherit-product, vendor/cyanogen/products/bcm_fm_radio.mk)
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-DesireS
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-DesireS
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-DesireS-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := DesireS
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy passion specific prebuilt files
diff --git a/products/cyanogen_satsuma.mk b/products/cyanogen_satsuma.mk
new file mode 100644
index 0000000..9997d59
--- /dev/null
+++ b/products/cyanogen_satsuma.mk
@@ -0,0 +1,44 @@
+# Inherit device configuration for satsuma.
+$(call inherit-product, device/semc/satsuma/device_satsuma.mk)
+
+# Inherit some common cyanogenmod stuff.
+$(call inherit-product, vendor/cyanogen/products/common_full.mk)
+
+# Include GSM stuff
+$(call inherit-product, vendor/cyanogen/products/gsm.mk)
+
+#
+# Setup device specific product configuration.
+#
+PRODUCT_NAME := cyanogen_satsuma
+PRODUCT_BRAND := SEMC
+PRODUCT_DEVICE := satsuma
+PRODUCT_MODEL := ST17i
+PRODUCT_MANUFACTURER := Sony Ericsson
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=ST17i BUILD_ID=4.0.2.A.0.42 BUILD_FINGERPRINT=SEMC/ST17i_1249-6227/ST17i:2.3.4/4.0.2.A.0.42/j_b_3w:user/release-keys PRIVATE_BUILD_DESC="ST17i-user 2.3.4 4.0.2.A.0.42 j_b_3w test-keys"
+
+# Build kernel
+#PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
+#PRODUCT_SPECIFIC_DEFINES += TARGET_KERNEL_DIR=kernel-msm
+#PRODUCT_SPECIFIC_DEFINES += TARGET_KERNEL_CONFIG=cyanogen_satsuma_defconfig
+
+# Extra satsuma overlay
+PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/satsuma
+
+# Add the Torch app
+#PRODUCT_PACKAGES += Torch
+
+
+# BCM FM radio
+#$(call inherit-product, vendor/cyanogen/products/bcm_fm_radio.mk)
+
+# Release name and versioning
+PRODUCT_RELEASE_NAME := XperiaActive-ST17i
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
+
+#
+# Copy passion specific prebuilt files
+#
+PRODUCT_COPY_FILES +=  \
+    vendor/cyanogen/prebuilt/mdpi/media/bootanimation.zip:system/media/bootanimation.zip
diff --git a/products/cyanogen_shadow.mk b/products/cyanogen_shadow.mk
index 23c9246..7960e28 100644
--- a/products/cyanogen_shadow.mk
+++ b/products/cyanogen_shadow.mk
@@ -13,23 +13,12 @@
 PRODUCT_MODEL := DROIDX
 PRODUCT_MANUFACTURER := Motorola
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-DROIDX
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-RC0-DROIDX
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-RC0-DROIDX-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := DROIDX
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
-PRODUCT_BUILD_PROP_OVERRIDES := BUILD_ID=VZW BUILD_DISPLAY_ID=GRH78C PRODUCT_NAME=shadow_vzw TARGET_DEVICE=cdma_shadow BUILD_FINGERPRINT=verizon/shadow_vzw/cdma_shadow/shadow:2.2.1/VZW/23.340:user/ota-rel-keys,release-keys PRODUCT_BRAND=verizon PRIVATE_BUILD_DESC="cdma_shadow-user 2.2.1 VZW 2.3.340 ota-rel-keys,release-keys" BUILD_NUMBER=2.3.340 BUILD_UTC_DATE=1289194863 TARGET_BUILD_TYPE=user BUILD_VERSION_TAGS=release-keys USER=w30471
+PRODUCT_BUILD_PROP_OVERRIDES := BUILD_ID=VZW PRODUCT_NAME=shadow_vzw TARGET_DEVICE=cdma_shadow BUILD_FINGERPRINT=verizon/shadow_vzw/cdma_shadow/shadow:2.2.1/VZW/23.340:user/ota-rel-keys,release-keys PRODUCT_BRAND=verizon PRIVATE_BUILD_DESC="cdma_shadow-user 2.2.1 VZW 2.3.340 ota-rel-keys,release-keys" BUILD_NUMBER=2.3.340 BUILD_UTC_DATE=1289194863 TARGET_BUILD_TYPE=user BUILD_VERSION_TAGS=release-keys USER=w30471
 
 PRODUCT_COPY_FILES +=  \
     vendor/cyanogen/prebuilt/hdpi/media/bootanimation.zip:system/media/bootanimation.zip
diff --git a/products/cyanogen_shakira.mk b/products/cyanogen_shakira.mk
index 4c5f05f..5248dc7 100644
--- a/products/cyanogen_shakira.mk
+++ b/products/cyanogen_shakira.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := shakira
 PRODUCT_MODEL := E15i
 PRODUCT_MANUFACTURER := Sony Ericsson
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_DEVICE=E15i PRODUCT_NAME=E15i BUILD_ID=3.0.1.A.0.145 BUILD_DISPLAY_ID=3.0.1.A.0.145 BUILD_FINGERPRINT=SEMC/LT15i_1247-1073/LT15i:2.3.3/3.0.1.A.0.145/bn_p:user/release-keys PRIVATE_BUILD_DESC="LT15i-user 2.3.3 3.0.1.A.0.145 bn_P test-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_DEVICE=E15i PRODUCT_NAME=E15i BUILD_ID=3.0.1.A.0.145 BUILD_FINGERPRINT=SEMC/LT15i_1247-1073/LT15i:2.3.3/3.0.1.A.0.145/bn_p:user/release-keys PRIVATE_BUILD_DESC="LT15i-user 2.3.3 3.0.1.A.0.145 bn_P test-keys"
 
 # Extra shakira overlay
 PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/shakira
@@ -23,21 +23,10 @@
 # Ti FM radio (not implemeted in libaudio)
 #$(call inherit-product, vendor/cyanogen/products/ti_fm_radio.mk)
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-X8
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-X8
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-X8-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := X8
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy MDPI specific prebuilt files
diff --git a/products/cyanogen_sholes.mk b/products/cyanogen_sholes.mk
index bca257e..fb1121d 100644
--- a/products/cyanogen_sholes.mk
+++ b/products/cyanogen_sholes.mk
@@ -13,23 +13,12 @@
 PRODUCT_MODEL := Droid
 PRODUCT_MANUFACTURER := Motorola
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Droid
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Droid
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Droid-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := Droid
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
-PRODUCT_BUILD_PROP_OVERRIDES := BUILD_ID=FRG83G BUILD_DISPLAY_ID=GWK74 PRODUCT_NAME=voles TARGET_DEVICE=sholes BUILD_FINGERPRINT=verizon/voles/sholes/sholes:2.2.2/FRG83G/91102:user/release-keys PRODUCT_BRAND=verizon PRIVATE_BUILD_DESC="voles-user 2.2.2 FRG83G 91102 release-keys" BUILD_NUMBER=91102 BUILD_UTC_DATE=1294972140 TARGET_BUILD_TYPE=user BUILD_VERSION_TAGS=release-keys USER=android-build
+PRODUCT_BUILD_PROP_OVERRIDES := BUILD_ID=FRG83G PRODUCT_NAME=voles TARGET_DEVICE=sholes BUILD_FINGERPRINT=verizon/voles/sholes/sholes:2.2.2/FRG83G/91102:user/release-keys PRODUCT_BRAND=verizon PRIVATE_BUILD_DESC="voles-user 2.2.2 FRG83G 91102 release-keys" BUILD_NUMBER=91102 BUILD_UTC_DATE=1294972140 TARGET_BUILD_TYPE=user BUILD_VERSION_TAGS=release-keys USER=android-build
 
 PRODUCT_COPY_FILES +=  \
     vendor/cyanogen/prebuilt/hdpi/media/bootanimation.zip:system/media/bootanimation.zip
diff --git a/products/cyanogen_showcasemtd.mk b/products/cyanogen_showcasemtd.mk
index 10c1100..79d9f01 100644
--- a/products/cyanogen_showcasemtd.mk
+++ b/products/cyanogen_showcasemtd.mk
@@ -12,7 +12,7 @@
 PRODUCT_DEVICE := showcasemtd
 PRODUCT_MODEL := SCH-I500
 PRODUCT_MANUFACTURER := samsung
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=soju BUILD_ID=GRJ22 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/soju/crespo:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="soju-user 2.3.4 GRJ22 121341 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=SCH-I500 BUILD_ID=GINGERBREAD BUILD_FINGERPRINT=uscc/SCH-I500/SCH-I500:2.3.4/GINGERBREAD/EH09:user/release-keys PRIVATE_BUILD_DESC="SCH-I500-user 2.3.4 GINGERBREAD EH09 release-keys"
 
 # Extra showcasemtd overlay
 PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/showcasemtd
@@ -20,21 +20,10 @@
 # Add the Torch app
 PRODUCT_PACKAGES += Torch
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Showcase
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Showcase
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Showcase-KANG-$(shell date +%m%d)
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := Showcase
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy galaxys specific prebuilt files
diff --git a/products/cyanogen_smb_a1002.mk b/products/cyanogen_smb_a1002.mk
index 84c67c3..a5ef8be 100644
--- a/products/cyanogen_smb_a1002.mk
+++ b/products/cyanogen_smb_a1002.mk
@@ -11,28 +11,17 @@
 PRODUCT_DEVICE := smb_a1002
 PRODUCT_MODEL := GTablet
 PRODUCT_MANUFACTURER := malata
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=smb_a1002 BUILD_ID=GRJ22 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/passion/passion:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.4 GRJ22 121341 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=smb_a1002 BUILD_ID=GRJ22 BUILD_FINGERPRINT=google/passion/passion:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.4 GRJ22 121341 release-keys"
 
 # Extra overlay
 PRODUCT_PACKAGE_OVERLAYS += \
     vendor/cyanogen/overlay/tablet \
     vendor/cyanogen/overlay/smb_a1002
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-smb_a1002
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-smb_a1002
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-smb_a1002-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := smb_a1002
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy passion specific prebuilt files
diff --git a/products/cyanogen_smb_a1004.mk b/products/cyanogen_smb_a1004.mk
index 8abc444..3f4be7a 100644
--- a/products/cyanogen_smb_a1004.mk
+++ b/products/cyanogen_smb_a1004.mk
@@ -11,28 +11,17 @@
 PRODUCT_DEVICE := smb_a1004
 PRODUCT_MODEL := SMB-A1004
 PRODUCT_MANUFACTURER := malata
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=smb_a1004 BUILD_ID=GRJ22 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/passion/passion:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.4 GRJ22 121341 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=smb_a1004 BUILD_ID=GRJ22 BUILD_FINGERPRINT=google/passion/passion:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.4 GRJ22 121341 release-keys"
 
 # Extra overlay
 PRODUCT_PACKAGE_OVERLAYS += \
     vendor/cyanogen/overlay/tablet \
     vendor/cyanogen/overlay/smb_a1002
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-SMB-A1004
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-SMB-A1004
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-SMB-A1004-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := SMB-A1004
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy passion specific prebuilt files
diff --git a/products/cyanogen_smb_a1011.mk b/products/cyanogen_smb_a1011.mk
index bf7af02..05a53f5 100644
--- a/products/cyanogen_smb_a1011.mk
+++ b/products/cyanogen_smb_a1011.mk
@@ -11,28 +11,17 @@
 PRODUCT_DEVICE := smb_a1011
 PRODUCT_MODEL := SMB-A1011
 PRODUCT_MANUFACTURER := malata
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=smb_a1011 BUILD_ID=GRJ22 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/passion/passion:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.4 GRJ22 121341 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=smb_a1011 BUILD_ID=GRJ22 BUILD_FINGERPRINT=google/passion/passion:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.4 GRJ22 121341 release-keys"
 
 # Extra overlay
 PRODUCT_PACKAGE_OVERLAYS += \
     vendor/cyanogen/overlay/tablet \
     vendor/cyanogen/overlay/smb_a1002
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-SMB-A1011
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-SMB-A1011
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-SMB-A1011-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := SMB-A1011
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy passion specific prebuilt files
diff --git a/products/cyanogen_smb_b9701.mk b/products/cyanogen_smb_b9701.mk
index 298a02c..4d451f9 100644
--- a/products/cyanogen_smb_b9701.mk
+++ b/products/cyanogen_smb_b9701.mk
@@ -11,28 +11,17 @@
 PRODUCT_DEVICE := smb_b9701
 PRODUCT_MODEL := Zpad-T8
 PRODUCT_MANUFACTURER := malata
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=smb_b9701 BUILD_ID=GRJ22 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/passion/passion:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.4 GRJ22 121341 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=smb_b9701 BUILD_ID=GRJ22 BUILD_FINGERPRINT=google/passion/passion:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.4 GRJ22 121341 release-keys"
 
 # Extra overlay
 PRODUCT_PACKAGE_OVERLAYS += \
     vendor/cyanogen/overlay/tablet \
     vendor/cyanogen/overlay/smb_b9701
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-smb_b9701
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-smb_b9701
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-smb_b9701-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := smb_b9701
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy passion specific prebuilt files
diff --git a/products/cyanogen_smultron.mk b/products/cyanogen_smultron.mk
index 15c9689..44e0768 100644
--- a/products/cyanogen_smultron.mk
+++ b/products/cyanogen_smultron.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := smultron
 PRODUCT_MODEL := ST15i
 PRODUCT_MANUFACTURER := Sony Ericsson
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=ST15i BUILD_ID=4.0.A.2.368 BUILD_DISPLAY_ID=4.0.A.2.368 BUILD_FINGERPRINT=SEMC/ST15i_1249-6227/ST15i:2.3.3/4.0.A.2.368/j_b_3w:user/release-keys PRIVATE_BUILD_DESC="ST15i-user 2.3.3 4.0.A.2.368 j_b_3w test-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=ST15i BUILD_ID=4.0.2.A.0.42 BUILD_FINGERPRINT=SEMC/ST15i_1249-6227/ST15i:2.3.4/4.0.2.A.0.42/j_b_3w:user/release-keys PRIVATE_BUILD_DESC="ST15i-user 2.3.4 4.0.2.A.0.42 j_b_3w test-keys"
 
 # Build kernel
 #PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -26,27 +26,16 @@
 PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/smultron
 
 # Add the Torch app
-#PRODUCT_PACKAGES += Torch
+PRODUCT_PACKAGES += Torch
 
 
 # BCM FM radio
 #$(call inherit-product, vendor/cyanogen/products/bcm_fm_radio.mk)
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-XperiaMini-ST15i
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-XperiaMini-ST15i
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-XperiaMini-ST15i-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := XperiaMini-ST15i
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy passion specific prebuilt files
diff --git a/products/cyanogen_speedy.mk b/products/cyanogen_speedy.mk
index 338c4c3..7aa420c 100644
--- a/products/cyanogen_speedy.mk
+++ b/products/cyanogen_speedy.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := speedy
 PRODUCT_MODEL := PG06100
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=GRI40 BUILD_DISPLAY_ID=GRI40 PRODUCT_NAME=htc_speedy BUILD_FINGERPRINT=sprint/htc_speedy/speedy:2.3.3/GRI40/74499:user/release-keys PRIVATE_BUILD_DESC="2.76.651.4 CL74499 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=GRI40 PRODUCT_NAME=htc_speedy BUILD_FINGERPRINT=sprint/htc_speedy/speedy:2.3.3/GRI40/74499:user/release-keys PRIVATE_BUILD_DESC="2.76.651.4 CL74499 release-keys"
 
 # Build kernel
 #PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -31,21 +31,10 @@
 # Broadcom FM radio
 $(call inherit-product, vendor/cyanogen/products/bcm_fm_radio.mk)
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Speedy
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Speedy
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Speedy-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := Speedy
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy passion specific prebuilt files
diff --git a/products/cyanogen_supersonic.mk b/products/cyanogen_supersonic.mk
index 75d5f97..53099ed 100644
--- a/products/cyanogen_supersonic.mk
+++ b/products/cyanogen_supersonic.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := supersonic
 PRODUCT_MODEL := PC36100
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=GRI40 BUILD_DISPLAY_ID=GWK74 PRODUCT_NAME=htc_supersonic BUILD_FINGERPRINT=sprint/htc_supersonic/supersonic:2.3.3/GRI40/61076:user/release-keys PRIVATE_BUILD_DESC="4.24.651.1 CL61076 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += BUILD_ID=GRI40 PRODUCT_NAME=htc_supersonic BUILD_FINGERPRINT=sprint/htc_supersonic/supersonic:2.3.3/GRI40/61076:user/release-keys PRIVATE_BUILD_DESC="4.24.651.1 CL61076 release-keys"
 
 # Build kernel
 #PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -31,21 +31,10 @@
 # Broadcom FM radio
 $(call inherit-product, vendor/cyanogen/products/bcm_fm_radio.mk)
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Supersonic
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Supersonic
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Supersonic-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := Supersonic
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy passion specific prebuilt files
diff --git a/products/cyanogen_tass.mk b/products/cyanogen_tass.mk
new file mode 100644
index 0000000..f8cfad8
--- /dev/null
+++ b/products/cyanogen_tass.mk
@@ -0,0 +1,33 @@
+# Inherit AOSP device configuration for tass
+$(call inherit-product, device/samsung/tass/device_tass.mk)
+
+# Inherit some common cyanogenmod stuff.
+$(call inherit-product, vendor/cyanogen/products/common_full.mk)
+
+# Include GSM stuff
+$(call inherit-product, vendor/cyanogen/products/gsm.mk)
+
+#
+# Setup device specific product configuration.
+#
+PRODUCT_NAME := cyanogen_tass
+PRODUCT_BRAND := samsung_tass
+PRODUCT_DEVICE := tass
+PRODUCT_MODEL := GT-S5570
+PRODUCT_MANUFACTURER := samsung
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=GT-S5570 BUILD_ID=GRI40 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=samsung/GT-S5570/GT-S5570:2.3.4/GINGERBREAD/XXKPI:user/release-keys PRIVATE_BUILD_DESC="GT-S5570-user 2.3.4 GINGERBREAD XXKPI release-keys"
+
+# Add LDPI assets, in addition to MDPI
+PRODUCT_LOCALES += ldpi mdpi
+
+# Extra overlay for LDPI
+PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/ldpi
+
+# Copy bootanimation
+PRODUCT_COPY_FILES +=  \
+    vendor/cyanogen/prebuilt/ldpi/media/bootanimation.zip:system/media/bootanimation.zip
+
+# Release name and versioning
+PRODUCT_RELEASE_NAME := GalaxyMini
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
diff --git a/products/cyanogen_u8150.mk b/products/cyanogen_u8150.mk
new file mode 100644
index 0000000..a28cdbf
--- /dev/null
+++ b/products/cyanogen_u8150.mk
@@ -0,0 +1,29 @@
+# Inherit AOSP device configuration for U8150.
+$(call inherit-product, device/huawei/u8150/device_u8150.mk)
+
+# Inherit some common cyanogenmod stuff.
+$(call inherit-product, vendor/cyanogen/products/common_full.mk)
+
+# Include GSM stuff
+$(call inherit-product, vendor/cyanogen/products/gsm.mk)
+
+#
+# Setup device specific product configuration.
+#
+PRODUCT_NAME := cyanogen_u8150
+PRODUCT_BRAND := huawei
+PRODUCT_DEVICE := u8150
+PRODUCT_MODEL := U8150
+PRODUCT_MANUFACTURER := Huawei
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=u8150 BUILD_ID=GRK39F BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/passion/passion:2.3.6/GRK39F/189904:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.6 GRK39F 189904 release-keys"
+
+# Extra LDPI overlay
+PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/ldpi
+
+# Release name and versioning
+PRODUCT_RELEASE_NAME := U8150
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
+
+PRODUCT_COPY_FILES +=  \
+     vendor/cyanogen/prebuilt/ldpi/media/bootanimation.zip:system/media/bootanimation.zip
diff --git a/products/cyanogen_u8220.mk b/products/cyanogen_u8220.mk
index aa135b8..543bcba 100644
--- a/products/cyanogen_u8220.mk
+++ b/products/cyanogen_u8220.mk
@@ -15,24 +15,12 @@
 PRODUCT_DEVICE := u8220
 PRODUCT_MODEL := U8220/U8230
 PRODUCT_MANUFACTURER := Huawei
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=u8220 BUILD_ID=GRJ22 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/passion/passion:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.4 GRJ22 121341 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=u8220 BUILD_ID=GRJ22 BUILD_FINGERPRINT=google/passion/passion:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.4 GRJ22 121341 release-keys"
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-U8220
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-U8220
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-U8220-KANG
-    endif
-endif
-
+# Release name and versioning
+PRODUCT_RELEASE_NAME := U8220
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy DS specific prebuilt files
diff --git a/products/cyanogen_urushi.mk b/products/cyanogen_urushi.mk
index 6310cfa..97218b7 100644
--- a/products/cyanogen_urushi.mk
+++ b/products/cyanogen_urushi.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := urushi
 PRODUCT_MODEL := ST18i
 PRODUCT_MANUFACTURER := Sony Ericsson
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=ST18i BUILD_ID=4.0.A.2.368 BUILD_DISPLAY_ID=4.0.A.2.368 BUILD_FINGERPRINT=SEMC/ST18i_1247-1061/ST18i:2.3.3/3.0.1.A.0.145/bn_P:user/release-keys PRIVATE_BUILD_DESC="ST18i-user 2.3.3 3.0.1.A.0.145 bn_P test-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=ST18i BUILD_ID=4.0.A.2.368 BUILD_FINGERPRINT=SEMC/ST18i_1247-1061/ST18i:2.3.3/3.0.1.A.0.145/bn_P:user/release-keys PRIVATE_BUILD_DESC="ST18i-user 2.3.3 3.0.1.A.0.145 bn_P test-keys"
 
 # Build kernel
 #PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -32,21 +32,10 @@
 # BCM FM radio
 #$(call inherit-product, vendor/cyanogen/products/bcm_fm_radio.mk)
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-XperiaRay-ST18i
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-XperiaRay-ST18i
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-XperiaRay-ST18i-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := XperiaRay-ST18i
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy passion specific prebuilt files
diff --git a/products/cyanogen_v9.mk b/products/cyanogen_v9.mk
index f6052d3..110439e 100644
--- a/products/cyanogen_v9.mk
+++ b/products/cyanogen_v9.mk
@@ -15,23 +15,12 @@
 PRODUCT_DEVICE := v9
 PRODUCT_MODEL := V9
 PRODUCT_MANUFACTURER := ZTE
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=v9 BUILD_ID=GRJ22 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/passion/passion:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.4 GRJ22 121341 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=v9 BUILD_ID=GRJ22 BUILD_FINGERPRINT=google/passion/passion:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.4 GRJ22 121341 release-keys"
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-V9
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-V9
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-V9-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := V9
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy legend specific prebuilt files
diff --git a/products/cyanogen_vega.mk b/products/cyanogen_vega.mk
index 705d750..bbfd306 100644
--- a/products/cyanogen_vega.mk
+++ b/products/cyanogen_vega.mk
@@ -11,28 +11,17 @@
 PRODUCT_DEVICE := vega
 PRODUCT_MODEL := Vega
 PRODUCT_MANUFACTURER := Advent
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=Vega BUILD_ID=GRJ22 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/passion/passion:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.4 GRJ22 121341 release-keys" BUILD_NUMBER=121341
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=Vega BUILD_ID=GRJ22 BUILD_FINGERPRINT=google/passion/passion:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.4 GRJ22 121341 release-keys" BUILD_NUMBER=121341
 
 # Extra overlay
 PRODUCT_PACKAGE_OVERLAYS += \
     vendor/cyanogen/overlay/tablet \
     vendor/cyanogen/overlay/vega
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Vega
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Vega
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Vega-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := Vega
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy Vega specific prebuilt files
diff --git a/products/cyanogen_vibrantmtd.mk b/products/cyanogen_vibrantmtd.mk
index 58b4cf1..99ba6f2 100644
--- a/products/cyanogen_vibrantmtd.mk
+++ b/products/cyanogen_vibrantmtd.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := vibrantmtd
 PRODUCT_MODEL := SGH-T959
 PRODUCT_MANUFACTURER := Samsung
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=soju BUILD_ID=GRJ22 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/soju/crespo:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="soju-user 2.3.4 GRJ22 121341 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=soju BUILD_ID=GRJ22 BUILD_FINGERPRINT=google/soju/crespo:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="soju-user 2.3.4 GRJ22 121341 release-keys"
 
 # Build kernel
 #PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -39,21 +39,10 @@
     ro.additionalmounts=/mnt/emmc \
     ro.vold.switchablepair=/mnt/sdcard,/mnt/emmc
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Vibrant
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Vibrant
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Vibrant-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := Vibrant
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy galaxys specific prebuilt files
diff --git a/products/cyanogen_vision.mk b/products/cyanogen_vision.mk
index e89533e..14527c8 100644
--- a/products/cyanogen_vision.mk
+++ b/products/cyanogen_vision.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := vision
 PRODUCT_MODEL := HTC Vision
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_vision BUILD_ID=GRI40 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=htc_wwe/htc_vision/vision:2.3.3/GRI40/84109:user/release-keys PRIVATE_BUILD_DESC="2.42.405.2 CL84109 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_vision BUILD_ID=GRI40 BUILD_FINGERPRINT=htc_wwe/htc_vision/vision:2.3.3/GRI40/84109:user/release-keys PRIVATE_BUILD_DESC="2.42.405.2 CL84109 release-keys"
 
 PRODUCT_SPECIFIC_DEFINES = WEBCORE_ACCELERATED_SCROLLING=true
 
@@ -36,21 +36,10 @@
 # Broadcom FM radio
 $(call inherit-product, vendor/cyanogen/products/bcm_fm_radio.mk)
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-vision
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-vision
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-vision-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := vision
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy passion specific prebuilt files
diff --git a/products/cyanogen_vivo.mk b/products/cyanogen_vivo.mk
index 8ef7f38..cfabd40 100644
--- a/products/cyanogen_vivo.mk
+++ b/products/cyanogen_vivo.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := vivo
 PRODUCT_MODEL := Incredible S
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_vivo BUILD_ID=GRI40 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=htc_wwe/htc_vivo/vivo:2.3.3/GRI40/88716:user/release-keys PRIVATE_BUILD_DESC="2.30.405.1 CL88716 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_vivo BUILD_ID=GRI40 BUILD_FINGERPRINT=htc_wwe/htc_vivo/vivo:2.3.3/GRI40/88716:user/release-keys PRIVATE_BUILD_DESC="2.30.405.1 CL88716 release-keys"
 
 # Build kernel
 #PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -31,21 +31,10 @@
 # Broadcom FM radio
 $(call inherit-product, vendor/cyanogen/products/bcm_fm_radio.mk)
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-IncS
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-IncS
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-IncS-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := IncS
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy passion specific prebuilt files
diff --git a/products/cyanogen_vivow.mk b/products/cyanogen_vivow.mk
index a1f8e03..60ffd08 100644
--- a/products/cyanogen_vivow.mk
+++ b/products/cyanogen_vivow.mk
@@ -12,7 +12,7 @@
 PRODUCT_DEVICE := vivow
 PRODUCT_MODEL := Incredible 2
 PRODUCT_MANUFACTURER := HTC
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_vivow BUILD_ID=GRI40 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=verizon_wwe/htc_vivow/vivow:2.3.3/GRI40/81006:user/release-keys PRIVATE_BUILD_DESC="2.18.605.4 CL81006 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=htc_vivow BUILD_ID=GRI40 BUILD_FINGERPRINT=verizon_wwe/htc_vivow/vivow:2.3.3/GRI40/81006:user/release-keys PRIVATE_BUILD_DESC="2.18.605.4 CL81006 release-keys"
 
 # Build kernel
 #PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -28,21 +28,10 @@
 # Broadcom FM radio
 $(call inherit-product, vendor/cyanogen/products/bcm_fm_radio.mk)
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Inc2
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Inc2
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Inc2-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := Inc2
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy passion specific prebuilt files
diff --git a/products/cyanogen_z71.mk b/products/cyanogen_z71.mk
index 3d3f30b..cad37de 100644
--- a/products/cyanogen_z71.mk
+++ b/products/cyanogen_z71.mk
@@ -15,25 +15,14 @@
 PRODUCT_DEVICE := z71
 PRODUCT_MODEL := Z71
 PRODUCT_MANUFACTURER := Commtiva
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=commtiva_z71 BUILD_ID=GRJ22 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/passion/passion:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.4 GRJ22 121341 release-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=commtiva_z71 BUILD_ID=GRJ22 BUILD_FINGERPRINT=google/passion/passion:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="passion-user 2.3.4 GRJ22 121341 release-keys"
 
 #PRODUCT_SPECIFIC_DEFINES += TARGET_PRELINKER_MAP=$(TOP)/vendor/cyanogen/prelink-linux-arm-z71.map
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-Z71
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Z71
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-Z71-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := Z71
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy legend specific prebuilt files
diff --git a/products/cyanogen_zeppelin.mk b/products/cyanogen_zeppelin.mk
index 474b392..8188bf1 100644
--- a/products/cyanogen_zeppelin.mk
+++ b/products/cyanogen_zeppelin.mk
@@ -17,23 +17,12 @@
 PRODUCT_MODEL := MB501
 PRODUCT_MANUFACTURER := Motorola
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-CLIQXT
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-CLIQXT
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-CLIQXT-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := CLIQXT
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=zeppelin TARGET_DEVICE=zeppelin BUILD_ID=GRJ22 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=google/soju/crespo:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="soju-user 2.3.4 GRJ22 121341 release-keys" BUILD_NUMBER=121341
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=zeppelin TARGET_DEVICE=zeppelin BUILD_ID=GRJ22 BUILD_FINGERPRINT=google/soju/crespo:2.3.4/GRJ22/121341:user/release-keys PRIVATE_BUILD_DESC="soju-user 2.3.4 GRJ22 121341 release-keys" BUILD_NUMBER=121341
 
 PRODUCT_COPY_FILES +=  \
     vendor/cyanogen/prebuilt/mdpi/media/bootanimation.zip:system/media/bootanimation.zip
diff --git a/products/cyanogen_zero.mk b/products/cyanogen_zero.mk
index 276ff5d..5b40a6a 100644
--- a/products/cyanogen_zero.mk
+++ b/products/cyanogen_zero.mk
@@ -16,23 +16,12 @@
 PRODUCT_MODEL := Geeksphone ZERO
 PRODUCT_MANUFACTURER := Geeksphone
 
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=geeksphone_zero BUILD_ID=FRG83 BUILD_DISPLAY_ID=GWK74 BUILD_FINGERPRINT=qcom/msm7627_ffa/msm7627_ffa/7x27:2.2.1/FRG83/eng.SIMCOM.20110314.124514:user/test-keys PRIVATE_BUILD_DESC="msm7627_ffa-user 2.2.1 FRG83 eng.SIMCOM.20110314.124514 test-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=geeksphone_zero BUILD_ID=FRG83 BUILD_FINGERPRINT=qcom/msm7627_ffa/msm7627_ffa/7x27:2.2.1/FRG83/eng.SIMCOM.20110314.124514:user/test-keys PRIVATE_BUILD_DESC="msm7627_ffa-user 2.2.1 FRG83 eng.SIMCOM.20110314.124514 test-keys"
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-ZERO
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-ZERO
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-ZERO-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := ZERO
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy legend specific prebuilt files
diff --git a/products/cyanogen_zeus.mk b/products/cyanogen_zeus.mk
index dc3ffb4..151cce9 100644
--- a/products/cyanogen_zeus.mk
+++ b/products/cyanogen_zeus.mk
@@ -15,7 +15,7 @@
 PRODUCT_DEVICE := zeus
 PRODUCT_MODEL := R800i
 PRODUCT_MANUFACTURER := Sony Ericsson
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=Play BUILD_ID=3.0.1.A.0.145 BUILD_DISPLAY_ID=3.0.1.A.0.145 BUILD_FINGERPRINT=SEMC/R800i_1247-6199/R800i:2.3.3/3.0.1.A.0.145/bn_p:user/release-keys PRIVATE_BUILD_DESC="LT15i-user 2.3.3 3.0.1.A.0.145 bn_P test-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=Play BUILD_ID=4.0.2.A.0.42 BUILD_FINGERPRINT=SEMC/R800i_1247-6199/R800i:2.3.4/4.0.2.A.0.42/bn_p:user/release-keys PRIVATE_BUILD_DESC="LT15i-user 2.3.4 4.0.2.A.0.42 bn_P test-keys"
 
 # Build kernel
 #PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -32,21 +32,10 @@
 # BCM FM radio
 #$(call inherit-product, vendor/cyanogen/products/bcm_fm_radio.mk)
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-XperiaPlay-R800i
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-XperiaPlay-R800i
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-XperiaPlay-R800i-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := XperiaPlay-R800i
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy passion specific prebuilt files
diff --git a/products/cyanogen_zeusc.mk b/products/cyanogen_zeusc.mk
index ff4137f..07037a3 100644
--- a/products/cyanogen_zeusc.mk
+++ b/products/cyanogen_zeusc.mk
@@ -1,5 +1,5 @@
-# Inherit device configuration for zeus.
-$(call inherit-product, device/semc/zeus/device_zeus.mk)
+# Inherit device configuration for zeusc.
+$(call inherit-product, device/semc/zeusc/device_zeusc.mk)
 
 # Inherit some common cyanogenmod stuff.
 $(call inherit-product, vendor/cyanogen/products/common_full.mk)
@@ -10,10 +10,10 @@
 #
 PRODUCT_NAME := cyanogen_zeusc
 PRODUCT_BRAND := SEMC
-PRODUCT_DEVICE := zeus
+PRODUCT_DEVICE := zeusc
 PRODUCT_MODEL := R800x
 PRODUCT_MANUFACTURER := Sony Ericsson
-PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=Play BUILD_ID=3.0.1.A.0.145 BUILD_DISPLAY_ID=3.0.1.A.0.145 BUILD_FINGERPRINT=SEMC/R800i_1247-6199/R800i:2.3.3/3.0.1.A.0.145/bn_p:user/release-keys PRIVATE_BUILD_DESC="LT15i-user 2.3.3 3.0.1.A.0.145 bn_P test-keys"
+PRODUCT_BUILD_PROP_OVERRIDES += PRODUCT_NAME=Play BUILD_ID=3.0.1.A.0.145 BUILD_FINGERPRINT=SEMC/R800i_1247-6199/R800i:2.3.3/3.0.1.A.0.145/bn_p:user/release-keys PRIVATE_BUILD_DESC="LT15i-user 2.3.3 3.0.1.A.0.145 bn_P test-keys"
 
 # Build kernel
 #PRODUCT_SPECIFIC_DEFINES += TARGET_PREBUILT_KERNEL=
@@ -21,7 +21,7 @@
 #PRODUCT_SPECIFIC_DEFINES += TARGET_KERNEL_CONFIG=cyanogen_zeus_defconfig
 
 # Extra zeus overlay
-PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/zeus
+PRODUCT_PACKAGE_OVERLAYS += vendor/cyanogen/overlay/zeusc
 
 # Add the Torch app
 #PRODUCT_PACKAGES += Torch
@@ -30,21 +30,10 @@
 # BCM FM radio
 #$(call inherit-product, vendor/cyanogen/products/bcm_fm_radio.mk)
 
-#
-# Set ro.modversion
-#
-ifdef CYANOGEN_NIGHTLY
-    PRODUCT_PROPERTY_OVERRIDES += \
-        ro.modversion=CyanogenMod-7-$(shell date +%m%d%Y)-NIGHTLY-XperiaPlay-R800x
-else
-    ifdef CYANOGEN_RELEASE
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-XperiaPlay-R800x
-    else
-        PRODUCT_PROPERTY_OVERRIDES += \
-            ro.modversion=CyanogenMod-7.1.0-XperiaPlay-R800x-KANG
-    endif
-endif
+# Release name and versioning
+PRODUCT_RELEASE_NAME := XperiaPlayCDMA-R800x
+PRODUCT_VERSION_DEVICE_SPECIFIC :=
+-include vendor/cyanogen/products/common_versions.mk
 
 #
 # Copy passion specific prebuilt files
diff --git a/tools/leoupdate b/tools/leoupdate
deleted file mode 100755
index 5e2ae10..0000000
--- a/tools/leoupdate
+++ /dev/null
@@ -1,35 +0,0 @@
-#!/bin/bash
-
-export LOC="$PWD/out/target/product/leo"
-
-mkdir -p "$LOC"/temp
-
-cd "$LOC"/temp
-echo "extract update.zip"
-unzip -o -qq  "$LOC"/$TARGET_PRODUCT-ota-$TARGET_BUILD_VARIANT.$USER.zip
-
-echo "Making Leo Compatible Update script"
-cd "$LOC"
-cd "$LOC"/temp/META-INF/com/google/android
-echo 'mount("yaffs2", "MTD", "boot", "/boot");' >> temp
-echo 'package_extract_dir("boot", "/boot");' >> temp
-grep -vw assert  updater-script >> temp
-rm -rf updater-script
-grep -vw boot.img  temp > updater-script
-rm -rf temp
-echo Zipping Package
-cd "$LOC"/temp
-rm -rf "$LOC"/temp/boot.img
-rm -rf "$LOC"/temp/boot
-cp -a "$LOC"/boot "$LOC"/temp/boot
-if [[ ! -e "$LOC"/temp/boot/initrd.gz ]] ; then
-  cp -a "$LOC"/ramdisk.img "$LOC"/temp/boot/initrd.gz
-fi
-rm -rf "$LOC"/$TARGET_PRODUCT-ota-$TARGET_BUILD_VARIANT.$USER.zip
-zip -9yr "$LOC"/$TARGET_PRODUCT-ota-$TARGET_BUILD_VARIANT.$USER.zip * > /dev/null
-cd "$LOC"
-
-echo Cleanup...
-rm -rf "$LOC"/temp
-
-echo done
diff --git a/vendorsetup.sh b/vendorsetup.sh
index f48d976..6a304fa 100644
--- a/vendorsetup.sh
+++ b/vendorsetup.sh
@@ -6,6 +6,7 @@
 add_lunch_combo cyanogen_buzz-eng
 add_lunch_combo cyanogen_click-eng
 add_lunch_combo cyanogen_captivatemtd-eng
+add_lunch_combo cyanogen_coconut-eng
 add_lunch_combo cyanogen_crespo-eng
 add_lunch_combo cyanogen_crespo4g-eng
 add_lunch_combo cyanogen_desirec-eng
@@ -25,6 +26,7 @@
 add_lunch_combo cyanogen_hero-eng
 add_lunch_combo cyanogen_heroc-eng
 add_lunch_combo cyanogen_inc-eng
+add_lunch_combo cyanogen_iyokan-eng
 add_lunch_combo cyanogen_jordan-eng
 add_lunch_combo cyanogen_legend-eng
 add_lunch_combo cyanogen_leo-eng
@@ -42,6 +44,7 @@
 add_lunch_combo cyanogen_passion-eng
 add_lunch_combo cyanogen_robyn-eng
 add_lunch_combo cyanogen_saga-eng
+add_lunch_combo cyanogen_satsuma-eng
 add_lunch_combo cyanogen_shadow-eng
 add_lunch_combo cyanogen_shakira-eng
 add_lunch_combo cyanogen_sholes-eng
@@ -53,6 +56,8 @@
 add_lunch_combo cyanogen_smultron-eng
 add_lunch_combo cyanogen_speedy-eng
 add_lunch_combo cyanogen_supersonic-eng
+add_lunch_combo cyanogen_tass-eng
+add_lunch_combo cyanogen_u8150-eng
 add_lunch_combo cyanogen_u8220-eng
 add_lunch_combo cyanogen_urushi-eng
 add_lunch_combo cyanogen_v9-eng