A script:
#!/bin/sh
cd "$HOME"
mkdir kocsog_gugli 2>/dev/null
cd kocsog_gugli
echo
echo "======================"
echo "Getting depot tools..."
echo "======================"
echo
git clone https://chromium.googlesource.com/chromium/tools/depot_tools.git
export PATH=$PATH:"$HOME"/kocsog_gugli/depot_tools
echo
echo "=========================="
echo "Getting Chromium source..."
echo "=========================="
echo
mkdir chromium 2>/dev/null
cd chromium/
fetch --nohooks chromium
free > /dev/null && sync > /dev/null && echo 3 > /proc/sys/vm/drop_caches && free > /dev/null
echo
echo "===================="
echo "Checkout and sync..."
echo "===================="
echo
cd src
git checkout 73.0.3683.75
gclient sync -D
free > /dev/null && sync > /dev/null && echo 3 > /proc/sys/vm/drop_caches && free > /dev/null
# Use the "fontconfig.patch" from UGC and not from Debian. The rest of the two patchset can be merged.
echo
echo "==========="
echo "Patching..."
echo "==========="
echo
echo "Getting Debian patchset..."
wget http://deb.debian.org/debian/pool/main/c/chromium/chromium_73.0.3683.75-1~deb9u1.debian.tar.xz
tar xf chromium_73.0.3683.75-1~deb9u1.debian.tar.xz
rm chromium_73.0.3683.75-1~deb9u1.debian.tar.xz
rm -rf debian/patches/arm
find debian/patches/ -name '*.patch' -exec mv {} ./ \;
rm -rf debian
echo "Getting Ungoogled-Chromium patchset..."
git clone https://github.com/Eloston/ungoogled-chromium/
cd ungoogled-chromium/
git checkout 73.0.3683.103-2
cd ..
find ungoogled-chromium/patches/ -name '*.patch' -exec mv {} ./ \;
rm -rf ungoogled-chromium
# Remove unneeded libevent, libicu and fingerprinting patches.
rm event.patch icu.patch icu57.patch icu-new.patch fingerprinting-flags-client-rects-and-measuretext.patch flag-fingerprinting-canvas-image-data-noise.patch
echo "Applying patches..."
for PATCH in *.patch
do
echo "****************"
echo "* ""$PATCH"
echo "****************"
patch -p1 -f < "$PATCH"
echo "****************"
echo
done
rm *.patch
# Some files are left in an uncompilable state.
echo "Some hand patching..."
# Designated initializers patch is erroneous with the bundled CLang 9.
sed -i.bak 's/ Settings(bool randomise):randomised_sampling_enabled(randomise) {}//g' base/task/sequence_manager/sequence_manager.h
# Patch a mispatched file's macro.
sed -i.bak -n '1h;1!H;${g;s/#endif\n#endif/#endif/;p;}' chrome/browser/ui/chrome_pages.cc
# Safe browsing patch is erroneous with chrome 73.0.
sed -i.bak '/^static_library("safe_browsing") {/i sources = []\n deps = []' chrome/browser/safe_browsing/BUILD.gn
# Comment some ICU calls in the bug reporting.
sed -i.bak 's|u_|// u_|g' third_party/breakpad/breakpad/src/common/string_conversion.cc
# Rename a duplicate dummy function.
sed -i.bak 's/QuarantineFileResult QuarantineFile/QuarantineFileResult QuarantineFile1/g' components/download/quarantine/quarantine.cc
# Chromium needs libz.
sed -i.bak 's/ ldflags = \[\]/ ldflags = \[ "-lz" \]/g' chrome/BUILD.gn
echo
echo "============="
echo "Generating..."
echo "============="
echo
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH":/usr/lib/x86_64-linux-gnu/pkgconfig/
wget https://raw.githubusercontent.com/Eloston/ungoogled-chromium/73.0.3683.103-2/flags.gn
echo 'gtk_version=2' >> flags.gn
echo 'use_gnome_keyring=false' >> flags.gn
echo 'use_pulseaudio=false' >> flags.gn
echo 'use_sysroot=false' >> flags.gn
sed -i.bak 's/is_official_build=true/is_official_build=false/g' flags.gn
gn gen out/Release "--args=`cat flags.gn | tr '\n' ' '`"
gn args --list out/Release/ > ninja.settings
free > /dev/null && sync > /dev/null && echo 3 > /proc/sys/vm/drop_caches && free > /dev/null
echo
echo "==========="
echo "Building..."
echo "==========="
echo
autoninja -C out/Release chrome
free > /dev/null && sync > /dev/null && echo 3 > /proc/sys/vm/drop_caches && free > /dev/null
echo
echo "============"
echo "Packaging..."
echo "============"
echo
cd out/Release
mkdir ungoogled-chromium-devuan2-gtk2-portable
cp -R locales chrome *.pak *.info *.so *.bin *.dat ungoogled-chromium-devuan2-gtk2-portable/
tar -zcf ungoogled-chromium-devuan2-gtk2-portable.tar.gz ungoogled-chromium-devuan2-gtk2-portable
rm -rf ungoogled-chromium-devuan2-gtk2-portable
mv ungoogled-chromium-devuan2-gtk2-portable.tar.gz "$HOME"/
free > /dev/null && sync > /dev/null && echo 3 > /proc/sys/vm/drop_caches && free > /dev/null
if [ "$1" != "" ];
then
echo
echo "=============="
echo "Cleaning up..."
echo "=============="
echo
rm -rf "$HOME"/kocsog_gugli
free > /dev/null && sync > /dev/null && echo 3 > /proc/sys/vm/drop_caches && free > /dev/null
fi
- TCH blogja
- A hozzászóláshoz be kell jelentkezni
- 306 megtekintés
Hozzászólások
1-2 szót írhatnál arról, hogy mire is jó ez! A Debian-ban eleve ilyen ungoogled változat van, jól értem?
- A hozzászóláshoz be kell jelentkezni
Nem, a Debian 9-ben egy patchelt 73.0-ás Chromium van, de az nem ungoogled, ugyanúgy kémkedik, viszont a Debian Team csinált hozzá GTK2-es patchet.
Az Ungoogled Chromium egy olyan Chromium-hoz való patchset, ami kitakarítja a Chromiumból a kugli összes spyware-ét, viszont az a vanilla Chromium-ra épül, amiből már a hatvanvalahanyadik verzió óta nincs GTK2-es és a Debian 9-et sem támogatja, csak a 10-est.
Ezért kombináltam a két patchsetet, kézzel kijavítgattam a forrásokban ami még így sem akart fordulni, valamint trial and error módon kézzel tweakeltem a default beállításokat, hogy egyáltalán egy fordíthatóképes és működőképes setupot kapjak. (A default Ungoogled Chromium flags.gn
felhasználásával a kapott bináris elszállt illegal instructionnal.)
Így most van olyan Chromiumom, amivel megy a net 99.99999...%-a és nincs benne se spyware, se GTK3, se PulseAudio. Hogy másnak is lehessen, a lépéseket egy scriptbe foglalva közzétettem. Erre jó ez.
- A hozzászóláshoz be kell jelentkezni
A gtk3-mal mi a baj? Az is fugg valami potterixtol?
- A hozzászóláshoz be kell jelentkezni
A GTK3 nem függ Pötyi bátyó műveitől, csak a GNOME3 (systemd).
A GTK3-mal az a baj, hogy bugos, régi vagy gyenge gépen nagyon lassú, instabil, azonfelül inkompatibilis, nemhogy a GTK2-es témákkal, de verzióról-verzióra önmagával is.
- A hozzászóláshoz be kell jelentkezni
Jól hangzik! Én a GTK3-mal már elástam a csatabárdot, akkor nekem az Ungoogled Chromium patchset elegendő?
- A hozzászóláshoz be kell jelentkezni
Ha Debian 10-ed van, akkor igen. Ha 9-esed, akkor nem. Akkor ugyanúgy kell a Debian patchset, max. te kiveszed belőle a GTK2 patchet.
- A hozzászóláshoz be kell jelentkezni
Ennyi sed helyett miert nem egy sajat patchet csinalsz inkabb?
- A hozzászóláshoz be kell jelentkezni
Meg egy otlet:
mkdir chromium 2>/dev/null
helyett:
mkdir -p chromium
... es igy tovabb.
- A hozzászóláshoz be kell jelentkezni
Úgy is jó, bár itt egyszintes a létrehozandó struktúra.
- A hozzászóláshoz be kell jelentkezni
de ez nem dob hibat ha mar letezik a konyvtar :]
- A hozzászóláshoz be kell jelentkezni
A másik se, ha átirányítom. :P
- A hozzászóláshoz be kell jelentkezni
Próbáld ki a Min-t: https://github.com/minbrowser/min
- A hozzászóláshoz be kell jelentkezni
Ez egy js-ben irt browser ami electron (vagyis egy kicsit kiherélt chromium runtime) felett fut.
Ez már önmagában kizár minden olyan jellemzőt, amit magáról állit. De nem akarok hülyét csinálni magamból, úgyhogy fixme..
- A hozzászóláshoz be kell jelentkezni
Meglepően gyors cucc egyébként, most ezt tartom a Firefox mellett másodlagos böngészőnek. A Chromium alap jó, a sallangok leválasztva. Annyira nem is zabál sok erőforrást ami az elektronos szutykok nagy részéről nem mondható el. Nem véletlenül került be némelyikbe Relaunch menüpont is :)
- A hozzászóláshoz be kell jelentkezni
Sajnos használnom kell számos Electronos szutyadékot (pl. slack, postman, electronmail,..) és az általános véleményem az electronról a fostalicska és szenny környékén mozog. :(
De lehet hogy megnézem én is ezt a browsert, ártani nem árthat.
- A hozzászóláshoz be kell jelentkezni
Ja, hogy ez Electronos? Még nem mélyedtem bele jobban, a főoldalon meg nem írták...
- A hozzászóláshoz be kell jelentkezni