Port misc/matrix-kmod noch zu retten?

Fusselbär

Makefile Voyeur
Hallo,

im laufe der Zeit passiert es ja hin und wieder,
das man beim portupgrade entdeckt, das ein Port
in der allerneusten Version gerade mal nicht baut.

Gestern hatte ich dann mal bei Freshports.org/ports-broken geguckt,
ob da welche dabei sind die mir ins Auge gefallen sind.

Und wie das so ist kommt dann schon mal vom
"Ästchen auf Hölzchen". ;)

Jedenfalls ist mir dabei der Port misc/matrix-kmod aufgefallen,
und ich habe mal ein bißchen damit herumgespielt.
Das ist ein Matrix Screensaver für die Konsole,
der ein Kernelmodul baut (matrix_saver.ko)
welches rafiniert durch ein Ladescript in
Code:
/usr/local/etc/rc.d
geladen wird.
Das Kernelmodul
wird vom Port unter:
Code:
/usr/local/modules/matrix_saver.ko
plaziert, wenn /usr/local der PREFIX ist.


Die MASTER_SITE für den Port ist nicht mehr aktiv,
und auf vielen Spiegelservern ist die Datei zwar vorhanden,
aber nur in einer Größe von 195 Bytes.
Die benötigte Größe ist jedoch:
Code:
MD5 (matrix-1.2.tar.gz) = 13eed632aad8a369f82b2914f6bf5ab1
SIZE (matrix-1.2.tar.gz) = 4903
(aus der distinfo vom Port)

Habe dann mal ein bißchen rumgesucht
und herausgefunden:
es gibt durchaus noch Server,
wo der benötigte Sourcecode zu bekommen ist!

Wenn man am Makefile vom Port
/usr/ports/misc/matrix-kmod
herumspielt, z.B. so:
[Makefile]
Code:
# New ports collection makefile for:	strijar
# Date created:				22 Dec 2000
# Whom:					Oleg Belousov <strijar@urai.ru>
#
# $FreeBSD: ports/misc/matrix-kmod/Makefile,v 1.9 2006/06/01 23:41:40 linimon Exp $
#

PORTNAME=	matrix
PORTVERSION=	1.2
PORTREVISION=	1
CATEGORIES=	misc
#MASTER_SITES=	http://www.belousov.com/download/   # <== Hab ich auskommentiert
#---------------------------------------------------------------------
# Das folgende habe ich reingeschrieben:
#---------------------------------------------------------------------
MASTER_SITES+= \
	http://wuarchive.wustl.edu/pub/FreeBSD/distfiles/ \
	http://jedi.opentle.org/FreeBSD/distfiles/ \
	http://sunsite.utk.edu/ftp/tigerd1/freebsd/distfiles/ \
	http://cvsup.theplanet.com/distfiles/
#---------------------------------------------------------------------

PKGNAMESUFFIX=	-kmod

MAINTAINER=	ports@FreeBSD.org
COMMENT=	Screensaver for console (matrix_saver.ko) "Matrix" like

#BROKEN=		Unfetchable   # <== Hab ich auskommentiert
#DEPRECATED=	${BROKEN}   # <== Hab ich auskommentiert
#EXPIRATION_DATE=	2006-07-15   # <== Hab ich auskommentiert

KMODDIR=	${PREFIX}/modules
SYSDIR?=	${SRC_BASE}/sys
.if !exists(${SYSDIR}/dev/syscons/syscons.h)
IGNORE=		Requires kernel source (/usr/src/sys) to build
.endif
MAKE_ENV+=	WERROR=

.include <bsd.port.pre.mk>

.if ${OSVERSION} < 400000
BROKEN=		"Need FreeBSD 4.0 or above"
.endif

.if ${ARCH} == "sparc64"
BROKEN=		"Does not compile on sparc64"
.endif

