Maemo-releases
(New page) |
(mark as {{out of date}}) |
||
(5 intermediate revisions not shown) | |||
Line 1: | Line 1: | ||
+ | {{out of date}} | ||
+ | |||
== The rationale behind maemo-release == | == The rationale behind maemo-release == | ||
- | The maemo-release package seeks to address the situation wherein a source package is forked into gregale/bora/chinook/diablo/fremantle versions of itself because one set of Build-Depends does not work for all distributions. | + | The [http://maemo.org/packages/view/maemo-release/ maemo-release package] seeks to address the situation wherein a source package is forked into gregale/bora/chinook/[[Open development/Maemo roadmap/Diablo|diablo]]/[[Open development/Maemo roadmap/Fremantle|fremantle]] versions of itself because one set of Build-Depends does not work for all distributions. |
Example: Fremantle provides libgstfarsight0.10-dev, whereas previous distributions do not. pidgin needs to Build-Depend on it for voice/video support to be compiled in during the build process. However, the libgstfarsight0.10-dev package does not exist in any previous distribution. | Example: Fremantle provides libgstfarsight0.10-dev, whereas previous distributions do not. pidgin needs to Build-Depend on it for voice/video support to be compiled in during the build process. However, the libgstfarsight0.10-dev package does not exist in any previous distribution. | ||
- | This results in having to provide a different debian/control file for the various distributions, which in turn forces one to make a different debian/changelog file for the various distributions. At this point, different distributions have different source packages. | + | This results in having to provide a different <code>debian/control</code> file for the various distributions, which in turn forces one to make a different <code>debian/changelog</code> file for the various distributions. At this point, different distributions have different source packages. |
- | To prevent this one reason for forking the source package, we need the maemo-release package. Then, knowing which distribution(s) contain a needed package foo, we can create an appropriate debian/control entry. | + | To prevent this one reason for forking the source package, we need the maemo-release package. Then, knowing which distribution(s) contain a needed package foo, we can create an appropriate <code>debian/control</code> entry. |
Example: Suppose Bora and Diablo contain package foo, but the other distributions do not. The corresponding debian/control Build-Depends entry will be: | Example: Suppose Bora and Diablo contain package foo, but the other distributions do not. The corresponding debian/control Build-Depends entry will be: | ||
- | < | + | <pre> |
- | + | Build-Depends: package1-dev, | |
- | + | package2-dev, | |
- | + | ..., | |
- | + | foo | maemo-release (= 1.0.0) | maemo-release (= 3.0.0) | maemo-release (= 5.0.0), | |
- | + | ..., | |
- | + | packagen-dev | |
- | </ | + | </pre> |
This way you can describe intervals of distributions wherein a certain package has become available. Examples: | This way you can describe intervals of distributions wherein a certain package has become available. Examples: | ||
Line 36: | Line 38: | ||
|- | |- | ||
|- | |- | ||
- | |colspan="5" style="border:1px solid;" | Example: <code>foo | maemo-release (< | + | |colspan="5" style="border:1px solid;" | Example: <code>foo | maemo-release (< 3.0.0) | maemo-release (> 4.0.0)</code> |
|- | |- | ||
| align="center" style="background:red; color:white" colspan="2" | foo is absent | | align="center" style="background:red; color:white" colspan="2" | foo is absent | ||
| align="center" style="background:green; color:white" colspan="2" | foo is present | | align="center" style="background:green; color:white" colspan="2" | foo is present | ||
+ | | align="center" style="background:red; color:white" colspan="1" | foo is absent | ||
+ | |- | ||
+ | |- | ||
+ | |colspan="5" style="border:1px solid;" | Example: <code>foo | maemo-release (= 1.0.0) | maemo-release (= 3.0.0) | maemo-release (= 5.0.0)</code> | ||
+ | |- | ||
+ | | align="center" style="background:red; color:white" colspan="1" | foo is absent | ||
+ | | align="center" style="background:green; color:white" colspan="1" | foo is present | ||
+ | | align="center" style="background:red; color:white" colspan="1" | foo is absent | ||
+ | | align="center" style="background:green; color:white" colspan="1" | foo is present | ||
| align="center" style="background:red; color:white" colspan="1" | foo is absent | | align="center" style="background:red; color:white" colspan="1" | foo is absent | ||
|- | |- | ||
|} | |} | ||
+ | |||
+ | Of course, the rest of the build process has also to be made tolerant of the presence/absence of a given package. | ||
+ | |||
+ | [[Category:Development]] |
Latest revision as of 11:40, 18 June 2010
This article is out-of-date, and needs to be updated. Please see the talk page for discussion. |
[edit] The rationale behind maemo-release
The maemo-release package seeks to address the situation wherein a source package is forked into gregale/bora/chinook/diablo/fremantle versions of itself because one set of Build-Depends does not work for all distributions.
Example: Fremantle provides libgstfarsight0.10-dev, whereas previous distributions do not. pidgin needs to Build-Depend on it for voice/video support to be compiled in during the build process. However, the libgstfarsight0.10-dev package does not exist in any previous distribution.
This results in having to provide a different debian/control
file for the various distributions, which in turn forces one to make a different debian/changelog
file for the various distributions. At this point, different distributions have different source packages.
To prevent this one reason for forking the source package, we need the maemo-release package. Then, knowing which distribution(s) contain a needed package foo, we can create an appropriate debian/control
entry.
Example: Suppose Bora and Diablo contain package foo, but the other distributions do not. The corresponding debian/control Build-Depends entry will be:
Build-Depends: package1-dev, package2-dev, ..., foo | maemo-release (= 1.0.0) | maemo-release (= 3.0.0) | maemo-release (= 5.0.0), ..., packagen-dev
This way you can describe intervals of distributions wherein a certain package has become available. Examples:
(1.0.0) Gregale | (2.0.0) Bora | (3.0.0) Chinook | (4.0.0) Diablo | (5.0.0) Fremantle |
---|---|---|---|---|
Example: foo | maemo-release (< 3.0.0)
| ||||
foo is absent | foo is present | |||
Example: foo | maemo-release (< 3.0.0) | maemo-release (> 4.0.0)
| ||||
foo is absent | foo is present | foo is absent | ||
Example: foo | maemo-release (= 1.0.0) | maemo-release (= 3.0.0) | maemo-release (= 5.0.0)
| ||||
foo is absent | foo is present | foo is absent | foo is present | foo is absent |
Of course, the rest of the build process has also to be made tolerant of the presence/absence of a given package.
- This page was last modified on 18 June 2010, at 11:40.
- This page has been accessed 13,521 times.