rosa-release/rosa-release.spec
2012-11-20 16:27:35 +04:00

226 lines
5.9 KiB
RPMSpec

# Please update release notes:
# make -C SOURCES release-notes.{html,txt}
#
%define distrib Desktop
%define version 2012.1
%define rel 10
%define distname rosa
%define distsuffix rosa
%define distribution ROSA Linux
%define product_vendor ROSA
%define product_distribution %distribution
%define product_type Basic
%define product_version %version
%define product_branch Official
%define product_release 1
%define product_arch %{_target_cpu}
%define product_id_base vendor=%product_vendor,distribution=%product_distribution,type=%product_type,version=%product_version,branch=%product_branch,release=%product_release,arch=%product_arch
%define rosa_release %version
%define rosa_branch %distrib
%define rosa_arch %{_target_cpu}
%define rosa_os %{_target_os}
%define realversion %version
%define mdkver %(echo %version | sed 's/\\.//')0
Summary: ROSA release file
Name: rosa-release
Version: %version
Release: %rel
License: GPL
URL: http://www.rosalinux.com/
Group: System/Configuration/Other
Source: %name.tar.bz2
Source3: CREDITS
# edited lynx -dump of wiki:
Source4: release-notes.txt
Source5: release-notes.html
Source6: 10rosa-release.sh
Source7: 10rosa-release.csh
BuildRoot: %{_tmppath}/%{name}-root
%description
ROSA Linux release file.
%package common
Summary: ROSA release common files
Group: System/Configuration/Other
Obsoletes: mandriva-release-Discovery
Obsoletes: mandriva-release-Powerpack+
Obsoletes: mandriva-release-One
Obsoletes: mandriva-release-Free
Obsoletes: %name < %version-%release
Obsoletes: mandriva-release-common
Requires: lsb-release
# cf mdvbz#32631
Provides: arch(%{_target_cpu})
Provides: rosa-release-common
Provides: mandriva-release-common
%description common
Common files for ROSA Linux release packages.
%define release_package(s) \
%{-s:%package %1} \
Summary: ROSA release file%{?1: for %1} \
Group: System/Configuration/Other \
Requires: rosa-release-common \
Requires(post): coreutils \
Provides: redhat-release rawhide-release mandrake-release mandriva-release mandrakelinux-release rosa-release \
Provides: %name = %version-%release \
%define release_descr(s) \
%description %{-s:%1} \
ROSA Linux release file for %1 flavor. \
%define release_post(s) \
%post %{-s:%1} \
/bin/ln -fs product.id.%1 /etc/product.id
%define release_install(s) \
cat > %buildroot/etc/product.id.%{1} << EOF \
%{product_id_base},product=%1\
EOF\
\
mkdir -p %buildroot/etc/rpm/macros.d \
cat > %buildroot/etc/rpm/macros.d/%{1}.macros <<EOF \
%%distribution %distribution\
%%rosa_release %rosa_release\
%%rosa_branch %rosa_branch\
%%rosa_arch %rosa_arch\
%%rosa_os %rosa_os\
%%rosa_class %%(. /etc/sysconfig/system; echo \\\$META_CLASS)\
%%mdkver %mdkver\
%%mdvver %mdkver\
%%distsuffix %distsuffix\
%%mandriva_release %%rosa_release\
%%mandriva_branch %%rosa_branch\
%%mandriva_arch %%rosa_arch\
%%mandriva_os %%rosa_os\
%%mandriva_class %%rosa_class\
\
# productid variable\
%%product_id %{product_id_base},product=%{1}\
\
%%product_vendor %product_vendor\
%%product_distribution %product_distribution\
%%product_type %product_type\
%%product_version %product_version\
%%product_branch %product_branch\
%%product_release %product_release\
%%product_arch %product_arch\
%%product_product %1\
\
%{?unstable}\
EOF\
\
mkdir -p %buildroot/etc/sysconfig \
cat > %buildroot/etc/sysconfig/system <<EOF \
SECURITY=3\
CLASS=beginner\
LIBSAFE=no\
META_CLASS=download\
EOF\
%release_package -s Free
Conflicts: rosa-release-EE
%release_package -s EE
Conflicts: rosa-release-Free
%release_descr -s Free
%release_descr -s EE
%prep
%setup -q -n %{name}
cp -a %SOURCE3 CREDITS
cp -a %SOURCE4 release-notes.txt
cp -a %SOURCE5 release-notes.html
cat > README.urpmi <<EOF
This is ROSA Linux %version
You can find the release notes in %_docdir/%name-common/release-notes.txt
or on the web at http://wiki.rosalab.ru
EOF
# check that CREDITS file is in UTF-8, fail otherwise
if iconv -f utf-8 -t utf-8 < CREDITS > /dev/null
then
true
else
echo "the CREDITS file *MUST* be encoded in UTF-8"
echo "please fix it before continuing"
false
fi
%install
rm -rf %buildroot
mkdir -p %buildroot/etc
echo "ROSA Linux release %{realversion} (%{distrib}) for %{_target_cpu}" > %buildroot/etc/rosa-release
ln -sf rosa-release $RPM_BUILD_ROOT/etc/redhat-release
ln -sf rosa-release $RPM_BUILD_ROOT/etc/mandrake-release
ln -sf rosa-release $RPM_BUILD_ROOT/etc/release
ln -sf rosa-release $RPM_BUILD_ROOT/etc/mandriva-release
ln -sf rosa-release $RPM_BUILD_ROOT/etc/mandrakelinux-release
echo "%{version}.0 %{rel} %{distname}" > %{buildroot}/etc/version
mkdir -p %buildroot/etc/profile.d
# (tpg) follow standard specifications http://0pointer.de/blog/projects/os-release
cat > %{buildroot}/etc/os-release << EOF
NAME="%{distribution}"
VERSION="%{product_product} %{realversion} %{distrib}"
ID=rosa
VERSION_ID=%{realversion}
PRETTY_NAME="%{distribution} %{product_product} %{realversion} %{distrib}"
ANSI_COLOR="1;43"
CPE_NAME="cpe:/o:rosa:rosalinux:%{realversion}"
HOME_URL="http://www.rosalinux.com/"
BUG_REPORT_URL="https://bugs.rosalinux.com/"
EOF
cp -f %{SOURCE6} %buildroot/etc/profile.d/
cp -f %{SOURCE7} %buildroot/etc/profile.d/
%release_install Free
%release_install EE
%release_post -s Free
%release_post -s EE
%define release_files(s:) \
%files %{-s:%{-s*}} \
%defattr(-,root,root) \
/etc/rpm/macros.d/%{1}.macros \
/etc/product.id.%1 \
\
%release_files -s Free Free
%release_files -s EE EE
%files common
%defattr(-,root,root)
%doc CREDITS distro.txt README.urpmi release-notes.*
/etc/mandrake-release
/etc/mandriva-release
/etc/mandrakelinux-release
/etc/redhat-release
/etc/rosa-release
/etc/release
/etc/version
/etc/os-release
/etc/profile.d/10rosa-release.sh
/etc/profile.d/10rosa-release.csh
%config(noreplace) %verify(not md5 size mtime) /etc/sysconfig/system
%changelog
* Wed May 23 2012 Alex Burmashev <alex.burmashev@rosalab.ru> 2012.0-1
- Initial import