home *** CD-ROM | disk | FTP | other *** search
/ Chip 2007 January, February, March & April / Chip-Cover-CD-2007-02.iso / boot / i386 / rescue / usr / lib / rpm / suse_macros < prev    next >
Text File  |  2006-11-29  |  18KB  |  489 lines

  1. %suse_check \
  2.         %{?buildroot:RPM_BUILD_ROOT=\"%{buildroot}\"\
  3.         export RPM_BUILD_ROOT}\
  4.         test -x /usr/sbin/Check -a $UID = 0 -o -x /usr/sbin/Check -a ! -z "$RPM_BUILD_ROOT" && {\
  5.             echo "I call /usr/sbin/Check..."\
  6.             /usr/sbin/Check\
  7.         }
  8.  
  9. # directories
  10. %_infodir               %{_prefix}/share/info
  11. %_mandir                %{_prefix}/share/man
  12. %_sysconfdir            /etc
  13. %_localstatedir         /var
  14. %_defaultdocdir         %{_usr}/share/doc/packages
  15.  
  16. # package build macros
  17. %makeinstall            make DESTDIR=%{?buildroot:%{buildroot}} install
  18. %tcl_version            %(echo 'puts [package require Tcl]' | tclsh)
  19. %tclscriptdir           %_datadir/tcl
  20. %rb_arch                %(echo %{_host_cpu}-linux | sed -e "s/i686/i586/" | sed -e "s/armv5tel/armv4l/")
  21. %rb_ver                 %(/usr/bin/ruby -e 'puts VERSION.sub(/\\\.\\\d$/, "")')
  22. %insserv_prereq         insserv sed
  23. %fillup_prereq          fillup coreutils
  24. %suseconfig_fonts_prereq          perl aaa_base
  25. %install_info_prereq    info
  26.  
  27. %__os_install_post    \
  28.     %{suse_check} \
  29.     /usr/lib/rpm/brp-compress \
  30.     /usr/lib/rpm/brp-symlink \
  31. %{nil}
  32.  
  33. # perl_vendorarch is defined
  34. # perl_vendorlib  is defined
  35. %perl_make_install make DESTDIR=$RPM_BUILD_ROOT install_vendor
  36.  
  37. %perl_process_packlist(n:) \
  38.   mkdir -p $RPM_BUILD_ROOT/var/adm/perl-modules \
  39.   test -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod && { sed -e "s@$RPM_BUILD_ROOT@@g" < $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod > $RPM_BUILD_ROOT/var/adm/perl-modules/%{-n:%{-n*}}%{!-n:%{name}} ; } ; \
  40.   test -n "$RPM_BUILD_ROOT" -a -d $RPM_BUILD_ROOT/%perl_sitearch/auto && find $RPM_BUILD_ROOT/%perl_sitearch/auto -name .packlist -print0 | xargs -0 -r perl -spi -e "s@$RPM_BUILD_ROOT@@g" ; \
  41.   test -n "$RPM_BUILD_ROOT" -a -d $RPM_BUILD_ROOT/%perl_vendorarch/auto && find $RPM_BUILD_ROOT/%perl_vendorarch/auto -name .packlist -print0 | xargs -0 -r perl -spi -e "s@$RPM_BUILD_ROOT@@g" ; \
  42.   rm -f $RPM_BUILD_ROOT%{perl_archlib}/perllocal.pod \
  43.   %nil
  44.  
  45. # macro: %suse_update_desktop_file
  46. #     Used to add easily a category to .desktop files according to XDG
  47. #     standard.
  48. %suse_update_desktop_file(cinrud:D:N:C:G:) \
  49.    /usr/lib/rpm/suse_update_desktop_file.sh %{**} || exit 1 \
  50.   %nil
  51.  
  52. # macro: %restart_on_update()
  53. #    Used to restart a service in postun section, if we are
  54. #    not running from YaST2 in instsys on update.
  55. %restart_on_update() \
  56.     test -n "$FIRST_ARG" || FIRST_ARG=$1 \
  57.     if test "$FIRST_ARG" -ge 1 ; then \
  58.        test -f /etc/sysconfig/services && . /etc/sysconfig/services \
  59.            if test "$YAST_IS_RUNNING" != "instsys" -a "$DISABLE_RESTART_ON_UPDATE" != yes ; then \
  60.               for service in %{?*} ; do \
  61.                  /etc/init.d/$service try-restart > /dev/null || : \
  62.               done \
  63.            fi \
  64.         fi \
  65.     %nil
  66.  
  67. # macro: %stop_on_removal()
  68. #       Used to stop a service in preun section, if we are
  69. #       not running from YaST2 in instsys on removal of this package.
  70. %stop_on_removal() \
  71.         test -n "$FIRST_ARG" || FIRST_ARG=$1 \
  72.         if test "$FIRST_ARG" = "0" ; then \
  73.        test -f /etc/sysconfig/services && . /etc/sysconfig/services \
  74.            if test "$YAST_IS_RUNNING" != "instsys" -a "$DISABLE_STOP_ON_REMOVAL" != yes ; then \
  75.               for service in %{?*} ; do \
  76.                  /etc/init.d/$service stop > /dev/null \
  77.               done \
  78.            fi \
  79.         fi \
  80.         %nil
  81. # macro: %configure_kernel_source
  82. #
  83. #
  84. %configure_kernel_source() \
  85.     if test -d /usr/src/linux ; then \
  86.         pushd /usr/src/linux \
  87.         test -f .config || cp arch/%_arch/defconfig.default .config \
  88.         yes "" | make oldconfig \
  89.         make dep \
  90.         popd \
  91.     fi \
  92.     %nil
  93.  
  94. %is_plus %(if test -f /.buildenv ; then source /.buildenv ; if [[ "$BUILD_BASENAME" == *+kde ]] ; then echo 1 ; else echo 0 ; fi ; else echo 0 ; fi)
  95.  
  96. %run_permissions() \
  97.     if test "$YAST_IS_RUNNING" != "instsys" ; then \
  98.         if test -x /sbin/SuSEconfig -a -f /sbin/conf.d/SuSEconfig.permissions ; then \
  99.         /sbin/SuSEconfig --module permissions \
  100.         fi \
  101.     fi \
  102.     %nil
  103.         
  104. %run_suseconfig(m:) \
  105.    %{!-m:echo -e "\\nERROR: missing parameter for macro run_suseconfig\\n" ; exit 1 ; } \
  106.    if test "$YAST_IS_RUNNING" != "instsys" ; then \
  107.      if test -x /sbin/SuSEconfig -a -f /sbin/conf.d/SuSEconfig.%{-m*} ; then \
  108.        /sbin/SuSEconfig --module %{-m*} \
  109.      else \
  110.        echo -e "\\nWARNING: SuSEconfig or requested SuSEconfig module not present!\\n" ; \
  111.      fi \
  112.    fi \
  113.    %nil
  114.  
  115. # macro: run_suseconfig_fonts
  116. # call SuSEconfig modules necessary for font setup
  117. # options:
  118. #         -c  (the fonts are CJK fonts, also do setup which is only needed
  119. #              for CJK)
  120. %run_suseconfig_fonts(c) \
  121.   if test -z "$YAST_IS_RUNNING" ; then \
  122.   if test -x /sbin/conf.d/SuSEconfig.fonts ; then \
  123.     %run_suseconfig -m fonts \
  124.   fi \
  125.   if test -x /sbin/conf.d/SuSEconfig.pango ; then \
  126.     %run_suseconfig -m pango \
  127.   fi \
  128.   %{-c:if test -x /sbin/conf.d/SuSEconfig.ghostscript-cjk ; then \
  129.          %run_suseconfig -m ghostscript-cjk \
  130.        fi} \
  131.   fi \
  132.   %nil
  133.  
  134.  
  135. %verify_permissions(e:f:) \
  136.    if test -f /etc/sysconfig/security ; then \
  137.       source /etc/sysconfig/security \
  138.    fi \
  139.    PERMFILES="/etc/permissions" \
  140.    for PERMEXT in $PERMISSION_SECURITY ; do \
  141.      if test -f /etc/permissions.$PERMEXT ; then \
  142.        PERMFILES="$PERMFILES /etc/permissions.$PERMEXT" \
  143.      fi \
  144.    done \
  145.    /usr/bin/chkstat -n %{**} $PERMFILES 1>&2 \
  146.    %nil
  147.  
  148. # %{suse_update_config [-fcl] [dirs...]}
  149. #   -f: force, ignore timestamp
  150. #   -c: no config.guess,config.sub
  151. #   -l: no ltconfig,ltmain.sh
  152. %suse_update_config(fcl) \
  153.     AUTOMAKE_DIR=/usr/share/automake \
  154.     [ -d $AUTOMAKE_DIR ] || AUTOMAKE_DIR=/usr/share/automake* \
  155.     %{!-c:\
  156.       [ -d $AUTOMAKE_DIR ] || { \
  157.         echo 'Please, install automake.' \
  158.         exit 1 \
  159.       } \
  160.     } \
  161.     for d in . %{?*}; do \
  162.       %{!-c:\
  163.         for f in config.sub config.guess; do \
  164.           if test -f $d/$f -a ! $d/$f -ef $AUTOMAKE_DIR/$f ; then \
  165.             %{!-f:[ $d/$f -nt $AUTOMAKE_DIR/$f ] ||} cp -f $AUTOMAKE_DIR/$f $d/$f \
  166.           fi \
  167.       if test -d $d -a ! -f $d/depcomp -a -f $AUTOMAKE_DIR/depcomp ; then \
  168.         cp -f $AUTOMAKE_DIR/depcomp $d/depcomp \
  169.         echo "please add depcomp to sources for new automake!" \
  170.       fi \
  171.       if test -f $d/missing -a ! $d/missing -ef $AUTOMAKE_DIR/missing ; then \
  172.          cp -f $AUTOMAKE_DIR/missing $d/missing \
  173.       fi \
  174.         done \
  175.       } \
  176.       %{!-l:\
  177.         for f in ltconfig ltmain.sh; do \
  178.           if test -f $d/$f; then \
  179.         sed 's/linux-gnu\\([^*][^*]*\\)\\*/linux*\\1*/g; s/linux-gnu/linux/g; s,/lib\\\>,/%_lib,g; s,/%_lib\\([\$-]\\),/lib\\1,g' $d/$f > $d/$f-$$ && \
  180.         mv -f $d/$f-$$ $d/$f \
  181.         chmod +x $d/$f \
  182.           fi \
  183.         done \
  184.       } \
  185.     done \
  186.  
  187.  
  188. %suse_update_libdir() \
  189.    if [ %_lib != lib ]; then \
  190.      for file in %{?*} ; do \
  191.         [ ! -e $file ] && echo "Error:  $file does not exist!" && exit -1 \
  192.         [ -e $file.nolib64 ] && echo "Error:  $file.nolib64 already exists!" && exit -1 \
  193.         cp $file $file.nolib64 \
  194.         echo "patching $file" \
  195.         sed -e "s,/lib\\\>,/%_lib,g" $file.nolib64 | sed -e "s,/%_lib/cpp,/lib/cpp,; s,/usr/%_lib/perl,/usr/lib/perl, ; s,/%_lib\\([\$-]\\),/lib\\1,g" > $file \
  196.         rm -f $file.nolib64 \
  197.      done; \
  198.    fi ; \
  199.  
  200.  
  201. # macro: fillup_and_insserv
  202. # do the fillup and insserv calls for postinstall
  203. # options: 
  204. #         -n  (use first argument as name for fillup template filenames
  205. #        instead of package name)
  206. #         -f  (skip fillup parts)
  207. #         -i  (skip insserv parts)
  208. #         -s  (specify START_ variable names, otherwise tr a-z A-Z is used)
  209. #         -y  (default start-variable value to yes)
  210. #             Used only if X-UnitedLinux-Default-Enabled is not specified
  211. #             in the init script
  212. #         -p  (ignored for backwards compatibility)
  213. #         -Y  (force_yes: always activate, discard setting before update)
  214. # arguments:
  215. #         [if "-n" first argument as package name]
  216. #         Pairs of:
  217. #            main script name
  218. #           and
  219. #            name of (old) START variable (unless -s is given)
  220. #
  221. # template for variables into etc/sysconfig/package:
  222. #     var/adm/fillup-templates/sysconfig.package
  223. # template for variables into etc/rc.config:
  224. #     var/adm/fillup-templates/rc.config.package
  225. %fillup_and_insserv(finpsyY) \
  226.   test -n "$FIRST_ARG" || FIRST_ARG=$1 \
  227.   %{-Y:FORCE_YES=1}%{!-Y:FORCE_YES=0} \
  228.   REMOVED_START=no \
  229.   set -- %{?*} \
  230.   %{-n:PNAME=$1 ; shift }%{!-n:PNAME=%{name}} \
  231.   INSSRV_ARRAY="" \
  232.   while [ ${#*} -gt 0 ] ; do \
  233.     SCRIPTNAME=$1 \
  234.     shift \
  235.     %{-s:STARTVAR=$1 ; shift} \
  236.     %{!-s:STARTVAR=START_`echo $SCRIPTNAME | tr a-z.- A-Z__`} \
  237.     SV_B='^### BEGIN INIT INFO' \
  238.     SV_E='^### END INIT INFO' \
  239.     SV_KW=X-UnitedLinux-Default-Enabled \
  240.     SV_VAL=`sed -n -e "/$SV_B/,/$SV_E/{/^# $SV_KW:[[:space:]]*\\([^[:space:]]*\\).*/s//\\1/p;}" < etc/init.d/$SCRIPTNAME` \
  241.     test -n "$SV_VAL" || SV_VAL=%{-y:"yes"}%{!-y:"no"} \
  242.     eval $STARTVAR=$SV_VAL \
  243.     test -n "$STARTVAR" -a -n "$SCRIPTNAME" || { \
  244.     echo "STARTVARIABLE or SCRIPTNAME unknown" \
  245.     exit 1 \
  246.     } \
  247.     INSSRV_ARRAY="$INSSRV_ARRAY $SCRIPTNAME $STARTVAR" \
  248.     %{!-f:%{!-i:grep -q "$STARTVAR=" var/adm/fillup-templates/rc.config.$PNAME.del 2>/dev/null || \
  249.     echo -e "#\\n# Start service $SCRIPTNAME\\n#\\n$STARTVAR=\\"${!STARTVAR}\\"\\n\\n" >> var/adm/fillup-templates/rc.config.$PNAME.del } } \
  250.   done \
  251.   %{!-f: %{do_real_fillup}} \
  252.   %{!-i: %{add_start_if_needed $INSSRV_ARRAY } } \
  253.   %nil
  254.  
  255. # do_real_fillup: internal macro
  256. # this part really calls fillup for the appropriate files
  257. #
  258. %do_real_fillup() \
  259.     TEMPLATE_DIR=var/adm/fillup-templates \
  260.     SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME \
  261.     RC_TEMPLATE=$TEMPLATE_DIR/rc.config.$PNAME \
  262.     SD_NAME="" \
  263.     if [ -x bin/fillup ] ; then \
  264.     %{sysc_fillup} \
  265.     # remove the START_ variables from the base fillup template \
  266.     if [ -f $RC_TEMPLATE.del -a -f $RC_TEMPLATE ] ; then \
  267.       bin/fillup -q -r -i  $RC_TEMPLATE $RC_TEMPLATE.del /dev/null \
  268.       mv $RC_TEMPLATE.new $RC_TEMPLATE \
  269.     fi \
  270.     if [ -f etc/rc.config ] ; then \
  271.       %{rc_fillup} \
  272.       # remove the deprecated START_ variables from rc.config \
  273.       if [ -f $TEMPLATE_DIR/rc.config.$PNAME.del ] ; then \
  274.         rm -f etc/rc.config.xtract \
  275.         bin/fillup -q -r -i etc/rc.config $RC_TEMPLATE.del etc/rc.config.xtract \
  276.         if [ -f etc/rc.config.xtract ] ; then \
  277.           . etc/rc.config.xtract \
  278.         fi \
  279.         rm -f etc/rc.config.xtract $RC_TEMPLATE.del \
  280.         if [ -f etc/rc.config.new ] ; then \
  281.           cmp -s etc/rc.config.new etc/rc.config || REMOVED_START=yes \
  282.           mv etc/rc.config.new etc/rc.config \
  283.         fi \
  284.       fi \
  285.     fi \
  286.     else \
  287.     echo "ERROR: fillup not found. This should not happen. Please compare" \
  288.     echo "etc/sysconfig/$PNAME and $TEMPLATE_DIR/sysconfig.$PNAME and" \
  289.     echo "update by hand." \
  290.     fi
  291.  
  292. # add_start_if_needed: internally used by fillup_and_insserv
  293. %add_start_if_needed() \
  294.    set -- %{?*} \
  295.     while [ ${#*} -gt 0 ] ; do \
  296.     SCRIPTNAME=$1 \
  297.     STARTVAR=$2 \
  298.     shift 2 \
  299.     test -n "$STARTVAR" -a -n "$SCRIPTNAME" || { \
  300.         echo "STARTVAR or SCRIPTNAME unknown" \
  301.         exit 1 \
  302.     } \
  303.     if test "$FIRST_ARG" = "1" -o "$REMOVED_START" = "yes" -o "$FORCE_YES" = "1" ; then \
  304.       if test -n "$YAST_IS_RUNNING" ; then \
  305.         INSSERV_FORCE="-f" \
  306.       else \
  307.         INSSERV_FORCE="" \
  308.       fi \
  309.       if test "${!STARTVAR}" = "yes" -o "$FORCE_YES" = "1" ; then \
  310.         sbin/insserv $INSSERV_FORCE etc/init.d/$SCRIPTNAME \
  311.       else \
  312.         sbin/insserv $INSSERV_FORCE -r etc/init.d/$SCRIPTNAME \
  313.       fi \
  314.     fi \
  315.     done 
  316.  
  317. # macro: insserv_cleanup
  318. # only here to be able to define this to nil
  319. # for versions prior to 7.1
  320. %insserv_cleanup() \
  321.     sbin/insserv etc/init.d
  322.  
  323. # macro: fillup_only
  324. #    do the fillup for sysconfig files and if needed extraction
  325. #    of older variables from rc.config and rc.config.d
  326. #   template naming convention:
  327. #     .../fillup-templates/sysconfig.$NAME1[-$NAME2]
  328. #     NAME1: the name of the sysconfig-file
  329. #     NAME2: if needed (if more packages fill the
  330. #            same sysconfig file) the package name
  331. #   options:
  332. #           -n set sysconfig name manually
  333. #           -a use package name as $NAME2
  334. #           -s use second arg as package-name
  335. #           -d use a subdirectory of sysconfig
  336. #              (last arg as directory name)
  337. %fillup_only(dans) \
  338.   %{-n:PNAME=%{1}}%{!-n:PNAME=%{name}} \
  339.   %{-s:SUBPNAME=-%{2}}%{!-s:SUBPNAME=%{-a:-%{name}}} \
  340.     TEMPLATE_DIR=var/adm/fillup-templates \
  341.     SYSC_TEMPLATE=$TEMPLATE_DIR/sysconfig.$PNAME$SUBPNAME \
  342.     RC_TEMPLATE=$TEMPLATE_DIR/rc.config.$PNAME \
  343.     SD_NAME="" \
  344.     %{-d:%{-s:SD_NAME=%{3}/}%{!-s:SD_NAME=%{2}/}} \
  345.     if [ -x bin/fillup ] ; then \
  346.     %{sysc_fillup} \
  347.     %{rc_fillup} \
  348.     else \
  349.     echo "ERROR: fillup not found. This should not happen. Please compare" \
  350.     echo "etc/sysconfig/$SD_NAME$PNAME and $SYSC_TEMPLATE and" \
  351.     echo "update by hand." \
  352.     fi \
  353.     %nil
  354.  
  355. # internal only: rc_fillup
  356. %rc_fillup() \
  357.     # maybe the fillup template for rc.config is old, make sure we do not readd stuff here \
  358.     if [ -f $SYSC_TEMPLATE -a -f $RC_TEMPLATE ] ; then \
  359.       bin/fillup -q -r -i $RC_TEMPLATE $SYSC_TEMPLATE /dev/null \
  360.       mv $RC_TEMPLATE.new $RC_TEMPLATE \
  361.     fi \
  362.     # do the normal fillup for the rc.config variables \
  363.     if [ -f $RC_TEMPLATE ] ; then \
  364.       bin/fillup -q -d = etc/rc.config $RC_TEMPLATE \
  365.     fi
  366.  
  367. # internal only: sysc_fillup
  368. %sysc_fillup() \
  369.     if [ -f $SYSC_TEMPLATE ] ; then \
  370.         echo "Updating etc/sysconfig/$SD_NAME$PNAME..." \
  371.         if [ ! -d etc/sysconfig/$SD_NAME ] ; then \
  372.         mkdir -p etc/sysconfig/$SD_NAME \
  373.         fi \
  374.         if [ -f etc/rc.config.d/$PNAME.rc.config ] ; then \
  375.         if [ -f etc/sysconfig/$SD_NAME$PNAME ] ; then \
  376.             bin/fillup -q etc/sysconfig/$SD_NAME$PNAME etc/rc.config.d/$PNAME.rc.config \
  377.             rm -f etc/rc.config.d/$PNAME.rc.config \
  378.         else \
  379.             mv etc/rc.config.d/$PNAME.rc.config etc/sysconfig/$SD_NAME$PNAME \
  380.         fi \
  381.         fi \
  382.         if [ ! -f etc/rc.config ] ; then \
  383.         test -f etc/sysconfig/$SD_NAME$PNAME || touch etc/sysconfig/$SD_NAME$PNAME \
  384.         bin/fillup -q etc/sysconfig/$SD_NAME$PNAME $SYSC_TEMPLATE \
  385.         else \
  386.             if [ ! -f etc/sysconfig/$SD_NAME$PNAME ] ; then \
  387.             bin/fillup -q -r -i etc/rc.config $SYSC_TEMPLATE etc/sysconfig/$SD_NAME$PNAME \
  388.             else \
  389.             bin/fillup -q -r -i etc/rc.config $SYSC_TEMPLATE etc/sysconfig/$SD_NAME$PNAME.tmp \
  390.             bin/fillup -q etc/sysconfig/$SD_NAME$PNAME etc/sysconfig/$SD_NAME$PNAME.tmp \
  391.             rm -f etc/sysconfig/$SD_NAME$PNAME.tmp \
  392.             fi \
  393.             if [ -f etc/rc.config.new ] ; then \
  394.             mv etc/rc.config.new etc/rc.config \
  395.             fi \
  396.         fi\
  397.     fi
  398.  
  399. # macro: rename_sysconfig_variable
  400. #     as the name says, rename a variable in rc.config
  401. #     or with -f in the given file
  402. %rename_sysconfig_variable(f:) \
  403.     %{!-f:FILE=etc/rc.config}%{-f:FILE=%{-f*}} \
  404.     if [ -f $FILE ] ; then \
  405.       sed -e "s/^%{1}=/%{2}=/" $FILE > $FILE.new \
  406.       mv $FILE.new $FILE \
  407.     fi
  408.  
  409. # macro: save_rc_config_d_was_in_filelist
  410. #    only used for packages that erroneously had the rc.config.d file
  411. #    in their filelist
  412. %save_rc_config_d_was_in_filelist(n) \
  413.   %{-n:PNAME=%{?*}}%{!-n:PNAME=%{name}} \
  414.   mkdir -p etc/sysconfig \
  415.   if [ -f etc/rc.config.d/$PNAME.rc.config -a ! -f etc/sysconfig/$PNAME ] ; then \
  416.     cp etc/rc.config.d/$PNAME.rc.config etc/sysconfig/$PNAME \
  417.   fi
  418.  
  419. # macro: remove_and_set
  420. #      remove variables from rc.config and sysconfig.$NAME
  421. #      (both if existant) and set them in the environment
  422. #      for further handling in postinstall
  423. #  options: -n set package name
  424. #           -y default to yes if not found (otherwise no)
  425. %remove_and_set(n:y) \
  426.   %{-n:PNAME=%{-n*}}%{!-n:PNAME=%{name}} \
  427.   DEF_VAL=%{-y:"yes"}%{!-y:"no"} \
  428.   DEL_TEMPL=var/adm/fillup-templates/$PNAME.del \
  429.   rm -f $DEL_TEMPL \
  430.   for var in %{?*} ; do \
  431.     echo -e "#\\n$var=$DEF_VAL\\n" >> $DEL_TEMPL \
  432.   done \
  433.   if [ -f etc/rc.config ]  ; then \
  434.     bin/fillup -q -t -r -i -d "=" etc/rc.config $DEL_TEMPL etc/rc.config.xtract \
  435.     test -f etc/rc.config.new && mv etc/rc.config.new etc/rc.config \
  436.   fi \
  437.   if [ -f etc/sysconfig/$PNAME ] ; then \
  438.     bin/fillup -q -t -r -i -d "=" etc/sysconfig/$PNAME $DEL_TEMPL etc/rc.config.xtract.too \
  439.     test -f etc/sysconfig/$PNAME.new && mv etc/sysconfig/$PNAME.new etc/sysconfig/$PNAME \
  440.   fi  \
  441.   for i in $DEL_TEMPL etc/rc.config.xtract etc/rc.config.xtract.too ; do \
  442.     if [ -f $i ] ; then \
  443.      . $i \
  444.      rm -f $i \
  445.     fi \
  446.   done
  447.  
  448. %insserv_force_if_yast() \
  449.     if test -n "$YAST_IS_RUNNING" ; then \
  450.             INSSERV_FORCE="-f" \
  451.     else \
  452.         INSSERV_FORCE="" \
  453.     fi \
  454.     sbin/insserv $INSSERV_FORCE %{?*}
  455.  
  456. %run_ldconfig /sbin/ldconfig
  457.  
  458. %install_info(:-:) \
  459.     ALL_ARGS=(%{**}) \
  460.     NUM_ARGS=${#ALL_ARGS[@]} \
  461.     if test -x sbin/install-info ; then \
  462.         if test -e "${ALL_ARGS[$((NUM_ARGS-1))]}" ; then \
  463.         sbin/install-info "${ALL_ARGS[@]}" \
  464.         fi \
  465.     fi ; 
  466.  
  467. %install_info_delete(:-:) \
  468.     ALL_ARGS=(%{**}) \
  469.     NUM_ARGS=${#ALL_ARGS[@]} \
  470.     if test -x sbin/install-info ; then \
  471.        if ! test -e "${ALL_ARGS[$((NUM_ARGS-1))]}" ; then \
  472.         sbin/install-info --quiet --delete "${ALL_ARGS[@]}" \
  473.        fi ; \
  474.     fi ; 
  475.  
  476. # find-supplements.ksyms parses this macro directly out of the spec file:
  477. %supplements_kernel_module() \
  478.         %{expand:%(if ! rpm -q kernel-syms > /dev/null; then echo "%fail Please add the kernel-syms package to BuildRequires"; fi)}
  479.  
  480. %suse_version 1020
  481. %sles_version 0
  482. %ul_version 0
  483.  
  484.  
  485. %do_profiling 1
  486. %cflags_profile_generate -fprofile-arcs
  487. %cflags_profile_feedback -fbranch-probabilities
  488.  
  489.