Clean up packages, produced by illumos-gate job:
svcadm disable svc:/jenkins:default
cd /jenkins/jobs/illumos-gate/workspace/components/openindiana/illumos-gate/
rm -fr build/i386/pkgre*
rm -fr illumos-gate/packages/i386/nightly*
Create new filesystem:
zfs create rpool/data/oirepo/hipster.new
Clean up packages, produced by oi-userland job (should preserve latest packages to generate userland-incorporation):
cd /zdata/oirepo
cp hipster/pkg5.repository hipster.new/
pkgrecv -s hipster --newest | tee pkg-list
cat pkg-list | split -l 100
for i in $(ls x*); do pkgrecv -s hipster -d hipster.new $(cat $i); done
Check new repo (diff should be empty):
pkgrecv -s hipster --newest > /tmp/old.packages
pkgrecv -s hipster.new --newest > /tmp/new.packages
diff -u /tmp/old.packages /tmp/new.packages
Final cleanup:
pkgrepo -s hipster.new rebuild
rm x* pkg-list
Make necessary directories:
cd hipster.new/
mkdir .empty .temp .temp/.openindiana.org
chown -R oi:staff .
Switch to new repo:
cd /
svcadm disable svc:/application/pkg/server:hipster
zfs rename rpool/data/oirepo/hipster rpool/data/oirepo/hipster.old
zfs rename rpool/data/oirepo/hipster.new rpool/data/oirepo/hipster
svcadm enable svc:/application/pkg/server:hipster
Testing: Visit http://pkg.openindiana.org/hipster/ and check that search works correctly.
Run some jenkins build job to ensure that interaction between hipster.openindiana.org and pkg.openindiana.org works correctly.
Don't forget to destroy rpool/data/oirepo/hipster.old
filesystem in several days after cleanup.
Once done reactivate the jenkins server
svcadm enable svc:/jenkins:default