[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [RFC] userdeb - user accounts as .debs



Hi Mark,

* [17.05.09 01:35]:
> My goal or use case is not entirely limited to "duplicating _my_ user
> environment across different machines" as I wrote above. I am actualy
> seeking the ability to package up the environment of any user on any
> machine. What that gives me is a quick path to productivity after a
> clean install *and* a kind of a backup *and* the ability to _integrate_
> an environment regardless of which system it is, and not just for _my_
> account. I apologise for not explaining this better in my first mail,
> although I'm not sure this is an improvement :-(
That did came out in your previous mail, no worries. I just wanted to show you
my solution to maybe show you some advantages/other ideas.

> It is a key difference though: You start with a central repository
> which is distributed ('git pulled' if you like) to existing user
> accounts with no possibility of Debian actions (git hooks instead?),
> and I start with the user accounts -> to create the copy, which can be
> reinstalled where desired with proper postinst scripts.
Actually, the configuration files were moved to the git from my home
directory, and this could be automated of course.

> You have quite a high setup cost - the manual creation of the remote
> respository, which is also a dependency outside the package system.
Correct. But the high setup cost pays off pretty soon as you probably know
after using configurations and modifying them across different systems.

> Your essentials package was no doubt written painstakingly by hand. If
That one is wrong, however. There is dh_make, so you just run that and throw
out stuff you don’t need. I created the package in like half an hour. Creating
the symlink-script (initialize.sh) took a bit longer than that, though.

> someone else wants to make use of your work they have to copy your
> repos, learn your code, patch in their changes and so on, and they
> won't receive the benefit of any future changes you make. I'm trying to
> make this a generic solution that doesn't require a user or
> administrator to delve into the policy manual, and that still
> completely works within the package system.
Yes, that’s a good idea, no doubt. I’d like to have a one-command-solution
which takes care of everything:
- Copy configuration files to a revision control system.
- Create a custom debian package with the necessary dependencies.
  (dh_make may be helpful)
- Create a debian repository which you can easily upload to your website.
  (probably by using apt-ftparchive or reprepro)

> Interesting idea though with fetching/storing configuration files via a
> revision control system. I think it would be worthwhile investigating
> the use of branches to capture the differences between hosts.
I decided against that in the first place because the actual differences
between the hosts are so minimal (at least in my case) that they can be better
managed by source-ing the file in the zshrc or xsession for example. Just
putting the files into a host-specific folder reduces maintenance. If you know
a really easy solution to the following scenario, I’d be delighted to hear
about it, though:
- have one branch for each computer (let’s say i’d use 15 different ones)
- make a change i want to have on every computer
I would now commit it on the master-branch and then use git cherry-pick on
each other branch. Is there a better way?

Best regards,
Michael


Reply to: