compte tenu de cette installation simple cible pour mon Makefile:Makefile: installation d'une cible utilisable depuis la CLI ou un système de conditionnement?
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)
Je peux simplement faire make install
comme racine (ou utilisez sudo
) et il va très bien installer. En tant qu'utilisateur foo (non privilégié), l'appel make install
renvoie une erreur (option -o a besoin de super-utilisateur).
J'ai besoin de changer cela afin que je puisse à la fois sudo make install
, make install DESTDIR=/tmp/foo
ou même empaqueter ceci en .deb ou .rpm et juste appeler la cible d'installation à partir de mon Makefile.
Quelle sera la meilleure solution pour moi? Remplacer les appels d'installation à cp? Supprimer -o et mettre un chown/chmod?
Merci.
Je sais que sur Debian, construire un paquet peut être falsifié en tant que root. Ce dont je ne suis pas sûr, c'est comment cela se fait avec le système RPMbuild. Mysql: mysql est requis dans notre environnement et par le produit mysql-zrm autant que je sache. –