Created attachment 162343 [details] shar with new port pguri Hello, i've created a port for this fine extension: https://github.com/petere/pguri It adds a datatype "uri" to PostgreSQL and allows storage of URIs. It also provides some handy functions for uri-handling. Some QA for the new port: /usr/ports/databases/pguri # portlint -AC WARN: Makefile: Consider defining LICENSE. 0 fatal errors and 1 warning found. /usr/ports/databases/pguri # make && make stage-qa && make check-plist && make install && make deinstall ===> pguri-1.20150415 depends on file: /usr/local/sbin/pkg - found ===> Fetching all distfiles required by pguri-1.20150415 for building ===> Extracting for pguri-1.20150415 => SHA256 Checksum OK for petere-pguri-1.20150415_GH0.tar.gz. ===> Patching for pguri-1.20150415 ===> pguri-1.20150415 depends on package: uriparser>=0.7.9 - found ===> pguri-1.20150415 depends on executable: gmake - found ===> pguri-1.20150415 depends on executable: pkgconf - found ===> pguri-1.20150415 depends on shared library: libpq.so.5 - found (/usr/local/lib/libpq.so.5) ===> Configuring for pguri-1.20150415 ===> Building for pguri-1.20150415 [gmake output] ===> Staging for pguri-1.20150415 ===> Generating temporary packing list gmake[1]: Verzeichnis „/usr/ports/databases/pguri/work/pguri-1.20150415“ wird betreten /bin/mkdir -p '/usr/ports/databases/pguri/work/stage/usr/local/lib/postgresql' /bin/mkdir -p '/usr/ports/databases/pguri/work/stage/usr/local/share/postgresql/extension' /bin/mkdir -p '/usr/ports/databases/pguri/work/stage/usr/local/share/postgresql/extension' /usr/bin/install -c -m 755 uri.so '/usr/ports/databases/pguri/work/stage/usr/local/lib/postgresql/uri.so' /usr/bin/install -c -m 644 uri.control '/usr/ports/databases/pguri/work/stage/usr/local/share/postgresql/extension/' /usr/bin/install -c -m 644 uri--0.sql '/usr/ports/databases/pguri/work/stage/usr/local/share/postgresql/extension/' gmake[1]: Verzeichnis „/usr/ports/databases/pguri/work/pguri-1.20150415“ wird verlassen /usr/bin/strip /usr/ports/databases/pguri/work/stage/usr/local/lib/postgresql/uri.so ====> Compressing man pages (compress-man) ====> Running Q/A tests (stage-qa) ====> 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) ===> Installing for pguri-1.20150415 ===> pguri-1.20150415 depends on shared library: libpq.so.5 - found (/usr/local/lib/libpq.so.5) ===> Checking if pguri already installed ===> Registering installation for pguri-1.20150415 Installing pguri-1.20150415... In order to use the extension within database execute the following command: CREATE EXTENSION uri; ===> Deinstalling for pguri ===> Deinstalling pguri-1.20150415 Updating database digests format: 100% 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: pguri-1.20150415 The operation will free 17 KiB. [1/1] Deinstalling pguri-1.20150415... [1/1] Deleting files for pguri-1.20150415: 100%
(In reply to Torsten Zühlsdorff from comment #0) > Created attachment 162343 [details] > shar with new port pguri > > Hello, > > i've created a port for this fine extension: > https://github.com/petere/pguri > > It adds a datatype "uri" to PostgreSQL and allows storage of URIs. It also > provides some handy functions for uri-handling. > > Some QA for the new port: > > /usr/ports/databases/pguri # portlint -AC > WARN: Makefile: Consider defining LICENSE. > 0 fatal errors and 1 warning found. > > /usr/ports/databases/pguri # make && make stage-qa && make check-plist && > make install && make deinstall > ===> pguri-1.20150415 depends on file: /usr/local/sbin/pkg - found > ===> Fetching all distfiles required by pguri-1.20150415 for building > ===> Extracting for pguri-1.20150415 > => SHA256 Checksum OK for petere-pguri-1.20150415_GH0.tar.gz. > ===> Patching for pguri-1.20150415 > ===> pguri-1.20150415 depends on package: uriparser>=0.7.9 - found > ===> pguri-1.20150415 depends on executable: gmake - found > ===> pguri-1.20150415 depends on executable: pkgconf - found > ===> pguri-1.20150415 depends on shared library: libpq.so.5 - found > (/usr/local/lib/libpq.so.5) > ===> Configuring for pguri-1.20150415 > ===> Building for pguri-1.20150415 > [gmake output] > ===> Staging for pguri-1.20150415 > ===> Generating temporary packing list > gmake[1]: Verzeichnis „/usr/ports/databases/pguri/work/pguri-1.20150415“ > wird betreten > /bin/mkdir -p > '/usr/ports/databases/pguri/work/stage/usr/local/lib/postgresql' > /bin/mkdir -p > '/usr/ports/databases/pguri/work/stage/usr/local/share/postgresql/extension' > /bin/mkdir -p > '/usr/ports/databases/pguri/work/stage/usr/local/share/postgresql/extension' > /usr/bin/install -c -m 755 uri.so > '/usr/ports/databases/pguri/work/stage/usr/local/lib/postgresql/uri.so' > /usr/bin/install -c -m 644 uri.control > '/usr/ports/databases/pguri/work/stage/usr/local/share/postgresql/extension/' > /usr/bin/install -c -m 644 uri--0.sql > '/usr/ports/databases/pguri/work/stage/usr/local/share/postgresql/extension/' > gmake[1]: Verzeichnis „/usr/ports/databases/pguri/work/pguri-1.20150415“ > wird verlassen > /usr/bin/strip > /usr/ports/databases/pguri/work/stage/usr/local/lib/postgresql/uri.so > ====> Compressing man pages (compress-man) > ====> Running Q/A tests (stage-qa) > ====> 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) > ===> Installing for pguri-1.20150415 > ===> pguri-1.20150415 depends on shared library: libpq.so.5 - found > (/usr/local/lib/libpq.so.5) > ===> Checking if pguri already installed > ===> Registering installation for pguri-1.20150415 > Installing pguri-1.20150415... > In order to use the extension within database execute the following command: > > CREATE EXTENSION uri; > > ===> Deinstalling for pguri > ===> Deinstalling pguri-1.20150415 > Updating database digests format: 100% > 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: > pguri-1.20150415 > > The operation will free 17 KiB. > [1/1] Deinstalling pguri-1.20150415... > [1/1] Deleting files for pguri-1.20150415: 100% This looks great. But the copy of uriparser currently in the ports tree is too old (0.79). pguri recommends at least version 0.8.0, and for good reason - 0.80 Changelog: 2013-12-20 -- 0.8.0 * Fixed: Resolution of relative URI "/" broken Thanks to Mo McRoberts for the patch! * Fixed: uriAddBaseUri produced uriUri objects with both host and the absolutePath flag set (while the absolutePath flag should only be true for URI objects without a host) when resolving absolute URIs like "/" or "/foo/bar". Now the absolutePath flag is set to URI_FALSE and an empty segment is added as necessary * Fixed: .errorCode could end up unset, previously Thanks to Radu Hociung for the patch! (bug #16) * Fixed: Resolve use of non-POSIX "sed -r" used when building documentation (bug #18) Thanks to Ryan Schmidt for reporting! * Fixed: Build DLL with -no-undefined on Windows Thanks to Michel Zou for the patch! (bug #19) * Added: Command line tool "uriparse" Thanks to Radu Hociung for coding! (feature request #3) * Soname: 1:15:0 Perhaps you should poke the uriparser maintainer. You might even craft an svn diff to upgrade it. ;) --Chris
Hello Chris, thats a good catch! :) While this is not an really dependency the usage of an actual uriparser would be the best way. I've created a patch for uriparser and add a dependency of the port to the update. @Committer: ad least that is not a real dependency. The pguri port will work just fine with the old version, but can parse some of the URIs wrong. That is because all URI parsing is done by the uriparser-lib. Greetings, Torsten
Created attachment 162386 [details] shar with new port pguri I've updated the shar - i missed that uriparser is not only a BUILD_DEPENDS. It is also a RUN_DEPENDS. Adjusted patch attached.
Created attachment 167330 [details] shar with new port pguri Hello, i really would like to see this fine tool in the ports. I updated it to the newest version and raise the depends accordingly to the previous discussion. portlint is fine except the warning for the LICENSE. it builds fine with poudriere. So - is there anything i can do to get it faster into the ports? ;) Greetings, Torsten
Comment on attachment 167330 [details] shar with new port pguri Setting the "maintainer-approval+" flag on your shar helps the bug get noticed, as it shows up in the "Ports: Maintainer Approved" saved search in Bugzilla.
A few suggestions: - You don't need to set GH_PROJECT if it's equal to PORTNAME. - You're missing one tab in the USES line (remember to set your tab to 8 spaces in your editor). - The bsd.port.options.mk include is not necessary. - We generally try to keep each line under 80 characters, so it'd be good to split PLIST_FILES into multiple lines.
Created attachment 167560 [details] shar with new port pguri Hello Raphael, thank you for your suggestions. I have attached a new shar covering all of them. :) I'm a little bit surprised that none of them were raised by portlint. Maybe i will find some time later to add them to portlint. Greetings, Torsten
A commit references this bug: Author: rakuco Date: Mon Feb 29 11:00:07 UTC 2016 New revision: 409805 URL: https://svnweb.freebsd.org/changeset/ports/409805 Log: New port: databases/pguri. URI datatype for PostgreSQL WWW: https://github.com/petere/pguri PR: 203949 Submitted by: Torsten Z?hlsdorff <ports@toco-domains.de> Changes: head/databases/Makefile head/databases/pguri/ head/databases/pguri/Makefile head/databases/pguri/distinfo head/databases/pguri/pkg-descr head/databases/pguri/pkg-message
Finally committed, thanks a lot for the patch!
You're welcome! :) And thanks your your suggestions and for the commitment :)