#!/usr/bin/make -f # Disable unneeded stuff that needs dependencies not currently in debian export DH_GOLANG_EXCLUDES := \ azure-sdk-for-go/eng/tools \ azure-sdk-for-go/sdk/messaging/azservicebus/internal \ azure-sdk-for-go/sdk/messaging/azeventhubs/internal \ azure-sdk-for-go/sdk/samples # Disable tests that assume access to internet or run from a git checkout export DH_GOLANG_TEST_EXCLUDES := $(DH_GOLANG_EXCLUDES) \ azure-sdk-for-go/sdk/ai \ azure-sdk-for-go/sdk/azidentity \ azure-sdk-for-go/sdk/cognitiveservices \ azure-sdk-for-go/sdk/containers \ azure-sdk-for-go/sdk/data \ azure-sdk-for-go/sdk/internal \ azure-sdk-for-go/sdk/messaging \ azure-sdk-for-go/sdk/monitor \ azure-sdk-for-go/sdk/resourcemanager \ azure-sdk-for-go/sdk/security \ azure-sdk-for-go/sdk/storage \ azure-sdk-for-go/sdk/tracing \ # this is a huge hack and was better implemented in dh-golang. The issue is # that this package is a collection of individual golang modules, # cf. https://learn.microsoft.com/en-us/azure/developer/go/overview # Upstream distinguises between "Client Libraries" and "Management Libraries" # at different levels of maturity: # https://azure.github.io/azure-sdk/releases/latest/mgmt/go.html # The upstream git repository that this Debian package is based on packages all # of them together. Unfortunately, dh-golang doesn't deal with go modules well. # as such, go.mod is mostly ignored, and the fixups below account for the version # bumps accordingly to make the imports as documentation in the SDK work. GOMOD_VERSION_FIXUPS := \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/apimanagement/armapimanagement/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appconfiguration/armappconfiguration/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appcontainers/armappcontainers/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appplatform/armappplatform/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/appservice/armappservice/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/authorization/armauthorization/v3 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/azurestackhci/armazurestackhci/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/baremetalinfrastructure/armbaremetalinfrastructure/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/batch/armbatch/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/billingbenefits/armbillingbenefits/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cdn/armcdn/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/communication/armcommunication/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/compute/armcompute/v5 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerinstance/armcontainerinstance/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/containerservice/armcontainerservice/v4 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/cosmos/armcosmos/v3 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/costmanagement/armcostmanagement/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/databox/armdatabox/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/datafactory/armdatafactory/v4 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dataprotection/armdataprotection/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/desktopvirtualization/armdesktopvirtualization/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/dynatrace/armdynatrace/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/eventgrid/armeventgrid/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hybridcompute/armhybridcompute/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/hybridnetwork/armhybridnetwork/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/internal/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/kubernetesconfiguration/armkubernetesconfiguration/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/kusto/armkusto/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/machinelearning/armmachinelearning/v3 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/mediaservices/armmediaservices/v3 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/mobilenetwork/armmobilenetwork/v3 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/mysql/armmysqlflexibleservers/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/netapp/armnetapp/v5 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/network/armnetwork/v4 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/networkfunction/armnetworkfunction/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/nginx/armnginx/v3 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/orbital/armorbital/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/postgresql/armpostgresqlflexibleservers/v4 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/powerbiprivatelinks/armpowerbiprivatelinks/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/recoveryservices/armrecoveryservicesbackup/v3 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/recoveryservices/armrecoveryservicessiterecovery/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/redis/armredis/v3 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/reservations/armreservations/v3 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/resources/armdeploymentscripts/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/selfhelp/armselfhelp/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/servicefabric/armservicefabric/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/solutions/armmanagedapplications/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/sql/armsql/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storagecache/armstoragecache/v3 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/storagemover/armstoragemover/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/support/armsupport/v2 \ github.com/Azure/azure-sdk-for-go/sdk/resourcemanager/virtualmachineimagebuilder/armvirtualmachineimagebuilder/v2 %: dh $@ --buildsystem=golang --builddirectory=_build override_dh_auto_test: DH_GOLANG_EXCLUDES="$(DH_GOLANG_TEST_EXCLUDES)" \ dh_auto_test --builddirectory=_build execute_before_dh_auto_build: cd _build/src && for d in $(GOMOD_VERSION_FIXUPS); do ln -sr `dirname $$d` $$d ; done execute_after_dh_install: # Fix package-contains-vcs-control-file lintian warning -find $(CURDIR)/debian/* -type f -name .gitignore -delete cd debian/golang-github-azure-azure-sdk-for-go-dev/usr/share/gocode/src && \ for d in $(GOMOD_VERSION_FIXUPS); do ln -sr `dirname $$d` $$d ; done