aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorValentin Popov <valentin@popov.link>2023-05-05 14:27:18 +0300
committerValentin Popov <valentin@popov.link>2023-05-05 14:27:18 +0300
commit5065c45e02eb94f44242b114be147c1e1c42bcb7 (patch)
tree807943fcac76bbf31209349498028b2453985550
parentd315e182f60169f88ea1182336f36b9c609d74c4 (diff)
downloadpopov.link-5065c45e02eb94f44242b114be147c1e1c42bcb7.tar.xz
popov.link-5065c45e02eb94f44242b114be147c1e1c42bcb7.zip
Added a very old article
Signed-off-by: Valentin Popov <valentin@popov.link>
-rw-r--r--content/blog/getting-source-code-of-chromium.md223
1 files changed, 223 insertions, 0 deletions
diff --git a/content/blog/getting-source-code-of-chromium.md b/content/blog/getting-source-code-of-chromium.md
new file mode 100644
index 0000000..8dc98fb
--- /dev/null
+++ b/content/blog/getting-source-code-of-chromium.md
@@ -0,0 +1,223 @@
++++
+title = "Получение исходного кода \"Chromium Projects\""
+authors = ["Valentin Popov"]
+date = 2012-01-30
++++
+
+> Перенос [оригинальной статьи](http://adeptus-mechanicus.blogspot.com/2012/01/chromium-projects.html) 2012 года из моего [старого блога](http://adeptus-mechanicus.blogspot.com/) ([зеркало](https://web.archive.org/web/20160217052148/http://adeptus-mechanicus.blogspot.com/)).
+
+__Добрый день, уважаемые читатели!__
+
+В последние дни выдалось свободное время, и я решил изучить исходные коды "[The Chromium Projects](http://www.chromium.org/)".
+Чтобы посмотреть исходники, оказалось недостаточным просто скачать архив с исходным кодом и начать работать с ним в "Visual Studio 2010".
+Я был крайне опечален отсутствием нормальной русской документации для начинающих, поэтому восполню пробел и переведу всю инструкцию по получению исходных кодов.
+
+___P.S.__ Chromium является быстроразвивающимся Open Sources проектом._
+_Данная инструкция актуальна на январь-февраль 2012 года._
+
+Для начала немного введения.
+Весь процесс от подготовки системы, до работы с исходными кодами я условно разделю на четыре пункта, это:
+
+- Подготовка операционной системы, установка стандартных программных комплектов разработчика;
+- Установка и настройка программы "Cygwin";
+- Установка и настройка пакета "depot\_tools";
+- Получение и подготовка для работы исходных кодов "Chromium";
+
+## Подготовка начального набора программ
+
+Ниже приведу список и краткое описание программного обеспечения, которое требуется установить перед работой с исходными кодами:
+
+- "__Microsoft Visual Studio 2010__" — Среда разработки, требуется для работы с исходным кодом. Имеется возможность использовать Microsoft Visual Studio 2008 и Microsoft Visual C++ Express 2010'го и 2008'го годов соответственно. Бесплатные Express версии продуктов можно взять на [официальном сайте](http://www.microsoft.com/express) Microsoft.
+
+- "__Microsoft Windows SDK__" — Пакет для предоставления заголовочных файлов, библиотек, компиляторов и пр. для разработчиков программного обеспечения под операционную систему Windows. Требуется для успешной сборки и компиляции проекта под Windows систему. Бесплатно можно скачать с [официальной страницы](https://www.microsoft.com/downloads/en/details.aspx?FamilyID=6b6c21d2-2006-4afa-9702-529fa782d63b).
+
+- "__Microsoft DirectX SDK__" — Пакет с библиотеками мультимедийной подсистемы DirectX. Требуется для успешной сборки и компиляции проекта. Бесплатно доступен на [официальном сайте](http://msdn.microsoft.com/en-us/directx/default.aspx).
+
+- "__Python 2.x__" — Высокоуровневый язык программирования. Требуется для начальной подготовки исходных кодов. Установка не обязательная, но желательная. Про третью версию Python официальной информации нет, у меня установлены обе версии для опытов и "Path" системы направлен на вторую версию. Установку Python коротко разберу ниже. Python бесплатно можно взять на [официальном сайте](http://python.org/).
+
+- "__Cygwin__" — Unix-подобная среда и интерфейс командной строки для систем Microsoft Windows. Требуется для работы с исходными кодами, их подготовки, обновлением и проверки на ошибки. Сам инструмент бесплатно доступен на [официальной странице](http://www.cygwin.com/). Его установку я распишу в следующих пунктах.
+
+- "__TortoiseSVN__" — Клиент Subversion под систему Windows. Установка не обязательная, но желательная. Требуется для более простого обновления пакета "depot\_tools" из официального репозитория SVN от корпорации Google. Бесплатно доступен на [официальной странице](http://tortoisesvn.net/).
+
+Над установкой Microsoft Visual Studio, Microsoft Windows SDK и Microsoft DirectX SDK я подробно останавливаться не буду.
+Установка данных программных комплектов проста, и особой сложности вызывать не должна.
+В случае возникновения каких-либо проблем, имеются огромные сообщества разработчиков, которые помогут с установкой.
+
+__На установке пакета Python'а я остановлюсь поподробнее:__
+
+Во-первых, путь установки Python'а не должен содержать русскоязычный текст, это может вызвать много ошибок.
+
+Во-вторых, после установки основного пакета, не забудьте добавить имя каталога в список путей, по которому операционная система ищет исполняемые файлы.
+Чтобы это сделать, требуется:
+
+1. Запустите "_Панель Управления_" и выберите пиктограмму "_Система_";
+2. Выберите "_Дополнительные настройки системы_";
+3. Перейдите во вкладку "_Дополнительно_" и щёлкните на кнопке "_Переменные среды_";
+4. В содержимом окна "_Системные переменные_" найдите строку "_Path_";
+5. Добавьте туда путь до вашего каталога Python.
+
+В моём случае этот путь выглядел так:
+`C:\Program Files (x86)\Python2`.
+Пути каталогов должны разделяться знаком `;`, по этому не забудьте перед последним записанным каталогом дописать `;` (без кавычек);
+
+Чтобы проверить работоспособность языка Python в Вашей системе сразу после установки, откройте командную строку Windows и введите команду:
+
+```bash
+python --version
+```
+
+На экране должно появиться сообщение с версией Python, которая используется в Вашей системе по-умолчанию.
+
+__Теперь подготовим каталоги.__
+Каталог исходных кодов в моём случае располагается на диске `C:\`, потому что желательно не использовать пробелы в пути адреса до исходных кодов и мой пользователь в операционной системе состоит из русскоязычных символов.
+
+На диске `C:\` я создал каталог `OpenSource`, в нём я создал каталог `ChromiumProjects`, в котором появилось два подкаталога `depot_tools` и `trunk`.
+Т.е. система каталогов выглядит так:
+
+- `C:\OpenSource\ChromiumProjects\depot_tools` — Пакет для работы с исходным кодом;
+- `C:\OpenSource\ChromiumProjects\trunk` — Место хранения исходных кодов;
+
+В случае использование других каталогов в вашей системе, используйте собственные пути, подставляя их в мои примеры.
+
+Так же крайне рекомендуется отключить индексирование системы в данных каталогах, потому что это вызовет фатальные ошибки работы пакета "depot\_tools".
+Чтобы это сделать, откройте "_Панель управления_", выберите пиктограмму "_Параметры индексирования_", нажмите на кнопку "_Изменить_" и снимите галочку с каталога, содержащий утилиту "depot\_tools".
+
+Первоначальную установку и настройку системы можно считать оконченной.
+Переходим к следующему шагу.
+
+## Установка программы "Cygwin"
+
+Первым делом получите установочный файл последней версии по этой [ссылке](http://cygwin.com/setup.exe).
+Установочный файл во время установки скачивает необходимые пакеты из интернета.
+Когда запустите файл, следуйте инструкциям.
+После выбор зеркала пакетов, Вам покажут список доступных пакетов с зеркала.
+Требуется найти и отметить для установки следующие пакеты:
+
+- `apache`;
+- `bc`;
+- `bison`;
+- `curl`;
+- `diffutils`;
+- `e2fsprogs`;
+- `emacs`;
+- `flex`;
+- `gcc`;
+- `gperf`;
+- `keychain`;
+- `make`;
+- `nano`;
+- `openssh`;
+- `patch`;
+- `perl`;
+- `perl-libwin32`;
+- `python`;
+- `rebase`;
+- `rsync`;
+- `ruby`;
+- `subversion`;
+- `unzip`;
+- `vim`;
+- `zip`;
+
+Имена пакетов должны полностью совпадать.
+Воспользуйтесь поиском по пакетам, включённым в саму программу установки.
+Это должно сильно облегчить задачу.
+
+Актуальный список пакетов, требующихся для установки, Вы всегда можете найти в [официальном скрипте](http://trac.webkit.org/browser/trunk/Tools/CygwinDownloader/cygwin-downloader.py) установки, в поле `required_packages`.
+
+После установки приложения, требуется внести путь до папки с исполняемыми файлами в переменную "Path".
+Сделать это можно в точности, как после установки пакета Python'а, описанного чуть выше в данной статье.
+Только в отличии от Python'а, требуется указать путь до папки `bin`, находящейся в корневом каталоге приложения "Cygwin".
+В моём случае этот путь выглядел так:
+`C:\Program Files (x86)\Cygwin\bin`.
+
+После установки и проверки приложения "Cygwin", можно переходить к следующему шагу, настройке и установки пакета "depot\_tools".
+
+## Установка пакета "depot\_tools"
+
+1. Перейдите в каталог, который Вы определили для хранения пакета "depot\_tools";
+2. Находясь в папке, нажмите правую кнопку мыши в любом свободном месте и контекстном меню выберите пункт "_SVN Checkout_";
+3. В пути URL репозитория, указывайте путь: `http://src.chromium.org/svn/trunk/tools/depot_tools`;
+
+Если проблем не возникнет, пойдёт установка последней ревизии данного пакета.
+По окончанию скачивания пакета, путь до исполняемых файлов пакета следует указать в переменной "Path", по аналогии с программой "Cygwin" и пакетом "Python".
+В моём случае, путь выглядел так:
+`C:\OpenSource\ChromiumProjects\depot_tools`.
+
+Если всё прошло успешно, можно перейти к заключительной части статьи, получения и подготовка исходных кодов браузера "Chromium".
+
+## Получение и подготовка исходных кодов
+
+Перейдите по данной [ссылке](http://chromium-browser-source.commondatastorage.googleapis.com/chromium_tarball.html) и скачайте архив с исходными кодами.
+Вы получите архив с именем "_chromium.r**XXXXX**.tgz_", где __XXXXX__ — номер стабильной последней версии.
+
+Распакуйте из архива папку `src` в наш каталог `trunk`.
+Процесс займёт продолжительное время, потому что объём исходных кодов ~4 Гб.
+По окончанию распаковки, откройте терминал "Cygwin".
+
+В открытом терминале теперь необходимо пройти в каталог `src`, который получится после распаковки исходных кодов.
+Переход по каталогам в терминале осуществляется программой `cd`.
+Чтобы попасть на диск `C:\`, требуется в терминале набрать команду:
+
+```bash
+cd "C:/"
+```
+
+Чтобы вернуться на каталог выше, требуется набрать команду:
+
+```bash
+cd ..
+```
+
+В Unix-терминалах для работы с каталогами используется обратная косая черта.
+По этому, чтобы перейти в требуемый каталог, на моём примере, команда будет выглядеть так:
+
+```bash
+cd "C:/OpenSource/ChromiumProjects/trunk/src"
+```
+
+Теперь, когда мы в требуемой папке, надо применить команду для первоначальной настройки исходных кодов.
+Для этого ведите команду:
+
+```bash
+gclient sync --force
+```
+
+После выполнения данной команды, требуется подготовить исходные коды для работы с "_Visual Studio 2010_".
+Для этого вводим команду:
+
+```bash
+gclient runhooks --force
+```
+
+По окончанию выполнения данной команды, мы получаем готовые к работе исходные коды.
+Чтобы начать с ними работу, откройте Вашу "Visual Studio", выберите "_Открыть проект_" и откройте файл `chrome.sln`, который находится в папке `chrome`, находящейся в папке исходных кодов.
+В моём случае, полный путь до файла выглядит так:
+`C:\OpenSource\ChromiumProjects\trunk\src\chrome\chrome.sln`.
+
+На этом работу можно считать законченной.
+
+## Обновление
+
+Чтобы обновить пакет "depot\_tools", требуется зайти в каталог, содержащий данный пакет, щёлкнуть правой кнопкой мыши и в контекстном меню выбрать "_SVN Update_".
+"TortoiseSVN" обновит данные каталога до последней ревизии пакета.
+
+Для обновления исходных кодов "Chromium", требуется открыть терминал "Cygwin", перейти в каталог с исходными кодами и ввести команду:
+
+```bash
+gclient sync
+```
+
+## Заключение
+
+Спасибо, что прочитали и большое спасибо, если воспользовались моей инструкцией.
+Я всегда рад Вашим комментариям с вопросами, уточнениями и предложениями.
+
+## Полезные ссылки
+
+- [http://dev.chromium.org/Home](http://dev.chromium.org/Home) — Официальная страница проекта "The Chromium Projects";
+- [http://dev.chromium.org/developers/how-tos/build-instructions-windows](http://dev.chromium.org/developers/how-tos/build-instructions-windows) — Официальная страница по подготовке операционной системы Windows, перед работой с исходными кодами;
+- [http://dev.chromium.org/developers/how-tos/get-the-code](http://dev.chromium.org/developers/how-tos/get-the-code) — Официальная инструкция по получению, настройке и подготовке исходных кодов проекта "The Chromium Projects";
+- [http://dev.chromium.org/developers/how-tos/install-depot-tools](http://dev.chromium.org/developers/how-tos/install-depot-tools) — Официальная инструкция по установке и настройке пакета "depot\_tools";
+- [http://dev.chromium.org/developers/how-tos/cygwin](http://dev.chromium.org/developers/how-tos/cygwin) — Страница по установки и настройке терминала "Cygwin";
+- [http://groups.google.com/a/chromium.org/group/chromium-discuss/topics](http://groups.google.com/a/chromium.org/group/chromium-discuss/topics) — Официальная дискуссия разработчиков браузера "Chromium"; \ No newline at end of file