How to create upgrade package using iceberg for mac - macos

I have created a installation package for mac os x using iceberg, which was successful and working fine.
But i have many version of my application.
So My question is how to make a upgrade package using iceberg?,
During upgrade some of the directories inside the installation directory should be untouched(not to be replaced)

In your installer, leave out the directories which shouldn't be touched and they will be ignored. I've noticed that existing directories and files not targeted with changed/added bits aren't touched.

Related

Multiple Python Versions on OS X

Some functions of apps requires Python 2.7.12 others require 2.7.5 Is it possible to use both of them? The directory in Pythons Framework (/System/Library/Frameworks/Python.framework/Versions) does not indicate the individual build. Only the main build. (2.7 = 2.7.5) How apps handle different builds?
OK, so the solution for this problem is... when you download the python updater for OS X from the python website, the folder "Extras" is not included. Manually copy the folder from the previous version e.g. /System/Library/Frameworks/Python.framework/Versions/2.6/Extras/ to /System/Library/Frameworks/Python.framework/Versions/2.7/ will solve the problem. Don't forget to restore the access rights after copying the folder.

upgrade kura installation without losing configuration

I'm currently running Kura 1.1.1 on a beagle bone black running debian linux with some custom packages and some altered configuration.
I would like to upgrade to the latest Kura release without losing the configuration and packages.
How do you upgrade while maintaining the state of a kura installation?
AFAIK there is not an official way to do this yet.
You can backup the following files and include them again after upgrading:
data/snapshots/snapshot_14xxx.xml this is the file containing your bundles' configuration. Most recent changes have a higher timestamp.
kura/dpa.properties this files contains a list of deployed Deployment Packages, installed through web-ui or DEPLOY-V1 cloudlet.
*.dp the actual Deployment Packages installed.
If you manually added jars or edited start scripts, you must copy/edit them again
Depending on how you upgrade, you may or may not have the previous installation deleted. Shell script installer for example changes /opt/eclipse/kura/ symlink to the version it installs, without deleting the old one.

Sublime Text 3 overwrites manually installed package in OSX

Following instructions to manually install arduino IDE here
Reason for manual installation is because package manager has an older version of the plugin (10 months).
After placing it in ../Packages, I open ST3 and watch Finder. Initially, the folder extracted is named "Stino-new-stino". A folder is created at ../Packages/User/Stino with what seems to be options for the topmenu, and then the Stino-new-stino folder is deleted.
Tried to put extracted folder into ../Installed Packages, as well as ../Packages/User, but doesn't get detected.
Also noticed that my TomorrowTheme package got moved into my ../Packages/User/SublimeLinter.
I removed SublimeLinter and it still seems to be happening so I'm thinking it's an ST3 thing.
There was some funky beta code happening and had to remove package-metadata.json for it to stop deleting itself.

How to Force install location from OSX .pkg

I'm attempting to create a package installer for our product. Previously we installed with a .dmg, and the process was to just drag it to the /Applications folder. Now we want it to install to /Application/Company/Suite/product.
Problem is: If we use the .pkg installer on a system that previously had our product installed it creates the folders, but installs the product over the old location.
How can I make the pkg installer do the following:
Remove the old version
Install new version to proper location
I've had very little experience with OSX - so maybe I'm just missing something? Also looking in the applications folder - it doesn't appear that anything else is installed to a subdirectory, is it unusual to do things this way?
Thank you!
EDIT:
I'm looking into the answers located here OSX .pkg installer sometimes does not install .app file, differently worded problem - but the answer might be just what I need.
EDIT2: OSX .pkg installer sometimes does not install .app file Does not apply. We didn't install with any package manager - so there isn't a previous entry.
EDIT3: We were using dmg, but are now moving to pkg.
So I found the answer.
In order to have it install to a new location:
The plist inside the app package (product.app/Contents/Info.plist) has an identifier "CFBundleIdentifier", these needs to be different from the old application. For instance ours was "Company.Product-Name", I've changed it to "Company.Product.Name". This will allow the new installation to go to the new location.
In order to remove the old installation:
I simply added this line to the preinstall script:
"sudo rm -Rf '/Application/Product Name.app'"
Thank you for your assistance.

Can a .pkg replace an application bundle with a different name?

In the previous Mac release of our software, we foolishly put the major version number in the application bundle name: /Applications/CellProfiler2.0.app
Now we are about to release version 2.1. Is it possible to have pkgbuild make a .pkg package that installs the new version as /Applications/CellProfiler.app but removes the old /Applications/CellProfiler2.0.app?
It is; and in fact, You have, as we see it, two options here:
1) Use pre-install scripts in the pkg to either detect your old version and ask the user to remove it, or remove it yourself (or first just rename the directory to be without the 2.0)
2) Package your installer in a DMG, and run the installer as a separate file altogether, and do either of the above.

Resources