Re: [Pgsqlrpms-hackers] [GENERAL] weird bug in rebuilding RPMs
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
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
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
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
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