features/trinity-applications-stable-second-attempt #189

Merged
SlavekB merged 2 commits from features/trinity-applications-stable-second-attempt into master 3 years ago
Collaborator

Version 14.0.8 ebuilds for as many packages in trinity-apps as I could make build back in June, plus trinity-base/kontact, which somehow got missed before. (Please junk the old features/trinity-applications-stable branch, which contains the same stuff, but in a crufted-up format that would have made it extremely painful to merge.)

pkgcheck doesn't seem to have much problem with these (if we ignore spew about whitespace, extra files in Manifests, and unrecognized i18n USE flags).

Version 14.0.8 ebuilds for as many packages in trinity-apps as I could make build back in June, plus trinity-base/kontact, which somehow got missed before. (Please junk the old features/trinity-applications-stable branch, which contains the same stuff, but in a crufted-up format that would have made it extremely painful to merge.) pkgcheck doesn't seem to have much problem with these (if we ignore spew about whitespace, extra files in Manifests, and unrecognized i18n USE flags).
SlavekB requested review from asturm 3 years ago
asturm requested changes 3 years ago
asturm left a comment
Collaborator
  • MR re-introduces superfluous 14.0.7 manifests. This is easily fixed by running repoman manifest inside trinity-apps directory. You can simply git commit --amend afterwards. You can also use this to change the commit message of current HEAD when needed.

  • Right now you have two commits, where the second one is just fixing stuff from the first; we don't need review noise in origin/master, so you can squash the commits easily using git rebase -i HEAD~2 (that's interactively choosing the desired action for the rebase).

  • Always run git status before and after such operations so you know where you are right now and that the previous command did what you expected.

  • In gentoo.git we have adopted a common workflow where we always prefix commits with category/packagename: and a limit to ~70 characters, in this case where you add new packages in one commit to the same category it would be category: prefix. It is good practice to be curt and precise in the git message (like x.x.x version bump) and have any detailed description or full sentences in the message body.

  • All style comments I made are not necessary must-have fixes, if there is a 9999 version I will most likely have already gone over it. If there is no 9999 yet, it would be nice to have your release version tidied up so I don't need to check again whenever a 9999 will be introduced (and likely use the release version as template).

  • All non-style comments would ideally be fixed in separate commits to the 9999 version, so they are not lost on subsequent version bumps.

- MR re-introduces superfluous `14.0.7` manifests. This is easily fixed by running `repoman manifest` inside `trinity-apps` directory. You can simply `git commit --amend` afterwards. You can also use this to change the commit message of current HEAD when needed. - Right now you have two commits, where the second one is just fixing stuff from the first; we don't need review noise in origin/master, so you can squash the commits easily using `git rebase -i HEAD~2` (that's interactively choosing the desired action for the rebase). - Always run `git status` before and after such operations so you know where you are right now and that the previous command did what you expected. - In gentoo.git we have adopted a common workflow where we always prefix commits with `category/packagename: ` and a limit to ~70 characters, in this case where you add new packages in one commit to the same category it would be `category: ` prefix. It is good practice to be curt and precise in the git message (like `x.x.x version bump`) and have any detailed description or full sentences in the message body. - All style comments I made are not necessary must-have fixes, if there is a `9999` version I will most likely have already gone over it. If there is no `9999` yet, it would be nice to have your release version tidied up so I don't need to check again whenever a `9999` will be introduced (and likely use the release version as template). - All non-style comments would ideally be fixed in separate commits to the `9999` version, so they are not lost on subsequent version bumps.
# Distributed under the terms of the GNU General Public License v2
EAPI="7"
TRINITY_MODULE_TYPE="applications"
asturm commented 3 years ago
Collaborator

Style: For all ebuilds: There should always be an empty line after EAPI.

Style: For all ebuilds: There should always be an empty line after `EAPI`.
inherit trinity-base-2
DESCRIPTION="A complex calculator for TDE"
asturm commented 3 years ago
Collaborator

Style: For all ebuilds: During my time submitting PRs to kde overlay I was always told to get rid of filler words at the beginning of DESCRIPTION. That's just a nitpick, but when you think about it, really nothing is gained if every description starts with A/An etc.

