From 7eff3fde5720eb23449e2f8c8ea0b8218efe4dde Mon Sep 17 00:00:00 2001 From: Valentin Popov Date: Wed, 4 Sep 2024 21:16:37 +0000 Subject: Initial Astro project --- .../blog/getting-source-code-of-chromium.md | 185 +++++++++++++++++++++ 1 file changed, 185 insertions(+) create mode 100644 src/content/blog/getting-source-code-of-chromium.md (limited to 'src/content/blog/getting-source-code-of-chromium.md') diff --git a/src/content/blog/getting-source-code-of-chromium.md b/src/content/blog/getting-source-code-of-chromium.md new file mode 100644 index 0000000..e1568f5 --- /dev/null +++ b/src/content/blog/getting-source-code-of-chromium.md @@ -0,0 +1,185 @@ +--- +title: 'Получение исходного кода "Chromium Projects"' +author: "Valentin Popov" +pubDate: "2012-01-30" +description: "Изучение исходных кодов Chromium: подготовка системы и установка необходимых программных компонентов. Руководство для начинающих разработчиков. Получите инструкции по установке Microsoft Visual Studio, Cygwin, Python и других инструментов. Действительно на январь-февраль 2012 года." +--- + +> Перенос [оригинальной статьи](https://adeptus-mechanicus.blogspot.com/2012/01/chromium-projects.html) 2012 года из моего [старого блога](https://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"; -- cgit v1.2.3