Bug 250796

Summary: databases/p5-Redis-Fast: update to 0.28
Product: Ports & Packages Reporter: Tomohiro Hosaka <bokutin>
Component: Individual Port(s)Assignee: freebsd-ports-bugs (Nobody) <ports-bugs>
Status: Closed FIXED    
Severity: Affects Only Me CC: fernape
Priority: --- Keywords: buildisok
Version: Latest   
Hardware: Any   
OS: Any   
Attachments:
Description Flags
svn diff none

Description Tomohiro Hosaka 2020-11-02 08:24:55 UTC
* portlint
  WARN: Makefile: dependency to gmake listed in BUILD_DEPENDS. consider using USES[+]=gmake.
  0 fatal errors and 1 warning found.
* poudriere testport ok (12.1, amd64)
* make test ok

I removed develop/gmake from BUILD_DEPENDS and added gmake to USES=, but I got the following error:

    # make
    ===>  License ART10 GPLv1+ accepted by the user
    ===>   p5-Redis-Fast-0.28 depends on file: /usr/local/sbin/pkg - found
    ===> Fetching all distfiles required by p5-Redis-Fast-0.28 for building
    ===>  Extracting for p5-Redis-Fast-0.28
    => SHA256 Checksum OK for Redis-Fast-0.28.tar.gz.
    ===>  Patching for p5-Redis-Fast-0.28
    ===>   p5-Redis-Fast-0.28 depends on package: p5-File-Which>=0 - found
    ===>   p5-Redis-Fast-0.28 depends on package: p5-Module-Build-XSUtil>=0.02 - found
    ===>   p5-Redis-Fast-0.28 depends on package: gmake>=4.3 - found
    ===>   p5-Redis-Fast-0.28 depends on package: p5-Module-Build>=0.4206 - found
    ===>   p5-Redis-Fast-0.28 depends on package: perl5>=5.28.r1<5.29 - found
    ===>  Configuring for p5-Redis-Fast-0.28
    gmake[1]: Entering directory '/usr/ports/databases/p5-Redis-Fast/work/Redis-Fast-0.28/deps/hiredis'
    cc -std=c99 -pedantic -c -O3 -fPIC  -I/usr/local/opt/openssl/include -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb alloc.c
    cc -std=c99 -pedantic -c -O3 -fPIC  -I/usr/local/opt/openssl/include -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb net.c
    cc -std=c99 -pedantic -c -O3 -fPIC  -I/usr/local/opt/openssl/include -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb hiredis.c
    cc -std=c99 -pedantic -c -O3 -fPIC  -I/usr/local/opt/openssl/include -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb sds.c
    cc -std=c99 -pedantic -c -O3 -fPIC  -I/usr/local/opt/openssl/include -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb async.c
    cc -std=c99 -pedantic -c -O3 -fPIC  -I/usr/local/opt/openssl/include -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb read.c
    read.c:308:62: warning: generic selections are a C11-specific feature [-Wc11-extensions]
                        if (buf[0] == '\0' || eptr[0] != '\0' || isnan(d)) {
                                                                ^
    /usr/include/math.h:114:2: note: expanded from macro 'isnan'
            __fp_type_select(x, __inline_isnanf, __inline_isnan, __inline_isnanl)
            ^
    /usr/include/math.h:82:39: note: expanded from macro '__fp_type_select'
    #define __fp_type_select(x, f, d, ld) _Generic((x),                                                             ^
    1 warning generated.
    cc -std=c99 -pedantic -c -O3 -fPIC  -I/usr/local/opt/openssl/include -Wall -W -Wstrict-prototypes -Wwrite-strings -Wno-missing-field-initializers -g -ggdb sockcompat.c
    ar rcs libhiredis.a alloc.o net.o hiredis.o sds.o async.o read.o sockcompat.o
    gmake[1]: Leaving directory '/usr/ports/databases/p5-Redis-Fast/work/Redis-Fast-0.28/deps/hiredis'
    Created MYMETA.yml and MYMETA.json
    Creating new 'Build' script for 'Redis-Fast' version '0.28'
    ===>  Building for p5-Redis-Fast-0.28
    Building Redis-Fast
    cc -Isrc -Ideps/hiredis -Isrc -I/usr/local/lib/perl5/5.28/mach/CORE -DVERSION="0.28" -DXS_VERSION="0.28" -DPIC -fPIC -Wall -W -Wno-comment -c -DHAS_FPSETMASK -DHAS_FLOATINGPOINT_H -fno-strict-aliasing -pipe -fstack-protector-strong -I/usr/local/include -D_FORTIFY_SOURCE=2 -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -o lib/Redis/Fast.o lib/Redis/Fast.c
    ExtUtils::Mkbootstrap::Mkbootstrap('blib/arch/auto/Redis/Fast/Fast.bs')
    cc -shared -L/usr/local/lib/perl5/5.28/mach/CORE -lperl -L/usr/local/lib -fstack-protector-strong -o blib/arch/auto/Redis/Fast/Fast.so lib/Redis/Fast.o deps/hiredis/libhiredis.a
    ===>  Staging for p5-Redis-Fast-0.28
    ===>   p5-Redis-Fast-0.28 depends on package: p5-Try-Tiny>=0 - found
    ===>   p5-Redis-Fast-0.28 depends on package: perl5>=5.28.r1<5.29 - found
    ===>   Generating temporary packing list
    gmake: unrecognized option '--destdir=/usr/ports/databases/p5-Redis-Fast/work/stage'
    Usage: gmake [options] [target] ...
    Options:
    -b, -m                      Ignored for compatibility.
    -B, --always-make           Unconditionally make all targets.
    -C DIRECTORY, --directory=DIRECTORY
                                Change to DIRECTORY before doing anything.
    -d                          Print lots of debugging information.
    --debug[=FLAGS]             Print various types of debugging information.
    -e, --environment-overrides
                                Environment variables override makefiles.
    -E STRING, --eval=STRING    Evaluate STRING as a makefile statement.
    -f FILE, --file=FILE, --makefile=FILE
                                Read FILE as a makefile.
    -h, --help                  Print this message and exit.
    -i, --ignore-errors         Ignore errors from recipes.
    -I DIRECTORY, --include-dir=DIRECTORY
                                Search DIRECTORY for included makefiles.
    -j [N], --jobs[=N]          Allow N jobs at once; infinite jobs with no arg.
    -k, --keep-going            Keep going when some targets can't be made.
    -l [N], --load-average[=N], --max-load[=N]
                                Don't start multiple jobs unless load is below N.
    -L, --check-symlink-times   Use the latest mtime between symlinks and target.
    -n, --just-print, --dry-run, --recon
                                Don't actually run any recipe; just print them.
    -o FILE, --old-file=FILE, --assume-old=FILE
                                Consider FILE to be very old and don't remake it.
    -O[TYPE], --output-sync[=TYPE]
                                Synchronize output of parallel jobs by TYPE.
    -p, --print-data-base       Print make's internal database.
    -q, --question              Run no recipe; exit status says if up to date.
    -r, --no-builtin-rules      Disable the built-in implicit rules.
    -R, --no-builtin-variables  Disable the built-in variable settings.
    -s, --silent, --quiet       Don't echo recipes.
    --no-silent                 Echo recipes (disable --silent mode).
    -S, --no-keep-going, --stop
                                Turns off -k.
    -t, --touch                 Touch targets instead of remaking them.
    --trace                     Print tracing information.
    -v, --version               Print the version number of make and exit.
    -w, --print-directory       Print the current directory.
    --no-print-directory        Turn off -w, even if it was turned on implicitly.
    -W FILE, --what-if=FILE, --new-file=FILE, --assume-new=FILE
                                Consider FILE to be infinitely new.
    --warn-undefined-variables  Warn when an undefined variable is referenced.

    This program built for amd64-portbld-freebsd12.1
    Report bugs to <bug-make@gnu.org>
    *** Error code 2

    Stop.
    make: stopped in /usr/ports/databases/p5-Redis-Fast

There are still portlint warnings, but it works fine.
Comment 1 Tomohiro Hosaka 2020-11-02 08:24:58 UTC
Created attachment 219297 [details]
svn diff
Comment 2 Automation User 2020-11-02 08:34:26 UTC
Build and package info is available at https://gitlab.com/swills/freebsd-ports/pipelines/210476156
Comment 3 Tomohiro Hosaka 2020-11-02 11:05:48 UTC
There seems to be a bug left in 0.28.

I'm sorry, but it would be helpful if you could suspend the version upgrade of ports until it was resolved.
Comment 4 Fernando Apesteguía freebsd_committer freebsd_triage 2020-11-03 14:39:16 UTC
Triage: If there is a changelog or release notes URL available for this version, please add it to the URL field.

^Triage: Please set the maintainer-approval attachment flag (to +) on patches for ports you maintain to signify approval.
--
Attachment -> Details -> maintainer-approval [+]

Thanks!
Comment 5 Fernando Apesteguía freebsd_committer freebsd_triage 2020-11-20 19:32:40 UTC
Hi Tomohiro,

I had a look and I think it is a false positive from portlint.

The port needs gmake to build the hiredis dependency but then it uses modbuild to build itself. If we do USES=gmake, gmake will be tried to build the port and that is not what we want. We want it to build with modbuild.

I think we are good to go as it is.
Comment 6 Tomohiro Hosaka 2020-12-21 18:08:58 UTC
Thank you for your reply.

Someone directly emailed me that 0.28 still had a bug, but details are unknown.

It works fine in the production environment I'm using.

It's been over 50 days since then, and it seems that there are no problems with issues such as issues on github, so I think it's okay to release it.
Comment 7 Fernando Apesteguía freebsd_committer freebsd_triage 2020-12-29 18:10:12 UTC
Committed,

Thanks!
Comment 8 commit-hook freebsd_committer freebsd_triage 2020-12-29 18:10:30 UTC
A commit references this bug:

Author: fernape
Date: Tue Dec 29 18:09:59 UTC 2020
New revision: 559600
URL: https://svnweb.freebsd.org/changeset/ports/559600

Log:
  databases/p5-Redis-Fast: update to 0.28

  PR:	250796
  Submitted by:	bokutin@bokut.in (maintainer)

Changes:
  head/databases/p5-Redis-Fast/Makefile
  head/databases/p5-Redis-Fast/distinfo
  head/databases/p5-Redis-Fast/files/