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