Bug 212945

Summary: [NEW PORT] security/keepassx2-devel: Cross Platform Password Manager which transited to QT5
Product: Ports & Packages Reporter: Eric Camachat <eric>
Component: Individual Port(s)Assignee: Carlos J. Puga Medina <cpm>
Status: Closed FIXED    
Severity: Affects Only Me CC: amdmi3, cpm, eric, feld, koobs
Priority: --- Keywords: feature, patch, patch-ready
Version: LatestFlags: koobs: maintainer-feedback? (eric)
Hardware: Any   
OS: Any   
Attachments:
Description Flags
new keepassx2-devel port
none
Aslo conflicts keepassx2-2.*
none
Refresh patch
none
refresh license block
eric: maintainer-approval+
fix PORTREVISION, PORTEPOCH and GH_ACCOUNT
eric: maintainer-approval+
rename to security/keepassx-devel. eric: maintainer-approval+

Description Eric Camachat 2016-09-23 18:40:51 UTC
Created attachment 175103 [details]
new keepassx2-devel port

Add developing version of keepassx2 which transited to Qt5, Qt5 handles HiDPI (high resolution) much better than Qt4.
Comment 1 Eric Camachat 2016-09-23 21:43:44 UTC
Created attachment 175108 [details]
Aslo conflicts keepassx2-2.*
Comment 2 Carlos J. Puga Medina freebsd_committer freebsd_triage 2016-09-24 10:34:53 UTC
Testing@work
Comment 3 Carlos J. Puga Medina freebsd_committer freebsd_triage 2016-09-27 13:25:49 UTC
(In reply to Carlos J. Puga Medina from comment #2)

It fails to build on 9.3/i386 and 9.3/amd64. So you need to change:

-USES=compiler:c++11-lang
+USES=compiler:c++11-lib

to fix build on 9.3/ia.

You don't need to define GH_PROJECT so you can safely remove it.
-GH_PROJECT=     keepassx

It only needs the first 7 digits of the hash
+GH_TAGNAME=     b654fde

Also you must define the LICENSE block. See /usr/ports/Mk/bsd.licenses.db.mk and the FreeBSD Ports license auditing infrastructure wiki page [0]

[0] https://wiki.freebsd.org/PortsLicenseInfrastructure
Comment 4 Carlos J. Puga Medina freebsd_committer freebsd_triage 2016-09-27 13:34:20 UTC
One more thing, use 'make makepatch' to regenerate patch(es) to make portlint happy.
Comment 5 Eric Camachat 2016-09-27 22:52:40 UTC
Created attachment 175212 [details]
Refresh patch

Apply Carlos' suggestions.
Comment 6 Carlos J. Puga Medina freebsd_committer freebsd_triage 2016-09-29 17:48:44 UTC
Please, fix LICENSE block as following:

LICENSE=   BOOST-1.0 BSD3CLAUSE CC0-1.0 GPLv2 GPLv3 LGPL21 LGPL3 NOKIA-LGPL-EXCEPTION
LICENSE_COMB=   multi
LICENSE_NAME_BOOST-1.0=   Boost Software License version 1.0
LICENSE_NAME_NOKIA-LGPL-EXCEPTION=   Nokia Qt LGPL Exception version 1.1
LICENSE_FILE_BOOST-1.0=   ${WRKSRC}/LICENSE.BOOST-1.0
LICENSE_FILE_NOKIA-LGPL-EXCEPTION=   ${WRKSRC}/LICENSE.NOKIA-LGPL-EXCEPTION
LICENSE_PERMS_BOOST-1.0=   dist-mirror dist-sell pkg-mirror pkg-sell auto-accept
LICENSE_PERMS_NOKIA-LGPL-EXCEPTION=   dist-mirror dist-sell pkg-mirror pkg-sell auto-accept

Anyway, one of my mentors will review it before I proceed to commit it into the ports tree. So it may still be subject to some last minute changes.
Comment 7 Eric Camachat 2016-09-29 19:57:24 UTC
Created attachment 175281 [details]
refresh license block
Comment 8 Dmitry Marakasov freebsd_committer freebsd_triage 2016-10-06 11:32:56 UTC
- Do you need a new port at all, while keepassx2 is in alpha state? It's the same branch, just update keepassx2.

- PORTNAMEs should be the same for keepassx2/keepassx2-devel, shouldn't they? (and lowercase name is prefered)
- You don't need PORTREVISION and especially PORTEPOCH for a new port
- You don't need GH_ACCOUNT/GH_PROJECT duplicating PORTNAME
- There's tag for 2.0.2, why's different commit used?
- Mutual keepassx2/keepassx2-devel CONFLICTS are missing
Comment 9 Eric Camachat 2016-10-06 22:52:16 UTC
Created attachment 175478 [details]
fix PORTREVISION, PORTEPOCH and GH_ACCOUNT

- Do you need a new port at all, while keepassx2 is in alpha state? It's the same branch, just update keepassx2.
It's no really in needed, but it changed to Qt5 in July. On HiDPI (277 my case), Qt5 has much better rendering.

- PORTNAMEs should be the same for keepassx2/keepassx2-devel, shouldn't they? (and lowercase name is prefered)
Same above keepassx2 build from release tarball which still Qt4.

- You don't need PORTREVISION and especially PORTEPOCH for a new port
Removed in new patch.

- You don't need GH_ACCOUNT/GH_PROJECT duplicating PORTNAME
Removed in new patch.

- There's tag for 2.0.2, why's different commit used?
Release tarball still Qt4, keepassx guy don't change version after released (HEAD has the same version as latest release).

- Mutual keepassx2/keepassx2-devel CONFLICTS are missing
Added at https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=212944#c3
Comment 10 Carlos J. Puga Medina freebsd_committer freebsd_triage 2016-10-08 19:41:18 UTC
Dmitry,

Could you provide your approval?
Comment 11 Kubilay Kocak freebsd_committer freebsd_triage 2016-10-18 11:47:47 UTC
@Carlos, can you clarify the need for approval here beyond mentor?

Also, if this is the qt5 version of the same underlying port, why not PKGNAME_SUFFIX it with -qt5 rather than -devel.

-devel is a bit misleading if that is all it will ever be. A -devel port should always and only track a -devel branch, not specific features (in any branch)
Comment 12 Carlos J. Puga Medina freebsd_committer freebsd_triage 2016-10-18 11:58:15 UTC
(In reply to Kubilay Kocak from comment #11)

Sure, I'm waiting for a mentor approval or LGTM! to commit changes into the ports tree.

Yes, I think is better to use PKGNAME_SUFFIX or add QT5 as a new option to security/keepassx2 port. Currently we have added such option in other ports like multimedia/vlc.
Comment 13 Kubilay Kocak freebsd_committer freebsd_triage 2016-10-18 12:10:27 UTC
As maintainer didn't provide confirmation of QA passing (and even if they did), this should be under review (phabricator) given mentorship. Add review URL to URL: field when created.

The change looks "OK", but check:

 * USES=cmake (but not :outsource)
 * Group USE{S}
 * Consider using CMAKE arguments for ZLIB_SUPPORTS_GZIP instead of patch
 * Follow existing conventions for qt{4,5} suffixed ports, unless maintainer says this will *always* track the development branch. In this case, this port needs QT4/QT5 options, no?
Comment 14 Carlos J. Puga Medina freebsd_committer freebsd_triage 2016-10-18 15:36:49 UTC
@Eric your new port needs to be reviewed via Phabricator [1]. Please, are you willing to prepare a new shar file according to koobs@'s instructions?

[1] https://reviews.freebsd.org/
Comment 15 Kubilay Kocak freebsd_committer freebsd_triage 2016-10-18 15:50:36 UTC
(In reply to Carlos J. Puga Medina from comment #14)

You may create the review using the existing attachment (as is) and consider the things mentioned in comment 13, which are all ports compliance considerations (outside of maintainer scope).
Comment 16 Carlos J. Puga Medina freebsd_committer freebsd_triage 2016-10-18 16:03:32 UTC
(In reply to Kubilay Kocak from comment #15)

OK, I'll take care.

Thanks Kubilay :)
Comment 17 Eric Camachat 2016-10-18 17:21:14 UTC
(In reply to Kubilay Kocak from comment #13)

It's not a choosing between Qt4 and Qt5, but moving to Qt5 in next release.
So after next release of keepassx2, this port may no longer needed.
Comment 18 Mark Felder freebsd_committer freebsd_triage 2016-10-18 18:38:43 UTC
(In reply to Eric Camachat from comment #17)

If that's the case is it worth creating this port? What is the release schedule like for keepassx ?
Comment 19 Eric Camachat 2016-10-18 21:03:39 UTC
(In reply to Mark Felder from comment #18)

OK, I will keep this port tracking the -devel branch.
Comment 20 Eric Camachat 2016-10-18 21:32:10 UTC
Created attachment 175917 [details]
rename to security/keepassx-devel.

1. rename to keepassx-devel to indicate tracking -devel branch.
2. Use "CMAKE_ARGS+= -DZLIB_SUPPORTS_GZIP:BOOL=ON" instead of patching source.
Comment 21 Mark Felder freebsd_committer freebsd_triage 2016-10-19 15:07:17 UTC
(In reply to Eric Camachat from comment #20)

Carlos, commit of this new port approved if you fix the space -> tab issue on line 34



FATAL: Makefile: [34]: use a tab (not space) after a variable name
Comment 22 Carlos J. Puga Medina freebsd_committer freebsd_triage 2016-10-19 15:10:56 UTC
(In reply to Mark Felder from comment #21)

OK, I'm on it!

Thanks Mark.
Comment 23 commit-hook freebsd_committer freebsd_triage 2016-10-20 01:03:44 UTC
A commit references this bug:

Author: cpm
Date: Thu Oct 20 01:03:20 UTC 2016
New revision: 424297
URL: https://svnweb.freebsd.org/changeset/ports/424297

Log:
  [NEW PORT] security/keepassx-devel

  Add developing version of keepassx2 which transited to Qt5,
  Qt5 handles HiDPI (high resolution) much better than Qt4.

  PR:		212945
  Submitted by:	Eric Camachat <eric@camachat.org>
  Approved by:	feld, koobs (mentors)

Changes:
  head/security/Makefile
  head/security/keepassx-devel/
  head/security/keepassx-devel/Makefile
  head/security/keepassx-devel/distinfo
  head/security/keepassx-devel/pkg-descr
  head/security/keepassx-devel/pkg-plist
Comment 24 Carlos J. Puga Medina freebsd_committer freebsd_triage 2016-10-20 01:04:25 UTC
Committed!

Thanks