- This topic has 5 replies, 3 voices, and was last updated 16 years, 8 months ago by
thomasb.
-
AuthorPosts
-
July 17, 2008 at 11:21 pm #373429
thomasb
ParticipantThis 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?
July 19, 2008 at 12:23 pm #373446jasonpgignac
ParticipantThat’s how I’ve built all mine – it’s SO much easier too…
July 21, 2008 at 3:01 pm #373458thomasb
ParticipantGood. 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 projectWhen you look at the destination field for your component(s) after reopening the PackerMaker project, it is blank.
July 21, 2008 at 11:02 pm #373466Rusty 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 projectWhen 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/*.
July 23, 2008 at 11:57 am #373481jasonpgignac
ParticipantI’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.
July 23, 2008 at 1:46 pm #373482thomasb
ParticipantScott 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).
-
AuthorPosts
- You must be logged in to reply to this topic.
Comments are closed