• Debian package examples for Java software

    From Peter Bittner@21:1/5 to All on Sat Sep 14 12:10:01 2024
    I'm looking for good examples of how Java software is packaged on the
    Debian family of operating systems. Ideally, very simple examples with
    just a JAR file and a few configuration files. Where can I find such
    projects, e.g. on Salsa?

    To extend on that, I try to find out how - if at all - (Java) software
    can be packaged as a Debian package, so that it can be installed
    root-less, i.e. with an unprivileged user. Where can I find
    information about that?

    Thank you for your help,
    Peter

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mechtilde Stehmann@21:1/5 to All on Sat Sep 14 15:30:01 2024
    This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------eJrOE0V30XuIYLOSo0VEHgT9
    Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64

    SGVsbG8gUGV0ZXIsDQoNCkFtIDE0LjA5LjI0IHVtIDEyOjAxIHNjaHJpZWIgUGV0ZXIgQml0 dG5lcjoNCj4gSSdtIGxvb2tpbmcgZm9yIGdvb2QgZXhhbXBsZXMgb2YgaG93IEphdmEgc29m dHdhcmUgaXMgcGFja2FnZWQgb24gdGhlDQo+IERlYmlhbiBmYW1pbHkgb2Ygb3BlcmF0aW5n IHN5c3RlbXMuIElkZWFsbHksIHZlcnkgc2ltcGxlIGV4YW1wbGVzIHdpdGgNCj4ganVzdCBh IEpBUiBmaWxlIGFuZCBhIGZldyBjb25maWd1cmF0aW9uIGZpbGVzLiBXaGVyZSBjYW4gSSBm aW5kIHN1Y2gNCj4gcHJvamVjdHMsIGUuZy4gb24gU2Fsc2E/DQoNClRoZXJlIGFyZSBtYW55 IHNtYWxsIERlYmlhbiBwYWNrYWdlcyBwYWNrYWdlZCBpbnNpZGUgdGhlIEphdmEtVGVhbS4N Cg0KRG9lcyB5b3VyIGphciBmaWxlIGNvbnRhaW4gY2xlYW4gc291cmNlIGNvZGU/DQoNClBs ZWFzZSB0ZWxsIHVzLCB3aGF0IHlvdSB3YW50IHRvIHBhY2thZ2UuIFRoZW4gd2UgY2FuIGxv b2sgZm9yIGEgc2ltaWxhciANCm9uZS4NCg0KPiBUbyBleHRlbmQgb24gdGhhdCwgSSB0cnkg dG8gZmluZCBvdXQgaG93IC0gaWYgYXQgYWxsIC0gKEphdmEpIHNvZnR3YXJlDQo+IGNhbiBi ZSBwYWNrYWdlZCBhcyBhIERlYmlhbiBwYWNrYWdlLCBzbyB0aGF0IGl0IGNhbiBiZSBpbnN0 YWxsZWQNCj4gcm9vdC1sZXNzLCBpLmUuIHdpdGggYW4gdW5wcml2aWxlZ2VkIHVzZXIuIFdo ZXJlIGNhbiBJIGZpbmQNCj4gaW5mb3JtYXRpb24gYWJvdXQgdGhhdD8NCg0KTm9ybWFsbHkg YWxsIHBhY2thZ2VzIGFyZSBpbnN0YWxsYWJsZSBhcyBhIHByaXZpbGVnZWQgdXNlciBsaWtl IHN1ZG8gb3IgDQpyb290LiBUaGlzIG1lYW5zIGluc3RhbGxpbmcgd2l0aCBhcHQgaW5zdGFs bCBvciB1c2luZyBzeW5hcHRpYy4NCg0KPiANCj4gVGhhbmsgeW91IGZvciB5b3VyIGhlbHAs DQo+IFBldGVyDQo+IA0KDQpSZWdhcmRzDQotLSANCk1lY2h0aWxkZSBTdGVobWFubg0KIyMg RGViaWFuIERldmVsb3Blcg0KIyMgUEdQIGVuY3J5cHRpb24gd2VsY29tZQ0KIyMgRjBFMyA3 RjNEIEM4N0EgNDk5OCAyODk5ICAzOUU3IEYyODcgN0JCQSAxNDFBIEFEN0YNCg0K

    --------------eJrOE0V30XuIYLOSo0VEHgT9--

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

    iQIzBAEBCgAdFiEE8ON/Pch6SZgomTnn8od7uhQarX8FAmblj2gACgkQ8od7uhQa rX9asA/8DxTvG3YJK95y3QapYAomR+qTYveNk40nZn97v+fss2yQ03eU19tkUAXT 0Y5iSw9o5N0BP/vIyhCJWaVSIiJlGSnCtq+9UL+3pHlmidLp41qwQ43cxsHmi2uD 8qs/D0+26x20PG0AEj+x/l84z3wdNcBQQ6pE1BjIbSP8acf1IzIyoaholCdYy1LJ J8JIzxHbr/LVm6IFqzOziCKZcsbK61GahjXLdn7uvrMnBNQx41wRMA9Ftco/UceZ ZIYfWMA2ovQK8QQUGPpoUVfMxsWvNu+6PpmATdTAz2uYMbcB5mt5SvSiar1olnWB IksFPykhbJGL/zviju6s8L1quXQ8j5e5HjQUeHteSjMz2n0i4/MAbhMgQtym7IUy ptsGnDOcv7rvelNK1kAWt/IYzabDjrAgAf0IwcUpXcGW0y/93K/v3wr9psDQ1n3V ZKmojFjPliiGA0IeNFb3rX+LCNbb8uwbRWiqyT9gKzBroNqKU9bGJBULx6mmYAc/ uoZLkz3CL+HEUU/1CeZd+jg4rKKibvCQWj2hwrUfLED8oWOzb/HRO6y+TpQ5qBMm bVRlxYLfxxWE7ph6StEzrJxGXEqobArZhHhkq6qLeJXJg088fuJx+AYN691jeLVF sHwLmdgZ59sPhBjHOPqtvTCkWiX6nAqqguGL1s4cjaVfSFvybfE=
    =iJdq
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Peter Bittner@21:1/5 to All on Sat Sep 14 18:10:01 2024
    Thank you for responding, Mechtilde!

    Please tell us, what you want to package. Then we can look for a similar one.

    I packaged software 20 years ago as a Debian package at my former
    workplace. IIRC, it was just a bunch of shell and Python scripts,
    maybe a few binaries. Back then I had to scale rolling out software on
    a fleet of machines. I basically like to do the same again, and I'm
    looking for good examples.

    Normally all packages are installable as a privileged user like sudo or
    root. This means installing with apt install or using synaptic.

    Yep, I understand. But is there a way to install software without sudo
    or being root? E.g. when my package installs software only in a
    location where it has write access. The scenario is, I have users that
    must install the software on a managed machine. The system
    administrators manage the operating system as such, the users install
    and run their software in user space.

    Peter

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mechtilde Stehmann@21:1/5 to All on Sat Sep 14 19:10:02 2024
    This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------bodFRYuaZgT0Knun17iKb01b
    Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64

    SGVsbG8gUGV0ZXIsDQoNCkFtIDE0LjA5LjI0IHVtIDE4OjA3IHNjaHJpZWIgUGV0ZXIgQml0 dG5lcjoNCj4gVGhhbmsgeW91IGZvciByZXNwb25kaW5nLCBNZWNodGlsZGUhDQo+IA0KPj4g UGxlYXNlIHRlbGwgdXMsIHdoYXQgeW91IHdhbnQgdG8gcGFja2FnZS4gVGhlbiB3ZSBjYW4g bG9vayBmb3IgYSBzaW1pbGFyIG9uZS4NCj4gDQo+IEkgcGFja2FnZWQgc29mdHdhcmUgMjAg eWVhcnMgYWdvIGFzIGEgRGViaWFuIHBhY2thZ2UgYXQgbXkgZm9ybWVyDQo+IHdvcmtwbGFj ZS4gSUlSQywgaXQgd2FzIGp1c3QgYSBidW5jaCBvZiBzaGVsbCBhbmQgUHl0aG9uIHNjcmlw dHMsDQo+IG1heWJlIGEgZmV3IGJpbmFyaWVzLiBCYWNrIHRoZW4gSSBoYWQgdG8gc2NhbGUg cm9sbGluZyBvdXQgc29mdHdhcmUgb24NCj4gYSBmbGVldCBvZiBtYWNoaW5lcy4gSSBiYXNp Y2FsbHkgbGlrZSB0byBkbyB0aGUgc2FtZSBhZ2FpbiwgYW5kIEknbQ0KPiBsb29raW5nIGZv ciBnb29kIGV4YW1wbGVzLg0KDQpJZiB5b3UgdGVsbCB1cyB3aGF0IHlvdSB3YW50IHRvIHBh Y2thZ2UsIHdlIGNhbiB0ZWxsIHlvdSBhIGdvb2QgZXhhbXBsZSANCm91dCBvZiBtb3JlIHRo YW4gNTAuMDAwIHBhY2thZ2VzDQoNCj4gDQo+PiBOb3JtYWxseSBhbGwgcGFja2FnZXMgYXJl IGluc3RhbGxhYmxlIGFzIGEgcHJpdmlsZWdlZCB1c2VyIGxpa2Ugc3VkbyBvcg0KPj4gcm9v dC4gVGhpcyBtZWFucyBpbnN0YWxsaW5nIHdpdGggYXB0IGluc3RhbGwgb3IgdXNpbmcgc3lu YXB0aWMuDQo+IA0KPiBZZXAsIEkgdW5kZXJzdGFuZC4gQnV0IGlzIHRoZXJlIGEgd2F5IHRv IGluc3RhbGwgc29mdHdhcmUgd2l0aG91dCBzdWRvDQo+IG9yIGJlaW5nIHJvb3Q/IEUuZy4g d2hlbiBteSBwYWNrYWdlIGluc3RhbGxzIHNvZnR3YXJlIG9ubHkgaW4gYQ0KPiBsb2NhdGlv biB3aGVyZSBpdCBoYXMgd3JpdGUgYWNjZXNzLiBUaGUgc2NlbmFyaW8gaXMsIEkgaGF2ZSB1 c2VycyB0aGF0DQo+IG11c3QgaW5zdGFsbCB0aGUgc29mdHdhcmUgb24gYSBtYW5hZ2VkIG1h Y2hpbmUuIFRoZSBzeXN0ZW0NCj4gYWRtaW5pc3RyYXRvcnMgbWFuYWdlIHRoZSBvcGVyYXRp bmcgc3lzdGVtIGFzIHN1Y2gsIHRoZSB1c2VycyBpbnN0YWxsDQo+IGFuZCBydW4gdGhlaXIg c29mdHdhcmUgaW4gdXNlciBzcGFjZS4NCg0KQXMgZmFyIGFzIEkga25vdyBOTyBXQVkgdG8g ZG8gc28uDQoNCj4gDQo+IFBldGVyDQo+IA0KDQpSZWdhcnRkcw0KLS0gDQpNZWNodGlsZGUg U3RlaG1hbm4NCiMjIERlYmlhbiBEZXZlbG9wZXINCiMjIFBHUCBlbmNyeXB0aW9uIHdlbGNv bWUNCiMjIEYwRTMgN0YzRCBDODdBIDQ5OTggMjg5OSAgMzlFNyBGMjg3IDdCQkEgMTQxQSBB RDdGDQoNCg==

    --------------bodFRYuaZgT0Knun17iKb01b--

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

    iQIzBAEBCgAdFiEE8ON/Pch6SZgomTnn8od7uhQarX8FAmblwkUACgkQ8od7uhQa rX964Q//WKO3c++ueoIprmYaXLE+LAIlG85B/fD7BVRbvfuD3Y9QbKOpppONdyas PNsi4l9Pnj2XjpFuP4wLq4ROSUVhrhxYw/5NTQSZlAgwXHBFLWfPB/1Sptux964n xzHCbt/guT2L7Yt8C4tEJD4H+pmhDsliWXzw2xQF5YTQ28qWqt4hZBjr3K1WHiHv TloXZY6UJ0qOEfV9fPY6bL2740VQP6uFlRShxRjvgtF7G3313d9syltlCfOqnc2Q JvueHijUIt8d0FwkaPIEpk0SqNJ29xuI6JapVYqmgJC5CkU4GpX5wOopbmOXwrQN U2dIAvsUbpvrLyJ05uebfxFKqar7NgEaP/wzNRth6vSQ2jugKyN3GQEAPIKwXJwe x4AAshFrXLKW4n4RpVThBdl9ZPspJsqphYfQm+SGbuEBW9+t0PBth6oaI9DpCGyE B/vm5z6M1/R4kmQ2v3L4MZ1S3WYJpMoASEWZzwaH2N8vyuQ3t15bKkvKOXFiLrs9 pZ9uRSZe6rgl7NQHbC+Opsz48OTDCwp+sLpH7vpZWRD9j563I7vIxug18KIeqD9z doi9qJ37d7MqCmXDDbT4u2rXJFTyZpMcCRPovtRNTnpdCq4CGAai882QZabWeo/m /BDJZ8uNbQJB72oD6QzCHcUbmSB+LaIOk+ZwJV6tYoWaHi/MahQ=
    =Y4aW
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Mechtilde Stehmann@21:1/5 to All on Sat Sep 14 22:00:01 2024
    This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------uaJ4zhBvDnGWHImzHdnyQ0pL
    Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64

    SGVsbG8gUGV0ZXIsDQoNClRoZW4gSSB0aGluaw0KDQpodHRwczovL3d3dy5kZWJpYW4ub3Jn L2RldmVsL2pvaW4vbmV3bWFpbnQuZW4uaHRtbA0KDQppcyBhIGdvb2Qgc3RhcnRpbmcgcG9p bnQuDQoNClJlZ2FyZHMNCg0KQW0gMTQuMDkuMjQgdW0gMjE6MjUgc2NocmllYiBQZXRlciBC aXR0bmVyOg0KPj4gSWYgeW91IHRlbGwgdXMgd2hhdCB5b3Ugd2FudCB0byBwYWNrYWdlLCB3 ZSBjYW4gdGVsbCB5b3UgYSBnb29kIGV4YW1wbGUNCj4+IG91dCBvZiBtb3JlIHRoYW4gNTAu MDAwIHBhY2thZ2VzDQo+IA0KPiBJJ20gcmVhbGx5IGxvb2tpbmcgZm9yIGdlbmVyaWMgZXhh bXBsZXMuIE15IG1vdGl2YXRpb24gaXMgdXNpbmcgYQ0KPiBzdGFuZGFyZCwgd2lkZXNwcmVh ZCBjb252ZW50aW9uIG9yIG90aGVyd2lzZSBwb3B1bGFyIHRvb2xpbmcgZm9yDQo+IGRlcGxv eWluZyBzb2Z0d2FyZSAod2hpY2ggLSBhdCB3b3JrIC0gaXMgbm90IG9wZW4gc291cmNlKS4g U28gdGhhdCBuZXcNCj4gZGV2ZWxvcGVycyBkb24ndCBuZWVkIHRvIGxlYXJuICJ0aGUgcHJv Y2VzcyIuIFdoZW4geW91IHNlZSBhICJkZWJpYW4iDQo+IGZvbGRlciBpbiBhIHJlcG9zaXRv cnkgeW91IHByb2JhYmx5IGFscmVhZHkgZ3Vlc3MgdGhhdCB0aGUgcHJvamVjdA0KPiB3aWxs IGJ1aWxkIGEgLmRlYiBwYWNrYWdlLiBXaGVuIHlvdSBzZWUgYSAuZGViIHBhY2thZ2UgeW91 IGNhbiBlYXNpbHkNCj4gZ3Vlc3MgaG93IGl0IHdpbGwgYmUgaW5zdGFsbGVkLg0KPiANCj4g T25lIG9mIHRoZSBzb2Z0d2FyZXMgaXMgYSBKYXZhIFdlYiBhcHBsaWNhdGlvbiAoZGVsaXZl cmVkIHRvIHVzIGFzIGENCj4gLmphciBhbmQgc29tZSBhY2NvbXBhbnlpbmcgZmlsZXMpIHRo YXQgaXMgZGVwbG95ZWQgaW50byBhIEpCb3NzDQo+IGFwcGxpY2F0aW9uIHNlcnZlciBwcmVp bnN0YWxsZWQgb24gdGhlIGhvc3QuIFRoZSBvdGhlciBpcyBhY3R1YWxseSBub3QNCj4gZXZl biBKYXZhIHNvZnR3YXJlLCBpdCdzIGEgYnVuY2ggb2Ygc2hlbGwgc2NyaXB0cyBhbmQgdHdv IFB5dGhvbiBDTEkNCj4gYXBwbGljYXRpb25zIHRoYXQgYXJlIGluc3RhbGxlZCBmcm9tIGFu IGludGVybmFsIFB5UEkgaW5kZXguIFNvLCBpdCdzDQo+IGFsbCBhYm91dCBjb3B5aW5nIGZp bGVzIHNvbWV3aGVyZSBhbmQgcGVyZm9ybWluZyBpbnN0YWxsYXRpb24NCj4gYWN0aXZpdGll cyB0aGF0IGFyZSBlbmNhcHN1bGF0ZWQgaW4gdGhlIC5kZWIgZmlsZS4NCj4gDQo+Pj4gbG9j YXRpb24gd2hlcmUgaXQgaGFzIHdyaXRlIGFjY2Vzcy4gVGhlIHNjZW5hcmlvIGlzLCBJIGhh dmUgdXNlcnMgdGhhdA0KPj4+IG11c3QgaW5zdGFsbCB0aGUgc29mdHdhcmUgb24gYSBtYW5h Z2VkIG1hY2hpbmUuIFRoZSBzeXN0ZW0NCj4+PiBhZG1pbmlzdHJhdG9ycyBtYW5hZ2UgdGhl IG9wZXJhdGluZyBzeXN0ZW0gYXMgc3VjaCwgdGhlIHVzZXJzIGluc3RhbGwNCj4+PiBhbmQg cnVuIHRoZWlyIHNvZnR3YXJlIGluIHVzZXIgc3BhY2UuDQo+Pg0KPj4gQXMgZmFyIGFzIEkg a25vdyBOTyBXQVkgdG8gZG8gc28uDQo+IA0KPiBMZXQgbWUgbWVudGlvbiB0aGF0IGZvciBt eSB1c2UgY2FzZSBpdCdzIHN1ZmZpY2llbnQgdGhhdCB3ZSBhc3N1bWUNCj4gdGhlcmUgYXJl IG5vIGRlcGVuZGVuY2llcywgb3IgdGhhdCBpZiB3ZSBoYXZlIHVucmVzb2x2ZWQgZGVwZW5k ZW5jaWVzDQo+IChlLmcuIG1vc3Qgbm90YWJseSBhIEpSRSkgdGhlIGluc3RhbGxhdGlvbiBw cm9jZXNzIGFib3J0cyBicnV0YWxseS4NCj4gDQo+IERvaW5nIHNvbWUgcmVzZWFyY2ggSSBm b3VuZCBhIGZldyBpbnRlcmVzdGluZyBkaXNjdXNzaW9uczoNCj4gLSBodHRwczovL2Fza3Vi dW50dS5jb20vcXVlc3Rpb25zLzMzOS9ob3ctY2FuLWktaW5zdGFsbC1hLXBhY2thZ2Utd2l0 aG91dC1yb290LWFjY2Vzcw0KPiAtIGh0dHBzOi8vYXNrdWJ1bnR1LmNvbS9xdWVzdGlvbnMv MTkzNjk1L2luc3RhbGxpbmctcGFja2FnZXMtaW50by1sb2NhbC1kaXJlY3RvcnkNCj4gDQo+ IFRoZSB0d28gc3VnZ2VzdGVkIHNvbHV0aW9ucyBhcmUgdXNpbmcgYC0tZm9yY2Utbm90LXJv b3RgIG9yIHNpbXBseQ0KPiB1bnBhY2tpbmcgdGhlIC5kZWIgYXJjaGl2ZSBmaWxlOg0KPiAN Cj4gICAgICBkcGtnIC1pIC0tZm9yY2Utbm90LXJvb3QgLS1yb290PSRIT01FIHBhY2thZ2Uu ZGViDQo+ICAgICAgYXIgcCBwYWNrYWdlLmRlYiBkYXRhLnRhci54eiB8IHRhciB4SnYgLS1z dHJpcC1jb21wb25lbnRzPTIgLWYgLQ0KPiANCj4gVGhlIGxhdHRlciB3aWxsIGNlcnRhaW5s eSBub3QgcnVuIHByZS0gb3IgcG9zdC1pbnN0YWxsIHNjcmlwdHMsIHdoaWNoDQo+IGlzIG9u ZSBvZiB0aGUgcmVhc29ucyBJIHdhbnQgdG8gZG8gdGhlIHBhY2thZ2luZywgdGhvdWdoLiAo RW5jYXBzdWxhdGUNCj4gdGhlIGluc3RhbGxhdGlvbiBsb2dpYyBpbiB0aGUgaW5zdGFsbGF0 aW9uIHBhY2thZ2UgaXRzZWxmISkNCj4gDQo+IE5vdyBJIHdvdWxkIG5lZWQgYSBzaW1wbGUg cGFja2FnaW5nIHNldHVwIHRvIHZlcmlmeSB0aGF0IHRob3NlDQo+IGNvbW1hbmRzIGFjdHVh bGx5IHdvcmsgZm9yIG15IHVzZSBjYXNlLg0KPiANCj4gUGV0ZXINCj4gDQoNCi0tIA0KTWVj aHRpbGRlIFN0ZWhtYW5uDQojIyBEZWJpYW4gRGV2ZWxvcGVyDQojIyBQR1AgZW5jcnlwdGlv biB3ZWxjb21lDQojIyBGMEUzIDdGM0QgQzg3QSA0OTk4IDI4OTkgIDM5RTcgRjI4NyA3QkJB IDE0MUEgQUQ3Rg0KDQo=

    --------------uaJ4zhBvDnGWHImzHdnyQ0pL--

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

    iQIzBAEBCgAdFiEE8ON/Pch6SZgomTnn8od7uhQarX8FAmbl6NgACgkQ8od7uhQa rX9Odw//bqkyl4gGbR2iIZzHcVIfRuDfH89+SVNQ3X3pqUS2WM4oekgla6eMnsDx oevxm1pBR+LyLHlyIFFMFkmYfXdcJewnL6967RcPV4+gynU7xXniHD/6aihOEZjD P7aRJVwQb9P+53DGxYhd0lkoK/cOS8nYCJO6rhrGLi/bVi04bjD3T7GdV1Cct6Ns 3XKYOQ8VDjqhNLOS7uhS9WaGZFsJKk1akUQSawaJ+aL9UPTxA8K6P0ADxP7PSAQe cdJufkoUfcKhwN2pAcka/ppWmt/cWj5x8yLRRQENs59S3mqjzd0LjGYdrc77JGVg DBybrAZ9sQNVYYS3savAXaRRnfrFaRUwX8LX/L/kjeqmP9kFSNfRTu2XLTaCyY1e OUw3NTPxmDBEuW37/SjeTBKvRa1baNgpQMblrxv9dagezG4h7eD6E2dQTSuZI3Nn 1fHGmy1wg3MIhLslPoNOHVtFbyQg6lMNZ6Ey6nU7s9GBfoxDFw9dCMVIm4ikoGMm sdQ8ARoG4bJ0nJ44O35zzrqCpvbIxC8/3Ncr4CzR76SSVrF3nLedCt7bOh/rmRst mBX5oMZmdFvFW67bXNNaLoH8AE9miV+zMe/m0sID0m99dnTOdIi+b1GPDi7X2n2e WNZmmKEyAalRwvgvNrKJFGZv9MAxi7XH+vaSxOg/VbuK2XL6nRY=
    =Ywmh
    -----END PGP SIGNATURE-----

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Peter Bittner@21:1/5 to All on Sat Sep 14 21:30:01 2024
    If you tell us what you want to package, we can tell you a good example
    out of more than 50.000 packages

    I'm really looking for generic examples. My motivation is using a
    standard, widespread convention or otherwise popular tooling for
    deploying software (which - at work - is not open source). So that new developers don't need to learn "the process". When you see a "debian"
    folder in a repository you probably already guess that the project
    will build a .deb package. When you see a .deb package you can easily
    guess how it will be installed.

    One of the softwares is a Java Web application (delivered to us as a
    .jar and some accompanying files) that is deployed into a JBoss
    application server preinstalled on the host. The other is actually not
    even Java software, it's a bunch of shell scripts and two Python CLI applications that are installed from an internal PyPI index. So, it's
    all about copying files somewhere and performing installation
    activities that are encapsulated in the .deb file.

    location where it has write access. The scenario is, I have users that
    must install the software on a managed machine. The system
    administrators manage the operating system as such, the users install
    and run their software in user space.

    As far as I know NO WAY to do so.

    Let me mention that for my use case it's sufficient that we assume
    there are no dependencies, or that if we have unresolved dependencies
    (e.g. most notably a JRE) the installation process aborts brutally.

    Doing some research I found a few interesting discussions:
    - https://askubuntu.com/questions/339/how-can-i-install-a-package-without-root-access
    - https://askubuntu.com/questions/193695/installing-packages-into-local-directory

    The two suggested solutions are using `--force-not-root` or simply
    unpacking the .deb archive file:

    dpkg -i --force-not-root --root=$HOME package.deb
    ar p package.deb data.tar.xz | tar xJv --strip-components=2 -f -

    The latter will certainly not run pre- or post-install scripts, which
    is one of the reasons I want to do the packaging, though. (Encapsulate
    the installation logic in the installation package itself!)

    Now I would need a simple packaging setup to verify that those
    commands actually work for my use case.

    Peter

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Geert Stappers@21:1/5 to Mechtilde Stehmann on Sat Sep 14 22:50:01 2024
    On Sat, Sep 14, 2024 at 09:49:44PM +0200, Mechtilde Stehmann wrote:
    Am 14.09.24 um 21:25 schrieb Peter Bittner:
    If you tell us what you want to package, we can tell you a good example out of more than 50.000 packages

    I'm really looking for generic examples. My motivation is using a
    standard, widespread convention or otherwise popular tooling for
    deploying software (which - at work - is not open source). So that new developers don't need to learn "the process". When you see a "debian" folder in a repository you probably already guess that the project
    will build a .deb package. When you see a .deb package you can easily
    guess how it will be installed.

    One of the softwares is a Java Web application (delivered to us as a
    .jar and some accompanying files) that is deployed into a JBoss
    application server preinstalled on the host. The other is actually not
    even Java software, it's a bunch of shell scripts and two Python CLI applications that are installed from an internal PyPI index. So, it's
    all about copying files somewhere and performing installation
    activities that are encapsulated in the .deb file.

    location where it has write access. The scenario is, I have users that must install the software on a managed machine. The system administrators manage the operating system as such, the users install and run their software in user space.

    As far as I know NO WAY to do so.

    Let me mention that for my use case it's sufficient that we assume
    there are no dependencies, or that if we have unresolved dependencies
    (e.g. most notably a JRE) the installation process aborts brutally.

    Doing some research I found a few interesting discussions:
    - https://askubuntu.com/questions/339/how-can-i-install-a-package-without-root-access
    - https://askubuntu.com/questions/193695/installing-packages-into-local-directory

    The two suggested solutions are using `--force-not-root` or simply unpacking the .deb archive file:

    dpkg -i --force-not-root --root=$HOME package.deb
    ar p package.deb data.tar.xz | tar xJv --strip-components=2 -f -

    The latter will certainly not run pre- or post-install scripts, which
    is one of the reasons I want to do the packaging, though. (Encapsulate
    the installation logic in the installation package itself!)

    Now I would need a simple packaging setup to verify that those
    commands actually work for my use case.


    Hello Peter,

    Then I think

    https://www.debian.org/devel/join/newmaint.en.html

    is a good starting point.


    I'm fairly sure that Peter demanded "Give me fish",
    that he is not willing to learn how to fish.

    I think it is a good thing to make Peter main stakeholder.
    It will bring win-win. (Moves away from win-loose ( "win" meaning
    getting benefits, "loose" spending resources )


    Regarding the original question:
    * Enjoy (and support that you can keep doing) `sudo apt install PACKAGE`
    * Good luck with "userapt install PACKAGE"



    Regards
    Geert Stappers
    --
    Silence is hard to parse

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Peter Bittner@21:1/5 to All on Sun Sep 15 17:10:01 2024
    Dear all,

    Please, don't get me wrong. I'm a long-time Debian user and Open
    Source project maintainer. In my own projects I continuously struggle
    with the fact that an improvement in one project needs to be taken
    over to all the other projects.

    If you manage several (free software) projects yourself you may know
    this feeling: You try to improve the state of a repository, and you
    know you've done it before hence you want to avoid reinventing the
    wheel. But now you're unsure where the last place was where you had
    your latest and greatest solution (call it, "current best practice").

    With that said, I know the tutorials on Debian packaging but I'm
    interested in actual, living implementation in popular projects,
    because that's where you learn current practices best from. People may
    perceive this as rude, but it certainly depends on how harsh or
    welcoming you want to be. I learned how to fish years ago, now I want
    advice from fishers.

    What I would recommend in 2024 is that you package your software as a
    private .deb — which is fairly straightforward, even if you have
    binary blobs that aren't built during the package build — and then
    install that inside a suitable base debian container image.

    I appreciate your advice, Michael. The point is, I didn't plan to come
    here to bore people with discussing my infrastructure implementation
    strategy. I don't think it belongs here. Using system packaging is
    exactly the intermediate step I want to use for going towards a
    cloud-native deployment for a nowadays traditionally deployed,
    VM-based setup. Intermediate steps are needed in environments that are reluctant to change. And not getting root-access is one component of
    the first equation of that change; having to cope with pre-installed
    components on the managed VM is another. But we're leaving the ground
    of Debian (and Open Source) here by far.

    I had hoped someone would point me to a good example of a popular
    project. One that delivers the final JAR, and a Debian maintainer
    takes care of packaging only. Maybe because the project doesn't care
    about having a Debian package at all. That would cut out the build
    part (Maven).

    I started my research with Geogebra, didn't find traces in their
    GitHub repositories (and it looks like they stopped promoting packages
    for Debian at all) and didn't know where to look for the original
    packaging code on Salsa. (I found it in the meantime at https://salsa.debian.org/java-team/geogebra)
    The colorpicker project
    (https://salsa.debian.org/java-team/colorpicker) seems dead-simple,
    but it builds from source. Is that good enough? The last code change
    is from 12 years ago.

    Thank you for your understanding,
    Peter

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Emmanuel Bourg@21:1/5 to Peter Bittner on Tue Sep 17 01:30:01 2024
    Hi Peter,

    On 14/09/2024 12:01, Peter Bittner wrote:
    To extend on that, I try to find out how - if at all - (Java) software
    can be packaged as a Debian package, so that it can be installed
    root-less, i.e. with an unprivileged user. Where can I find
    information about that?

    Did you consider using a Flatpak package instead of a Debian package?

    Emmanuel Bourg

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