Spec URL: https://raw.github.com/siwinski/rpms/1ec41e8e5728d432aacacd7eabbf75dcede2c271/php-doctrine-dbal.spec SRPM URL: http://siwinski.fedorapeople.org/SRPMS/php-doctrine-dbal-2.4.1-1.fc20.src.rpm Description: The Doctrine database abstraction & access layer (DBAL) offers a lightweight and thin runtime layer around a PDO-like API and a lot of additional, horizontal features like database schema introspection and manipulation through an OO API. The fact that the Doctrine DBAL abstracts the concrete PDO API away through the use of interfaces that closely resemble the existing PDO API makes it possible to implement custom drivers that may use existing native or self-made APIs. For example, the DBAL ships with a driver for Oracle databases that uses the oci8 extension under the hood. Fedora Account System Username: siwinski *** NOTE: Rename/repackage because upstream dropped PEAR packaging as of version 2.4.0
Created attachment 842930 [details] php-doctrine-DoctrineDBAL.repoquery.txt repoquery of pkgs requiring php-doctrine-DoctrineDBAL
Gregor suggests adding the following further OwnCloud changes: [SQLITE] backported from 2.4 to 2.3: https://github.com/doctrine/dbal/commit/38bd06935a6e596a61a15cdf34f576d9a952ac09 https://github.com/doctrine/dbal/commit/cb440e1e4053af0aceca46e147661d6402a3dc43 -> https://github.com/owncloud/3rdparty/commit/1bab5d4b5b5e6ce81b94bc1c359cff46119c406e not found upstream: https://github.com/owncloud/3rdparty/commit/39314855aa5475c016ffae1f747f903db1ee1685 [Postgres] https://github.com/doctrine/dbal/commit/17edd0d54a16338738274161c422ba5486e2766b -> https://github.com/owncloud/3rdparty/commit/12d8399a2da01c1850ad009b1862992937f58a1a https://github.com/doctrine/dbal/commit/5156391b5686a2b3bba628bb0bc1fece63409a44 -> https://github.com/owncloud/3rdparty/commit/380f5a95315fde4a0eaefe69c9dd56c25a57464f not found upstream: https://github.com/owncloud/3rdparty/commit/25e8568d41a9b9a6d1662ccf33058822a890e7f5 Many of these have been merged into the 2.4 branch recently - see https://github.com/doctrine/dbal/commits/2.4/lib/Doctrine/DBAL/Platforms - but they are not in 2.4.1. I don't know when 2.4.2 is likely to happen.
I've added comments upstream asking if the fixes that have been merged to master but not yet 2.4 branch can be added to 2.4. Note that https://github.com/doctrine/dbal/commit/e1cd82a50cc9f020b45fe8229afe7c60d3945718 is the upstream equivalent of https://github.com/owncloud/3rdparty/commit/25e8568d41a9b9a6d1662ccf33058822a890e7f5 , which Gregor did not find and listed as 'not found upstream'.
Hum, let me clean that up a bit, it's quite confusing :( I would suggest we need the following commits beyond what's already in the spec: 1. https://github.com/doctrine/dbal/commit/5156391b5686a2b3bba628bb0bc1fece63409a44.patch "Quote Old column Names when generating ALTER TABLE SQL" (matches OwnCloud "Use quoted column name for alter table") 2. https://github.com/doctrine/dbal/commit/e1cd82a50cc9f020b45fe8229afe7c60d3945718.patch "Fix issue with drop constraint + column ordering in ALTER TABLE of PostgreSQL." (matches OwnCloud "Dropped indexes can have constraints, drop those first if they exist") 3. https://github.com/owncloud/3rdparty/commit/39314855aa5475c016ffae1f747f903db1ee1685.patch "Add 'bigint unsigned' mapping to Doctrine SqlitePlatform" (appears to have no upstream pull request) 4. *POSSIBLY* https://github.com/doctrine/dbal/commit/3da7d2ffec4a90854f2e09f58eef2ff24e5f436a.patch "Besides the table name, the column name has to be quoted in column comments." (matches OwnCloud "Use quoted column identifier for adding comment to column", but OC later reverted that change without explaining why; I added a comment asking for an explanation) 5. https://github.com/doctrine/dbal/commit/17edd0d54a16338738274161c422ba5486e2766b.patch "fix column default value lifecycle" (matches OwnCloud "fix drop default on postgresql when default value is removed") I'm going to get in touch with the relevant parties about having as many of the fixes as possible sent to upstream's 2.4 branch, so we don't need to carry them downstream all the way up until 2.5...
There's also: https://github.com/owncloud/3rdparty/commit/7ae81563894b971e51cee7bdb0ac2da83ecc5149.patch "Fix quoting of identifiers in OraclePlatform" not sure if we really need this one, if OraclePlatform is for Oracle SQL, but hey. It does not appear to have been sent upstream. I've now sent out a mail to all relevant parties summarizing the divergences between OC's patch set and upstream DBAL 2.4 and asking if they can be resolved so we could hopefully have OC running against an unpatched DBAL 2.4.
Upstream responded very quickly to my mail and have now pulled in everything except the OraclePlatform quoting issue, see: https://github.com/doctrine/dbal/commits/2.4 so now all we really need to do is pull the patches straight from there.
Created attachment 845221 [details] phpci.log phpcompatinfo version 2.26.0.
Created attachment 845222 [details] review.txt Generated by fedora-review 0.5.0 (920221d) last change: 2013-08-30 Command line :/usr/bin/fedora-review -b 1047110
[!]: Package installs properly. Need all the new stack. [!]: Dist tag is present (not strictly required in GL). @adamw: can you check that all the patch needed by owncloud are present ? if ok, as no blocker, I will approve this package.
@adam, @shawn, isn't an update to 2.4.2 (release 2 days ago) not simpler ?
@shawn: Minor bash style, instead of "cat foo | sed xxx >bar", simply use "sed xxx foo >bar" So: sed 's#Doctrine/Common/ClassLoader.php#%{_datadir}/php/Doctrine/Common/ClassLoader.php#' \ bin/doctrine-dbal.php >> bin/doctrine-dbal
also: "install -pm 755" seems simpler than "chmod + cp"
Yeah, I think a bump to 2.4.2 would save us shipping a bunch of patches. Sorry I didn't get around to testing OC 6 + Doctrine 2.4 yet, I got sidetracked by the autoloader black hole. I'll try and get to this tomorrow, if I don't have any real work to do. :)
(In reply to Remi Collet from comment #10) > @adam, @shawn, isn't an update to 2.4.2 (release 2 days ago) not simpler ? Yep! I did not notice the release announcement. THANKS! (In reply to Remi Collet from comment #11) (In reply to Remi Collet from comment #12) Updated. Updates: - Updated to 2.4.2 - Conditional %{?dist} Spec Diffs: - https://github.com/siwinski/rpms/compare/82df10ec8d3d744848659485a4cd1000981357a1...9872cb2f77b8146ae4709ca1fd7f7e83c500910f - https://github.com/siwinski/rpms/commit/e03241263b7ff8685a3b9c01e8ee4ce15848dc62 Upstream diff: https://github.com/doctrine/dbal/compare/d08b11c7eaab4b0509752638b7d60d4b97bd94d4...v2.4.2 Spec URL: https://raw.github.com/siwinski/rpms/e03241263b7ff8685a3b9c01e8ee4ce15848dc62/php-doctrine-dbal.spec SRPM URL: http://siwinski.fedorapeople.org/SRPMS/php-doctrine-dbal-2.4.2-1.fc20.src.rpm
if it's not too much trouble can you stick a build in your repo? then I can do some testing on my test OC instance. thanks!
(In reply to Adam Williamson from comment #15) > if it's not too much trouble can you stick a build in your repo? then I can > do some testing on my test OC instance. thanks! Completed. Enjoy! :)
== APPROVED ==
Works fine installed as an update to a running OC 6.0.0a+mariadb instance. Now testing upgrade from OC 5.1.4a+mariadb+dbal 2.3 to OC 6.0.0a+mariadb+dbal 2.4. I'll try sqlite and pgsql later tonight, or tomorrow.
Hum, upgrade from 5.0.14a to 6.0.0a still fails with DBAL 2.4.2. The error is the "An exception occurred while executing 'ALTER TABLE `oc_appconfig` DROP PRIMARY KEY': SQLSTATE[42000]: Syntax error or access violation: 1091 Can't DROP 'PRIMARY'; check that column/key exists" error I got with my initial tests before figuring out we had to patch Doctrine, even though I thought 2.4.2 should have all the essential patches. It's getting late here, I'll take another cut at this tomorrow and see if I can find a patch we're missing, or if perhaps upstream's patches don't quite achieve the same as all of OC's Doctrine patches.
Remi -- THANKS for the review! Adam -- Are you OK for the entire new Doctrine tree to be built in rawhide? I would like to get an email out to the devel list for testing there. New Package SCM Request ======================= Package Name: php-doctrine-dbal Short Description: Doctrine Database Abstraction Layer (DBAL) Owners: siwinski Branches: f19 f20 el6 InitialCC:
sure, all's I really care about it for is OC. I didn't get time to do any more testing today, I'm sorry - turned out to be a busy day for errands :/
Git done (by process-git-requests).
Adam -- The full Doctrine tree has been built in rawhide. Would you mind if I marked this review request as "Closed > Rawhide"? If you have any patches etc. that need to be added just open a new bug?
absolutely, go for it.
Ah, so I think I found out what happened. Upstream Doctrine reverted one of the OwnCloud fixes immediately after applying it: https://github.com/doctrine/dbal/pull/363#issuecomment-31794747 I'll test a build with that patch re-added.
Yup, works. Sent to Rawhide. Also tested an OC 5.0.14a to 6.0.0a upgrade with sqlite successfully, will test pgsql if I can.
I tried testing pgsql, but couldn't get initial setup with OC 5 to work at all. Kept complaining about the pgsql username/password being wrong, even though it worked at a console. I probably don't grok pgsql setup, it seems arcane.