#! /usr/bin/perl # # Sets up /usr/bin/*-pkg-config symlinks to point to the cross wrapper. # # It is called from dpkg --post-invoke and from postinst with the "update" # argument to instate the necessary symlinks. # # It is called from prerm with the "remove" argument to remove all symlinks. # use strict; use warnings; use Dpkg::Arch qw(debarch_to_gnutriplet); use Dpkg::ErrorHandling qw(error warning); my $crosswrapper = "/usr/share/pkg-config-crosswrapper"; my $action = $ARGV[0]; error("parameter must be 'remove' or 'update'") unless defined $action && ($action eq "remove" || $action eq "update"); my $arch = `dpkg --print-architecture`; error('dpkg --print-architecture failed') if $? >> 8; my @architectures = `dpkg --print-foreign-architectures`; error('dpkg --print-foreign-architectures failed') if $? >> 8; push @architectures, $arch; chomp @architectures; my %gnutriplets; foreach my $arch (@architectures) { my $triplet = debarch_to_gnutriplet($arch); if (not defined($triplet)) { warning("Architecture $arch not defined in architecture tables, ignored"); next; } $gnutriplets{$triplet} = 1; } my %symlinks = map { $_ => 1 } </usr/bin/*-pkg-config>; foreach my $symlink (keys %symlinks) { $symlink =~ m,^/usr/bin/([^-]+-[^-]+-[^-]+)-pkg-config, or next; next if exists $gnutriplets{$1} && $action eq "update"; next unless -l $symlink; next unless readlink $symlink eq $crosswrapper; unlink $symlink or error("failed to remove symlink $symlink: $!"); } if ($action eq 'update') { foreach (keys %gnutriplets) { my $linktarget = "/usr/bin/${_}-pkg-config"; next if exists $symlinks{$linktarget}; next if -e $linktarget; symlink $crosswrapper, $linktarget or error("failed to create symlink $linktarget to $crosswrapper: $!"); } }
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
GConf | Folder | 0755 |
|
|
X11 | Folder | 0755 |
|
|
aclocal | Folder | 0755 |
|
|
aclocal-1.16 | Folder | 0755 |
|
|
alsa | Folder | 0755 |
|
|
alsa-card-profile | Folder | 0755 |
|
|
applications | Folder | 0755 |
|
|
apport | Folder | 0755 |
|
|
autoconf | Folder | 0755 |
|
|
automake-1.16 | Folder | 0755 |
|
|
bash-completion | Folder | 0755 |
|
|
binfmts | Folder | 0755 |
|
|
bug | Folder | 0755 |
|
|
build-essential | Folder | 0755 |
|
|
cogl | Folder | 0755 |
|
|
dbus-1 | Folder | 0755 |
|
|
debconf | Folder | 0755 |
|
|
defaults | Folder | 0755 |
|
|
dict | Folder | 0755 |
|
|
dictionaries-common | Folder | 0755 |
|
|
doc-base | Folder | 0755 |
|
|
dpkg | Folder | 0755 |
|
|
drirc.d | Folder | 0755 |
|
|
egl | Folder | 0755 |
|
|
emacsen-common | Folder | 0755 |
|
|
enchant-2 | Folder | 0755 |
|
|
fcitx | Folder | 0755 |
|
|
file | Folder | 0755 |
|
|
fontconfig | Folder | 0755 |
|
|
fonts | Folder | 0755 |
|
|
gcc | Folder | 0755 |
|
|
gdm | Folder | 0755 |
|
|
gettext | Folder | 0755 |
|
|
gettext-0.21 | Folder | 0755 |
|
|
gjs-1.0 | Folder | 0755 |
|
|
glade | Folder | 0755 |
|
|
glib-2.0 | Folder | 0755 |
|
|
glvnd | Folder | 0755 |
|
|
gnome | Folder | 0755 |
|
|
gnome-control-center | Folder | 0755 |
|
|
gst-plugins-base | Folder | 0755 |
|
|
gstreamer-1.0 | Folder | 0755 |
|
|
gtk-3.0 | Folder | 0755 |
|
|
gtk-4.0 | Folder | 0755 |
|
|
gtksourceview-3.0 | Folder | 0755 |
|
|
gtksourceview-5 | Folder | 0755 |
|
|
hunspell | Folder | 0755 |
|
|
icons | Folder | 0755 |
|
|
icu | Folder | 0755 |
|
|
info | Folder | 0755 |
|
|
iso-codes | Folder | 0755 |
|
|
itstool | Folder | 0755 |
|
|
java | Folder | 0755 |
|
|
javascript | Folder | 0755 |
|
|
libc-bin | Folder | 0755 |
|
|
libdrm | Folder | 0755 |
|
|
libgweather-4 | Folder | 0755 |
|
|
libinput | Folder | 0755 |
|
|
libthai | Folder | 0755 |
|
|
libtool | Folder | 0755 |
|
|
libwacom | Folder | 0755 |
|
|
lintian | Folder | 0755 |
|
|
locale | Folder | 0755 |
|
|
locale-langpack | Folder | 0755 |
|
|
lto-disabled-list | Folder | 0755 |
|
|
lzo | Folder | 0755 |
|
|
metainfo | Folder | 0755 |
|
|
mime | Folder | 0755 |
|
|
misc | Folder | 0755 |
|
|
mm-common | Folder | 0755 |
|
|
perl5 | Folder | 0755 |
|
|
pipewire | Folder | 0755 |
|
|
pixmaps | Folder | 0755 |
|
|
pkgconfig | Folder | 0755 |
|
|
polkit-1 | Folder | 0755 |
|
|
presage | Folder | 0755 |
|
|
python-wheels | Folder | 0755 |
|
|
python3 | Folder | 0755 |
|
|
session-migration | Folder | 0755 |
|
|
sgml | Folder | 0755 |
|
|
sounds | Folder | 0755 |
|
|
themes | Folder | 0755 |
|
|
thumbnailers | Folder | 0755 |
|
|
ubuntu | Folder | 0755 |
|
|
ubuntu-wayland | Folder | 0755 |
|
|
upstart | Folder | 0755 |
|
|
wayland | Folder | 0755 |
|
|
wayland-protocols | Folder | 0755 |
|
|
xml | Folder | 0755 |
|
|
zsh | Folder | 0755 |
|
|
File | 0 B | 0 |
|
|
pkg-config-crosswrapper | File | 2.18 KB | 0755 |
|
pkg-config-dpkghook | File | 1.78 KB | 0755 |
|