Hi ports@,
pkg + sqlite was causing trouble with my 11-current src/ & ports/,
The problem is still there in generic FreeBSD & needs fixing I
believe, though I managed to dig my way out here marked at ============

I had a perl mess, & could neither delete old or install new perl !
I wanted to either or both:
- Forcibly remove just old perl &/or
- Forcibly install new perl, 
as perl was breaking numerous other port builds here.

I recall FreeBSD used to be able to forcibly make install & deinstall
& package delete just One port not All. It seems no longer so ?  A
regression of functionality !

(BTW I never have or will install packages from off site.  All ports
on this machine are built localy on this machine by me, None from
packages, so pkg nstall has not corrupted the machine, But letting
pkg infest parts of ports build seems to have degraded ports build,
burdening ports install with pkg checks seems to have has brought
pain & no benefit here.)

Earlier Solutions that occured to me:
- Allow pkg delete to remove the 170 dependent packages,
  then put them all back again with
        cd /usr/ports; make BERKLIX_CLIENT=YES package-recursive
- rm /var/db/pkg/local.sqlite & reinstall from ports/ as above
- Maybe edit /var/db/pkg/local.sqlite Somehow to tell it perl is missing.
  I had no idea how to do that. Man pkg does not say.
- Explored ports/Mk/bsd.port.mk (cos its not documented in man pkg delete)
  ... didnt help.

Finally I found a cludge solution to fix the broken sqlite,
further below at last ============
But it seems FreeBSD mechanism is still broken & needs fixing.

Transcript snippets below are only partly in chronological order,
 but after last ============ all in in chronological order):

------
cd /usr/ports/textproc/p5-XML-Parser; make install
===>  Installing for p5-XML-Parser-2.41_2
===>   p5-XML-Parser-2.41_2 depends on file: /usr/local/bin/perl5.16.3 - found
===>   p5-XML-Parser-2.41_2 depends on shared library: libexpat.so - found 
(/usr/local/lib/libexpat.so.6.0.0)
===>   Registering installation for p5-XML-Parser-2.41_2
pkg-static: Unable to access file 
/data/release/11.0-CURRENT/usr/ports/textproc/p5-XML-Parser/work/stage/usr/local/lib/perl5/site_perl/mach/5.16/auto/XML/Parser/Expat/Expat.so:
 No such file or directory
pkg-static: Unable to access file 
/data/release/11.0-CURRENT/usr/ports/textproc/p5-XML-Parser/work/stage/usr/local/lib/perl5/site_perl/mach/5.16/XML/Parser/Encodings/Japanese_Encodings.msg:
 No such file or directory
------
/etc/make.conf
MAKE_JOBS_UNSAFE=yes
# MAKE_JOBS_UNSAFE=yes for /usr1/release/10.0-ALPHA4/ports/graphics/libGL
..... no PERL directives
------
which perl
/usr/bin/perl
------
perl -v
This is perl 5, version 16, subversion 3 (v5.16.3) built for 
amd64-freebsd-thread-multi
------
cd /usr/ports/lang/perl5.16;make deinstall
===>  Deinstalling for perl5.16
===>   perl5.16 not installed, skipping
------
cd /usr/ports/lang/perl5.16;make install
===>  Installing for perl5.16-5.16.3_18
===>   Registering installation for perl5.16-5.16.3_18
Installing perl5.16-5.16.3_18...
pkg-static: perl5.16-5.16.3_18 conflicts with perl5-5.16.3_11 (installs files 
into the same place).  Problematic file: /usr/local/bin/a2p
------
cd /usr/ports/lang/perl5.16 ;make DISABLE_CONFLICTS=YES install
===>  Installing for perl5.16-5.16.3_18
===>   Registering installation for perl5.16-5.16.3_18
Installing perl5.16-5.16.3_18...
pkg-static: perl5.16-5.16.3_18 conflicts with perl5-5.16.3_11 (installs files 
into the same place).  Problematic file: /usr/local/bin/a2p
*** Error code 70
------
ls -l /usr/local/bin/a2p
... Nothing Cos I previously deleted it hoping to trick my way out of this 
    obstructive breaking check.
------
cd /usr/ports/lang/perl5.16;make deinstall
===>  Deinstalling for perl5.16
===>   perl5.16 not installed, skipping
------
pkg info | grep perl
p5-Storable-2.45               Persistency for perl data structures
perl5-5.16.3_11                Practical Extraction and Report Language
------
pkg delete perl5-5.16.3_11
...
The operation will free 2 GB.

Proceed with deinstalling packages? [y/N]: N
------
pkg -d  delete  perl5-5.16.3_11
Checking integrity... done (0 conflicting)
Deinstallation has been requested for the following 176 packages (of 0 packages 
in the universe):

