Apk spec: Difference between revisions

From Alpine Linux
(Initial edit of database per line syntax)
(Add Provider priority (k))
(23 intermediate revisions by 2 users not shown)
Line 1: Line 1:
{{Draft}}
This page is to describe and formalize the specication of 'apk' package manager.
This page is to describe and formalize the specication of 'apk' package manager.


Line 4: Line 6:


== Syntax ==
== Syntax ==
Starts on line number 800 in database.c
Starts on line number 800 in database.c, also check package.c
 
; A
: Architecture
 
; C
: checkusm?
 
; D
: dependencies
 
; F
: file path
 
; I
:
 
; L
: License
 
; M
: '0:0:'
: File Permissions
 
; P
:
 
; R
:
 
; S
:
 
; T
: Package Description
 
; U
: Package URL
 
; V
: Package Version
 
; Z
:
 
; a
:
 
; c
:
 
; i
:
 
; m
: maintainer


; o
{| class="wikitable"
:  
|-
! Field Character
! Description
! Field Data Format
! regex
! install-db
! package-index
|-
| A
| Architecture
| ?
| <nowiki>^A:\S+$</nowiki>
| ?
| yes
|-
| C
| Pull Checksum
| ?
| ?
| ?
| yes
|-
| D
| Pull Dependencies
| ?
| ?
| ?
| yes
|-
| F
| File Path
| ?
| ?
| ?
| no
|-
| I
| Package Installed Size
| ?
| ?
| ?
| yes
|-
| L
| License
| ?
| ?
| ?
| yes
|-
| M
| File Permissions
| ?
| ?
| ?
| no
|-
| P
| Package Name  (no version, just the plain name)
| ?
| ?
| ?
| yes
|-
| R
| Get File
| ?
| ?
| ?
| no
|-
| S
| Package Size
| ?
| <nowiki>^S:(\d+)$</nowiki>
| ?
| yes
|-
| T
| Package Description
| ?
| ?
| ?
| yes
|-
| U
| Package URL
| ?
| ?
| ?
| yes
|-
| V
| Package Version
| ?
| ?
| ?
| yes
|-
| Z
| Pull Checksum
| ?
| ?
| ?
| no
|-
| a
| Check for file existence
| ?
| ?
| ?
| no
|-
| c
| Git commit of aport
| ?
| ?
| ?
| yes
|-
| k
| Provider priority
| ?
| ?
| ?
| yes
|-
| i
| Automatic Install Condition (aka Install IF)
| ?
| ?
| ?
| yes
|-
| m
| Maintainer
| ?
| ?
| ?
| yes
|-
| o
| Package Origin
| ?
| ?
| ?
| yes
|-
| q
| Replaces Priority
| ?
| ?
| ?
| no
|-
| p
| Package Provides
| ?
| ?
| ?
| yes
|-
| r
| Pull Dependencies
| ?
| ?
| ?
| no
|-
| s
| Get Tag Id
| ?
| ?
| ?
| no
|-
| t
| Build Timestamp (epoch)
| ?
| <nowiki>^t:(\d+)$</nowiki>
| ?
| yes
|}


; p
= File Formats =
:


; r
== Index ==
:


; t
== Install DB ==
: Timestamp (epoch)


= Blob =
== Package File ==


= APINDEX =
= APKINDEX =


= Archive =
= Archive =


= APKBUILD =
[[Category:Package Manager]]

Revision as of 16:00, 3 January 2018

This material is work-in-progress ...

Do not follow instructions here until this notice is removed.
(Last edited by Jirutka on 3 Jan 2018.)

This page is to describe and formalize the specication of 'apk' package manager.

Database

Syntax

Starts on line number 800 in database.c, also check package.c

Field Character Description Field Data Format regex install-db package-index
A Architecture ? ^A:\S+$ ? yes
C Pull Checksum ? ? ? yes
D Pull Dependencies ? ? ? yes
F File Path ? ? ? no
I Package Installed Size ? ? ? yes
L License ? ? ? yes
M File Permissions ? ? ? no
P Package Name (no version, just the plain name) ? ? ? yes
R Get File ? ? ? no
S Package Size ? ^S:(\d+)$ ? yes
T Package Description ? ? ? yes
U Package URL ? ? ? yes
V Package Version ? ? ? yes
Z Pull Checksum ? ? ? no
a Check for file existence ? ? ? no
c Git commit of aport ? ? ? yes
k Provider priority ? ? ? yes
i Automatic Install Condition (aka Install IF) ? ? ? yes
m Maintainer ? ? ? yes
o Package Origin ? ? ? yes
q Replaces Priority ? ? ? no
p Package Provides ? ? ? yes
r Pull Dependencies ? ? ? no
s Get Tag Id ? ? ? no
t Build Timestamp (epoch) ? ^t:(\d+)$ ? yes

File Formats

Index

Install DB

Package File

APKINDEX

Archive