[TASK] Default active extension handling in package manager 26/27226/6
authorChristian Kuhn <lolli@schwarzbu.ch>
Sat, 1 Feb 2014 19:28:58 +0000 (20:28 +0100)
committerAnja Leichsenring <aleichsenring@ab-softlab.de>
Sun, 2 Feb 2014 16:33:06 +0000 (17:33 +0100)
Integrate the definition of packages that should be activated at
first installation and packages that are required for a minimal
usable system in the package manager.

There are now three possible properties in Classes/Package.php:

* protected - Package can not be uninstalled in em.
* partOfFactoryDefault - Package is activated at first installation.
* partOfMinimalUsableSystem - Package is activated if
  PackageStates.php is missing. extensionmanager and t3skin are
  affected here, if PackageStates.php is deleted, the install tool
  will create a new one with those packages activated, so the backend
  is "usable" enough to activate further packages.

Resolves: #53988
Releases: 6.2
Change-Id: I4f5d3f0a7d3bcf332d1e8e6c29156f93bae8029c
Reviewed-on: https://review.typo3.org/27226
Reviewed-by: Christian Kuhn
Tested-by: Christian Kuhn
Reviewed-by: Stefan Neufeind
Tested-by: Stefan Neufeind
Reviewed-by: Thomas Maroschik
Tested-by: Thomas Maroschik
Reviewed-by: Anja Leichsenring
Tested-by: Anja Leichsenring
47 files changed:
typo3/sysext/about/Classes/Package.php [new file with mode: 0644]
typo3/sysext/aboutmodules/Classes/Package.php [new file with mode: 0644]
typo3/sysext/backend/Classes/Package.php
typo3/sysext/belog/Classes/Package.php [new file with mode: 0644]
typo3/sysext/beuser/Classes/Package.php [new file with mode: 0644]
typo3/sysext/cms/Classes/Package.php
typo3/sysext/context_help/Classes/Package.php [new file with mode: 0644]
typo3/sysext/core/Classes/Package.php
typo3/sysext/core/Classes/Package/Package.php
typo3/sysext/core/Classes/Package/PackageInterface.php
typo3/sysext/core/Configuration/FactoryConfiguration.php
typo3/sysext/cshmanual/Classes/Package.php
typo3/sysext/documentation/Classes/Package.php [new file with mode: 0644]
typo3/sysext/extbase/Classes/Package.php
typo3/sysext/extensionmanager/Classes/Package.php
typo3/sysext/extra_page_cm_options/Classes/Package.php [new file with mode: 0644]
typo3/sysext/felogin/Classes/Package.php [new file with mode: 0644]
typo3/sysext/filelist/Classes/Package.php [new file with mode: 0644]
typo3/sysext/fluid/Classes/Package.php
typo3/sysext/form/Classes/Package.php [new file with mode: 0644]
typo3/sysext/frontend/Classes/Package.php
typo3/sysext/func/Classes/Package.php [new file with mode: 0644]
typo3/sysext/func_wizards/Classes/Package.php [new file with mode: 0644]
typo3/sysext/impexp/Classes/Package.php [new file with mode: 0644]
typo3/sysext/info/Classes/Package.php [new file with mode: 0644]
typo3/sysext/info_pagetsconfig/Classes/Package.php [new file with mode: 0644]
typo3/sysext/install/Classes/Controller/Action/Step/EnvironmentAndFolders.php
typo3/sysext/install/Classes/Controller/StepController.php
typo3/sysext/install/Classes/Package.php
typo3/sysext/install/Classes/Service/SilentConfigurationUpgradeService.php
typo3/sysext/lang/Classes/Package.php
typo3/sysext/lowlevel/Classes/Package.php [new file with mode: 0644]
typo3/sysext/perm/Classes/Package.php [new file with mode: 0644]
typo3/sysext/recordlist/Classes/Package.php
typo3/sysext/reports/Classes/Package.php [new file with mode: 0644]
typo3/sysext/rsaauth/Classes/Package.php [new file with mode: 0644]
typo3/sysext/rtehtmlarea/Classes/Package.php [new file with mode: 0644]
typo3/sysext/saltedpasswords/Classes/Package.php
typo3/sysext/setup/Classes/Package.php [new file with mode: 0644]
typo3/sysext/sv/Classes/Package.php
typo3/sysext/sys_note/Classes/Package.php [new file with mode: 0644]
typo3/sysext/t3editor/Classes/Package.php [new file with mode: 0644]
typo3/sysext/t3skin/Classes/Package.php [new file with mode: 0644]
typo3/sysext/tstemplate/Classes/Package.php [new file with mode: 0644]
typo3/sysext/viewpage/Classes/Package.php [new file with mode: 0644]
typo3/sysext/wizard_crpages/Classes/Package.php [new file with mode: 0644]
typo3/sysext/wizard_sortpages/Classes/Package.php [new file with mode: 0644]

