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

net-misc/ipmiview: New package #7303

Closed
wants to merge 10,000 commits into from
Closed

net-misc/ipmiview: New package #7303

wants to merge 10,000 commits into from

Conversation

ConiKost
Copy link
Contributor

@ConiKost ConiKost commented Feb 27, 2018

net-misc/ipmiview: New package

Closes: https://bugs.gentoo.org/601406

@gentoo-repo-qa-bot
Copy link
Collaborator

Pull Request assignment

Areas affected: ebuilds, other files, profiles
Packages affected: net-misc/ipmiview

net-misc/ipmiview: @gentoo/proxy-maint (new package)

Bugs linked: 601406

In order to force reassignment and/or bug reference scan, please append [please reassign] to the pull request title.

@gentoo-repo-qa-bot gentoo-repo-qa-bot added new package The PR is adding a new package. self-maintained The PR changes only packages that are maintained by the submitter (i.e. no need to ask anybody else) assigned PR successfully assigned to the package maintainer(s). bug linked Bug/Closes found in footer, and cross-linked with the PR. labels Feb 27, 2018
@ConiKost ConiKost force-pushed the ipmiview branch 3 times, most recently from 68f3a82 to 625ede2 Compare March 4, 2018 00:04
@ConiKost ConiKost changed the title net-misc/ipmiview: add new 2.13.1 ebuild net-misc/ipmiview: add new ebuild Mar 4, 2018
@ConiKost ConiKost changed the title net-misc/ipmiview: add new ebuild net-misc/ipmiview: New Package Mar 25, 2018
@ConiKost
Copy link
Contributor Author

ConiKost commented Mar 25, 2018

@mgorny: If you mind, you could here have also a look, since this package is very similar to sys-apps/smcipmitool in terms of the file structure.

@ConiKost ConiKost changed the title net-misc/ipmiview: New Package net-misc/ipmiview: New package Mar 26, 2018
@ConiKost ConiKost force-pushed the ipmiview branch 4 times, most recently from 4755bc3 to dbede87 Compare March 30, 2018 10:49
@ConiKost ConiKost force-pushed the ipmiview branch 2 times, most recently from e4000a3 to 33aca32 Compare April 28, 2018 08:41
@ConiKost
Copy link
Contributor Author

As spoken with @mgorny, I would close these unreviewed PRs for now and reopen later.

@ConiKost ConiKost closed this May 11, 2018
@ConiKost ConiKost reopened this May 11, 2018
@ConiKost ConiKost closed this May 11, 2018
sbraz and others added 7 commits June 20, 2018 21:09
Package-Manager: Portage-2.3.40, Repoman-2.3.9
Package-Manager: Portage-2.3.40, Repoman-2.3.9
Package-Manager: Portage-2.3.40, Repoman-2.3.9
Package-Manager: Portage-2.3.40, Repoman-2.3.9
Package-Manager: Portage-2.3.40, Repoman-2.3.9
Remove pytest-runner from test DEPENDs, it is not required.

Package-Manager: Portage-2.3.40, Repoman-2.3.9
Remove DEPEND on pytest-runner

Package-Manager: Portage-2.3.40, Repoman-2.3.9
Zlogene and others added 12 commits June 22, 2018 18:13
Package-Manager: Portage-2.3.40, Repoman-2.3.9
Package-Manager: Portage-2.3.40, Repoman-2.3.9
Package-Manager: Portage-2.3.40, Repoman-2.3.9
Package-Manager: Portage-2.3.40, Repoman-2.3.9
Python library for axolotl-based protocols like OMEMO,
see https://bugs.gentoo.org/608882

Package-Manager: Portage-2.3.40, Repoman-2.3.9
Python support for the Axolotl protocol (used by OMEMO).

Closes: https://bugs.gentoo.org/608882
Closes: gentoo#7778
Package-Manager: Portage-2.3.40, Repoman-2.3.9
Package-Manager: Portage-2.3.40, Repoman-2.3.9
Package-Manager: Portage-2.3.40, Repoman-2.3.9
…atchset

Package-Manager: Portage-2.3.40, Repoman-2.3.9
Closes: https://bugs.gentoo.org/652236
Closes: gentoo#7776
Package-Manager: Portage-2.3.40, Repoman-2.3.9
@ConiKost
Copy link
Contributor Author

@mgorny: Since you have merged all my other supermicro tools, could you review here? Thanks!

@mgorny
Copy link
Member

mgorny commented Jun 24, 2018

Noooo, Java! @gentoo/java please? ;-)

@chewi
Copy link
Member

chewi commented Jun 24, 2018

Noooo indeed. java-vm-2.eclass is strictly for Java VMs, which this isn't, please don't use it here. I can see why you've done it the way you have but I suspect there's a better way. I'll have to take a closer look.

@ConiKost
Copy link
Contributor Author

ConiKost commented Jun 25, 2018

How about, I redirect the symlink to /etc/java-config-2/current-system-vm? This works here fine. I pushed a new one without using java-vm-2.

https://bugs.gentoo.org/601406
Package-Manager: Portage-2.3.40, Repoman-2.3.9
@gentoo-repo-qa-bot
Copy link
Collaborator

Pull request CI report

Report generated at: 2018-06-25 11:56 UTC
Newest commit scanned: 4a14a8c
Status: ✅ good

Issues already there before the PR (double-check them):
https://qa-reports.gentoo.org/output/gentoo-ci/9346fbd/output.html#dev-libs/spsdeclib

