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 https://svn.boost.org/trac/boost/wiki/StartModMaint
>
> 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:
PPrerequisites<https://svn.boost.org/trac/boost/wiki/StartModDev#Prerequisites>

   - An understanding of Boost culture and the Developer's mailing list. Read
   more. <http://www.boost.org/community/>
   - An understanding of Boost Library Requirements and
Guidelines<http://www.boost.org/development/requirements.html>
   .
   - The Git version control system. Read about Getting Started with
Git.<https://svn.boost.org/trac/boost/wiki/Git/GitHome> If
   you are new to Git, install it and experiment a bit before coming back here.
   - A (free) GitHub <http://www.github.com/> account. Read about Getting
   Started with GitHub. <https://svn.boost.org/trac/boost/wiki/StartGitHub>
   - 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
Started<http://www.boost.org/more/getting_started/index.html>.
   (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
library<https://svn.boost.org/trac/boost/wiki/StartModDev#Creatingthesimplelibrary>

This procedure will create a trivial library named simple. Its public
repository will be hosted in your own GitHub <http://github.com/> 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 <https://github.com/boostorg/boost>
.

   - With your web browser, sign into your GitHub
<https://github.com/> 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
   clipboard.
   - 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
   structure:

   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
clone").*
...

   - Using a text editor, create a file named twice.hpp in
   boost-root/libs/simple/include/boost/simple:

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

CCommitting and
pushing<https://svn.boost.org/trac/boost/wiki/StartModDev#Committingandpushing>

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.*

Michael

 --Beman
>
> _______________________________________________
> Unsubscribe & other changes:
> http://lists.boost.org/mailman/listinfo.cgi/boost
>


Boost list run by bdawes at acm.org, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk