Internet Info, s.r.o. Lupa Měšec Podnikatel Root Zdroják DigiZone Slunečnice Vitalia TopDrive KupDnes Navrcholu NovýTarif Dobrý web Weblogy Woko Jagg Computer.cz SK: MojeLinky

Hlavní navigace

Názory k článku
GNU - pomoc při tvorbě programů: Přehled

Petr Mach
Petr Mach (neregistrovaný)
30. 1. 2001 0:50 Nový

gettext

celé vlákno

Je gettext standardni cesta pro vytvareni vicejazykovych programu?

Michal Krause
Michal Krause (neregistrovaný)
30. 1. 2001 12:28 Nový

Re: gettext

celé vlákno

Dalo by se říct, že ano. Výjimky existují, ale já osobně bych dnes nic jiného nepoužil.

Mikulas Patocka
Mikulas Patocka (neregistrovaný)
30. 1. 2001 19:46 Nový

Re: gettext

celé vlákno

Moje zkusenosti s gettextem jsou dost mizerne. gettext ma byt udelan tak, aby sam detekoval pritomnost gettextu v libc a pripadne pouzil nahradu distribuovanou s programem, ale moc to nefunguje. Navic configure script pro gettext obsahuje bug, ze i kdyz na systemu nejsou pritomny prikazy msgfmt & spol, tak se je v makefile snazi volat.


Vysledek je asi takovy, ze gettextovany program nejde prelozit jinde, nez na linuxu s libc6 a gettextem. Links nejakou dobu gettext pouzival, ale pak jsem ho vyhodil, protoze problemy s portabilitou byly velke.


O natvrdo zakodovanych cestach k /bin/sh pripadne provadeni prikazu 'ln' v gettextu snad ani nema cenu mluvit - neunixove systemy jsou proste ignorovany.


Dalsi velka neprijemnost gettextu je neschopnost provadet prekodovani znakovych sad nebo aspon prekodovat pismena s hacky a carkami na odpovidajici ascii znaky. Pokud jste nekdy pristupovali na pocesteny linux z terminalu, jehoz znakova sada nebyla 8859-2, tak vite, o cem mluvim...

Jirka
Jirka (neregistrovaný)
30. 1. 2001 8:13 Nový

Dalsi dokumentace v cestine

celé vlákno

http://docs.zf.jcu.cz/automake/ . . . . Automake, Autoconf a Libtool - Nastroje pro konfiguraci programu

Tomas Zellerin
Tomas Zellerin (neregistrovaný)
30. 1. 2001 8:53 Nový

config.h.in, licence

celé vlákno

Jen male upresneni, config.h.in neni generovan autoconfem (pro ten to je naopak zdrojak), ale muze byt generovan autoheaderem z dalsich souboru (acconfig.h).

Jeste otazka k licencovani - nekde jsem se docetl, ze autoconf a automake mohou byt pouzivany i pro komercni programy (vystup neni GPL), zatimco GNU gettext (protoze je GPL, nikoliv LGPL) lze pouzit jen v GPL programech (zhruba). Pochopil jsem to dobre?

Jaromir Dolecek
Jaromir Dolecek (neregistrovaný)
30. 1. 2001 23:25 Nový

Re: config.h.in, licence

celé vlákno

IIRC je to tak. Momentalni vyvojova verze NetBSD obsahuje knihovnu gettext licencovanou pod BSD licenci, tj. tuto knihovnu je mozno pouzivat zcela volne k jakemukoli ucelu bez 'nakazeni' GPL. Tato knihovna byla napsana v ramci lokalizacniho projektu Citrus.

Jaromir Dolecek
Jaromir Dolecek (neregistrovaný)
30. 1. 2001 23:37 Nový

Re: config.h.in, licence

celé vlákno

Oprava: s/knihovnu gettext/knihovnu libintl/

Miloslav Ponkrác
Miloslav Ponkrác (neregistrovaný)
30. 1. 2001 12:30 Nový

Aha

celé vlákno

Pokud je pravda, ze vystup gettextu nelze pouzivat v komercnich programech, tak si delam svuj vlastni system pro vicejazycne veci.

Nekdy mi pripada, ze nektere dobre standardy Linuxu musi nutne komercni svet ignorovat kvuli tomu, ze nemuze z pochopitelnych duvodu akceptovat odkryti vsech svych zdrojovych kodu, jak to pozaduje GPL. Konecne me nikdo natuknul, abych pochopil, proc se dobre standardy z Linuxu prilis nesiri do komercniho sveta. Je to smutne.

Jan Dvorak
Jan Dvorak (neregistrovaný)
30. 1. 2001 19:51 Nový

Re: Aha

celé vlákno

Stadrady GNU (linuxu) se nesiri protoze jsou psany jako rozsireni GNU systemu (extensions). Pokud mate na mysli standardy pouzivane obecne v UNIXovem svete jako je SystemV nebo POSIX, tak ty se siri :) Jinak standardy nemaji s problematikou komercnosti programu nic spolecenho. Pokud narazite na problematiku GPL vs. LGPL pak by bylo vhodne si precist http://www.gnu.org/philosophy/why-not-lgpl.html

proc je nekdy vhodnejsi pouzivat prave GPL.

Jaromir Dolecek
Jaromir Dolecek (neregistrovaný)
30. 1. 2001 23:34 Nový

Re: Aha

celé vlákno

IMHO neni eticke nutit cizi autory k pouzivani GPL. Jedine, co GPL podporuje, je duplikace usili - kod pod GPL je pro komunitu navzdy ztracen, pokud je zajem, aby byl opravdu volny (a ne jen 'volny pro freeware').
Mimochodem, BSD systemy obsahuji knihovny editline, ktera
dela neco podobneho jako GPL readline. Pod NetBSD editline
ma dokonce readline emulacni vrstvu - podporuje pomerne velkou mnozinu funkcni a promennych readline, takze aplikace napsane pro readline se misto libreadline slinkuji s libedit a vse funguje (napr. psql, mysql client, bc, gdb, ....)
Alternativy existuji. Neni treba nechavat se svazovat GPL, kdyz je k dispozici volny software.

Jaromir Dolecek
Jaromir Dolecek (neregistrovaný)
30. 1. 2001 23:49 Nový

Re: Aha

celé vlákno

Jeste neco. Bohuzel GPL nebrani tomu, kvuli cemu byla napsana. Napr. stale existuji pouze binarni kernel moduly pro Linux, pouze binarni drivery, pouze binarni komercni aplikace pro Linux atd. Ja osobne moc smyslu v GPL nevidim - rika, ze davam software sice 'volne' k dispozici, ale jen nekomu ? Me to pripada divne. IMHO GPL poskozuje freeware komunitu svym pristupem 'kde je bajt z GPL kodu, to musi byt pod GPL a zdarma'. Lidem kterym zalezi na opravdove obecne pouzitelnosti kodu a na tom, aby byl kod opravdu volny, tak GPL kod pouzit nemuzou - nakazil by se GPL a oni by _museli_ zmenit licenci na GPL.

Miloslav Ponkrác
Miloslav Ponkrác (neregistrovaný)
31. 1. 2001 2:17 Nový

Re: Aha

celé vlákno

Já abych řekl pravdu, neberu texty z gnu.org příliš vážně. Po prostudování tohoto webu jsem došel k názoru, že je příliš jednostranně zaměřen a trochu mi připomíná spíše politickou manipulaci, než zralou úvahu. Ne vždy, ale hodně často. Ani bych nečekal od tohoto webu něco jiného, než věty ve smyslu GPL je nejlepší, GPL je skvělý, používejte GPL. Patří to tak nějak k tomu, aby si propagoval své.

Považuji za užitečné, aby kód jádra Linuxu byl GPL a mnoha základních utilit včetně překladače jazyka C, ovladačů, apod.. Ale pro mnoho projektů je lépe se GPL vyhnout, jde-li Vám o skutečné rozšíření produktu. To je můj názor. Hodně mě v tom utvrzuje to, že mnoho projektů zavrhuje GPL, a kloní se ke svým licencím, mnohdy méně restriktivním. Třeba Apache, PHP, apod.. Asi si to tak nějak myslí podobně.

Jaromir Dolecek
Jaromir Dolecek (neregistrovaný)
30. 1. 2001 23:28 Nový

Re: Aha

celé vlákno

Pouzijte libintl z NetBSD - knihovna byla nedavno reimplementovana a je pod BSD licenci, tj. volne k dispozici k jakemukoli pouziti.

Jan Dvorak
Jan Dvorak (neregistrovaný)
30. 1. 2001 19:58 Nový

Doplneni

celé vlákno

jenom male doplneni k textu - zminovane 'vycisteni' (smazani configure cache a vygenerovanych souboru) se da provest pomoci targetu 'distclean' (make distclean) nebo 'dist' (coz vytvori .tar.gz balik s kompletnim 'vycistenym' projektem)

Jaromir Dolecek
Jaromir Dolecek (neregistrovaný)
30. 1. 2001 23:20 Nový

BSD make(1) system je mnohem sofistikovanejsi

celé vlákno

Typicky makefile pro BSD make vypada takto:

PROG= sort
SRCS= append.c fields.c files.c fsort.c init.c msort.c sort.c

.include <bsd.prog.mk>

Tento makefile zkompiluje jednotlive .o soubory, sestavi
program sort a 'zkompiluje' jeho manovou stranku do *.cat1.
'make install' pak program jeho manovou stranku nainstaluje
na jeho misto - pokud je tak nastaveno v preferencich,
manovou stranku i zkompresuje.

Veskera logika kompilace napr. .o z .c nebo ziskani
.c z .y (yacc gramatiky), 'kompilace' manpages nebo
generovani *.info z *.texi je v systemovych make 'knihovnach'
v /usr/share/mk. V Makefile je tak jen to podstatne, nestale
opakujici cast je na jednom centralnim miste, sdilena
vsemi Makefile soubory.

IMHO je to elegantnejsi pristup nez muset kvuli kazde
zmene v 'globalnich' pravidlech muset pregenerovavat
cely kompilacni strom, pri tom zjistit ze nektery z auto*
nastroju uz mam prilis stary a musim upgrejdovat atd ;-)
Vim o cem mluvim, takhle jsem napr. sveho casu 'zapasil'
s KDE, kde jsem si prilezitostne upravoval nejaka drobnosti.

Automake jiste mechanizuje spoustu prace. Tato prace ale s BSD make neni vubec treba.

Mikulas Patocka
Mikulas Patocka (neregistrovaný)
1. 2. 2001 19:33 Nový

Re: BSD make(1) system je mnohem sofistikovanejsi

celé vlákno

No jo, ale problem je v tom, ze program pouzivajici BSD make nepujde prelozit jinde, nez na BSD. Takze clovek pak stejne bude muset psat tech Makefilu nekolik - pro kazdy klon Unixu - a udrzba programu bude mnohem komplikovanejsi.


Programy pouzivajici automake/autoconf jdou prelozit na vsech Unixech (a nejen na nich - i na OS/2 nebo Win32). Udajne configure script chodi i na historickem Unixu v7 na PDP11.

Petr Mach
Petr Mach (neregistrovaný)
31. 1. 2001 0:27 Nový

K slibenemu pokracovani

celé vlákno

Do budoucna bych na rootu uvital nejaky opravdu solidni clanek o tom, jak psat dobre lokalizovatelne programy.

Izak
Izak (neregistrovaný)
31. 1. 2001 14:37 Nový

GNU

celé vlákno

GNU licence nbrani neco napsat pod linuxem -pouzit gcc Make ..
udelat binarky a ty komercne prodavat.

On pouze brani tomu ze vezmete gcc udelate v nem nejakou malou zmenu a pak to gcc budete prodavat (ale podporu prodavat muzete, ale musite to upravene gcc dat zdarma vcetne zdrojaku)

takze licence nebrani vyvijet a prodavat, ale ukrast hotovy program a prodavat ho. (takze napr. nekdo muze dat na svou starnku gcc a prodavat k nemu support) ..... takze napr. se nemusite bat ze kdyz pouzijete QT, nebo GTK tak tento program musi byt GNU ... nemusi.

Aspon tak to chapu ja

Beda Kosata
Beda Kosata (neregistrovaný)
31. 1. 2001 17:49 Nový

Re: GNU

celé vlákno

Je to presne tak (alespon podle meho nazoru). Klidne muzete psat komercni programy, ktere pouzivaji GPL knihovny a prodavat je. Pokud ale chcete pouzit primo existujici kod programu a zalozit na nem neco jineho, pak vas GPL omezuje prave na pouziti GPL.
Prijde mi to jedine fer. Kdyz chci pouzit neci praci je to nejmensi, ze budu respektovat autorovy podminky, ktere k tomu dal. A nebo si to napisu sam. btw - bez GNU by sance na vyuziti ciziho kodu byla daleko mensi a museli bysme si napsat vsechno.

Petr Mach
Petr Mach (neregistrovaný)
31. 1. 2001 23:05 Nový

Re: GNU

celé vlákno

Ta knihovna, to je taky existujici kod programu. Podle me, kdyz je knihovna sirena pod GPL, tak v komercnim softu pouzit nejde. Pouzit jdou jen knihovny, ktere se siri pod licenci LGPL (library GPL), ktera to povoluje.

Beda Kosata
Beda Kosata (neregistrovaný)
1. 2. 2001 8:31 Nový

Re: GNU

celé vlákno

Mate samozrejme pravdu. Myslel jsem, ze je to naopak. Clovek se porad uci.
GPL skutecne pouziti knihovny komercnim programem neumoznuje, zatimco LGPL ano.

Jaromir Dolecek
Jaromir Dolecek (neregistrovaný)
5. 2. 2001 21:16 Nový

Re: GNU

celé vlákno

Operujete s tim, ze pokud nekoho k necemu neprinutite (v tomto pripade k vydani kodu), tak to neudela. Tak to ale nefunguje. Sdilet zdrojovy kod je proste z vice duvodu vyhodne i kdyz k tomu nic cloveka nenuti. Ja osobne mnohem radsi delam veci dobrovolne.

Tomas Zellerin
Tomas Zellerin (neregistrovaný)
1. 2. 2001 8:39 Nový

Re: GNU

celé vlákno

GPL!=LGPL. Kdyz jsem naposledy kontroloval Gtk, byl pod LGPL.Mimochodem, vzpominam si na "manifest" okolo readline knihovny, ve kterem se explicitne tvrdilo, ze je pod GPL proto, aby ji nebylo lze pouzit pod proprietarnimi programy s cilem tyto otevrit, a ze se to v nejmene jednom pripade povedlo

Radim
Radim (neregistrovaný)
31. 1. 2001 17:38 Nový

jak v podadresarich?

celé vlákno

Je nejaka rozumna moznost jak obnovit Makefile pouze v jednom podadresari (vetsiho projektu) po zmene Makefile.am?

Tomas Zellerin
Tomas Zellerin (neregistrovaný)
1. 2. 2001 8:25 Nový

Re: jak v podadresarich?

celé vlákno

Ano; pokud se dobre pamatuji,tak je to nastavene tak, ze to funguje "samo" - pokud zmenim Makefile.am a napisu make cokoliv, tak se jako prvni vec updatuje Makefile. Takze detaily viz vytvorene Makefile ;)

Zasílat nově přidané příspěvky e-mailem