[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