Nu aveam ce face zilele astea si aveam mai demult un plug-in de pidgin care nu functiona asa cum as fi vrut eu. Plug-in-ul se numeste session save si este util pentru ca tine minte toate taburile / ferestrele deschise si le restaureaza in cazul unei crapari a sistemului. Acelasi lucru il face si in momentul in care pidgin isi termina executia cu cod 0 (adica, decideti sa dati Quit, restart,…). Partea care cauzeaza probleme este ca la pornire nu numai ca isi incarca acele taburi, dar mai si incarca portiuni din convorbire. Pe langa faptul ca acest lucru este complet inutil si redundant (exista plug-in-ul history care se ocupa cu exact acest lucru), liniile din convorbire se sterg in momentul in care se inchide pidginul cu fereastra respectivului user inchisa. Nu s-a gandit nimeni la faptul ca unii oameni vorbesc foarte mult unii cu altii si ca nu mai inchid acea fereastra. Daca unul din ei foloseste acest plug-in intr-o saptamana se va trezi cu foarte mult spam in fereastra, cauzat de acest plug-in.
Acum ca stiti subiectul, trecem la predicat. Nu aveam ce face zilele astea, fiind in pauza de hfall dar inca in perioada de practica. Asa ca m-am gandit sa rescriu acest plug-in. Iau codul sursa al omului si constat cu stupoare ca nu avea comentarii deloc si ca era si scris destul de aiurea. Ma mai documentez eu pe net si aflu ca trebuie sa lucrez in linux sau sa-mi pun cygwin. Cum nu vroiam cygwin o tai in linux. Constat din nou ca nu-mi functioneaza castile. De vineri pana duminica seara incerc sa rezolv problema asta. Si reusesc la un moment dat. Sa instalez toate kernel-urile disponibile printr-o singura comanda. Si apoi am aflat ca oricum nu exista solutie, la fel ca la placa video. Next time I’ll be more carefull when chosing machines.
Am reinstalat kubuntu si m-am pus luni pe debug. Dupa o oarecare deplosnitare am inteles cum vine codul si ce fac functiile alea. Comentez cateva bucati si compilez. Primul .so obtinut fara a fi cerut de altcineva. Testez in pidgin for kubuntu si sunt mirat ca functioneaza. Era ora 20.
Ma apuc sa fac un cross-compile ca sa obtin si dll-ul pt windows. Pe la 23 realizez ca nu pot face chestia asta in linux, asa ca ma intorc la msw si instalez cygwin. In acest moment noul plug-in functioneaza perfect.
Cat am stat pe linux am mai completat si documentatia despre virtualizare, care este aproape de final acum.
Si sa nu ma mai lasati sa fac upgrade dintr-o singura comanda. Decat daca vreti sa patiti asta.
PS: to myself: sa nu uit data viitoare de
i586-mingw32msvc-gcc

