diff options
-rw-r--r-- | nextcloud-fedora-autoloader.php | 119 | ||||
-rw-r--r-- | nextcloud.spec | 40 |
2 files changed, 86 insertions, 73 deletions
diff --git a/nextcloud-fedora-autoloader.php b/nextcloud-fedora-autoloader.php index 84f8c1b..a70713d 100644 --- a/nextcloud-fedora-autoloader.php +++ b/nextcloud-fedora-autoloader.php @@ -1,68 +1,65 @@ <?php $vendor = '##DATADIR##/php'; -if (!isset($fedoraClassLoader) || !($fedoraClassLoader instanceof \Symfony\Component\ClassLoader\ClassLoader)) { - if (!class_exists('Symfony\\Component\\ClassLoader\\ClassLoader', false)) { - require_once $vendor . '/Symfony/Component/ClassLoader/ClassLoader.php'; - } - - $fedoraClassLoader = new \Symfony\Component\ClassLoader\ClassLoader(); - $fedoraClassLoader->register(); -} +require_once $vendor . '/Fedora/Autoloader/autoload.php'; // For PEAR components -$fedoraClassLoader->setUseIncludePath(true); +\Fedora\Autoloader\Autoload::addIncludePath(); // Dependencies from 3rdparty composer.json -// "guzzlehttp/guzzle" -require_once $vendor . '/GuzzleHttp/autoload.php'; -// "sabre/dav" -require_once $vendor . '/Sabre/DAV/autoload.php'; -// "doctrine/dbal" -require_once $vendor . '/Doctrine/DBAL/autoload.php'; -// mcnetic/zipstreamer" -require_once $vendor . '/ZipStreamer/autoload.php'; -// "phpeclib/phpseclib" -require_once $vendor . '/phpseclib/autoload.php'; -// "rackspace/php-opencloud" -require_once $vendor . '/OpenCloud/autoload.php'; -// "jeremeamia/superclosure" -require_once $vendor . '/SuperClosure/autoload.php'; -// "bantu/ini-get-wrapper" -require_once $vendor . '/bantu/IniGetWrapper/IniGetWrapper.php'; -// "natxet/CssMin" -require_once $vendor . '/natxet/CssMin/autoload.php'; -// "punic/punic" -require_once $vendor . '/Punic/autoload.php'; -// "patchwork/utf8" -require_once $vendor . '/Patchwork/autoload.php'; -// "symfony/console" -require_once $vendor . '/Symfony/Component/Console/autoload.php'; -// "symfony/event-dispatcher" -require_once $vendor . '/Symfony/Component/EventDispatcher/autoload.php'; -// "symfony/routing" -require_once $vendor . '/Symfony/Component/Routing/autoload.php'; -// "symfony/process" -require_once $vendor . '/Symfony/Component/Process/autoload.php'; -// "pimple/pimple" -require_once $vendor . '/Pimple/autoload.php'; -// "ircmaxell/password-compat" -require_once $vendor . '/password_compat/password.php'; -// "nikic/php-parser" -require_once $vendor . '/PhpParser/autoload.php'; -// "icewind/Streams" -require_once $vendor . '/Icewind/Streams/autoload.php'; -// "swiftmailer/swiftmailer -require_once $vendor . '/Swift/swift_required.php'; -// "league/flysystem" -require_once $vendor . '/League/Flysystem/autoload.php'; -// "interfasys/lognormalizer" -require_once $vendor . '/InterfaSys/LogNormalizer/autoload.php'; -// "deepdiver1975/TarSTreamer" -require_once $vendor . '/ownCloud/TarStreamer/autoload.php'; -// "patchwork/jsqueeze" -require_once $vendor . '/Patchwork/JSqueeze.php'; -// "symfony/polyfill-php{55,56,70}" -require_once $vendor . '/Symfony/Polyfill/autoload.php'; -// "lukasreschke/id3parser": "^0.0.1" -require_once $vendor . '/ID3Parser/autoload.php'; +\Fedora\Autoloader\Dependencies::required(array( + // "guzzlehttp/guzzle" + $vendor . '/GuzzleHttp/autoload.php', + // To avoid having Aws 3 loaded + $vendor . '/Aws/autoload.php', + // "sabre/dav" + $vendor . '/Sabre/DAV/autoload.php', + // "doctrine/dbal" + $vendor . '/Doctrine/DBAL/autoload.php', + // mcnetic/zipstreamer" + $vendor . '/ZipStreamer/autoload.php', + // "phpeclib/phpseclib" + $vendor . '/phpseclib/autoload.php', + // "rackspace/php-opencloud" + $vendor . '/OpenCloud/autoload.php', + // "jeremeamia/superclosure" + $vendor . '/SuperClosure/autoload.php', + // "bantu/ini-get-wrapper" + $vendor . '/bantu/IniGetWrapper/IniGetWrapper.php', + // "natxet/CssMin" + $vendor . '/natxet/CssMin/autoload.php', + // "punic/punic" + $vendor . '/Punic/autoload.php', + // "patchwork/utf8" + $vendor . '/Patchwork/autoload.php', + // "symfony/console" + $vendor . '/Symfony/Component/Console/autoload.php', + // "symfony/event-dispatcher" + $vendor . '/Symfony/Component/EventDispatcher/autoload.php', + // "symfony/routing" + $vendor . '/Symfony/Component/Routing/autoload.php', + // "symfony/process" + $vendor . '/Symfony/Component/Process/autoload.php', + // "pimple/pimple" + $vendor . '/Pimple/autoload.php', + // "ircmaxell/password-compat" + $vendor . '/password_compat/password.php', + // "nikic/php-parser" + $vendor . '/PhpParser/autoload.php', + // "icewind/Streams" + $vendor . '/Icewind/Streams/autoload.php', + // "swiftmailer/swiftmailer + $vendor . '/Swift/swift_required.php', + // "league/flysystem" + $vendor . '/League/Flysystem/autoload.php', + // "interfasys/lognormalizer" + $vendor . '/InterfaSys/LogNormalizer/autoload.php', + // "deepdiver1975/TarSTreamer" + $vendor . '/ownCloud/TarStreamer/autoload.php', + // "patchwork/jsqueeze" + $vendor . '/Patchwork/JSqueeze.php', + // "symfony/polyfill-php{55,56,70}" + $vendor . '/Symfony/Polyfill/autoload.php', + // "lukasreschke/id3parser": "^0.0.1" + $vendor . '/ID3Parser/autoload.php', +)); diff --git a/nextcloud.spec b/nextcloud.spec index 46ad3dd..562d565 100644 --- a/nextcloud.spec +++ b/nextcloud.spec @@ -16,7 +16,7 @@ Name: nextcloud Version: 10.0.4 -Release: 2%{?dist} +Release: 3%{?dist} Summary: Private file sync and share server Group: Applications/Internet @@ -91,6 +91,8 @@ Requires: crontabs # expand pear macros on install BuildRequires: php-pear +# Use by our autoloader +BuildRequires: php-composer(fedora/autoloader) >= 1.0.0 # For sanity %%check BuildRequires: php-cli BuildRequires: php-composer(sabre/dav) >= 3.0.9 @@ -170,6 +172,8 @@ BuildRequires: php-composer(onelogin/php-saml) < 3.0 Requires: %{name}-webserver = %{version}-%{release} Requires: %{name}-database = %{version}-%{release} +# Use by our autoloader +Requires: php-composer(fedora/autoloader) >= 1.0.0 # Core PHP libs/extensions required by OC core Requires: php-curl Requires: php-dom @@ -592,15 +596,17 @@ rm -r apps/files_external/3rdparty/{icewind,Dropbox,google-api-php-client,aws-sd # include stuff required directly but not in composer too cat << 'EOF' | tee apps/files_external/3rdparty/autoload.php <?php -require_once '%{_datadir}/php/Icewind/Streams/autoload.php'; -require_once '%{_datadir}/php/Icewind/SMB/autoload.php'; -require_once '%{_datadir}/pear/Dropbox/autoload.php'; -if (file_exists('%{_datadir}/php/Google1/autoload.php')) { - require_once '%{_datadir}/php/Google1/autoload.php'; -} else { - require_once '%{_datadir}/php/Google/autoload.php'; -} -require_once '%{_datadir}/php/Aws/autoload.php'; +require_once '%{_datadir}/php/Fedora/Autoloader/autoload.php'; +\Fedora\Autoloader\Dependencies::required(array( + '%{_datadir}/php/Icewind/Streams/autoload.php', + '%{_datadir}/php/Icewind/SMB/autoload.php', + '%{_datadir}/pear/Dropbox/autoload.php', + array( + '%{_datadir}/php/Google1/autoload.php', + '%{_datadir}/php/Google/autoload.php', + ), + '%{_datadir}/php/Aws/autoload.php', +)); EOF # remove gallery external bundled libraries @@ -611,7 +617,10 @@ rm apps/gallery/composer.lock # "symfony/yaml": "_2.6" cat << 'EOF' | tee apps/gallery/vendor/autoload.php <?php -require_once '%{_datadir}/php/Symfony/Component/Yaml/autoload.php'; +require_once '%{_datadir}/php/Fedora/Autoloader/autoload.php'; +\Fedora\Autoloader\Dependencies::required(array( + '%{_datadir}/php/Symfony/Component/Yaml/autoload.php', +)); EOF # remove user_saml external bundled libraries @@ -621,7 +630,10 @@ rm apps/user_saml/3rdparty/composer.lock # create autoloader cat << 'EOF' | tee apps/user_saml/3rdparty/vendor/autoload.php <?php -require_once '%{_datadir}/php/OneLogin/Saml2/autoload.php'; +require_once '%{_datadir}/php/Fedora/Autoloader/autoload.php'; +\Fedora\Autoloader\Dependencies::required(array( + '%{_datadir}/php/OneLogin/Saml2/autoload.php', +)); EOF # clean up content @@ -905,6 +917,10 @@ fi %changelog +* Mon Apr 3 2017 Remi Collet remi@remirepo.net> - 10.0.4-3 +- ensure aws/php-sdk v2 loaded before v3 +- rewrite autoloader using fedora/autoloader + * Mon Apr 3 2017 Remi Collet remi@remirepo.net> - 10.0.4-2 - back to remi's repository |