]> https://gitweb.dealii.org/ - dealii.git/commitdiff
Add notes on packaging for distributions.
authorDavid Wells <drwells@email.unc.edu>
Sat, 6 Jul 2019 22:53:05 +0000 (18:53 -0400)
committerDavid Wells <drwells@email.unc.edu>
Sat, 6 Jul 2019 22:53:05 +0000 (18:53 -0400)
doc/developers/packaging.html [new file with mode: 0644]
doc/index.html

diff --git a/doc/developers/packaging.html b/doc/developers/packaging.html
new file mode 100644 (file)
index 0000000..3cca7fa
--- /dev/null
@@ -0,0 +1,102 @@
+<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+         "http://www.w3.org/TR/html4/loose.dtd">
+<html>
+  <head>
+    <title>Packaging deal.II</title>
+    <link href="../screen.css" rel="StyleSheet" media="screen">
+    <meta name="copyright" content="Copyright (C) 2000 - 2019 by the deal.II Authors">
+    <meta name="keywords" content="deal.II packaging">
+  </head>
+
+  <body>
+
+    <h1>Packaging <acronym>deal.II</acronym> for a Unix-like distribution</h1>
+
+    <h2>Overview</h2>
+    <p>
+      This page describes how to write packaging scripts
+      for <acronym>deal.II</acronym>. <acronym>deal.II</acronym> is written in
+      C++11 and is known to work with fairly recent GCC, Clang, and Intel
+      compilers. It is licensed under the LGPL v2.1. We recommend reading
+      the <a href="porting.html">porting</a> document first for
+      a description of the requirements of the build
+      system. <acronym>deal.II</acronym> does not support any type of plug-in
+      architecture for dependencies: all dependencies must be provided at
+      compile-time.
+
+      The only required dependency of <acronym>deal.II</acronym> is boost.
+    </p>
+
+
+    <h2>Examples</h2>
+    <acronym>deal.II</acronym> is already available in many Linux distributions:
+    for example packaging scripts see, e.g.,
+    <p>
+      <ul>
+        <li>
+          <a href="https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=deal-ii">
+          a packaging script for the Arch Linux AUR</a>,
+        </li>
+        <li>
+          <a href="https://github.com/gentoo/sci/blob/master/sci-libs/dealii/dealii-9.1.0.ebuild">
+            a packaging script for the Gentoo science overlay</a>, and
+        </li>
+        <li>
+          <a href="https://packages.debian.org/stable/libs/libdeal.ii-8.4.2">
+            a packaging setup for Debian stable.</a>
+        </li>
+      </ul>
+    </p>
+
+    <h2>Suggestions</h2>
+    <ul>
+      <li>
+        <acronym>deal.II</acronym> defaults to installing several
+        configuration files
+        (<tt>LICENSE.md</tt>, <tt>README.md</tt>, <tt>detailed.log</tt>,
+        and <tt>summary.log</tt>) in the installation prefix. We recommend
+        deleting these files. <tt>LICENSE.md</tt> should be installed in the
+        correct directory for software licenses.
+      </li>
+      <li>
+        By default, all examples are compiled in both debug and release mode and
+        installed in the <tt>bin</tt> subdirectory of the installation
+        prefix. We recommend disabling the examples by configuring with
+        the <tt>-DDEAL_II_COMPILE_EXAMPLES=OFF</tt> option.
+      </li>
+      <li>
+        The CMake configuration of <acronym>deal.II</acronym> will determine
+        what compiler is being used and pick reasonable optimization and
+        debugging flags automatically. Further flags for debug and release mode
+        may be supplied by <tt>DEAL_II_CXX_FLAGS_DEBUG</tt>
+        and <tt>DEAL_II_CXX_FLAGS_RELEASE</tt> variables passed to CMake,
+        respectively.
+      </li>
+      <li>
+        The flag <tt>DEAL_II_ALLOW_PLATFORM_INTROSPECTION</tt> (disabled by
+        default) enables (as the name implies) CPU-specific issues (usually for
+        vectorization).
+      </li>
+      <li>
+        The flag <tt>DEAL_II_WITH_64BIT_INDICES</tt> changes an integral type
+        used for indices in the library. This value should be made consistent
+        with the way PETSc is configured.
+      </li>
+      <li>
+        <acronym>deal.II</acronym> includes copies of boost, muParser, TBB, and
+        UMFPACK. These bundled packages should be disabled
+        via <tt>-DDEAL_II_ALLOW_BUNDLED=OFF<tt>.
+      </li>
+      <li>
+        Underlinkage with GSL may cause problems, depending on how GSL is set up.
+      </li>
+    </ul>
+
+<hr />
+<div class="right">
+  <a href="http://validator.w3.org/check?uri=referer" target="_top">
+    <img style="border:0" src="http://www.w3.org/Icons/valid-html401" alt="Valid HTML 4.01!"></a>
+  <a href="http://jigsaw.w3.org/css-validator/check/referer" target="_top">
+    <img style="border:0;width:88px;height:31px" src="http://jigsaw.w3.org/css-validator/images/vcss" alt="Valid CSS!"></a>
+  </body>
+</html>
index f845c0709fdf5e83821b326d4e905934ebea8bc4..6eaa03535d26a867b0c974c49f876a85b4daebd0 100644 (file)
@@ -68,6 +68,7 @@
             <ul>
               <li><a href="developers/cmake-internals.html">CMake internals</a></li>
               <li><a href="developers/writing-documentation.html">Writing documentation</a></li>
+              <li><a href="developers/packaging.html">Packaging</a></li>
               <li><a href="developers/porting.html">Porting</a></li>
               <li><a href="doxygen/deal.II/CodingConventions.html">Coding conventions</a></li>
               <li><a href="developers/testsuite.html">Testsuite</a></li>
@@ -96,8 +97,3 @@
     </div>
   </body>
 </html>
-
-
-
-
-

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.