Autoinstall - instalator niemal wszelkich pakietów. Cognac - odpalacz wszelkich EXE

Bash, C, C++, Java, PHP, Ruby, GTK, Qt i wiele innych - wszystko tutaj.
Awatar użytkownika
vytah
Piegowaty Guziec
Piegowaty Guziec
Posty: 24
Rejestracja: 11 paź 2007, 17:44
Płeć: Mężczyzna
Wersja Ubuntu: 7.10
Środowisko graficzne: GNOME
Kontakt:

Autoinstall - instalator niemal wszelkich pakietów. Cognac - odpalacz wszelkich EXE

Post autor: vytah »

Krótko: Pakiecik zawiera 2 skrypty - jeden instaluje wszystko co linuksowe, drugi odpala wszystko co dosowe czy windowsowe.
Patrz: http://code.google.com/p/xautotools/wiki/MainPage
Dla ostrzeżenia: Jest to wersja 0.0.5, czy baardzo wczesna. Potrafi czasem zrobić sieczkę w systemie. Raportujcie błędy ;)
__________________________________________________

Uznałem, że skrypt (1) musi być uniwersalny, więc będzie on instalował pakiety przeróżnych typów. Oprócz msi, bo z nimi jest inna śpiewka. No i exe, bo to de facto nie pakiet. Winiaste rzeczy powinny być obsługiwane przez inny skrypcik, wkrótce go napiszę. Już jest!!

W przypadkach opisanych w powyższym wątku, ten skrypt powinien zrobić tak:
- skompilować paczkę, jeśli wykryje, że zawiera źródła (najlepiej jak najwięcej metod kompilacji - opisujcie napotkane niestandardowe metody kompilacji!)
- skopiować tzw. paczki luźne i utworzyć skróty w menu
- zainstalować paczki do Slackware'a (bo to akurat jest proste ;))
- odpalić z prawami roota plik wykonywalny (np. instalkę sterowników, javy czy gier)
- zainstalować .deb
- zainstalować .rpm

Wymagania - autoinstall:
- checkinstall
- alien
- build-essential
- obsługa pakietów RPM lub DEB
- gksudo lub kdesu (do pracy w trybie graficznym)

Wymagania (choć nie wymuszane przy instalacji) - cognac:
- wine
- dosbox
- mono


autoinstall - odpalać z prawami roota, na razie działa z linii poleceń, można zrobić plik autoinstall_x i w pliku .desktop napisać

Kod: Zaznacz cały

Exec=autoinstall_x
Terminal=false
a w autoinstall_x napisać

Kod: Zaznacz cały

#!/bin/sh
gksudo autoinstall $@ || kdesu autoinstall $@
wkrótce będzie

cognac też działa z linii poleceń, ale warto go przypisać do plików COM, BAT, EXE, MSI

A oto bieżąca paczka - wersja "niestabilna":
http://xautotools.googlecode.com/svn/trunk/
wersje "stabilne":
http://xautotools.googlecode.com/svn/tags/

Wiki projektu:
http://code.google.com/p/xautotools/wiki/MainPage


Wszelkie uwagi, raporty o błędach, tłumaczenia, propozycje ikony, propozycje pliku .desktop, propozycje rozszerzenia funkcjonalności, poprawki do algorytmu instalowania paczek .tgz/.tar.gz itp. bardzo mile widziane!
Program nietestowany :craz: i potencjalnie niebezpieczny!
Licencja GPL, ale proszę nie forkować bez potrzeby tego projektu, bo chodzi tu też o pewnego rodzaju spójność ;) i współpracę.
A na koniec zrobimy .deb-a.

EDIT: Poprawiłem co nieco, ale jeszcze nie jest idealnie. Trzeba poprawić wsparcie dla RedHata i różnych archiwów. Poprawiłem też parę bugów.

EDIT: Kolejna poprawka - udało mi się zainstalować i usunąć tym Blendera w postaci luźnej paczki .bz2. Z kolei kompilacja biblioteki ZThread wywaliła błęda przy make.

