Cleaned up packaging
authorEd Bartosh <eduard.bartosh@intel.com>
Fri, 12 Apr 2013 15:45:03 +0000 (18:45 +0300)
committerEd Bartosh <eduard.bartosh@intel.com>
Tue, 16 Apr 2013 17:55:31 +0000 (20:55 +0300)
Fixed debian packaging. Simplified debian/rules. Fixed some lintian
findings (not all of them).

Get rid of outdated distfiles/ directory

Change-Id: Ideb6bf8352a09a3358492d9a8c721ebe2fe877c5
Signed-off-by: Ed Bartosh <eduard.bartosh@intel.com>
16 files changed:
data/gbs.sh [moved from data/gbs-completion.bash with 100% similarity]
debian/control
debian/gbs-api.install [new file with mode: 0644]
debian/gbs.install [new file with mode: 0644]
debian/rules
distfiles/debian/compat [deleted file]
distfiles/debian/control [deleted file]
distfiles/debian/copyright [deleted file]
distfiles/debian/docs [deleted file]
distfiles/debian/rules [deleted file]
distfiles/gbs.conf [deleted file]
distfiles/gbs.dsc [deleted file]
distfiles/gbs.spec [deleted file]
packaging/gbs.dsc
packaging/gbs.spec [changed from symlink to file mode: 0644]
setup.py

similarity index 100%
rename from data/gbs-completion.bash
rename to data/gbs.sh
index fcce369..95e9b88 100644 (file)
@@ -2,9 +2,9 @@ Source: gbs
 Section: devel
 Priority: extra
 Maintainer: Jian-feng Ding <jian-feng.ding@intel.com>
-Build-Depends: debhelper (>= 7.0.15), python-dev
+Build-Depends: debhelper, python (>= 2.6), python-support
 Standards-Version: 3.8.0
-X-Python-Version: >= 2.7
+X-Python-Version: >= 2.6
 Homepage: http://www.tizen.org
 
 Package: gbs
@@ -18,7 +18,7 @@ Depends: ${misc:Depends}, ${python:Depends},
  depanneur (>= 0.6),
  pristine-tar (>= 1.26)
 Recommends: librpm-tizen (>= 4.11.0.1.tizen20130304-tizen20130307)
-Description: The command line tools for Tizen package developers
+Description: Command line tools for Tizen package developers
  The command line tools for Tizen package developers will
  be used to do packaging related tasks.
 
