Fix ubuntu diff repository structure

Change-Id: I2e4a37dd87769af10a3cf2a4dfeff01c0f1bafcb
This commit is contained in:
Vladimir Kozhukalov 2014-11-07 18:05:14 +03:00
parent d2e7ed9ff8
commit 01eb15f6a4
3 changed files with 16 additions and 10 deletions

View File

@ -74,14 +74,14 @@ else
.DELETE_ON_ERROR: $(BUILD_DIR)/mirror/$(DIFF_UBUNTU_REPO_ART_NAME)
CURRENT_UBUNTU_REPO_DEP_FILE:=$(call find-files,$(DEPS_DIR_CURRENT)/$(UBUNTU_REPO_ART_NAME))
ifneq ($(CURRENT_UBUNTU_REPO_DEP_FILE),)
$(BUILD_DIR)/mirror/$(DIFF_UBUNTU_REPO_ART_NAME): CURDIR=$(BUILD_DIR)/mirror/$(CURRENT_VERSION)/ubuntu-repo/pool/main
$(BUILD_DIR)/mirror/$(DIFF_UBUNTU_REPO_ART_NAME): CURDIR=$(BUILD_DIR)/mirror/$(CURRENT_VERSION)/ubuntu-repo
$(BUILD_DIR)/mirror/$(DIFF_UBUNTU_REPO_ART_NAME): $(BUILD_DIR)/mirror/ubuntu_repo_current.done
$(BUILD_DIR)/mirror/ubuntu_repo_current.done: $(CURRENT_UBUNTU_REPO_DEP_FILE)
mkdir -p $(BUILD_DIR)/mirror/$(CURRENT_VERSION)
tar xf $(CURRENT_UBUNTU_REPO_DEP_FILE) -C $(BUILD_DIR)/mirror/$(CURRENT_VERSION)
$(ACTION.TOUCH)
else
$(BUILD_DIR)/mirror/$(DIFF_UBUNTU_REPO_ART_NAME): CURDIR=$(LOCAL_MIRROR_UBUNTU_OS_BASEURL)/pool/main
$(BUILD_DIR)/mirror/$(DIFF_UBUNTU_REPO_ART_NAME): CURDIR=$(LOCAL_MIRROR_UBUNTU_OS_BASEURL)
$(BUILD_DIR)/mirror/$(DIFF_UBUNTU_REPO_ART_NAME): $(BUILD_DIR)/mirror/ubuntu_repo_current.done
$(BUILD_DIR)/mirror/ubuntu_repo_current.done: \
$(BUILD_DIR)/mirror/build.done \
@ -90,19 +90,25 @@ $(BUILD_DIR)/mirror/ubuntu_repo_current.done: \
$(ACTION.TOUCH)
endif
$(BUILD_DIR)/mirror/$(DIFF_UBUNTU_REPO_ART_NAME): BASEDIR=$(BUILD_DIR)/mirror/$(BASE_VERSION)/ubuntu-repo/pool/main
$(BUILD_DIR)/mirror/$(DIFF_UBUNTU_REPO_ART_NAME): DIFFDIR=$(DIFF_MIRROR_UBUNTU_BASE)-$(CURRENT_VERSION)-$(BASE_VERSION)/pool/main
$(BUILD_DIR)/mirror/$(DIFF_UBUNTU_REPO_ART_NAME): BASEDIR=$(BUILD_DIR)/mirror/$(BASE_VERSION)/ubuntu-repo
$(BUILD_DIR)/mirror/$(DIFF_UBUNTU_REPO_ART_NAME): DIFFDIR=$(DIFF_MIRROR_UBUNTU_BASE)-$(CURRENT_VERSION)-$(BASE_VERSION)
$(BUILD_DIR)/mirror/$(DIFF_UBUNTU_REPO_ART_NAME):
# unpacking old version ubuntu mirror
mkdir -p $(BUILD_DIR)/mirror/$(BASE_VERSION)
tar xf $(DEPS_DIR)/$(BASE_VERSION)/$(UBUNTU_REPO_ART_NAME) -C $(BUILD_DIR)/mirror/$(BASE_VERSION)
# copying packages which differ from those in old version
mkdir -p $(DIFFDIR)
/bin/bash $(SOURCE_DIR)/mirror/create_diff_mirrors.sh $(CURDIR) $(BASEDIR) $(DIFFDIR)
mkdir -p $(DIFFDIR)/pool/main
/bin/bash $(SOURCE_DIR)/mirror/create_diff_mirrors.sh $(CURDIR)/pool/main $(BASEDIR)/pool/main $(DIFFDIR)/pool/main
# creating diff mirror
dpkg-scanpackages -m $(DIFFDIR) > $(DIFFDIR)/../Packages
gzip -9c $(DIFFDIR)/../Packages > $(DIFFDIR)/../Packages.gz
cat $(DIFFDIR)/../Packages | $(SOURCE_DIR)/iso/pkg-versions.awk > $(DIFF_MIRROR_UBUNTU_BASE)-$(CURRENT_VERSION)-$(BASE_VERSION)/ubuntu-versions.yaml
rsync -av --include='*/' --exclude='*' $(CURDIR)/dists $(DIFFDIR)
cp $(CURDIR)/dists/$(UBUNTU_RELEASE)/Release $(DIFFDIR)/dists/$(UBUNTU_RELEASE)
cp -r $(CURDIR)/indices $(DIFFDIR)
$(SOURCE_DIR)/regenerate_ubuntu_repo.sh $(DIFFDIR) $(UBUNTU_RELEASE)
# these touch commands are necessary to make repository working
touch $(DIFFDIR)/dists/$(UBUNTU_RELEASE)/main/binary-i386/Packages
touch $(DIFFDIR)/dists/$(UBUNTU_RELEASE)/main/debian-installer/binary-i386/Packages
touch $(DIFFDIR)/dists/$(UBUNTU_RELEASE)/main/debian-installer/binary-amd64/Packages
cat $(DIFFDIR)/dists/$(UBUNTU_RELEASE)/main/binary-amd64/Packages | $(SOURCE_DIR)/iso/pkg-versions.awk > $(DIFF_MIRROR_UBUNTU_BASE)-$(CURRENT_VERSION)-$(BASE_VERSION)/ubuntu-versions.yaml
tar cf $@ -C $(DIFF_MIRROR_UBUNTU_BASE)-$(CURRENT_VERSION)-$(BASE_VERSION) --xform s:^:ubuntu_updates-$(CURRENT_VERSION)-$(BASE_VERSION)/: .
endif # ifneq ($(DIFF_UBUNTU_REPO_DEP_FILE),)
endif # ifneq ($(BASE_VERSION),)

View File

@ -57,7 +57,7 @@ $(BUILD_DIR)/packages/deb/repo.done:
sudo find $(BUILD_DIR)/packages/deb/packages -name '*.deb' -exec cp -u {} $(LOCAL_MIRROR_UBUNTU_OS_BASEURL)/pool/main \;
echo "Applying fix for upstream bug in dpkg..."
-sudo patch -N /usr/bin/dpkg-scanpackages < $(SOURCE_DIR)/packages/dpkg.patch
sudo $(SOURCE_DIR)/packages/regenerate_ubuntu_repo $(LOCAL_MIRROR_UBUNTU_OS_BASEURL) $(UBUNTU_RELEASE)
sudo $(SOURCE_DIR)/regenerate_ubuntu_repo.sh $(LOCAL_MIRROR_UBUNTU_OS_BASEURL) $(UBUNTU_RELEASE)
$(ACTION.TOUCH)
$(BUILD_DIR)/packages/deb/build.done: $(BUILD_DIR)/packages/deb/repo.done \