installer failing under a chroot environment
installer failing under a chroot environment
- Subject: installer failing under a chroot environment
- From: justin blecher <email@hidden>
- Date: Fri, 18 Sep 2009 12:11:29 -0400
hello again everyone,
i posted the following message over on the InstaDMG list, but got no
response. maybe someone here can shed some light?
short summary: it seems to be an installer problem (i'm on 10.5.8).
installer is failing under a chroot environment... sometimes. i'm
guessing running installer chrooted is probably not 'supported', but
the way in which it fails is really interesting. lastly, i apologize
for it containing a lot of InstaDMG terminology -- if you can get past
that, you'll see the fun installer stuff.
--
i'm running into an issue where installer is crapping out when run
under the chrooted environment of InstaDMG. it's failing on certain
packages, and i can't figure out what's causing it to fail vs.
succeed. the same packages fail each run. here's a partial transcript
of the debug log:
http://pastie.org/private/zip9ovjez8hbaogpq3sheq
the first 600 lines show things progressing normally. then it starts failing.
(note that i passed -t /Volumes/data2/tmp as the
PACKAGE_DMG_MOUNT_LOCATION since the host boot volume only has <15GB
free.)
for those of you who don't want read the pastie, let me summarize:
installer is failing with a generic obj-c exception:
installer: Error verifying PACKAGE_NAME package contents: ***
-[NSCFString substringFromIndex:]: Range or index out of bounds
(where PACKAGE_NAME is the package it's attempting to install)
it doesn't seem to matter whether the package i'm attempting to
install is a mpkg or a regular pkg (flat or directory).
the installer binary is definitely giving the error (i ran strings on
it and found that printf string). my search on google for '"error
verifying" "package contents" installer' yield nothing useful. one
mention on the afp548 forums re: the MS Office 12.1.0 updater yielding
a package verification error, but that is a JavaScript error, not an
obj-c error. i can't find any information about what constitutes
"package verification" by installer. i've tried messing around with
the various .plist files, but intentionally creating malformed XML
doesn't seem to cause problems for installer. (i haven't tried the
.dist files yet, though.)
here's what else i've done w/r/t debugging so far:
- i reduced the # of pkgs to just the ones that were causing problems,
removing all OS updates (mainly so it would go faster). in other
words, the InstaDMG is just using the cached 10.5.0 image and then
moving on to the CustomPKGs folder. as i said, the same pkgs fail each
time. some pkgs are downloaded and some are custom-rolled.
- i attempted to run the chroot install on another [previously imaged]
volume i had mounted. interestingly, that worked just fine. note that
volume had been booted and used, and it did not originate from an
InstaDMG workflow.
- i dumped the environment vars in the instadmg script at the point of
the chrooted install. nothing interesting here.
- i removed the 'trap' statement and ctrl-c'd InstaDMG after it failed
installing the first few pkgs, allowing me to retain the environment
that InstaDMG is working in (the mounted system image with the shadow
file). i then ran the chroot'd install and interestingly enough, it
failed with the same error. (hooray for replicating behavior!) note:
i'll eventually mount the image manually and not kill InstaDMG in the
middle of its script -- commenting out the line was faster for me
right now while i'm tracing the code.
- installer seems to have other problems besides installing when
executed within the chrooted environment -- it seems to have problems
getting -pkginfo, too, failing with the same error.
this is driving me nuts. any ideas or pointers?
thanks,
-justin
_______________________________________________
Do not post admin requests to the list. They will be ignored.
Installer-dev mailing list (email@hidden)
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden