Comments (17)
Just a observation in this repository there is no docs
directory. So that is why we can not install them.
from cfengine-debian.
What can I do to help here?
from cfengine-debian.
The best thing would be for the man pages to be included with the tarball form cfengine. Do you know why they're missing?
from cfengine-debian.
Oops, wrong button, sorry
from cfengine-debian.
IIRC the man pages are supposed to be in the package, but don't know about the tarball. I think they can be generated from source, either way.
@nickanderson @vohi @cduclos can you comment please?
from cfengine-debian.
In the 3.5.x and master branch there is the directory:
- doc/manpages
bas@r7n16:/var/tmp/bas/core/docs/manpages$ ls
cf-agent.8 cf-execd.8 cf-key.8 cf-monitord.8 cf-promises.8 cf-runagent.8 cf-serverd.8 Makefile Makefile.am Makefile.in
from cfengine-debian.
Debian imports from the tar all though, not the upstream repo.
from cfengine-debian.
@bahamat i know we fetch the tarball. I assume that the generation of the tarball goes wrong and does not include the docs directory.
from cfengine-debian.
The man pages for the binaries are generated by the binaries themselves, via (undocumented) -M command line parameter. There are no man-pages checked into the repository (https://github.com/cfengine/core/tree/master/docs/manpages).
They can't be in the tar ball for that reason, because we don't compile the binaries before we generate the tar ball. There's https://cfengine.com/dev/issues/2989 as a known issue in our own packages.
from cfengine-debian.
Ok, that makes a bit more sense. We can add a build step that generates and saves them.
from cfengine-debian.
Cool, now it makes sense, thanks @vohi
from cfengine-debian.
Ted suggested using an acceptance test to create the man pages because the tests already know how to execute the binaries properly.
from cfengine-debian.
This patch successfully produces man pages, although I don't think this is the best approach.
Any suggestions on improving this?
diff --git a/debian/rules b/debian/rules
index 10086c9..cd1934b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -59,3 +59,11 @@ override_dh_install:
/bin/rmdir $(CURDIR)/debian/cfengine3/var/lib/cfengine3/inputs
/bin/rm $(CURDIR)/debian/cfengine3/usr/lib/*.la
+ /bin/mkdir -p $(CURDIR)/debian/cfengine3/usr/share/man/man8/
+ LD_LIBRARY_PATH=$(CURDIR)/debian/cfengine3/usr/lib $(CURDIR)/debian/cfengine3/usr/sbin/cf-agent -M > $(CURDIR)/debian/cfengine3/usr/share/man/man8/cf-agent.8
+ LD_LIBRARY_PATH=$(CURDIR)/debian/cfengine3/usr/lib $(CURDIR)/debian/cfengine3/usr/sbin/cf-execd -M > $(CURDIR)/debian/cfengine3/usr/share/man/man8/cf-execd.8
+ LD_LIBRARY_PATH=$(CURDIR)/debian/cfengine3/usr/lib $(CURDIR)/debian/cfengine3/usr/sbin/cf-key -M > $(CURDIR)/debian/cfengine3/usr/share/man/man8/cf-key.8
+ LD_LIBRARY_PATH=$(CURDIR)/debian/cfengine3/usr/lib $(CURDIR)/debian/cfengine3/usr/sbin/cf-monitord -M > $(CURDIR)/debian/cfengine3/usr/share/man/man8/cf-monitord.8
+ LD_LIBRARY_PATH=$(CURDIR)/debian/cfengine3/usr/lib $(CURDIR)/debian/cfengine3/usr/sbin/cf-promises -M > $(CURDIR)/debian/cfengine3/usr/share/man/man8/cf-promises.8
+ LD_LIBRARY_PATH=$(CURDIR)/debian/cfengine3/usr/lib $(CURDIR)/debian/cfengine3/usr/sbin/cf-runagent -M > $(CURDIR)/debian/cfengine3/usr/share/man/man8/cf-runagent.8
+ LD_LIBRARY_PATH=$(CURDIR)/debian/cfengine3/usr/lib $(CURDIR)/debian/cfengine3/usr/sbin/cf-serverd -M > $(CURDIR)/debian/cfengine3/usr/share/man/man8/cf-serverd.8
There's still no man page for rpmvercmp
, but I'm overriding that.
from cfengine-debian.
@bahamat maybe this:
for p in cf-agent cf-key cf-promises cf-runagent cf-execd cf-serverd cf-monitord; \
do \
$(CURDIR)/$$p/$$p -M > $(CURDIR)/debian/cfengine3/usr/share/man/man8/$$p.8 ;\
done
I tested this and it works.
from cfengine-debian.
Excellent, thanks. I'll use that.
from cfengine-debian.
I have issued sn pull request #51
from cfengine-debian.
and applied
from cfengine-debian.
Related Issues (20)
- libxml2-dev HOT 1
- FAIL: generic_agent_test HOT 3
- tests/acceptance/00_basics/01_compiler/800.cf FAIL HOT 23
- Pull request 1010 from core needs to be merged in with quilt HOT 3
- debian/rules uses wrong configure option HOT 2
- Incorrect perms to ppkeys HOT 2
- cf-* files doesn't available in /var/lib/cfengine3/bin HOT 5
- configure does not honour --docdir and --datadir options HOT 2
- Lintian messages HOT 13
- Spelling mistakes exposed by lintian HOT 2
- Default policies don't work out of the box. HOT 33
- Fix virtual interface detection HOT 2
- process select stime_range bug in calculation epoch time HOT 3
- Need to build and test on sid HOT 15
- Reconcile datadir issue with core HOT 5
- Directory relocations HOT 3
- Systemd init script HOT 11
- Adjust acceptance tests to print to stdout HOT 3
- Bug 6466 makes 3.6.1 undesirable HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cfengine-debian.