[Debian GNUstep maintainers] gnustep-make upload

Yavor Doganov yavor at gnu.org
Sat Oct 21 22:49:29 UTC 2017


Eric Heintzmann wrote:
> Le 20/10/2017 à 09:50, Yavor Doganov a écrit :
> > ## TODO: check if we can comply with XDG  --with-user-defaults-dir=
> 
> ie splitting ~/GNUstep/ dir and moving into ~/.config/, ~/.local/share/
> and ~/.cache/
> I don't think it is possible, or even desirable.

Ah, this is not possible (and I don't think it's desirable, either).
If we specify -with-user-defaults-dir='.config/GNUstep/Defaults' it
would be more confusing for most users and this setting won't be
uniform for the GNUstep USER domain wrt XDG.  There is no way to direct
the installation to XDG-compliant directories without significant
changes upstream to -make and -base.

AFAIK there's no pressure from Debian to go to that direction, or
perhaps I'm wrong here (having been detached/MIA for quite some time)?

> > Is there anything else to fix?  If not, should I upload to mentors and
> > seek for a sponsor?  
> Not needed, I'm going to upload it - I've got now uploading rights on
> -make and -base

Congratulations for becoming a DM, then!  This will certainly speed up
things.

> About flags, I can see
> 
> CFLAGS := -g -O2
> CXXFLAGS := $(CFLAGS)
> OBJCFLAGS :=
> CPPFLAGS :=
> LDFLAGS :=
> 
> Are they the default or recommended ones by upstream  ?

Just pristine (empty) flags instead of the dpkg buildflags.

They are populated by the recommended upstream (and some of them
necessary) flags when gnustep-make is configured, and on the fly when
debug|diagnose|strip is specified through additional/internal/private
make variables (named usually INTERNAL_* or ADDITIONAL_*), using
common GNU Make functions/features.

For some (historic?) reason, gnustep-make is treating CFLAGS and
CXXFLAGS (CCFLAGS in gnustep-make parlance -- they are CXXFLAGS in
configure.ac but become CCFLAGS through all of gnustep-make's
makefiles) differently to OBJCFLAGS, that's why I've set '-g -O2' for
C/C++.  The optimization flag is added through the OPTFLAG variable
later when common.make & friends get included and evaluated.

You can test the above change to the Debian package with this example
makefile:

> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >
> include $(GNUSTEP_MAKEFILES)/common.make >
> 					   >
> TOOL_NAME = foo			   >
> 					   >
> foo_OBJC_FILES = foo.m		   >
> foo_C_FILES = foo.c			   >
> foo_CC_FILES = foo.cc			   >
> 					   >
> include $(GNUSTEP_MAKEFILES)/tool.make   >
> >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> >

Just create empty/dummy .m/.c/.cc files.  (I tested it with a real
GNUstep tool + dummy .c and .cc additional files that link together in
a single executable).  Examine the compiler/linker flags with
messages=yes and compare with 2.7.0-1 (or the version in stable) --
the result is the upstream flags *without* the Debian hardening flags
which are strictly distro-specific and shouldn't be imposed on the
regular developer/user who is simply using Debian as a platform for
GNUstep development.




More information about the pkg-GNUstep-maintainers mailing list