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

Re: debian/rules, een rule uitvoeren



Hoi Paul,

>> Er zit een rule "upstream" in debian/rules van een package wat ik graag
>> wil uitvoeren. Echter als ik "./debian/rules upstream" doe dan zie ik
>> alleen "make: 'upstream' is bijgewerkt", terwijl het niets gedaan heeft
>> (het zou localisatie-bestanden moeten downloaden). Als ik er "echo
>> hallo" bij zet, dan zie ik dat ook niet uitgevoerd worden. Als ik mijn
>> eigen rule maak met als inhoud "echo hallo" dan gaat het wel goed.
>>
>> Wat doe ik verkeerd?
> 
> Waarschijnlijk bestaat er al een (leeg) bestand genaamd 'upstream' in de
> debian directory. Dat bestand moet je even weggooien.

Dat moet zijn: in de top-level directory van het pakket (de directory van
waaruit je 'debian/rules upstream' aaroept), niet in de debian/
direcrtory. Mijn excuses.

>> Ik vraag me ook af wat een naampje met "$" of "$$" ervoor precies doet,
>> en waarom zoveel regels eindigen op een backslash, alsof alles op 1
>> regel moet (loops e.d.).
> 
> Een $ geeft aan dat het om een variabele gaat; een Make target kan ook een
> variabele zijn. Een $$ is een geescapete $, dus daarmee kun je het $ teken
> doorgeven naar een commando.
> 
> Omdat Make alle commando's in een aparte sub-shell uitvoert, is het
> noodzakelijk, dat alle commando's die in dezelfde subshell _moeten_ worden
> uitgevoerd (zoals loops) op dezelfde regel staan. Vandaar de backslashes.
> 
> Make is een ingewikkelde tool. Zie
> http://www.gnu.org/software/make/manual/make.html voor de manual.

Groeten,
Martijn.




Attachment: smime.p7s
Description: S/MIME Cryptographic Signature


Reply to: