Package Management merge gets noticed!

@bbjimmy: maybe you didn’t notice, but here you are the one being harsh and telling the devs are stupid. You decided that all the devs are running Linux,and this is not true. Haiku is my one and only operating system, I put a lot of work, currently full-time and paid, but in the past also a lot of week-ends and nights building up the software I wanted and needed to use to get work done. This includes things such as the IUP widget toolkit so I can write portable apps from Haiku and not force users to run it, the libusb port so I can do embedded device stuff, several ports of gcc (for AVR and for 6809), and some other tools like GrafX2, a pixelart editing program. I could have used these on Linux where they are available out of the box, but instead, I have chosen to spend years (yes, really) to port all these things to Haiku in a clean way, so I can get work done with my favorite OS. Before being a developer, I was a user, and I learnt C++ until I know enough of it to get commit access. And now that I am a developer, I’m still an user and I still have to get work done, so of course breaking the os for fun is not something I do, and when someone does, I don’t hesitate to revert commits that prevent me to use the OS.

That being said, I don’t have a single problem caused by the package manager. Yes, things have moved a bit and I had some trouble during my first steps. I noticed setgcc was now gone and I had to play with the PATH or CC/CXX environment variables to change the compiler; I saw that /boot/common and /boot/apps were gone; I saw that I couldn’t keep the deskbar “applications” menu in a tracker window with big 48x48 icons as an easy way to launch apps. But I’m yet to find a single application that I can’t get to run. I even packaged most of the stuff I use to make system upgrades simpler.

What you think is sounding harsh and telling users they are stupid is not arrogance. It’s just that after spending years working this way to make the OS better, we very rarely hear people telling us “guys, what you do is very great”. We do, however, get people telling us “what you did is completely stupid”. I will accept being told I’m wrong, but you have to bring valid arguments and make some efforts to convince me: open bugreports about the apps that don’t work anymore after the PM merge, show us how this is annoying to you and prevents you to get work done, and we’ll work together to try setting up a solution. It’s as simple as that. When we hear a complaint from an user saying “I think you should do this and that, because I think it’s better than what you have”, without any valid arguments to support the claim, we can only remember you that we do this on our free time (for the most part), and the fact that you are an user doesn’t get you any veto right on how the system should work. Look at Microsoft or Apple: even if you pay for their OS, there are even fewer ways to have them hear your voice.

Now, there are some paid contracts running, powered by donations to Haiku, Inc. We can certainly understand that people who have donated money there may think it was misused. I think Haiku, Inc. also heard the complaints and they are not funding package management related contracts anymore. Read the start of the article that announced my contract: http://www.haiku-os.org/news/2013-08-29_haiku_needs_you. So, they are listening and trying to get things right. We’re all still a bit unused to working this way, and I’m sure things will go smoother in the future.

As for the communication channel, the ML is more convenient for me. I can check my mailbox and easily see all the unread messages, reply if I want to, keep them for later, or mark them as read if I don’t care. On a forum, I have to check each topic one after another, using a web interface which is considerably slower. It’s harder to keep track of which part of the replies to a topic I’ve already read, and I often miss valuable input. I find this very sub-optimal, so I avoid the forums as much as I can. And I don’t think I will react differently just because you sent your messages here or on the ML. I’ll handle it the same way. Always remember that things can escalate pretty fast with such written communication mediums: you read a message, something upsets you, and you write a reply while being angry. Out of the guys that read it, at least one will feel offended and will write an harsh reply as well. You read it, feel they didn’t take care to think through and read carefully, and things escalate pretty quickly. It’s always better to not answer too fast to the messages, let things cool down a bit and write your reply with a peaceful mindset. But on an high-traffic mailing list there’s always one or two guys not doing that… At some point it is better to ignore them.

Also, if you fear going against all the developers at once as a single user, no problem, contact one of the devs in private (all the mail addresses are public), group with some other users, and take time to set up your arguments and come with a solution. Good suggestions and constructive criticism will be taken into account.

My biggest fear with Haiku is that it will be another AmigaOS where everything has to work with abandoned apps from a decade ago. Except that Amiga actually had a heyday when top games came first to it and the PC got a 2nd rate port. Video pros used it with Toaster for things like Babylon 5. But BeOS never really had its moment. Just when it seemed it was about to get apps such as Nuendo and Steinberg, all the big names just fizzled away.

