tools/gbs.git
12 years agocorrect some wrong spelling words
Dawei Yang [Wed, 11 Jul 2012 08:33:21 +0000 (16:33 +0800)]
correct some wrong spelling words

12 years agoFix spelling error
Zhang Qiang [Wed, 11 Jul 2012 05:12:23 +0000 (13:12 +0800)]
Fix spelling error

12 years agoCode cleanup: Fix Pylint issue
Zhang Qiang [Wed, 11 Jul 2012 05:03:55 +0000 (13:03 +0800)]
Code cleanup: Fix Pylint issue

12 years ago--include-uncommited and --include-untracked support
Zhang Qiang [Wed, 11 Jul 2012 02:04:45 +0000 (10:04 +0800)]
--include-uncommited and --include-untracked support

Add these two options to build/remotebuild/export:
* --include-uncommited: only use files that are already tracked,
    including changes have not been commited
* --include-untracked: use untracked files, including changes have
    not been commited, and untracked files

12 years agoAllow empty user in gbs conf
Zhang Qiang [Tue, 10 Jul 2012 23:23:25 +0000 (07:23 +0800)]
Allow empty user in gbs conf

empty user is allowed while initialize gbs.conf,and give warn in
remotebuild sub-command if user is empty.

12 years agoremove branch checking, which would be checked in gbp
Zhang Qiang [Tue, 10 Jul 2012 22:34:55 +0000 (06:34 +0800)]
remove branch checking, which would be checked in gbp

This allow building when not on any branch. e.g. when just checked
out a tag a want to build that.

12 years agocmd_export: parse correct spec file
Markus Lehtonen [Tue, 10 Jul 2012 13:15:18 +0000 (16:15 +0300)]
cmd_export: parse correct spec file

Do not parse the working copy of the spec file but the one that was
exported.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
12 years agocmd_remotebuild: don't check version
Markus Lehtonen [Tue, 10 Jul 2012 12:44:45 +0000 (15:44 +0300)]
cmd_remotebuild: don't check version

Don't check version from .spec as we don't use it (and it would be
wrong, anyway, if building other than local copy).

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
12 years agocmd_build: use correct spec file
Markus Lehtonen [Thu, 28 Jun 2012 12:50:08 +0000 (15:50 +0300)]
cmd_build: use correct spec file

Do not parse the working copy of the spec file but the one destined for
building.

Signed-off-by: Markus Lehtonen <markus.lehtonen@linux.intel.com>
12 years agoask user to input remote build server first while creating conf
Zhang Qiang [Mon, 9 Jul 2012 06:56:43 +0000 (14:56 +0800)]
ask user to input remote build server first while creating conf

remote build server should be asked input first, then user/pass.
Do not need show user to use default values. fix # 113

12 years agoDon't need check the existance of orig_file
Zhang Qiang [Mon, 9 Jul 2012 06:33:30 +0000 (14:33 +0800)]
Don't need check the existance of orig_file

use gbp_build to generate tar ball and export packaging files
directly, so we dont need care about the existance of orig_file (SOURCE)

without this patch, gbs build would fails if no SOURCE tag in specfile.

12 years agoadd --extra-packs option for gbs build, implement # 119
Zhang Qiang [Fri, 6 Jul 2012 08:54:58 +0000 (16:54 +0800)]
add --extra-packs option for gbs build, implement # 119

This option can be used to install more extra packages in build root.
for example, developer can add option `--extra-packs=zypper,vim` to
install extra zypper and vim to final build root.

12 years agogbs chroot support, implement #70
Zhang Qiang [Fri, 6 Jul 2012 06:54:36 +0000 (14:54 +0800)]
gbs chroot support, implement #70

12 years agoadd --commit option for gbs build, remotebuild, and export, #83
Zhang Qiang [Sat, 7 Jul 2012 06:01:54 +0000 (14:01 +0800)]
add --commit option for gbs build, remotebuild, and export, #83

12 years agoSupport custom location of configuration file, #92
Zhang Qiang [Fri, 6 Jul 2012 09:19:00 +0000 (17:19 +0800)]
Support custom location of configuration file, #92

12 years agoUse the correct way to generate tarball make build/export consistent
Zhang Qiang [Thu, 5 Jul 2012 05:38:25 +0000 (13:38 +0800)]
Use the correct way to generate tarball make build/export consistent

call gbp.buildpackage_rpm directly to make code consistent. fix #94

12 years agorevert: bc4fa71d9d5935f8c44505ee538f7135cfefa44c
Zhang Qiang [Thu, 5 Jul 2012 01:40:36 +0000 (09:40 +0800)]
revert: bc4fa71d9d5935f8c44505ee538f7135cfefa44c

use buildpackage_rpm module in gbp to make build source code consisted

12 years agoCheck branch to fix backtrace issue if no branch
Zhang Qiang [Mon, 2 Jul 2012 02:29:00 +0000 (10:29 +0800)]
Check branch to fix backtrace issue if no branch

use git-buildpackage error directly, fix #85 and #110

12 years agouse commit title of HEAD as commit message to OBS #112
Zhang Qiang [Wed, 4 Jul 2012 01:44:21 +0000 (09:44 +0800)]
use commit title of HEAD as commit message to OBS #112

12 years agoCheck the valid of generated repos before using it
Zhang Qiang [Wed, 4 Jul 2012 01:38:55 +0000 (09:38 +0800)]
Check the valid of generated repos before using it

without this patch repos passed to build would contains some invalid
repos, which result in build fails.

12 years agoadd --buildlog and --results support for gbs remotebuild
Zhang Qiang [Mon, 2 Jul 2012 06:24:31 +0000 (14:24 +0800)]
add --buildlog and --results support for gbs remotebuild

12 years agoUpdate urlgrab as general url type
Zhang Qiang [Sat, 30 Jun 2012 12:40:58 +0000 (20:40 +0800)]
Update urlgrab as general url type

12 years agoshow the correct error info if no git repo found
Zhang Qiang [Sat, 30 Jun 2012 12:39:43 +0000 (20:39 +0800)]
show the correct error info if no git repo found

12 years agosubmit packaging files to OBS
Zhang Qiang [Mon, 2 Jul 2012 01:45:17 +0000 (09:45 +0800)]
submit packaging files to OBS

This fix a bug introduced by bc4fa71d9d5935f8c44505ee538f7135cfefa44c

12 years agoFixed messaging and option help and make it more clear.
Anas Nashif [Sun, 1 Jul 2012 01:41:46 +0000 (21:41 -0400)]
Fixed messaging and option help and make it more clear.

12 years agoRevert "Fixed messaging and option help and make it more clear."
Anas Nashif [Sat, 30 Jun 2012 17:34:36 +0000 (10:34 -0700)]
Revert "Fixed messaging and option help and make it more clear."

This reverts commit 7adfa9f83b52c0a41b553f808b2bc5df4ddf4f5c

12 years agoFixed messaging and option help and make it more clear.
Anas Nashif [Sun, 1 Jul 2012 01:17:04 +0000 (21:17 -0400)]
Fixed messaging and option help and make it more clear.

12 years agouse the same archive method with export/build to provide consistency
Zhang Qiang [Fri, 29 Jun 2012 05:24:03 +0000 (13:24 +0800)]
use the same archive method with export/build to provide consistency

12 years agoUsing $tmpdir/$user/gbs-buildroot.arch as default buildroot
Zhang Qiang [Fri, 29 Jun 2012 04:48:52 +0000 (12:48 +0800)]
Using $tmpdir/$user/gbs-buildroot.arch as default buildroot

With this patch different user can use gbs build at the same time,
also different arch would be built to different buildroot.

12 years agoMerge branch 'master' into devel
Zhang Qiang [Thu, 28 Jun 2012 11:28:53 +0000 (19:28 +0800)]
Merge branch 'master' into devel

12 years agobump to version 0.7.1 release-0.7.1 0.7.1
Zhang Qiang [Wed, 27 Jun 2012 09:07:31 +0000 (17:07 +0800)]
bump to version 0.7.1

12 years agocatch TypeError and IOError if passwdx with wrong format
Zhang Qiang [Thu, 28 Jun 2012 07:31:30 +0000 (15:31 +0800)]
catch TypeError and IOError if passwdx with wrong format

12 years agotypo error using url
Zhang Qiang [Thu, 28 Jun 2012 07:05:45 +0000 (15:05 +0800)]
typo error using url

