Wiki page
[PackageSpecificationFile] by
zester
2014-01-13 16:27:03.
D 2014-01-13T16:27:03.901
L PackageSpecificationFile
P 34bbd94182dbbff8457781f88c46c42cc167baff
U zester
W 2704
<h2>Package Specification File</h2>
<table border="0" width="100%">
<tr>
<td valign="top" width="300px">
<dl>
<small>
<dt><b>7. Designing a Package Manager</b></dt>
<dd>7.1 Introduction</dd>
<dd><a href="https://chiselapp.com/user/zester/repository/Hydra/wiki?name=PackageSpecificationFile">7.2 Package Specification File</a></dd>
</small>
</dl>
</td>
<td valign="top">
<h3>Package Specification File Introduction</h3>
<p>A spec file defines all the commands and values that are required for creating a package, everything from the name and version number to the actual commands used to build the program you are packaging.</p>
<!-- Package Specification Example -->
<h3>Specfile Example</h3>
<code><pre>
# Hydra Architecture Package Spec v0.1 | Flac
Name: flac
Version: 1.3.0
Release: 1
License: BSD
URL: https://xiph.org/flac/
Group: Multimedia/Codecs
Type: Library
Source: http://downloads.xiph.org/releases/flac/flac-1.3.0.tar.xz
DownloadSize: 1.1MB
Checksum: 13b5c214cee8373464d3d65dee362cdd
SBU: 0.3
# Package Summary
Summary: FLAC stands for Free Lossless Audio Codec.
# Package Description
Description: >
FLAC stands for Free Lossless Audio Codec, an audio format similar
to MP3, but lossless, meaning that audio is compressed in FLAC without
any loss in quality.
# Patches
Patches:
P1: http://example.com/releases/flac/example1.patch
P2: http://example.com/releases/flac/example2.patch
# Required Dependencies
Required:
R1: clang
R2: musl
# Optional Dependencies
Optional:
O1: ogg
O2: nasm
Packager: Steven Starr
Vendor: Hydra Architecture
# Premake4 Build Script
Build: >
solution "MyApplication"
configurations { "Debug", "Release" }
project "MyApplication"
kind "ConsoleApp"
language "C++"
files { "**.h", "**.cpp" }
configuration "Debug"
defines { "DEBUG" }
flags { "Symbols" }
configuration "Release"
defines { "NDEBUG" }
flags { "Optimize" }
# Change Log
Changelog: >
Mon Jan 6 2014 Steven Starr
Initial Package Spec Creation
</code></pre>
</br>
<!-- Defining Package Information -->
<h3>Defining Package Information</h3>
<p> Most of the package information you need to enter into a spec file fleshes out the information you can query for a given package, such as the name, version, and release information, along with a longer description and a one-line summary.
This gets a little more complicated when you set build locations, name source files, and name patches. The following sections cover how to specify the package information.</p>
</br>
</td>
</tr>
</table>
Z dc23b3b6f52abed98f23e6f3e0bdc92a