Gentoo Archives: gentoo-server

From: Ricardo Loureiro <rjlouro@×××××××.org>
To: gentoo-server@l.g.o
Subject: Re: [gentoo-server] Building binary packages
Date: Tue, 21 Feb 2006 18:06:15
Message-Id: 1A5DFB38-DCB7-4CB1-9D24-A0990B06EE48@rjlouro.org
In Reply to: [gentoo-server] Building binary packages by Thomas Schreiner
1 -----BEGIN PGP SIGNED MESSAGE-----
2 Hash: SHA1
3
4 Hi,
5
6 I've been using binary packages for over 6 months and while they do
7 work great there are some things that do not work as they should.
8
9 The main problem is USE flags, they are completely ignored if the
10 system has different USE flags than the binary package, so you should
11 make sure the machine making the binary package as exactly the same
12 USE flags for that package as the machine which will be installing
13 it. An 'emerge -vp package' should be enough.
14
15 I haven's actually tested for the same behavior regarding CFLAGS,
16 since all machines were identical, but you should double check it.
17
18 The main problem is how to calculate the library dependencies. I
19 would suggest you do the test on a separate machine, set the same
20 environment as the target (same make.conf and profile) and update
21 mysql. You could set 'buildpkg' in FEATURES inside your make.conf so
22 it will create the binary packages while installing them. Do a revdep-
23 rebuild and save the list of packages it will recompile. After you
24 have that list and the test machine is working as it should, grab the
25 binary packages that are created in /usr/portage/packages/ (if you
26 haven't changed the default path) and install them in the target system.
27
28 This probably isn't an easy task, the easy way would be create binary
29 packages of the stuff you really need (mysql, php, perl,<insert stuff
30 you know depends on mysql>) on the test machine with the target
31 machine specs and have them ready when upgrading. don't forget to use
32 'emerge -k' to use binary packages instead of compiling them or
33 'emerge -K' to only use binary packages and abort when a binary
34 package isn't found.
35
36 Just occurred me, an easy way to determine which packages depend on
37 mysql and will most likely fail if not rebuild is to use
38 'equery' (need to install gentoolkit) and do an 'equery depends -D
39 mysql' for a list of all packages (including indirect dependencies)
40 that depend on mysql, and also 'equery hasuse mysql' for a list of
41 all packages that have the mysql USE flag. This last one is most
42 likely redundant, since it should be included in the list returned by
43 the equery depends command.
44
45 The migration doc (http://www.gentoo.org/doc/en/mysql-upgrading.xml)
46 explains how you can create a backup of your system, which you really
47 should take a look, if you haven't already.
48
49 Hope it helps,
50 Ricardo Loureiro
51
52 On Feb 21, 2006, at 3:47 PM, Thomas Schreiner wrote:
53
54 > Hi,
55 >
56 > my problem upgrading to mysql-4.1 is the downtime that I am going
57 > to get
58 > while the new build completes.
59 >
60 > That's why I was planning to build a binary package for mysql-4.1 on a
61 > second host in order to install it on my production server, but I
62 > could
63 > not find a list of common pitfalls to consider while building packages
64 > for a different host. These are the things that I can think of so far:
65 >
66 > - appropriate make.conf, CFLAGS etc.
67 > - right USE flags (or make.profile in general)
68 > - same version of libraries / dependencies to prevent dynamic
69 > linking of
70 > libraries that don't exist on target host (that's going to be a
71 > hard one)
72 >
73 > Is there a HowTo that lists all things to consider, or is it a
74 > generally discouraged thing to build packages for another host if
75 > the hosts
76 > are not 100% the same?
77 >
78 > Thanks a lot
79 >
80 > Thomas
81 > --
82 > gentoo-server@g.o mailing list
83 >
84
85 -----BEGIN PGP SIGNATURE-----
86 Version: GnuPG v1.4.2 (Darwin)
87
88 iD8DBQFD+1XmJePPaWt8DsARAmIzAJ0UNTWyKTguNp83d58h4pyEdcMiAQCdF4Lh
89 xvSpsgaZ35oXfgM1lGlPCCE=
90 =fCZh
91 -----END PGP SIGNATURE-----
92 --
93 gentoo-server@g.o mailing list

Replies

Subject Author
Re: [gentoo-server] Building binary packages Thomas Schreiner <gentoo@××××××××××.org>