Implement creating global packages changelog file
Implements: blueprint consolidated-packages-changelog Change-Id: Ieaea19ac4cb78b7ac6d9f8347917d3d3c84008ab
This commit is contained in:
parent
0d3f162547
commit
49ca2880d9
|
@ -56,11 +56,13 @@ $(BUILD_DIR)/iso/isoroot-centos.done: \
|
|||
else
|
||||
$(BUILD_DIR)/iso/isoroot-centos.done: \
|
||||
$(BUILD_DIR)/mirror/build.done \
|
||||
$(BUILD_DIR)/mirror/make-changelog.done \
|
||||
$(BUILD_DIR)/packages/build.done \
|
||||
$(BUILD_DIR)/openstack/build.done \
|
||||
$(BUILD_DIR)/iso/isoroot-dotfiles.done
|
||||
mkdir -p $(ISOROOT)
|
||||
rsync -rp $(LOCAL_MIRROR_CENTOS_OS_BASEURL)/ $(ISOROOT)
|
||||
rsync -rp $(LOCAL_MIRROR)/centos-packages.changelog $(ISOROOT)
|
||||
createrepo -g $(ISOROOT)/comps.xml \
|
||||
-u media://`head -1 $(ISOROOT)/.discinfo` $(ISOROOT)
|
||||
rpm -qi -p $(ISOROOT)/Packages/*.rpm | $(SOURCE_DIR)/iso/pkg-versions.awk > $(ISOROOT)/centos-versions.yaml
|
||||
|
@ -88,10 +90,12 @@ $(BUILD_DIR)/iso/isoroot-ubuntu.done: \
|
|||
else
|
||||
$(BUILD_DIR)/iso/isoroot-ubuntu.done: \
|
||||
$(BUILD_DIR)/mirror/build.done \
|
||||
$(BUILD_DIR)/mirror/make-changelog.done \
|
||||
$(BUILD_DIR)/packages/build.done \
|
||||
$(BUILD_DIR)/iso/isoroot-dotfiles.done
|
||||
mkdir -p $(ISOROOT)/ubuntu
|
||||
rsync -rp $(LOCAL_MIRROR_UBUNTU_OS_BASEURL)/ $(ISOROOT)/ubuntu/
|
||||
rsync -rp $(LOCAL_MIRROR)/ubuntu-packages.changelog $(ISOROOT)
|
||||
rsync -p $(BUILD_DIR)/packages/deb/debian-boot/initrd.gz $(ISOROOT)/ubuntu/installer-amd64/current/images/netboot/ubuntu-installer/amd64/initrd.gz
|
||||
cat $(ISOROOT)/ubuntu/dists/$(UBUNTU_RELEASE)/main/binary-amd64/Packages | $(SOURCE_DIR)/iso/pkg-versions.awk > $(ISOROOT)/ubuntu/ubuntu-versions.yaml
|
||||
$(ACTION.TOUCH)
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
.PHONY: mirror clean clean-mirror
|
||||
.PHONY: mirror clean clean-mirror make-changelog
|
||||
|
||||
mirror: $(BUILD_DIR)/mirror/build.done
|
||||
make-changelog: $(BUILD_DIR)/mirror/make-changelog.done
|
||||
|
||||
clean: clean-mirror
|
||||
|
||||
|
@ -17,3 +18,8 @@ $(BUILD_DIR)/mirror/build.done: \
|
|||
$(BUILD_DIR)/mirror/ubuntu/build.done \
|
||||
$(BUILD_DIR)/mirror/docker/build.done
|
||||
$(ACTION.TOUCH)
|
||||
|
||||
$(BUILD_DIR)/mirror/make-changelog.done: $(BUILD_DIR)/mirror/build.done
|
||||
sudo bash -c "export LOCAL_MIRROR=$(LOCAL_MIRROR); \
|
||||
$(SOURCE_DIR)/report-changelog.sh"
|
||||
$(ACTION.TOUCH)
|
||||
|
|
|
@ -0,0 +1,27 @@
|
|||
#!/bin/bash -e
|
||||
CENTOS_CHANGELOG=${LOCAL_MIRROR}/centos-packages.changelog
|
||||
UBUNTU_CHANGELOG=${LOCAL_MIRROR}/ubuntu-packages.changelog
|
||||
[ -f ${CENTOS_CHANGELOG} ] && rm ${CENTOS_CHANGELOG}
|
||||
for packagename in `find ${LOCAL_MIRROR} -name \*.rpm | sort -u`; do
|
||||
echo ${packagename##*/} >> ${CENTOS_CHANGELOG}
|
||||
rpm -qp --changelog ${packagename} 2>/dev/null | sed -e '/^$/,$d' >> ${CENTOS_CHANGELOG}
|
||||
echo '' >> ${CENTOS_CHANGELOG}
|
||||
done
|
||||
|
||||
[ -f ${UBUNTU_CHANGELOG} ] && rm ${UBUNTU_CHANGELOG}
|
||||
for packagename in `find ${LOCAL_MIRROR} -name \*.deb | sort -u`; do
|
||||
pkgname=${packagename##*/}
|
||||
DATAFILE=`ar t $packagename | grep ^data`
|
||||
case ${DATAFILE##*.} in
|
||||
bz2) ZFLAG='--bzip2' ;;
|
||||
gz) ZFLAG='-z' ;;
|
||||
xz) ZFLAG='-J' ;;
|
||||
*) echo "Unknown data tarball format for package $packagename"; continue ;;
|
||||
esac
|
||||
CHANGELOGFILE=`ar p $packagename $DATAFILE | tar $ZFLAG -tvf - | grep '/usr/share/doc/' | grep "/changelog\.Debian\.gz" || :`
|
||||
CHANGELOGFILE=${CHANGELOGFILE##* }
|
||||
if [[ ${CHANGELOGFILE:0:2} == './' ]]; then
|
||||
ar p $packagename $DATAFILE | tar $ZFLAG -xO $CHANGELOGFILE | gzip -cd | sed -n '1,/--/ p' >> ${UBUNTU_CHANGELOG}
|
||||
echo '' >> ${UBUNTU_CHANGELOG}
|
||||
fi
|
||||
done
|
Loading…
Reference in New Issue