[Debian GNUstep maintainers] Re: new upstream GNUstep packages
Hubert Chan
hubert at uhoreg.ca
Mon Mar 27 02:16:17 UTC 2006
Hello, all GNUstep packagers,
This message contains important information on the upcoming GNUstep
transition, so please read the whole thing.
I've prepared new (preliminary) packages for the GNUstep libraries, and
I've started recompiling some packages. I've combined my GNUstep
repository with my regular Debian package repository, so the location
has changed from last time. The apt line would now be:
deb http://www.uhoreg.ca/programming/debian unstable main
and for sources:
deb-src http://www.uhoreg.ca/programming/debian unstable main
(I'm also working on setting it up so that the GNUstep stuff can also be
fetched separately from my other packages.) To download packages
directly, my repository is using the "pool" directory structure so, for
example, gnustep-make would be at
http://www.uhoreg.ca/programming/debian/pool/main/g/gnustep-make/
and affiche would be at
http://www.uhoreg.ca/programming/debian/pool/main/a/affiche/
(Or you can just look at
http://www.uhoreg.ca/programming/debian/dists/main/sid/source/Sources
)
Some changes and things to note:
- THESE PACKAGES HAVE NOT YET BEEN TESTED. They've been tested to the
point that things will compile, and that I know that parallel
installation with the old libraries don't work. But I haven't
actually run anything yet. That said, I still expect everything to
work, but I'll be testing it in the next few days.
- Due to the fact that gnustep-base's soname was bumped, but
gnustep-gui's was not, this set of libraries is not parallel
installable with the previous set. That means that everything really
does need to be recompiled again.
- If you are currently Build-depends:-ing on gnustep-base1.11-dev,
please drop the "1.11" and just Build-depends: on gnustep-base-dev.
ftp-masters don't seem to like the soname in the -dev package unless
absolutely necessary, so I've taken the opportunity of this soname
bump to drop the soname from gnustep-base. And since OpenStep is a
pretty stable API, it makes sense to drop the soname. I'll do the
same thing to gnustep-gui when its soname gets bumped too.
- I've split a new package off of gnustep-make called gnustep-common, so
that users don't have to install all the makefiles.
- Gürkan, I think you'll like this one: I've made it easier to build
everything for a different GNUstep root (e.g. /usr/GNUstep), and to
not perform the file relocations. At the top of the debian/rules file
for gnustep-make, I have a few configuration variables that set up the
environment that allow you to set the GNUstep System, Local, and
Network roots. Also, there's a variable called GS_USE_FHS that is set
to "yes". If you set it to "no", then gnustep-make will not try to do
any of the FHS-related file relocations.
In order to make sure that everyone's packages are consistent with the
gnustep-make package used to compile it, please do the following:
- either Build-depends: on gnustep-make (>= 1.12.0), or on
libgnustep-base-dev (>= 1.12.0) or on libgnustep-gui0.10-dev (>=
0.10.3). (It's really the Build-depends: on gnustep-make that we
want, but the last two will pull in the right version of
gnustep-make.) (Since you're probably already Build-depends:-ing on
libgnustep-gui0.10-dev, it probably makes the most sense to just add
the (>= 0.10.3) version.)
- instead of hardcoding the GNUstep root directory in your
debian/rules file, include /usr/share/GNUstep/debian/config.mk, and
use the GS_ROOT and GS_SYSTEM_ROOT (and other variables) that are
defined there. Note that these variables include the leading slash
in the pathname. It should be fine for most cases, but be aware,
since this might cause some issues.
- if the GS_USE_FHS variable in /usr/share/GNUstep/debian/config.mk is
not set to "yes", do not perform the FHS-related file relocations.
If you are currently using gsdh_gnustep to do the relocations (which
I assume is the case for everyone), you don't need to worry about
this, since gsdh_gnustep will do the right thing.
(Gürkan, in order to create a system in, say, /usr/GNUstep and that
does not have the file relocations done, and have everything left in
the GNUstep places, just rebuild gnustep-make with the appropriate
variables changed. Install the rebuilt gnustep-make, and rebuild all
the other packages -- no other changes should be necessary -- and
everything should be built as desired. I haven't actually tested this
out, but it should work. Let me know if you try it out.)
- in order to make creating packages even easier, I've included in
gnustep-make a few cdbs scripts that will make writing debian/rules
files for *most* cases extremely simple. For example, if you are
packaging an application named Foo, and it installs things only in
$(GS_SYSTEM_ROOT)/Applications/Foo.app, then your debian/rules file
will just look like this:
,----[debian/rules]
| #!/usr/bin/make -f
|
| # Uncomment this to turn on verbose mode.
| #export DH_VERBOSE=1
|
| DEB_GS_APPLICATIONS = Foo
|
| include /usr/share/cdbs/1/rules/gnustep.mk
| include /usr/share/cdbs/1/class/gnumakefile.mk
|
| # Use automatically-generated lintian overrides file
| DEB_GS_AUTO_LINTIAN_OVERRIDES = y
|
| # Install maintainer-written manpage
| DEB_INSTALL_MANPAGES_foo.app = debian/Foo.1
`----
And you just have to edit your debian/control file to Build-Depends:
on cdbs.
I haven't fully documented it yet, but you can take a look at the
comments at the top of /usr/share/cdbs/1/rule/gnustep.mk, and look at
some of the other packages that I've compiled so far (renaissance,
affiche, addresses-for-gnustep, and in the near future: pantomime1.2,
popplerkit.framework, gnumail). And if you have any questions, ask
me. I'll eventually get around to documenting it...
--
Hubert Chan - email & Jabber: hubert at uhoreg.ca - http://www.uhoreg.ca/
PGP/GnuPG key: 1024D/124B61FA (Key available at wwwkeys.pgp.net)
Fingerprint: 96C5 012F 5F74 A5F7 1FF7 5291 AF29 C719 124B 61FA
More information about the pkg-GNUstep-maintainers
mailing list