Boost logo

Boost :

Subject: Re: [boost] Getting Started with Modular Boost Library Maintenance
From: Cox, Michael (mhcox_at_[hidden])
Date: 2013-12-12 00:18:25

On Tue, Dec 10, 2013 at 9:41 AM, Beman Dawes <bdawes_at_[hidden]> wrote:

> I've been pecking away at "Getting Started with Modular Boost Library
> Maintenance".
> See
> I'd appreciate comments and corrections.
> One of the questions that came up was how to number releases for individual
> libraries.
> Say Boost.System wants to do a release before the next full Boost release
> ships. What do I call it? How do I document it? How do I tag it?
> Strawman proposal
> ------------------------
> * Call it "Boost.System 1.55.1 Point Release".
> * Document it via the "readme" file that GitHub pesters you to add.
> Contents would give the title of the release and the release notes.
> * Create a gh-pages branch with the same release notice.
> * Tag it 1.55.1
> Comments?
> I still like having the name of the "product" (boost or name of the
library), e.g. boost-1.55.1 or accumulator-X.Y.Z.

>From the web-site (comments in *italic blue*, additions in blue, deletions
in green:

   - An understanding of Boost culture and the Developer's mailing list. Read
   more. <>
   - An understanding of Boost Library Requirements and
   - The Git version control system. Read about Getting Started with
Git.<> If
   you are new to Git, install it and experiment a bit before coming back here.
   - A (free) GitHub <> account. Read about Getting
   Started with GitHub. <>
   - Your favorite supported compiler and development environment.

*Where "supported compiler" is link to a page containing the list of
supported compilers.*

   - A recent version of Boost installed. See Boost Getting
   (Either modular or pre-modular Boost will work.)
   - The b2 executable, created in the boost root directory during
   installation, added to your path.

CCreating the simple

This procedure will create a trivial library named simple. Its public
repository will be hosted in your own GitHub <> account.
You will do development using a private repository that is located within a
Boost installation on your local machine. This simulates your library being
a sub-module of the Boost super-project <>

   - With your web browser, sign into your GitHub
<> account
   and create a repository named simple. Select the option to automatically
   create a README file. Copy the URL of the newly created repository to your
   - The remainder of the steps are run from the command line.
   - cd to the libs sub-directory of the Boost installation root directory,
   clone the newly created repository, and create the library's directory

   git clone --recursive -o upstream -b develop
git_at_[hidden]:boostorg/boost boost-root
   cd boost-root
   git submodule add -f -b develop git_at_[hidden]:<Github
account>/simple libs/simple
   cd libs/simple
   mkdir -p include/boost/simple test doc example

*I'd change "boost-root" -> "boost" (or leave it off in case of the "git

   - Using a text editor, create a file named twice.hpp in

   #define BOOST_SIMPLE_TWICE_HPP_INCLUDED_#include <string>
   namespace boost { namespace simple {
   inline std::string twice(const std::string& s)
     return s + s;

CCommitting and

OK, the basic structure and files of the library are present, so it is time
to commit the changes to the local repo.

Hint: git help command-name will display the documentation for command-name.

*On Linux the command-name documentation displays directly to the console.*


> _______________________________________________
> Unsubscribe & other changes:

Boost list run by bdawes at, gregod at, cpdaniel at, john at