updated patching process
This commit is contained in:
parent
7840cb8b39
commit
1e5d7528f6
4 changed files with 134 additions and 43 deletions
79
README.md
79
README.md
|
@ -10,6 +10,14 @@
|
|||
This is a "simple" script for building the Spitfire Browser based on Mozilla Firefox source code.
|
||||
</p>
|
||||
|
||||
## Project Overview
|
||||
|
||||
Spitfire Builder script is a tool designed to automate the building, patching, packaging, and uploading of the Spitfire Browser, which is based on the Mozilla Firefox source code. It streamlines tasks like:
|
||||
- Cloning and updating the Mozilla source repository.
|
||||
- Applying patches for Spitfire.
|
||||
- Building the browser for different platforms.
|
||||
- Compressing and uploading builts to a remote server.
|
||||
|
||||
## Dependencies
|
||||
|
||||
- Mercurial (hg)
|
||||
|
@ -17,33 +25,84 @@ This is a "simple" script for building the Spitfire Browser based on Mozilla Fir
|
|||
- Golang (tested with v1.21)
|
||||
- Python 3.11 and pip3
|
||||
|
||||
# Example usage:
|
||||
## Flags
|
||||
|
||||
## Build:
|
||||
Below is a detailed description of all the flags supported by the Spitfire Builder script:
|
||||
|
||||
### **General Flags**
|
||||
|
||||
- **`-h`**:
|
||||
Displays the help message and exits. Use this to see all available flags and their descriptions.
|
||||
|
||||
### **Build Process Flags**
|
||||
|
||||
- **`-a`**:
|
||||
Perform all steps of the build process, including cleaning, updating the repository, building, and applying patches.
|
||||
- **`-b`**:
|
||||
Compiles the source code without cleaning or updating.
|
||||
- **`--clean`**:
|
||||
Cleans the build directory by removing temporary or cached files.
|
||||
- **`-u`**:
|
||||
Updates the Mozilla source repository to the latest revision using Mercurial (`hg pull`).
|
||||
- **`--patches`**:
|
||||
Applies custom patches to the source code.
|
||||
- **`-r`**:
|
||||
Runs the built project after the build process completes successfully.
|
||||
|
||||
### **Compression and Upload Flags**
|
||||
|
||||
- **`-c`**:
|
||||
Compresses the build output into a `.tar.gz` file. Use with the `--upload-path` flag to specify the directory to compress.
|
||||
- **`--upload`**:
|
||||
Uploads the compressed build file to a remote server (e.g., SourceForge). Requires a configuration file (`sourceforge_config.json`) to define upload parameters.
|
||||
- **`--upload-path=<path>`**:
|
||||
Specifies the directory or file to upload. This is required for both compression and uploading.
|
||||
|
||||
### **Customization Flags**
|
||||
|
||||
- **`-p=<path>`**:
|
||||
Specifies the build directory path. If not provided, the default path is used.
|
||||
- **`-t=<target>`**:
|
||||
Sets the target format for the build output. The format follows `component-arch-release-platform`.
|
||||
- **`-v=<version>`**:
|
||||
Defines the version of the package. For nightly builds, the current date is used by default.
|
||||
- **`--component=<name>`**:
|
||||
Sets the name of the component being built (default: 'browser').
|
||||
- **`--arch=<architecture>`**:
|
||||
Specifies the architecture for the build (default: system architecture, e.g., `amd64`).
|
||||
- **`--release=<type>`**:
|
||||
Specifies the release type (`stable`, `nightly`, etc.). Default is `nightly`.
|
||||
- **`--platform=<platform>`**:
|
||||
Sets the platform for the build (default: system platform, e.g., `linux`).
|
||||
|
||||
## Example usage:
|
||||
|
||||
- **All steps**:
|
||||
```sh
|
||||
go run . -a
|
||||
```
|
||||
|
||||
## Upload:
|
||||
- **Build only**:
|
||||
```sh
|
||||
go run . -b
|
||||
```
|
||||
|
||||
- **Upload**:
|
||||
```sh
|
||||
go run . --upload -c --upload-path=./mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin
|
||||
```
|
||||
|
||||
## Build and upload:
|
||||
|
||||
- **Build and upload**:
|
||||
```sh
|
||||
go run . --upload -c --upload-path=./mozilla-central/obj-x86_64-pc-linux-gnu/dist/bin -a
|
||||
```
|
||||
|
||||
## Display all flags:
|
||||
|
||||
- **Display all flags**:
|
||||
```sh
|
||||
go run . -h
|
||||
```
|
||||
|
||||
### Config file for uploading example:
|
||||
## Config file for uploading example:
|
||||
|
||||
*sourceforge_config.json*
|
||||
|
||||
|
@ -67,7 +126,7 @@ A:amd64
|
|||
S:788506622
|
||||
I:3324483350
|
||||
T:Spitfire build
|
||||
U:https://spitfirebrowser.com/
|
||||
U:https://spitfirebrowser.xyz/
|
||||
L:AGPL-3.0
|
||||
o:browser
|
||||
m:Internet Addict
|
||||
|
@ -79,7 +138,7 @@ q:
|
|||
Z:905cd0cc2dea9e400e1ecd099462b6b19188a9f1
|
||||
```
|
||||
|
||||
## Repositary structure
|
||||
## Repository structure
|
||||
|
||||
```
|
||||
spitfire-browser/
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue