Re: [PORTS] PostgreSQL 6.5.2 ported to QNX 4 - Mailing list pgsql-ports

From Kardos, Dr. Andreas
Subject Re: [PORTS] PostgreSQL 6.5.2 ported to QNX 4
Date
Msg-id 002001bf4231$1038c590$99301eac@nt-kardos.Dr.repas.de
Whole thread Raw
Responses Re: [PORTS] PostgreSQL 6.5.2 ported to QNX 4
List pgsql-ports
>Send to the "patches" mailing list, unless the patches are
>prohibitively large. afaik the upper limit on mail size for patches is
>big.


Done.

>If it is OK with you, I will put your summary of steps required into
>our source tree as doc/FAQ_QNX. If you have access to the source tree
>you can make changes from there, or if not I'll mail to you the file
>as I've committed it and if it is OK you can make changes from that
>version.


I am new to PostgreSQL so I probably don't have access to the source tree.

>How would you suggest I mention it in the "ports list"? Since you need
>to patch the sources, I guess it isn't "fully supported", but does
>"needs minor patches" describe it correctly?


Yes that's right. But the new QNX port specific files could be completly
included into the standard distribution. Some sources have been extended
with "#ifdef __QNX__". These extensions could be integrated too. Two files
(arrayfuncs.c and chunk.c) have been fixed to reduce warnings. These fixes
are valid for all platforms.

The majority of changed files are Makefiles because on QNX it is not
possible to generate all the "backend/.../SUBSYS.o" as objects because
the -r option is not supported. On QNX I generate archive files now. This is
a general question. I would prefer the archive solution. If the standard
distribution will not be changed this way it will be neccessary to patch the
"backend/.../Makefile"s. Furthermore I couldn't include the bootstrap.o and
ipc.o files into the SUBSYS.o archives because the QNX archiver wlib crashes
with them. I don't know why. Therefore I included them directly into
backend/Makefile

Because I am new to PostgreSQL I would prefer if someone of the core
developers could include the extensions/changes into the source tree.

Completly new files:

pgsql/doc/README.qnx4
pgsql/src/makefiles/Makefile.qnx4
pgsql/src/template/QNX
pgsql/src/include/port/qnx4.h
pgsql/src/backend/port/dynloader/qnx4.h
pgsql/src/backend/port/dynloader/qnx4.c
pgsql/src/backend/port/qnx4/Makefile
pgsql/src/backend/port/qnx4/isnan.c
pgsql/src/backend/port/qnx4/rint.c
pgsql/src/backend/port/qnx4/sem.c
pgsql/src/backend/port/qnx4/shm.c
pgsql/src/backend/port/qnx4/tstrint.c
pgsql/src/backend/port/qnx4/tstsem.c
pgsql/src/backend/port/qnx4/tstshm.c

Extended files:

pgsql/src/backend/port/isinf.c
pgsql/src/backend/postmaster/postmaster.c
pgsql/src/backend/utils/adt/arrayfuncs.c
pgsql/src/backend/utils/adt/chunk.c
pgsql/src/bin/pg_passwd/pg_passwd.c
pgsql/src/include/storage/s_lock.h
pgsql/src/include/utils/builtins.h
pgsql/src/config.guess
pgsql/src/config.sub
pgsql/src/configure

Patched files:

pgsql/src/backend/access/common/Makefile
pgsql/src/backend/access/gist/Makefile
pgsql/src/backend/access/hash/Makefile
pgsql/src/backend/access/heap/Makefile
pgsql/src/backend/access/index/Makefile
pgsql/src/backend/access/nbtree/Makefile
pgsql/src/backend/access/rtree/Makefile
pgsql/src/backend/access/transam/Makefile
pgsql/src/backend/access/Makefile
pgsql/src/backend/bootstrap/Makefile
pgsql/src/backend/catalog/Makefile
pgsql/src/backend/commands/Makefile
pgsql/src/backend/executor/Makefile
pgsql/src/backend/lib/Makefile
pgsql/src/backend/libpq/Makefile
pgsql/src/backend/main/Makefile
pgsql/src/backend/nodes/Makefile
pgsql/src/backend/optimizer/geqo/Makefile
pgsql/src/backend/optimizer/path/Makefile
pgsql/src/backend/optimizer/plan/Makefile
pgsql/src/backend/optimizer/prep/Makefile
pgsql/src/backend/optimizer/util/Makefile
pgsql/src/backend/optimizer/Makefile
pgsql/src/backend/parser/Makefile
pgsql/src/backend/port/Makefile.in
pgsql/src/backend/postmaster/Makefile
pgsql/src/backend/regex/Makefile
pgsql/src/backend/rewrite/Makefile
pgsql/src/backend/storage/buffer/Makefile
pgsql/src/backend/storage/file/Makefile
pgsql/src/backend/storage/ipc/Makefile
pgsql/src/backend/storage/large_object/Makefile
pgsql/src/backend/storage/lmgr/Makefile
pgsql/src/backend/storage/page/Makefile
pgsql/src/backend/storage/smgr/Makefile
pgsql/src/backend/storage/Makefile
pgsql/src/backend/tcop/Makefile
pgsql/src/backend/utils/adt/Makefile
pgsql/src/backend/utils/cache/Makefile
pgsql/src/backend/utils/error/Makefile
pgsql/src/backend/utils/fmgr/Makefile
pgsql/src/backend/utils/hash/Makefile
pgsql/src/backend/utils/init/Makefile
pgsql/src/backend/utils/misc/Makefile
pgsql/src/backend/utils/mmgr/Makefile
pgsql/src/backend/utils/sort/Makefile
pgsql/src/backend/utils/time/Makefile
pgsql/src/backend/utils/Makefile
pgsql/src/backend/Makefile
pgsql/src/interfaces/libpgtcl/Makefile.in
pgsql/src/interfaces/libpq/Makefile.in
pgsql/src/interfaces/libpq++/Makefile.in
pgsql/src/pl/plpgsql/src/Makefile.in

pgsql/src/test/regress/regress.sh

The new and changes files could go into standard distribution. The patched
Makefiles can be incorporated only if the standard
$(LD) -r -o SUBSYS.o $(OBJS)
will be changed to
$(AR) $(AROPT) SUBSYS.o $(OBJS)
May be there is a more elegant way to do this. But I don't know one.

pgsql/src/Makefile.custom should be treated separately.


Sorry for my poor English.

Andreas



pgsql-ports by date:

Previous
From: Thomas Lockhart
Date:
Subject: Re: [PORTS] PostgreSQL 6.5.2 ported to QNX 4
Next
From: Bruce Momjian
Date:
Subject: Re: [PORTS] PostgreSQL 6.5.2 ported to QNX 4