Bug 222150

Summary: devel/nexus2-oss: Update to 2.14.9-01
Product: Ports & Packages Reporter: Michael Osipov <michael.osipov>
Component: Individual Port(s)Assignee: Johannes M Dieterich <jmd>
Status: Closed FIXED    
Severity: Affects Many People CC: jmd, michael.osipov, swills, yuri
Priority: --- Flags: michael.osipov: maintainer-feedback+
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
Patch against /usr/ports/devel/nexus2-oss
michael.osipov: maintainer-approval+
Poudriere logs
none
Poudriere log from 10.4-RELEASE
none
Patch against /usr/ports/devel/nexus2-oss
none
Patch against /usr/ports/devel/nexus2-oss
none
Poudriere logs
none
Patch against /usr/ports/devel/nexus2-oss
none
Patch against /usr/ports/devel/nexus2-os
none
Patch against /usr/ports/devel/nexus2-oss michael.osipov: maintainer-approval+

Description Michael Osipov 2017-09-08 20:06:24 UTC
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.
Comment 1 Michael Osipov 2017-10-03 17:43:33 UTC
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.
Comment 2 Michael Osipov 2017-10-10 07:58:14 UTC
Created attachment 187041 [details]
Poudriere log from 10.4-RELEASE
Comment 3 Michael Osipov 2017-10-17 12:31:16 UTC
Anyone willing to merge?
Comment 4 Steve Wills freebsd_committer 2017-10-19 06:10:25 UTC
(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
Comment 5 Michael Osipov 2017-10-19 11:00:22 UTC
(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.
Comment 6 Steve Wills freebsd_committer 2017-10-23 18:32:31 UTC
(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.
Comment 7 Michael Osipov 2017-10-23 20:42:34 UTC
(In reply to Steve Wills from comment #6)

Thanks, will wait for.
Comment 8 Michael Osipov 2017-11-07 20:37:51 UTC
(In reply to Steve Wills from comment #6)

Hi Steve, any chance to upload that file or better yet, rerun testport?
Comment 9 Michael Osipov 2018-02-03 20:07:09 UTC
Anyone, please?
Comment 10 Yuri Victorovich freebsd_committer 2018-03-08 09:03:37 UTC
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.
Comment 11 Michael Osipov 2018-03-08 16:43:47 UTC
(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
Comment 12 Michael Osipov 2018-03-19 12:41:43 UTC
(In reply to Yuri Victorovich from comment #10)
 Is the explanation from comment #9 acceptable for you?
Comment 13 Michael Osipov 2018-08-04 19:37:45 UTC
I am currently preparing an updated patch for 2.14.9-01. Please stay put!
Comment 14 Yuri Victorovich freebsd_committer 2018-08-04 19:44:18 UTC
(In reply to Michael Osipov from comment #13)

Ok, thanks!
Comment 15 Michael Osipov 2018-08-04 23:04:45 UTC
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?
Comment 16 Yuri Victorovich freebsd_committer 2018-08-04 23:06:28 UTC
No, status shouldn't be the reason. Changed it anyway.
Comment 17 Michael Osipov 2018-08-05 07:25:02 UTC
Created attachment 195890 [details]
Patch against /usr/ports/devel/nexus2-oss
Comment 18 Michael Osipov 2018-08-05 07:25:29 UTC
Poudriere logs will follow next week.
Comment 19 Yuri Victorovich freebsd_committer 2018-08-05 07:30:00 UTC
Please don't attach poudriere logs. Just say that they passed.
Comment 20 Michael Osipov 2018-08-07 06:28:03 UTC
(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.
Comment 21 Michael Osipov 2018-08-08 16:10:40 UTC
11.2-RELEASE has finished to be build with Poudriere. You can now continue. Thanks!
Comment 22 Michael Osipov 2018-08-27 10:56:36 UTC
Approaching its first anniversary..it is almost time to celebrate.
Comment 23 Yuri Victorovich freebsd_committer 2018-08-28 15:43:05 UTC
(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
Comment 24 Michael Osipov 2018-08-28 16:41:25 UTC
(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?
Comment 25 Yuri Victorovich freebsd_committer 2018-08-28 17:06:23 UTC
(In reply to Michael Osipov from comment #24)

Yes, I tried the attached patch.
It also had one rejected chunk, which I patched manually.
Comment 26 Michael Osipov 2018-08-29 07:13:35 UTC
(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.
Comment 27 Michael Osipov 2018-08-29 07:14:16 UTC
Created attachment 196668 [details]
Patch against /usr/ports/devel/nexus2-oss
Comment 28 Yuri Victorovich freebsd_committer 2018-08-29 07:15:03 UTC
(In reply to Michael Osipov from comment #26)

Ok, thanks, any time when you are done!

Yuri
Comment 29 Michael Osipov 2018-09-03 18:30:22 UTC
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.
Comment 30 Michael Osipov 2018-09-03 18:31:35 UTC
Created attachment 196822 [details]
Patch against /usr/ports/devel/nexus2-oss

Attached is the patch I have used agaist Ports via SVN in Poudriere.
Comment 31 Michael Osipov 2018-09-12 20:06:41 UTC
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
Comment 32 Michael Osipov 2018-09-12 20:09:43 UTC
The package itself provides a custom license: SONATYPE MASTER EULA AGREEMENT. I will provide an update in an subsequent patch.
Comment 33 Michael Osipov 2018-11-20 15:00:47 UTC
Anyone willing to commit please?
Comment 34 Yuri Victorovich freebsd_committer 2018-11-20 16:23:53 UTC
(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.
Comment 35 Michael Osipov 2018-11-21 08:54:21 UTC
(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.
Comment 36 Michael Osipov 2018-11-21 10:53:06 UTC
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.
Comment 37 Johannes M Dieterich freebsd_committer 2019-02-03 03:20:27 UTC
Unfortunately there is not much:

===>  Applying FreeBSD patches for nexus2-oss-2.14.9
*** Error code 12
Comment 38 Johannes M Dieterich freebsd_committer 2019-02-03 03:31:48 UTC
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?
Comment 39 Michael Osipov 2019-02-03 11:00:16 UTC
(In reply to Johannes M Dieterich from comment #38)

Looking into...
Comment 40 Michael Osipov 2019-02-03 21:36:28 UTC
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.
Comment 41 Michael Osipov 2019-02-04 10:42:29 UTC
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
Comment 42 Johannes M Dieterich freebsd_committer 2019-02-05 02:35:33 UTC
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?
Comment 43 Michael Osipov 2019-02-05 08:45:49 UTC
(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).
Comment 44 Michael Osipov 2019-02-06 19:31:53 UTC
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?
Comment 45 Johannes M Dieterich freebsd_committer 2019-02-06 20:35:08 UTC
Very good question. Let me update my hosts and jails to the very latest current and try again. Maybe this was a temporary problem...
Comment 46 Johannes M Dieterich freebsd_committer 2019-02-10 04:08:57 UTC
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!
Comment 47 commit-hook freebsd_committer 2019-02-10 04:43:08 UTC
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
Comment 48 Johannes M Dieterich freebsd_committer 2019-02-10 04:44:00 UTC
Passes poudriere tests - done!
Comment 49 Michael Osipov 2019-02-13 12:27:51 UTC
(In reply to Johannes M Dieterich from comment #48)

Thanks, I will remove the -u from the Makefile. Shouldn't we retain -q?
Comment 50 Johannes M Dieterich freebsd_committer 2019-02-13 14:47:20 UTC
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.