Merge HighFidelityModel
authorBob Rosenberg <bob.rosenberg@nokia.com>
Tue, 20 Apr 2010 13:47:08 +0100
branchHighFidelityModel
changeset 173 0f61ddd27c1c
parent 172 23977b7c7e58 (diff)
parent 171 d580c54fc444 (current diff)
child 174 e7654a759056
Merge
symbian4/mw/hb/package_definition.xml
--- a/symbian3/app/organizer/package_definition.xml	Tue Apr 20 12:25:49 2010 +0100
+++ b/symbian3/app/organizer/package_definition.xml	Tue Apr 20 13:47:08 2010 +0100
@@ -1,78 +1,78 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE SystemDefinition [
-<!ELEMENT SystemDefinition ( systemModel )>
-<!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED
->
-<!-- all paths are relative to the environment variable specified by the root attribute, or SOURCEROOT if not.  -->
-
-<!-- System Model Section of DTD -->
-<!ELEMENT systemModel (layer+)>
-
-<!ELEMENT layer (block* | collection*)*>
-<!-- Kernel Services, Base Services, OS Services, Etc -->
-<!ATTLIST layer
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
->
-
-<!ELEMENT block (subblock* | collection*)*>
- <!-- Generic OS services, Comms Services, etc -->
-<!ATTLIST block
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
->
-
-<!ELEMENT subblock (collection)*>
-<!-- Cellular Baseband Services, Networking Services, etc -->
-<!ATTLIST subblock
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
->
-
-<!ELEMENT collection (component)*>
-<!-- Screen Driver, Content Handling, etc -->
-<!ATTLIST collection
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
->
-
-<!ELEMENT component (unit)*>
-<!-- contains units or is a  package or prebuilt -->
-<!ATTLIST component
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  deprecated CDATA #IMPLIED
-  introduced CDATA #IMPLIED
-  contract CDATA #IMPLIED
-  plugin (Y|N) "N"
-  filter CDATA #IMPLIED
-  class NMTOKENS #IMPLIED
-  supports CDATA #IMPLIED
-  purpose ( optional | mandatory | development ) "optional"
->
-
-<!ELEMENT unit EMPTY >
-<!-- must be buildable (bld.inf) -->
-<!-- bldFile  may someday be removed in favour of mrp -->
-<!ATTLIST unit
-  mrp CDATA #IMPLIED
-  filter CDATA #IMPLIED
-  bldFile CDATA #IMPLIED
-  root CDATA #IMPLIED
-  version NMTOKEN #IMPLIED
-  prebuilt NMTOKEN #IMPLIED
-  late (Y|N) #IMPLIED
-  priority CDATA #IMPLIED
->
-]>
+<!DOCTYPE SystemDefinition [
+<!ELEMENT SystemDefinition ( systemModel )>
+<!ATTLIST SystemDefinition
+  name CDATA #REQUIRED
+  schema CDATA #REQUIRED
+>
+<!-- all paths are relative to the environment variable specified by the root attribute, or SOURCEROOT if not.  -->
+
+<!-- System Model Section of DTD -->
+<!ELEMENT systemModel (layer+)>
+
+<!ELEMENT layer (block* | collection*)*>
+<!-- Kernel Services, Base Services, OS Services, Etc -->
+<!ATTLIST layer
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+  levels NMTOKENS #IMPLIED
+  span CDATA #IMPLIED
+>
+
+<!ELEMENT block (subblock* | collection*)*>
+ <!-- Generic OS services, Comms Services, etc -->
+<!ATTLIST block
+  levels NMTOKENS #IMPLIED
+  span CDATA #IMPLIED
+  level NMTOKEN #IMPLIED
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+>
+
+<!ELEMENT subblock (collection)*>
+<!-- Cellular Baseband Services, Networking Services, etc -->
+<!ATTLIST subblock
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+>
+
+<!ELEMENT collection (component)*>
+<!-- Screen Driver, Content Handling, etc -->
+<!ATTLIST collection
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+  level NMTOKEN #IMPLIED
+>
+
+<!ELEMENT component (unit)*>
+<!-- contains units or is a  package or prebuilt -->
+<!ATTLIST component
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+  deprecated CDATA #IMPLIED
+  introduced CDATA #IMPLIED
+  contract CDATA #IMPLIED
+  plugin (Y|N) "N"
+  filter CDATA #IMPLIED
+  class NMTOKENS #IMPLIED
+  supports CDATA #IMPLIED
+  purpose ( optional | mandatory | development ) "optional"
+>
+
+<!ELEMENT unit EMPTY >
+<!-- must be buildable (bld.inf) -->
+<!-- bldFile  may someday be removed in favour of mrp -->
+<!ATTLIST unit
+  mrp CDATA #IMPLIED
+  filter CDATA #IMPLIED
+  bldFile CDATA #IMPLIED
+  root CDATA #IMPLIED
+  version NMTOKEN #IMPLIED
+  prebuilt NMTOKEN #IMPLIED
+  late (Y|N) #IMPLIED
+  priority CDATA #IMPLIED
+>
+]>
 <SystemDefinition name="Symbian^3" schema="2.0.1">
   <systemModel>
     <layer name="app" long-name="Applications" levels="services apps">
@@ -335,7 +335,7 @@
           <component name="chinesecalendarconverter" long-name="Chinese Calendar Converter" introduced="6.1" purpose="optional">
             <unit bldFile="/sf/app/organizer/pimappsupport/chinesecalendarconverter/group" mrp="/sf/app/organizer/pimappsupport/chinesecalendarconverter/group/app-services_calcon.mrp"/>
           </component>
-          <component name="chinesecalendaralg" long-name="Chinese Calendar Algorithm" introduced="S^3" purpose="optional">
+          <component name="chinesecalendaralg" long-name="Chinese Calendar Algorithm" introduced="^2" purpose="optional" plugin="Y">
             <unit bldFile="/sf/app/organizer/pimappsupport/chinesecalendaralg/group" mrp="/sf/app/organizer/pimappsupport/chinesecalendaralg/group/app-services_chinesecalendaralgorithm.mrp"/>
           </component>
         </collection>
--- a/symbian3/app/organizer/package_definition_3.0.xml	Tue Apr 20 12:25:49 2010 +0100
+++ b/symbian3/app/organizer/package_definition_3.0.xml	Tue Apr 20 13:47:08 2010 +0100
@@ -286,7 +286,7 @@
    <component id="chinesecalendarconverter" name="Chinese Calendar Converter" introduced="6.1" purpose="optional">
     <unit bldFile="pimappsupport/chinesecalendarconverter/group" mrp="pimappsupport/chinesecalendarconverter/group/app-services_calcon.mrp"/>
    </component>
-   <component id="chinesecalendaralg" name="Chinese Calendar Algorithm" introduced="S^3" purpose="optional">
+   <component id="chinesecalendaralg" name="Chinese Calendar Algorithm" introduced="^2" purpose="optional" class="plugin">
     <unit bldFile="pimappsupport/chinesecalendaralg/group" mrp="pimappsupport/chinesecalendaralg/group/app-services_chinesecalendaralgorithm.mrp"/>
    </component>
   </collection>
--- a/symbian3/mw/locationsrv/package_definition.xml	Tue Apr 20 12:25:49 2010 +0100
+++ b/symbian3/mw/locationsrv/package_definition.xml	Tue Apr 20 13:47:08 2010 +0100
@@ -1,78 +1,78 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE SystemDefinition [
-<!ELEMENT SystemDefinition ( systemModel )>
-<!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED
->
-<!-- all paths are relative to the environment variable specified by the root attribute, or SOURCEROOT if not.  -->
-
-<!-- System Model Section of DTD -->
-<!ELEMENT systemModel (layer+)>
-
-<!ELEMENT layer (block* | collection*)*>
-<!-- Kernel Services, Base Services, OS Services, Etc -->
-<!ATTLIST layer
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
->
-
-<!ELEMENT block (subblock* | collection*)*>
- <!-- Generic OS services, Comms Services, etc -->
-<!ATTLIST block
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
->
-
-<!ELEMENT subblock (collection)*>
-<!-- Cellular Baseband Services, Networking Services, etc -->
-<!ATTLIST subblock
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
->
-
-<!ELEMENT collection (component)*>
-<!-- Screen Driver, Content Handling, etc -->
-<!ATTLIST collection
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
->
-
-<!ELEMENT component (unit)*>
-<!-- contains units or is a  package or prebuilt -->
-<!ATTLIST component
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  deprecated CDATA #IMPLIED
-  introduced CDATA #IMPLIED
-  contract CDATA #IMPLIED
-  plugin (Y|N) "N"
-  filter CDATA #IMPLIED
-  class NMTOKENS #IMPLIED
-  supports CDATA #IMPLIED
-  purpose ( optional | mandatory | development ) "optional"
->
-
-<!ELEMENT unit EMPTY >
-<!-- must be buildable (bld.inf) -->
-<!-- bldFile  may someday be removed in favour of mrp -->
-<!ATTLIST unit
-  mrp CDATA #IMPLIED
-  filter CDATA #IMPLIED
-  bldFile CDATA #IMPLIED
-  root CDATA #IMPLIED
-  version NMTOKEN #IMPLIED
-  prebuilt NMTOKEN #IMPLIED
-  late (Y|N) #IMPLIED
-  priority CDATA #IMPLIED
->
-]>
+<!DOCTYPE SystemDefinition [
+<!ELEMENT SystemDefinition ( systemModel )>
+<!ATTLIST SystemDefinition
+  name CDATA #REQUIRED
+  schema CDATA #REQUIRED
+>
+<!-- all paths are relative to the environment variable specified by the root attribute, or SOURCEROOT if not.  -->
+
+<!-- System Model Section of DTD -->
+<!ELEMENT systemModel (layer+)>
+
+<!ELEMENT layer (block* | collection*)*>
+<!-- Kernel Services, Base Services, OS Services, Etc -->
+<!ATTLIST layer
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+  levels NMTOKENS #IMPLIED
+  span CDATA #IMPLIED
+>
+
+<!ELEMENT block (subblock* | collection*)*>
+ <!-- Generic OS services, Comms Services, etc -->
+<!ATTLIST block
+  levels NMTOKENS #IMPLIED
+  span CDATA #IMPLIED
+  level NMTOKEN #IMPLIED
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+>
+
+<!ELEMENT subblock (collection)*>
+<!-- Cellular Baseband Services, Networking Services, etc -->
+<!ATTLIST subblock
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+>
+
+<!ELEMENT collection (component)*>
+<!-- Screen Driver, Content Handling, etc -->
+<!ATTLIST collection
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+  level NMTOKEN #IMPLIED
+>
+
+<!ELEMENT component (unit)*>
+<!-- contains units or is a  package or prebuilt -->
+<!ATTLIST component
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+  deprecated CDATA #IMPLIED
+  introduced CDATA #IMPLIED
+  contract CDATA #IMPLIED
+  plugin (Y|N) "N"
+  filter CDATA #IMPLIED
+  class NMTOKENS #IMPLIED
+  supports CDATA #IMPLIED
+  purpose ( optional | mandatory | development ) "optional"
+>
+
+<!ELEMENT unit EMPTY >
+<!-- must be buildable (bld.inf) -->
+<!-- bldFile  may someday be removed in favour of mrp -->
+<!ATTLIST unit
+  mrp CDATA #IMPLIED
+  filter CDATA #IMPLIED
+  bldFile CDATA #IMPLIED
+  root CDATA #IMPLIED
+  version NMTOKEN #IMPLIED
+  prebuilt NMTOKEN #IMPLIED
+  late (Y|N) #IMPLIED
+  priority CDATA #IMPLIED
+>
+]>
 <SystemDefinition name="Symbian^3" schema="2.0.1">
   <systemModel>
     <layer name="mw" long-name="Middleware" levels="generic specific">
@@ -161,12 +161,14 @@
           <component name="oma_supl_asn_codec_plugin_api" long-name="OMA SUPL ASN Codec Plugin API" filter="s60" class="api">
             <unit bldFile="/sf/mw/locationsrv/locsrv_plat/oma_supl_asn_codec_plugin_api/group"/>
           </component>
+          <component name="query_and_notification_api" long-name="Query and Notification API" filter="s60" introduced="^3" class="api">
+            <!-- needs metadata file: <meta rel="Api" href="locsrv_plat/query_and_notification_api/query_and_notification_api.metaxml"/> -->
+            <unit bldFile="/sf/mw/locationsrv/locsrv_plat/query_and_notification_api/group"/>
+          </component>
           <component name="location_local_variation_api" long-name="Location Local Variation API" filter="s60" class="api">
             <unit bldFile="/sf/mw/locationsrv/locsrv_plat/location_local_variation_api/group"/>
           </component>
-          <component name="query_and_notification_api" long-name="Query and Notification API" class="api" filter="s60">
-            <unit bldFile="/sf/mw/locationsrv/locsrv_plat/query_and_notification_api/group"/>
-          </collection>
+        </collection>
         <collection name="genericpositioningplugins" long-name="Generic Positioning Plugins" level="plugin">
           <component name="locationnpppsy" filter="s60" long-name="Location Positioning Proxy PSY" plugin="Y">
             <unit bldFile="/sf/mw/locationsrv/genericpositioningplugins/locationnpppsy/group"/>
--- a/symbian3/mw/locationsrv/package_definition_3.0.xml	Tue Apr 20 12:25:49 2010 +0100
+++ b/symbian3/mw/locationsrv/package_definition_3.0.xml	Tue Apr 20 13:47:08 2010 +0100
@@ -111,14 +111,14 @@
    <component id="oma_supl_asn_codec_plugin_api" name="OMA SUPL ASN Codec Plugin API" class="api" filter="s60">
     <unit bldFile="locsrv_plat/oma_supl_asn_codec_plugin_api/group"/>
    </component>
+   <component id="query_and_notification_api" name="Query and Notification API" class="api" filter="s60" introduced="^3">
+    <!-- needs metadata file: <meta rel="Api" href="locsrv_plat/query_and_notification_api/query_and_notification_api.metaxml"/> -->
+    <unit bldFile="locsrv_plat/query_and_notification_api/group"/>
+   </component>
    <component id="location_local_variation_api" name="Location Local Variation API" class="api" filter="s60">
     <meta rel="Api" href="locsrv_plat/location_local_variation_api/location_local_variation_api.metaxml"/>
     <unit bldFile="locsrv_plat/location_local_variation_api/group"/>
    </component>
-   <component id="query_and_notification_api" name="Query and Notification API" class="api" filter="s60">
-    <!-- not yet supplied <meta rel="Api" href="locsrv_plat/query_and_notification_api/query_and_notification_api.metaxml"/> -->
-    <unit bldFile="locsrv_plat/query_and_notification_api/group"/>
-   </component>
   </collection>
   <collection id="genericpositioningplugins" name="Generic Positioning Plugins" level="plugin">
    <component id="locationnpppsy" filter="s60" name="Location Positioning Proxy PSY" class="plugin">
--- a/symbian3/mw/qt/package_definition_3.0.xml	Tue Apr 20 12:25:49 2010 +0100
+++ b/symbian3/mw/qt/package_definition_3.0.xml	Tue Apr 20 13:47:08 2010 +0100
@@ -10,7 +10,7 @@
     </collection>
     <collection id="qt_info" name="Qt Info" level="mw">
             <component id="qt_build" name="Qt Build" introduced="^2">
-                <unit bldFile="." qt:proFile="projects.pro" qt:qmakeArgs="-r"/>
+                <unit bldFile="." qt:proFile="projects.pro" qt:qmakeArgs="&quot;QMAKE_MOC=/epoc32/tools/qt/moc.exe&quot; &quot;QMAKE_RCC=/epoc32/tools/qt/rcc.exe&quot; &quot;QMAKE_UIC=/epoc32/tools/qt/uic.exe&quot; -r"/>
/>
             </component>
     </collection>
     <collection id="qtdemos" name="Qt Demos" level="app">
