Closed Bug 1044289 Opened 10 years ago Closed 9 years ago

Ensure that package-manifest only contains files we care about

Categories

(Firefox Build System :: Android Studio and Gradle Integration, defect)

All
Android
defect
Not set
normal

Tracking

(firefox46 fixed)

RESOLVED FIXED
mozilla46
Tracking Status
firefox46 --- fixed

People

(Reporter: rnewman, Assigned: mfinkle)

References

(Blocks 1 open bug)

Details

Attachments

(3 files, 1 obsolete file)

A follow-on from Bug 901059, probably -- not only should we not refer to files that we don't ship, but we shouldn't ship files that we don't want! The package-manifest can be a clue to that.
We also need to import anything new that we should be including from desktop.
Depends on: 901059
Please also add MOZ_PKG_FATAL_WARNINGS = 1 to mobile/android/installer/Makefile.in.
Attached patch cleanup-package-manifest v0.1 (deleted) — Splinter Review
This patch does some basic cleanup based on a recent build: package-manifest.in:21: Missing file(s): bin/searchplugins/* Removed. We ship search plugins in locales package-manifest.in:22: Missing file(s): bin/defaults/profile/bookmarks.html package-manifest.in:23: Missing file(s): bin/defaults/profile/localstore.rdf package-manifest.in:24: Missing file(s): bin/defaults/profile/mimeTypes.rdf package-manifest.in:25: Missing file(s): bin/defaults/profile/chrome/* Removed. We don't have these things package-manifest.in:67: Missing file(s): bin/libnssdbm3.so We disable NSS_DISABLE_DBMS in configure.in, but the preprocessor define must not make it to package-manifest.in package-manifest.in:84: Missing file(s): bin/dependentlibs.list package-manifest.in:86: Missing file(s): bin/AndroidManifest.xml package-manifest.in:87: Missing file(s): bin/resources.arsc package-manifest.in:90: Missing file(s): bin/res/drawable package-manifest.in:91: Missing file(s): bin/res/drawable-hdpi package-manifest.in:92: Missing file(s): bin/res/layout Removed. Not needed by the packager package-manifest.in:93: Missing file(s): bin/distribution/* I left this since it might be the magic that moves a locale distribution into the APK. If it's not, we can remove. package-manifest.in:100: Missing file(s): bin/fennec-bin package-manifest.in:101: Missing file(s): bin/fennec Removed. We don't have these binaries package-manifest.in:105: Missing file(s): bin/blocklist.xml Turns out, we don't ship a blocklist. Maybe we should. package-manifest.in:120: Missing file(s): bin/components/browsercompsbase.xpt package-manifest.in:122: Missing file(s): bin/components/browser-feeds.xpt Removed. Desktop centric package-manifest.in:124: Missing file(s): bin/components/chardet.xpt package-manifest.in:167: Missing file(s): bin/components/dom_threads.xpt package-manifest.in:170: Missing file(s): bin/components/dom_views.xpt package-manifest.in:212: Missing file(s): bin/components/migration.xpt package-manifest.in:229: Missing file(s): bin/components/necko_wifi.xpt package-manifest.in:243: Missing file(s): bin/components/proxyObject.xpt package-manifest.in:247: Missing file(s): bin/components/sessionstore.xpt package-manifest.in:250: Missing file(s): bin/components/shellservice.xpt package-manifest.in:277: Missing file(s): bin/components/webshell_idls.xpt package-manifest.in:585: Missing file(s): bin/components/pipboot.xpt Removed. These are unneeded and were already removed from Desktop's package-manifest package-manifest.in:319: Missing file(s): bin/components/BrowserFeeds.manifest package-manifest.in:320: Missing file(s): bin/components/FeedConverter.js package-manifest.in:321: Missing file(s): bin/components/FeedWriter.js Remove. These are Desktop centric package-manifest.in:190: Missing file(s): bin/components/fuel.xpt package-manifest.in:326: Missing file(s): bin/components/fuelApplication.manifest package-manifest.in:327: Missing file(s): bin/components/fuelApplication.js Removed. No FUEL in Fennec package-manifest.in:328: Missing file(s): bin/components/WebContentConverter.js package-manifest.in:329: Missing file(s): bin/components/BrowserComponents.manifest package-manifest.in:330: Missing file(s): bin/components/nsBrowserContentHandler.js package-manifest.in:331: Missing file(s): bin/components/nsBrowserGlue.js package-manifest.in:334: Missing file(s): bin/components/nsSetDefaultBrowser.manifest package-manifest.in:335: Missing file(s): bin/components/nsSetDefaultBrowser.js package-manifest.in:349: Missing file(s): bin/components/nsSidebar.manifest package-manifest.in:375: Missing file(s): bin/components/nsSessionStore.manifest package-manifest.in:376: Missing file(s): bin/components/nsSessionStartup.js package-manifest.in:377: Missing file(s): bin/components/nsSessionStore.js package-manifest.in:380: Missing file(s): bin/components/libbrowsercomps.so package-manifest.in:442: Missing file(s): bin/components/HealthReportComponents.manifest package-manifest.in:443: Missing file(s): bin/components/HealthReportService.js Removed. These are Desktop centric package-manifest.in:493: Missing file(s): bin/chrome/browser package-manifest.in:494: Missing file(s): bin/chrome/browser.manifest package-manifest.in:502: Missing file(s): bin/chrome/icons/default/default16.png package-manifest.in:503: Missing file(s): bin/chrome/icons/default/default32.png package-manifest.in:504: Missing file(s): bin/chrome/icons/default/default48.png package-manifest.in:513: Missing file(s): bin/icons/*.xpm package-manifest.in:514: Missing file(s): bin/icons/*.png package-manifest.in:520: Missing file(s): bin/defaults/pref/mobile-branding.js Removed. Fennec does not have these things package-manifest.in:521: Missing file(s): bin/defaults/pref/channel-prefs.js I left this one until we know for sure it's not something we might want package-manifest.in:525: Missing file(s): bin/defaults/profile/prefs.js package-manifest.in:618: Missing file(s): bin/chrome/icons/ Removed. Fennec does not have these things package-manifest.in:638: Missing file(s): bin/components/Sidebar.js package-manifest.in:650: Missing file(s): bin/components/SafeBrowsing.jsm Removed. These are pulled from Toolkit now
Assignee: nobody → mark.finkle
Attachment #8702399 - Flags: review?(margaret.leibovic)
(In reply to Mark Finkle (:mfinkle) from comment #3) > package-manifest.in:22: Missing file(s): bin/defaults/profile/bookmarks.html > package-manifest.in:23: Missing file(s): bin/defaults/profile/localstore.rdf > package-manifest.in:24: Missing file(s): bin/defaults/profile/mimeTypes.rdf > package-manifest.in:25: Missing file(s): bin/defaults/profile/chrome/* Note that I'm taking care of those in bug 1234012
(In reply to Mark Finkle (:mfinkle) from comment #3) > package-manifest.in:93: Missing file(s): bin/distribution/* > > I left this since it might be the magic that moves a locale distribution > into the APK. If it's not, we can remove. You mean the local hack we use to put the distribution directory in the objdir? We could file a bug to create a more "correct" way to package a distribution, such as by using assets (like we're doing in bug 1234629). > package-manifest.in:105: Missing file(s): bin/blocklist.xml > > Turns out, we don't ship a blocklist. Maybe we should. What kind of blocklist is this? Blocked add-ons? We could file a bug for that.
Attachment #8702399 - Flags: review?(margaret.leibovic) → review+
(In reply to :Margaret Leibovic from comment #5) > > package-manifest.in:105: Missing file(s): bin/blocklist.xml > > > > Turns out, we don't ship a blocklist. Maybe we should. > > What kind of blocklist is this? Blocked add-ons? We could file a bug for > that. Yes, for add-ons. I filed bug 1235596
Attached patch unneeded-package-manifest v0.1 (deleted) — Splinter Review
This patch removes some desktop components that are overridden on Mobile: * nsSearchSuggestions.js -> Desktop only code * nsHelperAppDlg.js -> HelperAppDialog.js * nsContentDispatchChooser.js -> ContentDispatchChooser.js * nsPrompter.js -> PromptService.js
Attachment #8702644 - Flags: review?(margaret.leibovic)
Attachment #8702644 - Flags: review?(margaret.leibovic) → review+
(In reply to Mark Finkle (:mfinkle) from comment #8) > https://treeherder.mozilla.org/#/jobs?repo=try&revision=73ab754ed2e8 I see failures here (X1 and X2) that are related to PromptService.js using a fallback to the Prompter.js code. We added that in XUL Fennec because the "prompts" were based on XUL and we needed a "document" in order to access the elements. That went away in Native Fennec, so we should be able to drop that code.
Attached patch remove-doc-promptservice v0.1 (obsolete) (deleted) — Splinter Review
Removes the fallback to the old prompter
Attachment #8702690 - Flags: review?(margaret.leibovic)
Attachment #8702690 - Flags: review?(margaret.leibovic) → review+
Attached patch remove-doc-promptservice v0.2 (deleted) — Splinter Review
I had to add an additional component: AuthPromptAdapterFactory (and AuthPromptAdapter wrapper itself). This is a simple wrapper that allows nsIAuthPrompt1 act like an nsIAuthPrompt2. It's been around forever, but nsPrompter.js was supplying it. We supply it now. All tests passing: https://treeherder.mozilla.org/#/jobs?repo=try&revision=5dd4f7f01adc
Attachment #8702690 - Attachment is obsolete: true
Attachment #8702934 - Flags: review?(margaret.leibovic)
Comment on attachment 8702934 [details] [diff] [review] remove-doc-promptservice v0.2 Review of attachment 8702934 [details] [diff] [review]: ----------------------------------------------------------------- Sure, rubber stamp.
Attachment #8702934 - Flags: review?(margaret.leibovic) → review+
Product: Firefox for Android → Firefox Build System
Target Milestone: Firefox 46 → mozilla46
You need to log in before you can comment on or make changes to this bug.

Attachment

General

Created:
Updated:
Size: