Lazarus_Config_Dir
-
- Beiträge: 53
- Registriert: Di 24. Okt 2006, 08:31
- OS, Lazarus, FPC: Winux (L 1.1.xy FPC 2.7.1.z)
- CPU-Target: xxBit
- Wohnort: Mixdorf
- Kontaktdaten:
Lazarus_Config_Dir
Hallo zusammen,
leider konnte ich mich in letzter Zeit nicht mit Lazarus und Co. beschaeftigen.
Heute kam mir aber gleich eine Idee, die ich gern umsetzen wuerde:
Hier laeuft Lazarus ausschliesslich im Userspace!
Ich moechte allerdings 3 Versionen zur Auswahl haben, was ohne weiteres moeglich ist
und derzeit auch laeuft.
Das einzige, was mich nervt ist: "LAZARUS_CONFIG_DIR"
Alle Versionen schreiben nach "~./lazarus"
Ich haette die Config's jedoch gern so abgelegt:
./lazarus # latest stable version
./lazarus_svn_2.0.4 # svn mit fpc 2.0.4 compiliert
./lazarus_svn_2.3.1 # svn mit fpc_svn compiliert
Bisher habe ich vergeblich nach einer Option gesucht, die ich Lazarus beim Start mitgeben kann.
In den Umgebungseinstellungen der IDE waere die Optionswahl sicher am besten untergebracht!
Jedesmal nach dem SVN-Update in den Makefiles zu Wuseln ist nervig.
Hat jemand eine Idee, wie ich das config_dir beim Start mitschicken kann?
Besten Dank!
MfG mori
leider konnte ich mich in letzter Zeit nicht mit Lazarus und Co. beschaeftigen.
Heute kam mir aber gleich eine Idee, die ich gern umsetzen wuerde:
Hier laeuft Lazarus ausschliesslich im Userspace!
Ich moechte allerdings 3 Versionen zur Auswahl haben, was ohne weiteres moeglich ist
und derzeit auch laeuft.
Das einzige, was mich nervt ist: "LAZARUS_CONFIG_DIR"
Alle Versionen schreiben nach "~./lazarus"
Ich haette die Config's jedoch gern so abgelegt:
./lazarus # latest stable version
./lazarus_svn_2.0.4 # svn mit fpc 2.0.4 compiliert
./lazarus_svn_2.3.1 # svn mit fpc_svn compiliert
Bisher habe ich vergeblich nach einer Option gesucht, die ich Lazarus beim Start mitgeben kann.
In den Umgebungseinstellungen der IDE waere die Optionswahl sicher am besten untergebracht!
Jedesmal nach dem SVN-Update in den Makefiles zu Wuseln ist nervig.
Hat jemand eine Idee, wie ich das config_dir beim Start mitschicken kann?
Besten Dank!
MfG mori
-
- Beiträge: 53
- Registriert: Di 24. Okt 2006, 08:31
- OS, Lazarus, FPC: Winux (L 1.1.xy FPC 2.7.1.z)
- CPU-Target: xxBit
- Wohnort: Mixdorf
- Kontaktdaten:
Hallo Christian,
na logisch, das war zu einfach! ManOhMan.
Also werde ich das erst einmal per bash loesen.
Danke Dir fuer den Schlag auf den Hinterkopf!
PS.: Da kribbelt es aber gleich wieder unter den Haaren...
WiX und Batch... Die Option in den Umgebungs-Einstellungen
waere also doch was Feines
Vielleicht melde ich meinen
Wunsch mal in der Lazarus-ML an.
MfG mori
na logisch, das war zu einfach! ManOhMan.
Also werde ich das erst einmal per bash loesen.
Danke Dir fuer den Schlag auf den Hinterkopf!
PS.: Da kribbelt es aber gleich wieder unter den Haaren...
WiX und Batch... Die Option in den Umgebungs-Einstellungen
waere also doch was Feines

