first version of the installer
This commit is contained in:
parent
eb57a55bc7
commit
ab8183a332
7 changed files with 186 additions and 24 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
|
@ -4,3 +4,5 @@ megabar.patch
|
||||||
remove_addons.patch
|
remove_addons.patch
|
||||||
unity-menubar.patch
|
unity-menubar.patch
|
||||||
mozconfig
|
mozconfig
|
||||||
|
Makefile
|
||||||
|
librewolf
|
||||||
80
README.md
80
README.md
|
|
@ -1,22 +1,84 @@
|
||||||
|
LibreWolf for Win64
|
||||||
|
-------------------
|
||||||
|
|
||||||
This repository is still a work in progress.
|
This repository is still a work in progress.
|
||||||
|
|
||||||
But we have a zip file available for testing right now..
|
But we have a zip file and an installer available for testing right now..
|
||||||
|
|
||||||
Download link to the prerelease alpha zip file is [here](https://gitlab.com/librewolf-community/browser/windows/uploads/5e9d436515d315d4e8953f88bf02bd99/librewolf-85.0.en-US.win64.zip).
|
Download link to this prerelease is:
|
||||||
|
* Zip file is: [librewolf-85.0.en-US.win64.zip](https://gitlab.com/librewolf-community/browser/windows/uploads/5e9d436515d315d4e8953f88bf02bd99/librewolf-85.0.en-US.win64.zip).
|
||||||
|
* The installer is: [librewolf-85.0.en-US.win64-setup.exe](https://gitlab.com/librewolf-community/browser/windows/uploads/ec6f7e7dc1096bf7730f503d856d3a9f/librewolf-85.0.en-US.win64-setup.exe).
|
||||||
|
|
||||||
To do:
|
Note: If your version of LibreWolf does _not_ run, an additional install of the [Microsoft Visual C++ 2010 Redistributable Package (x64)](https://www.microsoft.com/en-us/download/details.aspx?id=14632) might be required.
|
||||||
|
|
||||||
* Creating an installer.
|
Building the package:
|
||||||
* Branding issues, include a good icon for librewolf.exe
|
---------------------
|
||||||
* Other Branding Issues
|
|
||||||
* Improve this README.md to contain detailed instructions on how to build.
|
|
||||||
|
|
||||||
For now, if you want to attempt to build, this build does require you to:
|
For now, if you want to attempt to build, this build does require you to:
|
||||||
|
|
||||||
* First build the mozilla-unified as explained in the mozilla docs, using all the ./mach bootstrap stuff
|
* First build the mozilla-unified as explained in the mozilla docs, using all the ./mach bootstrap stuff
|
||||||
* You can delete this mozilla-unified thing to save some space (try ./mach run on it just for fun)
|
* You can delete this mozilla-unified thing to save some space (try ./mach run on it just for fun)
|
||||||
* Then clone the windows repo
|
* Then clone the windows repo
|
||||||
* cd into it, and build with: **time bash build.sh fetch prepare build package installer_win**
|
* cd into it, and build with: **time bash build.sh**
|
||||||
* you can perform each of the build steps individually and the overall script structure follows PKGBULD as used on Archlinux
|
* You can perform each of the build steps individually and the overall script structure follows PKGBULD as used on Archlinux
|
||||||
* This will produce a **librewolf-85.0.en-US.win64.zip** in this windows folder.
|
* This will produce a **librewolf-85.0.en-US.win64.zip** in this windows folder.
|
||||||
|
|
||||||
|
Once you have built the entire mozilla-unified with all the mach bootstrap stuff (which will
|
||||||
|
install the needed binaries in $HOME/.mozbuild), don't forget to copy the entire
|
||||||
|
C:\Program Files\Git folder to /c/mozilla-source to get a sed.exe that understands the -z option,
|
||||||
|
and to get sha256sum.exe.
|
||||||
|
|
||||||
|
build.sh
|
||||||
|
--------
|
||||||
|
|
||||||
|
You can perform all the steps on one go, or perform the build steps individually, to note:
|
||||||
|
* build.sh fetch prepare build package installer_win
|
||||||
|
|
||||||
|
To do:
|
||||||
|
------
|
||||||
|
|
||||||
|
* Branding issues.
|
||||||
|
* Improve this README.md to contain better, detailed instructions on how to build.
|
||||||
|
* problem with old sed. does not recognize -z. using the one from Git might be a work around.
|
||||||
|
|
||||||
|
|
||||||
|
Branding issue: resource files
|
||||||
|
------------------------------
|
||||||
|
|
||||||
|
* This section is just some notes.
|
||||||
|
* Build fail on missing stubinstaller (might be a FF bug as it should just take missing
|
||||||
|
stuff from the nightly branding folder?)
|
||||||
|
|
||||||
|
```
|
||||||
|
$ mkdir stubinstaller
|
||||||
|
$ cp bgstub.jpg stubinstaller
|
||||||
|
$ pwd
|
||||||
|
/c/mozilla-source/firefox-85.0/browser/branding/librewolf
|
||||||
|
$
|
||||||
|
|
||||||
|
* checking all the different files in nightly and librewolf
|
||||||
|
|
||||||
|
$ cd nightly
|
||||||
|
$ find . | sort > /c/mozilla-source/branding-nightly.txt
|
||||||
|
$ cd ../librewolf/
|
||||||
|
$ find . | sort > /c/mozilla-source/branding-librewolf.txt
|
||||||
|
|
||||||
|
|
||||||
|
$ diff branding-nightly.txt branding-librewolf.txt
|
||||||
|
4a5,6
|
||||||
|
> ./bgstub.jpg
|
||||||
|
> ./bgstub_2x.jpg
|
||||||
|
7a10
|
||||||
|
> ./content/about-background.png
|
||||||
|
9,10d11
|
||||||
|
< ./content/about-logo.svg
|
||||||
|
< ./content/about-logo@2x.png
|
||||||
|
14,15d14
|
||||||
|
< ./content/aboutlogins.svg
|
||||||
|
< ./content/firefox-wordmark.svg
|
||||||
|
22,24d20
|
||||||
|
< ./default22.png
|
||||||
|
< ./default24.png
|
||||||
|
< ./default256.png
|
||||||
|
$
|
||||||
|
```
|
||||||
|
|
|
||||||
12
build.sh
12
build.sh
|
|
@ -154,12 +154,13 @@ installer_win() {
|
||||||
|
|
||||||
# there is just too much garbage in this installer function to
|
# there is just too much garbage in this installer function to
|
||||||
# have it all here..
|
# have it all here..
|
||||||
. ../installer_win
|
. ../installer_win.sh
|
||||||
|
|
||||||
cd ..
|
cd ..
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# windows: change $PATH to find all the build tools in .mozbuild
|
# windows: change $PATH to find all the build tools in .mozbuild
|
||||||
# this might do the trick on macos aswell?
|
# this might do the trick on macos aswell?
|
||||||
if [ -f '/c/mozilla-build/start-shell.bat' ]; then
|
if [ -f '/c/mozilla-build/start-shell.bat' ]; then
|
||||||
|
|
@ -192,8 +193,11 @@ if [[ "$*" == *installer_win* ]]; then
|
||||||
done_something=1
|
done_something=1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
|
# by default, do the whole thing..
|
||||||
if (( done_something == 0 )); then
|
if (( done_something == 0 )); then
|
||||||
echo "Usage: $0 fetch | prepare | build | package | installer_win"
|
fetch
|
||||||
exit
|
prepare
|
||||||
|
build
|
||||||
|
package
|
||||||
|
installer_win
|
||||||
fi
|
fi
|
||||||
|
|
|
||||||
|
|
@ -1,11 +0,0 @@
|
||||||
# apply the LibreWolf settings
|
|
||||||
cp -rv ../settings/* obj-x86_64-pc-mingw32/dist/librewolf
|
|
||||||
|
|
||||||
# recreate the zip file..
|
|
||||||
cd obj-x86_64-pc-mingw32/dist
|
|
||||||
rm -f librewolf-$pkgver.en-US.win64.txt librewolf-$pkgver.en-US.win64.zip
|
|
||||||
zip -r9 librewolf-$pkgver.en-US.win64.zip librewolf
|
|
||||||
/c/mozilla-source/Git/usr/bin/sha256sum.exe librewolf-$pkgver.en-US.win64.zip > librewolf-$pkgver.en-US.win64.zip.sha256sum
|
|
||||||
rm -f ../../../librewolf-$pkgver.en-US.win64.zip*
|
|
||||||
cp librewolf-$pkgver.en-US.win64.zip* ../../..
|
|
||||||
cd ../..
|
|
||||||
24
installer_win.sh
Normal file
24
installer_win.sh
Normal file
|
|
@ -0,0 +1,24 @@
|
||||||
|
# apply the LibreWolf settings
|
||||||
|
cp -rv ../settings/* obj-x86_64-pc-mingw32/dist/librewolf
|
||||||
|
|
||||||
|
# recreate the zip file..
|
||||||
|
cd obj-x86_64-pc-mingw32/dist
|
||||||
|
# clean garbage files
|
||||||
|
rm -vrf librewolf/uninstall librewolf/maintenanceservice* librewolf/pingsender.exe
|
||||||
|
# be sure to remove the previous zip file..
|
||||||
|
rm -vf librewolf-$pkgver.en-US.win64.txt librewolf-$pkgver.en-US.win64.zip
|
||||||
|
zip -r9 librewolf-$pkgver.en-US.win64.zip librewolf
|
||||||
|
/c/mozilla-source/Git/usr/bin/sha256sum.exe librewolf-$pkgver.en-US.win64.zip > librewolf-$pkgver.en-US.win64.zip.sha256sum
|
||||||
|
# copy the resulting zip file
|
||||||
|
rm -vf ../../../librewolf-$pkgver.en-US.win64.zip*
|
||||||
|
cp -v librewolf-$pkgver.en-US.win64.zip* ../../..
|
||||||
|
cd ../..
|
||||||
|
|
||||||
|
# now to try to make the installer
|
||||||
|
pushd ..
|
||||||
|
rm -vrf librewolf
|
||||||
|
unzip librewolf-$pkgver.en-US.win64.zip
|
||||||
|
cp -v missing_branding_files/firefox.ico librewolf/librewolf.ico
|
||||||
|
makensis-3.01.exe librewolf.nsi
|
||||||
|
/c/mozilla-source/Git/usr/bin/sha256sum.exe librewolf-$pkgver.en-US.win64-setup.exe > librewolf-$pkgver.en-US.win64-setup.exe.sha256sum
|
||||||
|
popd
|
||||||
81
librewolf.nsi
Normal file
81
librewolf.nsi
Normal file
|
|
@ -0,0 +1,81 @@
|
||||||
|
#
|
||||||
|
# Change these values to fit your application...
|
||||||
|
#
|
||||||
|
|
||||||
|
!define APPNAME "LibreWolf" # Full app name, like: Gtk+ 2.0 Hello World
|
||||||
|
!define PROGNAME "librewolf" # executable name, like: gtk2hello
|
||||||
|
!define PROG_VERSION "85.0" # the program version, like: 0.3.0
|
||||||
|
!define ICON_NAME "librewolf.ico" # filename of icon to use for this app, this file should be in src/
|
||||||
|
!define COMPANYNAME "LibreWolf" # Your name, or company (or just the program name)
|
||||||
|
!define ESTIMATED_SIZE 190000 # Estimated size (in KB) of installed program for use in "add or remove programs" / 190 MB
|
||||||
|
|
||||||
|
#
|
||||||
|
# The actual installer/uninstaller, you should not need to change much here below
|
||||||
|
#
|
||||||
|
|
||||||
|
Name "${PROGNAME}"
|
||||||
|
OutFile "${PROGNAME}-${PROG_VERSION}.en-US.win64-setup.exe"
|
||||||
|
InstallDir $PROGRAMFILES64\${APPNAME}
|
||||||
|
RequestExecutionLevel admin
|
||||||
|
|
||||||
|
Page directory
|
||||||
|
Page instfiles
|
||||||
|
|
||||||
|
function .onInit
|
||||||
|
setShellVarContext all
|
||||||
|
functionEnd
|
||||||
|
|
||||||
|
Section "${PROGNAME}"
|
||||||
|
|
||||||
|
# Copy files
|
||||||
|
SetOutPath $INSTDIR
|
||||||
|
File /r librewolf\*.*
|
||||||
|
|
||||||
|
# Start Menu
|
||||||
|
createDirectory "$SMPROGRAMS\${COMPANYNAME}"
|
||||||
|
createShortCut "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}.lnk" "$INSTDIR\${PROGNAME}.exe" "" "$INSTDIR\${ICON_NAME}"
|
||||||
|
|
||||||
|
# Uninstaller
|
||||||
|
writeUninstaller "$INSTDIR\uninstall.exe"
|
||||||
|
|
||||||
|
# Registry information for add/remove programs
|
||||||
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "DisplayName" "${APPNAME}"
|
||||||
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "UninstallString" "$\"$INSTDIR\uninstall.exe$\""
|
||||||
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "QuietUninstallString" "$\"$INSTDIR\uninstall.exe$\" /S"
|
||||||
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "InstallLocation" "$\"$INSTDIR$\""
|
||||||
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "DisplayIcon" "$\"$INSTDIR\${ICON_NAME}$\""
|
||||||
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "Publisher" "${COMPANYNAME}"
|
||||||
|
WriteRegStr HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "DisplayVersion" "${PROG_VERSION}"
|
||||||
|
# There is no option for modifying or repairing the install
|
||||||
|
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "NoModify" 1
|
||||||
|
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "NoRepair" 1
|
||||||
|
# Set the INSTALLSIZE constant (!defined at the top of this script) so Add/Remove Programs can accurately report the size
|
||||||
|
WriteRegDWORD HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}" "EstimatedSize" ${ESTIMATED_SIZE}
|
||||||
|
|
||||||
|
SectionEnd
|
||||||
|
|
||||||
|
# Before uninstall, ask for confirmation
|
||||||
|
function un.onInit
|
||||||
|
SetShellVarContext all
|
||||||
|
|
||||||
|
#Verify the uninstaller - last chance to back out
|
||||||
|
MessageBox MB_OKCANCEL "Permanantly remove ${APPNAME}?" IDOK next
|
||||||
|
Abort
|
||||||
|
next:
|
||||||
|
functionEnd
|
||||||
|
|
||||||
|
# Uninstaller
|
||||||
|
section "uninstall"
|
||||||
|
|
||||||
|
# Remove Start Menu launcher
|
||||||
|
delete "$SMPROGRAMS\${COMPANYNAME}\${APPNAME}.lnk"
|
||||||
|
# Try to remove the Start Menu folder - this will only happen if it is empty
|
||||||
|
rmDir "$SMPROGRAMS\${COMPANYNAME}"
|
||||||
|
|
||||||
|
# Remove files
|
||||||
|
rmDir /r $INSTDIR
|
||||||
|
|
||||||
|
# Remove uninstaller information from the registry
|
||||||
|
DeleteRegKey HKLM "Software\Microsoft\Windows\CurrentVersion\Uninstall\${COMPANYNAME} ${APPNAME}"
|
||||||
|
|
||||||
|
sectionEnd
|
||||||
BIN
missing_branding_files/firefox.ico
Normal file
BIN
missing_branding_files/firefox.ico
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 31 KiB |
Loading…
Add table
Reference in a new issue