Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 44a69f1b authored by Sonny Sasaka's avatar Sonny Sasaka
Browse files

Add scripts to generate Debian packages of Fluoride dependencies

To build Fluoride on Linux, there are dependencies that are not usually
provided by Linux package managers. This patch adds libchrome and
modp_b64 package generators to make building them easier on Debian-based
distros.

Bug: 179821440
Tag: #floss
Test: None
Change-Id: I93c6583d58635c65dbfbeea2ff556f09585225d5
parent a244f820
Loading
Loading
Loading
Loading
+16 −4
Original line number Diff line number Diff line
@@ -49,12 +49,24 @@ The following third-party dependencies are necessary but currently unavailable
via a package manager. You may have to build these from source and install them
to your local environment.

TODO(abhishekpandit) - Provide a pre-packaged option for these or proper build
instructions from source.

* libchrome
* modp_b64
* tinyxml2

We provide a script to produce debian packages for those components, please
follow the instructions in build/dpkg/README.txt.

The googletest packages provided by Debian/Ubuntu (libgmock-dev and
libgtest-dev) do not provide pkg-config files, so you can build your own
googletest using the steps below:

```
$ git clone https://github.com/google/googletest.git -b release-1.10.0
$ cd googletest        # Main directory of the cloned repository.
$ mkdir build          # Create a directory to hold the build output.
$ cd build
$ cmake ..             # Generate native build scripts for GoogleTest.
$ sudo make install -DCMAKE_INSTALL_PREFIX=/usr
```

### Stage your build environment

+25 −0
Original line number Diff line number Diff line
This directory contains scripts to build Debian packages as dependencies for
building Fluoride on Linux.

To generate the Debian packages, you need:

* Debian 10 (Buster)
* gn, get binary from https://chrome-infra-packages.appspot.com/dl/gn/gn/linux-amd64/+/latest
* apt-get install git debmake
* Other build dependencies are package dependent, you will get error message
  mentioning the list of missing packages

Steps to build debian packages (modp_b64 first):
```
$ cd build/dpkg/modp_b64
$ ./gen-src-pkg /tmp/modp_b64
```

If the above succeeded, there will be a .deb file in /tmp/modp_b64. You can
install this binary package locally like:
```
$ sudo dpkg -i /tmp/modp_b64/modp-b64_0.0.1-1_amd64.deb
```

After installing modp_b64, you can do the same steps with libchrome in
build/dpkg/libchrome.
+1 −0
Original line number Diff line number Diff line
libchrome for Debian
+5 −0
Original line number Diff line number Diff line
libchrome (780652-1) buster; urgency=low

  * Initial release.

 -- Sonny Sasaka <sonnysasaka@chromium.org>  Fri, 19 Mar 2021 19:41:40 +0000
+1 −0
Original line number Diff line number Diff line
10
Loading