-
Notifications
You must be signed in to change notification settings - Fork 305
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
OSTree currently provides no way to inspect the versioning information at run time, being only available at compile time through pkg-config. This is a problem for e.g. Flatpak, that needs to check whether the 'update-frequency' option is available. Checking at compile time isn't great since it's not looking for new symbols, but only if an optional feature is present. This commit, then, adds a new header that is generated at compile time, exposing OSTree's versioning information. Closes: #728 Approved by: cgwalters
- Loading branch information
1 parent
75907cb
commit fda4a47
Showing
7 changed files
with
103 additions
and
5 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,6 +1,10 @@ | ||
AC_PREREQ([2.63]) | ||
dnl If incrementing the version here, remember to update libostree.sym too | ||
AC_INIT([libostree], [2017.3], [[email protected]]) | ||
m4_define([year_version], [2017]) | ||
m4_define([release_version], [3]) | ||
m4_define([package_version], [year_version.release_version]) | ||
|
||
AC_INIT([libostree], [package_version], [[email protected]]) | ||
AC_CONFIG_HEADER([config.h]) | ||
AC_CONFIG_MACRO_DIR([buildutil]) | ||
AC_CONFIG_AUX_DIR([build-aux]) | ||
|
@@ -16,6 +20,11 @@ AC_PROG_CC | |
AM_PROG_CC_C_O | ||
AC_PROG_YACC | ||
|
||
dnl Versioning information | ||
AC_SUBST([YEAR_VERSION], [year_version]) | ||
AC_SUBST([RELEASE_VERSION], [release_version]) | ||
AC_SUBST([PACKAGE_VERSION], [package_version]) | ||
|
||
CC_CHECK_FLAGS_APPEND([WARN_CFLAGS], [CFLAGS], [\ | ||
-pipe \ | ||
-Wall \ | ||
|
@@ -398,6 +407,7 @@ AC_CONFIG_FILES([ | |
Makefile | ||
apidoc/Makefile | ||
src/libostree/ostree-1.pc | ||
src/libostree/ostree-version.h | ||
]) | ||
AC_OUTPUT | ||
|
||
|
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,82 @@ | ||
/* -*- mode: C; c-file-style: "gnu"; indent-tabs-mode: nil; -*- | ||
* | ||
* Copyright (C) 2017 Georges Basile Stavracas Neto <[email protected]> | ||
* | ||
* 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, write to the | ||
* Free Software Foundation, Inc., 59 Temple Place, Suite 330, | ||
* Boston, MA 02111-1307, USA. | ||
*/ | ||
|
||
#pragma once | ||
|
||
/** | ||
* SECTION:ostree-version | ||
* @short_description: ostree version checking | ||
* | ||
* ostree provides macros to check the version of the library | ||
* at compile-time | ||
*/ | ||
|
||
/** | ||
* OSTREE_YEAR_VERSION: | ||
* | ||
* ostree year version component (e.g. 2017 if %OSTREE_VERSION is 2017.2) | ||
*/ | ||
#define OSTREE_YEAR_VERSION (@YEAR_VERSION@) | ||
|
||
/** | ||
* OSTREE_RELEASE_VERSION: | ||
* | ||
* ostree release version component (e.g. 2 if %OSTREE_VERSION is 2017.2) | ||
*/ | ||
#define OSTREE_RELEASE_VERSION (@RELEASE_VERSION@) | ||
|
||
/** | ||
* OSTREE_VERSION | ||
* | ||
* ostree version. | ||
*/ | ||
#define OSTREE_VERSION (@VERSION@) | ||
|
||
/** | ||
* OSTREE_VERSION_S: | ||
* | ||
* ostree version, encoded as a string, useful for printing and | ||
* concatenation. | ||
*/ | ||
#define OSTREE_VERSION_S "@VERSION@" | ||
|
||
#define OSTREE_ENCODE_VERSION(year,release) \ | ||
((year) << 16 | (release)) | ||
|
||
/** | ||
* OSTREE_VERSION_HEX: | ||
* | ||
* ostree version, encoded as an hexadecimal number, useful for | ||
* integer comparisons. | ||
*/ | ||
#define OSTREE_VERSION_HEX \ | ||
(OSTREE_ENCODE_VERSION (OSTREE_YEAR_VERSION, OSTREE_RELEASE_VERSION)) | ||
|
||
/** | ||
* OSTREE_CHECK_VERSION: | ||
* @year: required year version | ||
* @release: required release version | ||
* | ||
* Compile-time version checking. Evaluates to %TRUE if the version | ||
* of ostree is equal or greater than the required one. | ||
*/ | ||
#define OSTREE_CHECK_VERSION(year,release) \ | ||
(OSTREE_YEAR_VERSION >= (year) || \ | ||
(OSTREE_YEAR_VERSION == (year) && OSTREE_RELEASE_VERSION >= (release))) |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -33,3 +33,4 @@ | |
#include <ostree-gpg-verify-result.h> | ||
|
||
#include <ostree-autocleanups.h> | ||
#include <ostree-version.h> |