I've made some progress with this.

If I manually make the "catalog" and "updatelog" directories under
/export/home/pkg-solaris/repo-6941
I can now publish packages to my local repository.

That's enough to allow me to continue testing bug #6941.

It does look like there might be a bug here though.

Shawn, do you want me to file something at defect.opensolaris.org?

Thanks.

-------- Original Message --------
Subject:        Re: [pkg-discuss] Problems publishing to a local repo.
Date:   Mon, 16 Mar 2009 10:54:27 -0700
From:   Rich Burridge <[email protected]>
To:     Shawn Walker <[email protected]>
CC:     pkg discuss <[email protected]>
References:     <[email protected]> <[email protected]>



Shawn Walker wrote:
Rich Burridge wrote:
Trying to look at the repo in my browser at http://stard.sfbay.sun.com:26941
generates the same traceback.

What am I missing and/or doing wrong?

You're attempting to use depot web templates written for api version 2 with an incompatible api of version 3.

In short, you forgot to set your content root using something like --content-root=../proto/root_`uname -p`/usr/share/lib/pkg when running a development server from your workspace. As a result, the depot server is attempting to use the templates from the older, installed version of the package system.

Okay. Just tried that. My start-depotd script now is:

$ cat start-depotd
#! /bin/ksh
export ROOT=/export/home/richb/pkg/bugs/6941/gate/proto/root_i386
export PYTHONPATH=${ROOT}/usr/lib/python2.4/vendor-packages
${ROOT}/usr/lib/pkg.depotd --content-root=${ROOT}/usr/share/lib/pkg -d /export/home/pkg-solaris/repo-6941 -p 26941 > errs.depotd 2>&1 &

I'm now getting:

[16/Mar/2009:10:48:04] INDEX Search Available
[16/Mar/2009:10:48:04] ENGINE Listening for SIGHUP.
[16/Mar/2009:10:48:04] ENGINE Listening for SIGTERM.
[16/Mar/2009:10:48:04] ENGINE Listening for SIGUSR1.
[16/Mar/2009:10:48:04] ENGINE Bus STARTING
[16/Mar/2009:10:48:04] ENGINE Started monitor thread '_TimeoutMonitor'.
[16/Mar/2009:10:48:04] ENGINE Serving on 0.0.0.0:26941
[16/Mar/2009:10:48:04] ENGINE Bus STARTED
[16/Mar/2009:10:49:46] HTTP Traceback (most recent call last):
File "/usr/lib/python2.4/vendor-packages/cherrypy/_cprequest.py", line 606, in respond
  cherrypy.response.body = self.handler()
File "/usr/lib/python2.4/vendor-packages/cherrypy/_cpdispatch.py", line 25, in __call__
  return self.callable(*self.args, **self.kwargs)
File "/usr/lib/python2.4/vendor-packages/pkg/server/depot.py", line 600, in close_0
  # Record the size of the payload, if there is one.
File "/usr/lib/python2.4/vendor-packages/pkg/server/repository.py", line 248, in close
  raise RepositoryInvalidTransactionIDError(trans_id)
File "/usr/lib/python2.4/vendor-packages/pkg/server/transaction.py", line 214, in close
  pkg_fmri, pkg_state = self.accept_publish(refresh_index)
File "/usr/lib/python2.4/vendor-packages/pkg/server/transaction.py", line 349, in accept_publish
  self.cfg.updatelog.add_package(self.fmri, self.critical)
File "/usr/lib/python2.4/vendor-packages/pkg/updatelog.py", line 109, in add_package
  ts = self.catalog.add_fmri(pfmri, critical)
File "/usr/lib/python2.4/vendor-packages/pkg/catalog.py", line 225, in add_fmri
  tmp_num, tmpfile = tempfile.mkstemp(dir=self.catalog_root)
File "/usr/lib/python2.4/tempfile.py", line 302, in mkstemp
  return _mkstemp_inner(dir, prefix, suffix, flags)
File "/usr/lib/python2.4/tempfile.py", line 236, in _mkstemp_inner
  fd = _os.open(file, flags, 0600)
OSError: [Errno 2] No such file or directory: '/export/home/pkg-solaris/repo-6941/catalog/tmpGbxFYi'

[16/Mar/2009:10:49:46] HTTP
Request Headers:
HOST: localhost:26941
USER-AGENT: pkg/231bb1355d2b+ (sunos i86pc; 5.11 snv_109; none; None)
CONNECTION: close
Remote-Addr: 127.0.0.1
ACCEPT-ENCODING: identity
[16/Mar/2009:10:49:50] HTTP Traceback (most recent call last):
File "/usr/lib/python2.4/vendor-packages/cherrypy/_cprequest.py", line 606, in respond
  cherrypy.response.body = self.handler()
File "/usr/lib/python2.4/vendor-packages/cherrypy/_cpdispatch.py", line 25, in __call__
  return self.callable(*self.args, **self.kwargs)
File "/usr/lib/python2.4/vendor-packages/pkg/server/depot.py", line 600, in close_0
  # Record the size of the payload, if there is one.
File "/usr/lib/python2.4/vendor-packages/pkg/server/repository.py", line 248, in close
  raise RepositoryInvalidTransactionIDError(trans_id)
File "/usr/lib/python2.4/vendor-packages/pkg/server/transaction.py", line 214, in close
  pkg_fmri, pkg_state = self.accept_publish(refresh_index)
File "/usr/lib/python2.4/vendor-packages/pkg/server/transaction.py", line 349, in accept_publish
  self.cfg.updatelog.add_package(self.fmri, self.critical)
File "/usr/lib/python2.4/vendor-packages/pkg/updatelog.py", line 109, in add_package
  ts = self.catalog.add_fmri(pfmri, critical)
File "/usr/lib/python2.4/vendor-packages/pkg/catalog.py", line 225, in add_fmri
  tmp_num, tmpfile = tempfile.mkstemp(dir=self.catalog_root)
File "/usr/lib/python2.4/tempfile.py", line 302, in mkstemp
  return _mkstemp_inner(dir, prefix, suffix, flags)
File "/usr/lib/python2.4/tempfile.py", line 236, in _mkstemp_inner
  fd = _os.open(file, flags, 0600)
OSError: [Errno 2] No such file or directory: '/export/home/pkg-solaris/repo-6941/catalog/tmpZarsoA'

[16/Mar/2009:10:49:50] HTTP
Request Headers:
HOST: localhost:26941
USER-AGENT: pkg/231bb1355d2b+ (sunos i86pc; 5.11 snv_109; none; None)
CONNECTION: close
Remote-Addr: 127.0.0.1
ACCEPT-ENCODING: identity

--

On the start-import side, I got:

...
  SUNWiscsi add set name=variant.arch value=i386
  SUNWiscsi add set name=variant.zone value=global value=nonglobal
  SUNWiscsi add set description=Sun iSCSI Management Utilities
SUNWiscsi add set info.classification=org.opensolaris.category.2008:System/Hardware SUNWiscsi add legacy arch=i386 category=system desc="Sun iSCSI Management Utilities" hotline="Please contact your local service provider" name="Sun iSCSI Management Utilities (usr)" pkg=SUNWiscsiu vendor="Sun Microsystems, Inc." version=11.11,REV=2009.02.18.01.12 SUNWiscsi add legacy arch=i386 category=system desc="Sun iSCSI Device Driver" hotline="Please contact your local service provider" name="Sun iSCSI Device Driver (root)" pkg=SUNWiscsir vendor="Sun Microsystems, Inc." version=11.11,REV=2009.02.18.01.12
  close
SUNWiscsi: FAILED: 'close' failed for transaction ID '1237225785_pkg%3A%2FSUNWiscsi%400.5.11%2C5.11-0.109%3A20090316T174945Z'; status '500': The server encountered an unexpected condition which prevented it from fulfilling the request.

1/1 packages processed; 100.00% complete
Caching RSS/Atom feed...
Done: 2009-03-16 10:49:47.254053
make 109/entire
make BUILDID=109 entire
REPO=http://localhost:26941/ ./build_entire_incorporation 109 > 109/entire.incorporation
pkg: no packages matching the following patterns you specified were
found in the catalog.  Try relaxing the patterns, refreshing, and/or
examining the catalogs:

--


This was the first package I'm trying to publish to a new (non-existent)
repository.

Should I be changing something in the start-import script to match up
with this?

Feel free to look around on stard.sfbay. The repo is under
/export/home/pkg-solaris/repo-6941


See the original heads up message I gave about templates for details:
http://markmail.org/message/dqa2txoklwanwfhu

Sorry. I missed that.

Thanks.


_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

_______________________________________________
pkg-discuss mailing list
[email protected]
http://mail.opensolaris.org/mailman/listinfo/pkg-discuss

Reply via email to