Skip to content

Commit

Permalink
Merge branch 'remove-versioned-names' into 'main'
Browse files Browse the repository at this point in the history
Do not create or use version-qualified package names

See merge request rewriting/ddisasm!1179
  • Loading branch information
aeflores committed Feb 5, 2024
2 parents 0aa97b3 + d22d263 commit b13d4d4
Show file tree
Hide file tree
Showing 6 changed files with 33 additions and 42 deletions.
1 change: 1 addition & 0 deletions .ci/Dockerfile.static
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ RUN ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime
# Install APT packages
RUN apt-get -y update && \
apt-get -y install \
aptitude \
ccache \
gcc-arm-linux-gnueabihf \
g++-arm-linux-gnueabihf \
Expand Down
1 change: 1 addition & 0 deletions .ci/Dockerfile.ubuntu20
Original file line number Diff line number Diff line change
Expand Up @@ -106,6 +106,7 @@ RUN ln -fs /usr/share/zoneinfo/America/New_York /etc/localtime
#
RUN apt-get -y update && \
apt-get -y install \
aptitude \
autoconf \
build-essential \
ccache \
Expand Down
36 changes: 18 additions & 18 deletions .ci/gitlab-ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -52,24 +52,26 @@ default:
- apt-get update -y

.download-deps:
# Use aptitude to make sure gtirb-pprinter is installed even if that means installing an old gtirb
- >-
apt-get install --download-only -y
libcapstone-dev${CAPSTONE_VERSION:+-$CAPSTONE_VERSION}
libgtirb-dev${GTIRB_VERSION:+-$GTIRB_VERSION}
libgtirb-pprinter-dev${GTIRB_PPRINTER_VERSION:+-$GTIRB_PPRINTER_VERSION}
gtirb-pprinter${GTIRB_PPRINTER_VERSION:+-$GTIRB_PPRINTER_VERSION}
aptitude install --download-only -y -o "Aptitude::ProblemResolver::Hints::=reject gtirb-pprinter :UNINST"
libcapstone-dev${CAPSTONE_VERSION:+=$CAPSTONE_VERSION}
libgtirb-dev${GTIRB_VERSION:+=$GTIRB_VERSION}
libgtirb-pprinter-dev${GTIRB_PPRINTER_VERSION:+=$GTIRB_PPRINTER_VERSION}
gtirb-pprinter${GTIRB_PPRINTER_VERSION:+=$GTIRB_PPRINTER_VERSION}
- mv /var/cache/apt/archives/*.deb .

.install-deps:
# Use aptitude to make sure gtirb-pprinter is installed even if that means installing an old gtirb
- >-
apt-get install -y
libcapstone-dev${CAPSTONE_VERSION:+-$CAPSTONE_VERSION}
libgtirb-dev${GTIRB_VERSION:+-$GTIRB_VERSION}
libgtirb-pprinter-dev${GTIRB_PPRINTER_VERSION:+-$GTIRB_PPRINTER_VERSION}
gtirb-pprinter${GTIRB_PPRINTER_VERSION:+-$GTIRB_PPRINTER_VERSION}
aptitude install -y -o "Aptitude::ProblemResolver::Hints::=reject gtirb-pprinter :UNINST"
libcapstone-dev${CAPSTONE_VERSION:+=$CAPSTONE_VERSION}
libgtirb-dev${GTIRB_VERSION:+=$GTIRB_VERSION}
libgtirb-pprinter-dev${GTIRB_PPRINTER_VERSION:+=$GTIRB_PPRINTER_VERSION}
gtirb-pprinter${GTIRB_PPRINTER_VERSION:+=$GTIRB_PPRINTER_VERSION}
.install-capstone:
- apt-get install -y libcapstone-dev${CAPSTONE_VERSION:+-$CAPSTONE_VERSION}
- apt-get install -y libcapstone-dev${CAPSTONE_VERSION:+=$CAPSTONE_VERSION}

# Set up ccache and report initial stats.
.setup-ccache:
Expand Down Expand Up @@ -726,16 +728,14 @@ test-make-install:
script:
- !reference [.setup-apt]
- !reference [.install-deps]
- "CAPSTONE_PKG_VERSION=$(dpkg -s libcapstone-dev${CAPSTONE_VERSION:+-$CAPSTONE_VERSION} | awk '/Version:/ { print $2 }')"
- "CAPSTONE_PKG_VERSION=$(dpkg -s libcapstone-dev | awk '/Version:/ { print $2 }')"
- cd build
# Use make to update timestamps on all build targets. The artifacts we
# pulled in from the dependent job should already be up-to-date, but since
# this job checked out a new copy of the source, its timestamps are newer.
- make -t
- CPACK_DDISASM_STABLE_PKG_NAME=OFF
- '[[ ! $CI_COMMIT_REF_NAME =~ ^release-.* ]] || CPACK_DDISASM_STABLE_PKG_NAME=ON'
- cpack -G "DEB" -D CPACK_DDISASM_STABLE_PKG_NAME=$CPACK_DDISASM_STABLE_PKG_NAME -D CPACK_CAPSTONE_PKG_VERSION=$CAPSTONE_PKG_VERSION -D CPACK_DDISASM_PACKAGE=deb-ddisasm
- cpack -G "DEB" -D CPACK_DDISASM_STABLE_PKG_NAME=$CPACK_DDISASM_STABLE_PKG_NAME -D CPACK_CAPSTONE_PKG_VERSION=$CAPSTONE_PKG_VERSION -D CPACK_DDISASM_PACKAGE=deb-debug
- cpack -G "DEB" -D CPACK_CAPSTONE_PKG_VERSION=$CAPSTONE_PKG_VERSION -D CPACK_DDISASM_PACKAGE=deb-ddisasm
- cpack -G "DEB" -D CPACK_CAPSTONE_PKG_VERSION=$CAPSTONE_PKG_VERSION -D CPACK_DDISASM_PACKAGE=deb-debug

build-ubuntu20-packages:
image: $DOCKER_REGISTRY/rewriting/ddisasm/ubuntu20:$IMAGE_TAG
Expand Down Expand Up @@ -771,7 +771,7 @@ setup-ubuntu20-package-tests:
script:
- if [ $(lsb_release -sc) == "focal" ]; then TRUSTED="[trusted=yes]"; fi
- echo -e "\ndeb $TRUSTED file:$(pwd)/apt-repo ./\n" >> /etc/apt/sources.list
- 'TEST_PKG_NAME=$(dpkg --info apt-repo/ddisasm.deb | sed -n "s/ Package: //p")'
- 'TEST_PKG_NAME=$(dpkg --info apt-repo/ddisasm_*.deb | sed -n "s/ Package: //p")'
- apt-get update -y && apt-get install -y --allow-unauthenticated $TEST_PKG_NAME
- ddisasm --version

Expand All @@ -780,7 +780,7 @@ setup-ubuntu20-package-tests:
script:
- if [ $(lsb_release -sc) == "focal" ]; then TRUSTED="[trusted=yes]"; fi
- echo -e "\ndeb $TRUSTED file:$(pwd)/apt-repo ./\n" >> /etc/apt/sources.list
- 'TEST_PKG_NAME=$(dpkg --info apt-repo/ddisasm-dbg.deb | sed -n "s/ Package: //p")'
- 'TEST_PKG_NAME=$(dpkg --info apt-repo/ddisasm-dbg_*.deb | sed -n "s/ Package: //p")'
- apt-get update -y && apt-get install -y --allow-unauthenticated $TEST_PKG_NAME
- '[ -f /usr/lib/debug/.build-id/$(readelf -n /usr/bin/ddisasm | grep ''Build ID: '' | cut -d'':'' -f2 | sed -E ''s/ ([a-f0-9]{2,})([a-f0-9]{30,})/\1\/\2/g'').debug ]'

Expand Down
5 changes: 4 additions & 1 deletion CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,8 @@
# 1.8.1 (Unreleased)
# 1.9.0 (Unreleased)

* Stop generating debian metapackages and packages with the version attached
to the package name. Updates in the apt-repository now support multiple
package versions and upgrading `ddisasm` with `apt-get upgrade`.
* Improve def-use and value-reg stack analysis to consider push and pop
instructions. These changes also fix a couple of bugs in the stack variable
propagation.
Expand Down
28 changes: 7 additions & 21 deletions cpack-config.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -8,36 +8,22 @@ set(CPACK_GTIRB_PPRINTER_DEB_VERSION
set(CPACK_GTIRB_DEB_VERSION
"${CPACK_GTIRB_VERSION}-${CPACK_DEBIAN_PACKAGE_RELEASE}")

set(CPACK_DDISASM_SUFFIX "")
set(CPACK_GTIRB_PPRINTER_SUFFIX "")
set(CPACK_GTIRB_SUFFIX "")
set(CPACK_CAPSTONE_SUFFIX "")

# Debian packages
if(CPACK_DDISASM_STABLE_PKG_NAME)
string(REGEX REPLACE "^[0-9]+:" "" CPACK_CAPSTONE_SUFFIX
"${CPACK_CAPSTONE_PKG_VERSION}")
set(CPACK_DDISASM_SUFFIX "-${CPACK_DDISASM_VERSION}")
set(CPACK_GTIRB_PPRINTER_SUFFIX "-${CPACK_GTIRB_PPRINTER_VERSION}")
set(CPACK_GTIRB_SUFFIX "-${CPACK_GTIRB_VERSION}")
set(CPACK_CAPSTONE_SUFFIX "-${CPACK_CAPSTONE_SUFFIX}")
endif()
if("${CPACK_DDISASM_PACKAGE}" STREQUAL "deb-ddisasm")
set(CPACK_DEBIAN_PACKAGE_NAME "ddisasm${CPACK_DDISASM_SUFFIX}")
set(CPACK_PACKAGE_FILE_NAME "ddisasm")
set(CPACK_DEBIAN_PACKAGE_NAME "ddisasm")
set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT)
set(CPACK_COMPONENTS_ALL ddisasm license)
if("${CPACK_DEBIAN_PACKAGE_RELEASE}" STREQUAL "focal")
set(CPACK_DEBIAN_PACKAGE_DEPENDS
"libstdc++6, libc6, libgcc1, libgomp1, libgtirb${CPACK_GTIRB_SUFFIX} (=${CPACK_GTIRB_DEB_VERSION}), libgtirb-pprinter${CPACK_GTIRB_PPRINTER_SUFFIX} (=${CPACK_GTIRB_PPRINTER_DEB_VERSION}), libboost-filesystem1.71.0, libboost-program-options1.71.0, libcapstone-dev${CPACK_CAPSTONE_SUFFIX} (=${CPACK_CAPSTONE_PKG_VERSION})"
"libstdc++6, libc6, libgcc1, libgomp1, libgtirb (=${CPACK_GTIRB_DEB_VERSION}), libgtirb-pprinter (=${CPACK_GTIRB_PPRINTER_DEB_VERSION}), libboost-filesystem1.71.0, libboost-program-options1.71.0, libcapstone-dev (=${CPACK_CAPSTONE_PKG_VERSION})"
)
else()
message(
SEND_ERROR "Uknown / missing value for CPACK_DEBIAN_PACKAGE_RELEASE.")
SEND_ERROR "Unknown / missing value for CPACK_DEBIAN_PACKAGE_RELEASE.")
endif()
elseif("${CPACK_DDISASM_PACKAGE}" STREQUAL "deb-debug")
set(CPACK_DEBIAN_PACKAGE_NAME "ddisasm-dbg${CPACK_DDISASM_SUFFIX}")
set(CPACK_PACKAGE_FILE_NAME "ddisasm-dbg")
set(CPACK_DEBIAN_PACKAGE_NAME "ddisasm-dbg")
set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT)
set(CPACK_COMPONENTS_ALL debug-file)
set(CPACK_DEBIAN_PACKAGE_DEPENDS
"ddisasm${CPACK_DDISASM_SUFFIX} (=${CPACK_DDISASM_DEB_VERSION})")
set(CPACK_DEBIAN_PACKAGE_DEPENDS "ddisasm (=${CPACK_DDISASM_DEB_VERSION})")
endif()
4 changes: 2 additions & 2 deletions version.txt
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
VERSION_MAJOR 1
VERSION_MINOR 8
VERSION_PATCH 1
VERSION_MINOR 9
VERSION_PATCH 0

0 comments on commit b13d4d4

Please sign in to comment.