Sponsored Content
Full Discussion: Adobe application cleanup
Operating Systems OS X (Apple) Adobe application cleanup Post 302590783 by kleinboy on Tuesday 17th of January 2012 02:05:04 PM
Old 01-17-2012
Adobe application cleanup

I am trying to come up with a universal way of cleaning up after CS5 (and 5.5) installs. The history is this: adobe has a deployment tool called AAMEE that lets you re-package items and deploy them. Unfortunately it's very messy and leaves Application folders (and pieces of the apps) that do not belong.

Here's a more specific example:
Install After effects using package built with AAMEE.

Case 1:
Install After Effects.pkg. (Should only install "/Applications/Adobe After Effects CS5/")

Unfortunately it also adds
"/Applications/Adobe Premier Pro CS5/Adobe Premier Pro CS5.app/" (and a bunch of other app folders, but we will focus on Premier)

The problem is that if Premier was not already installed, the .app bundle is broken. I want to remove the Premier folder and contents from /Applications Simple...remove the directory via a posflight script, unix command, etc. BUT, if only it were that simple.

Case 2:
Install Premier.pkg (AAMEE package)
Install After Effects.ppkg (AAMEE package)

If I fixed this the "easy way", I would have just deleted the desired Premier Pro application. Not my intended effect. This is just one folder example. There are many more (onlocation, soudbooth, etc). So, I started thinking "How do I know which directories are intentional and which ones are unintentional due to AAMEE not being all that smart?"

The only thing I can find is that EVERY that lack lacks info.plist in the app bundle (if the .app bundle even exists) in $appname.app/Contents/Info.plist is bad. If I loop though Applications looking for CS5 folders, then I should be able to figure out which CS5 folders contain working apps.

A working app always has Info.plist which exists in /Applications/"$AppName"\ CS5/"$AppName".app/Contents

It does not exist in"/Applications/Adobe Premiere Pro CS5/Adobe Premiere Pro CS5.app/Contents/" (which was a "bad" install by AAMEE)

If that is true for all unintended of the bad installs, then this should be easy to script. I just can't figure out how. I want to loop through /Applications finding every folder with CS5 in it. Then in each of those folders, check for the existence of $basepath/Contents/Info.Plist. If it's there, then the folder stays. If it's not, then delete the AppFolder from /Applications. I don't want to supply a list of every app. I'd like to find all CS5 folders, work out the path and appname, then loop though each one testing for the existence of $AppPath/Contents/Info.plist. If it doesn't exist, delete the base CS5 folder in /Applications


Some notes:
The App is always named the same as the base folder. (eg. "/Applications/Adobe Illustrator CS5" will always contain the application "Adobe Illustrator CS5.app").
Info.plist is always in $app/Contents/

Anyone interested in helping me solve this?
 

7 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

sendmail cleanup

What is the correct procedures to clean up /var/spool/mqueue? Any help appreciated. This directory gets really clogged up at times. :( :( (1 Reply)
Discussion started by: thomi39
1 Replies

2. AIX

Login ID cleanup

Hello I have many old IDs on my AIX and would like to know the simplest way of knowing the last time an ID was used. I am familiar with the "last" command. Thanks for any info :) (1 Reply)
Discussion started by: MILLERJ62
1 Replies

3. Shell Programming and Scripting

Help with cleanup

I am trying to add a unique string to a variable to prevent some name space collisions. DATAFILE=/u001/app/unica/affinium644/campaign/partitions/limited/tmp/ebf9aaah.t~# DATETIME=`date +%Y%m%d_%H%M%S` echo $DATAFILE > tmpnme.txt sed 's_/_ _g' tmpnme.txt > tmpnme2.txt DATA=$(cat tmpnme2.txt)... (2 Replies)
Discussion started by: whdr02
2 Replies

4. Shell Programming and Scripting

Cleanup script

Hi! I would like to write a script which remove some files, all beginning with the same prefix : prefix.1 doc/prefix.2 ../prefix.3 etc. So, I would create a file and chmod it executable. But I dont know how to pass a variable to a script. I would like to write something like ... (2 Replies)
Discussion started by: tipi
2 Replies

5. Solaris

/home cleanup

Hi All, I have this script for linux on cleaning up orphaned folder. But I need to use this on solaris 8/9/10 for user in $(ls | grep -v lost+found) ; do id $user >/dev/null 2>&1 if ] then ls -ld $user grep $user /etc/passwd fi done Can someone please convert this script? ... (1 Reply)
Discussion started by: itik
1 Replies

6. Programming

Application Cleanup during Linux Shutdown

I'm trying to do some cleanup (write open files) when Linux shuts down. I thought the right method would be to trap SIGTERM and do the necessary processing. Here's my sample code: #include <stdio.h> // for File I/O #include <signal.h> // for signals #include <unistd.h> // for sleep() void... (6 Replies)
Discussion started by: whatisron
6 Replies

7. Red Hat

How to Cleanup Multipathing

I have a server running redhat 5.5 and it has one SAN device presented to it as LUN9. How can I clean up the remaining entries. I cannot afford to interupt the service. Please assist. # multipath -l mpath0 (36000097000019260298953666633436) dm-11 EMC,SYMMETRIX \_ round-robin 0 \_ 2:0:0:9 ... (2 Replies)
Discussion started by: Tirmazi
2 Replies
pthread_cleanup_pop(3T) 												   pthread_cleanup_pop(3T)

NAME
pthread_cleanup_pop(), pthread_cleanup_push() - remove or register a cancellation cleanup handler SYNOPSIS
PARAMETERS
routine Routine registered as a cancellation cleanup handler. arg Parameter to be passed to the cancellation cleanup handler execute Indicates if the popped cancellation cleanup handler is to be executed. DESCRIPTION
installs the cancellation cleanup handler routine onto the calling thread's cancellation cleanup stack. This handler will be popped from the calling thread's cancellation cleanup stack and called with the arg parameter when any of the following occur: (a) the thread calls or returns from its start routine. (b) the thread acts upon a cancellation request. (c) the thread calls with a non-zero execute argument. When a thread terminates, it will execute each of the cancellation cleanup handlers on its cancellation cleanup stack. These handlers will be popped and executed in the reverse order that they were installed ( removes the cancellation cleanup handler at the top of the calling thread's cancellation stack. If execute is non-zero, the cancellation cleanup handler is called after it is removed from the cancellation stack. If execute is zero, the cancellation cleanup handler is simply removed and will not be called. and must appear as statements and in pairs within the same lexical scope. These functions may be macros which contain the opening '{' in the push function and the closing '}' in the pop function. Calling or is undefined if there have been any calls to or made without the matching call since the jump buffer was filled. Calling or from inside a cancellation cleanup handler results in undefined behavior unless the corresponding or was also done inside the cancellation cleanup handler. RETURN VALUE
The and functions must be used as statements. They do not have return values or errors. ERRORS
None. WARNINGS
The functions and must be called in the same lexical scope or the result is undefined behavior. AUTHOR
and were derived from the IEEE POSIX P1003.1c standard. SEE ALSO
pthread_cancel(3T), pthread_setcancelstate(3T). STANDARDS CONFORMANCE
Pthread Library pthread_cleanup_pop(3T)
All times are GMT -4. The time now is 06:44 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy