# fossil-src **Repository Path**: TechCrazy/fossil-src ## Basic Information - **Project Name**: fossil-src - **Description**: Source code of fossil - **Primary Language**: Unknown - **License**: BSD-2-Clause - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 1 - **Created**: 2024-03-31 - **Last Updated**: 2024-03-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Source Code of Fossil ## Website Download the source code from `http://www.fossil-scm.org`. Current version is 2.22 [72d82404]. Download the official source code for [OpenSSL](https://www.openssl.org/source/). Current version is 3.1.0. ## Preparation * Windows [Perl](https://www.perl.org/) binaries should be installed locally (strawberry-perl-5.32.1.1). * Linux Install openssl development package (libssl-dev). ## Compiling ### Windows 1. Copy `openssl` subdirectory to `compact` directory. 1. Compile the source code by the following commands: ``` cd win buildmsvc.bat FOSSIL_ENABLE_SSL=1 FOSSIL_BUILD_SSL=1 PERLDIR=\bin ``` ### Linux Edit the file `autosetup/cc.tcl`, then find the section containing `-g -O2` and remove the `-g` flag. Use the following command: ``` sed -i "s/-g -O2/ -O2/g" ``` These files, `configure`, `autosetup/autosetup-find-tclsh`, must have executable permissions. Compile the source code by the following commands: ``` ./configure make ``` Copy the executable file `fossil` to `/usr/bin`. ### Cygwin The source code can be compiled under `Cygwin`. Select `autoconf`, `make`, `gcc`, `zlib-devel`, `openssl-devel`, and `mingw64` libraries in `devel` catalog when installing `Cygwin`. The generated exectuable file can run in `Cygwin` command window. The DLL files of `Cygwin` runtime including cygcrypto-1.0.0.dll, cygssl-1.0.0.dll, cygwin1.dll and cygz.dll should be copied to the same directory containing the generated executable file `fossil.exe`, then `fossil.exe` can run under Windows. ## Pack for cpkg system ### Windows server app: ``` cpkg-info.txt (from cpkg-info-w-s.app) bin/ fossil.exe scripts/ scripts/windows/fossil-server-*.* ``` client app: ``` cpkg-info.txt (from cpkg-info-c.app) bin/ fossil.exe scripts/ scripts/windows/fossil-client-*.* ``` ### Linux server app: ``` cpkg-info.txt (from cpkg-info-x-s.app) bin/ fossil scripts/ scripts/linux/fossil-server-*.* ``` client app: ``` cpkg-info.txt (from cpkg-info-c.app) bin/ fossil scripts/ scripts/linux/fossil-client-*.* ``` ## Directories for fossil-server `/public/fossil-server` should be created for repository folder of fossil-server package.