Opened 8 years ago

Closed 4 years ago

#37609 closed defect (fixed)

wget @1.14_1 +test depends on stub p5 ports

Reported by: nonstop.server@… Owned by: ryandesign (Ryan Schmidt)
Priority: Normal Milestone:
Component: ports Version: 2.1.2
Keywords: Cc: dbevans (David B. Evans)
Port: wget

Description

On my system I have everything installed using perl5.16 only and this has been working fine for months now.
The strange thing is that during the upgrade from wget 1.14_0 to 1.14_1 it forces usage of perl5.12 instead of the perl5.16 it was using before the upgrade.
I'm not sure why this happens exactly, however I suspect it has to do with the fact that parameter perl5.branches in file perl5-1.0.tcl is missing the 5.16 value.
The output of the upgrade is attached to the ticket for your inspection, maybe there is something else happening that I'm not seeing which forces the usage or perl5.12.
I hope you can point out what goes wrong, so I can get rid of all the p5.12 ports again.

Attachments (2)

macports_wget_upgrade.log.bz2 (140.6 KB) - added by nonstop.server@… 8 years ago.
Portfile-wget.diff (726 bytes) - added by nonstop.server@… 8 years ago.
proposed patch

Download all attachments as: .zip

Change History (11)

Changed 8 years ago by nonstop.server@…

comment:1 Changed 8 years ago by jmroot (Joshua Root)

Resolution: invalid
Status: newclosed
--->  p5-libwww-perl is replaced by p5.12-libwww-perl

comment:2 in reply to:  1 Changed 8 years ago by nonstop.server@…

Resolution: invalid
Status: closedreopened

Replying to jmr@…:

Yes, I also saw that in the log, however before I upgrade a port I always check the output of the rdeps to prevent this situation.
I got the following output back:

% port rdeps wget +ssl +test                      
The following ports are dependencies of wget @1.14_1+ssl+test:
  xz
    libiconv
      gperf
    gettext
      ncurses
      expat
  texinfo
  perl5
    perl5.16
      gdbm
  p5-libwww-perl
    p5.16-libwww-perl
      p5.16-encode-locale
      p5.16-file-listing
        p5.16-http-date
      p5.16-html-form
        p5.16-html-parser
          p5.16-html-tagset
        p5.16-http-message
          p5.16-lwp-mediatypes
          p5.16-uri
            p5.16-mime-base64
      p5.16-http-cookies
      p5.16-http-daemon
      p5.16-http-negotiate
      p5.16-net-http
      p5.16-www-robotrules
      p5.16-lwp-protocol-https
        p5.16-io-socket-ssl
          p5.16-net-ssleay
            openssl
              zlib
          p5.16-net-libidn
            libidn
        p5.16-mozilla-ca
  p5-io-socket-ssl
  pkgconfig
  pcre
    libedit
    bzip2
  gnutls
    libgcrypt
      libgpg-error
    libtasn1
    lzo2
    readline

so I thought the upgrade would be using subport p5.16-libwww-perl.
Is there something I can do to get rid of perl5.12 and it's p5.12-subports again, like it was with wget version 1.14_0?

comment:3 Changed 8 years ago by jmroot (Joshua Root)

Cc: ryandesign@… removed
Owner: changed from macports-tickets@… to wget@…
Status: reopenednew
Summary: wget @1.14_1 upgrade from 1.14_0 to 1.14_1 forces usage of perl5.12wget @1.14_1 +test depends on stub p5 ports

comment:4 Changed 8 years ago by jmroot (Joshua Root)

Owner: changed from wget@… to ryandesign@…

comment:5 Changed 8 years ago by nonstop.server@…

After adding PortGroup perl5 1.0 and variable perl5.major to the Portfile I was able to upgrade from wget version 1.14_1 to 1.14_2 without installing any perl5.12 ports.
Difference report 'Portfile-wget.diff' has been added to the ticket.

Changed 8 years ago by nonstop.server@…

Attachment: Portfile-wget.diff added

proposed patch

comment:6 Changed 8 years ago by ryandesign (Ryan Schmidt)

The strategy we use in other ports is to just depend on the p5.12 version of the port, and that's what I would feel most comfortable with doing here as well.

I have not yet committed a fix because I have not yet completed my investigation. We will need to tell the test process to use "perl5.12" instead of "perl", and also p5-libwww-perl was split into several packages awhile ago, and I need to figure out which of them are actually being used so that the dependency can be made more specific.

comment:7 in reply to:  6 Changed 8 years ago by nonstop.server@…

Replying to ryandesign@…:

Thank you for looking into it. The reason I am trying to use perl5.16 is that it is said to be the latest stable release and I like to have one perl version installed only.

comment:8 Changed 8 years ago by ryandesign (Ryan Schmidt)

At this time, perl5.12 is the default in MacPorts, and there are already tons of other ports that depend explicitly on that version. So that's why I don't want wget to be any different.

I'm not very aware of what changes have gone on on perl. It might make sense to change the MacPorts default perl to 5.16. If you'd like to pursue that option you should start a discussion about it on the macports-users mailing list.

comment:9 Changed 4 years ago by ryandesign (Ryan Schmidt)

Cc: devans@… added
Resolution: fixed
Status: newclosed

Dave fixed this as part of r148589.

Note: See TracTickets for help on using tickets.