GithubHelp home page GithubHelp logo

aggstam / librewolf-source-installer Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 21 KB

A helper script extracting and installing a packaged Liberwolf source tar archive.

License: Mozilla Public License 2.0

Makefile 61.45% Dockerfile 38.55%
librewolf

librewolf-source-installer's Introduction

librewolf-source-installer

A helper script extracting and installing a packaged Liberwolf source tar archive.
We are using 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 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.
If the repo folder is not on home root folder ~/, you should update it to contain the proper path.

Credits

Massive thanks to the Librewolf team for making such an awesome browser!
Repo icon and .desktop file where directly copied from Librewolf assets.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.