Или как собрать composer.phar из исходников, добавить собственные изменения, подписать архив валидной сигнатурой и жить дальше.
Шаг 1 из 7
Клонируем официальные исходники необходимой версии Composer в локальную папку
git clone https://github.com/composer/composer.git
Шаг 2 из 7
Скачиваем "токсичную" сборку, в которой хотим что-либо изменить
wget https://getcomposer.org/composer.phar
Шаг 3 из 7
Ставим зависимости. Появляется папка ./vendor
cd composer && php ../composer.phar install
Шаг 4 из 7
Вносим необходимые изменения. В данном случае, удаляем токсичный политический баннер от со-автора Composer Jordi Boggiano.
Ищем функцию writeError() и добавляем пару строк с str_replace().
nano src/Composer/IO/ConsoleIO.php
public function writeError($messages, bool $newline = true, int $verbosity = self::NORMAL)
{
$messages = str_replace('Ukraine', '', $messages);
$messages = str_replace('#StandWith', '', $messages);
$this->doWrite($messages, $newline, true, $verbosity);
}
Сохраняем. Можем проверить какие изменения у нас получились git status и git diff.
Шаг 5 из 7
Собираем свой новый Composer с фиксом. Composer умеет сам себя собирать в phar архив. Для чего запускаем bin/compile, выставив флаг readonly в 0.
php -d phar.readonly=0 bin/compile
** Кому интересен процесс сборки в деталях можно смотреть сюда https://github.com/composer/composer/blob/main/src/Composer/Compiler.php
Шаг 6 из 7
Проверяем, что больше никаких баннеров при апдейте пакетов, все изменения внесены и подписаны SHA512.
php composer.phar install
php composer.phar update
Шаг 7 из 7
Кто использует Composer глобально может перенести в /usr/local/bin
chmod +x composer.phar
sudo mv composer.phar /usr/local/bin/composer
** Надеюсь кому-то пригодится, кто левой пяткой во сне каждую ночь не собирает phar архивы своих проектов.
Комментарии (53)
vril
15.04.2022 00:28+14Приглашён сегодня. Единственный пост. "Токсичная фраза". Ясно-понятно.
tbon Автор
15.04.2022 00:51-17Вы видимо с момента приглашения 25 июня 2010 все 12 лет ждали меня чтобы написать мне очень значимый комментарий, не относящийся к моей статье никак и попутно свою одну статью с отрицательным рейтингом. Ясно-понятно.
Snart
15.04.2022 13:32+8Приглашен вчера в 16:59 по приглашению от @korowkin
Не только политическая пропаганда в первом посте, но еще и наглая и не очень умная ложь.
Надеюсь, администрация поступит благоразумно и переведет@tbon в readonly за очевидное нарушение правил ресурса.tbon Автор
15.04.2022 13:43-8Статья не нарушает ни одного пункта правил. Прошла модерацию до приглашения модераторами. Она про сборку composer из исходников. В качестве примера взят кусок кода не имеющий функционального значения и относящийся не к ИТ или к проекту, а к политике.
Ваше мнение, скорее всего основывается на Вашей локации. В остальном, нужность статьи видна по кол-ву закладок и рейтинга, а не из комментариев Киева и ЕС с провокациями на политическую тему, вместо технической и сутевой.
casnerano
15.04.2022 13:45-7Печально, что it-сообщество ввязалось в политические игры.
И самое неприятное, что авторы опенсорс проектов позволяют себе размещение подобных баннеров, не спрашивая мнение соавторов, и не проявляя уважение к разработчикам, которые будут работать с этими инструментами.
ordoss
15.04.2022 19:28+7Предлагаю автору не останавливаться на достигнутом, а заменить все баннеры на "нетоксичные" Z и V.
DeadMaster
16.04.2022 19:12-1Вы точно вменяемый? У вас бывает только или строго за или строго против?
OnYourLips
17.04.2022 13:23На некоторые вопросы можно ответить только строго за или против. Например, на вопрос: "Поддерживаете ли вы Холокост?", — любые ответы кроме "категорически нет" звучат утвердительно.
Нельзя дать ответ "Ну, тут все не ясно, может быть они сами себя сжигают, да и вообще где вы были 20 лет после заключения Версальского соглашения?" так, чтобы он не звучал как поддержка.
DeadMaster
17.04.2022 14:32У любой истории есть 2 стороны. Но для удобство ту сторону что нам не нравится мы называем "фейком".
А вообще о холокосте я думаю оставшиеся "защитники мариуполя" с вами бы подискутировали.
Sartor
15.04.2022 20:33+10Свой композер это не str_replace закостылить. Делайте форк, поднимайте свой репозиторий, привлекайте программистов - тогда будет свой композер. Можно его даже назвать будет со всеми нужными буквами и флагами. А так это всё ко-ко-ко.
Он что, перестал работать или делает что-то вредное? Вы хотите пользоваться благом open-source сообщества, но не хотите принимать его правила, да? Или у вас просто печёт?
tbon Автор
15.04.2022 21:47-11Печет у Вас, судя по всему. Не нужно мне указывать делать форк или нет. Берите и делайте сами, кто вас останавливает? С любым своим флагом и тд.
А я хочу видеть труд 300 контрибьюторов без всего этого, хотябы у себя локально. Уж точно без rm -rf и тд.
Ко ко ко - это как раз Вы. Строчащие из одного единственного города и минусующие карму и кидающие политические провокации, которые по сути запрещены правилами Хабра.
Свой - это собранный из исходников со своими личными изменениями. Локально.Хочу и выпиливаю, любую фразу. Не хотие собирать свой и выпиливать что-либо или менять логику, идите мимо и не пишите бесполезных комментариев не по делу.
Касаемо фразы, от которой так подгорает только у пользователей из Киева, то большинство контрибьюторов были против, но автор репозитория решил наплевать на это, раз есть техническая возможность. Все диалоги есть на хитхабе. И форки кстати тоже делали.
Безусловно делает вредное. Выше я приводил примеры с rm -rf как и другие кейсы.
Я лично не хочу видеть политику любого рода и высказывания, не относящиеся к проекту.rez0n
16.04.2022 05:07А я хочу видеть труд 300 контрибьюторов без всего этого, хотябы у себя локально. Уж точно без rm -rf и тд.
Ну так где? Принес бы хоть какую-то пользу исправив "rm -rf и тд."
kolyuchii
15.04.2022 21:47+9Какой интересный подход, вам так не нравится видеть, что весь мир выступает против фашисткой агрессии со стороны Путина?
tbon Автор
15.04.2022 22:01-9Не важно, что нравиться мне. Важно, что не должно быть политики в таких продуктах. Это противоречит принципам OS. И безопасности.
Вы видимо лично с ним знакомы?! Лично я нет.
И не делаю выводов за весь мир, как ряд комментирующих. Хабр не про политику, как и Open Source. Или вы предлагаете всталять подобные комментари в ядро Linux? Давайте завешаем все проекты этой клоунадой, разве других проблем не хватает технических? (Стабильность кода, безопасность, баги, новый функционал и тд.)
darken99
16.04.2022 13:43+2Война противоречит принципам морали
Изнасилования и убийства мирного населения противоречат законам ведения войны
Преднамеренное калечение (отрубание рук и ног) военнопленным также является военным преступлением
А вам видите ли баннер не нравится...
Идите всед за крейсером "москва", вас надо вообще от всего цивилизованного мира изолировать, а потом аккуратно залить всю территорию бетоном толщиной метров в 100 (чтоб наверняка) - что собственно вяло и происходит, просто до вас пока не дошло потому как лопату вам в анус вставили уже давно и вы с ней уже срослисьtbon Автор
16.04.2022 14:02-4Ваши сексуальные фантазии стоит выражать на других профильных ресурсах.
Жаль что Вас не банят за нарушение правил, или вообще не выпилят по IP за экстремизм.
darken99
16.04.2022 14:17+1Ваши мысли по поводу моих возможных фантазий можете оставить при себе.
А насчет экстремизма - ну да, у вас там по статье экстремизм упаковывают за плакаты против войны, если вы это разделяете то вас нужно лечить, если это еще возможноtbon Автор
16.04.2022 14:45-3Ну ни я же пришел комментировать Вашу статью!? Так что, хочу и выражаю свои мысли, пока карма позволяет. Что вы мне сделаете? А то судя по статистике, все село собралось минусовать карму. Все на что способны, на техническом ресурсе комменты с дивана писать.
Я в статье ничего не писал ни про войны, ни про плакаты, и уж тем более, что Вам там что-то куда-то засовывают в любимое место (не очень силен в теме вашего первого абзаца, извините).
Я ничего не разделяю. И в отличие от Вас никаких правил не нарушаю.
Цитирую, для остальных желающих "Мат, оскорбления, переходы на личности, эвфемизмы, троллинг — хорошие
способы быстро и надежно сменить текущий статус аккаунта на ReadOnly."darken99
16.04.2022 16:18+1А вам кто-то говорил что кто-то что-то собирается делать? Вы же сами свою карму и утопите, мне даже особо делать ничего не надо.
Вам несколько человек попыталась донести что есть некая связь между А и Б, но раз вы ее отказываетесь видеть - ну что ж, вас просто изолируют как буйного сумасшедшего вместе с остальными такими же. Представьте, в здоровом обществе пока человек дурак - на него не обращают внимания, когда он немного поехал кукухой но еще ведет себя в рамках - с ним разговаривают, пытаются объяснить, как только он начинает буйствовать - его помещают в спец учреждение чтобы он своими действиями не вредил окружающим. Вы на последней стадии.
tbon Автор
16.04.2022 16:30-2"В психиатрии ведь как — кто первым халат надел, тот и доктор."
darken99
16.04.2022 16:39+1Но если пришли люди в халатах другого цвета и их больше то уже "не все так однозначно" (С)
А если вы сразу одели смирительную рубашку и всем рассказываете что это халат и вы доктор то тут вообще все очевидно
Levsha128
15.04.2022 22:17-2яка кончена тупа русня, нічього скоро вони на калькуляторах програмувати будуть
DeadMaster
16.04.2022 19:14+1Уверен ваш комент наберёт много лайков.
Хабр уже не тот.
Levsha128
16.04.2022 19:41+1Ну звісно, ви давно бачили цікаві чи гарно пропрацьовані статті на хабрі? Я десь у 2015-му. Після цього купа реклами і новини. Всі давно переключились на англомовні блоги, реддіт, etc. Тому тут можно і потроллити і жостко, тим паче є за що.
webdevium
А будет инструкция как убрать эту "ужасную" фразу из phpunit, codecept и многих сайтов во всем мире?
TsarS
Да их много https://github.com/vshymanskyy/StandWithUkraine
webdevium
Так это прекрасно, что их много. И будет больше.
Ибо это показатель того, что весь мир понимает суть происходящего.
tbon Автор
Не думаю, что Вы можете говорить аж от лица всего мира )
webdevium
Не могу за всех, действительно. Мировое сообщество само за себя сказало.
fwlone
Показало свою глупость.
MikUrrey
Это показатель того, что Геббельс умер, а дело его живет. Ну и так, для уточнения: либеральный Запад - это не весь мир.
AikoKirino
А что же мировая общественность не понимала сути происходящего, когда бравые муриканские вояки бомбили мирняк по всему миру?
Видимо это как-то по другому работает :)
Machirodont
Это действительно работает не просто по факту бомбардировок, а по моральной оценке всего комплекса причин, последствий и возможных альтернатив этого события.Так уж получилось, что мировая общественность считает благом уничтожение людоедских диктаторских режимов и злом - агрессивную захватническую войну. Чтобы это понимать, нужно иметь понятие о довольно сложных концепциях типа этики, добра и зла и всяком таком, но не всем дано.
inakrin
Не могу не задать вопрос, точнее два по поводу "уничтожения людоедских режимов".
1. Как люди (экономически и политически) жили в Ливии при "людоедском режиме"?
2. И как они живут сейчас, через несколько лет, после уничтожения "людоедского режима".
P.S. Вместо Ливии можно подставить Ирак и любую африканскую страну из новостей последнего десятилетия. Ответы стоит искать в постах и записях очевидцев, например на Quora иногда есть посты.
FanatPHP
Я думаю, мировое сообщество пересмотрит свой поход даже к людоедским режимам. Потому что над каждой подобной войной будет теперь автоматически висеть клеймо "спецоперации".
Тем не менее, разница всё равно есть, и она не в моральной оценке. Ни к Ливии, ни к Ираку никогда не было территориальных претензий. Именно этим и вызвана столь единодушная реакция мирового сообщества. Для сравнения можно взять реакцию на такие же бомбардировки Сирии — да, тоже протесты, но куда менее значимые. Геополитика — это одно, но возврат к прошлому — это уже совсем, совсем другое.
MrFrizzy
Мне так нравится, когда убийства людей оправдывают тем, что другие люди тоже убивали людей... Разница хотя бы в том, что "бравые муриканские вояки" не насиловали и убивали простых граждан сотнями, и не обещали это же повторить со всеми своими соседями по очереди ;)
0xd34df00d
Нет ничего о роли Германии (покупающей до сих пор нефть и спонсирующей этим операцию), Франции (поставлявшей России вооружение в том числе с 2015 по 2020) и США (где слова текущего президента о том, что «если начнёте воевать, то мы вам, эээ, санкции» по факту дали зелёный свет).
Нет, весь мир не понимает суть происходящего. Демонстрацией понимания происходящего были бы призывы бойкотировать не только российское ПО, но и немецкое, французское и американское. Учитывая, что демократии в последних странах побольше, эти бойкоты и бойкоты населения этих стран были бы даже более оправданы.
tbon Автор
Если напишите, то будет. Почему бы и нет. Фразу "ужасной" назвали Вы! В статье такого нет. Она вообще про то, как собрать свой composer из исходников, внеся измеения (какие захотите). Ждем Вашу статью.
Big_Shark
Только у вас пример именно с этой фразой, которую вы называете "токсичной".
tbon Автор
Фраза не моя, а общественная. Ни я ее коммитил в репозиторий. "Токсичная" она по определению. Читайте определение токсичности. Любая такая информация не имеет никакого отношения к Open Source и IT и не должна быть в проекте, куда вносят вклад сотни контрибьюторов, а не только со-автор с рубильником. Тем более подобные "токсичные" коммиты в ряде случаев превратились во "внедоносные", выполняя, например rm -rf при определенных условиях (например по локации). Давно существуют общественные проекты, систематизирующие такие вредоносные коммиты/проекты (первый попавшийся https://toxic-repos.ru/) для предотвращения негативных последствий, подрывающих саму суть Open Source. Но логика минусующих мне в карму, очевидно в том, что любые способы хороши, главное нанести вред любой ценой и даже не важно кому, лишь бы привлечь внимание. Понимание придет тогда, когда этот механизм развернут против них (и русские IP превраться в диапазоны адресов Риги или Киева под любым другим предлогом через пару лет, когда хозяевам из Вашингтона будет нужно).
Big_Shark
Я понял, у вас каша в голове, так что я пожалуй откланяюсь, и оставлю вас с ней наедине.
tbon Автор
Да уж будьте так добры, откланяйтесь и мы только рады будем если оставите нас. Мы так скажем, не звали вас к нашей каше, как вы выразились. Ищите дальше в технической статье политические подтексты за пару центов из Госдепа. И покупайте все проприетарное с "закладками" от АНБ для обеспечения стабильности ЕС ))) Open Source вам не особо нужен. Осталось дождаться патчей в ядро линукса, следя за вашей логикой.
UdarEC
Недавно был уже звоночек в опенсорсе, море баннеров при президентстве Трампа #blm. Травля неугодных уже тогда отрабатывалась как инструмент cancel culture
vril
"хозяевам из Вашингтона", окееей...
0xd34df00d
Видео, как Байден хвастается, что надавил на президента Украины, чтобы он сменил прокурора, расследовавшего коррупцию и отмывание денег его сына, не видели?
alex1478
Кстати, заметил что подобные фразы больше всего добавили в php и js проекты. И с #blm тоже в основном отметились js проекты.
Не хочу никого обидеть, но нельзя ли из таких входных данных сделать выводы, что люди с активной политической позицией, иными словами любящие учавствовать в любой политической движухе, предпочитают языки программирования с низким порогом входа?
Опять же повторю что никого не хочу задеть, просто интересно мнение и наблюдал ли кто-то эту же закономерность (возможно в проектах на других языках тоже много подобного, просто их не обсуждают)
Jouretz
Вспоминается скандал в Rust из-за SJW (https://habr.com/ru/news/t/590869/)
Скорее всего тут работает просто случайное распределение, чем больше людей пишет на языке тем больше шансов встретить среди них "политически активных". Процент "активных" к нормальным вряд ли кто-то считал, роль играет то что на слуху много "случаев" появляется