diff --git a/debian/gbs-api.install b/debian/gbs-api.install
new file mode 100644 (file)
index 0000000..99b060c
--- /dev/null
@@ -0,0 +1,7 @@
+usr/lib/python*/*packages/gitbuildsys/__init__.py
+usr/lib/python*/*packages/gitbuildsys/oscapi.py
+usr/lib/python*/*packages/gitbuildsys/errors.py
+usr/lib/python*/*packages/gitbuildsys/log.py
+usr/lib/python*/*packages/gitbuildsys/safe_url.py
+usr/lib/python*/*packages/gitbuildsys/utils.py
+usr/lib/python*/*packages/gbs-*.egg-info
diff --git a/debian/gbs.install b/debian/gbs.install
new file mode 100644 (file)
index 0000000..8ab22b8
--- /dev/null
@@ -0,0 +1,5 @@
+usr/lib/python*/*packages/gitbuildsys/cmd_*.py
+usr/lib/python*/*packages/gitbuildsys/conf.py
+usr/lib/python*/*packages/gitbuildsys/parsing.py
+usr/bin/*
+etc/bash_completion.d/*
index c7bb7d1..37dbe9d 100644 (file)
@@ -1,51 +1,10 @@
 #!/usr/bin/make -f
 
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-GBS =$(shell pwd)/debian/gbs
-build: build-stamp
-build-stamp:
-       dh_testdir
-       python setup.py build
+%:
+       dh $@
 
-clean:
-       dh_testdir
-       dh_testroot
-       rm -f build-stamp
-       dh_clean
+override_dh_auto_install:
+       python setup.py install --root=debian/tmp --prefix=/usr
 
-install: build
-       dh_testdir
-       dh_testroot
-       dh_clean -k
-       dh_installdirs
-       # Installing package
-       mkdir -p '$(GBS)' '$(GBS)'/usr/bin '$(GBS)'/usr/share/doc/gbs
-       install -m644 docs/RELEASE_NOTES '$(GBS)'/usr/share/doc/gbs
-       # Bash completion
-       install -d -m0755 '$(GBS)'/etc/bash_completion.d
-       install -m0644 data/gbs-completion.bash \
-         '$(GBS)'/etc/bash_completion.d/gbs
-       python setup.py install --root=$(GBS) --prefix=/usr --install-layout=deb
-
-binary-indep: build install
-       dh_testdir
-       dh_testroot
-       dh_installchangelogs
-       dh_installdocs
-       dh_install
-       dh_installman
-       dh_link
-       dh_strip
-       dh_compress
-       dh_fixperms
-       dh_installdeb
-       dh_shlibdeps
-       dh_gencontrol
-       dh_md5sums
-       dh_builddeb
-
-binary-arch: build install
-
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install
+override_dh_auto_test:
+       @echo 'Skipping autotests'
diff --git a/distfiles/debian/compat b/distfiles/debian/compat
deleted file mode 100644 (file)
index 7f8f011..0000000
+++ /dev/null
@@ -1 +0,0 @@
-7
diff --git a/distfiles/debian/control b/distfiles/debian/control
deleted file mode 100644 (file)
index 44ebf48..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-Source: gbs
-Section: devel
-Priority: extra
-Maintainer: Jian-feng Ding <jian-feng.ding@intel.com>
-Build-Depends: debhelper (>= 7.0.15), python-dev
-Standards-Version: 3.8.0
-Homepage: http://www.tizen.org
-
-Package: gbs
-Architecture: all
-Depends: ${misc:Depends}, ${python:Depends},
- git-core,
- osc (>= 0.131),
- build (>= 2011.10.10),
- rpm,
- qemu-arm-static (>= 0.14.1) | qemu-user-static,
- binfmt-support,
- sudo,
- git-buildpackage-rpm,
- python-pycurl
-Description: The command line tools for Tizen package developers
-  The command line tools for Tizen package developers will
-  be used to do packaging related tasks. 
diff --git a/distfiles/debian/copyright b/distfiles/debian/copyright
deleted file mode 100644 (file)
index dfa1e65..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-This work was packaged for Debian by:
-
-    Ding Jianfeng <jian-feng.ding@intel.com> on Fri, 02 Dec 2011 13:00:35 +0800
-
-It was downloaded from:
-
-    http://www.tizen.org
-
-Upstream Authors:
-
-    Intel Inc.
-
-Copyright:
-
-    Copyright (C) 2011 Intel Inc.
diff --git a/distfiles/debian/docs b/distfiles/debian/docs
deleted file mode 100644 (file)
index a1320b1..0000000
+++ /dev/null
@@ -1 +0,0 @@
-README.rst
diff --git a/distfiles/debian/rules b/distfiles/debian/rules
deleted file mode 100755 (executable)
index f45ef94..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-#!/usr/bin/make -f
-
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
-
-build: build-stamp
-build-stamp:
-       dh_testdir
-       python setup.py build
-
-clean:
-       dh_testdir
-       dh_testroot
-       rm -f build-stamp
-       dh_clean
-
-install: build
-       dh_testdir
-       dh_testroot
-       dh_clean -k
-       dh_installdirs
-       # Installing package
-       mkdir -p $(CURDIR)/debian/gbs /usr/bin
-       #make DESTDIR=$(CURDIR)/debian/gbs installman
-       #make DESTDIR=$(CURDIR)/debian/gbs installconf
-       #make DESTDIR=$(CURDIR)/debian/gbs installsymlinks
-       python setup.py install --root=$(CURDIR)/debian/gbs --prefix=/usr --install-layout=deb
-
-binary-indep: build install
-       dh_testdir
-       dh_testroot
-       dh_installchangelogs
-       dh_installdocs
-       dh_install
-       dh_installman
-       dh_link
-       dh_strip
-       dh_compress
-       dh_fixperms
-       dh_installdeb
-       dh_shlibdeps
-       dh_gencontrol
-       dh_md5sums
-       dh_builddeb
-
-binary-arch: build install
-
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install
diff --git a/distfiles/gbs.conf b/distfiles/gbs.conf
deleted file mode 100644 (file)
index 7755326..0000000
+++ /dev/null
@@ -1,9 +0,0 @@
-[general]
-; general settings
-tmpdir = /var/tmp
-
-[build]
-; settings for build subcommand
-build_server = https://api.tizen.org
-user = my_user_id
-passwd = pass_in_plaintxt
diff --git a/distfiles/gbs.dsc b/distfiles/gbs.dsc
deleted file mode 100644 (file)
index 2d5df86..0000000
+++ /dev/null
@@ -1,8 +0,0 @@
-Format: 1.0
-Source: gbs
-Version: 0.9
-Binary: gbs
-Maintainer: Jian-feng Ding <jian-feng.ding@intel.com>
-Architecture: all
-Standards-Version: 3.7.1
-Build-Depends: debhelper (>= 4.0.0), python-dev
diff --git a/distfiles/gbs.spec b/distfiles/gbs.spec
deleted file mode 100644 (file)
index d15342f..0000000
+++ /dev/null
@@ -1,87 +0,0 @@
-%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
-%{!?python_version: %define python_version %(%{__python} -c "import sys; sys.stdout.write(sys.version[:3])")}
-Name:       gbs
-Summary:    The command line tools for Tizen package developers
-Version:    0.15
-Release:    1
-Group:      Development/Tools
-License:    GPLv2
-BuildArch:  noarch
-URL:        http://www.tizen.org
-Source0:    %{name}_%{version}.tar.gz
-Requires:   python >= 2.6
-Requires:   python-pycurl
-Requires:   sudo
-Requires:   osc >= 0.139.0
-Requires:   tizen-gbp-rpm >= 20130308
-Requires:   depanneur >= 0.6
-Requires:   tizen-pristine-tar >= 1.26-tizen20130122
-
-%if "%{?python_version}" < "2.7"
-Requires:   python-argparse
-%endif
-%if ! 0%{?tizen_version:1}
-Requires:   librpm-tizen >= 4.11.0.1.tizen20130304-tizen20130307
-%endif
-Requires:   %{name}-api = %{version}
-
-BuildRequires:  python-devel
-BuildRoot:  %{_tmppath}/%{name}-%{version}-build
-
-%description
-The command line tools for Tizen package developers will
-be used to do packaging related tasks. 
-
-%package api
-Summary:       GBS APIs
-Conflicts:     gbs < 0.15
-Requires:      python
-Requires:      python-pycurl
-Requires:      osc >= 0.139.0
-Requires:      git-buildpackage-rpm
-
-%description api
-This package contains gbs APIs, which can be used by
-external software.
-
-%prep
-%setup -q -n %{name}-%{version}
-
-
-%build
-CFLAGS="$RPM_OPT_FLAGS" %{__python} setup.py build
-
-
-%install
-rm -rf $RPM_BUILD_ROOT
-%if 0%{?suse_version}
-%{__python} setup.py install --root=$RPM_BUILD_ROOT --prefix=%{_prefix}
-%else
-%{__python} setup.py install --root=$RPM_BUILD_ROOT -O1
-%endif
-mkdir -p %{buildroot}%{_sysconfdir}/bash_completion.d
-install -pm 644 data/gbs-completion.bash %{buildroot}%{_sysconfdir}/bash_completion.d/gbs.sh
-
-#mkdir -p %{buildroot}/%{_prefix}/share/man/man1
-#install -m644 doc/gbs.1 %{buildroot}/%{_prefix}/share/man/man1
-
-%files
-%defattr(-,root,root,-)
-%doc README.rst docs/RELEASE_NOTES
-#%{_mandir}/man1/*
-%{python_sitelib}/gitbuildsys/cmd_*.py*
-%{python_sitelib}/gitbuildsys/conf.py*
-%{python_sitelib}/gitbuildsys/parsing.py*
-%{_bindir}/*
-%{_sysconfdir}/bash_completion.d
-
-%files api
-%defattr(-,root,root,-)
-%dir %{python_sitelib}/gitbuildsys
-%{python_sitelib}/gitbuildsys/__init__.py*
-%{python_sitelib}/gitbuildsys/oscapi.py*
-%{python_sitelib}/gitbuildsys/errors.py*
-%{python_sitelib}/gitbuildsys/log.py*
-%{python_sitelib}/gitbuildsys/safe_url.py*
-%{python_sitelib}/gitbuildsys/utils.py*
-%{python_sitelib}/gbs-*-py*.egg-info
index cb92394..e5888eb 100644 (file)
@@ -5,6 +5,6 @@ Binary: gbs, gbs-api
 Maintainer: Jian-feng Ding <jian-feng.ding@intel.com>
 Architecture: all
 Standards-Version: 3.7.1
-Build-Depends: debhelper (>= 4.0.0), python-dev
+Build-Depends: debhelper, python-support
 Files:
  574996dfeeb001e70f20239a0e621daf 2457861 gbs_0.15.tar.gz
deleted file mode 120000 (symlink)
index 31336209690698329dc5d997653acd1fc77facb4..0000000000000000000000000000000000000000
+++ /dev/null
@@ -1 +0,0 @@
-../distfiles/gbs.spec
\ No newline at end of file
new file mode 100644 (file)
index 0000000000000000000000000000000000000000..d453150f05945e83f8502c89b1c416adfc43f7af
--- /dev/null
@@ -0,0 +1,82 @@
+%{!?python_sitelib: %define python_sitelib %(%{__python} -c "from distutils.sysconfig import get_python_lib; print get_python_lib()")}
+%{!?python_version: %define python_version %(%{__python} -c "import sys; sys.stdout.write(sys.version[:3])")}
+Name:       gbs
+Summary:    The command line tools for Tizen package developers
+Version:    0.15
+Release:    1
+Group:      Development/Tools
+License:    GPLv2
+BuildArch:  noarch
+URL:        http://www.tizen.org
+Source0:    %{name}_%{version}.tar.gz
+Requires:   python >= 2.6
+Requires:   python-pycurl
+Requires:   sudo
+Requires:   osc >= 0.139.0
+Requires:   tizen-gbp-rpm >= 20130308
+Requires:   depanneur >= 0.6
+Requires:   tizen-pristine-tar >= 1.26-tizen20130122
+
+%if "%{?python_version}" < "2.7"
+Requires:   python-argparse
+%endif
+%if ! 0%{?tizen_version:1}
+Requires:   librpm-tizen >= 4.11.0.1.tizen20130304-tizen20130307
+%endif
+Requires:   %{name}-api = %{version}
+
+BuildRequires:  python-devel
+BuildRoot:  %{_tmppath}/%{name}-%{version}-build
+
+%description
+The command line tools for Tizen package developers will
+be used to do packaging related tasks. 
+
+%package api
+Summary:       GBS APIs
+Conflicts:     gbs < 0.15
+Requires:      python
+Requires:      python-pycurl
+Requires:      osc >= 0.139.0
+Requires:      git-buildpackage-rpm
+
+%description api
+This package contains gbs APIs, which can be used by
+external software.
+
+%prep
+%setup -q -n %{name}-%{version}
+
+
+%build
+%{__python} setup.py build
+
+%install
+%{__python} setup.py install --prefix=%{_prefix} --root=%{buildroot}
+
+#mkdir -p %{buildroot}/%{_prefix}/share/man/man1
+#install -m644 doc/gbs.1 %{buildroot}/%{_prefix}/share/man/man1
+
+%clean
+rm -rf %{buildroot}
+
+%files
+%defattr(-,root,root,-)
+%doc README.rst docs/RELEASE_NOTES
+#%{_mandir}/man1/*
+%{python_sitelib}/gitbuildsys/cmd_*.py*
+%{python_sitelib}/gitbuildsys/conf.py*
+%{python_sitelib}/gitbuildsys/parsing.py*
+%{_bindir}/*
+%{_sysconfdir}/bash_completion.d
+
+%files api
+%defattr(-,root,root,-)
+%dir %{python_sitelib}/gitbuildsys
+%{python_sitelib}/gitbuildsys/__init__.py*
+%{python_sitelib}/gitbuildsys/oscapi.py*
+%{python_sitelib}/gitbuildsys/errors.py*
+%{python_sitelib}/gitbuildsys/log.py*
+%{python_sitelib}/gitbuildsys/safe_url.py*
+%{python_sitelib}/gitbuildsys/utils.py*
+%{python_sitelib}/gbs-*-py*.egg-info
index 6d9e06f..7269086 100644 (file)
--- a/setup.py
+++ b/setup.py
@@ -14,7 +14,7 @@ def get_version(mod_name):
     path = os.path.join(mod_name, "__init__.py")
     if not os.path.isfile(path):
         print 'No %s version file found' % path
-        return
+        sys.exit(1)
 
     content = open(path).read()
     match = re.search(r'^__version__\s*=\s*[\x22\x27]([^\x22\x27]+)[\x22\x27]',
@@ -23,28 +23,15 @@ def get_version(mod_name):
         return match.group(1)
 
     print 'Unable to find version in %s' % path
-
-
-VERSION = get_version(MOD_NAME)
-if not VERSION:
     sys.exit(1)
 
-# HACK!!! --install-layout=deb must be used in debian/rules
-# "--install-layout=deb" is required for pyver>2.5 in Debian likes
-if sys.version_info[:2] > (2, 5):
-    if len(sys.argv) > 1 and 'install' in sys.argv:
-        import platform
-        # for debian-like distros, mods will be installed to
-        # ${PYTHONLIB}/dist-packages
-        if platform.linux_distribution()[0] in ('debian', 'Ubuntu'):
-            sys.argv.append('--install-layout=deb')
-
 setup(name='gbs',
-      version=VERSION,
+      version=get_version(MOD_NAME),
       description='The command line tools for Tizen package developers',
       author='Jian-feng Ding, Huaxu Wan',
       author_email='jian-feng.ding@intel.com, huaxu.wan@intel.com',
       url='https://git.tizen.org/',
       scripts=['tools/gbs'],
+      data_files = [('/etc/bash_completion.d/', ['data/gbs.sh'])],
       packages=[MOD_NAME],
 )