pkg format change??

doug doug at fledge.watson.org
Sat Sep 6 20:33:04 UTC 2014


On Sat, 6 Sep 2014, doug at safeport.com wrote:

> I have a 9.2 system with 'FreeBSD 9.2-RELEASE #0 r255898'. In trying to add a 
> python module I can neither built it or do a pkg install.
>
> Building:
>
> pkg-static: Invalid manifest format: could not find expected ':'
> *** [fake-pkg] Error code 74
>
> Stop in /usr/ports/devel/py-setuptools27.
> *** [build-depends] Error code 1
>
> Stop in /usr/ports/databases/py-MySQLdb.
> *** [stage] Error code 1
>
> I found this:
>
> Bryan Drewery bdrewery at FreeBSD.org
> Thu Aug 14 15:01:08 UTC 2014
>
>> This came up in #pkgng on freenode as well. Your Pkg is probably too
>> old. Check with 'pkg -v'. The current release is at 1.3.6 now. You're
>> likely running 1.1. Upgrade Pkg to support the new JSON format for the
>> manifest.
>
> Sure enough: pkg -v yields 1.1.4. My problem (if not already obvious) there 
> is no way to update pkg. Build yields the same error. Neither 'pkg install' 
> or pkg_add will work. I trust there was a good reason to make the format 
> change mentioned above within a release and in such as way as to invalidate 
> the package/port db on a working system..
>
> This is not critical (for me) and is the reason I never do anything on a 
> production system that I have not tested. This is my primary workstation, so 
> I will just wait until I switch to 10.0 and rebuild from scratch. But really, 
> an integral part of the system should be backward compatible with supported 
> releases.

Okay another day+5 hours of sleep+ a cup of tea. I got pkg.conf from a 9.3 
system:

#ABI = "freebsd:10:x86:64";     # Autogenerated
#DEVELOPER_MODE = false;
#VULNXML_SITE = "http://www.vuxml.org/freebsd/vuln.xml.bz2";
#FETCH_RETRY = 3;
#PKG_PLUGINS_DIR = "/usr/local/lib/pkg/";
#PKG_ENABLE_PLUGINS = true;
#PLUGINS [
#]
#DEBUG_SCRIPTS = false;
#PLUGINS_CONF_DIR = "/usr/local/etc/pkg/";
#PERMISSIVE = false;
#REPO_AUTOUPDATE = true;
#NAMESERVER = "";
#EVENT_PIPE = "";
#FETCH_TIMEOUT = 30;
#UNSET_TIMESTAMP = false;
#SSH_RESTRICT_DIR = "";
#PKG_ENV {
#}
#DISABLE_MTREE = false;
#PKG_SSH_ARGS = "";
#DEBUG_LEVEL = 0;
#ALIAS {
#}
#CUDF_SOLVER = "";
#SAT_SOLVER = "";
#RUN_SCRIPTS = true;
#CASE_SENSITIVE_MATCH = false;

# Sample alias settings
ALIAS              : {
   all-depends: query %dn-%dv,
   annotations: info -A,
   build-depends: info -qd,
   download: fetch,
   iinfo: info -ix,
   cinfo: info -Cx,
   isearch: search -ix,
   csearch: search -Cx,
   leaf: query -e "%a == 0" "%n-%v",
   list: info -ql,
   origin: info -qo,
   provided-depends: info -qb,
   raw: info -R,
   required-depends: info -qr,
   shared-depends: info -qB,
   show: info -f -k,
   size: info -sq,
   }

This is pkg.conf.sample. Unmodified, it works. My workstation did not have this 
version, perhaps if I had first run freebsd-update.

All is good, I was able to deinstall and reinstall pkg doing the standard stuff. 
I further tested the setup by installing the port that led to this.  I am not 
sure I have a suggestion to make this better, perhaps just point toward 
pkg.conf.sample as the solution. I got nothing out of the man page.

Doug Denault


More information about the freebsd-questions mailing list