Skip to content

Commit

Permalink
enable compilation of vnstat binary with most features commented out,…
Browse files Browse the repository at this point in the history
… add necessary sqlite pragma for cascaded deletes, implement interface removal
  • Loading branch information
vergoh committed Jan 19, 2017
1 parent d2b3e9a commit e903fae
Show file tree
Hide file tree
Showing 11 changed files with 366 additions and 461 deletions.
2 changes: 1 addition & 1 deletion .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ before_install:
- if [ "${TRAVIS_OS_NAME}" == "osx" ]; then brew install gd sqlite check ; fi

script:
- CFLAGS='-Wall -Wextra -g' ./configure && make check ; if [ "$?" -ne "0" ]; then egrep '^Running suite' -A1000 test-suite.log ; false ; else ./vnstatd --version ; fi
- CFLAGS='-Wall -Wextra -g' ./configure && make check ; if [ "$?" -ne "0" ]; then egrep '^Running suite' -A1000 test-suite.log ; false ; else ./vnstat --version ; fi

notifications:
email:
Expand Down
13 changes: 12 additions & 1 deletion Makefile.am
Original file line number Diff line number Diff line change
Expand Up @@ -4,13 +4,24 @@ dist_man_MANS = man/vnstat.1 man/vnstat.conf.5 man/vnstatd.1 man/vnstati.1

EXTRA_DIST = cfg examples UPGRADE CHANGES FAQ INSTALL_BSD INSTALL_OSX UNINSTALL

#bin_PROGRAMS = vnstat
bin_PROGRAMS = vnstat
sbin_PROGRAMS = vnstatd
#if HAVE_LIBGD
#bin_PROGRAMS += vnstati
#endif
#vnstati_LDADD = $(IMAGELIBS)

vnstat_SOURCES = src/vnstat.c src/vnstat.h \
src/ifinfo.c src/ifinfo.h \
src/dbsql.c src/dbsql.h \
src/common.c src/common.h \
src/misc.c src/misc.h \
src/cfg.c src/cfg.h \
src/ibw.c src/ibw.h \
src/fs.c src/fs.h \
src/id.c src/id.h \
src/traffic.c src/traffic.h

#vnstat_SOURCES = src/vnstat.c src/vnstat.h \
# src/ifinfo.c src/ifinfo.h \
# src/dbsql.c src/dbsql.h \
Expand Down
158 changes: 124 additions & 34 deletions Makefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -78,6 +78,7 @@ PRE_UNINSTALL = :
POST_UNINSTALL = :
build_triplet = @build@
host_triplet = @host@
bin_PROGRAMS = vnstat$(EXEEXT)
sbin_PROGRAMS = vnstatd$(EXEEXT)
@HAVE_CHECK_TRUE@TESTS = check_vnstat$(EXEEXT)
@HAVE_CHECK_TRUE@check_PROGRAMS = check_vnstat$(EXEEXT)
Expand All @@ -97,9 +98,9 @@ mkinstalldirs = $(install_sh) -d
CONFIG_HEADER = $(top_builddir)/src/config.h
CONFIG_CLEAN_FILES =
CONFIG_CLEAN_VPATH_FILES =
am__installdirs = "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man1dir)" \
"$(DESTDIR)$(man5dir)"
PROGRAMS = $(sbin_PROGRAMS)
am__installdirs = "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" \
"$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)"
PROGRAMS = $(bin_PROGRAMS) $(sbin_PROGRAMS)
am__check_vnstat_SOURCES_DIST = tests/vnstat_tests.c \
tests/vnstat_tests.h tests/common_tests.c tests/common_tests.h \
tests/database_tests.c tests/database_tests.h \
Expand Down Expand Up @@ -142,6 +143,12 @@ check_vnstat_OBJECTS = $(am_check_vnstat_OBJECTS)
check_vnstat_DEPENDENCIES =
check_vnstat_LINK = $(CCLD) $(check_vnstat_CFLAGS) $(CFLAGS) \
$(AM_LDFLAGS) $(LDFLAGS) -o $@
am_vnstat_OBJECTS = src/vnstat.$(OBJEXT) src/ifinfo.$(OBJEXT) \
src/dbsql.$(OBJEXT) src/common.$(OBJEXT) src/misc.$(OBJEXT) \
src/cfg.$(OBJEXT) src/ibw.$(OBJEXT) src/fs.$(OBJEXT) \
src/id.$(OBJEXT) src/traffic.$(OBJEXT)
vnstat_OBJECTS = $(am_vnstat_OBJECTS)
vnstat_LDADD = $(LDADD)
am_vnstatd_OBJECTS = src/vnstatd.$(OBJEXT) src/ifinfo.$(OBJEXT) \
src/dbsql.$(OBJEXT) src/dbaccess.$(OBJEXT) \
src/datacache.$(OBJEXT) src/common.$(OBJEXT) \
Expand Down Expand Up @@ -181,8 +188,9 @@ AM_V_CCLD = $(am__v_CCLD_@AM_V@)
am__v_CCLD_ = $(am__v_CCLD_@AM_DEFAULT_V@)
am__v_CCLD_0 = @echo " CCLD " $@;
am__v_CCLD_1 =
SOURCES = $(check_vnstat_SOURCES) $(vnstatd_SOURCES)
DIST_SOURCES = $(am__check_vnstat_SOURCES_DIST) $(vnstatd_SOURCES)
SOURCES = $(check_vnstat_SOURCES) $(vnstat_SOURCES) $(vnstatd_SOURCES)
DIST_SOURCES = $(am__check_vnstat_SOURCES_DIST) $(vnstat_SOURCES) \
$(vnstatd_SOURCES)
RECURSIVE_TARGETS = all-recursive check-recursive cscopelist-recursive \
ctags-recursive dvi-recursive html-recursive info-recursive \
install-data-recursive install-dvi-recursive \
Expand Down Expand Up @@ -583,6 +591,17 @@ EXTRA_DIST = cfg examples UPGRADE CHANGES FAQ INSTALL_BSD INSTALL_OSX UNINSTALL
#bin_PROGRAMS += vnstati
#endif
#vnstati_LDADD = $(IMAGELIBS)
vnstat_SOURCES = src/vnstat.c src/vnstat.h \
src/ifinfo.c src/ifinfo.h \
src/dbsql.c src/dbsql.h \
src/common.c src/common.h \
src/misc.c src/misc.h \
src/cfg.c src/cfg.h \
src/ibw.c src/ibw.h \
src/fs.c src/fs.h \
src/id.c src/id.h \
src/traffic.c src/traffic.h


