Ma a gerrit-ről volt szó ebéd elött egy megbeszélésen, az egyik srác itt keményen próbálja betolni a fedora fejlesztői infrastruktúrára, hogy lehessen használni, de nagyon nehéz dolga van. Az előadás második felében tulajdonképpen egy vita bontakozott ki, hogy miért ilyen rohadtul nehéz java szoftvereket a linux disztrókba bejuttatni. Annyit elmondtak, hogy nekik újra kell fordítaniuk a forrásból a szoftvert. Ugyanaz a jar/war file lesz a végeredmény, de nekik akkor is újra kell fordítaniuk. Ezzel eleve van problémájuk, mert a GWT-hez van valami speciális dependency, amit alig tudnak megoldani. - kicsi flame szál a gonosz gúgliról. Aztán meg a fedorának nincs is policy-je a java war fileok telepítésére. Szóval egyhamar nem is lesz ilyen.
No eddig az, hogy a linuxosoknak mi a problémájuk a java programokkal. Nézzük csak nekem mi bajom van a linux-szal, annak ellenére hogy önként évek óta semmi mást nem hajtok...
A linuxokba örökké idióta kiherélt java futáskörnyezeteket telepítenek. A gcj egy tragédia, körülbelül semmi sem működik korrekten vele, az icedtea kicsit jobb, de konkrétan pár jboss termék is anyázik rá, ha azon indítják el. Egy új gépet mindig úgy kezdek használni, hogy leszedek egy használható sün/oracle jdk-t és mavent. Az már nem is érdekel érdekel , hogy yum-mal vagy apt-tal telepítsek jetty-t.
A java úgy indult el, hogy egy teljesen oprendszertől föggetlen nyelv és futáskörnyezet. Persze a linuxos rendszergazdák jobb szeretnének oprendszerbe integrált csomagokkal foglalkozni. A java viszont még mindig oprendszerfüggetlen és a szoftverfejlesztők nem igazán foglakoznak azzal, hogy akármilyen operációs rendszer vagy disztribúcióhoz csomagolják a cuccukat. Valljuk be elég sok meló lenne solarisra, debianra, ubuntura, fedorára ésatöbbi linuxra is külön csomagokat legyártani.
Kicsit megpróbálok elmerülni a rpm/deb packagelés és a linuxerek lelki világába, hátha meglátom a fényt az alagút végén. Ehhez valószinűleg most vagyok a legjobb helyen :-)
Egyébként visszatérve a gerritre: hogy lehet hogy GWT-vel csinálják és mégis ilyen szarul néz ki?
7 beszólás:
A MS-t annó jól beperelték, amiért "kiherélt" Java-t akart bundle-olni az oprendszerbe. A Linuxra ez miért nem vonatkozik?
Én is azt nem értem, hogy minek Java lib halmaz egy linux distróba? Ahogy írod, disztrófüggetlen a dolog. Csak a baj van azzal ha becsomagolod... A legtöbb alalmazást egybe minden jarral együtt odacsapni egyszerűbb és logikusabb. Utálom ha egy linux alá valaki elkezdi felhúzni a java dolgokat. Epic Failure!
Inkább ilyen külön Java quick install packek kellenek oprendszerenként, repó függetlenül, esetleg külön repóba, csomagolásfüggetlen infrastruktúrával, és ahhoz készíteni egy installert RPM-be, DEB-be.
Tudom, hogy mostanában nem kacsintgathatsz másfelé, de én az ubuntu-hoz adott sun-java-6-jdk csomaggal tökéletesen meg vagyok elégedve. Fejlesztésre kiválló, és csak a partners repot kell bekapcsolni, ráadásul integrálódik, tehát az update-alternatives gyönyörűen kezeli. Éles szerveren visont nem alkalmaznám, ott az alkalmazást azon a verzión futtatjuk, amin ki lett tesztelve (tudom fejleszteni is azon kéne, de sokszor a lustaság nagy úr), tehát ott minden appnak majdhogynem saját Java-ja van. OpenSuset használok még. Ott ugyan van Java repó, de pl a 12.1-es Java repojában egy darab jdk sincsen, úgyhogy oracle.com letölt, van rpm install, ami szépen fel is telepíti. Ami macera, hogy az update-alternative-hez kézzel kell hozzáadni, viszont, ha a ~latest symlinkre adja hozzá az ember nyugodtan akármikor kicserélheti az éppen tetsző verzióra, csak a symlinket kell piszkálni.
Mi az hogy nem kacsintgatok masfele? :) siman benne van a pakliban, hogy atnyergelek ubuntura. Csak akkor par hetig megint nem fogom tudni hogy mi hol van.
Ez pont ide vág:
http://www.sonatype.com/people/2011/11/bringing-java-and-linux-together-on-the-way-to-continuous-live-deployment/
Amúgy a blogger az előbb ezt dobta:
Kérésedet rendszerünk nem tudta teljesíteni.
Rendszerünk az alábbi hibákat találta:
Input error: Memcache value is null for FormRestoration
Tehát boccs, ha kétszer megy.
@Koczka: A Linux disztrok nem passziobol nem csomagolnak Sun/Oracle JDK-t, hanem mert nem tehetik meg, a licenc miatt. Amig a Sun-e volt a cucc, addig ugy nezett ki, hogy lehet majd, par disztroverzio ki is jott igy, aztan az Oracle megint jo ravert a kis kezekre, megint ki kellett venni.
Szoval lehet karikas ostorral csapkodni az Oracle hatat, hogy engedje mar be vegre a normalis Java platformot, hogy az igazabol platformfuggetlen legyen.
@Paul: viszont azzal is baj van, ha egy rendszeren belul egy adott libnek otfele verzioja van. Mert egy disztro nem epithet arra, hogy majd ugyis kulonbozo classloaderek toltik be, mert mi van, ha megse. Ilyenkor jon a siras-rivas, meg a bugok halmozasa. Mert persze az OSS Java fejlesztok nagyon kis resze koveti le a dependency-kben a verziovaltozasokat.
Már jó ideje GPL2 + Classpath exception-ös az OpenJDK, előtte is lehetett szabadon terjeszteni, szóval első sorban nem az Oracle/Sun-t kell szidni, hanem a disztribució fejlesztőit, szvsz.
Amúgy érdekes, hogy a python cuccokat pl minden probléma nélkül tudják csomagolni a java-sokat meg nem?
Megjegyzés küldése