[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