From 3748b6063525b6db93a05ccc734aaaefa0bdf5cb Mon Sep 17 00:00:00 2001 From: Michal Hrusecky Date: Mon, 29 Aug 2011 13:25:25 +0200 Subject: [PATCH 1/3] Adding chapter about upstream usage This chapter describes how to use OBS and openSUSE Build Service as an upstream project, how to decide where to put stuff and how to use/create download page. --- images/online/download_page_screenshot.png | Bin 0 -> 56655 bytes xml/book-obs-best-practices.xml | 3 +- xml/obs_best_practice_upstream.xml | 273 ++++++++++++++++++++++++++++ 3 files changed, 275 insertions(+), 1 deletions(-) create mode 100644 images/online/download_page_screenshot.png create mode 100644 xml/obs_best_practice_upstream.xml diff --git a/images/online/download_page_screenshot.png b/images/online/download_page_screenshot.png new file mode 100644 index 0000000000000000000000000000000000000000..30cb50d1cda904369bf5545a7b3564fd7974057c GIT binary patch literal 56655 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ℜy*F#JZ6d8-{9H=VbdrFV69A_g06bhM&s0BD;_H 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 z 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 i*+q$uCnuz6P!dyO5)%&Y$?#D-B>L}yNeoQ@ literal 0 HcmV?d00001 diff --git a/xml/book-obs-best-practices.xml b/xml/book-obs-best-practices.xml index 6e9143d..1d47e6a 100644 --- a/xml/book-obs-best-practices.xml +++ b/xml/book-obs-best-practices.xml @@ -28,8 +28,9 @@ - + + diff --git a/xml/obs_best_practice_upstream.xml b/xml/obs_best_practice_upstream.xml new file mode 100644 index 0000000..cc72fff --- /dev/null +++ b/xml/obs_best_practice_upstream.xml @@ -0,0 +1,273 @@ + + + %entities; +]> + + Publishing upstream binaries + This chapter covers main step of using OBS to publish binaries of your + project for multiple distributions. + +
+ Which instance to use? +
+ Private OBS instance + OBS is open source project and therefore you can setup your own + instance and run it by your own. The main advantage of this approach is + that you can keep all your sources and recepies unpublished if you need to + (for example because of NDA). Obvious downside of this approach is that you + need to maintain your own server/servers for running builds, publishing and + mirroring. Also making your project public may attract some potentional + contributors. + + + More information about setting up your own private OBS instance can be + found in + . + +
+
+ openSUSE Build Service + Other option is to use some publically available instance of OBS. One + good example is openSUSE Build Service - + . This OBS instance can be used by + anybody to freely create binaries for any of the supported distributions. + Big advanatage is that somebody is already taking care of all the + infrastructure. You can store your sources there, build your packages and + got them mirrored around the world. You don't need to get your own server a + configure it, you can start using it right a way. + +
+
+
+ Where to place your project? + + This part helps you to decide on how to name and where to place your + project and what project structure to create. This is more important if you + are sharing your OBS instance with other people like in openSUSE Build Service. + +
+ Base project + + If there are more packages in OBS, like for example in openSUSE Build Service, these + packages needs to be somehow divided into projects so it is easier to + find what people are looking for and it isn't all just one big + mess. + + In openSUSE Build Service, packages are divided into categories + regarding their function. MySQL is in + server:database repository, lighttpd in + server:http and for example KMyMoney has it's own + subproject in KDE:Apps. So it is a good idea to + think about in what category available on the OBS your application will + fit the best. + + If you need whole project for yourself - for example some of your + dependencies is being built in the same project, you need to request + creating subproject. In openSUSE Build Service, this is done through + asking OBS admins for it on opensuse-buildservice + mailing list + + .It's archive and link for subscribing can be found + at + . + + If you need to just put yout package somewhere, you can create it + in your home project and then send submitrequest to the project you want + your packge to get included in. + +
+
+ More supported versions? + If you want to support more than just one version of your program, + you will need to use several projects for that. There can't be same + packages with. + +
+ Stable and development version + Let's asume that you have found project suitable for your program. + Some projects already have something like STABLE and + UNSTABLE subprojects. So you can use these, if you + discuss it with maintainers of these project. Other way is to ask somebody + from the maintainers of the project to create either these subprojects (if + they don't exists) or something similar. Always try to discuss it with the + maintainers of the project. They might have good ideas, sugestions and may + help you in various ways. + +
+
+ Multiple stable versions + If you want to support multiple version, you would need more + projects then just two as suggested in previous section. These special + project should contain version they are supposed to support in their + name. If you are creating them under some project you are sharing with + other packages, having you package name in the name of projects is a good + idea as well. Good example can be Gnome. It has + GNOME project and many subprojects projects. Among + them are for example GNOME:STABLE:2.30, + GNOME:STABLE:2.32 and + GNOME:STABLE:3.0. These projects holds different + stable versions of Gnome with latest fixes. + +
+
+
+
+ Creating a package + Packaging is quite a complex topic. Instead of trying to cover it in + this book, it is a good idea to start with available internet documentation. + One of the recomended online resource is Portal:Packaging on openSUSE wiki. + You can find it at . + It contains links to several packaging tutorials and other packaging related + documentation. + +
+
+ Getting binaries? + + This sections discuss feature available only in openSUSE Build + Service - one of the freely availble instances of OBS. + + + + If you want a nice download page for your software published on openSUSE + Build Service, you can use openSUSE download page. You can include it for + example using either iframe or object on newer + webs . Example of download page can be following one . + You can see how it looks like in . It contains + links to the packages and instructions how to install them. + +
+ openSUSE download page for package from OBS + + + + + +
+ + Url always has to start with .You can attach any + number of '&'-seperated parameters. But at least two of them - + project and package - are + required. All parameters with descriptions can be found in . + + + Possible parameters for download page + + + + parameter + description + + + + + + project + + Project in which your package is located + + + + package + + Name of your package as it is specified in OBS + + + + bcolor + + + Background color in hexa (for example bcolor=004) to make + the download page better match your project page + + + + + fcolor + + + Text color in hexa (for example fcolor=fff) to make the + download page better match your project page + + + + + acolor + + + Link color in hexa (for example acolor=ff0) to make the + download page better match your project page + + + + + hcolor + + + Highlight color in hexa (for example hcolor=0ff) to make + the download page better match your project page + + + + +
+
+ Examples + Now we will take a look at how to include the download page into your + project pages. As example we will use osc client from + openSUSE:Tools project. To demonstrate the colors + change, we will use theme that would match Midnight Commander. + + First we will start with recent web page supporting new standarts. On such a website, we would use object to include download code: + + + + Your browser doesn't support objects, please continue to the + + download page + + ]]> + + If you are using php on your server, you can make it easier by using following code: + + + + Your browser doesn't support objects, please continue to the + download page + +'; +?> + ]]> + + If you are running some legacy website, you might have to use iframe: + + + ]]> + +
+
+
-- 1.7.6.1