Re: Wie einen Patch in einen Port einspielen?

From: Peter Wullinger <peter.wullinger(at)gmail.com>
Date: Mon, 26 Jun 2006 13:05:33 +0200

In epistula a Heino Tiedemann, die horaque Sun, Jun 25, 2006 at 10:07:02PM +0200:
> Hallo,
>
> ich hab da mal eine Frage: Ich möchte einen Patch in
> audio/vorbis-tools einspielen.
> <http://trac.xiph.org/changeset/10080?format=diff>
>
> Die manpage von patch habe ich gelsen, naja überflogen.
 
Also nicht gelesen, s.u. ;-)

> Trotzdem meine Fragen: Wie muss ich den PAtch einspielen?
> Funktioniert das überheupt bei Ports?

Die Antwort lautet: Die Ports spielen von selbst eine ganze Menge
Patches ein. Wenn Du in Deinem Port unter files/ schaust wirst
Du dort oft fündig werden. Alles, was mit patch-* beginnt wird
von dort automatisch eingespielt. Dort wirst Du allerdings
mit deinem obigen Patch ohne Änderungen nicht viel anfangen können.

Zum anderen änderst Du allerdings nur lokal bei Dir den Port.
Die Frage ist, ob Du das willst, oder ob es nicht sinnvoller ist,
den Maintainer zu fragen, ob dieser Patch denn dazugehören sollte.
Möglichst natürlich mit den passenden Dateien (s.u.)

Alternativ kannst Du natürlich auch den Port vor der Build-Phase
per Hand patchen.
% make extract
% cd work
% patch < deine-patch-datei
% cd ..
% make install
%
Dann plättet das nächste portupdate mit einer neuen Version
von vorbis-tools natürlich Deine Änderung.

> Und noch eine Frage:
>
> Was ist der Unterschied zwischen
> den vier Diff-Formen
> -c (--context), -e (--ed), -n (--normal) und -u (--unified)?
 
siehe "info diff"

> Und was ist der Default bei patch, wenn man nix angibt?

Entschuldige, wenn das jetzt überheblich oder ähnlich klingt,
aber da gibt's einige Lücken auf Deiner Seite. Patch erzeugt
keine diffs, sondern muss damit umgehen können. Das kann Patch
aktuell mit allen diff-Ausgabeformaten, wobei man das auch
explizit angeben kann ([-cenu]).

http://trac.xiph.org/changeset/10080?format=diff ist auf jedenfall
ein unified diff, wie man durch Übung, aber auch einfach durch
ausprobieren erkennen könnte:

--
% patch < 10080 
Hmm...  Looks like a unified diff to me...
--
diff erzeugt ohne weitere Parameter "traditionelle" diff-Ausgabe.
Wie das genau aussieht, steht in POSIX.2/XPG4.
Gruß,
	Peter
-- /usr/ports/audio/vorbis-tools/files/patch-share-charset.c --
Index: share/charset.c
===================================================================
--- share/charset.c (revision 2185)
+++ share/charset.c (revision 10080)
@@ -27,4 +27,8 @@
  * 8-bit char, 16-bit short and 32-bit int.
  */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
 
 #ifndef HAVE_ICONV /* should be ifdef USE_CHARSET_CONVERT */
-- /usr/ports/audio/vorbis-tools/files/patch-share-charset.c --
-- /usr/ports/audio/vorbis-tools/files/patch-share-iconvert.c --
Index: share/iconvert.c
===================================================================
--- share/iconvert.c (revision 3028)
+++ share/iconvert.c (revision 10080)
@@ -16,4 +16,8 @@
  * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
  */
+
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
 
 #ifdef HAVE_ICONV
-- /usr/ports/audio/vorbis-tools/files/patch-share-iconvert.c --
-- /usr/ports/audio/vorbis-tools/files/patch-share-utf8.c --
Index: share/utf8.c
===================================================================
--- share/utf8.c (revision 3510)
+++ share/utf8.c (revision 10080)
@@ -22,4 +22,8 @@
  */
 
+#ifdef HAVE_CONFIG_H
+# include <config.h>
+#endif
+
 #include <stdlib.h>
 #include <string.h>
-- /usr/ports/audio/vorbis-tools/files/patch-share-utf8.c --
-- 
Die Deutschen sind ein gemeingefährliches Volk: Sie ziehen unerwartet
ein Gedicht aus der Tasche und beginnen ein Gespräch über Philosophie.
	-- Heinrich Heine
To Unsubscribe: send mail to majordomo(at)de.FreeBSD.org
with "unsubscribe de-bsd-questions" in the body of the message
Received on Mon 26 Jun 2006 - 13:07:24 CEST

search this site