개발 예정인 'glcr' 개발툴 이름을 'glsc' 로 변경 및 배포 예정 날짜



Glade 소스 파일을 C 언어와 파이썬 소스코드로 만들어주는 툴을 개발 할 계획 이었고 그 툴 이름을 'glcr( GLade CompileR)'로 지었으나

계획을 변경하여 기존의 이름인 'glcr'을 'glsc(GLade Source Compiler)'로 변경 하였습니다.


그리고 개발 완성과 배포는 앞으로 1주일 뒤인 10일 오전 중에 배포가 가능할 것으로 예상 됩니다.


개발 속도가 예상 보다 빠르다면 그 이전에 혹은 시행착오가 있다면 그 이후에도 배포가 늦어질수 있습니다.


glsc의 개발 완료 및 배포가 되었습니다. [바로가기]

리눅스용 구글드라이브 마운트 와 동기화를 동시에 하는 GTK 소프트웨어 'GDMS'를 개발할 계획 입니다.


NAME : GDMS ( Google Drive Mount & Sync)


예상 개발 기간 : 최소 2주 ~1.5개월


지원 OS : Linux - ubunt : xenial, wily, vivid, trusty


지원 아키텍쳐 : amd64


빌드 소스 &  엔진 : 파스칼 & Bash & Google-drive-ocaml-fuse(엔진)


특징 :


1. Google-drive-ocaml-fuse(엔진)을 기반으로 하나 기존의 엔진은 딜레이 발생이라는 단점이 있으니 원할한 사용을 위하여 이중 마운트 폴더를 생성하여 사용자가 딜레이를 느끼질 않고 원할하게 사용할수 있게 하며 동기화 발생시 다이얼로그 gtk로 하여금 파일간 전송 흐름을 알 수 있게 하여 파일을 놓치는 일이 없도록 최대한의 반영.


2. apt-get 설치시 인스톨 GTK 생성으로 사용자가 주의 및 권고 사항 ( 파일의 분실 가능성 )에 대하여 인지 해야만 소프트웨어의 메인 GTK 설치가 진행되는 방식을 도입


많은 관심 부탁 드립니다.








이 문제는 아주 기본적인 것이므로 상대방이 그래픽 드라이버 모듈을 운영체제에 설치하고 있을 경우 전혀 문제가 되지 않는다.


하지만 버쳐박스나 구형 커널을 사용하는 유저등 gtk구동 모듈을 가지고 있지 않은 경우가 있는데


예를 들어 아키텍쳐가 맞을경우...


실행 했을때 gtk오류가 날 경우는 " libqt4pas "가  없다는 메시지가 뜬다.


이 오류는 간단하게 소프트웨어 사용자가 직접 libqt4pas 소프트웨어를 찾아 설치하면 되는데 현재 최신이 버전은 'libqt4pas5'이다.


그렇기 때문에 만약을 대비하여 파스칼 gtk 개발자는 소프트웨어를 패키징 할때 debian/control 중 depends : 에 반드시 libqt4pas5를 적어 놓아야 바람직할 것이다.


물론 레파시토리에 등록된 소프트웨어일 경우 apt-get install 로써 depends의 패키지들이 동반 설치 될 것이지만


만약 소프트웨어 설치자(사용자)가 dpkg를 사용할 경우 depends는 설치 되지 않는다.


apt-get과 gdebi로서만 동반 설치 된다는 점을 명심해야 한다.





 

요즈음은 GTK 개발 작업을 파스칼로 하고 있다.


개발이 빠르고 빌드와 컴파일이 빠르기 때문이다.


한가지 단점이 있다면.. 기존의 C언어로서의 소스코드를 똑같이 제공하지 못한다는 점...


하지만 다른 상대방도 free pascal 소스코드만 있다면 어떤 아키텍쳐 에서도 리컴파일, 즉 리빌드가 가능하다.

(armhf에서도 가능하다.)


하지만 정작 중요한 것은 gtk를 개발할때 부딛히는 한가지 문제점은 프로그램 자체에서의 홈폴더에서의 데이타를 불러 오는 일이다.


물론 예를들어 홈폴더가 user일 경우


memo1.lines.loadfromfile('/home/user/')로서 지정하면 얼마든지 홈폴더의 데이터를 가져올수 있다.


그러나 정작 중요한 문제는 이것은 개발자 입장에서의 홈 폴더이지 배포 후 타인의 홈폴더는 될 수 없다.


또한 당연히 '~/' , '$USER' 등은 전부 먹히질 않는다.


이 문제를 해결 하기 위해 여러 포스팅들은 전부 읽어 봤지만 명확한 해결 방안이 없다는 것을 깨닫고는 본격적인 스스로의 답안 찾기에 들어갔다.


가장 중요한 이유는 파스칼 언어 자체에서 BASH를 지원하지 않기 때문이다.


그래서 가장 쉬운 돌려치기 방법은 인식이 가능한 기존의 FS(파일 시스템)를 이용한 방법인데 그냥 /tmp 나 /usr . /var등 기존의 디렉토리를 이용 하는 방법이다.


하지만 이것은 불러오기는 가능하지만 저장은 안 된다는 점이다.


원할하게 하려면 프로그램 사용자가 본 프로그램을 sudo 명령을 통해 실행해야만 한다.


하지만 사용자에게 안전하게 소프트웨어를 개발하려면 최대한 su명령 없이 소프트웨어를 사용할 수도록 만드는 것이 바람직 하다.


그래서 본 필자가 찾아낸 가장 이상적인 방법은 바로 홈 디렉터리의 심볼릭 링크를 상위 파일 시스템에 거는 것이었다.


물론 /tmp 폴더를 제외한 나머지 상위 폴더들은 sudo 명령이 있어야만 링크가 가능하다.


그러나 이 문제는 사용자가 처음 sudo 명령으로 소프트웨어를 설치할때 충분히 해결 할 수가 있다. (debian/postinst)


그리하여 이런 방식으로 하여금 예를 들어 /usr/share/program/home/ 등의 경로를 사용하여 파스칼 gtk 에서의 홈폴더에 대한 데이타 불러오기가 가능해 진다.





+ Recent posts