#vnstat_SOURCES = src/vnstat.c src/vnstat.h \
# src/ifinfo.c src/ifinfo.h \
Expand Down Expand Up @@ -692,6 +711,64 @@ $(top_srcdir)/src/config.h.in: @MAINTAINER_MODE_TRUE@ $(am__configure_deps)

distclean-hdr:
-rm -f src/config.h src/stamp-h1
install-binPROGRAMS: $(bin_PROGRAMS)
@$(NORMAL_INSTALL)
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
if test -n "$$list"; then \
echo " $(MKDIR_P) '$(DESTDIR)$(bindir)'"; \
$(MKDIR_P) "$(DESTDIR)$(bindir)" || exit 1; \
fi; \
for p in $$list; do echo "$$p $$p"; done | \
sed 's/$(EXEEXT)$$//' | \
while read p p1; do if test -f $$p \
; then echo "$$p"; echo "$$p"; else :; fi; \
done | \
sed -e 'p;s,.*/,,;n;h' \
-e 's|.*|.|' \
-e 'p;x;s,.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/' | \
sed 'N;N;N;s,\n, ,g' | \
$(AWK) 'BEGIN { files["."] = ""; dirs["."] = 1 } \
{ d=$$3; if (dirs[d] != 1) { print "d", d; dirs[d] = 1 } \
if ($$2 == $$4) files[d] = files[d] " " $$1; \
else { print "f", $$3 "/" $$4, $$1; } } \
END { for (d in files) print "f", d, files[d] }' | \
while read type dir files; do \
if test "$$dir" = .; then dir=; else dir=/$$dir; fi; \
test -z "$$files" || { \
echo " $(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files '$(DESTDIR)$(bindir)$$dir'"; \
$(INSTALL_PROGRAM_ENV) $(INSTALL_PROGRAM) $$files "$(DESTDIR)$(bindir)$$dir" || exit $$?; \
} \
; done

uninstall-binPROGRAMS:
@$(NORMAL_UNINSTALL)
@list='$(bin_PROGRAMS)'; test -n "$(bindir)" || list=; \
files=`for p in $$list; do echo "$$p"; done | \
sed -e 'h;s,^.*/,,;s/$(EXEEXT)$$//;$(transform)' \
-e 's/$$/$(EXEEXT)/' \
`; \
test -n "$$list" || exit 0; \
echo " ( cd '$(DESTDIR)$(bindir)' && rm -f" $$files ")"; \
cd "$(DESTDIR)$(bindir)" && rm -f $$files

