Refactor uninstall script. No legacy code remains, so relicense under BSD-style license. Remove uninstall app from package for now, until we can come up with a new version that doesn't have any legacy code.

git-svn-id: svn+ssh://svn.code.sf.net/p/libjpeg-turbo/code/trunk@630 632fc199-4ca6-4c93-a231-07263d6284db
This commit is contained in:
DRC
2011-05-24 13:59:14 +00:00
parent be49b8c0cf
commit 81f5f7c110
4 changed files with 71 additions and 109 deletions

View File

@@ -1,16 +1,18 @@
{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf250
{\rtf1\ansi\ansicpg1252\cocoartf1038\cocoasubrtf350
{\fonttbl\f0\fswiss\fcharset0 Helvetica;\f1\fmodern\fcharset0 CourierNewPSMT;}
{\colortbl;\red255\green255\blue255;}
\margl1440\margr1440\vieww9000\viewh8400\viewkind0
\deftab720
\pard\pardeftab720\ql\qnatural
\f0\fs24 \cf0 This installer will install the libjpeg-turbo SDK and run-time libraries onto your computer so that you can use libjpeg-turbo to build new applications or accelerate existing ones. To remove the libjpeg-turbo package, you can either use the "Uninstall libjpeg-turbo" application, which can be found in the same archive as this package, or you can run\
\f0\fs24 \cf0 This installer will install the libjpeg-turbo SDK and run-time libraries onto your computer so that you can use libjpeg-turbo to build new applications or accelerate existing ones. To remove the libjpeg-turbo package, run\
\
\pard\pardeftab720\ql\qnatural
\f1 /opt/libjpeg-turbo/bin/uninstall\
\f1 \cf0 /opt/libjpeg-turbo/bin/uninstall\
\pard\pardeftab720\ql\qnatural
\f0 \
\f0 \cf0 \
from the command line.\
\
If TurboJPEG/IPP is currently installed, then it must be removed prior to installing libjpeg-turbo.\

View File

@@ -157,9 +157,6 @@ mkdir $TMPDIR/dmg
$PACKAGEMAKER -build -v -p $TMPDIR/dmg/$PACKAGE_NAME.pkg \
-f $PKGROOT -r $TMPDIR/pkg/Resources \
-i $TMPDIR/pkg/Info.plist -d $TMPDIR/pkg/Description.plist
install -m 644 $SRCDIR/release/uninstall.applescript $TMPDIR
sudo osacompile -t APPL -o "$TMPDIR/dmg/Uninstall $PACKAGE_NAME.app" $TMPDIR/uninstall.applescript
sudo chown -R $USER "$TMPDIR/dmg/Uninstall $PACKAGE_NAME.app"
hdiutil create -fs HFS+ -volname $PACKAGE_NAME-$VERSION \
-srcfolder "$TMPDIR/dmg" $TMPDIR/$PACKAGE_NAME-$VERSION.dmg
cp $TMPDIR/$PACKAGE_NAME-$VERSION.dmg .

View File

@@ -1,45 +0,0 @@
-- Copyright (C)2010 D. R. Commander
-- Copyright (C)2009 Sun Microsystems, Inc.
--
-- This library is free software and may be redistributed and/or modified under
-- the terms of the wxWindows Library License, Version 3.1 or (at your option)
-- any later version. The full license is in the LICENSE.txt file included
-- with this distribution.
--
-- This library is distributed in the hope that it will be useful,
-- but WITHOUT ANY WARRANTY; without even the implied warranty of
-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-- wxWindows Library License for more details.
set disk to (path to startup disk) as string
set tmpfile to path to temporary items from user domain
set tmpfile to POSIX path of tmpfile & "libjpeg-turbo_uninstall.log"
set uninstaller to disk & "opt:libjpeg-turbo:bin:uninstall"
set uninstaller to "sh " & POSIX path of uninstaller & " 2>&1 >" & tmpfile
set success to 0
display dialog "You are about to uninstall libjpeg-turbo. Proceed?" buttons {"Yes", "No"} default button "No"
if button returned of result is "Yes" then
try
do shell script (uninstaller) with administrator privileges
set success to 1
on error errstr number errnum
if errnum is -128 then
display dialog "Uninstall aborted." buttons {"OK"}
else if errnum is 255 then
set errmsg to "The uninstall script could not remove some of the files or directories installed by the libjpeg-turbo package. Consult:" & return & return & tmpfile & return & return & "for more details."
display dialog errmsg buttons {"OK"} default button "OK" with icon caution
else if errnum is 127 then
display dialog "Could not find the libjpeg-turbo uninstall script. The libjpeg-turbo package may have already been uninstalled." buttons {"OK"} default button "OK" with icon stop
else
set errmsg to "ERROR " & errnum & ": " & errstr
display dialog errmsg buttons {"OK"} default button "OK" with icon stop
end if
end try
if success is 1 then
display dialog "libjpeg-turbo has been successfully uninstalled." buttons {"OK"}
end if
else
display dialog "Uninstall aborted." buttons {"OK"}
end if

View File

@@ -1,80 +1,88 @@
# Copyright (C)2009-2011 D. R. Commander
# Copyright (C)2009 Sun Microsystems, Inc.
#
# This library is free software and may be redistributed and/or modified under
# the terms of the wxWindows Library License, Version 3.1 or (at your option)
# any later version. The full license is in the LICENSE.txt file included
# with this distribution.
#
# This library is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# wxWindows Library License for more details.
/*
* Copyright (C)2009-2011 D. R. Commander. All Rights Reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* - Redistributions of source code must retain the above copyright notice,
* this list of conditions and the following disclaimer.
* - Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
* - Neither the name of the libjpeg-turbo Project nor the names of its
* contributors may be used to endorse or promote products derived from this
* software without specific prior written permission.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS",
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
* POSSIBILITY OF SUCH DAMAGE.
*/
#!/bin/sh
error()
{
echo $1
exit -1
}
if [ ! "`id -u`" = "0" ]; then
error "This command must be run as root"
echo "ERROR: This script must be executed as root"
exit -1
fi
PKGNAME=@PACKAGE_NAME@
MACPKGNAME=com.$PKGNAME.$PKGNAME
RCPT=/Library/Receipts/$PKGNAME.pkg
PACKAGE=@PACKAGE_NAME@
MACPACKAGE=com.$PACKAGE.$PACKAGE
RECEIPT=/Library/Receipts/$PACKAGE.pkg
LSBOM=
if [ -d $RCPT ]; then
LSBOM='lsbom -s -f -l '$RCPT'/Contents/Archive.bom'
if [ -d $RECEIPT ]; then
LSBOM='lsbom -s -f -l '$RECEIPT'/Contents/Archive.bom'
else
LSBOM='pkgutil --files '$MACPKGNAME
LSBOM='pkgutil --files '$MACPACKAGE
fi
echo Removing files ...
$LSBOM >/dev/null || error "Could not list package contents"
RETCODE=0
PWD=`pwd`
cd /
$LSBOM | while read line; do
if [ ! -d "$line" ]; then rm "$line" 2>&1 || RETCODE=-1; fi
echo Removing package files ...
EXITSTATUS=0
pushd /
($LSBOM || (echo "ERROR: Could not list package contents"; exit -1))
| while read file; do
if [ ! -d "$file" ]; then rm "$file" 2>&1 || EXITSTATUS=-1; fi
done
cd $PWD
popd
echo Removing directories ...
rmdir /opt/$PKGNAME/bin 2>&1 || RETCODE=-1
if [ -d /opt/$PKGNAME/bin ]; then
rmdir /opt/$PKGNAME/bin 2>&1 || RETCODE=-1
echo Removing package directories ...
if [ -d /opt/$PACKAGE/bin ]; then
rmdir /opt/$PACKAGE/bin 2>&1 || EXITSTATUS=-1
fi
if [ -d /opt/$PKGNAME/lib ]; then
rmdir /opt/$PKGNAME/lib 2>&1 || RETCODE=-1
if [ -d /opt/$PACKAGE/lib ]; then
rmdir /opt/$PACKAGE/lib 2>&1 || EXITSTATUS=-1
fi
if [ -d /opt/$PKGNAME/include ]; then
rmdir /opt/$PKGNAME/include 2>&1 || RETCODE=-1
if [ -d /opt/$PACKAGE/include ]; then
rmdir /opt/$PACKAGE/include 2>&1 || EXITSTATUS=-1
fi
rm /opt/$PKGNAME/lib32 2>&1 || RETCODE=-1
rm /opt/$PKGNAME/lib64 2>&1 || RETCODE=-1
if [ -d /opt/$PKGNAME/man/man1 ]; then
rmdir /opt/$PKGNAME/man/man1 2>&1 || RETCODE=-1
rm /opt/$PACKAGE/lib32 2>&1 || EXITSTATUS=-1
rm /opt/$PACKAGE/lib64 2>&1 || EXITSTATUS=-1
if [ -d /opt/$PACKAGE/man/man1 ]; then
rmdir /opt/$PACKAGE/man/man1 2>&1 || EXITSTATUS=-1
fi
if [ -d /opt/$PKGNAME/man ]; then
rmdir /opt/$PKGNAME/man 2>&1 || RETCODE=-1
if [ -d /opt/$PACKAGE/man ]; then
rmdir /opt/$PACKAGE/man 2>&1 || EXITSTATUS=-1
fi
if [ -d /opt/$PKGNAME/classes ]; then
rmdir /opt/$PKGNAME/classes 2>&1 || RETCODE=-1
if [ -d /opt/$PACKAGE/classes ]; then
rmdir /opt/$PACKAGE/classes 2>&1 || EXITSTATUS=-1
fi
rmdir /opt/$PKGNAME 2>&1 || RETCODE=-1
rmdir /Library/Documentation/$PKGNAME 2>&1 || RETCODE=-1
rmdir /opt/$PACKAGE 2>&1 || EXITSTATUS=-1
rmdir /Library/Documentation/$PACKAGE 2>&1 || EXITSTATUS=-1
if [ -d $RCPT ]; then
echo Removing package receipt $RCPT ...
rm -r $RCPT 2>&1 || RETCODE=-1
if [ -d $RECEIPT ]; then
echo Removing package receipt ...
rm -r $RECEIPT 2>&1 || EXITSTATUS=-1
else
echo Forgetting package $MACPKGNAME
pkgutil --forget $MACPKGNAME
echo Forgetting package $MACPACKAGE ...
pkgutil --forget $MACPACKAGE
fi
exit $RETCODE
exit $EXITSTATUS