The pspec.xml (package specifications) in Pisi Linux with Description of a pspec.xml

Source section

After the header of pspec.xml, you will find the source section. This section gives basic information about the package’s source and the required dependencies to compile the package.

In addition, there are : licence, category, package’s paths, and which patches (changes) need to be applied before the compiling process is started.

 

Package section

In this section, information about the files that will be created after packaging is given.

It starts with all “Dependencies“ that are required to run the software in the host system. Then, the “Files“ defines all the paths in the created package. Finally, the “Additional Files“ defines the files that are not part of the source package. You can store and use them in the build-folder named „files“.

As mentioned before, source files are patched (if required), compiled and then transferred to the directory /var/pisi/package_name/install.
History section

Information about updates are listed here. When there is a need to fix a bug or an enhancement or a change of version, the release number should be increased. This is to make sure the the new package is offered to the user as an update in PiSi or Package Manager. This release number will be added after the package name, thus preventing confusion. The release number should be increased by one with every different release.

 

An example of PSPEC.XML :

<?xml version="1.0" ?>
<!DOCTYPE PISI SYSTEM  "http://www.pisilinux.org/projeler/pisi/pisi-spec.dtd">
<PISI>

    <Source>
        <Name>clipgrab</Name>
        <Homepage>http://clipgrab.de</Homepage>
        <Packager>
            <Name>PisiLinux Community</Name>
            <Email>admins@pisilinux.org</Email>
        </Packager>
        <License>GPLv3</License>
        <Icon>clipgrab</Icon>
       <PartOf>network.download</PartOf>
        <IsA>app:gui</IsA>
        <Summary>An application to protect your computer from evil eyes (harmful looks)</Summary>
        <Description>Knazar is an application designed specifically to do nothing.</Description>
        <Archive sha1sum="fb4ed2937bc825d2563abfd010351a89d024c71d" type="tarbz2">http://clipgrab.de/download/clipgrab-3.2.0.11.tar.bz2</Archive>
        <BuildDependencies>
            <Dependency versionFrom="4.4.3">kdelibs-devel</Dependency>		→ also possible without specified Version :  <Dependency>kdebase</Dependency> 
        </BuildDependencies>
    </Source>

    <Package>
        <Name>clipgrab</Name>
        <RuntimeDependencies>
            <Dependency versionFrom="4.4.3">kdebase</Dependency>           	→ also possible without specified Version :  <Dependency>kdebase</Dependency> 
        </RuntimeDependencies>
        <Files>
            <Path fileType="executable">/usr/bin</Path>
            <Path fileType="doc">/usr/share/doc</Path>
            <Path fileType="localedata">/usr/share/locale</Path>
            <Path fileType="data">/usr/share/icons</Path>
            <Path fileType="data">/usr/share/applications</Path>
        </Files>
   </Package>

    <History>
        <Update release="2">
            <Date>2013-11-13</Date>
            <Version>1.1</Version>
            <Comment>Update Version</Comment>
            <Name>groni</Name>
            <Email>xxxxx@xxxxx</Email>
        </Update>
		|
		|
        <Update release="1">
            <Date>2005-09-28</Date>
            <Version>0.1</Version>
            <Comment>First release.</Comment>
            <Name>Homer Simpson</Name>
            <Email>xxxxx@xxxxx</Email>
        </Update>
    </History>
</PISI>

Name of the Source and the package should/must be the same (also in translations.xml)

Homepage ist the link to the project homepage

Packager-Name and Email is the name and, of course, the valid email address the best all Time you write PisiLinux Community and as email address

admins@pisilinux.org

License is the software’s license. A software can have more than one license. Possible licenses can be found here

Icon is the name of the icon without ending (.png). The icon name is very often the same as the package name

PartOf This is the content of the component.xml that defines which component this package belongs to. Categories of possible Component information can be found on the Pisi Linux GitHub: https://github.com/pisilinux/PisiLinux (look for component.xml)

IsA is the pisi-category: app app:consoleapp:guiapp:weblibrary service data data:docdata:font driverlocale locale:xx

Summary & Description is information about the package that is shown in the GUI of Package Manager. Summary should be short and precise, Description could be longer with more details.

Archive is the Source of the software (checksum, type and location). Possible types are : tar.bz2 / zip / tar.gz / tar / gz / bz2 / ……..

Path fileType specifies where the files are located after installation. You can find all available fileType properties on the GitHub

Please keep in mind that between the various level are 4 blank spaces.

Tab is not allowed and could cause errors!

If You are using PiSiDo don´t care about this.

PiSiDo will take care about it.