mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-26 22:32:46 +00:00
Bug 300136 - Full update archives should contain removal instructions, part 1 - automatically create a list of files/directories to remove (and synchronize that list with the install.js list of files to remove) r=darin
This commit is contained in:
parent
dfec80f51c
commit
c798a330a8
@ -55,6 +55,8 @@ NO_PKG_FILES = \
|
|||||||
|
|
||||||
include $(topsrcdir)/config/rules.mk
|
include $(topsrcdir)/config/rules.mk
|
||||||
|
|
||||||
|
MOZ_PKG_REMOVALS = $(srcdir)/removed-files.in
|
||||||
|
|
||||||
ifdef BUILD_STATIC_LIBS
|
ifdef BUILD_STATIC_LIBS
|
||||||
ifeq (WINNT,$(OS_ARCH))
|
ifeq (WINNT,$(OS_ARCH))
|
||||||
MOZ_PKG_MANIFEST_P = $(srcdir)/windows/packages-static
|
MOZ_PKG_MANIFEST_P = $(srcdir)/windows/packages-static
|
||||||
@ -83,7 +85,7 @@ endif
|
|||||||
|
|
||||||
include $(topsrcdir)/toolkit/mozapps/installer/packager.mk
|
include $(topsrcdir)/toolkit/mozapps/installer/packager.mk
|
||||||
|
|
||||||
installer:
|
installer: removed-files
|
||||||
ifdef INSTALLER_DIR
|
ifdef INSTALLER_DIR
|
||||||
$(MAKE) -C $(INSTALLER_DIR)
|
$(MAKE) -C $(INSTALLER_DIR)
|
||||||
endif
|
endif
|
||||||
|
31
browser/installer/removed-files.in
Normal file
31
browser/installer/removed-files.in
Normal file
@ -0,0 +1,31 @@
|
|||||||
|
chrome/US.jar
|
||||||
|
chrome/en-win.jar
|
||||||
|
chrome/help.jar
|
||||||
|
chrome/chrome.rdf
|
||||||
|
chrome/installed-chrome.txt
|
||||||
|
chrome/app-chrome.manifest
|
||||||
|
chrome/overlayinfo/
|
||||||
|
|
||||||
|
components/compreg.dat
|
||||||
|
components/xpti.dat
|
||||||
|
components/nsBackgroundUpdateService.js
|
||||||
|
|
||||||
|
defaults/pref/all.js
|
||||||
|
defaults/pref/security-prefs.js
|
||||||
|
defaults/pref/winpref.js
|
||||||
|
defaults/pref/xpinstall.js
|
||||||
|
defaults/pref/bug307259.js
|
||||||
|
defaults/profile/US/
|
||||||
|
|
||||||
|
searchplugins/dictionary.src
|
||||||
|
searchplugins/dictionary.png
|
||||||
|
|
||||||
|
defaults/pref/bug259708.js
|
||||||
|
|
||||||
|
components/autocomplete.xpt
|
||||||
|
|
||||||
|
@DLL_PREFIX@zlib@DLL_SUFFIX@
|
||||||
|
components/component.reg
|
||||||
|
components/compreg.dat
|
||||||
|
components/xpti.dat
|
||||||
|
components/xptitemp.dat
|
@ -59,7 +59,6 @@ INSTALLER_FILES = \
|
|||||||
config.it \
|
config.it \
|
||||||
abe.jst \
|
abe.jst \
|
||||||
adt.jst \
|
adt.jst \
|
||||||
browser.jst \
|
|
||||||
chatzilla.jst \
|
chatzilla.jst \
|
||||||
editor.jst \
|
editor.jst \
|
||||||
inspector.jst \
|
inspector.jst \
|
||||||
@ -81,8 +80,12 @@ include $(call EXPAND_LOCALE_SRCDIR,toolkit/locales)/installer/windows/charset.m
|
|||||||
|
|
||||||
installer:
|
installer:
|
||||||
$(NSINSTALL) -D instgen
|
$(NSINSTALL) -D instgen
|
||||||
|
$(PERL) $(topsrcdir)/toolkit/mozapps/installer/make-installjsremoves.pl ../removed-files > instgen/removed-files.js
|
||||||
$(INSTALL) $(addprefix $(srcdir)/,$(INSTALLER_FILES)) instgen
|
$(INSTALL) $(addprefix $(srcdir)/,$(INSTALLER_FILES)) instgen
|
||||||
iconv -f UTF-8 -t $(WIN_INSTALLER_CHARSET) $(call EXPAND_LOCALE_SRCDIR,browser/locales)/installer/installer.inc > instgen/installer.inc
|
iconv -f UTF-8 -t $(WIN_INSTALLER_CHARSET) $(call EXPAND_LOCALE_SRCDIR,browser/locales)/installer/installer.inc > instgen/installer.inc
|
||||||
|
$(PERL) $(topsrcdir)/config/preprocessor.pl $(DEFINES) $(ACDEFINES) \
|
||||||
|
-Iinstgen/removed-files.js \
|
||||||
|
$(srcdir)/browser.jst > instgen/browser.jst
|
||||||
$(EXIT_ON_ERROR) \
|
$(EXIT_ON_ERROR) \
|
||||||
for i in $(PP_LOCALIZED_FILES); do \
|
for i in $(PP_LOCALIZED_FILES); do \
|
||||||
$(PERL) $(topsrcdir)/config/preprocessor.pl $(DEFINES) $(ACDEFINES) -Iinstgen/installer.inc $(srcdir)/$$i > instgen/$$i; \
|
$(PERL) $(topsrcdir)/config/preprocessor.pl $(DEFINES) $(ACDEFINES) -Iinstgen/installer.inc $(srcdir)/$$i > instgen/$$i; \
|
||||||
|
@ -1,41 +1,3 @@
|
|||||||
function upgradeCleanup()
|
|
||||||
{
|
|
||||||
// Remove Chrome directory cruft
|
|
||||||
deleteThisFile("Chrome", "US.jar");
|
|
||||||
deleteThisFile("Chrome", "en-win.jar");
|
|
||||||
deleteThisFile("Chrome", "help.jar");
|
|
||||||
deleteThisFile("Chrome", "chrome.rdf");
|
|
||||||
deleteThisFile("Chrome", "installed-chrome.txt");
|
|
||||||
deleteThisFile("Chrome", "app-chrome.manifest");
|
|
||||||
deleteThisFolder("Chrome", "overlayinfo");
|
|
||||||
|
|
||||||
// Remove defunct components
|
|
||||||
deleteThisFile("Components", "compreg.dat");
|
|
||||||
deleteThisFile("Components", "xpti.dat");
|
|
||||||
deleteThisFile("Components", "nsBackgroundUpdateService.js");
|
|
||||||
|
|
||||||
// Remove defunct defaults files.
|
|
||||||
deleteThisFile("Program", "defaults/pref/all.js");
|
|
||||||
deleteThisFile("Program", "defaults/pref/security-prefs.js");
|
|
||||||
deleteThisFile("Program", "defaults/pref/winpref.js");
|
|
||||||
deleteThisFile("Program", "defaults/pref/xpinstall.js");
|
|
||||||
deleteThisFile("Program", "defaults/pref/bug307259.js");
|
|
||||||
deleteThisFolder("Program", "defaults/profile/US");
|
|
||||||
|
|
||||||
// Delete dictionary.com search plugin
|
|
||||||
deleteThisFile("Program", "searchplugins/dictionary.src");
|
|
||||||
deleteThisFile("Program", "searchplugins/dictionary.png");
|
|
||||||
|
|
||||||
// These files are related to app patches and will interfere with the
|
|
||||||
// UA/app version strings if we do not remove them.
|
|
||||||
deleteThisFile("Program", "defaults/pref/bug259708.js");
|
|
||||||
|
|
||||||
// Remove non-linked xpt files for rev'd interfaces; this prevents a
|
|
||||||
// conflict if you had previously installed a zip build in the app directory.
|
|
||||||
deleteThisFile("Components", "autocomplete.xpt");
|
|
||||||
|
|
||||||
}
|
|
||||||
|
|
||||||
function copyFlashXPT()
|
function copyFlashXPT()
|
||||||
{
|
{
|
||||||
/*
|
/*
|
||||||
@ -138,7 +100,7 @@ if(verifyDiskSpace(fProgram, srDest))
|
|||||||
{
|
{
|
||||||
setPackageFolder(fProgram);
|
setPackageFolder(fProgram);
|
||||||
|
|
||||||
upgradeCleanup();
|
removeOldFiles();
|
||||||
err = addDirectory("",
|
err = addDirectory("",
|
||||||
"$Version$",
|
"$Version$",
|
||||||
"bin", // dir name in jar to extract
|
"bin", // dir name in jar to extract
|
||||||
|
@ -1,12 +1,3 @@
|
|||||||
function upgradeCleanup()
|
|
||||||
{
|
|
||||||
deleteThisFile("Program", "zlib.dll");
|
|
||||||
deleteThisFile("Program", "component.reg");
|
|
||||||
deleteThisFile("Components", "compreg.dat");
|
|
||||||
deleteThisFile("Components", "xpti.dat");
|
|
||||||
deleteThisFile("Components", "xptitemp.dat");
|
|
||||||
}
|
|
||||||
|
|
||||||
// main
|
// main
|
||||||
var srDest;
|
var srDest;
|
||||||
var err;
|
var err;
|
||||||
@ -38,7 +29,6 @@ if(verifyDiskSpace(fProgram, srDest))
|
|||||||
{
|
{
|
||||||
setPackageFolder(fProgram);
|
setPackageFolder(fProgram);
|
||||||
|
|
||||||
upgradeCleanup();
|
|
||||||
err = addDirectory("",
|
err = addDirectory("",
|
||||||
"$Version$",
|
"$Version$",
|
||||||
"bin", // dir name in jar to extract
|
"bin", // dir name in jar to extract
|
||||||
|
59
toolkit/mozapps/installer/make-installjsremoves.pl
Normal file
59
toolkit/mozapps/installer/make-installjsremoves.pl
Normal file
@ -0,0 +1,59 @@
|
|||||||
|
# ***** BEGIN LICENSE BLOCK *****
|
||||||
|
# Version: MPL 1.1/GPL 2.0/LGPL 2.1
|
||||||
|
#
|
||||||
|
# The contents of this file are subject to the Mozilla Public License Version
|
||||||
|
# 1.1 (the "License"); you may not use this file except in compliance with
|
||||||
|
# the License. You may obtain a copy of the License at
|
||||||
|
# http://www.mozilla.org/MPL/
|
||||||
|
#
|
||||||
|
# Software distributed under the License is distributed on an "AS IS" basis,
|
||||||
|
# WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
|
||||||
|
# for the specific language governing rights and limitations under the
|
||||||
|
# License.
|
||||||
|
#
|
||||||
|
# The Original Code is Mozilla Firefox installer build scripts.
|
||||||
|
#
|
||||||
|
# The Initial Developer of the Original Code is
|
||||||
|
# Benjamin Smedberg <benjamin@smedbergs.us>
|
||||||
|
#
|
||||||
|
# Portions created by the Initial Developer are Copyright (C) 2005
|
||||||
|
# the Mozilla Foundation <http://www.mozilla.org/>. All Rights Reserved.
|
||||||
|
#
|
||||||
|
# Contributor(s):
|
||||||
|
#
|
||||||
|
# Alternatively, the contents of this file may be used under the terms of
|
||||||
|
# either the GNU General Public License Version 2 or later (the "GPL"), or
|
||||||
|
# the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
|
||||||
|
# in which case the provisions of the GPL or the LGPL are applicable instead
|
||||||
|
# of those above. If you wish to allow use of your version of this file only
|
||||||
|
# under the terms of either the GPL or the LGPL, and not to allow others to
|
||||||
|
# use your version of this file under the terms of the MPL, indicate your
|
||||||
|
# decision by deleting the provisions above and replace them with the notice
|
||||||
|
# and other provisions required by the GPL or the LGPL. If you do not delete
|
||||||
|
# the provisions above, a recipient may use your version of this file under
|
||||||
|
# the terms of any one of the MPL, the GPL or the LGPL.
|
||||||
|
#
|
||||||
|
# ***** END LICENSE BLOCK *****
|
||||||
|
|
||||||
|
# Read a removed-files manifest and create a set of
|
||||||
|
# deleteThisFile/deleteThisFolder instructions suitable for an install.js
|
||||||
|
# script. This simply processes <> to stdout.
|
||||||
|
|
||||||
|
print "function removeOldFiles() {\n";
|
||||||
|
|
||||||
|
while (<>) {
|
||||||
|
m|^\s*(\S+)\s*$|;
|
||||||
|
my $file = $1;
|
||||||
|
|
||||||
|
next if ($file eq "");
|
||||||
|
|
||||||
|
if ($file =~ m|/$|) {
|
||||||
|
chop $file;
|
||||||
|
print " deleteThisFolder(\"Program\", \"$file\");\n";
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
print " deleteThisFile(\"Program\", \"$file\");\n";
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
print "}\n";
|
@ -209,6 +209,15 @@ ifndef PACKAGER_NO_LIBS
|
|||||||
libs:: $(PACKAGE)
|
libs:: $(PACKAGE)
|
||||||
endif
|
endif
|
||||||
|
|
||||||
|
DEFINES += -DDLL_PREFIX=$(DLL_PREFIX) -DDLL_SUFFIX=$(DLL_SUFFIX)
|
||||||
|
|
||||||
|
ifdef MOZ_PKG_REMOVALS
|
||||||
|
MOZ_PKG_REMOVALS_GEN = removed-files
|
||||||
|
|
||||||
|
$(MOZ_PKG_REMOVALS_GEN): $(MOZ_PKG_REMOVALS) Makefile Makefile.in
|
||||||
|
$(PERL) $(topsrcdir)/config/preprocessor.pl -Fsubstitution $(DEFINES) $(ACDEFINES) $(MOZ_PKG_REMOVALS) > $(MOZ_PKG_REMOVALS_GEN)
|
||||||
|
endif
|
||||||
|
|
||||||
GARBAGE += $(DIST)/$(PACKAGE) $(PACKAGE)
|
GARBAGE += $(DIST)/$(PACKAGE) $(PACKAGE)
|
||||||
|
|
||||||
ifdef USE_SHORT_LIBNAME
|
ifdef USE_SHORT_LIBNAME
|
||||||
@ -236,7 +245,7 @@ else
|
|||||||
PKGCP_OS = unix
|
PKGCP_OS = unix
|
||||||
endif
|
endif
|
||||||
|
|
||||||
$(PACKAGE): $(MOZILLA_BIN) $(MOZ_PKG_MANIFEST)
|
$(PACKAGE): $(MOZILLA_BIN) $(MOZ_PKG_MANIFEST) $(MOZ_PKG_REMOVALS_GEN)
|
||||||
@rm -rf $(DIST)/$(MOZ_PKG_APPNAME) $(DIST)/$(PKG_BASENAME).tar $(DIST)/$(PKG_BASENAME).dmg $@ $(EXCLUDE_LIST)
|
@rm -rf $(DIST)/$(MOZ_PKG_APPNAME) $(DIST)/$(PKG_BASENAME).tar $(DIST)/$(PKG_BASENAME).dmg $@ $(EXCLUDE_LIST)
|
||||||
# NOTE: this must be a tar now that dist links into the tree so that we
|
# NOTE: this must be a tar now that dist links into the tree so that we
|
||||||
# do not strip the binaries actually in the tree.
|
# do not strip the binaries actually in the tree.
|
||||||
@ -285,8 +294,10 @@ endif
|
|||||||
@echo "Removing unpackaged files..."
|
@echo "Removing unpackaged files..."
|
||||||
ifeq ($(MOZ_PKG_FORMAT),DMG)
|
ifeq ($(MOZ_PKG_FORMAT),DMG)
|
||||||
cd $(DIST)/$(MOZ_PKG_APPNAME)/$(_APPNAME)/Contents/MacOS; rm -rf $(NO_PKG_FILES)
|
cd $(DIST)/$(MOZ_PKG_APPNAME)/$(_APPNAME)/Contents/MacOS; rm -rf $(NO_PKG_FILES)
|
||||||
|
$(SYSINSTALL) $(MOZ_PKG_REMOVALS_GEN) $(DIST)/$(MOZ_PKG_APPNAME)/$(_APPNAME)/Contents/MacOS
|
||||||
else
|
else
|
||||||
cd $(DIST)/$(MOZ_PKG_APPNAME); rm -rf $(NO_PKG_FILES)
|
cd $(DIST)/$(MOZ_PKG_APPNAME); rm -rf $(NO_PKG_FILES)
|
||||||
|
$(SYSINSTALL) $(MOZ_PKG_REMOVALS_GEN) $(DIST)/$(MOZ_PKG_APPNAME)
|
||||||
endif
|
endif
|
||||||
@echo "Compressing..."
|
@echo "Compressing..."
|
||||||
cd $(DIST); $(MAKE_PACKAGE)
|
cd $(DIST); $(MAKE_PACKAGE)
|
||||||
|
Loading…
Reference in New Issue
Block a user