--- a/symbian3/mw/remotemgmt/package_definition.xml	Tue Apr 20 12:25:49 2010 +0100
+++ b/symbian3/mw/remotemgmt/package_definition.xml	Tue Apr 20 13:47:08 2010 +0100
@@ -1,78 +1,78 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE SystemDefinition [
-<!ELEMENT SystemDefinition ( systemModel )>
-<!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED
->
-<!-- all paths are relative to the environment variable specified by the root attribute, or SOURCEROOT if not.  -->
-
-<!-- System Model Section of DTD -->
-<!ELEMENT systemModel (layer+)>
-
-<!ELEMENT layer (block* | collection*)*>
-<!-- Kernel Services, Base Services, OS Services, Etc -->
-<!ATTLIST layer
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
->
-
-<!ELEMENT block (subblock* | collection*)*>
- <!-- Generic OS services, Comms Services, etc -->
-<!ATTLIST block
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
->
-
-<!ELEMENT subblock (collection)*>
-<!-- Cellular Baseband Services, Networking Services, etc -->
-<!ATTLIST subblock
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
->
-
-<!ELEMENT collection (component)*>
-<!-- Screen Driver, Content Handling, etc -->
-<!ATTLIST collection
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
->
-
-<!ELEMENT component (unit)*>
-<!-- contains units or is a  package or prebuilt -->
-<!ATTLIST component
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  deprecated CDATA #IMPLIED
-  introduced CDATA #IMPLIED
-  contract CDATA #IMPLIED
-  plugin (Y|N) "N"
-  filter CDATA #IMPLIED
-  class NMTOKENS #IMPLIED
-  supports CDATA #IMPLIED
-  purpose ( optional | mandatory | development ) "optional"
->
-
-<!ELEMENT unit EMPTY >
-<!-- must be buildable (bld.inf) -->
-<!-- bldFile  may someday be removed in favour of mrp -->
-<!ATTLIST unit
-  mrp CDATA #IMPLIED
-  filter CDATA #IMPLIED
-  bldFile CDATA #IMPLIED
-  root CDATA #IMPLIED
-  version NMTOKEN #IMPLIED
-  prebuilt NMTOKEN #IMPLIED
-  late (Y|N) #IMPLIED
-  priority CDATA #IMPLIED
->
-]>
+<!DOCTYPE SystemDefinition [
+<!ELEMENT SystemDefinition ( systemModel )>
+<!ATTLIST SystemDefinition
+  name CDATA #REQUIRED
+  schema CDATA #REQUIRED
+>
+<!-- all paths are relative to the environment variable specified by the root attribute, or SOURCEROOT if not.  -->
+
+<!-- System Model Section of DTD -->
+<!ELEMENT systemModel (layer+)>
+
+<!ELEMENT layer (block* | collection*)*>
+<!-- Kernel Services, Base Services, OS Services, Etc -->
+<!ATTLIST layer
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+  levels NMTOKENS #IMPLIED
+  span CDATA #IMPLIED
+>
+
+<!ELEMENT block (subblock* | collection*)*>
+ <!-- Generic OS services, Comms Services, etc -->
+<!ATTLIST block
+  levels NMTOKENS #IMPLIED
+  span CDATA #IMPLIED
+  level NMTOKEN #IMPLIED
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+>
+
+<!ELEMENT subblock (collection)*>
+<!-- Cellular Baseband Services, Networking Services, etc -->
+<!ATTLIST subblock
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+>
+
+<!ELEMENT collection (component)*>
+<!-- Screen Driver, Content Handling, etc -->
+<!ATTLIST collection
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+  level NMTOKEN #IMPLIED
+>
+
+<!ELEMENT component (unit)*>
+<!-- contains units or is a  package or prebuilt -->
+<!ATTLIST component
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+  deprecated CDATA #IMPLIED
+  introduced CDATA #IMPLIED
+  contract CDATA #IMPLIED
+  plugin (Y|N) "N"
+  filter CDATA #IMPLIED
+  class NMTOKENS #IMPLIED
+  supports CDATA #IMPLIED
+  purpose ( optional | mandatory | development ) "optional"
+>
+
+<!ELEMENT unit EMPTY >
+<!-- must be buildable (bld.inf) -->
+<!-- bldFile  may someday be removed in favour of mrp -->
+<!ATTLIST unit
+  mrp CDATA #IMPLIED
+  filter CDATA #IMPLIED
+  bldFile CDATA #IMPLIED
+  root CDATA #IMPLIED
+  version NMTOKEN #IMPLIED
+  prebuilt NMTOKEN #IMPLIED
+  late (Y|N) #IMPLIED
+  priority CDATA #IMPLIED
+>
+]>
 <SystemDefinition name="Symbian^3" schema="2.0.1">
   <systemModel>
     <layer name="mw" long-name="Middleware" levels="generic specific">
@@ -197,10 +197,10 @@
           <component name="dm_native_notifier_api" long-name="DM Native Notifier API" filter="s60" class="api">
             <unit bldFile="/sf/mw/remotemgmt/remotemgmt_plat/dm_native_notifier_api/group"/>
           </component>
-          <component name="syncml_ds_error_reporting_api" long-name="SyncML DS Error Reporting API" class="api" filter="s60">
+          <component name="syncml_ds_error_reporting_api" long-name="SyncML DS Error Reporting API" filter="s60" introduced="^3" class="api">
             <unit bldFile="/sf/mw/remotemgmt/remotemgmt_plat/syncml_ds_error_reporting_api/group"/>
           </component>
-          <component name="syncml_ds_customization_api" long-name="SyncML DS Customization API" class="api" filter="s60">
+          <component name="syncml_ds_customization_api" long-name="SyncML DS Customization API" filter="s60" introduced="^3" class="api">
             <unit bldFile="/sf/mw/remotemgmt/remotemgmt_plat/syncml_ds_customization_api/group"/>
           </component>
         </collection>
--- a/symbian3/mw/remotemgmt/package_definition_3.0.xml	Tue Apr 20 12:25:49 2010 +0100
+++ b/symbian3/mw/remotemgmt/package_definition_3.0.xml	Tue Apr 20 13:47:08 2010 +0100
@@ -157,10 +157,10 @@
    <component id="dm_native_notifier_api" name="DM Native Notifier API" class="api" filter="s60">
     <unit bldFile="remotemgmt_plat/dm_native_notifier_api/group"/>
    </component>
-   <component id="syncml_ds_error_reporting_api" name="SyncML DS Error Reporting API" class="api" filter="s60">
+   <component id="syncml_ds_error_reporting_api" name="SyncML DS Error Reporting API" class="api" filter="s60" introduced="^3">
     <unit bldFile="remotemgmt_plat/syncml_ds_error_reporting_api/group"/>
    </component>
-   <component id="syncml_ds_customization_api" name="SyncML DS Customization API" class="api" filter="s60">
+   <component id="syncml_ds_customization_api" name="SyncML DS Customization API" class="api" filter="s60" introduced="^3">
     <unit bldFile="remotemgmt_plat/syncml_ds_customization_api/group"/>
    </component>
   </collection>
--- a/symbian3/mw/web/package_definition.xml	Tue Apr 20 12:25:49 2010 +0100
+++ b/symbian3/mw/web/package_definition.xml	Tue Apr 20 13:47:08 2010 +0100
@@ -1,78 +1,78 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE SystemDefinition [
-<!ELEMENT SystemDefinition ( systemModel )>
-<!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED
->
-<!-- all paths are relative to the environment variable specified by the root attribute, or SOURCEROOT if not.  -->
-
-<!-- System Model Section of DTD -->
-<!ELEMENT systemModel (layer+)>
-
-<!ELEMENT layer (block* | collection*)*>
-<!-- Kernel Services, Base Services, OS Services, Etc -->
-<!ATTLIST layer
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
->
-
-<!ELEMENT block (subblock* | collection*)*>
- <!-- Generic OS services, Comms Services, etc -->
-<!ATTLIST block
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
->
-
-<!ELEMENT subblock (collection)*>
-<!-- Cellular Baseband Services, Networking Services, etc -->
-<!ATTLIST subblock
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
->
-
-<!ELEMENT collection (component)*>
-<!-- Screen Driver, Content Handling, etc -->
-<!ATTLIST collection
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
->
-
-<!ELEMENT component (unit)*>
-<!-- contains units or is a  package or prebuilt -->
-<!ATTLIST component
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  deprecated CDATA #IMPLIED
-  introduced CDATA #IMPLIED
-  contract CDATA #IMPLIED
-  plugin (Y|N) "N"
-  filter CDATA #IMPLIED
-  class NMTOKENS #IMPLIED
-  supports CDATA #IMPLIED
-  purpose ( optional | mandatory | development ) "optional"
->
-
-<!ELEMENT unit EMPTY >
-<!-- must be buildable (bld.inf) -->
-<!-- bldFile  may someday be removed in favour of mrp -->
-<!ATTLIST unit
-  mrp CDATA #IMPLIED
-  filter CDATA #IMPLIED
-  bldFile CDATA #IMPLIED
-  root CDATA #IMPLIED
-  version NMTOKEN #IMPLIED
-  prebuilt NMTOKEN #IMPLIED
-  late (Y|N) #IMPLIED
-  priority CDATA #IMPLIED
->
-]>
+<!DOCTYPE SystemDefinition [
+<!ELEMENT SystemDefinition ( systemModel )>
+<!ATTLIST SystemDefinition
+  name CDATA #REQUIRED
+  schema CDATA #REQUIRED
+>
+<!-- all paths are relative to the environment variable specified by the root attribute, or SOURCEROOT if not.  -->
+
+<!-- System Model Section of DTD -->
+<!ELEMENT systemModel (layer+)>
+
+<!ELEMENT layer (block* | collection*)*>
+<!-- Kernel Services, Base Services, OS Services, Etc -->
+<!ATTLIST layer
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+  levels NMTOKENS #IMPLIED
+  span CDATA #IMPLIED
+>
+
+<!ELEMENT block (subblock* | collection*)*>
+ <!-- Generic OS services, Comms Services, etc -->
+<!ATTLIST block
+  levels NMTOKENS #IMPLIED
+  span CDATA #IMPLIED
+  level NMTOKEN #IMPLIED
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+>
+
+<!ELEMENT subblock (collection)*>
+<!-- Cellular Baseband Services, Networking Services, etc -->
+<!ATTLIST subblock
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+>
+
+<!ELEMENT collection (component)*>
+<!-- Screen Driver, Content Handling, etc -->
+<!ATTLIST collection
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+  level NMTOKEN #IMPLIED
+>
+
+<!ELEMENT component (unit)*>
+<!-- contains units or is a  package or prebuilt -->
+<!ATTLIST component
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+  deprecated CDATA #IMPLIED
+  introduced CDATA #IMPLIED
+  contract CDATA #IMPLIED
+  plugin (Y|N) "N"
+  filter CDATA #IMPLIED
+  class NMTOKENS #IMPLIED
+  supports CDATA #IMPLIED
+  purpose ( optional | mandatory | development ) "optional"
+>
+
+<!ELEMENT unit EMPTY >
+<!-- must be buildable (bld.inf) -->
+<!-- bldFile  may someday be removed in favour of mrp -->
+<!ATTLIST unit
+  mrp CDATA #IMPLIED
+  filter CDATA #IMPLIED
+  bldFile CDATA #IMPLIED
+  root CDATA #IMPLIED
+  version NMTOKEN #IMPLIED
+  prebuilt NMTOKEN #IMPLIED
+  late (Y|N) #IMPLIED
+  priority CDATA #IMPLIED
+>
+]>
 <SystemDefinition name="Symbian^3" schema="2.0.1">
   <systemModel>
     <layer name="mw" long-name="Middleware" levels="generic specific">
@@ -119,8 +119,8 @@
           <component name="download_mgr_client_api_extn" long-name="Download Manager Client API Extension" filter="s60" class="api">
             <unit bldFile="/sf/mw/web/web_plat/download_mgr_client_api_extn/group"/>
           </component>
-          <component name="download_path_plugin_api" long-name="Download Path Plugin API" class="api" filter="s60">
-            <unit bldFile="web_plat/download_path_plugin_api/group"/>
+          <component name="download_path_plugin_api" long-name="Download Path Plugin API" filter="s60" introduced="^3" class="api">
+            <unit bldFile="/sf/mw/web/web_plat/download_path_plugin_api/group"/>
           </component>
           <component name="feeds_engine_api" long-name="Feeds Engine API" filter="s60" class="api">
             <unit bldFile="/sf/mw/web/web_plat/feeds_engine_api/group"/>
@@ -278,7 +278,7 @@
             <unit bldFile="/sf/mw/web/codhandler/roapapp/group"/>
           </component>
           <component name="codhandler_build" filter="s60" long-name="COD Handler Build">
-            <!-- Exports need to go into another component or make this self-contained.
+            <!-- Exports need to go into another component or make this self-contained.
       		#included .hrh file needs to be #included in each of the other components -->
             <unit bldFile="/sf/mw/web/codhandler/group"/>
           </component>
@@ -307,7 +307,7 @@
             <!--<unit bldFile="widgets/widgetstartup/group"/>-->
           </component>
           <component name="widgets_build" filter="s60" long-name="Widgets Build">
-            <!-- when configuration is in place, the #ifdef is no longer needed and this component can be removed 
+            <!-- when configuration is in place, the #ifdef is no longer needed and this component can be removed 
       		#included .hrh file needs to be #included in each of the other components -->
             <unit bldFile="/sf/mw/web/widgets/group"/>
           </component>
--- a/symbian3/mw/web/package_definition_3.0.xml	Tue Apr 20 12:25:49 2010 +0100
+++ b/symbian3/mw/web/package_definition_3.0.xml	Tue Apr 20 13:47:08 2010 +0100
@@ -56,7 +56,7 @@
     <meta rel="Api" href="web_plat/download_mgr_client_api_extn/download_mgr_client_api_extn.metaxml"/>
     <unit bldFile="web_plat/download_mgr_client_api_extn/group"/>
    </component>
-   <component id="download_path_plugin_api" name="Download Path Plugin API" class="api" filter="s60">
+   <component id="download_path_plugin_api" name="Download Path Plugin API" class="api" filter="s60" introduced="^3">
     <unit bldFile="web_plat/download_path_plugin_api/group"/>
    </component>
    <component id="feeds_engine_api" name="Feeds Engine API" class="api" filter="s60">
@@ -231,7 +231,7 @@
     <unit bldFile="codhandler/roapapp/group"/>
    </component>
    <component id="codhandler_build" filter="s60" name="COD Handler Build">
-    <!-- Exports need to go into another component or make this self-contained.
+    <!-- Exports need to go into another component or make this self-contained.
       		#included .hrh file needs to be #included in each of the other components -->
     <unit bldFile="codhandler/group"/>
    </component>
@@ -284,7 +284,7 @@
     <!--<unit bldFile="widgets/widgetstartup/group"/>-->
    </component>
    <component id="widgets_build" filter="s60" name="Widgets Build">
-    <!-- when configuration is in place, the #ifdef is no longer needed and this component can be removed 
+    <!-- when configuration is in place, the #ifdef is no longer needed and this component can be removed 
       		#included .hrh file needs to be #included in each of the other components -->
     <unit bldFile="widgets/group"/>
    </component>
--- a/symbian3/os/deviceplatformrelease/package_definition.xml	Tue Apr 20 12:25:49 2010 +0100
+++ b/symbian3/os/deviceplatformrelease/package_definition.xml	Tue Apr 20 13:47:08 2010 +0100
@@ -1,78 +1,78 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE SystemDefinition [
-<!ELEMENT SystemDefinition ( systemModel )>
-<!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED
->
-<!-- all paths are relative to the environment variable specified by the root attribute, or SOURCEROOT if not.  -->
-
-<!-- System Model Section of DTD -->
-<!ELEMENT systemModel (layer+)>
-
-<!ELEMENT layer (block* | collection*)*>
-<!-- Kernel Services, Base Services, OS Services, Etc -->
-<!ATTLIST layer
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
->
-
-<!ELEMENT block (subblock* | collection*)*>
- <!-- Generic OS services, Comms Services, etc -->
-<!ATTLIST block
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
->
-
-<!ELEMENT subblock (collection)*>
-<!-- Cellular Baseband Services, Networking Services, etc -->
-<!ATTLIST subblock
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
->
-
-<!ELEMENT collection (component)*>
-<!-- Screen Driver, Content Handling, etc -->
-<!ATTLIST collection
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
->
-
-<!ELEMENT component (unit)*>
-<!-- contains units or is a  package or prebuilt -->
-<!ATTLIST component
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  deprecated CDATA #IMPLIED
-  introduced CDATA #IMPLIED
-  contract CDATA #IMPLIED
-  plugin (Y|N) "N"
-  filter CDATA #IMPLIED
-  class NMTOKENS #IMPLIED
-  supports CDATA #IMPLIED
-  purpose ( optional | mandatory | development ) "optional"
->
-
-<!ELEMENT unit EMPTY >
-<!-- must be buildable (bld.inf) -->
-<!-- bldFile  may someday be removed in favour of mrp -->
-<!ATTLIST unit
-  mrp CDATA #IMPLIED
-  filter CDATA #IMPLIED
-  bldFile CDATA #IMPLIED
-  root CDATA #IMPLIED
-  version NMTOKEN #IMPLIED
-  prebuilt NMTOKEN #IMPLIED
-  late (Y|N) #IMPLIED
-  priority CDATA #IMPLIED
->
-]>
+<!DOCTYPE SystemDefinition [
+<!ELEMENT SystemDefinition ( systemModel )>
+<!ATTLIST SystemDefinition
+  name CDATA #REQUIRED
+  schema CDATA #REQUIRED
+>
+<!-- all paths are relative to the environment variable specified by the root attribute, or SOURCEROOT if not.  -->
+
+<!-- System Model Section of DTD -->
+<!ELEMENT systemModel (layer+)>
+
+<!ELEMENT layer (block* | collection*)*>
+<!-- Kernel Services, Base Services, OS Services, Etc -->
+<!ATTLIST layer
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+  levels NMTOKENS #IMPLIED
+  span CDATA #IMPLIED
+>
+
+<!ELEMENT block (subblock* | collection*)*>
+ <!-- Generic OS services, Comms Services, etc -->
+<!ATTLIST block
+  levels NMTOKENS #IMPLIED
+  span CDATA #IMPLIED
+  level NMTOKEN #IMPLIED
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+>
+
+<!ELEMENT subblock (collection)*>
+<!-- Cellular Baseband Services, Networking Services, etc -->
+<!ATTLIST subblock
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+>
+
+<!ELEMENT collection (component)*>
+<!-- Screen Driver, Content Handling, etc -->
+<!ATTLIST collection
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+  level NMTOKEN #IMPLIED
+>
+
+<!ELEMENT component (unit)*>
+<!-- contains units or is a  package or prebuilt -->
+<!ATTLIST component
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+  deprecated CDATA #IMPLIED
+  introduced CDATA #IMPLIED
+  contract CDATA #IMPLIED
+  plugin (Y|N) "N"
+  filter CDATA #IMPLIED
+  class NMTOKENS #IMPLIED
+  supports CDATA #IMPLIED
+  purpose ( optional | mandatory | development ) "optional"
+>
+
+<!ELEMENT unit EMPTY >
+<!-- must be buildable (bld.inf) -->
+<!-- bldFile  may someday be removed in favour of mrp -->
+<!ATTLIST unit
+  mrp CDATA #IMPLIED
+  filter CDATA #IMPLIED
+  bldFile CDATA #IMPLIED
+  root CDATA #IMPLIED
+  version NMTOKEN #IMPLIED
+  prebuilt NMTOKEN #IMPLIED
+  late (Y|N) #IMPLIED
+  priority CDATA #IMPLIED
+>
+]>
 <SystemDefinition name="Symbian^3" schema="2.0.1">
   <systemModel>
     <layer name="os" long-name="OS" levels="hw services">
@@ -156,18 +156,18 @@
             <!-- will shoudl give the id/path something more unique than cenrep -->
             <unit bldFile="/sf/os/deviceplatformrelease/sf_config/cenrep/group"/>
           </component>
-          <component name="rombuild_syborg" filter="sf_build" long-name="Syborg iMaker Config" purpose="development" class="config">
+          <component name="rombuild_syborg" filter="sf_build" long-name="Syborg iMaker Config" purpose="development" introduced="^3" class="config">
             <unit bldFile="/sf/os/deviceplatformrelease/sf_config/rombuild/syborg/group"/>
           </component>
-          <component name="rombuild_zoom2" filter="sf_build" long-name="Zoom2 iMaker Config" purpose="development" class="config">     
+          <component name="rombuild_zoom2" filter="sf_build" long-name="Zoom2 iMaker Config" purpose="development" introduced="^3" class="config">
             <unit bldFile="/sf/os/deviceplatformrelease/sf_config/rombuild/zoom2/group"/>
           </component>
         </collection>
-        <!-- should be located locally in buildplatforms/group 
-    <collection id="s60bld" name="S60 Build">
-      <component id="buildplatforms" filter="s60" name="Build Platforms">
-        <unit bldFile="/tools/buildplatforms/group"/>
-      </component>
+        <!-- should be located locally in buildplatforms/group 
+    <collection id="s60bld" name="S60 Build">
+      <component id="buildplatforms" filter="s60" name="Build Platforms">
+        <unit bldFile="/tools/buildplatforms/group"/>
+      </component>
     </collection>-->
         <collection name="symbianosbld" long-name="Symbian OS Build" level="bld">
           <component name="cedarutils" long-name="Cedar Utils" purpose="development">
--- a/symbian3/os/deviceplatformrelease/package_definition_3.0.xml	Tue Apr 20 12:25:49 2010 +0100
+++ b/symbian3/os/deviceplatformrelease/package_definition_3.0.xml	Tue Apr 20 13:47:08 2010 +0100
@@ -81,13 +81,13 @@
         <unit base="sf_config/config"/>
       </component>
       <component id="cenrep" filter="sf_build" name="ConE Central Repository Config" class="config" purpose="development">
-		<!-- will should give the id/path something more unique than cenrep -->
+		<!-- will shoudl give the id/path something more unique than cenrep -->
         <unit bldFile="sf_config/cenrep/group"/>
       </component>
-      <component id="rombuild_syborg" filter="sf_build" name="Syborg iMaker Config" purpose="development" class="config">
+      <component id="rombuild_syborg" filter="sf_build" name="Syborg iMaker Config" purpose="development" class="config" introduced="^3">
         <unit bldFile="sf_config/rombuild/syborg/group"/>
       </component>
-      <component id="rombuild_zoom2" filter="sf_build" name="Zoom2 iMaker Config" purpose="development" class="config">     
+      <component id="rombuild_zoom2" filter="sf_build" name="Zoom2 iMaker Config" purpose="development" class="config" introduced="^3">
         <unit bldFile="sf_config/rombuild/zoom2/group"/>
       </component>
     </collection>
--- a/symbian3/os/lbs/package_definition.xml	Tue Apr 20 12:25:49 2010 +0100
+++ b/symbian3/os/lbs/package_definition.xml	Tue Apr 20 13:47:08 2010 +0100
@@ -1,78 +1,78 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE SystemDefinition [
-<!ELEMENT SystemDefinition ( systemModel )>
-<!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED
->
-<!-- all paths are relative to the environment variable specified by the root attribute, or SOURCEROOT if not.  -->
-
-<!-- System Model Section of DTD -->
-<!ELEMENT systemModel (layer+)>
-
-<!ELEMENT layer (block* | collection*)*>
-<!-- Kernel Services, Base Services, OS Services, Etc -->
-<!ATTLIST layer
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
->
-
-<!ELEMENT block (subblock* | collection*)*>
- <!-- Generic OS services, Comms Services, etc -->
-<!ATTLIST block
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
->
-
-<!ELEMENT subblock (collection)*>
-<!-- Cellular Baseband Services, Networking Services, etc -->
-<!ATTLIST subblock
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
->
-
-<!ELEMENT collection (component)*>
-<!-- Screen Driver, Content Handling, etc -->
-<!ATTLIST collection
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
->
-
-<!ELEMENT component (unit)*>
-<!-- contains units or is a  package or prebuilt -->
-<!ATTLIST component
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  deprecated CDATA #IMPLIED
-  introduced CDATA #IMPLIED
-  contract CDATA #IMPLIED
-  plugin (Y|N) "N"
-  filter CDATA #IMPLIED
-  class NMTOKENS #IMPLIED
-  supports CDATA #IMPLIED
-  purpose ( optional | mandatory | development ) "optional"
->
-
-<!ELEMENT unit EMPTY >
-<!-- must be buildable (bld.inf) -->
-<!-- bldFile  may someday be removed in favour of mrp -->
-<!ATTLIST unit
-  mrp CDATA #IMPLIED
-  filter CDATA #IMPLIED
-  bldFile CDATA #IMPLIED
-  root CDATA #IMPLIED
-  version NMTOKEN #IMPLIED
-  prebuilt NMTOKEN #IMPLIED
-  late (Y|N) #IMPLIED
-  priority CDATA #IMPLIED
->
-]>
+<!DOCTYPE SystemDefinition [
+<!ELEMENT SystemDefinition ( systemModel )>
+<!ATTLIST SystemDefinition
+  name CDATA #REQUIRED
+  schema CDATA #REQUIRED
+>
+<!-- all paths are relative to the environment variable specified by the root attribute, or SOURCEROOT if not.  -->
+
+<!-- System Model Section of DTD -->
+<!ELEMENT systemModel (layer+)>
+
+<!ELEMENT layer (block* | collection*)*>
+<!-- Kernel Services, Base Services, OS Services, Etc -->
+<!ATTLIST layer
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+  levels NMTOKENS #IMPLIED
+  span CDATA #IMPLIED
+>
+
+<!ELEMENT block (subblock* | collection*)*>
+ <!-- Generic OS services, Comms Services, etc -->
+<!ATTLIST block
+  levels NMTOKENS #IMPLIED
+  span CDATA #IMPLIED
+  level NMTOKEN #IMPLIED
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+>
+
+<!ELEMENT subblock (collection)*>
+<!-- Cellular Baseband Services, Networking Services, etc -->
+<!ATTLIST subblock
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+>
+
+<!ELEMENT collection (component)*>
+<!-- Screen Driver, Content Handling, etc -->
+<!ATTLIST collection
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+  level NMTOKEN #IMPLIED
+>
+
+<!ELEMENT component (unit)*>
+<!-- contains units or is a  package or prebuilt -->
+<!ATTLIST component
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+  deprecated CDATA #IMPLIED
+  introduced CDATA #IMPLIED
+  contract CDATA #IMPLIED
+  plugin (Y|N) "N"
+  filter CDATA #IMPLIED
+  class NMTOKENS #IMPLIED
+  supports CDATA #IMPLIED
+  purpose ( optional | mandatory | development ) "optional"
+>
+
+<!ELEMENT unit EMPTY >
+<!-- must be buildable (bld.inf) -->
+<!-- bldFile  may someday be removed in favour of mrp -->
+<!ATTLIST unit
+  mrp CDATA #IMPLIED
+  filter CDATA #IMPLIED
+  bldFile CDATA #IMPLIED
+  root CDATA #IMPLIED
+  version NMTOKEN #IMPLIED
+  prebuilt NMTOKEN #IMPLIED
+  late (Y|N) #IMPLIED
+  priority CDATA #IMPLIED
+>
+]>
 <SystemDefinition name="Symbian^3" schema="2.0.1">
   <systemModel>
     <layer name="os" long-name="OS" levels="hw services">
@@ -139,20 +139,10 @@
           <component name="privacyprotocolmodule" long-name="Privacy Protocol Module" introduced="^2" purpose="optional" plugin="Y">
             <unit bldFile="/sf/os/lbs/networkprotocolmodules/privacyprotocolmodule/group" mrp="/sf/os/lbs/networkprotocolmodules/privacyprotocolmodule/group/lbs_privacyprotocolmodule.mrp"/>
           </component>
-          <component name="networkprotoutils" long-name="Network Protocol Common Utilities" introduced="^3">
-            <unit bldFile="/sf/os/lbs/networkprotocolmodules/common/utils/group"/>
-          </component>
-          <component name="suplproxyprotocolmodule" long-name="SUPL Proxy Protocol Module" filter="sf_build" introduced="^3" purpose="optional" plugin="Y">
-            <unit bldFile="/sf/os/lbs/networkprotocolmodules/suplproxyprotocolmodule/sfgroup">
-          </component>
           <component name="suplrrlpasn1" filter="sf_build" long-name="SUPL RRLP ASN1 Parser">
             <!-- hack for Foundation builds needed while collection is reorganised into proper components -->
             <unit bldFile="/sf/os/lbs/networkprotocolmodules/common/suplrrlpasn1/group"/>
           </component>
-          <component name="suplrrlpprotocol" filter="sf_build" long-name="SUPL RRLP Protocol Module">
-            <!-- hack for Foundation builds needed while collection is reorganised into proper components -->
-            <unit bldFile="/sf/os/lbs/networkprotocolmodules/suplcontrolplaneprotocols/common/suplrrlpprotocol/sfgroup"/>
-          </component>
         </collection>
         <collection name="lbsapitest" long-name="Location API Tests" level="application-interface">
           <component name="lbshaitest" long-name="Location HAI Tests" introduced="^2" purpose="development" filter="test">
--- a/symbian3/os/lbs/package_definition_3.0.xml	Tue Apr 20 12:25:49 2010 +0100
+++ b/symbian3/os/lbs/package_definition_3.0.xml	Tue Apr 20 13:47:08 2010 +0100
@@ -63,20 +63,10 @@
       <component id="privacyprotocolmodule" name="Privacy Protocol Module" introduced="^2" purpose="optional" class="plugin">
         <unit bldFile="networkprotocolmodules/privacyprotocolmodule/group" mrp="networkprotocolmodules/privacyprotocolmodule/group/lbs_privacyprotocolmodule.mrp"/>
       </component>
-      <component id="networkprotoutils" name="Network Protocol Common Utilities" introduced="^3">
-        <unit bldFile="networkprotocolmodules/common/utils/group"/>
-      </component>
-      <component id="suplproxyprotocolmodule" name="SUPL Proxy Protocol Module" filter="sf_build" introduced="^3" purpose="optional" class="plugin">
-        <unit bldFile="networkprotocolmodules/suplproxyprotocolmodule/sfgroup"/>
-      </component>
       <component id="suplrrlpasn1" filter="sf_build" name="SUPL RRLP ASN1 Parser">
         <!-- hack for Foundation builds needed while collection is reorganised into proper components -->
         <unit bldFile="networkprotocolmodules/common/suplrrlpasn1/group"/>
       </component>
-      <component id="suplrrlpprotocol" filter="sf_build" name="SUPL RRLP Protocol Module">
-        <!-- hack for Foundation builds needed while collection is reorganised into proper components -->
-        <unit bldFile="networkprotocolmodules/suplcontrolplaneprotocols/common/suplrrlpprotocol/sfgroup"/>
-      </component>
     </collection>
     <collection id="lbsapitest" name="Location API Tests" level="application-interface">
       <component id="lbshaitest" name="Location HAI Tests" introduced="^2" purpose="development" filter="test">
--- a/symbian4/app/contacts/package_definition.xml	Tue Apr 20 12:25:49 2010 +0100
+++ b/symbian4/app/contacts/package_definition.xml	Tue Apr 20 13:47:08 2010 +0100
@@ -1,78 +1,78 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE SystemDefinition [
-<!ELEMENT SystemDefinition ( systemModel )>
-<!ATTLIST SystemDefinition
-  name CDATA #REQUIRED
-  schema CDATA #REQUIRED
->
-<!-- all paths are relative to the environment variable specified by the root attribute, or SOURCEROOT if not.  -->
-
-<!-- System Model Section of DTD -->
-<!ELEMENT systemModel (layer+)>
-
-<!ELEMENT layer (block* | collection*)*>
-<!-- Kernel Services, Base Services, OS Services, Etc -->
-<!ATTLIST layer
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
->
-
-<!ELEMENT block (subblock* | collection*)*>
- <!-- Generic OS services, Comms Services, etc -->
-<!ATTLIST block
-  levels NMTOKENS #IMPLIED
-  span CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
->
-
-<!ELEMENT subblock (collection)*>
-<!-- Cellular Baseband Services, Networking Services, etc -->
-<!ATTLIST subblock
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
->
-
-<!ELEMENT collection (component)*>
-<!-- Screen Driver, Content Handling, etc -->
-<!ATTLIST collection
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  level NMTOKEN #IMPLIED
->
-
-<!ELEMENT component (unit)*>
-<!-- contains units or is a  package or prebuilt -->
-<!ATTLIST component
-  name CDATA #REQUIRED
-  long-name CDATA #IMPLIED
-  deprecated CDATA #IMPLIED
-  introduced CDATA #IMPLIED
-  contract CDATA #IMPLIED
-  plugin (Y|N) "N"
-  filter CDATA #IMPLIED
-  class NMTOKENS #IMPLIED
-  supports CDATA #IMPLIED
-  purpose ( optional | mandatory | development ) "optional"
->
-
-<!ELEMENT unit EMPTY >
-<!-- must be buildable (bld.inf) -->
-<!-- bldFile  may someday be removed in favour of mrp -->
-<!ATTLIST unit
-  mrp CDATA #IMPLIED
-  filter CDATA #IMPLIED
-  bldFile CDATA #IMPLIED
-  root CDATA #IMPLIED
-  version NMTOKEN #IMPLIED
-  prebuilt NMTOKEN #IMPLIED
-  late (Y|N) #IMPLIED
-  priority CDATA #IMPLIED
->
-]>
+<!DOCTYPE SystemDefinition [
+<!ELEMENT SystemDefinition ( systemModel )>
+<!ATTLIST SystemDefinition
+  name CDATA #REQUIRED
+  schema CDATA #REQUIRED
+>
+<!-- all paths are relative to the environment variable specified by the root attribute, or SOURCEROOT if not.  -->
+
+<!-- System Model Section of DTD -->
+<!ELEMENT systemModel (layer+)>
+
+<!ELEMENT layer (block* | collection*)*>
+<!-- Kernel Services, Base Services, OS Services, Etc -->
+<!ATTLIST layer
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+  levels NMTOKENS #IMPLIED
+  span CDATA #IMPLIED
+>
+
+<!ELEMENT block (subblock* | collection*)*>
+ <!-- Generic OS services, Comms Services, etc -->
+<!ATTLIST block
+  levels NMTOKENS #IMPLIED
+  span CDATA #IMPLIED
+  level NMTOKEN #IMPLIED
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+>
+
+<!ELEMENT subblock (collection)*>
+<!-- Cellular Baseband Services, Networking Services, etc -->
+<!ATTLIST subblock
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+>
+
+<!ELEMENT collection (component)*>
+<!-- Screen Driver, Content Handling, etc -->
+<!ATTLIST collection
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+  level NMTOKEN #IMPLIED
+>
+
+<!ELEMENT component (unit)*>
+<!-- contains units or is a  package or prebuilt -->
+<!ATTLIST component
+  name CDATA #REQUIRED
+  long-name CDATA #IMPLIED
+  deprecated CDATA #IMPLIED
+  introduced CDATA #IMPLIED
+  contract CDATA #IMPLIED
+  plugin (Y|N) "N"
+  filter CDATA #IMPLIED
+  class NMTOKENS #IMPLIED
+  supports CDATA #IMPLIED
+  purpose ( optional | mandatory | development ) "optional"
+>
+
+<!ELEMENT unit EMPTY >
+<!-- must be buildable (bld.inf) -->
+<!-- bldFile  may someday be removed in favour of mrp -->
+<!ATTLIST unit
+  mrp CDATA #IMPLIED
+  filter CDATA #IMPLIED
+  bldFile CDATA #IMPLIED
+  root CDATA #IMPLIED
+  version NMTOKEN #IMPLIED
+  prebuilt NMTOKEN #IMPLIED
+  late (Y|N) #IMPLIED
+  priority CDATA #IMPLIED
+>
+]>
 <SystemDefinition name="Symbian^4" schema="2.0.1">
   <systemModel>
     <layer name="app" long-name="Applications" levels="services apps">
@@ -127,7 +127,7 @@
           <component name="mobcntmodel" filter="s60" long-name="Mobile Contacts Model" introduced="^4">
             <unit bldFile="/sf/app/contacts/phonebookengines/mobcntmodel"/>
           </component>
-          <component name="" filter="s60" long-name="Mobile Contacts Actions" introduced="^4">
+          <component name="mobcntactions" filter="s60" long-name="Mobile Contacts Actions" introduced="^4">
             <unit bldFile="/sf/app/contacts/phonebookengines/mobcntactions"/>
           </component>
           <component name="cntmaptileservice" filter="s60" long-name="Contacts Map Tile Service" introduced="^4">
--- a/symbian4/mw/hb/package_definition.xml	Tue Apr 20 12:25:49 2010 +0100
+++ b/symbian4/mw/hb/package_definition.xml	Tue Apr 20 13:47:08 2010 +0100
@@ -73,28 +73,28 @@
   priority CDATA #IMPLIED
 >
 ]>
-<SystemDefinition name="Orbit" schema="2.0.1">
-<systemModel>
-<layer name="anonymous">
-<block name="sf:hb" long-name="Orbit" levels="engine test api">
-<collection name="hb_info" long-name="Orbit Info" level="api">
-<component name="hb_build" long-name="Orbit Build" introduced="^4">
-<!-- should break this down into actual components -->
-<unit bldFile="os/deviceplatformrelease/foundation_system/system_model/." proFile="hb.pro"/>
-</component>
-</collection>
-<collection name="hb_test" long-name="Orbit Test" level="test">
-<component name="hb_fute" filter="hb_fute_app" long-name="Fute" introduced="^4">
-<unit bldFile="os/deviceplatformrelease/foundation_system/system_model/tsrc/fute" proFile="fute.pro" qmakeArgs="-r MMP_RULES+=EXPORTUNFROZEN"/>
-</component>
-<component name="hb_unit" filter="test,hb_unit_test,unit_test" long-name="HB Unit Tests" introduced="^4">
-<unit bldFile="os/deviceplatformrelease/foundation_system/system_model/tsrc/unit" proFile="unit.pro" qmakeArgs="-r MMP_RULES+=EXPORTUNFROZEN"/>
-</component>
-<component name="hb_test_resources" filter="test,hb_test_resources" long-name="Orbit Test Resources" introduced="^4">
-<unit bldFile="os/deviceplatformrelease/foundation_system/system_model/tsrc/resources" qmakeArgs="-r MMP_RULES+=EXPORTUNFROZEN" proFile="resources.pro"/>
-</component>
-</collection>
-</block>
-</layer>
-</systemModel>
+<SystemDefinition name="Symbian^4" schema="2.0.1">
+  <systemModel>
+    <layer name="mw" long-name="Middleware" levels="generic specific">
+      <block name="hb" level="generic" long-name="Orbit" levels="engine test api">
+        <collection name="hb_info" long-name="Orbit Info" level="api">
+          <component name="hb_build" long-name="Orbit Build" introduced="^4">
+            <!-- should break this down into actual components -->
+            <unit bldFile="/sf/mw/hb/."/>
+          </component>
+        </collection>
+        <collection name="hb_test" long-name="Orbit Test" level="test">
+          <component name="hb_fute" filter="hb_fute_app" long-name="Fute" introduced="^4">
+            <unit bldFile="/sf/mw/hb/tsrc/fute"/>
+          </component>
+          <component name="hb_unit" filter="test,hb_unit_test,unit_test" long-name="HB Unit Tests" introduced="^4">
+            <unit bldFile="/sf/mw/hb/tsrc/unit"/>
+          </component>
+          <component name="hb_test_resources" filter="test,hb_test_resources" long-name="Orbit Test Resources" introduced="^4">
+            <unit bldFile="/sf/mw/hb/tsrc/resources"/>
+          </component>
+        </collection>
+      </block>
+    </layer>
+  </systemModel>
 </SystemDefinition>
--- a/symbian4/os/cellularsrv/package_definition.xml	Tue Apr 20 12:25:49 2010 +0100
+++ b/symbian4/os/cellularsrv/package_definition.xml	Tue Apr 20 13:47:08 2010 +0100
@@ -87,11 +87,6 @@
             <unit bldFile="/sf/os/cellularsrv/basebandadaptationplugins/basebandchanneladaptorforc32/group" mrp="/sf/os/cellularsrv/basebandadaptationplugins/basebandchanneladaptorforc32/group/networking_c32bca.mrp"/>
           </component>
         </collection>
-        <collection name="fax" long-name="Fax" level="server">
-          <component name="faxclientandserver" long-name="Fax Client and Server" purpose="optional">
-            <unit bldFile="/sf/os/cellularsrv/fax/faxclientandserver/Group" mrp="/sf/os/cellularsrv/fax/faxclientandserver/Group/telephony_fax.mrp"/>
-          </component>
-        </collection>
         <collection name="smsprotocols" long-name="SMS Protocols" level="framework">
           <component name="smsstack" long-name="SMS Stack" introduced="6.0" purpose="mandatory" plugin="Y">
             <unit bldFile="/sf/os/cellularsrv/smsprotocols/smsstack/group" mrp="/sf/os/cellularsrv/smsprotocols/smsstack/group/nbprotocols_smsstackv2.mrp"/>
--- a/symbian4/os/cellularsrv/package_definition_3.0.xml	Tue Apr 20 12:25:49 2010 +0100
+++ b/symbian4/os/cellularsrv/package_definition_3.0.xml	Tue Apr 20 13:47:08 2010 +0100
@@ -11,11 +11,6 @@
         <unit bldFile="basebandadaptationplugins/basebandchanneladaptorforc32/group" mrp="basebandadaptationplugins/basebandchanneladaptorforc32/group/networking_c32bca.mrp"/>
       </component>
     </collection>
-    <collection id="fax" name="Fax" level="server">
-      <component id="faxclientandserver" name="Fax Client and Server" purpose="optional">
-        <unit bldFile="fax/faxclientandserver/Group" mrp="fax/faxclientandserver/Group/telephony_fax.mrp"/>
-      </component>
-    </collection>
     <collection id="smsprotocols" name="SMS Protocols" level="framework">
       <component id="smsstack" name="SMS Stack" introduced="6.0" purpose="mandatory" class="plugin">
         <unit bldFile="smsprotocols/smsstack/group" mrp="smsprotocols/smsstack/group/nbprotocols_smsstackv2.mrp"/>
--- a/symbian4/os/deviceplatformrelease/package_definition.xml	Tue Apr 20 12:25:49 2010 +0100
+++ b/symbian4/os/deviceplatformrelease/package_definition.xml	Tue Apr 20 13:47:08 2010 +0100
@@ -83,61 +83,6 @@
             <unit bldFile="/sf/os/deviceplatformrelease/S60Extras/group"/>
           </component>
         </collection>
-        <collection name="locfiles" long-name="Locale Files" level="mid">
-          <component name="locfiles_build" filter="s60" long-name="S60 Locale Files Build" purpose="development" class="config">
-            <!-- need to move component down a directory -->
-            <unit bldFile="/sf/os/deviceplatformrelease/locfiles/group"/>
-          </component>
-          <component name="locfiles_set1" long-name="Locale Files Set 1" filter="s60" class="config">
-            <unit bldFile="/sf/os/deviceplatformrelease/locfiles/group/set1"/>
-          </component>
-          <component name="locfiles_set2" long-name="Locale Files Set 2" filter="s60" class="config">
-            <unit bldFile="/sf/os/deviceplatformrelease/locfiles/group/set2"/>
-          </component>
-          <component name="locfiles_set3" long-name="Locale Files Set 3" filter="s60" class="config">
-            <unit bldFile="/sf/os/deviceplatformrelease/locfiles/group/set3"/>
-          </component>
-          <component name="locfiles_set4" long-name="Locale Files Set 4" filter="s60" class="config">
-            <unit bldFile="/sf/os/deviceplatformrelease/locfiles/group/set4"/>
-          </component>
-          <component name="locfiles_set5" long-name="Locale Files Set 5" filter="s60" class="config">
-            <unit bldFile="/sf/os/deviceplatformrelease/locfiles/group/set5"/>
-          </component>
-          <component name="locfiles_set6" long-name="Locale Files Set 6" filter="s60" class="config">
-            <unit bldFile="/sf/os/deviceplatformrelease/locfiles/group/set6"/>
-          </component>
-          <!-- is the a problem with SF builds with the following? -->
-          <component name="locfiles_set7" long-name="Locale Files Set 7" filter="s60" class="config">
-            <unit bldFile="/sf/os/deviceplatformrelease/locfiles/group/set7"/>
-          </component>
-          <component name="locfiles_set8" long-name="Locale Files Set 8" filter="s60" class="config">
-            <unit bldFile="/sf/os/deviceplatformrelease/locfiles/group/set8"/>
-          </component>
-          <component name="locfiles_set9" long-name="Locale Files Set 9" filter="s60" class="config">
-            <unit bldFile="/sf/os/deviceplatformrelease/locfiles/group/set9"/>
-          </component>
-          <component name="locfiles_set10" long-name="Locale Files Set 10" filter="s60" class="config">
-            <unit bldFile="/sf/os/deviceplatformrelease/locfiles/group/set10"/>
-          </component>
-          <component name="locfiles_set11" long-name="Locale Files Set 11" filter="s60" class="config">
-            <unit bldFile="/sf/os/deviceplatformrelease/locfiles/group/set11"/>
-          </component>
-          <component name="locfiles_set12" long-name="Locale Files Set 12" filter="s60" class="config">
-            <unit bldFile="/sf/os/deviceplatformrelease/locfiles/group/set12"/>
-          </component>
-          <component name="locfiles_set13" long-name="Locale Files Set 13" filter="s60" class="config">
-            <unit bldFile="/sf/os/deviceplatformrelease/locfiles/group/set13"/>
-          </component>
-          <component name="locfiles_set14" long-name="Locale Files Set 14" filter="s60" class="config">
-            <unit bldFile="/sf/os/deviceplatformrelease/locfiles/group/set14"/>
-          </component>
-          <component name="locfiles_set15" long-name="Locale Files Set 15" filter="s60" class="config">
-            <unit bldFile="/sf/os/deviceplatformrelease/locfiles/group/set15"/>
-          </component>
-          <component name="locfiles_set16" long-name="Locale Files Set 16" filter="s60" class="config">
-            <unit bldFile="/sf/os/deviceplatformrelease/locfiles/group/set16"/>
-          </component>
-        </collection>
         <collection name="version" long-name="Version" level="top">
           <!-- collection is really a component. Need to move down a directory -->
           <component name="version_build" filter="s60" long-name="Version Build" purpose="development" class="config">
@@ -156,6 +101,12 @@
             <!-- will shoudl give the id/path something more unique than cenrep -->
             <unit bldFile="/sf/os/deviceplatformrelease/sf_config/cenrep/group"/>
           </component>
+          <component name="rombuild_syborg" filter="sf_build" long-name="Syborg iMaker Config" purpose="development" introduced="^3" class="config">
+            <unit bldFile="/sf/os/deviceplatformrelease/sf_config/rombuild/syborg/group"/>
+          </component>
+          <component name="rombuild_zoom2" filter="sf_build" long-name="Zoom2 iMaker Config" purpose="development" introduced="^3" class="config">
+            <unit bldFile="/sf/os/deviceplatformrelease/sf_config/rombuild/zoom2/group"/>
+          </component>
         </collection>
         <!-- should be located locally in buildplatforms/group 
     <collection id="s60bld" name="S60 Build">
--- a/symbian4/os/deviceplatformrelease/package_definition_3.0.xml	Tue Apr 20 12:25:49 2010 +0100
+++ b/symbian4/os/deviceplatformrelease/package_definition_3.0.xml	Tue Apr 20 13:47:08 2010 +0100
@@ -7,61 +7,6 @@
         <unit bldFile="S60Extras/group"/>
       </component>
     </collection>
-    <collection id="locfiles" name="Locale Files" level="mid">
-      <component id="locfiles_build" filter="s60" name="S60 Locale Files Build" class="config" purpose="development">
-      	<!-- need to move component down a directory -->
-        <unit bldFile="locfiles/group"/>
-      </component>
-	<component id="locfiles_set1" name="Locale Files Set 1" class="config" filter="s60">
-		<unit bldFile="locfiles/group/set1"/>
-	</component>
-	<component id="locfiles_set2" name="Locale Files Set 2" class="config" filter="s60">
-		<unit bldFile="locfiles/group/set2"/>
-	</component>
-	<component id="locfiles_set3" name="Locale Files Set 3" class="config" filter="s60">
-		<unit bldFile="locfiles/group/set3"/>
-	</component>
-	<component id="locfiles_set4" name="Locale Files Set 4" class="config" filter="s60">
-		<unit bldFile="locfiles/group/set4"/>
-	</component>
-	<component id="locfiles_set5" name="Locale Files Set 5" class="config" filter="s60">
-		<unit bldFile="locfiles/group/set5"/>
-	</component>
-	<component id="locfiles_set6" name="Locale Files Set 6" class="config" filter="s60">
-		<unit bldFile="locfiles/group/set6"/>
-	</component>
-	<!-- is the a problem with SF builds with the following? -->
-	<component id="locfiles_set7" name="Locale Files Set 7" class="config" filter="s60">
-		<unit bldFile="locfiles/group/set7"/>
-	</component>
-	<component id="locfiles_set8" name="Locale Files Set 8" class="config" filter="s60">
-		<unit bldFile="locfiles/group/set8"/>
-	</component>
-	<component id="locfiles_set9" name="Locale Files Set 9" class="config" filter="s60">
-		<unit bldFile="locfiles/group/set9"/>
-	</component>
-	<component id="locfiles_set10" name="Locale Files Set 10" class="config" filter="s60">
-		<unit bldFile="locfiles/group/set10"/>
-	</component>
-	<component id="locfiles_set11" name="Locale Files Set 11" class="config" filter="s60">
-		<unit bldFile="locfiles/group/set11"/>
-	</component>
-	<component id="locfiles_set12" name="Locale Files Set 12" class="config" filter="s60">
-		<unit bldFile="locfiles/group/set12"/>
-	</component>
-	<component id="locfiles_set13" name="Locale Files Set 13" class="config" filter="s60">
-		<unit bldFile="locfiles/group/set13"/>
-	</component>
-	<component id="locfiles_set14" name="Locale Files Set 14" class="config" filter="s60">
-		<unit bldFile="locfiles/group/set14"/>
-	</component>
-	<component id="locfiles_set15" name="Locale Files Set 15" class="config" filter="s60">
-		<unit bldFile="locfiles/group/set15"/>
-	</component>
-	<component id="locfiles_set16" name="Locale Files Set 16" class="config" filter="s60">
-		<unit bldFile="locfiles/group/set16"/>
-	</component>      
-    </collection>
     <collection id="version" name="Version" level="top">
     	<!-- collection is really a component. Need to move down a directory -->    
       <component id="version_build" filter="s60" name="Version Build" class="config" purpose="development">
@@ -84,6 +29,12 @@
 		<!-- will shoudl give the id/path something more unique than cenrep -->
         <unit bldFile="sf_config/cenrep/group"/>
       </component>
+      <component id="rombuild_syborg" filter="sf_build" name="Syborg iMaker Config" purpose="development" class="config" introduced="^3">
+        <unit bldFile="sf_config/rombuild/syborg/group"/>
+      </component>
+      <component id="rombuild_zoom2" filter="sf_build" name="Zoom2 iMaker Config" purpose="development" class="config" introduced="^3">
+        <unit bldFile="sf_config/rombuild/zoom2/group"/>
+      </component>
     </collection>
         <!-- should be located locally in buildplatforms/group 
     <collection id="s60bld" name="S60 Build">
--- a/symbian4/os/devicesrv/package_definition_3.0.xml	Tue Apr 20 12:25:49 2010 +0100
+++ b/symbian4/os/devicesrv/package_definition_3.0.xml	Tue Apr 20 13:47:08 2010 +0100
@@ -286,9 +286,15 @@
     <unit bldFile="commonservices/platformenv/group"/>
    </component>
    <component id="sysutil" name="System Utilities" purpose="mandatory" introduced="ER5">
+    <meta rel="config"> <!-- how can this be mandatory if it can be configured out? -->
+      <defined condition="SYMBIAN_BAFL_SYSUTIL"/>
+    </meta>
     <unit bldFile="commonservices/sysutil/group" mrp="commonservices/sysutil/group/sysutil.mrp"/>
    </component>
    <component id="activitymanager" name="Activity Manager" purpose="mandatory" introduced="ER5">
+    <meta rel="config"> <!-- how can this be mandatory if it can be configured out? -->
+      <defined condition="SYMBIAN_BAFL_SYSUTIL"/>
+    </meta>
     <unit bldFile="commonservices/activitymanager/group" mrp="commonservices/activitymanager/group/activitymanager.mrp"/>
    </component>
   </collection>
@@ -408,11 +414,20 @@
     <unit bldFile="sysstatemgmt/systemstarter/group" mrp="sysstatemgmt/systemstarter/group/app-framework_sysstart.mrp"/>
    </component>
    <component id="systemstatemgr" name="System State Manager" introduced="^3" purpose="mandatory">
+    <meta rel="config"> <!-- how can this be mandatory if it can be configured out? -->
+      <defined condition="SYMBIAN_SYSTEM_STATE_MANAGEMENT"/>
+    </meta>
     <unit bldFile="sysstatemgmt/systemstatemgr/group" mrp="sysstatemgmt/systemstatemgr/group/app-framework_ssma.mrp"/>
    </component>
    <component id="systemstateplugins" name="System State Plugins" introduced="^3" purpose="optional" class="plugin">
+    <meta rel="config">
+      <defined condition="SYMBIAN_SYSTEM_STATE_MANAGEMENT"/>
+    </meta>
     <unit bldFile="sysstatemgmt/systemstateplugins/group" mrp="sysstatemgmt/systemstateplugins/group/app-framework_ssplugins.mrp"/>
    </component>
+    <meta rel="config">
+      <defined condition="SYMBIAN_SYSTEM_STATE_MANAGEMENT"/>
+    </meta>
    <component id="systemstatereferenceplugins" name="System State Reference Plugins" introduced="^3" purpose="optional" class="plugin">
     <unit bldFile="sysstatemgmt/systemstatereferenceplugins/group" mrp="sysstatemgmt/systemstatereferenceplugins/group/app-framework_ssrefplugins.mrp"/>
    </component>
--- a/symbian4/os/kernelhwsrv/package_definition.xml	Tue Apr 20 12:25:49 2010 +0100
+++ b/symbian4/os/kernelhwsrv/package_definition.xml	Tue Apr 20 13:47:08 2010 +0100
@@ -137,14 +137,6 @@
             <!-- owned and maintained by usb package. To be moved there as soon as technical limitations are resolved -->
             <unit bldFile="/sf/os/kernelhwsrv/kernel/eka/drivers/usbc" mrp="/sf/os/kernelhwsrv/kernel/eka/drivers/usbc/base_e32_drivers_usbcli.mrp"/>
           </component>
-          <component name="usbdescriptors" long-name="USB Descriptors" purpose="optional">
-            <!-- owned and maintained by usb package. To be moved there as soon as technical limitations are resolved -->
-            <unit bldFile="/sf/os/kernelhwsrv/kernel/eka/drivers/usbho/usbdescriptors" mrp="/sf/os/kernelhwsrv/kernel/eka/drivers/usbho/usbdescriptors/base_drivers_usbdescriptors.mrp"/>
-          </component>
-          <component name="usbdi_utils" long-name="USB DI Utils" purpose="optional">
-            <!-- owned and maintained by usb package. To be moved there as soon as technical limitations are resolved -->
-            <unit bldFile="/sf/os/kernelhwsrv/kernel/eka/drivers/usbho/usbdi_utils" mrp="/sf/os/kernelhwsrv/kernel/eka/drivers/usbho/usbdi_utils/base_drivers_usbdi_utils.mrp"/>
-          </component>
         </collection>
         <collection name="driversupport" long-name="Generic Driver Support" level="hw-if">
           <component name="mediadrivers" long-name="Media Drivers" purpose="optional">
--- a/symbian4/os/kernelhwsrv/package_definition_3.0.xml	Tue Apr 20 12:25:49 2010 +0100
+++ b/symbian4/os/kernelhwsrv/package_definition_3.0.xml	Tue Apr 20 13:47:08 2010 +0100
@@ -61,14 +61,6 @@
         <!-- owned and maintained by usb package. To be moved there as soon as technical limitations are resolved -->
         <unit bldFile="kernel/eka/drivers/usbc" mrp="kernel/eka/drivers/usbc/base_e32_drivers_usbcli.mrp"/>
       </component>
-      <component id="usbdescriptors" name="USB Descriptors" purpose="optional">
-        <!-- owned and maintained by usb package. To be moved there as soon as technical limitations are resolved -->
-        <unit bldFile="kernel/eka/drivers/usbho/usbdescriptors" mrp="kernel/eka/drivers/usbho/usbdescriptors/base_drivers_usbdescriptors.mrp"/>
-      </component>
-      <component id="usbdi_utils" name="USB DI Utils" purpose="optional">
-        <!-- owned and maintained by usb package. To be moved there as soon as technical limitations are resolved -->
-        <unit bldFile="kernel/eka/drivers/usbho/usbdi_utils" mrp="kernel/eka/drivers/usbho/usbdi_utils/base_drivers_usbdi_utils.mrp"/>
-      </component>
     </collection>
     <collection id="driversupport" name="Generic Driver Support" level="hw-if">
       <component id="mediadrivers" name="Media Drivers" purpose="optional">
--- a/symbian4/os/ossrv/package_definition_3.0.xml	Tue Apr 20 12:25:49 2010 +0100
+++ b/symbian4/os/ossrv/package_definition_3.0.xml	Tue Apr 20 13:47:08 2010 +0100
@@ -1,6 +1,6 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <SystemDefinition schema="3.0.0">
- <package id="ossrv" name="Generic OS Services" levels="physical-abstraction app-libs encoding translation data-services utilities">
+  <package id="ossrv" name="Generic OS Services" levels="physical-abstraction app-libs encoding translation data-services utilities">
   <collection id="ossrv_pub" name="Generic OS Services Public Interfaces" level="utilities">
    <component id="boost_apis" name="Boost APIs" class="api" filter="s60">
     <meta rel="Api" href="ossrv_pub/boost_apis/boost_apis.metaxml"/>
@@ -362,140 +362,137 @@
     <unit bldFile="ossrv_plat/libutils/group"/>
    </component>
   </collection>
-  <collection id="stdlibs" name="Standard Libraries" level="translation">
-   <component id="libz" filter="s60" name="Z Compression Library">
-    <unit bldFile="stdlibs/libz/group"/>
-   </component>
-   <component id="libcrypt" filter="s60" name="Crypt Library">
-    <unit bldFile="stdlibs/libcrypt/group"/>
-   </component>
-  </collection>
-  <collection id="ssl" name="SSL" level="data-services">
-   <component id="libcrypto" filter="s60" name="Crypto Library">
-    <unit bldFile="ssl/libcrypto/group"/>
-   </component>
-   <component id="libssl" filter="s60" purpose="development" name="SSL Library">
-    <unit bldFile="ssl/libssl/group"/>
-   </component>
-  </collection>
-  <collection id="glib" name="GLib" level="utilities">
-   <component id="glibbackend" filter="s60" name="GLib Backend">
-    <unit bldFile="glib/build/symbian/glibbackend/group"/>
-    <!-- Move to here: <unit bldFile="glib/glibbackend/group"/> -->
-   </component>
-   <component id="libglib" filter="s60" name="GLib Library">
-    <unit bldFile="glib/build/symbian/glib/group"/>
-    <!-- Move to here: <unit bldFile="glib/libglib/group"/> -->
-   </component>
-   <component id="libgthread" filter="s60" name="Libg Thread">
-    <unit bldFile="glib/build/symbian/gthread/group"/>
-    <!-- Move to here:     <unit bldFile="glib/libgthread/group"/> -->
-   </component>
-   <component id="libgmodule" filter="s60" name="Libg Module">
-    <unit bldFile="glib/build/symbian/gmodule/group"/>
-    <!-- Move to here:         <unit bldFile="glib/libgmodule/group"/> -->
-   </component>
-   <component id="libgobject" filter="s60" name="Libg Object">
-    <unit bldFile="glib/build/symbian/gobject/group"/>
-    <!-- Move to here:         <unit bldFile="glib/libgobject/group"/> -->
-   </component>
-  </collection>
-  <collection id="stdcpp" name="C++ Standard Library" level="translation">
-   <!-- collection is really a component. Needs to be moved down a directory -->
-   <component id="stdcpp_build" filter="s60" name="Stdcpp">
-    <unit bldFile="stdcpp/group"/>
-   </component>
-  </collection>
-  <collection id="ofdbus" name="Open Foundation D-Bus" level="utilities">
-   <component id="dbus" filter="s60" name="D-Bus">
-    <unit bldFile="ofdbus/dbus/group"/>
-   </component>
-   <component id="dbus-glib" filter="s60" name="D-Bus GLib">
-    <unit bldFile="ofdbus/dbus-glib/group"/>
-   </component>
-   <component id="ofdbus_rom" filter="s60" name="D-Bus ROM">
-    <!-- Contains IBY for for dbus. Should remove #includes to above components and move this down a directory 
+    <collection id="stdlibs" name="Standard Libraries" level="translation">
+      <component id="libz" filter="s60" name="Z Compression Library">
+        <unit bldFile="stdlibs/libz/group"/>
+      </component>
+      <component id="libcrypt" filter="s60" name="Crypt Library">
+        <unit bldFile="stdlibs/libcrypt/group"/>
+      </component>
+    </collection>
+    <collection id="ssl" name="SSL" level="data-services">
+      <component id="libcrypto" filter="s60" name="Crypto Library">
+        <unit bldFile="ssl/libcrypto/group"/>
+      </component>
+      <component id="libssl" filter="s60" purpose="development" name="SSL Library">
+        <unit bldFile="ssl/libssl/group"/>
+      </component>
+    </collection>
+    <collection id="glib" name="GLib" level="utilities">
+      <component id="glibbackend" filter="s60" name="GLib Backend">
+        <unit bldFile="glib/build/symbian/glibbackend/group"/>
+        <!-- Move to here: <unit bldFile="glib/glibbackend/group"/> -->
+      </component>
+      <component id="libglib" filter="s60" name="GLib Library">
+        <unit bldFile="glib/build/symbian/glib/group"/>
+        <!-- Move to here: <unit bldFile="glib/libglib/group"/> -->
+      </component>
+      <component id="libgthread" filter="s60" name="Libg Thread">
+        <unit bldFile="glib/build/symbian/gthread/group"/>
+        <!-- Move to here:     <unit bldFile="glib/libgthread/group"/> -->
+      </component>
+      <component id="libgmodule" filter="s60" name="Libg Module">
+        <unit bldFile="glib/build/symbian/gmodule/group"/>
+        <!-- Move to here:         <unit bldFile="glib/libgmodule/group"/> -->
+      </component>
+      <component id="libgobject" filter="s60" name="Libg Object">
+        <unit bldFile="glib/build/symbian/gobject/group"/>
+        <!-- Move to here:         <unit bldFile="glib/libgobject/group"/> -->
+      </component>
+    </collection>
+    <collection id="stdcpp" name="C++ Standard Library" level="translation">
+    	<!-- collection is really a component. Needs to be moved down a directory -->
+      <component id="stdcpp_build" filter="s60" name="Stdcpp">
+        <unit bldFile="stdcpp/group"/>
+      </component>
+    </collection>
+    <collection id="ofdbus" name="Open Foundation D-Bus" level="utilities">
+      <component id="dbus" filter="s60" name="D-Bus">
+        <unit bldFile="ofdbus/dbus/group"/>
+      </component>
+      <component id="dbus-glib" filter="s60" name="D-Bus GLib">
+        <unit bldFile="ofdbus/dbus-glib/group"/>
+      </component>
+      <component id="ofdbus_rom" filter="s60" name="D-Bus ROM">
+            <!-- Contains IBY for for dbus. Should remove #includes to above components and move this down a directory 
             Consider moving IBY file to one of the above as well and removing this component entirely -->