Style: For all ebuilds: During my time submitting PRs to kde overlay I was always told to get rid of filler words at the beginning of `DESCRIPTION`. That's just a nitpick, but when you think about it, really nothing is gained if every description starts with `A/An` etc.
inherit trinity-base-2
DESCRIPTION="A complex calculator for TDE"
KEYWORDS="~amd64 ~x86"
asturm commented 3 years ago
Collaborator

Style: For all ebuilds:

  • Order of variables in this block should be [1]
  • For logical blocks we usually refer to the basic ebuild writing guide [2]
DESCRIPTION
HOMEPAGE

LICENSE
SLOT
KEYWORDS
IUSE

Of course, in ebuilds relying on the deprecated special functions need-trinity, set-trinityver and need-arts you need to make sure those are called before those vars as well.

[1] https://gitweb.gentoo.org/repo/gentoo.git/tree/skel.ebuild#n25
[2] https://wiki.gentoo.org/wiki/Basic_guide_to_write_Gentoo_Ebuilds#How_to_create_an_ebuild

Style: For all ebuilds: - Order of variables in this block should be [1] - For logical blocks we usually refer to the basic ebuild writing guide [2] ``` DESCRIPTION HOMEPAGE LICENSE SLOT KEYWORDS IUSE ``` Of course, in ebuilds relying on the deprecated special functions `need-trinity`, `set-trinityver` and `need-arts` you need to make sure those are called before those vars as well. [1] https://gitweb.gentoo.org/repo/gentoo.git/tree/skel.ebuild#n25 [2] https://wiki.gentoo.org/wiki/Basic_guide_to_write_Gentoo_Ebuilds#How_to_create_an_ebuild
SLOT="${TRINITY_VER}"
src_configure() {
mycmakeargs=(
asturm commented 3 years ago
Collaborator

For all ebuilds: Should be local mycmakeargs

For all ebuilds: Should be `local mycmakeargs`
inherit trinity-base-2
DESCRIPTION="Advanced music player for TDE."
asturm commented 3 years ago
Collaborator

It's not a sentence so we generally don't use full stop in DESCRIPTION.

It's not a sentence so we generally don't use full stop in `DESCRIPTION`.
dev-lang/ruby:*
media-libs/taglib
dev-db/sqlite
xine? ( <media-libs/xine-lib-1.2.10 )
asturm commented 3 years ago
Collaborator

Style: For all ebuilds: Dependencies should always be sorted alphanumerically, with all unconditional deps before the use-conditional ones.

Style: For all ebuilds: Dependencies should always be sorted alphanumerically, with all unconditional deps before the use-conditional ones.
SLOT="${TRINITY_VER}"
IUSE+=" css dvd dvdr vcd debug alsa ffmpeg ffmpeg_all_codecs \
asturm commented 3 years ago
Collaborator

No need for \ within any quotations.

No need for `\` within any quotations.
IUSE+=" +ssl asus"
# SSL support might need tdelibs build with +ssl USE.
asturm commented 3 years ago
Collaborator

Could you test that though? In that case it should depend on tdelibs[ssl?].

Note: I just checked kbiff-4.0 and it just depends on qtcore:4[ssl] (by default for all ebuilds using kde4-base.eclass, so no one really ever made an effort to check that per-package), not however on kdelibs. It is possible though that, as KDE contributions moved into Qt during subsequent major porting efforts, it previously relied on functionality provided by kdelibs:3[ssl].

Could you test that though? In that case it should depend on tdelibs[ssl?]. Note: I just checked `kbiff-4.0` and it just depends on `qtcore:4[ssl]` (by default for all ebuilds using kde4-base.eclass, so no one really ever made an effort to check that per-package), not however on kdelibs. It is possible though that, as KDE contributions moved into Qt during subsequent major porting efforts, it previously relied on functionality provided by `kdelibs:3[ssl]`.
inherit trinity-base-2
DESCRIPTION="Autostart module for KControl "
asturm commented 3 years ago
Collaborator

Cleanup trailing space

Cleanup trailing space
SLOT="${TRINITY_VER}"
# NVControl support needs the nvidia-settings package,
asturm commented 3 years ago
Collaborator

nvidia-settings was really merged into nvidia-drivers, and it is available via x11-drivers/nvidia-drivers[tools] according to equery u nvidia-drivers.

`nvidia-settings` was really merged into `nvidia-drivers`, and it is available via `x11-drivers/nvidia-drivers[tools]` according to `equery u nvidia-drivers`.
DESCRIPTION="Trinity personal information manager"
KEYWORDS="~amd64 ~x86"
COMMON_DEPEND="~trinity-base/libtdepim-${PV}
asturm commented 3 years ago
Collaborator

Superfluous COMMON_DEPEND, as below we can see DEPEND=${RDEPEND} anyway.

Superfluous `COMMON_DEPEND`, as below we can see `DEPEND=${RDEPEND}` anyway.
DEPEND+=" $COMMON_DEPEND"
RDEPEND+=" $COMMON_DEPEND"
TSM_EXTRACT_ALSO="libtdepim/ libtdenetwork/"
asturm commented 3 years ago
Collaborator

all eclass meta vars should always be defined before inherit.

all eclass meta vars should always be defined before `inherit`.
Poster
Collaborator

I have yet to be able to get repoman to do anything useful with this overlay (it throws a fit about metadata files and quits, and I don't have the energy to figure out what's going on), and in any case, as long as the metadata files contain the needed signatures, extras don't matter. Only the automated tooling ever looks inside those files.

I'll try to get to the substansive problems (that is, the things that aren't just style complaints) after Christmas.

I have yet to be able to get repoman to do anything useful with this overlay (it throws a fit about metadata files and quits, and I don't have the energy to figure out what's going on), and in any case, as long as the metadata files contain the needed signatures, extras don't matter. Only the automated tooling ever looks inside those files. I'll try to get to the substansive problems (that is, the things that aren't just style complaints) after Christmas.
Poster
Collaborator

Upon further review, I see that:

-All the issues are inherited from the live ebuilds, rather than being things that I introduced.

-All of them except the dependency issues with kima and kbiff are stylistic even when not marked that way—that is, they don't break the ebuild. Actually, even the kima dep issue doesn't break the ebuild, it just removes some functionality.

As for kbiff, I don't actually use it, so I wouldn't be able to recognize abnormal behaviour short of it outright crashing. tdelibs-14.0.8 won't build for me with -ssl (the flag seems to be broken: it tries to compile SSL-related files anyway, then errors out when it can't find a related definition), so further testing is not possible at this time.

Some poking around with ldd suggests that kbiff doesn't directly link libssl or libcrypto when built with the ssl flag active, so it's probably drawing from tdelibs. (I suppose whoever coded it might also have directly reimplemented SSL, but why would you?)

Either merge the 14.0.8 ebuilds in here as-is or discard the whole thing altogether; I lack the energy to care which right now and just want the whole thing to go away.

Upon further review, I see that: -All the issues are inherited from the live ebuilds, rather than being things that I introduced. -All of them except the dependency issues with kima and kbiff are stylistic even when not marked that way—that is, they don't break the ebuild. Actually, even the kima dep issue doesn't break the ebuild, it just removes some functionality. As for kbiff, I don't actually use it, so I wouldn't be able to recognize abnormal behaviour short of it outright crashing. tdelibs-14.0.8 won't build for me with -ssl (the flag seems to be broken: it tries to compile SSL-related files anyway, then errors out when it can't find a related definition), so further testing is not possible at this time. Some poking around with ldd suggests that kbiff doesn't directly link libssl or libcrypto when built with the ssl flag active, so it's probably drawing from tdelibs. (I suppose whoever coded it might also have directly reimplemented SSL, but why would you?) Either merge the 14.0.8 ebuilds in here as-is or discard the whole thing altogether; I lack the energy to care which right now and just want the whole thing to go away.
Owner

Efforts have been made here and there is no point in throwing it away. I suggest merging it and resolving any issues and comments afterwards. Any objections?

Efforts have been made here and there is no point in throwing it away. I suggest merging it and resolving any issues and comments afterwards. Any objections?
SlavekB merged commit 494d42a599 into master 3 years ago
SlavekB added this to the R14.0.10 release milestone 3 years ago

Reviewers

asturm requested changes 3 years ago
The pull request has been merged as 494d42a599.
Sign in to join this conversation.
No reviewers
No Milestone
No Assignees
3 Participants
Notifications
Due Date

No due date set.

Dependencies

No dependencies set.

Reference: TDE/tde-packaging-gentoo#189
Loading…
There is no content yet.