Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
Education
patterns-education-server
patterns-education-server.spec
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File patterns-education-server.spec of Package patterns-education-server
# # spec file for package patterns-education-server # # This file and all modifications and additions to the pristine # package are under the same license as the package itself. # # norootforbuild Name: patterns-education-server License: GNU General Public License (GPLv2) Group: Metapackages Summary: Patterns for the Education desktop project Version: 1.4 Release: 0 Url: http://en.opensuse.org/Education/Development Vendor: openSUSE-Education AutoReqProv: off Source: %name.tar.bz2 Source1: patterns-education-server-rpmlintrc # Source2: EXTRA_PROV BuildRequires: coreutils %if 0%{?suse_version} > 1020 BuildRequires: gzip %endif BuildRoot: %{_tmppath}/%{name}-%{version}-build # The name below will be added as global pattern name # in the comment header of each pattern file. # So you can choose a "generic" one to identify all # your patterns later %define global_name "openSUSE-Education" # since openSUSE 11.0 all patterns are collected in # one big pattern file - so this name must be different # from the ones in the tarball %define all_in_one_pattern_name all-%{name} # if you need 32bit packages (and patterns), # set the macro below to 1 %define create_xxbit_pattern 0 # to get a list of all packages for product config, define 1 below %define create_packagelist 1 # Ord: must be unique - so we must have one for each pattern file # and architecture. You only need to define the first number (for # i386 - the rest should be done automatically. %description Pattern files for the Education server Add on CD. Authors: -------- Lars Vogdt %prep %setup -n %name %build %install # # Enviroment # rm -Rf %buildroot mkdir %buildroot mkdir -p %buildroot/CD1/suse/setup/descr mkdir -p %buildroot/%_datadir/%name/repodata #install -m644 %{SOURCE2} %buildroot/CD1/suse/setup/descr/ # # Patterns # TMPFILE=`mktemp /tmp/%{name}-XXXXXX` YEAR=`date "+%Y"` # EXTENSION defines xxbit packages (and patterns) EXTENSION="" function create_pattern(){ for patname in $(ls -d *); do test -f $TMPFILE && rm $TMPFILE pushd $patname 1>/dev/null # Ordernumber must be unique ORDERNUMBER=$(cat Ord) %ifarch ia64 ORDERNUMBER=$((ORDERNUMBER+1)) %endif %ifarch ppc ORDERNUMBER=$((ORDERNUMBER+2)) %endif %ifarch ppc64 ORDERNUMBER=$((ORDERNUMBER+3)) %endif %ifarch s390x ORDERNUMBER=$((ORDERNUMBER+4)) %endif %ifarch x86_64 ORDERNUMBER=$((ORDERNUMBER+5)) %endif if [ "$EXTENSION" != "" ]; then # TODO: is this really necessary ? ORDERNUMBER=$((ORDERNUMBER+10)) fi pat="${patname}${EXTENSION}-%{version}-%{release}.%{_target_cpu}.pat" target="%buildroot/CD1/suse/setup/descr/$pat" xmltarget="%buildroot/%_datadir/%name/repodata/$patname${EXTENSION}" ############################# # generation starts ############################# # # the "normal" patterns for the media # ### top header echo "# %{global_name} Pattern %{version}${EXTENSION}-%{release}.%{_target_cpu} -- (c) $YEAR %{vendor}" > $target echo -n "# generated on " >> $target date >> $target echo >> $target echo "=Ver: 5.0" >> $target echo >> $target echo "=Pat: " $patname %{version} %{release} %{_target_cpu} >> $target # Category, summary and description must be present for tag in Cat Ico Sum Vis Ord; do if [ -f $tag ]; then echo >> $target echo -n "=${tag}: " >> $target cat $tag >> $target fi done if [ -f Des ]; then echo >> $target echo "+Des:" >> $target cat Des >> $target echo "-Des:" >> $target fi # now the translations # for supported languages see: https://forgesvn1.novell.com/svn/suse-i18n/trunk/yast/ for tag in $(ls Cat.*); do echo >> $target echo -n "=${tag}: " >> $target cat $tag >> $target done for tag in $(ls Sum.*); do echo >> $target echo -n "=${tag}: " >> $target cat $tag >> $target done for tag in $(ls Des.*); do echo >> $target echo "+${tag}:" >> $target cat $tag >> $target echo "-${tag}:" >> $target done # the interesting part: dependencies for tag in Prv Req Rec Con Ext Fre Inc Obs Sug Sup Prc Prq Psg; do test -f $TMPFILE && rm $TMPFILE test -f ${TMPFILE}2 && rm ${TMPFILE}2 if [ -f "$tag" ]; then sort -u $tag > $TMPFILE fi # check if there is a file like "Prc+i586" # packages listed in this file should be added # to the Tag if the pattern is build for i586 if [ -f "${tag}+%{_target_cpu}" ]; then sort -u ${tag}+%{_target_cpu} >> $TMPFILE fi # check if there is a file like "Prc-x86_64" # packages listed in this file should be removed # from the Tag if the pattern is build for x86_64 if [ -f "${tag}-%{_target_cpu}" ]; then for i in $(cat ${tag}-%{_target_cpu}); do grep -vw $i $TMPFILE > ${TMPFILE}2 mv ${TMPFILE}2 $TMPFILE done fi # now get it all together # whatch for packages with version informations # "kernel-default >= 2.6.25" for example if [ -f "${TMPFILE}" ]; then echo >> $target echo "+${tag}:" >> $target sort -u ${TMPFILE} | while read a b; do if [ x"$b" = x"" ]; then echo "${a}${EXTENSION}" else echo "${a}${EXTENSION} $b" fi done >> $target echo "-${tag}:" >> $target fi if [ "$EXTENSION" != "" ]; then if [ ! -f ${tag} ]; then case ${tag} in Sup) echo "+${tag}:" >> $target echo "${EXTENSION}" >> $target echo "-${tag}:" >> $target ;; Fre) echo "+${tag}:" >> $target echo "${patname}" >> $target echo "-${tag}:" >> $target ;; esac fi fi done # # now the xml pattern for buildservice # echo "<pattern" >> $xmltarget echo " xmlns=\"http://novell.com/package/metadata/suse/pattern\"" >> $xmltarget echo " xmlns:rpm=\"http://linux.duke.edu/metadata/rpm\">" >> $xmltarget # Pattern name if [ -f Sum ]; then echo -n " <name>" >> $xmltarget cat Sum | tr -d "\n" >> $xmltarget echo "</name>" >> $xmltarget else echo " <name>$patname</name>" >> $xmltarget fi # Summary if [ -f Sum ]; then echo -n " <summary lang=\"en\">" >> $xmltarget cat Sum | tr -d "\n" >> $xmltarget echo " </summary>" >> $xmltarget for i in $(ls Sum.*); do if [ -f $i ]; then echo -n " <summary lang=\"${i/Sum./}\">" >> $xmltarget cat $i | tr -d "\n" >> $xmltarget echo " </summary>" >> $xmltarget fi done fi # Description if [ -f Des ]; then echo -n " <description lang=\"en\">" >> $xmltarget cat Des | tr -d "\n" >> $xmltarget echo " </description>" >> $xmltarget for i in $(ls Des.*); do echo -n " <description lang=\"${i/Des./}\">" >> $xmltarget cat $i | tr -d "\n" >> $xmltarget echo " </description>" >> $xmltarget done fi # Visible if [ "$(cat Vis)" == "true" ]; then echo " <uservisible />" >> $xmltarget fi # Category if [ -f Cat ]; then echo -n " <category lang=\"en\">" >> $xmltarget cat Cat | tr -d "\n" >> $xmltarget echo " </category>" >> $xmltarget for i in $(ls Cat.*); do echo -n " <category lang=\"${i/Cat./}\">" >> $xmltarget cat $i | tr -d "\n" >> $xmltarget echo " </category>" >> $xmltarget done fi # the interesting part: dependencies for tag in Prv Req Rec Con Ext Fre Inc Obs Sug Sup Prc Prq Psg; do if [ -f $tag ]; then case $tag in Prv) TAG="rpm:provides" KIND="pattern" ;; Req) TAG="rpm:requires" KIND="pattern" ;; Rec) TAG="rpm:recommends" KIND="pattern" ;; Con) TAG="rpm:conflicts" KIND="pattern" ;; Ext) TAG="suse:extends" KIND="pattern" ;; Fre) TAG="suse:freshens" KIND="pattern" ;; Inc) TAG="suse:freshens" KIND="pattern" ;; Obs) TAG="rpm:obsoletes" KIND="pattern" ;; Sug) TAG="suse:suggests" KIND="pattern" ;; Sup) TAG="suse:supplements" KIND="pattern" ;; Prc) TAG="rpm:recommends" KIND="package" ;; Prq) TAG="rpm:requires" KIND="package" ;; Psg) TAG="rpm:suggests" KIND="package" ;; esac echo " <$TAG>" >> $xmltarget test -f $TMPFILE && rm $TMPFILE sort -u $tag > $TMPFILE for entry in $(cat $TMPFILE); do echo " <rpm:entry name=\"$entry\" kind=\"$KIND\" />" >> $xmltarget %if 0%{?create_packagelist} if [ x"$KIND" = x"package" ]; then echo " <package name=\"$entry\"/>" >> $LIST fi %endif done echo " </$TAG>" >> $xmltarget fi done echo "</pattern>" >> $xmltarget popd 1>/dev/null done } %if 0%{?create_packagelist} LIST="%buildroot/%_datadir/%name/%name.xml" echo "<?xml version=\"1.0\" encoding=\"UTF-8\"?>" >> $LIST echo "<group name=\"%name\">" >> $LIST echo " <packagelist id=\"%name\">" >> $LIST %endif create_pattern %if 0%{?create_xxbit_pattern} %ifarch ia64 EXTENSION="-x86" %endif %ifarch ppc EXTENSION="-64bit" %endif %ifarch s390x EXTENSION="-32bit" %endif %ifarch x86_64 EXTENSION="-32bit" %endif %endif if [ "$EXTENSION" != "" ]; then create_pattern fi %if 0%{?create_packagelist} echo " </packagelist>" >> $LIST echo "</group>" >> $LIST %endif pushd %buildroot/CD1/suse/setup/descr 1>/dev/null %if 0%{?suse_version} > 1030 ALL_NAME=%{all_in_one_pattern_name} if [ -f "$ALL_NAME-%{version}-%{release}.%{_target_cpu}.pat" ]; then echo "pattern $ALL_NAME-%{version}-%{release}.%{_target_cpu}.pat exists" exit 1 else for i in *.pat; do cat $i >> $ALL_NAME-%{version}-%{release}.%{_target_cpu}.pat rm $i done fi %endif # since openSUSE 10.3, pattern files are compressed... %if 0%{?suse_version} > 1020 gzip *.pat %endif popd 1>/dev/null %clean rm -rf %buildroot %files %defattr(-,root,root) %dir /CD1 %dir %_datadir/%name %dir /CD1/suse %dir /CD1/suse/setup %dir /CD1/suse/setup/descr %dir %_datadir/%name /CD1/suse/setup/descr/* %_datadir/%name/* %changelog
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor