Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
| Artifact ID: | e5b5ccd8e87c83c66c5a24801157a951242de4e491bb8097338f0d917d075a73 |
|---|---|
| Page Name: | Release Build How-To |
| Date: | 2020-04-26 15:38:21 |
| Original User: | drh |
| Mimetype: | text/x-markdown |
| Parent: | 717eb953465dc02f54f593bb1f4a066506af6d6b2b67cb5d8acd892359a2cc8e (diff) |
| Next | 6fd69490dc8d509972fb9577171d3aa1c40abf80e2238732388ae2795e3d9e56 |
Content
Notes on how Fossil precompiled binaries are built and uploaded
Download Page
fossil uv edit download.js- Edit the "releases" variable in the javascript to add the new release number and title and various hyperlinks. Perhaps also remove older releases.
- Remove obsolete build products:
fossil uv rm $FILETODELETE fossil uv sync
Linux
- Set up in-tree OpenSSL:
- Download the OpenSSL tarball and unpack it into
compat/openssl -
cdinto thecompat/openssldirectory -
./config no-ssl3 no-weak-ssl-ciphers no-shared no-threads --openssldir=/usr/lib/ssl -
make
- Download the OpenSSL tarball and unpack it into
./configure --with-openssl=tree --disable-fusefs- Edit the Makefile to move
-lpthread CFLAGS="-Os" make -e clean fossilstrip fossil- Verify dependencies using "
ldd ./fossil" tar czf fossil-linux-x64-$VERSION.tar.gz fossilfossil uv add fossil-linux-x64-$VERSION.tar.gzfossil uv sync
Linux (alternative procedures)
- Log into www.fossil-scm.org
- cd to /home/www/fossil/b1
- Run the script ./rebuild.sh
- Logout
- Download the file www.fossil-scm.org:/home/www/usr/bin/fossil
strip fossiltar czf fossil-linux-x64-$VERSION.tar.gz fossilfossil uv add fossil-linux-x64-$VERSION.tar.gzfossil uv sync
Raspberry Pi
./configure- Edit Makefile so that instead of -lssl and -lcrypto there are complete paths to the libssl.a and libcrypto.a files.
CFLAGS="-Os" make -e clean fossil && strip fossiltar czf fossil-pi-$VERSION.tar.gz fossilfossil uv add fossil-pi-$VERSION.tar.gzfossil uv sync
Windows 32-bit using MINGW
- On the Windows 10 laptop in a MinGW shell in ~/fossil/m1
fossil cleanmake -f win/makefile.mingw FOSSIL_ENABLE_SSL=1 OPENSSLDIR=../../openssl-1.0.1t- OR:
tclsh ../mkfossil.tcl - Verify dependences:
dumpbin /dependents fossil.exe zip fossil-w32-$VERSION.zip fossil.exefossil uv add fossil-w32-$VERSION.zipfossil uv sync
Windows 64-bit using MSVC
- Run all of the following from a "x64 Native Tools Command Prompt"
- Set up in-tree OpenSSL:
- Install Strawberry-Perl if it is not already installed
- Download the OpenSSL tarball and unpack under
compat/ -
cdinto the OpenSSL source directory -
c:/strawberry/perl/bin/perl Configure VC-WIN64A no-asm no-ssl3 no-weak-ssl-ciphers no-shared -
nmake /f makefile
cdinto thewin/subfolder of the Fossil source tree.nmake /f Makefile.msc FOSSIL_ENABLE_SSL=1 clean fossil.exe- Verify dependences:
dumpbin /dependents fossil.exe zip fossil-w64-$VERSION.zip fossil.exefossil uv add fossil-w64-$VERSION.zipfossil uv sync
Mac
./configure- Edit the Makefile to specify /usr/local/opt/openssl/lib/libcrypto.a and /usr/local/opt/openssl/lib/libssl.a in place of -lcrypto and -lssl, and to add -liconv at the end
CFLAGS="-Os" make -e clean fossil- Verify no shared library dependencies using:
otool -L ./fossil strip fossilcodesign -s drh@sqlite.org fossil- Verify the signature using:
codesign -d -v fossil tar czf fossil-macosx-$VERSION.tar.gz fossilfossil uv add fossil-macosx-$VERSION.tar.gzfossil uv sync
Source Tarball
fossil tarball --name fossil-$VERSION version-$VERSION fossil-src-$VERSION.tar.gz