Blame SOURCES/macros.scl-filesystem

44d697
%scl_files %{expand:
44d697
%defattr(-,root,root,-)
44d697
%dir %_scl_prefix
44d697
%dir %attr(555,root,root) %{_scl_root}
44d697
%dir %attr(555,root,root) %{_scl_scripts}
44d697
%{_scl_scripts}/enable
44d697
%{_root_sysconfdir}/scl/prefixes/%scl
44d697
%{_scl_root}/bin
44d697
%attr(555,root,root) %{_scl_root}/boot
44d697
%{_scl_root}/dev
44d697
%dir %{_sysconfdir}
44d697
%{_sysconfdir}/X11
44d697
%{_sysconfdir}/xdg
44d697
%{_sysconfdir}/opt
44d697
%{_sysconfdir}/pm
44d697
%{_sysconfdir}/xinetd.d
44d697
%{_sysconfdir}/skel
44d697
%{_sysconfdir}/sysconfig
44d697
%{_sysconfdir}/pki
44d697
%{_scl_root}/home
44d697
%{_scl_root}/lib
44d697
%ifarch x86_64 ppc ppc64 ppc64le aarch64 sparc sparc64 s390 s390x
44d697
%{_scl_root}/%{_lib}
44d697
%endif
44d697
%{_scl_root}/media
44d697
%dir %{_scl_root}/mnt
44d697
%dir %{_scl_root}/opt
44d697
%attr(555,root,root) %{_scl_root}/proc
44d697
%attr(550,root,root) %{_scl_root}/root
44d697
%{_scl_root}/run
44d697
%{_scl_root}/sbin
44d697
%{_scl_root}/srv
44d697
%{_scl_root}/sys
44d697
%attr(1777,root,root) %{_scl_root}/tmp
44d697
%dir %{_scl_root}/usr
44d697
%attr(555,root,root) %{_scl_root}/usr/bin
44d697
%{_scl_root}/usr/etc
44d697
%{_scl_root}/usr/games
44d697
%{_scl_root}/usr/include
44d697
%dir %attr(555,root,root) %{_scl_root}/usr/lib
44d697
%ifarch x86_64 ppc ppc64 ppc64le aarch64 sparc sparc64 s390 s390x
44d697
%attr(555,root,root) %{_scl_root}/usr/%{_lib}
44d697
%endif
44d697
%{_scl_root}/usr/libexec
44d697
%{_scl_root}/usr/local
44d697
%attr(555,root,root) %{_scl_root}/usr/sbin
44d697
%dir %{_scl_root}/usr/share
44d697
%{_scl_root}/usr/share/aclocal
44d697
%{_scl_root}/usr/share/applications
44d697
%{_scl_root}/usr/share/augeas
44d697
%{_scl_root}/usr/share/backgrounds
44d697
%{_scl_root}/usr/share/desktop-directories
44d697
%{_scl_root}/usr/share/dict
44d697
%{_scl_root}/usr/share/doc
44d697
%attr(555,root,root) %dir %{_scl_root}/usr/share/empty
44d697
%{_scl_root}/usr/share/games
44d697
%{_scl_root}/usr/share/ghostscript
44d697
%{_scl_root}/usr/share/gnome
44d697
%{_scl_root}/usr/share/icons
44d697
%{_scl_root}/usr/share/idl
44d697
%{_scl_root}/usr/share/info
44d697
%dir %{_scl_root}/usr/share/licenses
44d697
%dir %{_scl_root}/usr/share/locale
44d697
%dir %{_scl_root}/usr/share/man
44d697
%{_scl_root}/usr/share/mime-info
44d697
%{_scl_root}/usr/share/misc
44d697
%{_scl_root}/usr/share/omf
44d697
%{_scl_root}/usr/share/pixmaps
44d697
%{_scl_root}/usr/share/sounds
44d697
%{_scl_root}/usr/share/themes
44d697
%{_scl_root}/usr/share/xsessions
44d697
%{_scl_root}/usr/share/X11
44d697
%{_scl_root}/usr/src
44d697
%{_scl_root}/usr/tmp
44d697
%dir %{_localstatedir}
44d697
%{_localstatedir}/adm
44d697
%{_localstatedir}/cache
44d697
%{_localstatedir}/db
44d697
%{_localstatedir}/empty
44d697
%{_localstatedir}/games
44d697
%{_localstatedir}/gopher
44d697
%{_localstatedir}/lib
44d697
%{_localstatedir}/local
44d697
%ghost %dir %attr(755,root,root) %{_localstatedir}/lock
44d697
%ghost %{_localstatedir}/lock/subsys
44d697
%{_localstatedir}/log
44d697
%{_localstatedir}/mail
44d697
%{_localstatedir}/nis
44d697
%{_localstatedir}/opt
44d697
%{_localstatedir}/preserve
44d697
%ghost %attr(755,root,root) %{_localstatedir}/run
44d697
%dir %{_localstatedir}/spool
44d697
%attr(755,root,root) %{_localstatedir}/spool/lpd
44d697
%attr(775,root,mail) %{_localstatedir}/spool/mail
44d697
%attr(1777,root,root) %{_localstatedir}/tmp
44d697
%{_localstatedir}/yp
44d697
}
44d697
44d697
%scl_install %{expand:
44d697
# scl specific stuff
44d697
mkdir -p %{buildroot}%{_root_sysconfdir}/{rpm,scl/{prefixes,modulefiles}}
44d697
cat >> %{buildroot}%{_root_sysconfdir}/rpm/macros.%{scl}-config << EOF
44d697
%%%%scl %scl
44d697
%{?nfsmountable:%%%%nfsmountable %{nfsmountable}}
44d697
%{!?nfsmountable:%%%%undefine nfsmountable}
44d697
%{?rh_layout:%%%%rh_layout %{rh_layout}}
44d697
%{!?rh_layout:%%%%undefine rh_layout}
44d697
EOF
44d697
cat >> %{buildroot}%{_root_sysconfdir}/scl/prefixes/%{scl} << EOF
44d697
%_scl_prefix
44d697
EOF
44d697
test -e %{buildroot}%{_scl_scripts}/%{scl} && ln -s %{_scl_scripts}/%{scl} %{buildroot}%{_root_sysconfdir}/scl/modulefiles/%{scl}
44d697
# filelist
44d697
set +x
44d697
cat >> %{buildroot}/lang-exceptions << EOF
44d697
af_ZA
44d697
am_ET
44d697
ast_ES
44d697
az_IR
44d697
bg_BG
44d697
bn_IN
44d697
ca@valencia
44d697
ca_ES
44d697
ca_ES@valencian
44d697
cs_CZ
44d697
de_AT
44d697
de_CH
44d697
de_DE
44d697
default
44d697
el_GR
44d697
en_AU
44d697
en_CA
44d697
en_GB
44d697
en_US
44d697
en_NZ
44d697
es_AR
44d697
es_CL
44d697
es_CO
44d697
es_CR
44d697
es_DO
44d697
es_EC
44d697
es_ES
44d697
es_GT
44d697
es_HN
44d697
es_MX
44d697
es_NI
44d697
es_PA
44d697
es_PE
44d697
es_PR
44d697
es_SV
44d697
es_UY
44d697
es_VE
44d697
et_EE
44d697
eu_ES
44d697
fa_IR
44d697
fi_FI
44d697
fr_BE
44d697
fr_CA
44d697
fr_CH
44d697
fr_FR
44d697
gl_ES
44d697
he_IL
44d697
hr_HR
44d697
hu_HU
44d697
it_CH
44d697
it_IT
44d697
ja_JP
44d697
ko_KR
44d697
ks@devanagari
44d697
lv_LV
44d697
ms_MY
44d697
my_MM
44d697
nb_NO
44d697
nds_DE
44d697
nl_BE
44d697
nl_NL
44d697
pl_PL
44d697
pt_BR
44d697
pt_PT
44d697
ru_RU
44d697
sl_SI
44d697
sq_AL
44d697
sr_RS
44d697
sv_SE
44d697
uk_UA
44d697
ur_PK
44d697
zh_CN
44d697
zh_CN.GB2312
44d697
zh_HK
44d697
zh_TW
44d697
zh_TW.Big5
44d697
en@boldquot
44d697
en@quot
44d697
nds@NFE
44d697
sr@ije
44d697
sr@ijekavian
44d697
sr@ijekavianlatin
44d697
sr@latin
44d697
sr@Latn
44d697
uz@cyrillic
44d697
uz@Latn
44d697
be@latin
44d697
en@shaw
44d697
brx
44d697
brx_IN
44d697
EOF
44d697
cat >> %{buildroot}/iso_639.sed << EOF
44d697
1,/
44d697
# on each new iso-code process the current one
44d697
\\!\\(<iso_639_entry\\|</iso_639_entries>\\)!{
44d697
    x
44d697
    s/^$//
44d697
    # we are on the first iso-code--nothing to process here
44d697
    t
44d697
    # process and write to output
44d697
    s/\\s\\+/ /g
44d697
    s/
44d697
    s!/\\s*>!!
44d697
    # use '%' as a separator of parsed and unparsed input
44d697
    s/\\(.*\\)iso_639_2T_code="\\([^"]\\+\\)"\\(.*\\)/\\2 % \\1 \\3/
44d697
    s/\\([^%]\\+\\)%\\(.*\\)iso_639_2B_code="\\([^"]\\+\\)"\\(.*\\)/\\1\\t\\3 % \\2 \\4/
44d697
    #  clear subst. memory for the next t
44d697
    t clear
44d697
    :clear
44d697
    s/\\([^%]\\+\\)%\\(.*\\)iso_639_1_code="\\([^"]\\+\\)"\\(.*\\)/\\1\\t\\3 % \\2 \\4/
44d697
    t name
44d697
    # no 639-1 code--write xx
44d697
    s/%/\\tXX %/
44d697
    :name
44d697
    s/\\([^%]\\+\\)%\\(.*\\)name="\\([^"]\\+\\)"\\(.*\\)/\\1\\t\\3/
44d697
    s/ \\t/\\t/g
44d697
    p
44d697
    b
44d697
    :noout
44d697
}
44d697
H
44d697
EOF
44d697
cat >> %{buildroot}/iso_3166.sed << EOF
44d697
1,/
44d697
# on each new iso-code process the current one
44d697
\\!\\(<iso_3166_entry\\|</iso_3166_entries>\\)!{
44d697
    x
44d697
    s/^$//
44d697
    # we are on the first iso-code--nothing to process here
44d697
    t
44d697
    # process and write to output
44d697
    s/\\s\\+/ /g
44d697
    s/
44d697
    s!/\\s*>!!
44d697
    # use '%' as a separator of parsed and unparsed input
44d697
    s/\\(.*\\)alpha_2_code="\\([^"]\\+\\)"\\(.*\\)/\\2 % \\1 \\3/
44d697
    s/\\([^%]\\+\\)%\\(.*\\)alpha_3_code="\\([^"]\\+\\)"\\(.*\\)/\\1% \\2 \\4/
44d697
    #  clear subst. memory for the next t
44d697
    t clear
44d697
    :clear
44d697
    s/\\([^%]\\+\\)%\\(.*\\)numeric_code="\\([^"]\\+\\)"\\(.*\\)/\\1% \\2 \\4/
44d697
    t name
44d697
    # no 3166 code--write xx
44d697
    s/%/\\tXX %/
44d697
    :name
44d697
    s/\\([^%]\\+\\)%\\(.*\\)name="\\([^"]\\+\\)"\\(.*\\)/\\1\\t\\3/
44d697
    s/ \\t/\\t/g
44d697
    p
44d697
    b
44d697
    :noout
44d697
}
44d697
H
44d697
EOF
44d697
mkdir -p %{buildroot}%{_localstatedir}
44d697
pushd  %{buildroot}%{_localstatedir}
44d697
mkdir -p {adm,empty,gopher,lib/{games,misc,rpm-state},local,lock/subsys,log,nis,preserve,run,spool/{mail,lpd,uucp},tmp,db,cache,opt,games,yp}
44d697
popd
44d697
mkdir -p %{buildroot}%{_sysconfdir}
44d697
pushd %{buildroot}%{_sysconfdir}
44d697
mkdir -p {X11/{applnk,fontpath.d},xdg/autostart,opt,pm/{config.d,power.d,sleep.d},xinetd.d,skel,sysconfig,pki}
44d697
popd
44d697
mkdir -p %{buildroot}%{_scl_root}
44d697
rm -f $RPM_BUILD_DIR/%{buildsubdir}/filelist
44d697
rm -f $RPM_BUILD_DIR/%{buildsubdir}/filesystem
44d697
pushd %{buildroot}%{_scl_root}
44d697
mkdir -p boot dev \\
44d697
        home media mnt opt proc root run/lock srv sys tmp \\
44d697
        usr/{bin,etc,games,include,lib/{games,locale,modules,sse2},libexec,local/{bin,etc,games,lib,sbin,src,share/{applications,man/man{1,2,3,4,5,6,7,8,9,n,1x,2x,3x,4x,5x,6x,7x,8x,9x},info},libexec,include,},sbin,share/{aclocal,applications,augeas/lenses,backgrounds,desktop-directories,dict,doc,empty,games,ghostscript/conf.d,gnome,icons,idl,info,licenses,man/man{1,2,3,4,5,6,7,8,9,n,1x,2x,3x,4x,5x,6x,7x,8x,9x,0p,1p,3p},mime-info,misc,omf,pixmaps,sounds,themes,xsessions,X11},src,src/kernels,src/debug}
44d697
%ifarch x86_64 ppc ppc64 ppc64le aarch64 sparc sparc64 s390 s390x
44d697
mkdir -p usr/{%{_lib}/{games,sse2,tls,X11,pm-utils/{module.d,power.d,sleep.d}},local/%{_lib}}
44d697
%endif
44d697
ln -snf %{_localstatedir}/tmp usr/tmp
44d697
ln -snf spool/mail %{buildroot}%{_localstatedir}/mail
44d697
ln -snf usr/bin bin
44d697
ln -snf usr/sbin sbin
44d697
ln -snf usr/lib lib
44d697
%ifarch x86_64 ppc ppc64 ppc64le aarch64 sparc sparc64 s390 s390x
44d697
ln -snf usr/%{_lib} %{_lib}
44d697
%endif
44d697
sed -n -f %{buildroot}/iso_639.sed /usr/share/xml/iso-codes/iso_639.xml >%{buildroot}/iso_639.tab
44d697
sed -n -f %{buildroot}/iso_3166.sed /usr/share/xml/iso-codes/iso_3166.xml >%{buildroot}/iso_3166.tab
44d697
grep -av "^$" %{buildroot}/iso_639.tab | grep -av "^#" | while read a b c d ; do
44d697
    [[ "$d" =~ "^Reserved" ]] && continue
44d697
    [[ "$d" =~ "^No linguistic" ]] && continue
44d697
    locale=$c
44d697
    if [ "$locale" = "XX" ]; then
44d697
        locale=$b
44d697
    fi
44d697
    echo "%lang(${locale})      %{_scl_root}/usr/share/locale/${locale}" >> $RPM_BUILD_DIR/%{buildsubdir}/filelist
44d697
    echo "%lang(${locale}) %ghost %config(missingok) %{_scl_root}/usr/share/man/${locale}" >> $RPM_BUILD_DIR/%{buildsubdir}/filelist
44d697
done
44d697
cat %{buildroot}/lang-exceptions | grep -v "^#" | grep -v "^$" | while read loc ; do
44d697
    locale=$loc
44d697
    locality=
44d697
    special=
44d697
    [[ "$locale" =~ "@" ]] && locale=${locale%%%%@*}
44d697
    [[ "$locale" =~ "_" ]] && locality=${locale##*_}
44d697
    [[ "$locality" =~ "." ]] && locality=${locality%%%%.*}
44d697
    [[ "$loc" =~ "_" ]] || [[ "$loc" =~ "@" ]] || special=$loc
44d697
    # If the locality is not official, skip it
44d697
    if [ -n "$locality" ]; then
44d697
        grep -q "^$locality" %{buildroot}/iso_3166.tab || continue
44d697
    fi
44d697
    # If the locale is not official and not special, skip it
44d697
    if [ -z "$special" ]; then
44d697
        egrep -q "[[:space:]]${locale%%_*}[[:space:]]" \\
44d697
           %{buildroot}/iso_639.tab || continue
44d697
    fi
44d697
    echo "%lang(${locale})      %{_scl_root}/usr/share/locale/${loc}" >> $RPM_BUILD_DIR/%{buildsubdir}/filelist
44d697
    echo "%lang(${locale})  %ghost %config(missingok) %{_scl_root}/usr/share/man/${loc}" >> $RPM_BUILD_DIR/%{buildsubdir}/filelist
44d697
done
44d697
rm -f %{buildroot}/iso_639.tab
44d697
rm -f %{buildroot}/iso_639.sed
44d697
rm -f %{buildroot}/iso_3166.tab
44d697
rm -f %{buildroot}/iso_3166.sed
44d697
rm -f %{buildroot}/lang-exceptions
44d697
cat $RPM_BUILD_DIR/%{buildsubdir}/filelist | grep "locale" | while read a b ; do
44d697
    mkdir -p -m 755 %{buildroot}/$b/LC_MESSAGES
44d697
done
44d697
cat $RPM_BUILD_DIR/%{buildsubdir}/filelist | grep "/share/man" | while read a b c d; do
44d697
    mkdir -p -m 755 %{buildroot}/$d/man{1,2,3,4,5,6,7,8,9,n,1x,2x,3x,4x,5x,6x,7x,8x,9x,0p,1p,3p}
44d697
done
44d697
for i in man{1,2,3,4,5,6,7,8,9,n,1x,2x,3x,4x,5x,6x,7x,8x,9x,0p,1p,3p}; do
44d697
   echo "%{_scl_root}/usr/share/man/$i" >> $RPM_BUILD_DIR/%{buildsubdir}/filelist
44d697
done
44d697
ln -s $RPM_BUILD_DIR/%{buildsubdir}/filelist $RPM_BUILD_DIR/%{buildsubdir}/filesystem
44d697
set -x
44d697
popd
44d697
}