[osm-tile-server] 48/117: One more binary program. Share code

Ruben Undheim rubund-guest at moszumanska.debian.org
Tue Nov 3 23:18:19 UTC 2015


This is an automated email from the git hooks/post-receive script.

rubund-guest pushed a commit to branch master
in repository osm-tile-server.

commit e55a803378801aa552a810b48a2699d05ffdf1ed
Author: Ruben Undheim <ruben.undheim at gmail.com>
Date:   Fri Sep 4 00:19:59 2015 +0200

    One more binary program. Share code
---
 debian/control                                     |  3 ++-
 debian/osm-tile-server-base.postinst               |  2 ++
 src/Makefile                                       | 14 ++++++----
 src/osm-tile-server-download.c                     | 31 ++++++++++++++++++++++
 src/osm-tile-server-import.c                       | 29 +-------------------
 src/{osm-tile-server-import.c => parse-settings.c} | 24 -----------------
 src/parse-settings.h                               |  8 ++++++
 7 files changed, 53 insertions(+), 58 deletions(-)

diff --git a/debian/control b/debian/control
index a553dd7..20191cc 100644
--- a/debian/control
+++ b/debian/control
@@ -17,7 +17,8 @@ Package: osm-tile-server-base
 Architecture: any
 Depends: ${shlibs:Depends}, ${misc:Depends},
         openstreetmap-carto, node-carto,
-        postgis, postgresql-contrib, osm2pgsql, adduser
+        postgis, postgresql-contrib, osm2pgsql, adduser,
+        wget
 Description: Common files for OSM tile server
  This package sets up the postgis database for OSM data.
  A few questions are asked with debconf to set it up.
diff --git a/debian/osm-tile-server-base.postinst b/debian/osm-tile-server-base.postinst
index c53497b..b944234 100644
--- a/debian/osm-tile-server-base.postinst
+++ b/debian/osm-tile-server-base.postinst
@@ -84,6 +84,8 @@ case "$1" in
 
         chown $DBUSER:$DBUSER /usr/bin/osm-tile-server-import
         chmod 4554 /usr/bin/osm-tile-server-import
+        chown $DBUSER:$DBUSER /usr/bin/osm-tile-server-download
+        chmod 4554 /usr/bin/osm-tile-server-download
         
         chown $DBUSER:$DBUSER /var/cache/osm-tile-server-base
 
diff --git a/src/Makefile b/src/Makefile
index e917c13..bef17e0 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -1,13 +1,17 @@
 
 
-default: osm-tile-server-import
+default: osm-tile-server-import osm-tile-server-download
 
-install: osm-tile-server-import
+install: default
 	mkdir -p ${DESTDIR}/usr/bin
 	install osm-tile-server-import ${DESTDIR}/usr/bin/
+	install osm-tile-server-download ${DESTDIR}/usr/bin/
 
-osm-tile-server-import: osm-tile-server-import.o
-	${CC} ${LDFLAGS} -o osm-tile-server-import osm-tile-server-import.o
+osm-tile-server-import: osm-tile-server-import.o parse-settings.o
+	${CC} ${LDFLAGS} -o osm-tile-server-import osm-tile-server-import.o parse-settings.o
+
+osm-tile-server-download: osm-tile-server-download.o parse-settings.o
+	${CC} ${LDFLAGS} -o osm-tile-server-download osm-tile-server-download.o parse-settings.o
 
 clean:
-	${RM} *.o osm-tile-server-import
+	${RM} *.o osm-tile-server-import osm-tile-server-download
diff --git a/src/osm-tile-server-download.c b/src/osm-tile-server-download.c
new file mode 100644
index 0000000..8c68f6e
--- /dev/null
+++ b/src/osm-tile-server-download.c
@@ -0,0 +1,31 @@
+#include <stdio.h>
+#include <stdlib.h>
+#include <string.h>
+
+#include "parse-settings.h"
+
+
+int main(int argc, char **argv)
+{
+	char command[256];
+	char *area;
+
+	if(argc != 2){
+		fprintf(stderr,"Usage: %s <area/country>\n",argv[0]);
+		return -1;
+	}
+	area = argv[1];
+
+	parse_settings();
+
+	char *filename = "downloaded.osm.pbf";
+	char *url = "http://download.geofabrik.de/europe/norway-latest.osm.pbf";
+	snprintf(command,255,"wget -O /var/cache/osm-tile-server-base/%s %s ",filename,url);
+	printf("The following command will be run to download:\n\n");
+	printf(" %s\n\n",command);
+	system(command);
+
+	return 0;
+
+}
+
diff --git a/src/osm-tile-server-import.c b/src/osm-tile-server-import.c
index 5168c57..3d82282 100644
--- a/src/osm-tile-server-import.c
+++ b/src/osm-tile-server-import.c
@@ -2,34 +2,7 @@
 #include <stdlib.h>
 #include <string.h>
 
-
-
-char dbname[64];
-
-void parse_settings()
-{
-	char *linebuf = NULL;
-	size_t len;
-	ssize_t read;
-	FILE *infile;
-
-	infile = fopen("/etc/osm-tile-server.conf","r");
-	if (infile == NULL) exit(-1);
-	while((read = getline(&linebuf, &len, infile)) != -1 ) {
-		const char *l = linebuf;
-		if(strncmp("DBNAME=\"",l,8) == 0) {
-			char *substr = strstr(l+8,"\"");
-			*substr = 0;
-			//printf("Read line: %s\n",linebuf+8);
-			strncpy(dbname,linebuf+8,63);
-			//printf("%s\n",dbname);
-		}
-	}
-	fclose(infile);
-
-	if(linebuf)
-		free(linebuf);
-}
+#include "parse-settings.h"
 
 int main(int argc, char **argv)
 {
diff --git a/src/osm-tile-server-import.c b/src/parse-settings.c
similarity index 55%
copy from src/osm-tile-server-import.c
copy to src/parse-settings.c
index 5168c57..8ca9c3f 100644
--- a/src/osm-tile-server-import.c
+++ b/src/parse-settings.c
@@ -2,8 +2,6 @@
 #include <stdlib.h>
 #include <string.h>
 
-
-
 char dbname[64];
 
 void parse_settings()
@@ -31,25 +29,3 @@ void parse_settings()
 		free(linebuf);
 }
 
-int main(int argc, char **argv)
-{
-	char command[256];
-	char *pbffile;
-
-	if(argc != 2){
-		fprintf(stderr,"Usage: %s <pbf-file>\n",argv[0]);
-		return -1;
-	}
-	pbffile = argv[1];
-
-	parse_settings();
-
-	snprintf(command,255,"osm2pgsql --slim -d %s --cache-strategy sparse -C 100 --hstore -S /usr/share/osm2pgsql/default.style %s",dbname,pbffile);
-	printf("Importing to database with this command:\n\n");
-	printf(" %s\n\n",command);
-	system(command);
-
-	return 0;
-
-}
-
diff --git a/src/parse-settings.h b/src/parse-settings.h
new file mode 100644
index 0000000..94c053b
--- /dev/null
+++ b/src/parse-settings.h
@@ -0,0 +1,8 @@
+#ifndef INC_PARSE_SETTINGS_H
+#define INC_PARSE_SETTINGS_H
+
+extern char dbname[64];
+
+void parse_settings();
+
+#endif

-- 
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-grass/osm-tile-server.git



More information about the Pkg-grass-devel mailing list