Skip to content

Commit

Permalink
[api] support and test SLE 11 product definitions
Browse files Browse the repository at this point in the history
  • Loading branch information
adrianschroeter committed Feb 14, 2014
1 parent 9fca4d5 commit 55f1b05
Show file tree
Hide file tree
Showing 9 changed files with 350 additions and 18 deletions.
4 changes: 3 additions & 1 deletion src/api/app/models/product.rb
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,9 @@ def self.find_by_name_and_package( name, package )
end

def set_CPE(swClass, vendor, version=nil)
self.cpe = "cpe:/#{swClass}:#{vendor}:#{self.name}"
# hack for old SLE 11 definitions
vendor="suse" if vendor.start_with?("SUSE LINUX")
self.cpe = "cpe:/#{swClass}:#{vendor.downcase}:#{self.name.downcase}"
self.cpe += ":#{version}" if version
end

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -4,10 +4,8 @@
<product id="simple">
<vendor>OBS_Fuzzies</vendor>
<name>simple</name>
<baseversion>11</baseversion>
<patchlevel>2</patchlevel>
<version>13.1</version>
<release>0</release>
<productline>sle</productline>
<register>
<target>sle-11-%{_target_cpu}</target>
<release></release>
Expand All @@ -27,7 +25,7 @@ lines
</urls>
<buildconfig>
<!-- This section is needed to generate the installation media -->
<producttheme>SLES</producttheme>
<producttheme>openSUSE</producttheme>
<betaversion>Beta2</betaversion>
</buildconfig>

Expand All @@ -36,8 +34,8 @@ lines
<defaultlang>en_US</defaultlang>
<datadir>suse</datadir>
<descriptiondir>suse/setup/descr</descriptiondir>
<releasepackage name="simple-release" version="11" flag="EQ"/>
<distribution>SUSE_SLE</distribution>
<releasepackage name="simple-release" version="13.1" flag="EQ"/>
<distribution>openSUSE</distribution>
</installconfig>
<!-- All Flags needed in the running system -->
<runtimeconfig />
Expand All @@ -51,12 +49,11 @@ lines
<mediasets>
<media type="cd"
flavor="cd"
product="sle-obs"
name="OBS-CD"
sourcemedia="1"
create_pattern="false"
ignore_missing_meta_packages="true"
mediastyle="suse-sle11-sp2"
mediastyle="suse-13.2"
use_required="true"
use_suggested="false"
use_recommended="true">
Expand All @@ -73,7 +70,6 @@ lines
<package name="skelcd-obs"/>
<package name="patterns-obs"/>
</metadata>
<productdependency relationship="requires" name="SUSE_SLES" flag="GE" version="11"/>
<use group="obs">
<package name="obs-release" relationship="requires" />
<package name="obs-release-cd" relationship="requires" />
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
<?xml version="1.0" encoding="UTF-8"?>
<productdefinition xmlns:xi="http://www.w3.org/2001/XInclude">
<products>
<product id="simple">
<!-- old SLE 11 style name -->
<vendor>SUSE LINUX Products GmbH, Nuernberg, Germany</vendor>
<name>SUSE_SLES</name>
<baseversion>11</baseversion>
<patchlevel>2</patchlevel>
<release>0</release>
<productline>sle</productline>
<register>
<target>sle-11-%{_target_cpu}</target>
<release></release>
<updates>
<repository project="BaseDistro2.0:LinkedUpdateProject" name="BaseDistro2LinkedUpdateProject_repo" />
</updates>
</register>
<summary>Simple OBS Product</summary>

<description>Some text
in multiple
lines
</description>

<urls>
<url name="bugtracker">https://bugzilla.novell.com/</url>
</urls>
<buildconfig>
<!-- This section is needed to generate the installation media -->
<producttheme>SLES</producttheme>
<betaversion>Beta2</betaversion>
</buildconfig>

<installconfig>
<!-- All flags needed during installation -->
<defaultlang>en_US</defaultlang>
<datadir>suse</datadir>
<descriptiondir>suse/setup/descr</descriptiondir>
<releasepackage name="simple-release" version="11" flag="EQ"/>
<distribution>SUSE_SLE</distribution>
</installconfig>
<!-- All Flags needed in the running system -->
<runtimeconfig />
</product>
</products>

<xi:include href="defaults-conditionals.include" />
<xi:include href="defaults-archsets.include" />
<xi:include href="defaults-repositories.include" />

<mediasets>
<media type="cd"
flavor="cd"
product="sle-obs"
name="OBS-CD"
sourcemedia="1"
create_pattern="false"
ignore_missing_meta_packages="true"
mediastyle="suse-sle11-sp2"
use_required="true"
use_suggested="false"
use_recommended="true">

<preselected_patterns>
<pattern name="OBS" />
</preselected_patterns>

