Many hyperlinks are disabled.
Use anonymous login
to enable hyperlinks.
Overview
Artifact ID: | cd63e36f18b1d559b92367be413924043ae6c1b912e6e08dbbfa846584414449 |
---|---|
Page Name: | Release Build How-To |
Date: | 2021-10-13 11:31:24 |
Original User: | danield |
Mimetype: | text/x-markdown |
Parent: | 60e4576177dad9c7fe58a9c5435bab76f6be536aaabebd9ae4cc47217de3b055 |
Content
Notes on how Fossil deliverables 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 --glob $PATTERN
fossil uv sync
Linux
- Set up in-tree OpenSSL:
- Download the OpenSSL tarball and unpack it into
compat/openssl
-
cd
into thecompat/openssl
directory -
./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
- If the Makefile contains a reference to
-lpthread
, remove it. CFLAGS="-Os" make -e clean fossil
strip fossil
- Verify dependencies using "
ldd ./fossil
" tar czf fossil-linux-x64-$VERSION.tar.gz fossil
fossil uv add fossil-linux-x64-$VERSION.tar.gz
fossil 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 fossil
tar czf fossil-linux-x64-$VERSION.tar.gz fossil
fossil uv add fossil-linux-x64-$VERSION.tar.gz
fossil uv sync
Mac
- On the circa 2010 Macbook Air (running MacOS 10.13.6) do this:
- Set up in-tree OpenSSL:
- Download the OpenSSL tarball and unpack it into
compat/openssl
-
cd
into thecompat/openssl
directory -
./config no-ssl3 no-weak-ssl-ciphers no-shared no-threads --openssldir=/usr/local/etc/openssl
-
CFLAGS=-Os make -e
- Download the OpenSSL tarball and unpack it into
./configure --with-openssl=tree
CFLAGS="-Os" make -e clean fossil
- Verify no shared library dependencies using:
otool -L ./fossil
strip fossil
- Transfer the "fossil" binary to the iMac running Big Sur
codesign -s drh@sqlite.org fossil
- Verify the signature using:
codesign -d -v fossil
tar czf fossil-macosx-$VERSION.tar.gz fossil
fossil uv add fossil-macosx-$VERSION.tar.gz
fossil 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:
- /usr/lib/arm-linux-gnueabihf/libssl.a
- /usr/lib/arm-linux-gnueabihf/libcrypto.a
CFLAGS="-Os" make -e clean fossil && strip fossil
tar czf fossil-pi-$VERSION.tar.gz fossil
fossil uv add fossil-pi-$VERSION.tar.gz
fossil uv sync
Source Tarball
fossil tarball --name fossil-$VERSION version-$VERSION fossil-src-$VERSION.tar.gz
fossil uv add fossil-src-$VERSION.tar.gz
fossil uv sync
Windows 32-bit using MINGW
- On the Windows 10 laptop in a MinGW shell in ~/fossil/m1
fossil clean
make -f win/makefile.mingw FOSSIL_ENABLE_SSL=1 OPENSSLDIR=../../openssl-1.0.1t
- OR:
tclsh ../mkfossil.tcl
- Verify dependencies:
dumpbin /dependents fossil.exe
zip fossil-w32-$VERSION.zip fossil.exe
fossil uv add fossil-w32-$VERSION.zip
fossil 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/
-
cd
into 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
cd
into thewin/
subfolder of the Fossil source tree.nmake /f Makefile.msc FOSSIL_ENABLE_SSL=1 OPTIMIZATIONS=4 clean fossil.exe
- Verify dependencies:
dumpbin /dependents fossil.exe
zip fossil-w64-$VERSION.zip fossil.exe
fossil uv add fossil-w64-$VERSION.zip
fossil uv sync