Closed ArchangeGabriel closed 7 years ago
Removing the current package let those things on the system: https://gist.github.com/ArchangeGabriel/5ea4d1adb5f8eaa770ad
While I can understand that for coffee, I think that cozy ones should go. And for coffee, maybe a message in remove script.
Also, they are remaining files from auto-enabling some services (couchdb, nginx previously). I think that a package should enable any service. Or even start any. ;)
Hi @ArchangeGabriel,
First, could you please slow down on the comments and the issue updates? I can't even reply to you before you post something else.
I'm sorry to hear that the uninstall failed. I tried to keep the procedure the smoothest possible in order for the migration to operate well, but it seems from your feedback that it doesn't work for all (as many things in computing). Did you run it with the latest version of the package you were using? (I updated the three packages to "2.0" before releasing the new one) Here are my answers to your questions:
npm install
s. My goal is that, even if I don't update the package for a very long time, new installs should run fine, even if many major versions of Cozy got released, with some breaking backward compatibility. All of the Cozy stack is downloaded and installed with NPM at the package's installation. The packages updates only occurs if Cozy's installation process comes to change (or if something's buggy or not working of course), and the only files included are those that don't come with an NPM installation or are specific to the Archlinux port.Also, please remember that I'm an human, and writing this text while checking my sources is even harder if you paste a list with hundred of files while I'm writing so it's even more painful to scroll up to remember your questions.
About the remaining files: Yep, I failed a condition (this one) which prevents cozy-monitor to uninstall. Coffee Script should be handled in another package, that's my mistake. I'm fixing them both right now.
Regarding the services start, CouchDB and Supervisor are essential for Cozy's installation, and they're neede started. And I don't feel like it'd be right to add the full Cozy install (not possible w/out Couch and Supervisor started) in an external script like the domain configuration. It'd be like telling the user: "Hey, congrats on installing an empty shell, here's what to do to manually install what the package was already supposed to install."
Sorry for the disorder, I posted things as long as they were coming. I’ve updated the above comment to move things into a gist.
Hum, maybe we don’t agree here then. I think that a package should not install things or do a lot of magic outside of PKGBUILD.
For me, the cozy package is here for:
I mean, we are Arch users, huge things like that (look at mail programs like smtp/imap servers) are not supposed to be configured OOTB.
Sorry if I sounded a bit angry (rough day). That's an interesting opinion. I'll look into it. I still may not be as familiar with the way to package stuff for Archlinx as I would. I'm thinking about switching all the installation process as it is (so without reverse proxy and domain name configuration) in an external script so the user can easily run a onestep install, and pointing to the official documentation for the detailed, manual process. What do you think?
@babolivier Don’t worry, my messages seemed probably much more angry, without reason. Rough day here too, but I also have a terrible writing…
That proposal looks really nice. I personally will go with that detailed, manual process.
Also, note that Arch devs are currently trying to remove most of .install scripts, since most of them can now be replaced by hooks. And IMHO, things that cannot be turned into sensible hooks shouldn’t be in a .install script in the first place. ;)
Thinking about it, it would really makes things easier.
New dependencies, nodejs update (I dont know anything about nodejs, so not sure whether this require reinstalling npm things too) → package update.
New install way: install script update. This way, existing installs are not perturbed. Also, this should probably go into a dedicated package, along with the domain name configuration script. Like cozy-install, depends on cozy. Like this, those scripts can even be removed after successful install.
BTW, if you’re the one managing the official ArchLinux doc @cozy:
“In order to run Cozy, we need to install Node.JS v4.x.x (LTS), located in the nodejs-lts-bin AUR package.
Unfortunately, if Node.JS is already installed on your machine with the nodejs official package, a conflict will appear between it and nodejs-lts-bin. All you have to do to solve this issue is hitting "y" (letter can vary according to the system language, but you get it) when the installer asks you if you want to replace nodejs and npm.”
That’s not exactly a good answer. ;) What if the user has nodejs because another program needs it, and especially use 5.x features?
Well, s.he would have to make a choice, since, as far as I know, Cozy isn't fully compatible with Node.js 5.x. In the doc, I'm explaining how to install the right components for a fully functional Cozy, assuming that, if the user needs a specific version of node, s.he'll know what choice to make or figure how to work around this constraint. If not, well, support is here for this purpose :)
@babolivier Just seen you’ve removed cozy from AUR. Maybe CozyCloud website should be updated then.
For the future of Cozy packaging: I think that the right thing to do is having a package to handle the dependencies and create system users, but have everything else in a wiki page detailing specifics of Arch install vs step-by-step mode from Cozy official doc. I might do it if you want.
Hi @ArchangeGabriel,
I’m closing this, it has become mostly irrelevant with my new package and will be even more in the next version.
Hi!
I’ve seen recently that they have been a lot of packaging changes around here.
Looking at those change and trying to upgrade to the new packages, I find some things strange.
Outside of that, it seems that my uninstall didn’t went fine, as they were plenty leftover in couchdb and nginx, some files in /usr/bin (two cozy-something, coffee and cake), and some backup instructions were missing. Which leads me to:
So, I’m currently trying a new install after a full clean, but having some troubles…