]> granicus.if.org Git - graphviz/commitdiff
do not create packaging hierarchy directory for architecture
authorMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 30 Oct 2021 19:39:40 +0000 (12:39 -0700)
committerMatthew Fernandez <matthew.fernandez@gmail.com>
Sat, 6 Nov 2021 17:48:42 +0000 (10:48 -0700)
The packaging directories were created based on various dimensions of a matrix,
with architecture at the lowest level. On Linux and macOS, Graphviz is only
packaged for a single architecture (x86-64). On Windows, Graphviz is only
packaged for two architectures (x86 and x86-64). However, the architecture is
also present in the suffix of every packaged file. E.g.

  Graphviz-2.49.3-win32.exe
  Graphviz-2.49.3-win64.exe
  graphviz-nox-2.49.3-1.fc33.x86_64.rpm

So there is no ambiguity if we drop the architecture directory. This seems to be
a case of YAGNI¹ where the system was setup to accommodate multiple
architectures but this has not been needed. We remove it now to (1) reduce
complexity and (2) have less verbose release filenames.²

Closes #2149.

¹ https://en.wikipedia.org/wiki/You_aren%27t_gonna_need_it
² Example of a current verbose release filename,
  stable_windows_10_cmake_Release_Win32_graphviz-install-2.49.3-win32.exe

.gitlab-ci.yml
ci/build.sh
ci/install-packages.sh

index 7c68cf2d2e994e579d7916f25c1fde8c3a6c439d..b7ed81dbf6db1baff34a69f965c82745785fd2c4 100644 (file)
@@ -47,7 +47,6 @@ portable-source:
         when: on_success
         expire_in: 1 week
         paths:
-            - Packages/*/*/*/*/*/*.rpm
             - Packages/*/*/*/*/*.rpm
             - Metadata/*/*/*/configure.log
             - GRAPHVIZ_VERSION
@@ -70,7 +69,7 @@ portable-source:
         when: on_success
         expire_in: 1 week
         paths:
-            - Packages/*/*/*/*/*/*deb
+            - Packages/*/*/*/*/*deb
             - Metadata/*/*/*/configure.log
             - GRAPHVIZ_VERSION
             - COLLECTION
@@ -102,8 +101,8 @@ portable-source:
         paths:
             - GRAPHVIZ_VERSION
             - COLLECTION
-            - Packages/*/*/*/*/*/*.zip
-            - Packages/*/*/*/*/*/*.tar.gz
+            - Packages/*/*/*/*/*.zip
+            - Packages/*/*/*/*/*.tar.gz
             - Metadata/*/*/*/configure.log
         reports:
             metrics: metrics.txt
@@ -197,7 +196,7 @@ portable-source:
         - $ID = "windows"
         - $VERSION_ID = "10"
         - $COLLECTION = $( cat COLLECTION )
-        - $DIR = "Packages\${COLLECTION}\${ID}\${VERSION_ID}\$env:build_system\$env:configuration\$Env:project_platform"
+        - $DIR = "Packages\${COLLECTION}\${ID}\${VERSION_ID}\$env:build_system\$env:configuration"
         - mkdir -p $DIR
         - >-
             if($env:build_system -eq "cmake") {
@@ -209,8 +208,8 @@ portable-source:
         when: on_success
         expire_in: 1 week
         paths:
-        - Packages/*/*/*/*/*/*/*.exe
-        - Packages/*/*/*/*/*/*/*.zip
+        - Packages/*/*/*/*/*/*.exe
+        - Packages/*/*/*/*/*/*.zip
         reports:
             metrics: metrics.txt
             junit: report.xml
@@ -403,8 +402,8 @@ ubuntu21-04-static-build:
         when: on_success
         expire_in: 1 week
         paths:
-            - Packages/*/*/*/*/*/*deb
-            - Packages/*/*/*/*/*/*.xz
+            - Packages/*/*/*/*/*deb
+            - Packages/*/*/*/*/*.xz
             - Metadata/*/*/*/configure.log
             - GRAPHVIZ_VERSION
             - COLLECTION
@@ -429,8 +428,8 @@ ubuntu21-10-static-build:
         when: on_success
         expire_in: 1 week
         paths:
-            - Packages/*/*/*/*/*/*deb
-            - Packages/*/*/*/*/*/*.xz
+            - Packages/*/*/*/*/*deb
+            - Packages/*/*/*/*/*.xz
             - Metadata/*/*/*/configure.log
             - GRAPHVIZ_VERSION
             - COLLECTION
@@ -494,7 +493,7 @@ windows-cygwin-build:
         paths:
             - GRAPHVIZ_VERSION
             - COLLECTION
-            - Packages/*/*/*/*/*/*.xz
+            - Packages/*/*/*/*/*.xz
     tags:
         - windows
     except:
@@ -522,7 +521,7 @@ windows-cygwin-build-using-autogen:
         expire_in: 1 week
         paths:
             - COLLECTION
-            - Packages/*/*/*/*/*/*.xz
+            - Packages/*/*/*/*/*.xz
     tags:
         - windows
     except:
@@ -664,7 +663,7 @@ ubuntu21-04-cmake-ASan-build-for-ctest:
             # the dot program is needed to configure the plugins before running pre-install tests
             - build/cmd/dot/dot
             # the packages need to be installed for the post-install tests
-            - Packages/*/*/*/*/*/*deb
+            - Packages/*/*/*/*/*deb
             - Metadata/*/*/*/configure.log
         reports:
             metrics: metrics.txt
@@ -709,7 +708,7 @@ ubuntu21-10-cmake-ASan-build-for-ctest:
             # the dot program is needed to configure the plugins before running pre-install tests
             - build/cmd/dot/dot
             # the packages need to be installed for the post-install tests
-            - Packages/*/*/*/*/*/*deb
+            - Packages/*/*/*/*/*deb
             - Metadata/*/*/*/configure.log
         reports:
             metrics: metrics.txt
@@ -806,8 +805,8 @@ windows-mingw32-cmake-build:
         expire_in: 1 week
         paths:
             - COLLECTION
-            - Packages/*/*/*/*/*/*.exe
-            - Packages/*/*/*/*/*/*.zip
+            - Packages/*/*/*/*/*.exe
+            - Packages/*/*/*/*/*.zip
     tags:
         - windows
     except:
@@ -827,8 +826,8 @@ windows-mingw64-cmake-build:
         expire_in: 1 week
         paths:
             - COLLECTION
-            - Packages/*/*/*/*/*/*.exe
-            - Packages/*/*/*/*/*/*.zip
+            - Packages/*/*/*/*/*.exe
+            - Packages/*/*/*/*/*.zip
     tags:
         - windows
     except:
@@ -852,8 +851,8 @@ windows-mingw64-cmake-build:
 #         expire_in: 1 week
 #         paths:
 #             - COLLECTION
-#             - Packages/*/*/*/*/*/*.zip
-#             - Packages/*/*/*/*/*/*.bz2
+#             - Packages/*/*/*/*/*.zip
+#             - Packages/*/*/*/*/*.bz2
 #     tags:
 #         - windows
 #     except:
index bff6e07e398d5090257d24be00cc7547ea9535a6..affffa562ce7c4ff0860e8bbd6ece757400c7ae8 100755 (executable)
@@ -22,8 +22,8 @@ META_DATA_DIR=Metadata/${COLLECTION}/${ID}/${VERSION_ID}
 mkdir -p ${META_DATA_DIR}
 DIR=Packages/${COLLECTION}/${ID}/${VERSION_ID}
 ARCH=$( uname -m )
-mkdir -p ${DIR}/os/${ARCH}
-mkdir -p ${DIR}/debug/${ARCH}
+mkdir -p ${DIR}/os
+mkdir -p ${DIR}/debug
 mkdir -p ${DIR}/source
 build_system=${build_system:-autotools}
 if [ "${build_system}" = "cmake" ]; then
@@ -35,18 +35,18 @@ if [ "${build_system}" = "cmake" ]; then
     popd
     if [ "${OSTYPE}" = "linux-gnu" ]; then
         if [ "${ID_LIKE:-}" = "debian" ]; then
-            mv build/*.deb ${DIR}/os/${ARCH}/
+            mv build/*.deb ${DIR}/os/
         else
-            mv build/*.rpm ${DIR}/os/${ARCH}/
+            mv build/*.rpm ${DIR}/os/
         fi
     elif [[ "${OSTYPE}" =~ "darwin" ]]; then
-        mv build/*.zip ${DIR}/os/${ARCH}/
+        mv build/*.zip ${DIR}/os/
     elif [ "${OSTYPE}" = "msys" ]; then
-        mv build/*.zip ${DIR}/os/${ARCH}/
-        mv build/*.exe ${DIR}/os/${ARCH}/
+        mv build/*.zip ${DIR}/os/
+        mv build/*.exe ${DIR}/os/
     elif [[ "${OSTYPE}" =~ "cygwin" ]]; then
-        mv build/*.zip ${DIR}/os/${ARCH}/
-        mv build/*.tar.bz2 ${DIR}/os/${ARCH}/
+        mv build/*.zip ${DIR}/os/
+        mv build/*.tar.bz2 ${DIR}/os/
     else
         echo "Error: OSTYPE=${OSTYPE} is unknown" >&2
         exit 1
@@ -60,21 +60,21 @@ elif [[ "${CONFIGURE_OPTIONS:-}" =~ "--enable-static" ]]; then
     make install
     popd
     tar cf - -C graphviz-${GV_VERSION}/build . | xz -9 -c - > graphviz-${GV_VERSION}-${ARCH}.tar.xz
-    mv graphviz-${GV_VERSION}-${ARCH}.tar.xz ${DIR}/os/${ARCH}/
+    mv graphviz-${GV_VERSION}-${ARCH}.tar.xz ${DIR}/os/
 else
     GV_VERSION=$( cat GRAPHVIZ_VERSION )
     if [ "$OSTYPE" = "linux-gnu" ]; then
         if [ "${ID_LIKE:-}" = "debian" ]; then
             tar xfz graphviz-${GV_VERSION}.tar.gz
             (cd graphviz-${GV_VERSION}; fakeroot make -f debian/rules binary) | tee >(ci/extract-configure-log.sh >${META_DATA_DIR}/configure.log)
-            mv *.deb ${DIR}/os/${ARCH}/
-            mv *.ddeb ${DIR}/debug/${ARCH}/
+            mv *.deb ${DIR}/os/
+            mv *.ddeb ${DIR}/debug/
         else
             rm -rf ${HOME}/rpmbuild
             rpmbuild -ta graphviz-${GV_VERSION}.tar.gz | tee >(ci/extract-configure-log.sh >${META_DATA_DIR}/configure.log)
             mv ${HOME}/rpmbuild/SRPMS/*.src.rpm ${DIR}/source/
-            mv ${HOME}/rpmbuild/RPMS/*/*debuginfo*rpm ${DIR}/debug/${ARCH}/
-            mv ${HOME}/rpmbuild/RPMS/*/*.rpm ${DIR}/os/${ARCH}/
+            mv ${HOME}/rpmbuild/RPMS/*/*debuginfo*rpm ${DIR}/debug/
+            mv ${HOME}/rpmbuild/RPMS/*/*.rpm ${DIR}/os/
         fi
     elif [[ "${OSTYPE}" =~ "darwin" ]]; then
         ./autogen.sh
@@ -82,7 +82,7 @@ else
         make
         make install
         tar cfz graphviz-${GV_VERSION}-${ARCH}.tar.gz --options gzip:compression-level=9 build
-        mv graphviz-${GV_VERSION}-${ARCH}.tar.gz ${DIR}/os/${ARCH}/
+        mv graphviz-${GV_VERSION}-${ARCH}.tar.gz ${DIR}/os/
     elif [ "${OSTYPE}" = "cygwin" ]; then
         if [ "${use_autogen:-no}" = "yes" ]; then
             ./autogen.sh
@@ -90,7 +90,7 @@ else
             make
             make install
             tar cf - -C build . | xz -9 -c - > graphviz-${GV_VERSION}-${ARCH}.tar.xz
-            mv graphviz-${GV_VERSION}-${ARCH}.tar.xz ${DIR}/os/${ARCH}/
+            mv graphviz-${GV_VERSION}-${ARCH}.tar.xz ${DIR}/os/
         else
             tar xfz graphviz-${GV_VERSION}.tar.gz
             pushd graphviz-${GV_VERSION}
@@ -99,7 +99,7 @@ else
             make install
             popd
             tar cf - -C graphviz-${GV_VERSION}/build . | xz -9 -c - > graphviz-${GV_VERSION}-${ARCH}.tar.xz
-            mv graphviz-${GV_VERSION}-${ARCH}.tar.xz ${DIR}/os/${ARCH}/
+            mv graphviz-${GV_VERSION}-${ARCH}.tar.xz ${DIR}/os/
         fi
     else
         echo "Error: OSTYPE=${OSTYPE} is unknown" >&2
index 9a3839a6d7141bc65375cda2f00744e32f6337af..fb943c96dafdd0c169b7d45f88697adaf04613ac 100755 (executable)
@@ -32,32 +32,32 @@ if [ "${ID}" = "centos" -o "${ID}" = "fedora" ]; then
 fi
 if [ "${build_system}" = "cmake" ]; then
     if [ "${ID_LIKE}" = "debian" ]; then
-        apt install ./${DIR}/os/${ARCH}/Graphviz-${GV_VERSION}-Linux.deb
+        apt install ./${DIR}/os/Graphviz-${GV_VERSION}-Linux.deb
     elif [ "${ID}" = "Darwin" ]; then
-        unzip ${DIR}/os/${ARCH}/Graphviz-${GV_VERSION}-Darwin.zip
+        unzip ${DIR}/os/Graphviz-${GV_VERSION}-Darwin.zip
         cp -rp Graphviz-${GV_VERSION}-Darwin/* /usr/local
     else
-        rpm --install --force ${DIR}/os/${ARCH}/Graphviz-${GV_VERSION}-Linux.rpm
+        rpm --install --force ${DIR}/os/Graphviz-${GV_VERSION}-Linux.rpm
     fi
 else
     if [ "${ID_LIKE}" = "debian" ]; then
-        apt install ./${DIR}/os/${ARCH}/libgraphviz4_${GV_VERSION}-1_amd64.deb
-        apt install ./${DIR}/os/${ARCH}/libgraphviz-dev_${GV_VERSION}-1_amd64.deb
-        apt install ./${DIR}/os/${ARCH}/graphviz_${GV_VERSION}-1_amd64.deb
+        apt install ./${DIR}/os/libgraphviz4_${GV_VERSION}-1_amd64.deb
+        apt install ./${DIR}/os/libgraphviz-dev_${GV_VERSION}-1_amd64.deb
+        apt install ./${DIR}/os/graphviz_${GV_VERSION}-1_amd64.deb
     elif [ "${ID}" = "Darwin" ]; then
-        tar xf ${DIR}/os/${ARCH}/graphviz-${GV_VERSION}-${ARCH}.tar.gz
+        tar xf ${DIR}/os/graphviz-${GV_VERSION}-${ARCH}.tar.gz
         cp -rp build/* /usr/local
     else
         rpm --install --force \
-            ${DIR}/os/${ARCH}/graphviz-${GV_VERSION}*.rpm \
-            ${DIR}/os/${ARCH}/graphviz-libs-${GV_VERSION}*.rpm \
-            ${DIR}/os/${ARCH}/graphviz-devel-${GV_VERSION}*.rpm \
-            ${DIR}/os/${ARCH}/graphviz-plugins-core-${GV_VERSION}*.rpm \
-            ${DIR}/os/${ARCH}/graphviz-plugins-x-${GV_VERSION}*.rpm \
-            ${DIR}/os/${ARCH}/graphviz-x-${GV_VERSION}*.rpm \
-            ${DIR}/os/${ARCH}/graphviz-gd-${GV_VERSION}*.rpm \
-            ${DIR}/os/${ARCH}/graphviz-qt-${GV_VERSION}*.rpm \
-            ${DIR}/os/${ARCH}/graphviz-plugins-gd-${GV_VERSION}*.rpm \
-            ${DIR}/os/${ARCH}/graphviz-nox-${GV_VERSION}*.rpm
+            ${DIR}/os/graphviz-${GV_VERSION}*.rpm \
+            ${DIR}/os/graphviz-libs-${GV_VERSION}*.rpm \
+            ${DIR}/os/graphviz-devel-${GV_VERSION}*.rpm \
+            ${DIR}/os/graphviz-plugins-core-${GV_VERSION}*.rpm \
+            ${DIR}/os/graphviz-plugins-x-${GV_VERSION}*.rpm \
+            ${DIR}/os/graphviz-x-${GV_VERSION}*.rpm \
+            ${DIR}/os/graphviz-gd-${GV_VERSION}*.rpm \
+            ${DIR}/os/graphviz-qt-${GV_VERSION}*.rpm \
+            ${DIR}/os/graphviz-plugins-gd-${GV_VERSION}*.rpm \
+            ${DIR}/os/graphviz-nox-${GV_VERSION}*.rpm
     fi
 fi