Get the Hollywood Source Code
Review & audit our code or compile your own copy.
The base of the Hollywood operating system is free and open source software, available under FSF & OSI compliant licenses including GPL2, GPL3, MIT, BSD and others. This includes the Hollywood desktop environment. There are a few exceptions to the FOSS rule including:
- Proprietary GPU drivers (where you opt to enable)
- Wireless card proprietary binary blobs (due to FCC & other authority regulations, and the ability for FOSS drivers to violate these regulations, it's very unlikely vendors will release FOSS drivers for Wi-Fi)
- Linux kernel firmware binary blobs for supporting other hardware.
The code to Hollywood is in 3 parts: Hollywood Desktop, Hollywood Packages and Supporting Libraries.
Hollywood Desktop
The Hollywood desktop git repository is at github.com/kitsnotes/hollywood. This repository holds all of the code for the desktop environment, as well as the horizon installer system.
This codebase can be checked out via:
git clone https://github.com/kitsnotes/hollywood.git
Compiling Hollywood Desktop
The Hollywood desktop is a Qt qmake based project. We do not support compiling this on non-Hollywood distributions, but in the interests of freedom, here's how to do it anyway.
It is advised to create two build folders inside the Hollywood tree as you need to build the entire tree for Qt6, as well as build some supporting libraries for Qt5.
cd /path/to/source/checkout/desktop/
mkdir build6 && cd build6
qmake-qt6 ../
make -j4 && sudo make install
cd ../ && mkdir build5 && cd build5
qmake-qt5 ../
make -j4 && sudo make install
Please note you should adjust the proper qmake binary names/paths to where you or your distribution has Qt installed. These binary names align with the Alpine/Hollywood qmake names.
Hollywood Packages
The Hollywood package repository is at github.com/kitsnotes/hollywood-packages. This repository holds an aports tree, which is all of the build scripts for building the system packages.
Compiling Hollywood Packages
On Hollywood you can install the hollywood-sdk
package to obtain compilers, toolchains and the abuild
system. Hollywood uses APKBUILD scripts like Alpine Linux. If you have built Alpine packages before, you're right at home. If you have built Arch Linux PKGBUILD files before, you should feel at home with minimal adjustments.
You should start by reading Creating an Alpine Package on the Alpine Linux wiki. This will largely apply to setting up the abuild
system on Hollwyood as well. You can run abuild
commands on individual packages within the system/ directory of the package repository.
Other helpful resources:
- Abuild and Helpers (from Alpine Wiki)
- Building an Alpine Package by Matthew Parris
Supporting Libraries
Hollywood's Terminull
currently requires a forked version of QTermWidget re-targeted for Qt6 with some additional patches. We hope to sync this upstream and eliminate this fork in the future.
You should obtain this from github.com/kitsnotes/qtermwidget-qt6.