OpenBSD-Unterstützung

Forum for developers

OpenBSD-Unterstützung

Beitragvon OhSoLow » Fr Feb 06, 2015 8:17 pm

Tja, mal zu diesem Bug: Den hätte ich natürlich gern behoben gesehen. Weil ich davon ausgehe, dass das schneller geht, wenn sich jemand damit beschäftigt, der sowieso OpenBSD nutzt, fasse ich mal zusammen:

Die Start-Datei muss offensichtlich für OpenBSD neu implementiert werden. Das kann ich gern übernehmen, hätte dafür aber gern die Information, was sie eigentlich genau tun muss, unabhängig vom System.
Nicht viel mehr als java yacy.jar, oder?
OhSoLow
 
Beiträge: 12
Registriert: Mi Feb 04, 2015 1:03 am

Re: OpenBSD-Unterstützung

Beitragvon Orbiter » Sa Feb 07, 2015 11:26 pm

so ähnlich. Das Script sammelt alle jar-Dateien aus lib zusammen und schreibt die in einen -cp Parameter. Die Startklasse heisst net.yacy.yacy und das Script schaut auch nach Parameter zum Aufruf von startYACY.sh zum Logging (-l).
Orbiter
 
Beiträge: 5784
Registriert: Di Jun 26, 2007 10:58 pm
Wohnort: Frankfurt am Main

Re: OpenBSD-Unterstützung

Beitragvon Low012 » Mo Feb 09, 2015 11:06 am

OhSoLow hat geschrieben:Die Start-Datei muss offensichtlich für OpenBSD neu implementiert werden.


Eventuell reicht es ja, bei Zeile 48 zu schauen, ob es sich um OpenBSD handelt (in $OS steht hoffentlich eine aussagekräftige Zeichenkette) und dann dort den Aufruf von getopt anzupassen, statt ein komplett neues Skript zu schreiben.

Statt

Code: Alles auswählen
options="`getopt -n YaCy -o h,d,l,p,t,g -l help,debug,logging,print-out,tail-log,gui -- $@`"


also das hier:

Code: Alles auswählen
if [ $OS = "OpenBSD" ]    # oder was auch immer der String für OpenBSD ist
then
  options="`getopt ???????????????????????????????????????????????????????????????????`"
else
  options="`getopt -n YaCy -o h,d,l,p,t,g -l help,debug,logging,print-out,tail-log,gui -- $@`"
fi
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm

Re: OpenBSD-Unterstützung

Beitragvon OhSoLow » Mo Feb 09, 2015 11:35 am

Ich habe es mit options = "" versucht, um wenigstens erst mal YaCy selbst zum Laufen zu bekommen - das tat dann aber überhaupt nichts mehr. Wahrscheinlich hakt da an anderer Stelle noch etwas.
OhSoLow
 
Beiträge: 12
Registriert: Mi Feb 04, 2015 1:03 am

Re: OpenBSD-Unterstützung

Beitragvon OhSoLow » Sa Feb 14, 2015 12:13 am

Also: Ja, uname gibt tatsächlich "OpenBSD" aus. Könnte man so also prüfen.

Zwei, naja, drei Patches:

  1. bin/apicall.sh, bin/passwd.sh und, naja, eigentlich alle .sh-Scripts müssen ebenfalls #/usr/bin/env sh statt bash verwenden (OpenBSDs pdksh kommt damit zurecht).
    Code: Alles auswählen
    # cat bin/apicall.sh | more

    #!/usr/bin/env sh
    cd "`dirname $0`"
    port=$(grep ^port= ../DATA/SETTINGS/yacy.conf |cut -d= -f2)
    # ...
  2. getopt funktioniert unter OpenBSD etwas anders, ich habe es bei mir mal komplett rausgenommen:

    Code: Alles auswählen
    if [ $OS = "OpenBSD" ]
    then
            #todo: adopt options
            options=""
    else
            options="`getopt -n YaCy -o h,d,l,p,t,g -l help,debug,logging,print-out,tail-log,gui -- $@`"
    fi

    if [ $? -ne 0 ];then
            exit 1;
    fi

Die manpage sagt, OpenBSD hat ein etwas konservativeres "getopt" - lange Optionen etwa ("--help" u.dgl.) sind eine GNU-Ergänzung, die vom POSIX-Standard abweichen.

Ich für meinen Teil brauche das ja gar nicht. Ohne eine einzige Option tut's ganz gut:

$ uname -sr
OpenBSD 5.6


# ./startYACY_OpenBSD.sh
****************** YaCy Web Crawler/Indexer & Search Engine *******************
**** (C) by Michael Peter Christen, usage granted under the GPL Version 2 ****
**** USE AT YOUR OWN RISK! Project home and releases: http://yacy.net/ ****
** LOG of YaCy: DATA/LOG/yacy00.log (and yacy<xx>.log) **
** STOP YaCy: execute stopYACY.sh and wait some seconds **
** GET HELP for YaCy: see http://wiki.yacy.net and http://forum.yacy.de **
*******************************************************************************
>> YaCy started as daemon process. Administration at http://localhost:8090 <<


Und schon tut alles. :)
Randbemerkung: YaCy muss unter OpenBSD als root laufen - sonst startet der Daemon nicht. Wieso auch immer. ;-)
OhSoLow
 
Beiträge: 12
Registriert: Mi Feb 04, 2015 1:03 am

Re: OpenBSD-Unterstützung

Beitragvon Low012 » Mo Feb 23, 2015 11:13 pm

Ich habe das "bash" jetzt fast überall durch "sh" ersetzt. In reconfigureYACY.sh wird read mit einer Option benutzt, die es wohl nur in der Bash gibt. Das muss ich mir nochmal anschauen.

Das Start-Skript habe ich auch angepasst. Das getopt nutzt jetzt unter OpenBSD nur kurze Parameter und gibt eine Warnung aus, wenn es ein "--" findet.

Leider habe ich ziemliche Probleme mit OpenBSD in einer VM auf meinem Laptop ǵehabt, so dass ich die Änderungen nicht testen konnte. Es wäre super, wenn du das tun könntest. Ich habe die Änderungen vor ein paar Minuten ins Git gepusht: https://gitorious.org/yacy/rc1/commit/53e4ae65d0bca0ff8fb6b2a766742de87d1691d6

edit: Ach ja, warum YaCy unter OpenBSD "root" braucht, weiß ich leider nicht.
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm

Re: OpenBSD-Unterstützung

Beitragvon OhSoLow » Mo Feb 23, 2015 11:41 pm

Low012 hat geschrieben:edit: Ach ja, warum YaCy unter OpenBSD "root" braucht, weiß ich leider nicht.


Nach etwas Spielerei: Ich nehme an, da fehlen einfach einige Pfade, möglicherweise würde es also durchaus funktionieren, wenn man den Benutzeraccount mal brauchbar berechtigen würde. OpenBSD ist ja standardmäßig höchst paranoid eingestellt.

Die Änderungen umfassen nur "meine" getenv-Änderungen sowie die überarbeiteten Optionen, richtig?
Was genau muss ich da noch testen?
OhSoLow
 
Beiträge: 12
Registriert: Mi Feb 04, 2015 1:03 am

Re: OpenBSD-Unterstützung

Beitragvon Low012 » Di Feb 24, 2015 1:18 pm

OhSoLow hat geschrieben:Die Änderungen umfassen nur "meine" getenv-Änderungen sowie die überarbeiteten Optionen, richtig?


Genau, mehr habe ich bis jetzt nicht gemacht.

Es wäre super, wenn du die folgenden Skripte ausprobieren könntest:

./startYaCy.sh
./bin/myip.sh (sollte bei laufendem YaCy deine IP anzeigen, kann sein, dass zusätzlich einen Warnung angezeigt wird)

Wenn das beides funktioniert, sollte hoffentlich auch alles andere in ./bin funktionieren. Wenn du Lust hast, kannst du alle Skripte in diesem Ordner testen, dabei wirst du aber (je nach Skript) Daten verlieren.
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm

Re: OpenBSD-Unterstützung

Beitragvon OhSoLow » Di Feb 24, 2015 1:47 pm

./startYaCy.sh: Entspricht ja jetzt so ungefähr meiner (oder soll ich da irgendwelche Optionen gezielt prüfen?).

./bin/myip.sh: Zeigt meine öffentliche IP ohne jede Warnung an.
OhSoLow
 
Beiträge: 12
Registriert: Mi Feb 04, 2015 1:03 am

Re: OpenBSD-Unterstützung

Beitragvon Low012 » Di Feb 24, 2015 8:41 pm

OhSoLow hat geschrieben:./startYaCy.sh: Entspricht ja jetzt so ungefähr meiner (oder soll ich da irgendwelche Optionen gezielt prüfen?).


Äh, ja! Hatte ich ganz vergessen! Probier doch bitte nochmal das hier aus:

./startYACY.sh -h (sollte Optionen zeigen)
./startYACY.sh --help (sollte eine Warnung und dann einen Fehler anzeigen)
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm

Re: OpenBSD-Unterstützung

Beitragvon OhSoLow » Di Feb 24, 2015 9:19 pm

# ./startYACY.sh -h
getopt: unknown option -- o


# ./startYACY.sh --help
WARNING: Unfortunately this script does not support long options in OpenBSD.
getopt: unknown option -- o


Naja ... ;)
OhSoLow
 
Beiträge: 12
Registriert: Mi Feb 04, 2015 1:03 am

Re: OpenBSD-Unterstützung

Beitragvon Low012 » Mi Feb 25, 2015 1:24 pm

OK, das muss ich mir nochmal ansehen. :oops:
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm

Re: OpenBSD-Unterstützung

Beitragvon Low012 » Mi Feb 25, 2015 9:24 pm

OK, mit einer OpenBSD-VM unter Windows hatte ich weniger Probleme als unter Debian ("testing", daher vielleicht die Probleme). Ich habe ein bisschen rumprobiert und eine neue Version hochgeladen. Leider ist OpenBSD für mich sehr ungewohnt und ich weiss noch nicht, wie ich mir eine Umgebung einrichten kann, um wirklich zu testen, was ich da fabriziere. Ich weiss ja noch nichtmal, wie ich zusätzliche Software installiere. :o

https://gitorious.org/yacy/rc1/commit/d23f7165ab23894b17831d4a58c5e4ed5d68aab5

Wenn du also das startYACY.sh nochmal mit Parametern (z.B. -h oder -p) testen könntest und die Ausgabe hier posten könntest, wäre das super!
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm

Re: OpenBSD-Unterstützung

Beitragvon OhSoLow » Mi Feb 25, 2015 9:36 pm

Low012 hat geschrieben:OK, mit einer OpenBSD-VM unter Windows hatte ich weniger Probleme als unter Debian ("testing", daher vielleicht die Probleme).


Über Linux könnt' ich mich hier stundenlang aufregen. Hab' schon Gründe, wieso ich stattdessen BSD-Server habe.

Low012 hat geschrieben:Leider ist OpenBSD für mich sehr ungewohnt und ich weiss noch nicht, wie ich mir eine Umgebung einrichten kann, um wirklich zu testen, was ich da fabriziere. Ich weiss ja noch nichtmal, wie ich zusätzliche Software installiere. :o


Nicht schwer.

Code: Alles auswählen
export PKG_PATH=<Mirror deiner Wahl>


Wobei das aktuell, glaube ich, in -CURRENT sogar schon voreingestellt ist.
Dann: pkg_add <Software>.

Low012 hat geschrieben:Wenn du also das startYACY.sh nochmal mit Parametern (z.B. -h oder -p) testen könntest und die Ausgabe hier posten könntest, wäre das super!


Code: Alles auswählen
# ./startYACY.sh  -h
startscript for YaCy on UNIX-like systems
Options
  -h, --help            show this help
  -t, --tail-log        show the output of "tail -f DATA/LOG/yacy00.log" after starting YaCy
  -l, --logging         save the output of YaCy to yacy.log
  -d, --debug           show the output of YaCy on the console
  -p, --print-out       only print the command, which would be executed to start YaCy
  -g, --gui             start a gui for YaCy


Code: Alles auswählen
# ./startYACY.sh  -p
nice -n 10 /usr/local/jdk-1.7.0/bin/java -Xms1200m -Xmx1200m -server -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Dsolr.directoryFactory=solr.MMapDirectoryFactory -classpath .:htroot:lib/J7Zip-modified.jar:lib/apache-mime4j-0.6.jar:lib/bcmail-jdk15-1.46.jar:lib/bcprov-jdk15-1.46.jar:lib/chardet.jar:lib/commons-codec-1.9.jar:lib/commons-compress-1.8.1.jar:lib/commons-fileupload-1.3.1.jar:lib/commons-io-2.3.jar:lib/commons-jxpath-1.3.jar:lib/commons-lang-2.6.jar:lib/commons-logging-1.2.jar:lib/fontbox-1.8.8.jar:lib/geronimo-stax-api_1.0_spec-1.0.1.jar:lib/guava-18.0.jar:lib/htmllexer.jar:lib/httpclient-4.3.6.jar:lib/httpcore-4.3.3.jar:lib/httpmime-4.3.6.jar:lib/icu4j-core.jar:lib/jakarta-oro-2.0.8.jar:lib/jaudiotagger-2.0.4-20111207.115108-15.jar:lib/javax.servlet-api-3.1.0.jar:lib/jcifs-1.3.17.jar:lib/jcl-over-slf4j-1.7.9.jar:lib/jempbox-1.8.8.jar:lib/jetty-client-9.2.6.v20141205.jar:lib/jetty-continuation-9.2.6.v20141205.jar:lib/jetty-deploy-9.2.6.v20141205.jar:lib/jetty-http-9.2.6.v20141205.jar:lib/jetty-io-9.2.6.v20141205.jar:lib/jetty-jmx-9.2.6.v20141205.jar:lib/jetty-proxy-9.2.6.v20141205.jar:lib/jetty-security-9.2.6.v20141205.jar:lib/jetty-server-9.2.6.v20141205.jar:lib/jetty-servlet-9.2.6.v20141205.jar:lib/jetty-servlets-9.2.6.v20141205.jar:lib/jetty-util-9.2.6.v20141205.jar:lib/jetty-webapp-9.2.6.v20141205.jar:lib/jetty-xml-9.2.6.v20141205.jar:lib/jsch-0.1.51.jar:lib/json-simple-1.1.1.jar:lib/jsoup-1.8.1.jar:lib/log4j-over-slf4j-1.7.9.jar:lib/lucene-analyzers-common-4.10.3.jar:lib/lucene-analyzers-phonetic-4.10.3.jar:lib/lucene-classification-4.10.3.jar:lib/lucene-codecs-4.10.3.jar:lib/lucene-core-4.10.3.jar:lib/lucene-facet-4.10.3.jar:lib/lucene-grouping-4.10.3.jar:lib/lucene-highlighter-4.10.3.jar:lib/lucene-join-4.10.3.jar:lib/lucene-memory-4.10.3.jar:lib/lucene-misc-4.10.3.jar:lib/lucene-queries-4.10.3.jar:lib/lucene-queryparser-4.10.3.jar:lib/lucene-spatial-4.10.3.jar:lib/lucene-suggest-4.10.3.jar:lib/metadata-extractor-2.7.0.jar:lib/noggit-0.5.jar:lib/org.restlet.jar:lib/pdfbox-1.8.8.jar:lib/poi-3.10.1.jar:lib/poi-scratchpad-3.10.1.jar:lib/slf4j-api-1.7.9.jar:lib/slf4j-jdk14-1.7.9.jar:lib/solr-core-4.10.3.jar:lib/solr-solrj-4.10.3.jar:lib/spatial4j-0.4.1.jar:lib/webcat-0.1-swf.jar:lib/weupnp-0.1.2.jar:lib/wstx-asl-3.2.9.jar:lib/xercesImpl.jar:lib/xml-apis.jar:lib/xmpcore-5.1.2.jar:lib/yacycore.jar:lib/zookeeper-3.4.6.jar: net.yacy.yacy >/dev/null 2>/dev/null &


Dafür hast du nun die langen Parameter kaputtgemacht.

Code: Alles auswählen
# ./startYACY.sh  --help
WARNING: Unfortunately this script does not support long options in OpenBSD.
getopt: unknown option -- -
getopt: unknown option -- e


Noch so eine Idee übrigens: Wenn man startYACY mehrmals ausführt, tut er so, als würde jedes Mal eine neue Instanz gestartet. Vielleicht kann man das abfangen.
OhSoLow
 
Beiträge: 12
Registriert: Mi Feb 04, 2015 1:03 am

Re: OpenBSD-Unterstützung