12 years agousing the packaging directory for obs build files, #60
Zhang Qiang [Thu, 28 Jun 2012 05:49:33 +0000 (13:49 +0800)]
using the packaging directory for obs build files, #60

with this patch, developers can chdir to packaging/ to check the
remote build data, also osc can be used here.

12 years agofix gbs build -R option bug
hwangx [Wed, 27 Jun 2012 10:09:54 +0000 (18:09 +0800)]
fix gbs build -R option bug

the repo value may occur conflicts , such as git_archive(repo...)
so renmae repo to repourl

12 years agoonly check repos and build conf if no --noinit specified
Zhang Qiang [Wed, 27 Jun 2012 08:36:07 +0000 (16:36 +0800)]
only check repos and build conf if no --noinit specified

This feature is needed to compatible with previous gbs version.
With --noinit option specified, gbs dont' need prepare build root,
which should be already there. That means gbs don't need spend time
to parse repos and download build conf, and just go into build root
execute rpmbuild.

12 years agoMore error handling with gbs conf
Zhang Qiang [Wed, 27 Jun 2012 08:27:50 +0000 (16:27 +0800)]
More error handling with gbs conf

12 years agoMerge "Pylinting" into devel
Qiang Z Zhang [Wed, 27 Jun 2012 09:11:22 +0000 (02:11 -0700)]
Merge "Pylinting" into devel

12 years agoMerge "Catched GitRepositoryError to avoid crashes 'Currently not on a branch' and...
Qiang Z Zhang [Wed, 27 Jun 2012 09:10:54 +0000 (02:10 -0700)]
Merge "Catched GitRepositoryError to avoid crashes 'Currently not on a branch' and similar. Fixes #85" into devel

12 years agoMerge "Set pycurl timeout as 30s" into devel
Eduard Bartosh [Wed, 27 Jun 2012 09:07:57 +0000 (02:07 -0700)]
Merge "Set pycurl timeout as 30s" into devel

12 years agoPylinting
Ed Bartosh [Mon, 25 Jun 2012 17:29:19 +0000 (20:29 +0300)]
Pylinting

Change-Id: Icf8b108ab7a799391d9bf4eb65fe9d341c05e4de

12 years agoCatched GitRepositoryError to avoid crashes 'Currently not on a
Ed Bartosh [Tue, 26 Jun 2012 07:34:39 +0000 (10:34 +0300)]
Catched GitRepositoryError to avoid crashes 'Currently not on a
branch' and similar. Fixes #85

Change-Id: Icc125010b0bf2c2a89392f97502171f4d4dff125

12 years agopasswd may contain "@"
hwangx [Wed, 27 Jun 2012 03:04:08 +0000 (11:04 +0800)]
passwd may contain "@"

12 years agoSet pycurl timeout as 30s
Zhang Qiang [Wed, 27 Jun 2012 01:26:00 +0000 (09:26 +0800)]
Set pycurl timeout as 30s

12 years agoparse repos and fetch correct build conf from repos
Zhang Qiang [Tue, 26 Jun 2012 13:41:55 +0000 (21:41 +0800)]
parse repos and fetch correct build conf from repos

If no --dist specified, gbs would try to get build config from
repos. Currently, the position of build config is  located  at
builddata directory, and build.xml is the index file of build config
file.

If no build config file found from repos, build config from ~/.gbs.conf
would be used.

With this patch, a new format of repo is acceptable, which contains
'builddata/build.xml', which contains repos and archs info, also build
conf can be avaliable from this file.

12 years agoMade one changelog entry in changelog mode. Fixes #90.
Ed Bartosh [Mon, 25 Jun 2012 15:59:38 +0000 (18:59 +0300)]
Made one changelog entry in changelog mode. Fixes #90.

Previously commits were groupped by date and gbs changelog generated
one changelog entry for one group of commits. This was not convenient
for maintainers as they tend to make one changelog entry per set of
commits made sinse last changelog entry.
This change introduces new behaviour of git changelog - it will
generate only one changelog entry.

Change-Id: I328be454fb1f64d58ef6f1143ff8539624d66893

12 years agoImplemented --commit command line option for remotebuild mode. Fixes #83
Ed Bartosh [Mon, 25 Jun 2012 15:16:24 +0000 (18:16 +0300)]
Implemented --commit command line option for remotebuild mode. Fixes #83

