czerwo pisze:
chcialem zbudowac pakiet po raz n-ty ale jak zwykle mam ten sam problem co zawsze a mianowicie:
przypuscmy ze mamy katalog /test a w nim
plik1
plik2
plik3
plik4
i teraz moj pakiet zawiera:
plik2
plik6
plik7
robie pakiet ale podczas instalacji dostaje ze mam konflikt miedzy plikami no wiec robie w pakiecie ze ma przed instalacja usunac plik2, nadal jest problem wiec plik2 w moim pakiecie kopuje ze zmieniona nazwa plik2x po czym jak zostanie usuniety plik2 to zmieniem nazwe plik2x na plik2.
Czy jest to jedyne rozwiazanie?? Jak zrobic aktualizacje pakietow jezeli pliki sie powtarzaja?? wymusic najp[ierw usuniecie wczesniejeszczego pakietu a pozniej instalowac nowy?? Jak to rozwiazac??
Oj, Czerwo... kilka razy musiałęm przeczytać zanim zrozumiałem (a i dalej nie jestem 100% pewien że zrozumiałęm dobrze)... może zamiast jakichś sytuacji przykłądowych podaj konkretnie o co ci chodzi...
Generalnie do rozwiązywania tego typu problemów jest zmienna conflikts, dajesz w niej nazwę pakietu z którym Twój jest niezgodny. Pacman, napotykając tę zmienną pyta co należy zrobić z konfliktowym pakietem.
Zabawy ze zmianami nazw podczas inastalacji/deinstalacji są raczej bez sensu ponieważ:
- jeśli nazwy plików są identyczne to pacman wykryje to
zanim będzie szansa na wykonanie scriptu instalacyjnego
- jeśli nazwy są różne to zmiana nazwy przez script instalacyjny namiesza w bazie pakietów i w efekcie w bazie dany plik będzie należał do innego pakietu niż w rzeczywistości. Upgrade każdego z tych pakietów doprowadzi do problemów - jeśli upgradujesz pakiet pierwotny to podmieni plik pochodzący z twojego pakietu, jesli podmienisz twój pakiet to prawdopodbnie konfliktowy plik zostanie nadpisany przez script instalacyjny...
W każdej sytuacji nie jest to dobre rozwiazanie...
Generalnie jeśli takie kłopoty występują należałoby przemyśleć jeszcze raz budowę obu pakietów.... Domyślam się, że chodzi tu o plik /etc/iptables/firewall, jeśli tak to najlepszym rozwiązaniem wydaje mi się zastosowanie jakichś unikalnych nazw, a następnie po wygenerowaniu regułek, załadowanie ich do pamięci i zapisanie za pomocą
/etc/rc.d/iptables save do pliku
/etc/iptables/iptables.rules.
W NND script startowy iptables sprawdza istnienie tego pliku i jeśli go znajdzie to używaz
zamiast standardowego wbudowanego firewalla.
Dla użytkownika różnicy praktycznie nie ma żadnej. No może tylko taka, że zamiast edytować plik z regułkami musi załadować nową regułkę do pamięci i zrobić
/etc/rc.d/iptables save żeby mieć ją ładowaną zawsze podczas startu systemu/firewalla.