emcrisostomo / fswatch

A cross-platform file change monitor with multiple backends: Apple OS X File System Events, *BSD kqueue, Solaris/Illumos File Events Notification, Linux inotify, Microsoft Windows and a stat()-based backend.
https://emcrisostomo.github.io/fswatch/
GNU General Public License v3.0
5.05k stars 330 forks source link

ITP 846401 - Bringing fswatch to debian #149

Closed agaida closed 6 years ago

agaida commented 7 years ago

https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=846401

Thanks.

emcrisostomo commented 7 years ago

Hi @agaida, thanks for your work.

  • this should make several bugs in the tracker obsolete

Awesome.

  • I would like to have 1.10.x in the next debian stable - the 1.9.3 tar ball is somewhat of messed up (ok, i could create a own one) and 1.9.3 would stay in debian/ubuntu and derivatives for some time in the stable repos, because we are near the package freeze. So is there a chance to release 1.10.x soon?

My goal is to release before the end of the year.

emcrisostomo commented 7 years ago

Hi @agaida,

The 1.10.0 milestone has no outstanding issue. Please, let me know if you need my help. In the meantime I'm not closing the release branch for a few more days, to wait and see whether this issue requires some change in the code base.

dyroffk commented 7 years ago

Any updates / blockers on releasing a Debian package?

Mange commented 7 years ago

I'd also like to know if I can help with anything to get this shipped.

dialex commented 7 years ago

So... can we do sudo apt-get install fswatch already? @emcrisostomo

dialex commented 7 years ago

@emcrisostomo 2016 already ended and we still have no support for Ubuntu/Debian. What is the current estimate?

You claim that this lib is cross-platform, so I think you should not leave behind a big ecosystem such as Ubuntu/Debian. Another issue was reported here.

hadret commented 7 years ago

Hi @agaida, care to share the building blocks for fswatch you made so far? Here's my 5 cents:

While I wholeheartedly support getting fswatch the proper way into Debian (and this way also eventually to Ubuntu), I would suggest releasing debian folder for fswatch and maybe even including it into main repo (or as a submodule, whatever) and then build package via Travis or some other CI, what do you say?

emcrisostomo commented 7 years ago

Hi everybody,

Sorry for the belated answer, but I actually have very little to say. Many people is asking for a Debian package, and some people have contributed work in that direction (@agaida, @hadret). I'm not building a package for Debian myself because I can't even estimate how much effort it requires. I do provide packages/ports (e.g.: for FreeBSD, MacPorts, Homebrew) because it's easy to do that.

I made some research when this issue and #47 were open and I got a strong feeling that packaging for Debian and bringing fswatch into Debian was way more complicated. And since my time resources are very limited, I've chosen so far to work on other things rather than undertaking the task of building a Debian package and getting it into Debian repositories.

If somebody wants to try and requires my help, I'd be happy to assist.

hadret commented 7 years ago

Hey @emcrisostomo,

going with properly built Debian packages and getting it into official repositories usually takes some time (or at least that was my experience). We have, however, alternatives -- as I mentioned in my previous post, we could spin up some CI for automation (I really like how they did it for collectd, more details here: https://github.com/collectd/collectd-ci & debian packaging itself: https://github.com/collectd/pkg-debian), but this would make more sense should we go fully blown with packages for other distros too (and I'm not sure how much of traction we could have here). The other solution would be to, at least for now, spin up PPA in Canonical's Launchpad and just making sure it builds packages for all the branches we need/want (trusty, xenial, some Debian releases etc.).

I also bumped up my packaging for the latest fswatch release 1.10.0. Packages (for amd64) and sources can be found here: http://deb.ianod.es/fswatch

agaida commented 7 years ago

ok, with 1.10. out now i will start packaging.

agaida commented 6 years ago

landed in sid

emcrisostomo commented 6 years ago

Great job @agaida. Thank you very much. Do you think we should set up some machinery to rebuild and check a debian package? I'm asking because I have no idea how this works on Debian. On other operating systems such as FreeBSD I patch a port, test it with the FreeBSD build machinery (poudriere) and submit a patch. I do pretty much the same thing with MacPorts and Brew. Do you have any suggestions?

agaida commented 6 years ago

Hmm - no clue - but imho that doesn't make much sense. Or put it in other words: As long it compile for you everything is fine. What we do is to put this things together and "just" build them - https://buildd.debian.org/status/package.php?p=fswatch - you might notice two failed architectures - i had to adjust the compiler symbols. But that are things that don't fit for normal development - to much effort. What we can do - if you plan a new release or beta, just ping me, i will upload this to experimental.

emcrisostomo commented 6 years ago

Thanks @agaida. Ok, thanks, I think that will work.

ghost commented 6 years ago

any news on that for debian stretch (9) ? would be really nice to have this in the official repos (or at least a working ppa)

agaida commented 6 years ago

@blahmutz - fswatch will never be in the stretch repos, backports might be possible. but to be true - i see no reason to port it back right now. What i would do is: Set the default release to stretch in the apt config and install fswatch from testing.

PS: PPA for debian? Serious? And taking it from launchpad would be the single worst idea one could have.

jcranky commented 6 years ago

PS: PPA for debian? Serious? And taking it from launchpad would be the single worst idea one could have.

Why @agaida ?

ghost commented 6 years ago

Set the default release to stretch in the apt config and install fswatch from testing.

can you explain what you mean exactly with that? i have stretch, why should i set stretch as release to my apt config (should be already the case, shouldnt it). Or did you mean "set debian 10 as release" ? i am not that familiar with debians package managment. I know how to install/delete stuff, but thats it. Why is it bad to add a ppa? because of security concerns?

agaida commented 6 years ago

What i wrote of course :D - It's about repository priorities, to make it short: one can have stable, testing, unstable and whatever in his repo.list(s) - the default priority is 500 for normal repos, some repositories have a lower priority provided by their repository settings (automatic $foo) - in very clear words: In such a setup all versions with the highest version number will be installed, that might be not a wise idea if one will remain stable with his main system. Setting the Default Release (https://wiki.debian.org/AptConf) APT::Default-Release "stretch"; give stretch a higher priority (990) and prevent not whished upgrades to testing or sid. Easy, isn't it?

Regarding ppa: https://wiki.debian.org/DontBreakDebian - no need to say more. If you want fswatch in a pure stable environment thats easy too, just get the sources, build and install it. This would make sure that the compiler and all needed parts from stable will be used, thats what a backport would do. Btw: get sources, build and install means: Please, for the sake of a stable system, do it the debian way aka apt source fswatch; apt build-dep fswatch or (mk-build-deps --install ..); debuild; apt install ./*deb

ghost commented 6 years ago

Thanks for the info. But that still does not explain to me why i should not use software from a website, when it is nowhere else available. It says:

you might be used to installing software that you find on random websites. On Debian installing software from random websites is a bad habit. It's always better to use software from the official Debian repositories if at all possible.

i would, if this software would be in the backports or in any other official debian repository. as it is not, i just have 2 ways: use a ppa repo/download from a website or build it myself. the later one is not really what i would like to do as its reinventing the wheel. i have no debian machine running, i would have to go to vmware or any other vm, install debian, install the build tools, build the application, save the .debs somewhere, etc. etc.

i see your point(s). but i am not priorizing it like you do.

agaida commented 6 years ago

@blahmutz - thats fine as it is not my problem - i don't really care if one install not compatible binaries in his system. Might work, but there is a long standing record that it don't work.