View previous topic :: View next topic |
Author |
Message |
Avuton Olrich Tux's lil' helper
Joined: 02 Jul 2004 Posts: 114
|
Posted: Thu Nov 23, 2006 1:03 pm Post subject: update-live-ebuilds |
|
|
For a long time I had been looking for a way to keep my live ebuilds updated without unnecessarily emerging. I've made a small program to do just what I was looking for. It's called update-live-ebuilds.
You can either grab it from the mpd-portage overlay (also in layman) or grab the ebuild here and put it in your overlay.
When the last of the unstable updates are ready, this package will go into feature freeze. I have added every feature I'm interested in adding. I don't intend any other feature additions, as I'm happy with where update-live-ebuilds at, at this moment. After some time and stabilization, this package may be released as a stable tarball or submitted for gentoolkit inclusion.
If you have problems, check the man page, please reply here, or pick one of the many other ways to get a hold of me.
Some features:
* svn, git, cvs, darcs, mercurial, bazaar (3rd party ebuild) and tla scm support.
* Supports slotted ebuilds.
* Attempts direct communication with the SCM remote server, if possible (also known as PEEK support).
* Checking specific ebuilds to see if check for updates.
* Automatically finding of all live ebuilds.
* Automatically discover weather permission dropping is necessary, and what to.
* Optional masking of live ebuilds to make sure update-live-ebuilds doesn't attempt to update them.
* Optionally, asks the user before installation of specific ebuilds.
* Optionally, and by default, detects the package manager last used for installation and uses it for reemerge if the repository has been updated.
* Optionally, logs package time and revision (unstable branch only).
* Can report all packages, time and revision, being tracked by ule (unstable branch only).
* Optionally, set a number of days between update attempts.
* Allows the user to bootstrap to inject a package into the ule database and prevent unneeded reemerge. This can be done automatically (unstable branch only).
* Sane defaults, 99% of users should not need to edit the configuration file.
* No known bugs! Honest, I don't know of any and actually look forward to tackling any that are found.
Flame on!
Update: Fixed ebuild link
Update 2: Refixed the ebuild link
Update 3: Fixed the URL in the ebuild
Update 4: Update for newer features.
Update 5: Clarity, and no bugs! Not Darcs but TLA also.
Update 6: Add deferred update support.
Update 7: Add new release information.
Update 8: Add feature freeze/stabilization information.
Last edited by Avuton Olrich on Tue Jan 15, 2008 3:31 pm; edited 13 times in total |
|
Back to top |
|
|
PaulBredbury Watchman
Joined: 14 Jul 2005 Posts: 7310
|
Posted: Thu Nov 23, 2006 2:04 pm Post subject: |
|
|
Your direct link needs e.g. a .com added |
|
Back to top |
|
|
Avuton Olrich Tux's lil' helper
Joined: 02 Jul 2004 Posts: 114
|
Posted: Thu Nov 23, 2006 2:10 pm Post subject: |
|
|
Thanks, fixed. |
|
Back to top |
|
|
Beinii n00b
Joined: 21 Sep 2006 Posts: 46 Location: Salo, Finland
|
Posted: Mon Nov 27, 2006 8:04 am Post subject: |
|
|
Great Work!
Works fine so far... |
|
Back to top |
|
|
Avuton Olrich Tux's lil' helper
Joined: 02 Jul 2004 Posts: 114
|
Posted: Wed Apr 11, 2007 2:23 am Post subject: update-live-ebuilds update |
|
|
Wanted to bump this thread,
for those that have tried before, it's worth trying again
Since last post it now supports:
Paludis, pkgcore and portage
Stores it's own database
Much faster.*
Much more I've since forgotten.
Please note, the first time you run it, I recommend you running it with update-live-ebuilds -ab (see man for more information).
* if not using pkgcore |
|
Back to top |
|
|
zietbukuel l33t
Joined: 30 Dec 2005 Posts: 607
|
Posted: Wed Apr 11, 2007 6:53 am Post subject: |
|
|
I want to install this, but I get this error:
Code: | emerge update-live-ebuilds
>>> cfg-update-1.8.0-r6: No new packages have been emerged, checksum index OK!
These are the packages that would be merged, in order:
Calculating dependencies... done!
[ebuild N ] app-portage/update-live-ebuilds-0.1 0 kB [1]
Total: 1 package (1 new), Size of downloads: 0 kB
Portage overlays:
[1] /home/ziet/Portage
[2] /usr/local/layman/xeffects
Would you like to merge these packages? [Yes/No]
>>> Verifying ebuild Manifests...
>>> Emerging (1 of 1) app-portage/update-live-ebuilds-0.1 to /
* checking ebuild checksums ;-) ... [ ok ]
* checking auxfile checksums ;-) ... [ ok ]
* checking miscfile checksums ;-) ... [ ok ]
>>> Unpacking source...
* git clone start -->
* repository: git://olricha.homelinux.net/var/git/update-live-ebuilds.git
Initialized empty Git repository in /usr/portage/distfiles/git-src/update-live-ebuilds/
fatal: The remote end hung up unexpectedly
fetch-pack from 'git://olricha.homelinux.net/var/git/update-live-ebuilds.git' failed.
!!! ERROR: app-portage/update-live-ebuilds-0.1 failed.
Call stack:
ebuild.sh, line 1614: Called dyn_unpack
ebuild.sh, line 751: Called qa_call 'src_unpack'
ebuild.sh, line 44: Called src_unpack
ebuild.sh, line 1304: Called git_src_unpack
git.eclass, line 287: Called git_fetch
git.eclass, line 195: Called die
!!! git.eclass: can't fetch from git://olricha.homelinux.net/var/git/update-live-ebuilds.git.
!!! If you need support, post the topmost build error, and the call stack if relevant.
!!! A complete build log is located at '/var/log/portage/app-portage:update-live-ebuilds-0.1:20070411-065229.log'.
!!! This ebuild is from an overlay: '/home/ziet/Portage' |
|
|
Back to top |
|
|
Avuton Olrich Tux's lil' helper
Joined: 02 Jul 2004 Posts: 114
|
Posted: Wed Apr 11, 2007 12:28 pm Post subject: |
|
|
zietbukuel wrote: | I want to install this, but I get this error: |
Very sorry, fixed the URL in the ebuild |
|
Back to top |
|
|
_pF_ Apprentice
Joined: 22 Apr 2004 Posts: 195 Location: Central London
|
Posted: Wed Apr 11, 2007 1:27 pm Post subject: |
|
|
Avuton Olrich wrote: | zietbukuel wrote: | I want to install this, but I get this error: |
Very sorry, fixed the URL in the ebuild |
The ebuild is still wrong in the overlay. |
|
Back to top |
|
|
Dottout l33t
Joined: 07 Mar 2006 Posts: 882
|
Posted: Wed Apr 11, 2007 2:57 pm Post subject: |
|
|
Hi, great job
what about something like an '--ask' option? big sw usually have daily-but-not-always-vital updates despite a very long compile time.. (I suppose to be not the only one running e.g. firefox\thunderbird cvs versions ) |
|
Back to top |
|
|
Avuton Olrich Tux's lil' helper
Joined: 02 Jul 2004 Posts: 114
|
Posted: Thu Apr 12, 2007 1:01 am Post subject: |
|
|
_pF_ wrote: | Avuton Olrich wrote: | zietbukuel wrote: | I want to install this, but I get this error: |
Very sorry, fixed the URL in the ebuild |
The ebuild is still wrong in the overlay. |
Thanks, and whoops Thought I fixed that before, must have reverted before I pushed it. |
|
Back to top |
|
|
Avuton Olrich Tux's lil' helper
Joined: 02 Jul 2004 Posts: 114
|
Posted: Thu Apr 12, 2007 1:05 am Post subject: |
|
|
Dottout wrote: | Hi, great job
what about something like an '--ask' option? big sw usually have daily-but-not-always-vital updates despite a very long compile time.. (I suppose to be not the only one running e.g. firefox\thunderbird cvs versions ) |
Actually, try to keep it as simple/smart as possible, so that should work perfectly in EMERGE_EXT_OPTS in /etc/update-live-ebuilds.conf, please inform if it doesn't. |
|
Back to top |
|
|
Avuton Olrich Tux's lil' helper
Joined: 02 Jul 2004 Posts: 114
|
Posted: Thu Apr 12, 2007 2:39 am Post subject: |
|
|
Dottout wrote: | Hi, great job
what about something like an '--ask' option? big sw usually have daily-but-not-always-vital updates despite a very long compile time.. (I suppose to be not the only one running e.g. firefox\thunderbird cvs versions ) |
I take back my last statement; I'm going to implement a /etc/update-live-ebuilds.ask so you can individually throw the ones in there you want to manually ask about. |
|
Back to top |
|
|
Avuton Olrich Tux's lil' helper
Joined: 02 Jul 2004 Posts: 114
|
Posted: Thu Apr 12, 2007 3:12 am Post subject: |
|
|
Dottout wrote: | Hi, great job
what about something like an '--ask' option? big sw usually have daily-but-not-always-vital updates despite a very long compile time.. (I suppose to be not the only one running e.g. firefox\thunderbird cvs versions ) |
OK, please
Code: | update-live-ebuilds -a app-portage/update-live-ebuilds |
do an etc update, add your pkgspec to /etc/update-live-ebuilds.ask, for example
Code: | echo 'www-client/mozilla-firefox' > /etc/update-live-ebuilds.ask |
Then try it, should work oob.
it's in the repo now, please test out and tell me what happens. Thanks |
|
Back to top |
|
|
s.hase Apprentice
Joined: 19 Nov 2004 Posts: 293
|
Posted: Tue Aug 21, 2007 11:31 pm Post subject: |
|
|
Great script, but I have a little problem with it. I use three selfwritten live ebuilds. If I run update-live-ebuilds I get:
Code: |
sulaco etc # update-live-ebuilds
Attempting to check if games-engines/scummvm-tools needs an update.
Attempting to check if games-engines/freesci needs an update.
Package (games-engines/scummvm) has a duplicate!
Attempting to check if app-portage/update-live-ebuilds-live needs an update.
Update complete
Cleaning ULE database
|
The Problem is games-engines/scummvm, why the script means it has a duplicate? Can my ebuild can be the fault?
Code: |
sulaco etc # eix scummvm
[I] games-engines/scummvm
Available versions: 0.9.1 (~)0.10.0 (~)9999[1] {alsa cruise debug drascula flac fluidsynth lure mp3 ogg vorbis zlib}
Installed versions: 9999[1](21:52:58 21.08.2007)(alsa cruise -debug drascula flac fluidsynth lure mp3 ogg vorbis zlib)
Homepage: http://scummvm.sourceforge.net/
Description: Reimplementation of the SCUMM game engine used in Lucasarts adventures
[I] games-engines/scummvm-tools
Available versions: 0.9.0 (~)9999[1]
Installed versions: 9999[1](20:29:24 21.08.2007)
Homepage: http://scummvm.sourceforge.net/
Description: utilities for the SCUMM game engine
[1] /usr/local/portage
Found 2 matches.
|
Regards
Sebastian |
|
Back to top |
|
|
Avuton Olrich Tux's lil' helper
Joined: 02 Jul 2004 Posts: 114
|
Posted: Wed Aug 22, 2007 1:10 am Post subject: |
|
|
s.hase wrote: | Great script, but I have a little problem with it. I use three selfwritten live ebuilds. If I run update-live-ebuilds I get:
Code: |
sulaco etc # update-live-ebuilds
Attempting to check if games-engines/scummvm-tools needs an update.
<snip>
Package (games-engines/scummvm) has a duplicate!
<snip>
|
|
Wow, that's some really dodgy stuff I did there before and told myself I would replace it at a later date . It is fixed in git, Thanks for the bug report! |
|
Back to top |
|
|
s.hase Apprentice
Joined: 19 Nov 2004 Posts: 293
|
Posted: Wed Aug 22, 2007 1:13 am Post subject: |
|
|
Thanks for the quick fix! Works now.
Regards
Sebastian |
|
Back to top |
|
|
Avuton Olrich Tux's lil' helper
Joined: 02 Jul 2004 Posts: 114
|
Posted: Sat Sep 01, 2007 11:35 pm Post subject: Before you have problems... |
|
|
Before you have any problems the update-live-ebuilds configuration file defaults have all been moved.
The user generated files format have gone unchanged, so you will need to move them manually, ule.conf will be installed, so it too can be removed from /etc/update-live-ebuilds.conf. For more information on how to generate the user files see man 8 update-live-ebuilds
/etc/ule
ule.conf -- Generated and installed by default
ule.mask -- User generated
ule.date -- User generated
ule.ask -- User generated
Sorry for any inconvenience, but with the growing number of files organization is good. |
|
Back to top |
|
|
PierreY n00b
Joined: 12 May 2005 Posts: 63
|
Posted: Wed Sep 12, 2007 8:19 pm Post subject: |
|
|
Hello,
I have a problem with update-live-ebuilds. I run into a Segmentation Fault :
# update-live-ebuilds -ab
Attempting to check if...
..
Update complete
Cleaning ULE database
# update-live-ebuilds -a
Attempting to check if dev-libs/soprano needs an update.
Emerging all, reemerging
Segmentation fault <= (in french : Erreur de segmentation)
I tried to unmerge/reemerge update-live-ebuilds-live so I'm sure I have the latest GIT version installed.
Any idea ? |
|
Back to top |
|
|
s.hase Apprentice
Joined: 19 Nov 2004 Posts: 293
|
Posted: Wed Sep 12, 2007 8:52 pm Post subject: |
|
|
Same problem here:
Code: |
sulaco ~ # update-live-ebuilds
Attempting to check if games-engines/scummvm-tools needs an update.
Attempting to check if games-engines/freesci needs an update.
Attempting to check if games-engines/scummvm needs an update.
Speicherzugriffsfehler
|
dmesg:
Code: |
sulaco ~ # dmesg | tail -n 1
update-live-ebu[30733]: segfault at 00007fff0bdbbff8 rip 0000000000427b38 rsp 00007fff0bdbc000 error 6
|
Regards
Sebastian |
|
Back to top |
|
|
Avuton Olrich Tux's lil' helper
Joined: 02 Jul 2004 Posts: 114
|
Posted: Wed Sep 12, 2007 11:21 pm Post subject: |
|
|
PierreY wrote: | Hello,
I have a problem with update-live-ebuilds. I run into a Segmentation Fault :
# update-live-ebuilds -ab
Attempting to check if...
..
Update complete
Cleaning ULE database
# update-live-ebuilds -a
Attempting to check if dev-libs/soprano needs an update.
Emerging all, reemerging
Segmentation fault <= (in french : Erreur de segmentation)
I tried to unmerge/reemerge update-live-ebuilds-live so I'm sure I have the latest GIT version installed.
Any idea ? |
OK I need a bisect to say where things went wrong here. I've got 3 computers and this doesn't reproduce on any of them. Please someone use git-bisect and tell me where things went wrong:
1) git-clone git://repo.or.cz/ule.git
2) cd ule
3) git-bisect start master 3e4cade1fdb626b60f90af443105f7c3fa9d2781
4) Here you run sudo ./update-live-ebuilds
1) If the current commit is good run: git-bisect good
2) If the current commit still segfaults run: git-bisect bad
Do this until it tells you which one is the one it begins to fail on
(should only take a few runs) and I will surely figure out the problem
from there one given the bad commit.
Also, from what I'm hearing, this only segfaults on specific ebuilds, try masking the bad one when not testing so it's still somewhat usable
Thanks |
|
Back to top |
|
|
Avuton Olrich Tux's lil' helper
Joined: 02 Jul 2004 Posts: 114
|
Posted: Thu Sep 13, 2007 12:28 pm Post subject: |
|
|
OK, found the bug, it was really dumb , thanks for all the bug reports. |
|
Back to top |
|
|
s.hase Apprentice
Joined: 19 Nov 2004 Posts: 293
|
Posted: Thu Sep 13, 2007 12:31 pm Post subject: |
|
|
Fine that you found it.
Last night I tried out your instructions to help finding the bug.
Quote: |
1) git-clone git://repo.or.cz/ule.git
2) cd ule
3) git-bisect start master 3e4cade1fdb626b60f90af443105f7c3fa9d2781
4) Here you run sudo ./update-live-ebuilds
1) If the current commit is good run: git-bisect good
2) If the current commit still segfaults run: git-bisect bad
|
Until point four, no problem. It segfaultet. Then I run git-bisect bad. Should there come any output? |
|
Back to top |
|
|
Avuton Olrich Tux's lil' helper
Joined: 02 Jul 2004 Posts: 114
|
Posted: Thu Sep 13, 2007 12:34 pm Post subject: |
|
|
s.hase wrote: | Fine that you found it.
Last night I tried out your instructions to help finding the bug.
Quote: |
1) git-clone git://repo.or.cz/ule.git
2) cd ule
3) git-bisect start master 3e4cade1fdb626b60f90af443105f7c3fa9d2781
4) Here you run sudo ./update-live-ebuilds
1) If the current commit is good run: git-bisect good
2) If the current commit still segfaults run: git-bisect bad
|
Until point four, no problem. It segfaultet. Then I run git-bisect bad. Should there come any output? |
Yeah, the problem is completely gone. All you need to do now is update, don't worry about the git-bisect.
(the answer would have been to run the program again to see if it segfaults still, then rerun as good/bad)
Thanks! |
|
Back to top |
|
|
PierreY n00b
Joined: 12 May 2005 Posts: 63
|
Posted: Thu Sep 13, 2007 10:10 pm Post subject: |
|
|
Hi,
I updated ULE and it works like a charm now many thanks and tons of congrats for this piece of useful code
Thank you very much. |
|
Back to top |
|
|
Avuton Olrich Tux's lil' helper
Joined: 02 Jul 2004 Posts: 114
|
Posted: Sat Sep 22, 2007 12:30 am Post subject: |
|
|
For anyone who might be interested, I have been working in the unstable branch for a while now to attempt at preventing the show stoppers from hitting everyone. If you're interested in it, copy your ule ebuild to a local overlay and add Code: | EGIT_BRANCH="unstable" | to it to see the latest.
One thing I've been working on is clarifying comments, documentation and the config file. To start off I have removed a few of the unnecessary options in ule.conf, man page has alot more information, and the program itself it pretty much fully commented.
Another thing I'm always working on is speed. I've removed (quite a few) regular expressions in paths where they would have been used about 5 times (or greater) per ebuild.
I have been working on adding peek support: This is a mode that will be default in the master branch as soon as I feel that it's nice and tidy. This will cost much less in bandwidth as it prefers update detection directly with the remote repository rather than updating to detect updates. The old mode will probably stay, as I may need it for baseline support, anyhow. If you encounter any problems edit /etc/ule/ule.conf and change
to and let me know the problem.
So far the SCMs that don't support PEEK are:
CVS - CVS really has no method of communicating with the remote server directly to detect updates. I need some way to detect updates directly with a remote host that I can do to a local repository as well, which I've spent alot of time thinking about but have not come up with anything.
TLA - It would probably support peek, but it's such a complex CLI every time I look at it my brain turns to mush.
Things are pretty much ready to merge back. I'm going to use unstable for about a week, it will probably be merged back on the 4th or 5th of October.
Update 1: Depreciated Bazaar; until I find a bazaar ebuild I'm not attempting to take care of it; leave note about mercurial.
Update 2: Undepreciated Bazaar; added PEEK support. More informaton.
Update 3: Discovered a way to add mercurial PEEK support. |
|
Back to top |
|
|
|