⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.93
Server IP:
65.108.141.171
Server:
Linux server.heloix.com 5.4.0-214-generic #234-Ubuntu SMP Fri Mar 14 23:50:27 UTC 2025 x86_64
Server Software:
Apache
PHP Version:
7.4.33
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
share
/
View File Name :
pkg-config-dpkghook
#! /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: $!"); } }