Preskoči na vsebino

Orodja za posodabljanje repozitorijev

pmirepos_update.py klonira ali posodobi repozitorije Odoo za eno različico iz config/pmisetup.conf. Kataloge obdeluje vzporedno in zapiše različici prilagojen dnevnik sinhronizacije v nastavljeno mapo repo_sync_logfile.

Vmesnik

Možnost Pomen
--version VERSION Obvezna pripona konfiguracijskega razdelka, npr. 18 za [version_18].
--config PATH Konfiguracija; privzeto /srv/pmiverse/_pmiconfig/config/pmisetup.conf.
--jobs N Vzporedni delavci; privzeto 8.
--no-i18-deploy Posodobi repozitorije brez namestitve prevodov; za lokalno avtorstvo.

Zaženite iz korena repozitorija ali uporabite izrecno pot:

python3 scripts/update/pmirepos_update.py --version 18

Možnost --root ne obstaja. Ciljni koreni, veje, katalogi in dnevniki izhajajo iz izbranega konfiguracijskega razdelka.

Vsi posodabljalniki, tudi ohranjene različice pod 14/ do 18/, sprejmejo -h in --help brez nalaganja konfiguracije, ustvarjanja dnevnikov ali klicanja Git. Izboljšani posodabljalnik Odoo 18 sprejme --no-i18-deploy; druge različice ne sprejemajo operativnih argumentov. Neznani argumenti so zavrnjeni. Obstoječe vedenje brez argumentov ostane enako. Dopolnjevanje Bash opisuje integracija CLI.

Delovanje in varnost

Za vsak vnos kataloga orodje klonira nastavljeno vejo ali osveži obstoječi repozitorij, po potrebi preklopi na nastavljeno vejo in izvede pull samo s hitrim premikom naprej. Skupine določajo ciljne podmape pod project_dir.

To je omrežna operacija s pisanjem v zunanje repozitorije; spremeni lahko veje in delovne kopije vseh izbranih virov. Pred uporabo preglejte razdelek pmisetup.conf in vse povezane kataloge CSV, ohranite nepovezane spremembe ter pridobite odobritev sinhronizacije. Načina za suhi zagon ni.

Razdelki obstajajo za različice 14–18, vendar se ključi in poti katalogov razlikujejo. Možnosti ali kataloga ene različice ne predpostavljajte za drugo.

Namestitev storitev Odoo in vzdrževanje modulov baz opisujejo navodila storitev Odoo 18. Posodobitev izvorne kode sama ne nadgradi modulov v bazah.

Za različico 18 splošni in izboljšani posodabljalnik po zaključku vseh delavcev samodejno zaženeta deploy --apply iz posodobljenega pmis-i18n-extra. Uporabita <project_dir>/venv/bin/python in dejansko pot prevodov, izbrano v katalogu, pri čemer ohranita lastno postavitev skupin. source konfiguracije prevodov mora kazati na OCB, posodobljen v istem zagonu. Oba zahtevana repozitorija morata biti uspešno posodobljena.

Pred posodabljanjem oddaljenih instanc potrdite in objavite celotno mapo translations/generated/, vključno z manifest.json in build.json. Namestitev kopira preverjene zgrajene artefakte brez oddaljenega usklajevanja ali gradnje. V interpreterju zbirke morata biti že na voljo Python 3.12 ali novejši in polib. Manjkajoči ali zastareli artefakti, neujemanje izvornih katalogov, konflikti lastništva cilja in neuspešni ukazi se poročajo kot napaka namestitve.

Namestitev se izvede ob vsaki uspešni posodobitvi obeh repozitorijev, tudi če se reviziji ne spremenita, zato poznejši zagon ponovi neuspešno namestitev. Nespremenjeni izhodi se ne prepisujejo. Če repozitorija prevodov v izbranih katalogih ni, se namestitev preskoči. Če je izbran, OCB pa manjka, je dvoumen ali ena posodobitev odpove, se namestitev zavrne. Napaka repozitorija ali namestitve vrne neničelno kodo. Uspešne posodobitve Git se ob neuspešni namestitvi ohranijo; skupnega povratka med repozitoriji ni. Ni uvoza v bazo, nadgradnje modulov ali ponovnega zagona storitev.

Za lokalno avtorsko instanco nastavite Parameters na --no-i18-deploy v konfiguraciji zagona PyCharm za enhanced_pmisuite18_update.py. Repozitoriji se še posodobijo, namestitev prevodov in preverjanje artefaktov pa se preskočita. Napake posodobitev ostanejo neničelne. Pri splošnem posodabljalniku uporabite --version 18 --no-i18-deploy. Na oddaljenih instancah možnost izpustite za samodejno namestitev. Lokalno izvedite sync, preglejte/uredite kataloge in izvedite build, nato potrdite in objavite celotne artefakte prevodov.

Posodabljalnik za Odoo 18

18/enhanced_pmisuite18_update.py bere [version_18] iz config/pmisetup.conf. Katalog PMIVerse vključuje pmis-i18n-extra, zato običajna posodobitev klonira ali posodobi tudi <project_dir>/repos/pmiverse/pmis-i18n-extra na nastavljeni veji (18.0). Posebna koda ali dodaten ukaz nista potrebna.

Ta različica uporablja git fetch, git checkout in git pull; v nasprotju s splošnim posodabljalnikom ne zahteva pull samo s hitrim premikom naprej. Pred odobreno sinhronizacijo ohranite in potrdite lokalne popravke prevodov. Sam dodatek kataloškega vnosa ukaza ne zažene.

Gradnja i18n_extra sodi na avtorsko instanco; posodabljalnik samodejno namesti potrjeni izhod. Aktivacija/uskladitev prevodov v bazah ostaja ločen vzdrževalni korak, opisan v README tega repozitorija in navodilih storitev Odoo 18.

Posodobitev samo poti dodatkov Odoo

update_addons_path.py privzeto kopira [options] addons_path iz templates/config/odoo18/pmisuite18.conf tega repozitorija v /srv/pmiverse/_pmisuite18/config/pmisuite18.conf:

scripts/update/update_addons_path.py --dry-run
scripts/update/update_addons_path.py

Drugi obstoječi datoteki izberete z --source PATH in --target PATH. Zamenjajo se samo nastavitev in njene večvrstične nadaljevalne vrednosti. Druge nastavitve, komentarji in oblikovanje ostanejo bajtno enaki; ohranijo se konci vrstic, dovoljenja in lastništvo cilja. Simbolnim povezavam sledi do obstoječega cilja. Manjkajoči, neveljavni, prazni, podvojeni, isti in trdo povezani cilji pisanja so zavrnjeni. Storitev se ne zažene ponovno. Potrebna sta Python 3 in pravica pisanja v ciljno mapo. Predogled ne izpiše konfiguracijskih vrednosti in ne ustvari datotek.

Licenca

Copyright (c) 2025 LUXIM d.o.o. — Part of PMISuite.