summaryrefslogtreecommitdiff
path: root/mk/pkginstall
AgeCommit message (Collapse)AuthorFilesLines
2013-04-05Add the '-r' option to useradd/groupadd when no uid/git is given so thatsbd1-3/+3
a system account/group (differance id range) will be created.
2013-04-03Fix typo in comment.jperkin1-2/+2
2012-07-09Add GAMES_GROUP GAMES_USER GAMEDATAMODE GAMEDIRMODE GAMEMODE to BUILD_DEFS.wiz1-1/+2
2012-07-09Move USE_GAMESGROUP and SETGIDGAME defaults out of mk.conf, where theywiz1-1/+12
don't belong (package-setable, not user-setable).
2012-06-19Add user and group management functions for MirBSD to unbreak packagesbsiegert1-0/+150
that need to create new users. No effect for other platforms. ok wiz
2012-04-21Revert previous: Patch submitter reports it's not necessary after allwiz1-3/+1
since -f usually follows symlinks.
2012-04-17Check for existing symlinks before overwriting config files inwiz1-1/+3
PKG_SYSCONFDIR. From Edgar Fuß <ef@math.uni-bonn.de> on tech-pkg.
2011-09-08Introduce PKGSRC_SETENV, defaulting to SETENV. Can be set to ${SETENV} -iabs1-5/+5
to santise environment
2011-04-30Revert unintended hunk in previous commit. (caught by wiz, thanks)dholland1-3/+1
2011-04-30typo in commentdholland1-2/+4
2010-08-24I'm fed up with having to waste time because PKG_DEVELOPER is "special" andbad1-2/+2
can't be disabled by setting it to "no" like the other variables. Besides, flavor/pkg/metadata.mk has been expecting for a long time that "no" is a valid value. Make PKG_DEVELOPER DWIM.
2010-07-08Begin cleanup of setgid game infrastructure.dholland1-5/+25
* Introduce USE_GAMESGROUP, which causes the games user and group to be made available. * Retain SETGIDGAME as an alias for USE_GAMESGROUP. Describe it as deprecated. * Always define GAMES_USER, GAMES_GROUP, GAMEMODE, GAMEDIRMODE, and GAMEDATAMODE, regardless of whether USE_GAMESGROUP is turned on or not. * Define these variables in defaults/mk.conf instead of separately in every platform/*.mk file. The definitions used to be the same for each of these platforms anyway, except for some where they were randomly missing or commented out for no clear reason, leading to broken game packages. * Handle all these variables properly when unprivileged. * Update the comments/documentation for these variables. * Describe GAMEOWN and GAMEGRP as deprecated. These need to be retained as aliases for GAMES_USER and GAMES_GROUP respectively for supporting packages that use bsd.*.mk but should otherwise not be used. * Add GAMEDATA_PERMS and GAMEDIR_PERMS using GAMEDATAMODE and GAMEDIRMODE respectively. * Fix a bug I noticed that was improperly mixing the "games" group and "games" user. Things this does *not* do: - get rid of GAMES_USER, for which there should ultimately be no need. - move the declaration/documentation/default value of USE_GAMESGROUP to a suitable place. (It is currently where SETGIDGAME was, which is suboptimal.) - touch any of the games, all of which need updating with at least s/SETGIDGAME/USE_GAMESGROUP/ and probably more. - update the guide to explain how to handle games properly. Also, it would be nice if using GAMES_GROUP without setting USE_GAMESGROUP=yes caused an error but as far as I know there isn't any particularly good way to arrange this right now. Note that these changes may alter the build/install behavior of broken game packages, e.g. some may silently become setgid when they weren't before or things like that. If you run into any of this file a PR. While one might arguably bump the PKGREVISION of all games or other packages using any of these variables as a precaution, that seems like a bad idea. Instead, I think I will be bumping each game once it itself has been fixed up to do everything the right way.
2010-06-15Allow pre-install for USERGROUP_PHASE. This is intended forjoerg1-1/+3
PKG_DESTDIR_SUPPORT=destdir packages, that don't otherwise need the user/group during build. Export USERGROUP_PHASE for the sake of pbulk.
2010-05-07Previous change breaks platforms with need_ksh. Reported by joerg@.jmmv2-15/+22
Let's revert it for now and think about a way to proceed with this idea later.
2010-05-07Use shells(8) from sysutils/etcutils to update /etc/shells instead ofjmmv2-22/+15
hardcoding the logic into the pkginstall scripts. As discussed in tech-pkg@. Note: The current pkginstall/shell code is overly complicated. It looks like it can be simplified but, at the moment, given that I do not understand the need for such complexity, I'm just doing this tiny change. Note 2: The ability to update /etc/services, which was also discussed, will come later once this change proves to be stable.
2010-04-23pkgsrc now deletes empty directories automatically. Fix the fontsjmmv1-3/+12
deinstallation script to follow this convention and purge empty directories when there are no fonts left (and after their database has been removed).
2010-03-10Clarified the documentation.rillig1-8/+13
2009-10-29Make sure that MV is properly defined. From PR 42247.joerg1-1/+2
2009-03-08Try to work around the mess called useradd on Linux. On Red Hat derivedjoerg1-13/+30
distributions, useradd will create the home directory by default and there is support for an option to disable that. Other Linux distrubutions either lack the option in login.defs or the support for -M. As workaround look for the option and if it is set, force -M. Tested by Jens Rehsack. Addresses PR 40737.
2009-02-02Create users with -M. On Linux this gives the same behavior as NetBSD'sjoerg1-9/+3
useradd without -M, e.g. allows creation of users without home directory. Tested on RHEL4. From Jens Rehsack.
2008-09-25Fix a longstanding bug in the pkginstall infrastructure: incompletewiz1-4/+4
support for creating empty files as CONF_FILES. The usual way is to add CONF_FILES= /dev/null /some/file However, some parts of the infrastructure check if the "source" is a file -- this fails for /dev/null obviously (other parts accept character devices already). Fix this. Will follow up with PKGREVISION bumps for affected packages. Ok during freeze: agc@
2008-03-04Automatically add ${GAMES_USER} and ${GAMES_GROUP} to PKG_USERS andjlam1-1/+7
PKG_GROUPS when SETGIDGAMES == yes.
2008-03-04+ Conditionally add GAMES_USER and GAMES_GROUP to the platform *.mkjlam1-5/+5
files. These variables are currently usable if ${SETGIDGAME} == yes. These variables should be used when describing ownership of files and directories to the pkginstall framework, e.g. SPECIAL_PERMS= bin/foogame ${GAMES_USER} ${GAMES_GROUP} 2555 + Rename SETGID_GAME_PERMS to SETGID_GAMES_PERMS because the default group name is "games". + Define SETGID_GAMES_PERMS in terms of GAMES_USER and GAMES_GROUP so that these names are protected from the normal flow of unprivileged.mk. This fixes the +INSTALL scripts in "user-destdir" packages to correctly refer to the games:games instead of the user:group of the user that built the packages.
2008-03-04Use ${GAMEMODE} and not hardcoded 2755.jlam1-2/+2
2008-03-04Add SETGID_GAME_PERMS convenience definition that defaults to owner=game,jlam1-1/+8
group=game, mode=0775.
2008-01-29Reverted my last change. I was completely wrong. The real fault reportedrillig1-7/+6
in PR 37905 is exactly what I wanted to prevent using this check: A configuration file was mentioned via CONF_FILES but does not exist in the PLIST.
2008-01-29Disabled the check for missing example configuration files, sincerillig1-6/+7
according to PR 37905, it gets called too early.
2008-01-23Replaced unreadable code with readable code by doing a littlerillig1-7/+9
substitution.
2008-01-23Replaced _PKG_SILENT and _PKG_DEBUG with RUN, after making sure that therillig1-82/+79
additional error checking won't break anything that isn't intended to break.
2008-01-04In the CHECK-PERMS case, moved test of exit code one line up, so theheinz2-4/+4
removal of tmpdir does not overwrite the exit code to be tested.
2007-12-13Added information about the interface to this file, which can be queriedrillig1-1/+37
with "bmake show-all-pkginstall".
2007-12-06Print an understandable error message if the number of arguments forrillig1-1/+6
CONF_FILES, CONF_FILES_PERMS, REQD_FILES, REQD_FILES_PERMS is wrong. NB: The code doesn't read like "shift 5 || error_out" since NetBSD's shell exits if a shift fails in this case, instead of just reporting an error. Fixes PR 37489. I didn't fix the code in pkglint (which was suggested in the PR) since it seems too complicated to me. There is no support for a "MultipleShellWords" data type by now, and pkglint would have to know that SETUID_ROOT_PERMS is of type "ThreeShellWords: Username, Groupname, Filemode". That's too much work and doesn't look nicely.
2007-11-23The last change didn't receive enough testing. Now it is ok to haverillig1-16/+12
/dev/null as an example file, and the proper file names are checked.
2007-11-23After a package is installed, make sure that the example files forrillig1-1/+36
CONF_FILES and similar exist, since the pkginstall framework skips them silently, which is not a good idea. For example I just installed dovecot, and there was neither a configuration file installed nor a message that a configuration file exists at all.
2007-10-10Rewrote the comments on REQD_FILES to be accessible via "bmake help".rillig1-11/+22
2007-10-09typorillig1-2/+2
2007-09-16Fixed typos in comments.heinz1-3/+3
2007-08-23Do not check that RCD_SCRIPTS_SRC.foo exists, assume so.joerg1-3/+1
This unbreaks DESTDIR installation for mail/spamassassin, when extract and install phase are part of the same make run.
2007-08-02Don't bother using environment variables to pass info the shlib-typejlam1-3/+3
shell script. Just specify everything on the command line. Also, since shlib-type is a plain-old shell script with no bells and whistles, we can safely run it with "sh" and not "${SH}", which is necessary because "${SH}" isn't defined at this point.
2007-07-27Move the +SHLIBS generation code back into the pkginstall module. In thejlam2-1/+92
plist module, it was being "defined" too late, and the pkginstall module never created any +SHLIBS scripts. Sidestep the tools problems with SHLIB_TYPE by pretending they don't exist (for now). XXX SHLIB_TYPE needs to be re-thought or removed altogether.
2007-07-23Putting bsd.pkginstall.mk under bsd.tools.mk was a bad idea -- thejlam2-82/+1
former set several USE_TOOLS lines that were being missed by bsd.tools.mk. Rearrange the +SHLIBS code so that bsd.tools.mk can now be included after bsd.pkginstall.mk again. The +SHLIBS code has now been moved over to the plist module, which is so far the repository for all of the shlib-type handling. This should fix the problem with fonts handling being broken.
2007-07-18Reversed file descriptors 1 and 2... time for a coffee break...jlam1-3/+3
2007-07-18Ignore the result of the ldconfig command.jlam1-3/+4
2007-07-18PKG_METADATADIR is the *second* argument.jlam1-2/+2
2007-07-18Add missing definition for "$ACTION", which is the first argument to thejlam1-1/+2
+SHLIBS script.
2007-07-18Add back a facility to rebuild the run-time library search paths databasejlam4-3/+92
on platforms that need it. XXX Right now, if the platform needs it, then it runs for every package. XXX This needs to be fixed to only run for packages that install shared XXX libraries. * Move mk/plist/shlib-type to mk/scripts. * Move definition of SHLIB_TYPE from mk/plist/plist.mk to bsd.pkg.mk. * Move inclusion of bsd.pkginstall.mk below bsd.tools.mk so that it can use SHLIB_TYPE. This is necessary because SHLIB_TYPE's value is the result of evaluating a command, and the command needs "TOOL" definitions provided by bsd.tools.mk.
2007-07-12* Add a user-settable variable to tune the default verbosity of thejlam10-132/+84
+INSTALL and +DEINSTALL scripts: PKGINSTALL_VERBOSE A list of scriptlets that will be verbose and output a message noting the actions taken. * "all" is a special value that implies all of the other items * "fonts" for +FONTS * "info-files" for +INFO_FILES Default value: "all" for PKG_DEVELOPERs, empty otherwise. * Be "one-liner brief" when doing the default actions. For example, the info files output now looks like: gmake-3.81: registering info file /usr/pkg/info/make.info We retain the current verbosity for the CHECK-* actions.
2007-06-15On second thought, maybe the rest of the world's software isn't asjlam1-2/+2
well-audited as NetBSD's /usr/bin/su. Change the default SETUID_ROOT_PERMS to 4511 to raise the bar slightly on finding vulnerabilities in setuid-root binaries.
2007-06-15Change the default setuid-root permissions from 4711 to 4555. Thisjlam1-2/+2
strips off the write bit for root and gets rid of the unnecessary lack of read permissions for "group" and "other". Inspired by /usr/bin/su on NetBSD.
2007-06-15Document PKG_SYSCONFDIR_PERMS, which has existed for quite some time.jlam1-1/+7