Created attachment 186178 [details] Patch against /usr/ports/devel/nexus2-oss Portmaintainer here, attached update of port to newest version along with a few fixes portlint warned about.
Created attachment 186889 [details] Poudriere logs Here are the logs from Poudriere run on two jails with 10.3-RELEASE and 11.1-RELEASE. Deps and port build fine.
Created attachment 187041 [details] Poudriere log from 10.4-RELEASE
Anyone willing to merge?
(In reply to Michael Osipov from comment #3) After apply this patch, the port fails to "make patch": ===> Applying FreeBSD patches for nexus2-oss-2.14.5 *** Error code 12
(In reply to Steve Wills from comment #4) Can you upload the full Poudriere log? I haven't come across such a failure on threee different Poudriere runs.
(In reply to Michael Osipov from comment #5) Will have to dig up the log, but from what I saw testing it, it was the call to ZIP_CMD in post-patch that was causing the error.
(In reply to Steve Wills from comment #6) Thanks, will wait for.
(In reply to Steve Wills from comment #6) Hi Steve, any chance to upload that file or better yet, rerun testport?
Anyone, please?
This line causes the problem: cd ${FILESDIR}/nexus/WEB-INF/lib/nexus-core.jar You can't change directory to a jar. Please update the patch.
(In reply to Yuri Victorovich from comment #10) No, it is not. It is a directory containing the changes for the nexus-core.jar. See here: https://github.com/michael-o/freebsd-ports/tree/master/devel/nexus2-oss/files/nexus/WEB-INF/lib/nexus-core.jar
(In reply to Yuri Victorovich from comment #10) Is the explanation from comment #9 acceptable for you?
I am currently preparing an updated patch for 2.14.9-01. Please stay put!
(In reply to Michael Osipov from comment #13) Ok, thanks!
I have now a working patch, tested on 11.2-RELEASE and 10.4-RELEASE. Poudriere is pending. For some strange reason I cannot attach any files. Is the status the reason?
No, status shouldn't be the reason. Changed it anyway.
Created attachment 195890 [details] Patch against /usr/ports/devel/nexus2-oss
Poudriere logs will follow next week.
Please don't attach poudriere logs. Just say that they passed.
(In reply to Yuri Victorovich from comment #19) 10.4-RELEASE has passed yesterday. 11.2-RELEASE still running. llvm60 takes forever to compile on my dev machine.
11.2-RELEASE has finished to be build with Poudriere. You can now continue. Thanks!
Approaching its first anniversary..it is almost time to celebrate.
(In reply to Michael Osipov from comment #22) Michael, It doesn't build in poudriere: 'make check-plist' fails: ===> Checking for items in STAGEDIR missing from pkg-plist Error: Orphaned: %%DATADIR%%/lib/jul-to-slf4j-1.7.6.jar Error: Orphaned: %%DATADIR%%/lib/logback-access-1.1.2.jar Error: Orphaned: %%DATADIR%%/lib/logback-classic-1.1.2.jar Error: Orphaned: %%DATADIR%%/lib/logback-core-1.1.2.jar Error: Orphaned: %%DATADIR%%/lib/slf4j-api-1.7.6.jar Error: Orphaned: %%DATADIR%%/%%USER%%/WEB-INF/bundles/bcprov-jdk15on-1.48.jar Error: Orphaned: %%DATADIR%%/%%USER%%/WEB-INF/lib/goodies-common-1.9.jar Error: Orphaned: %%DATADIR%%/%%USER%%/WEB-INF/lib/goodies-eventbus-1.9.jar Error: Orphaned: %%DATADIR%%/%%USER%%/WEB-INF/lib/goodies-i18n-1.9.jar ... Yuri
(In reply to Yuri Victorovich from comment #23) Thanks for checking. The patch your are looking to seems to old/wrong: > root@blnn719x - /var/osipovmi/Projekte/freebsd-ports/devel/nexus2-oss > 2056 # make check-plist > ===> License EPL accepted by the user > ===> nexus2-oss-2.14.9 depends on file: /usr/local/sbin/pkg - found > ===> Fetching all distfiles required by nexus2-oss-2.14.9 for building > ===> Extracting for nexus2-oss-2.14.9 > => SHA256 Checksum OK for nexus-2.14.9-01-bundle.tar.gz. > ===> Patching for nexus2-oss-2.14.9 > ===> nexus2-oss-2.14.9 depends on executable: zip - found > ===> Applying FreeBSD patches for nexus2-oss-2.14.9 > ===> Configuring for nexus2-oss-2.14.9 > ===> Staging for nexus2-oss-2.14.9 > ===> nexus2-oss-2.14.9 depends on executable: javaservicewrapper - found > ===> nexus2-oss-2.14.9 depends on file: /usr/local/openjdk8/bin/java - found > ===> Generating temporary packing list > ===> Creating groups. > ===> Creating users > ====> Compressing man pages (compress-man) > ===> Staging rc.d startup script(s) > ====> Checking for pkg-plist issues (check-plist) > ===> Parsing plist > ===> Checking for items in STAGEDIR missing from pkg-plist > ===> Checking for items in pkg-plist which are not in STAGEDIR > ===> No pkg-plist issues found (check-plist) Did you really try this: https://bugs.freebsd.org/bugzilla/attachment.cgi?id=195890?
(In reply to Michael Osipov from comment #24) Yes, I tried the attached patch. It also had one rejected chunk, which I patched manually.
(In reply to Yuri Victorovich from comment #25) That is really confusing. I truly sorry about that. I have reattached a patch against the Subversion repo, but it still doesn't change much. I will retry in another Poudriere installation. Someting is fishly about that.
Created attachment 196668 [details] Patch against /usr/ports/devel/nexus2-oss
(In reply to Michael Osipov from comment #26) Ok, thanks, any time when you are done! Yuri
Created attachment 196821 [details] Poudriere logs Reapplied the patch, ran on two hosts 11.2-RELEASE and 12-CURRENT (ALPHA4) with 10.4-RELEASE/11.2-RELEASE on i386 and amd64. All builds have passed.
Created attachment 196822 [details] Patch against /usr/ports/devel/nexus2-oss Attached is the patch I have used agaist Ports via SVN in Poudriere.
Created attachment 197063 [details] Patch against /usr/ports/devel/nexus2-os * Updated my maintainer email address * Removed license because the original website does not provide any specific license anymore
The package itself provides a custom license: SONATYPE MASTER EULA AGREEMENT. I will provide an update in an subsequent patch.
Anyone willing to commit please?
(In reply to Michael Osipov from comment #33) post-patch crashes: ===> Applying FreeBSD patches for nexus2-oss-2.14.9 *** Error code 12 Also the word "ONLY" has a typo.
(In reply to Yuri Victorovich from comment #34) Can you please provide details for the crash? I have run poudriere with various configurations and wasn't able to force any crash.
Created attachment 199407 [details] Patch against /usr/ports/devel/nexus2-oss Incorrect *ONLY_FOR_ARCHS* has been fixed Waiting for the post-patch error details.
Unfortunately there is not much: ===> Applying FreeBSD patches for nexus2-oss-2.14.9 *** Error code 12
OK, the error code 12 comes from the zip command and means "nothing to do". Can you confirm that we need the zip? Why does it not have anything to do?
(In reply to Johannes M Dieterich from comment #38) Looking into...
Seems like I have been hit by https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=234872. I need to setup another host with 12 to run that test.
Cannot reproduce in 12 on 11.2 host i386: =>> Recording filesystem state for prestage... done =======================<phase: stage >============================ ===> Staging for nexus2-oss-2.14.9 ===> nexus2-oss-2.14.9 depends on executable: javaservicewrapper - found ===> nexus2-oss-2.14.9 depends on file: /usr/local/openjdk8/bin/java - found ===> Generating temporary packing list ===> Creating groups. ===> Creating users ====> Compressing man pages (compress-man) ===> Staging rc.d startup script(s) =========================================================================== ====> Running Q/A tests (stage-qa) ====> Checking for pkg-plist issues (check-plist) ===> Parsing plist ===> Checking for items in STAGEDIR missing from pkg-plist ===> Checking for items in pkg-plist which are not in STAGEDIR ===> No pkg-plist issues found (check-plist) =>> Checking for staging violations... done =======================<phase: package >============================ ===> Building package for nexus2-oss-2.14.9 =========================================================================== =>> Recording filesystem state for preinst... done =======================<phase: install >============================ ===> Installing for nexus2-oss-2.14.9 ===> Checking if nexus2-oss already installed ===> Registering installation for nexus2-oss-2.14.9 [120-release-development] Installing nexus2-oss-2.14.9... ===> Creating groups. Creating group 'nexus' with gid '575'. ===> Creating users Creating user 'nexus' with uid '575'. ======================================================================== Nexus Repository Manager OSS 2.14.9 has been successfully installed! To enable Nexus, add the following line to /etc/rc.conf[.local]: nexus2_enable="YES" IMPORTANT: Nexus runs by default as user nexus! Configuration ============= * Start Nexus 'service nexus2 start' * Open the following URL in your browser: http://localhost:8081/nexus * Log in with the admin account 'admin/admin123', configure Nexus and change this password immediately! Common Locations ================ The configuration files can be found at: /usr/local/etc/nexus2 The work, log, and run directories are located at: * /var/nexus2 * /var/log/nexus2 * /var/run/nexus2 Documentation ============= Further documentation can be found in the official Nexus Book at: https://books.sonatype.com/nexus-book/2.14/reference/index.html ======================================================================== =========================================================================== =>> Checking shared library dependencies =======================<phase: deinstall >============================ ===> Deinstalling for nexus2-oss ===> Deinstalling nexus2-oss-2.14.9 Updating database digests format: .......... done Checking integrity... done (0 conflicting) Deinstallation has been requested for the following 1 packages (of 0 packages in the universe): Installed packages to be REMOVED: nexus2-oss-2.14.9 Number of packages to be removed: 1 The operation will free 87 MiB. [120-release-development] [1/1] Deinstalling nexus2-oss-2.14.9... [120-release-development] [1/1] Deleting files for nexus2-oss-2.14.9: .......... done ==> You should manually remove the "nexus" user. ==> You should manually remove the "nexus" group ==> If your are permanently removing this package consider deleting /var/run/nex us2, /var/log/nexus2, and /var/nexus2 manually! =========================================================================== =>> Checking for extra files and directories [00:10:06] Installing from package [120-release-development] Installing nexus2-oss-2.14.9... ===> Creating groups. Using existing group 'nexus'. ===> Creating users Using existing user 'nexus'. [120-release-development] Extracting nexus2-oss-2.14.9: .......... done Message from nexus2-oss-2.14.9: ======================================================================== Nexus Repository Manager OSS 2.14.9 has been successfully installed! To enable Nexus, add the following line to /etc/rc.conf[.local]: nexus2_enable="YES" IMPORTANT: Nexus runs by default as user nexus! Configuration ============= * Start Nexus 'service nexus2 start' * Open the following URL in your browser: http://localhost:8081/nexus * Log in with the admin account 'admin/admin123', configure Nexus and change this password immediately! Common Locations ================ The configuration files can be found at: /usr/local/etc/nexus2 The work, log, and run directories are located at: * /var/nexus2 * /var/log/nexus2 * /var/run/nexus2 Documentation ============= Further documentation can be found in the official Nexus Book at: https://books.sonatype.com/nexus-book/2.14/reference/index.html ======================================================================== [00:10:30] Cleaning up ===> Cleaning for nexus2-oss-2.14.9 [00:10:30] Deinstalling package Updating database digests format: . done Checking integrity... done (0 conflicting) Deinstallation has been requested for the following 1 packages (of 0 packages in the universe): Installed packages to be REMOVED: nexus2-oss-2.14.9 Number of packages to be removed: 1 The operation will free 87 MiB. [120-release-development] [1/1] Deinstalling nexus2-oss-2.14.9... [120-release-development] [1/1] Deleting files for nexus2-oss-2.14.9: .......... done ==> You should manually remove the "nexus" user. ==> You should manually remove the "nexus" group ==> If your are permanently removing this package consider deleting /var/run/nex us2, /var/log/nexus2, and /var/nexus2 manually! build of devel/nexus2-oss | nexus2-oss-2.14.9 ended at Mon Feb 4 11:06:53 CET 2 019 build time: 00:04:51 [00:10:31] Logs: /var/poudriere/data/logs/bulk/120-release-development/2019-02-0 4T10:56:22 [00:10:31] Cleaning up [00:10:31] Unmounting file systems Will retry on amd64 and on 12 host
I'm seeing it on a amd64 CURRENT host with either CURRENT or 11.2 amd64 jails. Haven't tried anything else yet. What is the zip step supposed to do, do you expect it to update?
(In reply to Johannes M Dieterich from comment #42) I am setting up 13-CURRENT host to reproduce this. The zip step is supposed to update a JAR file (with a properties file) to fix logging directory in compliance with hier(7).
So friends, bad news. This is the host: FreeBSD bsd2current 13.0-CURRENT FreeBSD 13.0-CURRENT r343752 GENERIC amd64 ran the port with these jails: JAILNAME VERSION ARCH METHOD TIMESTAMP PATH 112-release-amd64 11.2-RELEASE-p8 amd64 ftp 2019-02-05 15:16:57 /var/poudriere/jails/112-release-amd64 120-release-amd64 12.0-RELEASE-p2 amd64 ftp 2019-02-05 11:29:36 /var/poudriere/jails/120-release-amd64 130-current-amd64 13.0-CURRENT amd64 ftp 2019-02-05 15:19:26 /var/poudriere/jails/130-current-amd64 =>> Checking for extra files and directories [09:41:57] Installing from package [112-release-amd64-development] Installing nexus2-oss-2.14.9... ===> Creating groups. Using existing group 'nexus'. ===> Creating users Using existing user 'nexus'. [112-release-amd64-development] Extracting nexus2-oss-2.14.9: .......... done =>> Checking for extra files and directories [09:53:11] Installing from package [120-release-amd64-development] Installing nexus2-oss-2.14.9... ===> Creating groups. Using existing group 'nexus'. ===> Creating users Using existing user 'nexus'. [120-release-amd64-development] Extracting nexus2-oss-2.14.9: .......... done =>> Checking for extra files and directories [09:34:57] Installing from package [130-current-amd64-development] Installing nexus2-oss-2.14.9... ===> Creating groups. Using existing group 'nexus'. ===> Creating users Using existing user 'nexus'. [130-current-amd64-development] Extracting nexus2-oss-2.14.9: .......... done I cannot reproduce it. What did I do right or wrong?
Very good question. Let me update my hosts and jails to the very latest current and try again. Maybe this was a temporary problem...
OK, figured it out. -u to the zip command will check the time stamp on the file system and only update the file present in the zip archive if the time stamp is newer. That's of course a rather fragile situation which looking at Yuri's and my experience does not always work. Removing -u puts zip into default mode, where it'll just override, which is what we want here. I'm running poudriere tests at the moment and will commit after that. Thanks for submitting this and thanks for bearing with me while we figured this out!
A commit references this bug: Author: jmd Date: Sun Feb 10 04:42:38 UTC 2019 New revision: 492589 URL: https://svnweb.freebsd.org/changeset/ports/492589 Log: devel/nexus2-oss: Update to 2.14.9-01 While there, update maintainer email address. PR: 222150 Submitted by: Michael Osipov <michael.osipov@siemens.com> (maintainer) Changes: head/devel/nexus2-oss/Makefile head/devel/nexus2-oss/distinfo head/devel/nexus2-oss/files/pkg-message.in head/devel/nexus2-oss/pkg-plist
Passes poudriere tests - done!
(In reply to Johannes M Dieterich from comment #48) Thanks, I will remove the -u from the Makefile. Shouldn't we retain -q?
I've landed it - so if you think there should be any changes to the current state, just make a patch. I don't think -q is that important.