Installed packages to be REMOVED:
... big list
The operation will free 2 GB.

Proceed with deinstalling packages? [y/N]: N
------
man pkg
Fails to specify how to JUST delete one package forciby
------
l /*bin/pkg /usr/*bin/pkg /usr/local/*bin/pkg
-rwxr-xr-x  1 root  wheel  171272 Dec 22 16:08 /usr/local/sbin/pkg*
-r-xr-xr-x  1 root  wheel   29512 Dec 22 01:37 /usr/sbin/pkg*
------
 set | grep path
path    (/sbin /bin /usr/sbin /usr/bin /usr/local/sbin /usr/local/bin)
------
/usr/local/sbin/pkg delete perl5-5.16.3_11
The operation will free 2 GB.
Proceed with deinstalling packages? [y/N]: N
------
pkg info| wc -l
     755
------
pkg -N
pkg: 755 packages installed
------
I tried patching out /usr/ports/lang/perl5.16/
*** Makefile.orig       Wed Dec 24 02:15:45 2014
--- Makefile    Wed Dec 24 02:16:30 2014
***************
*** 20,26 ****
  DEPRECATED=   Unsupported, please upgrade to a more recent version of Perl
  EXPIRATION_DATE=2015-07-31
  
! CONFLICTS_INSTALL=    perl5.*-*
  
  OPTIONS_DEFINE=       DEBUG GDBM PERL_MALLOC PERL_64BITINT THREADS PTHREAD \
                MULTIPLICITY SITECUSTOMIZE USE_PERL
--- 20,26 ----
  DEPRECATED=   Unsupported, please upgrade to a more recent version of Perl
  EXPIRATION_DATE=2015-07-31
  
! ## CONFLICTS_INSTALL= perl5.*-*
  
  OPTIONS_DEFINE=       DEBUG GDBM PERL_MALLOC PERL_64BITINT THREADS PTHREAD \
                MULTIPLICITY SITECUSTOMIZE USE_PERL
***************
*** 99,105 ****
  # make PKGNAME unique among other lang/perl5.x
  PKGNAMESUFFIX=        ${PERL_VER}
  # always add default perl5 pkgname to conflicts
! CONFLICTS_INSTALL+=   perl5-*
  .endif
  
  .if defined(PERL_VENDOR_PREFIX)
--- 99,105 ----
  # make PKGNAME unique among other lang/perl5.x
  PKGNAMESUFFIX=        ${PERL_VER}
  # always add default perl5 pkgname to conflicts
! ## CONFLICTS_INSTALL+=        perl5-*
  .endif
  
  .if defined(PERL_VENDOR_PREFIX)
_____________
make install
===>  Installing for perl5.16-5.16.3_18
===>   Registering installation for perl5.16-5.16.3_18
Installing perl5.16-5.16.3_18...
pkg-static: perl5.16-5.16.3_18 conflicts with perl5-5.16.3_11 (installs files 
into the same place).  Problematic file: /usr/local/bin/a2p
------
Adding this didnt help
check-conflicts:
        true
------
============ In Chronlogical order below:
cd  ../perl5.18 ; make install
Installing perl5-5.18.4_11...
... OK !!
------
pkg info | grep perl 
p5-Storable-2.45               Persistency for perl data structures
perl5-5.18.4_11                Practical Extraction and Report Language
------
cd /usr/ports/lang/perl5.16
make install
Installing perl5.16-5.16.3_18...
pkg-static: perl5.16-5.16.3_18 conflicts with perl5-5.18.4_11 (installs files 
into the same place).  Problematic file: /usr/local/bin/a2p
------
cd perl5.18 ; make install;make deinstall
------
cd ../perl5.16; make install
OK
------
pkg info | grep perl
p5-Storable-2.45               Persistency for perl data structures
perl5.16-5.16.3_18             Practical Extraction and Report Language
------
cd /usr/ports/lang/perl5.16; make deinstall
OK
------
cd /usr/ports/lang/perl5.16; make install
OK
------
cd /usr/ports/textproc/p5-XML-Parser ; make clean ; make install
OK
------

Cheers,
Julian
-- 
Julian Stacey, BSD Linux Unix'78 C Sys Eng Consultant Munich http://berklix.com
 Indent previous with "> ".  Interleave reply paragraphs like a play script.
 Send plain text, not quoted-printable, HTML, base64, or multipart/alternative.
_______________________________________________
freebsd-ports@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-ports
To unsubscribe, send any mail to "freebsd-ports-unsubscr...@freebsd.org"

Reply via email to