<?xml version="1.0" encoding="windows-1251"?>
<rss version="2.0">
<channel>
<title>FreeSource - AltLinux/Sisyphus/devel/TypicalPackagingErrors/PatchesVsFiles</title>
<link>http://freesource.info/wiki/AltLinux/Sisyphus/devel/TypicalPackagingErrors/PatchesVsFiles</link>
<description>History/revisions of FreeSource/AltLinux/Sisyphus/devel/TypicalPackagingErrors/PatchesVsFiles</description>
<language>en-us</language>
<item>
<title>2007-02-07 11:41:19</title>
<link>http://freesource.info/wiki/AltLinux/Sisyphus/devel/TypicalPackagingErrors/PatchesVsFiles/show?time=2007-02-07+11%3A41%3A19</link>
<description>&lt;div class="pageBefore">&lt;img src="http://freesource.info/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a name=".altlinux.sisyphus.devel.typicalpackagingerrors.patchesvsfiles" href="http://freesource.info/wiki/AltLinux/Sisyphus/devel/TypicalPackagingErrors/PatchesVsFiles&amp;" class="">/Alt&amp;nbsp;Linux&amp;nbsp;/&amp;nbsp;Sisyphus&amp;nbsp;/&amp;nbsp;devel&amp;nbsp;/&amp;nbsp;Typical&amp;nbsp;Packaging&amp;nbsp;Errors&amp;nbsp;/&amp;nbsp;Patches&amp;nbsp;Vs&amp;nbsp;Files&lt;/a> за &lt;a href="http://freesource.info/wiki/AltLinux/Sisyphus/devel/TypicalPackagingErrors/PatchesVsFiles?time=2007-02-07+11%3A41%3A19">2007-02-07 11:41:19&lt;/a> и &lt;a href="http://freesource.info/wiki/AltLinux/Sisyphus/devel/TypicalPackagingErrors/PatchesVsFiles">2007-02-18 00:09:51&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;div class="action" style="float:right; width:250px">&lt;div class="action-content">Эта&amp;nbsp;страница была перенесена на&amp;nbsp;&lt;a href="http://altlinux.org/TypicalPackagingErrors/PatchesVsFiles" target="_blank" title="" class="outerlink">altlinux.org&lt;/a>. Текст на&amp;nbsp;freesource.info заморожен.&lt;/div>&lt;/div>&lt;a name="h5478-1">&lt;/a>&lt;h2>&lt;a href="http://lists.altlinux.org/pipermail/community/2007-February/189295.html" target="_blank" title="Внешняя ссылка (откроется в новом окне)" class="outerlink">&lt;img src="http://freesource.info/wiki/themes/coffee/icons/web.gif" alt="" border="0" />Как делать патчи&lt;/a>&lt;/h2>
Patch0: name-1.0-alt-link-fixes.patch&lt;a name="h5478-2">&lt;/a>&lt;h2> Ссылки &lt;/h2>
&lt;ul>&lt;li> &lt;a href="http://lists.altlinux.org/pipermail/community/2007-February/189295.html" target="_blank" title="Внешняя ссылка (откроется в новом окне)" class="outerlink">&lt;img src="http://freesource.info/wiki/themes/coffee/icons/web.gif" alt="" border="0" />http://lists.altlinux.org/pipermail/community/2007-February/189295.html&lt;/a>&lt;/li>&lt;/ul>
&lt;!--notypo-->{{backlinks}}&lt;!--/notypo-->&lt;/div>&lt;br />
&lt;b>Удалено:&lt;/b>&lt;br />
&lt;div class="deletions">&lt;a name="h5478-1">&lt;/a>&lt;h2>Как делать патчи&lt;/h2>
&lt;span class="missingpage">Patch&amp;nbsp;0&lt;/span>&lt;a href="http://freesource.info/wiki/Patch0/edit?add=1&amp;" title="Создать эту страницу">?&lt;/a>: name-1.0-alt-link-fixes.patch&lt;/div>&lt;/div>
</description>
</item>
<item>
<title>2005-12-05 23:56:08</title>
<link>http://freesource.info/wiki/AltLinux/Sisyphus/devel/TypicalPackagingErrors/PatchesVsFiles/show?time=2005-12-05+23%3A56%3A08</link>
<description>&lt;div class="pageBefore">&lt;img src="http://freesource.info/wiki/images/z.gif" width="1" height="1" border="0" alt="" style="display:block" align="top" />&lt;/div>&lt;div class="page">
&lt;b>Сравнение версий &lt;a  href="http://freesource.info/wiki/AltLinux/Sisyphus/devel/TypicalPackagingErrors/PatchesVsFiles&amp;" class="">/Alt&amp;nbsp;Linux&amp;nbsp;/&amp;nbsp;Sisyphus&amp;nbsp;/&amp;nbsp;devel&amp;nbsp;/&amp;nbsp;Typical&amp;nbsp;Packaging&amp;nbsp;Errors&amp;nbsp;/&amp;nbsp;Patches&amp;nbsp;Vs&amp;nbsp;Files&lt;/a> за &lt;a href="http://freesource.info/wiki/AltLinux/Sisyphus/devel/TypicalPackagingErrors/PatchesVsFiles?time=2005-12-05+23%3A56%3A08">2005-12-05 23:56:08&lt;/a> и &lt;a href="http://freesource.info/wiki/AltLinux/Sisyphus/devel/TypicalPackagingErrors/PatchesVsFiles?time=2007-02-07+11%3A41%3A19">2007-02-07 11:41:19&lt;/a>&lt;/b>&lt;br />
&lt;br />
&lt;b>Добавлено:&lt;/b>&lt;br />
&lt;div class="additions">&lt;!--notypo-->&lt;textarea class="code" rows="3" readonly="readonly">&amp;gt; Что лучше почитать перед тем как заниматься изготовлением
&amp;gt; &amp;gt; собственных патчей?&lt;/textarea>&lt;!--/notypo-->&lt;a name="h5478-1">&lt;/a>&lt;h2> Краткая инструкция для&amp;nbsp;&amp;laquo;начинающих&amp;raquo;. &lt;/h2>
Распаковать апстримные сырцы. Допустим что&amp;nbsp;они распакованы в&amp;nbsp;папку name-1.0/&lt;br />
Далее надо зайти в&amp;nbsp;эту директорию. Перед изменением каждого файла надо&lt;br />
создать его&amp;nbsp;копию с&amp;nbsp;с расширением .orig&lt;br />
То&amp;nbsp;есть например если собираешься менять Makefile.am &amp;ndash; надо&lt;br />
скопировать его&amp;nbsp;как Makefile.am.orig&lt;br />
Я&amp;nbsp;обычно делаю это&amp;nbsp;командой&lt;br />
cp&amp;nbsp;src/Makefile.am{,.orig}&lt;br />
После чего надо внести во&amp;nbsp;все файлы необходимые изменения.&lt;br />
Можно даже собирать из&amp;nbsp;этой директории, вносить дополнительные&lt;br />
изменения по&amp;nbsp;результатам пересборки, и&amp;nbsp;т.д.&lt;br />
Когда изменения будут готовы &amp;ndash; наступает самое тяжелое.&lt;br />
Надо придумать имя&amp;nbsp;для патча.&lt;br />
ALT&amp;nbsp;Packaging policy&lt;br />
(&lt;a href="http://docs.altlinux.ru/alt/devel/ch01.html#id2865952" target="_blank" title="Внешняя ссылка (откроется в новом окне)" class="outerlink">&lt;img src="http://freesource.info/wiki/themes/coffee/icons/web.gif" alt="" border="0" />http://docs.altlinux.ru/alt/devel/ch01.html#id2865952&lt;/a>) рекомендует&lt;br />
давать патчам имена, состоящие из&amp;nbsp;имени пакета, версии,&lt;br />
&amp;laquo;происхождения&amp;raquo; и&amp;nbsp;причины патча.&lt;br />
Например, имя&amp;nbsp;патча для&amp;nbsp;нашего гипотетического пакета может быть&lt;br />
name-1.0-alt-link-fixes.patch&lt;br />
Тогда надо выйти в&amp;nbsp;&amp;laquo;родительскую&amp;raquo; директорию (где находится каталог с&lt;br />
исходниками name-1.0/) и&amp;nbsp;сказать&lt;br />
gendiff name-1.0 .orig&lt;br />
На&amp;nbsp;экран будет выведен патч, сгенерированный как&amp;nbsp;разница между&lt;br />
сохраненными ранее файлами .orig и&amp;nbsp;измененными файлами без&amp;nbsp;.orig.&lt;br />
Если нравится что&amp;nbsp;получилось &amp;ndash; надо сохранить этот патч как&amp;nbsp;отдельный файл.&lt;br />
gendiff name-1.0 .orig &amp;gt; /RPM/SOURCES/name-1.0-alt-link-fixes.patch&lt;br />
Затем в&amp;nbsp;спеке надо будет подключить этот патч в&amp;nbsp;двух местах.&lt;br />
Первое из&amp;nbsp;них &amp;ndash; это&amp;nbsp;запись о&amp;nbsp;патче.&lt;br />
Рекомендую положить ее&amp;nbsp;рядом с&amp;nbsp;тегом Source.&lt;br />
Перед патчем желательно поместить какой-нибудь комментарий типа для&lt;br />
чего этот патч.&lt;br />
# Name's upsteam don't want my&amp;nbsp;patch, so&amp;nbsp;I place it&amp;nbsp;here. This make&lt;br />
all&amp;nbsp;plugins properly linked.&lt;br />
&lt;span class="missingpage">Patch&amp;nbsp;0&lt;/span>&lt;a href="http://freesource.info/wiki/Patch0/edit?add=1&amp;" title="Создать эту страницу">?&lt;/a>: name-1.0-alt-link-fixes.patch&lt;br />
Вторая часть &amp;ndash; это&amp;nbsp;собственно, применение патча.&lt;br />
это&amp;nbsp;надо делать в&amp;nbsp;секции %prep после макроса %setup&lt;br />
Желательно скопировать комментарий для&amp;nbsp;патча из&amp;nbsp;верхней части, чтобы&lt;br />
было понятно что&amp;nbsp;патч делает и&amp;nbsp;было легко его&amp;nbsp;отключать.&lt;br />
Для&amp;nbsp;патча, созданного через gendiff &amp;ndash; надо написать следующее:&lt;br />
# Name's upsteam don't want my&amp;nbsp;patch, so&amp;nbsp;I place it&amp;nbsp;here. This make&lt;br />
all&amp;nbsp;plugins properly linked.&lt;br />
%patch0 -p1&lt;br />
Где&amp;nbsp;номер 0 соответствует патчу номер 0.&lt;br />
Вот&amp;nbsp;собственно и&amp;nbsp;все. Если надо отключить патч, просто замените символ&lt;br />
процента в&amp;nbsp;%patch0  на&amp;nbsp;символ решетки(#). Тогда он&amp;nbsp;станет&lt;br />
комментарием.&lt;br />
Надеюсь, это&amp;nbsp;маленькое хауту поможет в&amp;nbsp;благородном деле уменьшения&lt;br />
количества обработанных напильником программ в&amp;nbsp;вашем многострадальном&lt;br />
/usr/local.&lt;/div>&lt;/div>
</description>
</item>
</channel>
</rss>