do-install:
	@${MKDIR} ${KMODDIR}
	${INSTALL_SCRIPT} ${FILESDIR}/matrix_saver.sh ${PREFIX}/etc/rc.d
	${INSTALL_SCRIPT} ${WRKSRC}/*.ko ${KMODDIR}

.include <bsd.port.post.mk>
fetcht das einwandfrei,
und der Port ist in "Nullkommanix" gebaut. :cool:

Nun bin ich aber nicht in die Mailingliste ports@FreeBSD.org
involviert, weiß also nicht genau, was da so usus ist,
und ob es hinreichend ist,
wenn der Sourcecode noch auf
einigen distfiles Mirrorserver zu bekommen ist.

Auch habe ich vor einigen Jahren mal auf einer
Mailingliste mal was gepostet (es ging um Rollschuhfahren)
was mir dann jahrelang anhalteten Spam
auf meine Email Adresse einbrachte. :ugly:

Deswegen mache ich um Mailinglisten
leider einen großen Bogen, sorry.

Der Port misc/matrix-kmod
wird am 15.07.2006 entfernt,
wenn niemand etwas macht.


Gruß, Fusselbär
 
Hallo [LoN]Kamikaze,

hoffentlich stelle ich mich damit nicht zu blöd an. :ugly:

Kapiere das mit diff z.B. nicht wirklich.
Soweit ich das mal gesehen habe,
wird das ja gerne mit diff gemacht,
aber das kann ich nicht. :ugly:


Gruß, Fusselbär
 
Also ein "Diff" allgemein ist recht easy:
- im Verzeichnis "ports/misc/matrix-kmod"brauchst du erst einmal das orginale Makefile mit dem Namen "Makefile.orig"
- Dein korrigiertes Makefile liegt ja schon in dem Verzeichnis

Gesetzt dem Fall die Ports sind bei dir in "/usr/ports" machst du dann folgendes:
Code:
cd /usr && diff -ur ports/misc/matrix-kmod/Makefile.orig ports/misc/matrix-kmod/Makefile > ~/patch-ports-misc-matrix-kmod-Makefile
In deinem Homedir liegt dann das Patchfile das du einreichen kannst.
 
Wohoooo,

dankeschön Wiedmann,
das probiere ich gleich mal aus. :)

Lese mir gerade auch noch:
Writing FreeBSD Problem Reports
durch. ;)


Gruß, Fusselbär

Nachtrag:
Mir ist beim send-pr bei der Class nicht ganz klar,
ob das besser als "sw-bug" oder als "update"
bezeichnet wird? :confused:
 
Zuletzt bearbeitet:
was mailinglisten angeht, erst subscriben, dann deinem filter sagen dass er alle emails die von der liste kommen, löschen soll und ab und zu die liste im online archiv lesen.
ach ja und es gibt listen wo man einstellen kann, dass ma nur eine email mit den aktuellen themen und antwort überschriften pro tag/woche/monat bekommt ;)
 
Dankeschön für die Hilfe

Habe es getan,

mein allererster send-pr! :zitter:
(und mein erstes mal diff)

Vielen Dank an alle,
die mir Tipps gegeben haben! :)


Gruß, Fusselbär
 
Kannst du dir mal 'ne halbe Stunde Zeit nehmen und ins Wiki schreiben, was du gemacht hast? Dann wäre bestimmt einer Menge Leuten die erste Hürde genommen, wenn sie mal aus einem selbst gefrickelten Port einen Patch machen wollen.
 
Bitte nochmal um Mithilfe bei Port: misc/matrix-kmod

Hallo,

der send-pr ist inzwischen unter:
Problem Report ports/98854 : misc/matrix-kmod - have found master sites for matrix-1.2.tar.gz
einsehbar,
hier der Link:
http://www.freebsd.org/cgi/query-pr.cgi?pr=98854

Ion-Mihai "IOnut" Tetcu hat inzwischen darauf geantwortet.
Das Wichtigste im Auszug:
All the above are FreeBSD mirrors.
This port is unmaintained and not developed anymore.
I will host the distfile if:
- you or someone else takes maintainership
- you or someone else can confirm this ports still works OK.

Habe den Port auf meinem System (FreeBSD 5.5-STABLE i386) getestet,
hier funktioniert er für mich.

Es wäre notwendig,
das es auch auf anderen FreeBSD Systemen (FreeBSD 4x und 6x)
nochmals getestet würde.

Hier noch mal das bearbeitete Makefile vom Port, der in:
Code:
/usr/ports/misc/matrix-kmod/
zu finden ist:
[Makefile]
Code:
# New ports collection makefile for:	strijar
# Date created:				22 Dec 2000
# Whom:					Oleg Belousov <strijar@urai.ru>
#
# $FreeBSD: ports/misc/matrix-kmod/Makefile,v 1.9 2006/06/01 23:41:40 linimon Exp $
#

PORTNAME=	matrix
PORTVERSION=	1.2
PORTREVISION=	1
CATEGORIES=	misc
MASTER_SITES+= \
	http://wuarchive.wustl.edu/pub/FreeBSD/distfiles/ \
	http://jedi.opentle.org/FreeBSD/distfiles/ \
	http://sunsite.utk.edu/ftp/tigerd1/freebsd/distfiles/ \
	http://cvsup.theplanet.com/distfiles/

PKGNAMESUFFIX=	-kmod

MAINTAINER=	ports@FreeBSD.org
COMMENT=	Screensaver for console (matrix_saver.ko) "Matrix" like

KMODDIR=	${PREFIX}/modules
SYSDIR?=	${SRC_BASE}/sys
.if !exists(${SYSDIR}/dev/syscons/syscons.h)
IGNORE=		Requires kernel source (/usr/src/sys) to build
.endif
MAKE_ENV+=	WERROR=

.include <bsd.port.pre.mk>

.if ${OSVERSION} < 400000
BROKEN=		"Need FreeBSD 4.0 or above"
.endif

.if ${ARCH} == "sparc64"
BROKEN=		"Does not compile on sparc64"
.endif

do-install:
	@${MKDIR} ${KMODDIR}
	${INSTALL_SCRIPT} ${FILESDIR}/matrix_saver.sh ${PREFIX}/etc/rc.d
	${INSTALL_SCRIPT} ${WRKSRC}/*.ko ${KMODDIR}

.include <bsd.port.post.mk>

Später müßte dann wohl noch die distinfo zeitgemäß "SHA256-fiziert" werden:
[distinfo]
Code:
MD5 (matrix-1.2.tar.gz) = 13eed632aad8a369f82b2914f6bf5ab1
SHA256 (matrix-1.2.tar.gz) = 29c0d6d88e637237557efb92503605abd10f3f75a72ae60ac27296d586faf351
SIZE (matrix-1.2.tar.gz) = 4903

Laden läßt sich das Kernelmodul mittels dem zum Port gehörendem Startscript:
Code:
/usr/local/etc/rc.d/matrix_saver.sh start
überprüfen mit:
Code:
kldstat
fallls man das Kernelmodul matrix_saver.ko wieder entladen möchte, geht das auch mit dem Startscript:
Code:
/usr/local/etc/rc.d/matrix_saver.sh stop

Möchte man den Matrix Konsolenscreensaver einmal sehen,
so muß das Kenelmodul matrix_saver.ko natürlich geladen bleiben. ;)
Ein passender Eintrag in die:
Code:
/etc/rc.conf
ist natürlich auch notwendig z.B. so:
Code:
blanktime="3000"		# Screensaver after this Time
#saver="logo"			# Daemon Screensaver <== zur Zeit deaktiviert
saver="matrix"			# Matrix Konsolen Screensaver: matrix-kmod aus den Ports

Könnten das bitte einige fortgeschrittene FreeBSD Benutzer mal ebenfalls überprüfen?
Ion-Mihai "IOnut" Tetcu möchte Rückmeldung, ob es so auch wirklich funktioniert.

Installieren lässt sich der Port nach den Änderungen am Makefile so:
(Mittels portupgrade, Kernelsourcen notwendig: baut ein Kernelmodul)
Code:
portinstall matrix-kmod
Später wieder deinstallieren so:
Code:
pkg_deinstall matrix-kmod



Dann wäre da noch das,
mit dem für den Port misc/matrix-kmod
notwendigen Maintainer.
Nach den passenden Distfile zu suchen und die Fundorte
im Makefile anzugeben, den SHA256 einzufügen, ist eine Sache,
aber als Maintainer berufen fühle ich mich nicht.

Habe nie Informatik studiert,
sondern immer nur in die Makefiles reingeguckt,
und in die /usr/ports/devel/portmk/Mk/bsd.port.mk
und so weiter...

Also ich fürchte, Maintainer,
das würde ich nicht schaffen,
wenn es mal so richtig ans eingemachte geht. :ugly:


Gruß, Fusselbär
 
Zuletzt bearbeitet:
Maintainer sein ist nicht weiter kompliziert. Es bedeutet blos das deine Patches schneller comittet werden und das du deinen Senf dazugeben musst, wenn jemand anderes den Port patchen will.

Für den SHA Hash verwendest du einfach

# make makesum
 
Zurück
Oben