You are not logged in.

#1 2015-11-03 20:11:35

71GA
Member
From: Slovenia
Registered: 2012-09-15
Posts: 282

Fotowall package creation

Hey! I am dealing with fotowall package which I want to create. Everything went completely fine if I installed from source files by doing only:

qmake
make
make install

Fotowall got installed and I could use it. Then I decided to create Archlinux package for AUR and I wrote this PKGBUILD:

# Maintainer: Ziga Lausegger <ziga.lausegger@gmail.com>
pkgname=fotowall
pkgver=1.0
pkgrel=1
epoch=
pkgdesc="A creative tool that allows you to layout your photos or pictures in a personal way"
arch=(any)
url="http://www.enricoros.com/opensource/fotowall/"
license=('GPL')
groups=()
depends=()
makedepends=()
checkdepends=()
optdepends=()
provides=()
conflicts=()
replaces=()
backup=()
options=()
install=
changelog=
source=("http://github.com/enricoros/fotowall/tarball/master")
noextract=()
md5sums=(1f0e257fa9f24960656084dd703e1e1d)
validpgpkeys=()

build() {
        mv enricoros-fotowall-7b4b595 $pkgname-$pkgver
        cd "$pkgname-$pkgver"
        qmake
		make
}

package() {
	cd "$pkgname-$pkgver"
	make install
}

If I execute makepkg -si on this file, fotowall binaries will be built from source files, but when I install it, its size is 0MB and I can't find it in /usr/bin although pacman finds the package:

[ziga@Ziga-laptop fotowall]$ pacman -Qi fotowall
Name           : fotowall
Version        : 1.0-1
Description    : A creative tool that allows you to layout your photos or pictures in a personal way
Architecture   : any
URL            : http://www.enricoros.com/opensource/fotowall/
Licences       : GPL
Groups         : None
Provides       : None
Depends On     : None
Optional Deps  : None
Required By    : None
Optional For   : None
Conflicts With : None
Replaces       : None
Installed Size :   4.00 KiB
Packager       : Unknown Packager
Build Date     : Tue 03 Nov 2015 20:39:48 CET
Install Date   : Tue 03 Nov 2015 20:53:47 CET
Install Reason : Explicitly installed
Install Script : No
Validated By   : None

After building the package I get src and pkg folders in the same folder as PKGBUILD. Folder src has a subfolder fotowall-1.0 ($pkgname-$pkgver) while folder pkg has an empty subfolder fotowall. This folder name is weird. Shouldn't it also be fotowall-1.0"

This is my first Arch Linux package so please be gentle... smile


C, ARM, ARM assembly, HTML, CSS, JS, Linux

Offline

#2 2015-11-03 22:05:17

Slithery
Administrator
From: Norfolk, UK
Registered: 2013-12-01
Posts: 5,776

Re: Fotowall package creation


No, it didn't "fix" anything. It just shifted the brokeness one space to the right. - jasonwryan
Closing -- for deletion; Banning -- for muppetry. - jasonwryan

aur - dotfiles

Offline

#3 2015-11-03 22:43:10

71GA
Member
From: Slovenia
Registered: 2012-09-15
Posts: 282

Re: Fotowall package creation

I tried using make DESTDIR="$pkgdir/usr/bin" install but I get same symptoms...


C, ARM, ARM assembly, HTML, CSS, JS, Linux

Offline

#4 2015-11-03 23:22:57

Scimmia
Fellow
Registered: 2012-09-01
Posts: 11,544

Re: Fotowall package creation

So the makefile may not respect DESTDIR. Since I see qmake in there, you can try INSTALL_ROOT

Last edited by Scimmia (2015-11-03 23:29:27)

Offline

#5 2015-11-04 04:55:43

71GA
Member
From: Slovenia
Registered: 2012-09-15
Posts: 282

Re: Fotowall package creation

Here is the top of the makefile where variables are:

#############################################################################
# Makefile for building: fotowall
# Generated by qmake (3.0) (Qt 5.5.1)
# Project:  fotowall.pro
# Template: app
# Command: /usr/lib/qt/bin/qmake -o Makefile fotowall.pro
#############################################################################

MAKEFILE      = Makefile

####### Compiler, tools and options

