brave / brave-browser

Brave browser for Android, iOS, Linux, macOS, Windows.
https://brave.com
Mozilla Public License 2.0
17.85k stars 2.33k forks source link

source RPMs for rebuilding RPMs #13353

Open JayDoubleu opened 3 years ago

JayDoubleu commented 3 years ago

Does brave have a SRPM files available to rebuild RPMs ?

kjozwiak commented 3 years ago

CCing @fmarier @mihaiplesa

fmarier commented 3 years ago

We do not currently have these available.

If you'd like to build the packages from source, you can follow these instructions: https://github.com/brave/brave-browser/wiki/Linux-packages

JayDoubleu commented 3 years ago

Well, I am mainly looking at it from perspective of rpm-flatpaks which are essentially flatpaks built from source RPM packages available in fedora.

@fmarier is there an ETA or any timeline for source RPM itself being on the roadmap?

Another question which I guess is not exactly related to this but is brave truly a FOSS ? If so, having source RPMs would allow brave to be available natively in Fedora and other RPM based distros directly from package managers as well as flatpak (once source RPM is there it can be made into flatpak)

fmarier commented 3 years ago

I just built the packages (npm run create_dist Release) and I don't see any source RPMs generated in src/out/Release/. This is the Chromium code that builds the RPMs: https://source.chromium.org/chromium/chromium/src/+/master:chrome/installer/linux/rpm/build.sh;l=84-120;drc=2fc4cadb85c37f3d834227b8ee8e35d7f6a937c0

fmarier commented 3 years ago

Another question which I guess is not exactly related to this but is brave truly a FOSS ?

Yes, we release our code under MPL-2 and we don't include any proprietary code in Brave binaries. Things like Widevine DRM for example are downloaded and loaded at runtime (if not disabled in the settings).

JayDoubleu commented 3 years ago

The chromium source is using this spec file template below (to generate RPM file): https://source.chromium.org/chromium/chromium/src/+/master:chrome/installer/linux/rpm/chrome.spec.template

While Fedora RPM is being built from this: https://src.fedoraproject.org/rpms/chromium/blob/master/f/chromium.spec

So I guess I am essentially looking at a way to build brave without using NPM entirely or using npm within the spec file .. 🤔

+ Looks like fedora their own packaging requirements for nodejs here : https://docs.fedoraproject.org/en-US/packaging-guidelines/Node.js/#_installing_modules

They also have : https://github.com/theforeman/npm2rpm