Skocz do zawartości

Truecrypt - Paczki Rpm


przemal

Rekomendowane odpowiedzi

Witam,

 

Paczki z TrueCrypt-em 6.0 dla fedory 8:

 

rpm dla platformy 64-bitowej

rpm dla platformy 32-bitowej

rpm ze źródłami

 

Zawartość paczki binarnej:

> truecrypt

> dokumentacja

> ikona + skrót do programu (w kategorii System)

 

Modyfikacje kodu:

> patch pozwalający na wykorzystanie nagłówków wxWidgets dostępnych w repozytorium fedory

> zmieniona lokalizacja pliku z dokumentacją tak aby pasowała do położenia dokumentacji w fedorze

 

Możliwe problemy:

> Jeżeli startujemy truecrypt-a nie z terminala, podczas montowania zaszyfrowanej partycji pojawia się błąd: „Failed to obtain administrator privileges: sudo: sorry, you must have a tty to run sudo”.

Rozwiązanie: Należy uruchomić visudo, wstawić znak (i) komentarza (#) na początku linii z „Defaults requiretty” i zapisać zmiany (ESC, ZZ).

 

pozdrawiam, przemal

Odnośnik do komentarza
Udostępnij na innych stronach

Przede wszystkim powinieneś zainstalować sobie narzędzie rpmlint. Uruchamiając je na RPM-y i SRPM-y można się dowiedzieć o kilku prostych błędach. W przypadku Twojego SRPM-a:

truecrypt.src: W: mixed-use-of-spaces-and-tabs (spaces: line 1, tab: line 10)
truecrypt.src: W: %ifarch-applied-patch Patch0: truecrypt-%{version}-x86_64.patch
truecrypt.src: E: description-line-too-long TrueCrypt is a software system for establishing and maintaining an on-the-fly-encrypted volume (data storage device). On-the-fly encryption means that data are automatically encrypted or decrypted right before they are loaded or saved, without any user intervention.
truecrypt.src: W: invalid-license TrueCrypt Collective License Version 1.3

Pierwszy błąd jest właściwie mało istotny - chodzi o to, że do odzielania np. pól w preambule używałeś raz spacji, a raz TABów, co powinno zostać poprawione.

Co do drugiego ostrzeżenia: %ifarch nie powinno się pojawiać w preambule, tylko przy aplikowania patcha. Jeśli chodzi o kolejny błąd: jedna linia w polu %description może mieć maksimum 79 znaków, czyli musisz to podzielić. W przypadku licencji raczej nic nie możesz zrobić, rpmlint po prostu rzuca się o licencje, które są niedopuszczalne w repozytorium Fedory.

A teraz zaglądamy do SPEC-a.

Pierwszy Release przy każdej wersji paczki to powinien być 1, a nie 0.

W polach Source powinny (jeśli jest to możliwe) znajdować się linki do źródeł, a nie ich sama nazwa.

Podałeś niepotrzebne BuildRequires. W Fedorze określona jest lista paczek, których nie powinno się dawać jako zależności budowania, bo przyjmujemy założenie, że każdy je posiada (a każdy kto buduje paczki powinien być zaopatrzony w pakiet rpmdevtools, który ciągnie trochę przydatnych zależności i do tego ułatwia pracę paczkerów).

W zależnościach nie musisz podawać samego fuse, jeśli podajesz fuse-libs, bo fuse-libs i tak wymaga fuse, więc obie zależności będą musiały być zainstalowane. Wystarczy podać samo fuse-libs. /bin/mount też jest niepotrzebne, bo raczej jest w każdym systemie (a na pewno w takim, w którym jest fuse). Poza tym nie budowałem paczki więc nie wiem czy rpm przypadkiem sam nie wykrył, że fuse jest wymagane. Można to sprawdzić wpisując

rpm -qp truecrypt-xxxx.rpm --requires

i poszukać na liście czegoś w rodzaju libfuse.so.2.

W sekcji %prep jest trochę do zrobienia. Rozpakowywanie źródeł nie jest zbyt przemyślane. Najsensowniejsze rozwiązanie jest takie, że najpierw rozpakowujesz główne źródła (%{name}-%{version}-source), a potem rozpakowujesz te dodatkowe. Ale tak od siebie powiem, że zawartość tych dodatkowych źródeł jest taka, że IMHO lepiej byłoby oba te pliki podać jako osobne Source. Będzie chyba czytelniej.

Potem aplikujesz łatkę... Piszesz, że jest dla procesrów 64-bitowych. Dlaczego więc przy warunku dajesz też %{ix86}? %{ix86} odpowiada architekturom "i386 i486 i586 i686 pentium3 pentium4 athlon". Czyli do wielu nie-64-bitowych...

No i wreszcie rzecz, która właściwie zniechęciła mnie do samodzielnego skompilowania SPEC-a. Niedopuszczalne jest, aby paczka cokolwiek pobierała z internetu w trakcie budowy (na systemach budowania Fedory w tym momencie by był błąd). Jest to tym bardziej dziwne, że pakiet wxGTK jest w repo Fedory. Czemu więc nie dodać wxGTK jako BuildRequires i wyrzucić to samodzielne ściąganie?

Pora na sekcję %install. Nie musisz za każdym razem pisać %{_builddir}/%{name}-%{version}-source. Po rozpakowaniu źródeł, rpm przechodzi do katalogu z nimi. Zatem to wszystko można usunąć i np. zamiast %{_builddir}/%{name}-%{version}-source/Main/truecrypt dać Main/truecrypt.

Po drugie, dokumentację aplikuje się w inny sposób niż Ty to zrobiłeś. Usuń wszystkie linie dokumentacyjne z sekcji %install i dodaj w %files wpis %doc "Release/Setup Files/License.txt" "/Release/Setup Files/TrueCrypt User Guide.pdf". To automatycznie stworzy odpowiedni katalog i przeniesie tam dokumentację. W dodatku zostanie ona oznaczona jako dokumentacja, dzięki czemu będzie ją można szybko znaleźć przy użyciu rpm -qd.

Następnie, zgodnie z zasadami tworzenia paczek w Fedorze, powinieneś do desktop-file-install dodać parametr vendor (patrz jak w linku).

I jeśli kopiujesz coś do hicolor, to musisz dodać zależność hicolor-icon-theme do paczki.

Jeśli chodzi o sekcję %files to należy zmienić to co pisałem odnośnie dokumentacji, poza tym wygląda dobrze.

Tyle widzę na pierwszy rzut oka ;)

Odnośnik do komentarza
Udostępnij na innych stronach

Wielkie dzięki za tak szczegółowy opis, faktycznie nad strukturą tego speca zbyt długo się nie zastanawiałem i całkowicie się zgadzam z większością twoich zastrzeżeń, kiedy tylko poprawie wszystkie poważniejsze błędy i wrzucę nowe rpm-y.

 

Jeżeli chodzi o to liczenie od 0 to będzie się naprawdę ciężko odzwyczaić ;) , a poza tym chyba nawet widziałem, że w oficjalnym jest liczone od 0 więc to chyba nie jest aż tak poważny błąd.

Co do pobierania wxWidgets, wiem że są w repo fedory ale na tych z repozytorium truecrypt nie chciał się skompilować, chyba nawet ktoś utworzył już temat bardziej szczegółowo opisujący ten problem w dziale Programy.

A jeżeli chodzi o ten warunek to faktycznie mogłem przeczytać co przekopiowałem z innego speca... oczywiście miało być samo x86_64

 

Jeszcze raz dzięki!

Odnośnik do komentarza
Udostępnij na innych stronach

Jeżeli chodzi o to liczenie od 0 to będzie się naprawdę ciężko odzwyczaić ;) , a poza tym chyba nawet widziałem, że w oficjalnym jest liczone od 0 więc to chyba nie jest aż tak poważny błąd.

Liczone od 0 jest tylko w pewnych sytuacjach. Jeśli to a w wersji oznacza to samo co alpha to faktycznie masz podstawy, by liczyć od zera, ale wtedy trzeba też zmienić wersję.

Co do pobierania wxWidgets, wiem że są w repo fedory ale na tych z repozytorium truecrypt nie chciał się skompilować, chyba nawet ktoś utworzył już temat bardziej szczegółowo opisujący ten problem w dziale Programy.

Faktycznie wygląda na to, że coś opiekun paczki jest opieszały w wydawaniu nowych wersji paczki... Ale wygląda na to, że być może niedługo coś się ruszy w tej kwestii...

Odnośnik do komentarza
Udostępnij na innych stronach

paczki dla Fedory i nie tylko, znalazłem tutaj

link znaleziony na forum truecrypt.org

 

też to znalazłem ale brakowało wersji dla platformy 64 bitowej więc pomyślałem że zrobię coś dla społeczności i stworze paczkę, swoją drogą, dzisiaj z ciekawości pobrałem srpm i zauważyłem, że już jest tam patch tylko nikt jeszcze nie skompilował tego dla architektury x86_64, ale chociaż nauczę się tworzyć poprawnie pliki spec.

Odnośnik do komentarza
Udostępnij na innych stronach

ale chociaż nauczę się tworzyć poprawnie pliki spec.

Poprawne podejście do sprawy ;)

Jeśli ktokolwiek chce się dowiedzieć czy jego paczki nadawałaby się do Fedory, powinien generalnie zaznajomić się z poniższymi dokumentami:

http://fedoraproject.org/wiki/Packaging/Guidelines

http://fedoraproject.org/wiki/Packaging/ReviewGuidelines

Oprócz tego na wiki jest wiele innych, które warto przejrzeć w przestrzeni nazw Packaging.

Odnośnik do komentarza
Udostępnij na innych stronach

Może ktoś powiedzieć jak odpalić interfejs graficzny po zainstalowaniu tego pliku: truecrypt-5.0-2.i386.rpm z linku podanego przez cineksa nie mogę nic takiego znaleźć...

a próbowałeś /usr/bin/truecrypt ?

 

Nowe paczki wrzucone, myślę że teraz jest ok.

Odnośnik do komentarza
Udostępnij na innych stronach

Dziwne, nie ma tej paczki już w tej lokalizacji, a chciełem

cosik podejrzeć - czy nie ma tam truecrypt-gui (tui) cokolwiek.

 

trocha6

Jeśli nie ma niczego takiego, to użyj paczki od Przemala

 

rpm z tej lokalizacji zawierał w sobie patch, który wyłączał gui

umożliwiająca prace na konsoli i inne.

 

 

Odnośnik do komentarza
Udostępnij na innych stronach

  • 4 months later...

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ę
×
×
  • Dodaj nową pozycję...