xorg-x11-filesystem-vl.spec 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. Summary: X.Org X11 filesystem layout
  2. Summary(ja): X.Org X11 ファイルシステムレイアウト
  3. Name: xorg-x11-filesystem
  4. Version: 7.6
  5. Release: 1%{?_dist_release}
  6. License: MIT/X11
  7. Group: System Environment/Base
  8. BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root
  9. Requires(pre): filesystem >= 2.4
  10. Obsoletes: XOrg-devel < 7.0
  11. %description
  12. This package provides some directories which are required by other
  13. packages which comprise the modularized X.Org X11R7 X Window System
  14. release. This package must be installed during OS installation
  15. or upgrade, in order to force the creation of these directories,
  16. and replace any legacy symbolic links that might be present in old
  17. locations, which could result in upgrade failures.
  18. %prep
  19. %install
  20. rm -rf $RPM_BUILD_ROOT
  21. # NOTE: Do not replace these with _libdir or _includedir macros, they are
  22. # intentionally explicit.
  23. mkdir -p "$RPM_BUILD_ROOT%{_libdir}/X11"
  24. mkdir -p "$RPM_BUILD_ROOT%{_includedir}/X11"
  25. mkdir -p "$RPM_BUILD_ROOT%{_datadir}/X11"
  26. mkdir -p "$RPM_BUILD_ROOT%{_bindir}"
  27. UPGRADE_CMD="%{_bindir}/xorg-x11-filesystem-upgrade"
  28. # NOTE: The quoted 'EOF' is required to disable variable interpolation
  29. cat > "$RPM_BUILD_ROOT/${UPGRADE_CMD}" <<'EOF'
  30. #!/bin/bash
  31. #
  32. # Modular X.Org X11R7 filesystem upgrade script.
  33. #
  34. # If any of the following dirs are symlinks, remove them and create a dir
  35. # in its place. This is required, so that modular X packages get installed
  36. # into a real directory, and do not follow old compatibility symlinks
  37. # provided in previous releases of the operating system.
  38. #
  39. # NOTE: Do not replace these with _libdir or _includedir macros, they are
  40. # intentionally explicit.
  41. for dir in %{_includedir}/X11 %{_libdir}/X11 ; do
  42. [ -L "$dir" ] && rm -f -- "$dir" &> /dev/null
  43. done
  44. for dir in %{_includedir}/X11 %{_libdir}/X11 ; do
  45. [ ! -d "$dir" ] && mkdir -p "$dir" &> /dev/null
  46. done
  47. exit 0
  48. EOF
  49. chmod 0755 "$RPM_BUILD_ROOT/${UPGRADE_CMD}"
  50. %clean
  51. rm -rf $RPM_BUILD_ROOT
  52. %pre
  53. # NOTE: Do not replace these with _libdir or _includedir macros, they are
  54. # intentionally explicit.
  55. # Remove old symlinks if present, and replace them with directories.
  56. for dir in %{_includedir}/X11 %{_libdir}/X11 ; do
  57. [ -L "$dir" ] && rm -f -- "$dir" &> /dev/null
  58. done
  59. for dir in %{_includedir}/X11 %{_libdir}/X11 ; do
  60. [ ! -d "$dir" ] && mkdir -p "$dir" &> /dev/null
  61. done
  62. exit 0
  63. %files
  64. %defattr(-,root,root,-)
  65. # NOTE: These are explicitly listed intentionally, instead of using rpm
  66. # macros, as these exact locations are required for compatibility
  67. # regardless of what _libdir or _includedir point to.
  68. %dir %{_libdir}/X11
  69. %dir %{_includedir}/X11
  70. %dir %{_datadir}/X11
  71. %dir %{_bindir}/xorg-x11-filesystem-upgrade
  72. %{_bindir}/xorg-x11-filesystem-upgrade
  73. %changelog
  74. * Sun Apr 17 2011 Yoji TOYODA <bsyamato@sea.plala.or.jp> 7.6-1
  75. - remove BuildArch: noarch
  76. - bump version to 7.6-1
  77. * Tue Apr 07 2009 Daisuke SUZUKI <daisuke@linux.or.jp> 7.4-1
  78. - spec in utf-8
  79. - bump version to 7.4-1
  80. * Thu Apr 17 2008 Daisuke SUZUKI <daisuke@linux.or.jp> 7.3-1
  81. - own %%{_datadir}/X11
  82. - Obsoletes: XOrg-devel < 7.0
  83. * Sat Jan 12 2008 Daisuke SUZUKI <daisuke@linux.or.jp> 7.1-0vl1
  84. - initial build for Vine Linux based on fodora package.
  85. * Mon Jul 10 2006 Mike A. Harris <mharris@redhat.com> 7.1-2.fc6
  86. - Reword package description for (#189648)
  87. * Wed Jun 21 2006 Mike A. Harris <mharris@redhat.com> 7.1-1
  88. - Bumped version to 7.1-1 and rebuilt for X11R7.1.
  89. * Thu Feb 09 2006 Mike A. Harris <mharris@redhat.com> 7.0-1
  90. - Bumped version to 7.0-1 and rebuilt.
  91. * Tue Nov 22 2005 Mike A. Harris <mharris@redhat.com> 0.99.2-3
  92. - Ok, even though I _tested_ it, and it worked.. the previous build had a
  93. broken post, preun, and postun script, due to copy and paste error. Ugh.
  94. Also, the script in /usr/bin was broken due to heredoc variable
  95. interpolation, which I turned off this time so it is generated correctly.
  96. I removed the post, preun, postun scripts as they are overkill anyway.
  97. The bug in 0.99.2-2 might cause upgrade or uninstall of the package to
  98. fail and require manual uninstallation with --noscripts. Oops. This
  99. is what "rawhide" means boys and girls.
  100. - Added "Requires(pre): filesystem >= 2.3.7-1", to avoid problems with older
  101. versions of it, and to allow packages that need this workaround to only
  102. have to set a dependency on xorg-x11-filesystem instead of both packages.
  103. * Mon Nov 21 2005 Mike A. Harris <mharris@redhat.com> 0.99.2-2
  104. - Updated scripts so that they create the directory even if the symlink was
  105. not present, to ensure that the dir exists first and avoid theoretical
  106. case in which, in a single transaction, xorg-x11-filesystem gets installed,
  107. no symlink or dir is present causing the symlink test to fail, so no dir
  108. gets created, then another package in the transaction set installs a
  109. symlink, then a package tries to install a dir and fails. This should
  110. guarantee now that these two dirs are really really dirs, not symlinks
  111. for sure for sure.
  112. * Mon Nov 21 2005 Mike A. Harris <mharris@redhat.com> 0.99.2-1
  113. - Initial build.
  114. - Package creates the directories /usr/lib/X11 and /usr/include/X11 and owns
  115. them as properly flagged dirs in the file manifest.
  116. - Added identical pre/post/preun/postun scripts which test to see if any of
  117. of each of /usr/include/X11 /usr/lib/X11 /usr/lib64/X11