[Git][NTPsec/ntpsec][master] New file, devel/packaging.txt, gives guidance for packagers.

Eric S. Raymond gitlab at mg.gitlab.com
Thu Nov 3 12:21:02 UTC 2016


Eric S. Raymond pushed to branch master at NTPsec / ntpsec


Commits:
de68045a by Eric S. Raymond at 2016-11-03T08:20:20-04:00
New file, devel/packaging.txt, gives guidance for packagers.

- - - - -


3 changed files:

- INSTALL
- devel/README
- + devel/packaging.txt


Changes:

=====================================
INSTALL
=====================================
--- a/INSTALL
+++ b/INSTALL
@@ -13,11 +13,12 @@ There are some prerequisites.  Libraries need the binary installed
 to run and in addition, the development headers installed to build.
 
 Python 2.x, x >= 6, or Python 3.x, x >= 3::
-   Required to build, and for various scripts such as ntpviz.  Our
-   Python code has been written polyglot to also run with production
-   versions of Python 3.  Note that you will need both the ordinary
-   python intallation and Python dev tools, if your OS makes such
-   a distinction.
+   Required to build, and for various scripts such as ntpviz (but see
+   the guidance for packagers in devel/packaging.txt).  Our Python code
+   has been written polyglot to also run with production versions of
+   Python 3.  Note that you will need both the ordinary Python
+   intallation and Python dev tools, if your OS makes such a
+   distinction.
 
 bison::
    Required to build.
@@ -171,12 +172,12 @@ are at devel/testing.txt.
 
 == Bugs ==
 
-The configuration system is a work in progress, and occasionally acts
-up during builds on new platforms.  If you see the message
-"Compilation check failed but include exists!" this means that an attempt
-to compile a small test program using the include header mentioned on
-the previous line failed, but waf configure then found that despite
-this the header file exists on your system.
+The configuration system occasionally acts up during builds on new
+platforms.  If you see the message "Compilation check failed but
+include exists!" this means that an attempt to compile a small test
+program using the include header mentioned on the previous line
+failed, but waf configure then found that despite this the header file
+exists on your system.
 
 When this happens, it is likely that the header has prerequisites
 on your system that waf configure doesn't know about - that is,


=====================================
devel/README
=====================================
--- a/devel/README
+++ b/devel/README
@@ -19,6 +19,9 @@ hacking.txt::
 ifdex-ignores::
 	Lists and explains a large number of internal configuration symbols.	
 
+packaging.txt::
+	Guidance for binary package builders.
+
 TODO::
 	List of items the NTPsec developers are working on.
 


=====================================
devel/packaging.txt
=====================================
--- /dev/null
+++ b/devel/packaging.txt
@@ -0,0 +1,38 @@
+= Guidance for package builders =
+
+== Package parts ==
+
+Some useful components for package bulding can be found in the etc/
+subdirectory, including init boot time scripts, systemd unit files,
+and boilerplate for default ntpd configuration.
+
+== Platforms without Python ==
+
+Many tools (actually, almost everything except the core daemon itself)
+have either been moved from C to Python or are in the process of
+translation.  This is an important step for improving maintainability
+and reducing attack surface.  However, we know that some platforms
+cannot support Python or choose not to include it in their core
+configuration.
+
+For these platorms, we recommend using freeze or cython to render the
+Python to C which can be compiled and packaged as a normal executable.
+You will need the Python dev tools and headers installed on the build
+host to do this.
+
+The freeze utility is shipped with the Python
+distribution. Directions are https://wiki.python.org/moin/Freeze[here]
+
+The cython compiler can also be used for this.  For example, to build
+a binary version of ntpviz with cython, you can do something like
+this:
+
+------------------------------------------------------------------
+cc  -I/usr/include/python2.7 -I/usr/include/x86_64-linux-gnu/python2.7 -c ntpviz.c -o ntpviz.o
+cc   ntpviz.o -lpython2.7 -o ntpviz
+rm ntpviz.c
+------------------------------------------------------------------
+
+Binaries built in this way are normal executables with no run-time
+dependency on Python.
+



View it on GitLab: https://gitlab.com/NTPsec/ntpsec/commit/de68045ad19f6edf27ec506611b68d0d918f11a6
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.ntpsec.org/pipermail/vc/attachments/20161103/2806fba9/attachment.html>


More information about the vc mailing list