--commit option allows user to specify commit id to build

Change-Id: Iaeebf290b9acb6ac65578c443c5c1a0d9a6351da

12 years agoFixed bug in getting nearest tag for the commit in changelog mode.
Ed Bartosh [Mon, 25 Jun 2012 14:46:46 +0000 (17:46 +0300)]
Fixed bug in getting nearest tag for the commit in changelog mode.

Previously HEAD is used to find this tag, which is not correct.

Change-Id: Ifc9ad7377be2ec5fdc33253b7977889398f7fa93

12 years agoImplemented --message command line option for changelog mode
Ed Bartosh [Mon, 25 Jun 2012 14:38:28 +0000 (17:38 +0300)]
Implemented --message command line option for changelog mode

Change-Id: If5acf53362ef49806d71e74a11d52120213c609c

12 years agoUsed repo.path to use top-level git dir as a working dir. Fixes #21
Ed Bartosh [Mon, 25 Jun 2012 13:40:57 +0000 (16:40 +0300)]
Used repo.path to use top-level git dir as a working dir. Fixes #21

Change-Id: I42f78a37f18050c478e9bc9ddc150107d4a9e2ee

12 years agobump to 0.7 0.7
Zhang Qiang [Mon, 11 Jun 2012 13:45:31 +0000 (21:45 +0800)]
bump to 0.7

12 years agoFix a logic error while setting buildarch
Zhang Qiang [Wed, 20 Jun 2012 07:01:33 +0000 (15:01 +0800)]
Fix a logic error while setting buildarch

12 years agoUpdate build conf
Zhang Qiang [Wed, 20 Jun 2012 02:54:28 +0000 (10:54 +0800)]
Update build conf

12 years agobuild arch: ia32 support and use system arch by default
Zhang Qiang [Wed, 20 Jun 2012 00:55:51 +0000 (08:55 +0800)]
build arch: ia32 support and use system arch by default

12 years agohiden gbs submit in gbs 0.7
Zhang Qiang [Wed, 20 Jun 2012 00:45:30 +0000 (08:45 +0800)]
hiden gbs submit in gbs 0.7

12 years agodepend on git-buildpackage-rpm
Zhang Qiang [Thu, 14 Jun 2012 08:36:11 +0000 (16:36 +0800)]
depend on git-buildpackage-rpm

12 years agopass specfile to gbp for archive tar ball
Zhang Qiang [Wed, 13 Jun 2012 12:01:33 +0000 (20:01 +0800)]
pass specfile to gbp for archive tar ball

relative path for specfile is needed

12 years agoRaise ConfigError if repourl is invalid in conf file
Zhang Qiang [Tue, 12 Jun 2012 07:39:13 +0000 (15:39 +0800)]
Raise ConfigError if repourl is invalid in conf file

12 years agoUse git.status to check the status of changelog file
Zhang Qiang [Wed, 13 Jun 2012 10:02:01 +0000 (18:02 +0800)]
Use git.status to check the status of changelog file

12 years agogbs build repo conf: support local repo or plain rpm dir
Zhang Qiang [Tue, 12 Jun 2012 06:46:58 +0000 (14:46 +0800)]
gbs build repo conf: support local repo or plain rpm dir

12 years agoFixed pylint findings. One of them (using GbpError without rpm. prefix) is a bug.
Ed Bartosh [Mon, 11 Jun 2012 16:18:39 +0000 (19:18 +0300)]
Fixed pylint findings. One of them (using GbpError without rpm. prefix) is a bug.

Change-Id: Ia9b7f479320d527aecdbaca55dc1cd825dc762e9

12 years agoGot rid of catching CommandExecFailed exception. Gbp git module now throws only GitRe...
Ed Bartosh [Mon, 11 Jun 2012 16:09:41 +0000 (19:09 +0300)]
Got rid of catching CommandExecFailed exception. Gbp git module now throws only GitRepositoryErrors.

Change-Id: I29a4c8fca910639d0ac68ad33e64162cfe3def3d

12 years agoSorted changelog entries in chronological order. fixes #55
Ed Bartosh [Mon, 11 Jun 2012 10:47:00 +0000 (13:47 +0300)]
Sorted changelog entries in chronological order. fixes #55

