File yast2-wagon.spec of Package yast2-wagon

#
# spec file for package yast2-wagon
#
# Copyright (c) 2011 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#

# norootforbuild


Name:           yast2-wagon
Version:        2.20.3
Release:        0.<RELEASE2>

BuildRoot:      %{_tmppath}/%{name}-%{version}-build
Source0:        yast2-wagon-2.20.3.tar.bz2

Prefix:         /usr

Group:          System/YaST
License:        GPLv2+
# PackagesUI::RunPackageSelector
Requires:       yast2 >= 2.17.40
Requires:       yast2-online-update-frontend >= 2.17.9
# BNC #571621, Returns <upgrades> section from product file
Requires:       yast2-pkg-bindings >= 2.19.1

# Called in proposal and in code
Requires:       yast2-packager yast2-add-on

# Counting packages directly in packages proposal (BNC #573482)
Requires:       yast2-update >= 2.18.7

BuildRequires:  perl-XML-Writer update-desktop-files yast2 yast2-devtools yast2-testsuite yast2-update

# xmllint
BuildRequires:  libxml2

# control.rng
BuildRequires:  yast2-installation >= 2.17.44

Provides:       yast2-online-update-frontend:%{_datadir}/applications/YaST2/cd_update.desktop

# See BNC #613820, Comment #22
Conflicts:      yast2-perl-bindings < 2.19.0
Conflicts:      yast2-storage < 2.19.0

# Requires a control file
Requires:       wagon-control-file

BuildArch:      noarch

Summary:        YaST2 - Migration Tool for Service Packs

%description
Wagon is a convenience tool to guide the user through the migration. It
does not contain any extra functionality beyond what's available
through command line tools.

%prep
%setup -n yast2-wagon-2.20.3

%build
%{prefix}/bin/y2tool y2autoconf
%{prefix}/bin/y2tool y2automake
autoreconf --force --install

export CFLAGS="$RPM_OPT_FLAGS -DNDEBUG"
export CXXFLAGS="$RPM_OPT_FLAGS -DNDEBUG"

%{?suse_update_config:%{suse_update_config -f}}
./configure --libdir=%{_libdir} --prefix=%{prefix} --mandir=%{_mandir}
# V=1: verbose build in case we used AM_SILENT_RULES(yes)
# so that RPM_OPT_FLAGS check works
make %{?jobs:-j%jobs} V=1

%install
make install DESTDIR="$RPM_BUILD_ROOT"
[ -e "%{prefix}/share/YaST2/data/devtools/NO_MAKE_CHECK" ] || Y2DIR="$RPM_BUILD_ROOT/usr/share/YaST2" make check DESTDIR="$RPM_BUILD_ROOT"
for f in `find $RPM_BUILD_ROOT/%{prefix}/share/applications/YaST2/ -name "*.desktop"` ; do
    d=${f##*/}
    %suse_update_desktop_file -d ycc_${d%.desktop} ${d%.desktop}
done

xmllint --noout --relaxng %{_datadir}/YaST2/control/control.rng %{buildroot}%{_datadir}/YaST2/control/*.xml
# ghost file
touch %{buildroot}%{_datadir}/YaST2/control/online_migration.xml

%clean
rm -rf "$RPM_BUILD_ROOT"
rm -rf %{buildroot}%%{_datadir}/YaST2/control/online_migration.xml

%files
%defattr(-,root,root)
%{_prefix}/sbin/wagon
/usr/share/YaST2/clients/*.ycp
/usr/share/YaST2/modules/*.ycp
/usr/share/YaST2/modules/*.ybc
%{prefix}/share/applications/YaST2/*.desktop
%doc %{prefix}/share/doc/packages/yast2-wagon
%dir /usr/share/YaST2/include/wagon
/usr/share/YaST2/include/wagon/*.ycp
%exclude %{_datadir}/YaST2/control
%exclude %{_datadir}/YaST2/control/*.xml

#
# yast2-wagon-control-openSUSE
#

%package control-openSUSE

# Generic 'provides'
Provides:       wagon-control-file

Group:          System/YaST
License:        GPLv2+

Conflicts:      otherproviders(wagon-control-file)
Supplements:    packageand(yast2-wagon:branding-openSUSE)

Summary:        YaST Wagon control file for openSUSE

%description control-openSUSE
YaST Wagon control file for openSUSE

%post control-openSUSE
ln -sf online_migration-SLE.xml %{_datadir}/YaST2/control/online_migration.xml

%files control-openSUSE
%defattr(-,root,root)
%dir %{_datadir}/YaST2/control
%{_datadir}/YaST2/control/online_migration-openSUSE.xml
%ghost %{_datadir}/YaST2/control/online_migration.xml

#
# yast2-wagon-control-SLE
#

%package control-SLE

# Generic 'provides'
Provides:       wagon-control-file

Group:          System/YaST
License:        GPLv2+

# Prevent from crashes (BNC #551613)
Requires:       yast2-registration >= 2.18.0

Conflicts:      otherproviders(wagon-control-file)
Supplements:    packageand(yast2-wagon:branding-SLE)

Summary:        YaST Wagon control file for SLE

%description control-SLE
YaST Wagon control file for SLE

%post control-SLE
ln -sf online_migration-SLE.xml %{_datadir}/YaST2/control/online_migration.xml

%files control-SLE
%defattr(-,root,root)
%dir %{_datadir}/YaST2/control
%{_datadir}/YaST2/control/online_migration-SLE.xml
%ghost %{_datadir}/YaST2/control/online_migration.xml
%changelog