Или как собрать 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)


  1. webdevium
    14.04.2022 20:56
    +5

    А будет инструкция как убрать эту "ужасную" фразу из phpunit, codecept и многих сайтов во всем мире?


    1. TsarS
      14.04.2022 21:40
      +1

      1. webdevium
        14.04.2022 21:44
        +12

        Так это прекрасно, что их много. И будет больше.

        Ибо это показатель того, что весь мир понимает суть происходящего.


        1. tbon Автор
          14.04.2022 22:12
          -4

          Не думаю, что Вы можете говорить аж от лица всего мира )


          1. webdevium
            14.04.2022 22:14
            +16

            Не могу за всех, действительно. Мировое сообщество само за себя сказало.


            1. fwlone
              15.04.2022 12:01
              -5

              Показало свою глупость.


        1. MikUrrey
          15.04.2022 00:01
          +6

          Это показатель того, что Геббельс умер, а дело его живет. Ну и так, для уточнения: либеральный Запад - это не весь мир.


        1. AikoKirino
          15.04.2022 01:23
          +7

          А что же мировая общественность не понимала сути происходящего, когда бравые муриканские вояки бомбили мирняк по всему миру?

          Видимо это как-то по другому работает :)


          1. Machirodont
            15.04.2022 07:46
            +9

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


            1. inakrin
              15.04.2022 09:28
              +5

              Не могу не задать вопрос, точнее два по поводу "уничтожения людоедских режимов".
              1. Как люди (экономически и политически) жили в Ливии при "людоедском режиме"?
              2. И как они живут сейчас, через несколько лет, после уничтожения "людоедского режима".

              P.S. Вместо Ливии можно подставить Ирак и любую африканскую страну из новостей последнего десятилетия. Ответы стоит искать в постах и записях очевидцев, например на Quora иногда есть посты.


              1. FanatPHP
                15.04.2022 11:46
                +2

                Я думаю, мировое сообщество пересмотрит свой поход даже к людоедским режимам. Потому что над каждой подобной войной будет теперь автоматически висеть клеймо "спецоперации".


                Тем не менее, разница всё равно есть, и она не в моральной оценке. Ни к Ливии, ни к Ираку никогда не было территориальных претензий. Именно этим и вызвана столь единодушная реакция мирового сообщества. Для сравнения можно взять реакцию на такие же бомбардировки Сирии — да, тоже протесты, но куда менее значимые. Геополитика — это одно, но возврат к прошлому — это уже совсем, совсем другое.


          1. MrFrizzy
            15.04.2022 16:12
            +5

            Мне так нравится, когда убийства людей оправдывают тем, что другие люди тоже убивали людей... Разница хотя бы в том, что "бравые муриканские вояки" не насиловали и убивали простых граждан сотнями, и не обещали это же повторить со всеми своими соседями по очереди ;)


        1. 0xd34df00d
          15.04.2022 17:07
          +1

          Нет ничего о роли Германии (покупающей до сих пор нефть и спонсирующей этим операцию), Франции (поставлявшей России вооружение в том числе с 2015 по 2020) и США (где слова текущего президента о том, что «если начнёте воевать, то мы вам, эээ, санкции» по факту дали зелёный свет).


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


    1. tbon Автор
      14.04.2022 22:09
      -9

      Если напишите, то будет. Почему бы и нет. Фразу "ужасной" назвали Вы! В статье такого нет. Она вообще про то, как собрать свой composer из исходников, внеся измеения (какие захотите). Ждем Вашу статью.


      1. Big_Shark
        14.04.2022 23:24
        +12

        Только у вас пример именно с этой фразой, которую вы называете "токсичной".


        1. tbon Автор
          14.04.2022 23:49
          +1

          Фраза не моя, а общественная. Ни я ее коммитил в репозиторий. "Токсичная" она по определению. Читайте определение токсичности. Любая такая информация не имеет никакого отношения к Open Source и IT и не должна быть в проекте, куда вносят вклад сотни контрибьюторов, а не только со-автор с рубильником. Тем более подобные "токсичные" коммиты в ряде случаев превратились во "внедоносные", выполняя, например rm -rf при определенных условиях (например по локации). Давно существуют общественные проекты, систематизирующие такие вредоносные коммиты/проекты (первый попавшийся https://toxic-repos.ru/) для предотвращения негативных последствий, подрывающих саму суть Open Source. Но логика минусующих мне в карму, очевидно в том, что любые способы хороши, главное нанести вред любой ценой и даже не важно кому, лишь бы привлечь внимание. Понимание придет тогда, когда этот механизм развернут против них (и русские IP превраться в диапазоны адресов Риги или Киева под любым другим предлогом через пару лет, когда хозяевам из Вашингтона будет нужно).


          1. Big_Shark
            14.04.2022 23:57
            +2

            Я понял, у вас каша в голове, так что я пожалуй откланяюсь, и оставлю вас с ней наедине.


            1. tbon Автор
              15.04.2022 00:14
              -9

              Да уж будьте так добры, откланяйтесь и мы только рады будем если оставите нас. Мы так скажем, не звали вас к нашей каше, как вы выразились. Ищите дальше в технической статье политические подтексты за пару центов из Госдепа. И покупайте все проприетарное с "закладками" от АНБ для обеспечения стабильности ЕС ))) Open Source вам не особо нужен. Осталось дождаться патчей в ядро линукса, следя за вашей логикой.


              1. UdarEC
                15.04.2022 00:28
                +5

                Недавно был уже звоночек в опенсорсе, море баннеров при президентстве Трампа #blm. Травля неугодных уже тогда отрабатывалась как инструмент cancel culture


          1. vril
            15.04.2022 08:53
            +7

            "хозяевам из Вашингтона", окееей...


            1. 0xd34df00d
              15.04.2022 17:03
              -3

              Видео, как Байден хвастается, что надавил на президента Украины, чтобы он сменил прокурора, расследовавшего коррупцию и отмывание денег его сына, не видели?


    1. alex1478
      15.04.2022 13:28
      -2

      Кстати, заметил что подобные фразы больше всего добавили в php и js проекты. И с #blm тоже в основном отметились js проекты.

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

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


      1. Jouretz
        15.04.2022 20:05
        -1

        Вспоминается скандал в Rust из-за SJW (https://habr.com/ru/news/t/590869/)

        Скорее всего тут работает просто случайное распределение, чем больше людей пишет на языке тем больше шансов встретить среди них "политически активных". Процент "активных" к нормальным вряд ли кто-то считал, роль играет то что на слуху много "случаев" появляется


  1. vril
    15.04.2022 00:28
    +14

    Приглашён сегодня. Единственный пост. "Токсичная фраза". Ясно-понятно.


    1. tbon Автор
      15.04.2022 00:51
      -17

      Вы видимо с момента приглашения 25 июня 2010 все 12 лет ждали меня чтобы написать мне очень значимый комментарий, не относящийся к моей статье никак и попутно свою одну статью с отрицательным рейтингом. Ясно-понятно.


      1. Snart
        15.04.2022 13:32
        +8

        Приглашен вчера в 16:59 по приглашению от @korowkin

        Не только политическая пропаганда в первом посте, но еще и наглая и не очень умная ложь.
        Надеюсь, администрация поступит благоразумно и переведет@tbon в readonly за очевидное нарушение правил ресурса.


        1. tbon Автор
          15.04.2022 13:43
          -8

          Статья не нарушает ни одного пункта правил. Прошла модерацию до приглашения модераторами. Она про сборку composer из исходников. В качестве примера взят кусок кода не имеющий функционального значения и относящийся не к ИТ или к проекту, а к политике.

          Ваше мнение, скорее всего основывается на Вашей локации. В остальном, нужность статьи видна по кол-ву закладок и рейтинга, а не из комментариев Киева и ЕС с провокациями на политическую тему, вместо технической и сутевой.


  1. z80180
    15.04.2022 11:03
    -2

    Спасибо, за рецепт!


    1. franzose
      15.04.2022 19:31
      +2

      С запятой получился тост)


  1. casnerano
    15.04.2022 13:45
    -7

    Печально, что it-сообщество ввязалось в политические игры.

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


    1. kolyuchii
      15.04.2022 21:45
      +6

      Печально, что столько лет сообщество было вне политики.


  1. ordoss
    15.04.2022 19:28
    +7

    Предлагаю автору не останавливаться на достигнутом, а заменить все баннеры на "нетоксичные" Z и V.


    1. DeadMaster
      16.04.2022 19:12
      -1

      Вы точно вменяемый? У вас бывает только или строго за или строго против?


      1. ordoss
        16.04.2022 22:02
        +2

        А лично вы на сколько % за?


        1. DeadMaster
          17.04.2022 11:34
          -1

          Хабр это не та площадка, где стоит о таких вещах спорить.


      1. OnYourLips
        17.04.2022 13:23

        На некоторые вопросы можно ответить только строго за или против. Например, на вопрос: "Поддерживаете ли вы Холокост?", — любые ответы кроме "категорически нет" звучат утвердительно.

        Нельзя дать ответ "Ну, тут все не ясно, может быть они сами себя сжигают, да и вообще где вы были 20 лет после заключения Версальского соглашения?" так, чтобы он не звучал как поддержка.


        1. DeadMaster
          17.04.2022 14:32

          У любой истории есть 2 стороны. Но для удобство ту сторону что нам не нравится мы называем "фейком".

          А вообще о холокосте я думаю оставшиеся "защитники мариуполя" с вами бы подискутировали.


  1. Sartor
    15.04.2022 20:33
    +10

    Свой композер это не str_replace закостылить. Делайте форк, поднимайте свой репозиторий, привлекайте программистов - тогда будет свой композер. Можно его даже назвать будет со всеми нужными буквами и флагами. А так это всё ко-ко-ко.

    Он что, перестал работать или делает что-то вредное? Вы хотите пользоваться благом open-source сообщества, но не хотите принимать его правила, да? Или у вас просто печёт?


    1. tbon Автор
      15.04.2022 21:47
      -11

      Печет у Вас, судя по всему. Не нужно мне указывать делать форк или нет. Берите и делайте сами, кто вас останавливает? С любым своим флагом и тд.

      А я хочу видеть труд 300 контрибьюторов без всего этого, хотябы у себя локально. Уж точно без rm -rf и тд.

      Ко ко ко - это как раз Вы. Строчащие из одного единственного города и минусующие карму и кидающие политические провокации, которые по сути запрещены правилами Хабра.

      Свой - это собранный из исходников со своими личными изменениями. Локально.

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

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

      Безусловно делает вредное. Выше я приводил примеры с rm -rf как и другие кейсы.

      Я лично не хочу видеть политику любого рода и высказывания, не относящиеся к проекту.


      1. rez0n
        16.04.2022 05:07

        А я хочу видеть труд 300 контрибьюторов без всего этого, хотябы у себя локально. Уж точно без rm -rf и тд. 

        Ну так где? Принес бы хоть какую-то пользу исправив "rm -rf и тд."


    1. den_rad
      15.04.2022 21:49
      +3

      Отличный пример импортозамещения – российский composer ;)


  1. kolyuchii
    15.04.2022 21:47
    +9

    Какой интересный подход, вам так не нравится видеть, что весь мир выступает против фашисткой агрессии со стороны Путина?


    1. tbon Автор
      15.04.2022 22:01
      -9

      Не важно, что нравиться мне. Важно, что не должно быть политики в таких продуктах. Это противоречит принципам OS. И безопасности.

      Вы видимо лично с ним знакомы?! Лично я нет.

      И не делаю выводов за весь мир, как ряд комментирующих. Хабр не про политику, как и Open Source. Или вы предлагаете всталять подобные комментари в ядро Linux? Давайте завешаем все проекты этой клоунадой, разве других проблем не хватает технических? (Стабильность кода, безопасность, баги, новый функционал и тд.)


      1. darken99
        16.04.2022 13:43
        +2

        Война противоречит принципам морали
        Изнасилования и убийства мирного населения противоречат законам ведения войны
        Преднамеренное калечение (отрубание рук и ног) военнопленным также является военным преступлением

        А вам видите ли баннер не нравится...
        Идите всед за крейсером "москва", вас надо вообще от всего цивилизованного мира изолировать, а потом аккуратно залить всю территорию бетоном толщиной метров в 100 (чтоб наверняка) - что собственно вяло и происходит, просто до вас пока не дошло потому как лопату вам в анус вставили уже давно и вы с ней уже срослись


        1. tbon Автор
          16.04.2022 14:02
          -4

          Ваши сексуальные фантазии стоит выражать на других профильных ресурсах.

          Жаль что Вас не банят за нарушение правил, или вообще не выпилят по IP за экстремизм.


          1. darken99
            16.04.2022 14:17
            +1

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


            1. tbon Автор
              16.04.2022 14:45
              -3

              Ну ни я же пришел комментировать Вашу статью!? Так что, хочу и выражаю свои мысли, пока карма позволяет. Что вы мне сделаете? А то судя по статистике, все село собралось минусовать карму. Все на что способны, на техническом ресурсе комменты с дивана писать.

              Я в статье ничего не писал ни про войны, ни про плакаты, и уж тем более, что Вам там что-то куда-то засовывают в любимое место (не очень силен в теме вашего первого абзаца, извините).

              Я ничего не разделяю. И в отличие от Вас никаких правил не нарушаю.

              Цитирую, для остальных желающих "Мат, оскорбления, переходы на личности, эвфемизмы, троллинг — хорошие
              способы быстро и надежно сменить текущий статус аккаунта на ReadOnly."


              1. darken99
                16.04.2022 16:18
                +1

                А вам кто-то говорил что кто-то что-то собирается делать? Вы же сами свою карму и утопите, мне даже особо делать ничего не надо.

                Вам несколько человек попыталась донести что есть некая связь между А и Б, но раз вы ее отказываетесь видеть - ну что ж, вас просто изолируют как буйного сумасшедшего вместе с остальными такими же. Представьте, в здоровом обществе пока человек дурак - на него не обращают внимания, когда он немного поехал кукухой но еще ведет себя в рамках - с ним разговаривают, пытаются объяснить, как только он начинает буйствовать - его помещают в спец учреждение чтобы он своими действиями не вредил окружающим. Вы на последней стадии.


                1. tbon Автор
                  16.04.2022 16:30
                  -2

                  "В психиатрии ведь как — кто первым халат надел, тот и доктор."


                  1. darken99
                    16.04.2022 16:39
                    +1

                    Но если пришли люди в халатах другого цвета и их больше то уже "не все так однозначно" (С)

                    А если вы сразу одели смирительную рубашку и всем рассказываете что это халат и вы доктор то тут вообще все очевидно


  1. Levsha128
    15.04.2022 22:17
    -2

    яка кончена тупа русня, нічього скоро вони на калькуляторах програмувати будуть


    1. DeadMaster
      16.04.2022 19:14
      +1

      Уверен ваш комент наберёт много лайков.

      Хабр уже не тот.


      1. Levsha128
        16.04.2022 19:41
        +1

        Ну звісно, ви давно бачили цікаві чи гарно пропрацьовані статті на хабрі? Я десь у 2015-му. Після цього купа реклами і новини. Всі давно переключились на англомовні блоги, реддіт, etc. Тому тут можно і потроллити і жостко, тим паче є за що.