Update upstream source from tag 'upstream/2022.5'
Update to upstream version '2022.5'
with Debian dir d2f2e62c69
This commit is contained in:
commit
35e3685924
|
|
@ -73,6 +73,7 @@ ostree_SOURCES += \
|
|||
src/ostree/ot-admin-builtin-boot-complete.c \
|
||||
src/ostree/ot-admin-builtin-undeploy.c \
|
||||
src/ostree/ot-admin-builtin-instutil.c \
|
||||
src/ostree/ot-admin-builtin-kargs.c \
|
||||
src/ostree/ot-admin-builtin-cleanup.c \
|
||||
src/ostree/ot-admin-builtin-os-init.c \
|
||||
src/ostree/ot-admin-builtin-set-origin.c \
|
||||
|
|
@ -88,6 +89,8 @@ ostree_SOURCES += \
|
|||
src/ostree/ot-admin-instutil-builtins.h \
|
||||
src/ostree/ot-admin-functions.h \
|
||||
src/ostree/ot-admin-functions.c \
|
||||
src/ostree/ot-admin-kargs-builtins.h \
|
||||
src/ostree/ot-admin-kargs-builtin-edit-in-place.c \
|
||||
$(NULL)
|
||||
|
||||
# Remote subcommand
|
||||
|
|
|
|||
|
|
@ -114,6 +114,7 @@ _installed_or_uninstalled_test_scripts = \
|
|||
tests/test-admin-pull-deploy-split.sh \
|
||||
tests/test-admin-locking.sh \
|
||||
tests/test-admin-deploy-clean.sh \
|
||||
tests/test-admin-kargs.sh \
|
||||
tests/test-reset-nonlinear.sh \
|
||||
tests/test-oldstyle-partial.sh \
|
||||
tests/test-delta.sh \
|
||||
|
|
|
|||
110
Makefile.in
110
Makefile.in
|
|
@ -1022,6 +1022,7 @@ am__ostree_SOURCES_DIST = src/ostree/main.c \
|
|||
src/ostree/ot-admin-builtin-boot-complete.c \
|
||||
src/ostree/ot-admin-builtin-undeploy.c \
|
||||
src/ostree/ot-admin-builtin-instutil.c \
|
||||
src/ostree/ot-admin-builtin-kargs.c \
|
||||
src/ostree/ot-admin-builtin-cleanup.c \
|
||||
src/ostree/ot-admin-builtin-os-init.c \
|
||||
src/ostree/ot-admin-builtin-set-origin.c \
|
||||
|
|
@ -1037,6 +1038,8 @@ am__ostree_SOURCES_DIST = src/ostree/main.c \
|
|||
src/ostree/ot-admin-instutil-builtins.h \
|
||||
src/ostree/ot-admin-functions.h \
|
||||
src/ostree/ot-admin-functions.c \
|
||||
src/ostree/ot-admin-kargs-builtins.h \
|
||||
src/ostree/ot-admin-kargs-builtin-edit-in-place.c \
|
||||
src/ostree/ot-remote-builtins.h \
|
||||
src/ostree/ot-remote-builtin-add.c \
|
||||
src/ostree/ot-remote-builtin-delete.c \
|
||||
|
|
@ -1101,6 +1104,7 @@ am_ostree_OBJECTS = src/ostree/ostree-main.$(OBJEXT) \
|
|||
src/ostree/ostree-ot-admin-builtin-boot-complete.$(OBJEXT) \
|
||||
src/ostree/ostree-ot-admin-builtin-undeploy.$(OBJEXT) \
|
||||
src/ostree/ostree-ot-admin-builtin-instutil.$(OBJEXT) \
|
||||
src/ostree/ostree-ot-admin-builtin-kargs.$(OBJEXT) \
|
||||
src/ostree/ostree-ot-admin-builtin-cleanup.$(OBJEXT) \
|
||||
src/ostree/ostree-ot-admin-builtin-os-init.$(OBJEXT) \
|
||||
src/ostree/ostree-ot-admin-builtin-set-origin.$(OBJEXT) \
|
||||
|
|
@ -1113,6 +1117,7 @@ am_ostree_OBJECTS = src/ostree/ostree-main.$(OBJEXT) \
|
|||
src/ostree/ostree-ot-admin-instutil-builtin-set-kargs.$(OBJEXT) \
|
||||
src/ostree/ostree-ot-admin-instutil-builtin-grub2-generate.$(OBJEXT) \
|
||||
src/ostree/ostree-ot-admin-functions.$(OBJEXT) \
|
||||
src/ostree/ostree-ot-admin-kargs-builtin-edit-in-place.$(OBJEXT) \
|
||||
$(am__objects_1) \
|
||||
src/ostree/ostree-ot-remote-builtin-add.$(OBJEXT) \
|
||||
src/ostree/ostree-ot-remote-builtin-delete.$(OBJEXT) \
|
||||
|
|
@ -1612,6 +1617,7 @@ am__depfiles_remade = bsdiff/$(DEPDIR)/libbsdiff_la-bsdiff.Plo \
|
|||
src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-finalize-staged.Po \
|
||||
src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-init-fs.Po \
|
||||
src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-instutil.Po \
|
||||
src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-kargs.Po \
|
||||
src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-os-init.Po \
|
||||
src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-pin.Po \
|
||||
src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-set-origin.Po \
|
||||
|
|
@ -1624,6 +1630,7 @@ am__depfiles_remade = bsdiff/$(DEPDIR)/libbsdiff_la-bsdiff.Plo \
|
|||
src/ostree/$(DEPDIR)/ostree-ot-admin-instutil-builtin-grub2-generate.Po \
|
||||
src/ostree/$(DEPDIR)/ostree-ot-admin-instutil-builtin-selinux-ensure-labeled.Po \
|
||||
src/ostree/$(DEPDIR)/ostree-ot-admin-instutil-builtin-set-kargs.Po \
|
||||
src/ostree/$(DEPDIR)/ostree-ot-admin-kargs-builtin-edit-in-place.Po \
|
||||
src/ostree/$(DEPDIR)/ostree-ot-builtin-admin.Po \
|
||||
src/ostree/$(DEPDIR)/ostree-ot-builtin-cat.Po \
|
||||
src/ostree/$(DEPDIR)/ostree-ot-builtin-checkout.Po \
|
||||
|
|
@ -2047,18 +2054,19 @@ am__EXEEXT_23 = tests/test-basic.sh \
|
|||
tests/test-admin-pull-deploy-commit.sh \
|
||||
tests/test-admin-pull-deploy-split.sh \
|
||||
tests/test-admin-locking.sh tests/test-admin-deploy-clean.sh \
|
||||
tests/test-reset-nonlinear.sh tests/test-oldstyle-partial.sh \
|
||||
tests/test-delta.sh tests/test-delta-sign.sh \
|
||||
tests/test-delta-ed25519.sh tests/test-xattrs.sh \
|
||||
tests/test-auto-summary.sh tests/test-prune.sh \
|
||||
tests/test-concurrency.py tests/test-refs.sh \
|
||||
tests/test-demo-buildsystem.sh tests/test-switchroot.sh \
|
||||
tests/test-pull-contenturl.sh tests/test-pull-mirrorlist.sh \
|
||||
tests/test-summary-update.sh tests/test-summary-view.sh \
|
||||
tests/test-no-initramfs.sh tests/test-create-usb.sh \
|
||||
tests/test-find-remotes.sh tests/test-fsck-collections.sh \
|
||||
tests/test-fsck-delete.sh tests/test-init-collections.sh \
|
||||
tests/test-prune-collections.sh tests/test-refs-collections.sh \
|
||||
tests/test-admin-kargs.sh tests/test-reset-nonlinear.sh \
|
||||
tests/test-oldstyle-partial.sh tests/test-delta.sh \
|
||||
tests/test-delta-sign.sh tests/test-delta-ed25519.sh \
|
||||
tests/test-xattrs.sh tests/test-auto-summary.sh \
|
||||
tests/test-prune.sh tests/test-concurrency.py \
|
||||
tests/test-refs.sh tests/test-demo-buildsystem.sh \
|
||||
tests/test-switchroot.sh tests/test-pull-contenturl.sh \
|
||||
tests/test-pull-mirrorlist.sh tests/test-summary-update.sh \
|
||||
tests/test-summary-view.sh tests/test-no-initramfs.sh \
|
||||
tests/test-create-usb.sh tests/test-find-remotes.sh \
|
||||
tests/test-fsck-collections.sh tests/test-fsck-delete.sh \
|
||||
tests/test-init-collections.sh tests/test-prune-collections.sh \
|
||||
tests/test-refs-collections.sh \
|
||||
tests/test-remote-add-collections.sh \
|
||||
tests/test-repo-finder-mount-integration.sh \
|
||||
tests/test-summary-collections.sh \
|
||||
|
|
@ -2190,6 +2198,7 @@ EGREP = @EGREP@
|
|||
ETAGS = @ETAGS@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
FILECMD = @FILECMD@
|
||||
FUSE3_CFLAGS = @FUSE3_CFLAGS@
|
||||
FUSE3_LIBS = @FUSE3_LIBS@
|
||||
FUSE_CFLAGS = @FUSE_CFLAGS@
|
||||
|
|
@ -2805,6 +2814,7 @@ ostree_SOURCES = src/ostree/main.c src/ostree/ot-builtin-admin.c \
|
|||
src/ostree/ot-admin-builtin-boot-complete.c \
|
||||
src/ostree/ot-admin-builtin-undeploy.c \
|
||||
src/ostree/ot-admin-builtin-instutil.c \
|
||||
src/ostree/ot-admin-builtin-kargs.c \
|
||||
src/ostree/ot-admin-builtin-cleanup.c \
|
||||
src/ostree/ot-admin-builtin-os-init.c \
|
||||
src/ostree/ot-admin-builtin-set-origin.c \
|
||||
|
|
@ -2819,7 +2829,9 @@ ostree_SOURCES = src/ostree/main.c src/ostree/ot-builtin-admin.c \
|
|||
src/ostree/ot-admin-instutil-builtin-grub2-generate.c \
|
||||
src/ostree/ot-admin-instutil-builtins.h \
|
||||
src/ostree/ot-admin-functions.h \
|
||||
src/ostree/ot-admin-functions.c $(NULL) \
|
||||
src/ostree/ot-admin-functions.c \
|
||||
src/ostree/ot-admin-kargs-builtins.h \
|
||||
src/ostree/ot-admin-kargs-builtin-edit-in-place.c $(NULL) \
|
||||
src/ostree/ot-remote-builtins.h \
|
||||
src/ostree/ot-remote-builtin-add.c \
|
||||
src/ostree/ot-remote-builtin-delete.c \
|
||||
|
|
@ -2929,18 +2941,19 @@ _installed_or_uninstalled_test_scripts = tests/test-basic.sh \
|
|||
tests/test-admin-pull-deploy-commit.sh \
|
||||
tests/test-admin-pull-deploy-split.sh \
|
||||
tests/test-admin-locking.sh tests/test-admin-deploy-clean.sh \
|
||||
tests/test-reset-nonlinear.sh tests/test-oldstyle-partial.sh \
|
||||
tests/test-delta.sh tests/test-delta-sign.sh \
|
||||
tests/test-delta-ed25519.sh tests/test-xattrs.sh \
|
||||
tests/test-auto-summary.sh tests/test-prune.sh \
|
||||
tests/test-concurrency.py tests/test-refs.sh \
|
||||
tests/test-demo-buildsystem.sh tests/test-switchroot.sh \
|
||||
tests/test-pull-contenturl.sh tests/test-pull-mirrorlist.sh \
|
||||
tests/test-summary-update.sh tests/test-summary-view.sh \
|
||||
tests/test-no-initramfs.sh tests/test-create-usb.sh \
|
||||
tests/test-find-remotes.sh tests/test-fsck-collections.sh \
|
||||
tests/test-fsck-delete.sh tests/test-init-collections.sh \
|
||||
tests/test-prune-collections.sh tests/test-refs-collections.sh \
|
||||
tests/test-admin-kargs.sh tests/test-reset-nonlinear.sh \
|
||||
tests/test-oldstyle-partial.sh tests/test-delta.sh \
|
||||
tests/test-delta-sign.sh tests/test-delta-ed25519.sh \
|
||||
tests/test-xattrs.sh tests/test-auto-summary.sh \
|
||||
tests/test-prune.sh tests/test-concurrency.py \
|
||||
tests/test-refs.sh tests/test-demo-buildsystem.sh \
|
||||
tests/test-switchroot.sh tests/test-pull-contenturl.sh \
|
||||
tests/test-pull-mirrorlist.sh tests/test-summary-update.sh \
|
||||
tests/test-summary-view.sh tests/test-no-initramfs.sh \
|
||||
tests/test-create-usb.sh tests/test-find-remotes.sh \
|
||||
tests/test-fsck-collections.sh tests/test-fsck-delete.sh \
|
||||
tests/test-init-collections.sh tests/test-prune-collections.sh \
|
||||
tests/test-refs-collections.sh \
|
||||
tests/test-remote-add-collections.sh \
|
||||
tests/test-repo-finder-mount-integration.sh \
|
||||
tests/test-summary-collections.sh \
|
||||
|
|
@ -4173,6 +4186,9 @@ src/ostree/ostree-ot-admin-builtin-undeploy.$(OBJEXT): \
|
|||
src/ostree/ostree-ot-admin-builtin-instutil.$(OBJEXT): \
|
||||
src/ostree/$(am__dirstamp) \
|
||||
src/ostree/$(DEPDIR)/$(am__dirstamp)
|
||||
src/ostree/ostree-ot-admin-builtin-kargs.$(OBJEXT): \
|
||||
src/ostree/$(am__dirstamp) \
|
||||
src/ostree/$(DEPDIR)/$(am__dirstamp)
|
||||
src/ostree/ostree-ot-admin-builtin-cleanup.$(OBJEXT): \
|
||||
src/ostree/$(am__dirstamp) \
|
||||
src/ostree/$(DEPDIR)/$(am__dirstamp)
|
||||
|
|
@ -4209,6 +4225,9 @@ src/ostree/ostree-ot-admin-instutil-builtin-grub2-generate.$(OBJEXT): \
|
|||
src/ostree/ostree-ot-admin-functions.$(OBJEXT): \
|
||||
src/ostree/$(am__dirstamp) \
|
||||
src/ostree/$(DEPDIR)/$(am__dirstamp)
|
||||
src/ostree/ostree-ot-admin-kargs-builtin-edit-in-place.$(OBJEXT): \
|
||||
src/ostree/$(am__dirstamp) \
|
||||
src/ostree/$(DEPDIR)/$(am__dirstamp)
|
||||
src/ostree/ostree-ot-remote-builtin-add.$(OBJEXT): \
|
||||
src/ostree/$(am__dirstamp) \
|
||||
src/ostree/$(DEPDIR)/$(am__dirstamp)
|
||||
|
|
@ -4914,6 +4933,7 @@ distclean-compile:
|
|||
@AMDEP_TRUE@@am__include@ @am__quote@src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-finalize-staged.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-init-fs.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-instutil.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-kargs.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-os-init.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-pin.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-set-origin.Po@am__quote@ # am--include-marker
|
||||
|
|
@ -4926,6 +4946,7 @@ distclean-compile:
|
|||
@AMDEP_TRUE@@am__include@ @am__quote@src/ostree/$(DEPDIR)/ostree-ot-admin-instutil-builtin-grub2-generate.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@src/ostree/$(DEPDIR)/ostree-ot-admin-instutil-builtin-selinux-ensure-labeled.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@src/ostree/$(DEPDIR)/ostree-ot-admin-instutil-builtin-set-kargs.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@src/ostree/$(DEPDIR)/ostree-ot-admin-kargs-builtin-edit-in-place.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@src/ostree/$(DEPDIR)/ostree-ot-builtin-admin.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@src/ostree/$(DEPDIR)/ostree-ot-builtin-cat.Po@am__quote@ # am--include-marker
|
||||
@AMDEP_TRUE@@am__include@ @am__quote@src/ostree/$(DEPDIR)/ostree-ot-builtin-checkout.Po@am__quote@ # am--include-marker
|
||||
|
|
@ -6211,6 +6232,20 @@ src/ostree/ostree-ot-admin-builtin-instutil.obj: src/ostree/ot-admin-builtin-ins
|
|||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ostree_CFLAGS) $(CFLAGS) -c -o src/ostree/ostree-ot-admin-builtin-instutil.obj `if test -f 'src/ostree/ot-admin-builtin-instutil.c'; then $(CYGPATH_W) 'src/ostree/ot-admin-builtin-instutil.c'; else $(CYGPATH_W) '$(srcdir)/src/ostree/ot-admin-builtin-instutil.c'; fi`
|
||||
|
||||
src/ostree/ostree-ot-admin-builtin-kargs.o: src/ostree/ot-admin-builtin-kargs.c
|
||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ostree_CFLAGS) $(CFLAGS) -MT src/ostree/ostree-ot-admin-builtin-kargs.o -MD -MP -MF src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-kargs.Tpo -c -o src/ostree/ostree-ot-admin-builtin-kargs.o `test -f 'src/ostree/ot-admin-builtin-kargs.c' || echo '$(srcdir)/'`src/ostree/ot-admin-builtin-kargs.c
|
||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-kargs.Tpo src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-kargs.Po
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/ostree/ot-admin-builtin-kargs.c' object='src/ostree/ostree-ot-admin-builtin-kargs.o' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ostree_CFLAGS) $(CFLAGS) -c -o src/ostree/ostree-ot-admin-builtin-kargs.o `test -f 'src/ostree/ot-admin-builtin-kargs.c' || echo '$(srcdir)/'`src/ostree/ot-admin-builtin-kargs.c
|
||||
|
||||
src/ostree/ostree-ot-admin-builtin-kargs.obj: src/ostree/ot-admin-builtin-kargs.c
|
||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ostree_CFLAGS) $(CFLAGS) -MT src/ostree/ostree-ot-admin-builtin-kargs.obj -MD -MP -MF src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-kargs.Tpo -c -o src/ostree/ostree-ot-admin-builtin-kargs.obj `if test -f 'src/ostree/ot-admin-builtin-kargs.c'; then $(CYGPATH_W) 'src/ostree/ot-admin-builtin-kargs.c'; else $(CYGPATH_W) '$(srcdir)/src/ostree/ot-admin-builtin-kargs.c'; fi`
|
||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-kargs.Tpo src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-kargs.Po
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/ostree/ot-admin-builtin-kargs.c' object='src/ostree/ostree-ot-admin-builtin-kargs.obj' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ostree_CFLAGS) $(CFLAGS) -c -o src/ostree/ostree-ot-admin-builtin-kargs.obj `if test -f 'src/ostree/ot-admin-builtin-kargs.c'; then $(CYGPATH_W) 'src/ostree/ot-admin-builtin-kargs.c'; else $(CYGPATH_W) '$(srcdir)/src/ostree/ot-admin-builtin-kargs.c'; fi`
|
||||
|
||||
src/ostree/ostree-ot-admin-builtin-cleanup.o: src/ostree/ot-admin-builtin-cleanup.c
|
||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ostree_CFLAGS) $(CFLAGS) -MT src/ostree/ostree-ot-admin-builtin-cleanup.o -MD -MP -MF src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-cleanup.Tpo -c -o src/ostree/ostree-ot-admin-builtin-cleanup.o `test -f 'src/ostree/ot-admin-builtin-cleanup.c' || echo '$(srcdir)/'`src/ostree/ot-admin-builtin-cleanup.c
|
||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-cleanup.Tpo src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-cleanup.Po
|
||||
|
|
@ -6379,6 +6414,20 @@ src/ostree/ostree-ot-admin-functions.obj: src/ostree/ot-admin-functions.c
|
|||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ostree_CFLAGS) $(CFLAGS) -c -o src/ostree/ostree-ot-admin-functions.obj `if test -f 'src/ostree/ot-admin-functions.c'; then $(CYGPATH_W) 'src/ostree/ot-admin-functions.c'; else $(CYGPATH_W) '$(srcdir)/src/ostree/ot-admin-functions.c'; fi`
|
||||
|
||||
src/ostree/ostree-ot-admin-kargs-builtin-edit-in-place.o: src/ostree/ot-admin-kargs-builtin-edit-in-place.c
|
||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ostree_CFLAGS) $(CFLAGS) -MT src/ostree/ostree-ot-admin-kargs-builtin-edit-in-place.o -MD -MP -MF src/ostree/$(DEPDIR)/ostree-ot-admin-kargs-builtin-edit-in-place.Tpo -c -o src/ostree/ostree-ot-admin-kargs-builtin-edit-in-place.o `test -f 'src/ostree/ot-admin-kargs-builtin-edit-in-place.c' || echo '$(srcdir)/'`src/ostree/ot-admin-kargs-builtin-edit-in-place.c
|
||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/ostree/$(DEPDIR)/ostree-ot-admin-kargs-builtin-edit-in-place.Tpo src/ostree/$(DEPDIR)/ostree-ot-admin-kargs-builtin-edit-in-place.Po
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/ostree/ot-admin-kargs-builtin-edit-in-place.c' object='src/ostree/ostree-ot-admin-kargs-builtin-edit-in-place.o' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ostree_CFLAGS) $(CFLAGS) -c -o src/ostree/ostree-ot-admin-kargs-builtin-edit-in-place.o `test -f 'src/ostree/ot-admin-kargs-builtin-edit-in-place.c' || echo '$(srcdir)/'`src/ostree/ot-admin-kargs-builtin-edit-in-place.c
|
||||
|
||||
src/ostree/ostree-ot-admin-kargs-builtin-edit-in-place.obj: src/ostree/ot-admin-kargs-builtin-edit-in-place.c
|
||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ostree_CFLAGS) $(CFLAGS) -MT src/ostree/ostree-ot-admin-kargs-builtin-edit-in-place.obj -MD -MP -MF src/ostree/$(DEPDIR)/ostree-ot-admin-kargs-builtin-edit-in-place.Tpo -c -o src/ostree/ostree-ot-admin-kargs-builtin-edit-in-place.obj `if test -f 'src/ostree/ot-admin-kargs-builtin-edit-in-place.c'; then $(CYGPATH_W) 'src/ostree/ot-admin-kargs-builtin-edit-in-place.c'; else $(CYGPATH_W) '$(srcdir)/src/ostree/ot-admin-kargs-builtin-edit-in-place.c'; fi`
|
||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/ostree/$(DEPDIR)/ostree-ot-admin-kargs-builtin-edit-in-place.Tpo src/ostree/$(DEPDIR)/ostree-ot-admin-kargs-builtin-edit-in-place.Po
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ $(AM_V_CC)source='src/ostree/ot-admin-kargs-builtin-edit-in-place.c' object='src/ostree/ostree-ot-admin-kargs-builtin-edit-in-place.obj' libtool=no @AMDEPBACKSLASH@
|
||||
@AMDEP_TRUE@@am__fastdepCC_FALSE@ DEPDIR=$(DEPDIR) $(CCDEPMODE) $(depcomp) @AMDEPBACKSLASH@
|
||||
@am__fastdepCC_FALSE@ $(AM_V_CC@am__nodep@)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ostree_CFLAGS) $(CFLAGS) -c -o src/ostree/ostree-ot-admin-kargs-builtin-edit-in-place.obj `if test -f 'src/ostree/ot-admin-kargs-builtin-edit-in-place.c'; then $(CYGPATH_W) 'src/ostree/ot-admin-kargs-builtin-edit-in-place.c'; else $(CYGPATH_W) '$(srcdir)/src/ostree/ot-admin-kargs-builtin-edit-in-place.c'; fi`
|
||||
|
||||
src/ostree/ostree-ot-remote-builtin-add.o: src/ostree/ot-remote-builtin-add.c
|
||||
@am__fastdepCC_TRUE@ $(AM_V_CC)$(CC) $(DEFS) $(DEFAULT_INCLUDES) $(INCLUDES) $(AM_CPPFLAGS) $(CPPFLAGS) $(ostree_CFLAGS) $(CFLAGS) -MT src/ostree/ostree-ot-remote-builtin-add.o -MD -MP -MF src/ostree/$(DEPDIR)/ostree-ot-remote-builtin-add.Tpo -c -o src/ostree/ostree-ot-remote-builtin-add.o `test -f 'src/ostree/ot-remote-builtin-add.c' || echo '$(srcdir)/'`src/ostree/ot-remote-builtin-add.c
|
||||
@am__fastdepCC_TRUE@ $(AM_V_at)$(am__mv) src/ostree/$(DEPDIR)/ostree-ot-remote-builtin-add.Tpo src/ostree/$(DEPDIR)/ostree-ot-remote-builtin-add.Po
|
||||
|
|
@ -8601,6 +8650,13 @@ tests/test-admin-deploy-clean.sh.log: tests/test-admin-deploy-clean.sh
|
|||
--log-file $$b.log --trs-file $$b.trs \
|
||||
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
|
||||
"$$tst" $(AM_TESTS_FD_REDIRECT)
|
||||
tests/test-admin-kargs.sh.log: tests/test-admin-kargs.sh
|
||||
@p='tests/test-admin-kargs.sh'; \
|
||||
b='tests/test-admin-kargs.sh'; \
|
||||
$(am__check_pre) $(LOG_DRIVER) --test-name "$$f" \
|
||||
--log-file $$b.log --trs-file $$b.trs \
|
||||
$(am__common_driver_flags) $(AM_LOG_DRIVER_FLAGS) $(LOG_DRIVER_FLAGS) -- $(LOG_COMPILE) \
|
||||
"$$tst" $(AM_TESTS_FD_REDIRECT)
|
||||
tests/test-reset-nonlinear.sh.log: tests/test-reset-nonlinear.sh
|
||||
@p='tests/test-reset-nonlinear.sh'; \
|
||||
b='tests/test-reset-nonlinear.sh'; \
|
||||
|
|
@ -9402,6 +9458,7 @@ distclean: distclean-recursive
|
|||
-rm -f src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-finalize-staged.Po
|
||||
-rm -f src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-init-fs.Po
|
||||
-rm -f src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-instutil.Po
|
||||
-rm -f src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-kargs.Po
|
||||
-rm -f src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-os-init.Po
|
||||
-rm -f src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-pin.Po
|
||||
-rm -f src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-set-origin.Po
|
||||
|
|
@ -9414,6 +9471,7 @@ distclean: distclean-recursive
|
|||
-rm -f src/ostree/$(DEPDIR)/ostree-ot-admin-instutil-builtin-grub2-generate.Po
|
||||
-rm -f src/ostree/$(DEPDIR)/ostree-ot-admin-instutil-builtin-selinux-ensure-labeled.Po
|
||||
-rm -f src/ostree/$(DEPDIR)/ostree-ot-admin-instutil-builtin-set-kargs.Po
|
||||
-rm -f src/ostree/$(DEPDIR)/ostree-ot-admin-kargs-builtin-edit-in-place.Po
|
||||
-rm -f src/ostree/$(DEPDIR)/ostree-ot-builtin-admin.Po
|
||||
-rm -f src/ostree/$(DEPDIR)/ostree-ot-builtin-cat.Po
|
||||
-rm -f src/ostree/$(DEPDIR)/ostree-ot-builtin-checkout.Po
|
||||
|
|
@ -9683,6 +9741,7 @@ maintainer-clean: maintainer-clean-recursive
|
|||
-rm -f src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-finalize-staged.Po
|
||||
-rm -f src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-init-fs.Po
|
||||
-rm -f src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-instutil.Po
|
||||
-rm -f src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-kargs.Po
|
||||
-rm -f src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-os-init.Po
|
||||
-rm -f src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-pin.Po
|
||||
-rm -f src/ostree/$(DEPDIR)/ostree-ot-admin-builtin-set-origin.Po
|
||||
|
|
@ -9695,6 +9754,7 @@ maintainer-clean: maintainer-clean-recursive
|
|||
-rm -f src/ostree/$(DEPDIR)/ostree-ot-admin-instutil-builtin-grub2-generate.Po
|
||||
-rm -f src/ostree/$(DEPDIR)/ostree-ot-admin-instutil-builtin-selinux-ensure-labeled.Po
|
||||
-rm -f src/ostree/$(DEPDIR)/ostree-ot-admin-instutil-builtin-set-kargs.Po
|
||||
-rm -f src/ostree/$(DEPDIR)/ostree-ot-admin-kargs-builtin-edit-in-place.Po
|
||||
-rm -f src/ostree/$(DEPDIR)/ostree-ot-builtin-admin.Po
|
||||
-rm -f src/ostree/$(DEPDIR)/ostree-ot-builtin-cat.Po
|
||||
-rm -f src/ostree/$(DEPDIR)/ostree-ot-builtin-checkout.Po
|
||||
|
|
|
|||
|
|
@ -88,6 +88,9 @@ integration tool supports importing and exporting from libostree repos.
|
|||
Fedora [coreos-assembler](https://github.com/coreos/coreos-assembler) is
|
||||
the build tool used to generate Fedora CoreOS derivatives.
|
||||
|
||||
[debos](https://github.com/go-debos/debos) is a tool-chain for simplifying the
|
||||
process of building a Debian-based OS image.
|
||||
|
||||
## Projects linking to libostree
|
||||
|
||||
[rpm-ostree](https://github.com/projectatomic/rpm-ostree) is used by the
|
||||
|
|
@ -119,7 +122,7 @@ write higher level manual bindings on top; this is more common
|
|||
for statically compiled languages. Here's a list of such bindings:
|
||||
|
||||
- [ostree-go](https://github.com/ostreedev/ostree-go/)
|
||||
- [ostree-rs](https://github.com/ostreedev/ostree-rs/)
|
||||
- [ostree-rs](./rust-bindings)
|
||||
|
||||
## Building
|
||||
|
||||
|
|
|
|||
|
|
@ -220,6 +220,7 @@ EGREP = @EGREP@
|
|||
ETAGS = @ETAGS@
|
||||
EXEEXT = @EXEEXT@
|
||||
FGREP = @FGREP@
|
||||
FILECMD = @FILECMD@
|
||||
FUSE3_CFLAGS = @FUSE3_CFLAGS@
|
||||
FUSE3_LIBS = @FUSE3_LIBS@
|
||||
FUSE_CFLAGS = @FUSE_CFLAGS@
|
||||
|
|
|
|||
|
|
@ -14,7 +14,7 @@
|
|||
<div class="titlepage">
|
||||
<div>
|
||||
<div><table class="navigation" id="top" width="100%" cellpadding="2" cellspacing="0"><tr><th valign="middle"><p class="title">OSTree API references</p></th></tr></table></div>
|
||||
<div><p class="releaseinfo">for OSTree 2022.4</p></div>
|
||||
<div><p class="releaseinfo">for OSTree 2022.5</p></div>
|
||||
</div>
|
||||
<hr>
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -7464,6 +7464,8 @@ ostree_repo_list_commit_objects_starting_with
|
|||
with <em class="parameter"><code>start</code></em>
|
||||
, returning data in <em class="parameter"><code>out_commits</code></em>
|
||||
.</p>
|
||||
<p>To list all commit objects, provide the empty string <code class="literal">""</code> for <em class="parameter"><code>start</code></em>
|
||||
.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-repo-list-commit-objects-starting-with.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||||
|
|
@ -7480,7 +7482,7 @@ with <em class="parameter"><code>start</code></em>
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>start</p></td>
|
||||
<td class="parameter_description"><p>List commits starting with this checksum</p></td>
|
||||
<td class="parameter_description"><p>List commits starting with this checksum (empty string for all)</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
|
|
@ -10416,7 +10418,7 @@ as - List of pack file checksums in which this object appears</p>
|
|||
<tr>
|
||||
<td class="enum_member_name"><p><a name="OSTREE-REPO-PRUNE-FLAGS-REFS-ONLY:CAPS"></a>OSTREE_REPO_PRUNE_FLAGS_REFS_ONLY</p></td>
|
||||
<td class="enum_member_description">
|
||||
<p>Do not traverse individual commit objects, only follow refs</p>
|
||||
<p>Do not traverse individual commit objects, only follow refs for reachability calculations</p>
|
||||
</td>
|
||||
<td class="enum_member_annotations"> </td>
|
||||
</tr>
|
||||
|
|
|
|||
|
|
@ -300,6 +300,14 @@
|
|||
<span class="returnvalue">gboolean</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-deployment-set-kargs-in-place" title="ostree_sysroot_deployment_set_kargs_in_place ()">ostree_sysroot_deployment_set_kargs_in_place</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-deployment-set-mutable" title="ostree_sysroot_deployment_set_mutable ()">ostree_sysroot_deployment_set_mutable</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
|
@ -1486,6 +1494,58 @@ values in <em class="parameter"><code>new_kargs</code></em>
|
|||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-deployment-set-kargs-in-place"></a><h3>ostree_sysroot_deployment_set_kargs_in_place ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
ostree_sysroot_deployment_set_kargs_in_place
|
||||
(<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *self</code></em>,
|
||||
<em class="parameter"><code><a class="link" href="ostree-ostree-deployment.html#OstreeDeployment" title="OstreeDeployment"><span class="type">OstreeDeployment</span></a> *deployment</code></em>,
|
||||
<em class="parameter"><code><span class="type">char</span> *kargs_str</code></em>,
|
||||
<em class="parameter"><code><span class="type">GCancellable</span> *cancellable</code></em>,
|
||||
<em class="parameter"><code><span class="type">GError</span> **error</code></em>);</pre>
|
||||
<p>Replace the kernel arguments of <em class="parameter"><code>deployment</code></em>
|
||||
with the values in <em class="parameter"><code>kargs_str</code></em>
|
||||
.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-sysroot-deployment-set-kargs-in-place.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>self</p></td>
|
||||
<td class="parameter_description"><p>Sysroot</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>deployment</p></td>
|
||||
<td class="parameter_description"><p>A deployment</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>kargs_str</p></td>
|
||||
<td class="parameter_description"><p>Replace <em class="parameter"><code>deployment</code></em>
|
||||
's kernel arguments. </p></td>
|
||||
<td class="parameter_annotations"><span class="annotation">[allow none]</span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>cancellable</p></td>
|
||||
<td class="parameter_description"><p>Cancellable</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>error</p></td>
|
||||
<td class="parameter_description"><p>Error</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-sysroot-deployment-set-mutable"></a><h3>ostree_sysroot_deployment_set_mutable ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
ostree_sysroot_deployment_set_mutable (<em class="parameter"><code><a class="link" href="ostree-Root-partition-mount-point.html#OstreeSysroot" title="OstreeSysroot"><span class="type">OstreeSysroot</span></a> *self</code></em>,
|
||||
|
|
|
|||
|
|
@ -113,6 +113,14 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">void</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
<a class="link" href="ostree-ostree-kernel-args.html#ostree-kernel-args-append-if-missing" title="ostree_kernel_args_append_if_missing ()">ostree_kernel_args_append_if_missing</a> <span class="c_punctuation">()</span>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="function_type">
|
||||
<span class="returnvalue">gboolean</span>
|
||||
</td>
|
||||
<td class="function_name">
|
||||
|
|
@ -475,6 +483,40 @@ ostree_kernel_args_append_argv_filtered
|
|||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-kernel-args-append-if-missing"></a><h3>ostree_kernel_args_append_if_missing ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">void</span>
|
||||
ostree_kernel_args_append_if_missing (<em class="parameter"><code><a class="link" href="ostree-ostree-kernel-args.html#OstreeKernelArgs" title="OstreeKernelArgs"><span class="type">OstreeKernelArgs</span></a> *kargs</code></em>,
|
||||
<em class="parameter"><code>const <span class="type">char</span> *arg</code></em>);</pre>
|
||||
<p>Appends <em class="parameter"><code>arg</code></em>
|
||||
which is in the form of key=value pair to the hash table kargs->table
|
||||
(appends to the value list if key is not in the hash table)
|
||||
and appends key to kargs->order if it is not in the hash table.</p>
|
||||
<div class="refsect3">
|
||||
<a name="ostree-kernel-args-append-if-missing.parameters"></a><h4>Parameters</h4>
|
||||
<div class="informaltable"><table class="informaltable" width="100%" border="0">
|
||||
<colgroup>
|
||||
<col width="150px" class="parameters_name">
|
||||
<col class="parameters_description">
|
||||
<col width="200px" class="parameters_annotations">
|
||||
</colgroup>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>kargs</p></td>
|
||||
<td class="parameter_description"><p>a OstreeKernelArgs instance</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="parameter_name"><p>arg</p></td>
|
||||
<td class="parameter_description"><p>key or key/value pair to be added</p></td>
|
||||
<td class="parameter_annotations"> </td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table></div>
|
||||
</div>
|
||||
<p class="since">Since: 2022.5</p>
|
||||
</div>
|
||||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="ostree-kernel-args-new-replace"></a><h3>ostree_kernel_args_new_replace ()</h3>
|
||||
<pre class="programlisting"><span class="returnvalue">gboolean</span>
|
||||
ostree_kernel_args_new_replace (<em class="parameter"><code><a class="link" href="ostree-ostree-kernel-args.html#OstreeKernelArgs" title="OstreeKernelArgs"><span class="type">OstreeKernelArgs</span></a> *kargs</code></em>,
|
||||
|
|
|
|||
|
|
@ -125,7 +125,7 @@ of ostree is equal or greater than the required one.</p>
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="OSTREE-RELEASE-VERSION:CAPS"></a><h3>OSTREE_RELEASE_VERSION</h3>
|
||||
<pre class="programlisting">#define OSTREE_RELEASE_VERSION (4)
|
||||
<pre class="programlisting">#define OSTREE_RELEASE_VERSION (5)
|
||||
</pre>
|
||||
<p>ostree release version component (e.g. 2 if <a class="link" href="ostree-ostree-version.html#OSTREE-VERSION:CAPS" title="OSTREE_VERSION"><code class="literal">OSTREE_VERSION</code></a> is 2017.2)</p>
|
||||
<p class="since">Since: 2017.4</p>
|
||||
|
|
@ -133,7 +133,7 @@ of ostree is equal or greater than the required one.</p>
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="OSTREE-VERSION:CAPS"></a><h3>OSTREE_VERSION</h3>
|
||||
<pre class="programlisting">#define OSTREE_VERSION (2022.4)
|
||||
<pre class="programlisting">#define OSTREE_VERSION (2022.5)
|
||||
</pre>
|
||||
<p>ostree version.</p>
|
||||
<p class="since">Since: 2017.4</p>
|
||||
|
|
@ -141,7 +141,7 @@ of ostree is equal or greater than the required one.</p>
|
|||
<hr>
|
||||
<div class="refsect2">
|
||||
<a name="OSTREE-VERSION-S:CAPS"></a><h3>OSTREE_VERSION_S</h3>
|
||||
<pre class="programlisting">#define OSTREE_VERSION_S "2022.4"
|
||||
<pre class="programlisting">#define OSTREE_VERSION_S "2022.5"
|
||||
</pre>
|
||||
<p>ostree version, encoded as a string, useful for printing and
|
||||
concatenation.</p>
|
||||
|
|
|
|||
|
|
@ -335,6 +335,7 @@
|
|||
<keyword type="function" name="ostree_sysroot_get_staged_deployment ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-get-staged-deployment" since="2018.5"/>
|
||||
<keyword type="function" name="ostree_sysroot_init_osname ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-init-osname" since="2016.4"/>
|
||||
<keyword type="function" name="ostree_sysroot_deployment_set_kargs ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-deployment-set-kargs"/>
|
||||
<keyword type="function" name="ostree_sysroot_deployment_set_kargs_in_place ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-deployment-set-kargs-in-place"/>
|
||||
<keyword type="function" name="ostree_sysroot_deployment_set_mutable ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-deployment-set-mutable"/>
|
||||
<keyword type="function" name="ostree_sysroot_deployment_unlock ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-deployment-unlock" since="2016.4"/>
|
||||
<keyword type="function" name="ostree_sysroot_deployment_set_pinned ()" link="ostree-Root-partition-mount-point.html#ostree-sysroot-deployment-set-pinned" since="2018.3"/>
|
||||
|
|
@ -476,6 +477,7 @@
|
|||
<keyword type="function" name="ostree_kernel_args_append ()" link="ostree-ostree-kernel-args.html#ostree-kernel-args-append" since="2019.3"/>
|
||||
<keyword type="function" name="ostree_kernel_args_append_argv ()" link="ostree-ostree-kernel-args.html#ostree-kernel-args-append-argv" since="2019.3"/>
|
||||
<keyword type="function" name="ostree_kernel_args_append_argv_filtered ()" link="ostree-ostree-kernel-args.html#ostree-kernel-args-append-argv-filtered" since="2019.3"/>
|
||||
<keyword type="function" name="ostree_kernel_args_append_if_missing ()" link="ostree-ostree-kernel-args.html#ostree-kernel-args-append-if-missing" since="2022.5"/>
|
||||
<keyword type="function" name="ostree_kernel_args_new_replace ()" link="ostree-ostree-kernel-args.html#ostree-kernel-args-new-replace" since="2019.3"/>
|
||||
<keyword type="function" name="ostree_kernel_args_delete ()" link="ostree-ostree-kernel-args.html#ostree-kernel-args-delete" since="2019.3"/>
|
||||
<keyword type="function" name="ostree_kernel_args_delete_key_entry ()" link="ostree-ostree-kernel-args.html#ostree-kernel-args-delete-key-entry" since="2019.3"/>
|
||||
|
|
|
|||
|
|
@ -615,6 +615,10 @@
|
|||
</dt>
|
||||
<dd></dd>
|
||||
<dt>
|
||||
<a class="link" href="ostree-ostree-kernel-args.html#ostree-kernel-args-append-if-missing" title="ostree_kernel_args_append_if_missing ()">ostree_kernel_args_append_if_missing</a>, function in <a class="link" href="ostree-ostree-kernel-args.html" title="ostree-kernel-args">ostree-kernel-args</a>
|
||||
</dt>
|
||||
<dd></dd>
|
||||
<dt>
|
||||
<a class="link" href="ostree-ostree-kernel-args.html#ostree-kernel-args-append-proc-cmdline" title="ostree_kernel_args_append_proc_cmdline ()">ostree_kernel_args_append_proc_cmdline</a>, function in <a class="link" href="ostree-ostree-kernel-args.html" title="ostree-kernel-args">ostree-kernel-args</a>
|
||||
</dt>
|
||||
<dd></dd>
|
||||
|
|
@ -1868,6 +1872,10 @@ OstreeRepoFinderOverride, struct in OstreeRepoFinderOverride
|
|||
</dt>
|
||||
<dd></dd>
|
||||
<dt>
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-deployment-set-kargs-in-place" title="ostree_sysroot_deployment_set_kargs_in_place ()">ostree_sysroot_deployment_set_kargs_in_place</a>, function in <a class="link" href="ostree-Root-partition-mount-point.html" title="Root partition mount point">Root partition mount point</a>
|
||||
</dt>
|
||||
<dd></dd>
|
||||
<dt>
|
||||
<a class="link" href="ostree-Root-partition-mount-point.html#ostree-sysroot-deployment-set-mutable" title="ostree_sysroot_deployment_set_mutable ()">ostree_sysroot_deployment_set_mutable</a>, function in <a class="link" href="ostree-Root-partition-mount-point.html" title="Root partition mount point">Root partition mount point</a>
|
||||
</dt>
|
||||
<dd></dd>
|
||||
|
|
|
|||
|
|
@ -577,6 +577,7 @@ ostree_sysroot_get_repo
|
|||
ostree_sysroot_get_staged_deployment
|
||||
ostree_sysroot_init_osname
|
||||
ostree_sysroot_deployment_set_kargs
|
||||
ostree_sysroot_deployment_set_kargs_in_place
|
||||
ostree_sysroot_deployment_set_mutable
|
||||
ostree_sysroot_deployment_unlock
|
||||
ostree_sysroot_deployment_set_pinned
|
||||
|
|
@ -727,6 +728,7 @@ ostree_kernel_args_replace_argv
|
|||
ostree_kernel_args_append
|
||||
ostree_kernel_args_append_argv
|
||||
ostree_kernel_args_append_argv_filtered
|
||||
ostree_kernel_args_append_if_missing
|
||||
ostree_kernel_args_new_replace
|
||||
ostree_kernel_args_delete
|
||||
ostree_kernel_args_delete_key_entry
|
||||
|
|
|
|||
|
|
@ -1 +1 @@
|
|||
2022.4
|
||||
2022.5
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
|
|
@ -1,6 +1,7 @@
|
|||
# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright (C) 1996-2001, 2003-2015 Free Software Foundation, Inc.
|
||||
# Copyright (C) 1996-2001, 2003-2019, 2021-2022 Free Software
|
||||
# Foundation, Inc.
|
||||
# Written by Gordon Matzigkeit, 1996
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
|
|
@ -31,7 +32,7 @@ m4_define([_LT_COPYING], [dnl
|
|||
# along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
])
|
||||
|
||||
# serial 58 LT_INIT
|
||||
# serial 59 LT_INIT
|
||||
|
||||
|
||||
# LT_PREREQ(VERSION)
|
||||
|
|
@ -181,6 +182,7 @@ m4_require([_LT_FILEUTILS_DEFAULTS])dnl
|
|||
m4_require([_LT_CHECK_SHELL_FEATURES])dnl
|
||||
m4_require([_LT_PATH_CONVERSION_FUNCTIONS])dnl
|
||||
m4_require([_LT_CMD_RELOAD])dnl
|
||||
m4_require([_LT_DECL_FILECMD])dnl
|
||||
m4_require([_LT_CHECK_MAGIC_METHOD])dnl
|
||||
m4_require([_LT_CHECK_SHAREDLIB_FROM_LINKLIB])dnl
|
||||
m4_require([_LT_CMD_OLD_ARCHIVE])dnl
|
||||
|
|
@ -219,8 +221,8 @@ esac
|
|||
ofile=libtool
|
||||
can_build_shared=yes
|
||||
|
||||
# All known linkers require a '.a' archive for static linking (except MSVC,
|
||||
# which needs '.lib').
|
||||
# All known linkers require a '.a' archive for static linking (except MSVC and
|
||||
# ICC, which need '.lib').
|
||||
libext=a
|
||||
|
||||
with_gnu_ld=$lt_cv_prog_gnu_ld
|
||||
|
|
@ -778,7 +780,7 @@ _LT_EOF
|
|||
# if finds mixed CR/LF and LF-only lines. Since sed operates in
|
||||
# text mode, it properly converts lines to CR/LF. This bash problem
|
||||
# is reportedly fixed, but why not run on old versions too?
|
||||
sed '$q' "$ltmain" >> "$cfgfile" \
|
||||
$SED '$q' "$ltmain" >> "$cfgfile" \
|
||||
|| (rm -f "$cfgfile"; exit 1)
|
||||
|
||||
mv -f "$cfgfile" "$ofile" ||
|
||||
|
|
@ -1042,8 +1044,8 @@ int forced_loaded() { return 2;}
|
|||
_LT_EOF
|
||||
echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&AS_MESSAGE_LOG_FD
|
||||
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&AS_MESSAGE_LOG_FD
|
||||
echo "$AR cru libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
|
||||
$AR cru libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
|
||||
echo "$AR $AR_FLAGS libconftest.a conftest.o" >&AS_MESSAGE_LOG_FD
|
||||
$AR $AR_FLAGS libconftest.a conftest.o 2>&AS_MESSAGE_LOG_FD
|
||||
echo "$RANLIB libconftest.a" >&AS_MESSAGE_LOG_FD
|
||||
$RANLIB libconftest.a 2>&AS_MESSAGE_LOG_FD
|
||||
cat > conftest.c << _LT_EOF
|
||||
|
|
@ -1067,17 +1069,12 @@ _LT_EOF
|
|||
_lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
|
||||
darwin1.*)
|
||||
_lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
|
||||
darwin*) # darwin 5.x on
|
||||
# if running on 10.5 or later, the deployment target defaults
|
||||
# to the OS version, if on x86, and 10.4, the deployment
|
||||
# target defaults to 10.4. Don't you love it?
|
||||
case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
|
||||
10.0,*86*-darwin8*|10.0,*-darwin[[91]]*)
|
||||
_lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
|
||||
10.[[012]][[,.]]*)
|
||||
_lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
|
||||
10.*)
|
||||
_lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
|
||||
darwin*)
|
||||
case $MACOSX_DEPLOYMENT_TARGET,$host in
|
||||
10.[[012]],*|,*powerpc*-darwin[[5-8]]*)
|
||||
_lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
|
||||
*)
|
||||
_lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
|
@ -1126,12 +1123,12 @@ m4_defun([_LT_DARWIN_LINKER_FEATURES],
|
|||
output_verbose_link_cmd=func_echo_all
|
||||
_LT_TAGVAR(archive_cmds, $1)="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
|
||||
_LT_TAGVAR(module_cmds, $1)="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
|
||||
_LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
|
||||
_LT_TAGVAR(module_expsym_cmds, $1)="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
|
||||
_LT_TAGVAR(archive_expsym_cmds, $1)="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
|
||||
_LT_TAGVAR(module_expsym_cmds, $1)="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
|
||||
m4_if([$1], [CXX],
|
||||
[ if test yes != "$lt_cv_apple_cc_single_mod"; then
|
||||
_LT_TAGVAR(archive_cmds, $1)="\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dsymutil"
|
||||
_LT_TAGVAR(archive_expsym_cmds, $1)="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
|
||||
_LT_TAGVAR(archive_expsym_cmds, $1)="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -r -keep_private_externs -nostdlib -o \$lib-master.o \$libobjs~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$lib-master.o \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring$_lt_dar_export_syms$_lt_dsymutil"
|
||||
fi
|
||||
],[])
|
||||
else
|
||||
|
|
@ -1245,7 +1242,8 @@ _LT_DECL([], [ECHO], [1], [An echo program that protects backslashes])
|
|||
# _LT_WITH_SYSROOT
|
||||
# ----------------
|
||||
AC_DEFUN([_LT_WITH_SYSROOT],
|
||||
[AC_MSG_CHECKING([for sysroot])
|
||||
[m4_require([_LT_DECL_SED])dnl
|
||||
AC_MSG_CHECKING([for sysroot])
|
||||
AC_ARG_WITH([sysroot],
|
||||
[AS_HELP_STRING([--with-sysroot@<:@=DIR@:>@],
|
||||
[Search for dependent libraries within DIR (or the compiler's sysroot
|
||||
|
|
@ -1262,7 +1260,7 @@ case $with_sysroot in #(
|
|||
fi
|
||||
;; #(
|
||||
/*)
|
||||
lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
|
||||
lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"`
|
||||
;; #(
|
||||
no|'')
|
||||
;; #(
|
||||
|
|
@ -1292,7 +1290,7 @@ ia64-*-hpux*)
|
|||
# options accordingly.
|
||||
echo 'int i;' > conftest.$ac_ext
|
||||
if AC_TRY_EVAL(ac_compile); then
|
||||
case `/usr/bin/file conftest.$ac_objext` in
|
||||
case `$FILECMD conftest.$ac_objext` in
|
||||
*ELF-32*)
|
||||
HPUX_IA64_MODE=32
|
||||
;;
|
||||
|
|
@ -1309,7 +1307,7 @@ ia64-*-hpux*)
|
|||
echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
|
||||
if AC_TRY_EVAL(ac_compile); then
|
||||
if test yes = "$lt_cv_prog_gnu_ld"; then
|
||||
case `/usr/bin/file conftest.$ac_objext` in
|
||||
case `$FILECMD conftest.$ac_objext` in
|
||||
*32-bit*)
|
||||
LD="${LD-ld} -melf32bsmip"
|
||||
;;
|
||||
|
|
@ -1321,7 +1319,7 @@ ia64-*-hpux*)
|
|||
;;
|
||||
esac
|
||||
else
|
||||
case `/usr/bin/file conftest.$ac_objext` in
|
||||
case `$FILECMD conftest.$ac_objext` in
|
||||
*32-bit*)
|
||||
LD="${LD-ld} -32"
|
||||
;;
|
||||
|
|
@ -1343,7 +1341,7 @@ mips64*-*linux*)
|
|||
echo '[#]line '$LINENO' "configure"' > conftest.$ac_ext
|
||||
if AC_TRY_EVAL(ac_compile); then
|
||||
emul=elf
|
||||
case `/usr/bin/file conftest.$ac_objext` in
|
||||
case `$FILECMD conftest.$ac_objext` in
|
||||
*32-bit*)
|
||||
emul="${emul}32"
|
||||
;;
|
||||
|
|
@ -1351,7 +1349,7 @@ mips64*-*linux*)
|
|||
emul="${emul}64"
|
||||
;;
|
||||
esac
|
||||
case `/usr/bin/file conftest.$ac_objext` in
|
||||
case `$FILECMD conftest.$ac_objext` in
|
||||
*MSB*)
|
||||
emul="${emul}btsmip"
|
||||
;;
|
||||
|
|
@ -1359,7 +1357,7 @@ mips64*-*linux*)
|
|||
emul="${emul}ltsmip"
|
||||
;;
|
||||
esac
|
||||
case `/usr/bin/file conftest.$ac_objext` in
|
||||
case `$FILECMD conftest.$ac_objext` in
|
||||
*N32*)
|
||||
emul="${emul}n32"
|
||||
;;
|
||||
|
|
@ -1379,14 +1377,14 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
|
|||
# not appear in the list.
|
||||
echo 'int i;' > conftest.$ac_ext
|
||||
if AC_TRY_EVAL(ac_compile); then
|
||||
case `/usr/bin/file conftest.o` in
|
||||
case `$FILECMD conftest.o` in
|
||||
*32-bit*)
|
||||
case $host in
|
||||
x86_64-*kfreebsd*-gnu)
|
||||
LD="${LD-ld} -m elf_i386_fbsd"
|
||||
;;
|
||||
x86_64-*linux*)
|
||||
case `/usr/bin/file conftest.o` in
|
||||
case `$FILECMD conftest.o` in
|
||||
*x86-64*)
|
||||
LD="${LD-ld} -m elf32_x86_64"
|
||||
;;
|
||||
|
|
@ -1454,7 +1452,7 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
|
|||
# options accordingly.
|
||||
echo 'int i;' > conftest.$ac_ext
|
||||
if AC_TRY_EVAL(ac_compile); then
|
||||
case `/usr/bin/file conftest.o` in
|
||||
case `$FILECMD conftest.o` in
|
||||
*64-bit*)
|
||||
case $lt_cv_prog_gnu_ld in
|
||||
yes*)
|
||||
|
|
@ -1493,9 +1491,22 @@ need_locks=$enable_libtool_lock
|
|||
m4_defun([_LT_PROG_AR],
|
||||
[AC_CHECK_TOOLS(AR, [ar], false)
|
||||
: ${AR=ar}
|
||||
: ${AR_FLAGS=cru}
|
||||
_LT_DECL([], [AR], [1], [The archiver])
|
||||
_LT_DECL([], [AR_FLAGS], [1], [Flags to create an archive])
|
||||
|
||||
# Use ARFLAGS variable as AR's operation code to sync the variable naming with
|
||||
# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have
|
||||
# higher priority because thats what people were doing historically (setting
|
||||
# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS
|
||||
# variable obsoleted/removed.
|
||||
|
||||
test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr}
|
||||
lt_ar_flags=$AR_FLAGS
|
||||
_LT_DECL([], [lt_ar_flags], [0], [Flags to create an archive (by configure)])
|
||||
|
||||
# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override
|
||||
# by AR_FLAGS because that was never working and AR_FLAGS is about to die.
|
||||
_LT_DECL([], [AR_FLAGS], [\@S|@{ARFLAGS-"\@S|@lt_ar_flags"}],
|
||||
[Flags to create an archive])
|
||||
|
||||
AC_CACHE_CHECK([for archiver @FILE support], [lt_cv_ar_at_file],
|
||||
[lt_cv_ar_at_file=no
|
||||
|
|
@ -1714,7 +1725,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
|
|||
lt_cv_sys_max_cmd_len=8192;
|
||||
;;
|
||||
|
||||
bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
|
||||
bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*)
|
||||
# This has been around since 386BSD, at least. Likely further.
|
||||
if test -x /sbin/sysctl; then
|
||||
lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
|
||||
|
|
@ -1757,7 +1768,7 @@ AC_CACHE_VAL([lt_cv_sys_max_cmd_len], [dnl
|
|||
sysv5* | sco5v6* | sysv4.2uw2*)
|
||||
kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
|
||||
if test -n "$kargmax"; then
|
||||
lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[[ ]]//'`
|
||||
lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[[ ]]//'`
|
||||
else
|
||||
lt_cv_sys_max_cmd_len=32768
|
||||
fi
|
||||
|
|
@ -2207,26 +2218,35 @@ m4_defun([_LT_CMD_STRIPLIB],
|
|||
striplib=
|
||||
old_striplib=
|
||||
AC_MSG_CHECKING([whether stripping libraries is possible])
|
||||
if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
|
||||
test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
|
||||
test -z "$striplib" && striplib="$STRIP --strip-unneeded"
|
||||
AC_MSG_RESULT([yes])
|
||||
if test -z "$STRIP"; then
|
||||
AC_MSG_RESULT([no])
|
||||
else
|
||||
# FIXME - insert some real tests, host_os isn't really good enough
|
||||
case $host_os in
|
||||
darwin*)
|
||||
if test -n "$STRIP"; then
|
||||
if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
|
||||
old_striplib="$STRIP --strip-debug"
|
||||
striplib="$STRIP --strip-unneeded"
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
case $host_os in
|
||||
darwin*)
|
||||
# FIXME - insert some real tests, host_os isn't really good enough
|
||||
striplib="$STRIP -x"
|
||||
old_striplib="$STRIP -S"
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
;;
|
||||
freebsd*)
|
||||
if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then
|
||||
old_striplib="$STRIP --strip-debug"
|
||||
striplib="$STRIP --strip-unneeded"
|
||||
AC_MSG_RESULT([yes])
|
||||
else
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
AC_MSG_RESULT([no])
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
AC_MSG_RESULT([no])
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
_LT_DECL([], [old_striplib], [1], [Commands to strip libraries])
|
||||
_LT_DECL([], [striplib], [1])
|
||||
|
|
@ -2549,7 +2569,7 @@ cygwin* | mingw* | pw32* | cegcc*)
|
|||
case $host_os in
|
||||
cygwin*)
|
||||
# Cygwin DLLs use 'cyg' prefix rather than 'lib'
|
||||
soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
|
||||
soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
|
||||
m4_if([$1], [],[
|
||||
sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"])
|
||||
;;
|
||||
|
|
@ -2559,14 +2579,14 @@ m4_if([$1], [],[
|
|||
;;
|
||||
pw32*)
|
||||
# pw32 DLLs use 'pw' prefix rather than 'lib'
|
||||
library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
|
||||
library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
|
||||
;;
|
||||
esac
|
||||
dynamic_linker='Win32 ld.exe'
|
||||
;;
|
||||
|
||||
*,cl*)
|
||||
# Native MSVC
|
||||
*,cl* | *,icl*)
|
||||
# Native MSVC or ICC
|
||||
libname_spec='$name'
|
||||
soname_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext'
|
||||
library_names_spec='$libname.dll.lib'
|
||||
|
|
@ -2585,7 +2605,7 @@ m4_if([$1], [],[
|
|||
done
|
||||
IFS=$lt_save_ifs
|
||||
# Convert to MSYS style.
|
||||
sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
|
||||
sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([[a-zA-Z]]\\):| /\\1|g' -e 's|^ ||'`
|
||||
;;
|
||||
cygwin*)
|
||||
# Convert to unix form, then to dos form, then back to unix form
|
||||
|
|
@ -2622,7 +2642,7 @@ m4_if([$1], [],[
|
|||
;;
|
||||
|
||||
*)
|
||||
# Assume MSVC wrapper
|
||||
# Assume MSVC and ICC wrapper
|
||||
library_names_spec='$libname`echo $release | $SED -e 's/[[.]]/-/g'`$versuffix$shared_ext $libname.lib'
|
||||
dynamic_linker='Win32 ld.exe'
|
||||
;;
|
||||
|
|
@ -2655,7 +2675,7 @@ dgux*)
|
|||
shlibpath_var=LD_LIBRARY_PATH
|
||||
;;
|
||||
|
||||
freebsd* | dragonfly*)
|
||||
freebsd* | dragonfly* | midnightbsd*)
|
||||
# DragonFly does not have aout. When/if they implement a new
|
||||
# versioning mechanism, adjust this.
|
||||
if test -x /usr/bin/objformat; then
|
||||
|
|
@ -3457,7 +3477,7 @@ beos*)
|
|||
|
||||
bsdi[[45]]*)
|
||||
lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (shared object|dynamic lib)'
|
||||
lt_cv_file_magic_cmd='/usr/bin/file -L'
|
||||
lt_cv_file_magic_cmd='$FILECMD -L'
|
||||
lt_cv_file_magic_test_file=/shlib/libc.so
|
||||
;;
|
||||
|
||||
|
|
@ -3491,14 +3511,14 @@ darwin* | rhapsody*)
|
|||
lt_cv_deplibs_check_method=pass_all
|
||||
;;
|
||||
|
||||
freebsd* | dragonfly*)
|
||||
freebsd* | dragonfly* | midnightbsd*)
|
||||
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
|
||||
case $host_cpu in
|
||||
i*86 )
|
||||
# Not sure whether the presence of OpenBSD here was a mistake.
|
||||
# Let's accept both of them until this is cleared up.
|
||||
lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[[3-9]]86 (compact )?demand paged shared library'
|
||||
lt_cv_file_magic_cmd=/usr/bin/file
|
||||
lt_cv_file_magic_cmd=$FILECMD
|
||||
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
|
||||
;;
|
||||
esac
|
||||
|
|
@ -3512,7 +3532,7 @@ haiku*)
|
|||
;;
|
||||
|
||||
hpux10.20* | hpux11*)
|
||||
lt_cv_file_magic_cmd=/usr/bin/file
|
||||
lt_cv_file_magic_cmd=$FILECMD
|
||||
case $host_cpu in
|
||||
ia64*)
|
||||
lt_cv_deplibs_check_method='file_magic (s[[0-9]][[0-9]][[0-9]]|ELF-[[0-9]][[0-9]]) shared object file - IA64'
|
||||
|
|
@ -3559,7 +3579,7 @@ netbsd*)
|
|||
|
||||
newos6*)
|
||||
lt_cv_deplibs_check_method='file_magic ELF [[0-9]][[0-9]]*-bit [[ML]]SB (executable|dynamic lib)'
|
||||
lt_cv_file_magic_cmd=/usr/bin/file
|
||||
lt_cv_file_magic_cmd=$FILECMD
|
||||
lt_cv_file_magic_test_file=/usr/lib/libnls.so
|
||||
;;
|
||||
|
||||
|
|
@ -3686,13 +3706,13 @@ else
|
|||
mingw*) lt_bad_file=conftest.nm/nofile ;;
|
||||
*) lt_bad_file=/dev/null ;;
|
||||
esac
|
||||
case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
|
||||
case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in
|
||||
*$lt_bad_file* | *'Invalid file or object type'*)
|
||||
lt_cv_path_NM="$tmp_nm -B"
|
||||
break 2
|
||||
;;
|
||||
*)
|
||||
case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
|
||||
case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in
|
||||
*/dev/null*)
|
||||
lt_cv_path_NM="$tmp_nm -p"
|
||||
break 2
|
||||
|
|
@ -3718,7 +3738,7 @@ else
|
|||
# Let the user override the test.
|
||||
else
|
||||
AC_CHECK_TOOLS(DUMPBIN, [dumpbin "link -dump"], :)
|
||||
case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
|
||||
case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in
|
||||
*COFF*)
|
||||
DUMPBIN="$DUMPBIN -symbols -headers"
|
||||
;;
|
||||
|
|
@ -3958,7 +3978,7 @@ esac
|
|||
|
||||
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
|
||||
# Gets list of data symbols to import.
|
||||
lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
|
||||
lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'"
|
||||
# Adjust the below global symbol transforms to fixup imported variables.
|
||||
lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
|
||||
lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
|
||||
|
|
@ -3976,20 +3996,20 @@ fi
|
|||
# Transform an extracted symbol line into a proper C declaration.
|
||||
# Some systems (esp. on ia64) link data and code symbols differently,
|
||||
# so use this general approach.
|
||||
lt_cv_sys_global_symbol_to_cdecl="sed -n"\
|
||||
lt_cv_sys_global_symbol_to_cdecl="$SED -n"\
|
||||
$lt_cdecl_hook\
|
||||
" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
|
||||
" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
|
||||
|
||||
# Transform an extracted symbol line into symbol name and symbol address
|
||||
lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
|
||||
lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\
|
||||
$lt_c_name_hook\
|
||||
" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
|
||||
" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
|
||||
|
||||
# Transform an extracted symbol line into symbol name with lib prefix and
|
||||
# symbol address.
|
||||
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
|
||||
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\
|
||||
$lt_c_name_lib_hook\
|
||||
" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
|
||||
" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
|
||||
|
|
@ -4013,7 +4033,7 @@ for ac_symprfx in "" "_"; do
|
|||
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
|
||||
# Fake it for dumpbin and say T for any non-static function,
|
||||
# D for any global variable and I for any imported variable.
|
||||
# Also find C++ and __fastcall symbols from MSVC++,
|
||||
# Also find C++ and __fastcall symbols from MSVC++ or ICC,
|
||||
# which start with @ or ?.
|
||||
lt_cv_sys_global_symbol_pipe="$AWK ['"\
|
||||
" {last_section=section; section=\$ 3};"\
|
||||
|
|
@ -4031,9 +4051,9 @@ for ac_symprfx in "" "_"; do
|
|||
" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
|
||||
" ' prfx=^$ac_symprfx]"
|
||||
else
|
||||
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
|
||||
lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[[ ]]\($symcode$symcode*\)[[ ]][[ ]]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
|
||||
fi
|
||||
lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
|
||||
lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'"
|
||||
|
||||
# Check to see that the pipe works correctly.
|
||||
pipe_works=no
|
||||
|
|
@ -4320,7 +4340,7 @@ m4_if([$1], [CXX], [
|
|||
;;
|
||||
esac
|
||||
;;
|
||||
freebsd* | dragonfly*)
|
||||
freebsd* | dragonfly* | midnightbsd*)
|
||||
# FreeBSD uses GNU C++
|
||||
;;
|
||||
hpux9* | hpux10* | hpux11*)
|
||||
|
|
@ -4403,7 +4423,7 @@ m4_if([$1], [CXX], [
|
|||
_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
|
||||
;;
|
||||
*)
|
||||
case `$CC -V 2>&1 | sed 5q` in
|
||||
case `$CC -V 2>&1 | $SED 5q` in
|
||||
*Sun\ C*)
|
||||
# Sun C++ 5.9
|
||||
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
|
||||
|
|
@ -4739,7 +4759,7 @@ m4_if([$1], [CXX], [
|
|||
_LT_TAGVAR(lt_prog_compiler_static, $1)='-qstaticlink'
|
||||
;;
|
||||
*)
|
||||
case `$CC -V 2>&1 | sed 5q` in
|
||||
case `$CC -V 2>&1 | $SED 5q` in
|
||||
*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [[1-7]].* | *Sun*Fortran*\ 8.[[0-3]]*)
|
||||
# Sun Fortran 8.3 passes all unrecognized flags to the linker
|
||||
_LT_TAGVAR(lt_prog_compiler_pic, $1)='-KPIC'
|
||||
|
|
@ -4922,7 +4942,7 @@ m4_if([$1], [CXX], [
|
|||
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
|
||||
_LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
|
||||
else
|
||||
_LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
|
||||
_LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
|
||||
fi
|
||||
;;
|
||||
pw32*)
|
||||
|
|
@ -4930,7 +4950,7 @@ m4_if([$1], [CXX], [
|
|||
;;
|
||||
cygwin* | mingw* | cegcc*)
|
||||
case $cc_basename in
|
||||
cl*)
|
||||
cl* | icl*)
|
||||
_LT_TAGVAR(exclude_expsyms, $1)='_NULL_IMPORT_DESCRIPTOR|_IMPORT_DESCRIPTOR_.*'
|
||||
;;
|
||||
*)
|
||||
|
|
@ -4987,15 +5007,15 @@ dnl Note also adjust exclude_expsyms for C++ above.
|
|||
|
||||
case $host_os in
|
||||
cygwin* | mingw* | pw32* | cegcc*)
|
||||
# FIXME: the MSVC++ port hasn't been tested in a loooong time
|
||||
# FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time
|
||||
# When not using gcc, we currently assume that we are using
|
||||
# Microsoft Visual C++.
|
||||
# Microsoft Visual C++ or Intel C++ Compiler.
|
||||
if test yes != "$GCC"; then
|
||||
with_gnu_ld=no
|
||||
fi
|
||||
;;
|
||||
interix*)
|
||||
# we just hope/assume this is gcc and not c89 (= MSVC++)
|
||||
# we just hope/assume this is gcc and not c89 (= MSVC++ or ICC)
|
||||
with_gnu_ld=yes
|
||||
;;
|
||||
openbsd* | bitrig*)
|
||||
|
|
@ -5047,7 +5067,7 @@ dnl Note also adjust exclude_expsyms for C++ above.
|
|||
_LT_TAGVAR(whole_archive_flag_spec, $1)=
|
||||
fi
|
||||
supports_anon_versioning=no
|
||||
case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
|
||||
case `$LD -v | $SED -e 's/([[^)]]\+)\s\+//' 2>&1` in
|
||||
*GNU\ gold*) supports_anon_versioning=yes ;;
|
||||
*\ [[01]].* | *\ 2.[[0-9]].* | *\ 2.10.*) ;; # catch versions < 2.11
|
||||
*\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
|
||||
|
|
@ -5159,6 +5179,7 @@ _LT_EOF
|
|||
emximp -o $lib $output_objdir/$libname.def'
|
||||
_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
|
||||
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
|
||||
_LT_TAGVAR(file_list_spec, $1)='@'
|
||||
;;
|
||||
|
||||
interix[[3-9]]*)
|
||||
|
|
@ -5173,7 +5194,7 @@ _LT_EOF
|
|||
# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
|
||||
# time. Moving up from 0x10000000 also allows more sbrk(2) space.
|
||||
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
|
||||
_LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
|
||||
_LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
|
||||
;;
|
||||
|
||||
gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
|
||||
|
|
@ -5216,7 +5237,7 @@ _LT_EOF
|
|||
_LT_TAGVAR(compiler_needs_object, $1)=yes
|
||||
;;
|
||||
esac
|
||||
case `$CC -V 2>&1 | sed 5q` in
|
||||
case `$CC -V 2>&1 | $SED 5q` in
|
||||
*Sun\ C*) # Sun C 5.9
|
||||
_LT_TAGVAR(whole_archive_flag_spec, $1)='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
|
||||
_LT_TAGVAR(compiler_needs_object, $1)=yes
|
||||
|
|
@ -5228,7 +5249,7 @@ _LT_EOF
|
|||
|
||||
if test yes = "$supports_anon_versioning"; then
|
||||
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
|
||||
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
|
||||
cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
|
||||
echo "local: *; };" >> $output_objdir/$libname.ver~
|
||||
$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
|
||||
fi
|
||||
|
|
@ -5244,7 +5265,7 @@ _LT_EOF
|
|||
_LT_TAGVAR(archive_cmds, $1)='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
|
||||
if test yes = "$supports_anon_versioning"; then
|
||||
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
|
||||
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
|
||||
cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
|
||||
echo "local: *; };" >> $output_objdir/$libname.ver~
|
||||
$LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
|
||||
fi
|
||||
|
|
@ -5376,7 +5397,7 @@ _LT_EOF
|
|||
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
|
||||
_LT_TAGVAR(export_symbols_cmds, $1)='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && ([substr](\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
|
||||
else
|
||||
_LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
|
||||
_LT_TAGVAR(export_symbols_cmds, $1)='`func_echo_all $NM | $SED -e '\''s/B\([[^B]]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && ([substr](\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
|
||||
fi
|
||||
aix_use_runtimelinking=no
|
||||
|
||||
|
|
@ -5559,12 +5580,12 @@ _LT_EOF
|
|||
|
||||
cygwin* | mingw* | pw32* | cegcc*)
|
||||
# When not using gcc, we currently assume that we are using
|
||||
# Microsoft Visual C++.
|
||||
# Microsoft Visual C++ or Intel C++ Compiler.
|
||||
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
||||
# no search path for DLLs.
|
||||
case $cc_basename in
|
||||
cl*)
|
||||
# Native MSVC
|
||||
cl* | icl*)
|
||||
# Native MSVC or ICC
|
||||
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
|
||||
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
|
||||
_LT_TAGVAR(always_export_symbols, $1)=yes
|
||||
|
|
@ -5605,7 +5626,7 @@ _LT_EOF
|
|||
fi'
|
||||
;;
|
||||
*)
|
||||
# Assume MSVC wrapper
|
||||
# Assume MSVC and ICC wrapper
|
||||
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
|
||||
_LT_TAGVAR(allow_undefined_flag, $1)=unsupported
|
||||
# Tell ltmain to make .lib files, not .a files.
|
||||
|
|
@ -5653,7 +5674,7 @@ _LT_EOF
|
|||
;;
|
||||
|
||||
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
|
||||
freebsd* | dragonfly*)
|
||||
freebsd* | dragonfly* | midnightbsd*)
|
||||
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
|
||||
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)='-R$libdir'
|
||||
_LT_TAGVAR(hardcode_direct, $1)=yes
|
||||
|
|
@ -5864,6 +5885,7 @@ _LT_EOF
|
|||
emximp -o $lib $output_objdir/$libname.def'
|
||||
_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
|
||||
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
|
||||
_LT_TAGVAR(file_list_spec, $1)='@'
|
||||
;;
|
||||
|
||||
osf3*)
|
||||
|
|
@ -6634,8 +6656,8 @@ if test yes != "$_lt_caught_CXX_error"; then
|
|||
|
||||
cygwin* | mingw* | pw32* | cegcc*)
|
||||
case $GXX,$cc_basename in
|
||||
,cl* | no,cl*)
|
||||
# Native MSVC
|
||||
,cl* | no,cl* | ,icl* | no,icl*)
|
||||
# Native MSVC or ICC
|
||||
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
||||
# no search path for DLLs.
|
||||
_LT_TAGVAR(hardcode_libdir_flag_spec, $1)=' '
|
||||
|
|
@ -6733,6 +6755,7 @@ if test yes != "$_lt_caught_CXX_error"; then
|
|||
emximp -o $lib $output_objdir/$libname.def'
|
||||
_LT_TAGVAR(old_archive_From_new_cmds, $1)='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
|
||||
_LT_TAGVAR(enable_shared_with_static_runtimes, $1)=yes
|
||||
_LT_TAGVAR(file_list_spec, $1)='@'
|
||||
;;
|
||||
|
||||
dgux*)
|
||||
|
|
@ -6763,7 +6786,7 @@ if test yes != "$_lt_caught_CXX_error"; then
|
|||
_LT_TAGVAR(archive_cmds_need_lc, $1)=no
|
||||
;;
|
||||
|
||||
freebsd* | dragonfly*)
|
||||
freebsd* | dragonfly* | midnightbsd*)
|
||||
# FreeBSD 3 and later use GNU C++ and GNU ld with standard ELF
|
||||
# conventions
|
||||
_LT_TAGVAR(ld_shlibs, $1)=yes
|
||||
|
|
@ -6900,7 +6923,7 @@ if test yes != "$_lt_caught_CXX_error"; then
|
|||
# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
|
||||
# time. Moving up from 0x10000000 also allows more sbrk(2) space.
|
||||
_LT_TAGVAR(archive_cmds, $1)='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
|
||||
_LT_TAGVAR(archive_expsym_cmds, $1)='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
|
||||
_LT_TAGVAR(archive_expsym_cmds, $1)='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
|
||||
;;
|
||||
irix5* | irix6*)
|
||||
case $cc_basename in
|
||||
|
|
@ -7040,13 +7063,13 @@ if test yes != "$_lt_caught_CXX_error"; then
|
|||
_LT_TAGVAR(archive_cmds, $1)='$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname -o $lib'
|
||||
if test yes = "$supports_anon_versioning"; then
|
||||
_LT_TAGVAR(archive_expsym_cmds, $1)='echo "{ global:" > $output_objdir/$libname.ver~
|
||||
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
|
||||
cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
|
||||
echo "local: *; };" >> $output_objdir/$libname.ver~
|
||||
$CC -qmkshrobj $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
case `$CC -V 2>&1 | sed 5q` in
|
||||
case `$CC -V 2>&1 | $SED 5q` in
|
||||
*Sun\ C*)
|
||||
# Sun C++ 5.9
|
||||
_LT_TAGVAR(no_undefined_flag, $1)=' -zdefs'
|
||||
|
|
@ -8192,6 +8215,14 @@ _LT_DECL([], [DLLTOOL], [1], [DLL creation program])
|
|||
AC_SUBST([DLLTOOL])
|
||||
])
|
||||
|
||||
# _LT_DECL_FILECMD
|
||||
# ----------------
|
||||
# Check for a file(cmd) program that can be used to detect file type and magic
|
||||
m4_defun([_LT_DECL_FILECMD],
|
||||
[AC_CHECK_TOOL([FILECMD], [file], [:])
|
||||
_LT_DECL([], [FILECMD], [1], [A file(cmd) program that detects file types])
|
||||
])# _LD_DECL_FILECMD
|
||||
|
||||
# _LT_DECL_SED
|
||||
# ------------
|
||||
# Check for a fully-functional sed program, that truncates
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# Helper functions for option handling. -*- Autoconf -*-
|
||||
#
|
||||
# Copyright (C) 2004-2005, 2007-2009, 2011-2015 Free Software
|
||||
# Foundation, Inc.
|
||||
# Copyright (C) 2004-2005, 2007-2009, 2011-2019, 2021-2022 Free
|
||||
# Software Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2004
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
# ltsugar.m4 -- libtool m4 base layer. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright (C) 2004-2005, 2007-2008, 2011-2015 Free Software
|
||||
# Copyright (C) 2004-2005, 2007-2008, 2011-2019, 2021-2022 Free Software
|
||||
# Foundation, Inc.
|
||||
# Written by Gary V. Vaughan, 2004
|
||||
#
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
# ltversion.m4 -- version numbers -*- Autoconf -*-
|
||||
#
|
||||
# Copyright (C) 2004, 2011-2015 Free Software Foundation, Inc.
|
||||
# Copyright (C) 2004, 2011-2019, 2021-2022 Free Software Foundation,
|
||||
# Inc.
|
||||
# Written by Scott James Remnant, 2004
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
|
|
@ -9,15 +10,15 @@
|
|||
|
||||
# @configure_input@
|
||||
|
||||
# serial 4179 ltversion.m4
|
||||
# serial 4245 ltversion.m4
|
||||
# This file is part of GNU Libtool
|
||||
|
||||
m4_define([LT_PACKAGE_VERSION], [2.4.6])
|
||||
m4_define([LT_PACKAGE_REVISION], [2.4.6])
|
||||
m4_define([LT_PACKAGE_VERSION], [2.4.7])
|
||||
m4_define([LT_PACKAGE_REVISION], [2.4.7])
|
||||
|
||||
AC_DEFUN([LTVERSION_VERSION],
|
||||
[macro_version='2.4.6'
|
||||
macro_revision='2.4.6'
|
||||
[macro_version='2.4.7'
|
||||
macro_revision='2.4.7'
|
||||
_LT_DECL(, macro_version, 0, [Which release of libtool.m4 was used?])
|
||||
_LT_DECL(, macro_revision, 0)
|
||||
])
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
# lt~obsolete.m4 -- aclocal satisfying obsolete definitions. -*-Autoconf-*-
|
||||
#
|
||||
# Copyright (C) 2004-2005, 2007, 2009, 2011-2015 Free Software
|
||||
# Foundation, Inc.
|
||||
# Copyright (C) 2004-2005, 2007, 2009, 2011-2019, 2021-2022 Free
|
||||
# Software Foundation, Inc.
|
||||
# Written by Scott James Remnant, 2004.
|
||||
#
|
||||
# This file is free software; the Free Software Foundation gives
|
||||
|
|
|
|||
|
|
@ -1,6 +1,6 @@
|
|||
#! /bin/sh
|
||||
# Guess values for system-dependent variables and create Makefiles.
|
||||
# Generated by GNU Autoconf 2.71 for libostree 2022.4.
|
||||
# Generated by GNU Autoconf 2.71 for libostree 2022.5.
|
||||
#
|
||||
# Report bugs to <walters@verbum.org>.
|
||||
#
|
||||
|
|
@ -621,8 +621,8 @@ MAKEFLAGS=
|
|||
# Identity of this package.
|
||||
PACKAGE_NAME='libostree'
|
||||
PACKAGE_TARNAME='libostree'
|
||||
PACKAGE_VERSION='2022.4'
|
||||
PACKAGE_STRING='libostree 2022.4'
|
||||
PACKAGE_VERSION='2022.5'
|
||||
PACKAGE_STRING='libostree 2022.5'
|
||||
PACKAGE_BUGREPORT='walters@verbum.org'
|
||||
PACKAGE_URL=''
|
||||
|
||||
|
|
@ -822,6 +822,7 @@ ac_ct_AR
|
|||
AR
|
||||
DLLTOOL
|
||||
OBJDUMP
|
||||
FILECMD
|
||||
LN_S
|
||||
NM
|
||||
ac_ct_DUMPBIN
|
||||
|
|
@ -1598,7 +1599,7 @@ if test "$ac_init_help" = "long"; then
|
|||
# Omit some internal or obsolete options to make the list less imposing.
|
||||
# This message is too long to be a string in the A/UX 3.1 sh.
|
||||
cat <<_ACEOF
|
||||
\`configure' configures libostree 2022.4 to adapt to many kinds of systems.
|
||||
\`configure' configures libostree 2022.5 to adapt to many kinds of systems.
|
||||
|
||||
Usage: $0 [OPTION]... [VAR=VALUE]...
|
||||
|
||||
|
|
@ -1669,7 +1670,7 @@ fi
|
|||
|
||||
if test -n "$ac_init_help"; then
|
||||
case $ac_init_help in
|
||||
short | recursive ) echo "Configuration of libostree 2022.4:";;
|
||||
short | recursive ) echo "Configuration of libostree 2022.5:";;
|
||||
esac
|
||||
cat <<\_ACEOF
|
||||
|
||||
|
|
@ -1933,7 +1934,7 @@ fi
|
|||
test -n "$ac_init_help" && exit $ac_status
|
||||
if $ac_init_version; then
|
||||
cat <<\_ACEOF
|
||||
libostree configure 2022.4
|
||||
libostree configure 2022.5
|
||||
generated by GNU Autoconf 2.71
|
||||
|
||||
Copyright (C) 2021 Free Software Foundation, Inc.
|
||||
|
|
@ -2306,7 +2307,7 @@ cat >config.log <<_ACEOF
|
|||
This file contains any messages produced by compilers while
|
||||
running configure, to aid debugging if configure makes a mistake.
|
||||
|
||||
It was created by libostree $as_me 2022.4, which was
|
||||
It was created by libostree $as_me 2022.5, which was
|
||||
generated by GNU Autoconf 2.71. Invocation command line was
|
||||
|
||||
$ $0$ac_configure_args_raw
|
||||
|
|
@ -3583,7 +3584,7 @@ fi
|
|||
|
||||
# Define the identity of the package.
|
||||
PACKAGE='libostree'
|
||||
VERSION='2022.4'
|
||||
VERSION='2022.5'
|
||||
|
||||
|
||||
# Some tools Automake needs.
|
||||
|
|
@ -6461,9 +6462,9 @@ test -n "$YACC" || YACC="yacc"
|
|||
|
||||
YEAR_VERSION=2022
|
||||
|
||||
RELEASE_VERSION=4
|
||||
RELEASE_VERSION=5
|
||||
|
||||
PACKAGE_VERSION=2022.4
|
||||
PACKAGE_VERSION=2022.5
|
||||
|
||||
|
||||
pkglibexecdir=$libexecdir/$PACKAGE
|
||||
|
|
@ -6596,8 +6597,8 @@ esac
|
|||
|
||||
|
||||
|
||||
macro_version='2.4.6'
|
||||
macro_revision='2.4.6'
|
||||
macro_version='2.4.7'
|
||||
macro_revision='2.4.7'
|
||||
|
||||
|
||||
|
||||
|
|
@ -7225,13 +7226,13 @@ else
|
|||
mingw*) lt_bad_file=conftest.nm/nofile ;;
|
||||
*) lt_bad_file=/dev/null ;;
|
||||
esac
|
||||
case `"$tmp_nm" -B $lt_bad_file 2>&1 | sed '1q'` in
|
||||
case `"$tmp_nm" -B $lt_bad_file 2>&1 | $SED '1q'` in
|
||||
*$lt_bad_file* | *'Invalid file or object type'*)
|
||||
lt_cv_path_NM="$tmp_nm -B"
|
||||
break 2
|
||||
;;
|
||||
*)
|
||||
case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
|
||||
case `"$tmp_nm" -p /dev/null 2>&1 | $SED '1q'` in
|
||||
*/dev/null*)
|
||||
lt_cv_path_NM="$tmp_nm -p"
|
||||
break 2
|
||||
|
|
@ -7369,7 +7370,7 @@ esac
|
|||
fi
|
||||
fi
|
||||
|
||||
case `$DUMPBIN -symbols -headers /dev/null 2>&1 | sed '1q'` in
|
||||
case `$DUMPBIN -symbols -headers /dev/null 2>&1 | $SED '1q'` in
|
||||
*COFF*)
|
||||
DUMPBIN="$DUMPBIN -symbols -headers"
|
||||
;;
|
||||
|
|
@ -7473,7 +7474,7 @@ else $as_nop
|
|||
lt_cv_sys_max_cmd_len=8192;
|
||||
;;
|
||||
|
||||
bitrig* | darwin* | dragonfly* | freebsd* | netbsd* | openbsd*)
|
||||
bitrig* | darwin* | dragonfly* | freebsd* | midnightbsd* | netbsd* | openbsd*)
|
||||
# This has been around since 386BSD, at least. Likely further.
|
||||
if test -x /sbin/sysctl; then
|
||||
lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
|
||||
|
|
@ -7516,7 +7517,7 @@ else $as_nop
|
|||
sysv5* | sco5v6* | sysv4.2uw2*)
|
||||
kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
|
||||
if test -n "$kargmax"; then
|
||||
lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[ ]//'`
|
||||
lt_cv_sys_max_cmd_len=`echo $kargmax | $SED 's/.*[ ]//'`
|
||||
else
|
||||
lt_cv_sys_max_cmd_len=32768
|
||||
fi
|
||||
|
|
@ -7721,6 +7722,114 @@ esac
|
|||
|
||||
|
||||
|
||||
if test -n "$ac_tool_prefix"; then
|
||||
# Extract the first word of "${ac_tool_prefix}file", so it can be a program name with args.
|
||||
set dummy ${ac_tool_prefix}file; ac_word=$2
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
printf %s "checking for $ac_word... " >&6; }
|
||||
if test ${ac_cv_prog_FILECMD+y}
|
||||
then :
|
||||
printf %s "(cached) " >&6
|
||||
else $as_nop
|
||||
if test -n "$FILECMD"; then
|
||||
ac_cv_prog_FILECMD="$FILECMD" # Let the user override the test.
|
||||
else
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
case $as_dir in #(((
|
||||
'') as_dir=./ ;;
|
||||
*/) ;;
|
||||
*) as_dir=$as_dir/ ;;
|
||||
esac
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
|
||||
ac_cv_prog_FILECMD="${ac_tool_prefix}file"
|
||||
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
IFS=$as_save_IFS
|
||||
|
||||
fi
|
||||
fi
|
||||
FILECMD=$ac_cv_prog_FILECMD
|
||||
if test -n "$FILECMD"; then
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $FILECMD" >&5
|
||||
printf "%s\n" "$FILECMD" >&6; }
|
||||
else
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
printf "%s\n" "no" >&6; }
|
||||
fi
|
||||
|
||||
|
||||
fi
|
||||
if test -z "$ac_cv_prog_FILECMD"; then
|
||||
ac_ct_FILECMD=$FILECMD
|
||||
# Extract the first word of "file", so it can be a program name with args.
|
||||
set dummy file; ac_word=$2
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
|
||||
printf %s "checking for $ac_word... " >&6; }
|
||||
if test ${ac_cv_prog_ac_ct_FILECMD+y}
|
||||
then :
|
||||
printf %s "(cached) " >&6
|
||||
else $as_nop
|
||||
if test -n "$ac_ct_FILECMD"; then
|
||||
ac_cv_prog_ac_ct_FILECMD="$ac_ct_FILECMD" # Let the user override the test.
|
||||
else
|
||||
as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
|
||||
for as_dir in $PATH
|
||||
do
|
||||
IFS=$as_save_IFS
|
||||
case $as_dir in #(((
|
||||
'') as_dir=./ ;;
|
||||
*/) ;;
|
||||
*) as_dir=$as_dir/ ;;
|
||||
esac
|
||||
for ac_exec_ext in '' $ac_executable_extensions; do
|
||||
if as_fn_executable_p "$as_dir$ac_word$ac_exec_ext"; then
|
||||
ac_cv_prog_ac_ct_FILECMD="file"
|
||||
printf "%s\n" "$as_me:${as_lineno-$LINENO}: found $as_dir$ac_word$ac_exec_ext" >&5
|
||||
break 2
|
||||
fi
|
||||
done
|
||||
done
|
||||
IFS=$as_save_IFS
|
||||
|
||||
fi
|
||||
fi
|
||||
ac_ct_FILECMD=$ac_cv_prog_ac_ct_FILECMD
|
||||
if test -n "$ac_ct_FILECMD"; then
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_ct_FILECMD" >&5
|
||||
printf "%s\n" "$ac_ct_FILECMD" >&6; }
|
||||
else
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
printf "%s\n" "no" >&6; }
|
||||
fi
|
||||
|
||||
if test "x$ac_ct_FILECMD" = x; then
|
||||
FILECMD=":"
|
||||
else
|
||||
case $cross_compiling:$ac_tool_warned in
|
||||
yes:)
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
|
||||
printf "%s\n" "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
|
||||
ac_tool_warned=yes ;;
|
||||
esac
|
||||
FILECMD=$ac_ct_FILECMD
|
||||
fi
|
||||
else
|
||||
FILECMD="$ac_cv_prog_FILECMD"
|
||||
fi
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
if test -n "$ac_tool_prefix"; then
|
||||
# Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
|
||||
set dummy ${ac_tool_prefix}objdump; ac_word=$2
|
||||
|
|
@ -7864,7 +7973,7 @@ beos*)
|
|||
|
||||
bsdi[45]*)
|
||||
lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
|
||||
lt_cv_file_magic_cmd='/usr/bin/file -L'
|
||||
lt_cv_file_magic_cmd='$FILECMD -L'
|
||||
lt_cv_file_magic_test_file=/shlib/libc.so
|
||||
;;
|
||||
|
||||
|
|
@ -7898,14 +8007,14 @@ darwin* | rhapsody*)
|
|||
lt_cv_deplibs_check_method=pass_all
|
||||
;;
|
||||
|
||||
freebsd* | dragonfly*)
|
||||
freebsd* | dragonfly* | midnightbsd*)
|
||||
if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
|
||||
case $host_cpu in
|
||||
i*86 )
|
||||
# Not sure whether the presence of OpenBSD here was a mistake.
|
||||
# Let's accept both of them until this is cleared up.
|
||||
lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
|
||||
lt_cv_file_magic_cmd=/usr/bin/file
|
||||
lt_cv_file_magic_cmd=$FILECMD
|
||||
lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
|
||||
;;
|
||||
esac
|
||||
|
|
@ -7919,7 +8028,7 @@ haiku*)
|
|||
;;
|
||||
|
||||
hpux10.20* | hpux11*)
|
||||
lt_cv_file_magic_cmd=/usr/bin/file
|
||||
lt_cv_file_magic_cmd=$FILECMD
|
||||
case $host_cpu in
|
||||
ia64*)
|
||||
lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
|
||||
|
|
@ -7966,7 +8075,7 @@ netbsd*)
|
|||
|
||||
newos6*)
|
||||
lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
|
||||
lt_cv_file_magic_cmd=/usr/bin/file
|
||||
lt_cv_file_magic_cmd=$FILECMD
|
||||
lt_cv_file_magic_test_file=/usr/lib/libnls.so
|
||||
;;
|
||||
|
||||
|
|
@ -8339,13 +8448,29 @@ esac
|
|||
fi
|
||||
|
||||
: ${AR=ar}
|
||||
: ${AR_FLAGS=cru}
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Use ARFLAGS variable as AR's operation code to sync the variable naming with
|
||||
# Automake. If both AR_FLAGS and ARFLAGS are specified, AR_FLAGS should have
|
||||
# higher priority because thats what people were doing historically (setting
|
||||
# ARFLAGS for automake and AR_FLAGS for libtool). FIXME: Make the AR_FLAGS
|
||||
# variable obsoleted/removed.
|
||||
|
||||
test ${AR_FLAGS+y} || AR_FLAGS=${ARFLAGS-cr}
|
||||
lt_ar_flags=$AR_FLAGS
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
# Make AR_FLAGS overridable by 'make ARFLAGS='. Don't try to run-time override
|
||||
# by AR_FLAGS because that was never working and AR_FLAGS is about to die.
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -8762,7 +8887,7 @@ esac
|
|||
|
||||
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
|
||||
# Gets list of data symbols to import.
|
||||
lt_cv_sys_global_symbol_to_import="sed -n -e 's/^I .* \(.*\)$/\1/p'"
|
||||
lt_cv_sys_global_symbol_to_import="$SED -n -e 's/^I .* \(.*\)$/\1/p'"
|
||||
# Adjust the below global symbol transforms to fixup imported variables.
|
||||
lt_cdecl_hook=" -e 's/^I .* \(.*\)$/extern __declspec(dllimport) char \1;/p'"
|
||||
lt_c_name_hook=" -e 's/^I .* \(.*\)$/ {\"\1\", (void *) 0},/p'"
|
||||
|
|
@ -8780,20 +8905,20 @@ fi
|
|||
# Transform an extracted symbol line into a proper C declaration.
|
||||
# Some systems (esp. on ia64) link data and code symbols differently,
|
||||
# so use this general approach.
|
||||
lt_cv_sys_global_symbol_to_cdecl="sed -n"\
|
||||
lt_cv_sys_global_symbol_to_cdecl="$SED -n"\
|
||||
$lt_cdecl_hook\
|
||||
" -e 's/^T .* \(.*\)$/extern int \1();/p'"\
|
||||
" -e 's/^$symcode$symcode* .* \(.*\)$/extern char \1;/p'"
|
||||
|
||||
# Transform an extracted symbol line into symbol name and symbol address
|
||||
lt_cv_sys_global_symbol_to_c_name_address="sed -n"\
|
||||
lt_cv_sys_global_symbol_to_c_name_address="$SED -n"\
|
||||
$lt_c_name_hook\
|
||||
" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
|
||||
" -e 's/^$symcode$symcode* .* \(.*\)$/ {\"\1\", (void *) \&\1},/p'"
|
||||
|
||||
# Transform an extracted symbol line into symbol name with lib prefix and
|
||||
# symbol address.
|
||||
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n"\
|
||||
lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="$SED -n"\
|
||||
$lt_c_name_lib_hook\
|
||||
" -e 's/^: \(.*\) .*$/ {\"\1\", (void *) 0},/p'"\
|
||||
" -e 's/^$symcode$symcode* .* \(lib.*\)$/ {\"\1\", (void *) \&\1},/p'"\
|
||||
|
|
@ -8817,7 +8942,7 @@ for ac_symprfx in "" "_"; do
|
|||
if test "$lt_cv_nm_interface" = "MS dumpbin"; then
|
||||
# Fake it for dumpbin and say T for any non-static function,
|
||||
# D for any global variable and I for any imported variable.
|
||||
# Also find C++ and __fastcall symbols from MSVC++,
|
||||
# Also find C++ and __fastcall symbols from MSVC++ or ICC,
|
||||
# which start with @ or ?.
|
||||
lt_cv_sys_global_symbol_pipe="$AWK '"\
|
||||
" {last_section=section; section=\$ 3};"\
|
||||
|
|
@ -8835,9 +8960,9 @@ for ac_symprfx in "" "_"; do
|
|||
" s[1]~prfx {split(s[1],t,\"@\"); print f,t[1],substr(t[1],length(prfx))}"\
|
||||
" ' prfx=^$ac_symprfx"
|
||||
else
|
||||
lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
|
||||
lt_cv_sys_global_symbol_pipe="$SED -n -e 's/^.*[ ]\($symcode$symcode*\)[ ][ ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
|
||||
fi
|
||||
lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | sed '/ __gnu_lto/d'"
|
||||
lt_cv_sys_global_symbol_pipe="$lt_cv_sys_global_symbol_pipe | $SED '/ __gnu_lto/d'"
|
||||
|
||||
# Check to see that the pipe works correctly.
|
||||
pipe_works=no
|
||||
|
|
@ -9040,7 +9165,7 @@ case $with_sysroot in #(
|
|||
fi
|
||||
;; #(
|
||||
/*)
|
||||
lt_sysroot=`echo "$with_sysroot" | sed -e "$sed_quote_subst"`
|
||||
lt_sysroot=`echo "$with_sysroot" | $SED -e "$sed_quote_subst"`
|
||||
;; #(
|
||||
no|'')
|
||||
;; #(
|
||||
|
|
@ -9165,7 +9290,7 @@ ia64-*-hpux*)
|
|||
ac_status=$?
|
||||
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; then
|
||||
case `/usr/bin/file conftest.$ac_objext` in
|
||||
case `$FILECMD conftest.$ac_objext` in
|
||||
*ELF-32*)
|
||||
HPUX_IA64_MODE=32
|
||||
;;
|
||||
|
|
@ -9186,7 +9311,7 @@ ia64-*-hpux*)
|
|||
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; then
|
||||
if test yes = "$lt_cv_prog_gnu_ld"; then
|
||||
case `/usr/bin/file conftest.$ac_objext` in
|
||||
case `$FILECMD conftest.$ac_objext` in
|
||||
*32-bit*)
|
||||
LD="${LD-ld} -melf32bsmip"
|
||||
;;
|
||||
|
|
@ -9198,7 +9323,7 @@ ia64-*-hpux*)
|
|||
;;
|
||||
esac
|
||||
else
|
||||
case `/usr/bin/file conftest.$ac_objext` in
|
||||
case `$FILECMD conftest.$ac_objext` in
|
||||
*32-bit*)
|
||||
LD="${LD-ld} -32"
|
||||
;;
|
||||
|
|
@ -9224,7 +9349,7 @@ mips64*-*linux*)
|
|||
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; then
|
||||
emul=elf
|
||||
case `/usr/bin/file conftest.$ac_objext` in
|
||||
case `$FILECMD conftest.$ac_objext` in
|
||||
*32-bit*)
|
||||
emul="${emul}32"
|
||||
;;
|
||||
|
|
@ -9232,7 +9357,7 @@ mips64*-*linux*)
|
|||
emul="${emul}64"
|
||||
;;
|
||||
esac
|
||||
case `/usr/bin/file conftest.$ac_objext` in
|
||||
case `$FILECMD conftest.$ac_objext` in
|
||||
*MSB*)
|
||||
emul="${emul}btsmip"
|
||||
;;
|
||||
|
|
@ -9240,7 +9365,7 @@ mips64*-*linux*)
|
|||
emul="${emul}ltsmip"
|
||||
;;
|
||||
esac
|
||||
case `/usr/bin/file conftest.$ac_objext` in
|
||||
case `$FILECMD conftest.$ac_objext` in
|
||||
*N32*)
|
||||
emul="${emul}n32"
|
||||
;;
|
||||
|
|
@ -9264,14 +9389,14 @@ s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
|
|||
ac_status=$?
|
||||
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; then
|
||||
case `/usr/bin/file conftest.o` in
|
||||
case `$FILECMD conftest.o` in
|
||||
*32-bit*)
|
||||
case $host in
|
||||
x86_64-*kfreebsd*-gnu)
|
||||
LD="${LD-ld} -m elf_i386_fbsd"
|
||||
;;
|
||||
x86_64-*linux*)
|
||||
case `/usr/bin/file conftest.o` in
|
||||
case `$FILECMD conftest.o` in
|
||||
*x86-64*)
|
||||
LD="${LD-ld} -m elf32_x86_64"
|
||||
;;
|
||||
|
|
@ -9379,7 +9504,7 @@ printf "%s\n" "$lt_cv_cc_needs_belf" >&6; }
|
|||
ac_status=$?
|
||||
printf "%s\n" "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
|
||||
test $ac_status = 0; }; then
|
||||
case `/usr/bin/file conftest.o` in
|
||||
case `$FILECMD conftest.o` in
|
||||
*64-bit*)
|
||||
case $lt_cv_prog_gnu_ld in
|
||||
yes*)
|
||||
|
|
@ -10162,8 +10287,8 @@ int forced_loaded() { return 2;}
|
|||
_LT_EOF
|
||||
echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
|
||||
$LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
|
||||
echo "$AR cru libconftest.a conftest.o" >&5
|
||||
$AR cru libconftest.a conftest.o 2>&5
|
||||
echo "$AR $AR_FLAGS libconftest.a conftest.o" >&5
|
||||
$AR $AR_FLAGS libconftest.a conftest.o 2>&5
|
||||
echo "$RANLIB libconftest.a" >&5
|
||||
$RANLIB libconftest.a 2>&5
|
||||
cat > conftest.c << _LT_EOF
|
||||
|
|
@ -10190,17 +10315,12 @@ printf "%s\n" "$lt_cv_ld_force_load" >&6; }
|
|||
_lt_dar_allow_undefined='$wl-undefined ${wl}suppress' ;;
|
||||
darwin1.*)
|
||||
_lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
|
||||
darwin*) # darwin 5.x on
|
||||
# if running on 10.5 or later, the deployment target defaults
|
||||
# to the OS version, if on x86, and 10.4, the deployment
|
||||
# target defaults to 10.4. Don't you love it?
|
||||
case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
|
||||
10.0,*86*-darwin8*|10.0,*-darwin[91]*)
|
||||
_lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
|
||||
10.[012][,.]*)
|
||||
_lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
|
||||
10.*)
|
||||
_lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
|
||||
darwin*)
|
||||
case $MACOSX_DEPLOYMENT_TARGET,$host in
|
||||
10.[012],*|,*powerpc*-darwin[5-8]*)
|
||||
_lt_dar_allow_undefined='$wl-flat_namespace $wl-undefined ${wl}suppress' ;;
|
||||
*)
|
||||
_lt_dar_allow_undefined='$wl-undefined ${wl}dynamic_lookup' ;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
|
|
@ -10558,8 +10678,8 @@ esac
|
|||
ofile=libtool
|
||||
can_build_shared=yes
|
||||
|
||||
# All known linkers require a '.a' archive for static linking (except MSVC,
|
||||
# which needs '.lib').
|
||||
# All known linkers require a '.a' archive for static linking (except MSVC and
|
||||
# ICC, which need '.lib').
|
||||
libext=a
|
||||
|
||||
with_gnu_ld=$lt_cv_prog_gnu_ld
|
||||
|
|
@ -11071,7 +11191,7 @@ lt_prog_compiler_static=
|
|||
lt_prog_compiler_static='-qstaticlink'
|
||||
;;
|
||||
*)
|
||||
case `$CC -V 2>&1 | sed 5q` in
|
||||
case `$CC -V 2>&1 | $SED 5q` in
|
||||
*Sun\ Ceres\ Fortran* | *Sun*Fortran*\ [1-7].* | *Sun*Fortran*\ 8.[0-3]*)
|
||||
# Sun Fortran 8.3 passes all unrecognized flags to the linker
|
||||
lt_prog_compiler_pic='-KPIC'
|
||||
|
|
@ -11494,15 +11614,15 @@ printf %s "checking whether the $compiler linker ($LD) supports shared libraries
|
|||
|
||||
case $host_os in
|
||||
cygwin* | mingw* | pw32* | cegcc*)
|
||||
# FIXME: the MSVC++ port hasn't been tested in a loooong time
|
||||
# FIXME: the MSVC++ and ICC port hasn't been tested in a loooong time
|
||||
# When not using gcc, we currently assume that we are using
|
||||
# Microsoft Visual C++.
|
||||
# Microsoft Visual C++ or Intel C++ Compiler.
|
||||
if test yes != "$GCC"; then
|
||||
with_gnu_ld=no
|
||||
fi
|
||||
;;
|
||||
interix*)
|
||||
# we just hope/assume this is gcc and not c89 (= MSVC++)
|
||||
# we just hope/assume this is gcc and not c89 (= MSVC++ or ICC)
|
||||
with_gnu_ld=yes
|
||||
;;
|
||||
openbsd* | bitrig*)
|
||||
|
|
@ -11554,7 +11674,7 @@ printf %s "checking whether the $compiler linker ($LD) supports shared libraries
|
|||
whole_archive_flag_spec=
|
||||
fi
|
||||
supports_anon_versioning=no
|
||||
case `$LD -v | $SED -e 's/(^)\+)\s\+//' 2>&1` in
|
||||
case `$LD -v | $SED -e 's/([^)]\+)\s\+//' 2>&1` in
|
||||
*GNU\ gold*) supports_anon_versioning=yes ;;
|
||||
*\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
|
||||
*\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
|
||||
|
|
@ -11666,6 +11786,7 @@ _LT_EOF
|
|||
emximp -o $lib $output_objdir/$libname.def'
|
||||
old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
|
||||
enable_shared_with_static_runtimes=yes
|
||||
file_list_spec='@'
|
||||
;;
|
||||
|
||||
interix[3-9]*)
|
||||
|
|
@ -11680,7 +11801,7 @@ _LT_EOF
|
|||
# 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
|
||||
# time. Moving up from 0x10000000 also allows more sbrk(2) space.
|
||||
archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
|
||||
archive_expsym_cmds='sed "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
|
||||
archive_expsym_cmds='$SED "s|^|_|" $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags $wl-h,$soname $wl--retain-symbols-file,$output_objdir/$soname.expsym $wl--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
|
||||
;;
|
||||
|
||||
gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
|
||||
|
|
@ -11723,7 +11844,7 @@ _LT_EOF
|
|||
compiler_needs_object=yes
|
||||
;;
|
||||
esac
|
||||
case `$CC -V 2>&1 | sed 5q` in
|
||||
case `$CC -V 2>&1 | $SED 5q` in
|
||||
*Sun\ C*) # Sun C 5.9
|
||||
whole_archive_flag_spec='$wl--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` $wl--no-whole-archive'
|
||||
compiler_needs_object=yes
|
||||
|
|
@ -11735,7 +11856,7 @@ _LT_EOF
|
|||
|
||||
if test yes = "$supports_anon_versioning"; then
|
||||
archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
|
||||
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
|
||||
cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
|
||||
echo "local: *; };" >> $output_objdir/$libname.ver~
|
||||
$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags $wl-soname $wl$soname $wl-version-script $wl$output_objdir/$libname.ver -o $lib'
|
||||
fi
|
||||
|
|
@ -11751,7 +11872,7 @@ _LT_EOF
|
|||
archive_cmds='$LD -shared $libobjs $deplibs $linker_flags -soname $soname -o $lib'
|
||||
if test yes = "$supports_anon_versioning"; then
|
||||
archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
|
||||
cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
|
||||
cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
|
||||
echo "local: *; };" >> $output_objdir/$libname.ver~
|
||||
$LD -shared $libobjs $deplibs $linker_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
|
||||
fi
|
||||
|
|
@ -11883,7 +12004,7 @@ _LT_EOF
|
|||
if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
|
||||
export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { if (\$ 2 == "W") { print \$ 3 " weak" } else { print \$ 3 } } }'\'' | sort -u > $export_symbols'
|
||||
else
|
||||
export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
|
||||
export_symbols_cmds='`func_echo_all $NM | $SED -e '\''s/B\([^B]*\)$/P\1/'\''` -PCpgl $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L") || (\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) && (substr(\$ 1,1,1) != ".")) { if ((\$ 2 == "W") || (\$ 2 == "V") || (\$ 2 == "Z")) { print \$ 1 " weak" } else { print \$ 1 } } }'\'' | sort -u > $export_symbols'
|
||||
fi
|
||||
aix_use_runtimelinking=no
|
||||
|
||||
|
|
@ -12154,12 +12275,12 @@ fi
|
|||
|
||||
cygwin* | mingw* | pw32* | cegcc*)
|
||||
# When not using gcc, we currently assume that we are using
|
||||
# Microsoft Visual C++.
|
||||
# Microsoft Visual C++ or Intel C++ Compiler.
|
||||
# hardcode_libdir_flag_spec is actually meaningless, as there is
|
||||
# no search path for DLLs.
|
||||
case $cc_basename in
|
||||
cl*)
|
||||
# Native MSVC
|
||||
cl* | icl*)
|
||||
# Native MSVC or ICC
|
||||
hardcode_libdir_flag_spec=' '
|
||||
allow_undefined_flag=unsupported
|
||||
always_export_symbols=yes
|
||||
|
|
@ -12200,7 +12321,7 @@ fi
|
|||
fi'
|
||||
;;
|
||||
*)
|
||||
# Assume MSVC wrapper
|
||||
# Assume MSVC and ICC wrapper
|
||||
hardcode_libdir_flag_spec=' '
|
||||
allow_undefined_flag=unsupported
|
||||
# Tell ltmain to make .lib files, not .a files.
|
||||
|
|
@ -12241,8 +12362,8 @@ fi
|
|||
output_verbose_link_cmd=func_echo_all
|
||||
archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dsymutil"
|
||||
module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dsymutil"
|
||||
archive_expsym_cmds="sed 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
|
||||
module_expsym_cmds="sed -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
|
||||
archive_expsym_cmds="$SED 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod$_lt_dar_export_syms$_lt_dsymutil"
|
||||
module_expsym_cmds="$SED -e 's|^|_|' < \$export_symbols > \$output_objdir/\$libname-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags$_lt_dar_export_syms$_lt_dsymutil"
|
||||
|
||||
else
|
||||
ld_shlibs=no
|
||||
|
|
@ -12276,7 +12397,7 @@ fi
|
|||
;;
|
||||
|
||||
# FreeBSD 3 and greater uses gcc -shared to do shared libraries.
|
||||
freebsd* | dragonfly*)
|
||||
freebsd* | dragonfly* | midnightbsd*)
|
||||
archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
|
||||
hardcode_libdir_flag_spec='-R$libdir'
|
||||
hardcode_direct=yes
|
||||
|
|
@ -12527,6 +12648,7 @@ printf "%s\n" "$lt_cv_irix_exported_symbol" >&6; }
|
|||
emximp -o $lib $output_objdir/$libname.def'
|
||||
old_archive_From_new_cmds='emximp -o $output_objdir/${libname}_dll.a $output_objdir/$libname.def'
|
||||
enable_shared_with_static_runtimes=yes
|
||||
file_list_spec='@'
|
||||
;;
|
||||
|
||||
osf3*)
|
||||
|
|
@ -13219,7 +13341,7 @@ cygwin* | mingw* | pw32* | cegcc*)
|
|||
case $host_os in
|
||||
cygwin*)
|
||||
# Cygwin DLLs use 'cyg' prefix rather than 'lib'
|
||||
soname_spec='`echo $libname | sed -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
|
||||
soname_spec='`echo $libname | $SED -e 's/^lib/cyg/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
|
||||
|
||||
sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
|
||||
;;
|
||||
|
|
@ -13229,14 +13351,14 @@ cygwin* | mingw* | pw32* | cegcc*)
|
|||
;;
|
||||
pw32*)
|
||||
# pw32 DLLs use 'pw' prefix rather than 'lib'
|
||||
library_names_spec='`echo $libname | sed -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
|
||||
library_names_spec='`echo $libname | $SED -e 's/^lib/pw/'``echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
|
||||
;;
|
||||
esac
|
||||
dynamic_linker='Win32 ld.exe'
|
||||
;;
|
||||
|
||||
*,cl*)
|
||||
# Native MSVC
|
||||
*,cl* | *,icl*)
|
||||
# Native MSVC or ICC
|
||||
libname_spec='$name'
|
||||
soname_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext'
|
||||
library_names_spec='$libname.dll.lib'
|
||||
|
|
@ -13255,7 +13377,7 @@ cygwin* | mingw* | pw32* | cegcc*)
|
|||
done
|
||||
IFS=$lt_save_ifs
|
||||
# Convert to MSYS style.
|
||||
sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | sed -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
|
||||
sys_lib_search_path_spec=`$ECHO "$sys_lib_search_path_spec" | $SED -e 's|\\\\|/|g' -e 's| \\([a-zA-Z]\\):| /\\1|g' -e 's|^ ||'`
|
||||
;;
|
||||
cygwin*)
|
||||
# Convert to unix form, then to dos form, then back to unix form
|
||||
|
|
@ -13292,7 +13414,7 @@ cygwin* | mingw* | pw32* | cegcc*)
|
|||
;;
|
||||
|
||||
*)
|
||||
# Assume MSVC wrapper
|
||||
# Assume MSVC and ICC wrapper
|
||||
library_names_spec='$libname`echo $release | $SED -e 's/[.]/-/g'`$versuffix$shared_ext $libname.lib'
|
||||
dynamic_linker='Win32 ld.exe'
|
||||
;;
|
||||
|
|
@ -13325,7 +13447,7 @@ dgux*)
|
|||
shlibpath_var=LD_LIBRARY_PATH
|
||||
;;
|
||||
|
||||
freebsd* | dragonfly*)
|
||||
freebsd* | dragonfly* | midnightbsd*)
|
||||
# DragonFly does not have aout. When/if they implement a new
|
||||
# versioning mechanism, adjust this.
|
||||
if test -x /usr/bin/objformat; then
|
||||
|
|
@ -14481,30 +14603,41 @@ striplib=
|
|||
old_striplib=
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
|
||||
printf %s "checking whether stripping libraries is possible... " >&6; }
|
||||
if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
|
||||
test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
|
||||
test -z "$striplib" && striplib="$STRIP --strip-unneeded"
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
printf "%s\n" "yes" >&6; }
|
||||
if test -z "$STRIP"; then
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
printf "%s\n" "no" >&6; }
|
||||
else
|
||||
# FIXME - insert some real tests, host_os isn't really good enough
|
||||
case $host_os in
|
||||
darwin*)
|
||||
if test -n "$STRIP"; then
|
||||
if $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
|
||||
old_striplib="$STRIP --strip-debug"
|
||||
striplib="$STRIP --strip-unneeded"
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
printf "%s\n" "yes" >&6; }
|
||||
else
|
||||
case $host_os in
|
||||
darwin*)
|
||||
# FIXME - insert some real tests, host_os isn't really good enough
|
||||
striplib="$STRIP -x"
|
||||
old_striplib="$STRIP -S"
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
printf "%s\n" "yes" >&6; }
|
||||
else
|
||||
;;
|
||||
freebsd*)
|
||||
if $STRIP -V 2>&1 | $GREP "elftoolchain" >/dev/null; then
|
||||
old_striplib="$STRIP --strip-debug"
|
||||
striplib="$STRIP --strip-unneeded"
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: yes" >&5
|
||||
printf "%s\n" "yes" >&6; }
|
||||
else
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
printf "%s\n" "no" >&6; }
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
printf "%s\n" "no" >&6; }
|
||||
fi
|
||||
;;
|
||||
*)
|
||||
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: no" >&5
|
||||
printf "%s\n" "no" >&6; }
|
||||
;;
|
||||
esac
|
||||
;;
|
||||
esac
|
||||
fi
|
||||
fi
|
||||
|
||||
|
||||
|
|
@ -20125,7 +20258,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
|
|||
# report actual input values of CONFIG_FILES etc. instead of their
|
||||
# values after options handling.
|
||||
ac_log="
|
||||
This file was extended by libostree $as_me 2022.4, which was
|
||||
This file was extended by libostree $as_me 2022.5, which was
|
||||
generated by GNU Autoconf 2.71. Invocation command line was
|
||||
|
||||
CONFIG_FILES = $CONFIG_FILES
|
||||
|
|
@ -20193,7 +20326,7 @@ ac_cs_config_escaped=`printf "%s\n" "$ac_cs_config" | sed "s/^ //; s/'/'\\\\\\\\
|
|||
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
|
||||
ac_cs_config='$ac_cs_config_escaped'
|
||||
ac_cs_version="\\
|
||||
libostree config.status 2022.4
|
||||
libostree config.status 2022.5
|
||||
configured by $0, generated by GNU Autoconf 2.71,
|
||||
with options \\"\$ac_cs_config\\"
|
||||
|
||||
|
|
@ -20356,6 +20489,7 @@ lt_cv_to_host_file_cmd='`$ECHO "$lt_cv_to_host_file_cmd" | $SED "$delay_single_q
|
|||
lt_cv_to_tool_file_cmd='`$ECHO "$lt_cv_to_tool_file_cmd" | $SED "$delay_single_quote_subst"`'
|
||||
reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
|
||||
reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
|
||||
FILECMD='`$ECHO "$FILECMD" | $SED "$delay_single_quote_subst"`'
|
||||
OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
|
||||
deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
|
||||
file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
|
||||
|
|
@ -20364,6 +20498,7 @@ want_nocaseglob='`$ECHO "$want_nocaseglob" | $SED "$delay_single_quote_subst"`'
|
|||
DLLTOOL='`$ECHO "$DLLTOOL" | $SED "$delay_single_quote_subst"`'
|
||||
sharedlib_from_linklib_cmd='`$ECHO "$sharedlib_from_linklib_cmd" | $SED "$delay_single_quote_subst"`'
|
||||
AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
|
||||
lt_ar_flags='`$ECHO "$lt_ar_flags" | $SED "$delay_single_quote_subst"`'
|
||||
AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
|
||||
archiver_list_spec='`$ECHO "$archiver_list_spec" | $SED "$delay_single_quote_subst"`'
|
||||
STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
|
||||
|
|
@ -20484,6 +20619,7 @@ LN_S \
|
|||
lt_SP2NL \
|
||||
lt_NL2SP \
|
||||
reload_flag \
|
||||
FILECMD \
|
||||
OBJDUMP \
|
||||
deplibs_check_method \
|
||||
file_magic_cmd \
|
||||
|
|
@ -20492,7 +20628,6 @@ want_nocaseglob \
|
|||
DLLTOOL \
|
||||
sharedlib_from_linklib_cmd \
|
||||
AR \
|
||||
AR_FLAGS \
|
||||
archiver_list_spec \
|
||||
STRIP \
|
||||
RANLIB \
|
||||
|
|
@ -21438,6 +21573,9 @@ to_host_file_cmd=$lt_cv_to_host_file_cmd
|
|||
# convert \$build files to toolchain format.
|
||||
to_tool_file_cmd=$lt_cv_to_tool_file_cmd
|
||||
|
||||
# A file(cmd) program that detects file types.
|
||||
FILECMD=$lt_FILECMD
|
||||
|
||||
# An object symbol dumper.
|
||||
OBJDUMP=$lt_OBJDUMP
|
||||
|
||||
|
|
@ -21462,8 +21600,11 @@ sharedlib_from_linklib_cmd=$lt_sharedlib_from_linklib_cmd
|
|||
# The archiver.
|
||||
AR=$lt_AR
|
||||
|
||||
# Flags to create an archive (by configure).
|
||||
lt_ar_flags=$lt_ar_flags
|
||||
|
||||
# Flags to create an archive.
|
||||
AR_FLAGS=$lt_AR_FLAGS
|
||||
AR_FLAGS=\${ARFLAGS-"\$lt_ar_flags"}
|
||||
|
||||
# How to feed a file listing to the archiver.
|
||||
archiver_list_spec=$lt_archiver_list_spec
|
||||
|
|
@ -21839,7 +21980,7 @@ ltmain=$ac_aux_dir/ltmain.sh
|
|||
# if finds mixed CR/LF and LF-only lines. Since sed operates in
|
||||
# text mode, it properly converts lines to CR/LF. This bash problem
|
||||
# is reportedly fixed, but why not run on old versions too?
|
||||
sed '$q' "$ltmain" >> "$cfgfile" \
|
||||
$SED '$q' "$ltmain" >> "$cfgfile" \
|
||||
|| (rm -f "$cfgfile"; exit 1)
|
||||
|
||||
mv -f "$cfgfile" "$ofile" ||
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
AC_PREREQ([2.63])
|
||||
dnl To perform a release, follow the instructions in `docs/CONTRIBUTING.md`.
|
||||
m4_define([year_version], [2022])
|
||||
m4_define([release_version], [4])
|
||||
m4_define([release_version], [5])
|
||||
m4_define([package_version], [year_version.release_version])
|
||||
AC_INIT([libostree], [package_version], [walters@verbum.org])
|
||||
is_release_build=yes
|
||||
|
|
|
|||
|
|
@ -681,7 +681,13 @@ LIBOSTREE_2022.4 {
|
|||
global:
|
||||
ostree_fs_get_all_xattrs;
|
||||
ostree_fs_get_all_xattrs_at;
|
||||
} LIBOSTREE_2021.5;
|
||||
} LIBOSTREE_2022.2;
|
||||
|
||||
LIBOSTREE_2022.5 {
|
||||
global:
|
||||
ostree_kernel_args_append_if_missing;
|
||||
ostree_sysroot_deployment_set_kargs_in_place;
|
||||
} LIBOSTREE_2022.4;
|
||||
|
||||
/* NOTE: Only add more content here in release commits! See the
|
||||
* comments at the top of this file.
|
||||
|
|
|
|||
|
|
@ -28,7 +28,7 @@
|
|||
#define SECURE_EXECUTION_SYSFS_FLAG "/sys/firmware/uv/prot_virt_guest"
|
||||
#define SECURE_EXECUTION_PARTITION "/dev/disk/by-label/se"
|
||||
#define SECURE_EXECUTION_MOUNTPOINT "/sysroot/se"
|
||||
#define SECURE_EXECUTION_BOOT_IMAGE SECURE_EXECUTION_MOUNTPOINT "/sd-boot"
|
||||
#define SECURE_EXECUTION_BOOT_IMAGE SECURE_EXECUTION_MOUNTPOINT "/sdboot"
|
||||
#define SECURE_EXECUTION_HOSTKEY_PATH "/etc/se-hostkeys/"
|
||||
#define SECURE_EXECUTION_HOSTKEY_PREFIX "ibm-z-hostkey"
|
||||
#define SECURE_EXECUTION_LUKS_ROOT_KEY "/etc/luks/root"
|
||||
|
|
|
|||
|
|
@ -804,3 +804,28 @@ ostree_kernel_args_get_last_value (OstreeKernelArgs *kargs, const char *key)
|
|||
const OstreeKernelArgsEntry *e = entries->pdata[entries->len-1];
|
||||
return _ostree_kernel_args_entry_get_value (e);
|
||||
}
|
||||
|
||||
/**
|
||||
* ostree_kernel_args_append_if_missing:
|
||||
* @kargs: a OstreeKernelArgs instance
|
||||
* @arg: key or key/value pair to be added
|
||||
*
|
||||
* Appends @arg which is in the form of key=value pair to the hash table kargs->table
|
||||
* (appends to the value list if key is not in the hash table)
|
||||
* and appends key to kargs->order if it is not in the hash table.
|
||||
*
|
||||
* Since: 2022.5
|
||||
**/
|
||||
void
|
||||
ostree_kernel_args_append_if_missing (OstreeKernelArgs *kargs,
|
||||
const char *arg)
|
||||
{
|
||||
g_autofree char *key = g_strdup (arg);
|
||||
split_keyeq (key);
|
||||
|
||||
// Don't insert a duplicate key.
|
||||
if (g_hash_table_contains (kargs->table, key))
|
||||
return;
|
||||
|
||||
ostree_kernel_args_append (kargs, arg);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -130,4 +130,8 @@ char **ostree_kernel_args_to_strv (OstreeKernelArgs *kargs);
|
|||
_OSTREE_PUBLIC
|
||||
char *ostree_kernel_args_to_string (OstreeKernelArgs *kargs);
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
void ostree_kernel_args_append_if_missing (OstreeKernelArgs *kargs,
|
||||
const char *arg);
|
||||
|
||||
G_END_DECLS
|
||||
|
|
|
|||
|
|
@ -224,6 +224,7 @@ struct OstreeRepo {
|
|||
gint fs_support_reflink; /* The underlying filesystem has support for ioctl (FICLONE..) */
|
||||
gchar **repo_finders;
|
||||
OstreeCfgSysrootBootloaderOpt bootloader; /* Configure which bootloader to use. */
|
||||
GHashTable *bls_append_values; /* Parsed key-values from bls-append-except-default key in config. */
|
||||
|
||||
OstreeRepo *parent_repo;
|
||||
};
|
||||
|
|
@ -513,6 +514,12 @@ _ostree_repo_verify_bindings (const char *collection_id,
|
|||
GVariant *commit,
|
||||
GError **error);
|
||||
|
||||
GHashTable *
|
||||
ostree_repo_list_objects_set (OstreeRepo *self,
|
||||
OstreeRepoListObjectsFlags flags,
|
||||
GCancellable *cancellable,
|
||||
GError **error);
|
||||
|
||||
/**
|
||||
* OstreeRepoAutoTransaction:
|
||||
*
|
||||
|
|
|
|||
|
|
@ -189,7 +189,6 @@ _ostree_repo_prune_tmp (OstreeRepo *self,
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* ostree_repo_prune_static_deltas:
|
||||
* @self: Repo
|
||||
|
|
@ -280,15 +279,8 @@ repo_prune_internal (OstreeRepo *self,
|
|||
g_autoptr(GHashTable) reachable_owned = g_hash_table_ref (options->reachable);
|
||||
data.reachable = reachable_owned;
|
||||
|
||||
GLNX_HASH_TABLE_FOREACH_KV (objects, GVariant*, serialized_key, GVariant*, objdata)
|
||||
GLNX_HASH_TABLE_FOREACH (objects, GVariant*, serialized_key)
|
||||
{
|
||||
gboolean is_loose;
|
||||
|
||||
g_variant_get_child (objdata, 0, "b", &is_loose);
|
||||
|
||||
if (!is_loose)
|
||||
continue;
|
||||
|
||||
if (!maybe_prune_loose_object (&data, options->flags, serialized_key,
|
||||
cancellable, error))
|
||||
return FALSE;
|
||||
|
|
@ -444,8 +436,18 @@ ostree_repo_prune (OstreeRepo *self,
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
if (!ostree_repo_list_objects (self, OSTREE_REPO_LIST_OBJECTS_ALL | OSTREE_REPO_LIST_OBJECTS_NO_PARENTS,
|
||||
&objects, cancellable, error))
|
||||
if (commit_only)
|
||||
{
|
||||
if (!ostree_repo_list_commit_objects_starting_with (self, "", &objects, cancellable, error))
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
objects = ostree_repo_list_objects_set (self, OSTREE_REPO_LIST_OBJECTS_ALL | OSTREE_REPO_LIST_OBJECTS_NO_PARENTS,
|
||||
cancellable, error);
|
||||
}
|
||||
|
||||
if (!objects)
|
||||
return FALSE;
|
||||
|
||||
if (!refs_only)
|
||||
|
|
@ -515,9 +517,20 @@ ostree_repo_prune_from_reachable (OstreeRepo *self,
|
|||
return FALSE;
|
||||
|
||||
g_autoptr(GHashTable) objects = NULL;
|
||||
|
||||
if (!ostree_repo_list_objects (self, OSTREE_REPO_LIST_OBJECTS_ALL | OSTREE_REPO_LIST_OBJECTS_NO_PARENTS,
|
||||
&objects, cancellable, error))
|
||||
OstreeRepoPruneFlags flags = options->flags;
|
||||
gboolean commit_only = (flags & OSTREE_REPO_PRUNE_FLAGS_COMMIT_ONLY) > 0;
|
||||
if (commit_only)
|
||||
{
|
||||
if (!ostree_repo_list_commit_objects_starting_with (self, "", &objects, cancellable, error))
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
objects =
|
||||
ostree_repo_list_objects_set (self, OSTREE_REPO_LIST_OBJECTS_ALL | OSTREE_REPO_LIST_OBJECTS_NO_PARENTS,
|
||||
cancellable, error);
|
||||
}
|
||||
if (!objects)
|
||||
return FALSE;
|
||||
|
||||
return repo_prune_internal (self, objects, options, out_objects_total,
|
||||
|
|
|
|||
|
|
@ -1238,6 +1238,7 @@ ostree_repo_finalize (GObject *object)
|
|||
g_mutex_clear (&self->txn_lock);
|
||||
g_free (self->collection_id);
|
||||
g_strfreev (self->repo_finders);
|
||||
g_clear_pointer (&self->bls_append_values, g_hash_table_unref);
|
||||
|
||||
g_clear_pointer (&self->remotes, g_hash_table_destroy);
|
||||
g_mutex_clear (&self->remotes_lock);
|
||||
|
|
@ -1412,6 +1413,9 @@ ostree_repo_init (OstreeRepo *self)
|
|||
self->remotes = g_hash_table_new_full (g_str_hash, g_str_equal,
|
||||
(GDestroyNotify) NULL,
|
||||
(GDestroyNotify) ostree_remote_unref);
|
||||
self->bls_append_values = g_hash_table_new_full (g_str_hash, g_str_equal,
|
||||
(GDestroyNotify) g_free,
|
||||
(GDestroyNotify) g_free);
|
||||
g_mutex_init (&self->remotes_lock);
|
||||
|
||||
self->repo_dir_fd = -1;
|
||||
|
|
@ -3510,16 +3514,42 @@ reload_sysroot_config (OstreeRepo *self,
|
|||
* https://github.com/ostreedev/ostree/issues/1719
|
||||
* https://github.com/ostreedev/ostree/issues/1801
|
||||
*/
|
||||
gboolean valid_bootloader;
|
||||
for (int i = 0; CFG_SYSROOT_BOOTLOADER_OPTS_STR[i]; i++)
|
||||
{
|
||||
if (g_str_equal (bootloader, CFG_SYSROOT_BOOTLOADER_OPTS_STR[i]))
|
||||
{
|
||||
self->bootloader = (OstreeCfgSysrootBootloaderOpt) i;
|
||||
return TRUE;
|
||||
valid_bootloader = TRUE;
|
||||
}
|
||||
}
|
||||
if (!valid_bootloader)
|
||||
{
|
||||
return glnx_throw (error, "Invalid bootloader configuration: '%s'", bootloader);
|
||||
}
|
||||
/* Parse bls-append-except-default string list. */
|
||||
g_auto(GStrv) read_values = NULL;
|
||||
if (!ot_keyfile_get_string_list_with_default (self->config, "sysroot", "bls-append-except-default",
|
||||
';', NULL, &read_values, error))
|
||||
return glnx_throw(error, "Unable to parse bls-append-except-default");
|
||||
|
||||
/* get all key value pairs in bls-append-except-default */
|
||||
g_hash_table_remove_all (self->bls_append_values);
|
||||
for (char **iter = read_values; iter && *iter; iter++)
|
||||
{
|
||||
const char *key_value = *iter;
|
||||
const char *sep = strchr (key_value, '=');
|
||||
if (sep == NULL)
|
||||
{
|
||||
glnx_throw (error, "bls-append-except-default key must be of the form \"key1=value1;key2=value2...\"");
|
||||
return FALSE;
|
||||
}
|
||||
char *key = g_strndup (key_value, sep - key_value);
|
||||
char *value = g_strdup (sep + 1);
|
||||
g_hash_table_replace (self->bls_append_values, key, value);
|
||||
}
|
||||
|
||||
return glnx_throw (error, "Invalid bootloader configuration: '%s'", bootloader);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -3895,6 +3925,7 @@ ostree_repo_get_parent (OstreeRepo *self)
|
|||
|
||||
static gboolean
|
||||
list_loose_objects_at (OstreeRepo *self,
|
||||
GVariant *dummy_value,
|
||||
GHashTable *inout_objects,
|
||||
int dfd,
|
||||
const char *prefix,
|
||||
|
|
@ -3902,7 +3933,7 @@ list_loose_objects_at (OstreeRepo *self,
|
|||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
{
|
||||
GVariant *key, *value;
|
||||
GVariant *key;
|
||||
|
||||
g_auto(GLnxDirFdIterator) dfd_iter = { 0, };
|
||||
gboolean exists;
|
||||
|
|
@ -3971,11 +4002,13 @@ list_loose_objects_at (OstreeRepo *self,
|
|||
}
|
||||
|
||||
key = ostree_object_name_serialize (buf, objtype);
|
||||
value = g_variant_new ("(b@as)",
|
||||
TRUE, g_variant_new_strv (NULL, 0));
|
||||
|
||||
/* transfer ownership */
|
||||
g_hash_table_replace (inout_objects, g_variant_ref_sink (key),
|
||||
g_variant_ref_sink (value));
|
||||
if (dummy_value)
|
||||
g_hash_table_replace (inout_objects, g_variant_ref_sink (key),
|
||||
g_variant_ref (dummy_value));
|
||||
else
|
||||
g_hash_table_add (inout_objects, g_variant_ref_sink (key));
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
|
|
@ -3983,6 +4016,7 @@ list_loose_objects_at (OstreeRepo *self,
|
|||
|
||||
static gboolean
|
||||
list_loose_objects (OstreeRepo *self,
|
||||
GVariant *dummy_value,
|
||||
GHashTable *inout_objects,
|
||||
const char *commit_starting_with,
|
||||
GCancellable *cancellable,
|
||||
|
|
@ -3996,7 +4030,8 @@ list_loose_objects (OstreeRepo *self,
|
|||
buf[0] = hexchars[c >> 4];
|
||||
buf[1] = hexchars[c & 0xF];
|
||||
buf[2] = '\0';
|
||||
if (!list_loose_objects_at (self, inout_objects, self->objects_dir_fd, buf,
|
||||
if (!list_loose_objects_at (self, dummy_value,
|
||||
inout_objects, self->objects_dir_fd, buf,
|
||||
commit_starting_with,
|
||||
cancellable, error))
|
||||
return FALSE;
|
||||
|
|
@ -4901,6 +4936,65 @@ ostree_repo_load_commit (OstreeRepo *self,
|
|||
out_variant, NULL, NULL, out_state, NULL, error);
|
||||
}
|
||||
|
||||
static GHashTable *
|
||||
repo_list_objects_impl (OstreeRepo *self,
|
||||
OstreeRepoListObjectsFlags flags,
|
||||
GVariant *dummy_value,
|
||||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
{
|
||||
g_assert (error == NULL || *error == NULL);
|
||||
g_assert (self->inited);
|
||||
|
||||
g_autoptr(GHashTable) ret_objects =
|
||||
g_hash_table_new_full (ostree_hash_object_name, g_variant_equal,
|
||||
(GDestroyNotify) g_variant_unref,
|
||||
dummy_value ? (GDestroyNotify) g_variant_unref : NULL);
|
||||
|
||||
if (flags & OSTREE_REPO_LIST_OBJECTS_ALL)
|
||||
flags |= (OSTREE_REPO_LIST_OBJECTS_LOOSE | OSTREE_REPO_LIST_OBJECTS_PACKED);
|
||||
|
||||
if (flags & OSTREE_REPO_LIST_OBJECTS_LOOSE)
|
||||
{
|
||||
if (!list_loose_objects (self, dummy_value, ret_objects, NULL, cancellable, error))
|
||||
return FALSE;
|
||||
if ((flags & OSTREE_REPO_LIST_OBJECTS_NO_PARENTS) == 0 && self->parent_repo)
|
||||
{
|
||||
if (!list_loose_objects (self->parent_repo, dummy_value, ret_objects, NULL, cancellable, error))
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
if (flags & OSTREE_REPO_LIST_OBJECTS_PACKED)
|
||||
{
|
||||
/* Nothing for now... */
|
||||
}
|
||||
|
||||
return g_steal_pointer (&ret_objects);
|
||||
}
|
||||
|
||||
/* A currently-internal version of ostree_repo_list_objects which returns
|
||||
* a set, and not a map (with a useless value).
|
||||
*/
|
||||
GHashTable *
|
||||
ostree_repo_list_objects_set (OstreeRepo *self,
|
||||
OstreeRepoListObjectsFlags flags,
|
||||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
{
|
||||
return repo_list_objects_impl (self, flags, NULL, cancellable, error);
|
||||
}
|
||||
|
||||
/* For unfortunate historical reasons we emit this dummy value.
|
||||
* It was intended to provide additional information about the object (e.g. "is in a pack file")
|
||||
* but we ended up not shipping pack files.
|
||||
*/
|
||||
static GVariant *
|
||||
get_dummy_list_objects_variant (void)
|
||||
{
|
||||
return g_variant_ref_sink (g_variant_new ("(b@as)", TRUE, g_variant_new_strv (NULL, 0)));
|
||||
}
|
||||
|
||||
/**
|
||||
* ostree_repo_list_objects:
|
||||
* @self: Repo
|
||||
|
|
@ -4924,41 +5018,18 @@ ostree_repo_list_objects (OstreeRepo *self,
|
|||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
{
|
||||
g_return_val_if_fail (error == NULL || *error == NULL, FALSE);
|
||||
g_return_val_if_fail (self->inited, FALSE);
|
||||
|
||||
g_autoptr(GHashTable) ret_objects =
|
||||
g_hash_table_new_full (ostree_hash_object_name, g_variant_equal,
|
||||
(GDestroyNotify) g_variant_unref,
|
||||
(GDestroyNotify) g_variant_unref);
|
||||
|
||||
if (flags & OSTREE_REPO_LIST_OBJECTS_ALL)
|
||||
flags |= (OSTREE_REPO_LIST_OBJECTS_LOOSE | OSTREE_REPO_LIST_OBJECTS_PACKED);
|
||||
|
||||
if (flags & OSTREE_REPO_LIST_OBJECTS_LOOSE)
|
||||
{
|
||||
if (!list_loose_objects (self, ret_objects, NULL, cancellable, error))
|
||||
return FALSE;
|
||||
if ((flags & OSTREE_REPO_LIST_OBJECTS_NO_PARENTS) == 0 && self->parent_repo)
|
||||
{
|
||||
if (!list_loose_objects (self->parent_repo, ret_objects, NULL, cancellable, error))
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
if (flags & OSTREE_REPO_LIST_OBJECTS_PACKED)
|
||||
{
|
||||
/* Nothing for now... */
|
||||
}
|
||||
|
||||
ot_transfer_out_value (out_objects, &ret_objects);
|
||||
g_autoptr(GVariant) dummy_value = get_dummy_list_objects_variant ();
|
||||
g_autoptr(GHashTable) ret = repo_list_objects_impl (self, flags, dummy_value, cancellable, error);
|
||||
if (!ret)
|
||||
return FALSE;
|
||||
ot_transfer_out_value (out_objects, &ret);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* ostree_repo_list_commit_objects_starting_with:
|
||||
* @self: Repo
|
||||
* @start: List commits starting with this checksum
|
||||
* @start: List commits starting with this checksum (empty string for all)
|
||||
* @out_commits: (out) (transfer container) (element-type GVariant GVariant):
|
||||
* Map of serialized commit name to variant data
|
||||
* @cancellable: Cancellable
|
||||
|
|
@ -4967,6 +5038,8 @@ ostree_repo_list_objects (OstreeRepo *self,
|
|||
* This function synchronously enumerates all commit objects starting
|
||||
* with @start, returning data in @out_commits.
|
||||
*
|
||||
* To list all commit objects, provide the empty string `""` for @start.
|
||||
*
|
||||
* Returns: %TRUE on success, %FALSE on error, and @error will be set
|
||||
*/
|
||||
gboolean
|
||||
|
|
@ -4983,13 +5056,14 @@ ostree_repo_list_commit_objects_starting_with (OstreeRepo *self
|
|||
g_hash_table_new_full (ostree_hash_object_name, g_variant_equal,
|
||||
(GDestroyNotify) g_variant_unref,
|
||||
(GDestroyNotify) g_variant_unref);
|
||||
g_autoptr(GVariant) dummy_loose_object_variant = get_dummy_list_objects_variant ();
|
||||
|
||||
if (!list_loose_objects (self, ret_commits, start, cancellable, error))
|
||||
if (!list_loose_objects (self, dummy_loose_object_variant, ret_commits, start, cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
if (self->parent_repo)
|
||||
{
|
||||
if (!list_loose_objects (self->parent_repo, ret_commits, start,
|
||||
if (!list_loose_objects (self->parent_repo, dummy_loose_object_variant, ret_commits, start,
|
||||
cancellable, error))
|
||||
return FALSE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1261,7 +1261,7 @@ void ostree_repo_commit_traverse_iter_cleanup (void *p);
|
|||
* OstreeRepoPruneFlags:
|
||||
* @OSTREE_REPO_PRUNE_FLAGS_NONE: No special options for pruning
|
||||
* @OSTREE_REPO_PRUNE_FLAGS_NO_PRUNE: Don't actually delete objects
|
||||
* @OSTREE_REPO_PRUNE_FLAGS_REFS_ONLY: Do not traverse individual commit objects, only follow refs
|
||||
* @OSTREE_REPO_PRUNE_FLAGS_REFS_ONLY: Do not traverse individual commit objects, only follow refs for reachability calculations
|
||||
* @OSTREE_REPO_PRUNE_FLAGS_COMMIT_ONLY: Only traverse commit objects. (Since 2022.2)
|
||||
*/
|
||||
typedef enum {
|
||||
|
|
|
|||
|
|
@ -209,6 +209,9 @@ gboolean ostree_sign_ed25519_data_verify (OstreeSign *self,
|
|||
g_autoptr (GVariant) child = g_variant_get_child_value (signatures, i);
|
||||
g_autoptr (GBytes) signature = g_variant_get_data_as_bytes(child);
|
||||
|
||||
if (g_bytes_get_size (signature) != crypto_sign_BYTES)
|
||||
return glnx_throw (error, "Invalid signature length of %" G_GSIZE_FORMAT " bytes, expected %" G_GSIZE_FORMAT, (gsize) g_bytes_get_size (signature), (gsize) crypto_sign_BYTES);
|
||||
|
||||
g_autofree char * hex = g_malloc0 (crypto_sign_PUBLICKEYBYTES*2 + 1);
|
||||
|
||||
g_debug("Read signature %d: %s", (gint)i, g_variant_print(child, TRUE));
|
||||
|
|
|
|||
|
|
@ -1614,6 +1614,7 @@ full_system_sync (OstreeSysroot *self,
|
|||
return FALSE;
|
||||
|
||||
start_msec = g_get_monotonic_time () / 1000;
|
||||
g_assert_cmpint (self->boot_fd, !=, -1);
|
||||
if (!fsfreeze_thaw_cycle (self, self->boot_fd, cancellable, error))
|
||||
return FALSE;
|
||||
end_msec = g_get_monotonic_time () / 1000;
|
||||
|
|
@ -1807,7 +1808,6 @@ parse_os_release (const char *contents,
|
|||
*/
|
||||
static gboolean
|
||||
install_deployment_kernel (OstreeSysroot *sysroot,
|
||||
OstreeRepo *repo,
|
||||
int new_bootversion,
|
||||
OstreeDeployment *deployment,
|
||||
guint n_deployments,
|
||||
|
|
@ -1855,6 +1855,8 @@ install_deployment_kernel (OstreeSysroot *sysroot,
|
|||
if (!glnx_shutil_mkdir_p_at (sysroot->boot_fd, bootconfdir, 0775, cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
OstreeRepo *repo = ostree_sysroot_repo (sysroot);
|
||||
|
||||
/* Install (hardlink/copy) the kernel into /boot/ostree/osname-${bootcsum} if
|
||||
* it doesn't exist already.
|
||||
*/
|
||||
|
|
@ -2082,25 +2084,6 @@ install_deployment_kernel (OstreeSysroot *sysroot,
|
|||
g_autofree char *options_key = ostree_kernel_args_to_string (kargs);
|
||||
ostree_bootconfig_parser_set (bootconfig, "options", options_key);
|
||||
|
||||
g_autoptr(GError) local_error = NULL;
|
||||
GKeyFile *config = ostree_repo_get_config (repo);
|
||||
gchar **read_values = g_key_file_get_string_list (config, "sysroot", "bls-append-except-default", NULL, &local_error);
|
||||
/* We can ignore not found errors */
|
||||
if (!read_values)
|
||||
{
|
||||
gboolean not_found = g_error_matches (local_error, G_KEY_FILE_ERROR, G_KEY_FILE_ERROR_KEY_NOT_FOUND) || \
|
||||
g_error_matches (local_error, G_KEY_FILE_ERROR, G_KEY_FILE_ERROR_GROUP_NOT_FOUND);
|
||||
if (not_found)
|
||||
{
|
||||
g_clear_error (&local_error);
|
||||
}
|
||||
else
|
||||
{
|
||||
g_propagate_error (error, g_steal_pointer (&local_error));
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
/* Only append to this BLS config if:
|
||||
* - this is not the default deployment
|
||||
*/
|
||||
|
|
@ -2110,20 +2093,8 @@ install_deployment_kernel (OstreeSysroot *sysroot,
|
|||
if (allow_append)
|
||||
{
|
||||
/* get all key value pairs in bls-append */
|
||||
for (char **iter = read_values; iter && *iter; iter++)
|
||||
{
|
||||
const char *key_value = *iter;
|
||||
const char *sep = strchr (key_value, '=');
|
||||
if (sep == NULL)
|
||||
{
|
||||
glnx_throw (error, "bls-append-except-default key must be of the form \"key1=value1;key2=value2...\"");
|
||||
return FALSE;
|
||||
}
|
||||
g_autofree char *key = g_strndup (key_value, sep - key_value);
|
||||
g_autofree char *value = g_strdup (sep + 1);
|
||||
ostree_bootconfig_parser_set (bootconfig, key, value);
|
||||
}
|
||||
|
||||
GLNX_HASH_TABLE_FOREACH_KV (repo->bls_append_values, const char *, key, const char *, value)
|
||||
ostree_bootconfig_parser_set (bootconfig, key, value);
|
||||
}
|
||||
|
||||
glnx_autofd int bootconf_dfd = -1;
|
||||
|
|
@ -2378,13 +2349,6 @@ write_deployments_bootswap (OstreeSysroot *self,
|
|||
cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
/* Need the repo to try and extract the versions for deployments.
|
||||
* But this is a "nice-to-have" for the bootloader UI, so failure
|
||||
* here is not fatal to the whole operation. We just gracefully
|
||||
* fall back to the deployment index. */
|
||||
g_autoptr(OstreeRepo) repo = NULL;
|
||||
(void) ostree_sysroot_get_repo (self, &repo, cancellable, NULL);
|
||||
|
||||
/* Only show the osname in bootloader titles if there are multiple
|
||||
* osname's among the new deployments. Check for that here. */
|
||||
gboolean show_osname = FALSE;
|
||||
|
|
@ -2402,7 +2366,7 @@ write_deployments_bootswap (OstreeSysroot *self,
|
|||
for (guint i = 0; i < new_deployments->len; i++)
|
||||
{
|
||||
OstreeDeployment *deployment = new_deployments->pdata[i];
|
||||
if (!install_deployment_kernel (self, repo, new_bootversion,
|
||||
if (!install_deployment_kernel (self, new_bootversion,
|
||||
deployment, new_deployments->len,
|
||||
show_osname, cancellable, error))
|
||||
return FALSE;
|
||||
|
|
@ -3563,6 +3527,7 @@ _ostree_sysroot_boot_complete (OstreeSysroot *self,
|
|||
return FALSE;
|
||||
|
||||
glnx_autofd int failure_fd = -1;
|
||||
g_assert_cmpint (self->boot_fd, !=, -1);
|
||||
if (!ot_openat_ignore_enoent (self->boot_fd, _OSTREE_FINALIZE_STAGED_FAILURE_PATH, &failure_fd, error))
|
||||
return FALSE;
|
||||
// If we didn't find a failure log, then there's nothing to do right now.
|
||||
|
|
@ -3626,6 +3591,53 @@ ostree_sysroot_deployment_set_kargs (OstreeSysroot *self,
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* ostree_sysroot_deployment_set_kargs_in_place:
|
||||
* @self: Sysroot
|
||||
* @deployment: A deployment
|
||||
* @kargs_str: (allow none): Replace @deployment's kernel arguments
|
||||
* @cancellable: Cancellable
|
||||
* @error: Error
|
||||
*
|
||||
* Replace the kernel arguments of @deployment with the values in @kargs_str.
|
||||
*/
|
||||
gboolean
|
||||
ostree_sysroot_deployment_set_kargs_in_place (OstreeSysroot *self,
|
||||
OstreeDeployment *deployment,
|
||||
char *kargs_str,
|
||||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
{
|
||||
if (!ostree_sysroot_initialize (self, error))
|
||||
return FALSE;
|
||||
if (!_ostree_sysroot_ensure_boot_fd (self, error))
|
||||
return FALSE;
|
||||
if (!_ostree_sysroot_ensure_writable (self, error))
|
||||
return FALSE;
|
||||
|
||||
g_assert (!ostree_deployment_is_staged (deployment));
|
||||
|
||||
OstreeBootconfigParser *new_bootconfig = ostree_deployment_get_bootconfig (deployment);
|
||||
ostree_bootconfig_parser_set (new_bootconfig, "options", kargs_str);
|
||||
|
||||
g_autofree char *bootconf_name =
|
||||
g_strdup_printf ("ostree-%d-%s.conf",
|
||||
self->deployments->len - ostree_deployment_get_index (deployment),
|
||||
ostree_deployment_get_osname (deployment));
|
||||
|
||||
g_autofree char *bootconfdir = g_strdup_printf ("loader.%d/entries", self->bootversion);
|
||||
glnx_autofd int bootconf_dfd = -1;
|
||||
if (!glnx_opendirat (self->boot_fd, bootconfdir, TRUE, &bootconf_dfd, error))
|
||||
return FALSE;
|
||||
|
||||
if (!ostree_bootconfig_parser_write_at (new_bootconfig,
|
||||
bootconf_dfd, bootconf_name,
|
||||
cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
/**
|
||||
* ostree_sysroot_deployment_set_mutable:
|
||||
* @self: Sysroot
|
||||
|
|
|
|||
|
|
@ -492,7 +492,6 @@ ostree_sysroot_upgrader_pull_one_dir (OstreeSysrootUpgrader *self,
|
|||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
{
|
||||
g_autoptr(OstreeRepo) repo = NULL;
|
||||
char *refs_to_fetch[] = { NULL, NULL };
|
||||
const char *from_revision = NULL;
|
||||
g_autofree char *origin_refspec = NULL;
|
||||
|
|
@ -506,8 +505,7 @@ ostree_sysroot_upgrader_pull_one_dir (OstreeSysrootUpgrader *self,
|
|||
else
|
||||
refs_to_fetch[0] = self->origin_ref;
|
||||
|
||||
if (!ostree_sysroot_get_repo (self->sysroot, &repo, cancellable, error))
|
||||
return FALSE;
|
||||
OstreeRepo *repo = ostree_sysroot_repo (self->sysroot);
|
||||
|
||||
if (self->origin_remote)
|
||||
origin_refspec = g_strconcat (self->origin_remote, ":", self->origin_ref, NULL);
|
||||
|
|
|
|||
|
|
@ -328,14 +328,13 @@ gboolean
|
|||
_ostree_sysroot_ensure_writable (OstreeSysroot *self,
|
||||
GError **error)
|
||||
{
|
||||
if (!ostree_sysroot_initialize (self, error))
|
||||
return FALSE;
|
||||
|
||||
/* Do nothing if no mount namespace is in use */
|
||||
if (!self->mount_namespace_in_use)
|
||||
return TRUE;
|
||||
|
||||
/* If a mount namespace is in use, ensure we're initialized */
|
||||
if (!ostree_sysroot_initialize (self, error))
|
||||
return FALSE;
|
||||
|
||||
/* If we aren't operating on a booted system, then we don't
|
||||
* do anything with mounts.
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -175,6 +175,13 @@ gboolean ostree_sysroot_deployment_set_kargs (OstreeSysroot *self,
|
|||
GCancellable *cancellable,
|
||||
GError **error);
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
gboolean ostree_sysroot_deployment_set_kargs_in_place (OstreeSysroot *self,
|
||||
OstreeDeployment *deployment,
|
||||
char *kargs_str,
|
||||
GCancellable *cancellable,
|
||||
GError **error);
|
||||
|
||||
_OSTREE_PUBLIC
|
||||
gboolean ostree_sysroot_write_deployments (OstreeSysroot *self,
|
||||
GPtrArray *new_deployments,
|
||||
|
|
|
|||
|
|
@ -41,7 +41,7 @@
|
|||
*
|
||||
* Since: 2017.4
|
||||
*/
|
||||
#define OSTREE_RELEASE_VERSION (4)
|
||||
#define OSTREE_RELEASE_VERSION (5)
|
||||
|
||||
/**
|
||||
* OSTREE_VERSION
|
||||
|
|
@ -50,7 +50,7 @@
|
|||
*
|
||||
* Since: 2017.4
|
||||
*/
|
||||
#define OSTREE_VERSION (2022.4)
|
||||
#define OSTREE_VERSION (2022.5)
|
||||
|
||||
/**
|
||||
* OSTREE_VERSION_S:
|
||||
|
|
@ -60,7 +60,7 @@
|
|||
*
|
||||
* Since: 2017.4
|
||||
*/
|
||||
#define OSTREE_VERSION_S "2022.4"
|
||||
#define OSTREE_VERSION_S "2022.5"
|
||||
|
||||
#define OSTREE_ENCODE_VERSION(year,release) \
|
||||
((year) << 16 | (release))
|
||||
|
|
|
|||
|
|
@ -0,0 +1,134 @@
|
|||
/*
|
||||
* Copyright (C) 2015 Colin Walters <walters@verbum.org>
|
||||
* Copyright (C) 2022 Huijing Hei <hhei@redhat.com>
|
||||
*
|
||||
* SPDX-License-Identifier: LGPL-2.0+
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include "ot-main.h"
|
||||
#include "ot-admin-builtins.h"
|
||||
#include "ot-admin-functions.h"
|
||||
#include "ot-admin-kargs-builtins.h"
|
||||
#include "otutil.h"
|
||||
|
||||
#include <glib/gi18n.h>
|
||||
|
||||
static OstreeCommand admin_kargs_subcommands[] = {
|
||||
{ "edit-in-place", OSTREE_BUILTIN_FLAG_NO_REPO | OSTREE_BUILTIN_FLAG_HIDDEN,
|
||||
ot_admin_kargs_builtin_edit_in_place,
|
||||
"Set new kernel command line arguments in place (applies to all deployments by default)" },
|
||||
{ NULL, 0, NULL, NULL }
|
||||
};
|
||||
|
||||
static GOptionContext *
|
||||
ostree_admin_kargs_option_context_new_with_commands (void)
|
||||
{
|
||||
OstreeCommand *command = admin_kargs_subcommands;
|
||||
GOptionContext *context = g_option_context_new ("COMMAND");
|
||||
|
||||
g_autoptr(GString) summary = g_string_new ("Builtin \"admin kargs\" Commands:");
|
||||
|
||||
while (command->name != NULL)
|
||||
{
|
||||
if ((command->flags & OSTREE_BUILTIN_FLAG_HIDDEN) == 0)
|
||||
{
|
||||
g_string_append_printf (summary, "\n %-24s", command->name);
|
||||
if (command->description != NULL)
|
||||
g_string_append_printf (summary, "%s", command->description);
|
||||
}
|
||||
|
||||
command++;
|
||||
}
|
||||
|
||||
g_option_context_set_summary (context, summary->str);
|
||||
|
||||
return context;
|
||||
}
|
||||
|
||||
gboolean
|
||||
ot_admin_builtin_kargs (int argc, char **argv, OstreeCommandInvocation *invocation, GCancellable *cancellable, GError **error)
|
||||
{
|
||||
const char *subcommand_name = NULL;
|
||||
int in, out;
|
||||
for (in = 1, out = 1; in < argc; in++, out++)
|
||||
{
|
||||
/* The non-option is the command, take it out of the arguments */
|
||||
if (argv[in][0] != '-')
|
||||
{
|
||||
if (subcommand_name == NULL)
|
||||
{
|
||||
subcommand_name = argv[in];
|
||||
out--;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
else if (g_str_equal (argv[in], "--"))
|
||||
{
|
||||
break;
|
||||
}
|
||||
|
||||
argv[out] = argv[in];
|
||||
}
|
||||
|
||||
argc = out;
|
||||
|
||||
OstreeCommand *subcommand = admin_kargs_subcommands;
|
||||
while (subcommand->name)
|
||||
{
|
||||
if (g_strcmp0 (subcommand_name, subcommand->name) == 0)
|
||||
break;
|
||||
subcommand++;
|
||||
}
|
||||
|
||||
if (!subcommand->name)
|
||||
{
|
||||
g_autoptr(GOptionContext) context =
|
||||
ostree_admin_kargs_option_context_new_with_commands ();
|
||||
|
||||
/* This will not return for some options (e.g. --version). */
|
||||
if (ostree_admin_option_context_parse (context, NULL, &argc, &argv,
|
||||
OSTREE_ADMIN_BUILTIN_FLAG_NO_SYSROOT,
|
||||
invocation, NULL, cancellable, error))
|
||||
{
|
||||
if (subcommand_name == NULL)
|
||||
{
|
||||
g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
||||
"No \"admin kargs\" subcommand specified");
|
||||
}
|
||||
else
|
||||
{
|
||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_NOT_SUPPORTED,
|
||||
"Unknown \"admin kargs\" subcommand '%s'", subcommand_name);
|
||||
}
|
||||
}
|
||||
|
||||
g_autofree char *help = g_option_context_get_help (context, FALSE, NULL);
|
||||
g_printerr ("%s", help);
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
g_autofree char *prgname = g_strdup_printf ("%s %s", g_get_prgname (), subcommand_name);
|
||||
g_set_prgname (prgname);
|
||||
|
||||
OstreeCommandInvocation sub_invocation = { .command = subcommand };
|
||||
if (!subcommand->fn (argc, argv, &sub_invocation, cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -35,35 +35,29 @@ static GOptionEntry options[] = {
|
|||
gboolean
|
||||
ot_admin_builtin_os_init (int argc, char **argv, OstreeCommandInvocation *invocation, GCancellable *cancellable, GError **error)
|
||||
{
|
||||
g_autoptr(GOptionContext) context = NULL;
|
||||
g_autoptr(GOptionContext) context = g_option_context_new ("OSNAME");
|
||||
|
||||
g_autoptr(OstreeSysroot) sysroot = NULL;
|
||||
gboolean ret = FALSE;
|
||||
const char *osname = NULL;
|
||||
|
||||
context = g_option_context_new ("OSNAME");
|
||||
|
||||
if (!ostree_admin_option_context_parse (context, options, &argc, &argv,
|
||||
OSTREE_ADMIN_BUILTIN_FLAG_SUPERUSER | OSTREE_ADMIN_BUILTIN_FLAG_UNLOCKED,
|
||||
invocation, &sysroot, cancellable, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
|
||||
if (!ostree_sysroot_ensure_initialized (sysroot, cancellable, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
|
||||
if (argc < 2)
|
||||
{
|
||||
ot_util_usage_error (context, "OSNAME must be specified", error);
|
||||
goto out;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
osname = argv[1];
|
||||
const char *osname = argv[1];
|
||||
|
||||
if (!ostree_sysroot_init_osname (sysroot, osname, cancellable, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
|
||||
g_print ("ostree/deploy/%s initialized as OSTree root\n", osname);
|
||||
|
||||
ret = TRUE;
|
||||
out:
|
||||
return ret;
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,15 +34,9 @@ static GOptionEntry options[] = {
|
|||
gboolean
|
||||
ot_admin_builtin_undeploy (int argc, char **argv, OstreeCommandInvocation *invocation, GCancellable *cancellable, GError **error)
|
||||
{
|
||||
g_autoptr(GOptionContext) context = NULL;
|
||||
g_autoptr(GOptionContext) context = g_option_context_new ("INDEX");
|
||||
|
||||
g_autoptr(OstreeSysroot) sysroot = NULL;
|
||||
const char *deploy_index_str;
|
||||
int deploy_index;
|
||||
g_autoptr(GPtrArray) current_deployments = NULL;
|
||||
g_autoptr(OstreeDeployment) target_deployment = NULL;
|
||||
|
||||
context = g_option_context_new ("INDEX");
|
||||
|
||||
if (!ostree_admin_option_context_parse (context, options, &argc, &argv,
|
||||
OSTREE_ADMIN_BUILTIN_FLAG_SUPERUSER,
|
||||
invocation, &sysroot, cancellable, error))
|
||||
|
|
@ -54,12 +48,13 @@ ot_admin_builtin_undeploy (int argc, char **argv, OstreeCommandInvocation *invoc
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
current_deployments = ostree_sysroot_get_deployments (sysroot);
|
||||
g_autoptr(GPtrArray) current_deployments = ostree_sysroot_get_deployments (sysroot);
|
||||
|
||||
deploy_index_str = argv[1];
|
||||
deploy_index = atoi (deploy_index_str);
|
||||
const char *deploy_index_str = argv[1];
|
||||
int deploy_index = atoi (deploy_index_str);
|
||||
|
||||
target_deployment = ot_admin_get_indexed_deployment (sysroot, deploy_index, error);
|
||||
g_autoptr(OstreeDeployment) target_deployment =
|
||||
ot_admin_get_indexed_deployment (sysroot, deploy_index, error);
|
||||
if (!target_deployment)
|
||||
return FALSE;
|
||||
|
||||
|
|
|
|||
|
|
@ -40,33 +40,28 @@ static GOptionEntry options[] = {
|
|||
gboolean
|
||||
ot_admin_builtin_unlock (int argc, char **argv, OstreeCommandInvocation *invocation, GCancellable *cancellable, GError **error)
|
||||
{
|
||||
gboolean ret = FALSE;
|
||||
g_autoptr(GOptionContext) context = NULL;
|
||||
g_autoptr(GOptionContext) context = g_option_context_new ("");
|
||||
|
||||
g_autoptr(OstreeSysroot) sysroot = NULL;
|
||||
OstreeDeployment *booted_deployment = NULL;
|
||||
OstreeDeploymentUnlockedState target_state;
|
||||
|
||||
context = g_option_context_new ("");
|
||||
|
||||
if (!ostree_admin_option_context_parse (context, options, &argc, &argv,
|
||||
OSTREE_ADMIN_BUILTIN_FLAG_SUPERUSER,
|
||||
invocation, &sysroot, cancellable, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
|
||||
if (argc > 1)
|
||||
{
|
||||
ot_util_usage_error (context, "This command takes no extra arguments", error);
|
||||
goto out;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
booted_deployment = ostree_sysroot_require_booted_deployment (sysroot, error);
|
||||
OstreeDeployment *booted_deployment = ostree_sysroot_require_booted_deployment (sysroot, error);
|
||||
if (!booted_deployment)
|
||||
goto out;
|
||||
return FALSE;
|
||||
|
||||
OstreeDeploymentUnlockedState target_state;
|
||||
if (opt_hotfix && opt_transient)
|
||||
{
|
||||
glnx_throw (error, "Cannot specify both --hotfix and --transient");
|
||||
goto out;
|
||||
return glnx_throw (error, "Cannot specify both --hotfix and --transient");
|
||||
}
|
||||
else if (opt_hotfix)
|
||||
target_state = OSTREE_DEPLOYMENT_UNLOCKED_HOTFIX;
|
||||
|
|
@ -77,8 +72,8 @@ ot_admin_builtin_unlock (int argc, char **argv, OstreeCommandInvocation *invocat
|
|||
|
||||
if (!ostree_sysroot_deployment_unlock (sysroot, booted_deployment,
|
||||
target_state, cancellable, error))
|
||||
goto out;
|
||||
|
||||
return FALSE;
|
||||
|
||||
switch (target_state)
|
||||
{
|
||||
case OSTREE_DEPLOYMENT_UNLOCKED_NONE:
|
||||
|
|
@ -99,7 +94,5 @@ ot_admin_builtin_unlock (int argc, char **argv, OstreeCommandInvocation *invocat
|
|||
break;
|
||||
}
|
||||
|
||||
ret = TRUE;
|
||||
out:
|
||||
return ret;
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -46,6 +46,7 @@ BUILTINPROTO(set_origin);
|
|||
BUILTINPROTO(diff);
|
||||
BUILTINPROTO(switch);
|
||||
BUILTINPROTO(upgrade);
|
||||
BUILTINPROTO(kargs);
|
||||
|
||||
#undef BUILTINPROTO
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,79 @@
|
|||
/*
|
||||
* Copyright (C) 2014 Colin Walters <walters@verbum.org>
|
||||
* Copyright (C) 2022 Huijing Hei <hhei@redhat.com>
|
||||
*
|
||||
* This program 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 licence or (at
|
||||
* your option) any later version.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General
|
||||
* Public License along with this library. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#include "config.h"
|
||||
|
||||
#include "ot-main.h"
|
||||
#include "ot-admin-kargs-builtins.h"
|
||||
|
||||
#include "ostree.h"
|
||||
#include "otutil.h"
|
||||
|
||||
static char **opt_kargs_edit_in_place_append;
|
||||
|
||||
static GOptionEntry options[] = {
|
||||
{ "append-if-missing", 0, 0, G_OPTION_ARG_STRING_ARRAY, &opt_kargs_edit_in_place_append, "Append kernel arguments if they do not exist", "NAME=VALUE" },
|
||||
{ NULL }
|
||||
};
|
||||
|
||||
gboolean
|
||||
ot_admin_kargs_builtin_edit_in_place (int argc, char **argv, OstreeCommandInvocation *invocation, GCancellable *cancellable, GError **error)
|
||||
{
|
||||
g_autoptr(OstreeSysroot) sysroot = NULL;
|
||||
|
||||
g_autoptr(GOptionContext) context = g_option_context_new ("ARGS");
|
||||
|
||||
if (!ostree_admin_option_context_parse (context, options, &argc, &argv,
|
||||
OSTREE_ADMIN_BUILTIN_FLAG_SUPERUSER,
|
||||
invocation, &sysroot, cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
g_autoptr(GPtrArray) deployments = ostree_sysroot_get_deployments (sysroot);
|
||||
if (deployments->len == 0)
|
||||
{
|
||||
g_set_error (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
||||
"Unable to find a deployment in sysroot");
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
// set kargs for each deployment
|
||||
for (guint i = 0; i < deployments->len; i++)
|
||||
{
|
||||
OstreeDeployment *deployment = deployments->pdata[i];
|
||||
OstreeBootconfigParser *bootconfig = ostree_deployment_get_bootconfig (deployment);
|
||||
g_autoptr(OstreeKernelArgs) kargs = ostree_kernel_args_from_string (ostree_bootconfig_parser_get (bootconfig, "options"));
|
||||
|
||||
if (opt_kargs_edit_in_place_append)
|
||||
{
|
||||
for (char **strviter = opt_kargs_edit_in_place_append; strviter && *strviter; strviter++)
|
||||
{
|
||||
const char *arg = *strviter;
|
||||
ostree_kernel_args_append_if_missing (kargs, arg);
|
||||
}
|
||||
}
|
||||
|
||||
g_autofree char *new_options = ostree_kernel_args_to_string (kargs);
|
||||
|
||||
if (!ostree_sysroot_deployment_set_kargs_in_place (sysroot, deployment, new_options,
|
||||
cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
|
@ -0,0 +1,35 @@
|
|||
/*
|
||||
* Copyright (C) 2014 Colin Walters <walters@verbum.org>
|
||||
* Copyright (C) 2022 Huijing Hei <hhei@redhat.com>
|
||||
*
|
||||
* SPDX-License-Identifier: LGPL-2.0+
|
||||
*
|
||||
* 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.
|
||||
*
|
||||
* This library is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
* Lesser General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU Lesser General Public
|
||||
* License along with this library. If not, see <https://www.gnu.org/licenses/>.
|
||||
*/
|
||||
|
||||
#pragma once
|
||||
|
||||
#include <ostree.h>
|
||||
|
||||
G_BEGIN_DECLS
|
||||
|
||||
#define BUILTINPROTO(name) gboolean ot_admin_kargs_builtin_ ## name (int argc, char **argv, \
|
||||
OstreeCommandInvocation *invocation, \
|
||||
GCancellable *cancellable, GError **error)
|
||||
|
||||
BUILTINPROTO(edit_in_place);
|
||||
|
||||
#undef BUILTINPROTO
|
||||
|
||||
G_END_DECLS
|
||||
|
|
@ -76,6 +76,9 @@ static OstreeCommand admin_subcommands[] = {
|
|||
{ "upgrade", OSTREE_BUILTIN_FLAG_NO_REPO,
|
||||
ot_admin_builtin_upgrade,
|
||||
"Construct new tree from current origin and deploy it, if it changed" },
|
||||
{ "kargs", OSTREE_BUILTIN_FLAG_NO_REPO,
|
||||
ot_admin_builtin_kargs,
|
||||
"Change kernel arguments" },
|
||||
{ NULL, 0, NULL, NULL }
|
||||
};
|
||||
|
||||
|
|
|
|||
|
|
@ -61,18 +61,10 @@ split_key_string (const char *k,
|
|||
gboolean
|
||||
ostree_builtin_config (int argc, char **argv, OstreeCommandInvocation *invocation, GCancellable *cancellable, GError **error)
|
||||
{
|
||||
g_autoptr(GOptionContext) context = NULL;
|
||||
|
||||
g_autoptr(GOptionContext) context = g_option_context_new ("(get KEY|set KEY VALUE|unset KEY)");
|
||||
|
||||
g_autoptr(OstreeRepo) repo = NULL;
|
||||
const char *op;
|
||||
const char *section_key;
|
||||
const char *value;
|
||||
g_autofree char *section = NULL;
|
||||
g_autofree char *key = NULL;
|
||||
g_autoptr(GKeyFile) config = NULL;
|
||||
int correct_argc;
|
||||
|
||||
context = g_option_context_new ("(get KEY|set KEY VALUE|unset KEY)");
|
||||
|
||||
if (!ostree_option_context_parse (context, options, &argc, &argv, invocation, &repo, cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
|
|
@ -82,12 +74,11 @@ ostree_builtin_config (int argc, char **argv, OstreeCommandInvocation *invocatio
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
op = argv[1];
|
||||
const char *op = argv[1];
|
||||
|
||||
int correct_argc = 3;
|
||||
if (!strcmp (op, "set"))
|
||||
correct_argc = 4;
|
||||
else
|
||||
correct_argc = 3;
|
||||
|
||||
if (argc > correct_argc)
|
||||
{
|
||||
|
|
@ -95,6 +86,11 @@ ostree_builtin_config (int argc, char **argv, OstreeCommandInvocation *invocatio
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
g_autofree char *section = NULL;
|
||||
g_autofree char *key = NULL;
|
||||
g_autoptr(GKeyFile) config = NULL;
|
||||
const char *section_key;
|
||||
const char *value;
|
||||
if (!strcmp (op, "set"))
|
||||
{
|
||||
if (opt_group)
|
||||
|
|
|
|||
|
|
@ -53,7 +53,6 @@ parse_file_or_commit (OstreeRepo *repo,
|
|||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
{
|
||||
gboolean ret = FALSE;
|
||||
g_autoptr(GFile) ret_file = NULL;
|
||||
|
||||
if (g_str_has_prefix (arg, "/")
|
||||
|
|
@ -65,13 +64,11 @@ parse_file_or_commit (OstreeRepo *repo,
|
|||
else
|
||||
{
|
||||
if (!ostree_repo_read_commit (repo, arg, &ret_file, NULL, cancellable, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
ret = TRUE;
|
||||
ot_transfer_out_value (out_file, &ret_file);
|
||||
out:
|
||||
return ret;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
static GHashTable *
|
||||
|
|
@ -99,7 +96,6 @@ object_set_total_size (OstreeRepo *repo,
|
|||
GCancellable *cancellable,
|
||||
GError **error)
|
||||
{
|
||||
gboolean ret = FALSE;
|
||||
GHashTableIter hashiter;
|
||||
gpointer key, value;
|
||||
|
||||
|
|
@ -116,34 +112,21 @@ object_set_total_size (OstreeRepo *repo,
|
|||
ostree_object_name_deserialize (v, &csum, &objtype);
|
||||
if (!ostree_repo_query_object_storage_size (repo, objtype, csum, &size,
|
||||
cancellable, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
*out_total += size;
|
||||
}
|
||||
|
||||
ret = TRUE;
|
||||
out:
|
||||
return ret;
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
gboolean
|
||||
ostree_builtin_diff (int argc, char **argv, OstreeCommandInvocation *invocation, GCancellable *cancellable, GError **error)
|
||||
{
|
||||
gboolean ret = FALSE;
|
||||
g_autoptr(GOptionContext) context = NULL;
|
||||
g_autoptr(GOptionContext) context = g_option_context_new ("REV_OR_DIR REV_OR_DIR");
|
||||
|
||||
g_autoptr(OstreeRepo) repo = NULL;
|
||||
const char *src;
|
||||
const char *target;
|
||||
g_autofree char *src_prev = NULL;
|
||||
g_autoptr(GFile) srcf = NULL;
|
||||
g_autoptr(GFile) targetf = NULL;
|
||||
g_autoptr(GPtrArray) modified = NULL;
|
||||
g_autoptr(GPtrArray) removed = NULL;
|
||||
g_autoptr(GPtrArray) added = NULL;
|
||||
|
||||
context = g_option_context_new ("REV_OR_DIR REV_OR_DIR");
|
||||
|
||||
if (!ostree_option_context_parse (context, options, &argc, &argv, invocation, &repo, cancellable, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
|
||||
if (argc < 2)
|
||||
{
|
||||
|
|
@ -152,9 +135,12 @@ ostree_builtin_diff (int argc, char **argv, OstreeCommandInvocation *invocation,
|
|||
g_free (help);
|
||||
g_set_error_literal (error, G_IO_ERROR, G_IO_ERROR_FAILED,
|
||||
"REV must be specified");
|
||||
goto out;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
g_autofree char *src_prev = NULL;
|
||||
const char *src;
|
||||
const char *target;
|
||||
if (argc == 2)
|
||||
{
|
||||
src_prev = g_strconcat (argv[1], "^", NULL);
|
||||
|
|
@ -170,6 +156,12 @@ ostree_builtin_diff (int argc, char **argv, OstreeCommandInvocation *invocation,
|
|||
if (!opt_stats && !opt_fs_diff)
|
||||
opt_fs_diff = TRUE;
|
||||
|
||||
g_autoptr(GFile) srcf = NULL;
|
||||
g_autoptr(GFile) targetf = NULL;
|
||||
g_autoptr(GPtrArray) modified = NULL;
|
||||
g_autoptr(GPtrArray) removed = NULL;
|
||||
g_autoptr(GPtrArray) added = NULL;
|
||||
|
||||
if (opt_fs_diff)
|
||||
{
|
||||
OstreeDiffFlags diff_flags = OSTREE_DIFF_FLAGS_NONE;
|
||||
|
|
@ -178,9 +170,9 @@ ostree_builtin_diff (int argc, char **argv, OstreeCommandInvocation *invocation,
|
|||
diff_flags |= OSTREE_DIFF_FLAGS_IGNORE_XATTRS;
|
||||
|
||||
if (!parse_file_or_commit (repo, src, &srcf, cancellable, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
if (!parse_file_or_commit (repo, target, &targetf, cancellable, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
|
||||
modified = g_ptr_array_new_with_free_func ((GDestroyNotify)ostree_diff_item_unref);
|
||||
removed = g_ptr_array_new_with_free_func ((GDestroyNotify)g_object_unref);
|
||||
|
|
@ -189,7 +181,7 @@ ostree_builtin_diff (int argc, char **argv, OstreeCommandInvocation *invocation,
|
|||
OstreeDiffDirsOptions diff_opts = { opt_owner_uid, opt_owner_gid };
|
||||
if (!ostree_diff_dirs_with_options (diff_flags, srcf, targetf, modified, removed,
|
||||
added, &diff_opts, cancellable, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
|
||||
ostree_diff_print (srcf, targetf, modified, removed, added);
|
||||
}
|
||||
|
|
@ -207,14 +199,14 @@ ostree_builtin_diff (int argc, char **argv, OstreeCommandInvocation *invocation,
|
|||
guint64 total_common;
|
||||
|
||||
if (!ostree_repo_resolve_rev (repo, src, FALSE, &rev_a, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
if (!ostree_repo_resolve_rev (repo, target, FALSE, &rev_b, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
|
||||
if (!ostree_repo_traverse_commit (repo, rev_a, 0, &reachable_a, cancellable, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
if (!ostree_repo_traverse_commit (repo, rev_b, 0, &reachable_b, cancellable, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
|
||||
a_size = g_hash_table_size (reachable_a);
|
||||
b_size = g_hash_table_size (reachable_b);
|
||||
|
|
@ -227,12 +219,10 @@ ostree_builtin_diff (int argc, char **argv, OstreeCommandInvocation *invocation,
|
|||
|
||||
if (!object_set_total_size (repo, reachable_intersection, &total_common,
|
||||
cancellable, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
size = g_format_size_full (total_common, 0);
|
||||
g_print ("Common Object Size: %s\n", size);
|
||||
}
|
||||
|
||||
ret = TRUE;
|
||||
out:
|
||||
return ret;
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -229,6 +229,90 @@ fsck_commit_for_ref (OstreeRepo *repo,
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
static gboolean
|
||||
fsck_one_commit (OstreeRepo *repo, const char *checksum, GVariant *commit, GPtrArray *tombstones,
|
||||
GCancellable *cancellable, GError **error)
|
||||
{
|
||||
/* If requested, check that all the refs listed in the ref-bindings
|
||||
* for this commit resolve back to this commit. */
|
||||
if (opt_verify_back_refs)
|
||||
{
|
||||
g_autoptr(GVariant) metadata = g_variant_get_child_value (commit, 0);
|
||||
const char *collection_id = NULL;
|
||||
if (!g_variant_lookup (metadata,
|
||||
OSTREE_COMMIT_META_KEY_COLLECTION_BINDING,
|
||||
"&s",
|
||||
&collection_id))
|
||||
collection_id = NULL;
|
||||
g_autofree const char **refs = NULL;
|
||||
if (g_variant_lookup (metadata,
|
||||
OSTREE_COMMIT_META_KEY_REF_BINDING,
|
||||
"^a&s",
|
||||
&refs))
|
||||
{
|
||||
for (const char **iter = refs; *iter != NULL; ++iter)
|
||||
{
|
||||
g_autofree char *checksum_for_ref = NULL;
|
||||
if (collection_id != NULL)
|
||||
{
|
||||
const OstreeCollectionRef collection_ref = { (char *) collection_id, (char *) *iter };
|
||||
if (!ostree_repo_resolve_collection_ref (repo, &collection_ref,
|
||||
TRUE,
|
||||
OSTREE_REPO_RESOLVE_REV_EXT_NONE,
|
||||
&checksum_for_ref,
|
||||
cancellable,
|
||||
error))
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!ostree_repo_resolve_rev (repo, *iter, TRUE,
|
||||
&checksum_for_ref, error))
|
||||
return FALSE;
|
||||
}
|
||||
if (checksum_for_ref == NULL)
|
||||
{
|
||||
if (collection_id != NULL)
|
||||
return glnx_throw (error,
|
||||
"Collection–ref (%s, %s) in bindings for commit %s does not exist",
|
||||
collection_id, *iter, checksum);
|
||||
else
|
||||
return glnx_throw (error,
|
||||
"Ref ‘%s’ in bindings for commit %s does not exist",
|
||||
*iter, checksum);
|
||||
}
|
||||
else if (g_strcmp0 (checksum_for_ref, checksum) != 0)
|
||||
{
|
||||
if (collection_id != NULL)
|
||||
return glnx_throw (error,
|
||||
"Collection–ref (%s, %s) in bindings for commit %s does not resolve to that commit",
|
||||
collection_id, *iter, checksum);
|
||||
else
|
||||
return glnx_throw (error,
|
||||
"Ref ‘%s’ in bindings for commit %s does not resolve to that commit",
|
||||
*iter, checksum);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (opt_add_tombstones)
|
||||
{
|
||||
g_autofree char *parent = ostree_commit_get_parent (commit);
|
||||
if (parent)
|
||||
{
|
||||
g_autoptr(GVariant) parent_commit = NULL;
|
||||
if (!ostree_repo_load_variant_if_exists (repo, OSTREE_OBJECT_TYPE_COMMIT, parent,
|
||||
&parent_commit, error))
|
||||
return FALSE;
|
||||
if (!parent_commit)
|
||||
g_ptr_array_add (tombstones, g_strdup (checksum));
|
||||
}
|
||||
}
|
||||
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
gboolean
|
||||
ostree_builtin_fsck (int argc, char **argv, OstreeCommandInvocation *invocation, GCancellable *cancellable, GError **error)
|
||||
{
|
||||
|
|
@ -282,17 +366,16 @@ ostree_builtin_fsck (int argc, char **argv, OstreeCommandInvocation *invocation,
|
|||
}
|
||||
|
||||
if (!opt_quiet)
|
||||
g_print ("Enumerating objects...\n");
|
||||
g_print ("Enumerating commits...\n");
|
||||
|
||||
g_autoptr(GHashTable) objects = NULL;
|
||||
if (!ostree_repo_list_objects (repo, OSTREE_REPO_LIST_OBJECTS_ALL,
|
||||
&objects, cancellable, error))
|
||||
// Find all commit objects, including partial ones
|
||||
g_autoptr(GHashTable) all_commits = NULL;
|
||||
if (!ostree_repo_list_commit_objects_starting_with (repo, "", &all_commits, cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
// And gather a set of non-partial commits for further analysis
|
||||
g_autoptr(GHashTable) commits = g_hash_table_new_full (ostree_hash_object_name, g_variant_equal,
|
||||
(GDestroyNotify)g_variant_unref, NULL);
|
||||
|
||||
|
||||
g_autoptr(GPtrArray) tombstones = NULL;
|
||||
if (opt_add_tombstones)
|
||||
tombstones = g_ptr_array_new_with_free_func (g_free);
|
||||
|
|
@ -302,8 +385,8 @@ ostree_builtin_fsck (int argc, char **argv, OstreeCommandInvocation *invocation,
|
|||
|
||||
guint n_partial = 0;
|
||||
guint n_fsck_partial = 0;
|
||||
g_hash_table_iter_init (&hash_iter, objects);
|
||||
while (g_hash_table_iter_next (&hash_iter, &key, &value))
|
||||
g_hash_table_iter_init (&hash_iter, all_commits);
|
||||
while (g_hash_table_iter_next (&hash_iter, &key, NULL))
|
||||
{
|
||||
GVariant *serialized_key = key;
|
||||
const char *checksum;
|
||||
|
|
@ -313,114 +396,25 @@ ostree_builtin_fsck (int argc, char **argv, OstreeCommandInvocation *invocation,
|
|||
|
||||
ostree_object_name_deserialize (serialized_key, &checksum, &objtype);
|
||||
|
||||
if (objtype == OSTREE_OBJECT_TYPE_COMMIT)
|
||||
g_assert (objtype == OSTREE_OBJECT_TYPE_COMMIT);
|
||||
|
||||
if (!ostree_repo_load_commit (repo, checksum, &commit, &commitstate, error))
|
||||
return FALSE;
|
||||
|
||||
if (!fsck_one_commit (repo, checksum, commit, tombstones, cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
if (commitstate & OSTREE_REPO_COMMIT_STATE_PARTIAL)
|
||||
{
|
||||
if (!ostree_repo_load_commit (repo, checksum, &commit, &commitstate, error))
|
||||
return FALSE;
|
||||
|
||||
/* If requested, check that all the refs listed in the ref-bindings
|
||||
* for this commit resolve back to this commit. */
|
||||
if (opt_verify_back_refs)
|
||||
{
|
||||
g_autoptr(GVariant) metadata = g_variant_get_child_value (commit, 0);
|
||||
|
||||
const char *collection_id = NULL;
|
||||
if (!g_variant_lookup (metadata,
|
||||
OSTREE_COMMIT_META_KEY_COLLECTION_BINDING,
|
||||
"&s",
|
||||
&collection_id))
|
||||
collection_id = NULL;
|
||||
|
||||
g_autofree const char **refs = NULL;
|
||||
if (g_variant_lookup (metadata,
|
||||
OSTREE_COMMIT_META_KEY_REF_BINDING,
|
||||
"^a&s",
|
||||
&refs))
|
||||
{
|
||||
for (const char **iter = refs; *iter != NULL; ++iter)
|
||||
{
|
||||
g_autofree char *checksum_for_ref = NULL;
|
||||
|
||||
if (collection_id != NULL)
|
||||
{
|
||||
const OstreeCollectionRef collection_ref = { (char *) collection_id, (char *) *iter };
|
||||
if (!ostree_repo_resolve_collection_ref (repo, &collection_ref,
|
||||
TRUE,
|
||||
OSTREE_REPO_RESOLVE_REV_EXT_NONE,
|
||||
&checksum_for_ref,
|
||||
cancellable,
|
||||
error))
|
||||
return FALSE;
|
||||
}
|
||||
else
|
||||
{
|
||||
if (!ostree_repo_resolve_rev (repo, *iter, TRUE,
|
||||
&checksum_for_ref, error))
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (checksum_for_ref == NULL)
|
||||
{
|
||||
if (collection_id != NULL)
|
||||
return glnx_throw (error,
|
||||
"Collection–ref (%s, %s) in bindings for commit %s does not exist",
|
||||
collection_id, *iter, checksum);
|
||||
else
|
||||
return glnx_throw (error,
|
||||
"Ref ‘%s’ in bindings for commit %s does not exist",
|
||||
*iter, checksum);
|
||||
}
|
||||
else if (g_strcmp0 (checksum_for_ref, checksum) != 0)
|
||||
{
|
||||
if (collection_id != NULL)
|
||||
return glnx_throw (error,
|
||||
"Collection–ref (%s, %s) in bindings for commit %s does not resolve to that commit",
|
||||
collection_id, *iter, checksum);
|
||||
else
|
||||
return glnx_throw (error,
|
||||
"Ref ‘%s’ in bindings for commit %s does not resolve to that commit",
|
||||
*iter, checksum);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (opt_add_tombstones)
|
||||
{
|
||||
GError *local_error = NULL;
|
||||
g_autofree char *parent = ostree_commit_get_parent (commit);
|
||||
if (parent)
|
||||
{
|
||||
g_autoptr(GVariant) parent_commit = NULL;
|
||||
if (!ostree_repo_load_variant (repo, OSTREE_OBJECT_TYPE_COMMIT, parent,
|
||||
&parent_commit, &local_error))
|
||||
{
|
||||
if (g_error_matches (local_error, G_IO_ERROR, G_IO_ERROR_NOT_FOUND))
|
||||
{
|
||||
g_ptr_array_add (tombstones, g_strdup (checksum));
|
||||
g_clear_error (&local_error);
|
||||
}
|
||||
else
|
||||
{
|
||||
g_propagate_error (error, local_error);
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (commitstate & OSTREE_REPO_COMMIT_STATE_PARTIAL)
|
||||
{
|
||||
n_partial++;
|
||||
if (commitstate & OSTREE_REPO_COMMIT_STATE_FSCK_PARTIAL)
|
||||
n_fsck_partial++;
|
||||
}
|
||||
else
|
||||
g_hash_table_add (commits, g_variant_ref (serialized_key));
|
||||
n_partial++;
|
||||
if (commitstate & OSTREE_REPO_COMMIT_STATE_FSCK_PARTIAL)
|
||||
n_fsck_partial++;
|
||||
}
|
||||
}
|
||||
else
|
||||
g_hash_table_add (commits, g_variant_ref (serialized_key));
|
||||
}
|
||||
|
||||
g_clear_pointer (&objects, g_hash_table_unref);
|
||||
g_clear_pointer (&all_commits, g_hash_table_unref);
|
||||
|
||||
if (!opt_quiet)
|
||||
g_print ("Verifying content integrity of %u commit objects...\n",
|
||||
|
|
|
|||
|
|
@ -201,62 +201,52 @@ out:
|
|||
gboolean
|
||||
ostree_builtin_gpg_sign (int argc, char **argv,OstreeCommandInvocation *invocation, GCancellable *cancellable, GError **error)
|
||||
{
|
||||
g_autoptr(GOptionContext) context = NULL;
|
||||
|
||||
g_autoptr(GOptionContext) context = g_option_context_new ("COMMIT KEY-ID...");
|
||||
|
||||
g_autoptr(OstreeRepo) repo = NULL;
|
||||
g_autofree char *resolved_commit = NULL;
|
||||
const char *commit;
|
||||
char **key_ids;
|
||||
int n_key_ids, ii;
|
||||
gboolean ret = FALSE;
|
||||
|
||||
context = g_option_context_new ("COMMIT KEY-ID...");
|
||||
|
||||
if (!ostree_option_context_parse (context, options, &argc, &argv, invocation, &repo, cancellable, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
|
||||
if (argc < 2)
|
||||
{
|
||||
usage_error (context, "Need a COMMIT to sign", error);
|
||||
goto out;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (argc < 3)
|
||||
{
|
||||
usage_error (context, "Need at least one GPG KEY-ID to sign with", error);
|
||||
goto out;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
commit = argv[1];
|
||||
key_ids = argv + 2;
|
||||
n_key_ids = argc - 2;
|
||||
const char *commit = argv[1];
|
||||
char **key_ids = argv + 2;
|
||||
int n_key_ids = argc - 2;
|
||||
|
||||
g_autofree char *resolved_commit = NULL;
|
||||
if (!ostree_repo_resolve_rev (repo, commit, FALSE, &resolved_commit, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
|
||||
if (opt_delete)
|
||||
{
|
||||
guint n_deleted = 0;
|
||||
|
||||
if (delete_signatures (repo, resolved_commit,
|
||||
(const char * const *) key_ids, n_key_ids,
|
||||
&n_deleted, cancellable, error))
|
||||
{
|
||||
g_print ("Signatures deleted: %u\n", n_deleted);
|
||||
ret = TRUE;
|
||||
}
|
||||
if (!delete_signatures (repo, resolved_commit,
|
||||
(const char * const *) key_ids, n_key_ids,
|
||||
&n_deleted, cancellable, error))
|
||||
return FALSE;
|
||||
|
||||
goto out;
|
||||
g_print ("Signatures deleted: %u\n", n_deleted);
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
for (ii = 0; ii < n_key_ids; ii++)
|
||||
for (int ii = 0; ii < n_key_ids; ii++)
|
||||
{
|
||||
if (!ostree_repo_sign_commit (repo, resolved_commit, key_ids[ii],
|
||||
opt_gpg_homedir, cancellable, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
ret = TRUE;
|
||||
|
||||
out:
|
||||
return ret;
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -37,45 +37,38 @@ static GOptionEntry option_entries[] = {
|
|||
gboolean
|
||||
ot_remote_builtin_list (int argc, char **argv, OstreeCommandInvocation *invocation, GCancellable *cancellable, GError **error)
|
||||
{
|
||||
g_autoptr(GOptionContext) context = NULL;
|
||||
g_autoptr(GOptionContext) context = g_option_context_new ("");
|
||||
|
||||
g_autoptr(OstreeRepo) repo = NULL;
|
||||
g_auto(GStrv) remotes = NULL;
|
||||
guint ii, n_remotes = 0;
|
||||
gboolean ret = FALSE;
|
||||
|
||||
context = g_option_context_new ("");
|
||||
|
||||
if (!ostree_option_context_parse (context, option_entries, &argc, &argv,
|
||||
invocation, &repo, cancellable, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
|
||||
remotes = ostree_repo_remote_list (repo, &n_remotes);
|
||||
guint n_remotes = 0;
|
||||
g_auto(GStrv) remotes = ostree_repo_remote_list (repo, &n_remotes);
|
||||
|
||||
if (opt_show_urls)
|
||||
{
|
||||
int max_length = 0;
|
||||
|
||||
for (ii = 0; ii < n_remotes; ii++)
|
||||
for (guint ii = 0; ii < n_remotes; ii++)
|
||||
max_length = MAX (max_length, strlen (remotes[ii]));
|
||||
|
||||
for (ii = 0; ii < n_remotes; ii++)
|
||||
for (guint ii = 0; ii < n_remotes; ii++)
|
||||
{
|
||||
g_autofree char *remote_url = NULL;
|
||||
|
||||
if (!ostree_repo_remote_get_url (repo, remotes[ii], &remote_url, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
|
||||
g_print ("%-*s %s\n", max_length, remotes[ii], remote_url);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
for (ii = 0; ii < n_remotes; ii++)
|
||||
for (guint ii = 0; ii < n_remotes; ii++)
|
||||
g_print ("%s\n", remotes[ii]);
|
||||
}
|
||||
|
||||
ret = TRUE;
|
||||
|
||||
out:
|
||||
return ret;
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -39,34 +39,30 @@ static GOptionEntry option_entries[] = {
|
|||
gboolean
|
||||
ot_remote_builtin_refs (int argc, char **argv, OstreeCommandInvocation *invocation, GCancellable *cancellable, GError **error)
|
||||
{
|
||||
g_autoptr(GOptionContext) context = NULL;
|
||||
g_autoptr(GOptionContext) context = g_option_context_new ("NAME");
|
||||
|
||||
g_autoptr(OstreeRepo) repo = NULL;
|
||||
const char *remote_name;
|
||||
gboolean ret = FALSE;
|
||||
g_autoptr(GHashTable) refs = NULL;
|
||||
|
||||
context = g_option_context_new ("NAME");
|
||||
|
||||
if (!ostree_option_context_parse (context, option_entries, &argc, &argv,
|
||||
invocation, &repo, cancellable, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
|
||||
if (argc < 2)
|
||||
{
|
||||
ot_util_usage_error (context, "NAME must be specified", error);
|
||||
goto out;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
if (opt_cache_dir)
|
||||
{
|
||||
if (!ostree_repo_set_cache_dir (repo, AT_FDCWD, opt_cache_dir, cancellable, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
}
|
||||
|
||||
remote_name = argv[1];
|
||||
const char *remote_name = argv[1];
|
||||
g_autoptr(GHashTable) refs = NULL;
|
||||
|
||||
if (!ostree_repo_remote_list_refs (repo, remote_name, &refs, cancellable, error))
|
||||
goto out;
|
||||
return FALSE;
|
||||
else
|
||||
{
|
||||
g_autoptr(GList) ordered_keys = NULL;
|
||||
|
|
@ -81,7 +77,5 @@ ot_remote_builtin_refs (int argc, char **argv, OstreeCommandInvocation *invocati
|
|||
}
|
||||
}
|
||||
|
||||
ret = TRUE;
|
||||
out:
|
||||
return ret;
|
||||
return TRUE;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,44 @@
|
|||
#!/bin/bash
|
||||
#
|
||||
# Copyright (C) 2011 Colin Walters <walters@verbum.org>
|
||||
# Copyright (C) 2022 Huijing Hei <hhei@redhat.com>
|
||||
#
|
||||
# SPDX-License-Identifier: LGPL-2.0+
|
||||
#
|
||||
# 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.
|
||||
#
|
||||
# This library is distributed in the hope that it will be useful,
|
||||
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
# Lesser General Public License for more details.
|
||||
#
|
||||
# You should have received a copy of the GNU Lesser General Public
|
||||
# License along with this library. If not, see <https://www.gnu.org/licenses/>.
|
||||
|
||||
set -euo pipefail
|
||||
|
||||
. $(dirname $0)/libtest.sh
|
||||
|
||||
# Exports OSTREE_SYSROOT so --sysroot not needed.
|
||||
setup_os_repository "archive" "syslinux"
|
||||
|
||||
echo "1..2"
|
||||
|
||||
${CMD_PREFIX} ostree --repo=sysroot/ostree/repo pull-local --remote=testos testos-repo testos/buildmain/x86_64-runtime
|
||||
${CMD_PREFIX} ostree admin deploy --karg=root=LABEL=MOO --karg=quiet --os=testos testos:testos/buildmain/x86_64-runtime
|
||||
${CMD_PREFIX} ostree admin kargs edit-in-place --append-if-missing=TESTARG=TESTVALUE --append-if-missing=ARGWITHOUTKEY testos:testos/buildmain/x86_64-runtime
|
||||
|
||||
assert_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'options.*TESTARG=TESTVALUE .*ARGWITHOUTKEY'
|
||||
|
||||
echo "ok kargs edit-in-place (basic)"
|
||||
|
||||
${CMD_PREFIX} ostree admin kargs edit-in-place --append-if-missing=quiet testos:testos/buildmain/x86_64-runtime
|
||||
assert_not_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'quiet$'
|
||||
|
||||
${CMD_PREFIX} ostree admin kargs edit-in-place --append-if-missing=TESTARG=TESTVALUE testos:testos/buildmain/x86_64-runtime
|
||||
assert_not_file_has_content sysroot/boot/loader/entries/ostree-1-testos.conf 'TESTARG=TESTVALUE$'
|
||||
|
||||
echo "ok kargs edit-in-place (duplicate)"
|
||||
|
|
@ -514,8 +514,15 @@ test_read_xattrs (void)
|
|||
g_assert_no_error (local_error);
|
||||
|
||||
int r = fsetxattr (tmpd.fd, "user.ostreetesting", value, sizeof (value), 0);
|
||||
g_assert_cmpint (r, ==, 0);
|
||||
|
||||
|
||||
if (r != 0)
|
||||
{
|
||||
g_autofree gchar *message = g_strdup_printf ("Unable to set extended attributes in /var/tmp: %s",
|
||||
g_strerror (errno));
|
||||
g_test_skip (message);
|
||||
return;
|
||||
}
|
||||
|
||||
g_autoptr(GVariant) new_xattrs = ostree_fs_get_all_xattrs (tmpd.fd, NULL, error);
|
||||
g_assert_no_error (local_error);
|
||||
|
||||
|
|
|
|||
|
|
@ -54,7 +54,7 @@ echo 'ok documented symbols'
|
|||
|
||||
# ONLY update this checksum in release commits!
|
||||
cat > released-sha256.txt <<EOF
|
||||
fb66f84d9af5270ed34fdf9f70f97e59394336a9559f493917704bdffa19027d ${released_syms}
|
||||
370e560e4044b17523d23b04e383539cd22eac7c3067b7324803129ceebd73f0 ${released_syms}
|
||||
EOF
|
||||
sha256sum -c released-sha256.txt
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue