Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 577850

Summary: =dev-db/tora-3.2 version bump and update live ebuild
Product: Gentoo Linux Reporter: Sergey S. Starikoff <Ikonta>
Component: Current packagesAssignee: Sergey S. Starikoff <Ikonta>
Status: RESOLVED FIXED    
Severity: normal CC: asturm, haubi, mephinet, orodruinlair, proxy-maint
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 541604    
Bug Blocks: 634970    
Attachments: tora-9999.ebuild.patch
tora_new_ebuild.patch
tora-3.2.ebuild.diff
tora-3.2_failed_build.log.xz
tora-3.2_graphiz-2.40_build.log.xz
pch_build.log.xz

Description Sergey S. Starikoff 2016-03-20 17:12:50 UTC
Created attachment 428654 [details, diff]
tora-9999.ebuild.patch

Many significant fixes and updates.
Default GUI switched to Qt5.
In about mid-January 2016 project's source code migrated on github.
In early March project's state changed from alpha to beta.

Opening this bug as remind flag.
For now default build (with system's x11-libs/qscintilla) is broken. Package needs in Qt slotting (see bug #541604).
Since beta TOra3 supports Oracle 12 client. Probably we need to unify Oracle client 11 and 12 structure, see https://bugs.gentoo.org/show_bug.cgi?id=524922#c12 because TOra3 is also compatible with Oracle 11 client.

For now Qt4 build is broken, so we should wait fixed version to update dev-db/tora-3.0.0_pre20140929-r1 snapshot.
Comment 1 Ian Delaney (RETIRED) gentoo-dev 2016-03-28 04:53:12 UTC
The patch in  tora-9999.ebuild.patch sadly is unusable.  This looks like it is intended to update a live ebuild. The diff appears to be made beteen a versione ebuild and the live.  It also mixes cvs with git style ebuilds.

Please try again.
Comment 2 Sam Jorna (wraeth) gentoo-dev 2016-03-28 06:52:05 UTC
The patch in attachment 428654 [details, diff] works fine - it looks like it was forked from an earlier version of the 9999 ebuild - however as noted it does have some things that need to be addressed. Some of these can be highlighted by `repoman full` within the ebuild directory.

The header is incorrect - see ${PORTDIR}/header.txt.

Additionally, SRC_URI points to "${PN}-master.tar.gz" - a non-version-pinned archive with no actual URI - when not being called as "9999". This can't be used for versioned ebuilds, both because the version isn't pinned and because there is no URI from which to get the archive initially.

Lastly, the dependency on dev-db/postgresql should be slotted, either with a specific version number or using a slot operator[0].

Based on comment 0, I haven't performed any buildtesting using the patched 9999 ebuild.

Obviously this is in no rush until bug 541604 is resolved.

Thanks!

0: https://devmanual.gentoo.org/general-concepts/dependencies/index.html#slot-dependencies
Comment 3 Sergey S. Starikoff 2016-03-28 11:50:13 UTC
(In reply to Sam Jorna (wraeth) from comment #2)
> Additionally, SRC_URI points to "${PN}-master.tar.gz" - a non-version-pinned
> archive with no actual URI - when not being called as "9999". This can't be
> used for versioned ebuilds, both because the version isn't pinned and
> because there is no URI from which to get the archive initially.
Historically dev-db/tora uses the same ebuild for snapshot and live version.
${PN}-master.tar.gz is my test distiles snapshot. On the time to update versioned snapshot it will be updated to proper value.

> Lastly, the dependency on dev-db/postgresql should be slotted, either with a
> specific version number or using a slot operator[0].
dev-db/tora provides poor dev-db/postgresql support, probably without versioning.

> Obviously this is in no rush until bug 541604 is resolved.
Not exactly so.
In bug #541604 we need in (5) slot to build TOra3 with it's default QT5 GUI.
But when upstream will return buildability with Qt4, we could and probably should update versioned snapshot, masking qt5 USE as "-qt5".

I'll monitor it (dev-db/tora buildability with Qt4 GUI).

(In reply to Ian Delaney from comment #1)
> The patch in  tora-9999.ebuild.patch sadly is unusable.  This looks like it
> is intended to update a live ebuild.

Ebuild was significantly updated and needs some further revision.
Next time I'll attach complete ebuild, not patch.
About versioning of dev-db/tora see my answer above.
Comment 4 Sergey S. Starikoff 2016-03-28 12:00:16 UTC
(In reply to Sam Jorna (wraeth) from comment #2)
> Obviously this is in no rush until bug 541604 is resolved.

The alternative to fix of #541604 is override default and use bundled version of x11-libs/qscintilla.
But I don't find it good enough.
Comment 5 Sergey S. Starikoff 2016-07-19 13:20:57 UTC
2016-04-03 upstream released 3.0.0 version.
But qt4 build is still (on only in release, but till now, i.e. latest snapshot) broken, see possible blocker https://github.com/tora-tool/tora/issues/42
Correct build of qt5 GUI requires unavailable package (see bug #541604).
Comment 6 Sergey S. Starikoff 2016-10-17 12:53:23 UTC
Note about error:
https://wiki.qt.io/Transition_from_Qt_4.x_to_Qt5#Qt::escape_is_deprecated
Comment 7 Sergey S. Starikoff 2017-06-13 11:47:29 UTC
Yes!!!
Today's git snapshot is buildable and looks normally operable.
Comment 8 Sergey S. Starikoff 2017-06-13 11:50:20 UTC
Created attachment 476244 [details, diff]
tora_new_ebuild.patch

proxy-maint, please upload sources snapshot and update ebuilds.

Previous version =dev-db/tora-3.0.0_pre20140929-r2 AFAIR is incompatible with recent packages and should be dropped.
Comment 9 mephinet 2017-08-23 16:22:49 UTC
Thanks a lot, Sergey, I really missed tora, and I'm glad it's back!

Applying your patch to create tora-9999.ebuild from the old tora-3.0.0_pre20140929-r2.ebuild, and running
# ebuild tora-9999.ebuild compile
results in:

CMake Error at CMakeLists.txt:212 (find_package):
  By not providing "FindQt5Sql.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "Qt5Sql", but
  CMake did not find one.

and also:

CMake Error at cmake/modules/FindQScintilla.cmake:99 (MESSAGE):
  Cannot find QScintilla2 header

So I guess qtsql and qscintilla are not runtime, but build dependencies. Furthermore, qscintilla must be compiled with qt5 -qt4 for the build to succeed.
After fixing that, buildind succeeds.
Comment 10 Andreas Sturmlechner gentoo-dev 2017-10-21 22:33:13 UTC
Created attachment 499596 [details, diff]
tora-3.2.ebuild.diff

I've switched the ebuild unconditionally to Qt5 and fixed all errors obvious to me. Someone else needs to test though.

Please let's get this to tree or last-rite the package.
Comment 11 Sergey S. Starikoff 2017-10-25 10:59:15 UTC
(In reply to Andreas Sturmlechner from comment #10)
> I've switched the ebuild unconditionally to Qt5 and fixed all errors obvious
> to me. Someone else needs to test though.

One expected error in your patch:
For a time ago optional build with Oracle was broken. I.e. although build system provided feature of build without Oracle's support, build itself failed.
Thatis why I've made this dependency hard.
Have you tested this bug fixed?

The second question is about Oracle compatibility.
You've required legacy Oracle 11.
For rather long ago TOra had an issues building with Oracle 12 client.
But it was fixed.
So, we have just a temporary Gentoo packaging… feature, described in bug #589146
Comment 12 Andreas Sturmlechner gentoo-dev 2017-10-25 17:40:26 UTC
(In reply to Sergey S. Starikoff from comment #11)
> One expected error in your patch:
> For a time ago optional build with Oracle was broken. I.e. although build
> system provided feature of build without Oracle's support, build itself
> failed.
> Thatis why I've made this dependency hard.
> Have you tested this bug fixed?
I haven't tested at all (and mentioned that). ;)

However, tora[oracle] is forced in base/package.use.force so we do not have to remove the flag.
Comment 13 Andreas Sturmlechner gentoo-dev 2017-11-13 00:35:46 UTC
No one?
Comment 14 Sergey S. Starikoff 2017-11-16 07:41:36 UTC
(In reply to Andreas Sturmlechner from comment #13)
> No one?

I can try to perform a test in about next week.
To do it, can you fix source snapshot (for example tar.xz) in you devspace?

But I can perform a test with Oracle and Postgresql, I'm not Mysql-user, so it will be right to find somebody, who uses it.

And the next question is about description both Oracle 11 and Oracle 12 client compatibility.
Have you nay ideas?
Comment 15 Andreas Sturmlechner gentoo-dev 2017-11-16 08:55:36 UTC
I'm not sure why you need the source snapshot in a devspace, when we can pull the package from upstream.
Comment 16 Sergey S. Starikoff 2017-11-16 11:21:07 UTC
(In reply to Andreas Sturmlechner from comment #15)
> I'm not sure why you need the source snapshot in a devspace, when we can
> pull the package from upstream.

3.2 Release seens to include some commits, not present in succeed snapshot.

For now trying to build 3.2 Release I've got an issue with added feature:
* basic ER drawing in Browser (depends on Graphviz)
* SQL query joining graph (depends on Graphviz)
Adding media-gfx/graphviz (built 2.38.0-r1 version with 'X cairo gtk nls pdf' uses enabled) into dependencies don't fix it.
This package also has qt4 use, but has no qt5 use.
Probably, it is a reason of failure.

Possible workaround is to roll-back on pre ER-enabled commit (i.e. push not 3.2, but pre 3.2 release).
Comment 17 Andreas Sturmlechner gentoo-dev 2017-11-16 20:19:03 UTC
(In reply to Sergey S. Starikoff from comment #16)
Thanks for trying.

> For now trying to build 3.2 Release I've got an issue with added feature:
What exactly is your issue?

> This package also has qt4 use, but has no qt5 use.
> Probably, it is a reason of failure.
USE=qt4 just builds a frontend, it will be irrelevant for rdeps.

> Possible workaround is to roll-back on pre ER-enabled commit (i.e. push not
> 3.2, but pre 3.2 release).
Can't it be disabled via cmake build option instead?
Comment 18 Sergey S. Starikoff 2017-11-20 07:57:29 UTC
Created attachment 505052 [details]
tora-3.2_failed_build.log.xz

(In reply to Andreas Sturmlechner from comment #17)
> > For now trying to build 3.2 Release I've got an issue with added feature:
> What exactly is your issue?
See attached build log file.
For my experience it has no clear error.

> > Possible workaround is to roll-back on pre ER-enabled commit (i.e. push not
> > 3.2, but pre 3.2 release).
> Can't it be disabled via cmake build option instead?
I've seen CMake* files.
There is no option to switch it off.
Comment 19 Andreas Sturmlechner gentoo-dev 2017-12-21 15:09:38 UTC
Can you test with graphviz-2.40 and tora-9999 instead?
Comment 20 Sergey S. Starikoff 2017-12-25 13:23:02 UTC
Created attachment 511586 [details]
tora-3.2_graphiz-2.40_build.log.xz

(In reply to Andreas Sturmlechner from comment #19)
> Can you test with graphviz-2.40 and tora-9999 instead?

graphviz-2.40 ebuild suggest only qt4 version of gvedit. But TOra requires qt5.
Copying it into graphviz-2.40-r1 in local overlay and changing qt4 to qt5 I've got buildable qt5 version.

Today's snapshot build failed with similiar error, see attached log file.

I suggest for now in Gentoo try pre 3.2 release commits to find newest buildable to update portage version.
And ask upstream about 3.2 relese error.
Comment 21 Andreas Sturmlechner gentoo-dev 2017-12-25 18:49:02 UTC
Are you suggesting tora upstream is depending on an impossible version of graphviz? No, they surely don't, and it would be the very first graphviz rdep to depend on its Qt gui. As you say it fails to build for you just the same anyway. gvedit is a binary; in your log there is no call to gvedit, and it would be very odd anyway.

Please don't build with localised messages, it limits their use for others considerably.

(In reply to Sergey S. Starikoff from comment #20)
> I suggest for now in Gentoo try pre 3.2 release commits to find newest
> buildable to update portage version.
> And ask upstream about 3.2 relese error.
Yes, you are listed as maintainer. Can you do that, please?
Comment 22 Andreas Sturmlechner gentoo-dev 2017-12-25 19:55:47 UTC
Build error suggests missing 'loki/Factory_alt.h', that took me to https://sourceforge.net/p/tora/bugs/894/

Changing to `rm -r extlibs/{loki,qscintilla2}` in line 62 fixes that issue, but unfortunately it later fails with a Qt5 related error (probably because I use 5.9 already).
Comment 23 Larry the Git Cow gentoo-dev 2017-12-25 20:58:46 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=6b3b10d5bbaa2fee74692e4483dd6444fbea325a

commit 6b3b10d5bbaa2fee74692e4483dd6444fbea325a
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2017-10-21 22:30:02 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2017-12-25 20:58:01 +0000

    dev-db/tora: 3.2 version bump
    
    Bug: https://bugs.gentoo.org/577850
    Package-Manager: Portage-2.3.12, Repoman-2.3.3

 dev-db/tora/Manifest                            |   1 +
 dev-db/tora/files/tora-3.2-missing-header.patch |  21 +++++
 dev-db/tora/tora-3.2.ebuild                     | 105 ++++++++++++++++++++++++
 dev-db/tora/tora-9999.ebuild                    | 100 ++++++++++++----------
 4 files changed, 183 insertions(+), 44 deletions(-)}
Comment 24 Andreas Sturmlechner gentoo-dev 2017-12-25 20:59:58 UTC
One upstream backport later this is now in tree. Builds fine and starts.

If anyone is using this, please test so we can get rid of old.
Comment 25 Sergey S. Starikoff 2017-12-28 07:15:46 UTC
Created attachment 511790 [details]
pch_build.log.xz

For me with Qt 5.7.1 TOra generally builds and work.

dev-db/tora -postgres -doc -mysql -pch
build succeed, works.

dev-db/tora postgres -doc -mysql -pch
build succeed, works both with Oracle and Postgresql.

mysql build not tested because I have no database server to test.

dev-db/tora postgres -doc -mysql pch
failes with error:

make[2]: *** [src/CMakeFiles/tora_gch.dir/build.make:61: src/precompiled_linux.h.gch/.c++] Error 1
make[2]: Leaving directory '/var/tmp/portage/dev-db/tora-3.2/work/tora-3.2_build'
make[1]: *** [CMakeFiles/Makefile2:302: src/CMakeFiles/tora_gch.dir/all] Error 2


Complete build log in attach.

I'm not enought familiar with some common features.
If pch is something important, whe can temporarily for tora-3.2 mask it off and work with upstream.
If not, we could drop this use, fixing feature off as it done for some other options.
Comment 26 Andreas Sturmlechner gentoo-dev 2017-12-28 10:12:09 UTC
Thanks for testing, please also try with USE=-oracle. For me it builds and starts fine, so I'm going to un-force the flag.
Comment 27 Larry the Git Cow gentoo-dev 2017-12-28 10:17:43 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=2591ec4c9f7ad173c32d2bff9c46ddd7eec89203

commit 2591ec4c9f7ad173c32d2bff9c46ddd7eec89203
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2017-12-28 10:03:33 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2017-12-28 10:17:29 +0000

    dev-db/tora: Drop old
    
    Closes: https://bugs.gentoo.org/577850
    Package-Manager: Portage-2.3.19, Repoman-2.3.6

 dev-db/tora/Manifest                         |  1 -
 dev-db/tora/tora-3.0.0_pre20140929-r2.ebuild | 84 ----------------------------
 2 files changed, 85 deletions(-)

Additionally, it has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d0324afc9683504c59285d8d835a0c45d56cff29

commit d0324afc9683504c59285d8d835a0c45d56cff29
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2017-12-28 10:13:38 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2017-12-28 10:17:30 +0000

    dev-db/tora: Drop USE=pch, it breaks build
    
    Bug: https://bugs.gentoo.org/577850
    Package-Manager: Portage-2.3.19, Repoman-2.3.6

 dev-db/tora/tora-3.2.ebuild | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=cf1b98702c1481042fabacd6bb4f57bded94833c

commit cf1b98702c1481042fabacd6bb4f57bded94833c
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2017-12-28 10:07:18 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2017-12-28 10:17:30 +0000

    profiles: Drop obsolete dev-db/tora[oracle] package.use.force
    
    Bug: https://bugs.gentoo.org/577850

 profiles/base/package.use.force | 4 ----
 1 file changed, 4 deletions(-)

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=c46fb8d6fbe8260410bc5ed74394f4664d0d6af6

commit c46fb8d6fbe8260410bc5ed74394f4664d0d6af6
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2017-12-28 10:02:52 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2017-12-28 10:17:29 +0000

    profiles: Unmask >=dev-db/tora-3.2
    
    Tested-by: Sergey S. Starikoff <Ikonta@yandex.ru>
    Bug: https://bugs.gentoo.org/577850

 profiles/package.mask | 4 ----
 1 file changed, 4 deletions(-)}
Comment 28 Sergey S. Starikoff 2017-12-29 08:19:30 UTC
(In reply to Andreas Sturmlechner from comment #26)
> Thanks for testing, please also try with USE=-oracle. For me it builds and
> starts fine, so I'm going to un-force the flag.

Thank you!
Really, in 3.2 this… feature was fixed. It build without Oracle support, although my test may be not very clear, because I have dev-db/oracle-instantclient-basic installed.
For me it also builds, starts and (dev-deb/tora[postgres]) works with database.
With only upstream interface issue: simple select on direct connection requires commit or rollback. 
BTW, dev-db/sqldeveloper has the same issue, but not on direct connection, but when database link is used.

But unforsing is not enough.
In such case we must verify at least one database back-end is selected.
Changing default state of oracle USE to "on".

P.S. Please, drop obsolete version dev-db/tora-3.0.0_pre20140929-r2, because it is obsolete (requires Qt4) and should be unbuildable now.

P.P.S. In a time I plan to perform a review of ebuild messages.
Comment 29 Andreas Sturmlechner gentoo-dev 2017-12-29 22:55:18 UTC
(In reply to Sergey S. Starikoff from comment #28)
> But unforsing is not enough.
> In such case we must verify at least one database back-end is selected.
> Changing default state of oracle USE to "on".
Thanks for testing. As it now works without oracle, I would favor a default backend that is not fetch-restricted. postgres?
Comment 30 Sergey S. Starikoff 2018-01-09 08:54:20 UTC
(In reply to Andreas Sturmlechner from comment #29)
> Thanks for testing. As it now works without oracle, I would favor a default
> backend that is not fetch-restricted. postgres?

Because I've don't yet tested tora with mysql, the only tested and not fetch-restricted back-end is postgres.
So, it should be default.

Turning off forcing Oracle back-end prior to build we must enshure, that user select's at least one database back-end (excuse me, I don't remember a solution of this task).

P.S. I'm thinking about some more improvements of ebuild, but they'll be discussed in a separate bug.