[Debian GNUstep maintainers] Extending config.mk

Yavor Doganov yavor at gnu.org
Mon Dec 18 23:00:19 UTC 2017


These days it seems fashionable to minimize debian/rules as possible,
so I suggest to add

messages := yes

to gnustep-make/debian/addons/config.mk.

That way, each package can stop defining it explicitly if it simply
includes config.mk.  The only problem I see with this change is that
we'll get verbose output for all other targets like install/distclean
and we generally don't need that.  (I used to define messages=yes
during install for a specific package long time ago when I was chasing
an obscure gnustep-make bug.  It turned out to be a bug in the
makefile; upstream was using a private variable that was either
removed or changed semantics in a new gnustep-make release.)

IMHO a better approach would be to define in config.mk:

gnustep_build_cmd := dh_auto_build -- $(optim) messages=yes \
  		       $(shell dpkg-buildflags --export=cmdline)

For most packages, it would be sufficient to do:

override_dh_autobuild:
	$(gnustep_build_cmd)

We can drop the override entirely if GNUstep Make is fixed to honor
environment variables (on my TODO list, along with other enhancement
proposals that I have to discuss on gnustep-dev@ first).

Hubert had the vision that maintaining a GNUstep package shouldn't be
any different or harder than any other package, and that all
GNUstep-specific things should be wrapped in Debian-specific tool and
machinery that should work out of the box.  This was the idea of
gsdh_gnustep and the cdbs implementation, although gsdh_gnustep was
never finished.  CDBS works without major changes after all these
years, which is amazing.  (JFTR, I dislike CDBS very much but decided
not to migrate some packages to dh in order to test the GNUstep cdbs
stuff.)

When debhelper evolved to dh, initially I thought that we should
implement a specific "gnustep" debhelper buildsystem.  I no longer
share this opinion, because GNUstep packages need very few additional
things on top of the standard debhelper buildsystem and we should
attempt to implement them via config.mk.

I think we should kill gsdh_gnustep entirely, starting with the
horrible hack gs_make first.  Since the "debian" layout was added in
gnustep-make, the only *useful* job that gsdh_gnustep was doing was
for the core GNUstep packages.  But Eric changed them to use standard
dh files/tools and eliminated the ${gnustep:Depends} substvar.  I
think the core packages are more complex now, but that's just my
opinion and I fully agree that the added complexity of two packages is
worth it if we can get rid of the gs_* things.

WDYT?




More information about the pkg-GNUstep-maintainers mailing list