EDIT: Już jest Cognac - ulepszenie/rozszerzenie do Wine (na co wskazuje nazwa ;)), ale łączy sobą też Mono i DosBoxa
bo ze mnie jest zimnokrVisty aktyVista co śVista na oczyVistą oczyVistość, która jest naroVista i zaVistna o moje śVistanie
trzeci-punkt.blog.onet.pl
Awatar użytkownika
el.pescado
Zakręcona Traszka
Zakręcona Traszka
Posty: 734
Rejestracja: 26 maja 2005, 11:43
Płeć: Mężczyzna
Wersja Ubuntu: inny OS
Środowisko graficzne: GNOME
Architektura: x86
Kontakt:

Odp: Autoinstall - skrypt instalujący niemal wszystkie rodzaje pakietów

Post autor: el.pescado »

tgz AFAIK mogą być alienowane.

mkdir wypisuje błąd, jeśli katalog istnieje, mkdir -p tego nie robi.
gz|tgz|zip|bz2)
mkdir "$TEMPDIR/T"
tar xvf "$1" -C "$TEMPDIR/T" || exit 2
Ostatnie polecenie wypakuje tylko tar.gz, natomiast wywołane zostanie także do .gz, zip, .tar.bz2 i .bz2

Autopackage można łatwo obsłużyć (po prostu uruchomić plik).

MSI można chyba zainstalować w trybie nieinteraktywnym (znaczy, bez tych wszystkich głupoch okienek etc).
No i exe, bo to de facto nie pakiet.
.bin .sh i .run to też de facto nie paczki;) (tu się czepiam;P)

Możnaby sprawdzić, czy system jest oparty o deby (i wtedy deby instalować a rpmy alienować) czy o rpmy (wtedy na odwrót) - wtedy skrypt zyska na uniwersalności.

A przy tworzeniu .desktop (ale to już pierdoła): można sprawdzić, czy binarka jest zlinkowana z dajmy na to libgtk*, libqt*, libwx* czy czymś takim, i w takim wypadku ustawić Terminal=false. (man ldd).

W każdym razie, kibicuję projektowi - coś takiego przydałoby się.
Awatar użytkownika
vytah
Piegowaty Guziec
Piegowaty Guziec
Posty: 24
Rejestracja: 11 paź 2007, 17:44
Płeć: Mężczyzna
Wersja Ubuntu: 7.10
Środowisko graficzne: GNOME
Kontakt:

Odp: Autoinstall - skrypt instalujący niemal wszystkie rodzaje pakietów

Post autor: vytah »

Z exe i msi zrezygnowałem, bo mój skrypt powinien być uruchamiany z prawami roota.
Wkrótce napiszę skrypt do instalowania i uruchamiania programów pod wine (wykrywa, czy exe, scr, czy msi, zmienia ścieżkę jak windows i odpala) - mam już prawie gotowy.

Autopackage - no ok, tylko jak rozpoznawać? może dodam na końcu przypadek?: /// gotowe

Kod: Zaznacz cały

*) . $1 ;;
To z ldd genialne. /// gotowe

Nad rozszerzeniami archiwów muszę popracować. /// gotowe

Nad konwersją slackwarowych paczek i niezależnością rpm/deb jeszcze pomyślę. /// gotowe
Konwersja z slackwarowych tgz to będzie pewnie

Kod: Zaznacz cały

alien -cdi "$1"

No ale trzeba je przede wszystkim rozpoznać.

Jak oba skrypty będą gotowe, to normalnie system zrobi się drugi windows - klikanie na wszystko co się rusza ;)

PS. Jak się robiło, że skrypt wywala okienka z błędami, komunikaty, zapytania itp? /// gotowe - xmessage
I co jest zamiast gksu/kdesu na XFCE? /// no to fajnie że gksu
bo ze mnie jest zimnokrVisty aktyVista co śVista na oczyVistą oczyVistość, która jest naroVista i zaVistna o moje śVistanie
trzeci-punkt.blog.onet.pl
Awatar użytkownika
Wiorka
Przyjaciel
Przyjaciel
Posty: 91
Rejestracja: 01 lis 2006, 09:41
Płeć: Kobieta
Wersja Ubuntu: 8.10
Środowisko graficzne: GNOME

Odp: Autoinstall - skrypt instalujący niemal wszystkie rodzaje pakietów

Post autor: Wiorka »

vytah pisze:I co jest zamiast gksu/kdesu na XFCE?
W xubuntu - gksu.
Kapłanka Czystości Języka, wypełniająca na forum wolę Ducha Ortografii
Regulamin | Czytelnia | Hookers unite!
[size=-2]Nie objawiam rozwiązań problemów poprzez PW i jabbera.[/size]
Awatar użytkownika
vytah
Piegowaty Guziec
Piegowaty Guziec
Posty: 24
Rejestracja: 11 paź 2007, 17:44
Płeć: Mężczyzna
Wersja Ubuntu: 7.10
Środowisko graficzne: GNOME
Kontakt:

Odp: Autoinstall - skrypt instalujący niemal wszystkie rodzaje pakietów

Post autor: vytah »

Kolejna wersja, udało mi się za jej pomocą zainstalować i także ODINSTALOWAĆ Blendera z paczki .bz2, która właściwie powinna być przechowywana gdzieś w katalogu domowym.(Jak nie wierzycie: http://www.blender.org/download/get-blender/ sudo autoinstaller blender-2.45-linux-glibc236-py25-i386.tar.bz2 )

Teraz skrypt ma prosty interfejs graficzny, ale przedpotopowy - xmessage nie jest zbyt elegancki...

Przydałaby się kontrola architektury - nie pozwalałoby na instalację 64 bitowego na 32 bitach, ppc na x86 itd. A poza tym wykorzystywałoby to do odróżniania źródeł (architektura src) od binarek (x86 x64 x86_64 ppc sparc czy nawet bin). Rozpoznawanie oczywiście po nazwie pakietu ;)

Skoro projekt się rozrósł, prosiłbym o uwagi, tłumaczenia skryptu na inne języki (w miarę łatwo zaczaić, jak - zwłaszcza prosiłbym o niemiecki, francuski i hiszpański), no i przede wszystkim o to, czy u was działa ten skrypt czy nie.

Tag php niezbyt szczęśliwie pokolorował drugą połowę skryptu ;) składnia jest tam raczej poprawna, możecie sprawdzić w gedicie.

Wywala na końcu, jak uruchomię autoinstalla w konsoli, informację/błąd/ostrzeżenie o braku nawiasu kwadratowego zamykającego ( ] ). Nie wiem o co chodzi. U mnie działa. Przynajmniej w dashu. Większość dystrybucji (nie Ubuntu czy Debian) linkuje sh -> bash, więc trzeba będzie przetestować skrypt w bashu.

No i raz jeszcze: testy, testy, testy!

A priorytetem jest autokompilacja.

Są oczywiście drobne niedociągnięcia w wielu założeniach projektu, ale mam nadzieję, że to nie będzie stanowiło przeszkody w rozwoju Linuksa.

Edit: SubVersion na http://xautotools.googlecode.com/svn/

EDIT:
Wersje poniżej 0.0.5 miały spaprane DEBy, parę osób się nacięło, poprawiłem co nieco ;)
bo ze mnie jest zimnokrVisty aktyVista co śVista na oczyVistą oczyVistość, która jest naroVista i zaVistna o moje śVistanie
trzeci-punkt.blog.onet.pl
Error
Piegowaty Guziec
Piegowaty Guziec
Posty: 1
Rejestracja: 26 paź 2007, 23:04
Płeć: Mężczyzna
Wersja Ubuntu: 7.10
Środowisko graficzne: GNOME

