Есть ли простой способ защитить или вернуть исходный код Qt? - PullRequest
0 голосов
/ 30 июня 2018

Я просто случайно реорганизовал QList в QSet, и Qt добросовестно сделал это, также для всех своих собственных источников ... (да, это было глупо!)

К счастью, мой код контролируется исходным кодом, я просто отменил все, будет ли целесообразным / целесообразным сделать git-репо и для исходников Qt? (У меня есть бесплатная версия, поэтому я не думал, что смогу их изменить в любом случае ...?)

Есть ли скрытый параметр, который не позволит модифицировать его источники, чтобы я не смог сделать это снова?

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

Ответы [ 2 ]

0 голосов
/ 01 июля 2018

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

Ваша законченная установка Qt не должна быть доступна для записи вами. Это будет по умолчанию в системах Unix при установке с использованием диспетчера привилегированных пакетов. В другом месте: вам нужно сделать его только для чтения. Если вы собираете из исходного кода, то все, что нужно сделать, - это сделать рекурсивное создание папки установки доступной только для чтения в качестве последнего шага после установки; и, поскольку вы уже должны автоматизировать сборку Qt, добавление шага «сделать только для чтения» тривиально.

0 голосов
/ 30 июня 2018

К счастью, мой код контролируется исходным кодом, я просто отменил все, будет ли целесообразным / целесообразным сделать git-репо для исходников Qt? (У меня есть бесплатная версия, поэтому я не думал, что смогу их изменить в любом случае ...?)

реализуемое? Определенно. Разумные? Возможно, предполагая, что под «сделать git-репо» вы подразумеваете «клонирование официальных репозиториев Qt из Git». Это зависит от того, сколько раз вы планируете совершить одну и ту же ошибку переименования. : D А если серьезно, я думаю, что есть преимущества для сборки Qt самостоятельно:

  • Вы можете легко отлаживать и проверять реализацию API, которую вы используете.
  • Вы можете сконфигурировать Qt, чтобы пропустить сборочные материалы, которые вам не интересны.
  • Вы можете легко пропатчить Qt, если есть ошибка, о которой вы знаете, что исправили, но еще не были включены в сам Qt.

Хотя есть и недостатки. Вы можете столкнуться с проблемами при сборке, если используете флаги настройки, которые не использует CI (например, опция -no-foo). Сборка может занять некоторое время, в зависимости от того, сколько у вас субмодулей и на какой машине вы работаете.

В общем, если вы не используете API, который находится в dev и еще не выпущен, это, вероятно, не стоит беспокоить.

Если вам все еще интересно, на этой странице есть инструкции по сборке Qt из Git:

https://wiki.qt.io/Building_Qt_5_from_Git

Есть ли скрытый параметр, который не позволит модифицировать его источники, чтобы я не смог сделать это снова?

Не могли бы вы установить некоторые разрешения для исходного каталога? Мне никогда не приходилось это делать, но я был укушен этим ранее, поэтому я знаю, что это работает. : D

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...