xorg-x11-filesystem-vl.spec 5.1 KB

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