給出的這個簡單的安裝目標爲我的Makefile:Makefile:從CLI或包裝系統安裝目標是否可用?
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
爲根(或使用sudo
),它會安裝精美。 由於foo(非特權)用戶,調用make install
將返回一個錯誤(-o選項需要超級用戶)。
我需要改變它,以便我可以sudo make install
,make install DESTDIR=/tmp/foo
甚至將其打包爲.deb或.rpm,並且只需從我的Makefile中調用安裝目標即可。
對我來說最好的解決方案是什麼?將安裝調用替換爲cp?刪除-o並放置一個chown/chmod?
謝謝。
我知道在Debian上,構建一個包可以僞造成root。我不確定的是,這是如何用RPMbuild系統完成的。 mysql:據我所知,我們的環境和mysql-zrm產品都需要mysql。 – 2010-08-19 09:23:33