Jak má standardně fungovat instalace ze zdrojového kódu?

Re:Jak standardne ma fungovat instalovani sw ze zdrojoveho kodu?
« Odpověď #15 kdy: 13. 06. 2020, 12:28:33 »
Nevím jak to máte na Debianu, ale já instalování pomocí make říkám "instalování na prasáka". Čistější řešení je vytvořit nejdříve balíček a ten nainstalovat a pak odinstalovat.

Ano! Presne. k tomu jsem se jeste nedostal.


Re:Jak standardne ma fungovat instalovani sw ze zdrojoveho kodu?
« Odpověď #16 kdy: 13. 06. 2020, 12:29:55 »
Nevím jak to máte na Debianu, ale já instalování pomocí make říkám "instalování na prasáka". Čistější řešení je vytvořit nejdříve balíček a ten nainstalovat a pak odinstalovat.

Nedari se mi najit .deb balicek s Pythonem ktery by instaloval Python jakozto side by side verzi, ktera neovlivni python3 executable. Nevite kde hledat kdyz chci takovou specifickou vec? Pochybuju ze jsem sam kdo neco takove potrebuje.

Re:Jak standardne ma fungovat instalovani sw ze zdrojoveho kodu?
« Odpověď #17 kdy: 13. 06. 2020, 13:03:55 »
Nevím jak to máte na Debianu, ale já instalování pomocí make říkám "instalování na prasáka". Čistější řešení je vytvořit nejdříve balíček a ten nainstalovat a pak odinstalovat.
Nedari se mi najit .deb balicek s Pythonem ktery by instaloval Python jakozto side by side verzi, ktera neovlivni python3 executable. Nevite kde hledat kdyz chci takovou specifickou vec? Pochybuju ze jsem sam kdo neco takove potrebuje.
S Debianem ti neporadím, jsem z jinýho gangu - https://aur.archlinux.org/. Na AURu je konfigurák (PKGBUILD), který si můžeš před instalací upravit a ve kterém jsou definovány cesty ke zdrojákům, ty se stáhnou do PC a zkompilují (ve fakeroot), vytvoří se balíček a můžeš ho zrovna nainstalovat. Když potřebuji vytvořit vlastní balíček, tak většinou vezmu PKGBUILD z AURu upravím u sebe a vytvořím si balíček. Jak se dívám, tak u Pythonu3 bych měl z čeho vybírat a nevidím, že by jednotlivé verze (34,35,36,37) byly konfliktní.

Nemáte nějakou takovou jednoduchou cestu tvorby balíčku na Debianu?

Re:Jak standardne ma fungovat instalovani sw ze zdrojoveho kodu?
« Odpověď #18 kdy: 13. 06. 2020, 14:35:56 »
Instaloval jsem si na Debianu nejnovejsi verzi Pythonu a protoze ta neni ve Stable repozitarich, udelal jsem to primo ze zdrojoveho kodu.

Pouzil jsem prikaz make altinstall coz vytvorilo spustitelny soubor python3.8 a neprepsalo to systemovy python3 - coz jsem samozrejme chtel.

Co to je ten make altinstall, kde se tam vzal? To predpokladam je standarni prepinac prikazu make, jehoz chovani naprogramoval tvurce instalatoru, s cilem vyrobit inkrementalni zpetne kompatibilni zmenu, ktera nic nepodela.


Pak me jeste jako uzivatele Debianu Stable zjima jina vec. V systemu mam aktualne pod "java" Javu 11. Prepokladam ze kdyych si chtel nainstalovat Javu 14, tak ze bych mel spravne vyrobit prikaz "java14". Nemuzu prepsat "java" protoze by mi to mohlo rozbit neco v systemu. Mezi verzema javy jsou samozrejm rozdily, ne vzdy je to plne zpetne kompatibilni.

Ad java ( a spousta jineho sw) používám https://sdkman.io/, ale pro aplikacni servery pouzivam tar ball ze stránek oracle nebo adoptopenjdk a to jen rozbalim a pouzivam bez jakekoliv instalace, můžu mít pro každou aplikaci jiné jvm.

Re:Jak standardne ma fungovat instalovani sw ze zdrojoveho kodu?
« Odpověď #19 kdy: 13. 06. 2020, 16:03:55 »
Tak to ja jaksi blbost ze, mas na kazdem Linuxu nejak standarni adresarovou strukturu, a instalator by potom mel tuto strukturu dodrzovat. Takze nejaky standard tady byt musi, nerikej ze ne.
Pokud to sám víte lépe, proč se na to ptáte? Co já vím, tak to s tou standardní adresářovou strukturou není žádná sláva. Běžně binárky, které jsou v jedné distribuci v /bin, najdete v jiné distirbuci pod /user/bin atd. Proto má obvykle config volby, kterými je možné určit, kam se které části aplikace mají nainstalovat.

A v neposledni rade, je tady Debian Stable, opet jakasi standardizace toho co ma instalator delat.
Debian Stable je jedna z mnoha distribucí. Vývojář, který vyvíjí na Gentoo nebo Fedoře asi jako výchozí hodnoty zvolí spíš hodnoty ze svého systému – nemá žádný důvod řídit se zrovna Debianem.


Re:Jak standardne ma fungovat instalovani sw ze zdrojoveho kodu?
« Odpověď #20 kdy: 13. 06. 2020, 17:13:43 »
Tak to ja jaksi blbost ze, mas na kazdem Linuxu nejak standarni adresarovou strukturu, a instalator by potom mel tuto strukturu dodrzovat. Takze nejaky standard tady byt musi, nerikej ze ne.
Pokud to sám víte lépe, proč se na to ptáte? Co já vím, tak to s tou standardní adresářovou strukturou není žádná sláva. Běžně binárky, které jsou v jedné distribuci v /bin, najdete v jiné distirbuci pod /user/bin atd. Proto má obvykle config volby, kterými je možné určit, kam se které části aplikace mají nainstalovat.

A v neposledni rade, je tady Debian Stable, opet jakasi standardizace toho co ma instalator delat.
Debian Stable je jedna z mnoha distribucí. Vývojář, který vyvíjí na Gentoo nebo Fedoře asi jako výchozí hodnoty zvolí spíš hodnoty ze svého systému – nemá žádný důvod řídit se zrovna Debianem.

Podle tady toho chartu se da rict, ze programator na Fedore me moc zajimat nemusi, protoze nejpopularnejsi je Debian. Secti si prinejmensim Debian a MX Linux (ten je zalozeny iste na Debian stable):

https://www.youtube.com/watch?v=LmoAJR-0oas

Takze ten Debian Stable tak nejak standard je.


A co se tyce adresarove struktury, tak co je mi tom, jestli si neco da executable do /bin nebo do /usr/bin, dyt to je jedno, hlavne ze je to na path, hlavne ze to da C knihovny kam ma, manualove stranky kam ma atp.

/dev je taky vsude +- stejny, zakladni soubor prikazu v /bin taky.

Uz ani nevim co se tu resi... naco ze jsem se to puvodne vlastne ptal? To je jedno. Proste uzavrem to s tim ze nejlepsi distro mam ja.
« Poslední změna: 13. 06. 2020, 17:16:31 od PetrK »

Re:Jak standardne ma fungovat instalovani sw ze zdrojoveho kodu?
« Odpověď #21 kdy: 13. 06. 2020, 18:00:07 »

k3dAR

  • *****
  • 1 912
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Jak standardne ma fungovat instalovani sw ze zdrojoveho kodu?
« Odpověď #22 kdy: 13. 06. 2020, 18:14:09 »

https://www.youtube.com/watch?v=LmoAJR-0oas


Takovehle pouziti statistik distrowatch je hovadina.
Pouziti k tomu anim-grafu je to v poradku, hovadina je to nazvat "Poradi oblibenosti" a nasledne aby "divak" to za to povazoval a vychazel z toho jakkoliv....

@PetrK cisla popularity na distrowatch jsou z principu UPLNE o necem jinem, je to o tom, kolik lidi si o danem distru na distrowatch podiva na informace => nerika to VUBEC nic o tom kolik lidi to distro pouziva, ja uz roku se usadil na Xubuntu na vsech strojich co mam, pouzivam/nepouzivam, spravuju... a NIKDY sem na distrowatch se na Xubuntu nesel podivat, logicky predpokladam ze naproste miniumum (v celkovem poctu) se podiva na distro ktere nema a pak si ho nainstaluje, kolikrat ty si se sel podivat na distrowatch na Debian? ;-)

k3dAR

  • *****
  • 1 912
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Jak standardne ma fungovat instalovani sw ze zdrojoveho kodu?
« Odpověď #23 kdy: 13. 06. 2020, 18:22:16 »
jinak k puvodnim otazkam:
- instalace z src ma fungovat tak ze si sestavis balicek kterej nainstalujes
- pokud ma jit o "nenormalni" vec, tak do /opt
- pokud ma jit o povyseni verze toho co mas tak do /usr resp. tam kam se danej sw dava
- pokud ma jit o neco co sice je o povyseni, ale zaroven se o to budes starat, nebo vic co delas, da se misto balicku pouzit i ciste "make install", ALE kdyz to kompilujes s prefixem /usr/local

u Debian/*buntu/atd pokud chses upravit stavajici v repositari verzi, si zdrojaky a veci pro sestaveni balicku stahnes pres "apt-get source balicek" info napr. https://wiki.debian.org/BuildingTutorial

RDa

  • *****
  • 1 243
    • Zobrazit profil
    • E-mail
Re:Jak standardne ma fungovat instalovani sw ze zdrojoveho kodu?
« Odpověď #24 kdy: 13. 06. 2020, 20:13:46 »
Rekl bych, ze python je v te instalaci nestandardni, protoze ma onen altinstall a verzovane exace.

Nicmene, prave na Gentoo existuje mechanismus prepinani veci, ktere at uz tvurce chtel, ci nechtel aby sli nainstalovat zaroven - eselect. Typicky volba gcc, volba php, volba implementace opengl, javy, a take toho pythonu. Jako uzivatele pokrocile distribuce me nemusi zajimat, jak je spodek vyresen, nainstaluji balicek zadane verze (nebo i verze -9999 tazene z gitu autora) a pak prepinam verze systemovou utilitou:

Kód: [Vybrat]
$ eselect python list
Available Python interpreters, in order of preference:
  [1]   python3.6
  [2]   python2.7
  [3]   python3.7 (fallback)

$ eselect java-vm list
Available Java Virtual Machines:
  [1]   icedtea-bin-8
  [2]   oracle-jre-bin-1.8  system-vm user-vm
  [3]   sun-jdk-1.6
  [4]   sun-jre-bin-1.6

Konkretne u pythonu je to pak reseno pres program python-exec{2,3}, ktery pak vybira konkretni interpret dle nastaveni techto preferenci a mozna i jinych pravidel.. nezkumal jsem to do detailu. Jine veci se treba prepinaj zmenou symlinku, a dalsi jen zmenou environment promennych. Hlavne ze to nemusim nijak resit, pac od toho je mit chytre distro :)

Pokud by se melo jednat o experimentalni verze programu ze zdrojaku, sel bych spis cestou ./configure --prefix /home/jouda/bin/name-ver/ nez abych resil, by to nahodou neco nepodelalo v systemu.

Jestli se jedna o system, kde vam nevadi poskozeni instalace (typicky beh ve virtualce, s moznym navratem k puvodne bootovane verzi zahozenim zmen na discich), tak si udelejte make jak chcete... pokud jde o kriticky stroj / vas workstation, tak si to dejte do /home a nikam jinam, kdyz uz to delate rucne, bez vedomi package managera. Vubec nechapu potrebu si neco instalovat rucne.. kdyz staci vybrat spravny repozitar (treba od fanouska co jede taky nejnovejsi verze, nebo je ma specificky opatchovane).

« Poslední změna: 13. 06. 2020, 20:16:14 od RDa »

Re:Jak standardne ma fungovat instalovani sw ze zdrojoveho kodu?
« Odpověď #25 kdy: 13. 06. 2020, 21:54:24 »
RDa:
1. Ten eselect ti vsak stejne muze udelat system nestabilni. Nemuzes udelat eselect z exe python co bude odkazovat na python 3. K cemu ti ten eselect potom je? Ani jednotlive verze pythonu 3.x nejsou 100% kompatibilni. Nejak nechapu pointu toho prikazu, stejne ti to muze rozbit system.
2. Tak to mi nejake deb balicek tech fanousku pro Python ukaz, ja jsem nic nenasel.
« Poslední změna: 13. 06. 2020, 21:56:30 od PetrK »

Re:Jak standardne ma fungovat instalovani sw ze zdrojoveho kodu?
« Odpověď #26 kdy: 13. 06. 2020, 22:04:04 »
Btw, ono neni problem sehnat deb balicek s pythonem 3.8, problem je, aby to intalovalo ten balicek paralelne a neprepsalo to python3 symlink na python3.7. To je to. Protoze treba ted SID Debian ma postaveny repozitar nad python3.8 a odkazuje se na nej pres python3 symlink, ale to neni neco co chci ja, to by mi rozbilo system.

Re:Jak standardne ma fungovat instalovani sw ze zdrojoveho kodu?
« Odpověď #27 kdy: 13. 06. 2020, 22:16:14 »
Btw Python se nainstaloval do bin dobre jak ma:

Kód: [Vybrat]
$ whereis python3.8
python3: /usr/bin/python3 /usr/bin/python3.7m /usr/bin/python3.7 /usr/lib/python3 /usr/lib/python3.7 /etc/python3 /etc/python3.7 /usr/local/bin/python3.8 /usr/local/bin/python3.8-config /usr/local/lib/python3.7 /usr/local/lib/python3.8 /usr/include/python3.7m /usr/share/python3 /usr/share/man/man1/python3.1.gz

Je v /usr/local/bin/python3.8

Kdezto systemovy python je v

/usr/bin/python3.7

Takze ok.

Re:Jak standardne ma fungovat instalovani sw ze zdrojoveho kodu?
« Odpověď #28 kdy: 13. 06. 2020, 23:48:44 »
Místo "make install" dělal a instaloval "checkinstall" debianí balík. Ale obávám se, že ten projekt nějak přiumřel. Nevím, jestli je něco takového.
Na přehazování verzí pythonu je pyenv.
(vím, že neodpovídám na Tvou otázku, promiň, neb nevím - a marně čtu to vlákno, jestli to někdo zodpoví)

k3dAR

  • *****
  • 1 912
  • porad nemam telo, ale uz mam hlavu... nobody
    • Zobrazit profil
    • E-mail
Re:Jak standardne ma fungovat instalovani sw ze zdrojoveho kodu?
« Odpověď #29 kdy: 14. 06. 2020, 00:21:38 »
Místo "make install" dělal a instaloval "checkinstall" debianí balík. Ale obávám se, že ten projekt nějak přiumřel. Nevím, jestli je něco takového.[...]
viz link tam => debuild