Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

pkgsrc source ändern

1 view
Skip to first unread message

Volker Englisch

unread,
Sep 5, 2022, 1:03:07 PM9/5/22
to
Ich möchte eine kleine Änderung am Source eines Progrämmchens innerhalb
des pkgsrc-Trees vornehmen.

Sobald das nächste "Make" angeworfen wird, wird die Änderung wieder
überbügelt.

Gibts da einen Trick, daß eine Änderung am Source bestehen bleibt?

Ich hab' es schon mit dem immutable-Flag versucht, aber da steigt make
beim Überbügelungsversuch aus...

V.

Michael Bäuerle

unread,
Sep 5, 2022, 2:40:19 PM9/5/22
to
1. Sourcecode zuerst auspacken und patchen lassen
|
| $ make patch

Ggf. vorher noch "make clean", damit nichts altes, zerspieltes rumliegt.

2. Sourcecode ändern

Jede Datei kopieren (mit ".orig"-Suffix im Name), bevor man sie anfasst.
Also z.B. "foo.c" nach "foo.c.orig" kopieren. Danach "foo.c" ändern.

3. Aus dem Toplevel-Verzeichnis des Pakets "mkpatches" ausführen

Dazu muss das Paket "pkgtools/pkgdiff" installiert sein. mkpatches
sollte für jede geänderte Datei einen Patch im Unterverzeichnis
"patches" anlegen, bzw. diesen updaten (wenn er schon vorhanden ist).

============

Diese Patches sollten dann jedesmal erneut angewendet werden, wenn das
Paket gebaut wird.

Wenn die Patches für die Allgemeinheit nützlich sind, auf der
pkgsrc-users Mailingliste melden, damit sie geprüft und ggf.
ins Repository übernommen werden können.

Michael Bäuerle

unread,
Sep 5, 2022, 2:54:33 PM9/5/22
to
1. Sourcecode zuerst auspacken und patchen lassen
|
| $ make patch

Ggf. vorher noch "make clean", damit nichts altes, zerspieltes rumliegt.

2. Sourcecode ändern

Jede Datei kopieren (mit ".orig"-Suffix im Name), bevor man sie anfasst.
Also z.B. "foo.c" nach "foo.c.orig" kopieren. Danach "foo.c" ändern.

3. Aus dem Toplevel-Verzeichnis des Pakets "mkpatches" ausführen

Dazu muss das Paket "pkgtools/pkgdiff" installiert sein. mkpatches
sollte für jede geänderte Datei einen Patch im Unterverzeichnis
"patches" anlegen, bzw. diesen updaten (wenn er schon vorhanden ist).

4. [Supersede] Prüfsummen der Patches updaten
|
| $ make makepatchsum

Volker Englisch

unread,
Sep 6, 2022, 12:33:07 PM9/6/22
to
Michael Bäuerle schrieb am 05.09.2022:
> Volker Englisch wrote:
>>
>> Ich möchte eine kleine Änderung am Source eines Progrämmchens innerhalb
>> des pkgsrc-Trees vornehmen.
>>
>> Sobald das nächste "Make" angeworfen wird, wird die Änderung wieder
>> überbügelt.
>>
>> Gibts da einen Trick, daß eine Änderung am Source bestehen bleibt?
>>
> 1. Sourcecode zuerst auspacken und patchen lassen
>|
>| $ make patch
>
> [...]

Herzlichen Dank für die ausführliche Anleitung!

> Wenn die Patches für die Allgemeinheit nützlich sind, auf der
> pkgsrc-users Mailingliste melden, damit sie geprüft und ggf.
> ins Repository übernommen werden können.

In diesem Fall eher nicht. Ich möchte nur das Syslog-Facility beim
imap-uw ändern ;-)
0 new messages