ALT Linux Team development discussions
 help / color / mirror / Atom feed
* Re: [devel] [git update] packages/rpm: heads/master
  @ 2007-03-01 21:28 ` Alexey Tourbin
  0 siblings, 0 replies; only message in thread
From: Alexey Tourbin @ 2007-03-01 21:28 UTC (permalink / raw)
  To: devel

[-- Attachment #1: Type: text/plain, Size: 5029 bytes --]

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

[-- Attachment #2: Type: application/pgp-signature, Size: 189 bytes --]

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2007-03-01 21:28 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-03-01 21:28 ` [devel] [git update] packages/rpm: heads/master Alexey Tourbin

ALT Linux Team development discussions

This inbox may be cloned and mirrored by anyone:

	git clone --mirror http://lore.altlinux.org/devel/0 devel/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 devel devel/ http://lore.altlinux.org/devel \
		devel@altlinux.org devel@altlinux.ru devel@lists.altlinux.org devel@lists.altlinux.ru devel@linux.iplabs.ru mandrake-russian@linuxteam.iplabs.ru sisyphus@linuxteam.iplabs.ru
	public-inbox-index devel

Example config snippet for mirrors.
Newsgroup available over NNTP:
	nntp://lore.altlinux.org/org.altlinux.lists.devel


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git