Message ID | 20210413135120.3724605-1-fido_max@inbox.ru |
---|---|
State | Changes Requested |
Headers | show |
Series | [v2,1/1] package/osm2pgsql: new package | expand |
Hi Maxim, Did my merging of postgis trigger this? :-) On 13/04/2021 15:51, Maxim Kochetkov via buildroot wrote: > osm2pgsql is a tool for loading OpenStreetMap data into a > PostgreSQL / PostGIS database suitable for applications like > rendering into a map, geocoding with Nominatim, or general analysis. > > https://osm2pgsql.org > > Signed-off-by: Maxim Kochetkov <fido_max@inbox.ru> > --- > Changes v1 -> v2 (after review of Peter Seiderer): > - Add dependencies > - Disable tests > - Fix license > - Fix check-package warnings > - Add myself to DEVELOPERS > - Test all lua versions (5.1, 5.3, 5.4) > > DEVELOPERS | 1 + > package/Config.in | 1 + > package/osm2pgsql/Config.in | 20 ++++++++++++ > package/osm2pgsql/osm2pgsql.hash | 3 ++ > package/osm2pgsql/osm2pgsql.mk | 54 ++++++++++++++++++++++++++++++++ > 5 files changed, 79 insertions(+) > create mode 100644 package/osm2pgsql/Config.in > create mode 100644 package/osm2pgsql/osm2pgsql.hash > create mode 100644 package/osm2pgsql/osm2pgsql.mk > > diff --git a/DEVELOPERS b/DEVELOPERS > index 7699c471d3..e94c4291f2 100644 > --- a/DEVELOPERS > +++ b/DEVELOPERS > @@ -1837,6 +1837,7 @@ F: arch/Config.in.xtensa > > N: Maxim Kochetkov <fido_max@inbox.ru> > F: package/timescaledb/ > +F: package/osm2pgsql/ I didn't notice when I merged postgis: could you add yourself to DEVELOPERS for postgis as well? > > N: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> > F: package/babeld/ > diff --git a/package/Config.in b/package/Config.in > index 19f2606b6b..1615f0c7e3 100644 > --- a/package/Config.in > +++ b/package/Config.in > @@ -1405,6 +1405,7 @@ menu "Database" > source "package/libpqxx/Config.in" > source "package/mongodb/Config.in" > source "package/mysql/Config.in" > + source "package/osm2pgsql/Config.in" I think it would be better to move this under the BR2_PACKAGE_POSTGRESQL_FULL dependency, below, since it's a kind of postgresql extension. And of course, that condition should have been on BR2_PACKAGE_POSTGRESQL, with the BR2_PACKAGE_POSTGRESQL_FULL dependency still in postgis. My bad. > source "package/postgresql/Config.in" > if BR2_PACKAGE_POSTGRESQL_FULL > source "package/postgis/Config.in" > diff --git a/package/osm2pgsql/Config.in b/package/osm2pgsql/Config.in > new file mode 100644 > index 0000000000..69ae4b4232 > --- /dev/null > +++ b/package/osm2pgsql/Config.in > @@ -0,0 +1,20 @@ > +config BR2_PACKAGE_OSM2PGSQL > + bool "osm2pgsql" > + depends on BR2_PACKAGE_POSTGRESQL > + depends on BR2_INSTALL_LIBSTDCPP # boost > + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11 > + depends on BR2_TOOLCHAIN_HAS_THREADS # boost > + depends on BR2_USE_WCHAR # boost > + select BR2_PACKAGE_BOOST > + select BR2_PACKAGE_BOOST_SYSTEM > + select BR2_PACKAGE_BOOST_FILESYSTEM > + select BR2_PACKAGE_BZIP2 > + select BR2_PACKAGE_EXPAT > + select BR2_PACKAGE_ZLIB > + help > + osm2pgsql is a tool for loading OpenStreetMap data into a > + PostgreSQL / PostGIS database suitable for applications like > + rendering into a map, geocoding with Nominatim, > + or general analysis. > + > + https://osm2pgsql.org You again don't have the comment that indicates what's missing in the toolchain. > diff --git a/package/osm2pgsql/osm2pgsql.hash b/package/osm2pgsql/osm2pgsql.hash > new file mode 100644 > index 0000000000..13e8de4b51 > --- /dev/null > +++ b/package/osm2pgsql/osm2pgsql.hash > @@ -0,0 +1,3 @@ > +# Locally calculated > +sha256 fc68283930ccd468ed9b28685150741b16083fec86800a4b011884ae22eb061c osm2pgsql-1.4.2.tar.gz > +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING > diff --git a/package/osm2pgsql/osm2pgsql.mk b/package/osm2pgsql/osm2pgsql.mk > new file mode 100644 > index 0000000000..f281a18b6b > --- /dev/null > +++ b/package/osm2pgsql/osm2pgsql.mk > @@ -0,0 +1,54 @@ > +################################################################################ > +# > +# osm2pgsql > +# > +################################################################################ > + > +OSM2PGSQL_VERSION = 1.4.2 > +OSM2PGSQL_SITE = $(call github,openstreetmap,osm2pgsql,$(OSM2PGSQL_VERSION)) > +OSM2PGSQL_LICENSE = GPL-2.0+, BSL-1.0 (libosmium), Apache-2.0 (protozero), BSD-2-Clause (protozero), MIT with exception (fmt) Are libosmium, protozero and fmt bundled libraries? If possible, we prefer to use unbundled versions. ftm already has a package, but for libosmium and protozero you'd need to create new packages. If unbundling is difficult (i.e. not supported by upstream), it's OK to use the bundled versions, but do make a note about it in the commit message. > +OSM2PGSQL_LICENSE_FILES = COPYING > +OSM2PGSQL_SUPPORTS_IN_SOURCE_BUILD = NO > + > +OSM2PGSQL_DEPENDENCIES = boost bzip2 expat postgresql zlib > + > +#disable build and coverage tests # Disable coverage and tests However, that's exactly what is writtenin the next line, so the comment is redundant. > +OSM2PGSQL_CONF_OPTS += -DBUILD_TESTS=OFF -DBUILD_COVERAGE=OFF > + > +ifeq ($(BR2_PACKAGE_LUAJIT),y) > +OSM2PGSQL_DEPENDENCIES += luajit > +OSM2PGSQL_CONF_OPTS += -DWITH_LUA=ON -DWITH_LUAJIT=ON > +else > +ifeq ($(BR2_PACKAGE_LUA),y) > +OSM2PGSQL_DEPENDENCIES += lua > +OSM2PGSQL_CONF_OPTS += -DWITH_LUA=ON -DWITH_LUAJIT=OFF > +else > +OSM2PGSQL_CONF_OPTS += -DWITH_LUA=OFF -DWITH_LUAJIT=OFF > +endif > +endif > + > +ifeq ($(BR2_PACKAGE_FMT),y) > +OSM2PGSQL_DEPENDENCIES += fmt > +OSM2PGSQL_CONF_OPTS += -DEXTERNAL_FMT=ON Ah, so unbundling *is* possible. In that case, we always want to use the unbundled version. So this part should be done unconditionally, and "select BR2_PACKAGE_FMT" should be added to Config.in. > +endif > + > +ifeq ($(BR2_PACKAGE_PROJ),y) > +OSM2PGSQL_DEPENDENCIES += proj > +OSM2PGSQL_CONF_OPTS += -DUSE_PROJ_LIB=auto > +else > +OSM2PGSQL_CONF_OPTS += -DUSE_PROJ_LIB=off > +endif > + > +#not in buildroot now So please add it :-) Regards, Arnout > +ifeq ($(BR2_PACKAGE_LIBOSMIUM),y) > +OSM2PGSQL_DEPENDENCIES += libosmium > +OSM2PGSQL_CONF_OPTS += -DEXTERNAL_LIBOSMIUM=ON > +endif > + > +#not in buildroot now > +ifeq ($(BR2_PACKAGE_PROTOZERO),y) > +OSM2PGSQL_DEPENDENCIES += protozero > +OSM2PGSQL_CONF_OPTS += -DEXTERNAL_PROTOZERO=ON > +endif > + > +$(eval $(cmake-package)) >
13.04.2021 21:37, Arnout Vandecappelle пишет: > Hi Maxim, > > Did my merging of postgis trigger this? :-) > > On 13/04/2021 15:51, Maxim Kochetkov via buildroot wrote: >> osm2pgsql is a tool for loading OpenStreetMap data into a >> PostgreSQL / PostGIS database suitable for applications like >> rendering into a map, geocoding with Nominatim, or general analysis. >> >> https://osm2pgsql.org >> >> Signed-off-by: Maxim Kochetkov <fido_max@inbox.ru> >> --- >> Changes v1 -> v2 (after review of Peter Seiderer): >> - Add dependencies >> - Disable tests >> - Fix license >> - Fix check-package warnings >> - Add myself to DEVELOPERS >> - Test all lua versions (5.1, 5.3, 5.4) >> >> DEVELOPERS | 1 + >> package/Config.in | 1 + >> package/osm2pgsql/Config.in | 20 ++++++++++++ >> package/osm2pgsql/osm2pgsql.hash | 3 ++ >> package/osm2pgsql/osm2pgsql.mk | 54 ++++++++++++++++++++++++++++++++ >> 5 files changed, 79 insertions(+) >> create mode 100644 package/osm2pgsql/Config.in >> create mode 100644 package/osm2pgsql/osm2pgsql.hash >> create mode 100644 package/osm2pgsql/osm2pgsql.mk >> >> diff --git a/DEVELOPERS b/DEVELOPERS >> index 7699c471d3..e94c4291f2 100644 >> --- a/DEVELOPERS >> +++ b/DEVELOPERS >> @@ -1837,6 +1837,7 @@ F: arch/Config.in.xtensa >> >> N: Maxim Kochetkov <fido_max@inbox.ru> >> F: package/timescaledb/ >> +F: package/osm2pgsql/ > > I didn't notice when I merged postgis: could you add yourself to DEVELOPERS for > postgis as well? Of course. > >> >> N: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> >> F: package/babeld/ >> diff --git a/package/Config.in b/package/Config.in >> index 19f2606b6b..1615f0c7e3 100644 >> --- a/package/Config.in >> +++ b/package/Config.in >> @@ -1405,6 +1405,7 @@ menu "Database" >> source "package/libpqxx/Config.in" >> source "package/mongodb/Config.in" >> source "package/mysql/Config.in" >> + source "package/osm2pgsql/Config.in" > > I think it would be better to move this under the BR2_PACKAGE_POSTGRESQL_FULL > dependency, below, since it's a kind of postgresql extension. > > And of course, that condition should have been on BR2_PACKAGE_POSTGRESQL, with > the BR2_PACKAGE_POSTGRESQL_FULL dependency still in postgis. My bad. > >> source "package/postgresql/Config.in" >> if BR2_PACKAGE_POSTGRESQL_FULL >> source "package/postgis/Config.in" >> diff --git a/package/osm2pgsql/Config.in b/package/osm2pgsql/Config.in >> new file mode 100644 >> index 0000000000..69ae4b4232 >> --- /dev/null >> +++ b/package/osm2pgsql/Config.in >> @@ -0,0 +1,20 @@ >> +config BR2_PACKAGE_OSM2PGSQL >> + bool "osm2pgsql" >> + depends on BR2_PACKAGE_POSTGRESQL >> + depends on BR2_INSTALL_LIBSTDCPP # boost >> + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11 >> + depends on BR2_TOOLCHAIN_HAS_THREADS # boost >> + depends on BR2_USE_WCHAR # boost >> + select BR2_PACKAGE_BOOST >> + select BR2_PACKAGE_BOOST_SYSTEM >> + select BR2_PACKAGE_BOOST_FILESYSTEM >> + select BR2_PACKAGE_BZIP2 >> + select BR2_PACKAGE_EXPAT >> + select BR2_PACKAGE_ZLIB >> + help >> + osm2pgsql is a tool for loading OpenStreetMap data into a >> + PostgreSQL / PostGIS database suitable for applications like >> + rendering into a map, geocoding with Nominatim, >> + or general analysis. >> + >> + https://osm2pgsql.org > > You again don't have the comment that indicates what's missing in the toolchain. Do you mean microblazeel with the bootlin toolchain? > >> diff --git a/package/osm2pgsql/osm2pgsql.hash b/package/osm2pgsql/osm2pgsql.hash >> new file mode 100644 >> index 0000000000..13e8de4b51 >> --- /dev/null >> +++ b/package/osm2pgsql/osm2pgsql.hash >> @@ -0,0 +1,3 @@ >> +# Locally calculated >> +sha256 fc68283930ccd468ed9b28685150741b16083fec86800a4b011884ae22eb061c osm2pgsql-1.4.2.tar.gz >> +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING >> diff --git a/package/osm2pgsql/osm2pgsql.mk b/package/osm2pgsql/osm2pgsql.mk >> new file mode 100644 >> index 0000000000..f281a18b6b >> --- /dev/null >> +++ b/package/osm2pgsql/osm2pgsql.mk >> @@ -0,0 +1,54 @@ >> +################################################################################ >> +# >> +# osm2pgsql >> +# >> +################################################################################ >> + >> +OSM2PGSQL_VERSION = 1.4.2 >> +OSM2PGSQL_SITE = $(call github,openstreetmap,osm2pgsql,$(OSM2PGSQL_VERSION)) >> +OSM2PGSQL_LICENSE = GPL-2.0+, BSL-1.0 (libosmium), Apache-2.0 (protozero), BSD-2-Clause (protozero), MIT with exception (fmt) > > Are libosmium, protozero and fmt bundled libraries? If possible, we prefer to > use unbundled versions. ftm already has a package, but for libosmium and > protozero you'd need to create new packages. I will try.
On 14/04/2021 06:28, Maxim Kochetkov wrote: > > > 13.04.2021 21:37, Arnout Vandecappelle пишет: >> Hi Maxim, >> >> Did my merging of postgis trigger this? :-) >> >> On 13/04/2021 15:51, Maxim Kochetkov via buildroot wrote: [snip] >>> +config BR2_PACKAGE_OSM2PGSQL >>> + bool "osm2pgsql" >>> + depends on BR2_PACKAGE_POSTGRESQL >>> + depends on BR2_INSTALL_LIBSTDCPP # boost >>> + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11 >>> + depends on BR2_TOOLCHAIN_HAS_THREADS # boost >>> + depends on BR2_USE_WCHAR # boost >>> + select BR2_PACKAGE_BOOST >>> + select BR2_PACKAGE_BOOST_SYSTEM >>> + select BR2_PACKAGE_BOOST_FILESYSTEM >>> + select BR2_PACKAGE_BZIP2 >>> + select BR2_PACKAGE_EXPAT >>> + select BR2_PACKAGE_ZLIB >>> + help >>> + osm2pgsql is a tool for loading OpenStreetMap data into a >>> + PostgreSQL / PostGIS database suitable for applications like >>> + rendering into a map, geocoding with Nominatim, >>> + or general analysis. >>> + >>> + https://osm2pgsql.org >> >> You again don't have the comment that indicates what's missing in the >> toolchain. > > Do you mean microblazeel with the bootlin toolchain? No, I mean a comment like: comment "osm2pgsql needs a toolchain w/ C++, threads, wchar, gcc >= 4.7" depends on !BR2_INSTALL_LIBSTDCPP || !BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 || \ !BR2_TOOLCHAIN_HAS_THREADS || !BR2_USE_WCHAR Regards, Arnout [snip]
diff --git a/DEVELOPERS b/DEVELOPERS index 7699c471d3..e94c4291f2 100644 --- a/DEVELOPERS +++ b/DEVELOPERS @@ -1837,6 +1837,7 @@ F: arch/Config.in.xtensa N: Maxim Kochetkov <fido_max@inbox.ru> F: package/timescaledb/ +F: package/osm2pgsql/ N: Maxime Hadjinlian <maxime.hadjinlian@gmail.com> F: package/babeld/ diff --git a/package/Config.in b/package/Config.in index 19f2606b6b..1615f0c7e3 100644 --- a/package/Config.in +++ b/package/Config.in @@ -1405,6 +1405,7 @@ menu "Database" source "package/libpqxx/Config.in" source "package/mongodb/Config.in" source "package/mysql/Config.in" + source "package/osm2pgsql/Config.in" source "package/postgresql/Config.in" if BR2_PACKAGE_POSTGRESQL_FULL source "package/postgis/Config.in" diff --git a/package/osm2pgsql/Config.in b/package/osm2pgsql/Config.in new file mode 100644 index 0000000000..69ae4b4232 --- /dev/null +++ b/package/osm2pgsql/Config.in @@ -0,0 +1,20 @@ +config BR2_PACKAGE_OSM2PGSQL + bool "osm2pgsql" + depends on BR2_PACKAGE_POSTGRESQL + depends on BR2_INSTALL_LIBSTDCPP # boost + depends on BR2_TOOLCHAIN_GCC_AT_LEAST_4_7 # C++11 + depends on BR2_TOOLCHAIN_HAS_THREADS # boost + depends on BR2_USE_WCHAR # boost + select BR2_PACKAGE_BOOST + select BR2_PACKAGE_BOOST_SYSTEM + select BR2_PACKAGE_BOOST_FILESYSTEM + select BR2_PACKAGE_BZIP2 + select BR2_PACKAGE_EXPAT + select BR2_PACKAGE_ZLIB + help + osm2pgsql is a tool for loading OpenStreetMap data into a + PostgreSQL / PostGIS database suitable for applications like + rendering into a map, geocoding with Nominatim, + or general analysis. + + https://osm2pgsql.org diff --git a/package/osm2pgsql/osm2pgsql.hash b/package/osm2pgsql/osm2pgsql.hash new file mode 100644 index 0000000000..13e8de4b51 --- /dev/null +++ b/package/osm2pgsql/osm2pgsql.hash @@ -0,0 +1,3 @@ +# Locally calculated +sha256 fc68283930ccd468ed9b28685150741b16083fec86800a4b011884ae22eb061c osm2pgsql-1.4.2.tar.gz +sha256 ab15fd526bd8dd18a9e77ebc139656bf4d33e97fc7238cd11bf60e2b9b8666c6 COPYING diff --git a/package/osm2pgsql/osm2pgsql.mk b/package/osm2pgsql/osm2pgsql.mk new file mode 100644 index 0000000000..f281a18b6b --- /dev/null +++ b/package/osm2pgsql/osm2pgsql.mk @@ -0,0 +1,54 @@ +################################################################################ +# +# osm2pgsql +# +################################################################################ + +OSM2PGSQL_VERSION = 1.4.2 +OSM2PGSQL_SITE = $(call github,openstreetmap,osm2pgsql,$(OSM2PGSQL_VERSION)) +OSM2PGSQL_LICENSE = GPL-2.0+, BSL-1.0 (libosmium), Apache-2.0 (protozero), BSD-2-Clause (protozero), MIT with exception (fmt) +OSM2PGSQL_LICENSE_FILES = COPYING +OSM2PGSQL_SUPPORTS_IN_SOURCE_BUILD = NO + +OSM2PGSQL_DEPENDENCIES = boost bzip2 expat postgresql zlib + +#disable build and coverage tests +OSM2PGSQL_CONF_OPTS += -DBUILD_TESTS=OFF -DBUILD_COVERAGE=OFF + +ifeq ($(BR2_PACKAGE_LUAJIT),y) +OSM2PGSQL_DEPENDENCIES += luajit +OSM2PGSQL_CONF_OPTS += -DWITH_LUA=ON -DWITH_LUAJIT=ON +else +ifeq ($(BR2_PACKAGE_LUA),y) +OSM2PGSQL_DEPENDENCIES += lua +OSM2PGSQL_CONF_OPTS += -DWITH_LUA=ON -DWITH_LUAJIT=OFF +else +OSM2PGSQL_CONF_OPTS += -DWITH_LUA=OFF -DWITH_LUAJIT=OFF +endif +endif + +ifeq ($(BR2_PACKAGE_FMT),y) +OSM2PGSQL_DEPENDENCIES += fmt +OSM2PGSQL_CONF_OPTS += -DEXTERNAL_FMT=ON +endif + +ifeq ($(BR2_PACKAGE_PROJ),y) +OSM2PGSQL_DEPENDENCIES += proj +OSM2PGSQL_CONF_OPTS += -DUSE_PROJ_LIB=auto +else +OSM2PGSQL_CONF_OPTS += -DUSE_PROJ_LIB=off +endif + +#not in buildroot now +ifeq ($(BR2_PACKAGE_LIBOSMIUM),y) +OSM2PGSQL_DEPENDENCIES += libosmium +OSM2PGSQL_CONF_OPTS += -DEXTERNAL_LIBOSMIUM=ON +endif + +#not in buildroot now +ifeq ($(BR2_PACKAGE_PROTOZERO),y) +OSM2PGSQL_DEPENDENCIES += protozero +OSM2PGSQL_CONF_OPTS += -DEXTERNAL_PROTOZERO=ON +endif + +$(eval $(cmake-package))
osm2pgsql is a tool for loading OpenStreetMap data into a PostgreSQL / PostGIS database suitable for applications like rendering into a map, geocoding with Nominatim, or general analysis. https://osm2pgsql.org Signed-off-by: Maxim Kochetkov <fido_max@inbox.ru> --- Changes v1 -> v2 (after review of Peter Seiderer): - Add dependencies - Disable tests - Fix license - Fix check-package warnings - Add myself to DEVELOPERS - Test all lua versions (5.1, 5.3, 5.4) DEVELOPERS | 1 + package/Config.in | 1 + package/osm2pgsql/Config.in | 20 ++++++++++++ package/osm2pgsql/osm2pgsql.hash | 3 ++ package/osm2pgsql/osm2pgsql.mk | 54 ++++++++++++++++++++++++++++++++ 5 files changed, 79 insertions(+) create mode 100644 package/osm2pgsql/Config.in create mode 100644 package/osm2pgsql/osm2pgsql.hash create mode 100644 package/osm2pgsql/osm2pgsql.mk