Documentation/Package Management

Материал из openSUSE.

Архитектура

Это - один из выходов, через который мы могли бы осуществить пакетный поиск чтобы большинство необходимых аппаратных ресурсов могли быть предусмотрены Novell/SUSE, также допуская поиск общественных хранилищ с прилагаемыми юридическими вопросами.

прим.: , для того, чтобы допускать сеть fronted и т.п., чтобы правильно ранжировать пакеты, каждый результат возвращался другой функцией и должен быть назначен priority. напр.:

10 = нормальный пакет.

5 = Novell/SUSE поддерживающий пакет.

0 = Критическая коррекция Безопасности.


Изображение:PKGSearchDesign.png

В настоящее время база данных, что веб frontend является используется для выделения корректировок для базы данных, если есть на то причины, то она исправляется.

Изображение:PKGSearch-design2.png

Потенциальное продвижение для будущего, интерфейс может подвергнут строительству сервиса и/или другим пакетным проектам, сообщающим о завершении проекта и корректировке хранилища.

Изображение:PKGSearch-design3.png


Сетевой интерфейс

Выполните простой поиск по имени пакета и содержимому:

GET Search/Simple/<distribution>/<searchterm>
GET Search/Simple/<distribution>/<searchterm>?number=<numberofresults>&page=<pagenumber>

Выполните поиск только по имени пакета:

GET Search/ByName/<distribution>/<searchterm>
GET Search/ByName/<distribution>/<searchterm>?number=<numberofresults>&page=<pagenumber>

Выполните писк только по содержимому:

GET Search/ByContents/<distribution>/<searchterm>   
GET Search/ByContents/<distribution>/<searchterm>?number=<numberofresults>&page=<pagenumber>

Получите список файлов пакета командой:

GET Package/Contents/<distribution>/<package checksum>

Получите итоговую информацию для специального пакета командой:

GET Package/Info/<distribution>/<package checksum>

Получите все помеченные хранилища командой:

GET Repos/<distribution>

Распределите хранилища сопостовляя с временем затраченным на поиск командой:

GET Repos/<distribution>/<searchterm>

Получите MetaPackage, чтобы установить определенный пакет автоматически командой:

GET YMPs/<distribution>/<checksum>


Схемы

Результат поиска:

<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' targetNamespace='http://ws.pkgsearch.benjiweber.co.uk' xmlns:bw='http://ws.pkgsearch.benjiweber.co.uk'>
	<xs:complexType name="package">
		<xs:sequence>
			<xs:element name="name" type="xs:string"/>
			<xs:element name="version" type="xs:string"/>
			<xs:element name="repoURL" type="xs:string"/>
			<xs:element name="archs">
				<xs:complexType>
					<xs:sequence>
						<xs:element name="arch" minOccurs="1" maxOccurs="unbounded" type="xs:string"/>
					</xs:sequence>
				</xs:complexType>
			</xs:element>
			<xs:element name="distro" type="xs:string"/>
			<xs:element name="priority" type="xs:integer"/>
			<xs:element name="checksum" type="xs:string"/>
			<xs:element name="matchedFileName" type="xs:string"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="packages">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="package" minOccurs="0" maxOccurs="unbounded" type="bw:package"/>  
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>

Информация о пакете:

<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' targetNamespace='http://ws.pkgsearch.benjiweber.co.uk' xmlns:bw='http://ws.pkgsearch.benjiweber.co.uk'>
	<xs:element name="packageInfo">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="name" type="xs:string"/>
				<xs:element name="summary" type="xs:string"/>
				<xs:element name="description" type="xs:string"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>

Содержимое пакета:

<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' targetNamespace='http://ws.pkgsearch.benjiweber.co.uk' xmlns:bw='http://ws.pkgsearch.benjiweber.co.uk'>
	<xs:element name="packageContents">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="name" type="xs:string"/>
				<xs:element name="file" type="xs:string" minOccurs="0" maxOccurs="unbounded"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>

Хранилище:

<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' targetNamespace='http://datastructures.pkgsearch.benjiweber.co.uk' xmlns:bw='http://datastructures.pkgsearch.benjiweber.co.uk'>
	<xs:complexType name="repo">
		<xs:sequence>
			<xs:element name="url" type="xs:string"/>
		</xs:sequence>
	</xs:complexType>
	<xs:element name="repos">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="repo" minOccurs="0" maxOccurs="unbounded" type="bw:repo"/>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>

Установка пакета:

<xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema' targetNamespace='http://suse.benjiweber.co.uk' xmlns:bw='http://suse.benjiweber.co.uk'>
	<xs:complexType name="package">
		<xs:sequence>
			<xs:element name="name" type="xs:string"/>
			<xs:element name="summary" type="xs:string"/>
			<xs:element name="description" type="xs:string"/>
		</xs:sequence>
		<xs:attribute name="recommended" type="xs:boolean"/>
	</xs:complexType>
	<xs:complexType name="repo">
		<xs:sequence>
			<xs:element name="name" type="xs:string"/>
			<xs:element name="summary" type="xs:string"/>
			<xs:element name="description" type="xs:string"/>
			<xs:element name="url" type="xs:string"/>
		</xs:sequence>
		<xs:attribute name="recommended" type="xs:boolean"/>
	</xs:complexType>
	<xs:element name="metapackage">
		<xs:complexType>
			<xs:sequence>
				<xs:element name="repos">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="repo" minOccurs="0" maxOccurs="unbounded" type="bw:repo"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
				<xs:element name="packages">
					<xs:complexType>
						<xs:sequence>
							<xs:element name="package" minOccurs="0" maxOccurs="unbounded" type="bw:package"/>
						</xs:sequence>
					</xs:complexType>
				</xs:element>
			</xs:sequence>
		</xs:complexType>
	</xs:element>
</xs:schema>


Translated by kipwoker