ALT Linux Team development discussions
 help / color / mirror / Atom feed
* [devel] moved functions and find-package from rpm-build to rpm, added .provides.sh
@ 2007-11-20  7:00 Alexey M. Tourbin
  2007-11-20 11:50 ` Dmitry V. Levin
  2007-11-25 11:52 ` Alexey Tourbin
  0 siblings, 2 replies; 4+ messages in thread
From: Alexey M. Tourbin @ 2007-11-20  7:00 UTC (permalink / raw)
  To: devel

Update of /people/at/packages/rpm.git

Changes statistics since `4.0.4-alt80-7-g42b63f6' follows:
 rpm-4_0.spec         |    6 ++++--
 scripts/.provides.sh |   15 +++++++++++++++
 scripts/Makefile.am  |   11 +++++++----
 3 files changed, 26 insertions(+), 6 deletions(-)

Changelog since `4.0.4-alt80-7-g42b63f6' follows:
commit 9c4f27de6191ff54992cdf0746015c94aaa90678
Author: Alexey Tourbin <at@altlinux>
Date:   Tue Nov 20 08:45:08 2007 +0300

    moved functions and find-package from rpm-build to rpm, added .provides.sh
    
    This will allow to relax rpm-build-* dependencies, hopefully without adding
    new essential dependencies to rpm (note that rpm already depends on sh and
    coreutils; now this also includes grep, and possibly should include sed,
    awk, and gzip).
    
    Consider mono-mcs package, which is mono C# compiler.  Recently I added
    dependency on rpm-build-mono to this package, to enable automatic support
    for mono dependencies whenever mono compiler is used.  Now the problem
    is that rpm-build-mono depends on rpm-build (via /usr/lib/rpm/functions),
    and rpm-build in turn requires a lot of packages, e.g. gcc and autotools,
    for the purpose of populating base build environment.
    
    To put it another way, the problem is that it is impossible to install
    mono compiler (with automatic support for mono dependencies) without also
    installing gcc and stuff, which is roughly 100M of unrelated packages.
    
    This seems like a minor problem to me, since every "devel" package (including
    compilers) can conventionally require base build environment.  However,
    Alexander Bokovoy argues that school kids desperately need mono-mcs compiler
    on their desktops without gcc and another stuff from the base build environment!
    
    The upshot is that possibly we want to relax rpm-build-* dependencies,
    so that those "support for dependencies" packages do not require
    full-fledged rpm-build.  The easiest way to accomplish this is to
    move /usr/lib/rpm/functions from rpm-build to rpm package.  I also
    choose to move /usr/lib/rpm/find-package as well, along with making
    /usr/lib/rpm/.provides.sh, so that rpm-build-* packages depend on
    something like /usr/lib/rpm(Fatal), not just rpm.

Full diff since `4.0.4-alt80-7-g42b63f6' follows:
diff --git a/rpm-4_0.spec b/rpm-4_0.spec
index 7256a43..9648e18 100644
--- a/rpm-4_0.spec
+++ b/rpm-4_0.spec
@@ -443,6 +443,10 @@ fi
 %_prefix/lib/rpmpopt
 %_prefix/lib/rpmrc
 
+%rpmattr %_rpmlibdir/functions
+%rpmattr %_rpmlibdir/find-package
+%rpmdatattr %_rpmlibdir/.provides.sh
+
 %_man1dir/rpminit.*
 %_man8dir/rpm.*
 %_man8dir/rpm2cpio.*
@@ -458,7 +462,6 @@ fi
 %rpmattr %_rpmlibdir/dump_ld_config
 %rpmattr %_rpmlibdir/filesize
 %rpmattr %_rpmlibdir/relative
-%rpmattr %_rpmlibdir/functions
 %rpmattr %_rpmlibdir/brp-*
 %rpmattr %_rpmlibdir/*_files
 %rpmattr %_rpmlibdir/check-files
@@ -466,7 +469,6 @@ fi
 %rpmattr %_rpmlibdir/ldd
 %rpmattr %_rpmlibdir/rpm2cpio.sh
 %rpmattr %_rpmlibdir/find-lang
-%rpmattr %_rpmlibdir/find-package
 %rpmattr %_rpmlibdir/find-provides
 %rpmattr %_rpmlibdir/find-requires
 %rpmattr %_rpmlibdir/fixup-*
diff --git a/scripts/.provides.sh b/scripts/.provides.sh
new file mode 100644
index 0000000..19ad073
--- /dev/null
+++ b/scripts/.provides.sh
@@ -0,0 +1,15 @@
+# shell functions provides list
+# functions:
+Info
+Fatal
+Verbose
+Debug
+ValidateBuildRoot
+SetupMethods
+RunMethods
+CanonPath
+ArgvFileAction
+# find-package:
+FindByPath
+FindByName
+FindPackage
diff --git a/scripts/Makefile.am b/scripts/Makefile.am
index 5afee26..4358a61 100644
--- a/scripts/Makefile.am
+++ b/scripts/Makefile.am
@@ -3,15 +3,16 @@
 AUTOMAKE_OPTIONS = 1.4 foreign
 
 EXTRA_DIST = \
+	functions find-package .provides.sh \
 	brp-adjust_libraries brp-alt brp-bytecompile_python \
 	brp-cleanup brp-compress brp-fix-perms brp-fixup brp-strip brp-verify_elf \
 	compress_files check-files convertrpmrc.sh cross-build \
-	delayed_rebuilddb find-lang find-package find-prov.pl find-req.pl \
+	delayed_rebuilddb find-lang find-prov.pl find-req.pl \
 	cpanflute cpanflute2 Specfile.pm find-provides.perl find-requires.perl \
 	fixup-binconfig fixup-pkgconfig fixup-libtool fixup-libraries \
 	get_magic.pl getpo.sh http.req \
 	files.req files.req.files files.req.list \
-	functions magic.prov magic.req \
+	magic.prov magic.req \
 	ldd lib.req lib.req.files lib.prov lib.prov.files shlib.req.awk \
 	pam.req pam.req.files pam.prov pam.prov.files perl.prov perl.req \
 	pkgconfig.req pkgconfiglib.req pkgconfig.req.files \
@@ -28,16 +29,18 @@ installprefix = $(DESTDIR)
 all:
 
 configdir = ${prefix}/lib/rpm
+config_DATA = .provides.sh
 config_SCRIPTS = \
+	functions find-package \
 	brp-adjust_libraries brp-alt brp-bytecompile_python \
 	brp-cleanup brp-compress brp-fix-perms brp-fixup brp-strip brp-verify_elf \
 	compress_files check-files convertrpmrc.sh cross-build \
-	delayed_rebuilddb find-lang find-package find-prov.pl find-req.pl \
+	delayed_rebuilddb find-lang find-prov.pl find-req.pl \
 	cpanflute cpanflute2 Specfile.pm find-provides.perl find-requires.perl \
 	fixup-binconfig fixup-pkgconfig fixup-libtool fixup-libraries \
 	get_magic.pl getpo.sh http.req \
 	files.req files.req.files files.req.list \
-	functions magic.prov magic.req \
+	magic.prov magic.req \
 	ldd lib.req lib.req.files lib.prov lib.prov.files shlib.req.awk \
 	pam.req pam.req.files pam.prov pam.prov.files perl.prov perl.req \
 	pkgconfig.req pkgconfiglib.req pkgconfig.req.files \


^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [devel] moved functions and find-package from rpm-build to rpm, added .provides.sh
  2007-11-20  7:00 [devel] moved functions and find-package from rpm-build to rpm, added .provides.sh Alexey M. Tourbin
@ 2007-11-20 11:50 ` Dmitry V. Levin
  2007-11-20 12:17   ` Alexey Tourbin
  2007-11-25 11:52 ` Alexey Tourbin
  1 sibling, 1 reply; 4+ messages in thread
From: Dmitry V. Levin @ 2007-11-20 11:50 UTC (permalink / raw)
  To: ALT Devel discussion list

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

On Tue, Nov 20, 2007 at 10:00:48AM +0300, Alexey M. Tourbin wrote:
> Changelog since `4.0.4-alt80-7-g42b63f6' follows:
> commit 9c4f27de6191ff54992cdf0746015c94aaa90678
> Author: Alexey Tourbin <at@altlinux>
> Date:   Tue Nov 20 08:45:08 2007 +0300
> 
>     moved functions and find-package from rpm-build to rpm, added .provides.sh
>     
>     This will allow to relax rpm-build-* dependencies, hopefully without adding
>     new essential dependencies to rpm (note that rpm already depends on sh and
>     coreutils; now this also includes grep, and possibly should include sed,
>     awk, and gzip).

Это тоже проблема: hasher, формируя сборочный чрут, устанавливает в
практически пустой чрут пакет rpm вместе с зависимостями с помощью
rpm2cpio.  Чем меньше таких пакетов, тем лучше.


-- 
ldv

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [devel] moved functions and find-package from rpm-build to rpm, added .provides.sh
  2007-11-20 11:50 ` Dmitry V. Levin
@ 2007-11-20 12:17   ` Alexey Tourbin
  0 siblings, 0 replies; 4+ messages in thread
From: Alexey Tourbin @ 2007-11-20 12:17 UTC (permalink / raw)
  To: ALT Devel discussion list

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

On Tue, Nov 20, 2007 at 02:50:38PM +0300, Dmitry V. Levin wrote:
> On Tue, Nov 20, 2007 at 10:00:48AM +0300, Alexey M. Tourbin wrote:
> > Changelog since `4.0.4-alt80-7-g42b63f6' follows:
> > commit 9c4f27de6191ff54992cdf0746015c94aaa90678
> > Author: Alexey Tourbin <at@altlinux>
> > Date:   Tue Nov 20 08:45:08 2007 +0300
> > 
> >     moved functions and find-package from rpm-build to rpm, added .provides.sh
> >     
> >     This will allow to relax rpm-build-* dependencies, hopefully without adding
> >     new essential dependencies to rpm (note that rpm already depends on sh and
> >     coreutils; now this also includes grep, and possibly should include sed,
> >     awk, and gzip).
> 
> Это тоже проблема: hasher, формируя сборочный чрут, устанавливает в
> практически пустой чрут пакет rpm вместе с зависимостями с помощью
> rpm2cpio.  Чем меньше таких пакетов, тем лучше.

Я знаю.  Но этот список уже сейчас "не нулевой" (не ограничивается
библиотеками для /bin/rpm), и пакеты класса grep, sed и gawk не должны
сильно испортить внешний вид этой внутренней кухни. :)

[at@hint1 ~]$ hsh --initroot --without-stuff --pkg-build-list=,
[at@hint1 ~]$ hsh-run -- rpm -qa
filesystem-2.3.3-alt1
glibc-preinstall-2.5-alt5
getopt-1.1.4-alt1
zlib-1.2.3-alt4
sh-3.1.17-alt4
terminfo-5.6-alt4
coreutils-5.97-alt6
libbeecrypt-2.2.0-alt6
libelf-0.131-alt1
librpm-4.0.4-alt80
rpm-4.0.4-alt80
setup-2.2.11-alt1
alt-gpgkeys-0.4.6-alt9
glibc-core-2.5-alt5
bzlib-1.0.4-alt3
libzio-0.4-alt1
info-install-4.8-alt4
libtinfo-5.6-alt4
fakeroot-1.5.10-alt2
libdb4.4-4.4.20-alt2
libpopt-1.7-alt16
librpmbuild-4.0.4-alt80
[at@hint1 ~]$ 

Альтернативно, можно отпилить что-то вроде rpm-build-functions,
но мне почему-то пока не хотелось бы заводить новые сущности.

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [devel] moved functions and find-package from rpm-build to rpm, added .provides.sh
  2007-11-20  7:00 [devel] moved functions and find-package from rpm-build to rpm, added .provides.sh Alexey M. Tourbin
  2007-11-20 11:50 ` Dmitry V. Levin
@ 2007-11-25 11:52 ` Alexey Tourbin
  1 sibling, 0 replies; 4+ messages in thread
From: Alexey Tourbin @ 2007-11-25 11:52 UTC (permalink / raw)
  To: devel

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

On Tue, Nov 20, 2007 at 10:00:48AM +0300, Alexey M. Tourbin wrote:
>     This will allow to relax rpm-build-* dependencies, hopefully without adding
>     new essential dependencies to rpm (note that rpm already depends on sh and
>     coreutils; now this also includes grep, and possibly should include sed,
>     awk, and gzip).
>     
>     Consider mono-mcs package, which is mono C# compiler.  Recently I added
>     dependency on rpm-build-mono to this package, to enable automatic support
>     for mono dependencies whenever mono compiler is used.  Now the problem
>     is that rpm-build-mono depends on rpm-build (via /usr/lib/rpm/functions),
>     and rpm-build in turn requires a lot of packages, e.g. gcc and autotools,
>     for the purpose of populating base build environment.
>     
>     To put it another way, the problem is that it is impossible to install
>     mono compiler (with automatic support for mono dependencies) without also
>     installing gcc and stuff, which is roughly 100M of unrelated packages.
>     
>     This seems like a minor problem to me, since every "devel" package (including
>     compilers) can conventionally require base build environment.  However,
>     Alexander Bokovoy argues that school kids desperately need mono-mcs compiler
>     on their desktops without gcc and another stuff from the base build environment!

$ hsh --initroot --pkg-build-list=basesystem
...
$ hsh-install mono
Preparing packages for installation...
glib2-2.14.3-alt1
pkg-config-0.22-alt2
glib2-devel-2.14.3-alt1
libX11-locales-1.1.3-alt6
libgamin-0.1.8-alt1
libgamin-fam-0.1.8-alt1
libexpat-2.0.1-alt0.1
libfreetype-2.3.5-alt2
fontconfig-2.5.0-alt1
Updating fonts cache: [ DONE ]
libICE-1.0.4-alt1
libSM-1.0.3-alt1
libXau-1.0.3-alt1
libXdmcp-1.0.2-alt1.0
libxcb-1.1-alt2
libX11-1.1.3-alt6
libXrender-0.9.4-alt1
libalsa-1.0.14a-alt2.1
libdirectfb_0.9.25-0.9.25.1-alt2
libpng12-1.2.13-alt3
libcairo-1.4.10-alt1
libexif-0.6.16-alt1
libjpeg-6b-alt8
libtiff-3.8.2-alt1
libungif-4.1.4-alt1
libgdiplus-1.2.5-alt2
libmono-1.2.5.2-alt2
mono-1.2.5.2-alt2
$ hsh-install mono-mcs
Preparing packages for installation...
monodis-1.2.5.2-alt2
rpm-build-mono-1.2-alt2
mono-mcs-1.2.5.2-alt2
$

Из "лишних" пакетов при установке mono встают только glib2-devel
и pkg-config.

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

^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2007-11-25 11:52 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-11-20  7:00 [devel] moved functions and find-package from rpm-build to rpm, added .provides.sh Alexey M. Tourbin
2007-11-20 11:50 ` Dmitry V. Levin
2007-11-20 12:17   ` Alexey Tourbin
2007-11-25 11:52 ` 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