Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 645428 - app-mobilephone/qtadb depends on deprecated Qt4
Summary: app-mobilephone/qtadb depends on deprecated Qt4
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Marios Andreopoulos
URL: https://bitbucket.org/michalmotyczko/...
Whiteboard:
Keywords:
Depends on:
Blocks: qt4-removal 632722
  Show dependency tree
 
Reported: 2018-01-22 23:53 UTC by Andreas Sturmlechner
Modified: 2018-03-30 18:54 UTC (History)
3 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Modified/updated 0.8.1-r1 ebuild (qtadb-0.8.1-r1.ebuild,1.62 KB, text/plain)
2018-03-17 17:15 UTC, Phil Stracchino (Unix Ronin)
Details
Upstream Qt 5.3 patch (qtadb-0.8.1-qt5.diff,29.07 KB, patch)
2018-03-17 17:16 UTC, Phil Stracchino (Unix Ronin)
Details | Diff
Patch-in-progress for Qt 5.7+ (qtadb-modules.diff,1.18 KB, patch)
2018-03-17 17:17 UTC, Phil Stracchino (Unix Ronin)
Details | Diff
Patch-in-progress for Qt 5.7+ (qtadb-modules.diff,2.97 KB, patch)
2018-03-17 17:49 UTC, Phil Stracchino (Unix Ronin)
Details | Diff
Updated ebuild-in-progress (qtadb-0.8.1-r1.ebuild,1.72 KB, patch)
2018-03-17 19:37 UTC, Phil Stracchino (Unix Ronin)
Details | Diff
Patch to build correctly against Qt 5.7+ (qtadb-modules.diff,3.28 KB, patch)
2018-03-17 20:45 UTC, Phil Stracchino (Unix Ronin)
Details | Diff
Updated 0.8.1-r1 ebuild (qtadb-0.8.1-r1.ebuild,1.81 KB, text/plain)
2018-03-17 20:55 UTC, Phil Stracchino (Unix Ronin)
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Andreas Sturmlechner gentoo-dev 2018-01-22 23:53:28 UTC
Qt4 is dead and going away. Apparently, there is an upstream bitbucket repository with exactly one commit 'Qt 5.3' on top of initial commit. Please check if this is worth a snapshot or being picked as patch over 0.8.1 in order for qtadb to remain in tree.
Comment 1 Phil Stracchino (Unix Ronin) 2018-02-07 20:23:27 UTC
The Qt part of this package could just as well be made an option anyway.  The important part of it is the adb cli tool (required for doing LineageOS installs from Linux, among other things).
Comment 2 Andreas Sturmlechner gentoo-dev 2018-03-05 15:37:32 UTC
ping @Marios
Comment 3 Andreas Sturmlechner gentoo-dev 2018-03-06 00:32:50 UTC
@Phil, do you think you can do it?
Comment 4 Phil Stracchino (Unix Ronin) 2018-03-06 03:55:14 UTC
(In reply to Andreas Sturmlechner from comment #3)
> @Phil, do you think you can do it?

I could take a look at it and see if I can figure it out...  but I'm far from expert in ebuilds and know nothing about the internals of this package.
Comment 5 Phil Stracchino (Unix Ronin) 2018-03-06 03:56:15 UTC
(In reply to Phil Stracchino (Unix Ronin) from comment #4)
> (In reply to Andreas Sturmlechner from comment #3)
> > @Phil, do you think you can do it?
> 
> I could take a look at it and see if I can figure it out...  but I'm far
> from expert in ebuilds and know nothing about the internals of this package.

I can also see if I can find that Qt 5.3 commit and see if it builds.
Comment 6 Andreas Sturmlechner gentoo-dev 2018-03-06 23:12:56 UTC
Whatever works for you - otherwise the package is doomed. On first glance I did not see an obvious way to split out a CLI component, it probably depends on Qt4 as well. Also you can try to ping upstream about the impending removal of Qt4 in major distributions, they are often just not yet aware of it.

If you are familiar with git, the best way to contribute ebuild changes is via a github PR. Feel free to stop by at #gentoo-proxy-maint if you need help with that.
Comment 7 Andreas Sturmlechner gentoo-dev 2018-03-15 10:44:19 UTC
(In reply to Phil Stracchino (Unix Ronin) from comment #5)
> I can also see if I can find that Qt 5.3 commit and see if it builds.

Btw this is the link to the raw commit (taken from $URL): https://bitbucket.org/michalmotyczko/qtadb/commits/ccbb0c86c9eb9362a378db9f6c2a6b48b5d72c07/raw
Comment 8 Phil Stracchino (Unix Ronin) 2018-03-15 14:49:52 UTC
(In reply to Andreas Sturmlechner from comment #7)
> (In reply to Phil Stracchino (Unix Ronin) from comment #5)
> > I can also see if I can find that Qt 5.3 commit and see if it builds.
> 
> Btw this is the link to the raw commit (taken from $URL):
> https://bitbucket.org/michalmotyczko/qtadb/commits/
> ccbb0c86c9eb9362a378db9f6c2a6b48b5d72c07/raw

It gets PART of the way there.  Not entirely.  It starts out by configuring the wrong paths.  I'm going to try removing Qt4 first.
Comment 9 Phil Stracchino (Unix Ronin) 2018-03-15 15:32:23 UTC
OK, here's where I've got to so far.

— I've verified that the patch applies cleanly to the source (with -p1, in work/trunk), but it still tried to configure eveyrthing for Qt4
— As a first pass, I manually patched the Makefile and all of the declarations I could find in headers to the appropriate Qt5 paths
— I've verified that after patching, MOST of the code compiles cleanly, but there were some outstanding failures that I think were related to configuration 
— Seeking to resolve this, I removed Qt4 and updated dev-qt/qtchooser to the latest unstable version
— I updated the ebuild to change Qt4 dependencies to Qt5, remove qt4 inheritances, and add what I believe to be the correct Qt5 inheritances (qmake-utils desktop)

So far so good.  But after removing the qt4 inheritances, I do not get a Makefile created during ebuild configure, and honestly I don't understand the eclasses or Qt in sufficient depth yet to know why it's not being configured properly.
Comment 10 Andreas Sturmlechner gentoo-dev 2018-03-17 10:39:48 UTC
You need to drop qt4-r2 and use qmake-utils instead. The latter does not override the phases for you, so you'll need to call eqmake5 in src_configure yourself, and also do src_install manually. Basically what qt4-r2.eclass did so far, but for Qt5 instead.
Comment 11 Phil Stracchino (Unix Ronin) 2018-03-17 16:38:34 UTC
(In reply to Andreas Sturmlechner from comment #10)
> You need to drop qt4-r2 and use qmake-utils instead. The latter does not
> override the phases for you, so you'll need to call eqmake5 in src_configure
> yourself, and also do src_install manually. Basically what qt4-r2.eclass did
> so far, but for Qt5 instead.

eqmake5 was what I needed, thanks.  I've updated to EAPI 6, changed the source type to git; it fetches, prepares, and configures; now I'm trying to resolve some compile problems with include files not being found.
Comment 12 Phil Stracchino (Unix Ronin) 2018-03-17 17:08:59 UTC
OK, now here I think I've run into a bigger problem.  QtADB uses QDeclarative.  But QDeclarative was obsoleted in Qt 5.6.  Compilation fails here:



In file included from widgets/messagewidget.cpp:21:0:
widgets/messagewidget.h:51:5: error: ‘QDeclarativeView’ does not name a type
     QDeclarativeView *qmlView;
     ^~~~~~~~~~~~~~~~
widgets/messagewidget.h:52:5: error: ‘QDeclarativeContext’ does not name a type
     QDeclarativeContext *qmlViewCtx;
     ^~~~~~~~~~~~~~~~~~~
widgets/messagewidget.cpp: In constructor ‘MessageWidget::MessageWidget(QWidget*, QString)’:
widgets/messagewidget.cpp:56:11: error: ‘class MessageWidget’ has no member named ‘qmlView’
     this->qmlView =  new QDeclarativeView;
           ^~~~~~~
widgets/messagewidget.cpp:56:26: error: ‘QDeclarativeView’ does not name a type
     this->qmlView =  new QDeclarativeView;
                          ^~~~~~~~~~~~~~~~
widgets/messagewidget.cpp:57:11: error: ‘class MessageWidget’ has no member named ‘qmlViewCtx’
     this->qmlViewCtx = this->qmlView->rootContext();
           ^~~~~~~~~~
widgets/messagewidget.cpp:57:30: error: ‘class MessageWidget’ has no member named ‘qmlView’
     this->qmlViewCtx = this->qmlView->rootContext();
                              ^~~~~~~
widgets/messagewidget.cpp:59:15: error: ‘class MessageWidget’ has no member named ‘qmlView’
         this->qmlView->setSource(QUrl::fromLocalFile("qml/messageView.qml"));
               ^~~~~~~
widgets/messagewidget.cpp:62:15: error: ‘class MessageWidget’ has no member named ‘qmlView’
         this->qmlView->setSource(QUrl("qrc:/qml/qml/messageView.qml"));
               ^~~~~~~
widgets/messagewidget.cpp:63:11: error: ‘class MessageWidget’ has no member named ‘qmlViewCtx’
     this->qmlViewCtx->setContextProperty("threadModel", &sortThreadModel);
           ^~~~~~~~~~
widgets/messagewidget.cpp:64:11: error: ‘class MessageWidget’ has no member named ‘qmlViewCtx’
     this->qmlViewCtx->setContextProperty("contactModel", &sortContactModel);
           ^~~~~~~~~~
widgets/messagewidget.cpp:65:11: error: ‘class MessageWidget’ has no member named ‘qmlViewCtx’
     this->qmlViewCtx->setContextProperty("messageModel", &sortModel);
           ^~~~~~~~~~
widgets/messagewidget.cpp:66:11: error: ‘class MessageWidget’ has no member named ‘qmlViewCtx’
     this->qmlViewCtx->setContextProperty("myNickname", "Me");
           ^~~~~~~~~~
widgets/messagewidget.cpp:67:11: error: ‘class MessageWidget’ has no member named ‘qmlViewCtx’
     this->qmlViewCtx->setContextProperty("contactDefault", "qrc:/icons/contactDefault.png");
           ^~~~~~~~~~
widgets/messagewidget.cpp:68:5: error: ‘qmlView’ was not declared in this scope
     qmlView->setResizeMode(QDeclarativeView::SizeRootObjectToView);
     ^~~~~~~
widgets/messagewidget.cpp:68:28: error: ‘QDeclarativeView’ has not been declared
     qmlView->setResizeMode(QDeclarativeView::SizeRootObjectToView);
                            ^~~~~~~~~~~~~~~~
widgets/messagewidget.cpp:70:11: error: ‘class MessageWidget’ has no member named ‘qmlViewCtx’
     this->qmlViewCtx->setContextProperty("messageWidget", this);
           ^~~~~~~~~~
widgets/messagewidget.cpp:72:41: error: ‘class MessageWidget’ has no member named ‘qmlView’
     ui->layoutMessages->addWidget(this->qmlView,1,1);
Comment 13 Phil Stracchino (Unix Ronin) 2018-03-17 17:14:10 UTC
Uploading what I have so far for ebuild and patches, if anyone familiar with Qt programming can advise on the QDeclarative problem?
Comment 14 Phil Stracchino (Unix Ronin) 2018-03-17 17:15:25 UTC
Created attachment 524202 [details]
Modified/updated 0.8.1-r1 ebuild
Comment 15 Phil Stracchino (Unix Ronin) 2018-03-17 17:16:11 UTC
Created attachment 524204 [details, diff]
Upstream Qt 5.3 patch
Comment 16 Phil Stracchino (Unix Ronin) 2018-03-17 17:17:37 UTC
Created attachment 524206 [details, diff]
Patch-in-progress for Qt 5.7+

So far these two patches combined fix most of the compile issues, but I'm running into a hard stop knowing what to replace the QDeclarative objects with.
Comment 17 Phil Stracchino (Unix Ronin) 2018-03-17 17:38:55 UTC
Never mind, solved that.  Onward....
Comment 18 Phil Stracchino (Unix Ronin) 2018-03-17 17:49:11 UTC
Created attachment 524210 [details, diff]
Patch-in-progress for Qt 5.7+

This latest updated patch gets us to here:

widgets/messagewidget.cpp: In constructor ‘MessageWidget::MessageWidget(QWidget*, QString)’:
widgets/messagewidget.cpp:72:52: error: no matching function for call to ‘QGridLayout::addWidget(QQuickView*&, int, int)’
     ui->layoutMessages->addWidget(this->qmlView,1,1);
                                                    ^
In file included from /usr/include/qt5/QtWidgets/qlayout.h:169:0,
                 from /usr/include/qt5/QtWidgets/qboxlayout.h:44,
                 from /usr/include/qt5/QtWidgets/QtWidgets:25,
                 from widgets/messagewidget.h:26,
                 from widgets/messagewidget.cpp:21:

...And I don't know how to fix this.  QGridLayout certainly still has an addWidget( ) function, and qmlView is indeed a QQuickView, so I don't understand what the problem is here.
Comment 19 Andreas Sturmlechner gentoo-dev 2018-03-17 17:50:53 UTC
QGridLayout moved from qtgui into qtwidget, did you fix the build system to depend on it yet?
Comment 20 Andreas Sturmlechner gentoo-dev 2018-03-17 18:03:57 UTC
Looking at http://doc.qt.io/qt-5/qgridlayout.html it seems you need an additional argument now for alignment.
Comment 21 Phil Stracchino (Unix Ronin) 2018-03-17 19:13:54 UTC
(In reply to Andreas Sturmlechner from comment #19)
> QGridLayout moved from qtgui into qtwidget, did you fix the build system to
> depend on it yet?

Yup, did that.  Also QtQml and QtQuick which have absorbed the bits that used to be in QtDeclarative.
Comment 22 Phil Stracchino (Unix Ronin) 2018-03-17 19:32:20 UTC
(In reply to Andreas Sturmlechner from comment #20)
> Looking at http://doc.qt.io/qt-5/qgridlayout.html it seems you need an
> additional argument now for alignment.

I think so, yes, but I can't figure out what it should be.  It seems it really wants a function there rather than an alignment flag, even though the given prototype specifies Qt::AlignmentFlag.  It also seems like it can't decide whether it wants four arguments, or one.  It wants four here:

widgets/messagewidget.cpp: In constructor ‘MessageWidget::MessageWidget(QWidget*, QString)’:
widgets/messagewidget.cpp:72:66: error: no matching function for call to ‘QGridLayout::addWidget(QQuickView*&, int, int, Qt::AlignmentFlag)’
     ui->layoutMessages->addWidget(this->qmlView,1,1,Qt::AlignLeft);
                                                                  ^


But it looks like it wants only one here:

In file included from /usr/include/qt5/QtWidgets/qlayout.h:169:0,
                 from /usr/include/qt5/QtWidgets/qboxlayout.h:44,
                 from /usr/include/qt5/QtWidgets/QtWidgets:25,
                 from widgets/messagewidget.h:26,
                 from widgets/messagewidget.cpp:21:
/usr/include/qt5/QtWidgets/qgridlayout.h:102:17: note: candidate: void QGridLayout::addWidget(QWidget*)
     inline void addWidget(QWidget *w) { QLayout::addWidget(w); }
                 ^~~~~~~~~
/usr/include/qt5/QtWidgets/qgridlayout.h:102:17: note:   candidate expects 1 argument, 4 provided
/usr/include/qt5/QtWidgets/qgridlayout.h:103:10: note: candidate: void QGridLayout::addWidget(QWidget*, int, int, Qt::Alignment)
     void addWidget(QWidget *, int row, int column, Qt::Alignment = Qt::Alignment());
          ^~~~~~~~~
/usr/include/qt5/QtWidgets/qgridlayout.h:103:10: note:   no known conversion for argument 1 from ‘QQuickView*’ to ‘QWidget*’
/usr/include/qt5/QtWidgets/qgridlayout.h:104:10: note: candidate: void QGridLayout::addWidget(QWidget*, int, int, int, int, Qt::Alignment)
     void addWidget(QWidget *, int row, int column, int rowSpan, int columnSpan, Qt::Alignment = Qt::Alignment());
          ^~~~~~~~~
/usr/include/qt5/QtWidgets/qgridlayout.h:104:10: note:   candidate expects 6 arguments, 4 provided
widgets/messagewidget.cpp: In member function ‘void MessageWidget::smsReceivedSlot(QString, QString)’:
widgets/messagewidget.cpp:355:45: warning: unused parameter ‘number’ [-Wunused-parameter]
 void MessageWidget::smsReceivedSlot(QString number, QString body)
                                             ^~~~~~
widgets/messagewidget.cpp:355:61: warning: unused parameter ‘body’ [-Wunused-parameter]
 void MessageWidget::smsReceivedSlot(QString number, QString body)


And it looks like there's a problem with the QQuickView/QWidget mismatch, too.
Comment 23 Phil Stracchino (Unix Ronin) 2018-03-17 19:37:19 UTC
Created attachment 524218 [details, diff]
Updated ebuild-in-progress

Latest revision of the ebuild with updated dependencies
Comment 24 Phil Stracchino (Unix Ronin) 2018-03-17 20:04:21 UTC
OOOHHHH.....   I understand what it's trying to tell me.  There are three or possibly four possible candidate function templates for QGridLayout::addWidget(), with one, four, or six arguments, but none of them match the code because they all require a QWidget* as the first argument and what they've GOT is a QQuickView*.

But that seems to imply that this->qmlView at messagewidget.cpp:56 needs to be a new QWidget, not a new QQuickView.  Or something needs to be done to wrap that QQuickView into a QWidget.
Comment 25 Phil Stracchino (Unix Ronin) 2018-03-17 20:28:14 UTC
Ha!  Figured it out, I think.
Comment 26 Phil Stracchino (Unix Ronin) 2018-03-17 20:45:09 UTC
Created attachment 524220 [details, diff]
Patch to build correctly against Qt 5.7+

SOLVED.  This now produces a working QtADB executable built against Qt 5.9.  (I have not tested against 5.7.  I am forced to 5.9 by app-mobilephone/heimdall.)
Comment 27 Phil Stracchino (Unix Ronin) 2018-03-17 20:55:42 UTC
Created attachment 524222 [details]
Updated 0.8.1-r1 ebuild

Updated the ebuild with the caveat that it needs to be run from the directory containing adb and aapk.
Comment 28 Phil Stracchino (Unix Ronin) 2018-03-17 20:56:22 UTC
Oops, meant to obsolete the old ebuild version...
Comment 29 Andreas Sturmlechner gentoo-dev 2018-03-17 21:58:23 UTC
Awesomely done!

(In reply to Phil Stracchino (Unix Ronin) from comment #27)
> Updated the ebuild with the caveat that it needs to be run from the
> directory containing adb and aapk.

Is there a change in behaviour to 0.8.1-r0?
Comment 30 Andreas Sturmlechner gentoo-dev 2018-03-17 22:48:53 UTC
I've used a snapshot from the repository to get rid of the huge Qt-5.3 patch and git-r3.eclass, fixed build with Qt-5.11 and did indendation/whitespace cleanup on the ebuild.

Would you like to become proxy-maintainer for this package? It seems that we do not get an answer from the currently registered maintainer anymore.
Comment 31 Larry the Git Cow gentoo-dev 2018-03-17 23:10:44 UTC
The bug has been referenced in the following commit(s):

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

commit fad8e40540caee7cd8890220735cf85ca13d2f14
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2018-03-17 21:45:14 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2018-03-17 23:10:36 +0000

    app-mobilephone/qtadb: Fix build with Qt 5.11
    
    Bug: https://bugs.gentoo.org/645428
    Package-Manager: Portage-2.3.24, Repoman-2.3.6

 app-mobilephone/qtadb/files/qtadb-0.8.1-qt5-5.11.patch | 14 ++++++++++++++
 app-mobilephone/qtadb/qtadb-0.8.1-r1.ebuild            |  5 ++++-
 2 files changed, 18 insertions(+), 1 deletion(-)

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

commit a1c2dfef3ec8aa3595dbf050716bfee0dbea2c17
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2018-03-17 21:30:29 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2018-03-17 23:10:33 +0000

    app-mobilephone/qtadb: Switch to Qt5
    
    Thanks-to: Phil Stracchino (Unix Ronin) <phils@caerllewys.net>
    Bug: https://bugs.gentoo.org/645428
    Package-Manager: Portage-2.3.24, Repoman-2.3.6

 app-mobilephone/qtadb/Manifest                    |   1 +
 app-mobilephone/qtadb/files/qtadb-0.8.1-qt5.patch | 100 ++++++++++++++++++++++
 app-mobilephone/qtadb/qtadb-0.8.1-r1.ebuild       |  63 ++++++++++++++
 3 files changed, 164 insertions(+)}
Comment 32 Phil Stracchino (Unix Ronin) 2018-03-17 23:46:23 UTC
(In reply to Andreas Sturmlechner from comment #29)
> Awesomely done!
> 
> (In reply to Phil Stracchino (Unix Ronin) from comment #27)
> > Updated the ebuild with the caveat that it needs to be run from the
> > directory containing adb and aapk.
> 
> Is there a change in behaviour to 0.8.1-r0?

Actually I'm double-checking the runtime requirements right now, working from the LineageOS documentation and verifying as I go.  For starters, I misremembered aapt as aapk.  Speaking of which, I should probably add dev-util/android-sdk-update-manager to the RDEPEND list.  It requires adb and aapt binaries, but gives three ways to get them:
1. emerge dev-util/android-sdk-update-manager;
or
2. install Android SDK from http://developer.android.com/sdk/
or
3. Supposedly you can download the adb and aapt linux binaries from http://qtadb.wordpress.com/download/, but I don't actually see downloads for them there.

My inclination here is that the obvious step is to require dev-util/android-sdk-update-manager, but it doesn't actually create /usr/bin symlinks to adb and aapt.  My recollection was that QtADB has to be run from the directory containing adb.  That's not actually correct; it requires adb and aapt to be in the PATH, but doesn't require they be in the current directory.  It DOES require write permission in the directory containing adb for adb's debug log, which is always written in the directory containing adb, and it looks as though it has to be run as root, even though running it as root emits a runtime warning that production Android builds will not allow adbd to run as root.  adb will work as long as the user is a member of group android, but that does not seem to be sufficient for QtADB and it's not obvious to me why not.
Comment 33 Phil Stracchino (Unix Ronin) 2018-03-17 23:51:57 UTC
This is my proposed updated DOC_COMMENTS:

	local DOC_CONTENTS="
REQUIREMENTS:
You must be a member of the android group.
You must have adb and aapt in your PATH.
You must have write permission in the directory containing apt.
Your phone must be rooted, and have busybox installed.

If you want to use QtADB's SMS interface, you must install QtADB.apk
to your device, available from http://qtadb.wordpress.com/download/

If you have trouble getting your phone connected through usb (driver problem),
try adbWireless from Android market to get connected through WiFi
"
Comment 34 Phil Stracchino (Unix Ronin) 2018-03-17 23:54:55 UTC
What does proxy maintainer entail?  I'm not unwilling, but might need a little coaching as to what's involved.
Comment 35 Andreas Sturmlechner gentoo-dev 2018-03-18 11:33:31 UTC
You would be assigned bugs filed against qtadb (be it version bump requests or problems raised by users) and expected to keep it up to date with upstream/downstream changes. Given the inactivity upstream and simplicity of the ebuild I would not expect a lot of churn...

For contributions, experience with ebuild writing and git naturally helps, if you don't know git or don't use GitHub, you can attach changes to bugzilla as done here, even though this will always take longer to get the attention of a proxy-maint team member and is less comfortable for lack of inline code review etc. For help there is always #gentoo-proxy-maint available.

https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers
https://wiki.gentoo.org/wiki/Gentoo_GitHub
Comment 36 Andreas Sturmlechner gentoo-dev 2018-03-18 12:20:40 UTC
(In reply to Phil Stracchino (Unix Ronin) from comment #32)
> Speaking of which, I should probably add
> dev-util/android-sdk-update-manager to the RDEPEND list. It requires adb
> and aapt binaries, but gives three ways to get them:
> 1. emerge dev-util/android-sdk-update-manager;
> or
> 2. install Android SDK from http://developer.android.com/sdk/
Your proposed DOC_CONTENTS change gets rid of these informations, why so?

The application is apparently running without android-sdk-update-manager, so if there are other means of obtaining the required binaries for it to be useful, it can stay out of RDEPEND and simply be mentioned in the readme (and printed in pkg_postinst).
Comment 37 Larry the Git Cow gentoo-dev 2018-03-18 12:31:32 UTC
The bug has been referenced in the following commit(s):

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

commit 6c6f81ffe3eee62ccf54d2a34439da2344125bfe
Author:     Andreas Sturmlechner <asturm@gentoo.org>
AuthorDate: 2018-03-18 12:15:14 +0000
Commit:     Andreas Sturmlechner <asturm@gentoo.org>
CommitDate: 2018-03-18 12:29:44 +0000

    app-mobilephone/qtadb: Drop Qt4-based
    
    Bug: https://bugs.gentoo.org/645428
    Package-Manager: Portage-2.3.24, Repoman-2.3.6

 app-mobilephone/qtadb/Manifest           |  1 -
 app-mobilephone/qtadb/qtadb-0.8.1.ebuild | 54 --------------------------------
 2 files changed, 55 deletions(-)}
Comment 38 Phil Stracchino (Unix Ronin) 2018-03-18 15:13:14 UTC
(In reply to Andreas Sturmlechner from comment #36)
> (In reply to Phil Stracchino (Unix Ronin) from comment #32)
> > Speaking of which, I should probably add
> > dev-util/android-sdk-update-manager to the RDEPEND list. It requires adb
> > and aapt binaries, but gives three ways to get them:
> > 1. emerge dev-util/android-sdk-update-manager;
> > or
> > 2. install Android SDK from http://developer.android.com/sdk/
> Your proposed DOC_CONTENTS change gets rid of these informations, why so?
> 
> The application is apparently running without android-sdk-update-manager, so
> if there are other means of obtaining the required binaries for it to be
> useful, it can stay out of RDEPEND and simply be mentioned in the readme
> (and printed in pkg_postinst).

There is that route too.  I wasn't sure which was the better approach, leave all the options or assume the Gentoo Way.  Yes, the app itself *runs* without android-sdk-update-manager, but is useless without adb and aapt installed some way or another.  I don't have any issue with leaving people the option of installing them manually, but the DOC_COMMENTS could still benefit from some cleanup, I think.  I wish I could figure out why even with android group membership and write permissions for adb's debug log, it still seems to require root.  It suggests there's some resource it needs that I haven't identified yet that also needs to be read/write to group android.


I'm no expert with git, but I do use it; I'm still somewhat fumbling my way with ebuilds but learning as I go.  If there is a single good tutorial on ebuilds, I haven't found it yet.  Is there one?

I'm certainly willing to give it a go as proxy maintainer.  I don't know how much bug fixing I'm going to be able to do, because I don't know the codebase in depth and have limited knowledge of C++.  (And actually this is my first attempt working with Qt.)
Comment 39 Andreas Sturmlechner gentoo-dev 2018-03-30 18:54:31 UTC
(In reply to Phil Stracchino (Unix Ronin) from comment #38)
> I'm no expert with git, but I do use it; I'm still somewhat fumbling my way
> with ebuilds but learning as I go.  If there is a single good tutorial on
> ebuilds, I haven't found it yet.  Is there one?

Perfect, I'm still no expert with git, and I learned ebuilds by doing as well. :) I think the devmanual should have you covered: https://devmanual.gentoo.org/

> I'm certainly willing to give it a go as proxy maintainer.  I don't know how
> much bug fixing I'm going to be able to do, because I don't know the
> codebase in depth and have limited knowledge of C++.  (And actually this is
> my first attempt working with Qt.)

Ideally, your patch would eventually go upstream. I don't know if there is someone left who is going to answer, but it is worth a try anyway to get rid if maintaining the patch. As a downstream maintainer it is not really necessary to go in-depth with the code, unless you should decide to become the new upstream in case the original project is dead.

Please open a new pull request for improving DOC_COMMENTS (or other stuff), in this pull request you can also change metadata to add yourself together with proxy-maint project as maintainer.

This bug is fixed as far as qt4-removal is conerned, many thanks!