clean-binPROGRAMS:
-test -z "$(bin_PROGRAMS)" || rm -f $(bin_PROGRAMS)

installcheck-binPROGRAMS: $(bin_PROGRAMS)
bad=0; pid=$$$$; list="$(bin_PROGRAMS)"; for p in $$list; do \
case ' $(AM_INSTALLCHECK_STD_OPTIONS_EXEMPT) ' in \
*" $$p "* | *" $(srcdir)/$$p "*) continue;; \
esac; \
f=`echo "$$p" | \
sed 's,^.*/,,;s/$(EXEEXT)$$//;$(transform);s/$$/$(EXEEXT)/'`; \
for opt in --help --version; do \
if "$(DESTDIR)$(bindir)/$$f" $$opt >c$${pid}_.out \
2>c$${pid}_.err </dev/null \
&& test -n "`cat c$${pid}_.out`" \
&& test -z "`cat c$${pid}_.err`"; then :; \
else echo "$$f does not support $$opt" 1>&2; bad=1; fi; \
done; \
done; rm -f c$${pid}_.???; exit $$bad

clean-checkPROGRAMS:
-test -z "$(check_PROGRAMS)" || rm -f $(check_PROGRAMS)
Expand Down Expand Up @@ -813,22 +890,30 @@ src/check_vnstat-id.$(OBJEXT): src/$(am__dirstamp) \
check_vnstat$(EXEEXT): $(check_vnstat_OBJECTS) $(check_vnstat_DEPENDENCIES) $(EXTRA_check_vnstat_DEPENDENCIES)
@rm -f check_vnstat$(EXEEXT)
$(AM_V_CCLD)$(check_vnstat_LINK) $(check_vnstat_OBJECTS) $(check_vnstat_LDADD) $(LIBS)
src/vnstatd.$(OBJEXT): src/$(am__dirstamp) \
src/vnstat.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/ifinfo.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/dbsql.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
src/dbaccess.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/datacache.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/common.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/misc.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
src/cfg.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
src/ibw.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
src/fs.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
src/id.$(OBJEXT): src/$(am__dirstamp) src/$(DEPDIR)/$(am__dirstamp)
src/traffic.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)

vnstat$(EXEEXT): $(vnstat_OBJECTS) $(vnstat_DEPENDENCIES) $(EXTRA_vnstat_DEPENDENCIES)
@rm -f vnstat$(EXEEXT)
$(AM_V_CCLD)$(LINK) $(vnstat_OBJECTS) $(vnstat_LDADD) $(LIBS)
src/vnstatd.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/dbaccess.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/datacache.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)
src/daemon.$(OBJEXT): src/$(am__dirstamp) \
src/$(DEPDIR)/$(am__dirstamp)

Expand Down Expand Up @@ -866,6 +951,8 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/id.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/ifinfo.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/misc.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/traffic.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vnstat.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@src/$(DEPDIR)/vnstatd.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/check_vnstat-common_tests.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@tests/$(DEPDIR)/check_vnstat-config_tests.Po@am__quote@
Expand Down Expand Up @@ -1753,7 +1840,7 @@ check: check-recursive
all-am: Makefile $(PROGRAMS) $(MANS)
installdirs: installdirs-recursive
installdirs-am:
for dir in "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)"; do \
for dir in "$(DESTDIR)$(bindir)" "$(DESTDIR)$(sbindir)" "$(DESTDIR)$(man1dir)" "$(DESTDIR)$(man5dir)"; do \
test -z "$$dir" || $(MKDIR_P) "$$dir"; \
done
install: install-recursive
Expand Down Expand Up @@ -1795,8 +1882,8 @@ maintainer-clean-generic:
@echo "it deletes files that may require special tools to rebuild."
clean: clean-recursive

clean-am: clean-checkPROGRAMS clean-generic clean-local \
clean-sbinPROGRAMS mostlyclean-am
clean-am: clean-binPROGRAMS clean-checkPROGRAMS clean-generic \
clean-local clean-sbinPROGRAMS mostlyclean-am

distclean: distclean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
Expand Down Expand Up @@ -1824,7 +1911,7 @@ install-dvi: install-dvi-recursive

install-dvi-am:

install-exec-am: install-sbinPROGRAMS
install-exec-am: install-binPROGRAMS install-sbinPROGRAMS

install-html: install-html-recursive

Expand All @@ -1844,7 +1931,7 @@ install-ps: install-ps-recursive

install-ps-am:

installcheck-am: installcheck-sbinPROGRAMS
installcheck-am: installcheck-binPROGRAMS installcheck-sbinPROGRAMS

maintainer-clean: maintainer-clean-recursive
-rm -f $(am__CONFIG_DISTCLEAN_FILES)
Expand All @@ -1865,7 +1952,8 @@ ps: ps-recursive

ps-am:

uninstall-am: uninstall-man uninstall-sbinPROGRAMS
uninstall-am: uninstall-binPROGRAMS uninstall-man \
uninstall-sbinPROGRAMS
@$(NORMAL_INSTALL)
$(MAKE) $(AM_MAKEFLAGS) uninstall-hook
uninstall-man: uninstall-man1 uninstall-man5
Expand All @@ -1875,24 +1963,26 @@ uninstall-man: uninstall-man1 uninstall-man5

.PHONY: $(am__recursive_targets) CTAGS GTAGS TAGS all all-am \
am--refresh check check-TESTS check-am check-local clean \
clean-checkPROGRAMS clean-cscope clean-generic clean-local \
clean-sbinPROGRAMS cscope cscopelist-am ctags ctags-am dist \
dist-all dist-bzip2 dist-gzip dist-lzip dist-shar dist-tarZ \
dist-xz dist-zip distcheck distclean distclean-compile \
distclean-generic distclean-hdr distclean-tags distcleancheck \
distdir distuninstallcheck dvi dvi-am html html-am info \
info-am install install-am install-data install-data-am \
install-data-hook install-dvi install-dvi-am install-exec \
install-exec-am install-html install-html-am install-info \
install-info-am install-man install-man1 install-man5 \
install-pdf install-pdf-am install-ps install-ps-am \
install-sbinPROGRAMS install-strip installcheck \
installcheck-am installcheck-sbinPROGRAMS installdirs \
installdirs-am maintainer-clean maintainer-clean-generic \
mostlyclean mostlyclean-compile mostlyclean-generic pdf pdf-am \
ps ps-am recheck tags tags-am uninstall uninstall-am \
uninstall-hook uninstall-man uninstall-man1 uninstall-man5 \
uninstall-sbinPROGRAMS
clean-binPROGRAMS clean-checkPROGRAMS clean-cscope \
clean-generic clean-local clean-sbinPROGRAMS cscope \
cscopelist-am ctags ctags-am dist dist-all dist-bzip2 \
dist-gzip dist-lzip dist-shar dist-tarZ dist-xz dist-zip \
distcheck distclean distclean-compile distclean-generic \
distclean-hdr distclean-tags distcleancheck distdir \
distuninstallcheck dvi dvi-am html html-am info info-am \
install install-am install-binPROGRAMS install-data \
install-data-am install-data-hook install-dvi install-dvi-am \
install-exec install-exec-am install-html install-html-am \
install-info install-info-am install-man install-man1 \
install-man5 install-pdf install-pdf-am install-ps \
install-ps-am install-sbinPROGRAMS install-strip installcheck \
installcheck-am installcheck-binPROGRAMS \
installcheck-sbinPROGRAMS installdirs installdirs-am \
maintainer-clean maintainer-clean-generic mostlyclean \
mostlyclean-compile mostlyclean-generic pdf pdf-am ps ps-am \
recheck tags tags-am uninstall uninstall-am \
uninstall-binPROGRAMS uninstall-hook uninstall-man \
uninstall-man1 uninstall-man5 uninstall-sbinPROGRAMS


#check_vnstat_SOURCES += src/cfg.c src/cfg.h \
Expand Down
7 changes: 6 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,14 @@ configurable durations. Yearly and 5 minute resolution statistics are also plann

##### Overall status

* only daemon is being compiled
* alpha version with working daemon implementation
* some sanity checks may be missing or disabled
* vnstat (console output) lacks most database features
* `-l` / `--live` and `-tr` / `--traffic` are available
* implemented database dependent features
* `--create`
* `--delete`
* vnstati (image output) is disabled
* not ready to replace vnStat 1.x due to lack of outputs

##### Done
Expand Down
Loading

0 comments on commit e903fae

Please sign in to comment.