Change-Id: I7ab1b7cc9564ad8ee09d94dc6d5bb6bcdd6ab87c

12 years agocatch invalid apiurl exception in buildservice module
Zhang Qiang [Mon, 11 Jun 2012 08:56:13 +0000 (16:56 +0800)]
catch invalid apiurl exception in buildservice module

12 years agoUpdate build conf to align with OBS project config changes
Zhang Qiang [Mon, 11 Jun 2012 05:51:52 +0000 (13:51 +0800)]
Update build conf to align with OBS project config changes

12 years agocheck existance of project dir before checking accesss mode
Zhang Qiang [Fri, 8 Jun 2012 22:48:56 +0000 (06:48 +0800)]
check existance of project dir before checking accesss mode

12 years agoremove user/email config for gbs import
Zhang Qiang [Fri, 8 Jun 2012 05:13:14 +0000 (13:13 +0800)]
remove user/email config for gbs import

email/user info can be set from env GIT_AUTHOR_NAME/GIT_AUTHOR_EMAIL.
or opts, that's more general.

12 years agoimport conf in main script to initialize gbs conf file
Zhang Qiang [Fri, 8 Jun 2012 04:45:03 +0000 (12:45 +0800)]
import conf in main script to initialize gbs conf file

12 years agoallow decode empty passwd in conf to avoid exceptions
Zhang Qiang [Fri, 8 Jun 2012 04:39:09 +0000 (12:39 +0800)]
allow decode empty passwd in conf to avoid exceptions

only check password if config file exist

12 years agoadd default value for conf opt general:editor
JF Ding [Fri, 8 Jun 2012 03:41:37 +0000 (11:41 +0800)]
add default value for conf opt general:editor

to avoid noopt exception for new subcommands

12 years agogbs submit support
Zhang Qiang [Thu, 7 Jun 2012 09:05:50 +0000 (17:05 +0800)]
gbs submit support

12 years agocmd_build: import missing tempfile python library
Guan Junchun [Thu, 7 Jun 2012 06:12:36 +0000 (14:12 +0800)]
cmd_build: import missing tempfile python library

12 years agocheck the tmpdir permission before remotebuild
Dawei Yang [Thu, 7 Jun 2012 02:32:45 +0000 (10:32 +0800)]
check the tmpdir permission before remotebuild

12 years agoUpdate doc to add export/changelog/submit sections
Zhang Qiang [Wed, 6 Jun 2012 06:03:19 +0000 (14:03 +0800)]
Update doc to add export/changelog/submit sections

 * remove gbs import-orig section

12 years agouse Tizen:Main instead Trunk as the default project
Zhang Qiang [Wed, 6 Jun 2012 05:19:18 +0000 (13:19 +0800)]
use Tizen:Main instead Trunk as the default project

12 years agouse abspath in wordir to avoid no basename for git project
Zhang Qiang [Wed, 6 Jun 2012 06:52:17 +0000 (14:52 +0800)]
use abspath in wordir to avoid no basename for git project

12 years agoremove su-wraper config in gbs config file, use sudo always
Zhang Qiang [Tue, 5 Jun 2012 23:29:04 +0000 (07:29 +0800)]
remove su-wraper config in gbs config file, use sudo always

12 years agoAdd binfmt-support for arm build support
Zhang Qiang [Tue, 5 Jun 2012 07:04:50 +0000 (15:04 +0800)]
Add binfmt-support for arm build support

12 years agoprint the detail path of binaries RPM packages
Zhang Qiang [Tue, 5 Jun 2012 07:04:03 +0000 (15:04 +0800)]
print the detail path of binaries RPM packages

12 years agoUpdate changes file properly
Ed Bartosh [Tue, 5 Jun 2012 11:56:01 +0000 (14:56 +0300)]
Update changes file properly

Change-Id: I95cc22467bd73b391d1f94195e6237488c8368d3

12 years agoMerge "fix typo getuid usage"
Eduard Bartosh [Tue, 5 Jun 2012 10:05:25 +0000 (03:05 -0700)]
Merge "fix typo getuid usage"

12 years agoMerge "Fixed crash when changelog doesn't exist"
Qiang Z Zhang [Tue, 5 Jun 2012 10:04:19 +0000 (03:04 -0700)]
Merge "Fixed crash when changelog doesn't exist"

12 years agoFixed crash when changelog doesn't exist
Ed Bartosh [Tue, 5 Jun 2012 07:39:55 +0000 (10:39 +0300)]
Fixed crash when changelog doesn't exist

Change-Id: I8e1a0cf9c82b48b93fdf735af293c69d6084d5e3

12 years agofix typo getuid usage
Zhang Qiang [Tue, 5 Jun 2012 07:03:06 +0000 (15:03 +0800)]
fix typo getuid usage

12 years agoTransfer local proxy env to build scripts
Zhang Qiang [Tue, 5 Jun 2012 07:02:42 +0000 (15:02 +0800)]
Transfer local proxy env to build scripts

12 years agocall sudo to set qemu arm build environment
Zhang Qiang [Tue, 5 Jun 2012 06:53:18 +0000 (14:53 +0800)]
call sudo to set qemu arm build environment

12 years agohandle all plaintext passwd keys in config
JF Ding [Tue, 5 Jun 2012 06:48:12 +0000 (14:48 +0800)]
handle all plaintext passwd keys in config

12 years agobugfix: run build command directly if user is root
hasan wan [Tue, 5 Jun 2012 06:35:32 +0000 (14:35 +0800)]
bugfix: run build command directly if user is root

12 years agounified the default values of all config keys
JF Ding [Tue, 5 Jun 2012 06:31:41 +0000 (14:31 +0800)]
unified the default values of all config keys

12 years agoenable repo authenticate
hasan wan [Tue, 5 Jun 2012 06:11:30 +0000 (14:11 +0800)]
enable repo authenticate

12 years agoSet default value for distconf to fix backtrace issue
Zhang Qiang [Tue, 5 Jun 2012 05:45:37 +0000 (13:45 +0800)]
Set default value for distconf to fix backtrace issue

12 years agodont need sudo before gbs build, use sudo as su-wrapper
Zhang Qiang [Tue, 5 Jun 2012 05:44:20 +0000 (13:44 +0800)]
dont need sudo before gbs build, use sudo as su-wrapper

12 years agoremove extra output info about build commands
Zhang Qiang [Tue, 5 Jun 2012 05:38:16 +0000 (13:38 +0800)]
remove extra output info about build commands

12 years agoRemoved useless getconfig mode.
Ed Bartosh [Tue, 29 May 2012 10:11:27 +0000 (13:11 +0300)]
Removed useless getconfig mode.

Change-Id: I50d3f7d522f9bdc16d18d486145f288253955f4d

12 years agoMoved build-related functions from utils.py to cmd_build.py
Ed Bartosh [Fri, 1 Jun 2012 10:52:47 +0000 (13:52 +0300)]
Moved build-related functions from utils.py to cmd_build.py

Change-Id: I9dd5c078d46496f73a3f322d0c73e4302c9ea303

12 years agoFixed bug(calling msger.error with 2 parameters). Simplified error message.
Ed Bartosh [Fri, 1 Jun 2012 10:42:22 +0000 (13:42 +0300)]
Fixed bug(calling msger.error with 2 parameters). Simplified error message.

Change-Id: Ib420ac55c32b2bb935f618b49908aaee15a0c9ee

12 years agoRemoved unused code from utils.py
Ed Bartosh [Fri, 1 Jun 2012 10:38:15 +0000 (13:38 +0300)]
Removed unused code from utils.py

Change-Id: I53d09b8f927e3aa9983bd1c94453dbd517fb5f61

12 years agoPylinted utils.py
Ed Bartosh [Fri, 1 Jun 2012 10:18:55 +0000 (13:18 +0300)]
Pylinted utils.py

Change-Id: I5c24f7229fc7e31379b0d5934bbead5ebb97199b

12 years agocmd_changelog: Don't update changelog if user doesn't save it in editor. Fixes #20
Ed Bartosh [Fri, 1 Jun 2012 09:58:21 +0000 (12:58 +0300)]
cmd_changelog: Don't update changelog if user doesn't save it in editor. Fixes #20

Change-Id: I9e4a63981f8c984203d60f1dfe1f3206f127e3ef

12 years agoreport the error when parsing an invalid specfile
Dawei Yang [Mon, 4 Jun 2012 05:08:27 +0000 (13:08 +0800)]
report the error when parsing an invalid specfile