• Re: [gentoo-user] How to degrade Gentoo system with webrsync method?

    From Arve Barsnes@21:1/5 to gevisz on Sun Jan 9 13:10:02 2022
    On Sun, 9 Jan 2022 at 12:48, gevisz <gevisz@gmail.com> wrote:
    The problem is that I do not know how to sync my Gentoo repository
    to the state it was on 12-12-2021.

    I use webrsync sync method via "maint -A sync" and would prefer
    to use the same sync method for degrading my Gentoo system.

    Can anybody, please, tell me how to do it using this sync method?

    This is probably not possible at all using any of the tools available.
    These tools only support downloading the latest snapshot to get you up
    to date. Additionally, most mirrors only keep snapshots of the last 7
    days or so, so it would take some (possibly futile) effort to find a
    snapshot of the date you need.

    The only option, as far as I ca nsee, is to migrate your portage tree
    to git, where you can specify a commit that you want to sync to from
    the wanted day.

    The better option would of course be to figure out why your tensorflow
    compiles keeps failing, if that is possible.

    Regards,
    Arve

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From gevisz@21:1/5 to All on Sun Jan 9 12:50:01 2022
    I constantly have problems with updating/recompiling tensorflow.
    Sometimes, it compiles ok but most of the time it is not.
    The last time when it failed to recompile was on 30-12-2021.
    I reported this in the thread "tensorflow-2.5.0-r1 compilation failed"

    So, I decided to degrade my Gentoo system to the state in which
    it was on 12-12-2021, when my tensorflow was still ok, and froze it forever.

    The problem is that I do not know how to sync my Gentoo repository
    to the state it was on 12-12-2021.

    I use webrsync sync method via "maint -A sync" and would prefer
    to use the same sync method for degrading my Gentoo system.

    Can anybody, please, tell me how to do it using this sync method?

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From gevisz@21:1/5 to All on Sun Jan 9 13:20:01 2022
    вс, 9 янв. 2022 г. в 14:08, Arve Barsnes <arve.barsnes@gmail.com>:

    On Sun, 9 Jan 2022 at 12:48, gevisz <gevisz@gmail.com> wrote:
    The problem is that I do not know how to sync my Gentoo repository
    to the state it was on 12-12-2021.

    I use webrsync sync method via "emaint -A sync" and would prefer
    to use the same sync method for degrading my Gentoo system.

    Can anybody, please, tell me how to do it using this sync method?

    This is probably not possible at all using any of the tools available.
    These tools only support downloading the latest snapshot to get you up
    to date. Additionally, most mirrors only keep snapshots of the last 7
    days or so, so it would take some (possibly futile) effort to find a
    snapshot of the date you need.

    The only option, as far as I can see, is to migrate your portage tree
    to git, where you can specify a commit that you want to sync to from
    the wanted day.

    It is a pity, but thank you for the answer.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dale@21:1/5 to gevisz on Sun Jan 9 13:50:02 2022
    gevisz wrote:
    вс, 9 янв. 2022 г. в 14:08, Arve Barsnes <arve.barsnes@gmail.com>:
    On Sun, 9 Jan 2022 at 12:48, gevisz <gevisz@gmail.com> wrote:
    The problem is that I do not know how to sync my Gentoo repository
    to the state it was on 12-12-2021.

    I use webrsync sync method via "emaint -A sync" and would prefer
    to use the same sync method for degrading my Gentoo system.

    Can anybody, please, tell me how to do it using this sync method?
    This is probably not possible at all using any of the tools available.
    These tools only support downloading the latest snapshot to get you up
    to date. Additionally, most mirrors only keep snapshots of the last 7
    days or so, so it would take some (possibly futile) effort to find a
    snapshot of the date you need.

    The only option, as far as I can see, is to migrate your portage tree
    to git, where you can specify a commit that you want to sync to from
    the wanted day.
    It is a pity, but thank you for the answer.



    I'm not sure if I'm understanding completely the problem here but
    thought I'd suggest something.  Can you not just mask newer versions of
    the package so emerge won't update it until you are ready?  I do that sometimes here.  I've did it with smplayer at one point because some
    changes broke things for me.  I kept it from upgrading for months until
    things got fixed.  I then removed the mask, while keeping the old ebuild
    and even a binary of the package, and allowed emerge to upgrade
    smplayer.  At that point, things worked for me that didn't before.

    The only downside to this, things your package depends on may go past
    what your package supports and you run into issues.  As the other person
    said, it's best to figure out why your package fails and fix that, then
    you can worry about new problems.  ;-)  Masking the newer version may
    work at least in the meantime tho.  Give you time to sort out the failure. 

    Just a thought. 

    Dale

    :-)  :-) 

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From gevisz@21:1/5 to All on Sun Jan 9 14:20:01 2022
    вс, 9 янв. 2022 г. в 14:43, Dale <rdalek1967@gmail.com>:

    gevisz wrote:
    вс, 9 янв. 2022 г. в 14:08, Arve Barsnes <arve.barsnes@gmail.com>:
    On Sun, 9 Jan 2022 at 12:48, gevisz <gevisz@gmail.com> wrote:
    The problem is that I do not know how to sync my Gentoo repository
    to the state it was on 12-12-2021.

    I use webrsync sync method via "emaint -A sync" and would prefer
    to use the same sync method for degrading my Gentoo system.

    Can anybody, please, tell me how to do it using this sync method?
    This is probably not possible at all using any of the tools available.
    These tools only support downloading the latest snapshot to get you up
    to date. Additionally, most mirrors only keep snapshots of the last 7
    days or so, so it would take some (possibly futile) effort to find a
    snapshot of the date you need.

    The only option, as far as I can see, is to migrate your portage tree
    to git, where you can specify a commit that you want to sync to from
    the wanted day.
    It is a pity, but thank you for the answer.

    I'm not sure if I'm understanding completely the problem here but
    thought I'd suggest something. Can you not just mask newer versions of
    the package so emerge won't update it until you are ready? I do that sometimes here. I've did it with smplayer at one point because some
    changes broke things for me. I kept it from upgrading for months until things got fixed. I then removed the mask, while keeping the old ebuild
    and even a binary of the package, and allowed emerge to upgrade
    smplayer. At that point, things worked for me that didn't before.

    The only downside to this, things your package depends on may go past
    what your package supports and you run into issues. As the other person said, it's best to figure out why your package fails and fix that, then
    you can worry about new problems. ;-) Masking the newer version may
    work at least in the meantime though. Give you time to sort out the failure.

    Thank you for your reply, Dale.

    Yes, masking some new package can work in this case.

    However, it is not so easy as it may seem because it is not the new
    version of tensorflow that I should mask in my case as on the day
    when the tensorflow recompilation failed its version remained the same
    and only some of its dependencies were supposed to be upgraded.

    Of course, I may try this approach. However, tensorflow is not
    considered stable in gentoo tree and it has a lot of dependencies
    that are also not considered stable and should be unmasked.

    All this leads to a large number of possible choices on
    which packages to mask/unmask.

    So, playing with this is like playing in a casino with about
    4 hours of compilation for each bet.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Dale@21:1/5 to gevisz on Sun Jan 9 14:40:01 2022
    gevisz wrote:
    вс, 9 янв. 2022 г. в 14:43, Dale <rdalek1967@gmail.com>:
    gevisz wrote:
    вс, 9 янв. 2022 г. в 14:08, Arve Barsnes <arve.barsnes@gmail.com>: >>>> On Sun, 9 Jan 2022 at 12:48, gevisz <gevisz@gmail.com> wrote:
    The problem is that I do not know how to sync my Gentoo repository
    to the state it was on 12-12-2021.

    I use webrsync sync method via "emaint -A sync" and would prefer
    to use the same sync method for degrading my Gentoo system.

    Can anybody, please, tell me how to do it using this sync method?
    This is probably not possible at all using any of the tools available. >>>> These tools only support downloading the latest snapshot to get you up >>>> to date. Additionally, most mirrors only keep snapshots of the last 7
    days or so, so it would take some (possibly futile) effort to find a
    snapshot of the date you need.

    The only option, as far as I can see, is to migrate your portage tree
    to git, where you can specify a commit that you want to sync to from
    the wanted day.
    It is a pity, but thank you for the answer.
    I'm not sure if I'm understanding completely the problem here but
    thought I'd suggest something. Can you not just mask newer versions of
    the package so emerge won't update it until you are ready? I do that
    sometimes here. I've did it with smplayer at one point because some
    changes broke things for me. I kept it from upgrading for months until
    things got fixed. I then removed the mask, while keeping the old ebuild
    and even a binary of the package, and allowed emerge to upgrade
    smplayer. At that point, things worked for me that didn't before.

    The only downside to this, things your package depends on may go past
    what your package supports and you run into issues. As the other person
    said, it's best to figure out why your package fails and fix that, then
    you can worry about new problems. ;-) Masking the newer version may
    work at least in the meantime though. Give you time to sort out the failure.
    Thank you for your reply, Dale.

    Yes, masking some new package can work in this case.

    However, it is not so easy as it may seem because it is not the new
    version of tensorflow that I should mask in my case as on the day
    when the tensorflow recompilation failed its version remained the same
    and only some of its dependencies were supposed to be upgraded.

    Of course, I may try this approach. However, tensorflow is not
    considered stable in gentoo tree and it has a lot of dependencies
    that are also not considered stable and should be unmasked.

    All this leads to a large number of possible choices on
    which packages to mask/unmask.

    So, playing with this is like playing in a casino with about
    4 hours of compilation for each bet.




    As a starting point, check the ebuild and see what all packages are
    listed there that it depends on.  Put the needed entries in package.mask
    and then use your world upgrade command plus -p to see what emerge wants
    to upgrade.  Keep adding until it is reporting nothing to upgrade.  The packages in the ebuild should help save some time.  I can't think of a
    easier way to do it.  Someone else may have ideas tho.  Oh, don't forget
    the ">=" signs and to specify versions.  Can't recall if it matters
    which symbol comes first. 

    Hope that helps.

    Dale

    :-)  :-)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From gevisz@21:1/5 to All on Sun Jan 9 15:20:01 2022
    вс, 9 янв. 2022 г. в 15:40, Dale <rdalek1967@gmail.com>:

    gevisz wrote:
    вс, 9 янв. 2022 г. в 14:43, Dale <rdalek1967@gmail.com>:
    gevisz wrote:
    вс, 9 янв. 2022 г. в 14:08, Arve Barsnes <arve.barsnes@gmail.com>: >>>> On Sun, 9 Jan 2022 at 12:48, gevisz <gevisz@gmail.com> wrote:
    The problem is that I do not know how to sync my Gentoo repository >>>>> to the state it was on 12-12-2021.

    I use webrsync sync method via "emaint -A sync" and would prefer
    to use the same sync method for degrading my Gentoo system.

    Can anybody, please, tell me how to do it using this sync method?
    This is probably not possible at all using any of the tools available. >>>> These tools only support downloading the latest snapshot to get you up >>>> to date. Additionally, most mirrors only keep snapshots of the last 7 >>>> days or so, so it would take some (possibly futile) effort to find a >>>> snapshot of the date you need.

    The only option, as far as I can see, is to migrate your portage tree >>>> to git, where you can specify a commit that you want to sync to from >>>> the wanted day.
    It is a pity, but thank you for the answer.
    I'm not sure if I'm understanding completely the problem here but
    thought I'd suggest something. Can you not just mask newer versions of
    the package so emerge won't update it until you are ready? I do that
    sometimes here. I've did it with smplayer at one point because some
    changes broke things for me. I kept it from upgrading for months until
    things got fixed. I then removed the mask, while keeping the old ebuild >> and even a binary of the package, and allowed emerge to upgrade
    smplayer. At that point, things worked for me that didn't before.

    The only downside to this, things your package depends on may go past
    what your package supports and you run into issues. As the other person >> said, it's best to figure out why your package fails and fix that, then
    you can worry about new problems. ;-) Masking the newer version may
    work at least in the meantime though. Give you time to sort out the failure.
    Thank you for your reply, Dale.

    Yes, masking some new package can work in this case.

    However, it is not so easy as it may seem because it is not the new
    version of tensorflow that I should mask in my case as on the day
    when the tensorflow recompilation failed its version remained the same
    and only some of its dependencies were supposed to be upgraded.

    Of course, I may try this approach. However, tensorflow is not
    considered stable in gentoo tree and it has a lot of dependencies
    that are also not considered stable and should be unmasked.

    All this leads to a large number of possible choices on
    which packages to mask/unmask.

    So, playing with this is like playing in a casino with about
    4 hours of compilation for each bet.

    As a starting point, check the ebuild and see what all packages are
    listed there that it depends on. Put the needed entries in package.mask
    and then use your world upgrade command plus -p to see what emerge wants
    to upgrade. Keep adding until it is reporting nothing to upgrade. The packages in the ebuild should help save some time. I can't think of an easier way to do it. Someone else may have ideas thogh. Oh, don't forget the ">=" signs and to specify versions. Can't recall if it matters
    which symbol comes first.

    Thank you. I probably should also look into the emerge logs to see
    which of the tensorflow dependencies was updated the last time,
    when its recompilation failed.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Wol@21:1/5 to Dale on Sun Jan 9 15:50:02 2022
    On 09/01/2022 13:39, Dale wrote:
    As a starting point, check the ebuild and see what all packages are
    listed there that it depends on.  Put the needed entries in package.mask
    and then use your world upgrade command plus -p to see what emerge wants
    to upgrade.  Keep adding until it is reporting nothing to upgrade.  The packages in the ebuild should help save some time.  I can't think of a easier way to do it.  Someone else may have ideas tho.  Oh, don't forget the ">=" signs and to specify versions.  Can't recall if it matters
    which symbol comes first.

    Or do you want to use package.accept_keywords

    I had a package that was in testing, so I've ended up creating a file in
    there called - I think the package was avidemux so that's what it's
    called ...

    But in there it has the line(s)

    =package.version ~amd64

    I've deliberately used the "=" so for it, and every package it depends
    on, that version will be accepted. Aiui, if the stable version goes
    above that it will then upgrade to the stable version, so that my system
    will be pretty much just stable packages.

    I also made the mistake of doing

    ACCEPT_KEYWORDS="~amd64" emerge blah blah ...

    which upgraded glibc! So now I need to configure this to keep the
    current version of glibc and wait till the stable version goes past.

    Cheers,
    Wol

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Neil Bothwick@21:1/5 to Wol on Sun Jan 9 18:10:02 2022
    On Sun, 9 Jan 2022 14:46:17 +0000, Wol wrote:

    But in there it has the line(s)

    =package.version ~amd64

    I've deliberately used the "=" so for it, and every package it depends
    on, that version will be accepted. Aiui, if the stable version goes
    above that it will then upgrade to the stable version, so that my
    system will be pretty much just stable packages.

    I'd use ~ instead of = so it will accept -r1, -r2, etc. variants of that version, to pick up any bug fixes. Once one of those variants, or a
    higher version, becomes stable you'll be back on stable and
    eix-test-obsolete will let you know you can remove the entry.


    --
    Neil Bothwick

    Quality control, n.:
    Assuring that the quality of a product does not get out of hand
    and add to the cost of its manufacture or design.

    -----BEGIN PGP SIGNATURE-----

    iQIzBAEBCAAdFiEE8k9T/rX16EJxEKG692eFu0QSMJgFAmHbFogACgkQ92eFu0QS MJgvSQ//eCZbqodBYi+cnY4gUN7OzsdpoFCQSCZHaFfaZFF5rfhfGbATkojTih5j IRcedbcwOFNe9k3IaDlJ1eypcCItEJptaE7sQTnU8P4Lbrg1IOaX/NuElSy2+8Ml xP6irnaQu7+HB08BBQOMMAyMyccdE/3ttmrsx0qAYx/lXH3/MERD1ac3Q8E4vFLE ml2NxTtsFIZ86Nk2CXIzss1l44JP/CQgU3kp1R/yOag/9caQrvBOKnz1zrHZsV/6 61Aw2VRfzSECpQtqQMY5dxfHXegh2TJVz7muSjdW93GltdN8g9wsnirUUDsS8K0F DGSr9OjV5knX0kMLfkeT5IpnLSoQusnvsk/8t9b3ssxDPg2Guj2ezCTWetsd+H0q YSsfoFRcS0tOlsDu8fA7x+eVYNxGtVhetJ8uNAyw5/INT1A1oFnNz/f8P1Wr8mD8 4DBm/4GvZf8yelP107mIRU2f2ByGInPBZcQLDBtjqAd+Zfwp8zsHP8IcqapFBKVz fU5nbeceLS4DzUK9FtQFHSpNzccrNjWA3fvtmi4vo8oQjb4F4vcvrJA5OoPXTVMm Y5IL7gLGc1FgsTfzDU4+qakDYNSyH3W/h8ke9lA1tHysiaV3syXkIKfIt6rhv3ja XPjFEYJEjZStvRIwzCfgjSVzTUfEUd+sjHMd1HLlXWPkOPYcz9M=
    =GthZ
    -----END PGP SIGNATURE-----

    --- So
  • From Daniel Frey@21:1/5 to gevisz on Tue Jan 11 02:50:01 2022
    On 2022-01-09 05:13, gevisz wrote:
    Yes, masking some new package can work in this case.

    However, it is not so easy as it may seem because it is not the new
    version of tensorflow that I should mask in my case as on the day
    when the tensorflow recompilation failed its version remained the same
    and only some of its dependencies were supposed to be upgraded.

    Of course, I may try this approach. However, tensorflow is not
    considered stable in gentoo tree and it has a lot of dependencies
    that are also not considered stable and should be unmasked.

    All this leads to a large number of possible choices on
    which packages to mask/unmask.

    So, playing with this is like playing in a casino with about
    4 hours of compilation for each bet.


    So you know the date it last compiled and run successfully?

    If it was me, I'd build a manual list of dependencies (like Dale
    indicated), then install genlop and run `genlop -t` for each of the dependencies and the main package. It will tell you the versions that
    were built, and more importantly, the *date* they were built.

    You should be able to deduce what package versions were working with
    each other, but then the hard part: trying to figure out if those
    versions are still available. `eshowkw <package>` will tell you what's available in the tree, but if it isn't available, then it gets way
    harder as you have to try to find the old ebuilds with sources and
    possibly set up a local repo and pray those packages don't affect other installed packages.

    Dan

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Robert David@21:1/5 to gevisz on Wed Jan 19 14:00:02 2022
    Hi,

    to the downgrade thing it can be partly done using the squashfs portage snapshots laying on every portage mirror. There is a long history list
    there.

    https://gentoo.osuosl.org/snapshots/squashfs/

    So you can migrate your portage tree from plain files to the squashfs.

    But actually the real issue here is that you are modifying your live
    system with potentially broken things and than stay in a non working
    state. For stable binary distribution there is a very high probability
    that upgrade will pass correctly. But on gentoo the probability is much
    less. So it needs to be counted with.
    The easiest thing is to let the portage create binary packages from the
    ones that are unmerged and keep old portage squashfs at hand. This is
    still live system and I would not do that.
    Instead just use any filesystem for the root that allows you creating
    boot environments (zfs, btrfs, lvm).
    I have only experience with zfs, so creating boot environments is very
    easy and an atomic operation, where the upgrade only happen in a new BE
    until it is ready to go.
    Having BE setup correctly and squashfs images in it, provides you a
    consistent working environment all the time. And if something does not
    work as expected, you may return to the previous BE (if you didnt remove
    it).

    Robert.

    On 1/9/22 12:47, gevisz wrote:
    I constantly have problems with updating/recompiling tensorflow.
    Sometimes, it compiles ok but most of the time it is not.
    The last time when it failed to recompile was on 30-12-2021.
    I reported this in the thread "tensorflow-2.5.0-r1 compilation failed"

    So, I decided to degrade my Gentoo system to the state in which
    it was on 12-12-2021, when my tensorflow was still ok, and froze it forever.

    The problem is that I do not know how to sync my Gentoo repository
    to the state it was on 12-12-2021.

    I use webrsync sync method via "maint -A sync" and would prefer
    to use the same sync method for degrading my Gentoo system.

    Can anybody, please, tell me how to do it using this sync method?


    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)