Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

dev-qt/qt-docs-5.12.4: Add split docs handling #12575

Merged
merged 1 commit into from Aug 25, 2019

Conversation

a17r
Copy link
Member

@a17r a17r commented Jul 29, 2019

Submitting early so you can see what I am currently working with. Does not involve changing ebuilds at all like that.

@a17r a17r added the do not merge Please DO NOT MERGE this PR. It will not be assigned but it will be scanned by CI. label Jul 29, 2019
eclass/qt5-build.eclass Outdated Show resolved Hide resolved
# @DESCRIPTION:
# Timestamp of split Qt5 documentation tarballs, part of tarball naming.

# @ECLASS-VARIABLE: QT5_DOCURI
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I'm not sure about the use case for this variable, will it ever need to be customized by the ebuild? OTOH, it doesn't hurt either...

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

While this part of the PR does not exist anymore, this QT5_DOCURI variable would have actually been required to incorporate the files for charts, datavis, networkauth, script, virtualkeyboard and webengine that all exist in separate subdirs from the main documentation.

eclass/qt5-build.eclass Outdated Show resolved Hide resolved
# IMPORTANT: Don't forget to update on version bumps!
# Key:Value pairs of known Qt5 documentation tarballs where key=<version> and
# value=<upstream timestamp>, sorted by <version>, descending.
QT5_DOCSMAP=(
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you can probably use an associative array

declare -A QT5_DOCSMAP=(
    [version]=timestamp
    ...
)

(can also be declared readonly after init)

Also, isn't this an internal variable? why documenting it as @ECLASS-VARIABLE? I think a normal comment should be enough.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The problem with the associative array is ordering; so we 'break' live ebuilds because they won't use 'latest available per branch' anymore but whatever hash turns out first.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

uhm, I wasn't thinking about live ebuilds at all... it sounds like they could be a headache either way... even in your implementation, whenever you add a new entry to this array (e.g. on a version bump), do you have to remanifest all live ebuilds? I'm not sure I like this.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

With an associative array, we could have separate entries for each 5.x.9999 branch, and bump them separately if desired. This would lead to less coupling.

Copy link
Member Author

@a17r a17r Aug 18, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

True, re-manifesting the live ebuilds on version bumps would be the consequence I did not think about myself yet. On the plus side, version bumps don't happen that often. I don't think there is another way to supply live ebuild users with the docs though?

Other solutions? We could split them out and mirror each Qt package in app-doc/*, that creates yet another haskell/acct-user/acct-group/virtual situation and we would need to hope for https://bugs.gentoo.org/691798 to be fixed soon. Alternatively, add a dev-qt/*-docs companion per package.

Or we just keep the one true dev-qt/qt-docs ebuild and just add USE flags for all our Qt packages. That presents the least expensive upkeep.

Both alternative solutions would have the benefit of not having to rebuild 'real' Qt code when switching on USE doc.

With an associative array, we could have separate entries for each 5.x.9999 branch, and bump them separately if desired. This would lead to less coupling.

Yes, but on the other hand, would we ever not bump those when we have a new Qt version bump? It would even be the same manifest run when done in Qt overlay. Fatal, of course, if missed.

Copy link
Member Author

@a17r a17r Aug 18, 2019

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The more I think of it, the more I just want to keep it all in qt-docs.

Radical departure incoming. (previous state of PR still remains in qt overlay).

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, but on the other hand, would we ever not bump those when we have a new Qt version bump? It would even be the same manifest run when done in Qt overlay. Fatal, of course, if missed.

Probably. But the point is that we wouldn't have to, e.g. we could bump those only at each new minor Qt version, not at each patch-level version bump. I'm not saying we have to do that, it just gives us the option to do it. Less coupling is good.

eclass/qt5-build.eclass Outdated Show resolved Hide resolved
@a17r a17r force-pushed the split-docs branch 3 times, most recently from 85bfbe8 to fa65e9c Compare August 18, 2019 20:09
@a17r a17r changed the title qt5-build.eclass: Add split docs handling for >=Qt-5.12.4 dev-qt/qt-docs-5.12.4: Add split docs handling Aug 18, 2019
@a17r a17r force-pushed the split-docs branch 2 times, most recently from 9e6cd72 to 6b37e5c Compare August 18, 2019 20:44
@gentoo-repo-qa-bot
Copy link
Collaborator

Pull request CI report

Report generated at: 2019-08-18 22:00 UTC
Newest commit scanned: 6b37e5c
Status: ✅ good

All QA issues have been fixed!

@a17r
Copy link
Member Author

a17r commented Aug 25, 2019

I'd like to add this soon as it is a continuation of qt-docs-5.12.3 with USE modularity, it won't stop us from a more sophisticated future approach.

@Pesa
Copy link
Contributor

Pesa commented Aug 25, 2019

Adding USE flags to qt-docs is certainly the easiest option and I have no objections if you want to go that way.

dev-qt/qt-docs/metadata.xml Outdated Show resolved Hide resolved
dev-qt/qt-docs/qt-docs-5.12.4_p201906140200.ebuild Outdated Show resolved Hide resolved
Closes: https://bugs.gentoo.org/689754
Package-Manager: Portage-2.3.71, Repoman-2.3.17
Signed-off-by: Andreas Sturmlechner <asturm@gentoo.org>
@a17r a17r added the noci Skip CI for this pull request label Aug 25, 2019
@gentoo-bot gentoo-bot merged commit 0a125fc into gentoo:master Aug 25, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
do not merge Please DO NOT MERGE this PR. It will not be assigned but it will be scanned by CI. noci Skip CI for this pull request
Projects
None yet
4 participants