Wunsch mal in der Lazarus-ML an.
MfG mori
-
- Lazarusforum e. V.
- Beiträge: 2809
- Registriert: Sa 9. Sep 2006, 18:05
- OS, Lazarus, FPC: Linux (L trunk FPC trunk)
- CPU-Target: 64Bit
- Wohnort: Dresden
- Kontaktdaten:
Mir fehlt da gerade der Ansatz und das Wissen zur Shell unter Linux.
Wie soll das Scellscript denn aussehen?
Das ich das Verzeichnis erstmal in das Confi-Dir kopieren kann, bzw. einfah umbenennen ist mir ja klar, aber wie soll ich dann die Änderungen zurücksichern, bevor ich das nächste mal ne andere Konfiguration brauche?
Wie soll das Scellscript denn aussehen?
Das ich das Verzeichnis erstmal in das Confi-Dir kopieren kann, bzw. einfah umbenennen ist mir ja klar, aber wie soll ich dann die Änderungen zurücksichern, bevor ich das nächste mal ne andere Konfiguration brauche?
-
- Beiträge: 53
- Registriert: Di 24. Okt 2006, 08:31
- OS, Lazarus, FPC: Winux (L 1.1.xy FPC 2.7.1.z)
- CPU-Target: xxBit
- Wohnort: Mixdorf
- Kontaktdaten:
Hallo monta,
Du brauchst dazu ein File zum Merken.
Dort schreibst Du die aktuelle Konfig rein:
zB.: echo "lazarus_stable" > "~/mylazrc"
Jetzt willst Du angenommen "Lazarus_svn_204"
starten:
-mylazrc auslesen und Konfig-Dir unter dem
ausgelesenen Namen speichern.
".lazarus" umbenennen nach "lazarus_stable"
wenn ohne Fehler, dann
-umbenennen des _benoetigten_ Konfig-Dirs zB.:
"lazarus_svn_204" nach ".lazarus" und schreibst
ins Merkfile
zB.: echo "lazarus_svn_204" > "~/mylazrc"
Jetzt wird Lazarus aus dem richtigen Build gestartet.
cd ~/(Dir aus Merkfile) && ./startlazarus
(auch aus dem Script heraus!)
Vielleicht geht es auch noch einfachen, aber so
habe ich immer den Ueberblick, was zuletzt benutzt
wurde.
Sorry, schlecht erklaeren konnte ich schon immer gut!
MfG mori
Du brauchst dazu ein File zum Merken.
Dort schreibst Du die aktuelle Konfig rein:
zB.: echo "lazarus_stable" > "~/mylazrc"
Jetzt willst Du angenommen "Lazarus_svn_204"
starten:
-mylazrc auslesen und Konfig-Dir unter dem
ausgelesenen Namen speichern.
".lazarus" umbenennen nach "lazarus_stable"
wenn ohne Fehler, dann
-umbenennen des _benoetigten_ Konfig-Dirs zB.:
"lazarus_svn_204" nach ".lazarus" und schreibst
ins Merkfile
zB.: echo "lazarus_svn_204" > "~/mylazrc"
Jetzt wird Lazarus aus dem richtigen Build gestartet.
cd ~/(Dir aus Merkfile) && ./startlazarus
(auch aus dem Script heraus!)
Vielleicht geht es auch noch einfachen, aber so
habe ich immer den Ueberblick, was zuletzt benutzt
wurde.
Sorry, schlecht erklaeren konnte ich schon immer gut!
MfG mori
-
- Beiträge: 53
- Registriert: Di 24. Okt 2006, 08:31
- OS, Lazarus, FPC: Winux (L 1.1.xy FPC 2.7.1.z)
- CPU-Target: xxBit
- Wohnort: Mixdorf
- Kontaktdaten:
Ich habe mal das Script etwas erweitert.
Bitte um Fehlermeldungen und Vorschlaege.
BITTE NICHT OHNE ZU PRUEFEN UEBERNEHMEN !!!
IST NICHT INS DETAIL GETESTET!
Schaut mal, ob da was draus zu machen ist.
Bist spaeter. MfG mori
Bitte um Fehlermeldungen und Vorschlaege.
BITTE NICHT OHNE ZU PRUEFEN UEBERNEHMEN !!!
IST NICHT INS DETAIL GETESTET!
Code: Alles auswählen
#!/bin/bash
set -e
function nodir()
{
err=`expr $err + 1`
echo -e "\n\n"
echo -e " Konfig-Dir /.$1 nicht gefunden!"
echo -e " Lazarus startet mit leerer Konfiguration!\n"
}
function nobuilddir()
{
err=`expr $err + 10`
echo -e "\n\n"
echo -e " Lazarus-Build-Dir /$1 nicht gefunden!"
echo -e " Das Script wird beendet!\n"
}
function switchcfg()
{
if ! [ -d "$1" ]; then
nobuilddir "$1"
else
if ! [ "$lastv" == "$1" ]; then
if [ -d ".lazarus" ]; then
mv ".lazarus" ".$lastv"
fi
if [ -d ".$1" ]; then
mv ".$1" ".lazarus"
else
nodir "$1"
fi
fi
echo "$1" > "$rcfile"
cd "$1"
fi
}
# ==========================================================
# Hauptteil
# ==========================================================
if [ `pidof lazarus` ]; then
echo -e "\n ==========================================="
echo -e " Lazarus laeuft bereits! Bitte erst beenden!"
echo -e " ===========================================\n"
exit
fi
myuser="mori"
cd "/home/$myuser"
rcfile=".mylazrc" # Merkfile
lazv1="lazarus_stable" # Lazarus stable mit FPC 2.0.4 gebacken
lazv2="lazarus_svn_204" # Lazarus SVN mit FPC 2.0.4 gebacken
lazv3="lazarus_svn" # Lazarus SVN mit FPC SVN gebacken
lastv=`tail -n1 "$rcfile"`
err=0
ok=false
auswahl=""
while [ $ok = false ]; do
clear
echo -e "\n\n"
echo -e " Welche Version von Lazarus willst Du starten?\n"
echo -e " 1) Lazarus STABLE"
echo -e " 2) Lazarus SVN mit FPC 2.0.4"
echo -e " 3) Lazarus SVN mit FPC SVN\n"
read -n 1 -p " Bitte waehle 1,2,3 (Abbruch mit Ctrl-c): " auswahl
case $auswahl in
1) switchcfg "$lazv1"; ok=true;;
2) switchcfg "$lazv2"; ok=true;;
3) switchcfg "$lazv3"; ok=true;;
*) ok=false;;
esac
done
if [ $err -gt 9 ]; then
exit
else
if [ $err -gt 0 ];then
read -n 1 -p " Taste druecken zum Start von Lazarus "
fi
exec=`./startlazarus &`
fi
exit
Bist spaeter. MfG mori
Zuletzt geändert von mori am Di 3. Apr 2007, 20:15, insgesamt 4-mal geändert.
-
- Beiträge: 53
- Registriert: Di 24. Okt 2006, 08:31
- OS, Lazarus, FPC: Winux (L 1.1.xy FPC 2.7.1.z)
- CPU-Target: xxBit
- Wohnort: Mixdorf
- Kontaktdaten:
Lazarus_Config_Dir - Vergesst die Script-erei!
Es kann so einfach sein, warum muss mich erst der "Vincent Snijders" mit der Nase drauf stossen?
Auf meinem Schlepptop, den ich eigentlich zum Proggen nutze, bleibt allerdings die Option "--help"
leer und der Prompt erscheint. Nach der Mail von Vincent habe ich auf meiner 64-bit-Kiste mit Erstaunen
feststellen muessen, dass es eigentlich garkein Problem gibt:
Und genau DAS funktioniert (zumindest hier auf der einen Kiste).
Also vergesst die Bastelei per Script und nutzt ./lazarus_xyz --pcp=...
MfG mori
Auf meinem Schlepptop, den ich eigentlich zum Proggen nutze, bleibt allerdings die Option "--help"
leer und der Prompt erscheint. Nach der Mail von Vincent habe ich auf meiner 64-bit-Kiste mit Erstaunen
feststellen muessen, dass es eigentlich garkein Problem gibt:
Code: Alles auswählen
./lazarus_stable --help would give:
--help or -? this help message
--primary-config-path= <path>
or --pcp= <path>
primary config directory, where Lazarus stores its
config files. Default is C:\lazarus\source\lazarus
Try this option.
Also vergesst die Bastelei per Script und nutzt ./lazarus_xyz --pcp=...
MfG mori