-    <unit bldFile="ofdbus/group"/>
-   </component>
-  </collection>
-  <collection id="utilitylibraries" name="Utility Libraries" level="encoding">
-   <component id="libutils" filter="s60" name="Utility Library">
-    <unit bldFile="utilitylibraries/libutils/group"/>
-   </component>
-  </collection>
-  <collection id="genericservices" name="Generic Services" level="utilities">
-   <component id="s60compatibilityheaders" name="S60 Compatibility Headers" filter="gt" purpose="optional">
-    <unit version="tb101sf" bldFile="genericservices/s60compatibilityheaders/groupsymtb101sf" mrp="genericservices/s60compatibilityheaders/groupsymtb101sf/tools_s60_header_compatsymtb101sf.mrp"/>
-   </component>
-   <component id="mimerecognitionfw" name="MIME Recognition Framework" purpose="mandatory">
-    <unit bldFile="genericservices/mimerecognitionfw/group" mrp="genericservices/mimerecognitionfw/group/app-framework_emime.mrp"/>
-   </component>
-   <component id="systemagent" name="System Agent" introduced="9.0" purpose="mandatory">
-    <unit bldFile="genericservices/systemagent/group" mrp="genericservices/systemagent/group/syslibs_sysagent2.mrp"/>
-   </component>
-   <component id="taskscheduler" name="Task Scheduler" introduced="6.0" purpose="optional">
-    <unit bldFile="genericservices/taskscheduler/group" mrp="genericservices/taskscheduler/group/syslibs_schsvr.mrp"/>
-   </component>
-   <component id="activebackupclient" name="Active Backup Client" purpose="optional">
-    <unit bldFile="genericservices/activebackupclient/group" mrp="genericservices/activebackupclient/group/connectivity_abclient.mrp"/>
-   </component>
-   <component id="syslibsdocs" name="Syslibs Documentation" purpose="development" class="doc">
-    <unit mrp="genericservices/syslibsdocs/syslibs_documentation.mrp"/>
-   </component>
-   <component id="httputils" name="HTTP Utilities Library" introduced="6.2" purpose="optional">
-    <unit bldFile="genericservices/httputils/group" mrp="genericservices/httputils/group/application-protocols_inetprotutil.mrp"/>
-   </component>
-  </collection>
-  <collection id="syslibsapitest" name="SysLibs API Tests" level="utilities">
-   <component id="syslibssvs" name="Syslibs Verfication Suite" introduced="^2" purpose="development" filter="test">
-    <unit mrp="syslibsapitest/syslibssvs/group/syslibssvs.mrp" bldFile="syslibsapitest/syslibssvs/group"/>
-   </component>
-  </collection>
-  <collection id="compressionlibs" name="Compression Libraries" level="data-services">
-   <component id="ziplib" name="Zip Compression Library" introduced="6.0" purpose="mandatory">
-    <unit bldFile="compressionlibs/ziplib/group" mrp="compressionlibs/ziplib/group/syslibs_ezlib2.mrp"/>
-   </component>
-  </collection>
-  <collection id="genericopenlibs" name="Generic Open Libraries" level="translation">
-   <component id="cstdlib" name="C Standard Library" introduced="ER5" purpose="optional">
-    <unit bldFile="genericopenlibs/cstdlib/group" mrp="genericopenlibs/cstdlib/group/syslibs_stdlib.mrp"/>
-   </component>
-   <component id="cppstdlib" name="C++ Standard Library" introduced="^3" purpose="mandatory">
-    <unit bldFile="genericopenlibs/cppstdlib/group" mrp="genericopenlibs/cppstdlib/group/openenv_libstdcpp.mrp"/>
-   </component>
-   <component id="openenvcore" name="Open Environment Core" introduced="^2" purpose="mandatory">
-    <unit bldFile="genericopenlibs/openenvcore/group" mrp="genericopenlibs/openenvcore/group/openenv.mrp"/>
-   </component>
-   <component id="pluggableauthenticationmodulefw" name="Pluggable Authentication Module Framework" introduced="^4" purpose="optional">
-    <unit bldFile="genericopenlibs/pluggableauthenticationmodulefw/group" mrp="genericopenlibs/pluggableauthenticationmodulefw/group/oeaddons_libpam.mrp"/>
-   </component>
-   <component id="posixrealtimeextensions" name="POSIX Realtime Extensions" introduced="^3" purpose="optional">
-    <unit bldFile="genericopenlibs/posixrealtimeextensions/group" mrp="genericopenlibs/posixrealtimeextensions/group/oeaddons_librt.mrp"/>
-   </component>
-   <component id="liboil" name="Liboil" introduced="^4" purpose="optional">
-    <unit bldFile="genericopenlibs/liboil/group" mrp="genericopenlibs/liboil/group/oeaddons_liboil.mrp"/>
-   </component>
-  </collection>
-  <collection id="lowlevellibsandfws" name="Low Level Libraries and Frameworks" level="app-libs">
-   <component id="pluginfw" name="Plugin Framework" introduced="6.2" purpose="mandatory">
-    <unit version="3" bldFile="lowlevellibsandfws/pluginfw/Group" mrp="lowlevellibsandfws/pluginfw/Group/syslibs_ecom3.mrp"/>
-   </component>
-   <component id="apputils" name="Application Utilities" introduced="ER5" purpose="mandatory">
-    <unit bldFile="lowlevellibsandfws/apputils/group" mrp="lowlevellibsandfws/apputils/group/syslibs_bafl.mrp"/>
-   </component>
-   <component id="genericusabilitylib" name="Generic Usability Library" introduced="^3" purpose="mandatory">
-    <unit bldFile="lowlevellibsandfws/genericusabilitylib/group" mrp="lowlevellibsandfws/genericusabilitylib/group/syslibs_euserhl.mrp"/>
-   </component>
-  </collection>
-  <collection id="ossrv_info" name="Generic OS Services Info" level="utilities">
-   <component id="ossrv_build" filter="s60" name="Generic OS Services Build">
-    <!-- exports should be moved to individual components -->
-    <unit bldFile="group"/>
-   </component>
-   <component id="ossrv_metadata" name="Generic OS Services Metadata" class="config" introduced="^2" purpose="development" target="desktop">
-    <unit mrp="ossrv_info/ossrv_metadata/ossrv_metadata.mrp"/>
-   </component>
-  </collection>
- </package>
+        <unit bldFile="ofdbus/group"/>
+      </component>
+    </collection>
+    <collection id="utilitylibraries" name="Utility Libraries" level="encoding">
+      <component id="libutils" filter="s60" name="Utility Library">
+        <unit bldFile="utilitylibraries/libutils/group"/>
+      </component>
+    </collection>
+    <collection id="genericservices" name="Generic Services" level="utilities">
+      <component id="s60compatibilityheaders" name="S60 Compatibility Headers" filter="gt" purpose="optional">
+        <unit version="tb101sf" bldFile="genericservices/s60compatibilityheaders/groupsymtb101sf" mrp="genericservices/s60compatibilityheaders/groupsymtb101sf/tools_s60_header_compatsymtb101sf.mrp"/>
+      </component>
+      <component id="mimerecognitionfw" name="MIME Recognition Framework" purpose="mandatory">
+        <unit bldFile="genericservices/mimerecognitionfw/group" mrp="genericservices/mimerecognitionfw/group/app-framework_emime.mrp"/>
+      </component>
+      <component id="systemagent" name="System Agent" introduced="9.0" purpose="mandatory">
+        <unit bldFile="genericservices/systemagent/group" mrp="genericservices/systemagent/group/syslibs_sysagent2.mrp"/>
+      </component>
+      <component id="taskscheduler" name="Task Scheduler" introduced="6.0" purpose="optional">
+        <unit bldFile="genericservices/taskscheduler/group" mrp="genericservices/taskscheduler/group/syslibs_schsvr.mrp"/>
+      </component>
+      <component id="activebackupclient" name="Active Backup Client" purpose="optional">
+        <unit bldFile="genericservices/activebackupclient/group" mrp="genericservices/activebackupclient/group/connectivity_abclient.mrp"/>
+      </component>
+      <component id="syslibsdocs" name="Syslibs Documentation" purpose="development" class="doc">
+        <unit mrp="genericservices/syslibsdocs/syslibs_documentation.mrp"/>
+      </component>
+      <component id="httputils" name="HTTP Utilities Library" introduced="6.2" purpose="optional">
+        <unit bldFile="genericservices/httputils/group" mrp="genericservices/httputils/group/application-protocols_inetprotutil.mrp"/>
+      </component>
+    </collection>
+    <collection id="syslibsapitest" name="SysLibs API Tests" level="utilities">
+      <component id="syslibssvs" name="Syslibs Verfication Suite" introduced="^2" purpose="development" filter="test">
+        <unit mrp="syslibsapitest/syslibssvs/group/syslibssvs.mrp" bldFile="syslibsapitest/syslibssvs/group"/>
+      </component>
+    </collection>
+    <collection id="compressionlibs" name="Compression Libraries" level="data-services">
+      <component id="ziplib" name="Zip Compression Library" introduced="6.0" purpose="mandatory">
+        <unit bldFile="compressionlibs/ziplib/group" mrp="compressionlibs/ziplib/group/syslibs_ezlib2.mrp"/>
+      </component>
+    </collection>
+    <collection id="genericopenlibs" name="Generic Open Libraries" level="translation">
+      <component id="cstdlib" name="C Standard Library" introduced="ER5" purpose="optional">
+        <unit bldFile="genericopenlibs/cstdlib/group" mrp="genericopenlibs/cstdlib/group/syslibs_stdlib.mrp"/>
+      </component>
+      <component id="cppstdlib" name="C++ Standard Library" introduced="^3" purpose="mandatory">
+        <unit bldFile="genericopenlibs/cppstdlib/group" mrp="genericopenlibs/cppstdlib/group/openenv_libstdcpp.mrp"/>
+      </component>
+      <component id="openenvcore" name="Open Environment Core" introduced="^2" purpose="mandatory">
+        <unit bldFile="genericopenlibs/openenvcore/group" mrp="genericopenlibs/openenvcore/group/openenv.mrp"/>
+      </component>
+      <component id="posixrealtimeextensions" name="POSIX Realtime Extensions" introduced="^3" purpose="optional">
+        <unit bldFile="genericopenlibs/posixrealtimeextensions/group" mrp="genericopenlibs/posixrealtimeextensions/group/oeaddons_librt.mrp"/>
+      </component>
+	  <component id="liboil" name="Liboil" introduced="^4" purpose="optional">
+        <unit bldFile="genericopenlibs/liboil/group" mrp="genericopenlibs/liboil/group/oeaddons_liboil.mrp"/>
+      </component>
+    </collection>
+    <collection id="lowlevellibsandfws" name="Low Level Libraries and Frameworks" level="app-libs">
+      <component id="pluginfw" name="Plugin Framework" introduced="6.2" purpose="mandatory">
+        <unit version="3" bldFile="lowlevellibsandfws/pluginfw/Group" mrp="lowlevellibsandfws/pluginfw/Group/syslibs_ecom3.mrp"/>
+      </component>
+      <component id="apputils" name="Application Utilities" introduced="ER5" purpose="mandatory">
+        <unit bldFile="lowlevellibsandfws/apputils/group" mrp="lowlevellibsandfws/apputils/group/syslibs_bafl.mrp"/>
+      </component>
+      <component id="genericusabilitylib" name="Generic Usability Library" introduced="^3" purpose="mandatory">
+        <unit bldFile="lowlevellibsandfws/genericusabilitylib/group" mrp="lowlevellibsandfws/genericusabilitylib/group/syslibs_euserhl.mrp"/>
+      </component>
+    </collection>
+    <collection id="ossrv_info" name="Generic OS Services Info" level="utilities">
+      <component id="ossrv_build" filter="s60" name="Generic OS Services Build">
+      <!-- exports should be moved to individual components -->
+        <unit bldFile="group"/>
+      </component>
+      <component id="ossrv_metadata" name="Generic OS Services Metadata" class="config" introduced="^2" purpose="development" target="desktop">
+        <unit mrp="ossrv_info/ossrv_metadata/ossrv_metadata.mrp"/>
+      </component>
+    </collection>
+  </package>
 </SystemDefinition>
--- a/symbian4/os/security/package_definition.xml	Tue Apr 20 12:25:49 2010 +0100
+++ b/symbian4/os/security/package_definition.xml	Tue Apr 20 13:47:08 2010 +0100
@@ -147,10 +147,6 @@
           <component name="browserrootcertificates" long-name="Browser Root Certificates" introduced="^2" purpose="optional" filter="sf_build">
             <unit mrp="/sf/os/security/cryptoservices/browserrootcertificates/browserrootcerts.mrp"/>
           </component>
-          <component name="rootcertificates" filter="sf_build" long-name="Root Certificates" introduced="7.0s" purpose="optional">
-            <!-- not in S60 codebase -->
-            <unit bldFile="/sf/os/security/cryptoservices/rootcertificates/group" mrp="/sf/os/security/cryptoservices/rootcertificates/group/rootcerts.mrp"/>
-          </component>
           <component name="asnpkcs" long-name="ASN PKCS" introduced="8.0" purpose="optional">
             <unit bldFile="/sf/os/security/cryptoservices/asnpkcs/group" mrp="/sf/os/security/cryptoservices/asnpkcs/group/security_asnpkcs.mrp"/>
           </component>
