[devel] [git update] packages/rpm: heads/master

Alexey Tourbin =?iso-8859-1?q?at_=CE=C1_altlinux=2Eru?=
Пт Мар 2 00:28:57 MSK 2007


On Mon, Feb 12, 2007 at 01:08:36AM +0300, Dmitry V. Levin wrote:
> Update of /people/ldv/packages/rpm.git
> 
> Changes statistics since `4.0.4-alt72-g6a53902' follows:
>  autodeps/linux.prov.in |    2 ++
>  autodeps/linux.req.in  |   29 +++++++++++++++++++++++++++++
>  platform.in            |    4 ++--
>  3 files changed, 33 insertions(+), 2 deletions(-)
> 
> Changelog since `4.0.4-alt72-g6a53902' follows:
> commit 7227d450caf39c13da3596bd17b60dc4d20c575a
> Merge: 6a53902827037e9f38fbbdbc2509996fc12b52b5 280e69d9a539cf066a3a072e9c8fda6e97a420f1
> Author: Dmitry V. Levin <ldv на altlinux>
> Date:   Sun Feb 11 22:02:54 2007 +0000
> 
>     Merge branch 'master' of git.alt:/people/damir/packages/rpm
> 
> commit 280e69d9a539cf066a3a072e9c8fda6e97a420f1
> Author: Damir Shayhutdinov <damir на altlinux>
> Date:   Sat Feb 10 19:16:04 2007 +0300
> 
>     Added hooks for Java autoreq facility.
>     
>     Signed-off-by: Damir Shayhutdinov <damir на altlinux>
> 
> Full diff since `4.0.4-alt72-g6a53902' follows:
> diff --git a/autodeps/linux.prov.in b/autodeps/linux.prov.in
> index cd59580..fc9fb8f 100755
> --- a/autodeps/linux.prov.in
> +++ b/autodeps/linux.prov.in
> @@ -52,6 +52,8 @@ ParseMethod()
>  				FIND_SHELL=
>  				FIND_TCL=
>  				;;
> +			java|nojava)
> +				;;
>  			lib)
>  				FIND_LIBS=1
>  				;;
> diff --git a/autodeps/linux.req.in b/autodeps/linux.req.in
> index f1980e2..80dfa45 100755
> --- a/autodeps/linux.req.in
> +++ b/autodeps/linux.req.in
> @@ -36,6 +36,7 @@ exit_handler()
>  trap exit_handler EXIT
>  
>  FIND_FILES=
> +FIND_JAVA=
>  FIND_LIBPERL=
>  FIND_LIBS=
>  FIND_MONO=
> @@ -54,6 +55,7 @@ ParseMethod()
>  		case "${t/%,}" in
>  			no|none|off|false)
>  				FIND_FILES=
> +				FIND_JAVA=
>  				FIND_LIBPERL=
>  				FIND_LIBS=
>  				FIND_MONO=
> @@ -64,6 +66,12 @@ ParseMethod()
>  				FIND_SHELL=
>  				FIND_TCL=
>  				;;
> +			java)
> +				FIND_JAVA=1
> +				;;
> +			nojava)
> +				FIND_JAVA=
> +				;;
>  			lib|library)
>  				FIND_LIBS=1
>  				;;
> @@ -131,6 +139,7 @@ ParseMethod()
>  				FIND_LIBPERL=1
>  				FIND_LIBS=1
>  				FIND_MONO=1
> +				FIND_JAVA=1
>  				FIND_PAM=1
>  				FIND_PERL=1
>  				FIND_PKGCONFIG=1
> @@ -159,6 +168,7 @@ if [ -n "$FIND_PAM" -o \
>  fi
>  
>  if [ -z "$FIND_FILES" -a \
> +     -z "$FIND_JAVA" -a \
>       -z "$FIND_LIBPERL" -a \
>       -z "$FIND_LIBS" -a \
>       -z "$FIND_MONO" -a \
> @@ -187,11 +197,23 @@ case "$LD_PRELOAD" in
>  esac
>  
>  FOUND_REQS=
> +LIST_JAVA=
>  LIST_MONO=
>  LIST_PERL=
>  LIST_PYTHON=
>  LIST_TCL=
>  
> +FindJavaReqs()
> +{
> +	[ -n "$FIND_JAVA" -a -n "$LIST_JAVA" -a -x "@RPMCONFIGDIR@/java.req" ] || return 0
> +
> +	local r
> +	r="$(printf %s\\n "$LIST_JAVA" |
> +	     @RPMCONFIGDIR@/java.req "$RPM_BUILD_DIR" "$RPM_BUILD_ROOT" "$RPM_LIBDIR")" || return 1

А какой смысл передавать дополнительные параметры скрипту, если,
во-первых, эти параметры по-прежнему доступны через environment;
а во-вторых, PRM_BUILD_DIR раскрывается совсем не в то, во что хочется,
а в `rpm --eval %_builddir`, который одинаковый для всех пакетов?

По-моему, параметры лучше зарезервировать для того, чтобы брать файлы из
командной строки, а если командная строка пустая, тогда читать список
файлов из stdin.

Кстати, второе обстоятельство довольно тягостно: чтобы получить
информацию из сборочного каталога на стадии find-requires, приходится
копировать ее в %buildroot на стадии %install.  Может кто-то припоминает
левые файлы в %buildroot с названием /.perl.req.

> +	[ -z "$FOUND_REQS" ] && FOUND_REQS="$r" || FOUND_REQS="$FOUND_REQS
> +$r"
> +}
> +
>  FindMonoReqs()
>  {
>  	[ -n "$FIND_MONO" -a -n "$LIST_MONO" -a -x "@RPMCONFIGDIR@/mono.req" ] || return 0
> @@ -425,9 +447,16 @@ $f"
>  	elif [ -z "${t##*MS Windows PE*}" ]; then
>  		[ -z "$LIST_MONO" ] && LIST_MONO="$f" || LIST_MONO="$LIST_MONO
>  $f"
> +	elif [ -z "${t##*Zip archive data*}" -a -z "${f##*.jar}" ] ||
> +	     [ -z "${t##*compiled Java class data*}" ]; then
> +		[ -z "$LIST_JAVA" ] && LIST_JAVA="$f" || LIST_JAVA="$LIST_JAVA
> +$f"
>  	fi
>  done
>  
> +# Find requires in listed Java files, if any
> +FindJavaReqs
> +
>  # Find requires in listed .Net files, if any
>  FindMonoReqs
>  
> diff --git a/platform.in b/platform.in
> index 19c778e..3bce5dd 100644
> --- a/platform.in
> +++ b/platform.in
> @@ -454,8 +454,8 @@
>  @alt@%_tcl_req_skip	""
>  @alt@%_fixup_method	binconfig pkgconfig libtool
>  @alt@%_strip_method	%{?_enable_debug:none}%{!?_enable_debug:executable shared}
> - на alt@%_findreq_default_method	files lib mono pam perl pkgconfig python shell tcl
> - на alt@%_findprov_default_method	lib mono pam perl pkgconfig python shell tcl
> + на alt@%_findreq_default_method	files java lib mono pam perl pkgconfig python shell tcl
> + на alt@%_findprov_default_method	java lib mono pam perl pkgconfig python shell tcl
>  @alt@
>  @alt@%_cleanup_topdir	%nil
>  @alt@%_compress_topdir	%_usr
----------- следующая часть -----------
Было удалено вложение не в текстовом формате...
Имя     : =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Тип     : application/pgp-signature
Размер  : 189 байтов
Описание: =?iso-8859-1?q?=CF=D4=D3=D5=D4=D3=D4=D7=D5=C5=D4?=
Url     : <http://lists.altlinux.org/pipermail/devel/attachments/20070302/54b4fc3b/attachment-0001.bin>


Подробная информация о списке рассылки Devel