Reply to post: Re: SystemD - A Necessary Evil

Relax, it's just Ubuntu 15.04. AARGH! IT'S FULL OF SYSTEMD!!!

sed gawk Bronze badge

Re: SystemD - A Necessary Evil

It simply isn't possible for an independent developer to write quality software for Linux as a whole, and a big part of that is the complete mish-mash of locations and multiple ways of doing things which have accreted over decades.

I'm an "indie dev", it's very possible.

Single source base, single build system, multiple os/distro targets, including proper apple clicky .APP and the appropriate desktop short cut on gnome and kde, (I use KDE on freebsd / gnome on linux)

1) defer making a decision about paths by supporting staged installs of software.

2) allow for out of tree builds so you can build more than one *staging* area

3) use a build system designed for the task, e.g. the autotools or what every fits for your language.

4) write a noddy shell script to chose which set of parameters to provide

Here's an extract from my current noddy one

SCRIPT=$(abspath ${0})

SCRIPTPATH=`dirname ${SCRIPT}`

ROOTPATH=`dirname ${SCRIPTPATH}`

export PROJECT_ROOT=${ROOTPATH}

if [ "${1}" = "bsd" ];

then

${PROJECT_ROOT}/configure \

--prefix="/home/user/software" \

--enable-maintainer-mode \

--with-ccache=yes \

--enable-silent-rules ;

fi

if [ "${1}" = "osx" ];

then

CTAGS=/usr/local/bin/ctags \

CTAGSFLAGS="-R --tag-relative=yes --exclude=.git --exclude=build" \

ASTYLE_TOOL=/usr/local/Cellar/astyle/2.04/bin/astyle \

${PROJECT_ROOT}/configure \

--enable-maintainer-mode \

--prefix="/Applications" \

--with-ccache=yes \

--enable-silent-rules ;

fi

This makes it easy to package for red hat/debian/gentoo/freebsd/osx - These are the only platforms I actually deploy to, so I can't speak to others but I expect its the same.

POST COMMENT House rules

Not a member of The Register? Create a new account here.

  • Enter your comment

  • Add an icon

Anonymous cowards cannot choose their icon

Biting the hand that feeds IT © 1998–2019