urpkgize — Add a bunch of file to an existing urpkg package




Urpkgize is a small script to add files to an existing urpkg package. For each file, it tries to invoke urpkg with the correct options so that the file is added cleanly. It is especially useful when you have a lot of files to add and don't want to figure out the options for each one.

How it works

There are three ways urpkg can add a file to a package. It can change the file's owner to the package username, it can change the file's group to the package username or it can add the file to a list of all files belonging to the package. It is usually better to change the file's owner or group (often, both are changed), since the information is then embedded in the file itself. However, this is not always possible as sometimes the file's owner matters (e.g because the file is set user id). Urpkgize tries to keep it simple and adopts the following rules concerning how a file is added to a package.

First of all, if the file is set user id or set group id, urpkgize will not change respectively the owner or the group of the file. Otherwise, urpkgize will consider its list of "neutral" user and group name. A neutral name is one that can be overwritten without problem. By default, only root is in this list, since most system-wide files have the root owner. You can use the --neutral family of options to add other user/group names to that list, or the --no-neutral-root option to remove root from the neutral list.

If a file owner or group name is considered neutral, then it will be changed to the package username to add the file to the package. Otherwise, urpkgize will not modify it. In the end, if neither the owner, nor the group of a file can be changed, then the file will be added to the list of all files belonging to the given package.


Note that each option can be abbreviated and will be recognized if unambiguous.


Print a short description of each option and exit.


Specify group and owner names that are not considered important and that can be replaced by the package user name (except if the file is set user id or set group id). Each value should be comma-separated. By default, only root is in this list.


Same as --neutral but concerns only owner names.


Same as --neutral but concerns only group names.


If this is given, then root will not be in the list of neutral owner and group names anymore.

See Also



Please report bugs and other inconsistencies you find to the author (address is below). If you have implemented a patch, please do send it there. Any contribution is welcome. See also urpkg's website:


Urpkgize is public-domain software. See the COPYING file for more information.


The author is Sebastien Vasey (sebastien dot vasey at gmail dot com)