What Haiku does have is a potentially clean slate that doesn’t have to have Unix’ problems because it doesn’t try to be a Unix, doesn’t have to have Windows’ problems because it doesn’t try to be a Windows clone. But if it has to have BeOS’ problems or worry that apps written while Haiku was in alpha don’t work anymore because of a directory change, then it’s not going anywhere.

Another question is…
can someone estimate when haiku will be able to update itself using packagemanager , and not needing to install a new nightly image?

This is already almost working.
You can drop newer versions of the packages in the system/packages directory. The package manager will tell you it wants to remove the previous versions, but don’t do that before you reboot. After rebooting, it may still use some files from the old packages, so when removing them it may have some problems.

What’s missing is splitting the big ‘haiku’ package into smaller parts and make it easier to update only some parts of it. and of course, avoiding that crash on reboot by making sure an important package isn’t removed. I think most of the problems comes from app_server seeing the font files disapear, at least that’s the most visible effect.

again, thanks, everyone, for the work. there’s a kind of intense devaluation of labor at play here and on the haikuware post and i’m sorry to have contributed to it in this thread. this isn’t an official release, even the paid contracts aren’t really great pay and most everyone’s working for free, this operating system still does things that others are finally getting around to implementing (i.e. streaming video between apps) and i’m totally new to all of this, built from the labor of a handful of people over the course of a decade almost entirely from scratch. so much of it makes more sense than any other environment i’ve worked in, even if it is still rough around the edges, and package management of some sort is absolutely necessary, not just for making apps easier to find and install, but to facilitate a smooth update of the system over time. thanks, everyone, for what you’re doing, and for also lending advice when i’ve needed help.

Over the last several weeks I have been reading posts in this forum and in the mailing list about certain aspects of Package Management and its implementation. Between issues with read only directories and the removal of /boot/common, there has been much heated debate!

I am not going to complain about this problem or another for one simple reason. Package management is still very much a work in progress. I realize that all of the old legacy software will probably need to be repackaged. Instead of drag and drop to/boot, all software will need to be packaged and installable from the PM deamon. That is after all the overall goal of this work, isn’t it?

It just seems to me that with this work in package management, Haiku is moving away from drag and drop installation of software to a managed and centralized method. Once all the software is repackaged and placed in the right repo, it will be litteraly one click installed and configured to work properly!

While I do have concerns with the removal of /common and backwards compatibility with BeOS and older Haiku software, I will wait until the work is finnished before complaining about possible breakages in a piece of software that is still unreleased and still in alpha stage.

Keep up the good work and lets stay positive!

As for the ability to drag and drop software to install, that is how software is installed with package management. Through one means or another a HPKG file is transferred onto the computer and copied into one of several directories. Software installed. The real beauty is being able to drag and drop the HPKG out of the watched directories to do an un-install!

HaikuDepot and PM, in general, rate a very high score relative to the “unzip in /boot” scenario. Kudos to the devs! Minix3 (until the last couple revs) was still an “unzip to root” package management system. So, PM tends to the the last thing. Oh well. The Minix3 folk cobbled together a NetBSD borne pkgsrc solution, but it’s not nearly so pretty as Haiku’s new package management system. Congrats to all!

One thing I’m wondering about. Currently (as of h46279), double clicking a HPKG file opens the archive util. Should it open an installer dialog instead?

Maybe it should give the user a choice…

You should perhaps file an enhancement ticket on Trac.

I agree that we need a package management system, and the developers did a great work on this. But the package management did brought some confusion.
I think it’s a good idea that keep home directory editable, while keep system folder read only to protect system level security.
BTW, I think it’s better to keep freedom and customation while to improve simplicity.

Well yes, these are valid concerns. But remember at least some of the developers are also regular users. I’m perfectly fine with people telling us that this or that app was brokne by one of our changes, and we’ll always try - and usually succeed - in finding a solution or at least a workaround.

There is ongoing effort at HaikuArchives to host as much of the open source apps for BeOS and make them work in Haiku as best as possible, turning them into package, fixing some bugs in the apps, and also finding problems in the system; this is a positive way to tackle the problem and gives amazing results. We even got some formerly closed source apps to be released: Sawteeth is an example of this, as well as Slayer (a Team Monitor replacement), and a few others.

I’m doing my best to help people keep in control of things by pointing them at the documentation - and there also has been some great effort writing some articles here at the website to help people learn about the new way to do things.

One thing that makes me a bit more agressive is people trying to spread FUD around changes such as the package manager, trying to tell people it will break all your apps, eat your children and steal your data or whatever. I will admit that there are problems, and that’s even the main reason we haven’t done a PM enabled release yet. But, what we need is people actually testing the system, trying to run their favorite apps, and reporting problems as they find them. This includes non-working apps, but also lack of documentation, or things you think are too complicated and could be made better - we want to hear from users to make things actually work. To make this successful, take the time to document your experience and reasoning, and instead of just saying “this is crap”, also take the time to think about what a better solution could be. We can’t have everyone agree on everything, but we can discuss the issues and try to explain why the system ended up the way it is. And sometimes we’ll agree the users are right :slight_smile:

The way I see it, the “problem” is that Haiku is now progressing beyond just being a clone of BeOS, and that scares some people. The new package management system is probably the most noticable change from how we were used to doing things in BeOS, and some users are not quite sure where the developers are going with it. Some users are probably worried that their favorite apps will be relegated to the dust bin, on account of the new packaging system, or that they will have lost control of how they manage their PC. I think these are all valid concerns, and should not be construed as criticism by the developers.
I think we are all grateful for the amount of time and work that has gone into Haiku.

[quote=PulkoMandy]There is a blacklist file that allows excluding files from packages: https://www.haiku-os.org/blog/barrett/2013-12-15_how_permanently_blacklist_package_file

Ok, this is slightly more complicated than removing the file, but it also avoids unrecoverable modifications to the system.[/quote]

Nice, didn’t know. I don’t mind having it complicated :slight_smile:

Did somebody test the package manager lately? I’m waiting for the self-system-update and I’m curious if progress in that direction has been made.

I don’t think that hasn’t been tackled yet, but now that Oliver is back, I hope we’ll see some development in that direction.
You could try mmu_man’s myupdate.sh. not sure how well it works, however.

Regards,
Humdinger

I can’t use the OSS sound drivers with the latest nightlies. That last one I tried was hrev46596.

The old tried-and-true method was, after installing a nightly, go to /boot/system/add-ons/kernel/drivers/bin/
and rename ‘hda’ to ‘hda.disabled’.

With the new PM stuff, I can’t do this anymore. That direcctory is read-only and I can’t apply the workaround.

Of course, the only reason for the workaround was the IRQ conflict problem, so if that had been resolved… then good enough.
Unfortunately, that doesn’t appear to be fixed either, as I have no sound.

I could remove the OSS driver and use the hda driver, but there’s a reason that I don’t – it sounds terrible (grainy). Which is why I installed the OSS drivers in the first place.

So I’m back to using a stock Alpha4 again. Every nightly that I’ve tried in the last (I dunno) six or eight months has had regressions that I can’t live with. Bummer, as it appears that WebPositive is running about 100X better on the latest version. But I can’t live without sound (or with the other regressions).

And the new “tried and true” method was mentioned just a few comments up by Pulkomandy:

If anything, the new method is cleaner, as you don’t have to rename files, you just configure the driver to be “blacklisted” on your installation.

The home folder is indeed still writable, and so is home/config/settings, and home/config/non-packaged. The latter has all the usual directories (bin, data, …) and you can mess with it if you wish so.

I don’t see how moving stuff to the non-packaged folder can be so much of a problem.

It’s a little bit harder to remove a non functinal driver, for example a partial funtional grafic card and you want to use vesa mode :slight_smile:

But then if this are the best way to do it then we have to live with it and find other ways to handle that type of problem. :slight_smile:

There is a blacklist file that allows excluding files from packages: https://www.haiku-os.org/blog/barrett/2013-12-15_how_permanently_blacklist_package_file

Ok, this is slightly more complicated than removing the file, but it also avoids unrecoverable modifications to the system.