diff --git a/internal/rosa/make.go b/internal/rosa/make.go index d6f1f0b9..0dab3a43 100644 --- a/internal/rosa/make.go +++ b/internal/rosa/make.go @@ -28,6 +28,8 @@ type MakeHelper struct { SkipConfigure bool // Alternative name for the configure script. ConfigureName string + // Add autoconf arguments regardless of ConfigureName. + ForceAutoconf bool // Flags passed to the configure script. Configure []KV // Host target triple, zero value is equivalent to the Rosa OS triple. @@ -100,9 +102,11 @@ func (attr *MakeHelper) script(t Toolchain, name string) string { if !attr.SkipConfigure { configure = attr.ConfigureName if configure == "" { - configure += `/usr/src/` + name + `/configure \ + configure += `/usr/src/` + name + `/configure` + } + if attr.ForceAutoconf || attr.ConfigureName == "" { + configure += ` \ --prefix=/system` - host := `"${ROSA_TRIPLE}"` if attr.Host != "" { host = attr.Host diff --git a/internal/rosa/package/db.az b/internal/rosa/package/db.az new file mode 100644 index 00000000..4bb577e4 --- /dev/null +++ b/internal/rosa/package/db.az @@ -0,0 +1,35 @@ +package db { + description = "Berkeley DB"; + website = "https://www.oracle.com/database/technologies/related/berkeleydb.html"; + anitya = 1587; + + version# = "18.1.40"; + source = remoteTar { + url = "https://download.oracle.com/berkeley-db/db-"+version+".tar.gz"; + checksum = "26i6UfgNxPVzS7kr37Q9-9feeCiQ825qRi8uvn2oG4AngOXHcFoSGDijckKvWSH7"; + compress = gzip; + }; + + writable = true; + chmod = true; + early = ` +cd build_unix +# broken install target +touch \ + ../docs/bdb-sql \ + ../docs/gsg_db_server +`; + + exec = make { + inPlace = true; + configureName = "../dist/configure"; + forceAutoconf = true; + configure = { + "enable-cxx"; + "enable-compat185"; + "with-repmgr-ssl": "no"; + }; + check = [ "examples_c" ]; + postInstall = "rm -r /work/system/docs"; + }; +} diff --git a/internal/rosa/package/iproute2.az b/internal/rosa/package/iproute2.az index 69febd5d..d6d99b61 100644 --- a/internal/rosa/package/iproute2.az +++ b/internal/rosa/package/iproute2.az @@ -41,6 +41,7 @@ package iproute2 { libbpf, libmnl, + db, libcap, kernel-headers, ]; @@ -48,6 +49,7 @@ package iproute2 { runtime = [ libbpf, libmnl, + db, libcap, ]; } diff --git a/internal/rosa/state.go b/internal/rosa/state.go index 888378d8..5e6f089a 100644 --- a/internal/rosa/state.go +++ b/internal/rosa/state.go @@ -776,6 +776,7 @@ func (s *S) getFrame() azalea.Frame { k("inPlace"): &attr.InPlace, k("skipConfigure"): &attr.SkipConfigure, k("configureName"): &attr.ConfigureName, + k("forceAutoconf"): &attr.ForceAutoconf, k("configure"): &attr.Configure, k("host"): &attr.Host, k("build"): &attr.Build,