1 |
Since my blog doesn't get syndicated on planet.gentoo.org I'm posting the |
2 |
entry here again, but it's probably a good idea anyway: |
3 |
|
4 |
First I want to apologize for the current situation. I know we're lagging |
5 |
behind and I know that bugs are piling up. |
6 |
As a small excuse I can only say that my time is limited and PostgreSQL |
7 |
isn't the only thing in Gentoo I (have to) maintain. |
8 |
|
9 |
But there are good news: |
10 |
Thanks to the help of Michael Krelin (also known as polyonymous on IRC) I |
11 |
was able to commit a whole new set of ebuilds yesterday. |
12 |
Now, you're probably going to ask why we just didn't go on with the current |
13 |
ebuilds in the tree. |
14 |
|
15 |
There are a couple of reasons: |
16 |
a) dev-db/libpq is slotted but with collisions. Fixing this wasn't really an |
17 |
option since slotting this was wrong from the beginning. |
18 |
b) The split-up in two packages dev-db/{libpq,postgresql} was wrong too: |
19 |
There are a couple of packages which do not only need libpq, but also one |
20 |
of the other PostgreSQL libraries (like libecpg, libpgtypes, libecpg_compat |
21 |
or libpgport). |
22 |
c) Upgrading between major versions of PostgreSQL requires the DB admin to |
23 |
bump the database using the old version, moving the database away and to |
24 |
reload the dump into a new database cluster using the new version of |
25 |
PostgreSQL. Having to take down the old server and purging the old version |
26 |
of PostgreSQL before being able to try out the new one is more than |
27 |
cumbersome. Therefore a slotted postgresql-server is needed to make the |
28 |
upgrade easier. |
29 |
d) A lot of things were broken in the old postgresql ebuilds as you can see |
30 |
when going through the bug list and we needed to give them a general |
31 |
overhaul. |
32 |
|
33 |
What do the new ebuilds offer: |
34 |
a) A split into dev-db/postgresql-{base,server,docs}. Now, I know that |
35 |
splitting up packages isn't the Gentoo way. I know we could have done it |
36 |
using USE flags but this approach gives more flexibility due to the current |
37 |
way how binary packages are being generated and distributed. |
38 |
b) New virtuals: virtual/postgresql-{base,server} to be able to install |
39 |
pgcluster as your postgresql-base in a next step. |
40 |
c) Slotting: It is now possible to have more than one major version of |
41 |
PostgreSQL installed and running on the same machine. |
42 |
d) A lot of other improvements, in detail, the following bugs will be fixed: |
43 |
42894 Suggestion of use of slots for PostgreSQL |
44 |
49864 dev-db/postgresql - pkg_config should allow passing optio... |
45 |
55073 PostgreSQL client versus server installation |
46 |
154620 PostgreSQL 8.1 server lacks instrumentation functions for... |
47 |
158509 dev-db/libpq-8.0.9 fails configure with segmentation faul... |
48 |
159223 postgresql threads USE flag required for ecpg |
49 |
160178 dev-db/libpq : using (almost deprecated) gnuconfig_update |
50 |
160181 dev-db/postgresql : using (almost deprecated) gnuconfig_u... |
51 |
161803 dev-db/postgresql - /etc/conf.d/postgresql PG_OPTS variab... |
52 |
161980 QA Notice: USE Flag 'kernel_linux' not in IUSE for dev-db... |
53 |
177555 Postgresql/libpg upgrade from 8.1.8 to libpg-8.2.4 and po... |
54 |
194350 >=dev-db/libpq-8.2.4 creates broken symlinks |
55 |
194701 dev-db/postgresql - wrong elog into about configuration f... |
56 |
198434 dev-db/postgresql - add ldap use flag |
57 |
206725 dev-db/{libpq,postgresql} 8.2.7/8.3.1 version bump |
58 |
206820 dev-db/postgresql default conf.d should not override max_... |
59 |
209826 dev-db/postgresql - 2 issues with the current init script |
60 |
210938 dev-db/postgresql - disable strict permission check on ss... |
61 |
213699 dev-db/libpq-8.2.6 failed to configure w/ USE="threads" |
62 |
214438 The dev-db/postgresql-8.2.6 ebuild does not respect confi... |
63 |
215940 dev-db/postgresql provides bad init script for baselayout... |
64 |
|
65 |
|
66 |
What you have to do to switch: |
67 |
I'll put together more documentation as soon as the ebuilds get unmasked (in |
68 |
1-2 weeks). |
69 |
In general the only thing you have to then do is to uninstall dev-db/libpq |
70 |
and dev-db/postgresql and install the same version of postgresql-base and |
71 |
postgresql-server. No revdep-rebuild is needed. |
72 |
For early adopters: It's best to wait until we changed the dependencies, |
73 |
afterwards you can unmask the dev-db/postgresql-{docs,base,server} |
74 |
packages... |
75 |
|
76 |
What is needed from the ebuild developers side: |
77 |
We have to change every dependency on dev-db/libpq to |
78 |
virtual/postgresql-base and dev-db/postgresql to virtual/postgresql-server. |
79 |
As soon as the old ebuilds are gone, we have to go through the ebuilds |
80 |
depending on virtual/postgresql-server whether they can be built with |
81 |
dev-db/postgresql-base only. Do not switch from dev-db/postgresql to |
82 |
virtual/postgresql-base directly as long as you can't assure that your |
83 |
package builds with libpq only. |
84 |
|
85 |
Well, that's it basically. Don't hesitate to contact me in case of problems |
86 |
or suggestions. You can answer to this post, leave comments on |
87 |
http://dev-zero.ch/blog/ or send me a mail of course :-). |
88 |
(But don't expect me to read forum entries since I simply do not have the |
89 |
time to do that regularly.) |
90 |
|
91 |
Again, many thanks to Michael Krelin and all the others who helped with |
92 |
testing and sending patches. |
93 |
|
94 |
Cheers, |
95 |
Tiziano |
96 |
|
97 |
|
98 |
-- |
99 |
gentoo-dev@l.g.o mailing list |