Home Forums Software InstaDMG How do you build your packages?

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #373429
    thomasb
    Participant

    This is how we did it in earlier versions PackageMaker (2.x.x and earlier?)

    [color=Blue]”To indicate to PackageMaker where the files of a Package should be installed, you need to create a relative file hierarchy describing where each file should be installed.”[/color]
    [url]http://s.sudre.free.fr/Stuff/PackageMaker_Howto.html[/url]

    As Apple noticed, and I just discovered, this is a really bad way of doing it. It is the recipe for a [color=Red]permissions disaster[/color].

    In PackerMaker 3.x.x Apple changed the way we are supposed to build packages.

    [color=Blue]”Important: Never include Mac OS X standard directories inside a component’s hierarchy. That is, do not reflect any standard part of the Mac OS X file system (in any of the file system domains) inside your component’s structure.”[/color]
    [url=http://developer.apple.com/documentation/DeveloperTools/Conceptual/SoftwareDistribution/Component_Packages/chapter_6_section_6.html]Apple Software Delivery Guide: Create the Component Package[/url]

    Earlier I was building my packages the [b]”old way”[/b], and it has always bothered me how difficult it is to keep all the permissions correct. On the other hand, you get away with only one component in your project. When clicking the [b]Apply Recommendations[/b] button for the permissions, PackageMaker is unable to see the permissions of all System folders, i.e. [b]/private/var/db/dslocal/Default/nodes/users/[/b]

    By doing it the [b]”new way”[/b], the permissions part is a lot easier to handle. If I countinue on my example above, let’s say I would like to add a user.plist file. I would then add the users folder as a component with my user.plist file inside. Then I would set the destination to [b]/private/var/db/dslocal/Default/nodes/users/[/b], and set the right permissions for that single file.

    Is this a good way of doing it? At least you avoid messing up the permissions for any parent directories.

    What about you? How are you building your packages?

    #373446
    jasonpgignac
    Participant

    That’s how I’ve built all mine – it’s SO much easier too…

    #373458
    thomasb
    Participant

    Good. It seems like that is the way to go with PackageMaker 3.x.x.

    The only problem now, is that the latest version of PackageMaker can not remember the [b]destination[/b] set for each component. Do you have the same problem?

    1. Open PackageMaker 3.0.2 (174)
    2. Create a new Package
    3. Add a component or more
    4. Set the destination for your component(s)
    5. Save and close your project
    6. Reopen the project

    When you look at the destination field for your component(s) after reopening the PackerMaker project, it is blank.

    #373466
    Rusty Myers
    Participant

    [QUOTE][u]Quote by: thomasb[/u][p]Good. It seems like that is the way to go with PackageMaker 3.x.x.

    The only problem now, is that the latest version of PackageMaker can not remember the [b]destination[/b] set for each component. Do you have the same problem?

    1. Open PackageMaker 3.0.2 (174)
    2. Create a new Package
    3. Add a component or more
    4. Set the destination for your component(s)
    5. Save and close your project
    6. Reopen the project

    When you look at the destination field for your component(s) after reopening the PackerMaker project, it is blank.[/p][/QUOTE]

    I’ve seen this recently. Working with PackageMaker earlier in the year, the packages always saved their paths. I’ve done a few updates since then, so I can’t pinpoint when it stopped working. It has not been worth my time to try to fix it, yet. Nothings special in my installs, mostly files to Applications and Library/*.

    #373481
    jasonpgignac
    Participant

    I’ve noticed this behaviour on occaision, but not very often. Here’s what I’ve noticed:

    1) If you put an application .app file in a pkg, the system assumes /Applications. This path will usually not disappear on open/close.
    2) If you path to your source files relative instead of absolute, the destination path seems to be more resilient. Weird, I know.
    3) If you build at least once before saving, the destination path seems to be resilient. Again, weird I know.

    It’s not like I build a thousand packages a week, so it’s possible that some of this is just anecdotal, but I figure others who are doing this can confirm or deny my observations.

    #373482
    thomasb
    Participant

    Scott Amory at the Apple installer-dev mailing list found that if you check [b]Allow Custom Location[/b], the destination sticks.

    [url=http://lists.apple.com/archives/installer-dev/2008/Jul/msg00094.html]http://lists.apple.com/archives/installer-dev/2008/Jul/msg00094.html[/url]

    I guess that is a possible workaround until the problem is fixed. At least for packages made for the InstaDMG build train only (and you can rebuild your packages later on when the bug is fixed).

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

Comments are closed