aboutsummaryrefslogtreecommitdiffstats
path: root/games
diff options
context:
space:
mode:
authoredwin <edwin@FreeBSD.org>2006-01-22 10:20:05 +0800
committeredwin <edwin@FreeBSD.org>2006-01-22 10:20:05 +0800
commitffa6a89c602bab7fc1470e34b05dcfe64ce87369 (patch)
tree70253ae4904e6777d975133ac5d163530a80b02a /games
parente8320e01ab60ecf311418120fb31f132f2adf4e9 (diff)
downloadfreebsd-ports-gnome-ffa6a89c602bab7fc1470e34b05dcfe64ce87369.tar.gz
freebsd-ports-gnome-ffa6a89c602bab7fc1470e34b05dcfe64ce87369.tar.zst
freebsd-ports-gnome-ffa6a89c602bab7fc1470e34b05dcfe64ce87369.zip
Replace ugly "@unexec rmdir %D... 2>/dev/null || true" with @dirrmtry
Approved by: krion@ PR: ports/88711 (related)
Diffstat (limited to 'games')
-rw-r--r--games/adonthell/pkg-plist2
-rw-r--r--games/afternoonstalker/pkg-plist4
-rw-r--r--games/asc/pkg-plist2
-rw-r--r--games/barrage/pkg-plist4
-rw-r--r--games/blobwars/pkg-plist2
-rw-r--r--games/briquolo/pkg-plist2
-rw-r--r--games/crossfire-server/pkg-plist16
-rw-r--r--games/dopewars/pkg-plist6
-rw-r--r--games/dsnake/pkg-plist2
-rw-r--r--games/duke3d/pkg-plist2
-rw-r--r--games/easysok/pkg-plist36
-rw-r--r--games/ember/pkg-plist6
-rw-r--r--games/enigma/pkg-plist12
-rw-r--r--games/freeciv/pkg-plist30
-rw-r--r--games/freesci/pkg-plist16
-rw-r--r--games/gcompris2/pkg-plist4
-rw-r--r--games/ggz-client-libs/pkg-plist8
-rw-r--r--games/ggz-gtk-client/pkg-plist4
-rw-r--r--games/ggz-sdl-games/pkg-plist2
-rw-r--r--games/ggz-txt-client/pkg-plist4
-rw-r--r--games/gnubg/pkg-plist4
-rw-r--r--games/gretools/pkg-plist4
-rw-r--r--games/gtkpool/pkg-plist2
-rw-r--r--games/halflifeserver/pkg-plist12
-rw-r--r--games/hlserver-admin/pkg-plist2
-rw-r--r--games/hlserver-esf/pkg-plist2
-rw-r--r--games/hlserver-existence/pkg-plist4
-rw-r--r--games/hlserver-fa/pkg-plist4
-rw-r--r--games/hlserver-flf/pkg-plist4
-rw-r--r--games/hlserver-opera/pkg-plist4
-rw-r--r--games/hlserver-opfor/pkg-plist4
-rw-r--r--games/hlserver-si/pkg-plist4
-rw-r--r--games/hlserver-vs/pkg-plist6
-rw-r--r--games/hlserver-wasteland/pkg-plist4
-rw-r--r--games/hlserver-wizwars/pkg-plist8
-rw-r--r--games/jfduke3d/pkg-plist2
-rw-r--r--games/kgeography/pkg-plist36
-rw-r--r--games/klondike/pkg-plist2
-rw-r--r--games/kpictorial/pkg-plist20
-rw-r--r--games/ktritoc/pkg-plist4
-rw-r--r--games/kwappen/pkg-plist50
-rw-r--r--games/lincity-ng/pkg-plist4
-rw-r--r--games/linux-enemyterritory-tce/pkg-plist2
-rw-r--r--games/linux-quake4/pkg-plist2
-rw-r--r--games/lm-solve/pkg-plist2
-rw-r--r--games/lucidlife/pkg-plist2
-rw-r--r--games/monsterz/pkg-plist2
-rw-r--r--games/mt_gtk_client/pkg-plist6
-rw-r--r--games/nethack32/pkg-plist4
-rw-r--r--games/nethack33/pkg-plist4
-rw-r--r--games/nethack34/pkg-plist2
-rw-r--r--games/netpanzer/pkg-plist2
-rw-r--r--games/noegnud-data/pkg-plist44
-rw-r--r--games/noegnud-littlehack/pkg-plist6
-rw-r--r--games/noegnud-nethack-deet/pkg-plist6
-rw-r--r--games/noegnud-nethack/pkg-plist6
-rw-r--r--games/noegnud-slashem/pkg-plist6
-rw-r--r--games/p5-Games-AlphaBeta/pkg-plist2
-rw-r--r--games/p5-Games-Bingo-Bot/pkg-plist8
-rw-r--r--games/p5-Games-Bingo-Print/pkg-plist8
-rw-r--r--games/p5-Games-Bingo/pkg-plist2
-rw-r--r--games/p5-Games-Dice/pkg-plist4
-rw-r--r--games/pvpgn/pkg-plist2
-rw-r--r--games/pydance/pkg-plist2
-rw-r--r--games/pysol-cardsets/pkg-plist4
-rw-r--r--games/pysol-music/pkg-plist4
-rw-r--r--games/q3base/pkg-plist10
-rw-r--r--games/quake2-data/pkg-plist6
-rw-r--r--games/quake3-data/pkg-plist4
-rw-r--r--games/quake3-q3base/pkg-plist10
-rw-r--r--games/rocksndiamonds/pkg-plist4
-rw-r--r--games/rtb/pkg-plist8
-rw-r--r--games/rtcw/pkg-plist4
-rw-r--r--games/scorched3d/pkg-plist66
-rw-r--r--games/six/pkg-plist4
-rw-r--r--games/stvef-server/pkg-plist2
-rw-r--r--games/supertux/pkg-plist2
-rw-r--r--games/torcs/pkg-plist2
-rw-r--r--games/tornado/pkg-plist2
-rw-r--r--games/tuxpaint/pkg-plist18
-rw-r--r--games/typespeed/pkg-plist2
-rw-r--r--games/viruskiller/pkg-plist4
-rw-r--r--games/wesnoth-devel/pkg-plist16
-rw-r--r--games/wesnoth/pkg-plist16
-rw-r--r--games/xarchon/pkg-plist6
-rw-r--r--games/xfce4-toys/pkg-plist16
-rw-r--r--games/xqf/pkg-plist2
-rw-r--r--games/xshisen/pkg-plist4
88 files changed, 345 insertions, 345 deletions
diff --git a/games/adonthell/pkg-plist b/games/adonthell/pkg-plist
index e4c0308dbb4b..b972e6c9c9a9 100644
--- a/games/adonthell/pkg-plist
+++ b/games/adonthell/pkg-plist
@@ -472,4 +472,4 @@ share/pixmaps/wastesedge_32x32.xpm
@dirrm %%DATADIR%%/games
@dirrm %%DATADIR%%/modules
@dirrm %%DATADIR%%
-@unexec rmdir %D/share/pixmaps 2>/dev/null || true
+@dirrmtry share/pixmaps
diff --git a/games/afternoonstalker/pkg-plist b/games/afternoonstalker/pkg-plist
index 88800bf96b7c..27db4787b89e 100644
--- a/games/afternoonstalker/pkg-plist
+++ b/games/afternoonstalker/pkg-plist
@@ -15,5 +15,5 @@ share/pixmaps/afternoonstalker.png
share/applications/afternoonstalker.desktop
@dirrm share/afternoonstalker/sounds
@dirrm share/afternoonstalker
-@unexec rmdir %D/share/pixmaps 2>/dev/null || true
-@unexec rmdir %D/share/applications 2>/dev/null || true
+@dirrmtry share/pixmaps
+@dirrmtry share/applications
diff --git a/games/asc/pkg-plist b/games/asc/pkg-plist
index 175151bc594b..515f72e9f5ed 100644
--- a/games/asc/pkg-plist
+++ b/games/asc/pkg-plist
@@ -17,4 +17,4 @@ share/games/asc/units-mk3.con
%%MUSIC:%%share/games/asc/music/machine_wars.mp3
%%MUSIC:%%@dirrm share/games/asc/music
@dirrm share/games/asc
-@unexec rmdir %D/share/games 2>/dev/null || true
+@dirrmtry share/games
diff --git a/games/barrage/pkg-plist b/games/barrage/pkg-plist
index c3b41b7ca14c..560fa3bca43b 100644
--- a/games/barrage/pkg-plist
+++ b/games/barrage/pkg-plist
@@ -25,8 +25,8 @@ share/applnk/Applications/barrage.desktop
%%DATADIR%%/sounds/highlight.wav
%%DATADIR%%/sounds/scream1.wav
%%DATADIR%%/sounds/scream2.wav
-@unexec rmdir %D/share/applnk/Applications/ 2>/dev/null || true
-@unexec rmdir %D/share/applnk 2>/dev/null || true
+@dirrmtry share/applnk/Applications/
+@dirrmtry share/applnk
@dirrm %%DATADIR%%/sounds
@dirrm %%DATADIR%%/gfx
@dirrm %%DATADIR%%
diff --git a/games/blobwars/pkg-plist b/games/blobwars/pkg-plist
index 0ae326a45e78..5911e173390b 100644
--- a/games/blobwars/pkg-plist
+++ b/games/blobwars/pkg-plist
@@ -3,4 +3,4 @@ bin/blobwars
share/applications/blobwars.desktop
share/pixmaps/blobwars.png
@dirrm %%DATADIR%%
-@unexec rmdir %D/share/applications 2>/dev/null || true
+@dirrmtry share/applications
diff --git a/games/briquolo/pkg-plist b/games/briquolo/pkg-plist
index 0ce1e8eb9e31..5be0214c9e3e 100644
--- a/games/briquolo/pkg-plist
+++ b/games/briquolo/pkg-plist
@@ -113,4 +113,4 @@ share/locale/sk/LC_MESSAGES/briquolo.mo
@dirrm %%DATADIR%%
@dirrm share/pixmaps
share/applications/briquolo.desktop
-@unexec rmdir %D/share/applications 2>/dev/null || true
+@dirrmtry share/applications
diff --git a/games/crossfire-server/pkg-plist b/games/crossfire-server/pkg-plist
index c48d2b425972..800736f1a360 100644
--- a/games/crossfire-server/pkg-plist
+++ b/games/crossfire-server/pkg-plist
@@ -3280,11 +3280,11 @@ var/crossfire/temp.maps
@exec mkdir -p %D/var/crossfire/maps
@exec mkdir -p %D/var/crossfire/players
@exec mkdir -p %D/var/crossfire/unique-items
-@unexec rmdir %D/var/crossfire/unique-items 2>/dev/null || true
-@unexec rmdir %D/var/crossfire/players 2>/dev/null || true
-@unexec rmdir %D/var/crossfire/maps 2>/dev/null || true
-@unexec rmdir %D/var/crossfire/datafiles 2>/dev/null || true
-@unexec rmdir %D/var/crossfire 2>/dev/null || true
-@unexec rmdir %D/var 2>/dev/null || true
-@unexec rmdir %D/lib/crossfire/plugins 2>/dev/null || true
-@unexec rmdir %D/lib/crossfire 2>/dev/null || true
+@dirrmtry var/crossfire/unique-items
+@dirrmtry var/crossfire/players
+@dirrmtry var/crossfire/maps
+@dirrmtry var/crossfire/datafiles
+@dirrmtry var/crossfire
+@dirrmtry var
+@dirrmtry lib/crossfire/plugins
+@dirrmtry lib/crossfire
diff --git a/games/dopewars/pkg-plist b/games/dopewars/pkg-plist
index 05aeb2e359cf..6f90558629a4 100644
--- a/games/dopewars/pkg-plist
+++ b/games/dopewars/pkg-plist
@@ -48,9 +48,9 @@ share/locale/nn/LC_MESSAGES/dopewars.mo
share/locale/pl/LC_MESSAGES/dopewars.mo
share/locale/pt_BR/LC_MESSAGES/dopewars.mo
share/gnome/apps/Games/dopewars.desktop
-@unexec rmdir %D/share/gnome/apps/Games 2>/dev/null || true
-@unexec rmdir %D/share/gnome/apps 2>/dev/null || true
-@unexec rmdir %D/share/gnome 2>/dev/null || true
+@dirrmtry share/gnome/apps/Games
+@dirrmtry share/gnome/apps
+@dirrmtry share/gnome
@dirrm share/dopewars/pixmaps
@dirrm share/dopewars
%%PORTDOCS%%@dirrm share/doc/dopewars/help
diff --git a/games/dsnake/pkg-plist b/games/dsnake/pkg-plist
index 99063c1b0d24..c4c5f638ed43 100644
--- a/games/dsnake/pkg-plist
+++ b/games/dsnake/pkg-plist
@@ -11,4 +11,4 @@ bin/dsnake
%%DATADIR%%/midi/The_Jayomon_Beat.mid
@dirrm %%DATADIR%%/midi
@dirrm %%DATADIR%%/data
-@unexec rmdir %D/%%DATADIR%% 2>/dev/null || true
+@dirrmtry %%DATADIR%%
diff --git a/games/duke3d/pkg-plist b/games/duke3d/pkg-plist
index c1c0e4201471..131304374aa5 100644
--- a/games/duke3d/pkg-plist
+++ b/games/duke3d/pkg-plist
@@ -12,4 +12,4 @@ bin/duke3d-build
%%PORTDOCS%%%%DOCSDIR%%/readme.txt
%%PORTDOCS%%%%DOCSDIR%%/gnu.txt
@dirrm share/duke3d/testdata
-@unexec rmdir %D/share/duke3d 2> /dev/null || true
+@dirrmtry share/duke3d
diff --git a/games/easysok/pkg-plist b/games/easysok/pkg-plist
index bf7c939b515a..182972ba0e5b 100644
--- a/games/easysok/pkg-plist
+++ b/games/easysok/pkg-plist
@@ -233,21 +233,21 @@ share/wallpapers/GreenBallThemeBackground.jpg
share/wallpapers/KSokobanThemeBackground.jpg
share/wallpapers/SpaceThemeBackground.png
share/wallpapers/WarehouseKeeperThemeBackground.jpg
-@unexec rmdir %D/share/wallpapers 2>/dev/null || true
-@unexec rmdir %D/share/icons/hicolor/32x32/apps 2>/dev/null || true
-@unexec rmdir %D/share/icons/hicolor/32x32 2>/dev/null || true
-@unexec rmdir %D/share/icons/hicolor/16x16/apps 2>/dev/null || true
-@unexec rmdir %D/share/icons/hicolor/16x16 2>/dev/null || true
-@unexec rmdir %D/share/icons/hicolor 2>/dev/null || true
-@unexec rmdir %D/share/icons/locolor/32x32/apps 2>/dev/null || true
-@unexec rmdir %D/share/icons/locolor/32x32 2>/dev/null || true
-@unexec rmdir %D/share/icons/locolor/16x16/apps 2>/dev/null || true
-@unexec rmdir %D/share/icons/locolor/16x16 2>/dev/null || true
-@unexec rmdir %D/share/icons/locolor 2>/dev/null || true
-@unexec rmdir %D/share/icons 2>/dev/null || true
+@dirrmtry share/wallpapers
+@dirrmtry share/icons/hicolor/32x32/apps
+@dirrmtry share/icons/hicolor/32x32
+@dirrmtry share/icons/hicolor/16x16/apps
+@dirrmtry share/icons/hicolor/16x16
+@dirrmtry share/icons/hicolor
+@dirrmtry share/icons/locolor/32x32/apps
+@dirrmtry share/icons/locolor/32x32
+@dirrmtry share/icons/locolor/16x16/apps
+@dirrmtry share/icons/locolor/16x16
+@dirrmtry share/icons/locolor
+@dirrmtry share/icons
@dirrm share/doc/HTML/en/easysok
-@unexec rmdir %D/share/doc/HTML/en 2>/dev/null || true
-@unexec rmdir %D/share/doc/HTML 2>/dev/null || true
+@dirrmtry share/doc/HTML/en
+@dirrmtry share/doc/HTML
@dirrm share/apps/easysok/themes/xsokoban
@dirrm share/apps/easysok/themes/warehousekeeper
@dirrm share/apps/easysok/themes/text
@@ -276,7 +276,7 @@ share/wallpapers/WarehouseKeeperThemeBackground.jpg
@dirrm share/apps/easysok/icons
@dirrm share/apps/easysok/deadlocks
@dirrm share/apps/easysok
-@unexec rmdir %D/share/apps 2>/dev/null || true
-@unexec rmdir %D/share/applnk/Games/TacticStrategy 2>/dev/null || true
-@unexec rmdir %D/share/applnk/Games 2>/dev/null || true
-@unexec rmdir %D/share/applnk 2>/dev/null || true
+@dirrmtry share/apps
+@dirrmtry share/applnk/Games/TacticStrategy
+@dirrmtry share/applnk/Games
+@dirrmtry share/applnk
diff --git a/games/ember/pkg-plist b/games/ember/pkg-plist
index 6c29139ddf5f..72fe864be270 100644
--- a/games/ember/pkg-plist
+++ b/games/ember/pkg-plist
@@ -73,7 +73,7 @@ share/icons/worldforge/ember.png
%%PORTDOCS%%%%DOCSDIR%%/AUTHORS
%%PORTDOCS%%%%DOCSDIR%%/ChangeLog
%%PORTDOCS%%%%DOCSDIR%%/TODO
-@unexec rmdir %D/share/applications 2>/dev/null || true
+@dirrmtry share/applications
@dirrm etc/ember
@dirrm share/games/ember/carpenter/blockspec
@dirrm share/games/ember/carpenter/blueprints
@@ -97,6 +97,6 @@ share/icons/worldforge/ember.png
@dirrm share/games/ember/media
@dirrm share/games/ember
@dirrm share/games
-@unexec rmdir %D/share/icons/worldforge 2>/dev/null || true
-@unexec rmdir %D/share/icons 2>/dev/null || true
+@dirrmtry share/icons/worldforge
+@dirrmtry share/icons
%%PORTDOCS%%@dirrm %%DOCSDIR%%
diff --git a/games/enigma/pkg-plist b/games/enigma/pkg-plist
index 3a09117002f6..fcd400fd1e17 100644
--- a/games/enigma/pkg-plist
+++ b/games/enigma/pkg-plist
@@ -2736,12 +2736,12 @@ share/locale/it/LC_MESSAGES/enigma.mo
share/locale/nl/LC_MESSAGES/enigma.mo
share/pixmaps/enigma.png
-@unexec rmdir %D/share/pixmaps 2>/dev/null || true
-@unexec rmdir %D/share/icons/hicolor/48x48/apps 2>/dev/null || true
-@unexec rmdir %D/share/icons/hicolor/48x48 2>/dev/null || true
-@unexec rmdir %D/share/icons/hicolor 2>/dev/null || true
-@unexec rmdir %D/share/icons 2>/dev/null || true
-@unexec rmdir %D/share/applications/ 2>/dev/null || true
+@dirrmtry share/pixmaps
+@dirrmtry share/icons/hicolor/48x48/apps
+@dirrmtry share/icons/hicolor/48x48
+@dirrmtry share/icons/hicolor
+@dirrmtry share/icons
+@dirrmtry share/applications/
@dirrm share/enigma/sound
@dirrm share/enigma/levels/patches
diff --git a/games/freeciv/pkg-plist b/games/freeciv/pkg-plist
index 6cb32439694d..045bce4a85ac 100644
--- a/games/freeciv/pkg-plist
+++ b/games/freeciv/pkg-plist
@@ -324,20 +324,20 @@ share/locale/ru/LC_MESSAGES/freeciv.mo
share/locale/sv/LC_MESSAGES/freeciv.mo
share/locale/uk/LC_MESSAGES/freeciv.mo
share/applications/freeciv.desktop
-@unexec rmdir %D/share/locale/fi/LC_MESSAGES 2>/dev/null || true
-@unexec rmdir %D/share/locale/fi 2>/dev/null || true
-@unexec rmdir %D/share/locale/he_IL/LC_MESSAGES 2>/dev/null || true
-@unexec rmdir %D/share/locale/he_IL 2>/dev/null || true
-@unexec rmdir %D/share/locale/no/LC_MESSAGES 2>/dev/null || true
-@unexec rmdir %D/share/locale/no 2>/dev/null || true
-@unexec rmdir %D/share/locale/pl/LC_MESSAGES 2>/dev/null || true
-@unexec rmdir %D/share/locale/pl 2>/dev/null || true
-@unexec rmdir %D/share/locale/pt/LC_MESSAGES 2>/dev/null || true
-@unexec rmdir %D/share/locale/pt 2>/dev/null || true
-@unexec rmdir %D/share/locale/ro/LC_MESSAGES 2>/dev/null || true
-@unexec rmdir %D/share/locale/ro 2>/dev/null || true
-@unexec rmdir %D/share/locale/sk/LC_MESSAGES 2>/dev/null || true
-@unexec rmdir %D/share/locale/sk 2>/dev/null || true
+@dirrmtry share/locale/fi/LC_MESSAGES
+@dirrmtry share/locale/fi
+@dirrmtry share/locale/he_IL/LC_MESSAGES
+@dirrmtry share/locale/he_IL
+@dirrmtry share/locale/no/LC_MESSAGES
+@dirrmtry share/locale/no
+@dirrmtry share/locale/pl/LC_MESSAGES
+@dirrmtry share/locale/pl
+@dirrmtry share/locale/pt/LC_MESSAGES
+@dirrmtry share/locale/pt
+@dirrmtry share/locale/ro/LC_MESSAGES
+@dirrmtry share/locale/ro
+@dirrmtry share/locale/sk/LC_MESSAGES
+@dirrmtry share/locale/sk
@dirrm %%DATADIR%%/trident
@dirrm %%DATADIR%%/scenario
@dirrm %%DATADIR%%/nation
@@ -350,4 +350,4 @@ share/applications/freeciv.desktop
@dirrm %%DATADIR%%/flags
@dirrm %%DATADIR%%/isophex
@dirrm %%DATADIR%%
-@unexec rmdir %D/share/applications 2>/dev/null || true
+@dirrmtry share/applications
diff --git a/games/freesci/pkg-plist b/games/freesci/pkg-plist
index 7a9fc367e4fb..1fc65f66a6c3 100644
--- a/games/freesci/pkg-plist
+++ b/games/freesci/pkg-plist
@@ -6,18 +6,18 @@ bin/freesci
bin/freesci-setup
bin/sciv
share/applnk/Games/Adventure/FreeSCI.desktop
-@unexec rmdir %D/share/applnk/Games/Adventure 2>/dev/null || true
-@unexec rmdir %D/share/applnk/Games 2>/dev/null || true
-@unexec rmdir %D/share/applnk 2>/dev/null || true
+@dirrmtry share/applnk/Games/Adventure
+@dirrmtry share/applnk/Games
+@dirrmtry share/applnk
share/icons/hicolor/48x48/apps/freesci.png
-@unexec rmdir %D/share/icons/hicolor/48x48/apps 2>/dev/null || true
-@unexec rmdir %D/share/icons/hicolor/48x48 2>/dev/null || true
-@unexec rmdir %D/share/icons/hicolor 2>/dev/null || true
-@unexec rmdir %D/share/icons 2>/dev/null || true
+@dirrmtry share/icons/hicolor/48x48/apps
+@dirrmtry share/icons/hicolor/48x48
+@dirrmtry share/icons/hicolor
+@dirrmtry share/icons
share/games/freesci/config.template
%%PORTDOCS%%share/games/freesci/sci.sgml
%%PORTDOCS%%share/games/freesci/sci-kernel.sgml
%%PORTDOCS%%share/games/freesci/freesci.sgml
%%PORTDOCS%%share/games/freesci/game-list.sgml
@dirrm share/games/freesci
-@unexec rmdir %D/share/games 2>/dev/null || true
+@dirrmtry share/games
diff --git a/games/gcompris2/pkg-plist b/games/gcompris2/pkg-plist
index 3ede6238d12d..392fb4df352f 100644
--- a/games/gcompris2/pkg-plist
+++ b/games/gcompris2/pkg-plist
@@ -3071,8 +3071,8 @@ share/locale/tr/LC_MESSAGES/gcompris.mo
share/locale/vi/LC_MESSAGES/gcompris.mo
share/locale/wa/LC_MESSAGES/gcompris.mo
share/locale/zh_CN/LC_MESSAGES/gcompris.mo
-@unexec rmdir %D/share/locale/rw/LC_MESSAGES 2> /dev/null || true
-@unexec rmdir %D/share/locale/rw 2> /dev/null || true
+@dirrmtry share/locale/rw/LC_MESSAGES
+@dirrmtry share/locale/rw
@dirrm share/gnome/help/gcompris/fr
@dirrm share/gnome/help/gcompris/eu
@dirrm share/gnome/help/gcompris/C
diff --git a/games/ggz-client-libs/pkg-plist b/games/ggz-client-libs/pkg-plist
index 7854d30ca4af..bc1f67b6b0e9 100644
--- a/games/ggz-client-libs/pkg-plist
+++ b/games/ggz-client-libs/pkg-plist
@@ -13,7 +13,7 @@ lib/libggzmod.so.4
share/desktop-directories/ggz-games.directory
share/desktop-directories/ggz.directory
share/locale/de/LC_MESSAGES/ggz-config.mo
-@unexec rmdir %D/share/desktop-directories 2>/dev/null || true
-@unexec rmdir %D/etc/xdg/menus/applications-merged 2>/dev/null || true
-@unexec rmdir %D/etc/xdg/menus 2>/dev/null || true
-@unexec rmdir %D/etc/xdg 2>/dev/null || true
+@dirrmtry share/desktop-directories
+@dirrmtry etc/xdg/menus/applications-merged
+@dirrmtry etc/xdg/menus
+@dirrmtry etc/xdg
diff --git a/games/ggz-gtk-client/pkg-plist b/games/ggz-gtk-client/pkg-plist
index 181c48ceda5d..a207bc93b07c 100644
--- a/games/ggz-gtk-client/pkg-plist
+++ b/games/ggz-gtk-client/pkg-plist
@@ -19,7 +19,7 @@ share/locale/de/LC_MESSAGES/ggz-gtk.mo
share/locale/es/LC_MESSAGES/ggz-gtk.mo
share/locale/pt_BR/LC_MESSAGES/ggz-gtk.mo
share/locale/sv/LC_MESSAGES/ggz-gtk.mo
-@unexec rmdir %D/share/applications 2>/dev/null || true
+@dirrmtry share/applications
@dirrm share/ggz/ggz-gtk/help
@dirrm share/ggz/ggz-gtk
-@unexec rmdir %D/share/ggz 2>/dev/null || true
+@dirrmtry share/ggz
diff --git a/games/ggz-sdl-games/pkg-plist b/games/ggz-sdl-games/pkg-plist
index abe4aa39f8e8..00ccc74ed61e 100644
--- a/games/ggz-sdl-games/pkg-plist
+++ b/games/ggz-sdl-games/pkg-plist
@@ -16,4 +16,4 @@ share/ggz/ttt3d/lines.bmp
@dirrm lib/ggz
@dirrm share/ggz/geekgame
@dirrm share/ggz/ttt3d
-@unexec rmdir %D/share/ggz 2>/dev/null || true
+@dirrmtry share/ggz
diff --git a/games/ggz-txt-client/pkg-plist b/games/ggz-txt-client/pkg-plist
index 27658b09897c..bafb2cf9250f 100644
--- a/games/ggz-txt-client/pkg-plist
+++ b/games/ggz-txt-client/pkg-plist
@@ -3,5 +3,5 @@ etc/ggz.modules
lib/ggz/tttxt
share/applications/ggz-txt.desktop
share/locale/de/LC_MESSAGES/ggz-txt.mo
-@unexec rmdir %D/share/applications 2>/dev/null || true
-@unexec rmdir %D/lib/ggz 2>/dev/null || true
+@dirrmtry share/applications
+@dirrmtry lib/ggz
diff --git a/games/gnubg/pkg-plist b/games/gnubg/pkg-plist
index 90d2cfb5370c..1b053f0cd4bb 100644
--- a/games/gnubg/pkg-plist
+++ b/games/gnubg/pkg-plist
@@ -45,5 +45,5 @@ share/locale/is/LC_MESSAGES/gnubg.mo
share/locale/it/LC_MESSAGES/gnubg.mo
share/locale/ja/LC_MESSAGES/gnubg.mo
share/locale/tr/LC_MESSAGES/gnubg.mo
-@unexec rmdir %D/share/locale/en_US/LC_MESSAGES 2> /dev/null || true
-@unexec rmdir %D/share/locale/en_US 2> /dev/null || true
+@dirrmtry share/locale/en_US/LC_MESSAGES
+@dirrmtry share/locale/en_US
diff --git a/games/gretools/pkg-plist b/games/gretools/pkg-plist
index 7e1772d340d4..a619a50743c0 100644
--- a/games/gretools/pkg-plist
+++ b/games/gretools/pkg-plist
@@ -19,5 +19,5 @@ share/gnome/pixmaps/gretools.png
@dirrm share/gnome/gretools/glade
@dirrm share/gnome/gretools
@dirrm %%PYTHON_SITELIBDIR%%/gretools
-@unexec rmdir %D/%%PYTHON_SITELIBDIR%% 2>/dev/null || true
-@unexec rmdir %D/%%PYTHON_LIBDIR%% 2>/dev/null || true
+@dirrmtry %%PYTHON_SITELIBDIR%%
+@dirrmtry %%PYTHON_LIBDIR%%
diff --git a/games/gtkpool/pkg-plist b/games/gtkpool/pkg-plist
index cc29931fc069..7a71ebb00b28 100644
--- a/games/gtkpool/pkg-plist
+++ b/games/gtkpool/pkg-plist
@@ -43,4 +43,4 @@ bin/gtkpool
%%DATADIR%%/ball_hit.raw
@dirrm %%DATADIR%%
share/icons/gtkpool.png
-@unexec rmdir %D/share/icons 2>/dev/null || true
+@dirrmtry share/icons
diff --git a/games/halflifeserver/pkg-plist b/games/halflifeserver/pkg-plist
index c019c1ffff27..8475f4077f3b 100644
--- a/games/halflifeserver/pkg-plist
+++ b/games/halflifeserver/pkg-plist
@@ -1856,10 +1856,10 @@
@dirrm %%HLDSDIR%%dmc/events
@dirrm %%HLDSDIR%%dmc/dlls
@dirrm %%HLDSDIR%%dmc/cl_dlls
-@unexec rmdir %D/%%HLDSDIR%%valve 2>/dev/null || true
-@unexec rmdir %D/%%HLDSDIR%%reslists 2>/dev/null || true
-@unexec rmdir %D/%%HLDSDIR%%tfc 2>/dev/null || true
-@unexec rmdir %D/%%HLDSDIR%%ricochet 2>/dev/null || true
-@unexec rmdir %D/%%HLDSDIR%%dmc 2>/dev/null || true
+@dirrmtry %%HLDSDIR%%valve
+@dirrmtry %%HLDSDIR%%reslists
+@dirrmtry %%HLDSDIR%%tfc
+@dirrmtry %%HLDSDIR%%ricochet
+@dirrmtry %%HLDSDIR%%dmc
@unexec rmdir %D/%%HLDSDIR%% 2>/dev/null || echo "If you are permanently removing this port and its mods, you should do a ``rm -rf ${PKG_PREFIX}/%%HLDSDIR%%`` to remove any configuration files and logs left." | fmt
-@unexec rmdir %D/%%HLDSBASE%% 2>/dev/null || true
+@dirrmtry %%HLDSBASE%%
diff --git a/games/hlserver-admin/pkg-plist b/games/hlserver-admin/pkg-plist
index 8dceadb2c17c..ddeec380b8c0 100644
--- a/games/hlserver-admin/pkg-plist
+++ b/games/hlserver-admin/pkg-plist
@@ -230,4 +230,4 @@
@dirrm %%HLDSDIR%%Adminmod/config/Samples
@dirrm %%HLDSDIR%%Adminmod/config
@dirrm %%HLDSDIR%%Adminmod/.amdd
-@unexec rmdir %D/%%HLDSDIR%%Adminmod 2>/dev/null || true
+@dirrmtry %%HLDSDIR%%Adminmod
diff --git a/games/hlserver-esf/pkg-plist b/games/hlserver-esf/pkg-plist
index ec0661f69b6b..b1b536e3583b 100644
--- a/games/hlserver-esf/pkg-plist
+++ b/games/hlserver-esf/pkg-plist
@@ -944,5 +944,5 @@
@dirrm %%HLDSDIR%%esf/dlls
@dirrm %%HLDSDIR%%esf/classes
@dirrm %%HLDSDIR%%esf/cl_dlls
-@unexec rmdir %D/%%HLDSDIR%%esf/SAVE 2>/dev/null || true
+@dirrmtry %%HLDSDIR%%esf/SAVE
@unexec rmdir %D/%%HLDSDIR%%esf 2>/dev/null || echo "If you are permanently removing this port, you should do a ``rm -rf ${PKG_PREFIX}/%%HLDSDIR%%esf`` to remove any configuration files and logs left." | fmt
diff --git a/games/hlserver-existence/pkg-plist b/games/hlserver-existence/pkg-plist
index de8e2f938126..7c57fd999d39 100644
--- a/games/hlserver-existence/pkg-plist
+++ b/games/hlserver-existence/pkg-plist
@@ -625,7 +625,7 @@
@dirrm %%HLDSDIR%%existence/sound/radio/accent_agent
@dirrm %%HLDSDIR%%existence/sound/radio
@dirrm %%HLDSDIR%%existence/sound/player
-@unexec rmdir %D/%%HLDSDIR%%existence/sound/plats 2>/dev/null || true
+@dirrmtry %%HLDSDIR%%existence/sound/plats
@dirrm %%HLDSDIR%%existence/sound/oldman
@dirrm %%HLDSDIR%%existence/sound/misc
@dirrm %%HLDSDIR%%existence/sound/items
@@ -660,5 +660,5 @@
@dirrm %%HLDSDIR%%existence/events
@dirrm %%HLDSDIR%%existence/dlls
@dirrm %%HLDSDIR%%existence/cl_dlls
-@unexec rmdir %D/%%HLDSDIR%%existence/SAVE 2>/dev/null || true
+@dirrmtry %%HLDSDIR%%existence/SAVE
@unexec rmdir %D/%%HLDSDIR%%existence 2>/dev/null || echo "If you are permanently removing this port, you should do a ``rm -rf ${PKG_PREFIX}/%%HLDSDIR%%existence`` to remove any configuration files and logs left." | fmt
diff --git a/games/hlserver-fa/pkg-plist b/games/hlserver-fa/pkg-plist
index fc9e47e567f2..996324b3be6b 100644
--- a/games/hlserver-fa/pkg-plist
+++ b/games/hlserver-fa/pkg-plist
@@ -1611,6 +1611,6 @@
@dirrm %%HLDSDIR%%firearms/events
@dirrm %%HLDSDIR%%firearms/dlls
@dirrm %%HLDSDIR%%firearms/cl_dlls
-@unexec rmdir %D/%%HLDSDIR%%firearms/SAVE 2>/dev/null || true
-@unexec rmdir %D/%%HLDSDIR%%firearms/logs 2>/dev/null || true
+@dirrmtry %%HLDSDIR%%firearms/SAVE
+@dirrmtry %%HLDSDIR%%firearms/logs
@unexec rmdir %D/%%HLDSDIR%%firearms 2>/dev/null || echo "If you are permanently removing this port, you should do a ``rm -rf ${PKG_PREFIX}/%%HLDSDIR%%firearms`` to remove any configuration files and logs left." | fmt
diff --git a/games/hlserver-flf/pkg-plist b/games/hlserver-flf/pkg-plist
index 72d352484222..9883c1b302fc 100644
--- a/games/hlserver-flf/pkg-plist
+++ b/games/hlserver-flf/pkg-plist
@@ -655,6 +655,6 @@
@dirrm %%HLDSDIR%%/frontline/events
@dirrm %%HLDSDIR%%/frontline/dlls
@dirrm %%HLDSDIR%%/frontline/cl_dlls
-@unexec rmdir %D/%%HLDSDIR%%frontline/SAVE 2>/dev/null || true
-@unexec rmdir %D/%%HLDSDIR%%frontline/logs 2>/dev/null || true
+@dirrmtry %%HLDSDIR%%frontline/SAVE
+@dirrmtry %%HLDSDIR%%frontline/logs
@unexec rmdir %D/%%HLDSDIR%%frontline 2>/dev/null || echo "If you are permanently removing this port, you should do a ``rm -rf ${PKG_PREFIX}/%%HLDSDIR%%frontline`` to remove any configuration files and logs left." | fmt
diff --git a/games/hlserver-opera/pkg-plist b/games/hlserver-opera/pkg-plist
index 73b58b1ec2e3..b827eb3282b6 100644
--- a/games/hlserver-opera/pkg-plist
+++ b/games/hlserver-opera/pkg-plist
@@ -1092,7 +1092,7 @@
@dirrm %%HLDSDIR%%opera/sound
@dirrm %%HLDSDIR%%opera/schemes
@exec mkdir %D/%%HLDSDIR%%opera/nodes
-@unexec rmdir %D/%%HLDSDIR%%opera/nodes 2>/dev/null || true
+@dirrmtry %%HLDSDIR%%opera/nodes
@dirrm %%HLDSDIR%%opera/models/player/yun
@dirrm %%HLDSDIR%%opera/models/player/ying
@dirrm %%HLDSDIR%%opera/models/player/yamishiro
@@ -1169,7 +1169,7 @@
@dirrm %%HLDSDIR%%opera/manual/images
@dirrm %%HLDSDIR%%opera/manual
@exec mkdir %D/%%HLDSDIR%%opera/logs
-@unexec rmdir %D/%%HLDSDIR%%opera/logs 2>/dev/null || true
+@dirrmtry %%HLDSDIR%%opera/logs
@dirrm %%HLDSDIR%%opera/gfx/shell
@dirrm %%HLDSDIR%%opera/gfx
@dirrm %%HLDSDIR%%opera/events
diff --git a/games/hlserver-opfor/pkg-plist b/games/hlserver-opfor/pkg-plist
index a09d723e837d..39391d4b36d6 100644
--- a/games/hlserver-opfor/pkg-plist
+++ b/games/hlserver-opfor/pkg-plist
@@ -593,6 +593,6 @@
@dirrm %%HLDSDIR%%gearbox/dlls
@dirrm %%HLDSDIR%%gearbox/classes
@dirrm %%HLDSDIR%%gearbox/cl_dlls
-@unexec rmdir %D/%%HLDSDIR%%gearbox/SAVE 2>/dev/null || true
-@unexec rmdir %D/%%HLDSDIR%%gearbox/logs 2>/dev/null || true
+@dirrmtry %%HLDSDIR%%gearbox/SAVE
+@dirrmtry %%HLDSDIR%%gearbox/logs
@unexec rmdir %D/%%HLDSDIR%%gearbox 2>/dev/null || echo "If you are permanently removing this port, you should do a ``rm -rf ${PKG_PREFIX}/%%HLDSDIR%%gearbox`` to remove any configuration files and logs left." | fmt
diff --git a/games/hlserver-si/pkg-plist b/games/hlserver-si/pkg-plist
index 9f06714b75cc..d7a4ab0d284c 100644
--- a/games/hlserver-si/pkg-plist
+++ b/games/hlserver-si/pkg-plist
@@ -869,6 +869,6 @@
@dirrm %%HLDSDIR%%si/events
@dirrm %%HLDSDIR%%si/dlls
@dirrm %%HLDSDIR%%si/cl_dlls
-@unexec rmdir %D/%%HLDSDIR%%si/SAVE 2>/dev/null || true
-@unexec rmdir %D/%%HLDSDIR%%si/logs 2>/dev/null || true
+@dirrmtry %%HLDSDIR%%si/SAVE
+@dirrmtry %%HLDSDIR%%si/logs
@unexec rmdir %D/%%HLDSDIR%%si 2>/dev/null || echo "If you are permanently removing this port, you should do a ``rm -rf ${PKG_PREFIX}/%%HLDSDIR%%si`` to remove any configuration files and logs left." | fmt
diff --git a/games/hlserver-vs/pkg-plist b/games/hlserver-vs/pkg-plist
index 998cffd6ffd0..3782a7037d88 100644
--- a/games/hlserver-vs/pkg-plist
+++ b/games/hlserver-vs/pkg-plist
@@ -687,7 +687,7 @@
@dirrm %%HLDSDIR%%VS/classes
@dirrm %%HLDSDIR%%VS/cl_dlls
@dirrm %%HLDSDIR%%VS/bots
-@unexec rmdir %D/%%HLDSDIR%%VS/SAVE 2>/dev/null || true
-@unexec rmdir %D/%%HLDSDIR%%VS/save 2>/dev/null || true
-@unexec rmdir %D/%%HLDSDIR%%VS/logs 2>/dev/null || true
+@dirrmtry %%HLDSDIR%%VS/SAVE
+@dirrmtry %%HLDSDIR%%VS/save
+@dirrmtry %%HLDSDIR%%VS/logs
@unexec rmdir %D/%%HLDSDIR%%VS 2>/dev/null || echo "If you are permanently removing this port, you should do a ``rm -rf ${PKG_PREFIX}/%%HLDSDIR%%VS`` to remove any configuration files and logs left." | fmt
diff --git a/games/hlserver-wasteland/pkg-plist b/games/hlserver-wasteland/pkg-plist
index 64941851d908..c46f1882fe4d 100644
--- a/games/hlserver-wasteland/pkg-plist
+++ b/games/hlserver-wasteland/pkg-plist
@@ -77,6 +77,6 @@
@dirrm %%HLDSDIR%%wasteland/events
@dirrm %%HLDSDIR%%wasteland/dlls
@dirrm %%HLDSDIR%%wasteland/cl_dlls
-@unexec rmdir %D/%%HLDSDIR%%wasteland/SAVE 2>/dev/null || true
-@unexec rmdir %D/%%HLDSDIR%%wasteland/logs 2>/dev/null || true
+@dirrmtry %%HLDSDIR%%wasteland/SAVE
+@dirrmtry %%HLDSDIR%%wasteland/logs
@unexec rmdir %D/%%HLDSDIR%%wasteland 2>/dev/null || echo "If you are permanently removing this port, you should do a ``rm -rf ${PKG_PREFIX}/%%HLDSDIR%%wasteland`` to remove any configuration files and logs left." | fmt
diff --git a/games/hlserver-wizwars/pkg-plist b/games/hlserver-wizwars/pkg-plist
index 16f3983f6096..9cc880781a66 100644
--- a/games/hlserver-wizwars/pkg-plist
+++ b/games/hlserver-wizwars/pkg-plist
@@ -738,8 +738,8 @@
@dirrm %%HLDSDIR%%wizwars/conclaves
@dirrm %%HLDSDIR%%wizwars/class
@dirrm %%HLDSDIR%%wizwars/cl_dlls
-@unexec rmdir %D/%%HLDSDIR%%wizwars/SAVE 2>/dev/null || true
-@unexec rmdir %D/%%HLDSDIR%%wizwars/save 2>/dev/null || true
-@unexec rmdir %D/%%HLDSDIR%%wizwars/music 2>/dev/null || true
-@unexec rmdir %D/%%HLDSDIR%%wizwars/logs 2>/dev/null || true
+@dirrmtry %%HLDSDIR%%wizwars/SAVE
+@dirrmtry %%HLDSDIR%%wizwars/save
+@dirrmtry %%HLDSDIR%%wizwars/music
+@dirrmtry %%HLDSDIR%%wizwars/logs
@unexec rmdir %D/%%HLDSDIR%%wizwars 2>/dev/null || echo "If you are permanently removing this port, you should do a ``rm -rf ${PKG_PREFIX}/%%HLDSDIR%%wizwars`` to remove any configuration files and logs left." | fmt
diff --git a/games/jfduke3d/pkg-plist b/games/jfduke3d/pkg-plist
index 279e6ff6e0d2..6030c6d8af37 100644
--- a/games/jfduke3d/pkg-plist
+++ b/games/jfduke3d/pkg-plist
@@ -6,4 +6,4 @@
%%DATADIR%%/build.cfg
bin/duke3d
bin/duke3d-build
-@unexec rmdir %D/share/jfduke3d 2> /dev/null || true
+@dirrmtry share/jfduke3d
diff --git a/games/kgeography/pkg-plist b/games/kgeography/pkg-plist
index 7bb89b56a3d3..752dd429bd9c 100644
--- a/games/kgeography/pkg-plist
+++ b/games/kgeography/pkg-plist
@@ -352,24 +352,24 @@ share/locale/sv/LC_MESSAGES/kgeography.mo
share/locale/ta/LC_MESSAGES/kgeography.mo
share/locale/tr/LC_MESSAGES/kgeography.mo
share/locale/uk/LC_MESSAGES/kgeography.mo
-@unexec rmdir %D/share/locale/uk/LC_MESSAGES 2>/dev/null || true
-@unexec rmdir %D/share/locale/uk 2>/dev/null || true
-@unexec rmdir %D/share/locale/sr/LC_MESSAGES 2>/dev/null || true
-@unexec rmdir %D/share/locale/sr 2>/dev/null || true
-@unexec rmdir %D/share/locale/rw/LC_MESSAGES 2>/dev/null || true
-@unexec rmdir %D/share/locale/rw 2>/dev/null || true
-@unexec rmdir %D/share/locale/ro/LC_MESSAGES 2>/dev/null || true
-@unexec rmdir %D/share/locale/ro 2>/dev/null || true
-@unexec rmdir %D/share/locale/pl/LC_MESSAGES 2>/dev/null || true
-@unexec rmdir %D/share/locale/pl 2>/dev/null || true
-@unexec rmdir %D/share/locale/gl/LC_MESSAGES 2>/dev/null || true
-@unexec rmdir %D/share/locale/gl 2>/dev/null || true
-@unexec rmdir %D/share/locale/el/LC_MESSAGES 2>/dev/null || true
-@unexec rmdir %D/share/locale/el 2>/dev/null || true
-@unexec rmdir %D/share/locale/cs/LC_MESSAGES 2>/dev/null || true
-@unexec rmdir %D/share/locale/cs 2>/dev/null || true
-@unexec rmdir %D/share/locale/ca/LC_MESSAGES 2>/dev/null || true
-@unexec rmdir %D/share/locale/ca 2>/dev/null || true
+@dirrmtry share/locale/uk/LC_MESSAGES
+@dirrmtry share/locale/uk
+@dirrmtry share/locale/sr/LC_MESSAGES
+@dirrmtry share/locale/sr
+@dirrmtry share/locale/rw/LC_MESSAGES
+@dirrmtry share/locale/rw
+@dirrmtry share/locale/ro/LC_MESSAGES
+@dirrmtry share/locale/ro
+@dirrmtry share/locale/pl/LC_MESSAGES
+@dirrmtry share/locale/pl
+@dirrmtry share/locale/gl/LC_MESSAGES
+@dirrmtry share/locale/gl
+@dirrmtry share/locale/el/LC_MESSAGES
+@dirrmtry share/locale/el
+@dirrmtry share/locale/cs/LC_MESSAGES
+@dirrmtry share/locale/cs
+@dirrmtry share/locale/ca/LC_MESSAGES
+@dirrmtry share/locale/ca
@dirrm share/doc/HTML/en/kgeography
@dirrm share/apps/kgeography/flags/italy
@dirrm share/apps/kgeography/flags
diff --git a/games/klondike/pkg-plist b/games/klondike/pkg-plist
index bb79d727009a..5bcc8c72e6d3 100644
--- a/games/klondike/pkg-plist
+++ b/games/klondike/pkg-plist
@@ -68,4 +68,4 @@ share/games/klondike/CARDS/c_warnspace.xbm
@dirrm share/games/klondike/CARDS/
@dirrm share/games/klondike/SCORES/
@dirrm share/games/klondike/
-@unexec rmdir %D/share/games 2>/dev/null || true
+@dirrmtry share/games
diff --git a/games/kpictorial/pkg-plist b/games/kpictorial/pkg-plist
index a632ebbadb4e..4d78af201274 100644
--- a/games/kpictorial/pkg-plist
+++ b/games/kpictorial/pkg-plist
@@ -19,13 +19,13 @@ share/doc/HTML/en/kpictorial/common
@dirrm share/apps/kpictorial/icons
@dirrm share/doc/HTML/en/kpictorial
@dirrm share/apps/kpictorial
-@unexec rmdir %D/share/icons/hicolor/16x16/apps 2>/dev/null || true
-@unexec rmdir %D/share/icons/hicolor/16x16 2>/dev/null || true
-@unexec rmdir %D/share/icons/hicolor/32x32/apps 2>/dev/null || true
-@unexec rmdir %D/share/icons/hicolor/32x32 2>/dev/null || true
-@unexec rmdir %D/share/icons/locolor/16x16/apps 2>/dev/null || true
-@unexec rmdir %D/share/icons/locolor/16x16 2>/dev/null || true
-@unexec rmdir %D/share/icons/locolor/32x32/apps 2>/dev/null || true
-@unexec rmdir %D/share/icons/locolor/32x32 2>/dev/null || true
-@unexec rmdir %D/share/icons/locolor 2>/dev/null || true
-@unexec rmdir %D/share/applnk/Games 2>/dev/null || true
+@dirrmtry share/icons/hicolor/16x16/apps
+@dirrmtry share/icons/hicolor/16x16
+@dirrmtry share/icons/hicolor/32x32/apps
+@dirrmtry share/icons/hicolor/32x32
+@dirrmtry share/icons/locolor/16x16/apps
+@dirrmtry share/icons/locolor/16x16
+@dirrmtry share/icons/locolor/32x32/apps
+@dirrmtry share/icons/locolor/32x32
+@dirrmtry share/icons/locolor
+@dirrmtry share/applnk/Games
diff --git a/games/ktritoc/pkg-plist b/games/ktritoc/pkg-plist
index e296370952ae..9e61cd80b96c 100644
--- a/games/ktritoc/pkg-plist
+++ b/games/ktritoc/pkg-plist
@@ -68,5 +68,5 @@ share/icons/hicolor/48x48/apps/ktritoc.png
@dirrm share/apps/ktritoc/pics
@dirrm share/apps/ktritoc
@dirrm share/doc/HTML/en/ktritoc
-@unexec rmdir %D/share/icons/hicolor/16x16 2>/dev/null || true
-@unexec rmdir %D/share/icons/hicolor/48x48 2>/dev/null || true
+@dirrmtry share/icons/hicolor/16x16
+@dirrmtry share/icons/hicolor/48x48
diff --git a/games/kwappen/pkg-plist b/games/kwappen/pkg-plist
index bb396387e9c9..cfd99108aed6 100644
--- a/games/kwappen/pkg-plist
+++ b/games/kwappen/pkg-plist
@@ -42,33 +42,33 @@ share/icons/locolor/32x32/apps/kwappen.png
share/locale/de/LC_MESSAGES/kwappen.mo
share/locale/pt/LC_MESSAGES/kwappen.mo
share/locale/pt_BR/LC_MESSAGES/kwappen.mo
-@unexec rmdir %D/share/icons/locolor/32x32/apps 2>/dev/null || true
-@unexec rmdir %D/share/icons/locolor/32x32 2>/dev/null || true
-@unexec rmdir %D/share/icons/locolor/16x16/apps 2>/dev/null || true
-@unexec rmdir %D/share/icons/locolor/16x16 2>/dev/null || true
-@unexec rmdir %D/share/icons/locolor 2>/dev/null || true
-@unexec rmdir %D/share/icons/hicolor/64x64/apps 2>/dev/null || true
-@unexec rmdir %D/share/icons/hicolor/64x64 2>/dev/null || true
-@unexec rmdir %D/share/icons/hicolor/48x48/apps 2>/dev/null || true
-@unexec rmdir %D/share/icons/hicolor/48x48 2>/dev/null || true
-@unexec rmdir %D/share/icons/hicolor/32x32/apps 2>/dev/null || true
-@unexec rmdir %D/share/icons/hicolor/32x32 2>/dev/null || true
-@unexec rmdir %D/share/icons/hicolor/22x22/apps 2>/dev/null || true
-@unexec rmdir %D/share/icons/hicolor/22x22 2>/dev/null || true
-@unexec rmdir %D/share/icons/hicolor/16x16/apps 2>/dev/null || true
-@unexec rmdir %D/share/icons/hicolor/16x16 2>/dev/null || true
-@unexec rmdir %D/share/icons/hicolor 2>/dev/null || true
-@unexec rmdir %D/share/icons 2>/dev/null || true
+@dirrmtry share/icons/locolor/32x32/apps
+@dirrmtry share/icons/locolor/32x32
+@dirrmtry share/icons/locolor/16x16/apps
+@dirrmtry share/icons/locolor/16x16
+@dirrmtry share/icons/locolor
+@dirrmtry share/icons/hicolor/64x64/apps
+@dirrmtry share/icons/hicolor/64x64
+@dirrmtry share/icons/hicolor/48x48/apps
+@dirrmtry share/icons/hicolor/48x48
+@dirrmtry share/icons/hicolor/32x32/apps
+@dirrmtry share/icons/hicolor/32x32
+@dirrmtry share/icons/hicolor/22x22/apps
+@dirrmtry share/icons/hicolor/22x22
+@dirrmtry share/icons/hicolor/16x16/apps
+@dirrmtry share/icons/hicolor/16x16
+@dirrmtry share/icons/hicolor
+@dirrmtry share/icons
@dirrm share/doc/HTML/pt_BR/kwappen
-@unexec rmdir %D/share/doc/HTML/pt_BR 2>/dev/null || true
+@dirrmtry share/doc/HTML/pt_BR
@dirrm share/doc/HTML/pt/kwappen
-@unexec rmdir %D/share/doc/HTML/pt 2>/dev/null || true
+@dirrmtry share/doc/HTML/pt
@dirrm share/doc/HTML/en/kwappen
-@unexec rmdir %D/share/doc/HTML/en 2>/dev/null || true
+@dirrmtry share/doc/HTML/en
@dirrm share/doc/HTML/de/kwappen
-@unexec rmdir %D/share/doc/HTML/de 2>/dev/null || true
-@unexec rmdir %D/share/doc/HTML 2>/dev/null || true
+@dirrmtry share/doc/HTML/de
+@dirrmtry share/doc/HTML
@dirrm share/apps/kwappen
-@unexec rmdir %D/share/apps 2>/dev/null || true
-@unexec rmdir %D/share/applnk/Utilities 2>/dev/null || true
-@unexec rmdir %D/share/applnk 2>/dev/null || true
+@dirrmtry share/apps
+@dirrmtry share/applnk/Utilities
+@dirrmtry share/applnk
diff --git a/games/lincity-ng/pkg-plist b/games/lincity-ng/pkg-plist
index 04539298383f..5d4d415c63a6 100644
--- a/games/lincity-ng/pkg-plist
+++ b/games/lincity-ng/pkg-plist
@@ -975,7 +975,7 @@ share/applications/lincity-ng.desktop
%%DATADIR%%/sounds/WindowClose.wav
%%DATADIR%%/sounds/WindowOpen.wav
share/pixmaps/lincity-ng.png
-@unexec rmdir %D/share/pixmaps 2>/dev/null || true
+@dirrmtry share/pixmaps
@dirrm %%DATADIR%%/sounds
@dirrm %%DATADIR%%/opening
@dirrm %%DATADIR%%/music
@@ -1023,4 +1023,4 @@ share/pixmaps/lincity-ng.png
@dirrm %%DATADIR%%/fonts
@dirrm %%DATADIR%%
@dirrm %%DOCSDIR%%
-@unexec rmdir %D/share/applications 2>/dev/null || true
+@dirrmtry share/applications
diff --git a/games/linux-enemyterritory-tce/pkg-plist b/games/linux-enemyterritory-tce/pkg-plist
index ee32106c3a69..9abea519e8ab 100644
--- a/games/linux-enemyterritory-tce/pkg-plist
+++ b/games/linux-enemyterritory-tce/pkg-plist
@@ -16,5 +16,5 @@ lib/enemyterritory/tcetest/ui.mp.i386.so
%%PORTDOCS%%%%DOCSDIR%%/changelog.txt
%%PORTDOCS%%%%DOCSDIR%%/description.txt
@dirrm lib/enemyterritory/tcetest
-@unexec rmdir %D/lib/enemyterritory 2>/dev/null || true
+@dirrmtry lib/enemyterritory
%%PORTDOCS%%@dirrm %%DOCSDIR%%
diff --git a/games/linux-quake4/pkg-plist b/games/linux-quake4/pkg-plist
index 6d5676f87209..1468116d1ef9 100644
--- a/games/linux-quake4/pkg-plist
+++ b/games/linux-quake4/pkg-plist
@@ -375,7 +375,7 @@ bin/quake4
%%PORTDOCS%%%%DOCSDIR%%/README
@dirrm %%Q4DIR%%pb/htm
@dirrm %%Q4DIR%%pb
-@unexec rmdir %D/%%Q4DIR%%q4base 2>/dev/null || true
+@dirrmtry %%Q4DIR%%q4base
@unexec rmdir %D/%%Q4DIR%% 2>/dev/null || echo "Note: %D/%%Q4DIR%% not empty -- not deleted!"
%%PORTDOCS%%@dirrm %%DOCSDIR%%/ENG/htm
%%PORTDOCS%%@dirrm %%DOCSDIR%%/ENG/images
diff --git a/games/lm-solve/pkg-plist b/games/lm-solve/pkg-plist
index feb1c6c202c8..23662a3f6b36 100644
--- a/games/lm-solve/pkg-plist
+++ b/games/lm-solve/pkg-plist
@@ -19,4 +19,4 @@ bin/lm-solve
@dirrm %%SITE_PERL%%/Games/LMSolve/Tilt
@dirrm %%SITE_PERL%%/Games/LMSolve/Plank
@dirrm %%SITE_PERL%%/Games/LMSolve
-@unexec rmdir %D/%%SITE_PERL%%/Games 2>/dev/null || true
+@dirrmtry %%SITE_PERL%%/Games
diff --git a/games/lucidlife/pkg-plist b/games/lucidlife/pkg-plist
index 8f06984fe9e9..ad707e925992 100644
--- a/games/lucidlife/pkg-plist
+++ b/games/lucidlife/pkg-plist
@@ -358,7 +358,7 @@ share/pixmaps/lucidlife.png
%%DOCSDIR%%/select.png
%%DOCSDIR%%/style.css
%%DOCSDIR%%/window.gif
-@unexec rmdir %D/share/applications 2>/dev/null || true
+@dirrmtry share/applications
@dirrm %%DATADIR%%/patterns/lpa/synthesis
@dirrm %%DATADIR%%/patterns/lpa/spaceships
@dirrm %%DATADIR%%/patterns/lpa/space_fillers
diff --git a/games/monsterz/pkg-plist b/games/monsterz/pkg-plist
index 67dc98369463..b213f61920d3 100644
--- a/games/monsterz/pkg-plist
+++ b/games/monsterz/pkg-plist
@@ -21,4 +21,4 @@
@dirrm %%LINSTDIR%%/sound
@dirrm %%LINSTDIR%%/graphics
@dirrm %%LINSTDIR%%
-@unexec rmdir %D/share/games 2>/dev/null || true
+@dirrmtry share/games
diff --git a/games/mt_gtk_client/pkg-plist b/games/mt_gtk_client/pkg-plist
index c8916c07a941..a6de5dc9e247 100644
--- a/games/mt_gtk_client/pkg-plist
+++ b/games/mt_gtk_client/pkg-plist
@@ -3,6 +3,6 @@ share/locale/fr/LC_MESSAGES/mt_gtk_client.mo
%%DATADIR%%/data/maitretarot.png
@dirrm %%DATADIR%%/data
@dirrm %%DATADIR%%
-@unexec rmdir %D/share/locale/fr/LC_MESSAGES 2>/dev/null || true
-@unexec rmdir %D/share/locale/fr 2>/dev/null || true
-@unexec rmdir %D/share/locale 2>/dev/null || true
+@dirrmtry share/locale/fr/LC_MESSAGES
+@dirrmtry share/locale/fr
+@dirrmtry share/locale
diff --git a/games/nethack32/pkg-plist b/games/nethack32/pkg-plist
index cdde3c3a69f8..15025aac704f 100644
--- a/games/nethack32/pkg-plist
+++ b/games/nethack32/pkg-plist
@@ -5,7 +5,7 @@ bin/%%HACKNAME%%
@exec chmod -R 775 %D/%%DATADIR%%
@exec chmod 2755 %D/%%DATADIR%%/%%HACKNAME%%
@exec chown games:games %D/%%DATADIR%%/save
-@unexec rmdir %D/%%DATADIR%%/save 2>/dev/null || true
+@dirrmtry %%DATADIR%%/save
%%PORTDOCS%%%%DOCSDIR%%/Guidebook.txt
%%DATADIR%%/pet_mark.xbm
%%DATADIR%%/rip.xpm
@@ -125,5 +125,5 @@ bin/%%HACKNAME%%
@exec touch %D/%%DATADIR%%/logfile && chmod 664 %D/%%DATADIR%%/logfile
@unexec [ -s %D/%%DATADIR%%/record ] || rm -f %D/%%DATADIR%%/record
@exec touch %D/%%DATADIR%%/record && chmod 664 %D/%%DATADIR%%/record
-@unexec rmdir %D/%%DATADIR%% 2>/dev/null || true
+@dirrmtry %%DATADIR%%
%%PORTDOCS%%@dirrm %%DOCSDIR%%
diff --git a/games/nethack33/pkg-plist b/games/nethack33/pkg-plist
index d036a3a836e4..4d661be32e45 100644
--- a/games/nethack33/pkg-plist
+++ b/games/nethack33/pkg-plist
@@ -5,7 +5,7 @@ bin/%%HACKNAME%%
@exec chmod -R 775 %D/%%DATADIR%%
@exec chmod 2755 %D/%%DATADIR%%/%%HACKNAME%%
@exec chown games:games %D/%%DATADIR%%/save
-@unexec rmdir %D/%%DATADIR%%/save 2>/dev/null || true
+@dirrmtry %%DATADIR%%/save
%%PORTDOCS%%%%DOCSDIR%%/Guidebook.txt
%%DATADIR%%/Arc-fila.lev
%%DATADIR%%/Arc-filb.lev
@@ -139,5 +139,5 @@ bin/%%HACKNAME%%
@exec touch %D/%%DATADIR%%/logfile && chmod 664 %D/%%DATADIR%%/logfile
@unexec [ -s %D/%%DATADIR%%/record ] || rm -f %D/%%DATADIR%%/record
@exec touch %D/%%DATADIR%%/record && chmod 664 %D/%%DATADIR%%/record
-@unexec rmdir %D/%%DATADIR%% 2>/dev/null || true
+@dirrmtry %%DATADIR%%
%%PORTDOCS%%@dirrm %%DOCSDIR%%
diff --git a/games/nethack34/pkg-plist b/games/nethack34/pkg-plist
index 442117563bf7..7a484f4e7dd4 100644
--- a/games/nethack34/pkg-plist
+++ b/games/nethack34/pkg-plist
@@ -5,7 +5,7 @@ bin/%%HACKNAME%%
@exec chmod -R 775 %D/%%HACKDIR%%
@exec chmod 2755 %D/%%HACKDIR%%/%%HACKNAME%%
@exec chown games:games %D/%%HACKDIR%%/save
-@unexec rmdir %D/%%HACKDIR%%/save 2>/dev/null || true
+@dirrmtry %%HACKDIR%%/save
%%HACKDIR%%/Arc-fila.lev
%%HACKDIR%%/Arc-filb.lev
%%HACKDIR%%/Arc-goal.lev
diff --git a/games/netpanzer/pkg-plist b/games/netpanzer/pkg-plist
index 85d08899bd80..a24c8d088dcb 100644
--- a/games/netpanzer/pkg-plist
+++ b/games/netpanzer/pkg-plist
@@ -9,4 +9,4 @@ share/applications/netpanzer.desktop
share/pixmaps/netpanzer.png
share/pixmaps/netpanzer.xpm
%%PORTDOCS%%@dirrm %%DOCSDIR%%
-@unexec rmdir %D/share/applications 2>/dev/null || true
+@dirrmtry share/applications
diff --git a/games/noegnud-data/pkg-plist b/games/noegnud-data/pkg-plist
index 339bfa72b7bf..43785eec718b 100644
--- a/games/noegnud-data/pkg-plist
+++ b/games/noegnud-data/pkg-plist
@@ -1542,25 +1542,25 @@ share/noegnud-0.8.0/data/widgetthemes/wooden/wooden_scrollbararea.theme
share/noegnud-0.8.0/data/widgetthemes/wooden/wooden_title.theme
share/noegnud-0.8.0/data/widgetthemes/wooden/wooden_title_active.theme
share/noegnud-0.8.0/data/widgetthemes/wooden/wooden_window.theme
-@unexec rmdir %D/share/noegnud-0.8.0/data/widgetthemes/wooden/title 2>/dev/null || true
-@unexec rmdir %D/share/noegnud-0.8.0/data/widgetthemes/wooden/shades 2>/dev/null || true
-@unexec rmdir %D/share/noegnud-0.8.0/data/widgetthemes/wooden/scrollbararea 2>/dev/null || true
-@unexec rmdir %D/share/noegnud-0.8.0/data/widgetthemes/wooden/scrollbar 2>/dev/null || true
-@unexec rmdir %D/share/noegnud-0.8.0/data/widgetthemes/wooden/minimap 2>/dev/null || true
-@unexec rmdir %D/share/noegnud-0.8.0/data/widgetthemes/wooden/default 2>/dev/null || true
-@unexec rmdir %D/share/noegnud-0.8.0/data/widgetthemes/wooden/buttonover 2>/dev/null || true
-@unexec rmdir %D/share/noegnud-0.8.0/data/widgetthemes/wooden/button 2>/dev/null || true
-@unexec rmdir %D/share/noegnud-0.8.0/data/widgetthemes/wooden 2>/dev/null || true
-@unexec rmdir %D/share/noegnud-0.8.0/data/widgetthemes 2>/dev/null || true
-@unexec rmdir %D/share/noegnud-0.8.0/data/variant-reference 2>/dev/null || true
-@unexec rmdir %D/share/noegnud-0.8.0/data/tomb 2>/dev/null || true
-@unexec rmdir %D/share/noegnud-0.8.0/data/tilesets/nethack 2>/dev/null || true
-@unexec rmdir %D/share/noegnud-0.8.0/data/tilesets 2>/dev/null || true
-@unexec rmdir %D/share/noegnud-0.8.0/data/textcolouring 2>/dev/null || true
-@unexec rmdir %D/share/noegnud-0.8.0/data/minimap-fonts 2>/dev/null || true
-@unexec rmdir %D/share/noegnud-0.8.0/data/lang 2>/dev/null || true
-@unexec rmdir %D/share/noegnud-0.8.0/data/images 2>/dev/null || true
-@unexec rmdir %D/share/noegnud-0.8.0/data/gui 2>/dev/null || true
-@unexec rmdir %D/share/noegnud-0.8.0/data/char 2>/dev/null || true
-@unexec rmdir %D/share/noegnud-0.8.0/data 2>/dev/null || true
-@unexec rmdir %D/share/noegnud-0.8.0 2>/dev/null || true
+@dirrmtry share/noegnud-0.8.0/data/widgetthemes/wooden/title
+@dirrmtry share/noegnud-0.8.0/data/widgetthemes/wooden/shades
+@dirrmtry share/noegnud-0.8.0/data/widgetthemes/wooden/scrollbararea
+@dirrmtry share/noegnud-0.8.0/data/widgetthemes/wooden/scrollbar
+@dirrmtry share/noegnud-0.8.0/data/widgetthemes/wooden/minimap
+@dirrmtry share/noegnud-0.8.0/data/widgetthemes/wooden/default
+@dirrmtry share/noegnud-0.8.0/data/widgetthemes/wooden/buttonover
+@dirrmtry share/noegnud-0.8.0/data/widgetthemes/wooden/button
+@dirrmtry share/noegnud-0.8.0/data/widgetthemes/wooden
+@dirrmtry share/noegnud-0.8.0/data/widgetthemes
+@dirrmtry share/noegnud-0.8.0/data/variant-reference
+@dirrmtry share/noegnud-0.8.0/data/tomb
+@dirrmtry share/noegnud-0.8.0/data/tilesets/nethack
+@dirrmtry share/noegnud-0.8.0/data/tilesets
+@dirrmtry share/noegnud-0.8.0/data/textcolouring
+@dirrmtry share/noegnud-0.8.0/data/minimap-fonts
+@dirrmtry share/noegnud-0.8.0/data/lang
+@dirrmtry share/noegnud-0.8.0/data/images
+@dirrmtry share/noegnud-0.8.0/data/gui
+@dirrmtry share/noegnud-0.8.0/data/char
+@dirrmtry share/noegnud-0.8.0/data
+@dirrmtry share/noegnud-0.8.0
diff --git a/games/noegnud-littlehack/pkg-plist b/games/noegnud-littlehack/pkg-plist
index 82833d025ddf..4e4a4f6c23d1 100644
--- a/games/noegnud-littlehack/pkg-plist
+++ b/games/noegnud-littlehack/pkg-plist
@@ -9,6 +9,6 @@ share/noegnud-0.8.0/littlehack-0.0.1/record
share/noegnud-0.8.0/littlehack-0.0.1/recover
@exec chown games:bin %D/share/noegnud-0.8.0/littlehack-0.0.1
@exec chmod 775 %D/share/noegnud-0.8.0/littlehack-0.0.1
-@unexec rmdir %D/share/noegnud-0.8.0/littlehack-0.0.1/save 2>/dev/null || true
-@unexec rmdir %D/share/noegnud-0.8.0/littlehack-0.0.1 2>/dev/null || true
-@unexec rmdir %D/share/noegnud-0.8.0 2>/dev/null || true
+@dirrmtry share/noegnud-0.8.0/littlehack-0.0.1/save
+@dirrmtry share/noegnud-0.8.0/littlehack-0.0.1
+@dirrmtry share/noegnud-0.8.0
diff --git a/games/noegnud-nethack-deet/pkg-plist b/games/noegnud-nethack-deet/pkg-plist
index 3b050bc6f0e3..721423459576 100644
--- a/games/noegnud-nethack-deet/pkg-plist
+++ b/games/noegnud-nethack-deet/pkg-plist
@@ -9,6 +9,6 @@ share/noegnud-0.8.0/nethack-3.4.2-deet/record
share/noegnud-0.8.0/nethack-3.4.2-deet/recover
@exec chown games:bin %D/share/noegnud-0.8.0/nethack-3.4.2-deet
@exec chmod 775 %D/share/noegnud-0.8.0/nethack-3.4.2-deet
-@unexec rmdir %D/share/noegnud-0.8.0/nethack-3.4.2-deet/save 2>/dev/null || true
-@unexec rmdir %D/share/noegnud-0.8.0/nethack-3.4.2-deet 2>/dev/null || true
-@unexec rmdir %D/share/noegnud-0.8.0 2>/dev/null || true
+@dirrmtry share/noegnud-0.8.0/nethack-3.4.2-deet/save
+@dirrmtry share/noegnud-0.8.0/nethack-3.4.2-deet
+@dirrmtry share/noegnud-0.8.0
diff --git a/games/noegnud-nethack/pkg-plist b/games/noegnud-nethack/pkg-plist
index 52c7c45f7fcf..fc55d1537cfe 100644
--- a/games/noegnud-nethack/pkg-plist
+++ b/games/noegnud-nethack/pkg-plist
@@ -9,6 +9,6 @@ share/noegnud-0.8.0/nethack-3.4.3/record
share/noegnud-0.8.0/nethack-3.4.3/recover
@exec chown games:bin %D/share/noegnud-0.8.0/nethack-3.4.3
@exec chmod 775 %D/share/noegnud-0.8.0/nethack-3.4.3
-@unexec rmdir %D/share/noegnud-0.8.0/nethack-3.4.3/save 2>/dev/null || true
-@unexec rmdir %D/share/noegnud-0.8.0/nethack-3.4.3 2>/dev/null || true
-@unexec rmdir %D/share/noegnud-0.8.0 2>/dev/null || true
+@dirrmtry share/noegnud-0.8.0/nethack-3.4.3/save
+@dirrmtry share/noegnud-0.8.0/nethack-3.4.3
+@dirrmtry share/noegnud-0.8.0
diff --git a/games/noegnud-slashem/pkg-plist b/games/noegnud-slashem/pkg-plist
index 07dc6230f237..d70c3f40d8db 100644
--- a/games/noegnud-slashem/pkg-plist
+++ b/games/noegnud-slashem/pkg-plist
@@ -181,6 +181,6 @@ share/noegnud-0.8.0/slashem-0.0.6E4F8/wizhelp
share/noegnud-0.8.0/slashem-0.0.6E4F8/yeenoghu.lev
@exec chown games:bin %D/share/noegnud-0.8.0/slashem-0.0.6E4F8
@exec chmod 775 %D/share/noegnud-0.8.0/slashem-0.0.6E4F8
-@unexec rmdir %D/share/noegnud-0.8.0/slashem-0.0.6E4F8/save 2>/dev/null || true
-@unexec rmdir %D/share/noegnud-0.8.0/slashem-0.0.6E4F8 2>/dev/null || true
-@unexec rmdir %D/share/noegnud-0.8.0 2>/dev/null || true
+@dirrmtry share/noegnud-0.8.0/slashem-0.0.6E4F8/save
+@dirrmtry share/noegnud-0.8.0/slashem-0.0.6E4F8
+@dirrmtry share/noegnud-0.8.0
diff --git a/games/p5-Games-AlphaBeta/pkg-plist b/games/p5-Games-AlphaBeta/pkg-plist
index b8f8404f2fbd..39f67e72aa02 100644
--- a/games/p5-Games-AlphaBeta/pkg-plist
+++ b/games/p5-Games-AlphaBeta/pkg-plist
@@ -6,4 +6,4 @@ bin/othello-demo
%%SITE_PERL%%/Games/Sequential/Position.pm
@dirrm %%SITE_PERL%%/Games/AlphaBeta
@dirrm %%SITE_PERL%%/Games/Sequential
-@unexec rmdir %D/%%SITE_PERL%%/Games 2>/dev/null || true
+@dirrmtry %%SITE_PERL%%/Games
diff --git a/games/p5-Games-Bingo-Bot/pkg-plist b/games/p5-Games-Bingo-Bot/pkg-plist
index 6bb4ee69b7da..51e8c5924f27 100644
--- a/games/p5-Games-Bingo-Bot/pkg-plist
+++ b/games/p5-Games-Bingo-Bot/pkg-plist
@@ -3,7 +3,7 @@
%%PORTDOCS%%%%EXAMPLESDIR%%/bingobot.pl
%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%
@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/Games/Bingo/Bot
-@unexec rmdir %D/%%SITE_PERL%%/%%PERL_ARCH%%/auto/Games/Bingo 2>/dev/null || true
-@unexec rmdir %D/%%SITE_PERL%%/%%PERL_ARCH%%/auto/Games 2>/dev/null || true
-@unexec rmdir %D/%%SITE_PERL%%/Games/Bingo 2>/dev/null || true
-@unexec rmdir %D/%%SITE_PERL%%/Games 2>/dev/null || true
+@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/Games/Bingo
+@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/Games
+@dirrmtry %%SITE_PERL%%/Games/Bingo
+@dirrmtry %%SITE_PERL%%/Games
diff --git a/games/p5-Games-Bingo-Print/pkg-plist b/games/p5-Games-Bingo-Print/pkg-plist
index 2d6cee377ba0..fc210e3f8162 100644
--- a/games/p5-Games-Bingo-Print/pkg-plist
+++ b/games/p5-Games-Bingo-Print/pkg-plist
@@ -3,7 +3,7 @@
%%PORTDOCS%%%%EXAMPLESDIR%%/bingo_print.pl
%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%
@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/Games/Bingo/Print
-@unexec rmdir %D/%%SITE_PERL%%/%%PERL_ARCH%%/auto/Games/Bingo 2>/dev/null || true
-@unexec rmdir %D/%%SITE_PERL%%/%%PERL_ARCH%%/auto/Games 2>/dev/null || true
-@unexec rmdir %D/%%SITE_PERL%%/Games/Bingo 2>/dev/null || true
-@unexec rmdir %D/%%SITE_PERL%%/Games 2>/dev/null || true
+@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/Games/Bingo
+@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/Games
+@dirrmtry %%SITE_PERL%%/Games/Bingo
+@dirrmtry %%SITE_PERL%%/Games
diff --git a/games/p5-Games-Bingo/pkg-plist b/games/p5-Games-Bingo/pkg-plist
index 17b6388b48d3..293d71929d56 100644
--- a/games/p5-Games-Bingo/pkg-plist
+++ b/games/p5-Games-Bingo/pkg-plist
@@ -6,4 +6,4 @@
%%PORTDOCS%%%%EXAMPLESDIR%%/bingo.pl
%%PORTDOCS%%@dirrm %%EXAMPLESDIR%%
@dirrm %%SITE_PERL%%/Games/Bingo
-@unexec rmdir %D/%%SITE_PERL%%/Games 2>/dev/null || true
+@dirrmtry %%SITE_PERL%%/Games
diff --git a/games/p5-Games-Dice/pkg-plist b/games/p5-Games-Dice/pkg-plist
index c1d04eb8a7a3..c846372751ff 100644
--- a/games/p5-Games-Dice/pkg-plist
+++ b/games/p5-Games-Dice/pkg-plist
@@ -1,5 +1,5 @@
%%SITE_PERL%%/Games/Dice.pm
%%SITE_PERL%%/%%PERL_ARCH%%/auto/Games/Dice/.packlist
@dirrm %%SITE_PERL%%/%%PERL_ARCH%%/auto/Games/Dice
-@unexec rmdir %D/%%SITE_PERL%%/%%PERL_ARCH%%/auto/Games 2>/dev/null || true
-@unexec rmdir %D/%%SITE_PERL%%/Games 2>/dev/null || true
+@dirrmtry %%SITE_PERL%%/%%PERL_ARCH%%/auto/Games
+@dirrmtry %%SITE_PERL%%/Games
diff --git a/games/pvpgn/pkg-plist b/games/pvpgn/pkg-plist
index 3878a22cf31d..d3e9405d1f02 100644
--- a/games/pvpgn/pkg-plist
+++ b/games/pvpgn/pkg-plist
@@ -119,6 +119,6 @@ sbin/bntrackd
@dirrm %%DATADIR%%/teams
@dirrm %%DATADIR%%/users
@dirrm %%DATADIR%%/userscdb
-@unexec rmdir %D/%%DATADIR%% 2>/dev/null || true
+@dirrmtry %%DATADIR%%
@dirrm etc/pvpgn
%%PORTDOCS%%@dirrm %%DOCSDIR%%
diff --git a/games/pydance/pkg-plist b/games/pydance/pkg-plist
index 8cd7e88cf8e4..56e4a4715410 100644
--- a/games/pydance/pkg-plist
+++ b/games/pydance/pkg-plist
@@ -376,7 +376,7 @@ share/games/pydance/util.py
@dirrm share/games/pydance/songs
@dirrm share/games/pydance/images
@dirrm share/games/pydance
-@unexec rmdir %D/share/games 2>/dev/null || true
+@dirrmtry share/games
%%PORTDOCS%%%%DOCSDIR%%/BUGS
%%PORTDOCS%%%%DOCSDIR%%/CREDITS
%%PORTDOCS%%%%DOCSDIR%%/ChangeLog
diff --git a/games/pysol-cardsets/pkg-plist b/games/pysol-cardsets/pkg-plist
index 44869a7873b0..26f66a47a29b 100644
--- a/games/pysol-cardsets/pkg-plist
+++ b/games/pysol-cardsets/pkg-plist
@@ -6049,5 +6049,5 @@ share/pysol/cardset-xskat-german/shadow13.gif
@dirrm share/pysol/cardset-1815
@dirrm share/pysol/cardset-1750
@dirrm share/pysol/cardset-1567
-@unexec rmdir %D/share/pysol/data 2>/dev/null || true
-@unexec rmdir %D/share/pysol 2>/dev/null || true
+@dirrmtry share/pysol/data
+@dirrmtry share/pysol
diff --git a/games/pysol-music/pkg-plist b/games/pysol-music/pkg-plist
index 61fda394374e..f8c68ce7a00b 100644
--- a/games/pysol-music/pkg-plist
+++ b/games/pysol-music/pkg-plist
@@ -4,5 +4,5 @@ share/pysol/music/Past_and_Future.COPYRIGHT
share/pysol/music/Past_and_Future.it
share/pysol/music/Subsequential.COPYRIGHT
share/pysol/music/Subsequential.mod
-@unexec rmdir %D/share/pysol/music 2>/dev/null || true
-@unexec rmdir %D/share/pysol 2>/dev/null || true
+@dirrmtry share/pysol/music
+@dirrmtry share/pysol
diff --git a/games/q3base/pkg-plist b/games/q3base/pkg-plist
index 3a9ffc01f7dd..cae9f01cd4f0 100644
--- a/games/q3base/pkg-plist
+++ b/games/q3base/pkg-plist
@@ -7,8 +7,8 @@ lib/quake3/missionpack/qagame.so
lib/quake3/missionpack/ui.so
@dirrm lib/quake3/baseq3
@dirrm lib/quake3/missionpack
-@unexec rmdir %D/lib/quake3 2>/dev/null || true
-@unexec rmdir %D/share/quake3/q3base 2>/dev/null || true
-@unexec rmdir %D/share/quake3/missionpack 2>/dev/null || true
-@unexec rmdir %D/share/quake3/baseq3 2>/dev/null || true
-@unexec rmdir %D/share/quake3 2>/dev/null || true
+@dirrmtry lib/quake3
+@dirrmtry share/quake3/q3base
+@dirrmtry share/quake3/missionpack
+@dirrmtry share/quake3/baseq3
+@dirrmtry share/quake3
diff --git a/games/quake2-data/pkg-plist b/games/quake2-data/pkg-plist
index 27243575bf49..779fadba2c5f 100644
--- a/games/quake2-data/pkg-plist
+++ b/games/quake2-data/pkg-plist
@@ -338,7 +338,7 @@
@dirrm %%DATADIR%%/baseq2/players/cyborg
@dirrm %%DATADIR%%/baseq2/players/crakhor
@dirrm %%DATADIR%%/baseq2/players
-@unexec rmdir %D/%%DATADIR%%/baseq2 2>/dev/null || true
-@unexec rmdir %D/%%DATADIR%%/rogue 2>/dev/null || true
-@unexec rmdir %D/%%DATADIR%%/xatrix 2>/dev/null || true
+@dirrmtry %%DATADIR%%/baseq2
+@dirrmtry %%DATADIR%%/rogue
+@dirrmtry %%DATADIR%%/xatrix
@unexec rmdir %D/%%DATADIR%% 2>/dev/null || echo "If you are permanently removing this port, you should remove any configuration files, data files, and mods left in %D/%%DATADIR%%." | fmt
diff --git a/games/quake3-data/pkg-plist b/games/quake3-data/pkg-plist
index 126fe66236ad..641e635ba91b 100644
--- a/games/quake3-data/pkg-plist
+++ b/games/quake3-data/pkg-plist
@@ -10,7 +10,7 @@
%%TEAMARENA%%%%DATADIR%%/missionpack/pak2.pk3
%%TEAMARENA%%%%DATADIR%%/missionpack/pak3.pk3
share/pixmaps/quake3.xpm
-@unexec rmdir %D/share/pixmaps 2>/dev/null || true
+@dirrmtry share/pixmaps
%%TEAMARENA%%@unexec rmdir %D/%%DATADIR%%/missionpack 2>/dev/null || true
-@unexec rmdir %D/%%DATADIR%%/baseq3 2>/dev/null || true
+@dirrmtry %%DATADIR%%/baseq3
@unexec rmdir %D/%%DATADIR%% >/dev/null 2>&1 || echo "If you are permanently removing this port, you should remove any configuration files, data files, and mods left in %D/%%DATADIR%%." | fmt
diff --git a/games/quake3-q3base/pkg-plist b/games/quake3-q3base/pkg-plist
index 3a9ffc01f7dd..cae9f01cd4f0 100644
--- a/games/quake3-q3base/pkg-plist
+++ b/games/quake3-q3base/pkg-plist
@@ -7,8 +7,8 @@ lib/quake3/missionpack/qagame.so
lib/quake3/missionpack/ui.so
@dirrm lib/quake3/baseq3
@dirrm lib/quake3/missionpack
-@unexec rmdir %D/lib/quake3 2>/dev/null || true
-@unexec rmdir %D/share/quake3/q3base 2>/dev/null || true
-@unexec rmdir %D/share/quake3/missionpack 2>/dev/null || true
-@unexec rmdir %D/share/quake3/baseq3 2>/dev/null || true
-@unexec rmdir %D/share/quake3 2>/dev/null || true
+@dirrmtry lib/quake3
+@dirrmtry share/quake3/q3base
+@dirrmtry share/quake3/missionpack
+@dirrmtry share/quake3/baseq3
+@dirrmtry share/quake3
diff --git a/games/rocksndiamonds/pkg-plist b/games/rocksndiamonds/pkg-plist
index 23f19e42750c..d02fda4bbe09 100644
--- a/games/rocksndiamonds/pkg-plist
+++ b/games/rocksndiamonds/pkg-plist
@@ -839,7 +839,7 @@ bin/rocksndiamonds
@dirrm %%DATADIR%%/levels
@dirrm %%DATADIR%%/graphics/gfx_classic
@dirrm %%DATADIR%%/graphics
-@unexec rmdir %D/%%DATADIR%%/scores 2>/dev/null || true
-@unexec rmdir %D/%%DATADIR%% 2>/dev/null || true
+@dirrmtry %%DATADIR%%/scores
+@dirrmtry %%DATADIR%%
%%PORTDOCS%%@dirrm %%DOCSDIR%%/elements
%%PORTDOCS%%@dirrm %%DOCSDIR%%
diff --git a/games/rtb/pkg-plist b/games/rtb/pkg-plist
index 03d0a77997c7..6234e1024c43 100644
--- a/games/rtb/pkg-plist
+++ b/games/rtb/pkg-plist
@@ -152,10 +152,10 @@ share/locale/ja/LC_MESSAGES/RealTimeBattle.mo
share/locale/pl/LC_MESSAGES/RealTimeBattle.mo
share/locale/pt/LC_MESSAGES/RealTimeBattle.mo
share/locale/sv/LC_MESSAGES/RealTimeBattle.mo
-@unexec rmdir %D/share/locale/en@boldquot/LC_MESSAGES 2>/dev/null || true
-@unexec rmdir %D/share/locale/en@boldquot 2>/dev/null || true
-@unexec rmdir %D/share/locale/en@quot/LC_MESSAGES 2>/dev/null || true
-@unexec rmdir %D/share/locale/en@quot 2>/dev/null || true
+@dirrmtry share/locale/en@boldquot/LC_MESSAGES
+@dirrmtry share/locale/en@boldquot
+@dirrmtry share/locale/en@quot/LC_MESSAGES
+@dirrmtry share/locale/en@quot
%%PORTDOCS%%@dirrm %%DOCSDIR%%
@dirrm lib/RealTimeBattle/Robots/xt-bot
@dirrm lib/RealTimeBattle/Robots/thomas2
diff --git a/games/rtcw/pkg-plist b/games/rtcw/pkg-plist
index a1fb9bf09a4f..971561d9b864 100644
--- a/games/rtcw/pkg-plist
+++ b/games/rtcw/pkg-plist
@@ -222,9 +222,9 @@ share/pixmaps/WolfSP.xpm
@dirrm %%DATADIR%%/pb/htm
@dirrm %%DATADIR%%/pb
@dirrm %%DATADIR%%/main/scripts
-@unexec rmdir %D/%%DATADIR%%/main 2>/dev/null || true
+@dirrmtry %%DATADIR%%/main
@unexec rmdir %D/%%DATADIR%% >/dev/null 2>&1 || echo "If you are permanently removing this port, you should remove any configuration files, data files, and mods left in %D/%%DATADIR%%." | fmt
-@unexec rmdir %D/share/pixmaps 2>/dev/null || true
+@dirrmtry share/pixmaps
%%PORTDOCS%%@dirrm %%DOCSDIR%%/Docs/PunkBuster/players
%%PORTDOCS%%@dirrm %%DOCSDIR%%/Docs/PunkBuster/admins
%%PORTDOCS%%@dirrm %%DOCSDIR%%/Docs/PunkBuster
diff --git a/games/scorched3d/pkg-plist b/games/scorched3d/pkg-plist
index 76f4055c247c..7682f97fddfe 100644
--- a/games/scorched3d/pkg-plist
+++ b/games/scorched3d/pkg-plist
@@ -1158,7 +1158,7 @@ games/scorched3d/documentation/html/serverfiles.html
@dirrm games/scorched3d/data/tanks/tiger2
@dirrm games/scorched3d/data/tanks/thel
@dirrm games/scorched3d/data/tanks/t90
-@unexec rmdir %D/games/scorched3d/data/tanks/sonicring 2>/dev/null || true
+@dirrmtry games/scorched3d/data/tanks/sonicring
@dirrm games/scorched3d/data/tanks/sonic
@dirrm games/scorched3d/data/tanks/sa6
@dirrm games/scorched3d/data/tanks/photoncannon
@@ -1179,7 +1179,7 @@ games/scorched3d/documentation/html/serverfiles.html
@dirrm games/scorched3d/data/tanks/bm13
@dirrm games/scorched3d/data/tanks/bender
@dirrm games/scorched3d/data/tanks/battleship
-@unexec rmdir %D/games/scorched3d/data/tanks/CannonTower 2>/dev/null || true
+@dirrmtry games/scorched3d/data/tanks/CannonTower
@dirrm games/scorched3d/data/tanks/CF-104
@dirrm games/scorched3d/data/tanks
@dirrm games/scorched3d/data/talk/polish
@@ -1207,44 +1207,44 @@ games/scorched3d/documentation/html/serverfiles.html
@dirrm games/scorched3d/data/globalmods/apoc/data/landscapes/masks
@dirrm games/scorched3d/data/globalmods/apoc/data/landscapes
@dirrm games/scorched3d/data/globalmods/apoc/data/accessories/weapons
-@unexec rmdir %D/games/scorched3d/data/globalmods/apoc/data/accessories/trailorhouse1 2>/dev/null || true
-@unexec rmdir %D/games/scorched3d/data/globalmods/apoc/data/accessories/store1 2>/dev/null || true
-@unexec rmdir %D/games/scorched3d/data/globalmods/apoc/data/accessories/smalloak 2>/dev/null || true
-@unexec rmdir %D/games/scorched3d/data/globalmods/apoc/data/accessories/skyscraper1 2>/dev/null || true
-@unexec rmdir %D/games/scorched3d/data/globalmods/apoc/data/accessories/shotgun 2>/dev/null || true
-@unexec rmdir %D/games/scorched3d/data/globalmods/apoc/data/accessories/shockrocket 2>/dev/null || true
-@unexec rmdir %D/games/scorched3d/data/globalmods/apoc/data/accessories/shockbomblet 2>/dev/null || true
-@unexec rmdir %D/games/scorched3d/data/globalmods/apoc/data/accessories/remorcebomblet 2>/dev/null || true
-@unexec rmdir %D/games/scorched3d/data/globalmods/apoc/data/accessories/redhornet 2>/dev/null || true
-@unexec rmdir %D/games/scorched3d/data/globalmods/apoc/data/accessories/officeplaza1 2>/dev/null || true
-@unexec rmdir %D/games/scorched3d/data/globalmods/apoc/data/accessories/office3 2>/dev/null || true
+@dirrmtry games/scorched3d/data/globalmods/apoc/data/accessories/trailorhouse1
+@dirrmtry games/scorched3d/data/globalmods/apoc/data/accessories/store1
+@dirrmtry games/scorched3d/data/globalmods/apoc/data/accessories/smalloak
+@dirrmtry games/scorched3d/data/globalmods/apoc/data/accessories/skyscraper1
+@dirrmtry games/scorched3d/data/globalmods/apoc/data/accessories/shotgun
+@dirrmtry games/scorched3d/data/globalmods/apoc/data/accessories/shockrocket
+@dirrmtry games/scorched3d/data/globalmods/apoc/data/accessories/shockbomblet
+@dirrmtry games/scorched3d/data/globalmods/apoc/data/accessories/remorcebomblet
+@dirrmtry games/scorched3d/data/globalmods/apoc/data/accessories/redhornet
+@dirrmtry games/scorched3d/data/globalmods/apoc/data/accessories/officeplaza1
+@dirrmtry games/scorched3d/data/globalmods/apoc/data/accessories/office3
@dirrm games/scorched3d/data/globalmods/apoc/data/accessories/objects
-@unexec rmdir %D/games/scorched3d/data/globalmods/apoc/data/accessories/napalm 2>/dev/null || true
-@unexec rmdir %D/games/scorched3d/data/globalmods/apoc/data/accessories/m7a3grenade 2>/dev/null || true
-@unexec rmdir %D/games/scorched3d/data/globalmods/apoc/data/accessories/logcabin1 2>/dev/null || true
-@unexec rmdir %D/games/scorched3d/data/globalmods/apoc/data/accessories/house1 2>/dev/null || true
-@unexec rmdir %D/games/scorched3d/data/globalmods/apoc/data/accessories/grenade 2>/dev/null || true
-@unexec rmdir %D/games/scorched3d/data/globalmods/apoc/data/accessories/gasstation1 2>/dev/null || true
-@unexec rmdir %D/games/scorched3d/data/globalmods/apoc/data/accessories/fusionbarrel 2>/dev/null || true
-@unexec rmdir %D/games/scorched3d/data/globalmods/apoc/data/accessories/farm1 2>/dev/null || true
-@unexec rmdir %D/games/scorched3d/data/globalmods/apoc/data/accessories/factory1 2>/dev/null || true
-@unexec rmdir %D/games/scorched3d/data/globalmods/apoc/data/accessories/deer 2>/dev/null || true
-@unexec rmdir %D/games/scorched3d/data/globalmods/apoc/data/accessories/common 2>/dev/null || true
-@unexec rmdir %D/games/scorched3d/data/globalmods/apoc/data/accessories/cityoffice 2>/dev/null || true
-@unexec rmdir %D/games/scorched3d/data/globalmods/apoc/data/accessories/church1 2>/dev/null || true
-@unexec rmdir %D/games/scorched3d/data/globalmods/apoc/data/accessories/cactus 2>/dev/null || true
-@unexec rmdir %D/games/scorched3d/data/globalmods/apoc/data/accessories/bullet 2>/dev/null || true
+@dirrmtry games/scorched3d/data/globalmods/apoc/data/accessories/napalm
+@dirrmtry games/scorched3d/data/globalmods/apoc/data/accessories/m7a3grenade
+@dirrmtry games/scorched3d/data/globalmods/apoc/data/accessories/logcabin1
+@dirrmtry games/scorched3d/data/globalmods/apoc/data/accessories/house1
+@dirrmtry games/scorched3d/data/globalmods/apoc/data/accessories/grenade
+@dirrmtry games/scorched3d/data/globalmods/apoc/data/accessories/gasstation1
+@dirrmtry games/scorched3d/data/globalmods/apoc/data/accessories/fusionbarrel
+@dirrmtry games/scorched3d/data/globalmods/apoc/data/accessories/farm1
+@dirrmtry games/scorched3d/data/globalmods/apoc/data/accessories/factory1
+@dirrmtry games/scorched3d/data/globalmods/apoc/data/accessories/deer
+@dirrmtry games/scorched3d/data/globalmods/apoc/data/accessories/common
+@dirrmtry games/scorched3d/data/globalmods/apoc/data/accessories/cityoffice
+@dirrmtry games/scorched3d/data/globalmods/apoc/data/accessories/church1
+@dirrmtry games/scorched3d/data/globalmods/apoc/data/accessories/cactus
+@dirrmtry games/scorched3d/data/globalmods/apoc/data/accessories/bullet
@dirrm games/scorched3d/data/globalmods/apoc/data/accessories/buildings
-@unexec rmdir %D/games/scorched3d/data/globalmods/apoc/data/accessories/brownboulders 2>/dev/null || true
-@unexec rmdir %D/games/scorched3d/data/globalmods/apoc/data/accessories/boulders 2>/dev/null || true
-@unexec rmdir %D/games/scorched3d/data/globalmods/apoc/data/accessories/50cal 2>/dev/null || true
+@dirrmtry games/scorched3d/data/globalmods/apoc/data/accessories/brownboulders
+@dirrmtry games/scorched3d/data/globalmods/apoc/data/accessories/boulders
+@dirrmtry games/scorched3d/data/globalmods/apoc/data/accessories/50cal
@dirrm games/scorched3d/data/globalmods/apoc/data/accessories
@dirrm games/scorched3d/data/globalmods/apoc/data
@dirrm games/scorched3d/data/globalmods/apoc
@dirrm games/scorched3d/data/globalmods
@dirrm games/scorched3d/data/fonts
@dirrm games/scorched3d/data/avatars
-@unexec rmdir %D/games/scorched3d/data/acessories 2>/dev/null || true
+@dirrmtry games/scorched3d/data/acessories
@dirrm games/scorched3d/data/accessories/v2missile
@dirrm games/scorched3d/data/accessories/teleport
@dirrm games/scorched3d/data/accessories/sonicring
@@ -1275,4 +1275,4 @@ games/scorched3d/documentation/html/serverfiles.html
@dirrm games/scorched3d/data/accessories
@dirrm games/scorched3d/data
@dirrm games/scorched3d
-@unexec rmdir %D/games 2>/dev/null || true
+@dirrmtry games
diff --git a/games/six/pkg-plist b/games/six/pkg-plist
index 45a4c4ceefbd..55c89389710b 100644
--- a/games/six/pkg-plist
+++ b/games/six/pkg-plist
@@ -21,5 +21,5 @@ share/icons/locolor/32x32/apps/six.png
share/mimelnk/application/vnd.kde.six.desktop
@dirrm share/doc/HTML/en/six
@dirrm share/apps/six
-@unexec rmdir %D/share/applnk/Games/Board 2>/dev/null || true
-@unexec rmdir %D/share/applnk/Games 2>/dev/null || true
+@dirrmtry share/applnk/Games/Board
+@dirrmtry share/applnk/Games
diff --git a/games/stvef-server/pkg-plist b/games/stvef-server/pkg-plist
index 013fba936c92..a0d30c9e7bbc 100644
--- a/games/stvef-server/pkg-plist
+++ b/games/stvef-server/pkg-plist
@@ -4,4 +4,4 @@ games/stvef/readme.txt
games/stvef/baseEF/server.cfg
@dirrm games/stvef/baseEF
@dirrm games/stvef
-@unexec rmdir %D/games 2>/dev/null || true
+@dirrmtry games
diff --git a/games/supertux/pkg-plist b/games/supertux/pkg-plist
index 4459b01b887e..4f9e6b88a6a6 100644
--- a/games/supertux/pkg-plist
+++ b/games/supertux/pkg-plist
@@ -794,4 +794,4 @@ share/pixmaps/supertux.png
@dirrm %%DATADIR%%/images/background
@dirrm %%DATADIR%%/images
@dirrm %%DATADIR%%
-@unexec rmdir %D/share/applications 2> /dev/null || true
+@dirrmtry share/applications
diff --git a/games/torcs/pkg-plist b/games/torcs/pkg-plist
index 7ee0a83ed0b0..a8f88fc87399 100644
--- a/games/torcs/pkg-plist
+++ b/games/torcs/pkg-plist
@@ -2810,7 +2810,7 @@ lib/torcs/trackgen-bin
@dirrm %%TORCSDIR%%/cars/155-DTM
@dirrm %%TORCSDIR%%/cars
@dirrm %%TORCSDIR%%
-@unexec rmdir %D/share/games 2>/dev/null || true
+@dirrmtry share/games
@dirrm lib/torcs/modules/track
@dirrm lib/torcs/modules/telemetry
@dirrm lib/torcs/modules/simu
diff --git a/games/tornado/pkg-plist b/games/tornado/pkg-plist
index 3ef04beb4087..5b715cf732c5 100644
--- a/games/tornado/pkg-plist
+++ b/games/tornado/pkg-plist
@@ -1,5 +1,5 @@
bin/tornado
-@unexec rmdir %D/share/games 2>/dev/null || true
+@dirrmtry share/games
share/games/tornado.scores
share/locale/de/LC_MESSAGES/tornado.mo
share/locale/es/LC_MESSAGES/tornado.mo
diff --git a/games/tuxpaint/pkg-plist b/games/tuxpaint/pkg-plist
index e9b85a75b7fe..6e70066f02e1 100644
--- a/games/tuxpaint/pkg-plist
+++ b/games/tuxpaint/pkg-plist
@@ -681,14 +681,14 @@ share/pixmaps/tuxpaint.png
@dirrm %%DATADIR%%/fonts
@dirrm %%DATADIR%%/brushes
@dirrm %%DATADIR%%
-@unexec rmdir %D/share/locale/sw/LC_MESSAGES 2>/dev/null || true
-@unexec rmdir %D/share/locale/sw 2>/dev/null || true
-@unexec rmdir %D/share/locale/gos/LC_MESSAGES 2>/dev/null || true
-@unexec rmdir %D/share/locale/gos 2>/dev/null || true
-@unexec rmdir %D/share/locale/rw/LC_MESSAGES 2>/dev/null || true
-@unexec rmdir %D/share/locale/rw 2>/dev/null || true
-@unexec rmdir %D/share/locale/tlh/LC_MESSAGES 2>/dev/null || true
-@unexec rmdir %D/share/locale/tlh 2>/dev/null || true
+@dirrmtry share/locale/sw/LC_MESSAGES
+@dirrmtry share/locale/sw
+@dirrmtry share/locale/gos/LC_MESSAGES
+@dirrmtry share/locale/gos
+@dirrmtry share/locale/rw/LC_MESSAGES
+@dirrmtry share/locale/rw
+@dirrmtry share/locale/tlh/LC_MESSAGES
+@dirrmtry share/locale/tlh
@dirrm %%DOCSDIR%%/zh_tw/html
@dirrm %%DOCSDIR%%/zh_tw
@dirrm %%DOCSDIR%%/zh_cn
@@ -744,4 +744,4 @@ share/pixmaps/tuxpaint.png
@dirrm %%DOCSDIR%%/af
@dirrm %%DOCSDIR%%
@dirrm etc/tuxpaint
-@unexec rmdir %D/share/pixmaps 2>/dev/null || true
+@dirrmtry share/pixmaps
diff --git a/games/typespeed/pkg-plist b/games/typespeed/pkg-plist
index 8ca1337a7468..1581444d6fa8 100644
--- a/games/typespeed/pkg-plist
+++ b/games/typespeed/pkg-plist
@@ -16,4 +16,4 @@ lib/typespeed/words.portuguese
lib/typespeed/words.prog
lib/typespeed/words.spanish
lib/typespeed/words.unix
-@unexec rmdir %D/lib/typespeed 2>/dev/null || true
+@dirrmtry lib/typespeed
diff --git a/games/viruskiller/pkg-plist b/games/viruskiller/pkg-plist
index 0e25304b3ff2..323031bf5b8c 100644
--- a/games/viruskiller/pkg-plist
+++ b/games/viruskiller/pkg-plist
@@ -13,5 +13,5 @@ share/pixmaps/viruskiller.png
%%PORTDOCS%%%%DOCSDIR%%/virus3.gif
@dirrm %%DATADIR%%
%%PORTDOCS%%@dirrm %%DOCSDIR%%
-@unexec rmdir %D/share/pixmaps 2>/dev/null || true
-@unexec rmdir %D/share/applications 2>/dev/null || true
+@dirrmtry share/pixmaps
+@dirrmtry share/applications
diff --git a/games/wesnoth-devel/pkg-plist b/games/wesnoth-devel/pkg-plist
index 8f9b4516823b..4028e099c5b7 100644
--- a/games/wesnoth-devel/pkg-plist
+++ b/games/wesnoth-devel/pkg-plist
@@ -4015,14 +4015,14 @@ share/locale/tr/LC_MESSAGES/wesnoth.mo
@dirrm %%DATADIR%%/data/campaigns
@dirrm %%DATADIR%%/data
@dirrm %%DATADIR%%
-@unexec rmdir %D/share/locale/la/LC_MESSAGES 2> /dev/null || true
-@unexec rmdir %D/share/locale/la 2> /dev/null || true
-@unexec rmdir %D/man/sv/man6 2> /dev/null || true
-@unexec rmdir %D/man/sv 2> /dev/null || true
-@unexec rmdir %D/man/hu/man6 2> /dev/null || true
-@unexec rmdir %D/man/hu 2> /dev/null || true
-@unexec rmdir %D/man/de/man6 2> /dev/null || true
-@unexec rmdir %D/man/de 2> /dev/null || true
+@dirrmtry share/locale/la/LC_MESSAGES
+@dirrmtry share/locale/la
+@dirrmtry man/sv/man6
+@dirrmtry man/sv
+@dirrmtry man/hu/man6
+@dirrmtry man/hu
+@dirrmtry man/de/man6
+@dirrmtry man/de
%%GNOME:%%share/gnome/applications/wesnoth.desktop
%%GNOME:%%share/gnome/pixmaps/wesnoth-icon.png
diff --git a/games/wesnoth/pkg-plist b/games/wesnoth/pkg-plist
index 8f9b4516823b..4028e099c5b7 100644
--- a/games/wesnoth/pkg-plist
+++ b/games/wesnoth/pkg-plist
@@ -4015,14 +4015,14 @@ share/locale/tr/LC_MESSAGES/wesnoth.mo
@dirrm %%DATADIR%%/data/campaigns
@dirrm %%DATADIR%%/data
@dirrm %%DATADIR%%
-@unexec rmdir %D/share/locale/la/LC_MESSAGES 2> /dev/null || true
-@unexec rmdir %D/share/locale/la 2> /dev/null || true
-@unexec rmdir %D/man/sv/man6 2> /dev/null || true
-@unexec rmdir %D/man/sv 2> /dev/null || true
-@unexec rmdir %D/man/hu/man6 2> /dev/null || true
-@unexec rmdir %D/man/hu 2> /dev/null || true
-@unexec rmdir %D/man/de/man6 2> /dev/null || true
-@unexec rmdir %D/man/de 2> /dev/null || true
+@dirrmtry share/locale/la/LC_MESSAGES
+@dirrmtry share/locale/la
+@dirrmtry man/sv/man6
+@dirrmtry man/sv
+@dirrmtry man/hu/man6
+@dirrmtry man/hu
+@dirrmtry man/de/man6
+@dirrmtry man/de
%%GNOME:%%share/gnome/applications/wesnoth.desktop
%%GNOME:%%share/gnome/pixmaps/wesnoth-icon.png
diff --git a/games/xarchon/pkg-plist b/games/xarchon/pkg-plist
index 5e53a2fb7732..52d4fc740684 100644
--- a/games/xarchon/pkg-plist
+++ b/games/xarchon/pkg-plist
@@ -485,9 +485,9 @@ share/xarchon/xarchon.default
@dirrm share/xarchon/archon/wav/side/dark
@dirrm share/xarchon/archon/wav/side
@dirrm share/xarchon/archon/wav/generic
-@unexec rmdir %D/share/xarchon/archon/wav/actor/weapon 2>/dev/null || true
-@unexec rmdir %D/share/xarchon/archon/wav/actor/piece 2>/dev/null || true
-@unexec rmdir %D/share/xarchon/archon/wav/actor 2>/dev/null || true
+@dirrmtry share/xarchon/archon/wav/actor/weapon
+@dirrmtry share/xarchon/archon/wav/actor/piece
+@dirrmtry share/xarchon/archon/wav/actor
@dirrm share/xarchon/archon/wav
@dirrm share/xarchon/archon/floor
@dirrm share/xarchon/archon/cursor
diff --git a/games/xfce4-toys/pkg-plist b/games/xfce4-toys/pkg-plist
index 4f7bf0be8baf..71c6da78473b 100644
--- a/games/xfce4-toys/pkg-plist
+++ b/games/xfce4-toys/pkg-plist
@@ -73,11 +73,11 @@ share/xfce4/tips/tips.dat
@dirrm share/xfce4/eyes/themes
@dirrm share/xfce4/eyes
@dirrm share/xfce4/tips
-@unexec rmdir %D/share/xfce4 2>/dev/null || true
-@unexec rmdir %D/lib/xfce4/panel-plugins 2>/dev/null || true
-@unexec rmdir %D/share/locale/bn_IN/LC_MESSAGES 2>/dev/null || true
-@unexec rmdir %D/share/locale/bn_IN 2>/dev/null || true
-@unexec rmdir %D/share/locale/mr/LC_MESSAGES 2>/dev/null || true
-@unexec rmdir %D/share/locale/mr 2>/dev/null || true
-@unexec rmdir %D/share/locale/nb_NO/LC_MESSAGES 2>/dev/null || true
-@unexec rmdir %D/share/locale/nb_NO 2>/dev/null || true
+@dirrmtry share/xfce4
+@dirrmtry lib/xfce4/panel-plugins
+@dirrmtry share/locale/bn_IN/LC_MESSAGES
+@dirrmtry share/locale/bn_IN
+@dirrmtry share/locale/mr/LC_MESSAGES
+@dirrmtry share/locale/mr
+@dirrmtry share/locale/nb_NO/LC_MESSAGES
+@dirrmtry share/locale/nb_NO
diff --git a/games/xqf/pkg-plist b/games/xqf/pkg-plist
index 91ee65b8ae31..192730e26f4c 100644
--- a/games/xqf/pkg-plist
+++ b/games/xqf/pkg-plist
@@ -136,4 +136,4 @@ share/pixmaps/xqf_48x48_2.png
@dirrm %%DATADIR%%/default
@dirrm %%DATADIR%%
%%PORTDOCS%%@dirrm %%DOCSDIR%%
-@unexec rmdir %D/share/applications 2>/dev/null || true
+@dirrmtry share/applications
diff --git a/games/xshisen/pkg-plist b/games/xshisen/pkg-plist
index 87a5589e81a3..df3786b4af00 100644
--- a/games/xshisen/pkg-plist
+++ b/games/xshisen/pkg-plist
@@ -77,7 +77,7 @@ lib/X11/ja_JP.eucJP/app-defaults/XShisen
@dirrm %%DATADIR%%/s2
@dirrm %%DATADIR%%/s1
@dirrm %%DATADIR%%
-@unexec rmdir %D/lib/X11/ja_JP.eucJP/app-defaults 2>/dev/null || true
-@unexec rmdir %D/lib/X11/ja_JP.eucJP 2>/dev/null || true
+@dirrmtry lib/X11/ja_JP.eucJP/app-defaults
+@dirrmtry lib/X11/ja_JP.eucJP
@exec [ -d %D/lib/X11/ja_JP.EUC/ -a -d %D/lib/X11/ja_JP.EUC/app-defaults ] && ln -s %D/lib/X11/ja_JP.eucJP/app-defaults/XShisen %D/lib/X11/ja_JP.EUC/app-defaults || true
@unexec rm %D/lib/X11/ja_JP.EUC/app-defaults/XShisen 2>/dev/null || true