[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Install /usr/bin/something from upstream source to /usr/bin/somethingon hdd?



bilibop project:
> Hi
> 
> --------message d'origine --------
> De: Patrick Schleizer <adrelanos@riseup.net>
> A: debian-mentors@lists.debian.org
> Sujet: Re: Install /usr/bin/something from upstream source to /usr/bin/somethingon hdd?
> Date: Sun, 27 Apr 2014 15:25:16 +0000
> 
>> Andrey Rahmatullin:
>>
>> I like to make it generic, so I don't have to list individual files in
>> the Makefile. That causes less overhead for packaging if file names are
>> changed/added/etc. (They probably won't be changed a lot, but I am going
>> to package lots of shell scripts I've written over two years, so I like
>> to have a template, that requires little changes.)
>>
>> Rsync dependency has been removed.
>>
>> The Makefile for "make install" now calls a small script called
>> install-helper.bsh, that essentially does:
>>
>> find \
>>    . \
>>    -not -type d \
>>    -not -path './Makefile' \
>>    ... \
>>    -not -path './CONTRIBUTING.md' \
>>    -exec echo "cp --parents '{}' $DESTDIR/" \; \
>>    -exec cp --parents '{}' "$DESTDIR/" \;
>>
>> Does that sound acceptable?
> 
> I don't understand the need to call a shell script from the Makefile. According to the FHS,
> the main directories where you may want to install shell scripts, shell libraries, config files
> and their documentation are: /etc, /bin, /sbin, /usr, /lib, and why not, /var. So you can use
> a very generic "install" target - and probably more portable/elegant than the find command
> above - with something like
> 
> DESTDIR ?= /
> install:
>         for d in bin etc lib sbin usr var; do if [ -d $${d} ]; then cp -R $${d} ${DESTDIR}; fi; done
> 
> That's all; this doesn't need a lot of rsync's or find's exceptions.

Yes, of course! I thought too complicated. Your method is better, nice
and simple! Thanks!


Reply to: