Bug#707639: [Debian-med-packaging] Bug#707639: gnuhealth: System user for the server
2014-03-27 13:50 GMT+01:00 Mathias Behrle mathi...@m9s.biz: * Emilien Klein: Re: [Debian-med-packaging] Bug#707639: gnuhealth: System user for the server (Thu, 27 Mar 2014 13:06:53 +0100): You are correct that having 2 running Tryton servers is not helpful/wise. That is why having a service-less Tryton package would be very helpful in this case (cf link in my previous post) Nice;) You claim, that you want to provide a package with minimal user interaction for gnuhealth, but ask the 'original' package providing the server to do the contrary... Yes and no: I do want the user to have as less automatic steps to do as possible. If that means us (technical maintainers) doing a little bit of extra work, that is worth it. We do the hard work in Debian, so that the user doesn't have to. That is the whole interest of the package, otherwise let's just have the user unzip a tarball and do the same configuration steps anyway on their own... To me, if a user is going to install GNU Health, they do it for medical reasons. They will also take care of the ERP side of running the hospital using Tryton, but they won't be running a separate Tryton server for that. They'll do it in the same Tryton server that is running for GNU Health. You are doing heavy assumptions on users. This is exactly the way, you are narrowing the possible target audience of your package. I could describe a lot of scenarios where your assumptions will proove to be wrong. Making assumptions is part of a Debian Maintainer's role. We are setting the software up, to lift most of the burden off our user's shoulder. My target is supporting any hospital that wants to use GNU Health. The only assumption that is relevant for this bug report is that they are not yet using Tryton to do their ERP work: - If they don't use Tryton already, then there is no issue at all. - If they were to use Tryton: 1. They would not install GNU Health directly onto their production server, without first testing on a test machine 2. If they decide to go on, they would have to decide whether to use 2 different Tryton servers, or to merge them both on one. A. If they keep 2 servers, it would be best to separate them (virtualization, containerization, or just other physical hardware). That is just standard security practice. B. If they want to have just one server, they'll have to either create a new database on their existing instance and shut the GNU Health startup deamon off, or move the existing Tryton database off to the new GNU Health server Regardless of what option they choose, they'll have to figure out what works best for them. In any case, having the GNU Health package create its own user, and run under that (if they so choose to use the service provided by the gnuhealth-server package, that is) doesn't have any impact on the user. Regardless of whatever assumption you think is being made. As mentioned, I consider the Tryton server package to be in a broken/unusable state right after installation. To be precised. What is broken? apt-get install tryton-server (with the other modules you want) Open Tryton client on another machine Connect to your server Doesn't work I want the GNU Health package to be usable right out of the box, and be able to assist the users in all steps related to upgrades (such as updating the database models, possibly removing unused tables, etc.). I answered this point in #707632 [1] and don't want to repeat the arguments here. Correct. Having the system doing automatic backups (only at upgrade time) doesn't prevent the user of making their own (hopefully much more regularly). So this added benefit is not an issue, just an extra safeguard should the user have upgraded it's system without first backing it up (you don't think that ever happens?) No need to further discuss this point here. I can only do that if the database is managed by the Debian package. To manage the database, it needs to be created by the gnuhealth package. As I can't fiddle with files installed by the Tryton package (e.g. /etc/trytond.conf) as that is obviously against Debian packaging conventions. This ensues that I need to have the ability to have a gnuhealth user that owns the database, and run a Tryton server under that user so that it can access the database. You are mixing things. Why shouldn't you be able to manage a database owned by the tryton user? If you need a separate server configuration to be managed by your package this can most easily be done with the -c parameter of trytond (please have a look at the defaults file, that you are also using for the gnuhealth package). Running GNU Health server on a database that is owned by it's dedicated user is what is recommended by upstream. They have also recently stated they really see a benefit in all the installation being on the same base, to help with issues resolution or so that the user can just follow the instructions on the wiki. In an effort to make
Bug#707639: [Debian-med-packaging] Bug#707639: gnuhealth: System user for the server
* Emilien Klein: Re: [Debian-med-packaging] Bug#707639: gnuhealth: System user for the server (Sat, 29 Mar 2014 08:18:22 +0100): 2014-03-27 13:50 GMT+01:00 Mathias Behrle mathi...@m9s.biz: * Emilien Klein: Re: [Debian-med-packaging] Bug#707639: gnuhealth: System user for the server (Thu, 27 Mar 2014 13:06:53 +0100): snip To me, if a user is going to install GNU Health, they do it for medical reasons. They will also take care of the ERP side of running the hospital using Tryton, but they won't be running a separate Tryton server for that. They'll do it in the same Tryton server that is running for GNU Health. You are doing heavy assumptions on users. This is exactly the way, you are narrowing the possible target audience of your package. I could describe a lot of scenarios where your assumptions will proove to be wrong. Making assumptions is part of a Debian Maintainer's role. We are setting the software up, to lift most of the burden off our user's shoulder. Ok, so let do some nitpicking. If you want to make assumptions, the please make the correct ones. For Debian as the Universal Operating System, it wants to be, it is most adequate to not restrict any use of a software while respecting common security standards. My target is supporting any hospital that wants to use GNU Health. The only assumption that is relevant for this bug report is that they are not yet using Tryton to do their ERP work: This assumption seems to be caused by a (constant) misunderstanding on your side. If they are using GNU Health, they *are* using Tryton. Tryton is a framework, and the gnuhealth modules are just another module set using the framework. Duplicating tryton-server into gnuhealth-server is a conceptional error (I know I am repeating mayself, but there is no other answer to this issue.). So again: You are completely free to use any postgres role together with any postgres database you wish. That's perfect and such is the design. Creating a further system user to run a separate additional trytond instance for gnuhealth doesn't provide any additional gain securitywise, it just causes problems. - If they don't use Tryton already, then there is no issue at all. - If they were to use Tryton: 1. They would not install GNU Health directly onto their production server, without first testing on a test machine 2. If they decide to go on, they would have to decide whether to use 2 different Tryton servers, or to merge them both on one. A. If they keep 2 servers, it would be best to separate them (virtualization, containerization, or just other physical hardware). That is just standard security practice. B. If they want to have just one server, they'll have to either create a new database on their existing instance and shut the GNU Health startup deamon off, or move the existing Tryton database off to the new GNU Health server You are confirming, that the gnuhaelth package design is broken. All problems you are depicting are raising from the fact, that you are running a second trytond under a different user. This *is* useless, as you are confirming yourself. If a user installs gnuhealth, there is a probability, he mostly will want to use those modules. He wants to run a trytond under a system user account using the gnuhealth modules. This is exactly provided by the tryton-server package running under its system user. No matter if the system user is called 'tryton', 'gnuhealth' or 'emiliend'. Regardless of what option they choose, they'll have to figure out what works best for them. In any case, having the GNU Health package create its own user, and run under that (if they so choose to use the service provided by the gnuhealth-server package, that is) doesn't have any impact on the user. Regardless of whatever assumption you think is being made. As mentioned, I consider the Tryton server package to be in a broken/unusable state right after installation. To be precised. What is broken? apt-get install tryton-server (with the other modules you want) Open Tryton client on another machine Connect to your server Doesn't work This correlates with the common Debian security standards to listen and restrict access to localhost. Please see other servers like postgresql, etc. for their well choosen defaults. Finally you are documenting, that gnuhealth is broken, if it chooses by default to expose a fresh installation on an external interface. I want the GNU Health package to be usable right out of the box, and be able to assist the users in all steps related to upgrades (such as updating the database models, possibly removing unused tables, etc.). I answered this point in #707632 [1] and don't want to repeat the arguments here. Correct. Having the system doing automatic backups (only at upgrade time) doesn't prevent the user of making their own (hopefully much more regularly). So this added benefit is not an issue, just
Bug#707639: [Debian-med-packaging] Bug#707639: gnuhealth: System user for the server
* Emilien Klein: Re: [Debian-med-packaging] Bug#707639: gnuhealth: System user for the server (Wed, 26 Mar 2014 22:39:05 +0100): The GNU Health package runs its own dedicated Tryton server, under that gnuhealth user, unoconv would thus run under the same user as the Tryton server. I think you are missing the point. Provided you are running a tryton-server and a gnuhealth-server under different users on the same machine, it will be painful (read: impossible AFAIK) to run a unoconv service for both of them or for each of them. I will close this issue as the current situation is the best for the Debian users of GNU Health. You are obviously free to add more details and argument your position, should you think this presents major issues for Debian or its users. Done. I don't think the current way is the best way to do it. I still can't see the added value in using an additional system user compared to the complications it can cause. Mathias -- Mathias Behrle PGP/GnuPG key availabable from any keyserver, ID: 0x8405BBF6 signature.asc Description: PGP signature
Bug#707639: [Debian-med-packaging] Bug#707639: gnuhealth: System user for the server
2014-03-27 12:46 GMT+01:00 Mathias Behrle mathi...@m9s.biz: * Emilien Klein: Re: [Debian-med-packaging] Bug#707639: gnuhealth: System user for the server (Wed, 26 Mar 2014 22:39:05 +0100): The GNU Health package runs its own dedicated Tryton server, under that gnuhealth user, unoconv would thus run under the same user as the Tryton server. I think you are missing the point. It's because I'm coming from a different angle than you. Read on ;) Provided you are running a tryton-server and a gnuhealth-server under different users on the same machine, it will be painful (read: impossible AFAIK) to run a unoconv service for both of them or for each of them. You are correct that having 2 running Tryton servers is not helpful/wise. That is why having a service-less Tryton package would be very helpful in this case (cf link in my previous post) To me, if a user is going to install GNU Health, they do it for medical reasons. They will also take care of the ERP side of running the hospital using Tryton, but they won't be running a separate Tryton server for that. They'll do it in the same Tryton server that is running for GNU Health. As mentioned, I consider the Tryton server package to be in a broken/unusable state right after installation. I want the GNU Health package to be usable right out of the box, and be able to assist the users in all steps related to upgrades (such as updating the database models, possibly removing unused tables, etc.). I can only do that if the database is managed by the Debian package. To manage the database, it needs to be created by the gnuhealth package. As I can't fiddle with files installed by the Tryton package (e.g. /etc/trytond.conf) as that is obviously against Debian packaging conventions. This ensues that I need to have the ability to have a gnuhealth user that owns the database, and run a Tryton server under that user so that it can access the database. I will close this issue as the current situation is the best for the Debian users of GNU Health. You are obviously free to add more details and argument your position, should you think this presents major issues for Debian or its users. Done. I don't think the current way is the best way to do it. I still can't see the added value in using an additional system user compared to the complications it can cause. Does my explanation below help you understand my point of view? The core of the issue is not so much the dedicated user. It's the fact that in the current situation we have 2 running Tryton servers. The GNU Health-generated one is a precondition for the ease-of-use that I want to provide to my users. If there was a service-less tryton-server package, this issue wouldn't be one. Would you be willing to accept a patch from me to do that? +Emilien -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org
Bug#707639: [Debian-med-packaging] Bug#707639: gnuhealth: System user for the server
* Emilien Klein: Re: [Debian-med-packaging] Bug#707639: gnuhealth: System user for the server (Thu, 27 Mar 2014 13:06:53 +0100): 2014-03-27 12:46 GMT+01:00 Mathias Behrle mathi...@m9s.biz: * Emilien Klein: Re: [Debian-med-packaging] Bug#707639: gnuhealth: System user for the server (Wed, 26 Mar 2014 22:39:05 +0100): The GNU Health package runs its own dedicated Tryton server, under that gnuhealth user, unoconv would thus run under the same user as the Tryton server. I think you are missing the point. It's because I'm coming from a different angle than you. Read on ;) Seems so, yes;) Provided you are running a tryton-server and a gnuhealth-server under different users on the same machine, it will be painful (read: impossible AFAIK) to run a unoconv service for both of them or for each of them. You are correct that having 2 running Tryton servers is not helpful/wise. That is why having a service-less Tryton package would be very helpful in this case (cf link in my previous post) Nice;) You claim, that you want to provide a package with minimal user interaction for gnuhealth, but ask the 'original' package providing the server to do the contrary... To me, if a user is going to install GNU Health, they do it for medical reasons. They will also take care of the ERP side of running the hospital using Tryton, but they won't be running a separate Tryton server for that. They'll do it in the same Tryton server that is running for GNU Health. You are doing heavy assumptions on users. This is exactly the way, you are narrowing the possible target audience of your package. I could describe a lot of scenarios where your assumptions will proove to be wrong. As mentioned, I consider the Tryton server package to be in a broken/unusable state right after installation. To be precised. What is broken? I want the GNU Health package to be usable right out of the box, and be able to assist the users in all steps related to upgrades (such as updating the database models, possibly removing unused tables, etc.). I answered this point in #707632 [1] and don't want to repeat the arguments here. I can only do that if the database is managed by the Debian package. To manage the database, it needs to be created by the gnuhealth package. As I can't fiddle with files installed by the Tryton package (e.g. /etc/trytond.conf) as that is obviously against Debian packaging conventions. This ensues that I need to have the ability to have a gnuhealth user that owns the database, and run a Tryton server under that user so that it can access the database. You are mixing things. Why shouldn't you be able to manage a database owned by the tryton user? If you need a separate server configuration to be managed by your package this can most easily be done with the -c parameter of trytond (please have a look at the defaults file, that you are also using for the gnuhealth package). I will close this issue as the current situation is the best for the Debian users of GNU Health. You are obviously free to add more details and argument your position, should you think this presents major issues for Debian or its users. Done. I don't think the current way is the best way to do it. I still can't see the added value in using an additional system user compared to the complications it can cause. Does my explanation below help you understand my point of view? The core of the issue is not so much the dedicated user. It's the fact that in the current situation we have 2 running Tryton servers. The GNU Health-generated one is a precondition for the ease-of-use that I want to provide to my users. You can run as many dedicated trytond's as you want (see above). No separate system user required for that. If there was a service-less tryton-server package, this issue wouldn't be one. Would you be willing to accept a patch from me to do that? No, I see no point in doing that. I think, the gnuhealth package should make direct use of the tryton-server package. [1] http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=707632 -- Mathias Behrle PGP/GnuPG key availabable from any keyserver, ID: 0x8405BBF6 signature.asc Description: PGP signature
Bug#707639: [Debian-med-packaging] Bug#707639: gnuhealth: System user for the server
The GNU Health package runs its own dedicated Tryton server, under that gnuhealth user, unoconv would thus run under the same user as the Tryton server. The rationale for using a separate user is explained at length at [0], short version is that I believe a Debian package should (as much as possible) be usable directly after installation, without forcing the user to edit a config file (etc/trytond.conf in this case) to make the package run. Of course, if the user has specific needs, editing the config file is always possible, but in the state I consider the Tryton package to be in a broken/unusable state right after installation. Only advanced/expert users know they need to go and read the content of the /usr/share/doc/tryton-server/README.Debian.gz (which they first need to uncompress to access). This is not the way to make FLOSS software reacheable to everyday-people. As suggested in [0], I would encourage the creation of a service-less tryton-server package providing the source code for the server functionality (on which GNU Health would depend), and out-of-the-box working package tryton-server-postgres and tryton-server-sqlite packages that would come with ready-to-use databases and provide a startup service. That way GNU Health can be run using it's own user (best to separate different applications using separate users, best would be to provide full containerization...) and there is no separate Tryton server running unused. I will close this issue as the current situation is the best for the Debian users of GNU Health. You are obviously free to add more details and argument your position, should you think this presents major issues for Debian or its users. +Emilien [0] https://lists.debian.org/debian-med/2013/09/msg00077.html -- To UNSUBSCRIBE, email to debian-bugs-dist-requ...@lists.debian.org with a subject of unsubscribe. Trouble? Contact listmas...@lists.debian.org