Odp: Autoinstall - instalator niemal wszelkich pakietów. Cognac - odpalacz wszelkich

Post autor: Error »

instalowalem z paczki deb i jak na razie spisuje sie znakomicie poza jednym wyjatkiem ale on nie ma zwiazku z dzialaniem programu tylko raczej z moja niewiedza :P

trzymam za ciebie kciuki oby tak dalej!
Awatar użytkownika
Tomhasz
Piegowaty Guziec
Piegowaty Guziec
Posty: 1
Rejestracja: 12 lip 2008, 02:38
Płeć: Mężczyzna
Wersja Ubuntu: 8.04
Środowisko graficzne: GNOME

Odp: Autoinstall - instalator niemal wszelkich pakietów. Cognac - odpalacz wszelkich

Post autor: Tomhasz »

Witam, niestety u mnie jest problem nastepujacy:
1)
po otwarciu progrmu Aplikacje > Inne > Narzedzie do uruchamiania programow Cognac - dostaje informacje do czego on sluzy i po wcisnieciu okienka OK nic sie nei dzieje zadnego wiecej komunikatu po prostu nawet sie nei wlacza..

2)
Gdy chcialem przechytrzyc program wpisujac w terminalu: [JABBER]Cognac 'zrodlo/program.exe' dostalem [/JABBER]nstepujacy komunikat :
exe
preloader: Warning: failed to reserve range 00000000-60000000
preloader: Warning: failed to reserve range 00000000-60000000
err:dosmem:setup_dos_mem Cannot use first megabyte for DOS address space, please report
preloader: Warning: failed to reserve range 00000000-60000000
err:dosmem:setup_dos_mem Cannot use first megabyte for DOS address space, please report
preloader: Warning: failed to reserve range 00000000-60000000
err:dosmem:setup_dos_mem Cannot use first megabyte for DOS address space, please report
err:dosmem:setup_dos_mem Cannot use first megabyte for DOS address space, please report
preloader: Warning: failed to reserve range 00000000-60000000
err:dosmem:setup_dos_mem Cannot use first megabyte for DOS address space, please report
fixme:shell:SHAutoComplete SHAutoComplete stub
fixme:exec:SHELL_execute flags ignored: 0x00000580
preloader: Warning: failed to reserve range 00000000-60000000
err:dosmem:setup_dos_mem Cannot use first megabyte for DOS address space, please report
tomhasz@THC:~$ fixme:heap:HeapSetInformation (nil) 1 (nil) 0
fixme:reg:GetNativeSystemInfo (0x7f22f378) using GetSystemInfo()
fixme:advapi:CheckTokenMembership ((nil) 0x7f01c2f0 0x7f22f37c) stub!
preloader: Warning: failed to reserve range 00000000-60000000
err:dosmem:setup_dos_mem Cannot use first megabyte for DOS address space, please report
fixme:heap:HeapSetInformation (nil) 1 (nil) 0
fixme:reg:GetNativeSystemInfo (0x7f22fb68) using GetSystemInfo()
fixme:mscoree:GetRequestedRuntimeInfo ((null), L"v2.0.50727", (null), 0x00000006, 0x00000018, 0x7f22fc44, 0x00000104, 0x7f22fbac, 0x7f22fe4c, 0x00000014, 0x7f22fba4) stub
fixme:mscoree:GetCORVersion (0x7f22fe4c, 20, 0x7f22fba4): semi-stub!
fixme:mscoree:CorExitProcess (1) stub
fixme:exec:SHELL_execute flags ignored: 0x00000400

hmm mam zainstalowane wine i dosboxa ale nie wydaje mi sie zeby Cognac kolidowal sie z nimi ...
nie mam pojecia co jest przyczyna tych bledow.
Pozdrawiam serdecznie
ODPOWIEDZ

Wróć do „Programowanie”

Kto jest online

Użytkownicy przeglądający to forum: Obecnie na forum nie ma żadnego zarejestrowanego użytkownika i 7 gości