Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
46 commits
Select commit Hold shift + click to select a range
5d0ae56
Generate deb packages with CPACK
Dec 21, 2017
eb6152f
Merge branch 'appimagetool/master' into create_deb_using_cpack
TheAssassin Jan 10, 2018
4892878
Update ignores
TheAssassin Jan 10, 2018
f6dee59
Fix versioning inconsistencies
TheAssassin Jan 10, 2018
d4ee8bf
Upload debs
TheAssassin Jan 10, 2018
8f4080f
Fix Debian packages build
TheAssassin Jan 10, 2018
72c7b03
Run cpack in verbose mode
TheAssassin Jan 10, 2018
5369e65
Fix Debian package build, mk. 1
TheAssassin Jan 10, 2018
923191b
Fix Debian package build, mk. 2
TheAssassin Jan 10, 2018
3bd50c2
Fix Debian package build, mk. 3
TheAssassin Jan 10, 2018
1eab4c4
Fix Debian package build, mk. 4
TheAssassin Jan 10, 2018
cc4e382
Fix Debian package build, mk. 5
TheAssassin Jan 10, 2018
8dd90ab
Fix Debian package build, mk. 6
TheAssassin Jan 10, 2018
5339281
Fix Debian package build, mk. 7
TheAssassin Jan 10, 2018
d4b5e48
Fix Debian package build, mk. 8
TheAssassin Jan 10, 2018
364bf6c
Fix Debian package build, mk. 9
TheAssassin Jan 10, 2018
b6e0157
Fix Debian package build, mk. 10
TheAssassin Jan 10, 2018
2d41a18
Fix Debian package build, mk. 11
TheAssassin Jan 11, 2018
4e691c8
Fix Debian package build, mk. 12
TheAssassin Jan 11, 2018
194eda9
Fix Debian package build, mk. 13
TheAssassin Jan 11, 2018
7a4dcc7
Fix Debian package build, mk. 14
TheAssassin Jan 11, 2018
8d0751d
Fix Debian package build, mk. 15
TheAssassin Jan 11, 2018
305af55
Fix Debian package build, mk. 16
TheAssassin Jan 11, 2018
dfeb647
Merge branch 'appimagetool/master' into create_deb_using_cpack
TheAssassin Mar 12, 2018
d3e7a78
Don't change variable name
TheAssassin Mar 12, 2018
47bbbb1
[debug] See what's going on
TheAssassin Mar 12, 2018
735f8fb
Fix build, mk. 1
TheAssassin Mar 13, 2018
1202b9e
Ignore exit code of build-appimages Docker container
TheAssassin Mar 13, 2018
9285e4d
Use temporary Docker containers
TheAssassin Mar 13, 2018
fff9029
Fix build, mk. 2
TheAssassin Mar 13, 2018
2712c6f
Fix build, mk. 3
TheAssassin Mar 13, 2018
37afeac
Fix build, mk. 4
TheAssassin Mar 13, 2018
dae8c8b
Fix build, mk. 5
TheAssassin Mar 13, 2018
5514f7d
Fix build, mk. 6
TheAssassin Mar 13, 2018
73647c6
Fix variable name
TheAssassin Mar 13, 2018
f9f0aab
Log GIT_COMMIT
TheAssassin Mar 13, 2018
2b52ac0
Fix build, mk. 6
TheAssassin Mar 13, 2018
c1b37e7
Fix GIT_COMMIT command
TheAssassin Mar 13, 2018
288e8e6
Fix build, mk. 8
TheAssassin Mar 13, 2018
65286fa
Temporary workaround: ignore exit code of appimagetool calls
TheAssassin Mar 13, 2018
20a2686
Don't upload any .deb except for appimaged's
TheAssassin Mar 13, 2018
4561805
Merge branch 'appimagetool/master' into create_deb_using_cpack
TheAssassin Mar 13, 2018
f90fd3a
SET CPACK_DEBIAN_PACKAGE_ARCHITECTURE for builds on CentOS
TheAssassin Mar 13, 2018
8c7e271
Remove deprecated files
TheAssassin Mar 13, 2018
6aa390b
Fix CMake check
TheAssassin Mar 13, 2018
a7752d1
Remove deprecated debug print
TheAssassin Mar 13, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,8 @@ after_success:
- ls -lh out/* # <= wrong line: see https://travis-ci.org/AppImage/AppImageKit/jobs/347965050#L4211
- ls -lh build/out/*
- wget -c https://github.com/probonopd/uploadtool/raw/master/upload.sh
# don't upload any .debs but appimaged's
- find build/out/ -iname '*.deb' -not -iname '*appimaged*' -print -delete
- bash ./upload.sh build/out/*

notifications:
Expand Down
9 changes: 8 additions & 1 deletion CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@ include(CTest)

# determine Git commit ID
execute_process(
COMMAND git describe --tags --always --abbrev=7
COMMAND git rev-parse --short HEAD
WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}
OUTPUT_VARIABLE GIT_COMMIT
OUTPUT_STRIP_TRAILING_WHITESPACE
Expand Down Expand Up @@ -42,6 +42,9 @@ set(CMAKE_C_STANDARD_REQUIRED ON)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_POSITION_INDEPENDENT_CODE ON)

# write version information for CPack to files
file(WRITE ${PROJECT_BINARY_DIR}/GIT_COMMIT "${GIT_COMMIT}")


##########################
# configure dependencies #
Expand Down Expand Up @@ -99,6 +102,10 @@ set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/cmake/sanitizers-cmake/cmake" ${CMA

add_subdirectory(src)

################################
# packing #
################################
include(cmake/cpack_debs.cmake)

################################
# unit and functionality tests #
Expand Down
37 changes: 0 additions & 37 deletions appimaged.ctl

This file was deleted.

4 changes: 2 additions & 2 deletions cmake/AppImageKitConfigVersion.cmake.in
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
set(PACKAGE_VERSION "@GIT_VERSION@")
set(PACKAGE_VERSION "@GIT_COMMIT@")

# Check whether the requested PACKAGE_FIND_VERSION is compatible
if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}")
Expand All @@ -8,4 +8,4 @@ else()
if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}")
set(PACKAGE_VERSION_EXACT TRUE)
endif()
endif()
endif()
44 changes: 44 additions & 0 deletions cmake/cpack_debs.cmake
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
# required for DEB-DEFAULT to work as intended
cmake_minimum_required(VERSION 3.6)

set(PROJECT_VERSION 1.0)
set(CPACK_GENERATOR "DEB")

set(CPACK_DEBIAN_PACKAGE_VERSION ${PROJECT_VERSION})
file(READ ${PROJECT_BINARY_DIR}/GIT_COMMIT GIT_COMMIT)
message("GIT_COMMIT: ${GIT_COMMIT}")
set(CPACK_DEBIAN_PACKAGE_RELEASE "git${GIT_COMMIT}")

if(DEFINED ENV{ARCH})
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE $ENV{ARCH})
if(CPACK_DEBIAN_PACKAGE_ARCHITECTURE MATCHES "i686")
set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "i386")
endif()
endif()

message("CPACK_DEBIAN_PACKAGE_ARCHITECTURE: ${CPACK_DEBIAN_PACKAGE_ARCHITECTURE}")

set(CPACK_DEBIAN_PACKAGE_MAINTAINER "AppImage Team")
set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "https://appimage.org/")
set(CPACK_DEBIAN_FILE_NAME DEB-DEFAULT)
set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_SOURCE_DIR}/README.md")
set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_SOURCE_DIR}/LICENSE")

set(CPACK_DEBIAN_LIBAPPIMAGE_PACKAGE_NAME "libappimage")
set(CPACK_DEBIAN_LIBAPPIMAGE_PACKAGE_DEPENDS "libarchive13, libc6 (>= 2.4), libglib2.0-0, zlib1g, fuse")
set(CPACK_DEBIAN_LIBAPPIMAGE_PACKAGE_DESCRIPTION "Utilities collection to handle AppImage files.")

set(CPACK_DEBIAN_LIBAPPIMAGE-DEV_PACKAGE_NAME "libappimage-dev")
set(CPACK_DEBIAN_LIBAPPIMAGE-DEV_PACKAGE_DEPENDS "libappimage")
set(CPACK_DEBIAN_LIBAPPIMAGE-DEV_PACKAGE_DESCRIPTION "Utilities collection to handle AppImage files.")

set(CPACK_DEBIAN_APPIMAGED_PACKAGE_NAME "appimaged")
set(CPACK_COMPONENT_APPIMAGED_DESCRIPTION
"Optional AppImage daemon for desktop integration.\n Integrates AppImages into the desktop, e.g., installs icons and menu entries.")

set(CPACK_DEBIAN_APPIMAGED_PACKAGE_DEPENDS "libarchive13, libc6 (>= 2.4), libglib2.0-0, zlib1g, fuse")

set(CPACK_COMPONENTS_ALL appimaged libappimage libappimage-dev)
set(CPACK_DEB_COMPONENT_INSTALL ON)

include(CPack)
2 changes: 1 addition & 1 deletion install-build-deps.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ fi
if [ -e /usr/bin/apt-get ] ; then
sudo apt-get update
sudo apt-get -y install zsync git libarchive-dev autoconf libtool make gcc g++ libtool libfuse-dev \
liblzma-dev libglib2.0-dev libssl-dev libinotifytools0-dev liblz4-dev equivs libcairo-dev desktop-file-utils cmake
liblzma-dev libglib2.0-dev libssl-dev libinotifytools0-dev liblz4-dev libcairo-dev desktop-file-utils cmake
# libtool-bin might be required in newer distributions but is not available in precise
sudo cp resources/liblz4.pc /usr/lib/$ARCH-linux-gnu/pkgconfig/
if cat /etc/lsb-release | grep 14.04 2>&1 >/dev/null; then
Expand Down
10 changes: 10 additions & 0 deletions resources/appimaged.service
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
[Unit]
Description=AppImage daemon
After=basic.target
[Service]
ExecStart=/usr/bin/appimaged
Restart=always
RestartSec=5s
StartLimitInterval=0
[Install]
WantedBy=graphical.target
12 changes: 11 additions & 1 deletion src/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -237,7 +237,17 @@ else()
endif()

install(
TARGETS AppRun appimaged appimagetool digest validate
TARGETS appimaged
RUNTIME DESTINATION bin COMPONENT appimaged
)

install(
FILES ${CMAKE_SOURCE_DIR}/resources/appimaged.service
DESTINATION lib/systemd/user/
COMPONENT appimaged
)
install(
TARGETS AppRun appimagetool digest validate
RUNTIME DESTINATION bin COMPONENT applications
LIBRARY DESTINATION lib COMPONENT applications
ARCHIVE DESTINATION lib/static COMPONENT applications
Expand Down
Original file line number Diff line number Diff line change
@@ -1,11 +1,20 @@
#! /bin/bash

cd /build/out
set -e

cd /AppImageKit/build

cpack -V
mv *.deb out/

cd out/

# || true -- temporary workaround

./appimagetool.AppDir/AppRun ./appimagetool.AppDir/ -s -v \
-u "gh-releases-zsync|AppImage|AppImageKit|continuous|appimagetool-$ARCH.AppImage.zsync" \
appimagetool-"$ARCH".AppImage
appimagetool-"$ARCH".AppImage || true

./appimagetool-"$ARCH".AppImage ./appimaged.AppDir/ -s -v \
-u "gh-releases-zsync|AppImage|AppImageKit|continuous|appimaged-$ARCH.AppImage.zsync" \
appimaged-"$ARCH".AppImage
appimaged-"$ARCH".AppImage || true
18 changes: 5 additions & 13 deletions travis/travis-build.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,19 +6,14 @@ set -x
case "$ARCH" in
"x86_64")
export ARCH="x86_64"
sed -i -e 's|%ARCH%|amd64|g' appimaged.ctl
;;
"i386"|"i686")
export ARCH="i686"
sed -i -e 's|%ARCH%|i386|g' appimaged.ctl
# sleep so as not to overwrite during uploading (FIXME)
sleep 60
;;
esac

# debug print
grep Architecture appimaged.ctl

# clean up and download data from GitHub
rm -rf data.tar.g* .gnu* || true
wget https://github.com/AppImage/AppImageKit/files/584665/data.zip -O data.tar.gz.gpg
Expand All @@ -29,7 +24,7 @@ wget https://github.com/AppImage/AppImageKit/files/584665/data.zip -O data.tar.g
mkdir -p ./out/

# build AppImageKit
docker run \
docker run --rm \
--device /dev/fuse:mrw \
-e ARCH -e TRAVIS -e TRAVIS_BUILD_NUMBER \
-i \
Expand All @@ -43,16 +38,16 @@ find build/out/appimagetool.AppDir/
find build/out/appimaged.AppDir/

# build AppImages
docker run \
docker run --rm \
--cap-add SYS_ADMIN \
--device /dev/fuse:mrw \
-e ARCH -e TRAVIS -e TRAVIS_BUILD_NUMBER \
-i \
-v "${PWD}":/AppImageKit \
-v "${PWD}"/travis/:/travis \
-v "${PWD}"/build:/build \
-v $HOME/.gnupg:/root/.gnupg \
"$DOCKER_IMAGE" \
/bin/bash -x "/travis/build-appimages.sh"
/bin/bash -x "/travis/build-packages-and-appimages.sh"

cd build/

Expand All @@ -62,14 +57,11 @@ bash -x ../travis/test-appimages.sh

# install more tools
# (vim-common contains xxd)
sudo apt-get install equivs vim-common
sudo apt-get install vim-common

# fix permissions
sudo chown -R travis.travis .

# build .deb
(cd out ; equivs-build ../../appimaged.ctl)

# remove binaries from output directory
ls -al out/
rm -r out/{appimaged,appimagetool,validate,digest,mksquashfs,*.AppDir}
Expand Down