@chewi
Copy link
Member

chewi commented Jun 27, 2018

Holy mother, have you seen those shit scary launcher scripts? Thousands of lines of shit. I'll make some adjustments...

chewi added a commit to chewi/gentoo that referenced this pull request Jun 27, 2018
Many thanks to Conrad Kostecki for writing the initial ebuild.

Closes: https://bugs.gentoo.org/601406
Closes: gentoo#7303
Package-Manager: Portage-2.3.41, Repoman-2.3.9
@chewi
Copy link
Member

chewi commented Jun 27, 2018

I ended up spending a couple of hours on this. I rejigged the ebuild a bit to make it simpler. Did you actually test on x86? I don't think that worked before but it does now.

I leveraged our Java infrastructure to install the jars and create hugely simpler launchers. This will also ensure that the right Java version is used. The upstream launchers were three identical Bash scripts of over 1500 lines each written in 2001 and included stuff to do with installation, a raft of different operating systems, and CD-ROMs. Yeah…

Some things to note. make_desktop_entry doesn't need a full path to the icon if it's in /usr/share/pixmaps. It also doesn't need to the category as this is derived from the package category. I put the new launchers in /usr/bin because I feel that /opt/bin is meant for standalone binaries rather than wrapper scripts.

If you're happy with my version of it, I'll get that pushed up. Would you still be okay to maintain it? I'll answer any Java questions you have.

@ConiKost
Copy link
Contributor Author

ConiKost commented Jun 27, 2018

I ended up spending a couple of hours on this. I rejigged the ebuild a bit to make it simpler. Did you actually test on x86? I don't think that worked before but it does now.

Nice, really, many thanks for your work! At least, some time ago, when I tested it on my old x86 Gentoo box, it was working. But to be honest, didn't tested with the latest eBuilds versions. Maybe something broke.

I leveraged our Java infrastructure to install the jars and create hugely simpler launchers. This will also ensure that the right Java version is used. The upstream launchers were three identical Bash scripts of over 1500 lines each written in 2001 and included stuff to do with installation, a raft of different operating systems, and CD-ROMs. Yeah…

So do I see this correctly, you dropped the whole supermicro launcher and the jars are started by an eBuild created "simple" launcher?

Some things to note. make_desktop_entry doesn't need a full path to the icon if it's in /usr/share/pixmaps. It also doesn't need to the category as this is derived from the package category.

Ok, I see with the full path, thanks! But I don't understand that with the category. Could you explain to me further?

I put the new launchers in /usr/bin because I feel that /opt/bin is meant for standalone binaries rather than wrapper scripts.

Hm, I understand what you mean. But since it's installed in /opt/ipmiview, I think, /opt/bin would be still better IMHO. But if you insist, we can keep this :-)

If you're happy with my version of it, I'll get that pushed up. Would you still be okay to maintain it? I'll answer any Java questions you have.

I will test tomorrow for myself, to see and understand all your changes. Yes, I am still fine with maintaining this package :-)

I'll answer any Java questions you have.

What's the difference installing a jar/so with java-pkg_dojar and java-pkg_regso instead of normal doins?

@chewi
Copy link
Member

chewi commented Jun 28, 2018

So do I see this correctly, you dropped the whole supermicro launcher and the jars are started by an eBuild created "simple" launcher?

Yes, it was using some ancient generic launching mechanism called LAX that included a jar as well as all that Bash. Lord knows what that did because you can simply launch the application jars with java -jar, plus -Dsystem.library.path needs to be set for a couple of them.

Our launcher creates very short (please have a look) files in /usr/bin and this sets up variables for /usr/share/java-config-2/launcher/launcher.bash. There's also a little bit of Python involved but bear in mind that this is geared towards source-based Java packages with many dependencies and associated classpath entries. It also the bit that figures out whether your preferred Java VM (eselect java-vm) is sufficient, otherwise it needs to override it.

What's the difference installing a jar/so with java-pkg_dojar and java-pkg_regso instead of normal doins?

Quite a lot! I won't bore you with the details but the end result is a file at /usr/share/ipmiview/package.env, which contains additional Java metadata about the package, including what jars it contains and what VM is required. In this case, it also has LIBRARY_PATH, which tells the launcher to add -Dsystem.library.path=/opt/ipmiview to the invocation.

It occurs to me that there's no great reason why this has to go under /opt/ipmiview. We could use the default locations with the jars going in /usr/share/ipmiview/lib, the .so libraries going in /usr/lib/ipmiview, and the rest could go wherever (probably /usr/share/ipmiview) and it would still work fine. This would separate the native and shared code appropriately. Up to you though.

chewi added a commit to chewi/gentoo that referenced this pull request Jun 30, 2018
Many thanks to Conrad Kostecki for writing the initial ebuild.

Closes: https://bugs.gentoo.org/601406
Closes: gentoo#7303
Package-Manager: Portage-2.3.41, Repoman-2.3.9
chewi added a commit to chewi/gentoo that referenced this pull request Jul 8, 2018
Many thanks to Conrad Kostecki for writing the initial ebuild.

Closes: https://bugs.gentoo.org/601406
Closes: gentoo#7303
Package-Manager: Portage-2.3.41, Repoman-2.3.9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
assigned PR successfully assigned to the package maintainer(s). bug linked Bug/Closes found in footer, and cross-linked with the PR. new package The PR is adding a new package. self-maintained The PR changes only packages that are maintained by the submitter (i.e. no need to ask anybody else)
Projects
None yet