Re: [Pgsqlrpms-hackers] [GENERAL] weird bug in rebuilding RPMs

2010-02-11 Thread Devrim GÜNDÜZ
On Mon, 2010-02-08 at 10:33 -0500, Tom Lane wrote:
 But having said that, I don't get the point of trying to build a
 nonstandard installation from the RPM.  That seems more or less
 antithetical to most of the design concepts of RPM-based distros;
 and it certainly seems pretty silly if your intent is to transition
 to the standard RPM later. 

Right.

Also, I think using _prefix is not supported? Isn't it considered as
relocation of postgresql rpm?
-- 
Devrim GÜNDÜZ
Professional PostgreSQL Services, Training, 24x7 Support
Authors: PostgreSQL RPMs, PITRTools, PostgreSQL Replicator 
http://www.commandprompt.com/ XMPP: dgun...@jabber.commandprompt.com
Twitter: http://twitter.com/devrimgunduz


signature.asc
Description: This is a digitally signed message part


[GENERAL] weird bug in rebuilding RPMs

2010-02-11 Thread kz win
Hello,

I'm a long time user and I had always installed postgres by compiling
from source.
I recently moved to a new environment where everything is installed as
rpm and plus
I need to install a newer postgres for testing while keeping the
existing version in place.
That leads me to repackage postgres rpm.

Because I will eventually be installing red hat rpm I take their
latest srpm and modify their rpm spec file
in order to let me install rpm.  After trials and errors I have
managed to rebuild rpm to my satisfaction
but would like to report a minor bug.

I can now rebuild rpms so that all files go under a specific directory
specified by _prefix directive in ~/.rpmmacros
Forgetting lots of other bugs that I managed to fix, this weird bug is
making me use _prefix that does not include
the word pgsql in the path name any where.  For example if _prefix
path has the word pgsqL or pgsq or pgsqA then rebuilding is successful
but if the path includes the word pgsql or pgsql-8.1.18 or pgsqll then
rebuilding breaks down.

It is failing at install stage.  This is the command.
$ rpmbuild --bi spec
I always do rpmbuild --clean spec before any rebuilding.

What follows is the error message before it quits (prefix is
/usr/local/pgsql/bla)
-
make: Leaving directory `/home/me/build/BUILD/postgresql-8.1.18/contrib/xml2'
+ case `uname -i` in
++ uname -i
++ uname -i
+ mv 
/var/tmp/postgresql-8.1.18-2.1-root//usr/local/pgsql/bla/include/pg_config.h
/var/tmp/postgresql-8.1.18-2.1-root//usr/local/pgsql/bla/include/pg_config
_x86_64.h
+ install -m 644 /home/me/build/SOURCES/pg_config.h
/var/tmp/postgresql-8.1.18-2.1-root//usr/local/pgsql/bla/include
++ uname -i
+ mv 
/var/tmp/postgresql-8.1.18-2.1-root//usr/local/pgsql/bla/include/pgsql/server/pg_config.h
/var/tmp/postgresql-8.1.18-2.1-root//usr/local/pgsql/bla/incl
ude/pgsql/server/pg_config_x86_64.h
mv: cannot stat
`/var/tmp/postgresql-8.1.18-2.1-root//usr/local/pgsql/bla/include/pgsql/server/pg_config.h':
No such file or directory
error: Bad exit status from /var/tmp/rpm-tmp.56667 (%install)


RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.56667 (%install)
-
If any one else would find it useful, I can also post a diff of the
spec file which will make it possible for repackaging and including
renaming so that it does not override the existing version.  Other
bugs I encountered are of the nature: paths that should not be
hard-coded are hard-coded and vice versa.

Thanks

mr.wu

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] weird bug in rebuilding RPMs

2010-02-08 Thread Alvaro Herrera
zhong ming wu escribió:

 I can now rebuild rpms so that all files go under a specific directory
 specified by _prefix directive in ~/.rpmmacros  Forgetting lots of
 other bugs that I managed to fix, this weird bug is making me use
  _prefix that does not include the word pgsql in the path name any
 where.  For example if _prefix path has the word pgsqL or pgsq
 or pgsqA then rebuilding is successful but if the path includes the
 word pgsql or pgsql-8.1.18 or pgsqll then rebuilding breaks down.

Yeah, the Makefiles contain a trick to put append /pgsql to the
include dir (and others) if the prefix does not already contain pgsql
or postgresql or similar.  This is probably what is causing the build
to fail.  See src/Makefile.global.in:

##
#
# Installation directories
#
# These are set by the equivalent --xxxdir configure options.  We
# append postgresql to some of them, if the string does not already
# contain pgsql or postgres, in order to avoid directory clutter.

-- 
Alvaro Herrerahttp://www.CommandPrompt.com/
The PostgreSQL Company - Command Prompt, Inc.

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] weird bug in rebuilding RPMs

2010-02-08 Thread Tom Lane
Alvaro Herrera alvhe...@commandprompt.com writes:
 zhong ming wu escribió:
 I can now rebuild rpms so that all files go under a specific directory
 specified by _prefix directive in ~/.rpmmacros  Forgetting lots of
 other bugs that I managed to fix, this weird bug is making me use
 _prefix that does not include the word pgsql in the path name any
 where.

 Yeah, the Makefiles contain a trick to put append /pgsql to the
 include dir (and others) if the prefix does not already contain pgsql
 or postgresql or similar.  This is probably what is causing the build
 to fail.  See src/Makefile.global.in:

Yeah, I suspect that the RPMs depend in various ways on the assumption
that those pathname substitutions will happen.  I haven't got round to
testing, but it might be a good idea to change rpm-pgsql.patch to make
the substitutions unconditional, so that the file layout below the
_prefix is fixed regardless of what the _prefix is.

But having said that, I don't get the point of trying to build a
nonstandard installation from the RPM.  That seems more or less
antithetical to most of the design concepts of RPM-based distros;
and it certainly seems pretty silly if your intent is to transition
to the standard RPM later.

regards, tom lane

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


[GENERAL] weird bug in rebuilding RPMs

2010-02-07 Thread zhong ming wu
Hello,

I'm a long time user and I had always installed postgres by compiling
from source. I recently moved to a new environment where
everything is installed as rpm and plus I need to install a newer
postgres for testing while keeping the existing version in place.
That leads me to repackage postgres rpm.

Because I will eventually be installing red hat rpm I take their
latest srpm and modify their rpm spec file in order to let me install
rpm.  After trials and errors I have managed to rebuild rpm to my
satisfaction but would like to report a minor bug.

I can now rebuild rpms so that all files go under a specific directory
specified by _prefix directive in ~/.rpmmacros  Forgetting lots of
other bugs that I managed to fix, this weird bug is making me use
 _prefix that does not include the word pgsql in the path name any
where.  For example if _prefix path has the word pgsqL or pgsq
or pgsqA then rebuilding is successful but if the path includes the
word pgsql or pgsql-8.1.18 or pgsqll then rebuilding breaks down.

It is failing at install stage.  This is the command.
$ rpmbuild --bi spec
I always do rpmbuild --clean spec before any rebuilding.

What follows is the error message before it quits (prefix is
/usr/local/pgsql/bla)
-
make: Leaving directory `/home/me/build/BUILD/postgresql-8.1.18/contrib/xml2'
+ case `uname -i` in
++ uname -i
++ uname -i
+ mv 
/var/tmp/postgresql-8.1.18-2.1-root//usr/local/pgsql/bla/include/pg_config.h
/var/tmp/postgresql-8.1.18-2.1-root//usr/local/pgsql/bla/include/pg_config
_x86_64.h
+ install -m 644 /home/me/build/SOURCES/pg_config.h
/var/tmp/postgresql-8.1.18-2.1-root//usr/local/pgsql/bla/include
++ uname -i
+ mv 
/var/tmp/postgresql-8.1.18-2.1-root//usr/local/pgsql/bla/include/pgsql/server/pg_config.h
/var/tmp/postgresql-8.1.18-2.1-root//usr/local/pgsql/bla/incl
ude/pgsql/server/pg_config_x86_64.h
mv: cannot stat
`/var/tmp/postgresql-8.1.18-2.1-root//usr/local/pgsql/bla/include/pgsql/server/pg_config.h':
No such file or directory
error: Bad exit status from /var/tmp/rpm-tmp.56667 (%install)


RPM build errors:
Bad exit status from /var/tmp/rpm-tmp.56667 (%install)
-
If any one else would find it useful, I can also post a diff of the
spec file which will make it possible for repackaging and including
renaming so that it does not override the existing version.  Most
bugs I encountered are of the nature: paths that should not be
hard-coded are hard-coded and vice versa.

Thanks

mr.wu

-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general