--- a/symbian4/os/security/package_definition_3.0.xml	Tue Apr 20 12:25:49 2010 +0100
+++ b/symbian4/os/security/package_definition_3.0.xml	Tue Apr 20 13:47:08 2010 +0100
@@ -71,10 +71,6 @@
       <component id="browserrootcertificates" name="Browser Root Certificates" introduced="^2" purpose="optional" filter="sf_build">
         <unit mrp="cryptoservices/browserrootcertificates/browserrootcerts.mrp"/>
       </component>
-      <component id="rootcertificates" filter="sf_build" name="Root Certificates" introduced="7.0s" purpose="optional">
-        <!-- not in S60 codebase -->
-        <unit bldFile="cryptoservices/rootcertificates/group" mrp="cryptoservices/rootcertificates/group/rootcerts.mrp"/>
-      </component>
       <component id="asnpkcs" name="ASN PKCS" introduced="8.0" purpose="optional">
         <unit bldFile="cryptoservices/asnpkcs/group" mrp="cryptoservices/asnpkcs/group/security_asnpkcs.mrp"/>
       </component>
--- a/sysdeftools/joinsysdef-module.xsl	Tue Apr 20 12:25:49 2010 +0100
+++ b/sysdeftools/joinsysdef-module.xsl	Tue Apr 20 13:47:08 2010 +0100
@@ -385,7 +385,7 @@
 	<xsl:variable name="prefix" select="name($namespaces[.=$ns])"/>
 	<xsl:attribute name="{name()}">
 	<xsl:choose>
-		<xsl:when test="$prefix = 'id-namespace' or  (not($namespaces[name()='id-prefix']) and $ns=$defaultns)"/> <!-- it's the default namespace, no prefix -->
+		<xsl:when test="$prefix = 'id-namespace' or  (not($namespaces[name()='id-namespace']) and $ns=$defaultns)"/> <!-- it's the default namespace, no prefix -->
 		<xsl:when test="$prefix='' and contains(.,':')">
 			<!-- complex: copy id and copy namespace (namespace should be copied already)-->
 			<xsl:value-of select="."/>
--- a/sysdeftools/joinsysdef.pl	Tue Apr 20 12:25:49 2010 +0100
+++ b/sysdeftools/joinsysdef.pl	Tue Apr 20 13:47:08 2010 +0100
@@ -271,19 +271,15 @@
 				}
 			# if we're here we can just embed the file
 			# no processing logic is done! It's just embedded blindly
-			my  $metadoc = $parser->parsefile ($file);
-			my $item =&firstElement($metadoc->getDocumentElement);
+			my  $metadoc = $parser->parsefile ($link);
+			my $item = $metadoc->getDocumentElement;
 			if(!$item)
 				{
 				print STDERR "Warning: Could not process metadata file: $link\n";
 				next; # do not alter children
 				}
 			$node->removeAttribute('href');
-			foreach my $child (@{$item->getChildNodes})
-				{
-				&blindCopyInto($node,$child);
-				next;
-				}
+			&blindCopyInto($node,$item);
 			}
 		if($node->getAttribute('rel') eq 'link-mapping')
 			{# need to process this now
@@ -745,4 +741,5 @@
 		else {die "cannot process $_";}
 		}
 	close CPP;
+	$? && die "Call to cpp produced an error";
 	}
--- a/sysdeftools/mergesysdef-module.xsl	Tue Apr 20 12:25:49 2010 +0100
+++ b/sysdeftools/mergesysdef-module.xsl	Tue Apr 20 13:47:08 2010 +0100
@@ -18,9 +18,9 @@
 <xsl:template match="/SystemDefinition[starts-with(@schema,'2.') or starts-with(@schema,'1.')]" priority="2" mode="merge-models">
 	<xsl:message terminate="yes">ERROR: Syntax <xsl:value-of select="@schema"/> not supported</xsl:message>
 </xsl:template>
-<xsl:template match="/SystemDefinition[not(systemModel)]" priority="2" mode="merge-models">
+<!--<xsl:template match="/SystemDefinition[not(systemModel)]" priority="2" mode="merge-models">
 	<xsl:message terminate="yes">ERROR: Can only merge stand-alone system models</xsl:message>
-</xsl:template>
+</xsl:template>-->
 
 <!-- stuff for dealing with namespaces -->
 
@@ -130,8 +130,8 @@
  	<xsl:if test="$other[starts-with(@schema,'2.') or starts-with(@schema,'1.')]">
 		<xsl:message terminate="yes">ERROR: Syntax <xsl:value-of select="$other/@schema"/> not supported</xsl:message>
 	</xsl:if>
-	<xsl:if test="not($other/systemModel)">
-		<xsl:message terminate="yes">ERROR: Can only merge stand-alone system models</xsl:message>
+	<xsl:if test="name(*) != name($other/*)">
+		<xsl:message terminate="yes">ERROR: Can only merge system models of the same rank</xsl:message>
 	</xsl:if>
 	 
 	<xsl:copy>
@@ -226,7 +226,7 @@
 			<xsl:copy-of select="$other/@levels"/>
 		</xsl:when>
 		<xsl:when test="contains(concat(' ',normalize-space($other/@levels),' '),' - ')">
-			<!-- if other uses + syntax, then pre/append -->
+			<!-- if other uses - syntax, then pre/append -->
 			<xsl:variable name="lev">
 				<xsl:value-of select="substring-before(concat(' ',normalize-space($other/@levels),' '),' - ')"/>
 				<xsl:value-of select="concat(' ',.,' ')"/>
@@ -316,6 +316,43 @@
 	</xsl:choose>
 </xsl:template>
 
+<xsl:template match="node()" mode="merge-data">
+	<xsl:copy-of select="." />
+</xsl:template>
+
+<xsl:template match="meta" mode="merge-data">
+	<xsl:param name="metas" />
+	<!-- compare this meta against all metas in the  merged doc
+		if they are identical, then ignore this one.
+		identical is computed by translating to a string, normalising some known parts. This might be slow in some cases-->
+	<xsl:variable name="val"><xsl:apply-templates select="." mode="as-xml-text" /></xsl:variable>
+	<xsl:variable name="match">
+		<xsl:for-each select="$metas">
+			<xsl:variable name="cur"><xsl:apply-templates select="." mode="as-xml-text" /></xsl:variable>
+			<xsl:if test="$cur=$val">*</xsl:if>
+		</xsl:for-each>
+	</xsl:variable>
+	<xsl:if test="$match='' ">
+		<xsl:copy-of select="." />
+	</xsl:if>
+</xsl:template>
+
+<xsl:template match="text()[normalize-space(.)='']" mode="as-xml-text"/>
+<xsl:template match="node()" mode="as-xml-text"><xsl:value-of select="."/></xsl:template>
+<xsl:template match="comment()" mode="as-xml-text">&lt;--<xsl:value-of select="."/>--&gt;</xsl:template>
+<xsl:template match="@*" mode="as-xml-text">
+	<xsl:value-of select="concat(' ',name())"/>="<xsl:value-of select="."/>"</xsl:template>
+<xsl:template match="*" mode="as-xml-text">
+	<xsl:value-of select="concat('&lt;',name())"/>
+	<xsl:apply-templates select="@*" mode="as-xml-text"/>
+	<xsl:if test="self::meta and not(@rel)"> rel="Generic"</xsl:if>
+	<xsl:if test="self::meta and not(@type)"> type="auto"</xsl:if>
+	<xsl:text>&gt;</xsl:text>
+	<xsl:apply-templates select="node()" mode="as-xml-text"/>
+	<xsl:value-of select="concat('&lt;/',name(),'&gt;')"/>
+</xsl:template>
+
+
 <xsl:template match="layer | package | collection | component" mode="merge-models">
 	<xsl:param name="other"/>	<!-- the downstream item of the parent's rank that contains a potential items this is merged with -->
 	<xsl:param name="up"/>
@@ -325,6 +362,7 @@
 	<!-- match = this item in the downstream model -->	
 	<xsl:variable name="match" select="$other/*[@id=current()/@id]"/>
 	
+	
 	<!-- prev = the previous item before the current one (no metas, only named items)-->
 	<xsl:variable name="prev" select="preceding-sibling::*[@id][1]"/> 
 
@@ -388,7 +426,10 @@
 			<xsl:otherwise>
 
 				<!--  copy metas and comments in between meta. Do not try to merge metadata between models -->
-				<xsl:copy-of select="meta | $match/meta | comment()[following-sibling::meta]"/>
+				<xsl:apply-templates select="meta | $match/meta | comment()[following-sibling::meta]" mode="merge-data">
+					<xsl:with-param name="metas" select="$match/meta"/>
+				</xsl:apply-templates>
+				<xsl:copy-of select=" $match/meta | $match/comment()[following-sibling::meta]"/>
 				
 				<xsl:apply-templates mode="merge-models">
 					<xsl:with-param name="other" select="$match"/>
--- a/sysdeftools/mergesysdef.xsl	Tue Apr 20 12:25:49 2010 +0100
+++ b/sysdeftools/mergesysdef.xsl	Tue Apr 20 13:47:08 2010 +0100
@@ -22,10 +22,16 @@
 <xsl:variable name="downstream" select="document($Downstream,.)/SystemDefinition"/>
 <xsl:param name="upname">
 	<xsl:choose>
-		<xsl:when test="$downstream[starts-with(@schema,'2.') or starts-with(@schema,'1.')  or not(systemModel)]">
+		<xsl:when test="$downstream[starts-with(@schema,'2.') or starts-with(@schema,'1.')]">
 			<xsl:message terminate="yes">Syntax <xsl:value-of select="@schema"/> not supported</xsl:message>
 		</xsl:when>
-		<xsl:when test="/SystemDefinition/systemModel/@name=$downstream/systemModel/@name">
+		<xsl:when test="name($downstream/*)!=name(/SystemDefinition/*)">
+			<xsl:message terminate="yes">Can only merge fragments of the same rank</xsl:message>
+		</xsl:when>
+<!--		<xsl:when test="$downstream[not(systemModel)]">
+			<xsl:message terminate="yes">Needs to be a standalone system definition</xsl:message>
+		</xsl:when>-->
+		<xsl:when test="/SystemDefinition/systemModel/@name=$downstream/systemModel/@name or not(/SystemDefinition/systemModel/@name)">
 			<xsl:apply-templates mode="origin-term" select="/*">
 				<xsl:with-param name="root">Upstream</xsl:with-param>
 			</xsl:apply-templates>
@@ -36,11 +42,14 @@
 
 <xsl:param name="downname">
 	<xsl:choose>
-		<xsl:when test="/SystemDefinition/systemModel/@name=$downstream/systemModel/@name">
+		<xsl:when test="/SystemDefinition/systemModel/@name=$downstream/systemModel/@name or not($downstream/systemModel/@name)">
 			<xsl:apply-templates mode="origin-term" select="$downstream">	
 				<xsl:with-param name="root">Downstream</xsl:with-param>
 			</xsl:apply-templates>
 			</xsl:when>
+		<xsl:when test="name($downstream/*)!=name(/SystemDefinition/*)">
+			<xsl:message terminate="yes">Can only merge fragments of the same rank</xsl:message>
+		</xsl:when>
 		<xsl:otherwise><xsl:value-of select="$downstream/systemModel/@name"/></xsl:otherwise>
 	</xsl:choose>
 </xsl:param>
--- a/sysmodelgen/core/draw-model.xsl	Tue Apr 20 12:25:49 2010 +0100
+++ b/sysmodelgen/core/draw-model.xsl	Tue Apr 20 13:47:08 2010 +0100
@@ -33,6 +33,7 @@
 <xsl:param name="pkgMinWidth" select="$cSize * 3"/><!-- small pkg, use min width of 2 * smallest possible collection -->
 <xsl:param name="subpkgMinWidth" select="$cSize * 3"/> <!-- small nested pkg, use min width of  3 components -->
 <xsl:param name="pkgFixedWidth" select="$mMinWidth * 5"/><!-- fixed width of a  pacakge (mm) -->
+<xsl:param name="pkgAuxWidth" select="0"/><!-- Additional width on the right side of each package (mm) -->
 <xsl:param name="subpkgFixedWidth" select="$mMinWidth * 3"/> <!-- fixed width nested pkg (mm) -->
 <xsl:variable name="inlineLabel" select="3 * $cSize"/> <!-- the max width of an inline label. 3 times the width of a collection by default 
 	I don't like this. Should compute somehow and make local variable. -->
@@ -334,7 +335,7 @@
 	<xsl:param name="layers"/>
 	<xsl:param name="span"/>
 
-	<xsl:variable name="spanning" select="$span/preceding-sibling::layer[position() &lt;= $span/@span]"/>
+	<xsl:variable name="spanning" select="$span/preceding-sibling::layer[not(@span) and position() &lt;= $span/@span]"/>
 	
 	<xsl:variable name="h" select="sum($spanning/@height) + (count($spanning) - 1) * $groupDy"/>
 	<xsl:variable name="even" select="($span/@height - $h) div count($spanning)"/>
@@ -945,12 +946,12 @@
 			<xsl:attribute name="width">
 				<xsl:choose>
 					<xsl:when test="parent::package and $w + $expand-width &lt; $subpkgMinWidth">	<!-- small nested pkg, use width of  3 components -->
-						<xsl:value-of select="$subpkgMinWidth + $ext-w"/>
+						<xsl:value-of select="$subpkgMinWidth + $ext-w + pkgAuxWidth"/>
 					</xsl:when>
 					<xsl:when test="$w + $expand-width  &lt; $pkgMinWidth">	<!-- small pkg, use width of twice smallest possible collection -->
-						<xsl:value-of select="$pkgMinWidth + $ext-w"/>
+						<xsl:value-of select="$pkgMinWidth + $ext-w + $pkgAuxWidth "/>
 					</xsl:when>
-					<xsl:otherwise><xsl:value-of select="$w + $expand-width + $ext-w"/></xsl:otherwise>
+					<xsl:otherwise><xsl:value-of select="$w + $expand-width + $ext-w + $pkgAuxWidth"/></xsl:otherwise>
 				</xsl:choose>
 			</xsl:attribute>
 			<xsl:attribute name="height"><xsl:value-of select="$h"/></xsl:attribute>
--- a/sysmodelgen/core/filtersysdef-module.xsl	Tue Apr 20 12:25:49 2010 +0100
+++ b/sysmodelgen/core/filtersysdef-module.xsl	Tue Apr 20 13:47:08 2010 +0100
@@ -8,7 +8,9 @@
 	<xsl:variable name="result">		<!-- the ordered list of all ignores and filters, the last value is the one to note --> 
 		<xsl:choose>
 			<xsl:when test="$item[self::meta]">
-				<!-- TODO -->
+				<xsl:apply-templates select="ignore|../ignore" mode="filter">
+					<xsl:with-param name="item" select="$item"/>
+				</xsl:apply-templates>
 			</xsl:when>
 			<xsl:when test="$item[self::unit]">	
 				<!-- only filter to determine if it's shown -->
@@ -21,7 +23,7 @@
 				<xsl:variable name="id"><xsl:apply-templates select="$item/@id" mode="my-id"/></xsl:variable>			<!-- namespaceless ID of this here -->
 				<xsl:variable name="ns"><xsl:apply-templates select="$item/@id" mode="my-namespace"/></xsl:variable>	<!-- ID's namespace -->
 				<!-- use ignore and filter to determine if it's shown-->
