I have setup a Rollback Machine as of early this morning 12-04-2013. From this point on we will have the same rollback setup that Arch does. Our rollback machine will take a daily snapshot of the ALARM repo, each update will occur around 8:36am Pacific time.
Please keep in mind the creation date is as far as you can go back (12-04-2013) and read the full post for all quirks until its fully functional.
In case you're update borks something and you dont have the package in cache, this will help you out. We also are putting in .img files and tarballs.
File hieracry:
$this->bbcode_second_pass_code('', '
├── 2013
│ ├── 11
│ │ └── 31
│ ├── 12
│ │ ├── 01
│ │ ├── 02
│ │ ├── ...
│ │ ├── 21
│ │ └── 22
|
│
├── packages
│ ├── a
│ │ ├── awesome-3.5.1-1-armv7h.pkg.tar.xz
│ │ ├── awesome-3.5.1-1-armv6h.pkg.tar.xz
│ │ ├── ...
│ │
│ ├── b
│ ├── ...
│ └── z
│
├── all
│ ├── awesome-3.5.1-1-armv6h.pkg.tar.xz
│ ├── ...
│ ├── zsh-5.0.2-3-armv7h.pkg.tar.xz
│ ├── zsh-5.0.2-4-armv7h.pkg.tar.xz
│ └── ...
│
├── last -> 2013/12/04
├── month -> 2013/12/04
└── week -> 2013/12/04')
Time Traveling:
This feature allow you to get packages and databases at a given date. You can use it to:
1. download an old package;
2. use pacman stuck on a particular day.
To have pacman stuck on December 4th 2013 edit your pacman.conf
$this->bbcode_second_pass_code('', '[alarm]
Server=http://rollback.adminempire.com/alarm-rollback-machine/2013/12/04/$arch/$repo
[aur]
Server=http://rollback.adminempire.com/alarm-rollback-machine/2013/12/04/$arch/$repo
[community]
Server=http://rollback.adminempire.com/alarm-rollback-machine/2013/12/04/$arch/$repo
[core]
[alarm]
Server=http://rollback.adminempire.com/alarm-rollback-machine/2013/12/04/$arch/$repo
[extra]
[alarm]
Server=http://rollback.adminempire.com/alarm-rollback-machine/2013/12/04/$arch/$repo
')
Or just use the following in your mirrorlist file:
$this->bbcode_second_pass_code('', 'Server=http://rollback.adminempire.com/alarm-rollback-machine/2013/12/04/$arch/$repo')
You can also browse all packages.
*Time travel should be working now for week last and month
$this->bbcode_second_pass_code('', 'Server=http://rollback.adminempire.com/alarm-rollback-machine/month/$arch/$repo')
Update to last sync:
$this->bbcode_second_pass_code('', 'Server=http://rollback.adminempire.com/alarm-rollback-machine/last/$arch/$repo')
Update on a weekly basis
$this->bbcode_second_pass_code('', 'Server=http://rollback.adminempire.com/alarm-rollback-machine/week/$arch/$repo')
*
It should be noted that you should not mix the rollback repo and the up to date alarm repos. In case of download failure, you can fallback on a upstream package and you will have packages not from the same epoch than the rest of the system.
Sugesstions and comments welcomed, this should be considered "RC1" right now as it was just setup and no one has used other than myself. This will become much more useful as time carries on.
Report bugs or issues to help make this better, you can post them here or on my blog
More information can be found on the Arch Wiki, you just need to adapt to this rollback machine
Arch Rollback Machine Wiki
Thanks
*Thanks to seblu, the alarm rollback machine scripts are based off his original work for the Arch Rollback Machine.
https://github.com/seblu?tab=repositories