[Fwd: [HACKERS] Re: Postgresql 6.5-1 rpms on RedHat 6.0]

Поиск
Список
Период
Сортировка
От Lamar Owen
Тема [Fwd: [HACKERS] Re: Postgresql 6.5-1 rpms on RedHat 6.0]
Дата
Msg-id 3784B957.FC6CEE10@wgcr.org
обсуждение исходный текст
Ответы Re: [Fwd: [HACKERS] Re: Postgresql 6.5-1 rpms on RedHat 6.0]  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
[a possible answer to the RedHat 6.0 rpm -ba on Thomas' new src.rpm]

Jeff Johnson wrote:

>Lamar Owen wrote:
> > The error is manifested as a "bad exit status" after doing the
> > recursive chgrp and before doing the recursive chmod of %setup.
> Hmmm, I think I know this one.
> 
> Rpm attempts to control for the behavior of tar when run by root
> by dooing chown/chgrp/chmod -R. All would be well, except that
> chgrp, when presented with a dangling symlink returns a non-zero
> return code which causes the build to crap out.
> 
> There are two approaches to a fix:
> 
> 1) Take the dangling (i.e. the target of the symlink doesn't exist)
> symlink out of the postgres tar ball.
> 
> 2) Don't attempt the chgrp while building. You can nuke the macro
> %_fixgrp in /usr/lib/rpm/macros. You can also add
>         %undefine _fixgrp
> just before the %setup in the postgres spec file. However, you will
> need to use the just released rpm-3.02 if you want to do the %undefine
> successfully.
> 
> Please post this wherever is appropriate.
> 
> 73 de Jeff
> 
> --
> Jeff Johnson    ARS N3NPQ
> jbj@redhat.com (jbj@jbj.org)
> Chapel Hill, NC

Ok, where does the tarball have a dangling symlink....
There are four symlinks in the tarball:
[root@utility postgresql-6.5]# find -type l -print
./src/interfaces/odbc/port
./src/interfaces/odbc/makefiles
./src/interfaces/odbc/template
./src/interfaces/odbc/config.h
[root@utility postgresql-6.5]# ls -lR|grep lrwxrwxrwx
lrwxrwxrwx   1 root     root           24 Jul  8 10:18 config.h ->
../.././inclu
de/config.h
lrwxrwxrwx   1 root     root           17 Jul  8 10:18 makefiles ->
../.././make
files
lrwxrwxrwx   1 root     root           20 Jul  8 10:18 port ->
../.././include/p
ort
lrwxrwxrwx   1 root     root           16 Jul  8 10:18 template ->
../.././templ
ate

[root@utility postgresql-6.5]# cd src/interfaces/odbc
[root@utility odbc]# ls ../../.
DEVELOPERS          config.guess        install-sh          test
GNUmakefile.in      config.sub          interfaces          tools
Makefile            configure           lextest             tutorial
Makefile.global.in  configure.in        makefiles           utils
Makefile.shlib      corba               man                 win32
backend             data                pl                  win32.mak
bin                 include             template

Hmmm... seems that config.h and port do not exist -- voila! The dangling
symlinks.  Can empty port and config.h files be shipped, or will that
break configure (which is what I'm assuming creates these files?)? 

The 6.5-1.beta1 spec file from rawhide handles this using the second
method, although it is incorrectly labeled as being a sparc/alpha fix:
----from postgresql.spec, from
ftp://rawhide.redhat.com/SRPMS/SRPMS/postgresql-6.5-1.beta1.src.rpm-----
# XXX work around sparc/alpha dangling symlink problem
%undefine       _fixgroup
-----------------------------
Which is why my rpms, derived from this spec file, built on 6.0, while
Thomas' src.rpm, not derived from this spec file and built on 5.2,
didn't build on 6.0.  So, there are two possibilities:

1.)    Eliminate the dangling symlinks.
2.)    Put the _fixgroup kludge in place in the production SRPM. HOWEVER,
this ONLY works with rpm >= 3.0.x -- which means a RH 5.2 system running
rpm 2.5 won't build it -- but we're supposed to update our rpm version
anyway.

Thomas?

And, thanks, Jeff!

Lamar Owen
WGCR Internet Radio
KF4MYT


В списке pgsql-hackers по дате отправления:

Предыдущее
От: Tom Lane
Дата:
Сообщение: Re: [HACKERS] Delaying insertion of default values
Следующее
От: Vince Vielhaber
Дата:
Сообщение: Re: [HACKERS] PATCH for pgconnection.h