-				<xsl:apply-templates select="ignore|filter|../ignore|../filter" mode="filter">
+				<xsl:apply-templates select="ignore[not(@meta or @meta-type)]|filter|../ignore[not(@meta or @meta-type)]|../filter" mode="filter">
 					<xsl:with-param name="id" select="$id"/>
 					<xsl:with-param name="ns" select="$ns"/>
 					<xsl:with-param name="item" select="$item"/>
@@ -65,6 +67,19 @@
 	<!-- old way of doing this -->
 	<xsl:if test="$item/@name=@name and name($item)= @type"> ignore </xsl:if>
 </xsl:template>
+
+
+<xsl:template match="ignore[@meta]" mode="filter" priority="2"><xsl:param name="item"/>
+	<!-- ignore certain metadata rel values -->
+	<xsl:if test="$item[self::meta] and (@meta='*' or $item/@rel=@meta  or (not($item/@rel) and @meta='Generic'))
+		and
+		(not(@meta-type) or  $item/@type=@meta-type or  (@meta-type='auto' and not($item/@type)))"> ignore </xsl:if>
+</xsl:template>
+
+<xsl:template match="ignore[@meta-type]" mode="filter" priority="1"><xsl:param name="item"/>
+	<!-- ignore certain metadata types, no rel values specified -->
+	<xsl:if test="$item[self::meta] and $item/@type=@meta-type or (not($item/@type) and @meta-type='Generic')"> ignore </xsl:if>
+</xsl:template>
  
 <xsl:template match="filter" mode="filter"  priority="1"><xsl:param name="item"/>
 	<xsl:variable name="att" select="@select"/>
--- a/sysmodelgen/core/joinsysdef-module.xsl	Tue Apr 20 12:25:49 2010 +0100
+++ b/sysmodelgen/core/joinsysdef-module.xsl	Tue Apr 20 13:47:08 2010 +0100
@@ -49,7 +49,7 @@
 						<xsl:when test="$origin/@*[name()=$n]"> <!-- don't copy if already set -->
 							<xsl:message>Cannot set "<xsl:value-of select="$n"/>", already set</xsl:message>
 						</xsl:when>
-						<xsl:when test="$n='before'">
+						<xsl:when test="$n='before' or $n='replace'">
 							<!-- ensure ns is correct (if any future attribtues will ever use an ID, process it here too)-->
 							<xsl:apply-templates select="." mode="join">
 								<xsl:with-param name="namespaces" select="$namespaces"/>
@@ -319,7 +319,6 @@
 				<xsl:with-param name="data" select="$data"/>
 			</xsl:apply-templates>
 		 </xsl:variable>
-	 		 
 		<xsl:element name="{name()}"> <!-- use this instead of <copy> so xalan doesn't add extra wrong namespaces -->
 			<xsl:apply-templates select="@*" mode="join">
 				<xsl:with-param name="namespaces" select="$namespaces"/>
@@ -440,7 +439,7 @@
 </xsl:template>
 
 
-<xsl:template match="@id|@before" mode="join">
+<xsl:template match="@id|@before|@replace" mode="join">
 	<xsl:param name="namespaces"/>
 	<!-- this will change the namespace prefixes for all IDs to match the root document -->
 	<xsl:variable name="ns">
@@ -451,10 +450,12 @@
 		<xsl:text>&#xa;</xsl:text>
 		</xsl:message>
 	</xsl:if>
+
 	<xsl:variable name="prefix" select="name($namespaces[.=$ns])"/>
 	<xsl:attribute name="{name()}">
 	<xsl:choose>
-		<xsl:when test="$prefix = 'id-namespace' or  (not($namespaces[name()='id-prefix']) and $ns=$defaultns)"/> <!-- it's the default namespace, no prefix -->
+
+		<xsl:when test="$prefix = 'id-namespace' or  (not($namespaces[name()='id-namespace']) and $ns=$defaultns)"/> <!-- it's the default namespace, no prefix -->
 		<xsl:when test="$prefix='' and contains(.,':')">
 			<!-- complex: copy id and copy namespace (namespace should be copied already)-->
 			<xsl:value-of select="."/>
--- a/sysmodelgen/core/mergesysdef-module.xsl	Tue Apr 20 12:25:49 2010 +0100
+++ b/sysmodelgen/core/mergesysdef-module.xsl	Tue Apr 20 13:47:08 2010 +0100
@@ -1,14 +1,26 @@
 <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:exslt="http://exslt.org/common"  exclude-result-prefixes="exslt">
+<!--Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
+	All rights reserved.
+	This component and the accompanying materials are made available
+	under the terms of the License "Eclipse Public License v1.0"
+	which accompanies this distribution, and is available
+	at the URL "http://www.eclipse.org/legal/epl-v10.html".
+
+	Initial Contributors:
+	Nokia Corporation - initial contribution.
+	Contributors:
+	Description:
+	XSLT module for merging only two sysdef files according to the 3.0.0 rules. Old syntax not supported and must be converetd before calling.
+-->
 	
-<!--  this merge only two files according to the 3.0.0 rules. Old syntax not supported. Must be converetd before calling -->
 <xsl:variable name="defaultnamespace">http://www.symbian.org/system-definition</xsl:variable>
 
 <xsl:template match="/SystemDefinition[starts-with(@schema,'2.') or starts-with(@schema,'1.')]" priority="2" mode="merge-models">
-	<xsl:message terminate="yes">Syntax <xsl:value-of select="@schema"/> not supported</xsl:message>
+	<xsl:message terminate="yes">ERROR: Syntax <xsl:value-of select="@schema"/> not supported</xsl:message>
 </xsl:template>
-<xsl:template match="/SystemDefinition[not(systemModel)]" priority="2" mode="merge-models">
-	<xsl:message terminate="yes">Can only merge stand-alone system models</xsl:message>
-</xsl:template>
+<!--<xsl:template match="/SystemDefinition[not(systemModel)]" priority="2" mode="merge-models">
+	<xsl:message terminate="yes">ERROR: Can only merge stand-alone system models</xsl:message>
+</xsl:template>-->
 
 <!-- stuff for dealing with namespaces -->
 
@@ -74,7 +86,7 @@
 				<xsl:value-of select="concat($myns,':',$id)"/>
 			</xsl:when>
 			<xsl:otherwise> <!-- some namespace that needed to be defined --> 
-			<xsl:message>"<xsl:value-of select="$ns"/>" for <xsl:value-of select="$id"/></xsl:message>
+			<xsl:message>Warning: need definition for namespace "<xsl:value-of select="$ns"/>" for <xsl:value-of select="$id"/></xsl:message>
 				<xsl:value-of select="."/>					
 			</xsl:otherwise>
 		</xsl:choose>		
@@ -92,7 +104,7 @@
 			<xsl:value-of select="$pre"/>
 		</xsl:when>
 		<xsl:when test="$ns='' and $chars=''">
-			<xsl:message terminate="yes">Cannot create namespace prefix for downstream default namespace</xsl:message>
+			<xsl:message terminate="yes">ERROR: Cannot create namespace prefix for downstream default namespace in <xsl:value-of select="*/@id"/></xsl:message>
 		</xsl:when>
 		<xsl:when test="$name!='' and not(contains($dontuse,concat(' ',$name,' ')))"><xsl:value-of select="$name"/></xsl:when>
 		<xsl:when test="namespace::*[name()=substring($chars,1,1)] or contains($dontuse,concat(' ',substring($chars,1,1),' '))">
@@ -116,10 +128,10 @@
 	
 	<!-- do some testing -->
  	<xsl:if test="$other[starts-with(@schema,'2.') or starts-with(@schema,'1.')]">
-		<xsl:message terminate="yes">Syntax <xsl:value-of select="$other/@schema"/> not supported</xsl:message>
+		<xsl:message terminate="yes">ERROR: Syntax <xsl:value-of select="$other/@schema"/> not supported</xsl:message>
 	</xsl:if>
-	<xsl:if test="not($other/systemModel)">
-		<xsl:message terminate="yes">Can only merge stand-alone system models</xsl:message>
+	<xsl:if test="name(*) != name($other/*)">
+		<xsl:message terminate="yes">ERROR: Can only merge system models of the same rank</xsl:message>
 	</xsl:if>
 	 
 	<xsl:copy>
--- a/sysmodelgen/core/mergesysdef.xsl	Tue Apr 20 12:25:49 2010 +0100
+++ b/sysmodelgen/core/mergesysdef.xsl	Tue Apr 20 13:47:08 2010 +0100
@@ -22,10 +22,16 @@
 <xsl:variable name="downstream" select="document($Downstream,.)/SystemDefinition"/>
 <xsl:param name="upname">
 	<xsl:choose>
-		<xsl:when test="$downstream[starts-with(@schema,'2.') or starts-with(@schema,'1.')  or not(systemModel)]">
+		<xsl:when test="$downstream[starts-with(@schema,'2.') or starts-with(@schema,'1.')]">
 			<xsl:message terminate="yes">Syntax <xsl:value-of select="@schema"/> not supported</xsl:message>
 		</xsl:when>
-		<xsl:when test="/SystemDefinition/systemModel/@name=$downstream/systemModel/@name">
+		<xsl:when test="name($downstream/*)!=name(/SystemDefinition/*)">
+			<xsl:message terminate="yes">Can only merge fragments of the same rank</xsl:message>
+		</xsl:when>
+<!--		<xsl:when test="$downstream[not(systemModel)]">
+			<xsl:message terminate="yes">Needs to be a standalone system definition</xsl:message>
+		</xsl:when>-->
+		<xsl:when test="/SystemDefinition/systemModel/@name=$downstream/systemModel/@name or not(/SystemDefinition/systemModel/@name)">
 			<xsl:apply-templates mode="origin-term" select="/*">
 				<xsl:with-param name="root">Upstream</xsl:with-param>
 			</xsl:apply-templates>
@@ -36,11 +42,14 @@
 
 <xsl:param name="downname">
 	<xsl:choose>
-		<xsl:when test="/SystemDefinition/systemModel/@name=$downstream/systemModel/@name">
+		<xsl:when test="/SystemDefinition/systemModel/@name=$downstream/systemModel/@name or not($downstream/systemModel/@name)">
 			<xsl:apply-templates mode="origin-term" select="$downstream">	
 				<xsl:with-param name="root">Downstream</xsl:with-param>
 			</xsl:apply-templates>
 			</xsl:when>
+		<xsl:when test="name($downstream/*)!=name(/SystemDefinition/*)">
+			<xsl:message terminate="yes">Can only merge fragments of the same rank</xsl:message>
+		</xsl:when>
 		<xsl:otherwise><xsl:value-of select="$downstream/systemModel/@name"/></xsl:otherwise>
 	</xsl:choose>
 </xsl:param>
--- a/sysmodelgen/extra/makeabbrev.xsl	Tue Apr 20 12:25:49 2010 +0100
+++ b/sysmodelgen/extra/makeabbrev.xsl	Tue Apr 20 13:47:08 2010 +0100
@@ -14,6 +14,8 @@
 	<xsl:apply-templates select="document(.,.)/SystemDefinition/*"/>
 </xsl:template>
 
+<xsl:template match="meta/@href"/>
+
 <xsl:template match="/*" priority="1">
 <display-names><xsl:apply-templates select="*"/>
 </display-names>
@@ -104,7 +106,7 @@
 </xsl:template>
 
 
-<xsl:template match="layer" priority="2"><!-- don't abbreviate layer names -->
+<xsl:template match="layer[string-length(@id) &lt; 10]" priority="2"><!-- don't abbreviate short layer names -->
 	<xsl:apply-templates select="*"/>
 </xsl:template>
 
--- a/sysmodelgen/src/SysModelGen.pm	Tue Apr 20 12:25:49 2010 +0100
+++ b/sysmodelgen/src/SysModelGen.pm	Tue Apr 20 13:47:08 2010 +0100
@@ -147,7 +147,9 @@
 	'iHide'			=> { 'type' =>  'attr[=val]', 'ordered' => 1,'param' => "hide-attr=s",
 		 'class' =>'Model Control', 'desc' => 'A mechanism of filtering which allows filtering based on component attribute values. If a value is set for that attribute, the component will not be shown on the model. Use in conjunction with -show-attr for fine contol of what is shown. "class" and "filter" attribtues are handled specially -- see the documentation for details'},
 	'iIgnore'				=> { 'type' => 'item', 'multi' => 1, 'param' => "ignore=s", 'xpath' => '/model/ignore',
-		 'class' =>'Model Control', 'desc' => 'A model entity to not draw, in the  form "[item-type]:[item-name]". Any number of these can be used. Defaults to "layer:Tools and Utils and SDKENG" ,"layer:MISC", "block:Techview"'},
+		 'class' =>'Model Control', 'desc' => 'The ID of a model entity to not draw. Any number of these can be used'},
+	'iIgnoreMeta'				=> { 'type' => 'item', 'multi' => 1, 'param' => "ignore-meta=s", 'xpath' => '/model/ignore',
+		 'class' =>'Model Control', 'desc' => 'The "rel" meta value to ignore. Takes the form of [relvalue] or [relvalue]:[type]. Any number of these can be used'},
 
 	'iNavCtrl'				=>{'param' => "navctrl=s" , 'type'=>'boolean' , 'xpath' => '/model/layout/@navctrl',
 		'class' =>'Model Control', 'desc' => 'If set, a navigation control widget will appear in the upper left corner of the model. The control might not work on some SVG viewers.'},
@@ -188,7 +190,7 @@
 	'iXsltParam'			=>{  'multi' => 2, 'param' => "xslt-param=s",
 		 'class' =>'Build Control', 'desc' => 'Advanced: Parameters to feed directly to the XSLT transforms'},
 	'iLegendNote'			=>{  'multi' => 1, 'param' => "note=s", 'xpath' => '/model/layout/legend/note',
-		 'class' => 'Labels', 'desc' => 'Free text to appear inside the legend box, on the rightmost side. If multiple ones are provided, they will appear as separate boxes from left to right. Newlines and other special characters can be entity-encoded (e.g. &#xa;)'}
+		 'class' => 'Labels', 'desc' => 'Free text to appear inside the legend box, on the rightmost side. If multiple ones are provided, they will appear as separate boxes from left to right. Newlines and other special characters can be entity-encoded (e.g. &#xa;). When using entities in an INI file, you *must* quote the value, otherwise the # will be treated as a comment delimiter.',}
 				);
 
 	$self->{iArgs} = \%Args;
@@ -668,7 +670,7 @@
 					} elsif(!$cur->{'multi'}){
 						$info{$match}.="\t<info xmlns='' type='$t'  href='",$self->{$param},"'/>\n";
 					}
-				} elsif($param eq 'iIgnore' or $param eq 'iLinkExpr' or $param eq 'iSysDefFile') {
+				} elsif($param eq 'iIgnore' or $param eq 'iIgnoreMeta' or $param eq 'iLinkExpr' or $param eq 'iSysDefFile') {
 					print XSLT "<template match='",$cur->{'xpath'},"'/>\n"	# ignore any already present if set
 				}		
 			} elsif($param eq 'iModel') {
@@ -718,6 +720,11 @@
 		if($ig=~/^(.*):(.*)$/) {print XSLT "type='$1' name='$2'/>\n"}
 		else {print XSLT "ref='$ig'/>\n"}
 	}
+	foreach my $ig (@{$self->{'iIgnoreMeta'}}) {
+		print XSLT "\t<ignore xmlns='' ";
+		if($ig=~/^(.*):(.*)$/) {print XSLT "meta-type='$2' meta='$1'/>\n"}
+		else {print XSLT "meta='$ig'/>\n"}
+	}
 	print XSLT join("\n\t",@{$self->{'iFiltering'}}),
 		"</template>\n";