Home Forums Software InstaDMG Questions about the chroot Jail

Viewing 15 posts - 1 through 15 (of 19 total)
  • Author
    Posts
  • #376954
    mandebooks
    Participant

    I organize my CustomPKGs into subfolders (01, 02, etc) and in the past this worked great. I just tried building with 1.5rc1 and none of my custom packages installed.

    Here is an excerpt from the onscreen information:

    Working on folder 03 (11:02:25)
    Copying folder ./InstallerFiles/CustomPKG/03 into the target at /private/tmp/package.pzECIL
    Installing ATI9600VideoDrivers.pkg from ./InstallerFiles/CustomPKG/03 (03) inside a chroot jail
    Installing CharacterPalette.pkg from ./InstallerFiles/CustomPKG/03 (03) inside a chroot jail
    Installing Custom Remote Desktop Installer.mpkg from ./InstallerFiles/CustomPKG/03 (03) inside a chroot jail
    Installing DeleteAdobeCaches.pkg from ./InstallerFiles/CustomPKG/03 (03) inside a chroot jail
    Installing FieryCupsFilter.pkg from ./InstallerFiles/CustomPKG/03 (03) inside a chroot jail

    You can see that it copied the folder over, but the individual packages were still running from their original locations – and apparently didn’t install at all.

    Is there any information available on how the chroot is working and why it requires the copying of the files?

    Or should I just not keep my Custom Installers in subfolders?

    Thanks for any information.

    #376958
    otsep
    Participant

    I’m having a similar issue. No packages install after the base OS. My 10.5.8 updater and all custom packages say they’re installing, but they don’t.

    #376959
    halimedia
    Participant

    I haven’t built any images with the latest build yet, but have had similar issues in the past. Becoming root (sudo -s) before launching the InstaDMG script fixed the problem for me.

    Cheers,

    Ron

    #376964
    mandebooks
    Participant

    I have been running the script with sudo everytime – even with older versions before the chroot jail.

    #376973
    otsep
    Participant

    It failed again this morning and now I’m trying without the chroot jail.

    #376975
    hetjan
    Participant

    I had this same issue and I fixed it by creating a sparse image larger than the package and then converting it to a r/o DMG.

    #376978
    mandebooks
    Participant

    So your saying you put each of your individual packages inside a dmg file? I suppose that would work – but that means I have to create 61 individual dmg files…

    Randy R.

    #376979
    otsep
    Participant

    Sitting on the 10.5.8 update for 2+ hours now…. debug says it’s Finishing the receipt.

    I’m going to roll back one rev and start over

    #377005
    Chris George
    Participant

    [QUOTE][u]Quote by: mandebooks[/u][p]I organize my CustomPKGs into subfolders (01, 02, etc) and in the past this worked great. I just tried building with 1.5rc1 and none of my custom packages installed.

    Here is an excerpt from the onscreen information:

    Working on folder 03 (11:02:25)
    Copying folder ./InstallerFiles/CustomPKG/03 into the target at /private/tmp/package.pzECIL
    Installing ATI9600VideoDrivers.pkg from ./InstallerFiles/CustomPKG/03 (03) inside a chroot jail
    Installing CharacterPalette.pkg from ./InstallerFiles/CustomPKG/03 (03) inside a chroot jail
    Installing Custom Remote Desktop Installer.mpkg from ./InstallerFiles/CustomPKG/03 (03) inside a chroot jail
    Installing DeleteAdobeCaches.pkg from ./InstallerFiles/CustomPKG/03 (03) inside a chroot jail
    Installing FieryCupsFilter.pkg from ./InstallerFiles/CustomPKG/03 (03) inside a chroot jail

    You can see that it copied the folder over, but the individual packages were still running from their original locations – and apparently didn’t install at all.

    Is there any information available on how the chroot is working and why it requires the copying of the files?

    Or should I just not keep my Custom Installers in subfolders?

    Thanks for any information.[/p][/QUOTE]

    Wait. You have multiple pkg files inside a single subfolder within CustomPKG? I don’t think that’s the way it’s intended to work…. I think as intended, you should have a series of numbered folders within CustomPKG. Inside each numbered folder you have a single .pkg or .mpkg.

    What I would recommend in those folders where you need multiple pkg files is to combine them into a .mpkg, with all of the pkg’s required.

    #377032
    mandebooks
    Participant

    Ok, got some more information.

    I tried it with all my .pkg files in subfolders – no luck. Tried it running as root and still no luck.

    I also found an additional log file and got this data out:

    Copying folder ./InstallerFiles/CustomPKG/27 into the target at /private/tmp/package.qL2V46
    Installing EasyFind.pkg from ./InstallerFiles/CustomPKG/27 (27) inside a chroot jail
    installer: Error verifying EasyFind package contents: *** -[NSCFString substringFromIndex:]: Range or index out of bounds
    Removing the copied folder: ./tmp/mount_folder.ZemiTx/mount_point.xTdMgF/private/tmp/package.qL2V46

    As you can see there is a clear error in “verifying the package” I get this same error for all but a few of my .pkg files. Even the ones that don’t give me this error are not installing properly – I think something is causing the installer.app to go a bit nuts earlier on, but I don’t know.

    [size=18]So – I wanted to pose my original question – HOW DOES THE CHROOT JAIL WORK? Can someone please post a document on the process and the methodology used for the CHROOT JAIL?[/size]

    Sorry for being so forceful, but my original question was never answered or addressed.

    #377042
    Arjen
    Participant

    From the man page:

    [quote]The chroot command changes its root directory to the supplied directory
    newroot and exec’s command, if supplied, or an interactive copy of your
    shell.[/quote]

    In short, it prevents the installer or any other program to write outside the sparseimage.

    hth

    Arjen

    #377044
    mandebooks
    Participant

    Ok, so thats the command, but how about its implementation within the InstaDMG process? If it changes the root why do the files have to be copied into a temp directory on the new disk image? I am trying to understand its implementation and why that would be causing my packages to fail with the new chroot option – even though they work just fine if I turn off the chroot jail.

    #377046
    Arjen
    Participant

    I should have said:

    In short, it prevents the installer or any other program to [b]read or write [/b] outside the sparseimage. This is the reason why the packages have to be copied onto the sparseimage.

    This also means that if your packages depend on something that is not available within the package or on the sparseimage, the installation will fail.

    hth

    Arjen

    #377047
    mandebooks
    Participant

    So if a package has a preflight script it it that calls for a rm command then that command is going to fail since it can’t run the command from within the sparse-image? This sounds like an in credibly annoying item that needs a seperate implementation item (second folder for packages that you want run within a chroot jail) that way its easy to take advatage of when needed, but also easily avoided.

    #377048
    Arjen
    Participant

    /bin.rm will run fine from the sparseimage which has OSX and thus all its cmd line tools already installed on it.

    In principle all pacjages should install without problems, what is the nature of your packages?

    grz

    Arjen

Viewing 15 posts - 1 through 15 (of 19 total)
  • You must be logged in to reply to this topic.

Comments are closed