учитывая эту простую цель установки для моего Makefile:
install: zrm $(CONF)
install -D -m 0755 -o mysql -g mysql conf/lvm0.conf $(DESTDIR)/$(CONFDIR)/lvm0/mysql-zrm.conf
install -D -m 0755 -o mysql -g mysql conf/inc1.conf $(DESTDIR)/$(CONFDIR)/inc1/mysql-zrm.conf
install -D -m 0755 -o mysql -g mysql conf/dump0.conf $(DESTDIR)/$(CONFDIR)/dump0/mysql-zrm.conf
install -d -m 0755 -o mysql -g mysql $(DESTDIR)/$(PLUGIN)
install -m 0755 -o mysql -g mysql post-backup-st-zrm.pl $(DESTDIR)/$(PLUGIN)
install -d -m 0755 -o root -g root $(DESTDIR)/$(BINDIR)
install -m 4755 -o root -g root zrm $(DESTDIR)/$(BINDIR)
Я могу просто сделать make install
от имени root (или использовать sudo
), и он прекрасно установится. От имени пользователя foo (непривилегированного) вызов make install
вернет ошибку (для опции -o требуется суперпользователь).
Мне нужно изменить это, чтобы я мог sudo make install
, make install DESTDIR=/tmp/foo
или даже упаковать это в .deb или .rpm и просто вызвать цель установки из моего Makefile.
Что будет лучшим решением для меня? Заменить вызовы установки на cp ? Удалить -o и поставить chown/chmod ?
Спасибо.