ports/188431: Every python 2.7 port is generating broken .PLIST files

Kevin Thompson antiduh at csh.rit.edu
Thu Apr 10 16:30:01 UTC 2014


>Number:         188431
>Category:       ports
>Synopsis:       Every python 2.7 port is generating broken .PLIST files
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Thu Apr 10 16:30:00 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator:     Kevin Thompson
>Release:        FreeBSD 10.0
>Organization:
>Environment:
FreeBSD angst.csh.rit.edu 10.0-STABLE FreeBSD 10.0-STABLE #6 r264264: Tue Apr  8 21:46:30 EDT 2014     antiduh at angst.csh.rit.edu:/usr/obj/usr/src/sys/ANGST64  amd64
>Description:
Every single python package I try to reinstall is generating a .PLIST.pymodtmp and .PLIST.mktmp that includes a line for the egg-info directory, which means that the egg-info directory is treated like a file and pkgng complains:

> ===>   Registering installation for py27-cryptography-0.2.2_1 as automatic
> pkg-static: Plist error, directory listed as a file: lib/python2.7/site-packages/cryptography-0.2.2-py2.7.egg-info

Looking at .PLIST.pymodtmp:
> angst(/usr/ports/security/py-cryptography) # cat work/.PLIST.pymodtmp | grep egg-info
> /usr/local/lib/python2.7/site-packages/cryptography-0.2.2-py2.7.egg-info  # <--- this line should not be here
> /usr/local/lib/python2.7/site-packages/cryptography-0.2.2-py2.7.egg-info/dependency_links.txt
> /usr/local/lib/python2.7/site-packages/cryptography-0.2.2-py2.7.egg-info/not-zip-safe
> /usr/local/lib/python2.7/site-packages/cryptography-0.2.2-py2.7.egg-info/PKG-INFO
> /usr/local/lib/python2.7/site-packages/cryptography-0.2.2-py2.7.egg-info/requires.txt
> /usr/local/lib/python2.7/site-packages/cryptography-0.2.2-py2.7.egg-info/SOURCES.txt
> /usr/local/lib/python2.7/site-packages/cryptography-0.2.2-py2.7.egg-info/top_level.txt

Editing the .PLIST.pymodtmp and .PLIST.mktmp files to remove the '..py2.7.egg-info' line fixes the problem.

This is happening for *every* python port I attempt to build and install:

> ===>  Installing for py27-openssl-0.14
> ===>   Registering installation for py27-openssl-0.14
> pkg-static: Plist error, directory listed as a file: lib/python2.7/site-packages/pyOpenSSL-0.14-> py2.7.egg-info
> *** Error code 74

> ===>  Installing for py27-sqlite3-2.7.6_3
> ===>   Registering installation for py27-sqlite3-2.7.6_3
> pkg-static: Plist error, directory listed as a file: lib/python2.7/lib-dynload/_sqlite3-0.0.0-py2.7.egg-info

> ===>  Installing for py27-xdg-0.25
> ===>   Registering installation for py27-xdg-0.25
> pkg-static: Plist error, directory listed as a file: lib/python2.7/site-packages/pyxdg-0.25-py2.7.egg-info

. and so on.

This machine was recently upgraded from FreeBSD 9 to 10.0, and I'm in the process of rebuilding most ports as part of that. My most recent portsnap was Thu Apr 10 08:22:00 EDT 2014'

-----

Here's some information about what's installed:
angst(~) # which pkg-static
/usr/local/sbin/pkg-static
angst(~) # pkg-static -v
1.2.7_2
angst(~) # pkg -v
1.2.7_2

angst(~) # pkg info | grep py
boost-python-libs-1.55.0       Framework for interfacing Python and C++
py27-bsddb-2.7.6_3             Standard Python bindings to the Berkeley DB library
py27-cffi-0.8.1                Foreign Function Interface for Python calling C code
py27-chardet-2.0.1_1           Character encoding auto-detection in Python
py27-cryptography-0.2.2_1      Expose cryptographic recipes and primitives to Python developers
py27-docutils-0.10             Python Documentation Utilities
py27-libxml2-2.8.0             Python interface for XML parser library for GNOME
py27-openssl-0.14              Python interface to the OpenSSL library
py27-pycparser-2.10            C parser in Python
py27-pytz-2014.1.1,1           World Timezone Definitions for Python
py27-setuptools27-2.0.1        Python packages installer
py27-six-1.5.2                 Python 2 and 3 compatibility utilities
py27-sqlite3-2.7.6_3           Standard Python binding to the SQLite3 library
py27-xdg-0.19                  A python library to access freedesktop.org standards
python-2.7_1,2                 The \"meta-port\" for the default version of Python interpreter
python2-2_2                    The "meta-port" for version 2 of the Python interpreter
python27-2.7.6_4               Interpreted object-oriented programming language
python32-3.2.5_8               Interpreted object-oriented programming language

angst(~) # cat /etc/make.conf
WITH_PKGNG=yes
# KRB5_HOME=/usr/local
# used by the pam_krb5 port
KRB5_IMPL=mit
KRB5_DOC=NO
DEFAULT_VERSIONS= ruby=1.9

angst(~) # cat /etc/src.conf
KERNCONF=ANGST64
WITHOUT_KERBEROS=YES
WITHOUT_SENDMAIL=YES
WITHOUT_KERNEL_SYMBOLS=YES
>How-To-Repeat:
Try to install any python port for python2.7
>Fix:
Workaround is to manually edit the .PLIST files after the build breaks, then continue the build.


>Release-Note:
>Audit-Trail:
>Unformatted:


More information about the freebsd-ports-bugs mailing list