Bug 223176 - [revive port] archivers/zipios: small C++ library for reading and writing zip files
Summary: [revive port] archivers/zipios: small C++ library for reading and writing zip...
Status: Closed Not Accepted
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: freebsd-ports-bugs (Nobody)
URL:
Keywords: feature, needs-qa
Depends on:
Blocks:
 
Reported: 2017-10-22 23:49 UTC by bye
Modified: 2018-03-04 23:09 UTC (History)
3 users (show)

See Also:
koobs: maintainer-feedback? (owen94012)


Attachments
Port for Zipios++ is a small C++ library for reading and writing zip files. (3.78 KB, patch)
2017-10-22 23:49 UTC, bye
no flags Details | Diff
Fixed portlint -AC FATAL mistakes. (3.79 KB, patch)
2017-10-23 06:15 UTC, bye
no flags Details | Diff
archivers/zipios (51.13 KB, patch)
2017-11-03 18:55 UTC, bye
no flags Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description bye 2017-10-22 23:49:09 UTC
Created attachment 187383 [details]
Port for Zipios++ is a small C++ library for reading and writing zip files.

Zipios++ is a small C++ library for reading and writing zip files.
Comment 1 Kubilay Kocak freebsd_committer freebsd_triage 2017-10-23 01:48:18 UTC
Thank you for submitting a new FreeBSD port. 

Please confirm that the port passes QA (portlint, poudriere in particular).

For more information see: 

https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/testing.html
Comment 2 Kurt Jaeger freebsd_committer freebsd_triage 2017-10-23 05:10:34 UTC
I ran a test using portlint. portlint -AC says:

WARN: /home/pi/m/archivers/zipios/pkg-plist: [14]: installing shared libraries, please define USE_LDCONFIG as appropriate
WARN: /home/pi/m/archivers/zipios/pkg-plist: [15]: installing shared libraries, please define USE_LDCONFIG as appropriate
FATAL: Makefile: [4]: use a tab (not space) after a variable name
FATAL: Makefile: [5]: use a tab (not space) after a variable name
FATAL: Makefile: [6]: use a tab (not space) after a variable name
FATAL: Makefile: [7]: use a tab (not space) after a variable name
FATAL: Makefile: [9]: use a tab (not space) after a variable name
FATAL: Makefile: [10]: use a tab (not space) after a variable name
FATAL: Makefile: [12]: use a tab (not space) after a variable name
FATAL: Makefile: [13]: use a tab (not space) after a variable name
FATAL: Makefile: [15]: use a tab (not space) after a variable name
FATAL: Makefile: [16]: use a tab (not space) after a variable name
FATAL: Makefile: [20]: use a tab (not space) after a variable name
FATAL: Makefile: [21]: use a tab (not space) after a variable name
FATAL: Makefile: [22]: use a tab (not space) after a variable name
FATAL: Makefile: [24]: use a tab (not space) after a variable name

Testbuilds for cur, 11.1a, 10.3i were fine.
Comment 3 bye 2017-10-23 06:15:34 UTC
Created attachment 187385 [details]
Fixed portlint -AC FATAL mistakes.

Cleaned up port formatting errors.
Comment 4 Tobias Kortkamp freebsd_committer freebsd_triage 2017-10-23 06:43:04 UTC
Note that we had this port in the past [1].

[1] http://www.freshports.org/archivers/zipios++
Comment 5 Kurt Jaeger freebsd_committer freebsd_triage 2017-10-23 15:58:15 UTC
If we had this before, should we re-use the same name ? Or modify the
MOVED line from

archivers/zipios++||2011-08-01|Has expired: No more public distfiles

to

archivers/zipios++|archivers/zipios|2017-10-23|TODO

Or should we do a resurrect/svn mv ?

Frankly, after 6 years I don't think any of that matters ?
Comment 6 Kubilay Kocak freebsd_committer freebsd_triage 2017-10-23 23:43:21 UTC
Factors worth considering:

- What the most correct/precise name might be, perhaps also taking into account what other OS's package it as (for parity/ease of discovery reasons). See Also: 

https://repology.org/metapackages/?search=zipios

- Identifying any other potentially conflicting projects

That said, on a brief look, the old sf pages refer (logo, name, initial test) to Zipios++, the new github repository name, logo and initial paragraph text refer to Zipios.

Most notable however, and perhaps most relevant:

A commit log message "Continue the brand change from Zipios++ to Zipios." [1]

[1] https://github.com/Zipios/Zipios/commit/6af423a635287d80a88abf1e78008015815447a8"
Comment 7 bye 2017-10-24 14:54:01 UTC
Originally I didn't know that there was the older port, but when creating the PR i saw that it was a previous port titled zipios++ under archivers.

When I was writing this port I had it under sysutils but then I changed it to archivers but I kept off the [++] because I remember seeing somewhere that they wanted to consolidate the name under zipios instead of zipios++

I can't find the link now but I saw that they wanted to get rid of the ++ so I just left it off in this port.
Comment 8 bye 2017-11-03 04:32:59 UTC
hello guys, how's this port submission going?
Comment 9 Tobias Kortkamp freebsd_committer freebsd_triage 2017-11-03 08:43:14 UTC
(In reply to bcomputerguy from comment #8)
There are still some problems.

+CMAKE_ARGS=	--no-warn-unused-cli \
+		-DBUILD_ZIPIOS_TESTS:BOOL=OFF \
+		-DBUILD_DOCUMENTATION:BOOL=OFF

Can you remove --no-warn-unused-cli?  It's harmless to have these
warnings on.

+OPTIONS_DEFINE=	BUILD_DOCS
+BUILD_DOCS_DESC=	build DOXYGEN documents

IMHO, BUILD_DOCS should be named either DOCS or DOXYGEN.

+BUILD_DOCS_CONFIGURE_ON=	-DBUILD_DOCUMENTATION:BOOL=ON

In the context of cmake this does nothing.  It should be (and the
BUILD_DOCU* from CMAKE_ARGS above can go away too then):

BUILD_DOCS_CMAKE_BOOL=	BUILD_DOCUMENTATION

But really the BUILD_DOCS options is broken at the moment anyway.  It
neither specifies a build dependency on doxygen, nor does it appear in the
pkg-plist.  So enabling it breaks the build.
Comment 10 bye 2017-11-03 18:09:30 UTC
Question:

I made the edits you suggested but selecting docs, build works fine because I have this to move and gzip the docs:
post-install:
        @(${MV} ${STAGEDIR}${PREFIX}/share/man/man3/zipios.3 ${STAGEDIR}${PREFIX}/share/man/zipios.3 && \
        ${MV} ${STAGEDIR}${PREFIX}/share/man/man3/zipios_CollectionCollection.3 ${STAGEDIR}${PREFIX}/share/man/zipios_CollectionCollection.3 && \
        ${MV} ${STAGEDIR}${PREFIX}/share/man/man3/zipios_DirectoryEntry.3 ${STAGEDIR}${PREFIX}/share/man/zipios_DirectoryEntry.3 && \
        ${MV} ${STAGEDIR}${PREFIX}/share/man/man3/zipios_FileCollection.3 ${STAGEDIR}${PREFIX}/share/man/zipios_FileCollection.3 && \
        ${MV} ${STAGEDIR}${PREFIX}/share/man/man3/zipios_FileEntry.3 ${STAGEDIR}${PREFIX}/share/man/zipios_FileEntry.3 && \
        ${MV} ${STAGEDIR}${PREFIX}/share/man/man3/zipios_FilePath.3 ${STAGEDIR}${PREFIX}/share/man/zipios_FilePath.3 && \
        ${MV} ${STAGEDIR}${PREFIX}/share/man/man3/zipios_VirtualSeeker.3 ${STAGEDIR}${PREFIX}/share/man/zipios_VirtualSeeker.3 && \
        ${MV} ${STAGEDIR}${PREFIX}/share/man/man3/zipios_ZipFile.3 ${STAGEDIR}${PREFIX}/share/man/zipios_ZipFile.3 && \
        ${RM} -rf ${STAGEDIR}${PREFIX}/share/man/man3 && \
        ${GZIP_CMD} ${STAGEDIR}${PREFIX}/share/man/zipios.3 && \ 
        ${GZIP_CMD} ${STAGEDIR}${PREFIX}/share/man/zipios_CollectionCollection.3 && \  
        ${GZIP_CMD} ${STAGEDIR}${PREFIX}/share/man/zipios_DirectoryEntry.3 && \  
        ${GZIP_CMD} ${STAGEDIR}${PREFIX}/share/man/zipios_FileCollection.3 && \  
        ${GZIP_CMD} ${STAGEDIR}${PREFIX}/share/man/zipios_FileEntry.3 && \  
        ${GZIP_CMD} ${STAGEDIR}${PREFIX}/share/man/zipios_FilePath.3 && \  
        ${GZIP_CMD} ${STAGEDIR}${PREFIX}/share/man/zipios_VirtualSeeker.3 && \
        ${GZIP_CMD} ${STAGEDIR}${PREFIX}/share/man/zipios_ZipFile.3);


the issue is if I do not select docs then the build fails because the files aren't build.

I've been trying to understand this: https://www.freebsd.org/doc/en/books/porters-handbook/makefile-options.html

but i've tried


OPTIONS_DEFINE=         DOCS
DOCS_DESC=              build DOXYGEN documents
DOCS_CONFIGURE_ON=      -DBUILD_DOCUMENTATION:BOOL=ON
DOCS_CONFIGURE_OFF=     -DBUILD_DOCUMENTATION:BOOL=OFF
DOCS_BUILD_DEPENDS=     doxygen:devel/doxygen
OPTIONS_SUB=            yes
USE_LDCONFIG=           yes

.include <bsd.port.options.mk>

.include <bsd.port.pre.mk>
post-install:
.if ${PORT_OPTIONS:DOCS}
        @(${MV} ${STAGEDIR}${PREFIX}/share/man/man3/zipios.3 ${STAGEDIR}${PREFIX}/share/man/zipios.3 && \
        ${MV} ${STAGEDIR}${PREFIX}/share/man/man3/zipios_CollectionCollection.3 ${STAGEDIR}${PREFIX}/share/man/zipios_CollectionCollection.3 && \
        ${MV} ${STAGEDIR}${PREFIX}/share/man/man3/zipios_DirectoryEntry.3 ${STAGEDIR}${PREFIX}/share/man/zipios_DirectoryEntry.3 && \
        ${MV} ${STAGEDIR}${PREFIX}/share/man/man3/zipios_FileCollection.3 ${STAGEDIR}${PREFIX}/share/man/zipios_FileCollection.3 && \
        ${MV} ${STAGEDIR}${PREFIX}/share/man/man3/zipios_FileEntry.3 ${STAGEDIR}${PREFIX}/share/man/zipios_FileEntry.3 && \
        ${MV} ${STAGEDIR}${PREFIX}/share/man/man3/zipios_FilePath.3 ${STAGEDIR}${PREFIX}/share/man/zipios_FilePath.3 && \
        ${MV} ${STAGEDIR}${PREFIX}/share/man/man3/zipios_VirtualSeeker.3 ${STAGEDIR}${PREFIX}/share/man/zipios_VirtualSeeker.3 && \
        ${MV} ${STAGEDIR}${PREFIX}/share/man/man3/zipios_ZipFile.3 ${STAGEDIR}${PREFIX}/share/man/zipios_ZipFile.3 && \
        ${RM} -rf ${STAGEDIR}${PREFIX}/share/man/man3 && \
        ${GZIP_CMD} ${STAGEDIR}${PREFIX}/share/man/zipios.3 && \
        ${GZIP_CMD} ${STAGEDIR}${PREFIX}/share/man/zipios_CollectionCollection.3 && \
        ${GZIP_CMD} ${STAGEDIR}${PREFIX}/share/man/zipios_DirectoryEntry.3 && \
        ${GZIP_CMD} ${STAGEDIR}${PREFIX}/share/man/zipios_FileCollection.3 && \
        ${GZIP_CMD} ${STAGEDIR}${PREFIX}/share/man/zipios_FileEntry.3 && \
        ${GZIP_CMD} ${STAGEDIR}${PREFIX}/share/man/zipios_FilePath.3 && \
        ${GZIP_CMD} ${STAGEDIR}${PREFIX}/share/man/zipios_VirtualSeeker.3 && \
        ${GZIP_CMD} ${STAGEDIR}${PREFIX}/share/man/zipios_ZipFile.3);
.endif
.include <bsd.port.post.mk>

the project seems to build if I have docs options check or unchecked but I don't know if I am doing this part correctly.

Can you provide some feedback on how to improve?
Comment 11 bye 2017-11-03 18:55:44 UTC
Created attachment 187701 [details]
archivers/zipios

used .include <bsd.port.options.mk> to do a conditional ${MV} and ${GZIP_CMD} on documents.

The project now builds with or without docs enabled.
Comment 12 Kubilay Kocak freebsd_committer freebsd_triage 2017-11-07 04:30:13 UTC
Thanks Owen,

We (strongly) encourage contributors to test/QA proposed changes with the tools that our developers use, both to improve their skills but also to identify any issues early and save time/resources.

Accordingly, could you please confirm that the port passes QA (portlint and poudriere in particular). For more information and instructions on testing, see:

https://www.freebsd.org/doc/en_US.ISO8859-1/books/porters-handbook/testing.html

Also

- The current patch contains a MAINTAINER line which doesn't match your Bugzilla account email address. For new and restored ports, the maintainer of the port should be the person proposing/requesting/submitting it.

If the MAINTAINER email is one you own, please update your Bugzilla account email to match (otherwise automatic notification/assignment of new issues for your ports wont work), or alternatively, update the MAINTAINER line to match your Bugzilla email address.

- Consider settting DISTNAME=zipios++, so that MASTER_SITES doesn't need to be customised (and one can just use 'SF')

- Obsolete any older/outdated attachments, so only one is visible. This makes it more obvious and avoids confusion. You can do this via Attachment -> Details -> Edit Details -> [x] Obsolete
Comment 13 bye 2017-11-07 05:07:18 UTC
The email address is valid and should not be an issue.

I am learning to do more tests on these ports before I submit them

We (strongly) encourage contributors to test/QA proposed changes with the tools that our developers use, both to improve their skills but also to identify any issues early and save time/resources.

- Consider settting DISTNAME=zipios++, so that MASTER_SITES doesn't need to be customised (and one can just use 'SF')

I asked about this issue and it was also brought up in comment #6 as well: https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=223176#c6

The maintainers want to change the name to zipios and they did do that on the github page but the older SF page; which is no longer maintained still uses zipios++

I thought it would be better to go with zipios since that's where all the work is being done.

- Obsolete any older/outdated attachments, so only one is visible. This makes it more obvious and avoids confusion. You can do this via Attachment -> Details -> Edit Details -> [x] Obsolete

Done
Comment 14 Kubilay Kocak freebsd_committer freebsd_triage 2017-11-07 08:35:20 UTC
(In reply to bcomputerguy from comment #13)

Maintainer emails as set in the port (MAINTAINER) must match their Bugzilla account email so that maintainership can be verified when maintainers submit updates via Bugzilla. Please update one or the other so they match.

All attachments were obsoleted. I assume this is because an updated patch will be provided (post QA) ?
Comment 15 bye 2017-11-07 08:52:34 UTC
Initially while testing out FreeBSD I wasn't sure if I'd take the time to learn the OS or just keep moving so I created this account.

I will update all of email discrepancies in one go but there are much bigger issues that I need to sort. I've submitted other ports that were also accepted and there are a few more in the pipeline as well.

I'd hope something as trivial as the email address mismatch wouldn't be a big issue.

Also, I will upload a diff after further testing to the best of my abilities on my end.

If I submit a port with errors, it's not because I am hastily submitting ports, it's just something that I do not know about and if it's pointed out, then I'll fix it.
Comment 16 Kubilay Kocak freebsd_committer freebsd_triage 2017-11-08 01:58:06 UTC
(In reply to bcomputerguy from comment #15)

The intent was not to imply that it's a big issue. The project just needs a way to verify that a patch submitted by someone claiming to be the maintainer is the maintainer. The only way to do this is to have matching email addresses (port MAINTAINER Email == Bugzilla Account Email)

Changing Bugzilla account email address is quick and easy:

https://bugs.freebsd.org/bugzilla/userprefs.cgi?tab=account

This can be done in the meantime until you decide what email address you would ultimately like to use, and then make any changes to your port MAINTAINER lines later/separately
Comment 17 bye 2017-11-08 02:41:58 UTC
My domain http://blubee.me is mostly down at the moment, except for forwarding @blubee.me emails to the email address above.

I cannot take time away from these ports right now to go setup my email server and provision a new email address, that's splitting my focus especially while learning FreeBSD porting system.

You can see from the fact that I am using this email to submit other ports and talking to you that I am in fact the right person.

I'd like to start doing productive work on my system so I need a few more ports off of my local system and in head. Once that's done I can go back and fix those other issues.

Setting up a mail server isn't a trivial task and there's nobody to do it but me, so please bear with me while I use this gmail account. Trust me, I want to be off gmail asap.
Comment 18 Tobias Kortkamp freebsd_committer freebsd_triage 2017-11-08 11:38:00 UTC
(In reply to bcomputerguy from comment #17)

Nobody is asking you to setup a mail server (why would we do that?).
If hello@bluebee.me is forwarded to your current email address then I
don't see the problem with changing the Bugzilla account email address to it.
Comment 19 bye 2017-11-08 12:37:33 UTC
(In reply to Tobias Kortkamp from comment #18)
Because hello@blubee.me is a catchall email for now once my email server is up I will have a port specific email address.
Comment 20 Tobias Kortkamp freebsd_committer freebsd_triage 2017-11-08 12:44:36 UTC
(In reply to bcomputerguy from comment #19)
I don't understand your resistance to this. :-)  You already have a port with
MAINTAINER=hello@blubee.me in the tree, so you'll have to submit an email
change request anyway when you eventually setup your ports specific
email address.
Comment 21 bye 2017-11-22 14:56:11 UTC
What's the current status on this port?