Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Sep 2015 04:12:52 -1000
From:      parv@pair.com
To:        perl@freebsd.org
Subject:   Re: install looking in $WRKDIR/stage/*/site_perl/mach/5/ but */mach/5.20 exists
Message-ID:  <20150924141252.GA24279@holstein.holy.cow>
In-Reply-To: <20150924131433.GA58316@holstein.holy.cow>
References:  <20150924131433.GA58316@holstein.holy.cow>

next in thread | previous in thread | raw e-mail | index | archive | help
In short, it was operator error.


in message <20150924131433.GA58316@holstein.holy.cow>,
wrote parv@p thusly...
...
>   pkg-static: Unable to access file \
>     /misc/work/ports/misc/ports/devel/p5-subversion/work/stage/misc/local/lib/perl5/site_perl/mach/5/SVN/Repos.pm: \
>     No such file or directory
...
> So making a symbolic link from ...
>
>   $WRKDIR/stage/misc/local/lib/perl5/site_perl/mach/5
>
> ... to the directory actually existing ...
>
>   $WRKDIR/stage/misc/local/lib/perl5/site_perl/mach/5.20
>
> ... allows them to be installed but have to do for every one.

I see that */mach/5 path is from SITE_ARCH variable (after reading
pkg-plist) ...

  # make -V SITE_ARCH
  /misc/local/lib/perl5/site_perl/mach/5


... which in turn is derived SITE_ARCH_REL from from PERL_VER

  /misc/ports/Mk/Uses/perl5.mk:# SITE_ARCH        - Directory name where arch site specific perl packages go.
  /misc/ports/Mk/Uses/perl5.mk:SITE_ARCH_REL?=    ${SITE_PERL_REL}/${PERL_ARCH}/${PERL_VER}
  /misc/ports/Mk/Uses/perl5.mk:SITE_ARCH?=        ${LOCALBASE}/${SITE_ARCH_REL}
  /misc/ports/Mk/Uses/perl5.mk:QA_ENV+=   SITE_ARCH_REL=${SITE_ARCH_REL} LIBPERL=libperl.so.${PERL_VER}
  /misc/ports/Mk/Uses/perl5.mk:           SITE_ARCH=${SITE_ARCH_REL}
  /misc/ports/Mk/Uses/perl5.mk:           --install_path arch="${PREFIX}/${SITE_ARCH_REL}" \
  /misc/ports/Mk/Uses/perl5.mk:PACKLIST_DIR?=     ${PREFIX}/${SITE_ARCH_REL}/auto

... which produces the "5" ...

  #  make -V PERL_VER
  5


... oh, found the culprit (PERL_VERSION being 5.20 instead of 5.20.3
in /etc/make.conf) after seeing variable substitution ...

  Uses/perl5.mk
    10  # PERL_VERSION - Full version of perl5 (see below for current value).
    12  # PERL_VER - Short version of perl5 (major.minor without patchlevel)
    16  # the patch level. E.g., PERL_VERSION=5.14.4 would give
    47  .if defined(PERL_VERSION)
    63  # Force PERL_PORT here in case two identical PERL_VERSION.
    70  PERL_VER?= ${PERL_VERSION:C/\.[0-9]+$//}


... after reading Uses/perl5.mk further followed by
bsd.default-versions.mk, I have removed (commented out) PERL_VERSION &
PERL5_DEFAULT variables from (in) /etc/make.conf. That led to ...

  # make -V SITE_ARCH
  /misc/local/lib/perl5/site_perl/mach/5.20


WHEEEE!


  - parv

-- 




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20150924141252.GA24279>