wiki:RPMMacros

Version 5 (modified by daisuke, 15 years ago) (diff)

--

RPM のマクロの充実

現在の RPM で用意されているマクロを拡充して、より spec ファイルが容易 かつ間違いなくかけるようにすることが目的。

Vine 5 から追加されるマクロ

  • _dist_version
    release 番号のポリシー変更に伴うもの
       %_dist_release vl%(cat /etc/release | cut -f3 -d" " | cut -f1 -d.)
    
    Vine Linux 4.x にも適用
  • フォントパッケージ用マクロ
    %__mkfontdir     umask 133;/usr/bin/mkfontdir
    %__mkfontscale   umask 133;/usr/bin/mkfontscale
    %__fccache       umask 133;which fc-cache &> /dev/null && fc-cache -f
    %__updmap        [ -x %{_bindir}/updmap-sys ] && %{_bindir}/env - %{_bindir}/updmap-sys --nostop 2> /dev/null
    %__upddeffont    [ -x %{_sbindir}/update-defaultfont ] && %{_sbindir}/update-defaultfont 2> /dev/null
    %__mktcapdir umask 133;which mktcapdir &> /dev/null && mktcapdir
    %__font_install_post(%1)         \
     ( ( [ -f "%1/*.ttfconf" ] && %{__mktcapdir} %1 %1/*.ttfconf ); \
       %{__upddeffont} ; \
       %{__updmap} ; \
       %{__fccache} %1 ) >& /dev/null ||:
    %__font_install_postun(%1)      \
     ( ( [ -f "%1/*.ttfconf" ] && %{__mktcapdir} %1 %1/*.ttfconf ); \
       %{__upddeffont} ; \
       %{__updmap} ; \
       %{__fccache} %1 ) >& /dev/null ||:
    
  • emacsen-common マクロ(一部追加)
    %emacsen_commondir /usr/lib/emacsen-common
    %emacsen_pkgdir %{emacsen_commondir}/packages
    
  • python パッケージ用マクロ
    %python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(0)")
    %python_sitearch %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib(1)")
    %pyver %(%{__python} -c "import sys ; print sys.version[:3]")
    

optflags

optflags: i386 -O2 -m32 -march=i386 -mtune=generic -fasynchronous-unwind-tables -fno-strict-aliasing -fno-schedule-insns2
optflags: i486 -O2 -m32 -march=i486 -fasynchronous-unwind-tables -fno-strict-aliasing -fno-schedule-insns2
optflags: i586 -O2 -m32 -march=i586 -fasynchronous-unwind-tables -fno-strict-aliasing -fno-schedule-insns2
optflags: i686 -O2 -m32 -march=i686 -mtune=generic -fasynchronous-unwind-tables -fno-strict-aliasing -fno-schedule-insns2
optflags: pentium3 -O2 -m32 -march=pentium3 -mtune=generic -fasynchronous-unwind-tables -fno-strict-aliasing -fno-schedule-insns2
optflags: pentium4 -O2 -m32 -march=pentium4 -mtune=generic -fasynchronous-unwind-tables -fno-strict-aliasing -fno-schedule-insns2
optflags: athlon -O2 -m32 -march=athlon -fasynchronous-unwind-tables -fno-strict-aliasing -fno-schedule-insns2
optflags: geode -Os -m32 -march=geode  -fno-strict-aliasing -fno-schedule-insns2
optflags: ia64 -O2 -m64 -mtune=generic -fno-strict-aliasing -fno-schedule-insns2
optflags: x86_64 -O2 -m64 -mtune=generic -fno-strict-aliasing -fno-schedule-insns2
optflags: amd64 -O2 -mtune=generic -fno-strict-aliasing -fno-schedule-insns2
optflags: ia32e -O2 -m64 -mtune=generic -fno-strict-aliasing -fno-schedule-insns2

今後追加・変更予定のマクロ

  • rpmscript 用マクロ
    • service の 追加、start/stop
    • アイコンなどの db update
    • gconf shcemas の install/uninstall
    • など
  • compat32
    build_compat32 の指定で以下のブロックを自動挿入
       %package -n compat32-%{name}
       %description -n compat32-%{name}
       %files -n compat32-%{name}
    
  • など(随時追加)

目標時期

2月いっぱいで基本的には固める。

担当

  • daisuke
  • shaolin
  • kazutaka
  • 他募集中