Beitragvon Low012 » Mi Feb 25, 2015 10:40 pm

Danke für die Hinweise zur Installation der Packages. Das sieht aus, als könnte auch ich es schaffen, mir eine Umgebung zu basteln, mit der ich testen kann.

<offtopic>
Die BSDs wollte ich mir immer mal anschauen, habe es aber nie ernsthaft geschafft. Demnächst bin ich in Chemnitz bei den Linuxtagen. Wenn ich es schaffe, werde ich mal bei NetBSD vorbei schauen und vielleicht werde ich ja dort überzeugt, mal zu wechseln. Linux funktioniert halt für mich, aber ich bin auch offen für Neues, wenn ich mich dadurch nicht irgendwie einschränken muss.
</offtopic>

Die Ausgaben sehen wie erhofft aus. Das BSD-getopt (oder POSIX-getopt allgemein) unterstützt, wenn ich das richtig recherchiert habe, keine langen Optionen. Ich werde da nochmal genauer schauen und wenn das tatsächlich so ist, hoffentlich einen Weg um diese Limitierung herum finden. Die Warnung habe ich eingefügt, damit man wenigstens einen Hinweis hat, dass es zur Zeit einfach nicht funktioniert und das Problem nicht vor dem Bildschirm (jedenfalls nicht vor dem des Anwenders) sitzt.

Ich habe mir das Ticket im Bugtracker mal zugewiesen
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm

Re: OpenBSD-Unterstützung

Beitragvon OhSoLow » Mi Feb 25, 2015 10:50 pm

<OT>

Low012 hat geschrieben:Die BSDs wollte ich mir immer mal anschauen, habe es aber nie ernsthaft geschafft.


Naja, "die BSDs". (Fang' doch mit PC-BSD oder GhostBSD an, das sind schon vorkonfigurierte, "linuxige" FreeBSD-Desktops.) NetBSD/EdgeBSD und OpenBSD/Bitrig sind halt eher für die Hartgesottenen: Schwer kaputtzukriegen, aber vor der Installation hast du sozusagen Lesepflicht.

Ein großer Vorteil allerdings, gerade bei den ja bereits verlinkten OpenBSD-FAQ: Du hast noch vor der Inbetriebnahme eine Ahnung, was genau gerade passiert. FreeBSD scheint sich mittlerweile ja eher an den bequemen Umsteiger zu richten, da lernt man nur was, wenn man das auch will (dann aber richtig, Stichwort z.B. ZFS).

Ich verfalle in den Schwafelmodus. Wir können das gern per PN/XMPP weiterdiskutieren. Verzeihung!

</OT>

Low012 hat geschrieben:Die Ausgaben sehen wie erhofft aus.


Ach so, dass vorher nichts "erschien", war eigentlich Teil des Bugs? Dann habe ich das missverstanden.
OhSoLow
 
Beiträge: 12
Registriert: Mi Feb 04, 2015 1:03 am

Re: OpenBSD-Unterstützung

Beitragvon Low012 » Mi Feb 25, 2015 11:09 pm

OhSoLow hat geschrieben:Ach so, dass vorher nichts "erschien", war eigentlich Teil des Bugs? Dann habe ich das missverstanden.


Ja, da hätte was erscheinen müssen, aber weil das BSD-getopt mit den Parametern des GNU-getopt wohl nichts anfangen konnte, ist das Skript nicht so weit gekommen.

Mit ein paar anderen BSDs müsste ich das eigentlich auch noch testen. (Und da wird aus dem offtopic schon fast wieder ontopic!) Vielleicht kann ich das ja damit verbinden, mir mal ein paar BSDs näher anzusehen! :)
Low012
 
Beiträge: 2214
Registriert: Mi Jun 27, 2007 12:11 pm

Re: OpenBSD-Unterstützung

Beitragvon OhSoLow » Mi Feb 25, 2015 11:13 pm

Die meisten (alle?) "richtigen" BSDs nutzen POSIX-getopt, ich gehe also davon aus, dass die Prüfung auf OpenBSD da einfach nur erweitert werden müsste. Aber dein Vorhaben ist löblich. ;)
OhSoLow
 
Beiträge: 12
Registriert: Mi Feb 04, 2015 1:03 am


Zurück zu YaCy Coding & Architecture

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 1 Gast

cron