- Установка Firefox на Linux
- Установка из Flatpak
- Загрузка версии с определённой локализацией
- Установка из менеджера пакетов
- Установка без менеджера пакетов
- Ошибка libstdc++5
- Сообщение «firefox не установлен» или запускается неправильная версия Firefox
- Станьте волонтёром
- MozillaBuild
- Содержание
- Сборка Mozilla-пакетов [ править ]
- Философия [ править ]
- Информация по бранчам [ править ]
- Секреты spec-файла [ править ]
- Собираем Thunderbird [ править ]
- Собираем Thunderbird-ru [ править ]
- Собираем Seamonkey [ править ]
- Firefox для alt linux
Установка Firefox на Linux
Первый шаг к использованию Firefox — его установка на ваш компьютер. В этой статье будет описано, как устанавливать Firefox в операционных системах семейства Linux.
Информацию по другим операционным системам можно получить в следующих статьях:
Многие дистрибутивы Linux включают Firefox по умолчанию, поскольку большинство имеет систему управления пакетами — это предпочтительный способ установки Firefox. Система управления пакетами будет:
- Устанавливать недостающие необходимые библиотеки
- Устанавливать Firefox наиболее подходящим образом для вашего дистрибутива
- Создавать ярлыки для запуска Firefox
- Делать Firefox доступным для всех пользователей данного компьютера
- Делать удаление и обновление Firefox такими же, как удаление и обновление любого другого приложения
При использовании системы управления пакетами есть некоторые недостатки:
- В ней может быть не самая последняя версия Firefox
- Firefox из репозитория может иметь название или логотип, отличающиеся от официальных
Вы также можете установить Firefox через Flatpak.
Установка из Flatpak
Flatpak — новый формат пакетов для Linux. Чтобы установить Flatpak, прочитайте инструкцию по установке FlatPak, выберите вашу ОС и следуйте шагам установки.
Когда установка Flatpak будет завершена, перейдите на страницу Firefox Flathub и щёлкните по кнопке Install . Когда он будет загружен, следуйте инструкциям командной строки в нижней части страницы.
Со времени установки Firefox из Flatpak обновления получаются автоматически, так что повторная установка не требуется.
Загрузка версии с определённой локализацией
При установке Flatpak (с помощью командной строки или с помощью Flathub-ссылки) проверяется локализация ОС (локализация ОС, а не заголовок принимаемого языка браузера), и Flathub отправляет только те локализации, которые имеют тот же префикс. Так что, например, если LANG=en_US.UTF-8 , Flatpak отправит те локализации, у которых основной префикс en , к которым относятся en-CA, en-GB и т.д.
Чтобы загрузить определённую локализацию, это нужно делать вручную. Например, для установки французской (fr): flatpak update —subpath=/fr org.mozilla.firefox.Locale
Установка из менеджера пакетов
Чтобы установить Firefox с использованием менеджера пакетов, пожалуйста, обратитесь к документации вашего дистрибутива Linux.
Установка без менеджера пакетов
На сайтах поддержки для некоторых дистрибутивов Linux есть полные инструкции по установке Firefox без использования менеджера пакетов, хотя некоторые сведения могут быть устаревшими. Например:
Вы также можете следовать инструкциям ниже, чтобы инсталлировать вручную для каждого аккаунта пользователя.
- Перед установкой Firefox, убедитесь, что на вашем компьютере установлены необходимые библиотеки. Отсутствие библиотек сделает Firefox неработоспособным.
- Установочный файл, предоставленный Mozilla в формате .tar.bz2, имеет предварительно скомпилированные двоичные файлы, в отличие от исходников. Нет необходимости компилировать программу из исходных текстов: просто распакуйте и запустите исполняемые файлы.
- Следующие инструкции предназначены для установки Firefox в ваш домашний каталог. Только текущий пользователь сможет запустить его.
- Загрузите Firefox со страницы загрузки Firefox в ваш домашний каталог.
- Откройте Терминал и перейдите в домашний каталог: cd
/firefox/firefox Firefox должен запуститься. Вы также можете создать значок на рабочем столе для выполнения этой команды.
Ошибка libstdc++5
Как отмечалось выше, необходимо установить необходимые библиотеки, чтобы Firefox смог работать. Многие дистрибутивы по умолчанию не включают libstdc++5.
Сообщение «firefox не установлен» или запускается неправильная версия Firefox
Если Firefox установлен согласно инструкциям, приведенным выше, он должен быть запущен (в Терминале или значком на рабочем столе, например) с помощью команды:
Если вы попытаетесь запустить Firefox в Терминале командой: firefox , она либо запустит версию Firefox установленную менеджером пакетов, либо скажет вам, что программа не установлена.
Эти прекрасные люди помогли написать эту статью:
Станьте волонтёром
Растите и делитесь опытом с другими. Отвечайте на вопросы и улучшайте нашу базу знаний.
Источник
MozillaBuild
Содержание
Сборка Mozilla-пакетов [ править ]
В данном документе будет описываться как собираются пакеты от Mozilla (Firefox, Thunderbird) в ALT Linux. Описание будет идти со слов Legion@, поэтому могут быть выражены не совсем точно.
Философия [ править ]
Репозиторий mozilla.org.git устроен очень просто. В нём есть два вида бранчей: апстримные и пакетные (бранчи из которых собираются пакеты).
Апстримные бранчи получены путём конвертации апстримных репозиориев (в апстриме не используются бранчи) из mercurial в git. Эти бранчи именуются также как называются репозитории на hg.mozilla.org.
Бранчи для опакечивания строятся на одном или более апстримных бранчах. Например rpms/thunderbird-3.1.x создан из releases/comm-1.9.2 и в него мерджится releases/mozilla-1.9.2 в каталог mozilla/. Эта же последовательность сборки описана в https://developer.mozilla.org/en/Commcentral_source_code_%28Mercurial%29
Остальные пакеты устроены проще т.к. основываются на одном апстримном репозитории.
Информация по бранчам [ править ]
master — Это информационный бран. Смотрите ниже.
comm-central — Branch для Thunderbird, Sunbird и Seamonkey [1].
mozilla-central — Branch для Xulrunner и Firefox [2].
releases/comm-1.9.1 — Branch разработки для Thunderbird 3, SeaMonkey 2 и Sunbird 1 with Gecko 1.9.1 [3].
releases/mozilla-1.9.1 — Branch for Gecko-1.9.1 based products [4].
releases/mozilla-1.9.2 — Branch for Gecko-1.9.2 based products [5].
Бранчи для сборки пакетов:
rpms/firefox-2.x — firefox-2*-alt* packages. (Не поддерживается)
rpms/firefox-3.0.x — firefox-3.0*-alt* packages. (Не поддерживается)
rpms/firefox-3.1.x — firefox-3.1*-alt* packages. (Поддерживается)
Depends: releases/mozilla-1.9.1
rpms/firefox-3.6.x — firefox-3.6*-alt* packages. (Поддерживается)
Depends: releases/mozilla-1.9.2
rpms/sunbird-0.9 — sunbird-0.9*-alt* packages. (Устарел)
rpms/thunderbird-2.x — thunderbird-2*-alt* packages. (Не поддерживается)
rpms/thunderbird-3.0.x — thunderbird-3.0*-alt* packages. (Поддерживается)
Depends: releases/comm-1.9.1
Depends: releases/mozilla-1.9.1
rpms/xulrunner-1.9.0 — xulrunner-1.9.0*-alt* packages. (Не поддерживается)
rpms/xulrunner-1.9.1 — xulrunner-1.9.1*-alt* packages. (Поддерживается)
Depends: releases/mozilla-1.9.1
Информация для сборки:
Чтобы собрать текущую версию проекта используйте утилиту mozilla-build. Эта утилита склонирует локально необходимые репозитории пакетов и собирёт их в нужном порядке.
Секреты spec-файла [ править ]
В спеке есть такой параметр:
Алексей сказал так:
Для того, чтобы правильно определить id можно воспользоваться утилитой installrdf.sh, которая входит в пакет rpm-build-mozilla.org:
Собираем Thunderbird [ править ]
Теперь подключаем необходимый бранч и запускаем сборку пакета:
Собираем Thunderbird-ru [ править ]
Основной репозиторий находится тут. Свежую русификацию лучше брать на mozilla-russia.org. Ну а дальше все обычно. Обновляем, правим спек и собираем пакет.
Собираем Seamonkey [ править ]
Клонируем репозиторий comm-release:
Клонируем репозиторий mozilla-release:
Клонируем репозиторий ldap-sdks:
Клонируем репозиторий chatzilla:
Клонируем репозиторий dom-inspector:
Клонируем репозиторий venkman:
Рядом создаём mozilla-release.git, comm-release.git, ldap-sdks.git, chatzilla.git, dom-inspector.git, venkman.git.
Когда сделаете ‘git init’ делаете
И долго ждём 🙂 То же самое с comm-release.git, ldap-sdks.git, chatzilla.git, dom-inspector.git, venkman.git Теперь создаем каталог для сборки seamonkey.
В последствии после обновления бранча releases/mozilla-release из соответствующего ему репо просто делаем:
Источник
Firefox для alt linux
%define firefox_cid \
%define firefox_prefix %_libdir/firefox
%define firefox_datadir %_datadir/firefox
%define gst_version 1.0
%define nspr_version 4.17
%define nss_version 3.33.0
#global gcc_version 5
#set_gcc_version #gcc_version
Summary: The Mozilla Firefox project is a redesign of Mozilla’s browser
Summary(ru_RU.UTF-8): Рнтернет-браузер Mozilla Firefox
Packager: Alexey Gladkov
Source0: firefox-source.tar
Source1: rpm-build.tar
Source2: searchplugins.tar
Source4: firefox-mozconfig
Source5: distribution.ini
Source6: firefox.desktop
Source7: firefox.c
Source8: firefox-prefs.js
Patch6: firefox-alt-disable-werror.patch
Patch7: firefox-alt-fix-expandlibs.patch
Patch8: firefox-alt-fix-fortify-source-check.patch
Patch14: firefox-fix-install.patch
Patch16: firefox-cross-desktop.patch
Patch17: firefox-mediasource-crash.patch
Patch18: firefox-alt-nspr-for-rust.patch
# Upstream
Patch200: mozilla-bug-256180.patch
Patch201: mozilla-bug-1196777.patch
BuildRequires(pre): mozilla-common-devel
BuildRequires(pre): rpm-build-mozilla.org
BuildRequires(pre): browser-plugins-npapi-devel
BuildRequires: gcc-c++
BuildRequires: clang4.0 clang4.0-devel llvm4.0 llvm4.0-libs llvm4.0-devel
BuildRequires: rpm-macros-alternatives
BuildRequires: rust rust-cargo
BuildRequires: libXt-devel libX11-devel libXext-devel libXft-devel libXScrnSaver-devel
BuildRequires: libXcomposite-devel
BuildRequires: libXdamage-devel
BuildRequires: libcurl-devel libgtk+2-devel libgtk+3-devel libhunspell-devel libjpeg-devel
BuildRequires: xorg-cf-files chrpath alternatives yasm
BuildRequires: zip unzip
BuildRequires: bzlib-devel zlib-devel
BuildRequires: libcairo-devel libpixman-devel
BuildRequires: libGL-devel
BuildRequires: libwireless-devel
BuildRequires: libalsa-devel
BuildRequires: libnotify-devel
BuildRequires: libevent-devel
BuildRequires: libproxy-devel
BuildRequires: libshell
BuildRequires: libvpx-devel
BuildRequires: libgio-devel
BuildRequires: libfreetype-devel fontconfig-devel
BuildRequires: libstartup-notification-devel
BuildRequires: libffi-devel
BuildRequires: gstreamer%gst_version-devel gst-plugins%gst_version-devel
BuildRequires: libopus-devel
BuildRequires: libpulseaudio-devel
#BuildRequires: libicu-devel
BuildRequires: libdbus-devel libdbus-glib-devel
# Python requires
BuildRequires: /dev/shm
BuildRequires: python-module-distribute
BuildRequires: python-module-pip
BuildRequires: python-modules-compiler
BuildRequires: python-modules-logging
BuildRequires: python-modules-sqlite3
BuildRequires: python-modules-json
# Rust requires
BuildRequires: /proc
# Mozilla requires
BuildRequires: pkgconfig(nspr) >= %nspr_version
BuildRequires: pkgconfig(nss) >= %nss_version
BuildRequires: libnss-devel-static
BuildRequires: autoconf_2.13
%set_autoconf_version 2.13
Obsoletes: firefox-3.6 firefox-4.0 firefox-5.0
Conflicts: firefox-settings-desktop
Provides: webclient
Requires: mozilla-common
# ALT#30732
Requires: gst-plugins-ugly%gst_version
# Protection against fraudulent DigiNotar certificates
Requires: libnss >= 3.12.11-alt3
%description
The Mozilla Firefox project is a redesign of Mozilla’s browser component,
written using the XUL user interface language and designed to be
cross-platform.
%description -l ru_RU.UTF8
Рнтернет-браузер Mozilla Firefox — кроссплатформенная модификация браузера Mozilla,
созданная с использованием языка XUL для описания интерфейса пользователя.
%package -n rpm-build-firefox
Summary: RPM helper macros to rebuild firefox packages
Group: Development/Other
BuildArch: noarch
Requires: mozilla-common-devel
Requires: rpm-build-mozilla.org
%description -n rpm-build-firefox
These helper macros provide possibility to rebuild
firefox packages by some Alt Linux Team Policy compatible way.
%prep
%setup -q -n firefox-%version -c
cd mozilla
tar -xf %SOURCE1
tar -xf %SOURCE2
#patch6 -p1
%patch7 -p2
%patch8 -p2
%patch14 -p1
%patch16 -p2
%patch17 -p2
%patch18 -p2
%patch200 -p1
%patch201 -p1
cp -f %SOURCE4 .mozconfig
%ifnarch %
echo «ac_add_options —disable-methodjit» >> .mozconfig
echo «ac_add_options —disable-monoic» >> .mozconfig
echo «ac_add_options —disable-polyic» >> .mozconfig
echo «ac_add_options —disable-tracejit» >> .mozconfig
%endif
%add_optflags %optflags_shared
%add_findprov_lib_path %firefox_prefix
MOZ_OPT_FLAGS=»$RPM_OPT_FLAGS»
# PIE, full relro
MOZ_OPT_FLAGS=»$MOZ_OPT_FLAGS -fPIC -Wl,-z,relro -Wl,-z,now»
# Add fake RPATH
MOZ_OPT_FLAGS=»$MOZ_OPT_FLAGS -Wl,-rpath,/$(printf %%s ‘%firefox_prefix’ |tr ‘[:print:]’ ‘_’)»
# add -fno-delete-null-pointer-checks and -fno-inline-small-functions for gcc6
MOZ_OPT_FLAGS=»$MOZ_OPT_FLAGS -fno-delete-null-pointer-checks -fno-inline-small-functions»
# Mozilla builds with -Wall with exception of a few warnings which show up
# everywhere in the code; so, don’t override that.
MOZ_OPT_FLAGS=$(echo $MOZ_OPT_FLAGS | sed -e ‘s/-Wall//’)
# Disable C++ exceptions since Mozilla code is not exception-safe
MOZ_OPT_FLAGS=$(echo $MOZ_OPT_FLAGS | sed -e ‘s/-fexceptions/-fno-exceptions/g’)
# If MOZ_DEBUG_FLAGS is empty, firefox’s build will default it to «-g» which
# overrides the -g0 from line above and breaks building on s390
# (OOM when linking, rhbz#1238225)
MOZ_OPT_FLAGS=»$(echo $MOZ_OPT_FLAGS | sed -e ‘s/ -g/ -g0/’)»
export MOZ_DEBUG_FLAGS=» «
export CFLAGS=»$MOZ_OPT_FLAGS»
export CXXFLAGS=»$MOZ_OPT_FLAGS»
export LIBIDL_CONFIG=/usr/bin/libIDL-config-2
export srcdir=»$PWD»
export SHELL=/bin/sh
export RUST_BACKTRACE=1
export RUSTFLAGS=»-Cdebuginfo=0″
export BUILD_VERBOSE_LOG=1
export GCC_USE_GNU_LD=1
cat >> .mozconfig
#export CC=»clang»
#export CXX=»clang++»
# On x86 architectures, Mozilla can build up to 4 jobs at once in parallel,
# however builds tend to fail on other arches when building in parallel.
MOZ_SMP_FLAGS=-j1
%ifarch %
[ «$
[ «$
[ «$
%endif
%__autoconf old-configure.in > old-configure
pushd js/src
%__autoconf old-configure.in > old-configure
popd
%__cc %optflags \
-Wall -Wextra \
-DMOZ_PLUGIN_PATH=\»%browser_plugins_path\» \
-DMOZ_PROGRAM=\»%firefox_prefix/firefox\» \
-DMOZ_DIST_BIN=\»%firefox_prefix\»\
%SOURCE7 -o firefox
%__mkdir_p \
%buildroot/%mozilla_arch_extdir/%firefox_cid \
%buildroot/%mozilla_noarch_extdir/%firefox_cid \
#
make -C objdir \
DESTDIR=%buildroot \
INSTALL=»/bin/install -p» \
mozappdir=%firefox_prefix \
libdir=%_libdir \
install
# install altlinux-specific configuration
install -D -m 644 %SOURCE8 %buildroot/%firefox_prefix/browser/defaults/preferences/all-altlinux.js
cat > %buildroot/%firefox_prefix/browser/defaults/preferences/firefox-l10n.js
# icons
for s in 16 22 24 32 48 256; do
install -D -m 644 \
browser/branding/official/default$s.png \
%buildroot/%_iconsdir/hicolor/$x$/apps/firefox.png
done
# ALT#30572
if [ ! -e «%buildroot/%firefox_prefix/plugins» ]; then
what=»$(relative %browser_plugins_path %firefox_prefix/plugins)»
ln -s — «$what» %buildroot/%firefox_prefix/plugins
fi
# install rpm-build-firefox
mkdir -p — \
%buildroot/%_rpmmacrosdir
sed \
-e ‘s, at firefox_version at ,%version,’ \
-e ‘s, at firefox_release at ,%release,’ \
rpm-build/rpm.macros.firefox.standalone > %buildroot/%_rpmmacrosdir/firefox
install -m755 firefox %buildroot/%_bindir/firefox
cd %buildroot
# Add distribution.ini
mkdir -p — ./%firefox_prefix/distribution
cp — %SOURCE5 ./%firefox_prefix/distribution/distribution.ini
# install menu file
%__install -D -m 644 %SOURCE6 ./%_datadir/applications/firefox.desktop
# Add alternatives
mkdir -p ./%_altdir
printf ‘%_bindir/xbrowser\t%_bindir/firefox\t100\n’ >./%_altdir/firefox
rm -f — \
./%firefox_prefix/removed-files
# Remove devel files
rm -rf — \
./%_includedir/%name \
./%_datadir/idl/%name \
./%_libdir/%name-devel \
#
# Add real RPATH
(set +x
rpath=»/$(printf %%s ‘%firefox_prefix’ |tr ‘[:print:]’ ‘_’)»
find %buildroot/%firefox_prefix -type f |
while read f; do
t=»$(readlink -ev «$f»)»
file «$t» | fgrep -qs ELF || continue
if chrpath -l «$t» | fgrep -qs «RPATH=$rpath»; then
chrpath -r «%firefox_prefix» «$t»
fi
done
)
%pre
for n in defaults browserconfig.properties; do
[ ! -L «%firefox_prefix/$n» ] || rm -f «%firefox_prefix/$n»
done
%files -n rpm-build-firefox
%_rpmmacrosdir/firefox
%changelog
…
рПМОЩК changelog НПЦОП РТПУНПФТЕФШ ЪДЕУШ
Источник