Arch Linux package-making HOWTO with GUIDELINES

New to making your own Arch packages? Check out the Archwiki's article on package-making here.
Other useful links at bottom of article.
Enjoy.

I think you should at least mentuon the base-devel group somewhere in this article. Probably somewhere in the start of it.

Similar Messages

  • Slackware TGZ to Arch Linux Package Converter

    I have two programs that interest me (LilyPond and Battle for Wesnoth) that don't have Arch Linux packages and compiling them would involve hunting everywhere for obscure dependencies (LilyPond in particular) so I just downloaded the Slackware packages, inspected them and found that by unzipping them onto the root folder (as superuser) and running the install script (if there is one) I can get them to run with minimal fuss.
    Has the idea of making a Slackware to Arch package converter been brought up before? Is there any problems with this? (Slackware is i386-optimised if I remember correctly, but I think it's still worth it since there is more Slackware packages than Arch Linux ones out there.)

    i3839 wrote:Flames?? Where? You sure you didn't misread something?
    Probably.
    Here's what I read, admitting that it doesn't seem quite as bad the second time around...:
    Oh? All I was hearing is that Arch already has enough packages, and that the devs are overloaded and almost down.
    "you don't know which way is up, you contradict yourself while continuing to ignore the problems and aren't fixing anything".
    Also getting custom packages into Arch's official repository seems a bit hard currently, not to mention that it's totally unclear how to do that (drop it in incomming and wait a year? Lotto?).
    "The system isn't working and you haven't done anything to try to fix it. I haven't read or noticed any of the threads illustrating that this topic has been argued to death and isn't going unnoticed"
    Maintaining packages is the most work, and every distro maintains the same packages over and over again. Tell me why to not use good, working packages from another sane distro?
    "The other distros are better."
    (Personally, I don't care if anybody likes another distro better, but if so, use it instead, don't talk about it)
    Changing GCC often gives the same problem as updating to new major libraries. Simply leave the old GCC libs or make a seperate package for them. Currently it's rather impossible in Arch to install new packages with an outdated system, if that's solved then it's also easy to use Slackware packages.
    "The Arch philosophy of keeping packages stable but up to date is just plain wrong.  I don't bother to pacman -Syu before I mention problems."
    Of course if would be best if there was a nice, good binary package standard that works on all distros, so that the application makers can make and maintain the packages themselves, but that's utopia (paths are too often hardcoded for instance).
    "hey, I do have some good ideas".
    It isn't a matter of being able to do something or not, it's a matter of convenience. All programs should be relative easy to compile from source, but that doesn't mean that everyone should compile all programs themselves.
    "There aren't enough Arch binaries to go around"
    OR:
    "ABS sucks"
    OR:
    "Hold my hand, I can't compile."
    OR:
    "I use Arch cause I don't like Gentoo". :-D 
    Yeah, some of that is a little (or quite, or even very) harsh, you can blame it on me rather than taking it to heart.
    As for the slackware packages issue, I'm personally not writing a script to convert them; I've never used slackware in my life. The idea has merit, but I get tired of people discussing pros and cons and not doing anything. I think that's because I'm about as bad as anyone on that front, possibly worse.
    Dusty

  • Debtap - A script to convert .deb packages to Arch Linux packages

    I wrote this script in my free time to help people who, for any reason, want to convert a .deb to an Arch Linux package. It works in a similar way with alien (which converts .deb packages to .rpm packages and vice versa), but, unlike alien, it is focused on accuracy of conversion, trying to translate Debian/Ubuntu packages names to the correct Arch Linux packages names and store them in the dependencies fields of the .PKGINFO metadata in the final package. In other words, it won't only create an Arch package with the data of the original .deb package, but also it will try to create a valid and as accurate as possible .PKGINFO metadata file in the converted package. It uses pkgfile and pacman utilities to achieve this accuracy. The final package can be installed like any local Arch Linux package. Debtap is now available on AUR!
    FAQ
    Q: What "debtap" stands for?
    A: DEB To Arch (Linux) Package
    Q: Isn't better to download an official package or write a PKGBUILD in case I need to compile a package or convert a .deb package to an Arch Linux package?
    A: Sure it is, and I truely encourage you to do so. Debtap was written to create packages that either cannot be compiled (closed source packages) or cannot be built from AUR for various reasons (error during compiling or unavailable files), as a quick 'n' dirty solution and an extra option for creating Arch Linux packages for Arch Linux users.
    Q: So debtap will help me only in case I need to convert specific .deb packages to Arch Linux packages?
    A: No. In case you need to write a new PKGBUILD for a package that already exists in the Debian/Ubuntu distributions, by converting its .deb package to Arch package with debtap, thanks to the packages names translator function inside the script, it can help you determine which dependencies are needed for the package you write the PKGBUILD for and complete the necessary fields.
    Q: What are the minimum requirements to run this script?
    A: You need to have installed these dependencies: bash, binutils (provides ar utility for extracting .deb package), pkgfile, and fakeroot. You must run at least once (preferably recently) "debtap -u" to create/update pkgfile and debtap database (you do this with root privileges).
    Q: Debtap needs a lot of time to convert a package. So, why this is happening?
    A: Like I said, debtap is focused on accuracy. It won't just unpack a .deb package and then repackage its data to an Arch Linux package, ignoring metadata. Depending on the speed of your processor and the package itself, conversion can take from a few seconds to several minutes.
    Q: During conversion I get several warning messages, why?
    A: Debtap cannot be 100% accurate for several reasons,  the main reason for this is the complexity of packages names. If you want to check the freshly generated .PKGINFO and .INSTALL (this is optional file) metadata files or even fix the untranslated packages names inside .PKGINFO, debtap offers you the option to edit these files before compressing the final package.
    Q: How do I use debtap?
    A: The syntax is quite simple actually: debtap [option] package_filename
    For example: debtap world-of-goo-demo_1.0_i386.deb
    Any recommendations or questions for debtap are welcomed!
    Last edited by helix (2015-05-21 22:54:17)

    Hi helix. I've had trouble trying to use your script with ubuntu software from The Open University
    debtap OpenUniversity-ubuntu-0.1.3.20130104.deb
    ==> Extracting package data...
    ==> Fixing possible directories structure differencies...
    ==> Generating .PKGINFO file...
    debtap OpenUniversity-ubuntu-0.1.3.20130104.deb
    ==> Extracting package data...
    ==> Fixing possible directories structure differencies...
    ==> Generating .PKGINFO file...
    :: Enter Packager name:
    NewPepper2013
    :: Enter package license (you can enter multiple licenses comma seperated):
    closed
    :: If you want to edit .PKGINFO file, press (1) For vi (2) For nano (3) For a cu                                                                                                    stom editor or any other key to continue:
    ==> Generating .MTREE file...
    ==> Creating final package...
    xz: unrecognized option '--1-any.pkg.tar'
    xz: Try `xz --help' for more information.
    mv: cannot stat ‘*.xz’: No such file or directory
    ==> Removing leftover files...
    ==> Package successfully created!
    The software is called NewPepper 2013 but i've not been able to find it online except on the ou website.

  • Arch Linux Packages RSS Feed [solved]

    Hello all.
    Excuse me, but I have no idea in which forum I have to post this.
    Since yesterday, the Arch Linux Packages RSS Feed is giving me this error:
    XML Parsing Error: not well-formed
    Location: http://www.archlinux.org/rdf_feed.php
    Line Number 75, Column 42: <description>TCP wrappers (hosts.deny & hosts.allow) access control for Apache</description>
    -----------------------------------------^
    How can I notify that to the webmaster?
    Thanks in advance.

    The RSS Feed is working properly again.
    Thanks! :-)

  • Arch Linux Wallpaper 1080p (Rendered with Blender Cycles)

    Title pretty much says it all. I've included the source .blend (Blender) file for those that want to tweek it.
    Wallpaper:
    Blender Source File: Download

    Haikarainen wrote:
    This is really beautiful! I read you rendered it using blender, is this available for linux also or is it windows/mac only?
    Criticism: Tux stands out too much, doesn't feel like he fits in. I think it would be really cool and better if you worked on his materials,  perhaps making him look like a plushy? You know a little furry.
    Thank you Yes, Blender works very well on Linux, you can get it from the official arch repo ($ sudo pacman -S blender). This image was modeled and rendered entirely on Arch Linux using Blender + Gimp for some touch-ups (I would never make an Arch Linux wallpaper on Windows/Mac, that's sacrilege ).
    Thanks for the criticism as well. Like I mentioned above, I'm working on a couple improvements and different designs already. I'll keep your suggestion in mine while designing them.

  • Arch Linux package format

    Hi Guys,
    I have been playing around with pacman in the freebsd operating system. My goal is just to install a package into the freebsd system with pacman (no dependencies for now). The idea is to compile the software with the freebsd ports system, make a freebsd package and convert that to a pacman package to install it. I could not find information of the package format of pacman. However, both packages format look very similar, so I think the conversion should be straight forward.
    Do you know of any documentation of the pacman package format? Are there any tools that can help me with this?
    Thanks in advance,
    Luis.

    Ranguvar wrote:I think it'd be more work to write an auto-converter (and deal with bad PKGBUILDs it makes) than to just manually write PKGBUILDs -- they're beyond simple
    I agree. Additionally many ports stop and want you fill out options which would further complicate.
    I'm intrigued by the idea of having a pacman based BSD system, though in the long run it would warrant it's own BSD distro (ArchBSD if you will), and would not be that useful on top of Free/Net/Open BSD.
    I would envision ArchBSD based on an ArchBSD ABS tree, and not on ports. (Although ports would be a primary reference for how to build packages).
    The options for ports brings the same problems that Gentoo useflags have into the mix. How does one deal will variations of a package, and are those variations part of the dependency information? Just food for thought...

  • Linux Mint making deals with OEMs... would love this to occur with Lenovo!

    I saw a headline today: "Linux Mint Forges New Deals with OEMs".  Mint tends to work pretty well with Lenovo hardware already.  Wouldn't it be great it Lenovo were to be one of them?   hint... hint...
    As a supporter of Linux and a supporter of Lenovo, this would be very exciting news. 
    (ref: http://www.thevarguy.com/2012/11/06/linux-mint-forges-new-deals-with-oems/)

    According to picture on :
    http://xa.yimg.com/kq/groups/16701200/homepage/name/979065?type=sn
    I think lenovo did already ship meego powered devices , didnt they ?
    Moderator Note; link to site requiring log in removed
    http://rzr.online.fr/q/lenovo# g470 s103t (Please Contact me if your s10-3T is booting win7 or support bluetooth, 3g)
    Lenovo S10-3t | Model Name : 0651 | Mfg Date: 2010/06/08
    Lenovo G470 | Model Name : 20078 | M fg Date: 11/03/23 | BIOS: 40CN23WW(V2.09) 06/20/2011 | CPU: i5-2410M | Linux version 3.3.4lenovog470+ (root@lap) (gcc version 4.6.3 (Debian 4.6.3-4) ) #8 SMP Tue May 1 10:23:48 CEST 2012
    OS:GNU/Linux/Debian

  • How to upgrade a custom built kernel to the main arch linux package?

    How do you upgrade from a custom built kernel from the abs to the current release kernel from a package ? I have tried to do pacman -S linux linux-headers linux-firmware but still keep getting the old kernel i built my self.
    [root@HLA boot]# pacman -S linux linux-firmware linux-api-headers linux-headers
    warning: linux-3.14.6-1 is up to date -- reinstalling
    warning: linux-firmware-20140316.dec41bc-1 is up to date -- reinstalling
    warning: linux-api-headers-3.14.1-1 is up to date -- reinstalling
    warning: linux-headers-3.14.6-1 is up to date -- reinstalling
    resolving dependencies...
    looking for inter-conflicts...
    Packages (4): linux-3.14.6-1  linux-api-headers-3.14.1-1
                  linux-firmware-20140316.dec41bc-1  linux-headers-3.14.6-1

    It says it is reinstalling them. Doesn't it say it ? or am I missing something ? (no I'm not trying to sound sarcastic, honestly)
    warning: linux-3.14.6-1 is up to date -- reinstalling
    warning: linux-firmware-20140316.dec41bc-1 is up to date -- reinstalling
    warning: linux-api-headers-3.14.1-1 is up to date -- reinstalling
    warning: linux-headers-3.14.6-1 is up to date -- reinstalling
    Total Installed Size:   167.78 MiB
    Net Upgrade Size:       0.00 MiB
    [root@HLA boot]# pacman -S linux linux-firmware linux-api-headers linux-headers
    warning: linux-3.14.6-1 is up to date -- reinstalling
    warning: linux-firmware-20140316.dec41bc-1 is up to date -- reinstalling
    warning: linux-api-headers-3.14.1-1 is up to date -- reinstalling
    warning: linux-headers-3.14.6-1 is up to date -- reinstalling
    resolving dependencies...
    looking for inter-conflicts...
    Packages (4): linux-3.14.6-1  linux-api-headers-3.14.1-1
                  linux-firmware-20140316.dec41bc-1  linux-headers-3.14.6-1
    Total Installed Size:   167.78 MiB
    Net Upgrade Size:       0.00 MiB
    Last edited by dslink (2014-06-22 03:30:28)

  • [SOLVED] VirtualBox: Arch Linux host unable to reach guest over NA...

    Hello everyone,
    I recently installed VirtualBox on my Arch Linux install to tinker with GitLab on a Debian VM. I've set up a standard VM running Debian (wheezy) and made sure it's network settings were set to "NAT". However, I am unable to ping or ssh to this VM (which is running an ssh server among other things). Where this gets a bit weirder is that I'm perfectly able to ping and ssh to my host machine (running Arch).
    I installed the version of VirtualBox available on the official repos and I'm running on the default kernel too.
    I've install VirutalBox by following the infos posted on the wiki. My current user is part of the vboxusers group :
    % groups duane
    disk lp wheel uucp locate rfkill games network video audio optical floppy storage scanner power users vboxusers
    I've added the proper kernel modules to /etc/modules-load.d/virtualbox.conf so that they are loaded automatically on boot time :
    vboxdrv
    vboxnetadp
    vboxnetflt
    vboxpci
    % lsmod | grep vbox
    vboxpci 14581 0
    vboxnetflt 17612 0
    vboxnetadp 18355 0
    vboxdrv 264794 5 vboxnetadp,vboxnetflt,vboxpci
    I must also note that the net-tools package is installed.
    Now, I get the ip adress of my host :
    % ip addr
    1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
    valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host
    valid_lft forever preferred_lft forever
    2: enp9s0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc pfifo_fast state DOWN group default qlen 1000
    link/ether f0:4d:a2:48:5b:38 brd ff:ff:ff:ff:ff:ff
    3: wlp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether 5c:ac:4c:09:d3:f3 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.22/24 brd 192.168.1.255 scope global wlp4s0
    valid_lft forever preferred_lft forever
    inet6 fe80::5eac:4cff:fe09:d3f3/64 scope link
    valid_lft forever preferred_lft forever
    Then I try to ping it from my Debian guest.
    user@debian:~% ping 192.168.1.22 -c 3
    PING 192.168.1.22 (192.168.1.22) 56(84) bytes of data.
    64 bytes from 192.168.1.22: icmp_req=1 ttl=63 time=0.961 ms
    64 bytes from 192.168.1.22: icmp_req=2 ttl=63 time=0.722 ms
    64 bytes from 192.168.1.22: icmp_req=3 ttl=63 time=0.680 ms
    --- 192.168.1.22 ping statistics ---
    3 packets transmitted, 3 received, 0% packet loss, time 2001ms
    rtt min/avg/max/mdev = 0.680/0.787/0.961/0.127 ms
    Now I get the ip adress of my guest :
    eth0 Link encap:Ethernet HWaddr 08:00:27:77:0e:48
    inet addr:10.0.2.15 Bcast:10.0.2.255 Mask:255.255.255.0
    inet6 addr: fe80::a00:27ff:fe77:e48/64 Scope:Link
    UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1
    RX packets:69 errors:0 dropped:0 overruns:0 frame:0
    TX packets:93 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:1000
    RX bytes:11577 (11.3 KiB) TX bytes:15395 (15.0 KiB)
    lo Link encap:Local Loopback
    inet addr:127.0.0.1 Mask:255.0.0.0
    inet6 addr: ::1/128 Scope:Host
    UP LOOPBACK RUNNING MTU:16436 Metric:1
    RX packets:0 errors:0 dropped:0 overruns:0 frame:0
    TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
    collisions:0 txqueuelen:0
    RX bytes:0 (0.0 B) TX bytes:0 (0.0 B)
    And I try to ping my guest from my host :
    % ping 10.0.2.15 -c 3
    PING 10.0.2.15 (10.0.2.15) 56(84) bytes of data.
    --- 10.0.2.15 ping statistics ---
    3 packets transmitted, 0 received, 100% packet loss, time 2007ms
    There. I hope I didn't give too much information.
    I don't really understand what's going on there, usually that workfow works immediately in all the distributions I tried before, and on windows as well. I think I followed all the steps to make this work and yet it doesn't, and I'm not sure this problem is related to VirtualBox itself.
    Thanks in advance for any tip or comment on that.
    Last edited by Marneus68 (2014-01-24 10:19:39)

    What I do for all my VB guest VM's is to set 2 network interfaces, one the normal (default) NAT, and the other a host-only interface. That way your guests are completely hidden from the local lan which may be desirable if e.g., your host is a laptop which you move around various places. The guests can access anything outbound and you can still ssh to them from the host (and also, using ssh ProxyCommand via that host if you want to access them remotely).

  • Crux Linux : the origins of Arch Linux?

    So in this awesome linux timeline I found that Arch Linux was a fork from Crux Linux... now I dont have any idea how was Crux Linux, because I never tried it, I think the distro never was very popular, so I was wondering if someone would explain how was the origins of Arch Linux and its relation with Crux Linux
    Last edited by delphinen (2007-01-30 03:22:08)

    I've used Crux before I ever heard about Arch........It's not too bad, just that it's a one-man show with a gathering of faithful users.........Per Liden, the author and developer of Crux, was not interested in pleasing the general public, which is why it never became popular............He just developed it mainly for his personal tastes and anyone who wanted to use his selection was free to do so, and can make any other pkgs they want with the 'pkgmk' script..........Today, Per is retired from from Crux development and handed it over to a core team......
    @Husio
    Anyway, if you don't use abs/aur you won't like CRUX becouse there's only some base packages.
    Not entirely true........The official pkgs are contained in three separate repositories - core, opt, and contrib - and "opt" and "contib" contain quite a few packages......
    Then there's a lot of community-based user repos, usually named after the person who is sharing it to the others.........You can see who the maintainers are in the 'Maintainer' column of that repository link above.......Although now I see there are a few more categories maintained at the main ports database, while the rest are maintianed at each individual's site.........I suppose more changes will happen, now that Per has "retired"....... ;-)
    If I was to compare it to Arch, today, I would give Arch a higher rating......Arch has come a long way in the last few years, and is, IMHO, ahead of Crux in maintainability..........I've always been a devoted Slackware user, for the most part, and have tried a few other distros (including Arch) in the past, but always went back to Slack.........However, currently I'm switching to Arch as my desktop distro of choice because it's at the point I consider it better, overall, than Slack (which, to me, is saying a lot about how far along Arch has come)...... :-D
    ---thegeekster

  • Arch Linux based live gaming distro 'lg-live 0.9.5' released

    Hey all,
    first of all, sorry if this is the wrong subforum to post this in but this one seemed most appropriate.
    I would like to announce the release of live.linuX-gamers 0.9.5, an Arch Linux based live gaming distro. It was made using Archiso and of course a big investment of time. It is going to be officially released on LinuxTag 2009 in Berlin (in three days) but I thought I'd give it to you guys now.
    It is a very specialized distro: It contains lots of popular games, installs proprietary graphics card drivers out-of-the-box and provides you with a nice, clean interface for launching games and a few basic applications.
    I don't want to over-advertise this so I'll just say: Please go ahead and test it if you feel like it, maybe mirror it or seed the torrents a bit, post feedback or thoughts, insult me or threaten me, etc.
    If you want to give it a spin or see which games are on it, go over to http://live.linux-gamers.net and grab yourself an ISO/USB image.
    Thank you, Arch Linux, for making this possible.

    karol wrote:
    capoeira wrote:is there a way to install other games when using a USB-Device?
    This thread is rather old, but yeah, it's possible to remaster this "meta-distro" and add/remove games you like: http://github.com/svenstaro/lglive
    BTW, there's a new release http://live.linux-gamers.net/
    Ohh what a positive surprise to have a girl here,
    yea, i downloaded the DVD this week. I'm no gamer, I gamed in the 90ies on a Amiga 500 last time. But sometimes I get a wich to play a bit, so I found this DVD (I don't want to instal games to my production-distro and don't want to instal Catalyst either for my card)
    I want to play 3d first-person games but those ego-shooters i don't enjoy. Its running around shooting on everything and diying a hundred times. I want something more realistic, so I found penumbra and amnesia and would like to install it with this DVD. (if anyone has tips for realistic 3d-games, action-adventures, etc. I would apreciate tips)
    I will have a look at your link, thanks a lot

  • Wocka 0.5 - checkinstall for Arch Linux

    Last updated: 17th-Feb-2007
    With Wocka you can do:
    ./configure
    make
    su
    wocka
    and you'll get the application installed, and a pacman db entry too.
    Wocka automatically figures out the package name, version and/or subversion revision, and if it can, other metadata too. It determines the build system (make, unsermake, scons, cmake, etc.). It can also create a basic PKGBUILD, with some of the fields (eg name, version) magically filled in. It can also handle upgrades and check AUR for PKGBUILDs.
    Visit the site for a Arch linux package, the source tarball, and detailed usage examples. There's also a feed you can subscribe to at the site if you want to be notified of updates.
    http://methylblue.com/wocka/
    Comments, contributions, etc. most welcome! Thanks.
    ===========
    I have discovered other programs that do a similar thing for Arch. They may be better and you may want to consider them, or at least demand I implement things they do into Wocka If you do use one of the others, I'd like to hear why, if you have the time, thanks!
    bpkg
    creapkg
    pacinstall
    versionpkg
    Last edited by mxcl (2007-02-17 03:24:12)

    Firstly, I'm really sorry I didn't see the above new replies, I subscribed to this thread, but never got the emails... Must have been my spam filter I expect.
    Gullible Jones wrote:Wait a minute, why the heck does this thing require QT? It doesn't have a GUI so why would it use the QT library? :?
    I used Qt as I have 4 years experience with it and develop fast with it. With Qt4 the library is separated into Core (CLI only) and GUI components, so as soon as Arch ships Qt4 and people have it installed en-mass, I'll switch to the CLI only library. I apologise if you think I'm crazy/stupid, you may be right
    You should have talked to Xentac. He already has an app named "Wakka" IIRC.
    Hmm sucks, I may have to rename again. I renamed the first time as pacgen is a name already used by two other projects!
    sud_crow wrote:wasnt pacman's sound waka waka waka?
    heh could be, I'm not a pacman expert. Extralife the webcomic always makes pacman say "Wocka!", but I spose I should have done more research!
    phrakture wrote:Send a PKGBUILD to AUR!
    Yeah I half did this and then couldn't figure out how to work the AUR or something. I'll try again.
    I had 0.3 ready a few weeks ago, then I started using my CRT with my new XBOX 360 and didn't boot to Linux until yesterday Now I have some new TFTs.
    The changes since 0.2:
    · Automatic upgrade/merge for new installs of subversion managed source installations
    · Better versioning detection
    · Easy automatic AUR builds via: wocka --aur appname
    · Metadata is extracted from LSM files
    · --upgrade switch
    The upgrade switch basically merges the old package with what's just installed, so you don't lose any information, I figured this was the safest route. Please correct me if you disagree. Thanks

  • Php-ncurses no display in arch linux

    I have copied the ncurses-php code found here, http://devzone.zend.com/article/1083-Us … ses-in-PHP, and I have saved it as test_ncurses.php. When I run
    php test_ncurses.php
    it produces a basic ncurses screen in ubuntu, but nothing happens in arch linux.
    I checked and found that arch linux did compile php with support for ncurses. Since there is no error shown, I'm not sure what to try next. Does anyone have a suggestion for me so I can start studying ncurses-php with arch?
    Last edited by Chris DePauw (2009-03-02 07:06:45)

    You can use ABS to get the package and adjust it to build with ncurses support and build it using makepkg.  Read the wiki page about ABS and makepkg.  If this is a useful option to be included for people in general, you could also use the bug tracker to request the official Arch package adds this.

  • Install 2nd instance of Arch Linux without internet connection

    I have successfully install a first instance of Arch Linux using Arch Linux ISO + pacstrap + pacman with internet connection.
    I have updated to latest package database list (/var/lib/pacman/sync) and package cache files (/var/cache/pacman/pkg) in first instance of Arch Linux with "pacman -Swyu".
    Next, I would like to install 2nd instance of Arch Linux without using internet connection.
    I share the "/var/lib/pacman/sync" and "/var/cache/pacman/pkg" via NFS from first Arch Linux instance.
    I boot the 2nd instance with Arch Linux ISO and attempt to install without internet connection.  I mount the two NFS shares from 1st instance to "/var/cache/pacman/pkg" and "/mnt/var/lib/pacman/sync" respectively.  I execute
       # pacstrap -i -c /mnt"
    to start installation.
    I found it is almost impossible with current implementation of pacstrap script.  The pacstrap script always attempt to update package database list with -Sy option.
    I think some amendments on pacstrap script is needed to install Arch Linux without internet connection.

    I made the edit by adding the option -o to do what you want.
    I am too lazy for a feature request right now...
    #!/bin/bash
    # Assumptions:
    # 1) User has partitioned, formatted, and mounted partitions on /mnt
    # 2) Network is functional
    # 3) Arguments passed to the script are valid pacman targets
    # 4) A valid mirror appears in /etc/pacman.d/mirrorlist
    shopt -s extglob
    out() { printf "$1 $2\n" "${@:3}"; }
    error() { out "==> ERROR:" "$@"; } >&2
    msg() { out "==>" "$@"; }
    msg2() { out " ->" "$@";}
    die() { error "$@"; exit 1; }
    in_array() {
    local i
    for i in "${@:2}"; do
    [[ $1 = "$i" ]] && return
    done
    track_mount() {
    mount "$@" && CHROOT_ACTIVE_MOUNTS=("$2" "${CHROOT_ACTIVE_MOUNTS[@]}")
    api_fs_mount() {
    CHROOT_ACTIVE_MOUNTS=()
    { mountpoint -q "$1" || track_mount "$1" "$1" --bind; } &&
    track_mount proc "$1/proc" -t proc -o nosuid,noexec,nodev &&
    track_mount sys "$1/sys" -t sysfs -o nosuid,noexec,nodev &&
    track_mount udev "$1/dev" -t devtmpfs -o mode=0755,nosuid &&
    track_mount devpts "$1/dev/pts" -t devpts -o mode=0620,gid=5,nosuid,noexec &&
    track_mount shm "$1/dev/shm" -t tmpfs -o mode=1777,nosuid,nodev &&
    track_mount run "$1/run" -t tmpfs -o nosuid,nodev,mode=0755 &&
    track_mount tmp "$1/tmp" -t tmpfs -o mode=1777,strictatime,nodev,nosuid
    api_fs_umount() {
    umount "${CHROOT_ACTIVE_MOUNTS[@]}"
    valid_number_of_base() {
    local base=$1 len=${#2} i=
    for (( i = 0; i < len; i++ )); do
    (( (${2:i:1} & ~(base - 1)) == 0 )) || return
    done
    mangle() {
    local i= chr= out=
    unset {a..f} {A..F}
    for (( i = 0; i < ${#1}; i++ )); do
    chr=${1:i:1}
    case $chr in
    [[:space:]\\])
    printf -v chr '%03o' "'$chr"
    out+=\\
    # fallthrough
    out+=$chr
    esac
    done
    printf '%s' "$out"
    unmangle() {
    local i= chr= out= len=$(( ${#1} - 4 ))
    unset {a..f} {A..F}
    for (( i = 0; i < len; i++ )); do
    chr=${1:i:1}
    case $chr in
    if valid_number_of_base 8 "${1:i+1:3}" ||
    valid_number_of_base 16 "${1:i+1:3}"; then
    printf -v chr '%b' "${1:i:4}"
    (( i += 3 ))
    fi
    # fallthrough
    out+=$chr
    esac
    done
    printf '%s' "$out${1:i}"
    dm_name_for_devnode() {
    read dm_name <"/sys/class/block/${1#/dev/}/dm/name"
    if [[ $dm_name ]]; then
    printf '/dev/mapper/%s' "$dm_name"
    else
    # don't leave the caller hanging, just print the original name
    # along with the failure.
    print '%s' "$1"
    error 'Failed to resolve device mapper name for: %s' "$1"
    fi
    fstype_is_pseudofs() {
    # list taken from util-linux source: libmount/src/utils.c
    local -A pseudofs_types=([anon_inodefs]=1
    [autofs]=1
    [bdev]=1
    [binfmt_misc]=1
    [cgroup]=1
    [configfs]=1
    [cpuset]=1
    [debugfs]=1
    [devfs]=1
    [devpts]=1
    [devtmpfs]=1
    [dlmfs]=1
    [fuse.gvfs-fuse-daemon]=1
    [fusectl]=1
    [hugetlbfs]=1
    [mqueue]=1
    [nfsd]=1
    [none]=1
    [pipefs]=1
    [proc]=1
    [pstore]=1
    [ramfs]=1
    [rootfs]=1
    [rpc_pipefs]=1
    [securityfs]=1
    [sockfs]=1
    [spufs]=1
    [sysfs]=1
    [tmpfs]=1)
    (( pseudofs_types["$1"] ))
    newroot=/mnt
    hostcache=0
    copykeyring=1
    copymirrorlist=1
    offline=0
    usage() {
    cat <<EOF
    usage: ${0##*/} [options] root [packages...]
    Options:
    -C config Use an alternate config file for pacman
    -c Use the package cache on the host, rather than the target
    -d Allow installation to a non-mountpoint directory
    -G Avoid copying the host's pacman keyring to the target
    -i Avoid auto-confirmation of package selections
    -M Avoid copying the host's mirrorlist to the target
    -o Do not update the pacman cache for offline installation
    -h Print this help message
    pacstrap installs packages to the specified new root directory. If no packages
    are given, pacstrap defaults to the "base" group.
    EOF
    if [[ -z $1 || $1 = @(-h|--help) ]]; then
    usage
    exit $(( $# ? 0 : 1 ))
    fi
    (( EUID == 0 )) || die 'This script must be run with root privileges'
    while getopts ':C:cdGiMo' flag; do
    case $flag in
    C)
    pacman_config=$OPTARG
    d)
    directory=1
    c)
    hostcache=1
    i)
    interactive=1
    G)
    copykeyring=0
    M)
    copymirrorlist=0
    o)
    offline=1
    die '%s: option requires an argument -- '\''%s'\' "${0##*/}" "$OPTARG"
    die '%s: invalid option -- '\''%s'\' "${0##*/}" "$OPTARG"
    esac
    done
    shift $(( OPTIND - 1 ))
    (( $# )) || die "No root directory specified"
    newroot=$1; shift
    pacman_args=("${@:-base}")
    if (( ! hostcache )); then
    pacman_args+=(--cachedir="$newroot/var/cache/pacman/pkg")
    fi
    if (( ! interactive )); then
    pacman_args+=(--noconfirm)
    fi
    if (( ! offline )); then
    pacman_args+=(-y)
    fi
    if [[ $pacman_config ]]; then
    pacman_args+=(--config="$pacman_config")
    fi
    [[ -d $newroot ]] || die "%s is not a directory" "$newroot"
    if ! mountpoint -q "$newroot" && (( ! directory )); then
    die '%s is not a mountpoint!' "$newroot"
    fi
    # create obligatory directories
    msg 'Creating install root at %s' "$newroot"
    mkdir -m 0755 -p "$newroot"/var/{cache/pacman/pkg,lib/pacman,log} "$newroot"/{dev,run,etc}
    mkdir -m 1777 -p "$newroot"/tmp
    mkdir -m 0555 -p "$newroot"/{sys,proc}
    # always call umount on quit after this point
    trap 'api_fs_umount "$newroot" 2>/dev/null' EXIT
    # mount API filesystems
    api_fs_mount "$newroot" || die "failed to setup API filesystems in new root"
    msg 'Installing packages to %s' "$newroot"
    if ! pacman -r "$newroot" -S "${pacman_args[@]}"; then
    die 'Failed to install packages to new root'
    fi
    if (( copykeyring )); then
    # if there's a keyring on the host, copy it into the new root, unless it exists already
    if [[ -d /etc/pacman.d/gnupg && ! -d $newroot/etc/pacman.d/gnupg ]]; then
    cp -a /etc/pacman.d/gnupg "$newroot/etc/pacman.d/"
    fi
    fi
    if (( copymirrorlist )); then
    # install the host's mirrorlist onto the new root
    cp -a /etc/pacman.d/mirrorlist "$newroot/etc/pacman.d/"
    fi
    # vim: et ts=2 sw=2 ft=sh:

  • Arch Linux for Netbook ?

    Hello guys,
    im new user with Linux
    is arch Linux compatible with Netbooks ?
    because im using crunchbang Linux . i faced many incompatibility issues like Display/backlight/FN keys
    and i hope this arch Linux  can be compatible with my Samsung Netbook

    Use google with the site option to search. (It works better than the forum search.)
    When I tried, google turned up https://wiki.archlinux.org/index.php/Samsung_N150. It doesn't seem to cover your netbook specifically but perhaps there's something useful there.
    Here's the category page for samsung: https://wiki.archlinux.org/index.php/Category:Samsung.
    Last edited by cfr (2012-08-11 00:17:11)

Maybe you are looking for

  • How to search records in a standard table with * ?

    Hi everyone, Can anyone tell me how to search records in a standard table with * ? That is, in screen if user type * abc * for searching the records in which the field MC_STEXT contains 'abc'. What the code should be? How to complete the code below?

  • Calling an MFL business service from a WSDL proxy service

    Hi, I'm using Service Bus v2.6, and trying to call an MFL business service from a wsdl based proxy service. I have done the following so far: - Define an MFL-based business service that writes MFL messages to a JMS queue and reads reply messages off

  • Problem viewing latop on tv

    Could some one help?! I own an IBM thinkpad X31 and I would like to be able to setup my laptop to my TV. I don't have S-Video output on the laptop but S-video IN on all the TV. How would I go about it? I thank anyone who can help me with this.

  • What is in my Storage Utility Disk?

    "What EXACTLY" is in my "other" storage on my utility disk?  I guess I need to delete files since it's taking up about 80% of the space and I cannot download any new stuff or even back up my phone.  What do I delete?  Thank you.

  • In the modern world why is not possible to download apps from foreign countries whilst in the uk...!?

    In the modern world why is not possible to download apps from foreign countries whilst in the uk...!?