The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

В Firefox 98 для некоторых пользователей будет изменена поисковая система по умолчанию, opennews (??), 18-Фев-22, (0) [смотреть все] +1

Сообщения [Сортировка по времени | RSS]


9. "В Firefox 98 для некоторых пользователей будет изменена поис..."  +4 +/
Сообщение от keydon (ok), 18-Фев-22, 16:14 
Ну да, ну да. Хром тоже тот ещё рассадник менеджеров. Начиная от манифестов и заканчивая тем адъом из скриптов что требуется для его сборки.
Но хотя бы раста нет, что радует.
Ответить | Правка | Наверх | Cообщить модератору

10. "В Firefox 98 для некоторых пользователей будет изменена поис..."  +/
Сообщение от Аноним (5), 18-Фев-22, 16:19 
> адъом из скриптов

Ага, менеджеры попросили написать ад из скриптов, а не отсутствие какого-то единого стандарта, как оформлять сиплюсплюсные проекты. GN, кстати говоря, отличная система сборки, удивительно, что они не выкатывают ее за пределы хромиума. Уж получше и поуниверсальнее мезонов и симейков будет.

Ответить | Правка | Наверх | Cообщить модератору

15. "В Firefox 98 для некоторых пользователей будет изменена поис..."  +/
Сообщение от keydon (ok), 18-Фев-22, 16:41 
> Ага, менеджеры попросили написать ад из скриптов, а не отсутствие какого-то единого
> стандарта, как оформлять сиплюсплюсные проекты. GN, кстати говоря, отличная система сборки,
> удивительно, что они не выкатывают ее за пределы хромиума. Уж получше
> и поуниверсальнее мезонов и симейков будет.

На плюсах все пишут, но не у всех такой адъ (взять хоть ядро (не на плюсах, но тем более), хоть фурифокс), так что не стоит на плюсы валить.

Адъ конечно не менеджеры устроили, а т.н. технари.
>Chromium - браузер от технарей,

Но если смотреть с позиции "адъ от технарей", то соглашусь с вами.

Ответить | Правка | Наверх | Cообщить модератору

22. "В Firefox 98 для некоторых пользователей будет изменена поис..."  +/
Сообщение от Аноним (5), 18-Фев-22, 17:05 
> взять хоть ядро

Болезный, все стандарты веб-апи, скомпилированные в единый талмуд, будут значительно объемнее стандартов для целых операционных систем. Также не забудь сравнить объем кода хромиума и ядра.

Ответить | Правка | Наверх | Cообщить модератору

28. "В Firefox 98 для некоторых пользователей будет изменена поис..."  +2 +/
Сообщение от Самокатофил (?), 18-Фев-22, 17:25 
Болезный, сборки бсдей вообще на мейкфайлах построены. Кто хочет делать по уму -- ищет повод, кто не хочет -- ищет причину. Например в размере кодовой базы.
Ответить | Правка | Наверх | Cообщить модератору

30. "В Firefox 98 для некоторых пользователей будет изменена поис..."  +/
Сообщение от Аноним (5), 18-Фев-22, 17:31 
приведи конкретный пример "сделанного не по уму" в дереве исходников хромиума, мой юный теоретик-мейкфайльщик
Ответить | Правка | Наверх | Cообщить модератору

39. "В Firefox 98 для некоторых пользователей будет изменена поис..."  +/
Сообщение от Самокатофил (?), 18-Фев-22, 17:55 
> приведи конкретный пример "сделанного не по уму" в дереве исходников хромиума, мой
> юный теоретик-мейкфайльщик

Хммм... Твоя цитата:

>ад из скриптов, а не отсутствие какого-то единого стандарта, как оформлять сиплюсплюсные проекты.

Я опроверг этот вброс одной левой: большими проектами, которые собирают базу и порты единым стандартом, мейкфайлами.

Что я тебе еще должен доказывать, лалка?

Ответить | Правка | Наверх | Cообщить модератору

42. "В Firefox 98 для некоторых пользователей будет изменена поис..."  +/
Сообщение от Аноним (5), 18-Фев-22, 17:59 
> мейкфайлами
> единым стандартом

