I operate a Linux-based build system. The build system itself is based on Jenkins, Nexus, Maven, Ant and Shell scripting.

Some projects need some special tools and libraries for building. Specifically, we have some Ant-Tasks that are only needed by two projects, and we don't want to drop this tasks into the ant-folder. What's your recommendation to place these ant-tasks into right location according to FHS?

Moreover we have some general purpose xlt-templates, that we need to transform various XMLs in our development projects. The transformation sheets are needed by different but not all projects. Where to put all these XLTs?

1 Answer 1


It really depends on whether you're going to make a package (e.g. .rpm on RH, .deb on debian), or just rely on 'make install' or similar.

Libraries belong under /lib or /usr/lib for packages, or /usr/local/lib for locally compiled stuff.

Shared data like XML files could go under /usr/local/share or /var/lib

My recommendation is to install packages for the libraries you need - if they're open source libs they may already be packaged for your distro(s). If they're your own code, then package them yourself so they can easily be installed (and uninstalled) on any target system. The effort and time invested in learning how to use your distro's packaging system will repay itself many times over.

  • We don't make or intend to make linux packages. We build java projects and for the most part the libraries are jar-packages, that we manage over Nexus; that are build dependencies. In contrast the ant tasks aren't build dependencies, I imagine the additional ant-tasks are tools like other tools also. But /lib, /usr/lib and /usr/local/lib should contain libraries "to boot and run the system", "internal binaries for programming" or "internal libraries for system administrators" respectively. But where to put tools or tool-plugins like ant-tasks, that don't belong to any of this three groups?
    – shylynx
    Sep 16, 2013 at 6:44

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .