• Understanding Rules File

    From Ryan McClue@21:1/5 to All on Sat Aug 28 07:40:01 2021
    This is a multi-part message in MIME format.

    QXQgYSBoaWdoIGxldmVsIEkgdW5kZXJzdGFuZCB0aGF0IHRoZSBkZWJpYW4vcnVsZXMgZmlsZSBp bnN0cnVjdHMgZGViaGVscGVyIGFzIHRvIGhvdyB0byBidWlsZCB5b3VyIHBhY2thZ2UuIEhvd2V2 ZXIsIEknbSBjb25mdXNlZCByZWdhcmRpbmcgdGhlc2UgdHdvIHBvaW50czoKMS4gV2h5IGlzIGRl YmhlbHBlciB1c2VkPyBXaHkgbm90IGp1c3QgZXhwbGljaXRseSBzdGF0ZSBpbiB0aGUgZGViaWFu L3J1bGVzIGZpbGUgaG93IHRvIGJ1aWxkIHlvdXIgcGFja2FnZSB3aXRoIGVpdGhlciBkaXJlY3Qg c2hlbGwsIGUuZy4gZ2NjIGZpbGUuYyAtbyBmaWxlLCBvciB3aXRoIGEgYnVpbGR0b29sLCBlLmcu IGNtYWtlIC0tYnVpbGQgLiBldGMuIFdoeSB0aGUgbGV2ZWwgb2YgaW5kaXJlY3Rpb24/CjIuIEhv dyBkb2VzIGRlYmhlbHBlciB3b3JrPyBJcyB0aGVyZSBhIHdheSBJIGNhbiBzZWUgd2hhdCBzcGVj aWZpYyBjb21tYW5kcyBpdCBpcyBleGVjdXRpbmcsIGUuZy4gd2hhdCBkb2VzIHRoZSBkZWZhdWx0 ICU6IGRoICRAIGFjdHVhbGx5IGVxdWF0ZSB0bz8KClRoYW5rcw==

    PGRpdj5BdCBhIGhpZ2ggbGV2ZWwgSSB1bmRlcnN0YW5kIHRoYXQgdGhlIDxpPmRlYmlhbi9ydWxl czwvaT4gZmlsZSBpbnN0cnVjdHMgPGI+ZGViaGVscGVyPC9iPiBhcyB0byBob3cgdG8gYnVpbGQg eW91ciBwYWNrYWdlLiBIb3dldmVyLCBJJ20gY29uZnVzZWQgcmVnYXJkaW5nIHRoZXNlIHR3byBw b2ludHM6PGJyPjwvZGl2PjxkaXY+MS4gV2h5IGlzIDxiPmRlYmhlbHBlcjwvYj4gdXNlZD8gV2h5 IG5vdCBqdXN0IGV4cGxpY2l0bHkgc3RhdGUgaW4gdGhlIDxpPmRlYmlhbi9ydWxlczwvaT4gZmls ZSBob3cgdG8gYnVpbGQgeW91ciBwYWNrYWdlIHdpdGggZWl0aGVyIGRpcmVjdCBzaGVsbCwgZS5n LiA8c3BhbiBjbGFzcz0iZm9udCIgc3R5bGU9ImZvbnQtZmFtaWx5OiBtZW5sbywgY29uc29sYXMs IGNvdXJpZXIgbmV3LCBtb25vc3BhY2UsIHNhbnMtc2VyaWY7Ij5nY2MgZmlsZS5jIC1vIGZpbGU8 L3NwYW4+LCBvciB3aXRoIGEgYnVpbGR0b29sLCBlLmcuIDxzcGFuIGNsYXNzPSJmb250IiBzdHls ZT0iZm9udC1mYW1pbHk6IG1lbmxvLCBjb25zb2xhcywgY291cmllciBuZXcsIG1vbm9zcGFjZSwg c2Fucy1zZXJpZjsiPmNtYWtlIC0tYnVpbGQgLiA8L3NwYW4+ZXRjLiBXaHkgdGhlIGxldmVsIG9m IGluZGlyZWN0aW9uPzxicj48L2Rpdj48ZGl2PjIuIEhvdyBkb2VzIDxiPmRlYmhlbHBlcjwvYj4g d29yaz8gSXMgdGhlcmUgYSB3YXkgSSBjYW4gc2VlIHdoYXQgc3BlY2lmaWMgY29tbWFuZHMgaXQg aXMgZXhlY3V0aW5nLCBlLmcuIHdoYXQgZG9lcyB0aGUgZGVmYXVsdCA8c3BhbiBjbGFzcz0iZm9u dCIgc3R5bGU9ImZvbnQtZmFtaWx5OiBtZW5sbywgY29uc29sYXMsIGNvdXJpZXIgbmV3LCBtb25v c3BhY2UsIHNhbnMtc2VyaWY7Ij4lOiBkaCAkQDwvc3Bhbj4gYWN0dWFsbHkgZXF1YXRlIHRvPzxi cj48L2Rpdj48ZGl2Pjxicj48L2Rpdj48ZGl2PlRoYW5rczxicj48L2Rpdj48ZGl2Pjxicj48L2Rp dj4=

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Andrey Rahmatullin@21:1/5 to Ryan McClue on Sat Aug 28 09:00:02 2021
    On Sat, Aug 28, 2021 at 05:22:26AM +0000, Ryan McClue wrote:
    At a high level I understand that the debian/rules file instructs
    debhelper as to how to build your package. However, I'm confused
    regarding these two points:
    This may be true in some way but to me it sounds like a wrong layering. debian/rules is a file that, when run in a certain ways, generates a .deb.
    To do this it will most likely (but not necessarily) call some helpers,
    most of those are a part of the debhelper suite, but most of the helpers
    just move files around or call other commands, and the lowest level are
    the upstream build system for the compilation part and dpkg-* commands
    from dpkg-dev for the building .deb, .changes etc. part.

    1. Why is debhelper used? Why not just explicitly state in the
    debian/rules file how to build your package with either direct shell,
    e.g. gcc file.c -o file, or with a buildtool, e.g. cmake --build . etc.
    Why the level of indirection?
    So that you don't need to write specific commands for each package.

    2. How does debhelper work? Is there a way I can see what specific
    commands it is executing,
    Yes, just read the build log. dh(1) prints which commands it executes. If
    you set DH_VERBOSE=1 in the rules you should also see what do debhelper
    helpers do in more details.


    e.g. what does the default %: dh $@ actually
    equate to?
    You can run `dh <target> --no-act` for each <target> you want (build,
    clean, binary etc.) to see what will dh(1) run for that target.

    --
    WBR, wRAR

    -----BEGIN PGP SIGNATURE-----

    iQJhBAABCgBLFiEEolIP6gqGcKZh3YxVM2L3AxpJkuEFAmEp3mItFIAAAAAAFQAP cGthLWFkZHJlc3NAZ251cGcub3Jnd3JhckBkZWJpYW4ub3JnAAoJEDNi9wMaSZLh tpQP/RWyGszszEXxByDE9Ht3SlNLjNCmZ6B3WKhdRRVnSX35lRtARhvGsB1xdh5v skCiR0Ok57bx/BiefSaKBVY2+ParSzs1ypOMc0ylkBbiJJln3BX75gegAGSlRjaN lzQP4nmLFw5epAf+9gv7AmgCngnH1J244QZoCb2l8SHJAn44UaW2LKrxbWL/SliD 1xWOLjppL9zhRHg6DH/wEBYaQcr6MaLZ3tNXchEzeSRhyq7EdKBvhzuaecJffXwF 9qXH4MUrh99JXIwLv5RR3ICwxRkeim8UmgX35r8bIOiumBdxPZgoIOXp0myK6KfQ qhQZ9cf2NTe3/p/qbRvJB0yNe5CQInF8wzlmpoB/Hya/+i2Gi84ozbUXf15lMB15 QRuMXfQqNDc0rfA37aav67iq8fiXCu76UygRrckqmQqNu0Sogi1zJjSQWK3fQjvy t0W2l/jKz4nrYsc2b/7PqfWmo+NP7a03QQcqmiH7xjAXJEA8Ks5Uovg3e+veFYBE 57X6Kg/F+tKnJK5n1MnRvzQFkITop/YYHqLwqyCJw2S5L6s/SpiL6hOKqg03AjXc ozDDjLsNXAb/5fN+DDlcptLyKUKYBCwFlig2AZKELVfnbDGVCgIwk/Cuip5CD8V3 fhHRvLDd4zZs+qwdegkOfKlLWoEl2F97TZfqQQDLgAdVgNuQ
    =gEa8
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)