<archsets>
<archset ref="ix86" />
<archset ref="x86_64" />
</archsets>
<metadata>
<package name="skelcd-obs"/>
<package name="patterns-obs"/>
</metadata>
<productdependency relationship="requires" name="SUSE_SLES" flag="GE" version="11"/>
<use group="obs">
<package name="obs-release" relationship="requires" />
<package name="obs-release-cd" relationship="requires" />
</use>
</media>
</mediasets>

<xi:include href="obs.group"/>
</productdefinition>

Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@

<archsets>
<archset name="ix86" productarch="i586">
<arch>i586</arch>
<arch>noarch</arch>
</archset>
<archset name="x86_64" productarch="x86_64">
<arch>x86_64</arch>
<arch>noarch</arch>
</archset>
<archset name="ppc64" productarch="ppc64">
<arch>ppc64</arch>
<arch>noarch</arch>
</archset>
<archset name="s390x" productarch="s390x">
<arch>s390x</arch>
<arch>noarch</arch>
</archset>
<archset name="ia64" productarch="ia64">
<arch>ia64</arch>
<arch>noarch</arch>
</archset>
</archsets>

Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@

<conditionals>
<!-- BASELIBS handling -->
<conditional name="baselibs_only_ia64">
<platform arch="ia64" onlyarch="ia64" />
</conditional>
<conditional name="baselibs_only_x86_64">
<platform arch="x86_64" onlyarch="x86_64"/>
</conditional>
<conditional name="baselibs_only_ppc64">
<platform arch="ppc64" onlyarch="ppc64"/>
</conditional>
<conditional name="baselibs_only_s390x">
<platform arch="s390x" onlyarch="s390x"/>
</conditional>
<conditional name="s390_special">
<platform arch="s390x" addarch="s390" />
</conditional>
<conditional name="s390_special_noarch">
<platform arch="s390x" addarch="noarch" />
</conditional>
<conditional name="additonal_i686">
<platform arch="i586" addarch="i686" />
</conditional>
<conditional name="i586_on_x86_64">
<platform arch="x86_64" onlyarch="i586" />
</conditional>
<conditional name="i586_only">
<platform arch="i586" onlyarch="i586" />
</conditional>
<conditional name="ppc_special">
<platform arch="ppc64" addarch="ppc" />
</conditional>

<conditional name="only_ppc">
<platform arch="ppc" />
</conditional>
<conditional name="only_i586">
<platform arch="i586" />
</conditional>
<conditional name="only_ia64">
<platform arch="ia64" />
</conditional>
<conditional name="only_ppc64">
<platform arch="ppc64" />
</conditional>
<conditional name="only_s390x">
<platform arch="s390x" />
</conditional>
<conditional name="only_x86_64">
<platform arch="x86_64" />
</conditional>
<conditional name="only_i586_and_x86_64">
<platform arch="i586" />
<platform arch="x86_64" />
</conditional>

<conditional name="FROZEN">
<platform onlyarch="skipit" /> <!-- drop it in any case -->
</conditional>

</conditionals>

Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@

<repositories>
<repository path="obs://home:Iggy/10.2"/>
</repositories>

Original file line number Diff line number Diff line change
@@ -0,0 +1,47 @@

Name: obs-release
%define product obs
%define betaversion Beta2
Summary: OBS
Version: ___VERSION___
Release: 0
License: BSD 3-Clause
Group: System/Fhs

Provides: obs-release

___PRODUCT_PROVIDES___

AutoReqProv: on
BuildRoot: %{_tmppath}/%{name}-%{version}-build

%description
___DESCRIPTION___


___FLAVOR_PACKAGES___

%prep

%build


%install
mkdir -p $RPM_BUILD_ROOT/etc
echo "OBS %{version} (%{_target_cpu})" > $RPM_BUILD_ROOT/etc/obs-release
echo VERSION = 11 >> $RPM_BUILD_ROOT/etc/obs-release
echo PATCHLEVEL = 2 >> $RPM_BUILD_ROOT/etc/obs-release

___CREATE_PRODUCT_FILES___

%clean
rm -rf %buildroot

%files
%defattr(644,root,root,755)
%dir /etc/products.d
/etc/products.d/*.prod
/etc/obs-release


%changelog
17 changes: 17 additions & 0 deletions src/api/test/fixtures/backend/source/sle11_product/obs.group
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<group name="obs" version="11" release="0.1">
<pattern ordernumber="2030">
<category>OBS Extension</category>
<description>Simple OBS list</description>
<icon>OBS</icon>
<summary>Blah
Blub</summary>
<visible>true</visible>
<relationships>
<pattern name="OBS" relationship="requires" />
</relationships>
</pattern>
<packagelist>
<package name="obs-server" supportstatus="l3" />
</packagelist>
</group>
Loading

0 comments on commit 55f1b05

Please sign in to comment.