---
name: "dh_usrlocal"
section: "1"
platform: "linux"
package: "debhelper"
version: "13.24.2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/dh_usrlocal"
---

# dh\_usrlocal(1)

migrate usr/local directories to maintainer scripts

## NAME

dh\_usrlocal - migrate usr/local directories to maintainer scripts

## SYNOPSIS

**dh\_usrlocal** \[*debhelper options*\] \[**-n**\]

## DESCRIPTION

**dh\_usrlocal** is a debhelper program that can be used for building packages that will provide a subdirectory in */usr/local* when installed.

It finds subdirectories of *usr/local* in the package build directory, and removes them, replacing them with maintainer script snippets (unless **-n** is used) to create the directories at install time, and remove them when the package is removed, in a manner compliant with Debian policy. These snippets are inserted into the maintainer scripts by **dh\_installdeb**. See [**dh\_installdeb**(1)](/dh_installdeb/1.md) for an explanation of debhelper maintainer script snippets.

When the *DEB\_RULES\_REQUIRES\_ROOT* environment variable is not (effectively) *binary-targets*, the directories in */usr/local* will be handled as if they were owned by root:root (see below).

When the *DEB\_RULES\_REQUIRES\_ROOT* environment variable has an effective value of *binary-targets*, the owners, groups and permissions will be preserved with the sole exception where the directory is owned by root:root.

If a directory is owned by root:root, then ownership will be determined at install time.  The ownership and permission bits will either be root:root mode 0755 or root:staff mode 02775.  The actual choice depends on whether the system has */etc/staff-group-for-usr-local* (as documented in the Debian Policy Manual §9.1.2 since version 4.1.4)

## OPTIONS

- **-n**, **--no-scripts**

  Do not modify *postinst*/*prerm* scripts.

## NOTES

Note that this command is not idempotent. [**dh\_prep**(1)](/dh_prep/1.md) should be called between invocations of this command. Otherwise, it may cause multiple instances of the same text to be added to maintainer scripts.

## CONFORMS TO

Debian policy, version 2.2

## SEE ALSO

[**debhelper**(7)](/debhelper/7.md)

This program is a part of debhelper.

## AUTHOR

Andrew Stribblehill \<ads@debian.org\>