CC            = gcc
CXX           = g++
DEFINES       = -DHAS_EXPORTDIALOG -DHAS_WORDCLOUD_APPLIANCE -DHAS_LIKEBACK -DHAS_VIDEOCAPTURE -DHAS_TRANSLATIONS -DQT_NO_DEBUG -DQT_SVG_LIB -DQT_PRINTSUPPORT_LIB -DQT_OPENGL_LIB -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_NETWORK_LIB -DQT_XML_LIB -DQT_CORE_LIB
CFLAGS        = -pipe -O2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -Wall -W -D_REENTRANT -fPIC $(DEFINES)
CXXFLAGS      = -pipe -O2 -march=x86-64 -mtune=generic -O2 -pipe -fstack-protector-strong -Wall -W -D_REENTRANT -fPIC $(DEFINES)
INCPATH       = -I. -I. -I3rdparty/posterazor -isystem /usr/include/qt -isystem /usr/include/qt/QtSvg -isystem /usr/include/qt/QtPrintSupport -isystem /usr/include/qt/QtOpenGL -isystem /usr/include/qt/QtWidgets -isystem /usr/include/qt/QtGui -isystem /usr/include/qt/QtNetwork -isystem /usr/include/qt/QtXml -isystem /usr/include/qt/QtCore -Ibuild -Ibuild -I/usr/lib/qt/mkspecs/linux-g++
QMAKE         = /usr/lib/qt/bin/qmake
DEL_FILE      = rm -f
CHK_DIR_EXISTS= test -d
MKDIR         = mkdir -p
COPY          = cp -f
COPY_FILE     = cp -f
COPY_DIR      = cp -f -R
INSTALL_FILE  = install -m 644 -p
INSTALL_PROGRAM = install -m 755 -p
INSTALL_DIR   = cp -f -R
DEL_FILE      = rm -f
SYMLINK       = ln -f -s
DEL_DIR       = rmdir
MOVE          = mv -f
TAR           = tar -cf
COMPRESS      = gzip -9f
DISTNAME      = fotowall1.0.0
DISTDIR = /home/ziga/Downloads/fotowall/src/fotowall-1.0/build/fotowall1.0.0
LINK          = g++
LFLAGS        = -Wl,-O1 -Wl,-O1,--sort-common,--as-needed,-z,relro
LIBS          = $(SUBLIBS) -lQt5Svg -lQt5PrintSupport -lQt5OpenGL -lQt5Widgets -lQt5Gui -lQt5Network -lQt5Xml -lQt5Core -lGL -lpthread 
AR            = ar cqs
RANLIB        = 
SED           = sed
STRIP         = strip

####### Output directory

OBJECTS_DIR   = build/

There is no DESTDIR variable inside, but there is a INSTALL_DIR which is weird as it is not a directory at all... It is some sort of a copy command. I don't understand why...

INSTALL_DIR   = cp -f -R

C, ARM, ARM assembly, HTML, CSS, JS, Linux

Offline

#6 2015-11-04 12:00:51

Lone_Wolf
Member
From: Netherlands, Europe
Registered: 2005-10-04
Posts: 11,911

Re: Fotowall package creation

As scimmia indicated, you'll have to setup things with qmake options  , not make options.

See Troubleshooting section of makepkg wiki page for an example.

Last edited by Lone_Wolf (2015-11-04 12:03:19)


Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.


(A works at time B)  && (time C > time B ) ≠  (A works at time C)

Offline

#7 2015-11-04 23:41:02

metak
Member
Registered: 2009-09-27
Posts: 198

Re: Fotowall package creation

Hey 71GA. Here, I made a pkgbuild files for latest stable version (uses qt4) and -git version that follows master branch (qt5).
You can upload them to AUR if you want to maintain them.

pkgname=fotowall
pkgver=0.9
pkgrel=1
pkgdesc="A creative tool that allows you to layout your photos or pictures in a personal way"
arch=('i686' 'x86_64')
url="http://www.enricoros.com/opensource/fotowall/"
license=('GPL2')
depends=('qt4' 'v4l-utils')
install="${pkgname}.install"
source=("http://fotowall.googlecode.com/files/Fotowall-${pkgver}.tar.bz2")
sha256sums=('e4d0c005d2cb1d7c09438bfc3098eadebc08946e4fbc0655b7fc8b046de3810d')

prepare() {
	cd Fotowall-${pkgver}
	# for hidden-file-or-dir warning 
	sed -i -e "s/\.build/build/" ${pkgname}.pro
	# for v4l1 compatibility
	sed -i -e 's/linux\/videodev.h/libv4l1-videodev.h/' 3rdparty/videocapture/VideoDevice.h
}

build() {
	cd Fotowall-${pkgver}
	qmake-qt4 PREFIX=/usr
	make
}

package() {
	cd Fotowall-${pkgver}
	make INSTALL_ROOT="${pkgdir}/" install
}
pkgname=fotowall-git
pkgver=0.98.beta.r17.g7b4b595
pkgrel=1
pkgdesc="A creative tool that allows you to layout your photos or pictures in a personal way"
arch=('i686' 'x86_64')
url="https://github.com/enricoros/fotowall"
license=('GPL2')
depends=('desktop-file-utils' 'qt5-svg')
makedepends=('git')
provides=("${pkgname%-*}")
conflicts=("${pkgname%-*}")
install="fotowall.install"
source=("git+${url}.git")
md5sums=('SKIP')

pkgver() {
	cd "${pkgname%-*}"
	git describe --long --tags | sed -r 's/([^-]*-g)/r\1/;s/-/./g'
}

build() {
	cd "${pkgname%-*}"
	qmake-qt5 PREFIX=/usr
	make
}

package() {
	cd "${pkgname%-*}"
	make INSTALL_ROOT="${pkgdir}/" install
}
post_install() {
    update-desktop-database -q
}

post_upgrade() {
    post_install
}

post_remove() {
    post_install
}

Greetings from Maribor. ;-)

Offline

#8 2015-11-10 07:44:11

71GA
Member
From: Slovenia
Registered: 2012-09-15
Posts: 282

Re: Fotowall package creation

Thank you. I don't really understand everything, but would be interested in knowing how you get from what I had to this. smile


C, ARM, ARM assembly, HTML, CSS, JS, Linux

Offline

#9 2016-01-16 00:47:04

reflets de vert
Member
Registered: 2010-03-20
Posts: 71
Website

Re: Fotowall package creation

Hello!

I don't understand a lot, but I tried to install Fotowall.
It looks like some files are missing!

[daniel@vieillerie Fotowall-0.9]$ qmake
WARNING: Failure to find: LikeBack.cpp
WARNING: Failure to find: LikeBackDialog.cpp
WARNING: Failure to find: FloodGenerator.cpp
WARNING: Failure to find: FloodPoly.cpp
WARNING: Failure to find: PencilItem.cpp
WARNING: Failure to find: richtexteditor.cpp
WARNING: Failure to find: bayer.cpp
WARNING: Failure to find: sonix_compress.cpp
WARNING: Failure to find: VideoDevice.cpp
WARNING: Failure to find: VideoInput.cpp
WARNING: Failure to find: likebackfrontend.qrc
WARNING: Failure to find: LikeBack.h
WARNING: Failure to find: LikeBack_p.h
WARNING: Failure to find: LikeBackDialog.h
WARNING: Failure to find: FloodGenerator.h
WARNING: Failure to find: FloodPoly.h
WARNING: Failure to find: PencilItem.h
WARNING: Failure to find: richtexteditor_p.h
WARNING: Failure to find: bayer.h
WARNING: Failure to find: sonix_compress.h
WARNING: Failure to find: VideoDevice.h
WARNING: Failure to find: VideoInput.h
WARNING: Failure to find: LikeBackDialog.ui
/usr/lib/qt/bin/rcc: File does not exist 'likebackfrontend.qrc'

I'm against internet totalitarians of any kind.
And like cheese's humor.

Offline

#10 2016-01-17 20:57:41

metak
Member
Registered: 2009-09-27
Posts: 198

Re: Fotowall package creation

@reflets de vert

I've uploaded the packages to the AUR, so you should be able to install it from there.
'fotowall' package for stable qt4 version and 'fotowall-git' for qt5 latest.

Offline

Board footer

Powered by FluxBB