openssl-devel-0.9.8f-2.i686

Kacper Kornet kornet w camk.edu.pl
Czw, 18 Paź 2007, 23:37:11 CEST


On Thu, Oct 18, 2007 at 09:00:45PM +0200, Kacper Kornet wrote:
> Tak jak jest obecnie wywołanie make install powoduje na podstawie plików
> *.pod wygenerowanie stron man i zainstalowanie ich w man*/. Potem w
> sekcji %install następuje

> find $RPM_BUILD_ROOT%{_mandir} -type f | xargs rm -f

> czyli ich wykasowanie, a zamiast nich wrzucane są strony manuala z
> drzewa openssl instrukcjami w stylu:

> install doc/apps/*.1 $RPM_BUILD_ROOT%{_mandir}/man1


> Z ciekawości zrobiłem sobie diff na stronach użyskanych w te różne
> sposoby i jedyne różnice jakie widzę są w stylu:

> diff -r openssl-0.9.8f-root-kornet/usr/share/man/man1/openssl_asn1parse.1 openssl-0.9.8f-root-kornet.pld/usr/share/man/man1/openssl_asn1parse.1
> 132c132
> < .TH OPENSSL_ASN1PARSE 1 "2007-10-18" "0.9.8f" "OpenSSL"
> ---
> > .TH OPENSSL_ASN1PARSE 1 "2007-10-18" "OpenSSL 0.9.7" "OpenSSL 0.9.7

> (z wyjątkiem nieszczęsnego openssl_x509v3_config.5, które zmienia się w openssl_x509v3_config.1)

> Więc rodzi się pytanie o sens takiej działalności.

No i już sobie chyba odpowiedziałem. Te "pierwotne" strony manuala z
drzewa openssl są generowane przez "dodatki" z PLD do speca przy użyciu
pod2man. Pewnie chodziło o to, żeby używać pod2man z dystrybucji a nie
wewnętrznego skryptu z openssl. Jakiś czas potem Makefile z openssl
zmienił się tak, że najpierw szuka systemowego pod2man i jak go znajdzie
to go używa. 

Ponieważ widzę, że arekm już poprawił sekcję %install, to proponuję
jeszcze wyczyścić trochę sekcję %build. Łatka w załączniku.

-- 
  Kacper Kornet
-------------- następna część ---------
Index: openssl.spec
===================================================================
RCS file: /cvsroot/SPECS/openssl.spec,v
retrieving revision 1.176
diff -u -r1.176 openssl.spec
--- openssl.spec	18 Oct 2007 19:30:12 -0000	1.176
+++ openssl.spec	18 Oct 2007 21:37:56 -0000
@@ -1,7 +1,7 @@
@@ -250,52 +250,17 @@
 	CC="%{__cc}" \
 	INSTALLTOP=%{_prefix}
 
-# Conv PODs to man pages. "openssl_" prefix is added to each manpage
+# "openssl_" prefix is added to each manpage
 # to avoid potential conflicts with others packages.
-center="OpenSSL 0.9.7"
-rel="OpenSSL 0.9.7"
 
-cd doc/apps || exit 1
-%{__perl} -pi -e 's/(\W)((?<!openssl_)\w+)(\(\d\))/$1openssl_$2$3/g; s/openssl_openssl/openssl/g;' *.pod;
-
-for pod in *.pod; do
-	if [ $pod != "openssl.pod" ]; then
-		mv -f $pod openssl_$pod;
-		pod=openssl_$pod;
-	fi
-
-	sec=1
-	if [ $pod = "openssl_config.pod" ]; then
-		sec=5
-	fi
-
-	manpage=`basename $pod .pod`.$sec;
-	pod2man --section="$sec" --release="$rel" --center="$center" \
-		$pod > $manpage;
-	echo "$manpage";
-done
-cd ..
-
-sec=3
-for dir in ssl crypto; do
+for dir in doc/{apps,ssl,crypto}; do
 	cd $dir || exit 1;
-	if [ $dir = "ssl" ]; then
-		rel="OpenSSL SSL/TLS library"
-	elif [ $dir = "crypto" ]; then
-		rel="OpenSSL cryptographic library"
-	fi
-
 	%{__perl} -pi -e 's/(\W)((?<!openssl_)\w+)(\(\d\))/$1openssl_$2$3/g; s/openssl_openssl/openssl/g;' *.pod;
 
 	for pod in *.pod; do
-		sec=`[ "$pod" = "des_modes.pod" ] && echo 7 || echo 3`;
 		mv -f $pod openssl_$pod;
-		pod=openssl_$pod;
-		manpage=`basename $pod .pod`.$sec;
-		pod2man --section="$sec" --release="$rel" --center=" " $pod > $manpage;
-		echo "$manpage";
 	done
-	cd ..
+	cd ../..
 done
 
 #cd perl


Więcej informacji o liście dyskusyjnej pld-devel-pl