[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