diff options
-rw-r--r-- | PKGBUILD-split.proto | 7 | ||||
-rw-r--r-- | doc/.gitignore | 2 | ||||
-rw-r--r-- | doc/Makefile.am | 51 | ||||
-rw-r--r-- | doc/PKGBUILD.5.txt | 18 | ||||
-rw-r--r-- | doc/index.txt | 194 | ||||
-rw-r--r-- | doc/makepkg.8.txt | 2 | ||||
-rw-r--r-- | doc/pacman.8.txt | 6 | ||||
-rw-r--r-- | doc/repo-add.8.txt | 6 | ||||
-rw-r--r-- | doc/submitting-patches.txt (renamed from submitting-patches) | 0 | ||||
-rw-r--r-- | doc/translation-help.txt (renamed from translation-help) | 0 | ||||
-rw-r--r-- | lib/libalpm/be_files.c | 31 | ||||
-rw-r--r-- | lib/libalpm/po/tr.po | 14 | ||||
-rw-r--r-- | po/tr.po | 50 | ||||
-rw-r--r-- | scripts/makepkg.sh.in | 114 | ||||
-rw-r--r-- | src/pacman/pacman.c | 1 |
15 files changed, 398 insertions, 98 deletions
diff --git a/PKGBUILD-split.proto b/PKGBUILD-split.proto index 35fb22b9..0baa4964 100644 --- a/PKGBUILD-split.proto +++ b/PKGBUILD-split.proto @@ -5,6 +5,7 @@ # Contributor: Your Name <youremail@domain.com> pkgname=('pkg1' 'pkg2') +pkgbase=('pkg') pkgver=VERSION pkgrel=1 pkgdesc="" @@ -20,12 +21,12 @@ replaces=() backup=() options=() install= -source=($pkgname-$pkgver.tar.gz) +source=($pkgbase-$pkgver.tar.gz) noextract=() md5sums=() #generate with 'makepkg -g' build() { - cd "$srcdir/$pkgname-$pkgver" + cd "$srcdir/$pkgbase-$pkgver" ./configure --prefix=/usr make || return 1 } @@ -44,6 +45,7 @@ package_pkg1() { options=() install= + cd "$srcdir/$pkgbase-$pkgver" make DESTDIR="$pkgdir/" install-pkg1 } @@ -51,5 +53,6 @@ package_pkg2() { # options and directives overrides pkgdesc="" + cd "$srcdir/$pkgbase-$pkgver" make DESTDIR="$pkgdir/" install-pkg2 } diff --git a/doc/.gitignore b/doc/.gitignore index a3941ecd..c20afbdb 100644 --- a/doc/.gitignore +++ b/doc/.gitignore @@ -6,5 +6,7 @@ pacman.8 pacman.conf.5 repo-add.8 repo-remove.8 +*.css +*.html *.xml man3 diff --git a/doc/Makefile.am b/doc/Makefile.am index 7992e547..a796a91e 100644 --- a/doc/Makefile.am +++ b/doc/Makefile.am @@ -14,6 +14,24 @@ ASCIIDOC_MANS = \ DOXYGEN_MANS = $(wildcard man3/*.3) +HTML_MANPAGES = \ + pacman.8.html \ + makepkg.8.html \ + repo-add.8.html \ + PKGBUILD.5.html \ + makepkg.conf.5.html \ + pacman.conf.5.html \ + libalpm.3.html + +HTML_OTHER = \ + index.html \ + submitting-patches.html \ + translation-help.html + +HTML_DOCS = \ + $(HTML_MANPAGES) \ + $(HTML_OTHER) + EXTRA_DIST = \ asciidoc.conf \ pacman.8.txt \ @@ -25,12 +43,15 @@ EXTRA_DIST = \ pacman.conf.5.txt \ libalpm.3.txt \ footer.txt \ + index.txt \ + submitting-patches.txt \ + translation-help.txt \ Doxyfile \ $(ASCIIDOC_MANS) \ $(DOXYGEN_MANS) # Files that should be removed, but which Automake does not know. -MOSTLYCLEANFILES = *.xml $(ASCIIDOC_MANS) +MOSTLYCLEANFILES = *.xml $(ASCIIDOC_MANS) $(HTML_DOCS) # Ensure manpages are fresh when building a dist tarball dist-hook: @@ -56,6 +77,8 @@ doxygen.in: $(DOXYGEN) $(srcdir)/Doxyfile endif +html: $(HTML_DOCS) + ASCIIDOC_OPTS = \ -f asciidoc.conf \ -a pacman_version="$(REAL_PACKAGE_VERSION)" \ @@ -72,13 +95,25 @@ A2X_OPTS = \ $(ASCIIDOC_MANS): asciidoc.conf footer.txt a2x $(A2X_OPTS) --asciidoc-opts="$(ASCIIDOC_OPTS)" $@.txt -pacman.8: pacman.8.txt -makepkg.8: makepkg.8.txt -repo-add.8: repo-add.8.txt -PKGBUILD.5: PKGBUILD.5.txt PKGBUILD-example.txt -makepkg.conf.5: makepkg.conf.5.txt -pacman.conf.5: pacman.conf.5.txt -libalpm.3: libalpm.3.txt +%.html: %.txt + asciidoc $(ASCIIDOC_OPTS) -a linkcss $*.txt + dos2unix $@ + +# Customizations for certain HTML docs +$(HTML_MANPAGES): asciidoc.conf footer.txt +$(HTML_OTHER): asciidoc.conf +%.8.html: ASCIIDOC_OPTS += -d manpage +%.5.html: ASCIIDOC_OPTS += -d manpage +%.3.html: ASCIIDOC_OPTS += -d manpage + +# Dependency rules +pacman.8 pacman.8.html: pacman.8.txt +makepkg.8 makepkg.8.html: makepkg.8.txt +repo-add.8 repo-add.8.html: repo-add.8.txt +PKGBUILD.5 PKGBUILD.5.html: PKGBUILD.5.txt PKGBUILD-example.txt +makepkg.conf.5 makepkg.conf.5.html: makepkg.conf.5.txt +pacman.conf.5 pacman.conf.5.html: pacman.conf.5.txt +libalpm.3 libalpm.3.html: libalpm.3.txt # this one is just a symlink repo-remove.8: repo-add.8 rm -f repo-remove.8 diff --git a/doc/PKGBUILD.5.txt b/doc/PKGBUILD.5.txt index f8ed7f26..e1ea632b 100644 --- a/doc/PKGBUILD.5.txt +++ b/doc/PKGBUILD.5.txt @@ -65,19 +65,19 @@ similar to `$_basekernver`. This field specifies the license(s) that apply to the package. Commonly-used licenses are found in '/usr/share/licenses/common'. If you see the package's license there, simply reference it in the license - field (e.g. `$$license=('GPL')$$`). If the package provides a license not + field (e.g. `license=('GPL')`). If the package provides a license not found in '/usr/share/licenses/common', then you should include the license - in the package itself and set `$$license=('custom')$$` or - `$$license=('custom:LicenseName')$$`. The license should be placed in + in the package itself and set `license=('custom')` or + `license=('custom:LicenseName')`. The license should be placed in '$pkgdir/usr/share/licenses/$pkgname' when building the package. If multiple licenses are applicable for a package, list all of them: - `$$license=('GPL' 'FDL')$$`. + `license=('GPL' 'FDL')`. *install*:: Specifies a special install script that is to be included in the package. This file should reside in the same directory as the PKGBUILD, and will be copied into the package by makepkg. It does not need to be included - in the source array (e.g. `$$install=pkgname.install$$`). + in the source array (e.g. `install=pkgname.install`). *source (array)*:: An array of source files required to build the package. Source files @@ -90,7 +90,7 @@ similar to `$_basekernver`. + It is also possible to specify an optional filename, which is helpful with weird URLs and for handling multiple source files with the same -name. The syntax is: `$$source=('filename::url')$$` +name. The syntax is: `source=('filename::url')`. *noextract (array)*:: An array of filenames corresponding to those from the source array. Files @@ -118,7 +118,7 @@ name. The syntax is: `$$source=('filename::url')$$` *arch (array)*:: Defines on which architectures the given package is available (e.g. - `$$arch=('i686' 'x86_64')$$`). + `arch=('i686' 'x86_64')`). *backup (array)*:: A space-delimited array of filenames, without preceding slashes, that @@ -238,8 +238,8 @@ use during the build and install process. These three variables are as follows: *startdir*:: This contains the absolute path to the directory where the PKGBUILD was located, which is usually the output of `$(pwd)` when makepkg is started. - $$startdir$$ was most often used in combination with `/src` or `/pkg` - postfixes, but use of the `srcdir` and `pkgdir` variables is preferred. + `$startdir` was most often used in combination with `/src` or `/pkg` + postfixes, but use of the `$srcdir` and `$pkgdir` variables is preferred. *srcdir*:: This points to the directory where makepkg extracts or copies all source diff --git a/doc/index.txt b/doc/index.txt new file mode 100644 index 00000000..bfca3acc --- /dev/null +++ b/doc/index.txt @@ -0,0 +1,194 @@ +Pacman Home Page +================ + +A simple library-based package manager. + +Introduction +------------ +pacman is a utility which manages software packages in Linux. It uses simple +compressed files as a package format, and maintains a text-based package +database (more of a hierarchy), just in case some hand tweaking is necessary. + +pacman does not strive to "do everything." It will add, remove and upgrade +packages in the system, and it will allow you to query the package database for +installed packages, files and owners. It also attempts to handle dependencies +automatically and can download packages from a remote server. + +History +~~~~~~~ +Version 2.0 of pacman introduced the ability to sync packages (the `--sync` +option) with a master server through the use of package databases. Prior to +this, packages would have to be installed manually using the `--add` and +`--upgrade` operations. + +Version 3.0 was the switch to a two-part pacman- a backend named libalpm +(library for Arch Linux Package Management), and the familiar pacman frontend. +Speed in many cases was improved, along with dependency and conflict resolution +being able to handle a much wider variety of cases. The switch to a +library-based program should also make it easier in the future to develop +alternative front ends. + +Documentation +------------- + +Manpages +~~~~~~~~ +There are several manpages available for the programs, utilities, and +configuration files dealing with pacman. + +* linkman:PKGBUILD[5] +* linkman:libalpm[3] +* linkman:makepkg[8] +* linkman:makepkg.conf[5] +* linkman:pacman[8] +* linkman:pacman.conf[5] +* linkman:repo-add[8] + +Changelog +~~~~~~~~~ +For a good idea of what is going on in pacman development, take a look at the +link:http://projects.archlinux.org/?p=pacman.git[Gitweb] summary +page for the project. + +See the most recent +link:http://projects.archlinux.org/?p=pacman.git;a=blob_plain;f=NEWS;hb=HEAD[NEWS] +file for a not-as-frequently-updated list of changes. However, this should +contain the biggest changes in a format more concise than the commit log. + + +Releases +-------- + +`------------`------- +Date Version +--------------------- +2009-01-05 v3.2.2 +2008-08-26 v3.2.1 +2008-07-30 v3.2.0 +2008-04-01 v3.1.4 +2008-03-06 v3.1.3 +2008-02-20 v3.1.2 +2008-01-20 v3.1.1 +2008-01-09 v3.1.0 +2007-09-16 v3.0.6 +2007-06-17 v3.0.5 +2007-05-08 v3.0.4 +2007-04-28 v3.0.3 +2007-04-23 v3.0.2 +2007-04-04 v3.0.1 +2007-03-25 v3.0.0 +2006-02-02 v2.9.8 +2005-09-16 v2.9.7 +2005-06-10 v2.9.6 +2005-01-11 v2.9.5 +2004-12-19 v2.9.4 +2004-12-18 v2.9.3 +2004-09-25 v2.9.2 +2004-09-24 v2.9.1 +2004-09-18 v2.9 +--------------------- + +Source code for all releases is available at +link:ftp://ftp.archlinux.org/other/pacman/[]. To install, download the newest +available source tarball, unpack it in a directory, and run the three magic +commands: + + $ ./configure + $ make + # make install + +You may wish to read the options presented by `./configure --help` in order to +set appropriate paths and build options that are correct for your system. + +Development +----------- + +Mailing List +~~~~~~~~~~~~ +There is a mailing list devoted to pacman development, hosted by Arch Linux. +link:http://www.archlinux.org/mailman/listinfo/pacman-dev/[Subscribe] or +link:http://www.archlinux.org/pipermail/pacman-dev/[view the archives]. + +Source Code +~~~~~~~~~~~ +Development of pacman is currently done in GIT. The central repository is +hosted by Arch Linux, although some of the developers have their own trees (ask +on the above mailing lists if you are interested in finding the locations of +these trees). + +The current development tree can be fetched with the following command: + + git clone git://projects.archlinux.org/pacman.git pacman + +which will fetch the full development history into a directory named pacman. +You can browse the source as well using +link:http://projects.archlinux.org/?p=pacman.git[Gitweb]. + +If you are interested in hacking on pacman, it is highly recommended you join +the mailing list mentioned above, as well as take a quick glance at our +link:HACKING.html[HACKING] document. +link:submitting-patches.html[submitting-patches] is also a recommended read. + +Not as familiar with code as you'd like to be, but still want to help out? If +you speak a foreign language, you can help by either creating or updating a +translation file for your native language. Instructions can be found in +link:translation-help.html[translation-help]. + +Other Utilities +~~~~~~~~~~~~~~~ +Although the package manager itself is quite simple, many scripts have been +developed that help automate building and installing packages. These are used +extensively in link:http://archlinux.org[Arch Linux]. Most of these utilities +are available in the Arch Linux projects +link:http://projects.archlinux.org/[Gitweb browser]. + +Utilities available: + +* link:http://projects.archlinux.org/?p=abs.git[abs] - ABS (Arch Build System), scripts to download & use the Arch Linux PKGBUILD tree +* link:http://projects.archlinux.org/?p=devtools.git[devtools] - tools to assist in packaging and dependency checking +* link:http://projects.archlinux.org/?p=namcap.git[namcap] - a package analysis utility written in python +* link:http://projects.archlinux.org/?p=pacbuild.git[pacbuild] - a package building system utilizing a daemon +* link:http://projects.archlinux.org/?p=srcpac.git[srcpac] - a bash build-from-source pacman wrapper + +Bugs +---- +If you find bugs (which is quite likely), please email them to the pacman-dev +mailing last at mailto:pacman-dev@archlinux.org[] with specific information +such as your commandline, the nature of the bug, and even the package database +if it helps. + +You can also post a bug to the Archlinux bug tracker +link:http://bugs.archlinux.org/index.php?project=3[Flyspray]. Be sure to file +bugs under the Pacman project. + +Pacman/libalpm in the Wild +-------------------------- +Although Arch Linux is the primary user of pacman and libalpm, other +distributions and projects also use pacman as a package management tool. In +addition, there have been several projects started to provide a frontend GUI to +pacman and/or libalpm. + +Arch derivatives: + +* link:http://archie.dotsrc.org/[Archie] - Arch Live on steroids +* link:http://www.faunos.com/[FaunOS] - A portable, fully integrated operating system based on Arch Linux +* link:http://larch.berlios.de/[larch] - A live CD/DVD/USB-stick construction kit for Arch Linux + +Other distributions: + +* link:http://www.delilinux.org/[DeLi Linux] - "Desktop Light" Linux, a Linux distribution for old computers +* link:http://www.frugalware.org/[Frugalware Linux] - A general purpose Linux distribution for intermediate users (pacman is forked and maintained separately) + +Pacman/libalpm frontends: + +* link:http://shaman.iskrembilen.com/[Shaman] - A GUI frontend using Qt and libalpm + +Copyright +--------- +pacman is Copyright (C) 2006-2009 Dan McGee <dan@archlinux.org> and +Copyright (C) 2002-2006 Judd Vinet <jvinet@zeroflux.org> and is +licensed through the GNU General Public License, version 2 or later. + +///// +vim: set ts=2 sw=2 syntax=asciidoc et: +///// diff --git a/doc/makepkg.8.txt b/doc/makepkg.8.txt index 4bb37808..fb2e8054 100644 --- a/doc/makepkg.8.txt +++ b/doc/makepkg.8.txt @@ -43,7 +43,7 @@ Options *-A, \--ignorearch*:: Ignore a missing or incomplete arch field in the build script. This is for rebuilding packages from source when the PKGBUILD may be slightly - outdated and not updated with an `$$arch=('yourarch')$$` field. + outdated and not updated with an `arch=('yourarch')` field. *-c, \--clean*:: Clean up leftover work files and directories after a successful build. diff --git a/doc/pacman.8.txt b/doc/pacman.8.txt index c5748724..95880a25 100644 --- a/doc/pacman.8.txt +++ b/doc/pacman.8.txt @@ -124,9 +124,13 @@ Options command line or in linkman:pacman.conf[5], their default location will be inside this root path. -*-v, --verbose*:: +*-v, \--verbose*:: Output paths such as as the Root, Conf File, DB Path, Cache Dirs, etc. +*\--debug*:: + Display debug messages. When reporting bugs, this option is recommended + to be used. + *\--cachedir* <'dir'>:: Specify an alternative package cache location (a typical default is ``/var/cache/pacman/pkg''). Multiple cache directories can be specified, diff --git a/doc/repo-add.8.txt b/doc/repo-add.8.txt index b9956e9b..81bf8377 100644 --- a/doc/repo-add.8.txt +++ b/doc/repo-add.8.txt @@ -6,14 +6,8 @@ repo-add(8) Name ---- -//// -* If we use this below line, the manpage name comes out all weird. We also -* can't use two separate lines, which is quite annoying. * -repo-add, repo-remove - package database maintenance utilities -//// repo-add - package database maintenance utility - Synopsis -------- repo-add [-q] <path-to-db> <package1> [<package2> ...] diff --git a/submitting-patches b/doc/submitting-patches.txt index e6853c5f..e6853c5f 100644 --- a/submitting-patches +++ b/doc/submitting-patches.txt diff --git a/translation-help b/doc/translation-help.txt index dd3b4129..dd3b4129 100644 --- a/translation-help +++ b/doc/translation-help.txt diff --git a/lib/libalpm/be_files.c b/lib/libalpm/be_files.c index 93a2cc9f..8ac253ae 100644 --- a/lib/libalpm/be_files.c +++ b/lib/libalpm/be_files.c @@ -134,6 +134,37 @@ static int checkdbdir(pmdb_t *db) } /** Update a package database + * + * An update of the package database \a db will be attempted. Unless + * \a force is true, the update will only be performed if the remote + * database was modified since the last update. + * + * A transaction is necessary for this operation, in order to obtain a + * database lock. During this transaction the front-end will be informed + * of the download progress of the database via the download callback. + * + * Example: + * @code + * pmdb_t *db; + * int result; + * db = alpm_list_getdata(alpm_option_get_syncdbs()); + * if(alpm_trans_init(PM_TRANS_TYPE_SYNC, 0, NULL, NULL, NULL) == 0) { + * result = alpm_db_update(0, db); + * alpm_trans_release(); + * + * if(result > 0) { + * printf("Unable to update database: %s\n", alpm_strerrorlast()); + * } else if(result < 0) { + * printf("Database already up to date\n"); + * } else { + * printf("Database updated\n"); + * } + * } + * @endcode + * + * @ingroup alpm_databases + * @note After a successful update, the \link alpm_db_get_pkgcache() + * package cache \endlink will be invalidated * @param force if true, then forces the update, otherwise update only in case * the database isn't up to date * @param db pointer to the package database to update diff --git a/lib/libalpm/po/tr.po b/lib/libalpm/po/tr.po index 5d6ac7ce..94a0534e 100644 --- a/lib/libalpm/po/tr.po +++ b/lib/libalpm/po/tr.po @@ -8,7 +8,7 @@ msgstr "" "Project-Id-Version: 3.1.4-1\n" "Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n" "POT-Creation-Date: 2008-08-23 10:54-0500\n" -"PO-Revision-Date: 2009-01-03 16:20+0200\n" +"PO-Revision-Date: 2009-03-23 17:59+0200\n" "Last-Translator: Samed Beyribey <ras0ir@eventualis.org>\n" "Language-Team: Turkish Arch Linux Users <tr@archlinuxtr.org>\n" "MIME-Version: 1.0\n" @@ -241,11 +241,11 @@ msgstr "eksik ya da geçersiz parametre geçilmiÅŸ" #, c-format msgid "library not initialized" -msgstr "kütüphane baÅŸlatılamadı" +msgstr "kitaplık baÅŸlatılamadı" #, c-format msgid "library already initialized" -msgstr "kütüphane zaten baÅŸlatıldı" +msgstr "kitaplık zaten baÅŸlatıldı" #, c-format msgid "unable to lock database" @@ -425,7 +425,7 @@ msgstr "%s-%s: paket güncellemesi göz ardı ediliyor (%s-%s ile deÄŸiÅŸtirilec #, c-format msgid "%s: local (%s) is newer than %s (%s)\n" -msgstr "%s: yereldeki paket (%s) %s (%s) paketinden daha güncel\n" +msgstr "%s: yerel depodaki paket (%s) %s deposundaki paketten (%s) daha güncel\n" #, c-format msgid "%s: ignoring package upgrade (%s => %s)\n" @@ -453,7 +453,7 @@ msgstr "çözülemeyen paket çakışmaları bulundu\n" #, c-format msgid "removing '%s' from target list because it conflicts with '%s'\n" -msgstr "'%s' hedef listesinden '%s' ile çeliÅŸtiÄŸi için kaldırıldı\n" +msgstr "'%s' hedef listesindeki '%s' ile çakıştığı için kaldırıldı\n" #, c-format msgid "command: %s\n" @@ -549,9 +549,9 @@ msgstr "%s açılamadı: %s\n" #, c-format msgid "no %s cache exists, creating...\n" -msgstr "%s tamponu bulunmuyor, oluÅŸturuluyor...\n" +msgstr "%s önbelleÄŸi bulunmuyor, oluÅŸturuluyor...\n" #, c-format msgid "couldn't create package cache, using /tmp instead\n" -msgstr "paket tamponu oluÅŸturulamadı, /tmp kullanılacak\n" +msgstr "paket önbelleÄŸi oluÅŸturulamadı, /tmp kullanılacak\n" @@ -9,7 +9,7 @@ msgstr "" "Project-Id-Version: pacman\n" "Report-Msgid-Bugs-To: pacman-dev@archlinux.org\n" "POT-Creation-Date: 2009-01-02 22:24-0600\n" -"PO-Revision-Date: 2009-01-03 16:23+0200\n" +"PO-Revision-Date: 2009-03-23 17:52+0200\n" "Last-Translator: Samed Beyribey <ras0ir@eventualis.org>\n" "Language-Team: Türkçe <tr@archlinuxtr.org>\n" "MIME-Version: 1.0\n" @@ -343,12 +343,12 @@ msgstr "" #, c-format msgid " --asdeps install packages as non-explicitly installed\n" -msgstr " --asdeps paket(ler)i bağımlılık olarak kur\n" +msgstr " --asdeps paket(ler)i bağımlılık olarak kur\n" #, c-format msgid " --asexplicit install packages as explicitly installed\n" msgstr "" -" --asexplicit paket(ler)i doÄŸrudan kurulmuÅŸ paket olarak kur\n" +" --asexplicit paket(ler)i doÄŸrudan kurulmuÅŸ paket olarak kur\n" #, c-format msgid " -f, --force force install, overwrite conflicting files\n" @@ -393,7 +393,7 @@ msgstr " -o, --owns <dosya> <dosya> adlı dosyayı içeren paketi sorgula\n" #, c-format msgid " -p, --file <package> query a package file instead of the database\n" -msgstr " -p, --file <paket> veritabanı yerine paket dosyasını sorgula\n" +msgstr " -p, --file <paket> veritabanı yerine paket dosyasını sorgula\n" #, c-format msgid "" @@ -411,7 +411,7 @@ msgstr "" #, c-format msgid " -u, --upgrades list all packages that can be upgraded\n" -msgstr " -u, --upgrades güncellenebilecek paketleri listele\n" +msgstr " -u, --upgrades güncellenebilecek paketleri listele\n" #, c-format msgid " -q, --quiet show less information for query and search\n" @@ -478,7 +478,7 @@ msgid "" " ignore a group upgrade (can be used more than once)\n" msgstr "" " --ignoregroup <grp>\n" -" güncelleme sırasında grubu görmezden gel (birden çok " +" güncelleme sırasında grubu görmezden gel (birden çok " "grup için kullanılabilir)\n" #, c-format @@ -524,7 +524,7 @@ msgid "" " This program may be freely redistributed under\n" " the terms of the GNU General Public License.\n" msgstr "" -" Bu yazılım GNU Genel Kamu Lisansı ÅŸartlarına \n" +" Bu yazılım GNU Genel Kamu Lisansı hükümlerine \n" " uymak ÅŸartıyla özgürce dağıtılabilir\n" #, c-format @@ -541,7 +541,7 @@ msgstr "kayıt dosyası ayarlama sorunu '%s' (%s)\n" #, c-format msgid "'%s' is not a valid debug level\n" -msgstr "'%s' geçerli bir haya ayıklama seviyesi deÄŸil\n" +msgstr "'%s' geçerli bir hata ayıklama seviyesi deÄŸil\n" #, c-format msgid "problem adding cachedir '%s' (%s)\n" @@ -561,7 +561,7 @@ msgstr "ayar dosyası %s, satır %d: hatalı kısım adı.\n" #, c-format msgid "could not register '%s' database (%s)\n" -msgstr "veritabanı (%s) kaydedilemedi(%s)\n" +msgstr "veritabanı (%s) kaydedilemedi (%s)\n" #, c-format msgid "config file %s, line %d: syntax error in config file- missing key.\n" @@ -575,11 +575,11 @@ msgstr "ayar dosyası %s, satır %d: Tüm ayar satırları bir kısma ait olmalÄ #, c-format msgid "config file %s, line %d: directive '%s' not recognized.\n" -msgstr "ayar dosyası %s, satır %d: ayar satırı '%s' tanımlanamadı.\n" +msgstr "ayar dosyası %s, satır %d: ayar komutu '%s' tanımlanamadı.\n" #, c-format msgid "invalid value for 'CleanMethod' : '%s'\n" -msgstr "CleanMethod' için geçersiz deÄŸer : '%s'\n" +msgstr "'CleanMethod' için geçersiz deÄŸer : '%s'\n" #, c-format msgid "could not add server URL to database '%s': %s (%s)\n" @@ -599,7 +599,7 @@ msgstr "yerel veritabanı (%s) kaydedilemedi\n" #, c-format msgid "no operation specified (use -h for help)\n" -msgstr "herhangi bir iÅŸlem belirlenmedi (yardım için -h)\n" +msgstr "herhangi bir iÅŸlem belirlenmedi (yardım için -h kullanın)\n" #, c-format msgid "no file was specified for --owns\n" @@ -731,7 +731,7 @@ msgstr "önbellek dizinine eriÅŸilemedi\n" #, c-format msgid "done.\n" -msgstr "tamam.\n" +msgstr "tamamlandı.\n" #, c-format msgid "Do you want to remove ALL packages from cache?" @@ -811,7 +811,7 @@ msgstr " yerel veritabanı güncel\n" #, c-format msgid "Proceed with download?" -msgstr "Ä°ndirmeye onay veriyor musunuz?" +msgstr "Ä°ndirme iÅŸlemine onay veriyor musunuz?" #, c-format msgid "Proceed with installation?" @@ -819,7 +819,7 @@ msgstr "Kuruluma onay veriyor musunuz?" #, c-format msgid "%s exists in both '%s' and '%s'\n" -msgstr "%s hem '%s' hem de '%s' paketinde mevcut\n" +msgstr "%s hem '%s' hem de '%s' içerisinde yer alıyor\n" #, c-format msgid "%s: %s exists in filesystem\n" @@ -969,7 +969,7 @@ msgid "Aborting..." msgstr "Çıkılıyor..." msgid "The download program %s is not installed." -msgstr "Ä°ndirme programı %s kurulmamış." +msgstr "Ä°ndirme programı %s kurulu deÄŸil." msgid "Pacman returned a fatal error (%i): %s" msgstr "Pacman ölümcül bir hata döndürdü (%i): %s" @@ -998,7 +998,7 @@ msgstr "" "deÄŸilsiniz." msgid "Found %s in build dir" -msgstr "%s, derlenme dizininde bulundu" +msgstr "%s, derleme dizininde bulundu" msgid "Using cached copy of %s" msgstr "%s için önbellekteki kopya kullanılıyor" @@ -1034,7 +1034,7 @@ msgid "NOT FOUND" msgstr "BULUNAMADI" msgid "Passed" -msgstr "Geçildi" +msgstr "DoÄŸrulandı" msgid "FAILED" msgstr "BAÅžARISIZ" @@ -1052,7 +1052,7 @@ msgid "Unable to find source file %s for extraction." msgstr "Açılacak olan kaynak dosya (%s) bulunamadı." msgid "Failed to extract %s" -msgstr "%s açılırken hata" +msgstr "%s arÅŸivi ayıklanamadı" msgid "Starting build()..." msgstr "Derleme safhasına geçiliyor..." @@ -1089,7 +1089,7 @@ msgid "Generating .PKGINFO file..." msgstr ".PKGINFO dosyası oluÅŸturuluyor..." msgid "Please add a license line to your %s!" -msgstr "Lütfen %s'inize bir lisans satırı ekleyin!" +msgstr "Lütfen %s dosyanıza bir lisans satırı ekleyin!" msgid "Example for GPL'ed software: license=('GPL')." msgstr "GPL ile lisanslanmış yazılımlar için örnek: license=('GPL')." @@ -1107,7 +1107,7 @@ msgid "Failed to create package file." msgstr "Paket oluÅŸturulamadı." msgid "Cannot find the xdelta binary! Is xdelta installed?" -msgstr "xdelta ikilik dosyası bulunamıyor! xdelta kurulu mu?" +msgstr "xdelta ikili dosyası bulunamıyor! xdelta kurulu mu?" msgid "Making delta from version %s..." msgstr "%s sürümünden fark oluÅŸturuluyor..." @@ -1270,7 +1270,7 @@ msgid "" msgstr " --noprogressbar Dosyalar indirilirken durum çubuÄŸu gösterme" msgid "If -p is not specified, makepkg will look for '%s'" -msgstr "EÄŸer -p kullanılmışsa, makepkg '%s' arayacak" +msgstr "EÄŸer -p kullanılmamışsa, makepkg '%s' dosyasını arayacaktır" msgid "" "Copyright (C) 2002-2007 Judd Vinet <jvinet@zeroflux.org>.\\n\\nThis is free " @@ -1282,7 +1282,7 @@ msgstr "" "yasalar kapsamında da hiçbir garantisi yoktur.\\n" msgid "%s not found." -msgstr "%s bulunamadı" +msgstr "%s bulunamadı." msgid "\\0--holdver and --forcever cannot both be specified" msgstr "\\0--holdver ve --forcever birlikte kullanılamazlar" @@ -1355,7 +1355,7 @@ msgstr "" "içindir." msgid "Cannot find the sudo binary! Is sudo installed?" -msgstr "Sudo ikili dosyası bulunamadı! Sudo yüklü mü?" +msgstr "Sudo ikili dosyası bulunamadı! Sudo kurulu mu?" msgid "Missing dependencies cannot be installed or removed as a normal user" msgstr "" @@ -1593,7 +1593,7 @@ msgid "Computing md5 checksums..." msgstr "md5 kontrolleri hesaplanıyor..." msgid "Creating 'depends' db entry..." -msgstr "veribatanı 'bağımlılıklar' girdisi oluÅŸturuluyor..." +msgstr "veritabanı 'bağımlılıklar' girdisi oluÅŸturuluyor..." msgid "Creating 'deltas' db entry..." msgstr "veritabanı 'farklar' girdisi oluÅŸturuluyor..." diff --git a/scripts/makepkg.sh.in b/scripts/makepkg.sh.in index a41b0695..97acfb49 100644 --- a/scripts/makepkg.sh.in +++ b/scripts/makepkg.sh.in @@ -69,6 +69,7 @@ IGNOREARCH=0 HOLDVER=0 PKGFUNC=0 SPLITPKG=0 +COLORMSG=0 # Forces the pkgver of the current PKGBUILD. Used by the fakeroot call # when dealing with svn/cvs/etc PKGBUILDs. @@ -80,7 +81,7 @@ PACMAN_OPTS= plain() { local mesg=$1; shift - if [ -t 2 -a ! "$USE_COLOR" = "n" -a "$(check_buildenv color)" = "y" ]; then + if [ $COLORMSG -eq 1 ]; then printf "\033[1;1m ${mesg}\033[1;0m\n" "$@" >&2 else printf " ${mesg}\n" "$@" >&2 @@ -89,7 +90,7 @@ plain() { msg() { local mesg=$1; shift - if [ -t 2 -a ! "$USE_COLOR" = "n" -a "$(check_buildenv color)" = "y" ]; then + if [ $COLORMSG -eq 1 ]; then printf "\033[1;32m==>\033[1;0m\033[1;1m ${mesg}\033[1;0m\n" "$@" >&2 else printf "==> ${mesg}\n" "$@" >&2 @@ -98,7 +99,7 @@ msg() { msg2() { local mesg=$1; shift - if [ -t 2 -a ! "$USE_COLOR" = "n" -a "$(check_buildenv color)" = "y" ]; then + if [ $COLORMSG -eq 1 ]; then printf "\033[1;34m ->\033[1;0m\033[1;1m ${mesg}\033[1;0m\n" "$@" >&2 else printf " -> ${mesg}\n" "$@" >&2 @@ -107,7 +108,7 @@ msg2() { warning() { local mesg=$1; shift - if [ -t 2 -a ! "$USE_COLOR" = "n" -a "$(check_buildenv color)" = "y" ]; then + if [ $COLORMSG -eq 1 ]; then printf "\033[1;33m==> $(gettext "WARNING:")\033[1;0m\033[1;1m ${mesg}\033[1;0m\n" "$@" >&2 else printf "==> $(gettext "WARNING:") ${mesg}\n" "$@" >&2 @@ -116,7 +117,7 @@ warning() { error() { local mesg=$1; shift - if [ -t 2 -a ! "$USE_COLOR" = "n" -a "$(check_buildenv color)" = "y" ]; then + if [ $COLORMSG -eq 1 ]; then printf "\033[1;31m==> $(gettext "ERROR:")\033[1;0m\033[1;1m ${mesg}\033[1;0m\n" "$@" >&2 else printf "==> $(gettext "ERROR:") ${mesg}\n" "$@" >&2 @@ -154,7 +155,14 @@ clean_up() { rm -rf "$pkgdir" "$srcdir" if [ -n "$pkgname" ]; then # Can't do this unless the BUILDSCRIPT has been sourced. - rm -f "${pkgname}-${pkgver}-${pkgrel}-${CARCH}.log*" + rm -f "${pkgbase}-${pkgver}-${pkgrel}-${CARCH}-build.log"* + if [ "$PKGFUNC" -eq 1 ]; then + rm -f "${pkgbase}-${pkgver}-${pkgrel}-${CARCH}-package.log"* + elif [ "$SPLITPKG" -eq 1 ]; then + for pkg in ${pkgname[@]}; do + rm -f "${pkg}-${pkgver}-${pkgrel}-${CARCH}-package.log"* + done + fi fi fi @@ -565,26 +573,29 @@ check_checksums() { local idx=0 local file for file in "${source[@]}"; do + local found=1 file="$(get_filename "$file")" echo -n " $file ... " >&2 if [ ! -f "$file" ] ; then - if [ ! -f "$file" ] ; then + if [ ! -f "$SRCDEST/$file" ] ; then echo "$(gettext "NOT FOUND")" >&2 errors=1 - continue + found=0 else file="$SRCDEST/$file" fi fi - local expectedsum="$(echo ${integrity_sums[$idx]} | tr '[A-F]' '[a-f]')" - local realsum="$(openssl dgst -${integ} "$file" | awk '{print $NF}')" - if [ "$expectedsum" = "$realsum" ]; then - echo "$(gettext "Passed")" >&2 - else - echo "$(gettext "FAILED")" >&2 - errors=1 + if [ $found -gt 0 ] ; then + local expectedsum="$(echo ${integrity_sums[$idx]} | tr '[A-F]' '[a-f]')" + local realsum="$(openssl dgst -${integ} "$file" | awk '{print $NF}')" + if [ "$expectedsum" = "$realsum" ]; then + echo "$(gettext "Passed")" >&2 + else + echo "$(gettext "FAILED")" >&2 + errors=1 + fi fi idx=$((idx + 1)) @@ -689,7 +700,7 @@ run_build() { local ret=0 if [ "$LOGGING" -eq 1 ]; then - BUILDLOG="${startdir}/${pkgname}-${pkgver}-${pkgrel}-${CARCH}-build.log" + BUILDLOG="${startdir}/${pkgbase}-${pkgver}-${pkgrel}-${CARCH}-build.log" if [ -f "$BUILDLOG" ]; then local i=1 while true; do @@ -1006,15 +1017,15 @@ create_srcpackage() { fi msg "$(gettext "Creating source package...")" local srclinks="$(mktemp -d "$startdir"/srclinks.XXXXXXXXX)" - mkdir "${srclinks}"/${pkgname} + mkdir "${srclinks}"/${pkgbase} msg2 "$(gettext "Adding %s...")" "$BUILDSCRIPT" - ln -s "${startdir}/${BUILDSCRIPT}" "${srclinks}/${pkgname}/" + ln -s "${startdir}/${BUILDSCRIPT}" "${srclinks}/${pkgbase}/" if [ -n "$install" ]; then if [ -f $install ]; then msg2 "$(gettext "Adding install script...")" - ln -s "${startdir}/$install" "${srclinks}/${pkgname}/" + ln -s "${startdir}/$install" "${srclinks}/${pkgbase}/" else error "$(gettext "Install script %s not found.")" "$install" fi @@ -1022,7 +1033,7 @@ create_srcpackage() { if [ -f ChangeLog ]; then msg2 "$(gettext "Adding %s...")" "ChangeLog" - ln -s "${startdir}/ChangeLog" "${srclinks}/${pkgname}" + ln -s "${startdir}/ChangeLog" "${srclinks}/${pkgbase}" fi local netfile @@ -1030,10 +1041,10 @@ create_srcpackage() { local file=$(get_filename "$netfile") if [ -f "$netfile" ]; then msg2 "$(gettext "Adding %s...")" "$netfile" - ln -s "${startdir}/$netfile" "${srclinks}/${pkgname}" + ln -s "${startdir}/$netfile" "${srclinks}/${pkgbase}" elif [ "$SOURCEONLY" -eq 2 -a -f "$SRCDEST/$file" ]; then msg2 "$(gettext "Adding %s...")" "$file" - ln -s "$SRCDEST/$file" "${srclinks}/${pkgname}/" + ln -s "$SRCDEST/$file" "${srclinks}/${pkgbase}/" fi done @@ -1045,12 +1056,12 @@ create_srcpackage() { "$SRCEXT" ;; esac - local pkg_file="$PKGDEST/${pkgname}-${pkgver}-${pkgrel}${SRCEXT}" + local pkg_file="$PKGDEST/${pkgbase}-${pkgver}-${pkgrel}${SRCEXT}" # tar it up msg2 "$(gettext "Compressing source package...")" cd "${srclinks}" - if ! bsdtar -c${TAR_OPT}Lf "$pkg_file" ${pkgname}; then + if ! bsdtar -c${TAR_OPT}Lf "$pkg_file" ${pkgbase}; then error "$(gettext "Failed to create source package file.")" exit 1 # TODO: error code fi @@ -1060,11 +1071,28 @@ create_srcpackage() { install_package() { [ "$INSTALL" -eq 0 ] && return - msg "$(gettext "Installing package ${pkgname} with pacman -U...")" + + if [ "$SPLITPKG" -eq 0 ]; then + msg "$(gettext "Installing package ${pkgname} with pacman -U...")" + else + msg "$(gettext "Installing ${pkgbase} package group with pacman -U...")" + fi + + local pkglist + for pkg in ${pkgname[@]}; do + pkglist="${pkglist} $PKGDEST/${pkg}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT}" + done + + local ret=0 if [ "$ASROOT" -eq 0 ]; then - sudo pacman $PACMAN_OPTS -U $PKGDEST/${pkgname}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT} || exit $? + sudo pacman $PACMAN_OPTS -U ${pkglist} || ret=$? else - pacman $PACMAN_OPTS -U $PKGDEST/${pkgname}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT} || exit $? + pacman $PACMAN_OPTS -U ${pkglist} || ret=$? + fi + + if [ $ret -ne 0 ]; then + warning "$(gettext "Failed to install built package(s).")" + return 0 fi } @@ -1391,6 +1419,11 @@ if [ -r ~/.makepkg.conf ]; then source ~/.makepkg.conf fi +# check if messages are to be printed using color +if [ -t 2 -a ! "$USE_COLOR" = "n" -a "$(check_buildenv color)" = "y" ]; then + COLORMSG=1 +fi + # override settings with an environment variable for batch processing PKGDEST=${_PKGDEST:-$PKGDEST} PKGDEST=${PKGDEST:-$startdir} #default to $startdir if undefined @@ -1482,9 +1515,9 @@ if [ "$ASROOT" -eq 0 \ fi fi -unset pkgname pkgver pkgrel pkgdesc url license groups provides md5sums -unset replaces depends conflicts backup source install build makedepends -unset optdepends options noextract +unset pkgname pkgbase pkgver pkgrel pkgdesc url license groups provides +unset md5sums replaces depends conflicts backup source install build +unset makedepends optdepends options noextract if [ ! -f "$BUILDSCRIPT" ]; then if [ -t 0 ]; then @@ -1516,10 +1549,6 @@ if [ "$(type -t package)" = "function" ]; then PKGFUNC=1 fi -if [ "${#pkgname[@]}" -gt "1" ]; then - SPLITPKG=1 -fi - # check for no-no's in the build script if [ -z "$pkgname" ]; then error "$(gettext "%s is not allowed to be empty.")" "pkgname" @@ -1546,9 +1575,11 @@ if [ "$arch" = 'any' ]; then CARCH='any' fi +pkgbase=${pkgbase:-${pkgname[0]}} + if ! in_array $CARCH ${arch[@]}; then if [ "$IGNOREARCH" -eq 0 ]; then - error "$(gettext "%s is not available for the '%s' architecture.")" "$pkgname" "$CARCH" + error "$(gettext "%s is not available for the '%s' architecture.")" "$pkgbase" "$CARCH" plain "$(gettext "Note that many packages may need a line added to their %s")" "$BUILDSCRIPT" plain "$(gettext "such as arch=('%s').")" "$CARCH" exit 1 @@ -1594,6 +1625,10 @@ unset valid_options opt known kopt devel_check devel_update +if [ "${#pkgname[@]}" -gt "1" ]; then + SPLITPKG=1 +fi + if [ -f "$PKGDEST/${pkgname}-${pkgver}-${pkgrel}-${CARCH}${PKGEXT}" \ -a "$FORCE" -eq 0 -a "$SOURCEONLY" -eq 0 -a "$NOBUILD" -eq 0 ]; then if [ "$INSTALL" -eq 1 ]; then @@ -1612,6 +1647,7 @@ if [ "$INFAKEROOT" -eq 1 ]; then if [ "$PKGFUNC" -eq 0 ]; then if [ "$REPKG" -eq 0 ]; then run_build + tidy_install fi else run_package @@ -1635,17 +1671,17 @@ if [ "$INFAKEROOT" -eq 1 ]; then exit 0 # $E_OK fi -msg "$(gettext "Making package: %s")" "$pkgname $pkgver-$pkgrel $CARCH ($(date))" +msg "$(gettext "Making package: %s")" "$pkgbase $pkgver-$pkgrel $CARCH ($(date))" # if we are creating a source-only package, go no further if [ "$SOURCEONLY" -ne 0 ]; then - if [ -f "$PKGDEST/${pkgname}-${pkgver}-${pkgrel}${SRCEXT}" \ + if [ -f "$PKGDEST/${pkgbase}-${pkgver}-${pkgrel}${SRCEXT}" \ -a "$FORCE" -eq 0 ]; then error "$(gettext "A package has already been built. (use -f to overwrite)")" exit 1 fi create_srcpackage - msg "$(gettext "Source package created: %s")" "$pkgname ($(date))" + msg "$(gettext "Source package created: %s")" "$pkgbase ($(date))" exit 0 fi @@ -1759,7 +1795,7 @@ else fi fi -msg "$(gettext "Finished making: %s")" "$pkgname $pkgver-$pkgrel $CARCH ($(date))" +msg "$(gettext "Finished making: %s")" "$pkgbase $pkgver-$pkgrel $CARCH ($(date))" install_package diff --git a/src/pacman/pacman.c b/src/pacman/pacman.c index 59916d62..14cfdfa1 100644 --- a/src/pacman/pacman.c +++ b/src/pacman/pacman.c @@ -143,6 +143,7 @@ static void usage(int op, const char * const myname) printf(_(" --noprogressbar do not show a progress bar when downloading files\n")); printf(_(" --noscriptlet do not execute the install scriptlet if one exists\n")); printf(_(" -v, --verbose be verbose\n")); + printf(_(" --debug display debug messages\n")); printf(_(" -r, --root <path> set an alternate installation root\n")); printf(_(" -b, --dbpath <path> set an alternate database location\n")); printf(_(" --cachedir <dir> set an alternate package cache location\n")); |