2011-11-02 23:45:32 +04:00
# Makefile for C source code
#
2014-05-01 20:55:13 +04:00
# Copyright (C) 2011,2014 Colin Walters <walters@verbum.org>
2011-11-02 23:45:32 +04:00
#
2011-11-10 22:17:04 +04:00
# This library is free software; you can redistribute it and/or
# modify it under the terms of the GNU Lesser General Public
# License as published by the Free Software Foundation; either
# version 2 of the License, or (at your option) any later version.
2011-11-02 23:45:32 +04:00
#
2011-11-10 22:17:04 +04:00
# This library is distributed in the hope that it will be useful,
2011-11-02 23:45:32 +04:00
# but WITHOUT ANY WARRANTY; without even the implied warranty of
2011-11-10 22:17:04 +04:00
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
# Lesser General Public License for more details.
2011-11-02 23:45:32 +04:00
#
2011-11-10 22:17:04 +04:00
# You should have received a copy of the GNU Lesser General Public
# License along with this library; if not, write to the
# Free Software Foundation, Inc., 59 Temple Place - Suite 330,
# Boston, MA 02111-1307, USA.
2011-11-02 23:45:32 +04:00
2013-08-17 06:54:35 +04:00
include Makefile-libostree-defines.am
oxidation: Add implementation of bupsplit in Rust
This is an initial drop of "oxidation", or adding implementation
of components in Rust. The bupsplit code is a good target - no
dependencies, just computation.
Translation into Rust had a few twists -
- The C code relies a lot on overflowing unsigned ints, and
also on the C promotion rules for e.g. `uint8_t -> int32_t`
- There were some odd loops that I introduced bugs in while
translating...in particular, the function always returns `len`,
but I mistakenly translated to `len+1`, resulting in an OOB
read on the C side, which was hard to debug.
On the plus side, an off-by-one array indexing in the Rust code paniced nicely.
In practice, we'll need a lot more build infrastructure to make this work, such
as using `cargo vendor` when producing build artifacts for example. Also, Cargo
is yet another thing we need to cache.
Where do we go with this? Well, I think we should merge this, it's not a lot of
code. We can just have it be an alternative CI target. Should we do a lot more
right now? Probably not immediately, but I find the medium/long term prospects
pretty exciting!
Closes: #656
Approved by: jlebon
2017-01-25 05:43:53 +03:00
noinst_LTLIBRARIES += libostree-kernel-args.la
if ENABLE_RUST
bupsplitpath = @abs_top_builddir@/target/@RUST_TARGET_SUBDIR@/libbupsplit_rs.a
2017-03-21 22:14:06 +03:00
BUPSPLIT_RUST_SRCS = rust/src/bupsplit.rs
EXTRA_DIST += $(BUPSPLIT_RUST_SRCS)
$(bupsplitpath): Makefile $(BUPSPLIT_RUST_SRCS)
oxidation: Add implementation of bupsplit in Rust
This is an initial drop of "oxidation", or adding implementation
of components in Rust. The bupsplit code is a good target - no
dependencies, just computation.
Translation into Rust had a few twists -
- The C code relies a lot on overflowing unsigned ints, and
also on the C promotion rules for e.g. `uint8_t -> int32_t`
- There were some odd loops that I introduced bugs in while
translating...in particular, the function always returns `len`,
but I mistakenly translated to `len+1`, resulting in an OOB
read on the C side, which was hard to debug.
On the plus side, an off-by-one array indexing in the Rust code paniced nicely.
In practice, we'll need a lot more build infrastructure to make this work, such
as using `cargo vendor` when producing build artifacts for example. Also, Cargo
is yet another thing we need to cache.
Where do we go with this? Well, I think we should merge this, it's not a lot of
code. We can just have it be an alternative CI target. Should we do a lot more
right now? Probably not immediately, but I find the medium/long term prospects
pretty exciting!
Closes: #656
Approved by: jlebon
2017-01-25 05:43:53 +03:00
cd $(top_srcdir)/rust && CARGO_TARGET_DIR=@abs_top_builddir@/target cargo build --verbose $(CARGO_RELEASE_ARGS)
else
bupsplitpath = libbupsplit.la
noinst_LTLIBRARIES += libbupsplit.la
libbupsplit_la_SOURCES = src/libostree/bupsplit.h src/libostree/bupsplit.c
endif # ENABLE_RUST
2014-01-16 22:04:00 +04:00
libostree_kernel_args_la_SOURCES = \
src/libostree/ostree-kernel-args.h \
src/libostree/ostree-kernel-args.c \
$(NULL)
2015-05-05 01:08:49 +03:00
libostree_kernel_args_la_CFLAGS = -I$(srcdir)/libglnx $(OT_INTERNAL_GIO_UNIX_CFLAGS)
2014-01-16 22:04:00 +04:00
libostree_kernel_args_la_LIBADD = $(OT_INTERNAL_GIO_UNIX_LIBS)
2013-07-27 03:25:07 +04:00
lib_LTLIBRARIES += libostree-1.la
2011-11-02 23:45:32 +04:00
2013-08-12 18:27:42 +04:00
libostreeincludedir = $(includedir)/ostree-1
2017-03-10 20:33:52 +03:00
libostreeinclude_HEADERS = $(libostree_public_headers) $(libostree_public_built_headers)
2013-07-27 03:25:07 +04:00
2016-05-12 17:15:24 +03:00
ENUM_TYPES = $(NULL)
ENUM_TYPES += $(srcdir)/src/libostree/ostree-fetcher.h
2015-11-10 03:04:42 +03:00
src/libostree/ostree-enumtypes.h: src/libostree/ostree-enumtypes.h.template $(ENUM_TYPES)
$(AM_V_GEN) $(GLIB_MKENUMS) \
2015-12-14 22:19:35 +03:00
--template $< \
$(ENUM_TYPES) > $@.tmp && mv $@.tmp $@
2015-11-10 03:04:42 +03:00
src/libostree/ostree-enumtypes.c: src/libostree/ostree-enumtypes.c.template $(ENUM_TYPES)
$(AM_V_GEN) $(GLIB_MKENUMS) \
2015-12-14 22:19:35 +03:00
--template $< \
$(ENUM_TYPES) > $@.tmp && mv $@.tmp $@
2015-11-10 03:04:42 +03:00
2017-01-27 12:06:39 +03:00
nodist_libostree_1_la_SOURCES = \
2015-11-10 03:04:42 +03:00
src/libostree/ostree-enumtypes.h \
src/libostree/ostree-enumtypes.c \
$(NULL)
2017-01-27 12:06:39 +03:00
BUILT_SOURCES += $(nodist_libostree_1_la_SOURCES)
2015-11-10 03:04:42 +03:00
CLEANFILES += $(BUILT_SOURCES)
2013-07-27 03:25:07 +04:00
libostree_1_la_SOURCES = \
2013-10-24 17:10:34 +04:00
src/libostree/ostree-async-progress.c \
2014-10-11 16:59:06 +04:00
src/libostree/ostree-cmdprivate.h \
src/libostree/ostree-cmdprivate.c \
2013-10-16 00:30:09 +04:00
src/libostree/ostree-core-private.h \
2013-07-27 03:25:07 +04:00
src/libostree/ostree-core.c \
2016-05-12 17:32:17 +03:00
src/libostree/ostree-dummy-enumtypes.c \
2012-04-11 00:40:22 +04:00
src/libostree/ostree-checksum-input-stream.c \
src/libostree/ostree-checksum-input-stream.h \
2012-04-11 23:18:34 +04:00
src/libostree/ostree-chain-input-stream.c \
src/libostree/ostree-chain-input-stream.h \
2014-04-29 16:56:05 +04:00
src/libostree/ostree-lzma-common.c \
src/libostree/ostree-lzma-common.h \
src/libostree/ostree-lzma-compressor.c \
src/libostree/ostree-lzma-compressor.h \
src/libostree/ostree-lzma-decompressor.c \
src/libostree/ostree-lzma-decompressor.h \
2015-01-30 18:13:07 +03:00
src/libostree/ostree-rollsum.h \
src/libostree/ostree-rollsum.c \
2013-08-15 17:03:21 +04:00
src/libostree/ostree-varint.h \
src/libostree/ostree-varint.c \
2014-05-30 18:02:01 +04:00
src/libostree/ostree-linuxfsutil.h \
src/libostree/ostree-linuxfsutil.c \
2012-09-01 01:49:58 +04:00
src/libostree/ostree-diff.c \
2011-12-21 22:34:10 +04:00
src/libostree/ostree-mutable-tree.c \
2017-06-07 17:27:10 +03:00
src/libostree/ostree-ref.c \
2017-04-21 18:25:23 +03:00
src/libostree/ostree-remote.c \
src/libostree/ostree-remote-private.h \
2011-11-15 00:39:38 +04:00
src/libostree/ostree-repo.c \
2013-07-10 03:02:38 +04:00
src/libostree/ostree-repo-checkout.c \
2013-09-05 23:43:07 +04:00
src/libostree/ostree-repo-commit.c \
2016-06-08 21:48:44 +03:00
src/libostree/ostree-repo-pull.c \
2013-07-10 03:11:37 +04:00
src/libostree/ostree-repo-libarchive.c \
2013-07-10 04:05:31 +04:00
src/libostree/ostree-repo-prune.c \
2013-07-10 03:49:00 +04:00
src/libostree/ostree-repo-refs.c \
2013-07-10 03:59:39 +04:00
src/libostree/ostree-repo-traverse.c \
2013-07-10 03:02:38 +04:00
src/libostree/ostree-repo-private.h \
2011-11-15 00:39:38 +04:00
src/libostree/ostree-repo-file.c \
src/libostree/ostree-repo-file-enumerator.c \
src/libostree/ostree-repo-file-enumerator.h \
2014-02-19 17:40:29 +04:00
src/libostree/ostree-sepolicy.c \
2017-03-23 21:29:59 +03:00
src/libostree/ostree-sepolicy-private.h \
2013-09-16 02:07:34 +04:00
src/libostree/ostree-sysroot-private.h \
2013-09-15 22:33:57 +04:00
src/libostree/ostree-sysroot.c \
2013-09-16 02:07:34 +04:00
src/libostree/ostree-sysroot-cleanup.c \
2013-09-16 04:16:20 +04:00
src/libostree/ostree-sysroot-deploy.c \
2014-03-23 16:54:28 +04:00
src/libostree/ostree-sysroot-upgrader.c \
Switch to using a systemd generator for /var
If one wants to set up a mount for `/var` in `/etc/fstab`, it
won't be mounted since `ostree-prepare-root` set up a bind mount for
`/var` to `/sysroot/ostree/$stateroot/var`, and systemd will take
the already extant mount over what's in `/etc/fstab`.
There are a few options to fix this, but what I settled on is parsing
`/etc/fstab` in a generator (exactly like `systemd-fstab-generator` does),
except here we look for an explicit mount for `/var`, and if one *isn't* found,
synthesize the default ostree mount to the stateroot. Another nice property is
that if an admin creates a `var.mount` unit in `/etc` for example, that will
also override our mount.
Note that today ostree doesn't hard depend on systemd, so this behavior only
kicks in if we're built with systemd *and* libmount support (for parsing
`/etc/fstab`). I didn't really test that case though.
Initially I started writing this as a "pure libc" program, but at one point
decided to use `libostree.so` to find the booted deployment. That didn't work
out because `/boot` wasn't necessarily mounted and hence we couldn't find the
bootloader config. A leftover artifact from this is that the generator code
calls into libostree via the "cmd private" infrastructure. But it's an easy way
to share code, and doesn't hurt.
Closes: #859
Approved by: jlebon
2017-05-11 21:54:12 +03:00
src/libostree/ostree-impl-system-generator.c \
2013-09-15 23:06:31 +04:00
src/libostree/ostree-bootconfig-parser.c \
src/libostree/ostree-deployment.c \
2013-09-16 04:26:13 +04:00
src/libostree/ostree-bootloader.h \
2013-09-16 02:07:34 +04:00
src/libostree/ostree-bootloader.c \
2014-10-11 16:59:06 +04:00
src/libostree/ostree-bootloader-grub2.h \
src/libostree/ostree-bootloader-grub2.c \
2013-09-16 02:07:34 +04:00
src/libostree/ostree-bootloader-syslinux.h \
src/libostree/ostree-bootloader-syslinux.c \
src/libostree/ostree-bootloader-uboot.h \
src/libostree/ostree-bootloader-uboot.c \
2013-08-15 17:17:37 +04:00
src/libostree/ostree-repo-static-delta-core.c \
src/libostree/ostree-repo-static-delta-processing.c \
src/libostree/ostree-repo-static-delta-compilation.c \
2015-02-11 11:29:14 +03:00
src/libostree/ostree-repo-static-delta-compilation-analysis.c \
2013-08-15 17:17:37 +04:00
src/libostree/ostree-repo-static-delta-private.h \
2015-03-11 18:34:59 +03:00
src/libostree/ostree-gpg-verifier.c \
src/libostree/ostree-gpg-verifier.h \
2015-03-04 20:44:47 +03:00
src/libostree/ostree-gpg-verify-result.c \
src/libostree/ostree-gpg-verify-result-private.h \
2016-05-12 15:42:26 +03:00
src/libostree/ostree-autocleanups.h \
2011-11-02 23:45:32 +04:00
$(NULL)
2011-12-04 21:14:08 +04:00
if USE_LIBARCHIVE
2013-07-27 03:25:07 +04:00
libostree_1_la_SOURCES += src/libostree/ostree-libarchive-input-stream.h \
2011-12-04 21:14:08 +04:00
src/libostree/ostree-libarchive-input-stream.c \
2016-12-02 21:34:32 +03:00
src/libostree/ostree-libarchive-private.h \
2011-12-04 21:14:08 +04:00
$(NULL)
endif
2014-05-01 20:55:13 +04:00
if HAVE_LIBSOUP_CLIENT_CERTS
libostree_1_la_SOURCES += \
src/libostree/ostree-tls-cert-interaction.c \
src/libostree/ostree-tls-cert-interaction.h \
$(NULL)
endif
2017-06-27 19:57:47 +03:00
libostree_experimental_headers = \
2017-06-07 17:27:10 +03:00
src/libostree/ostree-ref.h \
2017-04-21 18:25:23 +03:00
src/libostree/ostree-remote.h \
2017-04-19 01:59:33 +03:00
src/libostree/ostree-repo-finder.h \
2017-04-19 02:13:28 +03:00
src/libostree/ostree-repo-finder-avahi.h \
2017-04-19 02:05:06 +03:00
src/libostree/ostree-repo-finder-config.h \
2017-04-19 02:07:51 +03:00
src/libostree/ostree-repo-finder-mount.h \
2017-04-19 01:59:33 +03:00
$(NULL)
2017-06-27 19:57:47 +03:00
if !ENABLE_EXPERIMENTAL_API
libostree_1_la_SOURCES += $(libostree_experimental_headers)
2017-04-19 01:59:33 +03:00
else # if ENABLE_EXPERIMENTAL_API
libostree_1_la_SOURCES += \
2017-04-19 02:11:28 +03:00
src/libostree/ostree-bloom.c \
src/libostree/ostree-bloom-private.h \
2017-04-19 01:59:33 +03:00
src/libostree/ostree-repo-finder.c \
2017-04-19 02:13:28 +03:00
src/libostree/ostree-repo-finder-avahi.c \
2017-04-19 02:05:06 +03:00
src/libostree/ostree-repo-finder-config.c \
2017-04-19 02:07:51 +03:00
src/libostree/ostree-repo-finder-mount.c \
2017-04-21 18:25:23 +03:00
$(NULL)
2017-04-19 02:13:28 +03:00
if USE_AVAHI
libostree_1_la_SOURCES += \
src/libostree/ostree-repo-finder-avahi-parser.c \
src/libostree/ostree-repo-finder-avahi-private.h \
$(NULL)
endif # USE_AVAHI
2017-04-21 18:25:23 +03:00
endif
2011-12-04 21:14:08 +04:00
2017-06-19 17:23:21 +03:00
symbol_files = $(top_srcdir)/src/libostree/libostree-released.sym
if BUILDOPT_IS_DEVEL_BUILD
symbol_files += $(top_srcdir)/src/libostree/libostree-devel.sym
endif
2017-06-15 04:44:04 +03:00
if ENABLE_EXPERIMENTAL_API
symbol_files += $(top_srcdir)/src/libostree/libostree-experimental.sym
endif
# http://blog.jgc.org/2007/06/escaping-comma-and-space-in-gnu-make.html
wl_versionscript_arg = -Wl,--version-script=
2017-07-12 15:58:16 +03:00
EXTRA_DIST += \
$(top_srcdir)/src/libostree/libostree-devel.sym \
$(top_srcdir)/src/libostree/libostree-experimental.sym \
$(top_srcdir)/src/libostree/libostree-released.sym \
$(NULL)
2017-06-15 04:44:04 +03:00
2015-12-14 22:19:35 +03:00
libostree_1_la_CFLAGS = $(AM_CFLAGS) -I$(srcdir)/bsdiff -I$(srcdir)/libglnx -I$(srcdir)/src/libotutil -I$(srcdir)/src/libostree -I$(builddir)/src/libostree \
2017-03-21 22:07:41 +03:00
$(OT_INTERNAL_GIO_UNIX_CFLAGS) $(OT_INTERNAL_GPGME_CFLAGS) $(OT_DEP_LZMA_CFLAGS) $(OT_DEP_ZLIB_CFLAGS) $(OT_DEP_OPENSSL_CFLAGS) \
2016-03-02 01:42:59 +03:00
-fvisibility=hidden '-D_OSTREE_PUBLIC=__attribute__((visibility("default"))) extern'
2017-06-15 04:44:04 +03:00
libostree_1_la_LDFLAGS = -version-number 1:0:0 -Bsymbolic-functions $(addprefix $(wl_versionscript_arg),$(symbol_files))
2017-03-21 22:07:41 +03:00
libostree_1_la_LIBADD = libotutil.la libglnx.la libbsdiff.la libostree-kernel-args.la $(OT_INTERNAL_GIO_UNIX_LIBS) $(OT_INTERNAL_GPGME_LIBS) \
$(OT_DEP_LZMA_LIBS) $(OT_DEP_ZLIB_LIBS) $(OT_DEP_OPENSSL_LIBS)
oxidation: Add implementation of bupsplit in Rust
This is an initial drop of "oxidation", or adding implementation
of components in Rust. The bupsplit code is a good target - no
dependencies, just computation.
Translation into Rust had a few twists -
- The C code relies a lot on overflowing unsigned ints, and
also on the C promotion rules for e.g. `uint8_t -> int32_t`
- There were some odd loops that I introduced bugs in while
translating...in particular, the function always returns `len`,
but I mistakenly translated to `len+1`, resulting in an OOB
read on the C side, which was hard to debug.
On the plus side, an off-by-one array indexing in the Rust code paniced nicely.
In practice, we'll need a lot more build infrastructure to make this work, such
as using `cargo vendor` when producing build artifacts for example. Also, Cargo
is yet another thing we need to cache.
Where do we go with this? Well, I think we should merge this, it's not a lot of
code. We can just have it be an alternative CI target. Should we do a lot more
right now? Probably not immediately, but I find the medium/long term prospects
pretty exciting!
Closes: #656
Approved by: jlebon
2017-01-25 05:43:53 +03:00
libostree_1_la_LIBADD += $(bupsplitpath)
2017-06-15 04:44:04 +03:00
EXTRA_libostree_1_la_DEPENDENCIES = $(symbol_files)
2016-06-12 12:36:44 +03:00
2011-12-04 21:14:08 +04:00
if USE_LIBARCHIVE
2013-07-27 03:25:07 +04:00
libostree_1_la_CFLAGS += $(OT_DEP_LIBARCHIVE_CFLAGS)
libostree_1_la_LIBADD += $(OT_DEP_LIBARCHIVE_LIBS)
2011-12-04 21:14:08 +04:00
endif
2011-12-19 03:37:48 +04:00
2017-04-19 02:13:28 +03:00
if ENABLE_EXPERIMENTAL_API
if USE_AVAHI
libostree_1_la_CFLAGS += $(OT_DEP_AVAHI_CFLAGS)
libostree_1_la_LIBADD += $(OT_DEP_AVAHI_LIBS)
endif
endif
2016-06-14 20:12:21 +03:00
if BUILDOPT_LIBSYSTEMD
libostree_1_la_CFLAGS += $(LIBSYSTEMD_CFLAGS)
libostree_1_la_LIBADD += $(LIBSYSTEMD_LIBS)
endif
2016-12-08 05:02:30 +03:00
if USE_CURL_OR_SOUP
2013-07-27 03:25:07 +04:00
libostree_1_la_SOURCES += \
2013-07-10 04:14:53 +04:00
src/libostree/ostree-fetcher.h \
2016-12-23 04:34:07 +03:00
src/libostree/ostree-fetcher-util.h \
src/libostree/ostree-fetcher-util.c \
2016-12-08 05:02:30 +03:00
src/libostree/ostree-fetcher-uri.c \
2014-08-01 02:50:19 +04:00
src/libostree/ostree-metalink.h \
src/libostree/ostree-metalink.c \
2013-07-10 04:14:53 +04:00
$(NULL)
2016-12-08 05:02:30 +03:00
endif
if USE_CURL
libostree_1_la_SOURCES += src/libostree/ostree-fetcher-curl.c \
src/libostree/ostree-soup-uri.h src/libostree/ostree-soup-uri.c \
src/libostree/ostree-soup-form.c \
$(NULL)
libostree_1_la_CFLAGS += $(OT_DEP_CURL_CFLAGS)
libostree_1_la_LIBADD += $(OT_DEP_CURL_LIBS)
else
if USE_LIBSOUP
libostree_1_la_SOURCES += src/libostree/ostree-fetcher-soup.c
2013-07-27 03:25:07 +04:00
libostree_1_la_CFLAGS += $(OT_INTERNAL_SOUP_CFLAGS)
libostree_1_la_LIBADD += $(OT_INTERNAL_SOUP_LIBS)
endif
2016-12-08 05:02:30 +03:00
endif
2013-07-27 03:25:07 +04:00
2016-03-21 17:37:38 +03:00
if USE_LIBMOUNT
libostree_1_la_CFLAGS += $(OT_DEP_LIBMOUNT_CFLAGS)
libostree_1_la_LIBADD += $(OT_DEP_LIBMOUNT_LIBS)
endif
2014-10-20 19:06:51 +04:00
if USE_SELINUX
libostree_1_la_CFLAGS += $(OT_DEP_SELINUX_CFLAGS)
libostree_1_la_LIBADD += $(OT_DEP_SELINUX_LIBS)
endif
2013-07-27 03:25:07 +04:00
if BUILDOPT_INTROSPECTION
OSTree-1.0.gir: libostree-1.la Makefile
OSTree_1_0_gir_EXPORT_PACKAGES = ostree-1
OSTree_1_0_gir_INCLUDES = Gio-2.0
OSTree_1_0_gir_CFLAGS = $(libostree_1_la_CFLAGS)
OSTree_1_0_gir_LIBS = libostree-1.la
2017-06-27 01:12:33 +03:00
OSTree_1_0_gir_SCANNERFLAGS = --warn-all --identifier-prefix=Ostree --symbol-prefix=ostree $(GI_SCANNERFLAGS)
2017-06-27 19:57:47 +03:00
OSTree_1_0_gir_FILES = $(libostreeinclude_HEADERS) $(filter-out %-private.h %/ostree-soup-uri.h $(libostree_experimental_headers),$(libostree_1_la_SOURCES))
2013-07-27 03:25:07 +04:00
INTROSPECTION_GIRS += OSTree-1.0.gir
gir_DATA += OSTree-1.0.gir
typelib_DATA += OSTree-1.0.typelib
2013-08-12 18:27:42 +04:00
CLEANFILES += $(gir_DATA) $(typelib_DATA)
2013-07-10 04:14:53 +04:00
endif
2013-07-27 03:25:07 +04:00
pkgconfig_DATA += src/libostree/ostree-1.pc
2013-09-03 05:43:49 +04:00
2013-09-05 22:50:36 +04:00
gpgreadme_DATA = src/libostree/README-gpg
2017-02-03 22:10:27 +03:00
gpgreadmedir = $(datadir)/ostree/trusted.gpg.d
2016-01-29 13:02:17 +03:00
EXTRA_DIST += src/libostree/README-gpg src/libostree/bupsplit.h \
src/libostree/ostree-enumtypes.h.template \
src/libostree/ostree-enumtypes.c.template \
2016-07-27 12:11:13 +03:00
src/libostree/ostree-deployment-private.h \
2017-03-10 20:33:52 +03:00
src/libostree/ostree-repo-deprecated.h \
src/libostree/ostree-version.h
2013-09-03 05:43:49 +04:00
2014-05-08 17:16:36 +04:00
install-mkdir-remotes-d-hook:
2014-05-09 17:06:59 +04:00
mkdir -p $(DESTDIR)$(sysconfdir)/ostree/remotes.d
2014-05-08 17:16:36 +04:00
INSTALL_DATA_HOOKS += install-mkdir-remotes-d-hook