diff --git a/typo3/sysext/about/Classes/Package.php b/typo3/sysext/about/Classes/Package.php
new file mode 100644 (file)
index 0000000..2b53514
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+namespace TYPO3\CMS\About;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the text file GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+use TYPO3\CMS\Core\Package\Package as BasePackage;
+
+/**
+ * This is the About package
+ */
+class Package extends BasePackage {
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+}
diff --git a/typo3/sysext/aboutmodules/Classes/Package.php b/typo3/sysext/aboutmodules/Classes/Package.php
new file mode 100644 (file)
index 0000000..1395dcd
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+namespace TYPO3\CMS\Aboutmodules;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the text file GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+use TYPO3\CMS\Core\Package\Package as BasePackage;
+
+/**
+ * This is the Aboutmodules package
+ */
+class Package extends BasePackage {
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+}
index f6dc84c..608c6c5 100644 (file)
@@ -41,4 +41,13 @@ class Package extends BasePackage {
         */
        protected $protected = TRUE;
 
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+
+       /**
+        * @var bool
+        */
+       protected $partOfMinimalUsableSystem = TRUE;
 }
diff --git a/typo3/sysext/belog/Classes/Package.php b/typo3/sysext/belog/Classes/Package.php
new file mode 100644 (file)
index 0000000..778652c
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+namespace TYPO3\CMS\Belog;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the text file GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+use TYPO3\CMS\Core\Package\Package as BasePackage;
+
+/**
+ * This is the Belog package
+ */
+class Package extends BasePackage {
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+}
diff --git a/typo3/sysext/beuser/Classes/Package.php b/typo3/sysext/beuser/Classes/Package.php
new file mode 100644 (file)
index 0000000..c553e27
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+namespace TYPO3\CMS\Beuser;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the text file GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+use TYPO3\CMS\Core\Package\Package as BasePackage;
+
+/**
+ * This is the Beuser package
+ */
+class Package extends BasePackage {
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+}
index 467196e..ac87d2c 100644 (file)
@@ -41,4 +41,13 @@ class Package extends BasePackage {
         */
        protected $protected = TRUE;
 
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+
+       /**
+        * @var bool
+        */
+       protected $partOfMinimalUsableSystem = TRUE;
 }
\ No newline at end of file
diff --git a/typo3/sysext/context_help/Classes/Package.php b/typo3/sysext/context_help/Classes/Package.php
new file mode 100644 (file)
index 0000000..5f44b24
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+namespace TYPO3\CMS\ContextHelp;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the text file GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+use TYPO3\CMS\Core\Package\Package as BasePackage;
+
+/**
+ * This is the ContextHelp package
+ */
+class Package extends BasePackage {
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+}
index 0be9cea..4f6c9cb 100644 (file)
@@ -39,4 +39,13 @@ class Package extends BasePackage {
         */
        protected $protected = TRUE;
 
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+
+       /**
+        * @var bool
+        */
+       protected $partOfMinimalUsableSystem = TRUE;
 }
index 2163338..b28a9f4 100644 (file)
@@ -42,6 +42,22 @@ class Package extends \TYPO3\Flow\Package\Package implements PackageInterface {
        protected $ignoredClassNames = array();
 
        /**
+        * If this package is part of factory default, it will be activated
+        * during first installation.
+        *
+        * @var bool
+        */
+       protected $partOfFactoryDefault = FALSE;
+
+       /**
+        * If this package is part of minimal usable system, it will be
+        * activated if PackageStates is created from scratch.
+        *
+        * @var bool
+        */
+       protected $partOfMinimalUsableSystem = FALSE;
+
+       /**
         * Constructor
         *
         * @param \TYPO3\Flow\Package\PackageManager $packageManager the package manager which knows this package
@@ -87,6 +103,20 @@ class Package extends \TYPO3\Flow\Package\Package implements PackageInterface {
        /**
         * @return bool
         */
+       public function isPartOfFactoryDefault() {
+               return $this->partOfFactoryDefault;
+       }
+
+       /**
+        * @return boolean
+        */
+       public function isPartOfMinimalUsableSystem() {
+               return $this->partOfMinimalUsableSystem;
+       }
+
+       /**
+        * @return bool
+        */
        protected function getExtensionEmconf() {
                $_EXTKEY = $this->packageKey;
                $path = $this->packagePath . '/ext_emconf.php';
index 23b2e14..423a7cc 100644 (file)
@@ -28,4 +28,20 @@ interface PackageInterface extends \TYPO3\Flow\Package\PackageInterface {
         */
        public function getClassFilesFromAutoloadRegistry();
 
+       /**
+        * Tells if the package is part of the default factory configuration
+        * and therefor activated at first installation.
+        *
+        * @return boolean
+        */
+       public function isPartOfFactoryDefault();
+
+       /**
+        * Tells if the package is required for a minimal usable (backend) system
+        * and therefor activated if PackageStates is created from scratch for
+        * whatever reason.
+        *
+        * @return boolean
+        */
+       public function isPartOfMinimalUsableSystem();
 }
index 0a1f313..711935f 100644 (file)
@@ -32,41 +32,6 @@ return array(
                                ),
                        )),
                ),
-               'extListArray' => array(
-                       'info',
-                       'perm',
-                       'func',
-                       'filelist',
-                       'about',
-                       'version',
-                       'context_help',
-                       'extra_page_cm_options',
-                       'impexp',
-                       'sys_note',
-                       'tstemplate',
-                       'func_wizards',
-                       'wizard_crpages',
-                       'wizard_sortpages',
-                       'lowlevel',
-                       'install',
-                       'belog',
-                       'beuser',
-                       'documentation',
-                       'aboutmodules',
-                       'setup',
-                       'taskcenter',
-                       'info_pagetsconfig',
-                       'viewpage',
-                       'rtehtmlarea',
-                       'css_styled_content',
-                       't3skin',
-                       't3editor',
-                       'reports',
-                       'felogin',
-                       'form',
-                       'saltedpasswords',
-                       'rsaauth',
-               ),
        ),
        'FE' => array(
                'loginSecurityLevel' => 'rsa',
index 0cfd060..2f9f8f8 100644 (file)
@@ -38,4 +38,14 @@ class Package extends BasePackage {
         * @var boolean
         */
        protected $protected = TRUE;
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+
+       /**
+        * @var bool
+        */
+       protected $partOfMinimalUsableSystem = TRUE;
 }
\ No newline at end of file
diff --git a/typo3/sysext/documentation/Classes/Package.php b/typo3/sysext/documentation/Classes/Package.php
new file mode 100644 (file)
index 0000000..3502a7f
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+namespace TYPO3\CMS\Documentation;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the text file GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+use TYPO3\CMS\Core\Package\Package as BasePackage;
+
+/**
+ * This is the Documentation package
+ */
+class Package extends BasePackage {
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+}
index 4db1682..3d1e7f6 100644 (file)
@@ -38,4 +38,14 @@ class Package extends BasePackage {
         * @var boolean
         */
        protected $protected = TRUE;
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+
+       /**
+        * @var bool
+        */
+       protected $partOfMinimalUsableSystem = TRUE;
 }
\ No newline at end of file
index 6fd6794..b6f1650 100644 (file)
@@ -38,4 +38,14 @@ class Package extends BasePackage {
         * @var boolean
         */
        protected $protected = TRUE;
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+
+       /**
+        * @var bool
+        */
+       protected $partOfMinimalUsableSystem = TRUE;
 }
\ No newline at end of file
diff --git a/typo3/sysext/extra_page_cm_options/Classes/Package.php b/typo3/sysext/extra_page_cm_options/Classes/Package.php
new file mode 100644 (file)
index 0000000..2a85954
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+namespace TYPO3\CMS\ExtraPageCmOptions;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the text file GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+use TYPO3\CMS\Core\Package\Package as BasePackage;
+
+/**
+ * This is the ExtraPageCmOptions package
+ */
+class Package extends BasePackage {
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+}
diff --git a/typo3/sysext/felogin/Classes/Package.php b/typo3/sysext/felogin/Classes/Package.php
new file mode 100644 (file)
index 0000000..f5331f6
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+namespace TYPO3\CMS\Felogin;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the text file GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+use TYPO3\CMS\Core\Package\Package as BasePackage;
+
+/**
+ * This is the Felogin package
+ */
+class Package extends BasePackage {
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+}
diff --git a/typo3/sysext/filelist/Classes/Package.php b/typo3/sysext/filelist/Classes/Package.php
new file mode 100644 (file)
index 0000000..509c4a0
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+namespace TYPO3\CMS\Filelist;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the text file GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+use TYPO3\CMS\Core\Package\Package as BasePackage;
+
+/**
+ * This is the Filelist package
+ */
+class Package extends BasePackage {
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+}
index df23640..b63dbf3 100644 (file)
@@ -38,4 +38,14 @@ class Package extends BasePackage {
         * @var boolean
         */
        protected $protected = TRUE;
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+
+       /**
+        * @var bool
+        */
+       protected $partOfMinimalUsableSystem = TRUE;
 }
\ No newline at end of file
diff --git a/typo3/sysext/form/Classes/Package.php b/typo3/sysext/form/Classes/Package.php
new file mode 100644 (file)
index 0000000..d83d628
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+namespace TYPO3\CMS\Form;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the text file GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+use TYPO3\CMS\Core\Package\Package as BasePackage;
+
+/**
+ * This is the form package
+ */
+class Package extends BasePackage {
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+}
\ No newline at end of file
index d9cfde8..8b834c2 100644 (file)
@@ -38,4 +38,14 @@ class Package extends BasePackage {
         * @var boolean
         */
        protected $protected = TRUE;
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+
+       /**
+        * @var bool
+        */
+       protected $partOfMinimalUsableSystem = TRUE;
 }
\ No newline at end of file
diff --git a/typo3/sysext/func/Classes/Package.php b/typo3/sysext/func/Classes/Package.php
new file mode 100644 (file)
index 0000000..296edda
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+namespace TYPO3\CMS\Func;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the text file GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+use TYPO3\CMS\Core\Package\Package as BasePackage;
+
+/**
+ * This is the Func package
+ */
+class Package extends BasePackage {
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+}
diff --git a/typo3/sysext/func_wizards/Classes/Package.php b/typo3/sysext/func_wizards/Classes/Package.php
new file mode 100644 (file)
index 0000000..055be87
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+namespace TYPO3\CMS\FuncWizards;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the text file GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+use TYPO3\CMS\Core\Package\Package as BasePackage;
+
+/**
+ * This is the FuncWizards package
+ */
+class Package extends BasePackage {
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+}
diff --git a/typo3/sysext/impexp/Classes/Package.php b/typo3/sysext/impexp/Classes/Package.php
new file mode 100644 (file)
index 0000000..69b4928
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+namespace TYPO3\CMS\Impexp;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the text file GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+use TYPO3\CMS\Core\Package\Package as BasePackage;
+
+/**
+ * This is the Impexp package
+ */
+class Package extends BasePackage {
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+}
diff --git a/typo3/sysext/info/Classes/Package.php b/typo3/sysext/info/Classes/Package.php
new file mode 100644 (file)
index 0000000..e8491ca
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+namespace TYPO3\CMS\Info;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the text file GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+use TYPO3\CMS\Core\Package\Package as BasePackage;
+
+/**
+ * This is the Info package
+ */
+class Package extends BasePackage {
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+}
diff --git a/typo3/sysext/info_pagetsconfig/Classes/Package.php b/typo3/sysext/info_pagetsconfig/Classes/Package.php
new file mode 100644 (file)
index 0000000..d94b9ac
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+namespace TYPO3\CMS\InfoPagetsconfig;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the text file GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+use TYPO3\CMS\Core\Package\Package as BasePackage;
+
+/**
+ * This is the InfoPagetsconfig package
+ */
+class Package extends BasePackage {
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+}
index 31f917c..af679b8 100644 (file)
@@ -57,6 +57,22 @@ class EnvironmentAndFolders extends Action\AbstractAction implements StepInterfa
                        $configurationManager = $this->objectManager->get('TYPO3\\CMS\\Core\\Configuration\\ConfigurationManager');
                        $configurationManager->createLocalConfigurationFromFactoryConfiguration();
 
+                       // Create a PackageStates.php with all packages activated marked as "part of factory default"
+                       if (!file_exists(PATH_typo3conf . 'PackageStates.php')) {
+                               /** @var \TYPO3\CMS\Core\Package\FailsafePackageManager $packageManager */
+                               $packageManager = \TYPO3\CMS\Core\Core\Bootstrap::getInstance()->getEarlyInstance('TYPO3\\Flow\\Package\\PackageManager');
+                               $packages = $packageManager->getAvailablePackages();
+                               foreach ($packages as $package) {
+                                       /** @var $package \TYPO3\CMS\Core\Package\PackageInterface */
+                                       if ($package instanceof \TYPO3\CMS\Core\Package\PackageInterface
+                                               && $package->isPartOfFactoryDefault()
+                                       ) {
+                                               $packageManager->activatePackage($package->getPackageKey());
+                                       }
+                               }
+                               $packageManager->forceSortAndSavePackageStates();
+                       }
+
                        // Create enable install tool file after typo3conf & LocalConfiguration were created
                        $installToolService = $this->objectManager->get('TYPO3\\CMS\\Install\\Service\\EnableFileService');
                        $installToolService->createInstallToolEnableFile();
index 7f8f9b3..ed0e321 100644 (file)
@@ -45,6 +45,9 @@ class StepController extends AbstractController {
        /**
         * Index action acts a a dispatcher to different steps
         *
+        * Warning: Order of these methods is security relevant and interferes with different access
+        * conditions (new/existing installation). See the single method comments for details.
+        *
         * @throws Exception
         * @return void
         */
@@ -52,13 +55,10 @@ class StepController extends AbstractController {
                $this->loadBaseExtensions();
                $this->initializeObjectManager();
 
-               // Warning: Order of these methods is security relevant and interferes with different access
-               // conditions (new/existing installation). See the single method comments for details.
                $this->outputInstallToolNotEnabledMessageIfNeeded();
                $this->migrateLocalconfToLocalConfigurationIfNeeded();
-               // @TODO: Move method to silest upgrader?!
-               $this->migrateExtensionListToPackageStatesFile();
                $this->outputInstallToolPasswordNotSetMessageIfNeeded();
+               $this->migrateExtensionListToPackageStatesFile();
                $this->executeOrOutputFirstInstallStepIfNeeded();
                $this->executeSilentConfigurationUpgradesIfNeeded();
                $this->initializeSession();
@@ -166,7 +166,9 @@ class StepController extends AbstractController {
        }
 
        /**
-        * "Silent" upgrade very early in step installer, before rendering step 1:
+        * Migrate localconf.php to LocalConfiguration if needed. This is done early in
+        * install tool to ease further handling.
+        *
         * If typo3conf and typo3conf/localconf.php exist, but no typo3conf/LocalConfiguration,
         * create LocalConfiguration.php / AdditionalConfiguration.php from localconf.php
         * Might throw exception if typo3conf directory is not writable.
@@ -260,54 +262,72 @@ class StepController extends AbstractController {
        }
 
        /**
-        * "Silent" upgrade very early in step installer, before rendering step 1
+        * Create PackageStates.php if missing and LocalConfiguration exists.
+        *
+        * This typically happens during upgrading from 6.1 or lower, all valid packages
+        * from old EXT/extListArray will be marked active.
+        *
+        * It is also fired if PackageStates.php is deleted on a running 6.2 instance,
+        * all packages marked as "part of minimal system" are activated in this case.
+        *
+        * The step installer creates typo3conf/, LocalConfiguration and PackageStates in
+        * one call, so an "installation in progress" does not trigger creation of
+        * PackageStates here.
         *
         * @throws \Exception
         * @return void
         */
        protected function migrateExtensionListToPackageStatesFile() {
+               /** @var \TYPO3\CMS\Core\Configuration\ConfigurationManager $configurationManager */
+               $configurationManager = $this->objectManager->get('TYPO3\\CMS\\Core\\Configuration\\ConfigurationManager');
+               $localConfigurationFileLocation = $configurationManager->getLocalConfigurationFileLocation();
+               $localConfigurationFileExists = is_file($localConfigurationFileLocation);
+
+               if (file_exists(PATH_typo3conf . 'PackageStates.php')
+                       || (is_dir(PATH_typo3conf) && !$localConfigurationFileExists)
+                       || !is_dir(PATH_typo3conf)
+               ) {
+                       return;
+               }
+
                try {
-                       /** @var \TYPO3\CMS\Core\Configuration\ConfigurationManager $configurationManager */
-                       $configurationManager = $this->objectManager->get('TYPO3\\CMS\\Core\\Configuration\\ConfigurationManager');
-                       $localConfigurationFileLocation = $configurationManager->getLocalConfigurationFileLocation();
-                       $localConfigurationFileExists = is_file($localConfigurationFileLocation);
-                       if (!is_dir(PATH_typo3conf) || (is_dir(PATH_typo3conf) && !$localConfigurationFileExists) || file_exists(PATH_typo3conf . 'PackageStates.php')) {
-                               return;
+                       /** @var \TYPO3\CMS\Core\Package\FailsafePackageManager $packageManager */
+                       $packageManager = \TYPO3\CMS\Core\Core\Bootstrap::getInstance()->getEarlyInstance('TYPO3\\Flow\\Package\\PackageManager');
+
+                       // Activate all packages required for a minimal usable system
+                       $packages = $packageManager->getAvailablePackages();
+                       foreach ($packages as $package) {
+                               /** @var $package \TYPO3\CMS\Core\Package\PackageInterface */
+                               if ($package instanceof \TYPO3\CMS\Core\Package\PackageInterface
+                                       && $package->isPartOfMinimalUsableSystem()
+                               ) {
+                                       $packageManager->activatePackage($package->getPackageKey());
+                               }
                        }
-                       $loadedExtensions = array();
+
+                       // Activate all packages from LocalConfiguration EXT/extListArray if there is such an entry during upgrading.
+                       $extensionsFromExtListArray = array();
                        try {
-                               // Extensions in extListArray
-                               $loadedExtensions = $configurationManager->getLocalConfigurationValueByPath('EXT/extListArray');
+                               $extensionsFromExtListArray = $configurationManager->getLocalConfigurationValueByPath('EXT/extListArray');
                        } catch (\RuntimeException $exception) {
-                               // Fallback handling if extlist is still a string and not an array
-                               // @deprecated since 6.2, will be removed two versions later without a substitute
-                               try {
-                                       $loadedExtensions = GeneralUtility::trimExplode(',', $configurationManager->getLocalConfigurationValueByPath('EXT/extList'));
-                               } catch (\RuntimeException $exception) {
-                               }
                        }
-                       /** @var \TYPO3\CMS\Core\Package\FailsafePackageManager $packageManager */
-                       $packageManager = \TYPO3\CMS\Core\Core\Bootstrap::getInstance()->getEarlyInstance('TYPO3\\Flow\\Package\\PackageManager');
-                       foreach ($loadedExtensions as $loadedExtension) {
+                       foreach ($extensionsFromExtListArray as $loadedExtension) {
                                try {
                                        $packageManager->activatePackage($loadedExtension);
                                } catch (\TYPO3\Flow\Package\Exception\UnknownPackageException $exception) {
                                        // Skip unavailable packages silently
                                }
                        }
-                       $packageManager->forceSortAndSavePackageStates();
 
                        // Backup LocalConfiguration.php
-                       copy(
-                               $configurationManager->getLocalConfigurationFileLocation(),
-                               preg_replace('/\.php$/', '.beforePackageStatesMigration.php', $configurationManager->getLocalConfigurationFileLocation())
-                       );
-                       $configurationManager->updateLocalConfiguration(array(
-                               'EXT' => array(
-                                       'extListArray' => '__UNSET',
-                                       'extList' => '__UNSET',
-                               ),
-                       ));
+                       if (file_exists(PATH_typo3conf . 'PackageStates.php')) {
+                               copy(
+                                       $configurationManager->getLocalConfigurationFileLocation(),
+                                       preg_replace('/\.php$/', '.beforePackageStatesMigration.php', $configurationManager->getLocalConfigurationFileLocation())
+                               );
+                       }
+
+                       $packageManager->forceSortAndSavePackageStates();
 
                        // Perform a reload to self, so bootstrap now uses new PackageStates.php
                        $this->redirect();
index 9c73090..a4cec42 100644 (file)
@@ -38,4 +38,14 @@ class Package extends BasePackage {
         * @var boolean
         */
        protected $protected = TRUE;
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+
+       /**
+        * @var bool
+        */
+       protected $partOfMinimalUsableSystem = TRUE;
 }
\ No newline at end of file
index e976f68..826e4d3 100644 (file)
@@ -71,6 +71,8 @@ class SilentConfigurationUpgradeService {
                'EXT/em_wsdlURL',
                // #43094
                'EXT/extList',
+               // #47018
+               'EXT/extListArray',
                // #35877
                'EXT/extList_FE',
                // #41813
index 73bf89b..2501f40 100644 (file)
@@ -38,4 +38,14 @@ class Package extends BasePackage {
         * @var boolean
         */
        protected $protected = TRUE;
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+
+       /**
+        * @var bool
+        */
+       protected $partOfMinimalUsableSystem = TRUE;
 }
\ No newline at end of file
diff --git a/typo3/sysext/lowlevel/Classes/Package.php b/typo3/sysext/lowlevel/Classes/Package.php
new file mode 100644 (file)
index 0000000..413bc09
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+namespace TYPO3\CMS\Lowlevel;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the text file GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+use TYPO3\CMS\Core\Package\Package as BasePackage;
+
+/**
+ * This is the Lowlevel package
+ */
+class Package extends BasePackage {
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+}
diff --git a/typo3/sysext/perm/Classes/Package.php b/typo3/sysext/perm/Classes/Package.php
new file mode 100644 (file)
index 0000000..287cde5
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+namespace TYPO3\CMS\Perm;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the text file GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+use TYPO3\CMS\Core\Package\Package as BasePackage;
+
+/**
+ * This is the Perm package
+ */
+class Package extends BasePackage {
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+}
index 9a309d4..6336baa 100644 (file)
@@ -38,4 +38,14 @@ class Package extends BasePackage {
         * @var boolean
         */
        protected $protected = TRUE;
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+
+       /**
+        * @var bool
+        */
+       protected $partOfMinimalUsableSystem = TRUE;
 }
\ No newline at end of file
diff --git a/typo3/sysext/reports/Classes/Package.php b/typo3/sysext/reports/Classes/Package.php
new file mode 100644 (file)
index 0000000..80fda7e
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+namespace TYPO3\CMS\Reports;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the text file GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+use TYPO3\CMS\Core\Package\Package as BasePackage;
+
+/**
+ * This is the Reports package
+ */
+class Package extends BasePackage {
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+}
diff --git a/typo3/sysext/rsaauth/Classes/Package.php b/typo3/sysext/rsaauth/Classes/Package.php
new file mode 100644 (file)
index 0000000..080b3be
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+namespace TYPO3\CMS\Rsaauth;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the text file GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+use TYPO3\CMS\Core\Package\Package as BasePackage;
+
+/**
+ * This is the Rsaauth package
+ */
+class Package extends BasePackage {
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+}
diff --git a/typo3/sysext/rtehtmlarea/Classes/Package.php b/typo3/sysext/rtehtmlarea/Classes/Package.php
new file mode 100644 (file)
index 0000000..84c62e4
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+namespace TYPO3\CMS\Rtehtmlarea;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the text file GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+use TYPO3\CMS\Core\Package\Package as BasePackage;
+
+/**
+ * This is the Rtehtmlarea package
+ */
+class Package extends BasePackage {
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+}
index 27d838d..e801e4e 100644 (file)
@@ -38,4 +38,14 @@ class Package extends BasePackage {
         * @var boolean
         */
        protected $protected = TRUE;
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+
+       /**
+        * @var bool
+        */
+       protected $partOfMinimalUsableSystem = TRUE;
 }
\ No newline at end of file
diff --git a/typo3/sysext/setup/Classes/Package.php b/typo3/sysext/setup/Classes/Package.php
new file mode 100644 (file)
index 0000000..a16cbb1
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+namespace TYPO3\CMS\Setup;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the text file GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+use TYPO3\CMS\Core\Package\Package as BasePackage;
+
+/**
+ * This is the Setup package
+ */
+class Package extends BasePackage {
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+}
index 86bfc98..658aab7 100644 (file)
@@ -38,4 +38,14 @@ class Package extends BasePackage {
         * @var boolean
         */
        protected $protected = TRUE;
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+
+       /**
+        * @var bool
+        */
+       protected $partOfMinimalUsableSystem = TRUE;
 }
\ No newline at end of file
diff --git a/typo3/sysext/sys_note/Classes/Package.php b/typo3/sysext/sys_note/Classes/Package.php
new file mode 100644 (file)
index 0000000..be7b971
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+namespace TYPO3\CMS\SysNote;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the text file GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+use TYPO3\CMS\Core\Package\Package as BasePackage;
+
+/**
+ * This is the SysNote package
+ */
+class Package extends BasePackage {
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+}
diff --git a/typo3/sysext/t3editor/Classes/Package.php b/typo3/sysext/t3editor/Classes/Package.php
new file mode 100644 (file)
index 0000000..6028498
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+namespace TYPO3\CMS\T3editor;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the text file GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+use TYPO3\CMS\Core\Package\Package as BasePackage;
+
+/**
+ * This is the T3editor package
+ */
+class Package extends BasePackage {
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+}
\ No newline at end of file
diff --git a/typo3/sysext/t3skin/Classes/Package.php b/typo3/sysext/t3skin/Classes/Package.php
new file mode 100644 (file)
index 0000000..3488d04
--- /dev/null
@@ -0,0 +1,46 @@
+<?php
+namespace TYPO3\CMS\T3skin;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the text file GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+use TYPO3\CMS\Core\Package\Package as BasePackage;
+
+/**
+ * This is the T3skin package
+ */
+class Package extends BasePackage {
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+
+       /**
+        * @var bool
+        */
+       protected $partOfMinimalUsableSystem = TRUE;
+}
diff --git a/typo3/sysext/tstemplate/Classes/Package.php b/typo3/sysext/tstemplate/Classes/Package.php
new file mode 100644 (file)
index 0000000..11d3234
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+namespace TYPO3\CMS\Tstemplate;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the text file GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+use TYPO3\CMS\Core\Package\Package as BasePackage;
+
+/**
+ * This is the Tstemplate package
+ */
+class Package extends BasePackage {
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+}
diff --git a/typo3/sysext/viewpage/Classes/Package.php b/typo3/sysext/viewpage/Classes/Package.php
new file mode 100644 (file)
index 0000000..66c3043
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+namespace TYPO3\CMS\Viewpage;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the text file GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+use TYPO3\CMS\Core\Package\Package as BasePackage;
+
+/**
+ * This is the Viewpage package
+ */
+class Package extends BasePackage {
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+}
diff --git a/typo3/sysext/wizard_crpages/Classes/Package.php b/typo3/sysext/wizard_crpages/Classes/Package.php
new file mode 100644 (file)
index 0000000..e47b07a
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+namespace TYPO3\CMS\WizardCrpages;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the text file GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+use TYPO3\CMS\Core\Package\Package as BasePackage;
+
+/**
+ * This is the WizardCrpages package
+ */
+class Package extends BasePackage {
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+}
diff --git a/typo3/sysext/wizard_sortpages/Classes/Package.php b/typo3/sysext/wizard_sortpages/Classes/Package.php
new file mode 100644 (file)
index 0000000..55a9667
--- /dev/null
@@ -0,0 +1,41 @@
+<?php
+namespace TYPO3\CMS\WizardSortpages;
+
+/***************************************************************
+ *  Copyright notice
+ *
+ *  (c) 2013 Christian Kuhn <lolli@schwarzbu.ch>
+ *  All rights reserved
+ *
+ *  This script is part of the TYPO3 project. The TYPO3 project is
+ *  free software; you can redistribute it and/or modify
+ *  it under the terms of the GNU General Public License as published by
+ *  the Free Software Foundation; either version 2 of the License, or
+ *  (at your option) any later version.
+ *
+ *  The GNU General Public License can be found at
+ *  http://www.gnu.org/copyleft/gpl.html.
+ *  A copy is found in the text file GPL.txt and important notices to the license
+ *  from the author is found in LICENSE.txt distributed with these scripts.
+ *
+ *
+ *  This script is distributed in the hope that it will be useful,
+ *  but WITHOUT ANY WARRANTY; without even the implied warranty of
+ *  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+ *  GNU General Public License for more details.
+ *
+ *  This copyright notice MUST APPEAR in all copies of the script!
+ ***************************************************************/
+
+use TYPO3\CMS\Core\Package\Package as BasePackage;
+
+/**
+ * This is the WizardSortpages package
+ */
+class Package extends BasePackage {
+
+       /**
+        * @var bool
+        */
+       protected $partOfFactoryDefault = TRUE;
+}