diff --git a/README-CONAN.md b/README-CONAN.md index f2c40c62..5d157966 100644 --- a/README-CONAN.md +++ b/README-CONAN.md @@ -1,4 +1,4 @@ -![Exiv2](http://exiv2.dyndns.org/include/exiv2-logo-big.png) +![Exiv2](exiv2.png) # Building Exiv2 dependencies with conan @@ -397,8 +397,8 @@ Conan stores its configuration and local builds in the directory ~/.conan (%HOME Conan installs several files and two directories: ```bash -$HOME/.conan/profiles Configuration files for compilers/platforms -$HOME/.conan/data Dependencies are built/stored in this directory +$HOME/.conan/profiles Configuration files for compilers/platforms +$HOME/.conan/data Dependencies are built/stored in this directory ``` [TOC](#TOC) diff --git a/README.md b/README.md index f7881584..bb288100 100644 --- a/README.md +++ b/README.md @@ -14,8 +14,9 @@ 5. [Building and linking your code with Exiv2](#2-5) 6. [Consuming Exiv2 with CMake](#2-6) 7. [Using pkg-config to compile and link your code with Exiv2](#2-7) - 8. [Building Exiv2 Documentation](#2-8) - 9. [Building Exiv2 Packages](#2-9) + 8. [Localisation](#2-8) + 9. [Building Exiv2 Documentation](#2-9) + 10. [Building Exiv2 Packages](#2-10) 3. [License and Support](#3) 1. [License](#3-1) 2. [Support](#3-2) @@ -33,7 +34,7 @@ # Welcome to Exiv2 -![Exiv2](http://exiv2.dyndns.org/include/exiv2-logo-big.png) +![Exiv2](exiv2.png) Exiv2 is a C++ library and a command line utility to read, write, delete and modify Exif, IPTC, XMP and ICC image metadata. @@ -200,30 +201,114 @@ g++ -std=c++98 myprogram.cpp -o myprogram $(pkg-config exiv2 --libs --cflags) [TOC](#TOC) -### 2.8 Building Exiv2 Documentation +### 2.8 Localisation + +Localisation is supported on "*ix" platforms: Linux, MacOS-X, Cygwin and MinGW/msys2. Localisation is not supported for Visual Studio builds. + +To build localisation support, use the CMake options `-DEXIV2_BUILD_PO=On` `-DEXIV2_ENABLE_NLS=On`. There are no additional build steps as the normal build command will compile the library, samples and localisation support. + +1) Running exiv2 in a foreign language + +``` +$ env LC_ALL=fr_FR exiv2 +exiv2: Une action doit être spécifié +exiv2: Au moins un fichier est nécessaire +Utilisation : exiv2 [ options ] [ action ] fichier ... + +Manipulation des métadonnées EXIF issues des images. +$ +``` + +2) Adding additional languages to exiv2 + +To support a new language which we'll designate 'xy' for this discussion: + +2.1) Generate a po file from the po template: + +``` +$ cd +$ mkdir -p po/xy +$ msginit --input=po/exiv2.pot --locale=xy --output=po/xy.po +``` +2.2) Edit/Translate the strings in po/xy.po + +I edited the following: + +``` +#: src/exiv2.cpp:237 +msgid "Manipulate the Exif metadata of images.\n" +msgstr "" +``` +to: + +``` +#: src/exiv2.cpp:237 +msgid "Manipulate the Exif metadata of images.\n" +msgstr "Manipulate image metadata.\n" +``` + +2.3) Generate the messages file: + +``` +$ mkdir -p po/xy/LC_MESSAGES +$ msgfmt --output-file=po/xy/LC_MESSAGES/exiv2.mo po/xy.po +``` + +2.4) Install and test your messages: + +You have to install your messages to test them. It's not possible to test a message file from the build/bin directory. + +``` +$ sudo cp -R po/xy /usr/local/share/locale/xy +$ env LC_ALL=xy exiv2 +exiv2: An action must be specified +exiv2: At least one file is required +Usage: exiv2 [ options ] [ action ] file ... + +Manipulate image metadata. <--------- Edited message! +$ +``` + +2.5) Submitting your new language file for inclusion in future versions of Exiv2: + +Open a new issue on https://github.com/exiv2/exiv2 and attach the file po/xy/exiv2.po + + +[TOC](#TOC) + +### 2.9 Building Exiv2 Documentation + +Building documentation requires installing special tools. You will probably prefer to +read the documentation on-line from the project website: http://exiv2.dyndns.org + +Additionally, complete copies of the project website are archived on the buildserver +and can be downloaded for off-line use. http://exiv2.dyndns.org:8080/userContent/builds/Website/ + +To build documentation, use the CMake option `-DEXIV2_BUILD_DOC=On`. +Additionally, you will require an additional build step to actually build the documentation. ``` $ cmake ..options.. -DEXIV2_BUILD_DOC=On $ make doc ``` -To build the documentation, you will need the following products: +To build the documentation, you must install the following products: | Product | Availability | |:------------ |:------------ | | doxygen
graphviz
python
xsltproc
md5sum | [http://www.doxygen.org/](http://www.doxygen.org/)
[http://www.graphviz.org/](http://www.graphviz.org/)
[http://www.python.org/](http://www.python.org/)
[http://xmlsoft.org/XSLT/](http://xmlsoft.org/XSLT/)
[http://www.microbrew.org/tools/md5sha1sum/](http://www.microbrew.org/tools/md5sha1sum/) | [TOC](#TOC) - -### 2.9 Building Exiv2 Packages - -You should not build Exiv2 Packages. This feature is intended for use by Team Exiv2 to create Platform Bundles and Source Packages on the buildserver. + +### 2.10 Building Exiv2 Packages To enable building of packages, use the CMake option `-DEXIV2_TEAM_PACKAGING=On`. +You should not build Exiv2 Packages. This feature is intended for use by Team Exiv2 to create Platform and Source Packages on the buildserver. + There are two types of Exiv2 packages which are generated by cpack from the cmake command-line. -1) Binary Package (library, headers, documentation and sample applications) +1) Platform Package (header files, binary library and samples. Some documentation and release notes) Create and build exiv2 for your platform. @@ -391,13 +476,13 @@ Install: [http://repo.msys2.org/distrib/x86_64/msys2-x86_64-20180531.exe](http:/ I use the following batch file to start the MinGW/msys2 64 bit bash shell from the Dos Command Prompt (cmd.exe) ``` -$ cat msys64.bat +@echo off setlocal set "PATH=c:\msys64\usr\bin;c:\msys64\usr\local\bin;" -set "HOME=c:\msys64\home\%USER%" +set "HOME=c:\msys64\home\rmills" +cd %HOME% set "PS1=\! \u@\h-64:\w \$ " bash.exe -norc -$ ``` #### MinGW/msys2 32 bit @@ -406,13 +491,13 @@ Install: [http://repo.msys2.org/distrib/i686/msys2-i686-20180531.exe](http://rep I use the following batch file to start the MinGW/msys2 32 bit bash shell from the Dos Command Prompt (cmd.exe) ``` -$ cat msys32.bat +@echo off setlocal set "PATH=c:\msys32\usr\bin;c:\msys32\usr\local\bin;" -set "HOME=c:\msys32\home\%USER%" +set "HOME=c:\msys32\home\rmills" +cd %HOME% set "PS1=\! \u@\h-32:\w \$ " bash.exe -norc -$ ``` #### Install MinGW Dependencies diff --git a/cmake/packaging.cmake b/cmake/packaging.cmake index 8b5c517b..d4716f90 100644 --- a/cmake/packaging.cmake +++ b/cmake/packaging.cmake @@ -42,6 +42,7 @@ set( DOCS README.md README-CONAN.md license.txt + exiv2.png ) foreach(doc ${DOCS}) install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/${doc} DESTINATION .) diff --git a/exiv2.png b/exiv2.png new file mode 100644 index 00000000..8708a5e1 Binary files /dev/null and b/exiv2.png differ diff --git a/releasenotes/CYGWIN/ReadMe.txt b/releasenotes/CYGWIN/ReadMe.txt index 991a0e96..bc67f6ac 100644 --- a/releasenotes/CYGWIN/ReadMe.txt +++ b/releasenotes/CYGWIN/ReadMe.txt @@ -15,8 +15,9 @@ samples/exifprint.cpp sample code ReadMe.txt This file license.txt GPLv2.0 Software License releasenotes.txt Late breaking news -README.md User Manual -README-CONAN.md User Manual Appendix +README.md Developer Manual +README-CONAN.md Developer Manual Appendix +exiv2.png Exiv2 Logo To run exiv2 from the bundle ---------------------------- diff --git a/releasenotes/Darwin/ReadMe.txt b/releasenotes/Darwin/ReadMe.txt index cda2b178..45719e78 100644 --- a/releasenotes/Darwin/ReadMe.txt +++ b/releasenotes/Darwin/ReadMe.txt @@ -15,8 +15,9 @@ samples/exifprint.cpp sample code ReadMe.txt This file license.txt GPLv2.0 Software License releasenotes.txt Late breaking news -README.md User Manual -README-CONAN.md User Manual Appendix +README.md Developer Manual +README-CONAN.md Developer Manual Appendix +exiv2.png Exiv2 Logo To run exiv2 from the bundle ---------------------------- diff --git a/releasenotes/Linux/ReadMe.txt b/releasenotes/Linux/ReadMe.txt index be83be2b..3b9722d1 100644 --- a/releasenotes/Linux/ReadMe.txt +++ b/releasenotes/Linux/ReadMe.txt @@ -14,8 +14,9 @@ samples/exifprint.cpp sample code ReadMe.txt This file license.txt GPLv2.0 Software License releasenotes.txt Late breaking news -README.md User Manual -README-CONAN.md User Manual Appendix +README.md Developer Manual +README-CONAN.md Developer Manual Appendix +exiv2.png Exiv2 Logo To run exiv2 from the bundle ---------------------------- diff --git a/releasenotes/MinGW/ReadMe.txt b/releasenotes/MinGW/ReadMe.txt index c2b833ac..6120bf43 100644 --- a/releasenotes/MinGW/ReadMe.txt +++ b/releasenotes/MinGW/ReadMe.txt @@ -16,8 +16,9 @@ samples/exifprint.cpp sample code ReadMe.txt This file license.txt GPLv2.0 Software License releasenotes.txt Late breaking news -README.md User Manual -README-CONAN.md User Manual Appendix +README.md Developer Manual +README-CONAN.md Developer Manual Appendix +exiv2.png Exiv2 Logo To run exiv2 from the bundle ---------------------------- diff --git a/releasenotes/msvc/ReadMe.txt b/releasenotes/msvc/ReadMe.txt index e7078d15..6df87796 100644 --- a/releasenotes/msvc/ReadMe.txt +++ b/releasenotes/msvc/ReadMe.txt @@ -14,8 +14,9 @@ samples/exifprint.cpp sample code ReadMe.txt This file license.txt GPLv2.0 Software License releasenotes.txt Late breaking news -README.md User Manual -README-CONAN.md User Manual Appendix +README.md Developer Manual +README-CONAN.md Developer Manual Appendix +exiv2.png Exiv2 Logo +----------------------------------------------------------------------------+ | Caution: Use a Windows unzip utility such as 7z or winzip | diff --git a/releasenotes/releasenotes.txt b/releasenotes/releasenotes.txt index d1d88bf2..d68a9dd1 100644 --- a/releasenotes/releasenotes.txt +++ b/releasenotes/releasenotes.txt @@ -1,11 +1,11 @@ Exiv2 v0.27.0.2 (Exiv2 v0.27 RC2) ----------------------------------- -We are (issues) 97% complete. 90/95 on GitHub and 70/70 on Redmine -We have consumed 92% of schedule. Project 2017-05-10 .. 2018-12-31 (87 weeks) +We are 96% complete (by issues) 93/100 on GitHub and 70/70 on Redmine +We are 92% complete (by time). Project 2017-05-10 .. 2018-12-31 (87 weeks) -Exiv2 v0.27 RC3 expected 15 December 2018 -Exiv2 v0.27 GM expected 31 December 2018 +Exiv2 v0.27 RC3 scheduled 07 December 2018 +Exiv2 v0.27 GM scheduled 28 December 2018 I have to thank Dan and Luis for their huge contribution to make this release. @@ -16,14 +16,14 @@ The headline features are: 1) Security fixes 2) Bug Fixes - 3) Improved CMake Support + 3) Rewritten CMake Support 4) Conan Support to build dependencies 5) Adobe XMPsdk 2016 support 6) New python based test suite 7) AppVeyor, Travis, CodeCov and GitLabs monitor submissions 8) Support for MinGW/msys2 9) Jenkins buildserver operates from GitHub -10) Use of exiv2.org (and Redmine) will be discontinued. +10) New Documentation: Markdown, ReleaseNotes, Platform/ReadMe.txt and Website With Exiv2 v0.27, Team Exiv2 will offer "Long Term Support" and plan "dot" releases with security and critical fixes in 2019 and 2020. @@ -55,9 +55,6 @@ Fixes since RC1 #505 Incorrect packaging #499 Support for FreeBSD -Known Issues on Redmine for v0.27 ---------------------------------- - GitHub https://github.com/Exiv2/exiv2/milestone/1 @@ -169,4 +166,4 @@ Xmp: (3) Robin Mills robin@clanmills.com -2018-11-08 +2018-11-14