Editing Maemo-releases

Warning: You are not logged in. Your IP address will be recorded in this page's edit history.
The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.
Latest revision Your text
Line 1: Line 1:
-
{{out of date}}
 
-
 
== The rationale behind maemo-release ==
== The rationale behind maemo-release ==
-
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.
+
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.
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 <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.
+
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 <code>debian/control</code> 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 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:
Example: Suppose Bora and Diablo contain package foo, but the other distributions do not. The corresponding debian/control Build-Depends entry will be:
-
<pre>
+
<code>
-
Build-Depends: package1-dev,  
+
Build-Depends: package1-dev,  
-
package2-dev,  
+
  package2-dev,  
-
...,  
+
  ...,  
-
foo | maemo-release (= 1.0.0) | maemo-release (= 3.0.0) | maemo-release (= 5.0.0),
+
  foo | maemo-version (= 1.0.0) | maemo-version (= 3.0.0) | maemo-version (= 5.0.0),
-
...,
+
  ...,
-
packagen-dev
+
  packagen-dev
-
</pre>
+
</code>
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 38: Line 36:
|-
|-
|-
|-
-
|colspan="5" style="border:1px solid;" | Example: <code>foo | maemo-release (< 3.0.0) | maemo-release (> 4.0.0)</code>
+
|colspan="5" style="border:1px solid;" | Example: <code>foo | maemo-release (< 2.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]]
 

Learn more about Contributing to the wiki.


Please note that all contributions to maemo.org wiki may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see maemo.org wiki:Copyrights for details). Do not submit copyrighted work without permission!


Cancel | Editing help (opens in new window)

Templates used on this page: