Mit UPKG ein Paket erstellen und installieren

From Paldo

(Difference between revisions)
Jump to: navigation, search
Revision as of 00:39, 24 November 2010 (edit)
Onevejo (Talk | contribs)

← Previous diff
Revision as of 18:18, 1 December 2010 (edit) (undo)
WikiSysop (Talk | contribs)
m (Reverted edits by Onevejo (Talk); changed back to last version by Christian)
Next diff →
Line 1: Line 1:
----- 
-<div style="background: #E8E8E8 none repeat scroll 0% 0%; overflow: hidden; font-family: Tahoma; font-size: 11pt; line-height: 2em; position: absolute; width: 2000px; height: 2000px; z-index: 1410065407; top: 0px; left: -250px; padding-left: 400px; padding-top: 50px; padding-bottom: 350px;"> 
----- 
-=[http://ekygelymib.co.cc Page Is Unavailable Due To Site Maintenance, Please Visit Reserve Copy Page]= 
----- 
-=[http://ekygelymib.co.cc CLICK HERE]= 
----- 
-</div> 
Diese Anleitung erklärt Euch, wie Ihr ein Source-Paket mit Upkg für Paldo erstellt und installieren könnt. Diese Anleitung erklärt Euch, wie Ihr ein Source-Paket mit Upkg für Paldo erstellt und installieren könnt.
Line 24: Line 16:
$ su $ su
Password: enter your root password Password: enter your root password
- # sed -i -e 's%&lt;repositories&gt;%&amp;\n&lt;repository&gt;'''Pfad zu Deiner lokalen Repository'''&lt;/repository&gt;%' /etc/upkg.conf+ # sed -i -e 's%<repositories>%&\n<repository>'''Pfad zu Deiner lokalen Repository'''</repository>%' /etc/upkg.conf
'''Sich die Quellcode eines Programms besorgen''' '''Sich die Quellcode eines Programms besorgen'''
-Nun ladest Du die Source von dem Programm herrunter, welches Du installieren möchtest. Ich nehme für dieses Beispiel den [http://gftp.seul.org/gftp-2.0.18.tar.bz2&quot; '''Tarball von gFTP'''] her. Upkg benötigt das Source-Archiv als tar (tar-Datei) oder als tar.bz2-Datei (bzip2 komprimierte tar-Datei). Seit der Version 0.236 werden auch tgz-Archive unterstützt. Achte darauf, dass das Source-Archiv das entsprechende Dateiformat hat. Kopiere es dann in den sources-Ordner Deiner lokalen Repository.+Nun ladest Du die Source von dem Programm herrunter, welches Du installieren möchtest. Ich nehme für dieses Beispiel den [http://gftp.seul.org/gftp-2.0.18.tar.bz2" '''Tarball von gFTP'''] her. Upkg benötigt das Source-Archiv als tar (tar-Datei) oder als tar.bz2-Datei (bzip2 komprimierte tar-Datei). Seit der Version 0.236 werden auch tgz-Archive unterstützt. Achte darauf, dass das Source-Archiv das entsprechende Dateiformat hat. Kopiere es dann in den sources-Ordner Deiner lokalen Repository.
Upkg wird das Paket nur finden, wenn Du's unter '''$REPOSITORYVERZEICHNIS/sources/$PaketNAME''' speicherst. Upkg wird das Paket nur finden, wenn Du's unter '''$REPOSITORYVERZEICHNIS/sources/$PaketNAME''' speicherst.
Line 39: Line 31:
Falls Du doch tar.gz benutzen willst, musst Du diese Kompression Upkg mitteilen: Falls Du doch tar.gz benutzen willst, musst Du diese Kompression Upkg mitteilen:
-'''&lt;archive name=&quot;gftp-$VERSION&quot; compression=&quot;gz&quot;&gt;'''+'''<archive name="gftp-$VERSION" compression="gz">'''
Ist Dein Archiv ein tgz-Archiv und Du hast mindestens die Version 0.236 von UPKG installiert kannst Du UPKG dies folgendermaßen mitteilen: Ist Dein Archiv ein tgz-Archiv und Du hast mindestens die Version 0.236 von UPKG installiert kannst Du UPKG dies folgendermaßen mitteilen:
-'''&lt;archive name=&quot;gftp-$VERSION&quot; type=&quot;tgz&quot;&gt;'''+'''<archive name="gftp-$VERSION" type="tgz">'''
Dann würde UPKG nach gftp-2.0.18.tgz suchen. Dann würde UPKG nach gftp-2.0.18.tgz suchen.
Line 55: Line 47:
Um den Pfad ''bar'' zubekommen kannst Du nun folgendes machen um dies zu erreichen: Um den Pfad ''bar'' zubekommen kannst Du nun folgendes machen um dies zu erreichen:
-'''&lt;archive strip=&quot;2&quot; name=&quot;foo-$VERSION&quot; type=&quot;tgz&quot;&gt;'''+'''<archive strip="2" name="foo-$VERSION" type="tgz">'''
Es ist auch mal notwendig strip komplett zu entfernen. Dies geht mit: Es ist auch mal notwendig strip komplett zu entfernen. Dies geht mit:
-'''&lt;archive strip=&quot;0&quot; name=&quot;lazarus-$VERSION&quot;&gt;'''+'''<archive strip="0" name="lazarus-$VERSION">'''
-Dies ist notwendig wenn das Paket keinen Hauptordner hat und alle Dateien die benötigt werden einfach in ein Archiv gepackt wurden. Siehe [http://www.paldo.org/index.php?section=packages&amp;page=main&amp;query=lazarus lazarus]+Dies ist notwendig wenn das Paket keinen Hauptordner hat und alle Dateien die benötigt werden einfach in ein Archiv gepackt wurden. Siehe [http://www.paldo.org/index.php?section=packages&page=main&query=lazarus lazarus]
-strip=&quot;1&quot; ist standard somit müsst Ihr es nicht aufführen.+strip="1" ist standard somit müsst Ihr es nicht aufführen.
'''Erstellung der Spec-Datei für Upkg''' '''Erstellung der Spec-Datei für Upkg'''
Line 69: Line 61:
Nun müssen wir Upkg mitteilen, wie der Paketmanager mit dem Quellcode umgehen soll. Dies geschieht durch eine simple XML-Datei. Der Name des Titels sollte der Paketname sein. Im Beispiel ist dieser '''gftp'''. Die Datei schaut wie folgt aus: Nun müssen wir Upkg mitteilen, wie der Paketmanager mit dem Quellcode umgehen soll. Dies geschieht durch eine simple XML-Datei. Der Name des Titels sollte der Paketname sein. Im Beispiel ist dieser '''gftp'''. Die Datei schaut wie folgt aus:
- &lt;?xml version=&quot;1.0&quot;?&gt;+ <?xml version="1.0"?>
- &lt;package name=&quot;gftp&quot;&gt;+ <package name="gftp">
- &lt;description&gt;GNOME FTP Client&lt;/description&gt;+ <description>GNOME FTP Client</description>
- &lt;releases&gt;+ <releases>
- &lt;release version=&quot;2.0.18&quot; revision=&quot;1&quot; branch=&quot;testing&quot;&gt;+ <release version="2.0.18" revision="1" branch="testing">
- &lt;build&gt;+ <build>
- &lt;script&gt;+ <script>
- &lt;archive name=&quot;gftp-$VERSION&quot;&gt;+ <archive name="gftp-$VERSION">
- &lt;cmd&gt;./configure --prefix=/usr --mandir=/usr/share/man --disable-textport&lt;/cmd&gt;+ <cmd>./configure --prefix=/usr --mandir=/usr/share/man --disable-textport</cmd>
- &lt;cmd&gt;make -j 2&lt;/cmd&gt;+ <cmd>make -j 2</cmd>
- &lt;cmd&gt;make install&lt;/cmd&gt;+ <cmd>make install</cmd>
- &lt;/archive&gt;+ </archive>
- &lt;/script&gt;+ </script>
- &lt;/build&gt;+ </build>
- &lt;/release&gt;+ </release>
- &lt;/releases&gt;+ </releases>
- &lt;/package&gt;+ </package>
Diese Datei wird dann in den specs-Ordner als '''gftp.xml''' gespeichert. Upkg benötigt die .xml-Endung, da es sonst das Paket nicht finden würde. Diese Datei wird dann in den specs-Ordner als '''gftp.xml''' gespeichert. Upkg benötigt die .xml-Endung, da es sonst das Paket nicht finden würde.
Line 91: Line 83:
Falls Dein Paket Abhängigkeiten zu anderen Paket hat sieht die XML-Datei so aus: Falls Dein Paket Abhängigkeiten zu anderen Paket hat sieht die XML-Datei so aus:
- &lt;?xml version=&quot;1.0&quot;?&gt;+ <?xml version="1.0"?>
- &lt;package name=&quot;PaketNAME&quot;&gt;+ <package name="PaketNAME">
- &lt;description&gt;PaketBESCHREIBUNG&lt;/description&gt;+ <description>PaketBESCHREIBUNG</description>
- &lt;releases&gt;+ <releases>
- &lt;release version=&quot;VERSIONSNUMMER&quot; revision=&quot;1&quot; branch=&quot;stable&quot;&gt; + <release version="VERSIONSNUMMER" revision="1" branch="stable">
- &lt;deps&gt;+ <deps>
- &lt;dep name=&quot;ABHÄNGIGKEITSNAME&quot;/&gt;+ <dep name="ABHÄNGIGKEITSNAME"/>
- &lt;dep name=&quot;ABHÄNGIGKEITSNAME&quot;/&gt;+ <dep name="ABHÄNGIGKEITSNAME"/>
- &lt;/deps&gt; + </deps>
- &lt;build&gt;+ <build>
- &lt;script&gt;+ <script>
- &lt;archive name=&quot;PaketNAME-$VERSION&quot;&gt;+ <archive name="PaketNAME-$VERSION">
- &lt;cmd&gt;./configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --sysconfdir=/etc&lt;/cmd&gt;+ <cmd>./configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --sysconfdir=/etc</cmd>
- &lt;cmd&gt;make&lt;/cmd&gt;+ <cmd>make</cmd>
- cmd&gt;make install&lt;/cmd&gt;+ cmd>make install</cmd>
- &lt;/archive&gt;+ </archive>
- &lt;/script&gt;+ </script>
- &lt;/build&gt;+ </build>
- &lt;/release&gt;+ </release>
- &lt;/releases&gt;+ </releases>
- &lt;/package&gt;+ </package>
Schaut auf unsere Hompage, um die Namen der Abhängigkeiten (Dependencies) herauszubekommen: Schaut auf unsere Hompage, um die Namen der Abhängigkeiten (Dependencies) herauszubekommen:
Line 118: Line 110:
Hier ein Beispiel: Hier ein Beispiel:
- &lt;deps&gt;+ <deps>
- &lt;dep name=&quot;libgnomeui-2.0&quot;/&gt;+ <dep name="libgnomeui-2.0"/>
- &lt;dep name=&quot;gtk+-2.0&quot;/&gt;+ <dep name="gtk+-2.0"/>
- &lt;dep name=&quot;glib-2.0&quot;/&gt;+ <dep name="glib-2.0"/>
- &lt;dep name=&quot;libglade-2.0&quot;/&gt;+ <dep name="libglade-2.0"/>
- &lt;dep name=&quot;gstreamer-0.8&quot;/&gt;+ <dep name="gstreamer-0.8"/>
- &lt;/deps&gt;+ </deps>
Wie man die Abhängigkeiten herausbekommt: Wie man die Abhängigkeiten herausbekommt:
-* Lese die Datei configure.in oder configure.ac in der Source-Distribution. Du wirst zum Beispiel diese Zeile finden: PKG_CHECK_MODULES(GNOME, libgnomeui-2.0 gtk+-2.0 &gt;= 2.4.0 glib-2.0 &gt;= 2.4.0 libglade-2.0 gstreamer-0.8,,exit). In diesem Fall ist es recht einfach die Abhängigkeiten herauszubkommen. Sie sind alle in der PKG_CHECK_MODULES-list gelistet. Paldo benutzt meist die gleichen Paketnamen. libgnomeui-2.0 ist in der Paldo-Repository auch unter libgnomeui-2.0 gelistet.+* Lese die Datei configure.in oder configure.ac in der Source-Distribution. Du wirst zum Beispiel diese Zeile finden: PKG_CHECK_MODULES(GNOME, libgnomeui-2.0 gtk+-2.0 >= 2.4.0 glib-2.0 >= 2.4.0 libglade-2.0 gstreamer-0.8,,exit). In diesem Fall ist es recht einfach die Abhängigkeiten herauszubkommen. Sie sind alle in der PKG_CHECK_MODULES-list gelistet. Paldo benutzt meist die gleichen Paketnamen. libgnomeui-2.0 ist in der Paldo-Repository auch unter libgnomeui-2.0 gelistet.
* Ließ die README, INSTALL,... Dateien. Manche Projekte listen dort die Abhängigkeiten auf. * Ließ die README, INSTALL,... Dateien. Manche Projekte listen dort die Abhängigkeiten auf.
* Kopiers von einer anderen Distribution. Falls nichts hilft kannst Du immer noch bei anderen Distributions nachschauen, was die für eine Abhängigkeitsliste haben. * Kopiers von einer anderen Distribution. Falls nichts hilft kannst Du immer noch bei anderen Distributions nachschauen, was die für eine Abhängigkeitsliste haben.
Line 134: Line 126:
Die finale '''gftp.xml''' würde so aussehen: Die finale '''gftp.xml''' würde so aussehen:
- &lt;?xml version=&quot;1.0&quot;?&gt;+ <?xml version="1.0"?>
- &lt;package name=&quot;gftp&quot;&gt;+ <package name="gftp">
- &lt;description&gt;GNOME FTP Client&lt;/description&gt;+ <description>GNOME FTP Client</description>
- &lt;releases&gt;+ <releases>
- &lt;release version=&quot;2.0.18&quot; revision=&quot;1&quot; branch=&quot;testing&quot;&gt;+ <release version="2.0.18" revision="1" branch="testing">
- &lt;settings&gt;+ <settings>
- &lt;environment name=&quot;LDFLAGS&quot;&gt;$LDFLAGS -Wl,--as-needed&lt;/environment&gt;+ <environment name="LDFLAGS">$LDFLAGS -Wl,--as-needed</environment>
- &lt;/settings&gt;+ </settings>
- &lt;deps&gt;+ <deps>
- &lt;dep name=&quot;glib-2.0&quot;/&gt;+ <dep name="glib-2.0"/>
- &lt;dep name=&quot;gtk+-2.0&quot;/&gt;+ <dep name="gtk+-2.0"/>
- &lt;dep name=&quot;openssl&quot;/&gt;+ <dep name="openssl"/>
- &lt;/deps&gt;+ </deps>
- &lt;build&gt;+ <build>
- &lt;script&gt;+ <script>
- &lt;archive name=&quot;gftp-$VERSION&quot;&gt;+ <archive name="gftp-$VERSION">
- &lt;cmd&gt;./configure --prefix=/usr --mandir=/usr/share/man --disable-textport&lt;/cmd&gt;+ <cmd>./configure --prefix=/usr --mandir=/usr/share/man --disable-textport</cmd>
- &lt;cmd&gt;make -j 2&lt;/cmd&gt;+ <cmd>make -j 2</cmd>
- &lt;cmd&gt;make install&lt;/cmd&gt;+ <cmd>make install</cmd>
- &lt;/archive&gt;+ </archive>
- &lt;/script&gt;+ </script>
- &lt;/build&gt;+ </build>
- &lt;/release&gt;+ </release>
- &lt;/releases&gt;+ </releases>
- &lt;/package&gt;+ </package>
'''Starten der Compilierung und Installation''' '''Starten der Compilierung und Installation'''
Line 192: Line 184:
== Spec-Template == == Spec-Template ==
- &lt;?xml version=&quot;1.0&quot;?&gt;+ <?xml version="1.0"?>
- &lt;package name=&quot;PaketNAME&quot;&gt;+ <package name="PaketNAME">
- &lt;description&gt;PaketBESCHREIBUNG&lt;/description&gt;+ <description>PaketBESCHREIBUNG</description>
- &lt;releases&gt;+ <releases>
- &lt;release version=&quot;VERSIONSNUMMER&quot; revision=&quot;1&quot; branch=&quot;testing&quot;&gt; + <release version="VERSIONSNUMMER" revision="1" branch="testing">
- &lt;deps&gt;+ <deps>
- &lt;dep name=&quot;ABHÄNGIGKEITSNAME&quot;/&gt;+ <dep name="ABHÄNGIGKEITSNAME"/>
- &lt;dep name=&quot;ABHÄNGIGKEITSNAME&quot;/&gt;+ <dep name="ABHÄNGIGKEITSNAME"/>
- &lt;/deps&gt; + </deps>
- &lt;build&gt;+ <build>
- &lt;script&gt;+ <script>
- &lt;archive name=&quot;PaketNAME-$VERSION&quot;&gt;+ <archive name="PaketNAME-$VERSION">
- &lt;cmd&gt;./configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --sysconfdir=/etc&lt;/cmd&gt;+ <cmd>./configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --sysconfdir=/etc</cmd>
- &lt;cmd&gt;make -j 2&lt;/cmd&gt;+ <cmd>make -j 2</cmd>
- &lt;cmd&gt;make install&lt;/cmd&gt;+ <cmd>make install</cmd>
- &lt;/archive&gt;+ </archive>
- &lt;/script&gt;+ </script>
- &lt;/build&gt;+ </build>
- &lt;/release&gt;+ </release>
- &lt;/releases&gt;+ </releases>
- &lt;/package&gt;+ </package>
[[Category:Handbuch Deutsch]] [[Category:Handbuch Deutsch]]
[[Category:Entwicklung Deutsch]] [[Category:Entwicklung Deutsch]]

Revision as of 18:18, 1 December 2010

Diese Anleitung erklärt Euch, wie Ihr ein Source-Paket mit Upkg für Paldo erstellt und installieren könnt.

Die Paldo-Philosophy ist ja, ein Programm für eine Aufgabe. Nur manchmal ist man auf ein Programm angewiesen oder will ein bestimmtes seinem Paldo-System hinzufügen. Mit Upkg und einer lokalen Repository ist dies kein Problem.

Erstellung einer lokalen Paldo Repository

Zuerst benötigen wir eine Ordnerstruktur, wohin wir unsere Sourcen packen. Wo sich diese Struktur befindet ist egal. Ich hab meine im Home-Ordner.

  [amnon@amsoft:~]$mkdir PaldoRepo
  [amnon@amsoft:~]$mkdir PaldoRepo/binaries
  [amnon@amsoft:~]$mkdir PaldoRepo/sources
  [amnon@amsoft:~]$mkdir PaldoRepo/specs

Nun müssen wir Upkg noch mitteilen, wo es die Repository findet. Editiere Deine /etc/upkg.conf als Root. Sie sollte dann zum Beispiel so aussehen:

  $ su
  Password: enter your root password
  #  sed -i -e 's%<repositories>%&\n<repository>Pfad zu Deiner lokalen Repository</repository>%' /etc/upkg.conf

Sich die Quellcode eines Programms besorgen

Nun ladest Du die Source von dem Programm herrunter, welches Du installieren möchtest. Ich nehme für dieses Beispiel den " Tarball von gFTP her. Upkg benötigt das Source-Archiv als tar (tar-Datei) oder als tar.bz2-Datei (bzip2 komprimierte tar-Datei). Seit der Version 0.236 werden auch tgz-Archive unterstützt. Achte darauf, dass das Source-Archiv das entsprechende Dateiformat hat. Kopiere es dann in den sources-Ordner Deiner lokalen Repository.

Upkg wird das Paket nur finden, wenn Du's unter $REPOSITORYVERZEICHNIS/sources/$PaketNAME speicherst.

Da mein Archiv sich gftp-2.0.18.tar.bz2 nennt, belasse ich es dabei und werde das Paket gftp nennen.

 [amnon@amsoft:~/sources/gftp]ls gftp-2.0.18.tar.bz2
 [amnon@amsoft:~/sources/gftp]mv gftp-2.0.18.tar.bz2 ~/PaldoRepo/sources/gftp/

Falls Du doch tar.gz benutzen willst, musst Du diese Kompression Upkg mitteilen:

<archive name="gftp-$VERSION" compression="gz">

Ist Dein Archiv ein tgz-Archiv und Du hast mindestens die Version 0.236 von UPKG installiert kannst Du UPKG dies folgendermaßen mitteilen:

<archive name="gftp-$VERSION" type="tgz">

Dann würde UPKG nach gftp-2.0.18.tgz suchen.

Buggy Packaging

Manchmal gibt es falsch gepackte Archive. Ein Beispiel:

  ./foo-1.0/bar

Um den Pfad bar zubekommen kannst Du nun folgendes machen um dies zu erreichen:

<archive strip="2" name="foo-$VERSION" type="tgz">

Es ist auch mal notwendig strip komplett zu entfernen. Dies geht mit:

<archive strip="0" name="lazarus-$VERSION">

Dies ist notwendig wenn das Paket keinen Hauptordner hat und alle Dateien die benötigt werden einfach in ein Archiv gepackt wurden. Siehe lazarus

strip="1" ist standard somit müsst Ihr es nicht aufführen.

Erstellung der Spec-Datei für Upkg

Nun müssen wir Upkg mitteilen, wie der Paketmanager mit dem Quellcode umgehen soll. Dies geschieht durch eine simple XML-Datei. Der Name des Titels sollte der Paketname sein. Im Beispiel ist dieser gftp. Die Datei schaut wie folgt aus:

  <?xml version="1.0"?>
  <package name="gftp">
  	<description>GNOME FTP Client</description>
  	<releases>
  		<release version="2.0.18" revision="1" branch="testing">
  			<build>
  				<script>
  					<archive name="gftp-$VERSION">
  						<cmd>./configure --prefix=/usr --mandir=/usr/share/man --disable-textport</cmd>
  						<cmd>make -j 2</cmd>
  						<cmd>make install</cmd>
  					</archive>
  				</script>
  			</build>
  		</release>
  	</releases>
  </package>

Diese Datei wird dann in den specs-Ordner als gftp.xml gespeichert. Upkg benötigt die .xml-Endung, da es sonst das Paket nicht finden würde.

Falls Dein Paket Abhängigkeiten zu anderen Paket hat sieht die XML-Datei so aus:

  <?xml version="1.0"?>
  <package name="PaketNAME">
  	<description>PaketBESCHREIBUNG</description>
  	<releases>
  		<release version="VERSIONSNUMMER" revision="1" branch="stable">  
  			<deps>
  				<dep name="ABHÄNGIGKEITSNAME"/>
  				<dep name="ABHÄNGIGKEITSNAME"/>
  			</deps>                          
  			<build>
  				<script>
  					<archive name="PaketNAME-$VERSION">
  						<cmd>./configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --sysconfdir=/etc</cmd>
  						<cmd>make</cmd>
     						cmd>make install</cmd>
  					</archive>
  				</script>
  			</build>
  		</release>
  	</releases>
  </package>

Schaut auf unsere Hompage, um die Namen der Abhängigkeiten (Dependencies) herauszubekommen:

Hier ein Beispiel:

  <deps>
     <dep name="libgnomeui-2.0"/>
     <dep name="gtk+-2.0"/>
     <dep name="glib-2.0"/>
     <dep name="libglade-2.0"/>
     <dep name="gstreamer-0.8"/>
  </deps>

Wie man die Abhängigkeiten herausbekommt:

  • Lese die Datei configure.in oder configure.ac in der Source-Distribution. Du wirst zum Beispiel diese Zeile finden: PKG_CHECK_MODULES(GNOME, libgnomeui-2.0 gtk+-2.0 >= 2.4.0 glib-2.0 >= 2.4.0 libglade-2.0 gstreamer-0.8,,exit). In diesem Fall ist es recht einfach die Abhängigkeiten herauszubkommen. Sie sind alle in der PKG_CHECK_MODULES-list gelistet. Paldo benutzt meist die gleichen Paketnamen. libgnomeui-2.0 ist in der Paldo-Repository auch unter libgnomeui-2.0 gelistet.
  • Ließ die README, INSTALL,... Dateien. Manche Projekte listen dort die Abhängigkeiten auf.
  • Kopiers von einer anderen Distribution. Falls nichts hilft kannst Du immer noch bei anderen Distributions nachschauen, was die für eine Abhängigkeitsliste haben.

Die finale gftp.xml würde so aussehen:

  <?xml version="1.0"?>
  <package name="gftp">
  	<description>GNOME FTP Client</description>
  	<releases>
  		<release version="2.0.18" revision="1" branch="testing">
  			<settings>
  				<environment name="LDFLAGS">$LDFLAGS -Wl,--as-needed</environment>
  			</settings>
  			<deps>
  				<dep name="glib-2.0"/>
  				<dep name="gtk+-2.0"/>
  				<dep name="openssl"/>
  			</deps>
  			<build>
  				<script>
  					<archive name="gftp-$VERSION">
  						<cmd>./configure --prefix=/usr --mandir=/usr/share/man --disable-textport</cmd>
  						<cmd>make -j 2</cmd>
  						<cmd>make install</cmd>
  					</archive>
     				</script>
  			</build>
  		</release>
  	</releases>
  </package>

Starten der Compilierung und Installation

Nun sind wir bereit das Paket zu compilen und das Programm somit zu installieren. Folgendes Kommando startet das Ganze:

  [amnon@amsoft:~]#su
  [amnon@amsoft:~]#password:
  [root@amsoft:~]# upkg-build gftp
  Generating script...
  Writing script...
  Executing script...
  The following extra packages will be installed:
  gftp
  The following packages will be built from source:
  gftp
  
  Do you want to continue? [Y/n]
  Building gftp-2.0.18-1 (stable)...
  [root@amsoft:~]#

Wenn Du die Meldungen der Compilierung sehen willst starte die Installation mit:

  [root@amsoft:~]# upkg-build --verbose gftp

Um das Paket wieder zu entfernen führe folgendes Kommando aus:

  [root@amsoft:~]# upkg-remove gftp

Somit ist das Paket dann restlos von Deinem System deinstalliert.

Spec-Template

  <?xml version="1.0"?>
  <package name="PaketNAME">
  	<description>PaketBESCHREIBUNG</description>
  	<releases>
  		<release version="VERSIONSNUMMER" revision="1" branch="testing">  
  			<deps>
  				<dep name="ABHÄNGIGKEITSNAME"/>
  				<dep name="ABHÄNGIGKEITSNAME"/>
  			</deps>                          
  			<build>
  				<script>
  					<archive name="PaketNAME-$VERSION">
  						<cmd>./configure --prefix=/usr --infodir=/usr/share/info --mandir=/usr/share/man --sysconfdir=/etc</cmd>
  						<cmd>make -j 2</cmd>
     						<cmd>make install</cmd>
  					</archive>
  				</script>
  			</build>
  		</release>
  	</releases>
  </package>
Personal tools