Мейкфайлы - далеко не единственный способ собирать проект, если бы ты изучал программирование, ты бы это узнал уже на первый день. Может ты имел в виду "консистентность внутри проекта"? Лалка, она в хромиуме обеспечивается посредством GN, где им собирают даже thirdparty-либы.

Ответить | Правка | Наверх | Cообщить модератору

104. "В Firefox 98 для некоторых пользователей будет изменена поис..."  +1 +/
Сообщение от keydon (ok), 18-Фев-22, 22:31 
> приведи конкретный пример "сделанного не по уму" в дереве исходников хромиума, мой
> юный теоретик-мейкфайльщик

Ну нас сразу встречает fetch из depot_tools. Это штука "чтобы легко чекаутить в одну команду".
Замечательная обертка, просто полюбуйтесь на этот великолепный код с лишним условием:
if [[ $GCLIENT_PY3 == 1 ]]; then
  # Explicitly run on Python 3
  PYTHONDONTWRITEBYTECODE=1 exec vpython3 "$base_dir/fetch.py" "$@"
elif [[ $GCLIENT_PY3 == 0 ]]; then
  # Explicitly run on Python 2
  PYTHONDONTWRITEBYTECODE=1 exec vpython "$base_dir/fetch.py" "$@"
else
  # Run on Python 3, allows default to be flipped.
  PYTHONDONTWRITEBYTECODE=1 exec vpython3 "$base_dir/fetch.py" "$@"
fi
Все, больше эта обертка ничего не делает.
fetch.py тоже по сути обертка, запускает git submodule foreach. Обертка над оберткой над гитом, верный признак отличного кода. Зачем нужна это обертка? Да потому что у гугла кроме обычного гита еще есть gclient и как это водится у программистов, создал проблему, решил проблему, получил с полки пряник за работу.
А внутри кучка print'ов соседствует с docstrings
    print('Your current directory appears to already contain, or be part of, ')
...
    print('failed, delete the checkout and start over (crbug.com/230691).')
    return 1

  print(textwrap.dedent("""\
    usage: %s [options] <config> [--property=value [--property2=value2 ...]]
...
    Valid fetch configs:""") % os.path.basename(sys.argv[0]))
Добавляем все это в PATH ручками (что я считаю хорошо), запускаем. Итак, вместо git submodule foreach у нас уже 3 файлика (создание .gclient ни откуда не очевидно если не лезть в исходники).
Дальше нас встречает еще одна обертка https://github.com/chromium/chromium/blob/main/build/install.... Она призвана...тада! установить зависимости для разных версий убунт!
Тут у нас уже баш. Не очень понятно чем это продиктованно, могли бы и в первой обертке использовать баш или и в этой уже питон, раз все равно его притянули. Но понимаем, корпорация гигантская, хотелки у всех разные.

Встречаем великолепные штуки. Например, если дистрибутив не поддерживает, значит зависимость не ставим и никому про это не расскажем.
# Some packages are only needed if the distribution actually supports
# installing them.
if package_exists appmenu-gtk; then
  lib_list="$lib_list appmenu-gtk"
fi
...
if package_exists snapcraft; then
    dev_list="${dev_list} snapcraft"
fi
Да, ничего из этого сюда не попадет
      echo "WARNING: The following packages are not installed:"
      echo -e "${not_installed}" | sed -e "s/^/  /"
И да, мы ставим снапкрафт, чтобы вы не могли просто собрать все в контейнере (а мы в 2022 году по заветам гугла и навязанной им девляпс философии собираем все в билд контейнерах), а еще повозились и настроили его на nested контейнеры. Напомню, все эти обертки как будто бы для упрощения сборки.
Ну что ж установили мы все зависимости? Ан нет, нам еще бинарники нужны. Точнее гооооры бинарников. Запускаем обертку над оберткой gclient, что-то происходит, магический дым, запускаются какие-то команды о которых мы не предупреждены. Может и не нужно это, может он вирусню скачивает, никто все равно никогда смотреть что же там творится. Это набор хуков (читай что угодно) из кучи связанных проектов, какие-то шрифты, какие-то либы (может даже повторяются), какие-то шрифты, бинарники для тестов (или нет?), что там только не качается с гугловского стораджа. Крайне страшная и непрозрачная штука, уверен я только в том что такого в нормальном CI быть не должно. Примерно на этом этапе технари уже уснули и менеджеры добавили возможность опционально указать ключ чтобы пользоваться гугловскими сервисами.
Само собой гугл не был бы гуглом (а яндекс яндексом), если бы сейчас нам не пришлось запустить еще один софт от гугла - систему генерации файлов для нинзи GN. Я не знаю почему gn, может быть подскажите (конец иронии) ? Но ЕМНИП история гласит что гуглу все не понравилось и он снова создал свое. Только вот остальным уже этот зверь не понравился и поэтому обитает он только в гугляндии.
Ну и собственно запускаем нинзю. И да, файрфокс собирается гораздо быстрее.
Казалось бы ничего нового: скачали исходники, поставили зависимости, скачали блобы(да, это внезпано и не специфично для открытых проектов, и да, человек который 20 лет назад решил выяснить что же там происходит еще не вернулся), запустили нинзю.
Но все обмазано этими бесконечными обертками. Наверное процесс сборки стал в один клик? Нет. Наверное стало досконально понятно что происходит во время сборки? Нет. Наверное все внутри такое независимое и не зависит от сторонних проектов (да, я сэкономил ваше время и не акцентрировал на это внимание)? Нет. Ну хоть скрипты сборки? Нет. А что ж они тогда написаны словно сишными программистами яндекса? Ну да ладно, скрипты то эти хоть изящные? Нет. Наверное проект стал независимее от гугла? Нет, наоборот, прям все кричит о том что это проект гугла и остальным сюда лучше не лезть, хотя это инструкция для посторонних, для сотрудников гугла есть отдельная инструкция...Это мы еще до исходников не добрались

Ответить | Правка | К родителю #30 | Наверх | Cообщить модератору

114. "В Firefox 98 для некоторых пользователей будет изменена поис..."  –1 +/
Сообщение от Аноним (5), 19-Фев-22, 01:51 
> depot_tools
> gclient

абсолютно необязательная фигня. Только разрабам хромиума и нужно, чтобы получить предсказуемое окружение. Весь твой опус - про то, насколько боязно человеку с улицы пользоваться "внутрикорпоративными" скриптами, написанными разрабами для вон тех разрабов, сидящих за соседним столом в офисе гугла. But hey - они не для тебя написаны, твоя задача - качнуть уже готовый гиговый архив с зачекаутенными зависимостями, распаковать, скомпилить GN, сгенерить при помощи него ninja-файлы, запустить ninja. Всё.

Ответить | Правка | Наверх | Cообщить модератору

116. "В Firefox 98 для некоторых пользователей будет изменена поис..."  +/
Сообщение от keydon (ok), 19-Фев-22, 03:06 
> абсолютно необязательная фигня. Только разрабам хромиума и нужно, чтобы получить предсказуемое окружение. Весь твой опус - про то, насколько боязно человеку с улицы пользоваться "внутрикорпоративными" скриптами, написанными разрабами для вон тех разрабов, сидящих за соседним столом в офисе гугла. But hey - они не для тебя написаны

Предсказуемое окружение таким образом не получается (но да, это знатный булыжник в компанию  которая форсила девопс).
Не я все это придумал, в официальной репе хромиума (что по названию уже как бы подразумевает открытость для посторонних) достаточно четко написано: мальчикам в левое окно (https://chromium.googlesource.com/chromium/src/+/refs/heads/...), разработчикам хрома в правое (https://goto.google.com/building-chrome). А как пройти через дверь, как во всех нормальных проектах, и не упоминается вовсе. Да и тех кто через окно полезет, все равно жалко. Не должно такого быть в нормальных CI ни для гугловцев, ни для мимокрокодилов.

> качнуть уже готовый гиговый архив с зачекаутенными зависимостями

Я так понимаю гиговый архив предлагается у Васяна брать который уже воспользовался depot_tools и gclient? Все же это немного не то что можно было бы ожидать от проекта мирового уровня на котором сосредоточен весь веб. Репа с кучей git submodules и ./build.sh меня бы полностью устроила и вряд ли бы это затратило больше месяца у пары студентов.

Ответить | Правка | Наверх | Cообщить модератору

149. "В Firefox 98 для некоторых пользователей будет изменена поис..."  +/
Сообщение от Аноним (5), 19-Фев-22, 17:00 
> гиговый архив предлагается у Васяна брать

Ты прикидываешься простаком или как? Откуда по твоему дистры берут исходники?

    Source0:    https://commondatastorage.googleapis.com/chromium-browser-of...

> что по названию уже как бы подразумевает открытость для посторонних

Открытость для посторонних не означает, что компания обязана тебя обучать своим собственным инструментам по разработке своего собственного продукта, и выделять свои ресурсы на тестирование и ревью твоих правок, пусть даже проект и опенсорсный. Хочешь вкатиться в разработку хромиума так, чтобы у тебя был доступ ко всей инфраструктуре, свой терпеливый наставник, тестировщики, согласные тестировать твой код, и тебе за это еще и деньги платили? -- переезжай в САСШ и отправляй резюме в гугл, это самый выгодный и приятный способ вкатиться. Хочешь контрибьютить добровольно, бесплатно и за идею? -- будь добр разобраться самостоятельно и готовься к тому, что на ревью тебе никто не будет делать поблажек: кураторство и обучение какого-то васяна в интернете вряд ли окупится гипотетической выгодой от его CL.

> это немного не то что можно было бы ожидать от проекта мирового уровня

Это именно то, что ожидаешь увидеть от любого крупного проекта, пилящегося крупной коммерческой компанией, независимо от опенсорсности. Если бы ты работал в компаниях на 2000+ разрабов, ты бы знал, что свежевкатившемуся сотруднику выделяется гигантское количество оплачиваемого времени просто на то, чтобы разобраться, как этот проект... просто собрать. С точки зрения предсказуемости разработки, depot_tools и gclient гораздо лучше, чем какие-то неясные представления какого-то комментатора в интернете о том, "как нам организовывать разработку крупнейшего проекта ever".

Ответить | Правка | Наверх | Cообщить модератору

190. "В Firefox 98 для некоторых пользователей будет изменена поис..."  +/
Сообщение от keydon (ok), 20-Фев-22, 05:18 
> Ты прикидываешься простаком или как? Откуда по твоему дистры берут исходники?
>     Source0: https://commondatastorage.googleapis.com/chromium-browser-of...

Как и где простой чукотский юноша должен был найти эту волшебную ссылку?

> Открытость для посторонних не означает, что компания обязана тебя обучать своим собственным
> инструментам по разработке своего собственного продукта, и выделять свои ресурсы на
> тестирование и ревью твоих правок, пусть даже проект и опенсорсный.

Уважаемых господ из гугла никто и не просит, но намекается что в других уважаемых проектах ведут себя более по-джентльменски, поэтому какого-либо обучения и не требуется. Но если уважаемые господа желают продолжать подобное позорное существование, то никто не посмеет им препятствовать.

> Хочешь контрибьютить добровольно, бесплатно и за идею?
> -- будь добр разобраться самостоятельно и готовься к тому, что на
> ревью тебе никто не будет делать поблажек: кураторство и обучение какого-то
> васяна в интернете вряд ли окупится гипотетической выгодой от его CL.

Теперь я вижу что недостаточно велик, слишком горд и слишком тщеславен для этого! Как я посмел! Добровольно! Бесплатно! И что еще хуже за идею контрибьютить в такой грандиозный проект!  Я слагаю с себя эту обязанность, пусть контрибьютит только тот кто достоин гугл богов!

> Если бы ты работал в компаниях
> на 2000+ разрабов, ты бы знал, что свежевкатившемуся сотруднику выделяется гигантское
> количество оплачиваемого времени просто на то, чтобы разобраться, как этот проект...
> просто собрать.

В моей компании разработчиков на порядок меньше, наверное поэтому нас больше интересует максимально упростить процессы и уменьшить энтропию: шлифуем онбординг, упрощаем сборку софта, наводим однородность в технологиях, избавляемся от внутренних костылей, лишних действий и бюрократии, чтобы ломаться нечему было и лишних проблем не создавать (что это самое драгоценное время экономит). Но как только дорастем до 2000+, то обязательно либо денежных кур заведем, либо нафаршируем сборку велосипедами и слипами, чтобы новобранец до конца испытательного срока не успел ничего собрать.

> С точки зрения предсказуемости разработки, depot_tools и gclient гораздо
> лучше, чем какие-то неясные представления какого-то комментатора в интернете о том,
> "как нам организовывать разработку крупнейшего проекта ever".

Тогда гуглу стоит набрать еще пару оракулов, чтобы предсказать что snapcraft в большинстве случаев не нужен. И снять обед молчания с тех ребят которые в гугле пилили контейнеры ради предсказуемости разработки.

Ответить | Правка | Наверх | Cообщить модератору

125. "В Firefox 98 для некоторых пользователей будет изменена поис..."  +/
Сообщение от Аноним (125), 19-Фев-22, 09:31 
Я не знаю, конечно, вашего опыта в разработке, но то, как выкачиваются исходники хромиума, считай, чуть ли не эталон.

Ну парочку врапперов друг над другом, бывает.

Учитывая те слухи, как устроена работа с внутренними исходниками в гугле. А у них репозиторий представляется как гигантская файловая система, по большей части ro, чтобы получить доступ к исходникам, они просто ее монтируют. Плюс, в гугле свои сборки убунты как внутренняя дефолтная ось. Они не пользуются у себя этими скриптами, не ставят зависимости, не качают таким образом исходники. Все эти скрипты написаны на коленках для того, чтобы сторонние люди делали git clone depot_tools, вызывали fetch chromium и приступали к сборке.

При этом, fetch выкачивает еще и бинарники clang нужной версии, чтобы сборка была гарантирована практически бинарно идентична той, которой они собирают ее у себя. Ошибки компиляции, неверно сработавшие оптимизации и т.п. вещи сведены к минимуму. Учитывая, что хромиум собирается вообще на всех мыслимых системах, проделана гигантская работа.

При этом, если что-то не нравится, всегда можно переделать руками. Но как отправная точка, дернуть один скрипт, чтобы он сделал все хорошо — это круто. К большинству сложных проектов идет километровая инструкция, какие зависимости нужно ставить руками. При этом она не точная и чтобы что-то собрать, причем по объему сильно меньшее и сложное, чем хромиум, приходится весьма попотеть.

Ответить | Правка | К родителю #104 | Наверх | Cообщить модератору

148. "В Firefox 98 для некоторых пользователей будет изменена поис..."  –1 +/
Сообщение от keydon (ok), 19-Фев-22, 16:48 
> Я не знаю, конечно, вашего опыта в разработке, но то, как выкачиваются
> исходники хромиума, считай, чуть ли не эталон.

С чего это эталон?

> Учитывая те слухи, как устроена работа с внутренними исходниками в гугле. А
> у них репозиторий представляется как гигантская файловая система, по большей части
> ro, чтобы получить доступ к исходникам, они просто ее монтируют. Плюс,
> в гугле свои сборки убунты как внутренняя дефолтная ось. Они не
> пользуются у себя этими скриптами, не ставят зависимости, не качают таким
> образом исходники.
> Все эти скрипты написаны на коленках для того, чтобы
> сторонние люди делали git clone depot_tools, вызывали fetch chromium и приступали
> к сборке.

Тем более забудем о гугловцах, это все же инструкция для простых смертных. И для простых смертных она не очень. Выглядит как будто выкинем в опенсурс, а они пускай сами мучаются.

> При этом, fetch выкачивает еще и бинарники clang нужной версии, чтобы сборка
> была гарантирована практически бинарно идентична той, которой они собирают ее у
> себя. Ошибки компиляции, неверно сработавшие оптимизации и т.п. вещи сведены к
> минимуму.

Просто использовать контейнеры с зафиксированными версиями? Предложить пользователю поставить артифакты как это сделано мозиллой? А особо упоротые могут и бинарно идентичный clang собрать (впрочем вряд ли бы кто-то это заметил на фоне остального времени сборки). И как я писал, стабильного окружения не получилось - например в той же убунте в некоторых контейнерах snapcraft по дефолту падает (потому что при установке падает snapd, каноникл и гугл нашли друг друга), а гугловцы его тащат даже там где он не нужен (например при сборке андройда) и не сообщают об этом. Увы, нормальной сборкой это не назовешь.

> При этом, если что-то не нравится, всегда можно переделать руками. Но как
> отправная точка, дернуть один скрипт, чтобы он сделал все хорошо —
> это круто.

Но ведь нет такого, что дернул скрипт и он сделал все хорошо. И исходники вроде есть, а независимого способа собрать их нет (есть васянопроекты, которые проделывают инструкции гугла и выкладывают результат в репы, но периодически они умирают и имхо это не правильно что исходники доставляют васяны). Не очень то это круто.

> К большинству сложных проектов идет километровая инструкция, какие зависимости
> нужно ставить руками. При этом она не точная и чтобы что-то
> собрать, причем по объему сильно меньшее и сложное, чем хромиум, приходится
> весьма попотеть.

Ну например файрфокс собирается проще, более понятны пользователю, более автоматизировано (в том смысле что "запустил пару скриптов ручками, собралось") и быстрее (несмотря на ржавчину). Ядро тоже собирается проще и тоже понятнее. И у обоих нет проблем с получением исходников как у хромиума. Остальные проекты очевидно будут признаны опеннетчиками как недостаточно сложные.

Ответить | Правка | Наверх | Cообщить модератору

206. "В Firefox 98 для некоторых пользователей будет изменена поис..."  +/
Сообщение от пох. (?), 20-Фев-22, 17:40 
> Ну например файрфокс собирается проще, более понятны пользователю, более автоматизировано

э...ну... ты считаешь что криворукая пихон-обертка (требующая единственноверной версии пихона, каждый раз, разумеется, разной) вокруг configure без automake (тот сумели запустить, но только один раз, и проект тогда еще назывался netscape navigator) это понятно пользователю (в смысле - если сломалось то очевидно же ж куда смотреть и как чинить)?

> (несмотря на ржавчину). Ядро тоже собирается проще и тоже понятнее. И

я бы предложил в очередной раз посмотреть на bsd-системы. Где не одно только ядро, громадный объем _чужого_ кода со своими кривыми методами сборки (которые _удаляются_ при импорте нахрен а не оборачиваются еще одним кривым враппером работающим только на машине разработчика в дневное время) и в своем коде полно унаследованного с таких древних времен, что там уже действительно лучше ничего не править.

И ничего - собирается make. Ну, правда, bsd make. И да, если сломалось - всегда понятно куда смотреть. И как добавить собственный файлик, или целую библиотеку - тоже вполне очевидно и не требует месячника чтения докум....о чем вы, нет у гугля никакой документации на этот хлам и быть не могло.
Угадава, расспросов соседей, попыток с горя переписать, в конце-концов смирение и добавление пятнадцатой прослойки для своего мелкого таска на еще одном нескучном языке.

> проекты очевидно будут признаны опеннетчиками как недостаточно сложные.

ну естественно, сравнил Браузер (по сути весь интернет) с какими-то операционными системами...

Ответить | Правка | Наверх | Cообщить модератору

99. "В Firefox 98 для некоторых пользователей будет изменена поис..."  +/
Сообщение от keydon (ok), 18-Фев-22, 20:59 
>> взять хоть ядро
> Болезный, все стандарты веб-апи, скомпилированные в единый талмуд, будут значительно объемнее
> стандартов для целых операционных систем. Также не забудь сравнить объем кода
> хромиума и ядра.

Я знал что будет такой вброс, поэтому в том же комментарии указал и файрфокс. И надо отметить что гугл и мозилла довели веб-стандарты до такой ситуации.

Ответить | Правка | К родителю #22 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру