keep filesystem macros out of the main sources as it is distro-dependent
This commit is contained in:
parent
e0ac1b4213
commit
24d87f2a06
2
.gitignore
vendored
2
.gitignore
vendored
@ -1,4 +1,4 @@
|
|||||||
/scl
|
/scl
|
||||||
/scl.o
|
/scl.o
|
||||||
/scl.1
|
/scl.1
|
||||||
/scl-utils-20120413.tar.gz
|
/scl-utils-20120423.tar.gz
|
||||||
|
321
macros.scl
321
macros.scl
@ -46,324 +46,3 @@ BuildRequires: scl-utils-build
|
|||||||
|
|
||||||
%scl_require() %{_scl_prefix}/%1/enable
|
%scl_require() %{_scl_prefix}/%1/enable
|
||||||
|
|
||||||
%scl_files %{expand:
|
|
||||||
%dir %attr(555,root,root) %{_scl_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 %{_scl_root}/etc
|
|
||||||
%{_scl_root}/etc/X11
|
|
||||||
%{_scl_root}/etc/xdg
|
|
||||||
%{_scl_root}/etc/opt
|
|
||||||
%{_scl_root}/etc/pm
|
|
||||||
%{_scl_root}/etc/xinetd.d
|
|
||||||
%{_scl_root}/etc/skel
|
|
||||||
%{_scl_root}/etc/sysconfig
|
|
||||||
%{_scl_root}/etc/pki
|
|
||||||
%{_scl_root}/home
|
|
||||||
%{_scl_root}/lib
|
|
||||||
%ifarch x86_64 ppc ppc64 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
|
|
||||||
%attr(555,root,root) %{_scl_root}/usr/lib
|
|
||||||
%ifarch x86_64 ppc ppc64 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/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 %{_scl_root}/var
|
|
||||||
%{_scl_root}/var/adm
|
|
||||||
%{_scl_root}/var/cache
|
|
||||||
%{_scl_root}/var/db
|
|
||||||
%{_scl_root}/var/empty
|
|
||||||
%{_scl_root}/var/games
|
|
||||||
%{_scl_root}/var/gopher
|
|
||||||
%{_scl_root}/var/lib
|
|
||||||
%{_scl_root}/var/local
|
|
||||||
%ghost %dir %attr(755,root,root) %{_scl_root}/var/lock
|
|
||||||
%ghost %{_scl_root}/var/lock/subsys
|
|
||||||
%{_scl_root}/var/log
|
|
||||||
%{_scl_root}/var/mail
|
|
||||||
%{_scl_root}/var/nis
|
|
||||||
%{_scl_root}/var/opt
|
|
||||||
%{_scl_root}/var/preserve
|
|
||||||
%ghost %attr(755,root,root) %{_scl_root}/var/run
|
|
||||||
%dir %{_scl_root}/var/spool
|
|
||||||
%attr(755,root,root) %{_scl_root}/var/spool/lpd
|
|
||||||
%attr(775,root,mail) %{_scl_root}/var/spool/mail
|
|
||||||
%attr(755,uucp,uucp) %{_scl_root}/var/spool/uucp
|
|
||||||
%attr(1777,root,root) %{_scl_root}/var/tmp
|
|
||||||
%{_scl_root}/var/yp
|
|
||||||
}
|
|
||||||
|
|
||||||
%scl_install %{expand:
|
|
||||||
# scl specific stuff
|
|
||||||
mkdir -p %{buildroot}%{_root_sysconfdir}/{rpm,scl/prefixes}
|
|
||||||
echo -n '%' > %{buildroot}%{_root_sysconfdir}/rpm/macros.%{scl}-config
|
|
||||||
cat >> %{buildroot}%{_root_sysconfdir}/rpm/macros.%{scl}-config << EOF
|
|
||||||
scl %scl
|
|
||||||
EOF
|
|
||||||
cat >> %{buildroot}%{_root_sysconfdir}/scl/prefixes/%{scl} << EOF
|
|
||||||
%_scl_prefix
|
|
||||||
EOF
|
|
||||||
# filesystem
|
|
||||||
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}%{_scl_root}
|
|
||||||
cd %{buildroot}%{_scl_root}
|
|
||||||
mkdir -p boot dev \\
|
|
||||||
etc/{X11/{applnk,fontpath.d},xdg/autostart,opt,pm/{config.d,power.d,sleep.d},xinetd.d,skel,sysconfig,pki} \\
|
|
||||||
home media mnt opt proc root run/lock srv sys tmp \\
|
|
||||||
usr/{bin,etc,games,include,%{_lib}/{games,sse2,tls,X11,pm-utils/{module.d,power.d,sleep.d}},lib/{games,locale,modules,sse2},libexec,local/{bin,etc,games,lib,%{_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,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} \\
|
|
||||||
var/{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}
|
|
||||||
ln -snf ../var/tmp usr/tmp
|
|
||||||
ln -snf spool/mail var/mail
|
|
||||||
ln -snf usr/bin bin
|
|
||||||
ln -snf usr/sbin sbin
|
|
||||||
ln -snf usr/lib lib
|
|
||||||
ln -snf usr/%{_lib} %{_lib}
|
|
||||||
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 -v "^$" %{buildroot}/iso_639.tab | grep -v "^#" | 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/filelist
|
|
||||||
echo "%lang(${locale}) %ghost %config(missingok) %{_scl_root}/usr/share/man/${locale}" >>$RPM_BUILD_DIR/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/filelist
|
|
||||||
echo "%lang(${locale}) %ghost %config(missingok) %{_scl_root}/usr/share/man/${loc}" >> $RPM_BUILD_DIR/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/filelist | grep "locale" | while read a b ; do
|
|
||||||
mkdir -p -m 755 %{buildroot}/$b/LC_MESSAGES
|
|
||||||
done
|
|
||||||
cat $RPM_BUILD_DIR/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/filelist
|
|
||||||
done
|
|
||||||
}
|
|
||||||
|
323
macros.scl-filesystem
Normal file
323
macros.scl-filesystem
Normal file
@ -0,0 +1,323 @@
|
|||||||
|
%scl_files %{expand:
|
||||||
|
%dir %attr(555,root,root) %{_scl_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 %{_scl_root}/etc
|
||||||
|
%{_scl_root}/etc/X11
|
||||||
|
%{_scl_root}/etc/xdg
|
||||||
|
%{_scl_root}/etc/opt
|
||||||
|
%{_scl_root}/etc/pm
|
||||||
|
%{_scl_root}/etc/xinetd.d
|
||||||
|
%{_scl_root}/etc/skel
|
||||||
|
%{_scl_root}/etc/sysconfig
|
||||||
|
%{_scl_root}/etc/pki
|
||||||
|
%{_scl_root}/home
|
||||||
|
%{_scl_root}/lib
|
||||||
|
%ifarch x86_64 ppc ppc64 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
|
||||||
|
%attr(555,root,root) %{_scl_root}/usr/lib
|
||||||
|
%ifarch x86_64 ppc ppc64 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/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 %{_scl_root}/var
|
||||||
|
%{_scl_root}/var/adm
|
||||||
|
%{_scl_root}/var/cache
|
||||||
|
%{_scl_root}/var/db
|
||||||
|
%{_scl_root}/var/empty
|
||||||
|
%{_scl_root}/var/games
|
||||||
|
%{_scl_root}/var/gopher
|
||||||
|
%{_scl_root}/var/lib
|
||||||
|
%{_scl_root}/var/local
|
||||||
|
%ghost %dir %attr(755,root,root) %{_scl_root}/var/lock
|
||||||
|
%ghost %{_scl_root}/var/lock/subsys
|
||||||
|
%{_scl_root}/var/log
|
||||||
|
%{_scl_root}/var/mail
|
||||||
|
%{_scl_root}/var/nis
|
||||||
|
%{_scl_root}/var/opt
|
||||||
|
%{_scl_root}/var/preserve
|
||||||
|
%ghost %attr(755,root,root) %{_scl_root}/var/run
|
||||||
|
%dir %{_scl_root}/var/spool
|
||||||
|
%attr(755,root,root) %{_scl_root}/var/spool/lpd
|
||||||
|
%attr(775,root,mail) %{_scl_root}/var/spool/mail
|
||||||
|
%attr(755,uucp,uucp) %{_scl_root}/var/spool/uucp
|
||||||
|
%attr(1777,root,root) %{_scl_root}/var/tmp
|
||||||
|
%{_scl_root}/var/yp
|
||||||
|
}
|
||||||
|
|
||||||
|
%scl_install %{expand:
|
||||||
|
# scl specific stuff
|
||||||
|
mkdir -p %{buildroot}%{_root_sysconfdir}/{rpm,scl/prefixes}
|
||||||
|
echo -n '%' > %{buildroot}%{_root_sysconfdir}/rpm/macros.%{scl}-config
|
||||||
|
cat >> %{buildroot}%{_root_sysconfdir}/rpm/macros.%{scl}-config << EOF
|
||||||
|
scl %scl
|
||||||
|
EOF
|
||||||
|
cat >> %{buildroot}%{_root_sysconfdir}/scl/prefixes/%{scl} << EOF
|
||||||
|
%_scl_prefix
|
||||||
|
EOF
|
||||||
|
# filesystem
|
||||||
|
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}%{_scl_root}
|
||||||
|
cd %{buildroot}%{_scl_root}
|
||||||
|
mkdir -p boot dev \\
|
||||||
|
etc/{X11/{applnk,fontpath.d},xdg/autostart,opt,pm/{config.d,power.d,sleep.d},xinetd.d,skel,sysconfig,pki} \\
|
||||||
|
home media mnt opt proc root run/lock srv sys tmp \\
|
||||||
|
usr/{bin,etc,games,include,%{_lib}/{games,sse2,tls,X11,pm-utils/{module.d,power.d,sleep.d}},lib/{games,locale,modules,sse2},libexec,local/{bin,etc,games,lib,%{_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,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} \\
|
||||||
|
var/{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}
|
||||||
|
ln -snf ../var/tmp usr/tmp
|
||||||
|
ln -snf spool/mail var/mail
|
||||||
|
ln -snf usr/bin bin
|
||||||
|
ln -snf usr/sbin sbin
|
||||||
|
ln -snf usr/lib lib
|
||||||
|
ln -snf usr/%{_lib} %{_lib}
|
||||||
|
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 -v "^$" %{buildroot}/iso_639.tab | grep -v "^#" | 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/filelist
|
||||||
|
echo "%lang(${locale}) %ghost %config(missingok) %{_scl_root}/usr/share/man/${locale}" >>$RPM_BUILD_DIR/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/filelist
|
||||||
|
echo "%lang(${locale}) %ghost %config(missingok) %{_scl_root}/usr/share/man/${loc}" >> $RPM_BUILD_DIR/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/filelist | grep "locale" | while read a b ; do
|
||||||
|
mkdir -p -m 755 %{buildroot}/$b/LC_MESSAGES
|
||||||
|
done
|
||||||
|
cat $RPM_BUILD_DIR/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/filelist
|
||||||
|
done
|
||||||
|
set -x
|
||||||
|
}
|
@ -1,11 +1,12 @@
|
|||||||
Summary: Utilities for alternative packaging
|
Summary: Utilities for alternative packaging
|
||||||
Name: scl-utils
|
Name: scl-utils
|
||||||
Version: 20120413
|
Version: 20120423
|
||||||
Release: 1%{?dist}
|
Release: 1%{?dist}
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
Group: Applications/File
|
Group: Applications/File
|
||||||
URL: http://jnovy.fedorapeople.org/scl-utils/
|
URL: http://jnovy.fedorapeople.org/scl-utils/
|
||||||
Source0: http://jnovy.fedorapeople.org/scl-utils/%{name}-%{version}.tar.gz
|
Source0: http://jnovy.fedorapeople.org/scl-utils/%{name}-%{version}.tar.gz
|
||||||
|
Source1: macros.scl-filesystem
|
||||||
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
Buildroot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
|
|
||||||
%description
|
%description
|
||||||
@ -32,6 +33,7 @@ mkdir -p %buildroot%{_sysconfdir}/scl/prefixes
|
|||||||
mkdir -p %buildroot/opt/rh
|
mkdir -p %buildroot/opt/rh
|
||||||
install -d -m 755 %buildroot%{_mandir}/man1
|
install -d -m 755 %buildroot%{_mandir}/man1
|
||||||
make install DESTDIR=%buildroot
|
make install DESTDIR=%buildroot
|
||||||
|
cat %SOURCE1 >> %buildroot%{_sysconfdir}/rpm/macros.scl
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -rf %buildroot
|
rm -rf %buildroot
|
||||||
@ -49,6 +51,10 @@ rm -rf %buildroot
|
|||||||
%{_sysconfdir}/rpm/macros.scl
|
%{_sysconfdir}/rpm/macros.scl
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Mon Apr 22 2012 Jindrich Novy <jnovy@redhat.com> 20120423-1
|
||||||
|
- keep filesystem macros out of the main sources as
|
||||||
|
it is distro-dependent
|
||||||
|
|
||||||
* Fri Apr 13 2012 Jindrich Novy <jnovy@redhat.com> 20120413-1
|
* Fri Apr 13 2012 Jindrich Novy <jnovy@redhat.com> 20120413-1
|
||||||
- filesystem ownership by meta package
|
- filesystem ownership by meta package
|
||||||
- add man page
|
- add man page
|
||||||
|
3
scl.c
3
scl.c
@ -129,7 +129,7 @@ int main(int argc, char **argv) {
|
|||||||
"If <command> is '-' then the command will be read from standard input.\n", argv[0]);
|
"If <command> is '-' then the command will be read from standard input.\n", argv[0]);
|
||||||
exit(EXIT_FAILURE);
|
exit(EXIT_FAILURE);
|
||||||
}
|
}
|
||||||
cmd = argv[argc-1];
|
cmd = strdup(argv[argc-1]);
|
||||||
}
|
}
|
||||||
|
|
||||||
tfd = mkstemp(tmp);
|
tfd = mkstemp(tmp);
|
||||||
@ -197,6 +197,7 @@ int main(int argc, char **argv) {
|
|||||||
|
|
||||||
write_script(tfd, cmd);
|
write_script(tfd, cmd);
|
||||||
write_script(tfd, "\n");
|
write_script(tfd, "\n");
|
||||||
|
free(cmd);
|
||||||
close(tfd);
|
close(tfd);
|
||||||
|
|
||||||
check_asprintf(&bash_cmd, "/bin/bash %s", tmp);
|
check_asprintf(&bash_cmd, "/bin/bash %s", tmp);
|
||||||
|
Loading…
Reference in New Issue
Block a user