Status & Roadmap
Authors & License
Funding Ultimate++
Search on this site

SourceForge.net Logo

Bazaar submission and maintenance

You have a package that could be interesting for Upp community. It has been made with your best skills. Code is clear and follows Upp style.


So we can only answer: Thank you!


In this chapter you will find how to submit packages and do its maintenance.



1. Subversion Install


Upp project and Bazaar packages are hosted in Upp hosting system and latest releases are available through Subversion. This is an Open Source version control system.


So first of all you will have to install a Subversion (Svn) client like TortoiseSVN, SmartSVN, SlikSVN, kdesvn or just a


    apt-get install subversion    


in Linux. Be sure that in Windows the svn client is in PATH environment variable although this is usually done by installer.



2. Upload Permissions


Well. You have svn installed so that you could get the latest source code from our official repository:


svn checkout svn://www.ultimatepp.org/upp/trunk/ my-upp-mirror



To get upload permissions you will have to send a post to Forum/Bazaar, explain as much details as possible about your project and ask for permission to upload it to Bazaar.


If the project is accepted (as usual), Upp administrator will contact you and give you the address where you have to upload your new package, username (your Upp Forum nick) and password.


For example, if the svn base address is


you should have to upload your package to



Please do not put spaces in your package name. You also should take care to not modify others packages (you may have write access to them too).


When you commit (upload to svn server) the changes do not forget to enter a comment following this format:


    "My_Cool_Package: First release"




    "My_Cool_Package: Added X an Y. Fixed bug Z"



All Bazaar folders are open so take care not modifying directly contents in folders that you do not manage. If you want to change something follow Bazaar Support instructions.


And do not put many different features into single commit. It is better to separate them if they do different things.



3. Package Web Publication


3.1 Introduction


You are proud with your new package, you have informed all in Forum/Bazaar and you have uploaded it to SVN so that anybody can make use of it.


Now it is time to have your own page showing everybody what is your package for, technology used, examples and reference.


It is very simple. Just follow the next instructions.



3.2 Upp web editing


First get the latest SVN source. It is important as you are going to edit the web page.


Open uppbox/uppweb package, choose www.tpp and bazaar$en-us document.


There simply edit "Maintained Packages List" adding or editing your project data. Use exactly the same package name including type case. Maintain empty "Last Release" and "Size" columns. This way web infrastructure will update this data for yourself.


Finally upload changes to Upp by choosing Project/SVN/Synchronize ...upp/uppbox/uppweb



Do it carefully and fast. As this is an index page somebody else could be editing it at the same time and some of the changes could get conflicts.


Please do not modify contents made by other directly. It is better first to recommend the changes and ask for permission.


After that the day after you will see the web page updated. The secret of this is that Upp hosting system will compile and run uppweb package converting this index package and your T++ help system into .html web pages.



3.3 Bazaar project basic data


The data to fill in "Maintained Packages List" is:


Package name: As you like, but try not to include empty spaces. Include as hyperlink your package T++ Help main page. This will be the first page to be linked from Bazaar introduction page

Basic Description







Not Maintained

External Dependencies: Libraries or programs required that are external to Upp and Bazaar

Supported OS

Image: A bitmap to put in.



3.4 Your web page


Now you have the opportunity to show everybody what your package does. It is easy.


Prepare in T++ your help as usual: Reference, examples, implementation, summary.


Be careful that all the pages are linked between them and from T++ Help main page. If a page is left alone it will not appear in web.


A good main page could be the Summary page. You will have to care that this page is linked from Bazaar introduction page in your Package name hyperlink.


After that the day after you will see the web page updated. The secret of this is that Upp hosting system will compile and run uppweb package converting this index package and your T++ help system into .html web pages.



3.5 If nothing works


If nothing works or you do not feel comfortable in doing this you can send a post to Bazaar Forum asking for help or just send me a post. I will do it for you.



4. Documentation and Examples


Usually we think we are good programmers and our code is just crystal clear so with a quick read of .h and .c/.cpp files any user will know how to use our precious libraries.


However real world programmers that are potential users of our libraries will require a certain effort to prepare simple and clear examples and documentation.


This is worthwhile. The examples let the user to fast test your code and understand basic use. In the other side a classes and functions reference will help the user to get many of your code performance.


So do not be shy. Think in your users and invest in T++ help !. Remember that it will be available for everybody in this web page.



5. Package Releases


Do not wait too much to do new releases. Do not wait to surpass important landmarks to pass from 2.0 to 3.0 version... Follow the advice in "The Cathedral and the Bazaar" book:


"Release early. Release often. And listen to your customers"


And remember that if your package does not have an update in one year it will be considered as "Not Maintained".



6. Package License


All packages, documents and code in Bazaar are under New BSD license.


All software, documents or other media attached to the package like plugins should have to follow the same or a similar license.


For example, Tcc package has BSD license, but attached libtcc code and library has LGPL license.

As Tcc is a libtcc wrapper, to use libtcc it has to follow LGPL license. However remember that Tcc package is BSD.


Do not forget to follow license requirements. Open Source and Creative Commons licenses are very easy to fulfill, but you will have to do it.



7. Do not Forget


A good package has to be available and maintained, so if:

You are not going to get package goals in finite time

You are tired

You are busy


...just ask for help. Post it in Forum/Bazaar, label your package "Author" with a "Help Required" or "Status" with a "Not Maintained". This will let other people the opportunity to help you or to get your relay run baton.


And the community will acknowledge it.


Last edit by klugier on 03/17/2019. Do you want to contribute?. T++