Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/aggstam/librewolf-source-installer
A helper script extracting and installing a packaged Liberwolf source tar archive.
https://github.com/aggstam/librewolf-source-installer
librewolf
Last synced: about 2 months ago
JSON representation
A helper script extracting and installing a packaged Liberwolf source tar archive.
- Host: GitHub
- URL: https://github.com/aggstam/librewolf-source-installer
- Owner: aggstam
- License: mpl-2.0
- Created: 2023-10-28T12:56:50.000Z (about 1 year ago)
- Default Branch: main
- Last Pushed: 2024-11-03T12:35:52.000Z (2 months ago)
- Last Synced: 2024-11-03T13:26:20.349Z (2 months ago)
- Topics: librewolf
- Language: Makefile
- Homepage:
- Size: 20.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# librewolf-source-installer
A helper script extracting and installing a packaged [Liberwolf](https://librewolf.net/) source tar archive.
We are using [source](https://codeberg.org/librewolf/source) repo as a `git` submodule, but you can use this
script to extract from another path.## Prerequisites
If you want to use the Librewolf source repo to build and package Librewolf yourself(the correct way),
you can use the `source` submodule folder.
On initial pull:
```
% git submodule update --init --recursive
```
To pull updates:
```
% git pull --recurse-submodules
```
Then, you can follow their [build](https://codeberg.org/librewolf/source#building-with-this-repository)
instructions, mirrored in the following build section, along with corresponding `make` targets, for convenience.
Additionally, a `docker` builder image is provided for building the source code,
without setting up a development environment.
### Build source
#### Initial pull
```
% cd source
% make dir
% make bootstrap
```
or
```
% make bootstrap-source
```
#### Build and package
```
% cd source
% make build
% make package
```
or
```
% make build-source
```
#### Using docker
On initial pull, we can create the `docker` builder image and bootstrap the source repo:
```
% docker build . -t librewolf-source-installer:builder -f ./docker/builder.Dockerfile
% docker run -it -v .:/repo librewolf-source-installer:builder /bin/sh -c "make bootstrap-source"
```
After `docker` builder has been created and bootstrapped, we can build the source code:
```
% docker run -it -v .:/repo librewolf-source-installer:builder /bin/sh -c "make build-source"
```
Keep in mind that `docker` uses `root` as its user, so `source` folder access rights will be moved from your user.## Usage
Script provides the following Make targets:
| Target | Description |
|----------------|--------------------------------------------|
| `build-folder` | Generate build folder |
| `clean` | Remove build artifacts |
| `extract` | Extract configured/provided archive |
| `install` | Install extracted artifacts |
| `desktop` | Install .desktop file |
| `firejail` | Install firejail configuration |
| `uninstall` | Remove installed artifacts from the system |Based on the above table, the basic usage is:
```
% make extract install
```
After that, you can generate the corresponding .desktop file and/or firejail
configuration using:
```
% make desktop
% make firejail
```
Obviously you can combine them all together in a single command:
```
% make extract install desktop firejail
```
If you are using a different archive, you can pass it using `TAR={YOUR_TAR_PATH_HERE]`
build argument, like:
```
% make extract install TAR=tar_downloaded_from_sus_site_def_not_malicious.tar.bz2
```## Notes
### Source folder
If you are using the source folder to build Librewolf, you should remove old packaged
versions, once you pulled and builded a newer one, to preserve your disk space.
### Firejail
A `librewolf.local` `firejail` configuration file is provided.## Credits
Massive thanks to the Librewolf team for making such an awesome browser!
Repo icon and .desktop file where directly copied from Librewolf assets.