tele Napisano Lipiec 29, 2014 Zgłoszenie Share Napisano Lipiec 29, 2014 Zbudowalem paczke, instaluje # rpm -ivh libgcrypt20-1.6.1-1.rpm Preparing... ########################################### [100%] file /usr/bin/dumpsexp from install of libgcrypt20-1.6.1-1.i586 conflicts with file from package libgcrypt11-1.5.3-1.i586 file /usr/bin/hmac256 from install of libgcrypt20-1.6.1-1.i586 conflicts with file from package libgcrypt11-1.5.3-1.i586 file /usr/bin/libgcrypt-config from install of libgcrypt20-1.6.1-1.i586 conflicts with file from package libgcrypt11-1.5.3-1.i586 W pliku spec mialem Obsoletes: %{name} < %version Zgaduje ze przez to ze uzywam " major " czyli dodatkowego numerka, tak jak czasami jest uzywane w kernelu w wersji developerskiej. ( w tym przypadku uzylem major=20 ) generalnie jak zrobie # rpm -ivh --replacefiles libgcrypt20-1.6.1-1.i586.rpm Preparing... ########################################### [100%] 1:libgcrypt20 ########################################### [100%] to widac ze zadziala, (sek w tym ze teraz mam zainstalowane libgcrypt11 i ibgcrypt20 ) ale jesli chcialbym by to normalnie dzialalo, to musze te pliki w sekcji %pre pierw usunac ? czy jest jakas magiczna opcja Obsoletes: ktora dziala z paczkami uzywajacymi " major " ? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
@sunrise Napisano Lipiec 29, 2014 Zgłoszenie Share Napisano Lipiec 29, 2014 A czy libgcrypt11 i libgcrypt20, są kompatybilne ze sobą? Zauważ, że makro %{name} dla jednego pakietu to libgcrypt11 a dla drugiego to libgcrypt20 Prawdopodobnie musisz użyć Conflicts: libgcrypt11 Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
tele Napisano Lipiec 29, 2014 Autor Zgłoszenie Share Napisano Lipiec 29, 2014 Probowalem zastapic Obsoletes: %{name} < %version lub Obsoletes: libgcrypt11 lub Conflicts: libgcrypt11 i kicha, nadal jest konflikt plikow, czyli nie zastepuje starszej paczki i tworzy sie druga. Edytowane Dobra poddaje sie, dzieki za pomoc. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
WaldoWaldow Napisano Sierpień 1, 2014 Zgłoszenie Share Napisano Sierpień 1, 2014 Obsoletes: libgcrypt11Provides: libgcrypt11 Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
tele Napisano Sierpień 3, 2014 Autor Zgłoszenie Share Napisano Sierpień 3, 2014 Niestety paczka libgcrypt20 dalej traktuje libgcrypt11 jako inny pakiet, moze tak ma byc. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
WaldoWaldow Napisano Sierpień 3, 2014 Zgłoszenie Share Napisano Sierpień 3, 2014 Pochwal się może jaki masz system, bo z wpisu libgcrypt11-1.5.3-1.i586 bardziej wygląda na Mageia 3 niż Fedora. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
tele Napisano Sierpień 4, 2014 Autor Zgłoszenie Share Napisano Sierpień 4, 2014 Ten akurat pakiet na PCLinuxOS probowalem zrobic, wlasciwie zaktualizowac, ale nadzialem sie na taki zonk. Generalnie "major" Jest stosowany od dawna, obie dystrybucje korzystaja z tego samego pakietu rpm, jedynie co je wyroznia to drobne nowosci, w pclosie rpm 4.8 -2013(poprawka na wiki jest 2010), w fedorze 4.11.2 -2014 ( w Fedorze aktualizacje sa chyba czesciej ) To co jeszcze moze jeszcze moze roznic jakies dodatkowe makra, ale generalnie Mageia, Rosa, PCLinuxOS, OpenSuse, CentOS itd. kozystaja z tego samego. Dlatego pisalem wyzej. EdytowaneDobra poddaje sie, dzieki za pomoc. W kazdym razie gdyby mi dzialalo jak trzeba, to podejrzewam ze Obsoletes: libgcrypt11 powinno wystarczec i dzialac, co znaczy "Zastepuje: libgcrypt11". Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
WaldoWaldow Napisano Sierpień 4, 2014 Zgłoszenie Share Napisano Sierpień 4, 2014 Wszystko rozbija się właśnie o "jakies dodatkowe makra". Pakiet zbuduj na pliku spec z wersji 1.5.3-1, nie zmieniaj major, lecz tylko Version: ustaw na 1.6.1. Jeżeli się zbuduje (libgcrypt11-1.6.1-1.i586) to powinien przy instalacji wymienić wersję 1.5.3 zainstalowaną w systemie. %define major 11 %define libname %mklibname gcrypt %{major} %define develname %mklibname gcrypt -d %package -n %{libname} Summary: GNU Cryptographic library Group: System/Libraries Provides: %{name} = %{version}-%{release} %package -n %{develname} Summary: Development files for GNU cryptographic library Group: Development/Other Requires: %{libname} = %{version}-%{release} Provides: %{name}-devel = %{version}-%{release} Obsoletes: %mklibname -d gcrypt 11 Jak widać pakiet devel blokuje (dezaktywuje) pakiet z major 11, twój jest ustawiony jako dodatkowy przez major 20, lecz dostarcza tych samych plików, przez co wywala błąd przy instalacji. Edit: Instalując przez rpm -ivh --replacefiles libgcrypt20-1.6.1-1.i586.rpm, uszkadzasz bazę pakietów, stąd masz dwa zainstalowane gdy faktycznie jest tylko jeden. Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
tele Napisano Sierpień 4, 2014 Autor Zgłoszenie Share Napisano Sierpień 4, 2014 Ale generalnie jakbym zrobil cos takiego # 32/64bit spec # %define major 20 Summary: GNU Cryptographic library Name: libgcrypt Version: 1.6.1 Release: %mkrel 14 License: LGPLv2+ Group: System/Libraries Url: http://www.gnupg.org/ Source0: ftp://ftp.gnupg.org/gcrypt/libgcrypt/libgcrypt-%{version}.tar.xz BuildRequires: libgpg-error-devel >= 0.5 BuildRoot: %{_tmppath}/libgcrypt-%{version}-buildroot #Provides: libgcrypt #Obsoletes: libgcrypt11 %description Libgcrypt is a general purpose cryptographic library based on the code from GNU Privacy Guard. It provides functions for all cryptograhic building blocks: symmetric ciphers (AES,DES,Blowfish,CAST5,Twofish,Arcfour), hash algorithms (MD5, RIPE-MD160, SHA-1, TIGER-192), MACs (HMAC for all hash algorithms), public key algorithms (RSA, ElGamal, DSA), large integer functions, random numbers and a lot of supporting functions. Provides: libgcrypt Obsoletes: libgcrypt11 %prep %setup -q %build %configure2_5x \ --enable-random=linux \ --enable-m-guard %make %install rm -rf %{buildroot} %makeinstall_std %clean rm -rf %{buildroot} %files %defattr(-,root,root) %doc AUTHORS README NEWS THANKS TODO %{_bindir}/* %{_libdir}/lib*.so.%{major} %{_libdir}/lib*.so.%{major}.* %{_datadir}/man/man1/hmac256.1.bz2 %doc ChangeLog README.* %{_includedir}/*.h %{_libdir}/lib*.la %{_libdir}/lib*.so %{_datadir}/aclocal/* %{_infodir}/gcrypt.info* %changelog * Tue Aug 20 2014 nobody <nobody> - 1.6.1 To libgcrypt11 powinno byc zastapione przez libgcrypt, no nie ? Edit: Jak zrobilem cos takiego to zauwazylem - konfiktu plikow juz nie ma przy instalacji - miejsce gdzie dam Provides: libgcryptObsoletes: libgcrypt11 ma znaczenie, bo tam gdzie mam zahaszowane (kratke) to powodobalo mi ze pakiet chcial biblioteki ktore juz mam zainstalowane, co wydaje sie dosc dziwne, poniewaz nie powinno pytac o biblioteki, a o paczki tylko. No chyba ze rpm ma jakas ukryta funkcje o ktorej nie wiem. Pozniej sobie na Fodorze porownam . Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
WaldoWaldow Napisano Sierpień 4, 2014 Zgłoszenie Share Napisano Sierpień 4, 2014 Wprowadzasz niepotrzebny bajzel, nie masz devel'a i gdzie symlinki do libgcrypt.so.11. Tylko twoje programy mają działać inne już nie muszą? Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się