Страниц: [1]
  Печать  
Автор Тема: [pkgsrc] Создание патчей  (Прочитано 5425 раз)
dmi
QOR.Admin
*****
Offline Offline

Сообщений: 469



Просмотр профиля
« : Февраля 26, 2009, 10:14:14 pm »

Вам уже попадались пакеты, которые требуют правки для корректной сборки в QNX? Вы подпатчили код и успешно собрали пакет из исходников? Вы хотите поделиться вашими наработками с участниками проекта?
Замечательно Smiley

Патчи в pkgsrc создаются с помощью пакета pkgdiff. Установите его:
Код:
# cd /usr/pkgsrc/pkgtools/pkgdiff
# bmake install

Выполните обычную сборку пакета, внесите изменения в код, сохраните все *.orig файлы
Убедитесь, что пакет собирается и корректно работает.

Для создания патчей выполните
Код:
# mkpatches
в каталоге пакета.

Команда
Код:
# patchdiff
покажет какие патчи были изменены.

Скопируйте изменённые патчи в каталог патчей проекта:
Код:
# cp work/.newpatches/patch-aa patches/

и обновите контрольные суммы патчей в distinfo:
Код:
# bmake makepatchsum

Теперь можно выполнить очистку
Код:
# bmake clean
запаковать файл и выложить его в сеть.

Если вы хотите выложить бинарный пакет, выполните
Код:
# bmake package
Пакет сохранится в /usr/pkgsrc/packages/All/
« Последнее редактирование: Августа 02, 2009, 05:11:10 pm от dmi » Записан
mike
QOR.Moderator
*****
Offline Offline

Сообщений: 1186


Welcome to Lunatic Asylum.


Просмотр профиля WWW
« Ответ #1 : Августа 05, 2009, 02:57:27 pm »

в состав pkgdiff также входит удобная утилита feedback-patches, эта утилита отсылает всё патчи порта на указанный емайл
для ее работы требуется: mktemp (sysutils/mktemp), mail (mail/heirloom-mailx) и sendmail (я поставил mail/ssmtp это очень маленький и простой в настройке MTA)
после установки пакетов нужно сконфигурировать MTA и создать пару линков
Код:
ln -s /usr/pkg/bin/mailx /bin/mail
ln -s /usr/pkg/sbin/ssmtp /usr/sbin/sendmail
к сожаления и сам feedback-patches нуждается в небольшом патче
Код:
--- /usr/pkg/bin/feedback-patches.orig  2009-08-05 15:42:54.000000000 +0500
+++ /usr/pkg/bin/feedback-patches       2009-08-05 16:09:41.000000000 +0500
@@ -28,7 +28,8 @@
        exit 0
 fi
 
-pkgname=`make show-var VARNAME=PKGNAME | sed -e 's,nb.*$,,'`
+pkgname=`bmake show-var VARNAME=PKGNAME | sed -e 's,nb.*$,,'`
+osname=`uname -rs`
 
 
 tmp=`mktemp -t feedback-patches`
@@ -57,7 +58,7 @@
 EOTXT
 
 find $PKGSRCBASE/$pkg/patches/. -type f -print \
-| grep -v CVS | xargs cat
+| grep -v -e CVS -e .svn | xargs cat
 ) >$tmp
 
 if [ "$to" = "" ]
@@ -66,7 +67,7 @@
        rm $tmp
 else
        echo Mailing patches for $pkgname...
-       cat $tmp | mail -v -s "Patches for $pkgname" $to
+       cat $tmp | mail -v -s "Patches for $pkgname ($osname)" $to
        rm $tmp
        echo done.
 fi
теперь можно отсылать патчи feedback-patches /usr/pkgsrc/www/lynx/ EMAIL
ps. стоит ли слать патчи сразу Sean Boudreau ? Smiley
pps. немного поправил патч, теперь в теме письма пишется ос и версия
« Последнее редактирование: Августа 05, 2009, 03:13:21 pm от mike » Записан
Страниц: [1]
  Печать  
 
Перейти в: